Latihan Kode Program Bahasa C: Pencarian Data Array (Searching)

Latihan kode program C di Duniailkom kali ini akan membahas tentang pencarian data array (algoritma searching). Materi ini menguji pemahaman seputar array serta kondisi if else.


Soal Pencarian Data Array

Buatlah kode program dalam bahasa C untuk mencari index array dari sekumpulan angka. Program akan meminta 1 input awal berupa jumlah element array, kemudian user memasukkan satu per satu angka untuk setiap element array.

Setelah itu input angka yang ingin dicari dan kode program akan menampilkan posisi index dari angka tersebut. Jika angka tidak ditemukan, tampilkan pesan "Angka tidak ditemukan".

Berikut contoh tampilan akhir yang diinginkan (1) :

##  Program Bahasa C Pencarian Array ##
=======================================

Input jumlah element Array: 6
Input 6 angka (dipisah dengan enter):
12
54
78
34
71
90

Input angka yang akan dicari: 34
Angka ditemukan pada index ke-3

Berikut contoh tampilan akhir yang diinginkan (2) :

## Program Bahasa C Pencarian Array ##
=======================================

Input jumlah element Array: 4
Input 4 angka (dipisah dengan enter):
11
22
33
44

Input angka yang akan dicari: 55
Angka tidak ditemukan

Tips Membuat Kode Program Pencarian Data Array

Soal ini melatih pemahaman terkait array, kondisi if else dan perulangan (loop). Berikut tutorial pendahuluan yang bisa diikuti:

Kita perlu 2 kali perulangan dalam kode program ini. Perulangan pertama untuk menampung semua inputan ke dalam array, dan perulangan kedua untuk proses pencarian array.

Dalam teori algoritma, cukup banyak teknik yang bisa dipakai untuk proses pencarian array. Untuk contoh kali ini saya akan pakai algoritma yang paling sederhana, yakni Linear Search.

Algoritma pencarian linear search akan mencari satu persatu mulai dari index pertama sampai akhir secara berurutan. Jika angka sudah ditemukan, jalankan perintah break agar perulangan segara berhenti.


Kode Program Bahasa C Pencarian Data Array (Linear Search)

Berikut salah satu solusi dari soal pencarian array dengan algoritma linear search menggunakan bahasa C:

#include <stdio.h>

int main(void)
{
  printf("##  Program Bahasa C Pencarian Array ## \n");
  printf("======================================= \n\n");

  int input[100], arr_count, i, num;

  printf("Input jumlah element Array: ");
  scanf("%d",&arr_count);

  printf("Input %d angka (dipisah dengan enter): \n",arr_count);

  // simpan setiap angka yang diinput ke dalam array
  for(i = 0; i < arr_count; i++){
    scanf("%d",&input[i]);
  }

  printf("\n");

  printf("Input angka yang akan dicari: ");
  scanf("%d",&num);

  // proses pencarian array
  for(i = 0; i < arr_count; i++){
    if(input[i] == num){
      printf("Angka ditemukan pada index ke-%d",i);
      break;
    }
  }

  if(i == arr_count){
    printf("Angka tidak ditemukan");
  }

  printf("\n");
  return 0;
}

Latihan Kode Program Bahasa C Pencarian Data Array (Searching)

Di baris 8 terdapat perintah untuk deklarasi 4 variabel, yakni input[100], arr_count, i dan num.

Variabel input[100] dipakai untuk menampung semua angka inputan. Karena di set dengan angka 100, maka inilah jumlah maksimum element array.

Namun user tidak harus menginput 100 angka sekaligus. Jumlahnya akan diminta pada baris 11 dan disimpan ke dalam variabel arr_count. User hanya perlu menginput sejumlah nilai arr_count ini saja.

Misalnya jika diinput angka 5, maka hanya perlu mengisi 5 angka awal. Proses pembacaan data ini dilakukan oleh perulangan for di baris 16-18.

Kemudian di baris 22-23, user kembali ditanya ingin mencari angka berapa yang disimpan ke dalam variabel num.

Proses pencarian array dilakukan oleh perulangan for antara baris 26-31. Untuk setiap element array, periksa apakah cocok dengan isi variabel num atau tidak. Jika cocok, yakni kondisi input[i] == num bernilai true, maka langsung tampilkan posisi index dari pencarian tersebut (variabel i) dan jalankan perintah break untuk menghentikan perulangan.

Namun jika setelah perulangan tidak ada angka yang cocok, maka isi variabel counter i akan sama dengan jumlah element array. Kondisi ini diperiksa pada baris 33-35, yang jika terpenuhi akan menampilkan teks "Angka tidak ditemukan".


Demikian soal dan jawaban kode program pencarian array (searching) dalam bahasa C.

Dalam praktek aslinya, array yang dicari bisa saja tersimpan di database atau berasal dari pemanggilan API. Teknik pencarian seperti ini akan sering dipakai, seperti melakukan pencocokan user yang akan login ke database.

Add Comment