Breaking News

Pencarian Data Pada Variabel Berindeks Algoritma Pemrograman


Tujuan : 
  1. Memahami system penyimpanan data pada variable berindeks array dimensi
  2. Memahami algoritma untuk mencari data tertentu dalam jajaran sejumlah data yang tidak terurut.
  3. Diharapkan mahasiswa mampu menyusun langkah-langkah (step) dan mampu merancang flowchart-nya.

Search Pencarian
Search


Teori Singkat :

Ada dua cara pencarian data dalam sebuah jajaran variabel, yaitu pencarian berurutan (linier search) dan pencarian biner (binary search). Pada modul ini akan dibahas pencarian berurutan (lineir search). 

Untuk mengetahui apakah data tertentu terdapat dalam jajaran data (jajaran variabel) dan mengetahui letak urutan data tersebut, dimana jajaran data tidak / belum berurutan. Pencarian dilakukan dengan mengkondisikan apakah data yang dicari ada diantara isi jajaran data. Pengkondisian dilakukan satu persatu data mulai dari data urutan pertama sampai seluruh isi jajaran data telah dibandingkan. Jika ada data yang sama dengan data yg dicari, maka urutan/letak data pada variable berindeks dicatat. 

Sebelum proses pencarian dilakukan, didahului proses penyimpanan jajaran data ke variable berindeks, misalnya ada 10 data seperti contoh dibawah, disimpan pada array int data[9] data pertama disimpan pada indeks ke 0, data ke 2 pada indeks ke 1 dst.

For (I=0; I<10;  I++)
{
K = I + 1;
Printf (“Masukkan data ke %d“, K);
scanf (“ ”, &data[I]);
}
Contoh jajaran data ::

Data                      70   20  19  9  44  94  86  8  20  25
Urutan data ke       1     2    3    4  5    6    7    8  9    10


Langkah-langkah/algoritma pencarian data :
Untuk mencari data tertentu, misalnya bilangan yang dicari adalah 94, maka langkah-langkahnya sebagai berikut :

0. beri nilai awal LOKASI = 0, dan ADA = false 
1. memasukkan data yang dicari pada variable integer CARI 
2. kerjakan mulai dari I=0 s.d. I=9 langkah-langkah 3
3. kondisikan apakah data[I] = CARI ?, jika benar ubah nilai lokasi dengan LOKASI = I + 1 dan ADA = true dan outputkan info “data ketemu berada di urutan : ”, LOKASI
4. kondisikan apakah ADA = false ?, jika benar outputkan info “data tidak diketemukan”

Kasus 1 :  
Susunlah algoritma dan flowchart program selengkapnya untuk kasus  pencarian data tertentu yang dimasukkan melalui keyboard. Jumlah cacah data adalah 15 buah integer.

Kasus 2 :
Susunlah algoritma dan flowchart program selengkapnya untuk kasus pencarian data antara bilangan1 sampai bilangan2 (missal antar 45 s.d. 65) dari 100 buah bilangan integer yang disimpan pada variable berindeks. Diminta menampilan posisi/letak urutan bilangan serta menampilkan bilangan hasil pencarian. 
Contoh output:
  • Ada diurutan ke 24, bilangan 46
  • Ada diurutan ke 81, bilangan 63
  • Ada diurutan ke 96, bilangan 51 ……..dst….dst

Soal tugas 1 :
  1. Susunlah program C++ untuk kasus 1 dan kasus 2 tersebut diatas, serta eksekusilah program tersebut sehingga dapat membuktikan alhgoritma tersebut.
  2. Susunlah  algoritma, flowchart, dan program C++ untuk kasus pencarian data bertipe character.


Terimakasih ^_^

1 comment: