Tugas Algoritma 2
Tugas Algoritma 2
TUGAS 1
Studi kasus
seorang karyawan bekerja di Pt.KARYA PEKANBARU dan mendapatkan gaji serta
lemburan :
gaji minngguan (GM) = RP.900.000
jika dia bekerja lebih dari 40 jam dalam satu minggu, maka dihitung lembur (JK)
jika dia bekerja kurang dari 40 jam dalam seminggu maka diterima total gaji
mingguan (TGM)
Star
GM,LEM,JN,JK,TGM
JK<JN
TGM=GM
Print TGM
SELESAI
TUGAS 2
maka akan mengecek dari awal sampai data ketemu, jadi akan di periksa satu persatu ,
dengan cara membandingkan seperti ini
apakah 5 = 1 False
apakah 5 = 2 False
apakah 5 = 4 False
apakah 5 = 3 False
apakah 5 = 5 True
jika ada ada di tengah maka akan berhenti ketika kondis menjadi true, dan tidak akan di ualang lagi
contoh kita mencari data 5 dari array [,1,2,5,3,4]
apakah 5 = 1 False
apakah 5 = 2 False
apakah 5 = 5 True
Jika data sudah ketemu maka tdk akan diproses lagi :-)
oke kita cari dengan perulangan ekarang dengan soal di bawah , carilah data 40
100 50 40 60 20 10
didefinisikan
diatas adalah aray X
x[0] = 100
x[1] = 50
x[2] = 40
x[3] = 66
x[4] = 20
x[5] = 10
kita cari dengan cara mengurutkan dengen perulangan
i=0;
while(i <= 5){
if(x[i]==40){
alert("Data Ketemu");
}else{
i++;
}
}
dari perulangan di atas akan mengecek satu persatu data array dan menyamakannya dengan data yg
akan di cari .......
oke itu sedikit penjelasan tentang Sequential Search (Pencarian berurutan)
Binary Search)
Merupakan salah satu metode pencarian yang menangani kasus terburuk (worst case)
pada pencarian secara berurutan. Proses pencarian binary search hanya dapat dilakukan pada
data yang sudah berurutan. Cara pencarian binary ini adalah dengan membagi dua elemen
penampung nilai dan membandingkan nilainya.
Algoritma dari binary search adalah:
1. Tentukan posisi awal = 0 dan posisi akhir = N – 1
2. Hitung posisi tengah = (posisi awal + posisi akhir) / 2
3. Bandingkan data yang dicari dengan elemen posisi tengah
Jika data yang dicari sama maka catat posisi dan cetak kemudian berhenti
Jika lebih besar maka akan dilakukan pencarian kembali ke bagian kiri dengan nilai posisi
awal = posisi tengah + 1 dan posisi akhir tetap kemudian ulangi mulai poin 2
Jika nilai datanya lebih kecil maka akan dilakukan pencarian kembali ke bagian kiri dengan
nilai posisi awal tetap dan nilai posisi akhir = posisi tengah – 1 kemudian ulangi mulai poin
2.
Contoh soal
16 17 23 45 50 78 99 100
1. Mencari x[17]
Sequansial Search
1. 17 != x[0] = yes = indeks ++
2. 17 != x[1] = no = Temukan x[1] x[1] = 17
Binary Search
1. 0 + 7/2 = 3,5 = 3
16 17 23 45 50 78 99 100
2. 0 + 3/2 = 1,5 = 1
16 17 23 45
2. Mencari x[23]
Sequensial Search
1. 23 != x[0] = yes = indeks ++
2. 23 != x[1] = yes = indeks ++
3. 23 != x[2] = no = Temukan x[2] x[2] = 23
Binary Search
1. 0 + 7/2 = 3,5 = 3
16 17 23 45 50 78 99 100
2. 0 + 4/2 = 2
16 17 23 45
3. Mencari x[78]
Sequansial Search
1. 78 != x[0] = yes = indeks ++
2. 78 != x[1] = yes = indeks ++
3. 78 != x[2] = yes = indeks ++
4. 78 != x[3] = yes = indeks ++
5. 78 != x[4] = yes = indeks ++
6. 78 != x[5] = no = Ketemu x[5]
Binary Search
1. 0 + 7/2 = 3,5 = 3
16 17 23 45 50 78 99 100
2. 0 + 5/2 = 2,5 = 2
50 78 99 100
Kesimpulan :
Dari pembahasan contoh soal di atas dapat disimpulkan bahwa jika mencari data yang sudah
terurut maka metode yang paling efisien digunakan adalah metode Binary Search dan
sebaliknya jika kita ingin mencari data yang teracak metode yang sebaiknya digunakan
adalah metode Sequantial Search
febrijuanda
17071003
Algoritma 2