Anda di halaman 1dari 9

MTE 3104 MATEMATIK KEPUTUSAN

TAJUK 2 JENIS-JENIS CARIAN


2.1 SINOPSIS

Carian adalah proses menentukan sama ada sesuatu nilai diberi wujud atau tidak dalam struktur data. Ia adalah proses mencari elemen tertentu dalam susunan barisan yang teratur, misalnya, mencari sama ada skor yang tertentu dimasukkan ke dalam senarai skor. Carian adalah satu tugas yang biasa dalam pengaturcaraan komputer. Terdapat banyak algoritma dan struktur data yang dikhaskan untuk carian.

Dalam topik ini, kita akan meneroka proses carian linear atau berurutan dan kemudian membandingkan dengan proses carian binari.

2.2

HASIL PEMBELAJARAN

1.Huraikan proses carian linear(linear search algorithm) atau berurutan (indexed sequential search algorithm). 2. Menerangkan proses carian binari (binary search algorithm)

MTE 3104 MATEMATIK KEPUTUSAN 2.3 KERANGKA TAJUK

JENIS-JENIS CARIAN

Algoritma carian linear

Algoritma carian indeks berurutan (indexed sequential search algorithm)

Algorithma carian binari

2.4 Algoritma Carian Linear

Algoritma carian linear adalah algoritma yang paling ringkas. Carian linear membandingkan unsur utama (key), dengan setiap unsur dalam senarai. Ini berterusan sehingga kekunci dengan satu elemen dalam senarai atau senarai habis tanpa perlawanan apa-apa yang dijumpai.

Carian Linear tidak cukup berkesan. Sasaran yang kita cari boleh diletakkan pada akhir susunan, yang memerlukan kita mencari setiap elemen tunggal dalamsusunan. Sebagai contoh, kita perlu mencari 1000 elemen jika kita mempunyai susunan 1000 elemen. Sasaran juga mungkin berada di suatu tempat di tengah-tengah susunan, menghendaki kita mencari separuh daripada semua elemen dalam susunan. Kita perlu mencari kira-kira 500 elemen dalam susunan 1000 elemen tersebut.

Pada umumnya, semak setiap item data seterusnya untuk melihat jika ia memenuhi kriteria.Tiada sekatan ke atas data. Carian dilaksanakan walaupun data tidak disusun secara urutan tetapi carian ini adalah yang paling tidak cekap.Jika item tidak diperolehi, periksa setiap item data seterusnya.Teruskan mencari secara linear sehingga nilai dikehendaki diperolehi. 7

MTE 3104 MATEMATIK KEPUTUSAN

Contoh-contoh algoritma carian linear: i) Bagaimana untuk mencari nama seseorang? -berikan nombor telefon mereka -cari dari buku panduan telefon -berikan nombor I.C mereka ii) iii) iv) Mencari sebuah buku dari susunan buku-buku. Mencari barang yang hilang. Mencari alamat sesuatu tempat.

Contoh penggunaan Algoritma Carian Linear.

10

-4

20

Rajah 2.1 Mencari nombor dari susunan elemen. Cari nombor 3 dari susunan di atas menggunakan carian linear. Mula pada elemen pertama dalam susunan. Adakah nilai pertama 3?

10

-4

20

Rajah 2.2 Adakah nombor pertama nombor 3?

Tidak, Adakah ia berada pada elemen seterusnya?

MTE 3104 MATEMATIK KEPUTUSAN

10

-4

20

Rajah 2.3 Adakah elemen kedua nombor 3 ?

Tidak sama sekali. Mari lihat elemen seterusnya.

10

-4

20

Rajah 2.4 Adakah elemem ketiga nombor 3? Tidak, lakukan carian untuk elemen seterusnya.

10

-4

20

Rajah 2.4 Adakah elemen keempat nombor 3?

Ya.anda telah menemuinya!! Anda telah menemui nombor 3 selepas 4 perbandingan. Sekarang anda telah memahami idea menggunakan carian linear. Kesimpulannya, anda perlu melalui setiap unsur mengikut urutan, sehingga anda dapati nilai yang betul.

MTE 3104 MATEMATIK KEPUTUSAN

Aktiviti: Aktiviti 1
Bekerja secara berpasangan, beritahu pasangan anda fikirkan suatu nombor antara 1 dan 99 (termasuk kedua-duanya). Kemudian dengan bertanya soalan yang sesuai di mana jawapannya mesti sama ada ya atau tidak, cuba cari nombor yang difikirkan oleh pasangan anda. Tujuannya adalah untuk mencari nombor dengan bertanya beberapa soalan yang mungkin. Tukar giliran dan biarkan pasangan anda cuba untuk mencari nombor yang anda fikirkan. Ulangi latihan ini beberapa kali dengan strategi yang berbeza. Bincangkan strategi anda. Berapakah bilangan soalan minimum, bilangan soalan maksimum dan purata soalan yang diperlukan?

Aktiviti 2
Gunakan kamus atau direktori telefon untuk menyiasat berapa banyak item data yang anda perlu lihat apabila mencari perkataan tertentu atau nombor telefon seseorang. Bandingkan pelbagai strategi dan cuba gambarkan strategi tersebut secara algoritma.

2.5

Algoritma Carian Indeks Berurutan (Indexed Sequential Search Algorithm)

