π― Standard Pembelajaran
- β3.1.1 Menerangkan dan menggunakan algoritma linear search.
- β3.1.2 Menerangkan dan menggunakan algoritma binary search.
- β3.1.3 Menerangkan dan menggunakan algoritma bubble sort.
- β3.1.4 Menulis pseudokod dan melukis carta alir bagi algoritma carian dan isihan.
- β3.1.5 Membandingkan kecekapan algoritma carian dan isihan.
π‘ RUJUKAN: Buku Teks ASK Tingkatan 3, Bab 3 Algoritma (3.1 Pembangunan Algoritma β linear search, binary search, bubble sort)
Carian (search) mencari kedudukan sesuatu item dalam senarai, manakala isihan (sort) menyusun item mengikut urutan menaik atau menurun. Buku teks memperkenalkan dua algoritma carian iaitu linear search dan binary search, serta algoritma isihan bubble sort. Pemilihan algoritma bergantung pada sama ada data telah tersusun dan berapa besar saiz data.
Linear search
Linear search menyemak setiap item satu demi satu dari kedudukan pertama sehingga item yang dicari ditemui atau senarai tamat. Ia berfungsi pada senarai yang tersusun mahupun tidak tersusun. Kes terbaik ialah satu perbandingan apabila item berada di kedudukan pertama, dan kes terburuk ialah n perbandingan bagi senarai n item.
Binary search
Binary search hanya boleh digunakan pada senarai yang telah tersusun. Ia membandingkan item tengah dengan sasaran, kemudian membuang separuh senarai yang tidak mungkin mengandungi sasaran. Proses diulang pada separuh yang tinggal sehingga item ditemui atau julat carian kosong.
Kecekapan carian
Linear search memerlukan sehingga n perbandingan, manakala binary search memerlukan hanya kira-kira logβn perbandingan. Bagi senarai 1000 item, linear search mungkin memerlukan 1000 perbandingan tetapi binary search hanya memerlukan kira-kira 10. Namun binary search memerlukan kos mengisih data terlebih dahulu.
Bubble sort
Bubble sort membandingkan dua item bersebelahan dan menukar kedudukannya jika susunannya salah. Bagi isihan menaik, item yang lebih besar ditukar ke kanan. Selepas setiap pusingan lengkap, item terbesar akan berada di kedudukan akhir yang betul, seperti buih naik ke permukaan.
Pusingan dan perbandingan bubble sort
Bagi senarai n item, bubble sort memerlukan sehingga nβ1 pusingan. Pada pusingan ke-i, hanya nβi perbandingan diperlukan kerana item di hujung sudah tersusun. Jika tiada pertukaran berlaku dalam satu pusingan, senarai sudah tersusun dan proses boleh dihentikan lebih awal.
Isihan menaik dan menurun
Isihan menaik menyusun dari nilai terkecil ke terbesar, manakala isihan menurun sebaliknya. Perbezaan dalam kod hanyalah operator perbandingan: gunakan > untuk isihan menaik dan < untuk isihan menurun dalam syarat pertukaran.
Memilih algoritma yang sesuai
Gunakan linear search untuk senarai kecil atau tidak tersusun. Gunakan binary search untuk senarai besar yang telah tersusun dan kerap dicari. Bubble sort mudah difahami dan sesuai untuk pembelajaran serta senarai kecil, tetapi tidak cekap untuk data yang besar.
π Glosari mini
- Carian (search)
- Proses mencari kedudukan sesuatu item dalam senarai.
- Isihan (sort)
- Proses menyusun item mengikut urutan tertentu.
- Linear search
- Carian yang menyemak setiap item satu demi satu dari permulaan.
- Binary search
- Carian yang membahagi dua senarai tersusun secara berulang.
- Bubble sort
- Isihan yang membandingkan dan menukar item bersebelahan.
- Pusingan (pass)
- Satu putaran lengkap perbandingan melalui senarai.
- Item tengah
- Item di kedudukan pertengahan julat carian binary search.
- Isihan menaik
- Susunan dari nilai terkecil kepada terbesar.
- Kecekapan algoritma
- Ukuran bilangan operasi yang diperlukan berbanding saiz data.
Indeks tengah binary search = (permulaan + akhir) Γ· 2
Setiap perbandingan binary search membuang separuh daripada julat carian yang tinggal.
Contoh: Senarai 16 item memerlukan paling banyak 5 perbandingan kerana 16 β 8 β 4 β 2 β 1.
π― TIP: Jangan hafal istilah Algoritma Search dan Sort secara terasing. Terangkan sebab, syarat penggunaan dan kesannya terhadap output.