Latihan Kode Program Pascal: Pencarian Data Array (Searching)

Latihan kode program Pascal 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 Pascal 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 Pascal Pencarian Array ##
======================================

Input jumlah element array: 5

Input 5 angka (dipisah dengan enter): 
Angka ke-1: 4
Angka ke-2: 7
Angka ke-3: 9
Angka ke-4: 3
Angka ke-5: 5

Input angka yang akan dicari: 9

Angka ditemukan pada urutan ke-3

Berikut contoh tampilan akhir yang diinginkan (2) :

##  Program Pascal Pencarian Array  ##
======================================

Input jumlah element array: 7

Input 7 angka (dipisah dengan enter):
Angka ke-1: 20
Angka ke-2: 55
Angka ke-3: 75
Angka ke-4: 90
Angka ke-5: 85
Angka ke-6: 30
Angka ke-7: 65

Input angka yang akan dicari: 25

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 Pascal Pencarian Data Array (Linear Search)

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

program pencarian_array;
uses crt;
var
  input: array[1..100] of integer;
  arr_count, i, num: integer;
begin
  clrscr;
  writeln('##  Program Pascal Pencarian Array  ##');
  writeln('======================================');
  writeln;
 
  write('Input jumlah element array: ');
  readln(arr_count);
  writeln;

  writeln('Input ',arr_count,' angka (dipisah dengan enter): ');

  // simpan setiap angka yang diinput ke dalam array
  for i := 1 to arr_count do
  begin
    write('Angka ke-',i,': ');
    readln(input[i]);
  end;
  writeln;

  write('Input angka yang akan dicari: ');
  readln(num);
  writeln;

  // proses pencarian array
  for i := 1 to arr_count do
  begin
    if(input[i] = num) then
    begin
      writeln('Angka ditemukan pada urutan ke-',i);
      break;
    end;
  end;

  if(i = arr_count) then
  begin
    writeln('Angka tidak ditemukan');
  end;
 
  readln;
end.

Latihan Kode Program Pascal - Pencarian Data Array (Searching)

Di baris 4-5 terdapat perintah untuk deklarasi 4 variabel, yakni array input dengan 100 element, arr_count, i dan num.

Variabel input dipakai untuk menampung semua angka inputan. Agar memudahkan penulisan perulangan, index array saya set dari 1 sampai 100.

Namun user tidak harus menginput 100 angka sekaligus. Jumlahnya akan diminta pada baris 13 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 do di baris 19-23.

Kemudian di baris 26-27 user kembali ditanya ingin mencari angka berapa yang disimpan ke dalam variabel num.

Proses pencarian array dilakukan oleh perulangan for do antara baris 31-38. 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 nomor urut dari pencarian tersebut (variabel i) dan jalankan perintah break untuk menghentikan perulangan.

Karena index array input sudah di set mulai dari angka 1, maka nomor urut ini akan sama dengan index array. Namun jika anda men-set nomor index dari angka 0, maka nomor urut ini harus ditambah 1.

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


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

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.


eBook Pascal Uncover Duniailkom
Apabila anda serius ingin mempelajari Pascal dan butuh materi Pascal yang jauh lebih lengkap, Duniailkom telah menerbitkan eBook Pascal Uncover yang membahas bahasa pemrograman Pascal dari dasar hingga procedure, function dan contoh kasus. Penjelasan lebih lanjut bisa ke eBook Pascal Uncover Duniailkom.

Add Comment