ALGORITMA PENCARIAN SEARCHING 9112021 Program Studi Sistem InformasiFTIKUNIKOM

  • Slides: 16
Download presentation
ALGORITMA PENCARIAN (SEARCHING) 9/11/2021 Program Studi Sistem Informasi-FTIKUNIKOM 1

ALGORITMA PENCARIAN (SEARCHING) 9/11/2021 Program Studi Sistem Informasi-FTIKUNIKOM 1

Definisi • Searching adalah sebuah metode pencarian guna menemukan data / informasi yang sedang

Definisi • Searching adalah sebuah metode pencarian guna menemukan data / informasi yang sedang dicari di dalam sebuah kumpulan data yang memiliki type data sama. Pencarian diperlukan untuk mendapatkan informasi/data dari kumpulan data yang belum diketahui. • Pencarian dapat dilakukan terhadap data yang secara keseluruhan berada dalam memory komputer ataupun yang berada dalam penyimpanan ekternal (hardisk). • Pencarian yang dilakukan terhadap data yang berada dalam komputer di kenal dengan pencarian internal sedangkan pencarian yang dilakukan pada media penyimpanan eksternal disebut pencarian ekternal. • Pencarian internal meliputi Pencarian Sekuensial (Sequential Search) dan Pencarian Biner (Binary Search). 9/11/2021 Program Studi Sistem Informasi-FTIKUNIKOM 2

Sequential Search • Adalah metode pencarian sebuah data dari suatu kumpulan data dimana data

Sequential Search • Adalah metode pencarian sebuah data dari suatu kumpulan data dimana data dicari depan ke belakang atau dari awal sampai akhir data tanpa harus data tersebut terurut. • Konsepnya yaitu dengan melakukan perbandingan data satu-persatu secara berurutan sampai data tersebut ditemukan ataupun tidak di temukan. 9/11/2021 Program Studi Sistem Informasi-FTIKUNIKOM 3

Algoritma : 1. Data melakukan perbandingan satu per satu secara berurutan dalam kumpulan data

Algoritma : 1. Data melakukan perbandingan satu per satu secara berurutan dalam kumpulan data dengan data yang dicari sampai data tersebut ditemukan atau tidak ditemukan. 2. Pada dasarnya, pencarian ini hanya melakukan pengulangan data dari 1 sampai dengan jumlah data (n). 3. Setiap pengulangan, dibandingkan data ke-i dengan data yang sedang dicari. 4. Apabila data sama dengan yang dicari, berarti data telah berhasil ditemukan. Sebaliknya apabila sampai akhir melakukan pengulangan tidak ada data yang sama dengan yang dicari, berarti data tidak ada yang ditemukan. 9/11/2021 Program Studi Sistem Informasi-FTIKUNIKOM 4

Contoh… • Diketahui data sbb : 20 45 12 43 65 35 30 40

Contoh… • Diketahui data sbb : 20 45 12 43 65 35 30 40 • Data yg dicari adalah 43 • Proses pencarian : 43=20 ? tdk 43=45 ? tdk 43=12 ? tdk 43=43 ? Ya=>ditemukan • Jumlah perbandingan : 4 x 9/11/2021 Program Studi Sistem Informasi-FTIKUNIKOM 5

Binarry Search • Adalah metode pencarian sebuah data dari suatu kumpulan data, dimana kumpulan

Binarry Search • Adalah metode pencarian sebuah data dari suatu kumpulan data, dimana kumpulan data tersebut harus berurutan dengan benar agar proses pencarian data bisa di lakukan. • Dalam proses pencarian data pada metode ini data akan di bagi menjadi dua bagian untuk setiap tahap pencariannya. 9/11/2021 Program Studi Sistem Informasi-FTIKUNIKOM 6

Algoritma : 1. Pertama pengambilan data dimulai dari posisi 1 sampai dengan posisi akhir

Algoritma : 1. Pertama pengambilan data dimulai dari posisi 1 sampai dengan posisi akhir (n) 2. Selanjutnya mencari posisi data yang tengah dengan menggunakan rumus: (posisi awal + posisi akhir) / 2. 3. Setelah itu data yang akan dicari dibandingkan dengan data yang berada di tengah, apakah data tersebut sama atau lebih kecil, atau lebih besar? 4. Seandainya data tersebut lebih besar, maka proses pencarian yang dicari dengan posisi awal adalah posisi tengah + 1 5. Apabila data lebih kecil, maka proses pencarian yang dicari dengan posisi akhir adalah posisi tengah – 1 6. Jika data sama dengan data yang di cari, berarti data tersebut telah ketemu. 9/11/2021 Program Studi Sistem Informasi-FTIKUNIKOM 7

