Power Point Tugas Logika

Tehnik Searching

Tehnik Pencarian :
1. Tehnik Pencarian Tunggal :
A. Tehnik Sequential Search / Linier Search
B. Tehnik Binary Search
2. Tehnik Pencarian Nilai MAXMIN:
A. Tehnik StraitMAXMIN
- Base Case
- Worst Case
- Average Case
B. Tehnik D and C

A. Tehnik Sequential Search / Linier Search
• Sequential search adalah metode pencarian sebuah data dari suatu kumpulan data dimana
data dicari dari depan ke belakang atau dari awal sampai akhir data tanpa harus data
tersebut terurut. Konsepnya yaitu dengan melakukan perbandingan data satu per satu
secara berurutan sampai data tersebut ditemukan ataupun tidak ditemukan.

• Proses dalam sequential search :
• Pertama, data melakukan perbandingan satu per satu secara berurutan dalam kumpulan

data dengan data yang dicari sampai data tersebut ditemukan atau tidak ditemukan
• Pada dasarnya, pencarian ini hanya melakukan pengulangan data dari 1 sampai dengan
jumlah data (n)
• Setiap pengulangan dibandingkan data ke-i dengan data yang sedang dicari
• Apabila data sama dengan yang dicari, berarti data telah ditemukan. Sebaliknya apabila
sampai akhir melakukan pengulangan tidak ada data yang sama dengan data yang dicari,
berarti data tidak ada yang ditemukan.

B. Tehnik Binary Search (Binary Search)
• Binary Search
• Adalah metode pencarian suatu data atau elemen di dalam suatu array dengan kondisi data
dalam keadaan terurut. Proses pencarian binary search hanya dapat dilakukan pada sekumpulan
data yang sudah diurutkan terlebih dahulu dari angka terbesar ke kecil atau sebaliknya.
• Contoh deret elemen array : 10, 44, 25, 88, 97, 55, 16, 27, 42, 23
• Urutkan elemen secara menaik, sehingga diperoleh : 10, 16, 23, 25, 27, 42, 44, 55, 88, 97
• Algoritma dari binary search terhadap N elemen dapat dijelaskan seperti berikut:
• 1. Low = 1 , High = N
• 2. Ketika Low Nil. Tengah Maka Low = Mid +1
• 6. Jika X = Nil. Tengah Maka Nil. Tengah = Nil. Yg dicari
• 7. Jika X > High Maka Pencarian GAGAL


• Misalkan kita mempunyai sederatan data dalam array nilai sebanyak 10 elemen seperti deret elemen array di atas dan akan
dilakukan pencarian data 88 terhadap array.
• Deret : 10, 16, 23, 25, 27, 42, 44, 55, 88, 97 (sudah diurutkan)
• Indeks: 1 2 3 4 5 6 7 8 9 10
• 1. Tentukan low dan high. Low = 1(didapat dari indeks pertama) High = 10 (indeks terakhir array/n). Jadi low = 1
• high = 10
• x = 88(nilai yg dicari)
• 2. Low 27(mid/indeks 5)
low = 5+1

low = 6
• jadi x=88 low = 6 high = 10 karena x belum sama dengan Nil.Tengah maka dilanjutkan langkah no 3 diatas lagi
• mid = (6+10) div 2
• mid = 8
• x > mid
maka low = mid+1
• 88 > 55(mid/indeks 8)
low = 8+1


low = 9
• jadi x = 88
low = 9
high = 10 karena x belum sama dengan Nil.Tengah maka dilanjutkan langkah no 3 lagi.
• mid = (9+10) div 2
• mid = 9(dibulatkan)
• jika x = mid
maka Nil.Tengah = Nilai yang dicari

88 = 88
• Finish.

A. Tehnik StraitMAXMIN :
BEST CASE
STUDI KASUS :

Diketahui sebuah data yaitu 2,6,8, dan 10. Tentukan / cari bilangan Max&Min
serta jumlah operasi perbandingan yang dilakukan!!!
Jawab: Diketahui


2

6

8

10  Data
0 1 2 3
 Urutan Deretnya
Kemudian samakan Max dan Minnya agar mendapat nilai minnya :
Max  Min  A[0] = 2
2
2
Langkah Pertama masukkan rumus :
i=1
A[1] > Max
Min = 2
6 > 2
Max = 6
Setelah membandingkan urutan deretnya yaitu (6) dengan Maxnya yaitu (2),

kita mendapatkan Max yg lebih besar yaitu (6). Maka dari itu kita tulis Minnya
: 2 (didapat dari penyamaan awal Max&Min), dan Maxnya : 6 (didapat dari
hasil perbandingan).
Langkah kedua, Ulangi proses sama seperti langkah pertama, hanya
mengganti Urutan deretnya saja :

i=2
A[2] > Max
Min = 2
8 > 6
Max = 8
Setelah membandingkan urutan deretnya yaitu (8) dengan Maxnya yaitu (6), kita
mendapatkan Max yg lebih besar yaitu (8). Maka dari itu kita tulis Minnya : 2
(didapat dari penyamaan awal Max&Min), dan Maxnya : 8 (didapat dari hasil
perbandingan).
Langkah ketiga, Ulangi proses sama seperti langkah sebelumnya, hanya mengganti
Urutan deretnya saja :
i=3
A[3] > Max
Min = 2

