BAB 3: ALGORITMA
1. Algoritma ialah satu siri langkah atau tindakan yang jelas yang perlu
dilaksanakan untuk menghasilkan output yang dikehendaki.
1
Prepared by IMR, SMK Valdor
2
Prepared by IMR, SMK Valdor
16. SORT ialah proses mengisih atau menyusun item-item dalam suatu
senarai linear mengikut urutan yang tertentu.
17. Sort ialah teknik yang penting untuk mendapatkan maklumat dengan
cepat dan tepat.
18. Terdapat dua jenis sort akan dipelajari:
a) bubble sort
b) bucket sort
3
Prepared by IMR, SMK Valdor
19. BUBBLE SORT ialah satu teknik pengisihan yang mudah untuk mengisih
item-item dalam senarai mengikut urutan menaik atau menurun.
20. Teknik isihan ini bermula dengan membandingkan dua item pertama
dalam senarai.
21. Item pertama dengan item kedua akan bertukar tempat untuk menyusun
item mengikut urutan menaik atau menurun.
22. Perbandingan dua item bersebelahan akan berterusan pada item-item
seterusnya sehingga ke item terakhir.
23. BUCKET SORT ialah satu teknik yang mengasingkan item-item dalam
senarai tertentu ke dalam baldi (bucket), seterusnya item-item di dalam
baldi akan diisih dan disusun semula ke dalam senarai.
24. Bilangan baldi yang diperlukan bergantung kepada pengatur cara dan
bilangan item dalam senarai yang perlu diisih.
4
Prepared by IMR, SMK Valdor
5
Prepared by IMR, SMK Valdor
3.1.2(i) Menulis Pseudokod dan Melukis Carta Alir bagi Linear Search
1. ALGORITMA ialah satu set langkah yang teratur untuk dilakukan bagi
mencapai sesuatu hasil yang diinginkan .Algoritma boleh diwakilkan
dalam bentuk pseudokod atau carta alir.
2. PSEUDOKOD ialah perwakilan algoritma dalam bahasa yang boleh
difahami.
3. CARTA ALIR adalah perwakilan algoritma dalam bentuk grafik.
6
Prepared by IMR, SMK Valdor
4. Pseudokod dan carta alir perlu dibina supaya set langkah yang dihasilkan
jelas dan mudah difahami
5. Pembinaan algoritma memudahkan seseorang untuk mengesan ralat
yang ada sekiranya output yang diperoleh mempunyai kesilapan selain
dapat memastikan output yang dihasilkan adalah output yang diingini.
KATAKAN:
7
Prepared by IMR, SMK Valdor
A. PSEUDOKOD
1. Mula
2. Setkan senarai L = [ 30,12,5,47,20,53,70,18,29,55 ]
3. Isytiharkan pemboleh ubah i, n, T
4. Setkan n = 10
5. Setkan i = 0
6. Masukkan nilai carian T
7. for i < n
Jika L1 == T
Papar "Item carian ditemui"
Tamat Jika
Jika Tidak
Kira i = i + 1
Tamat Jika
8. Jika i >= n
Papar "Tiada Item carian"
Tamat Jika
9. Tamat
8
Prepared by IMR, SMK Valdor
B. CARTA ALIR
9
Prepared by IMR, SMK Valdor
C. PENERANGAN
Petunjuk Penerangan
1 Senarai L diumpukan dengan nilai-nilai [30, 12, 5, 47, 20, 53,
70, 18, 29, 55]
2 n mewakili bilangan item dalam senarai yang diumpukkan
dengan nilai 10. Pemboleh ubah i 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
5 Jika item pada kedudukan tertentu, iaitu L didapati sama
dengan nilai T, mesej "Item carian ditemui" akan dipaparkan
dan carian akan dihentikan.
6 Jika tidak carian akan diteruskan dengan item yang
berikutnya, iaitu i = i + 1 dan proses ini akan diulang sehingga
nilai T dijumpai dalam senarai atau sehingga kesemua item
telah disemak.
7 Pada akhir carian, jika i >= n, bermksud kesemua item dalam
senarai telah disemak dan item carian tidak dijumpai. Maka
mesej "Tiada item carian" dipaparkan dan carian akan
dihentikan.
10
Prepared by IMR, SMK Valdor
3.1.2(ii) Menulis Pseudokod dan Melukis Carta Alir bagi Binary Search
11
Prepared by IMR, SMK Valdor
12
Prepared by IMR, SMK Valdor
13
Prepared by IMR, SMK Valdor
14
Prepared by IMR, SMK Valdor
3.1.2(iii) Menulis Pseudokod dan Melukis Carta Alir bagi Bubble Sort
iv. Ulang langkah (ii) hingga langkah (iii) dengan item kedua dan item
ketiga, seterusnya sehingga ke item terakhir
v. Semak senarai untuk melihat sama ada semua item berada pada
kedudukan yang betul.
vi. Ulang langkah (i) hingga (v) sehingga semua item dalam senarai
telah diisih mengikut urutan.
15
Prepared by IMR, SMK Valdor
6. Pemboleh ubah bubble sort untuk menulis pseudokod dan carta alir
adalah seperti berikut:
Pemboleh ubah Penerangan
L Senarai yang mengandungi item
n Pemboleh ubah yang mewakili item dalam senarai
i Pemboleh ubah yang mewakili bilangan lelaran yang
berlaku dalam gelung
j Pemboleh ubah yang mewakili kedudukan item
dalam senarai
temp Pemboleh ubah yang menyimpan data secara
sementara semasa membuat pertukaran kedudukan
item
16
Prepared by IMR, SMK Valdor
Petunjuk Penerangan
1 Senarai L yang diumpukkan
2 Pemboleh ubah n diumpukkan dengan nilai 8 yang mewakili
bilangan item dalam senarai.
Pemboleh ubah i diumpukkan dengan nilai 0 yang mewakili
bilangan lelaran pertama dalam gelung.
Pemboleh ubah temp diumpukkan dengan nilai 0 yang
mewakili data untuk disimpan secara sementara semasa
membuat pertukaran kedudukan item.
3 Gelung for digunakan untuk menentukan bilangan lelaran
yang berlaku
4 Pemboleh ubah j diumpukkan dengan nilai 0 yang mewakili
kedudukan item pertama dalam senarai
5 Gelung for digunakan untuk memastikan setiap pasangan
item bersebelahan dibandingkan.
6 Jika Lj lebih besar daripada Lj + 1 maka kedudukan kedua-dua
item akan ditukar
7 Pemboleh ubah temp digunakan untuk menukar kedudukan
antara dua item
8 Gelung for akan sentiasa berulang sehingga item-item
bersebelahan dibandingkan
9 Gelung for akan sentiasa berulang sehingga semua item
telah diisihkan mengikut urutan
10 Jika tiada penukaran, kedudukan item akan dipaparkan
17
Prepared by IMR, SMK Valdor
18
Prepared by IMR, SMK Valdor
3.1.2(iv) Menulis Pseudokod dan Melukis Carta Alir bagi Bucket Sort
1. Bucket sort ialah suatu isihan yang menyusun item-item dalam suatu
senarai mengikut kategori, kemudian menyusun semula mengikut
susunan yang betul.
2. Bucket sort melakukan proses isihan sebanyak dua peringkat iaitu:
1. Peringkat Pertama
Mengasingkan item mengikut kategori ke dalam baldi dan
mengisikan dalam baldi
2. Peringkat kedua
Mengisihkan item-item bagi setiap baldi mengikut urutan yang
betul
3. Algoritma bucket sort adalah seperti berikut:
i. Wujudkan beberapa buah baldi untuk menyimpan item-item
daripada senarai secara sementara
ii. Tentukan julat bagi setiap baldi supaya item-item dapat
dimasukkan ke dalam baldi
iii. Masukkan setiap item secara sementara ke dalam baldi
berdasarkan julat yang ditetapkan
iv. Isih item-item di dalam setiap baldi
v. Setelah item-item dalam semua baldi diisih, cantumkan item-item
tersebut dan masukkan ke dalam senarai
19
Prepared by IMR, SMK Valdor
Petunjuk Penerangan
1 Senarai L yang diumpukkan
2 senaraiBaharu[ ] diumpukkan dengan item dalam senarai
yang telah diisih
3 Pemboleh ubah n diumpukkan dengan nilai 20 mewakili
bilangan item dalam senarai.
Pemboleh ubah nB diumpukkan dengan bilangan baldi yang
diperlukan.
4 Wujudkan baldi kosong
5 Pemboleh ubah i diumpukan dengan nilai 0, yang mewakili
kedudukan item pertama dalam senarai
6 Untuk i kurang daripada n, item-item akan dimasukkan ke
dalam baldi
7 Jika i lebih daripada n, pemboleh ubah j diumpukkan dengan
nilai 0, yang mewakili kedudukan baldi pertama
8 Untuk j kurang daripada nB, baldi pada kedudukan j Baldi[j]
akan disemak samada kosong atau tidak
9 Jika Baldi[j] tidak kosong, item-item di dalam baldi akan
diisih hingga baldi terakhir
10 Jika Baldi[j] kosong, item-item di dalam baldi seterusnya
akan disemak dan diisih
11 Jika j lebih daripada nB item-item setiap baldi akan
dicantumkan dan dimasukkan ke dalam suatu
senaraiBaharu[ ].
Senarai tersebut akan dipaparkan dan atur cara tamat.
21
Prepared by IMR, SMK Valdor
22
Prepared by IMR, SMK Valdor
3.1.4 Mengesan dan Membaiki Ralat dalam Pseudokod dan Carta Alir
23
Prepared by IMR, SMK Valdor
24
Prepared by IMR, SMK Valdor
25
Prepared by IMR, SMK Valdor
26
Prepared by IMR, SMK Valdor
27