Kelebihan & Kekurangan Sequential Search Kelebihannya 1. Relatif lebih cepat dan efisien untuk data

Kelebihan & Kekurangan Sequential Search Kelebihannya 1. Relatif lebih cepat dan efisien untuk data yang memiliki jumlah terbatas. 2. Algoritma perogrammannya lebih sederhana Kekuranganya 1. Kurang cepat untuk melakukan pencarian data dalam jumlah yang besar 2. Beban komputasinya lebih besar 9/11/2021 Program Studi Sistem Informasi-FTIKUNIKOM 8

Kelebihan & Kekurangan Binary Search Kelebihannya 1. Untuk Pencarian data dalam jumlah yang besar,

Kelebihan & Kekurangan Binary Search Kelebihannya 1. Untuk Pencarian data dalam jumlah yang besar, waktu searching/pencarian lebih cepat karena data telah terurut 2. Beban komputasinya cenderung lebih kecil Kekuranganya 1. Data harus sudah di-sorting lebih dulu ( dalam keadaan terurut ) agar lebih mudah dalam pencarian data yang diinginkan. 2. Algoritma pemrogramannya lebih rumit dari sequential search, tidak baik untuk data berangkai 9/11/2021 Program Studi Sistem Informasi-FTIKUNIKOM 9

Contoh Implementasi Sequential Search #include <stdio. h> #include <conio. h> #include <process. h> main()

Contoh Implementasi Sequential Search #include <stdio. h> #include <conio. h> #include <process. h> main() { int A[10], index[10], i, j=0, k; //proses penginputan data for(i=0; i<10; i++) { printf("Data ke-%d: ", i+1); scanf("%d", &A[i]); } //memasukkan data yang akan dicari ke dalam K printf("Masukkan data yang akan anda cari: "); scanf("%d", &k); 9/11/2021 Program Studi Sistem Informasi-FTIKUNIKOM 10

//proses pencarian data j=0; for (i=0; i<10; i++) { if(A[i]==k) { index[j]=i; j++; }

//proses pencarian data j=0; for (i=0; i<10; i++) { if(A[i]==k) { index[j]=i; j++; } } //jika data ditemukan dalam array if (j>0) { printf("Data %d yang dicari ada %d buahn", k, j); printf("Data tersebut terdapat dalam index ke : "); for(i=0; i<j; i++) printf(" %d ", index[i]); printf("n"); } 9/11/2021 Program Studi Sistem Informasi-FTIKUNIKOM 11

//jika tidak ditemukan else { printf("Data tidak ditemukan dalam arrayn"); } getch(); } //akhir

//jika tidak ditemukan else { printf("Data tidak ditemukan dalam arrayn"); } getch(); } //akhir program Contoh Output 1: 9/11/2021 Program Studi Sistem Informasi-FTIKUNIKOM 12

Contoh Output 2 : 9/11/2021 Program Studi Sistem Informasi-FTIKUNIKOM 13

Contoh Output 2 : 9/11/2021 Program Studi Sistem Informasi-FTIKUNIKOM 13

Contoh Implementasi Binary Search #include <stdio. h> #include <conio. h> main() { int Ar[10]

Contoh Implementasi Binary Search #include <stdio. h> #include <conio. h> main() { int Ar[10] = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}; // untuk proses ascending int i, tar, awal=0, akhir=10, tengah; clrscr(); printf(“Datanya adalah = “); for(i=-; i<10; i++) printf(“%d ”, Ar[i]); printf(“n. Masukan data yang dicari : "); scanf("%d", &tar); while (awal <= akhir) { tengah = (awal + akhir)/2; if (tar > Ar[tengah] ) { awal = tengah + 1; } else if (tar < Ar[tengah]) {akhir= tengah - 1; } else {awal = akhir +1; } } 9/11/2021 // descending ubah tanda > menjadi < // descending ubah tanda < menjadi > Program Studi Sistem Informasi-FTIKUNIKOM 14

if (tar == Ar[tengah]) { printf(" Data ditemukan pada index ke-%d", tengah); } else

if (tar == Ar[tengah]) { printf(" Data ditemukan pada index ke-%d", tengah); } else { printf(“Data tidak ditemukan…! "); } getch(); } Contoh Output 1 : 9/11/2021 Program Studi Sistem Informasi-FTIKUNIKOM 15

Contoh Output 2 : 9/11/2021 Program Studi Sistem Informasi-FTIKUNIKOM 16

Contoh Output 2 : 9/11/2021 Program Studi Sistem Informasi-FTIKUNIKOM 16