10 > 8
Max = 10
Setelah membandingkan urutan deretnya yaitu (10) dengan Maxnya yaitu (8), kita
mendapatkan Max yg lebih besar yaitu (10). Maka dari itu kita tulis Minnya : 2
(didapat dari penyamaan awal Max&Min), dan Maxnya : 10 (didapat dari hasil
perbandingan).
Maka untuk masalah tersebut dapat digunakan procedure STRAITMAXMIN yang
menghasilkan bilangan Min=2 dan bilangan Max=10, Operasi perbandingan data
mencari bilangan Max&Min Dri himpunan tersebut (4-1) = 3 kali operasi
perbandingan.

Worst Case
Pengertian dari WORST CASE :
Terjadi jika elemen dalam himpunan disusun secara decreasing ( menurun
). Dengan Operasi perbandingan sebanyak 2 ( n-1) kali satuan operasi.
 
Contoh :
Cari elemen MaxMin dan jumlah Operasi perbandingan yang dilakukan
terhadap himpunan A yang disusun decreasing. A(1) = 25, A(2) = 21, A(3) =
17, A(4) = 15, A(5) = 13.

 
Penyelesaian :
untuk masalah tersebut dapat digunakan procedure STRAITMAXMIN adalah
elemen max = 25 dan elemen min = 13, operasi perbandingan untuk elemen
MaxMin tersebut adalah 2(5-1) = 8 kali satuan operasi.

Average Case
Jika pencarian elemen MaxMin dilakukan pada elemen dalam himpunan yang tersusun secara acak ( tidak decreasing / tidak
increasing )jumlah operasi. Perbandingan yang dilakukan adalah
rata – rata waktu tempuh best case dan worst case yaitu
½[(n-1) + 2(n-1)]=(3n/2 – 1)kali
• Contoh
• Pada Himpunan A(1) = 15, A(2) = 7, A(3) = 11, A(4) = 3, A(5) = 5,A(6) = -2 dilakukan pencarian elemen max & min dengan
menggunakan proses STRAIT MAXMIN. Berapa elemen maxmin yang didapat dan jumlah operasi perbandingan yang dilakukan.
• Penyelesaian :
• Elemen Max = 15, dan elemen min = -2 Jumlah operasi perbandingan adalah (3 (6/2)-1)=8 kali satuan operasi.
• DEFINISI SEARCHING STRAIT MAKSMIN

Shearcing strait maksmin adalah program untuk mencari data atau nilai yang lebih besar atau lebih kecil dari data yang
lain. Dalam program ini inputan berupa kumpulan data, maksutnya bahwa data yang dimasukkan lebih dari satu. Langkahlangkah dari proses hamper mirip yang berbeda hanya nilai yang dicari. Penggunaan operator (, lebih besar)

sering digunakan dalam proses ini. Operator diatas digunakan sebagai pembanding antara data pertama dan selanjutnya.


Prose awal pada searching strait maksmin ini adalh inisial, elemen pertama dari suatu data disimpan dan diinisialkan
terlebih dahulu lalu dijadikan sebagai pembanding pertama. Jika ada elemen yang bernilI lebih rendah atau lebih tinggi dari
elemen pertama, maka elemen kedua inilah yang akan disimpan dan diinisialkan, yang selanjutnya akan dibandingkan dengan
elemen data yang lain sampai elemen data ke-N.



Pada proses ini juga ditandai dengan adanya proses looping atau pengulangan proses. Setelah melakukan eksekusi pada
elemen data kedua lalu proses dilanjutkan dengan elemen selanjutnya dengan step atau langkah yang sama seperti pada elemen
data yang kedua.

• Pada kondisi average-case, jumlah pass ditentukan dari elemen mana yang mengalami penggeseran ke kiri paling
banyak. Hal ini dapat ditunjukkan oleh proses pengurutan suatu array, misalkan saja (1 8 6 2). Dari (1 8 6 2), dapat
dilihat bahwa yang akan mengalami proses penggeseranpaling banyak adalah elemen 2, yaitu sebanyak dua kali.
• Pass Pertama
• (1 8 6 2) menjadi
• (1 8 6 2) menjadi

• (1 6 8 2) menjadi
• Pass Kedua
• (1 6 2 8) menjadi
• (1 6 2 8) menjadi
• (1 2 6 8) menjadi
• Pass Ketiga
• (1 2 6 8) menjadi
• (1 2 6 8) menjadi
• (1 2 6 8) menjadi

(1 8 6 2)
(1 6 8 2)
(1 6 2 8)
(1 6 2 8)
(1 2 6 8)
(1 2 6 8)
(1 2 6 8)
(1 2 6 8)
(1 2 6 8)


• Dari proses pengurutan di atas, dapat dilihat bahwa untuk mengurutkan diperlukan dua buah passing,ditambah
satu buah passing untuk memverifikasi. Dengan kata lain, jumlah proses perbandingan dapat dihitung sebagai
berikut. Jumlah proses = x2+x (4) Dalam persamaan (4) di atas, x adalah jumlahpenggeseran terbanyak. Dalam hal
ini, x tidak pernah lebih besar dari n, sehingga x dapat dirumuskan sebagai
• Dari persamaan (4) dan (5) di atas, dapat disimpulkan bahwa notasi
• big-O nya adalah O(n2). Dengan kata lain, pada kondisi average case algoritma Bubble Sort termasuk dalam
algoritma kuadratik.

B. Tehnik D and C