2. ETYMOLOGY
The study of the origin of words and the way in which their meanings have
changed throughout history.
3. SEJARAH
Perkataan Algoritma (Algorithm) mempunyai sejarah yang panjang dan perkataan ini dapat
dikesan penggunaannya pada abad ke-9.
Sempena nama Ahli sains, astronomi dan matematik Abdullah Muhammad bin Musa al-
Khwarizmi.
Pada abad ke-12 salah satu bukunya diterjemahkan ke dalam bahasa Latin,
Hisab al-Jabr wa-al-Muqabala di mana namanya diberikan dalam bahasa Latin sebagai
"Algorithmi“ dan di kenali sebagai"Bapa Algebra".
Algebra diperkenalkan untuk menyelesaikan masalah kehidupan pada masa itu.
ABDULLAH MUHAMMAD BIN MUSA AL-KHWARIZMI
Lahir pada 780 masihi
Meninggal pada 850 masihi
4. APAKAH ITU ALGORITMA?
Satu tatacara langkah demi langkah untuk menyelesaikan suatu masalah.
set arahan langkah demi langkah yang terperinci atau
formula untuk menyelesaikan masalah atau menyiapkan tugas.
Contoh: Resipi untuk membuat makanan Proses melipat baju
7. Soalan:
Dalam kumpulan : Selesaikan masalah matematik ini dengan menulis algoritma yang sesuai.
Bentangkan algoritma anda.
8. CONTOH PENAMBAHAN 2 DIGIT
Ini adalah
proses
penambahan 2
digit
Apa yang berlaku ialah digit
13 di tambah dengan nilai 1
sebanyak 7 kali
* Cara penyelesaian masalah dalam mencari hasil tambah 2 digit
9. Soalan:
Dalam kumpulan : selesaikan masalah matematik ini dengan menulis algotitma yang sesuai.
Bentangkan algoritma anda.
Mula
tuliskankan nombor 13
Tambahkan nilai 1 sebanyak tujuh kali
Nilai 20 dituliskan
Tamat
Mula
Tuliskankan nombor 13
Tambah 1
Tambah 1
Tambah 1
Tambah 1
Tambah 1
Tambah 1
Tambah 1
Nilai 20 dituliskan
Tamat
10. Soalan:
Dalam kumpulan : Selesaikan masalah matematik ini dengan menulis algoritma yang sesuai.
Bentangkan algoritma anda.
11. CONTOH PENDARABAN 2 DIGIT
* Cara penyelesaian masalah dalam mencari hasil darab 2 digit
Ini adalah
proses
mendarabkan 2
digit
12 di tambah
sebanyak 3 kali
3 di tambah
sebanyak 12 kali
13. X + 2 = 6
Nilai +2 perlu
dimansuhkan
Dengan cara
+2-2=0
Disebabkan
persamaan
disebelah kiri
ditolak dengan
nilai 2, maka
persamaan
disebelah
kanan juga
akan ditolak
dengan nilai 2
CONTOH PERSAMAAN ALGEBRA
* Cara penyelesaian masalah dalam mencari nilai x
X -0 = 4
X = 4
X + 2 - 2 = 6 - 2
Pembentangan
algoritma?
15. 3.1.1 Mengenal pasti ciri-ciri search
• Pencarian data bertujuan untuk mencari
dan mendapatkan data yang terdapat
dalam sekelompok data.
16. Secara berpasangan:
Seorang daripada pasangan
(i) Pilih satu nombor di antara 1-10
(ii) Pilih satu nombor di antara 1-100
(iii) Pilih satu nombor di antara 1-1000
Seorang daripada pasangan meneka nombor yang dipilih.
Catatkan masa yang diambil untuk meneka nombor.
Catatkan jumlah tekaan nombor anda.
Tukar pasangan dan lakukan perkara yang sama.
Mari Lakukan Aktiviti Bersama
17. (i) LINEAR SEARCH
• Teknik pencarian data dalam sekumpulan data
yang paling mudah.
• Pencarian data dilakukan satu per satu sehingga
data yang dicari berjaya ditemui
• Jika data ditemukan, maka proses pencarian
selesai.
• Kelebihan : Jika data yang dicari terletak di awal
maka waktu pencarian datanya sangat cepat.
• Kelemahan : Jika data yang dicari paling belakang,
maka waktu pencarian datanya sangat lama.
• Sesuai digunakan untuk mencari data
dalam jumlah yang kecil.
19. CONTOH PSEUDOKOD LINEAR SEARCH
1. MULA
2. MASUKKAN 6 nombor dalam bekas
3. Dapatkan input nombor dari pengguna
4. SELAGI nombor yang disemak BUKAN nombor yang dipilih pengguna
4.1 SEMAK nombor dalam bekas dengan nombor yang dipilih
4.2 JIKA nombor yang disemak SAMA DENGAN nombor yang dipilih
PAPAR “Nombor yang dipilih telah ditemui”
TAMAT SELAGI
JIKA TIDAK
ULANG SELAGI
TAMAT SELAGI
5. TAMAT
20. CONTOH PSEUDOKOD LINEAR SEARCH
1. MULA
2. MASUKKAN 6 nombor dalam bekas
3. PILIH nombor
4. SELAGI masih ada nombor dalam bekas belum disemak
4.1 SEMAK nombor yang dipilih DENGAN nombor dalam bekas
4.2 JIKA nombor yang dipilih SAMA DENGAN nombor dalam bekas
PAPAR “Nombor yang dipilih telah ditemui”
TAMAT SELAGI
JIKA TIDAK
ULANG SELAGI
TAMAT SELAGI
5. TAMAT
21. CONTOH
CARTA
ALIR
LINEAR
SEARCH
MULA
MASUKKAN 6 nombor dalam bekas
Masih ada
nombor
dalam
bekas?
SEMAK nombor yang dipilih
DENGAN nombor dalam
bekas
Nombor yang
disemak dalam bekas
SAMA nombor yang
dipilih?
PAPAR “Nombor yang
dipilih telah ditemui”
TAMAT
YA
YA
TIDAK
TIDAK
PILIH nombor
23. 3.1.1 Mengenal pasti ciri-ciri search
• Pencarian data bertujuan untuk mencari
dan mendapatkan data yang terdapat
dalam sekelompok atau sekumpulan data.
(ii) binary search
24. BINARY SEARCH
• Sesuai digunakan untuk mencari data dalam kumpulan yang
besar.
• Kumpulan data perlu disusun secara menaik atau menurun.
• Cari kedudukan data tengah dengan cara:
(posisi awal + posisi akhir)/2
• Bandingkan data yang dicari dengan data yang di tengah,
apakah sama atau lebih kecil, atau lebih besar?
• Jika data dicari lebih besar, maka proses pencarian diteruskan
dengan posisi awal adalah posisi tengah + 1.
• Jika data dicari lebih kecil, maka proses pencarian diteruskan
dengan posisi akhir adalah posisi tengah – 1.
• Ulang proses pencarian hingga selesai. Jika data sama, data
telah ditemui. Jika tidak, data tidak ditemui.
Tujuan :
menjimatkan masa
kerana akan dapat
tahu dengan cepat
nombor yang
berada dalam
posisi awal atau
posisi akhir
25. Contoh :
0 1 2 3 4 5 6 7 8 (Posisi)
[ 21, 25, 28, 33, 38, 39, 48, 49, 69 ]
Cari data: 28?
1.Awal =0, akhir=8
Mid = (awal+ akhir) / 2 = 4
Data[4]=28? Tidak
Data[4]<28? (38<28) Tidak
Data[4]>28? (38>28) Ya, akhir=Mid - 1 = 3,awal =0
2.Awal =0, akhir=3
Mid = (awal+ akhir) / 2 = 1
Data[1]=28? Tidak
Data[1]<28? Ya, awal=posisi + 1 = 2,akhir =3
3.Awal =2, akhir=3
Mid = (awal+ akhir) / 2 = Data[2]=28? Ya.
Data ditemukan
data
CUBAAN AWAL AKHIR MID
#1 0 8 4
#2 0 3 1
#3 2 3 2
Nota:
Nilai yang diuji > Nilai yang dicari = Mid - 1
Nilai yang diuji < Nilai yang dicari = Mid + 1
27. CONTOH PSEUDOKOD BINARY SEARCH
1. MULA
2. MASUKKAN 6 nombor dalam bekas
3. PILIH nombor dalam bekas
4. SUSUN nombor ikut urutan
5. Tentukan posisi awal, akhir dan mid
5. SELAGI nombor dipilih TIDAK SAMA dengan nombor ditengah
4.1 BANDING nombor dipilih DENGAN nombor ditengah
4.2 JIKA nombor dipilih LEBIH BESAR nombor ditengah
BUANG nombor lebih kecil
ULANG SELAGI
JIKA TIDAK
BUANG nombor lebih besar
ULANG SELAGI
TAMAT SELAGI
6. PAPAR “Nombor dipilih telah ditemui”
Gunakan: formula (posisi awal + posisi akhir)/2
28. CONTOH
CARTA
ALIR
BINARY
SEARCH
YA
TIDAK
MULA
MASUKKAN 6 nombor dalam bekas
Nombor
ditengah TIDAK
SAMA nombor
dipilih?
BANDING nombor dipilih
DENGAN nombor ditengah
SUSUN nombor ikut urutan
1
3 2
Gunakan: formula
(posisi awal +
posisi akhir)/2
PILIH nombor
Tentukan posisi awal, akhir dan mid
30. Tambahan exercise dan contoh mudah:
https://www.w3resource.com/python-exercises/data-structures-and-algorithms/python-search-and-
sorting-exercise-1.php