Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <stdio.h>
- #include <stdlib.h>
- #define MAX 10
- int Data[MAX];
- // Fungsi pencarian sequantial
- int SequentialSearch(int x) {
- int i = 0;
- bool ketemu = false;
- while ((!ketemu) && (i < MAX)){
- if(Data[i] == x)
- ketemu = true;
- else
- i++;
- }
- if(ketemu)
- return i;
- else
- return -1;
- }
- // Fungsi pencarian biner
- int BinarySearch(int x) {
- int L = 0, R = MAX-1, m;
- bool ketemu = false;
- while((L <= R) && (!ketemu)){
- m = (L + R) / 2;
- if(Data[m] == x)
- ketemu = true;
- else if (x < Data[m])
- R = m - 1;
- else
- L = m + 1;
- }
- if(ketemu)
- return m;
- else
- return -1;
- }
- int main() {
- int i;
- //pembangkit bilangan random
- srand(0);
- //membangkitkan bilangan integer random
- printf("\nDATA : ");
- for (i = 0; i < MAX; i++) {
- Data[i] = i+(i*i);
- printf("%d ", Data[i]);
- }
- int Kunci,pilihan,ketemu;
- printf("\n\n1. Binary \n2. Sequential");
- printf("\nMasukkan Jenis Pencarian: ");
- scanf("%d",&pilihan);
- printf("\nKunci : ");
- scanf("%d", &Kunci);
- if (pilihan == 1){
- printf("Binary Searching\n");
- ketemu = BinarySearch(Kunci);
- }
- else if (pilihan == 2){
- printf("Sequential Searching\n");
- ketemu = SequentialSearch(Kunci);
- }
- if(ketemu>0)
- printf("Data ditemukan pada posisi %d", ketemu+1);
- else
- printf("Data tidak ditemukan");
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement