3.1.2 Menulis Pseudokod Dan Melukis Carta Alir Bagi Linear Dan Binary Search (1)

You might also like

Download as pdf or txt
Download as pdf or txt
You are on page 1of 14

ASAS SAINS KOMPUTER

TINGKATAN TIGA
BAB 3 : ALGORITMA
3.1.2 (i): M E N U L I S P S E U D O K O D D A N M E L U K I S
C A RTA A L I R B A G I L I N E A R S E A R C H
3.1.2 (ii): M E N U L I S P S E U D O K O D D A N M E L U K I S
C A RTA A L I R B A G I B I N A R Y S E A R C H
OBJEKTIF

3.1.2
Murid boleh:
Menulis pseudokod dan melukis carta alir yang menunjukkan:
i) Linear search
ii) Binary search
Algoritma:
• Boleh diwakilkan dalam bentuk pseudokod atau carta alir.

Pseudokod:
• Merupakan perwakilan algoritma dalam bahasa yang boleh difahami.

Carta alir:
• Merupakan perwakilan algoritma dalam bentuk grafik.

➢ Dalam menyelesaikan sesuatu masalah, pseudokod dan carta alir perlu dibina supaya set
langkah yang dihasilkan adalah jelas dan mudah difahami.
➢ Pembinaan algoritma memudahkan dalam mengesan ralat yang ada sekiranya output yang
diperoleh mempunyai kesilapan.
➢ Memastikan output yang dihasilkan adalah output yang diingini.
Langkah-langkah pembinaan pseudokod dan carta alir bagi linear search
untuk mencari satu nombor dalam senarai yang rawak (random list).
Carian suatu nombor menggunakan senarai
[10, 82, 5, 18, 27, 15, 44, 100, 42, 99]

Langkah 1 Memahami proses linear search dengan membina algoritma

Algoritma bagi proses linear search dirumuskan seperti di bawah:


1. Mula dengan item pertama dalam senarai.
2. Bandingkan item carian dengan item pertama.
3. Jika nilai item carian sama dengan nilai item pertama, carian dihentikan.
4. Jika nilai item carian tidak sama dengan nilai item pertama, ulang Langkah 2 hingga
Langkah 4 dengan item yang berikutnya dalam senarai.
5. Carian tamat apabila item carian diperoleh atau apabila semua item telah disemak.
Langkah 2 Menulis pseudokod dan melukis carta alir

• Kenal pasti pemboleh ubah.


• Pemboleh ubah yang diperlukan adalah seperti berikut:

Katakan:
• L ialah senarai yang mengandungi 10 item dengan nilai-nilai L0 = 10, L1 = 82, …,
Ln-1 = 99.
• T ialah pemboleh ubah yang mewakili nilai item carian.
• i ialah pemboleh ubah yang mewakili kedudukan item dalam senarai L.
• n ialah pemboleh ubah yang mewakili bilangan item dalam senarai L.
1. Menulis pseudokod linear search

1. Mula
2. Setkan senarai L = [ 10, 82, 5, 18, 27, 15, 44, 100, 42, 99]
3. Isytihar pemboleh ubah i, n, T
4. Setkan n = 10
5. Setkan i = 0
6. Masukkan nilai carian T
7. for i < n
7.1 Jika Li == T
7.1.1 Papar “Item ada dalam senarai”
7.1.2 Langkau ke Langkah 9
7.2 Jika tidak
7.2.1 Kira i = i + 1
7.3 Tamat jika
8. Jika i >= n
8.1 Papar “Item tiada dalam senarai”
8.2 Tamat jika
9. Tamat
MULA

Setkan senarai L = [ 10, 82, 5, 18, 27, 15, 44, 100, 42, 99 ] 1

Isytihar pemboleh ubah i, n, T

Setkan n = 10 2
Setkan i = 0

2. Melukis carta alir Masukkan nilai carian T 3

linear search 5
6

Ya Tidak
4 i < n? Li == T? i=i+1

Tidak Ya

Papar “Item ada dalam senarai”

Ya
7 i >= n Papar “Item tiada dalam senarai”

Tidak

TAMAT
Simbol Penerangan

Senarai L diumpukkan dengan nilai-nilai [ 10, 82, 5, 18, 27, 15, 44, 100, 42, 99 ].
1

n yang mewakili bilangan item dalam senarai diumpukkan dengan nilai 10. Pemboleh ubah i
2
diumpukkan dengan nilai 0, iaitu kedudukan item yang pertama dalam senarai.

