PENGAJARAN 6A
SUMBER TAMBAHAN
1. Dokumentasi rasmi gelung for
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/for.html
2. Dokumentasi rasmi tatasusunan
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html
RANCANGAN PENGAJARAN 6A
MASA CADANGAN AKTIVITI BBM PEMETAAN
10 Minit Set Induksi PPK
PPK
ALG
AUT
KA21
KS
Baris Penjelasan
Cara Kedua
Rajah 6.3
Baris Penjelasan
Baris Penjelasan
Rajah 6.5
System.out. 3
println(values[0]);
System.out. 15
println(values[4]);
220
println(values[5]); Output indeks sudah terkeluar daripada
batas data (out-of-bound error).
System.out. 5
println(values.length);
13. Guru menunjukkan Rajah 6.6 kepada murid dan murid perlu
mendapatkan input dari pengguna untuk mengisi sesuatu
221
222
Isytiharkan tatasusunan
values[] = {3, 6, 9, 12, 15}
Pengawalan
(Initialization)
i=0
Palsu SITUASI
(CONDITION)
Aturcara yang lain
i < = values.length
Benar
Papar values[i]
Increment
223
i++
Rajah 6.9
Rajah 6.10
RANCANGAN PENGAJARAN 6A
MASA CADANGAN AKTIVITI BBM PEMETAAN
Baris Penjelasan
5 Minit Penutup:
Input Struktur Kawalan Pilihan Struktur Kawalan Ulangan Output
Murid merancang algoritma dengan carta alir sebelum menuliskan atur cara.
1. Gunakan soalan berikut untuk membantu anda merancang algoritma anda. Setelah anda jawab soalan
berikut, anda boleh mula merancang algoritma anda dan menulis atur cara anda. Anda dibenarkan tukar
jawapan anda setelah anda habis merancang algoritma atau menulis atur cara
a. Apakah pernyataan atur cara yang boleh meminta pengguna untuk memasukkan satu nombor?
____________________________________________________________________________________________
b. Apakah pernyataan atur cara yang boleh mengisytiharkan satu tatasusunan dengan saiz X?
____________________________________________________________________________________________
c. Apakah gelung yang sesuai untuk mendapatkan nilai semua nombor daripada pengguna?
____________________________________________________________________________________________
d. Dalam gelung yang anda nyatakan dalam C, apakah pernyataan yang patut diletakkan dalam gelung
untuk mendapatkan nombor dari pengguna dan menyimpankannya dalam tatasusunan?
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
e. Apakah gelung yang sesuai untuk memaparkan nilai semua nombor satu demi satu daripada
pengguna? Mengapa?
____________________________________________________________________________________________
227
f. Dalam gelung yang anda nyatakan dalam E, apakah pernyataan yang patut diletakkan dalam gelung
untuk mendapatkan nombor dari tatasusunan dan memaparkannya?
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
Komen guru:
Tarikh:
SKEMA JAWAPAN
LAMPIRAN 6A-1
Murid dikehendaki mengesan perubahan pemboleh ubah dan menentukan nilai
yang akan dipaparkan.
Input Struktur Kawalan Pilihan Struktur Kawalan Ulangan Output
i++
i++
i++
230
i < values.length values[3]
i++
i++
SKEMA JAWAPAN
LEMBARAN KERJA 6A-1
Murid merancang algoritma dengan carta alir sebelum menuliskan atur cara.
1. Gunakan soalan berikut untuk membantu anda merancang algoritma anda. Setelah anda jawab soalan
berikut, anda boleh mula merancang algoritma anda dan menulis atur cara anda. Anda dibenarkan tukar
jawapan anda setelah anda habis merancang algoritma atau menulis atur cara
a. Apakah pernyataan atur cara yang boleh meminta pengguna untuk memasukkan satu nombor?
nextInt() daripada kelas Scanner
b. Apakah pernyataan atur cara yang boleh mengisytiharkan satu tatasusunan dengan saiz X?
int[] numberList = new int[X]
c. Apakah gelung yang sesuai untuk mendapatkan nilai semua nombor daripada pengguna?
Gelung ulangan while / for
d. Dalam gelung yang anda nyatakan dalam C, apakah pernyataan yang patut diletakkan dalam gelung
untuk mendapatkan nombor dari pengguna dan menyimpankannya dalam tatasusunan?
System.out.println(“Next number”);
Int number = in.nextInt();
231
numberList[i] = number
e. Apakah gelung yang sesuai untuk memaparkan nilai semua nombor satu demi satu daripada
pengguna?Mengapa?
Gelung ulangan for kerana gelung for boleh mengitarkan nombor indeks yang berkaitan dengan
nilai semua nombor
f. Dalam gelung yang anda nyatakan dalam E, apakah pernyataan yang patut diletakkan dalam gelung
g. Berapa bilangan pemboleh ubah dan juga jenisnya yang perlu digunakan dalam atur cara ini?
X untuk menyimpan saiz tatasusunan (int)
number untuk menyimpan nilai yang dimasukkan (int)
i untuk mengesan indeks (int)
numberList[] untuk menyimpan senarai nombor (tatasusunan)
SKEMA JAWAPAN
LEMBARAN KERJA 6A-1
Carta Alir
Mula
Isytiharkan nilai i ke 0
Adakah nilai i
Ya
kurang
daripada x?
Minta 1 nombor, y
daripada murid
Nilai i ditetapkan ke 0
i++
Tidak
Tamat
SKEMA JAWAPAN
LEMBARAN KERJA 6A-1
Atur Cara
class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
System.out.println("How many numbers do you have?");
int x = in.nextInt();
int i = 0;
int[] numberList = new int[x];
//Mendapatkan input daripada murid dan menyimpan dalam tatasusunan numberList pada
indeks i
while(i < x){
System.out.println("What is the number?");
numberList[i] = in.nextInt();
i++;
}
}
System.out.println(numberList[i]);
233
}
}!
Penerapan Pemikiran
SUMBER TAMBAHAN
1. Penerangan top-down development:
http://math.hws.edu/eck/cs124/javanotes3/c1/s5.html
2. Dokumentasi untuk penulisan subaturcara baru:
https://docs.oracle.com/javase/tutorial/java/javaOO/methods.html
RANCANGAN PENGAJARAN 6B
MASA CADANGAN AKTIVITI BBM PEMETAAN
5 Set Induksi PPK
Minit PD
Persamaan Perbezaan
Isipadu = a 3
Isipadu = π r2 h
Isipadu = lwh
237
4
Isipadu = π r2 h
3
1
Isipadu = (luas Base) h
3
RANCANGAN PENGAJARAN 6B
MASA CADANGAN AKTIVITI BBM PEMETAAN
55 Minit Aktiviti 1 – Pengaturcaraan Bermodul Standard
Pembelajaran
Function()
sayHello()
RANCANGAN PENGAJARAN 6B
MASA CADANGAN AKTIVITI BBM PEMETAAN
55 9. Untuk function yang memulangkan nilai dan memerlukan
Minit penghantaran parameter ke function, kita menyimpankan
x = function(parameter1, parameter2)
X = pow (a)
239
Rajah 6.1
Baris Penjelasan
Baris Penjelasan
SAPS
Paparan
Pautan-pautan
Rekod buku
Paparan Soalan dan
Jawapan
Urusan buku
Paparan Menu
Maklumat murid
245
menu
Rajah 6.3
Kemaskini Kemaskini
Semak status Kemaskini status
Tambahkan Semak
kewujudan peminjaman status buku peminjaman
buku kewujudan Kemaskini
buku dan dan
buku status
pemulangan pemulangan
buku
murid murid
Semak
kewujudan Lupuskan
Semak
buku buku
kewujudan
Kemaskini status
murid
peminjaman dan
pemulangan murid
Rajah 6.4
RANCANGAN PENGAJARAN 6B
MASA CADANGAN AKTIVITI BBM PEMETAAN
5. Guru menjelaskan subatur cara yang diperlukan dalam
sistem dalam Rajah 6.2.
Maklumat Merupakan
buku procedure yang
mengandungi 2 function
iaitu Semak kewujudan
murid dan Kemaskini
status peminjaman dan
pemulangan murid.
RANCANGAN PENGAJARAN 6B
MASA CADANGAN AKTIVITI BBM PEMETAAN
6. Contoh adalah sebahagian daripada algoritma program
Pusat Sumber Sekolah kita.
Pilihan
Pilihan Pengguna
Pengguna
1
rekodBuku()
1
pinjamBuku()
Tamat 2
urusanBuku() 2
pulangBuku()
3
maklumatStudent()
return()
Rajah 6.5
249
Rajah 6.6
5 Minit Penutup:
250
Kemaskini Kemaskini
Semak status status
251
kewujudan peminjaman peminjaman
Kemaskini
buku dan dan
status
pemulangan pemulangan
buku
murid murid
Tambahkan
buku
Lupuskan
buku
Standard
Pembelajaran:
1.6.2, 1.6.3
Murid perlu membuat rancangan carta alir sebelum menuliskan atur cara.
Carta Alir
252
Komen guru:
Tarikh:
Standard
Pembelajaran:
1.6.2, 1.6.3
Carta Alir
result = sumOfSquare(x,y)
Tamat
Standard
Pembelajaran:
1.6.2, 1.6.3
Komen guru:
Tarikh:
Standard
Pembelajaran:
1.1.2, 1.3.6,
1.6.2, 1.6.3
Persamaan Perbezaan
Isipadu = a 3
Isipadu = π r2 h
Isipadu = lwh
Isipadu = 4 π r2 h
256
3
1
Isipadu = π r2 h
3
Hasilkan sebuah kalkulator isipadu yang boleh mengirakan isipadu untuk 2 bongkah geometri. Kalkulator akan
tamat apabila pengguna memasuki -1 untuk pilihan operasi.
Atur cara anda mestilah ditulis secara bermodular. Gunakan soalan yang diberikan untuk membantu anda
merancang algoritma.
Standard
Pembelajaran:
1.1.2, 1.3.6,
1.6.2, 1.6.3
Standard Prestasi:
1.1-3, 1.3-3,
1) Berikut adalah contoh pemecahan masalah untuk pembinaan sistem pusat sumber sekolah. Dengan
merujuk kepada contoh di bawah, pecahkan masalah pembinaan kalkulator ke bahagian kecil.
Perlupusan Kemaskini
Tambah Pinjaman buku Pemulangan
Semak status
buku buku buku
kewujudan peminjaman
murid dan
pemulangan
murid
257
Standard Prestasi:
1.1-3, 1.3-3,
1.3-4, 1.6-3
LEMBARAN KERJA 6B-3
2) Dalam ruang berikut, lakarkan ataupun catatkan function yang mungkin anda perlukan dalam
atur cara anda.
Pilihan
Pilihan Pengguna
Pengguna
Tamat 1
1
pinjamBuku()
rekodBuku()
2
2 pulangBuku()
urusanBuku()
3
maklumatStudent()
return()
259
1.6.2, 1.6.3
1.1.2, 1.3.6,
Pembelajaran:
6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF SAINS KOMPUTER • TINGKATAN 4
260
Standard
Pembelajaran:
1.1.2, 1.3.6,
1.6.2, 1.6.3
Komen guru:
Tarikh:
SKEMA JAWAPAN
LEMBARAN KERJA 6B-1
Murid perlu membuat rancangan carta alir sebelum menuliskan atur cara.
1. Atur cara untuk sebuah kalkulator. Pastikan setiap case pilihan hanya mengandungi function.
Carta Alir
Mula
tambah(x,y) tolak(x,y)
darab(x,y) kuasa(x,y)
2
Jawapan = tolak(x,y)
Return Jawapan Return Jawapan
3
Jawapan = darab(x,y)
4 Jawapan = kuasa(x,y)
Paparkan
Jawapan
Tamat
SKEMA JAWAPAN
LEMBARAN KERJA 6B-1
Atur Cara
import java.util.Scanner;
263
break;
case 4:
answer = power(x,y);
break;
}
System.out.println("The answer is "+answer);
}
public static int add(int x, int y)
{
int answer = x+y;
Carta Alir
264
result
sumOfSquare(x,y)
Minta 1 nilai daripada
pengguna, y Mengisytiharkan satu pemboleh
ubah baru result
result = sumOfSquare(x,y)
result = (x* x) + (y *y)
Tamat
SKEMA JAWAPAN
LEMBARAN KERJA 6B-2
Atur Cara
import java.util.Scanner;
Isipadu = a 3
Isipadu = π r2 h
Isipadu = lwh
Isipadu = 4/3 π r2 h
266
Hasilkan sebuah kalkulator isipadu yang boleh mengirakan isipadu untuk 2 bongkah geometri. Kalkulator akan
tamat apabila pengguna memasuki -1 untuk pilihan operasi.
Atur cara anda mestilah ditulis secara bermodular. Gunakan soalan yang diberikan untuk membantu anda
merancang algoritma.
SKEMA JAWAPAN
LEMBARAN KERJA 6B-3
1) Berikut adalah contoh pemecahan masalah untuk pembinaan sistem pusat sumber sekolah. Dengan
merujuk kepada contoh di bawah, pecahkan masalah pembinaan kalkulator ke bahagian kecil.
Perlupusan Kemaskini
Tambah Pinjaman buku Pemulangan
Semak status
buku buku buku
kewujudan peminjaman
murid dan
pemulangan
murid
267
268
269
displayMenu() sphereVolume()
Mula
Pilihan return
pow(r,3)
Pengguna
1
Paparkan pow(r,2) pow(x, y)
sphereVolume
jawapan
Return answer
SKEMA JAWAPAN
LEMBARAN KERJA 6B-3
4) Hasilkan atur cara anda di ruangan yang disediakan.
import java.util.Scanner;
import java.lang.Math;
270
}
}while(choice!=-1);
}
//Display menu
public static void displayMenu(){
System.out.println("What do you want to do today?");
System.out.println("1 - Volume of a sphere");
STANDARD PEMBELAJARAN:
Murid boleh:
1.1.2 Menjelaskan ciri penyelesaian masalah berkesan
1.3.6 Menulis atur cara untuk memasukkan input dari papan kekunci
dan memaparkan output
1.6.2 Menggunakan subatur cara dan memahami konsep menghantar
parameter ke subatur cara dan mengembalikan data
1.6.3 Membezakan antara function dan procedure pada subatur cara
Persamaan Perbezaan
Persamaan Perbezaan
276
averageOfAll(int[] value) Subatur cara function yang menerima
parameter tatasusunan integer dan
memulangkan nilai purata semua integer
dalam tatasusunan tersebut.
Persamaan Perbezaan
17. Guru menunjuk carta alir untuk subatur cara timesTwo dan
timesEight dan menerangkan kepentingan modul iaitu
subatur cara boleh diguna semula dengan subatur cara lain.
Guru menjelaskan modul atur cara akan menyenangkan
kerja menghasilkan sebuah subatur cara.
Dalam contoh ini, atur cara timesEight cuma mengulang
subatur cara timesTwo sebanyak 3 kali.
timesTwo
277
int[] values
tidak ya
Adakah nilai i
Return kurang daripada doubleValue[i] = values[i]*2
doubleValue saiz values?
i++
Rajah 6.2
RANCANGAN PENGAJARAN 6C
MASA CADANGAN AKTIVITI BBM PEMETAAN
timesEight()
Count = 0
doubleValue(eightValue)
Count++
Rajah 6.3
max() 278
int[] values
Isytiharkan nilai i ke 0
Adakah nilai i
kurang daripada
saiz values? ya
Adakah nilai
values[i] >=
max? ya
tidak
values[i] = max
tidak
i++
return max
Rajah 6.4
RANCANGAN PENGAJARAN 6C
MASA CADANGAN AKTIVITI BBM PEMETAAN
19. Guru menerangkan bahawa seorang pengatur cara perlu
bekerjasama antara satu sama lain untuk melengkapkan
280
Anda adalah seorang pengatur cara untuk sebuah syarikat komputer. Syarikat anda dikehendaki untuk
menghasilkan satu atur cara yang boleh mengubah dan menganalisis tatasusunan nombor.
Lengkap atau
Kod Persamaan Fungsi / Penjelasan Agihan tugas
tidak?
282
dan genap dalam tatasusunan tersebut.
Anda dikehendaki bekerja dalam kumpulan pakar masing-masing untuk melengkapkan tugasan yang
diberikan. Setelah subatur cara anda telah lengkap, anda diminta untuk menggabungkan subatur cara dengan
ahli kumpulan yang berlainan untuk membentuk aplikasi lengkap.
291
Komen guru:
Tarikh:
SKEMA JAWAPAN
LEMBARAN KERJA 6C-1
Anda adalah seorang pengatur cara untuk sebuah syarikat komputer. Syarikat anda dikehendaki untuk
menghasilkan satu atur cara yang boleh mengubah dan menganalisis tatasusunan nombor.
Rangka untuk atur cara tersebut telah disediakan di laman sesawang: https://repl.it/CJip
Tugas anda adalah menyediakan subatur cara yang telah ditentukan:
Lengkap atau
Kod Persamaan Fungsi / Penjelasan Agihan tugas
tidak?
293
dan genap dalam tatasusunan tersebut.
Anda dikehendaki bekerja dalam kumpulan pakar masing-masing untuk melengkapkan tugasan yang
diberikan. Setelah subatur cara anda telah lengkap, anda diminta untuk menggabungkan subatur cara dengan
ahli kumpulan yang berlainan untuk membentuk aplikasi lengkap.
Isytiharkan nilai i ke 0
Adakah nilai i
kurang daripada
saiz values? ya
Adakah nilai i
kurang daripada
saiz values? ya
Adakah nilai
values[i[ <= nilai
Adakah
ya
min?values[i[
min?
<=
ya
tidak tidak
i++
294
Return min
Return min
Atur cara E02
//This function returns the minimum value in an array
public static int min(int[] value){
int min = 100000000;
smallest =min(values)
Isytiharkan pemboleh ubah
dengan nama biggest
Isytiharkan pemboleh ubah
dengan nama biggest
biggest=max(values)
biggest=max(values)
295
Return Gap
Atur cara E03
//This function returns the gap value (max - min) in an array
! gap(int[] value){
public static int
int min = min(value);
Isytiharkan nilai i ke 0
Isytiharkan nilai i ke 0
Adakah nilai i
Adakah nilai i
kurang daripada
kurangsaiz values?
daripada ya
saiz values? ya
tidak
Sum = sum + values[i]
i++
tidak
296
Return sum
Atur cara F01
totalValues=sumOfAll(values)
Set nilai size sama dengan
saiz tatasusunan values
Set nilai size sama dengan
saiz tatasusunan values
Average = sum/size
Average = sum/size
Return average
297
Return average
Atur cara F02
Isytiharkan nilai i ke 0
Adakah nilai i
kurang daripada
saiz values? ya
Adakah nilai i
kurang daripada
saiz values? ya
addOne[i] = values[i]+1
addOne[i] = values[i]+1
tidak
tidak
i++
298
Return addOne
//This function returns a new array where each of the number in the array has
been added one
public static int[] addOne(int[] value){
Count = 0
Carta alir G02
addFive(values)
**Hantarkan
tidak addFive kepada
addedFive=addOne(addedFive)
Count++
Count++
Return addedFive
Return addedFive
299
Atur cara G02
//This function returns a new array where each of the number in the array has
been added five
Adakah nilai
values[i]%2
sama dengan ya
Adakah nilai i
kurang daripada 1?
tidak saiz values? ya
Odd++
tidak
Adakah nilai
values[i]%2
sama dengan ya
1?
tidak
i++ Odd++
tidak
i++
Return odd
Return odd
300
Atur cara H01
//This function returns the count of the all the odd numbers in the array
public static int countOdd(int[] value){
int odd = 0;
for(int i = 0; i<value.length;i++){
Return Return
eveneven
301
Atur cara H02
SKEMA JAWAPAN
LEMBARAN KERJA 6C-1
countOdd
Carta alir H03
countOddAndEven(values)
Paparkan nilai
countEven
Odd dan Even
Paparkan nilai
Odd dan Even
Return
Return
302