Laporan Praktikum Struktur Data Modul 21

TUJUAN
Mahasiswa mampu menerapkan Linear Searching dan Binary Searching

Percobaan 1: Linear searching dengan Array
Salin dan jalankan coding berikut ini kemudian beri komentar pada setiap baris coding.

#define total 10

main()
{
    int angka_acak[total]={3,5,7,2,9,10,4,8,1,6};
    int i, cari;
    printf("Masukkan angka yang dicari ");scanf("%d",&cari);

    for(i=0;i<total;i++)
    {
        if(angka_acak[i]==cari)
        {
            printf("Angka ditemukan pada indeks ke-%d\n",i);
            break;
        }
    }
}

Berdasarkan coding tersebut, lakukan hal berikut ini:

  1. Tampilkan hasil program setelah dijalankan
  2. Pahami cara kerja program tersebut (manfaatkan teknik debug) dan jelaskan konsep linear searching pada coding tersebut kepada Instruktur/Dosen [80]
  3. Tambahkan tampilan informasi untuk kasus jika data yang dicari tidak ditemukan [20]
    if(i==total)
    
     {
    
     printf("Data tidak ditemukan");
    
     }

Percobaan 2: Binary searching dengan Array
Salin dan jalankan coding berikut ini kemudian beri komentar pada setiap baris coding.

#define total 10

void bubble_sort(int input[], int jumlah)
{
    int k, i, buffer;
    printf("Langkan ke-0     ");
    for(i=0;i<jumlah;i++)
    {
        printf("%d     ", input[i]);
    }
    printf("\n");

    for(k=1;k<jumlah;k++)
    {
        i=0;
        while(i<jumlah-1) { if(input[i]>input[i+1])
            {
                buffer=input[i+1];
                input[i+1]=input[i];
                input[i]=buffer;
            }
            i++;
        }
        printf("Langkah ke-%d     ",k);
        for(i=0;i<jumlah;i++)
            {
            printf("%d     ", input[i]);
            }
        printf("\n");
    }
}
main()
{
    int i, cari;
    int A=0, B, C=total-1;
    int angka_acak[total]={3,5,7,2,9,10,4,8,1,6};
    printf("Masukkan angka yang dicari ");scanf("%d",&cari);

    bubble_sort(angka_acak,total);
    while(1)
    {
        B=(A+C)/2;
        if(cari==angka_acak[B])
        {
            printf("\nData ditemukan pada indeks %d", B);
            break;
        }
        else if(cari<angka_acak[B]) { C=B-1; } else if(cari>angka_acak[B])
        {
            A=B+1;
        }
    }
    getch();
    system("cls");
    main();
}

Berdasarkan coding tersebut, lakukan hal berikut ini:

  1. Tampilkan hasil program setelah dijalankan
  2. Pahami cara kerja program tersebut (manfaatkan teknik debug) dan jelaskan konsep binary searching pada coding tersebut kepada Instruktur/Dosen [80]
  3. Tambahkan tampilan informasi untuk kasus jika data yang dicari tidak ditemukan [20]
Share Button

By Rinaldo Jonathan

Admin of this site. Artis papan PCB. #zoneRinaldo #Controllerism Studio Demon, Stage Angel, Sleepy Developer, Smoke free. Kalkud SHS 2012, PCR G15.

Leave a Reply

Verified by ExactMetrics