Assalamu'alaikum salam sejahtera wahai saudara minggu kali ini adalah minggu ke 9 yang mana pada minggu kali ini sorting,.Sorting sendiri adalah mencari data yang di cari dalam sebuah memory. ada beberapa
metode searching antaranya :
A.Linear Search
Bahasa C++
#include <iostream.h>
#define UKURAN 100
int pencarian Linier (int array [ ] , int [ ] , int ukuran)
{ int i;
for(i=0 ; i<=ukuran-1; i++)
if(array [i] ==kunci)
return i;
return-1;
}
B.Binary Search
=> Asumsi : data sudah dalam keadaan terurut (naik) Contoh : Buku telepon, presensi kuliah, dll.
=> Kunci akan selalu dibandingkan dengan data yang berada di tengah (middle).
=> Bila sama berarti data ketemu, bila tidak, akan “dilihat” apakah data ada di sebelah “kiri” (artinya data lebih kecil dari data di tengah) atau di sebelah “kanan” (artinya data lebih besar dari data di tengah).
=> Bila data ada di sebelah kiri, dilakukan pencarian dengan cara yang sama (sementara data yang berada di sebelah kanan akan diabaikan).
=> Jadi, setiap kali pencarian, data selalu “dibelah” menjadi dua bagian (biner), sampai pada “titik tertentu” (bila sama dengan titik tengah, pencarian tidak dilakukan lagi, bila tidak, sampai pada perbandingan terakhir data juga tidak sama, berarti data tidak ditemukan pada array aray).
=> Asumsi : data sudah dalam keadaan terurut (naik) Contoh : Buku telepon, presensi kuliah, dll.
=> Kunci akan selalu dibandingkan dengan data yang berada di tengah (middle).
=> Bila sama berarti data ketemu, bila tidak, akan “dilihat” apakah data ada di sebelah “kiri” (artinya data lebih kecil dari data di tengah) atau di sebelah “kanan” (artinya data lebih besar dari data di tengah).
=> Bila data ada di sebelah kiri, dilakukan pencarian dengan cara yang sama (sementara data yang berada di sebelah kanan akan diabaikan).
=> Jadi, setiap kali pencarian, data selalu “dibelah” menjadi dua bagian (biner), sampai pada “titik tertentu” (bila sama dengan titik tengah, pencarian tidak dilakukan lagi, bila tidak, sampai pada perbandingan terakhir data juga tidak sama, berarti data tidak ditemukan pada array aray).
Bahasa
C++
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
int pencarianBiner(int b[], int
kunciPencarian, int low, int high)
{ int i, middle;
while
(low <= high) {
middle = (low+high) / 2;
if (kunciPencarian == b[middle])
return middle;
else if (kunciPencarian < b[middle])
high = middle - 1;
else low = middle + 1;
}
return
-1;
}
Sorting (Pengurutan)
1.
Usaha : mengurutkan
dari data tak terurut menjadi data terurut à perlu waktu
2. Masalah : efisiensi (peningkatan kecepatan
pencarian)
3. Metode : bubble (gelembung), insertion
(penyisipan), selection (pemilihan), merge (penggabungan), quick, shell, radix,
dll.
Untuk simulasi
macam-macam sorting bisa liat disini.
Berikut beberapa
metode sorting:
A. Bubble Sort
Ilustrasi
B. Insertion Sort
Ilustrasi
C. Selection Sort
Ide :
Ilustrasi
|
Tidak ada komentar:
Posting Komentar