Anda di halaman 1dari 19

BAB 3 ALGORITMA

3.1.1 – SEARCH, SORT


Linear Search dan Binary Search
Bubble dan Bucket
SEARCH

• Pencarian data bertujuan untuk mencari dan mendapatkan data


yang terdapat dalam sekelompok data.
• Merupakan proses untuk mendapatkan maklumat suatu item
tertentu yang terkandung dalam satu senarai dengan lebih cepat
• Dengan mengarahkan aplikasi pemprosesan kata untuk mencari
satu perkataan yang berulang dalam suatu senarai
• Terdapat dua jenis search akan dipelajari, iaitu
⮚ Linear search
⮚ Binary search
SORT

• Proses mengisih atau menyusun item-item dalam suatu senarai


linear mengikut urutan yang tertentu
• Merupakan teknik yang penting untuk mendapatkan maklumat
dengan cepat dan tepat
• Antara contoh sort ialah menyusun senarai nama murid mengikut
abjad dan menyusun murid-murid ke dalam barisan mengikut
rumah sukan
• Terdapat dua jenis sort akan dipelajari, iaitu
⮚ Bubble sort
⮚ Bucket sort
Linear Search dan Binary Search
LINEAR SEARCH

• Teknik pencarian data dalam sekumpulan data yang paling mudah


• Pencarian data dilakukan satu per satu sehingga data yang dicari
berjaya ditemui
• Jika data ditemukan, maka proses pencarian selesai
• Kelebihan : Jika data yang dicari terletak di awal maka waktu
pencarian datanya sangat cepat
• Kelemahan : Jika data yang dicari paling belakang, maka waktu
pencarian datanya sangat lama
• Sesuai digunakan untuk mencari data dalam jumlah yang kecil
Pencarian data dalam satu senarai
menggunakan linear search

• Cikgu Aiman ingin mencari nama murid Kelas 3 Utarid yang


memperoleh 90 markah dan ke atas dalam ujian bulanan. Kelas 3
Utarid terdiri daripada 27 orang murid
• Carian dimulakan dengan nama pertama dalam senarai. Alif
Qusyairi mendapat 98 markah. Catat nama Alif Qusyairi.
Kemudian, lihat nama kedua dan nama seterusnya sehingga nama
terakhir. Nama murid yang mendapat 90 markah dan ke atas akan
dicatatkan
BINARY SEARCH

• Sesuai digunakan untuk mencari data dalam kumpulan yang besar


• Kumpulan data perlu disusun secara menaik atau menurun
• Cari kedudukan data tengah dengan cara
• (posisi awal + posisi akhir)/2
• - Tujuannya untuk menjimatkan masa kerana akan dapat tahu dengan cepat nombor yang
berada dalam posisi awal atau posisi akhir
• Bandingkan data yang dicari dengan data yang di tengah, apakah sama atau lebih
kecil, atau lebih besar?
• Jika data dicari lebih besar, maka proses pencarian diteruskan dengan posisi awal
adalah posisi tengah + 1
• Jika data dicari lebih kecil, maka proses pencarian diteruskan dengan posisi akhir
adalah posisi tengah – 1
• Ulang proses pencarian hingga selesai. Jika data sama, data telah ditemui. Jika
tidak, data tidak ditemui
Pencarian satu nombor menggunakan
binary search

• [ 21, 25, 28, 33, 38, 39, 48, 49, 69 ] Cari data 28
• Awal = 0, akhir = 8
• Mid = (awal+ akhir) / 2 = 4
• Data [4] = 28 ? Tidak
• Data [4] < 28 ? ( 38 < 28 ) Tidak
• Data [4] > 28 ? ( 38 > 28 ) Ya,
• akhir = Mid - 1 = 3, awal =0
• Awal = 0, akhir = 3
• Mid = ( awal+ akhir ) / 2 = 1
• Data [1] = 28 ? Tidak
• Data [1] < 28 ? ( 25 < 28 ) Ya,
• awal = posisi + 1 = 2, akhir =3
• Awal = 2, akhir = 3
• Mid = ( awal + akhir ) / 2 =
• Data [2] = 28 ? Ya.
• Data telah ditemukan
BUBBLE SORT

• Satu teknik pengisihan yang mudah untuk mengisih item- item dalam
senarai mengikut urutan menaik atau menurun
• Teknik isihan ini bermula dengan membandingkan dua item pertama dalam
senarai
• Isihan yang melibatkan urutan menaik, item pertama dengan item kedua
akan bertukar tempat jika nilai item pertama lebih besar daripada nilai
item kedua
• Isihan yang melibatkan urutan menurun, item pertama dengan item kedua
akan bertukar tempat jika nilai item pertama lebih kecil daripada nilai item
kedua
• Perbandingan dua item bersebelahan akan berterusan pada item-item
seterusnya sehingga ke item terakhir
Isihan mengikut urutan menaik
menggunakan bubble sort
BUCKET SORT

• Merupakan teknik yang mengasingkan item-item dalam senarai


tertentu ke dalam baldi (bucket)
• Item-item di dalam baldi akan diisih dan disusun semula ke dalam
senarai
• Bilangan baldi yang diperlukan bergantung kepada pengatur cara
dan bilangan item dalam senarai yang perlu diisih
Isihan mengikut urutan menaik
menggunakan bucket sort

Anda mungkin juga menyukai