Modul Praktikum 3 Searching
Modul Praktikum 3 Searching
Output:
Binary search
Metode pencarian yang kedua adalah binary search, pada metode pencarian ini, data harus diurutkan terlebih dahulu. Pada metode pencarian ini, data dibagi menjadi dua bagian (secara logika), untuk setiap tahap pencarian. Algoritma binary search : 1. Data diambil dari posisi 1 sampai posisi akhir N 2. Kemudian cari posisi data tengah dengan rumus: (posisi awal + posisi akhir) / 2 3. Kemudian data yang dicari dibandingkan dengan data yang di tengah, apakah sama atau lebih kecil, atau lebih besar? 4. Jika lebih besar, maka proses pencarian dicari dengan posisi awal adalah posisi tengah + 1 5. Jika lebih kecil, maka proses pencarian dicari dengan posisi akhir adalah posisi tengah 1 6. Jika data sama, berarti ketemu.
Output:
Interpolation Search
Interpolation search merupakan salah satu metode pencarian yang dapat digunakan. Seperti pada binary search, data yang harus diurutkan terlebih dahulu, sebelum dapat dilakukan pencarian dengan metode ini. Pada metode pencarian ini, kita mencoba menebak letak data yang kita cari, dengan perhitungan Jika data[posisi] > data yg dicari, high = pos 1 Jika data[posisi] < data yg dicari, low = pos + 1
Output:
Tambahan materi : break ; digunakan untuk keluar dari suatu blok perintah continue; digunakan untuk mem by-pass satu iterasi pada perulangan contoh kode : (dijalankan dan dipelajari cara kerjanya) #include<stdio.h> void main(){ for(int i=0;i<10;i++){ for(int j=10;j>0;j--){ if(i+j==10) break; //if(i+j==10) continue; //hilangkan tanda slash di depan if, dan beri slash 2 di depan if yang atas untuk mencoba kode continue printf("%i ",i+j); printf("pass"); } printf("\n"); } } Latihan 1 1. Buatlah sebuah program yang dapat menerima inputan data kedalam sebuah array. 2. Lanjutan dari nomor 1, gunakan sequensial search untuk mencari sebuah nilai dari array tersebut, dan gantilah nilainya. 3. Coba gunakan metode pencarian lainnya 4. Buatlah menu untuk program tersebut (1. Sequential search, 2. Binary Search, 3. Interpolation Search) Latihan 2 1. Buatlah sebuah program yang dapat mencari dan menampilkan suatu bilangan yang dicari beserta indexnya. Contoh : isi array : 12, 14, 15, 12, 5 data yang dicari : 12 output: data 12 ditemukan pada index ke 0 dan 3 petunjuk : o coba tampung index array yang ditemukan pada sebuah array baru o cara 2, langsung tampilkan index array jika data ditemukan
2. Buatlah program untuk mencari data pada array 2 dimensi (bisa ditambahkan kode program untuk member inputan data dan ukuran array). Contoh : data array : 1 3 2 10 5 8 15 24 10 yang dicari : 24 output : data 24 berada pada posisi [2][1] yang dicari : 2 output : data 2 berada pada posisi [0][2] petunjuk : gunakan sequential search, karena data tidak diurutkan, terdapat 2 looping untuk proses pencarian.
LATIHAN 3 1. Buat program untuk mencari angka yang diinputkan, banyak data inputan user, lalu cari di indeks keberapa, dan berapa banyak data yang ditemukan. (Array 1 dimensi) 2. Buat program input number secara random, kemudian lakukan searching banyak bilangan yang genap dan yang ganjil. TUGAS 1. Buat program untuk mencari suatu data dan inputan berupa kalimat, hitung konsonan,vokal,numerik. Seperti contoh:
2. Buat searching number dg input random, jika input data tidak urut, maka program secara otomatis akan menggunakan metode Linear Search. Jika input data sudah terurut, akan muncul pilihan menggunakan metode binary atau interpolation search .
Masukkan Jumlah Data yang digunakan: 100000 Tampilkan Data (Y/T):T Urutkan Data (Y/T): Y Masukkan data yang dicari: 9 Pilih Metode Pencarian: 1. Binnary Search 2. Interpolation Search Pilih metode(1/2): 2 Data tidak ditemukan..Ulangi(Y/T): t