ALGORITMA 5 Apr 18
ALGORITMA 5 Apr 18
ETYMOLOGY
The study of the origin of words and the way in which their meanings have changed
throughout history.
SEJARAH
ABDULLAH MUHAMMAD BIN MUSA AL-KHWARIZMI
Lahir pada 780 masihi
Meninggal pada 850 masihi
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".
https://www2.cs.duke.edu/courses/summer04/cps001/labs/plab2.html
https://www.tynker.com/blog/articles/ideas-and-tips/how-to-explain-algorithms-to-kids/
Apakah Algoritma Komputer?
https://study.com/academy/lesson/what-is-a-computer-algorithm-design-examples-optimization.html
Soalan:
Dalam kumpulan : Selesaikan masalah matematik ini dengan menulis algoritma yang sesuai.
Ini adalah
proses
penambahan 2
digit
Dalam kumpulan : selesaikan masalah matematik ini dengan menulis algotitma yang sesuai.
Dalam kumpulan : Selesaikan masalah matematik ini dengan menulis algoritma yang sesuai.
Ini adalah
proses
12 objek dalam 3 3 objek dalam 12
mendarabkan 2
kumpulan kumpulan
digit
X-0 = 4
X=4
* Cara penyelesaian masalah dalam mencari nilai x
3.0 ALGORITMA
3.1 Pembangunan
Algoritma
3.1.1 Mengenal pasti ciri-ciri search
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.
TIDAK
Nombor yang TIDAK
disemak dalam bekas
SAMA nombor yang
dipilih?
YA
PAPAR “Nombor yang
dipilih telah ditemui”
TAMAT
Tambahan:
https://code.tutsplus.com/tutorials/sorting-and-searching-in-python--cms-25668
3.1.1 Mengenal pasti ciri-ciri search
0 1 2 3 4 5 6 7 8 (Posisi)
[ 21, 25, 28, 33, 38, 39, 48, 49, 69 ]
data
Cari data: 28?
•Awal =0, akhir=8
Mid = (awal+ akhir) / 2 = 4 CUBAAN AWAL AKHIR MID
Data[4]=28? Tidak #1 0 8 4
Data[4]<28? (38<28) Tidak #2 0 3 1
Data[4]>28? (38>28) Ya, akhir=Mid - 1 = 3,awal =0 #3 2 3 2
•Awal =0, akhir=3
Mid = (awal+ akhir) / 2 = 1
Data[1]=28? Tidak Nota:
Data[1]<28? Ya, awal=posisi + 1 = 2,akhir =3 Nilai yang diuji > Nilai yang dicari = Mid - 1
Nilai yang diuji < Nilai yang dicari = Mid + 1
•Awal =2, akhir=3
Mid = (awal+ akhir) / 2 = Data[2]=28? Ya.
Data ditemukan
3.1.1 Menulis pseudokod dan melukis
carta alir yang menunjukkan:
(ii)binary search
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 Gunakan: formula (posisi awal + posisi akhir)/2
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”
7. TAMAT
MULA
PILIH nombor
Gunakan: formula
SUSUN nombor ikut urutan
(posisi awal +
posisi akhir)/2
Tentukan posisi awal, akhir dan mid
BINARY SEARCH
TIDAK Nombor
ditengah TIDAK
SAMA nombor
dipilih?
YA
3 1 2
3 1
2
Nombor dipilih
BINARY SEARCH
LEBIH BESAR
nombor
TIDAK
ditengah
YA
BUANG nombor
lebih kecil
TAMAT
Tambahan exercise dan contoh mudah:
https://www.w3resource.com/python-exercises/data-structures-and-algorithms/python-search-and-sorting-
exercise-1.php