Jelajahi eBook
Kategori
Jelajahi Buku audio
Kategori
Jelajahi Majalah
Kategori
Jelajahi Dokumen
Kategori
Aktiviti 3.1
25 10 35 45 5 30 15 40 20
25 10 35 45 5 30 15 40 20
25 10 35 45 5 30 15 40 20
25 10 35 45 5 30 15 40 20
25 10 35 45 5 30 15 40 20
(b) Binary search
5 10 15 20 25 30 35 40 45
8+0
Item pertengahan = = 4 (Indeks keempat)
2
Indeks 0 1 2 3 4 5 6 7 8
5 10 15 20 25 30 35 40 45
Item pertengahan
Bandingkan 5 dengan item pertengahan (25). 5 lebih kecil daripada 25. Abaikan item
25 dan item-item selepasnya.
3+ 0
Item pertengahan = = 1.5 (Indeks pertama)
2
Indeks 0 1 2 3 4 5 6 7 8
5 10 15 20 25 30 35 40 45
Item pertengahan
Bandingkan 5 dengan item pertengahan (10). 5 lebih kecil daripada 10. Abaikan item
10 dan item-item selepasnya.
5 10 15 20 25 30 35 40 45
Item carian
3. (a) Linear search
25 10 35 45 5 30 15 40 20
25 10 35 45 5 30 15 40 20
25 10 35 45 5 30 15 40 20
25 10 35 45 5 30 15 40 20
25 10 35 45 5 30 15 40 20
25 10 35 45 5 30 15 40 20
25 10 35 45 5 30 15 40 20
(b) Binary search
5 10 15 20 25 30 35 40 45
8+0
Item pertengahan = = 4 (Indeks keempat)
2
Indeks 0 1 2 3 4 5 6 7 8
5 10 15 20 25 30 35 40 45
Item pertengahan
Bandingkan 40 dengan item pertengahan (25). 40 lebih besar daripada 25. Abaikan
item 25 dan item-item sebelumnya.
5+8
Titik pertengahan = = 6.5 (Indeks pertama)
2
Indeks 0 1 2 3 4 5 6 7 8
5 10 15 20 25 30 35 40 45
Item pertengahan
Bandingkan 40 dengan item pertengahan (35). 40 lebih besar daripada 35. Abaikan
item 25 dan item-item sebelumnya.
7+8
Item pertengahan = = 7.5 (Indeks pertama)
2
Indeks 0 1 2 3 4 5 6 7 8
5 10 15 20 25 30 35 40 45
Item carian
Bandingkan 40 dengan item pertengahan (40). 40 sama dengan 40. Item carian
dijumpai dan carian dihentikan.
Dalam soalan 2, bilangan langkah yang digunakan dalam linear search untuk mendapatkan
nombor 5 ialah lima langkah manakala binary search pula ialah 4 langkah.
Dalam soalan 3, bilangan langkah yang digunakan dalam linear search untuk mendapatkan
nombor 40 ialah 8 langkah makakala binary search pula ialah 4 langkah.
Aktiviti 3.2
Anda perlu membaca dan memahami subtopik 3.1.1 di halaman 69 – 71 untuk membantu
anda menjalankan aktiviti ini.
Aktiviti 3.3
Pseudokod:
1 Mula
2 Setkan senarai L = [1.3, 3.7, 4.8, 1.5, 2.5]
3 Isytihar pemboleh ubah i, n, T
4 Setkan n = 5
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 Keluar gelung
7.2 Jika tidak
7.2.1 Kira i = i + 1
7.2.2 Tamat jika
8 Jika i >= n
8.1 Papar “Item tiada dalam senarai”
8.2 Tamat jika
9 Tamat
Carta alir:
MULA
Setkan n = 5
Setkan i = 0
Ya Tidak
i < n? Li == T? i = i + 1
Tidak Ya
Papar “Item
ada dalam
senarai”
Ya Papar “Item
i >= n?
tiada dalam
senarai”
Tidak
TAMAT
Aktiviti 3.4
Pseudokod:
1 Mula
2 Setkan senarai L = [10, 20, 30, 40, 50, 60, 70]
3 Isytihar pemboleh ubah n, i, j, m, b
4 Setkan n = 7
5 Setkan i = 0
6 Setkan j = n – 1
7 Masukkan nilai carian b
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
9 Tamat
Carta alir:
MULA
Setkan n = 7
Setkan i = 0
Setkan j = n – 1
Tidak
i < j?
Ya
Setkan m = (i + j) / 2
Tidak Ya
b == Lm? b < Lm? j = m – 1
Ya Tidak
TAMAT
Aktiviti 3.5
Anda perlu membaca dan memahami subtopik 3.1.2 di halaman 73 – 80 untuk membantu
anda menjalankan aktiviti ini.
Aktiviti 3.6
Pseudokod:
Mula
Setkan senarai = [ ]
Isytihar pemboleh ubah i, j, k, temp
Setkan k = bilangan item dalam senarai
Setkan i = 0
for i < n – 1
Setkan j = 0
for j = 0 hingga (n – i – 1)
Jika Lj > Lj + 1
temp = Lj
Lj = Lj + 1
Lj + 1 = temp
Kira j = j + 1
Kira i = i + 1
Tamat
Carta alir:
MULA
Setkan senarai = [ ]
Tidak
i < n – 1?
Ya
Setkan j = 0
Tidak
j < n – i – 1? i = i + 1
Ya
Tidak
Lj > Lj + 1
Ya
Ya
temp = Lj
Lj = Lj + 1
Lj + 1 =Yatemp
j = j + 1
Papar senarai
TAMAT
Aktiviti 3.7
Pseudokod:
1 Mula
2 Setkan senarai L = [2, 9, 4, 6, 7, 1, 10, 5, 3, 8]
3 Setkan senaraiBaharu[ ]
4 Isytihar pemboleh ubah i, j, n, nB
5 Setkan n = 10
6 Setkan nB = bilangaan baldi
7 Wujudkan baldi kosong
8 Masukkan item ke dalam baldi
9 Setkan i = 0
9.1 for i < n
9.1.1 Masukkan senarai[i] ke dalam baldi[j]
9.1.2 Kira i = i + 1
10 Setkan j = 0
10.1 for j < nB
10.1.1 Jika baldi[j] tidak kosong
10.1.1.1 Isih item
10.2 Tamat jika
10.3 Kira j = j + 1
11 Cantum dan masukkan item-item ke dalam senaraiBaharu[ ]
12 Paparkan senaraiBaharu[ ]
13 Tamat
Carta alir:
MULA
Setkan senaraiBaharu[ ]
Setkan n = 10
Setkan nB = bilangan baldi
Setkan i = 0
Ya Masukkan senaria[i]
i < n?
ke dalam baldi[j]
Tidak
Setkan j = 0 i = i + 1
Ya Baldi[j] Ya
j < nB?
kosong?
Tidak Tidak
Papar senaraiBaharu[ ]
TAMAT
Aktiviti 3.8
1 Mula
2 Setkan senarai L = [1, 6, 10, 18, 20, 40, 58, 67, 74, 87, 99]
3 Isyihar pemboleh ubah indeksAwal, indeksAkhir, nilaiTengah, nilaiCari
4 Setkan indeksAwal = 0
5 Setkan indeksAkhir = 10
6 Masukkan satu nilaiCari
7 while indeksAwal <= indeksAkhir
7.1 indeksTengah = (indeksAwal + indeksAkhir)/2
7.2 Jika nilaiTengah = nilaiCari
7.2.1 Papar nilaiCari
7.3 Jika nilaiTengah < nilaiCari
7.3.1 indeksAwal = indeksTengah + 1
7.4 Jika nilaiTengah > nilaiCari
7.4.1 indeksAkhir = indeksTengah – 1
7.5 Tamat jika
8 Tamat
Carta alir:
MULA
Setkan indeksAwal = 0
Setkan indeksAkhir = 10
Ya
Setkan indeksTengah =
(indeksAwal + indeksAkhir)/2
Ya Tidak
TAMAT
Aktiviti 3.9
Ralat: Nurul tidak mengarahkan sistem untuk memaparkan senaraiBaharu[ ] yang telah diisih.
MULA
Setkan senaraiBaharu[ ]
Setkan i = 0
Ya Masukkan senarai[i]
i < n?
ke dalam baldi[j]
Tidak i = i + 1
Setkan j = 0
Ya Baldi[j] Ya
j < nB?
kosong?
Tidak Tidak
Papar j = j + 1
senaraiBaharu[ ]
TAMAT
Ralat yang
telah dibaiki
Aktiviti 3.10
Teknik bubble sort sesuai digunakan untuk mengisih senarai yang diberi kerana bilangan item
dalam senarai yang sedikit. Untuk mencari nombor 13, teknik linear search sesuai digunakan
kerana bilangan item dalam senarai yang sedikit.
Aktiviti 3.11
Anda perlu membaca dan memahami subtopik 3.1.7 dan Contoh 3.15 di halaman 104 – 105
untuk membantu anda menjalankan aktiviti ini.
Aktiviti 3.12
Anda perlu membaca dan memahami subtopik 3.1.7 dan Contoh 3.16 di halaman 105 untuk
membantu anda menjalankan aktiviti ini.