Professional Documents
Culture Documents
3.1.2 Menulis Pseudokod Dan Melukis Carta Alir Bagi Linear Dan Binary Search (1)
3.1.2 Menulis Pseudokod Dan Melukis Carta Alir Bagi Linear Dan Binary Search (1)
3.1.2 Menulis Pseudokod Dan Melukis Carta Alir Bagi Linear Dan Binary Search (1)
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]
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
Setkan n = 10 2
Setkan i = 0
linear search 5
6
Ya Tidak
4 i < n? Li == T? i=i+1
Tidak Ya
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
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
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).
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