tugas logika algoritma mengenai Searching

Searching Array

Pada semester yang lalu kita sudah mempelajari array, baik array 1 dimensi maupun array 2 dimensi. Pada bab ini, kita akan mempelajari beberapa cara untuk melakukan pencarian suatu nilai dalam sebuah array 1 dimensi (pada array 2 dimensi sama saja).

Teknik pencarian data dari array yang paling mudah adalah dengan cara sequential search, dimana data dalam array dibaca 1 demi satu, diurutkan dari index terkecil ke index terbesar, maupun sebaliknya.

Contoh :

Array :

int a[5] = {0,3,6,10,1} (index array pada bahasa c dimulai dari index ke 0 !!!)

jika kita ingin mencari bilangan 6 dalam array tersebut, maka proses yang terjadi kita mencari

  1. dari array index ke-0, yaitu 0, dicocokan dengan bilangan yang akan dicari, jika tidak sama, maka mencari ke index berikutnya
  2. pada array index ke-1, juga bukan bilangan yang dicari, maka kita mencari lagi pada index berikutnya
  3. pada array index ke-2, ternyata bilangan yang kita cari ada ditemukan, maka kita keluar dari looping pencarian

contoh source :

1

output :

Logika tugas

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.

Contoh source binary search :

2

Output :

2.2

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

Contoh source code interpolation search :

3

Output :

3.2

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 didepan if, dan beri slash 2 di depan if yang atas untuk mencoba kode continue

printf(“%i “,i+j);

printf(“pass”);

}

printf(“\n”);

}

}

GUIDED

Menggunakan binnary search dengan memasukkan jumlah data 10

4

output :

4.4

Untuk menghitung  jumlah vokal berapa dan konsonan berapa.

 5

output :

5.2

Tinggalkan komentar