โ† Semua Nota
๐Ÿ“ˆ

TINGKATAN 4 ยท BAB 1

Algoritma

Pseudokod, carta alir, linear search, binary search, bubble sort dan bucket sort.

Algoritma: Pseudokod, Carta Alir, Search & Sort

Apakah Algoritma?

Algoritma ialah satu set arahan tersusun secara logik dan sistematik untuk menyelesaikan masalah. Contoh dalam kehidupan harian: resepi memasak, manual memasang perabot, dan panduan menuju destinasi. Algoritma boleh dihalusi (refine) dengan menambah butiran sehingga setiap langkah cukup jelas untuk dilaksanakan.

Ciri Wajib Algoritma

CiriMaksud
Butiran jelasSetiap arahan tepat dan tidak kabur (tidak boleh ditafsir berbeza)
Boleh dilaksanakanSetiap langkah praktikal dan boleh dijalankan
Mempunyai batasanAda permulaan (Mula) dan pengakhiran (Tamat); selesai dalam bilangan langkah terhingga

Model Input โ€“ Proses โ€“ Output (IPO)

Aliran Input - Proses - Output
Aliran Input - Proses - Output

Setiap atur cara mengikut model IPO: menerima INPUT, melakukan PROSES (formula/logik), dan menghasilkan OUTPUT. Atur cara komputer ialah algoritma yang ditulis dalam bahasa pengaturcaraan.

InputProsesOutput
tahun_lahir, tahun_semasaumur = tahun_semasa - tahun_lahirPapar umur

Dua Perwakilan Algoritma: Pseudokod & Carta Alir

Pseudokod ialah perwakilan algoritma dalam ayat berstruktur (mudah ditukar kepada kod). Carta alir ialah perwakilan grafik menggunakan simbol piawai yang disambung dengan anak panah aliran.

teks
PSEUDOKOD: kira umur
1. Mula
2. Baca tahun_lahir, tahun_semasa
3. umur = tahun_semasa - tahun_lahir
4. Papar umur
5. Tamat

Simbol Piawai Carta Alir

Simbol Carta Alir
Simbol Carta Alir
SimbolNama nodFungsi
Bujur (oval)Terminal (Mula/Tamat)Menanda permulaan dan pengakhiran algoritma
Segi empat selariInput/OutputMembaca data atau memaparkan hasil
Segi empat tepatProsesPengiraan atau umpukan nilai (=)
RombusKeputusan/PilihanMembuat keputusan dengan dua cabang (Ya/Tidak)
Anak panahGaris/aliran aktivitiMenunjukkan arah aliran proses
Bulatan kecilPenghubungMenyambung carta alir yang terpisah
๐ŸŽฏ TIP SPM: Rombus MESTI ada dua cabang keluar berlabel YA dan TIDAK. Kesilapan biasa โ€” lupa label cabang, atau guna segi empat tepat (proses) untuk input/output.

Tiga Struktur Kawalan

StrukturFungsiContoh
Jujukan (urutan)Arahan dilaksana satu demi satu mengikut susunanBaca -> kira -> papar
PilihanPilih tindakan berdasarkan syarat (ungkapan logik)if-else, switch
PengulanganUlang arahan selagi syarat dipenuhifor, while, do-while

Contoh: Algoritma Kelayakan Mengundi

teks
PSEUDOKOD
1. Mula
2. Baca umur
3. Jika umur >= 18
4.    Papar "Layak mengundi"
5. Jika tidak
6.    Papar "Tidak layak mengundi"
7. Tamat

Menjejak Output Algoritma (1.2.5)

Soalan SPM kerap memberi segmen algoritma/kod dan meminta anda menentukan output yang betul. Jejak nilai setiap pemboleh ubah langkah demi langkah, dan ingat keutamaan operator: darab/bahagi sebelum tambah/tolak.

teks
x = 5
y = 3
z = x + y * 2     // y*2 = 6, kemudian 5+6
Papar z           // OUTPUT: 11

Algoritma Carian (Search)

Carian Linear vs Carian Dedua
Carian Linear vs Carian Dedua

Carian ialah proses mencari item dalam senarai. Dua algoritma dalam silibus: carian linear dan carian dedua (binary search).

CiriCarian LinearCarian Dedua
Cara berfungsiSemak satu per satu dari awal hingga jumpaBandingkan dengan item tengah; buang separuh senarai
Syarat senaraiTidak perlu diisihWAJIB diisih dahulu
Kelajuan (senarai besar)PerlahanPantas
1000 item (kes terburuk)1000 semakan~10 semakan

Contoh carian dedua pada [1, 3, 5, 7, 9, 11, 13] cari 11: item tengah = 7; 11 > 7 maka cari di kanan [9, 11, 13]; tengah = 11 โ€” ditemui dalam 2 langkah.

LangkahJulat dipertimbangItem tengahBandinganTindakan
1[1, 3, 5, 7, 9, 11, 13]711 > 7Cari bahagian KANAN
2[9, 11, 13]1111 = 11DITEMUI (2 langkah)

Algoritma Isihan (Sort)

Isihan Buih
Isihan Buih

Isihan menyusun item dalam tertib menaik atau menurun. Silibus: isihan buih (bubble sort) dan isihan baldi (bucket sort). Soalan trial kadang memaparkan isihan pilih (selection sort) untuk dibandingkan.

Isihan buih: bandingkan dua item bersebelahan; tukar jika tersusun salah. Setiap laluan 'mengapungkan' nilai terbesar (isihan menaik) ke hujung senarai โ€” seperti buih naik ke permukaan.

teks
Isihan buih menaik: [5, 2, 8, 1]
Laluan 1: (5,2)->tukar [2,5,8,1] | (5,8)->kekal | (8,1)->tukar [2,5,1,8]
Laluan 2: (2,5)->kekal | (5,1)->tukar [2,1,5,8]
Laluan 3: (2,1)->tukar [1,2,5,8]
Laluan 4: tiada pertukaran -> SELESAI: [1, 2, 5, 8]
Teknik isihanCaraPengecam dalam kod
Isihan buih (bubble)Banding & tukar pasangan bersebelahan setiap laluanMembanding senarai[j] dengan senarai[j+1]
Isihan pilih (selection)Cari nilai terkecil/terbesar, letak di kedudukan betulMenyimpan indeks min, banding senarai[j] dengan senarai[min]
Isihan baldi (bucket)Agih item ke baldi mengikut julat, isih setiap baldi, cantumBeberapa kumpulan/julat nilai
๐ŸŽฏ TIP SPM: Soalan Bahagian B kerap minta TUNJUKKAN setiap laluan isihan buih. Latih tulis kandungan senarai selepas setiap pertukaran. Untuk membezakan teknik dalam kod: 'bersebelahan j & j+1' = buih; 'cari min' = pilih.

Contoh: Laluan Penuh Isihan Buih [5, 2, 8, 1]

LaluanSenarai selepas laluan
Asal[5, 2, 8, 1]
Laluan 1[2, 5, 1, 8]
Laluan 2[2, 1, 5, 8]
Laluan 3[1, 2, 5, 8]
Laluan 4[1, 2, 5, 8] (tiada pertukaran - selesai)

Uji kefahaman anda ๐ŸŽฏ

Daftar percuma untuk jawab kuiz topik ini, tanya AI Tutor, dan kumpul XP.

Daftar Percuma