BAB 3 : ALGORITMA
Tingkatan 3
Apakah perasaan anda pada hari ini?
ⓘ Start presenting to display the poll results on this slide.
2
Ingat lagi?
Algoritma salah satu teknik penyelesaian masalah.
Algoritma boleh diwakili dengan pembinaan pseudokod
dan carta alir.
3
3.1
PEMBANGUNAN ALGORITMA
STANDARD PEMBELAJARAN ✗ 3.1.2
Menulis pseudokod dan
✗ 3.1.1 melukis carta alir yang
Mengenal pasti ciri- ciri menunjukkan:
search (linear, binary) (i) Linear search
dan sort (bubble, (ii) Binary search
bucket).
5
Search ialah proses mencari indeks
lokasi data bagi item tertentu yang
terkandung dalam satu senarai.
6
SEARCH TERBAHAGI KEPADA:
✗ Linear Search
✗ Binary Search
7
Ciri-ciri linear search & binary search
✗ Syarat senarai yang hendak digunakan.
✗ Cara algoritma berfungsi.
✗ Elemen pertama perbandingan dengan carian.
✗ Kesukaran untuk mengimplementasikan pada kod
aturcara.
✗ Keberkesanan, kelajuan dan masa pelaksanaan
algoritma dalam membuat carian.
8
LINEAR SEARCH
1 :Syarat SENARAI YANG
HENDAK DIGUNAKAN
Linear search ialah satu
algoritma carian yang
digunakan untuk mencari
indeks lokasi data dalam
senarai samada yang telah
disusun atau belum
disusun.
9
LINEAR SEARCH
2:CARA ALGORITMA BERFUNGSI
- Membandingkan carian dengan
elemen dalam suatu senarai
bermula dengan elemen pertama
- Jika tidak sama maka carian akan
dibandingkan dengan elemen
kedua.
- Perbandingan dilakukan pada
elemen seterusnya sehinggalah
nilai carian yang hendak dicari
ditemui.
10
LINEAR SEARCH
3 :elemen pertama
perbandingan dengan carian
Elemen pertama yang
digunakan untuk perbandingan
adalah elemen yang pertama
sekali.
11
LINEAR SEARCH
4 :KESUKARAN UNTUK
MENGIMPLEMENTASIKAN PADA
KOD ATURCARA
Linear search adalah algoritma
carian yang ringkas dan mudah
diimplementasikan pada bahasa
pengaturcaraan.
12
LINEAR SEARCH 13
5:KEBERKESANAN, KELAJUAN DAN
MASA PELAKSANAAN ALGORITMA
DALAM MEMBUAT CARIAN
Linear search melaksana carian
satu persatu dari awal sehingga
carian ditemui. Kaedah carian ini
tidak efektif dan kelajuan carian
adalah yang paling perlahan.
Masa yang lama digunakan jika
senarai mempunyai banyak
elemen atau item.
CONTOH
14
BINARY SEARCH
1 :Syarat SENARAI YANG
HENDAK DIGUNAKAN
Binary search ialah salah
satu algoritma carian yang
digunakan untuk mencari
indeks lokasi data dalam
senarai yang telah disusun
sahaja.
15
BINARY SEARCH
2:CARA ALGORITMA BERFUNGSI
- Membahagi senarai elemen-elemen
kepada dua dan membandingkan
elemen yang berada ditengah senarai
dengan nilai carian.
- Jika tidak sama dan nilai carian lebih
besar maka semua elemen disebelah
kiri akan diabaikan.
- Jika tidak sama dan nilai carian lebih
kecil maka semua elemen disebelah
kanan akan diabaikan.
- Pembahagian diteruskan sehinggalah
nilai carian yang hendak dicari ditemui.
16
BINARY SEARCH
3 :elemen pertama
perbandingan dengan carian
Elemen pertama yang
digunakan untuk perbandingan
adalah elemen yang berada
ditengah senarai.
17
BINARY SEARCH
4 :KESUKARAN UNTUK
MENGIMPLEMENTASIKAN PADA
KOD ATURCARA
Binary search adalah algoritma
carian yang lebih kompleks dan
lebih sukar diimplementasikan
pada bahasa pengaturcaraan
berbanding dengan Linear
Search.
18
BINARY SEARCH 19
5:KEBERKESANAN, KELAJUAN DAN
MASA PELAKSANAAN ALGORITMA
DALAM MEMBUAT CARIAN
Binary search tidak melaksana carian
satu persatu dari awal sehingga carian
ditemui tetapi dengan membahagikan
senarai dan membandingkan hanya
dengan elemen yang ditengah senarai.
Kaedah carian ini lebih efektif dan
kelajuan carian adalah lebih pantas.
Masa yang sedikit digunakan jika
senarai mempunyai banyak elemen
atau item.
BINARY SEARCH
Latihan: Diberikan satu senarai nombor seperti dibawah. Nombor yang dicari ialah 23.
2 5 8 12 16 23 38 56 72 91
2 5 8 12 16 23 38 56 72 91
2 5 8 12 16 23 38 56 72 91
2 5 8 12 16 23 38 56 72 91
20
Apa itu SORT?
Algoritma Tingkatan 3
Maksud Sort BOOM!
● SORT ialah proses menyusun item-item
dalam suatu senarai linear mengikut urutan
samada menaik atau menurun.
● SORT terbahagai kepada:
i) Bubble Sort
ii) Bucket Sort
CIRI-CIRI BUBBLE SORT
Fungsi Algoritma 03
01 Cara bubble sort Bilangan algoritma isihan
berfungsi yang digunakan
Kesukaran BUBBLE
SORT
02 Untuk
mengimplementasikan Keberkesanan & 04
pada kod aturcara
Kelajuan
Pelaksanaan algoritma
dalam membuat isihan
1. CARA BUBBLE SORT BERFUNGSI
01 02 03 04 05
Banding Banding Banding Ulang Terus
Elemen pertama Elemen kedua Elemen ketiga dengan Ulang proses Teruskan dengan
dengan elemen kedua dengan elemen ketiga beberapa kali ulangan
elemen keempat sehingga kepada dua
Jika E1 > E2 tukar Jika E2 > E3 tukar sehinggalah semua
kedudukan kedudukan elemen terakhir kedudukan nombor
tersusun dari kecil
Jika E3 > E4 tukar
hingga ke besar
kedudukan
Jika tidak kedudukan Jika tidak kedudukan Jika tidak kedudukan
tidak berubah
tidak berubah tidak berubah
2. Kesukaran untuk mengimplementasikan pada kod aturcara
(Bubble Sort)
Paling Ringkas
Mudah
3 Bilangan Algoritma isihan yang digunakan (Bubble Sort)
1 Satu
Hanya satu algoritma digunakan iaitu
algoritma Bubble Sort
4. Keberkesanan dan Kelajuan pelaksanaan dalam membuat isihan
(Bubble Sort)
Tidak Efektif
Perlahan
Kelajuan isihan adalah
perlahan
CIRI-CIRI BUCKET SORT
Fungsi Kelemahan 05
01 Cara Bucket sort Kelemahan Bucket Sort
berfungsi
BUCKET Keberkesanan & 04
Kesukaran SORT
Kelajuan
02 Untuk Algoritma
mengimplementasikan Pelaksanaan algoritma
pada kod aturcara 03 Bilangan algoritma yang dalam membuat isihan
digunakan
1. Cara Bucket Sort Berfungsi
01 02 03 04
Langkah 1 Langkah 2 Langkah 3 Langkah 4
Beberapa bucket Data-data dari Data – data dalam Data dari setiap
kosong akan senarai akan setiap bucket akan bucket akan
disediakan pada diasingkan mengikut disusun masing-masing dikumpulkan
permulaan algoritma bucket yang semula dalam
disediakan suatu senarai.
2. Kesukaran untuk mengimplementasikan pada kod aturcara
(Bucket Sort)
Lebih Kompleks
Lebih Sukar
3 Bilangan Algoritma isihan yang digunakan (Bucket Sort)
2 Dua
Menggunakan 2 algoritma iaitu
algoritma bucket sort dan bubble sort
4. Keberkesanan dan Kelajuan pelaksanaan dalam membuat isihan
(Bucket Sort)
Lebih Efektif
Lebih Pantas
5. Kelemahan Bucket Sort
Hanya Sesuai untuk nombor yang berada
dalam julat yang ditetapkan
LATIHAN
175, 183, 165, 164, 169, 159, 168, 160, 167, 160
Isih rekod ketinggian yang telah dicatat mengikut
tertib menaik menggunakan:
i.) Bubble Sort
ii.) Bucket Sort
STANDARD PEMBELAJARAN -28/07/2021
✗ 3.1.2
Menulis pseudokod dan melukis carta alir yang menunjukkan:
(i) Linear search
35
ALGORITMA
➢ Algoritma salah satu teknik penyelesaian masalah.
➢ Algoritma boleh diwakili dengan pembinaan pseudokod dan
carta alir.
➢ Pseudokod ialah perwakilan algoritma dalam bahasa yang
mudah difahami.
➢ Carta Alir adalah perwakilan algoritma dalam bentuk grafik.
36
37
Contoh 3.7
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].
38
Langkah 1 :Memahami proses linear search dengan membina
algoritma
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.(item carian = item pertama ; berhenti)
4. Jika nilai item carian tidak sama dengan nilai item pertama, ulang
Langkah 2 hingga Langkah 4 dengan item yang berikutnya dalam
senarai.(item carian /= item pertama; ulang)
5. Carian tamat apabila item carian diperoleh atau apabila semua item
telah disemak.
39
Langkah 2 :Menulis pseudokod dan melukis carta alir
Pemboleh ubah yang berkaitan perlu diketahui secara kasar terlebih dahulu.
Pemboleh ubah yang diperlukan adalah seperti berikut:
• Pemboleh ubah L, T dan i dan n masing-masing dari perkataan List, Target, Index dan
number.
• Huruf lain juga boleh digunakan untuk mewakili pemboleh ubah.
40
Pengenalan kepada list
Cth:
Umur = [17, 5, 10, 18, 13, 9]
Elemen 17 5 10 18 13 9
Indeks 0 1 2 3 4 5
Elemen ialah item yang berada di dalam list
Indeks ialah nombor rujukan yang menunjukkan lokasi elemen dalam senarai.
Elemen pertama dalam list diwakili indeks “0”
Elemen Terakhir adalah bersamaan dengan (bilangan elemen – 1)
cth : bilangan elemen = 6
Indeks elemen terakhir = 6-1 = 5
41
Soalan
1) warna = [“Merah”, “Oren”, “Cyan”, “Hijau”, “Biru”, “Ungu”, “Hitam”, “Koko”]
Daripada senarai warna di atas tentukan output :
a) print(warna[2]) b) print(warna[3]) c) print(warna[5])
2) markah = [60, 77, 23, 58, 96, 86, 45, 89]
Daripada senarai markah di atas tentukan output :
a) print(markah[7]) b) print(markah[0]) c) print(markah[3])
42
MENULIS PSEUDOKOD
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
43
STANDARD PEMBELAJARAN -02/08/2021
✗ 3.1.2
Menulis pseudokod dan melukis carta alir yang menunjukkan:
(i) Binary search
44
45
Contoh 3.8
Langkah-Langkah pembinaan pseudokod dan carta alir bagi binary search
untuk mencari satu abjad.
Carian suatu abjad dalam senarai A hingga Z
[A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z]
46
Langkah 1 :Memahami binary search dengan membina algoritma
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.(item carian = item pertengahan)
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.
47
Langkah 1 :Memahami binary search dengan membina algoritma
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
apabila carian selesai tanpa menjumpai item carian.
48
Langkah 2 :Menulis pseudokod dan melukis carta alir
Terdapat beberapa pemboleh ubah yang terlibat dalam Binary Search
• j ialah pemboleh ubah bagi indeks terakhir dalam senarai.
• j = n – 1 (n = bilangan item dalam senarai)
49
MENULIS PSEUDOKOD (BINARY SEARCH) 50
1 Mula
2 Setkan senarai L = [A,B,C,D ……Z]
3 Isytihar pemboleh ubah ________________________
4 Setkan n = ____
5 Setkan i = ____
6 Setkan j = ____
7 Masukkan nilai carian ______
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 Jika 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