Jika data disusun, terdapat dua algoritma boleh digunakan: i) Algoritma carian indeks berurutan - Disusun ke dalam fail dan ikuti urutan ii) Algoritma carian binari - Keputusan dengan dua pilihan

10

MTE 3104 MATEMATIK KEPUTUSAN

Dalam carian indeks berurutan, data disusun dahulu kemudian dipecahkan kepada bahagian-bahagian. Suatu senarai tambahan atau indeks kemudiannya diwujudkan yang mengandungi item yang pertama atau terakhir dalam setiap pecahan bahagian.

Contoh penggunaan carian indeks berurutan:

Digunakan di dalam kamus. Indeks diletakkan pada sudut atas sebelah kanan halaman kamus. Untuk mencari perkataan yang diberi, anda buka helaian halaman yang mengandungi indeks perkataan yang dikehendaki. Kemudian lakukan carian linear pada halaman yang dipilih.

Contoh-contoh lain penggunaan carian indeks berurutan(indexed sequential algirithm): i) Satu set data yang terdapat pada sistem komputer - mewujudkan satu senarai kecil. ii) Untuk mencari nama bandar di UK dalam senarai kod kawasan telefon. - Senarai sub-kod kawasan telefon mengandungi kedudukan bandar pertama yang namanya bermula dengan A, B, C, ... .. dan sebagainya. - Kemudian, untuk mencari York, carian akan dilakukan bermula dari senarai sub untuk mencari Y. - Ini akan memberi kedudukan bagi memulakan carian linear bagi data utama.

11

MTE 3104 MATEMATIK KEPUTUSAN

2.6 Carian Binari


Carian binari adalah pilihan yang lebih cekap untuk mencari tatasusunan. Carian binari digunakan biasanya dalam bidang sains komputer di mana terdapat satu konsep yang berkaitan dipanggil Pokok Carian Binari.

Dalam bidang sains komputer, carian binari adalah algoritma carian untuk mencari satu set data yang disusun untuk suatu nilai tertentu. Carian binari memerlukan capaian rawak untuk data yang dicari. Dalam bentuk yang paling mudah, carian binari adalah dengan menganggap data disusun (biasanya oleh algoritma isihan) dan mengambil kelebihan daripada ciri-ciri itu.

Carian binari adalah suatu algoritma yang memulakan carian di tengah-tengah susunan. Jika nilai yang dikehendaki lebih kecil daripada nilai di tengah-tengah susunan, maka separuh susunan kedua diabaikan. Strategi ini kemudian digunakan untuk separuh pertama susunan. Jika nilainya lebih besar daripada nilai di tengah-tengah susunan, maka separuh pertama susunan diabaikan. Strategi ini kemudiannya digunakan untuk separuh kedua susunan. Jika nilainya berada di tengah-tengah susunan, maka ia telah dijumpai.

Catatan : i)

Jika bilangan data adalah ganjil, nilai ditengah dikira menggunakan [ ]

iaitu jika n1 = 12 dan n2 = 20, maka nilai di tengah adalah 16. ii) Jika bilangan data adalah genap, nilai ditengah dikira daripada nilai integer yang lebih besar, iaitu jika kedudukan antara 15 dan 24, maka nilai di tengah adalah 19.5. Dibundarkan kepada 20. Jadi nilai di tengah adalah 20.

12

MTE 3104 MATEMATIK KEPUTUSAN Sebagai contoh, jika anda mempunyai 1024 elemen dalam susunan barisan, dalam keadaan yang paling teruk, carian binari hanya memerlukan 10 perbandingan manakala carian linear memerlukan 1024 perbandingan. Jika anda mempunyai 1 bilion elemen, carian binari hanya memerlukan 30 perbandingan manakala carian linear memerlukan 1 bilion perbandingan.

Contoh penggunaan algoritma carian binari. Mencari nombor 7 dari suatu susunan.

10

-4

20

Rajah 2.6: Susunan yang hendak dicari Cari nombor 7 dari susunan. menaik. Mulakan dengan menyusun nombor secara

-4

10

20

Rajah 2.7: Nombor yang telah disusun secara menaik Sekarang, lihat susunan di tengah. Ia adalah 3. Nombor ini lebih kecil dari daripada nombor yang dicari. Oleh itu, abaikan separuh yang pertama.

-4

10

20

Rajah 2.8: Susunan nombor yang pertama diabaikan. Lihat pula susunan di tengah daripada baki separuh daripada susunan. Nilai di tengah adalah 10.Nombor ini lebih besar daripada nombor yang dicari, maka abaikan separuh susunan nombor yang kedua.

13

MTE 3104 MATEMATIK KEPUTUSAN

-4

10

20

Rajah 2.9: Nombor separuh kedua diabaikan

Lihat baki susunan nombor.Ya. Anda telah menjumpai nombor 7!!

-4

10

20

Rajah : Adakah niali keempat no 3?

Anda menjumpai nombor 7 selepas 3 perbandingan. Ini adalah bagaimana carian binari dilakukan. Ia adalah jelas bahawa algoritma carian binari adalah lebih cepat daripada algoritma carian linear.

Buku rujukan Parramore, K., et. al. (2004). Decision Mathematics 1. 3rd ed. U.K. Hodder Murray. Parramore, K., et. al. (2004). Decision Mathematics 2 and C . 3 rd ed. U.K. Hodder Murray.

Brian, J, (2005). Decision Mathematics , U.K. Oxford University Press.

14