SEARCHING STRAIT MAXMIN
2.1
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. Langkah-langkah dari proses hamper mirip yang berbeda hanya nilai yang
dicari. Penggunaan operator (<, lebih kecil) dan (>, 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.
2.2
SEARCHING STRAIT MAKSIMUM
Untuk
menjelaskan proses pencarian data terbesar atau data maksimum dari sekelompok data, di bawah ini
akan diberikan contohnya terlebih dahulu.
Jika
diketahui sebuah sebuah larik data atau vector A yang memiliki 6 elemen
data,sebagai berikut:
A : 45 24 43 23 66 55
Untuk menemukan data maksimum dari
vector A, dapat dilakukan dengan cara sebagai berikut. Mula-mula elemen pertama
dalam A, yaitu 45 di aggap sebagai data maksimum. Selanjutnya 45 kita bandingkan dengan
elemen data yang kedua, yaitu 24. Karena 45 lebih besar dari 24, maka data
maksimumnya tetap, yaitu 45. Selanjutnya, 45 kita bandingkan dengan elemen data yang ketiga yaitu 43. Harga data maksimum sebelumnya adalah lebih besar dari
43, sehingga data maksimumnya masih tetap, yaitu 45. Proses dilanjutkan untuk
membandingkan kembali data maksimum sementara dengan data-data pada urutan
selanjutnya secara berurutan hingga data pada urutan akhir. Ketika dibandingkan
dengan data urutan yang ke-5, yaitu 66, ternyata 45 lebih kecil dari 66. Pada
akhirnya setelah dibandingkan dengan keseluruhan data dalam vector A, data 66
merupakan data terbesar atau maksimum.
Secara ringkas, jika N menyatakan
cacah elemen dalam vector yang diberi nama A, kemudian I menyatakan variable
pencacah sekaligus berfungsi sebagai indeks untuk mengidentifikasi setiap
elemen data dalam variable A, sehingga
elemn-elemen pada vector A secara
berurutan akan dapat diidentifikasi sebgai A[1], A[2], A[3], dan seterusnya
hingga A[N]. untuk mendapatkan data maksimum dalam data dalam vector A,
mula-mula A[1] dianggap sebagai nilai maksimum. Selanjutnya dibandingkan dengan
data yang lain, jika data yang dibandingkan lebih besar dari data maksimum maka
data maksimum diganti dengan data yang leboih besar. Proses tersebut terus
berulang. Pada akhir prosedur seperti ini akan memberikan hasil berupa elemen
data yang maksimum yang terdapat pada vector A.
Jika maksimum menyatakan variable untuk data maksimum yang akan
dicari, maka flowchart untuk mencari data maksimum sebagaimana dijelaskan
adalah:
2.3
MENCARI DATA MINIMUM
Pasa
kasus yang lain, jika diinginkan menccari data terkecil atau data minimum dari
sekelompok data atau vector, pada dasarnya langkah-langkah yang dilakukan
adalah sama dengan algoritma prosedur pencarian data maksimum sebagaiman
dijelaskan sebelumnya. Perbedaannya adalah terletak pada langkah ke-4, yaitu
pertukaran data akan dilakukan jika data pada ukuran berikutnya memiliki harga
yang lebih rendah dari nilai sebelumnya. Pada vector A dalam contoh sebelumnya, nialai 23 adalah merupakan
data minimum atau terkecil dari semua data pada vector A. jika minimum
merupakan variable yang digunakan untuk menyimpan harga minimum yang akan
dicari, maka algoritma prosedur untuk mencari nilai minimum adalah sebagai
berikut:
Teknik Pencarian Maxmin Searching Dengan Teknik
Straitmaxmin
Menentukan / mencari
elemen max & min. Pada Himpunan yang berbentuk array linear, waktu tempuh /
time complexity yang digunakan untuk menyelesaikan pencarian hingga mendapatkan
solusi yang optimal terbagi atas best case, average case, dan worst case
Algoritma untuk mencari elemen MaxMin :
Procedure STRAITMAXMIN(A,n,max,min)
Integer i,n
max ! min ! A(i)
FOR i ! 2 To n
DO
IF A(i) > max
Then max ! A(i)
ELSE IF A(i) < min Then min ! A(i) ENDIF
ENDIF
REPEAT
END STRAITMAXMIN
1.
BEST CASE
·
Keadaan yang tercapai jika elemen pada himpunan a disusun secara
increasing (menaik). Dengan perbandingan waktu n-1 kali satuan operasi
Contoh : terdapat himpunan A yang berisi 4 buah bilangan telah disusun
secara increasing A = 2,4,5,10. Dengan A(1) = 2, A(2) = 4, A(3) = 5, A(4) = 10.
Tentukan atau cari bilangan Max & Min serta jumlah operai perbandingan yang
dilakukan
Penyelesian
untuk masalah tersebut dapat digunakan procedure STRAITMAXMIN yang
menghasilkan bilangan min = 2 bilangan max = 10, operasi perbandingan mencari
bilangan MaxMin dari himpunan tersebut = 3 kali operasi.
2. WORST CASE
Terjadi jika elemen dalam himpunan disusun secara decreasing ( menurun ).
Dengan Operasi perbandingan sebanyak 2 ( n-1) kali satuan operasi
Contoh :
Mencari elemen MaxMin dan jumlah Operasi perbandingan yang dilakukan
terhadap himpunan A yang disusun decreasing.
A= { 80,21,6,-10}
Penyelesaian :
untuk masalah tersebut dapat digunakan procedure STRAITMAXMIN adalah
elemen max = 80 dan elemen min = 10, operasi perbandingan untuk elemen MaxMin
tersebut adalah 2(4-1) = 6 kali satuan operasi.
3. 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 yang berisi {5,-4,9,7} dilakukan pencarian elemen max
& min dengan menggunakan proses STRAIT MAXMIN. Berapa elemen maxmin yang
didapat dan jumlah operasi perbandingan yang dilakukan.
Penyelesaian :
Elemen Max = 9, dan elemen min = -4
Jumlah operasi perbandingan adalah (3 *4/2-1)=5 kali satuan operasi