3
Pengguna memasukkan satu nombor carian yang diumpukkan kepada pemboleh ubah T.

4
Selagi syarat ( i < n ) benar, carian akan dilakukan pada setiap item dalam senarai.

Jika item pada kedudukan tertentu, iaitu Li didapati sama dengan nilai T, mesej “Item ada
5
dalam senarai” akan dipaparkan dan carian akan dihentikan.
Jika tidak, craian akan diteruskan dengan item yang berikutnya, iaitu i = i + 1 dan proses ini akan
6
diulang sehingga nilai T dijumpai dalam senarai atau sehingga kesemua item telah disemak.
Pada akhir carian, jika i >= n, ini bermaksud kesemua item dalam senarai telah disemak dan item
7
carian tidak dijumpai. Maka, mesej “Item tiada dalam senarai” dipaparkan dan carian dihentika.
Langkah-langkah pembinaan pseudokod dan carta alir bagi binary search
untuk mencari satu nombor dalam senarai yang rawak (random list).
Langkah 1 Memahami proses binary search dengan membina algoritma

Algoritma bagi proses binary search dirumuskan seperti di bawah:


1. Pastikan item-item dalam senarai yang diberi telah diisih mengikut urutan menaik.
2. Lihat item yang berada di tengah senarai.
3. Bandingkan item carian dengan item yang berada di tengah senarai.
4. Jika nilai item carian sama dengan nilai item yang berada di tengah senarai, carian dihentikan.
5. Jika nilai item carian kurang daripada nilai item yang berada di tengah senarai, abaikan item di
tengah senarai dan item-item selepasnya. Kemudian, lihat pada senarai yang tinggal.
6. Jika nilai item carian lebih daripada nilai item di tengah senarai, abaikan item di tengah senarai
dan item-item sebelumnya. Kemudian, lihat pada senarai yang tinggal.
7. Ulang Langkah 2 hingga Langkah 6 sehingga item carian dijumpai atau apbila carian selesai
tanpa menjumpai item carian.
Langkah 2 Menulis pseudokod dan melukis carta alir

• Kenal pasti pemboleh ubah.


• Pemboleh ubah yang diperlukan adalah seperti berikut:

Katakan:
• L ialah senarai yang mengandungi 26 item A hingga Z.
• n ialah pemboleh ubah yang mewakili bilangan item dalam senarai L.
• i ialah pemboleh ubah yang mewakili kedudukan item dalam senarai.
• m ialah pemboleh ubah yang mewakili kedudukan item pertengahan dalam senarai.
• b ialah pemboleh ubah yang mewakili nilai item carian.
• j ialah n -1.
1. Menulis pseudokod linear search
1. Mula
2. Setkan senarai L = [ A, B, C, D … Z ]
3. Isytihar pemboleh ubah n, i, j, m, b
4. Setkan n = 26
5. Setkan i = 0
6. Setkan j = n - 1
7. Masukkan satu nilai carian b
8. while i < j
8.1 Setkan m = ( i + j ) / 2
8.2 Jika b == Lm
8.2.1 Papar “Item ada dalam senarai”
8.2.2 Keluar gelung
8.3 Jika tidak
8.3.1 Kira b < Lm
8.3.1.1 Kira j = m – 1
8.3.2 Jika tidak
8.3.2.1 Kira i = m + 1
8.3.3 Tamat jika
8.4 Tamat jika
9. Tamat
2. Melukis carta alir
binary search
Simbol Penerangan

1 Senarai L diumpukkan dengan nilai-nilai [ A, B, C, hingga Z ].

Pemboleh ubah i diumpukkan dengan nilai 0, iaitu kedudukan item pertama dalam senarai.
2
Pemboleh ubah n diumpukkan dengan nilai 26 yang mewakili bilangan item dalam senarai.
Pemboleh ubah j diumpukkan dengan nilai (n – 1).

3 Pengguna perlu memasukkan satu item carian, iaitu b.

Selagi i kurang daripada j, indeks pertengahan m ditentukan dengan menggunakan formula


4
m = ( i + j ) / 2.

5 Jika b == Lm, mesej “Item ada dalam senarai” akan dipaparkan dan carian akan dihentikan.

Jika b < Lm, kedudukan item terakhir dalam senarai akan dikira semula, iaitu j = m – 1.
6 Jika b > Lm, kedudukan item pertama dalam senarai akan dikira semula, iaitu i = m + 1.
Proses ini akan berulang sehingga item carian dijumpai atau sehingga semua item dalam senarai telah
disemak.
TAMAT

You might also like