Anda di halaman 1dari 89

SAINS KOMPUTER • TINGKATAN 4

PENGAJARAN 6A

STRUKTUR TATASUSUNAN DAN FOR



STANDARD KANDUNGAN 1.4.4 Menulis atur cara
1.3 Pemboleh Ubah, Pemalar menggunakan struktur
dan Jenis Data kawalan ulangan yang
1.4 Struktur Kawalan melibatkan
1.5 Amalan terbaik i) Operator increment
pengaturcaraan (++) dan decrement (--)
1.6 Struktur Data dan 1.5.3 Mengenal pasti nilai bagi
Modular pemboleh ubah pada
bahagian tertentu atur cara
STANDARD PEMBELAJARAN 1.6.1 Menerangkan struktur
Murid boleh: tatasusunan satu dimensi
1.3.6 Menulis atur cara untuk i) Isytihar nilai
memasukkan input dari ii) Umpukan nilai awal
papan kekunci dan
memaparkan output Guru hendaklah memastikan di akhir
1.4.3 Menerangkan aliran penggunaan modul PdP ini, murid
struktur kawalan ulangan dapat mencapai Standard
i) for Pembelajaran yang dinyatakan
di atas.

Kandungan Muka surat


Rancangan Pengajaran 6A 216
Lampiran 6A-1 226
Lembaran Kerja 6A-1 227
Skema Jawapan 230
PENGAJARAN 6A
STANDARD KANDUNGAN
1.3 Pemboleh Ubah, Pemalar dan Jenis Data
1.4 Struktur Kawalan
1.5 Amalan terbaik pengaturcaraan Masa: 60 Minit
1.6 Struktur Data dan Modular
Penerapan Pemikiran

SAINS KOMPUTER • TINGKATAN 4


Komputasional (PPK):
STANDARD PEMBELAJARAN • Problem Decomposition (PD)
Murid boleh: • Algorithm and Procedures
(ALG)
1.3.6 Menulis atur cara untuk memasukkan input
• Automation
dari papan kekunci dan memaparkan output
1.4.3 Menerangkan aliran struktur kawalan ulangan Kemahiran Abad ke-21 (KA21):
i) for • Kerja Sepasukan (KS)
1.4.4 Menulis atur cara menggunakan struktur
kawalan ulangan yang melibatkan
i) Operator increment/decrement
1.5.3 Mengenal pasti nilai bagi pemboleh ubah pada
bahagian tertentu atur cara
1.6.1 Menerangkan struktur tatasusunan satu dimensi
i) Isytihar nilai
ii) Umpukan nilai awal

BAHAN BANTU MENGAJAR (BBM) 215


Bahan untuk kelas
Tiada

Bahan untuk setiap kumpulan

6A • STRUKTUR TATASUSUNAN DAN FOR


1. Lampiran 6A-1

Bahan untuk setiap murid


1. Lembaran Kerja 6A-1

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

SAINS KOMPUTER • TINGKATAN 4


1. Guru menanya murid tentang peristiwa membeli-belah di PD
pasar raya.
2. Guru menanya murid tentang proses yang akan berlaku KA21
apabila hendak membeli sesuatu barang seperti kicap KS
soya cair berjenama X. Apakah langkah-langkah yang akan
diambil untuk mencari kicap soya cair berjenama X.
(PD) (KS)
3. Guru memberi cabaran kepada murid yang boleh
memberikan langkah yang paling komprehensif.
Cadangan Jawapan: (Mencari kawasan yang mengandungi
bahan makanan, mencari lorong yang bernama ‘Sos dan
Perisa’, mencari bahagian kicap, mencari kicap soya, mencari
kicap soya cair dan akhirnya mencari kicap soya cair
berjenama X).
4. Guru menanya murid tentang situasi di mana barang-
barang tidak disusun mengikut kategori barang.
5. Guru meminta murid memberi contoh – contoh yang
lain yang menggunakan sistem ini dalam aktiviti harian.
(Posmen dalam penghantaran surat atau buku-buku dalam
perpustakaan).
6. Tatasusunan memudahkan pengguna mencari maklumat
dengan cepat dan tepat. 216
7. Sebarang paparan maklumat dari Internet juga
menggunakan sistem sebegini. Contohnya, Facebook
menggunakan tatasusunan untuk menyimpan senarai
kawan, alamat, sejarah pendidikan, sejarah pekerjaan dan
sebagainya.

6A • STRUKTUR TATASUSUNAN DAN FOR

Petunjuk: Standard Pembelajaran PPK KA21


RANCANGAN PENGAJARAN 6A
MASA CADANGAN AKTIVITI BBM PEMETAAN
45 Aktiviti 1: Tatasusunan (Array) Standard
Minit Pembelajaran

SAINS KOMPUTER • TINGKATAN 4


1. Tatasusunan (Array) adalah kumpulan data yang 1.3.6
dikumpulkan dan dirujuk dengan nombor kedudukannya 1.4.3
(indeks). Secara grafik, hubungan tatasusunan boleh diwakili 1.4.4
dengan gambar berikut: 1.5.3
1.6.1

PPK
ALG
AUT

KA21
KS

Rajah 6.1 217


2. Dalam tatasusunan dalam Rajah 6.1, kotak yang berlabel
0, 1, 2 dan seterusnya boleh dianggap sebagai ‘rumah’
di dalam sesuatu tatasusunan. Setiap ‘rumah’ mengandungi
nilai tersendiri yang beralamat 0,1,2,dan seterusnya.
Contohnya, nilai 68 di simpan di dalam tatasusunan

6A • STRUKTUR TATASUSUNAN DAN FOR


dengan alamat 2. Alamat dalam tatasusunan dikenali
sebagai indeks iaitu kedudukannya.
3. Nombor indeks tatasusunan akan sentiasa bermula dari
nombor 0.
4. Guru menjelaskan apabila sesuatu tatasusunan diisytiharkan
sebagai pemboleh ubah, pemboleh ubah tatasusunan
tidak mengandungi nilai data tetapi mengandungi nombor
indeks.
5. Ia berbeza berbanding jenis data primitif kerana data
primitif (integer, double, float dan sebagainya) akan
mengandungi nilai.
6. Tatasusunan hanya menyimpan nombor indeks yang
menjadi petunjuk kepada data yang tersimpan dalam
memori komputer.
7. Apabila kita mengisytiharkan tatasusunan, kita perlu
pastikan bahawa data yang akan dimasukkan dalam
tatasusunan adalah jenis data yang sama. Contohnya,
sesuatu tatasusunan mesti mengandungi integer sahaja.
8. Setiap satu data di dalam satu tatasusunan dikenali sebagai
elemen tatasusunan.
9. Dalam bahasa pengaturcaraan Java, terdapat 3 cara
pengisytiharan data tatasusunan seperti berikut: (1.6.1)
RANCANGAN PENGAJARAN 6A
MASA CADANGAN AKTIVITI BBM PEMETAAN
Cara Pertama

SAINS KOMPUTER • TINGKATAN 4


Rajah 6.2

Baris Penjelasan

5, 6 Kita mengisytiharkan satu pemboleh ubah tatasusunan


yang bernama count pada baris 3. Saiz dan kandungan
tatasusunan ini tidak diketahui lagi.

Pada baris 4, kita mewujudkan satu tatasusunan integer


yang bersaiz 4. Saiz tatasusunan dihubungkait kepada
pemboleh ubah count.

Kandungan tatasusunan masih tidak diketahui lagi.


Contohnya, kita boleh mengisytiharkan pemboleh ubah
tatasusunan pada awal atur cara, pada pertengahan atur 218
cara barulah kita meminta pengguna untuk masukkan
nilai untuk saiz tatasusunan (X) dan seterusnya
mewujudkan satu tatasusunan dengan saiz X.

Cara Kedua

6A • STRUKTUR TATASUSUNAN DAN FOR

Rajah 6.3

Baris Penjelasan

5 Kita mengisytiharkan satu pemboleh ubah tatasusunan


yang bernama marks yang akan merujuk kepada
tatasusunan yang bersaiz 5. Cara kedua ini sebenarnya
gabungan dari cara pertama dimana 2 baris atur cara
dijadikan satu baris atur cara.
RANCANGAN PENGAJARAN 6A
MASA CADANGAN AKTIVITI BBM PEMETAAN
Cara Ketiga

SAINS KOMPUTER • TINGKATAN 4


Rajah 6.4

Baris Penjelasan

5 Kita mengisytiharkan satu pemboleh ubah tatasusunan


yang bernama values yang mempunyai nilai-nilai 3, 6,
9, 12 dan 15. Saiz dan nombor indeks tatasusunan akan
ditetapkan secara tersendiri berdasarkan bilangan elemen
yang tersimpan.

10. Kita boleh merujuk kepada data individu dengan


meletakkan nombor indeksnya ke dalam simbol [ ].
219
int[] values = {3,6,9,12,15}

6A • STRUKTUR TATASUSUNAN DAN FOR

Rajah 6.5

11. Dalam atur cara tatasusunan, terdapat satu pemboleh


ubah yang malar yang akan menyimpan maklumat
tentang saiz tatasusunan. Sintaks bagi pemboleh ubah
tersebut ditulis sebagai nama.length. Contohnya, values.
length akan menyimpan nilai 5 iaitu saiz tatasusunan values
di Rajah 6.5.
RANCANGAN PENGAJARAN 6A
MASA CADANGAN AKTIVITI BBM PEMETAAN
12. Dalam contoh di atas, nombor 12 dalam tatasusunan boleh
dirujuk melalui nama pemboleh ubahnya iaitu values[3].

SAINS KOMPUTER • TINGKATAN 4


a. Untuk memaparkan elemen pertama, apakah nombor
indeks yang perlu digunakan?
• Rujukan elemen pertama adalah 0, bukan 1. Ini
merupakan salah satu ralat logik yang kerap
berlaku.
b. Untuk memaparkan elemen terakhir, apakah nombor
indeks yang perlu digunakan?
• Rujukan elemen terakhir adalah nilai saiz-1, bukan
saiz. Ini merupakan salah satu lagi ralat logik yang
kerap berlaku.
c. Berikut akan terjadi apabila baris berikut dijalankan:

Sintaks Output Penjelasan

System.out. 3
println(values[0]);

System.out. 15
println(values[4]);

System.out. Tiada Ralat sintaks akan berlaku kerana

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

6A • STRUKTUR TATASUSUNAN DAN FOR


tatasusunan yang kosong dalam atur cara berdasarkan
situasi berikut: (KS)
a. Pengguna ingin memasukkan sebuah senarai yang
mengandungi nombor 3, 6, 9, 12, 15.
RANCANGAN PENGAJARAN 6A
MASA CADANGAN AKTIVITI BBM PEMETAAN
14. Guru menjelaskan bahawa cara menulis atur cara sebegini
tidak efisien terutamanya dalam senarai yang mengandungi

SAINS KOMPUTER • TINGKATAN 4


data yang banyak.
15. Pengaturcaraan sebegini mengandungi atur cara yang
berulang dan sesuai menggunakan struktur kawalan
ulangan.
16. Guru memberi situasi seperti di bawah untuk menerangkan
bagaimana struktur kawalan ulangan sesuai digunakan,
untuk meminta pengguna untuk menyimpan nombor
ke dalam satu tatasusunan, values yang bersaiz 5.

221

6A • STRUKTUR TATASUSUNAN DAN FOR


Rajah 6.7
RANCANGAN PENGAJARAN 6A
MASA CADANGAN AKTIVITI BBM PEMETAAN
17. Guru menjelaskan carta alir dalam bulatan merah.
Perbandingan terhadap saiz tatasusunan dibuat i = 4

SAINS KOMPUTER • TINGKATAN 4


dan bukan i = 5 kerana indeks terakhir adalah saiz-1 bukan
saiz. (values[0], values[1], values[2], values[3], values[4]
adalah tatasusunan bersaiz 5).
18. Guru menjelaskan juga tentang kes yang mungkin berlaku
dalam pengaturcaraan apabila saiz tatasusunan tidak
diketahui. Kita boleh menggunakan nilai pemalar length – 1
untuk ketahui indeks terakhir seperti di Rajah 6.8 di bawah.

222

6A • STRUKTUR TATASUSUNAN DAN FOR


Rajah 6.8
RANCANGAN PENGAJARAN 6A
MASA CADANGAN AKTIVITI BBM PEMETAAN
19. Struktur kawalan ulangan yang sesuai untuk pengaturcaraan
tatasusunan ialah struktur for kerana increment perlu

SAINS KOMPUTER • TINGKATAN 4


diwujudkan dalam pengitaran nilai indeks dengan lebih
jelas dan mudah. (1.4.3)
20. Guru menjelaskan struktur for berdasarkan carta alir pada
Rajah 6.9 dan atur cara pada Rajah 6.10 di bawah: (1.4.4)
(1.5.3)

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

6A • STRUKTUR TATASUSUNAN DAN FOR

Rajah 6.10
RANCANGAN PENGAJARAN 6A
MASA CADANGAN AKTIVITI BBM PEMETAAN

Baris Penjelasan

SAINS KOMPUTER • TINGKATAN 4


5 Pengisytiharan pemboleh ubah tatasusunan dan nilai
awalnya.

6, 7, 8 Dalam pengaturcaraan, sintaks untuk for adalah seperti


berikut:

for(initialization; condition; increment)


{
statement;
}
Gelung ulangan ini juga boleh dituliskan dalam gelung
while sebagai berikut:

Pengawalan pemboleh ubah;


while (condition = true)
{
statement;
change in variable
}
Dalam contoh ini, pengawalan pemboleh ubah adalah
pemboleh ubah i dengan nilai 0. Seterusnya, atur cara
akan semak sama ada nilai i ini kurang daripada length.
Kita boleh gunakan length dan bukan length -1 kerana
operator hubungan yang digunakan adalah < dan tidak 224
termasuk nilai length. Maksudnya, jika nilai length adalah 3,
dan syarat adalah i < 3, i akan menepati syaratnya dengan
nilai 0, 1 dan 2 tetapi bukan 3 kerana 3 adalah tidak kurang
daripada 3.

Namun demikian, jika operator hubungan yang digunakan

6A • STRUKTUR TATASUSUNAN DAN FOR


adalah <=, lebih kecil atau sama dengan, maka kita perlu
gunakan nilai length-1.

Setiap kali syarat dipenuhi, pernyataan paparkan nilai


value[i[ akan dijalankan dengan i yang berlainan. Setelah
pernyataan dalam gelung dijalankan, kita akan
kembali ke perubahan nilai i, iaitu i tambah satu (i++).

Ini akan berlanjutan sehingga i tidak lagi memenuhi syarat.


RANCANGAN PENGAJARAN 6A
MASA CADANGAN AKTIVITI BBM PEMETAAN
21. Murid mengesan perubahan pemboleh ubah dan • Lampiran
menentukan nilai apakah yang akan dipaparkan dan 6A-1

SAINS KOMPUTER • TINGKATAN 4


menghasilkan dalam lampiran 6A-1. (1.5.3) (ALG)
22. Murid perlu hasilkan atur cara yang meminta pengguna
untuk memasukkan beberapa nombor, menyimpan
nombor - nombor tersebut dalam sebuah tatasusunan,
dan memaparkan semua nombor tersebut. Murid perlu
melengkapkan atur cara ini dalam lembaran kerja 6A-1. • Lembaran
(1.3.6) (1.4.3) (1.4.4) (AUT) Kerja
23. Guru boleh memberi petunjuk untuk membantu murid 6A-1
dalam menjawab soalan ini dengan membincangkan
langkah-langkah yang akan terlibat dalam algoritma ini iaitu:
a. Mendapatkan saiz data.
b. Mendapatkan nilai setiap data.
c. Memaparkan nilai setiap data.

5 Minit Penutup:

1. Guru mengulas semula konsep penting tentang


tatasusunan.
2. Guru menerangkan bahawa gelung dan tatasusunan
merupakan kombinasi yang sering kita temui dalam
pembinaan aplikasi dan laman web. 225

6A • STRUKTUR TATASUSUNAN DAN FOR


LAMPIRAN 6A-1
Murid dikehendaki mengesan perubahan pemboleh ubah dan menentukan nilai
yang akan dipaparkan.


Input Struktur Kawalan Pilihan Struktur Kawalan Ulangan Output

SAINS KOMPUTER • TINGKATAN 4


226

6A • STRUKTUR TATASUSUNAN DAN FOR


Standard
Pembelajaran:
1.36, 1.4.3,
1.4.4, 1.6.1

LEMBARAN KERJA 6A-1


NAMA: TARIKH:
KELAS:

Murid merancang algoritma dengan carta alir sebelum menuliskan atur cara.

SAINS KOMPUTER • TINGKATAN 4


Murid perlu hasilkan atur cara yang boleh:
a. Menanyakan pengguna tentang bilangan nombor yang bakal diterima, X
b. Menanyakan pengguna untuk memasukkan X kali nombor dan simpankan dalam satu tatasusunan
c. Mencetak balik semua nombor itu dalam urutan

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?
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________

6A • STRUKTUR TATASUSUNAN DAN FOR


g. Berapa bilangan pemboleh ubah dan juga jenisnya yang perlu digunakan dalam atur cara ini?
____________________________________________________________________________________________
____________________________________________________________________________________________
____________________________________________________________________________________________
Standard
Pembelajaran:
1.36, 1.4.3,
1.4.4, 1.6.1

LEMBARAN KERJA 6A-1


Carta Alir

SAINS KOMPUTER • TINGKATAN 4


228

6A • STRUKTUR TATASUSUNAN DAN FOR


Standard
Pembelajaran:
1.36, 1.4.3,
1.4.4, 1.6.1

LEMBARAN KERJA 6A-1


Atur Cara

SAINS KOMPUTER • TINGKATAN 4


229

6A • STRUKTUR TATASUSUNAN DAN FOR

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

SAINS KOMPUTER • TINGKATAN 4


i=0
3, 6, 9, 12, 15

i < values.length values[0]


i++

i < values.length values[1]

i++

i < values.length values[2]

i++

230
i < values.length values[3]

i++

6A • STRUKTUR TATASUSUNAN DAN FOR


i < values.length values[4]

i++
SKEMA JAWAPAN
LEMBARAN KERJA 6A-1
Murid merancang algoritma dengan carta alir sebelum menuliskan atur cara.

Murid perlu hasilkan atur cara yang boleh:

SAINS KOMPUTER • TINGKATAN 4


a. Menanyakan pengguna tentang bilangan nombor yang bakal diterima, X.
b. Menanyakan pengguna untuk memasukkan X kali nombor dan simpankan dalam satu tatasusunan.
c. Mencetak balik semua nombor itu dalam urutan.

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

6A • STRUKTUR TATASUSUNAN DAN FOR


untuk mendapatkan nombor dari tatasusunan dan memaparkannya?
System.out.println(numberList[i]);

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

SAINS KOMPUTER • TINGKATAN 4


1 nombor x sebagai bilangan
nombor yang dikehendaki

Isytiharkan satu pembolehubah


tatasusunan bernama value yang bersaiz X

Isytiharkan nilai i ke 0

Adakah nilai i
Ya
kurang
daripada x?
Minta 1 nombor, y
daripada murid

Tidak value[i] = y 232


i++

Nilai i ditetapkan ke 0

6A • STRUKTUR TATASUSUNAN DAN FOR


Adakah nilai i Ya
kurang
daripada x?
Paparkan value[i]

i++
Tidak

Tamat
SKEMA JAWAPAN
LEMBARAN KERJA 6A-1
Atur Cara

SAINS KOMPUTER • TINGKATAN 4


import java.util.Scanner;

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++;
}

//Mengitar indeks 0 ke saiz X untuk memaparkan nilai dalam tatasusunan


for(i = 0;i<x;i++){

}
System.out.println(numberList[i]);
233
}
}!

6A • STRUKTUR TATASUSUNAN DAN FOR


SAINS KOMPUTER • TINGKATAN 4
PENGAJARAN 6B
MODUL ATUR CARA DENGAN
JENIS DATA PRIMITIF
STANDARD KANDUNGAN 1.6.2 Menggunakan subatur
1.1 Strategi Penyelesaian cara dan memahami konsep
Masalah menghantar parameter ke
1.3 Pemboleh Ubah, Pemalar dan subatur cara dan
Jenis Data mengembalikan data
1.6 Struktur Data dan Modular 1.6.3 Membezakan antara function
dan procedure pada
STANDARD PEMBELAJARAN subatur cara
Murid boleh:
1.2 Menjelaskan ciri Guru hendaklah memastikan di akhir
penyelesaian penggunaan modul PdP ini, murid
masalah berkesan dapat mencapai Standard
1.3.6 Menulis atur cara untuk Pembelajaran yang dinyatakan
memasukkan input dari di atas.
papan kekunci dan
memaparkan output

Kandungan Muka surat


Rancangan Pengajaran 6B 236
Lampiran 6B-1 251
Lembaran Kerja 6B-1 252
Lembaran Kerja 6B-2 254
Lembaran Kerja 6B-3 256
Skema Jawapan 262
PENGAJARAN 6B
STANDARD KANDUNGAN
1.1 Strategi Penyelesaian Masalah
1.3 Pemboleh Ubah, Pemalar dan Jenis Data
1.6 Struktur Data dan Modular Masa: 120 Minit

Penerapan Pemikiran

SAINS KOMPUTER • TINGKATAN 4


Komputasional (PPK):
STANDARD PEMBELAJARAN
• Problem Decomposition (PD)
Murid boleh: • Algorithm and Procedures
1.1.2 Menjelaskan ciri penyelesaian masalah (ALG)
• Automation
berkesan
1.3.6 Menulis atur cara untuk memasukkan input Kemahiran Abad ke-21 (KA21):
dari papan kekunci dan memaparkan output • Kerja Sepasukan (KS)
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

BAHAN BANTU MENGAJAR (BBM)


Bahan untuk kelas
Tiada 235
Bahan untuk setiap kumpulan
Tiada

Bahan untuk setiap murid

6B • MODUl ATUR CARA DENGAN JENIS DATA PRIMITIF


1. Lampiran 6B-1
2. Lembaran Kerja 4C-1
3. Lembaran Kerja 6B-1
4. Lembaran Kerja 6B-2
5. Lembaran Kerja 6B-3

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

SAINS KOMPUTER • TINGKATAN 4


1. Guru melukiskan pelbagai bentuk geometri 3 dimensi di
papan putih dan membincang dengan murid untuk KA21
memberikan persamaan dan perbezaan bongkah- -
bongkah geometri di bawah. (PD)

2. Guru melukis sebuah jadual persamaan dan perbezaan


pada papan putih.
Kubus dengan Kon (contoh) 236
Persamaan Perbezaan

Mempunyai tapak rata. Kon tidak mempunyai pepenjuru yang


lurus manakala kubus mempunyai
pepenjuru yang lurus.

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


Silinder dengan Sfera (contoh)
Persamaan Perbezaan

Mempunyai bentuk Silinder mempunyai permukaan yang


keratan rentas yang rata manakala sfera tidak mempunyai
sama (bulat). sebarang permukaan yang rata.

Piramid dengan kon (contoh)


Persamaan Perbezaan

Bentuk yang semakin Silinder mempunyai permukaan yang


menirus dari tapak ke rata manakala sfera tidak mempunyai
puncak bongkah. sebarang permukaan yang rata.

Petunjuk: Standard Pembelajaran PPK KA21


RANCANGAN PENGAJARAN 6B
MASA CADANGAN AKTIVITI BBM PEMETAAN
3. Guru menunjukkan bahawa isipadu sesuatu bongkah
bergantung kepada ciri-ciri bongkah tersebut. Pengiraan

SAINS KOMPUTER • TINGKATAN 4


isipadu sebuah bongkah bergantung pada formula
matematik untuk setiap bongkah.
4. Guru mengaitkan ciri-ciri bongkah dengan subatur cara
di mana subatur cara adalah unit program yang hanya
berupaya untuk melakukan sesuatu tugas khas di
dalam program yang lain.

Persamaan Perbezaan

Isipadu = a 3

Isipadu = π r2 h

Isipadu = lwh

237
4
Isipadu = π r2 h
3

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


Isipadu = 1 π 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

SAINS KOMPUTER • TINGKATAN 4


1. Guru menerangkan dalam Java, terdapat beberapa atur 1.6.2
cara kecil yang telah dikhaskan bagi kemudahan pengguna. 1.6.3
Atur cara kecil ini juga dikenali sebagai subatur cara.
Contohnya pow() dan sqrt(). Pow() adalah subatur cara yang PPK
boleh digunakan dalam pengiraan kuasa sesuatu nombor AUT
manakala sqrt() adalah subatur cara yang boleh mengira
punca kuasa dua sesuatu nombor. KA21
2. Guru meminta murid untuk memberi penjelasan sebab -
penggunaan subatur cara. (Bagi memudahkan pengguna
menulis atur cara tanpa menuliskan atur cara yang kerap
digunakan).
3. Guru menjelaskan bahawa sesiapa sahaja boleh mencipta
subatur cara dan menggunakannya.
4. Terdapat dua jenis subatur cara (method) iaitu function dan
procedure. Function merupakan subatur cara yang boleh
memulangkan data kepada atur cara utama. Prosedur pula
hanya akan memproses data tanpa memulangkan sebarang
data. (1.6.3)
5. Subatur cara pow dan sqrt merupakan function kerana
memulangkan data.
6. Kita boleh mewakili subatur cara dalam carta alir dengan
simbol subroutine seperti yang ditunjukkan berikut: 238

7. Untuk subatur cara yang tidak memulangkan nilai dan tidak

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


perlukan penghantaran parameter ke function, kita boleh
mewakili dengan simbol ini:

Function()

8. Sebagai contoh, subatur cara untuk sayHello boleh ditulis


sebagai:

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

SAINS KOMPUTER • TINGKATAN 4


nilai pulangan daripada sesuatu function ke satu pemboleh
ubah.

x = function(parameter1, parameter2)

10. Sebagai contoh, subatur cara untuk pow boleh ditulis


sebagai:

X = pow (a)

11. Guru mengedarkan lembaran kerja 6B-2 kepada semua


murid. Murid diminta membaca lembaran tersebut degan
senyap selama 3 min.

239

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


RANCANGAN PENGAJARAN 6B
MASA CADANGAN AKTIVITI BBM PEMETAAN

SAINS KOMPUTER • TINGKATAN 4


240

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF

Rajah 6.1

12. Guru kemudian meminta murid untuk mengenal pasti


subatur cara dalam lembaran itu dan murid perlu
menerangkan fungsi subatur cara dengan bimbingan guru.
RANCANGAN PENGAJARAN 6B
MASA CADANGAN AKTIVITI BBM PEMETAAN
13. Sintaks untuk menuliskan subatur cara adalah seperti
berikut:

SAINS KOMPUTER • TINGKATAN 4


Rajah 6.2

14. Struktur ini serupa dengan struktur main kerana main


merupakan salah satu jenis subatur cara.

public Dalam atur cara Java, kita boleh menulis


subatur cara yang private ataupun public.
Bezanya subatur cara yang private hanya
boleh diakses oleh atur cara yang sama
sahaja. Contohnya math.pow merupakan
subatur cara daripada math package yang
public dan boleh diakses oleh atur cara
lain. Jika math.pow adalah private maka ia
hanya boleh diakses oleh math package
sahaja. Maklumat ini boleh diabaikan kerana
tahapnya melibatkan konsep yang lebih
tinggi yand berada di luar skop sukatan
tingkatan 4. Semua subatur cara yang ditulis 241
oleh murid seharusnya public.

static Static membenarkan subatur cara ini


digunakan tanpa melibatkan atur cara
utama. Maklumat ini boleh diabaikan kerana
tahapnya melibatkan konsep yang lebih

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


tinggi yand berada di luar skop sukatan
tingkatan 4. Semua subatur cara yang ditulis
oleh murid seharusnya static.

void Ini merujukkan nilai yang akan dikembalikan


kepada atur cara utama.

NAME Nama subatur cara. Semua nama


dibenarkan untuk subatur cara kecuali
nama yang menggunakan reserved word
dan main. Murid seharusnya menggunakan
nama subatur cara yang bermakna.

LIST OF Parameter akan menerima nilai dari atur


PARAMETER cara utama ke dalam subatur cara ini.
Parameter merupakan pemboleh ubah
khas yang diisytiharkan dalam subatur
cara. Pengisytiharan parameter tidak
boleh dilakukan dalam main kerana
penggunaannya berada di luar main. Oleh
itu pengisytiharan parameter dilakukan di
dalam subatur cara.
RANCANGAN PENGAJARAN 6B
MASA CADANGAN AKTIVITI BBM PEMETAAN
15. Guru menunjukkan contoh atur cara dan memberikan
penjelasan: (1.6.2)

SAINS KOMPUTER • TINGKATAN 4


242

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


RANCANGAN PENGAJARAN 6B
MASA CADANGAN AKTIVITI BBM PEMETAAN

Baris Penjelasan

SAINS KOMPUTER • TINGKATAN 4


5,6 Pemboleh ubah x dan y hanya wujud di dalam subatur cara
main sahaja. Untuk menggunakan pemboleh ubah ini di
tempat lain kita perlu menghantarkan nilai-nilai ke subatur
cara lain sebagai parameter. Ini dikenali sebagai pemboleh
ubah tempatan (local). Apabila nilai x dan y dihantarkan
kepada subatur cara, hanya nilai yang terkandung dalam x
dan y dihantarkan, bukan pemboleh ubahnya. Pernyataan
umpukan pemboleh ubah perlu ditambahkan dengan
modifier global. Jika x diumpukan dengan modifer global
maka semua subatur cara boleh mengakses pemboleh
ubah ini tanpa menghantarkannya sebagai parameter.

8 Panggilan subatur cara printHello yang ditakrifkan di baris


16.

9 Panggilan subatur cara square yang ditakrifkan di baris 21


dengan menghantarkan nilai x sebagai parameter.

11 Panggilan subatur cara squarePlus yang ditakrifkan di baris


26 dengan menghantarkan nilai x dan y sebagai parameter.

16 public static void printHello()

Subatur cara ini dinamakan printHello dan ia tidak


memulangkan sebarang data (void) dan tidak mengambil
243
sebarang data sebagai parameter. Seluruh subatur cara
adalah terkandung dalam sepasang simbol {}.

Subatur cara sebegini dinamakan sebagai procedure


– subatur cara yang tidak menerima data dan tidak
memulangkan data.

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


26-31 public static int square(int a)

Subatur cara ini dinamakan square dan ia mengambil


satu integer yang disimpan dalam pemboleh ubah a dan
memulangkan satu integer (int).

Subatur cara sebegini dinamakan sebagai function–


subatur cara yang menerima data dan memulangkan data.
Data yang diterima adalah nilai dalam pemboleh ubah x
daripada subatur cara main. Nama pemboleh ubah
tempatan dalam subatur cara telah berubah menjadi
a tetapi tidak menjejaskan nilai yang diumpukan. Ini
bermaksud nilai x, iaitu nilai 5 dihantarkan ke subatur cara
dan nilai 5 ini diumpukan kepada pemboleh ubah
tempatan yang bernama a. Pemboleh ubah a ini
diisytiharkan sebagai parameter pada permulaan subatur
cara.

Function ini memulangkan nilai a * a atau (a2) yang


dikendalikan oleh atur cara pada baris 19 kepada atur cara
yang memanggilnya, iaitu main.
RANCANGAN PENGAJARAN 6B
MASA CADANGAN AKTIVITI BBM PEMETAAN

Baris Penjelasan

SAINS KOMPUTER • TINGKATAN 4


26-31 public static int squarePlus(int a, int b)

Subatur cara ini dinamakan squarePlus dan ia mengambil


nilai dua integer dari x dan y dan disimpan dalam
pemboleh ubah a dan b dan memulangkan satu
integer (int).

Kita juga boleh memanggil subatur cara lain di dalam


sesuatu subatur cara. Dalam squarePlus, kita memanggil
subatur cara square untuk menggunakan nilai a dan b
untuk memulangkan hasil pendaraban iaitu a*a dan b*b.

Function ini kemudian memulangkankan nilai a2 + b2


kepada atur cara yang memanggilnya, iaitu main. Subatur
cara sebegini juga dikenali sebagai function.

16. Guru membimbing murid degan menterjemahkan carta alir • Lembaran


di Lembaran Kerja 6B-2 kepada kod pengaturcaraan Kerja
yang sesuai. Murid boleh merujuk contoh kod atur 4C-1
cara (No. 14) yang ditunjukkan untuk membina atur cara • Lembaran
yang mengandungi subatur cara. (AUT) Kerja
17. Guru mengingatkan murid untuk saling menyemak hasil 6B-2
kerja rakan setelah selesai menulis atur cara. 244
55 Aktiviti 2: Pemecahan Masalah ke Bahagian Lebih Kecil Standard
Minit Pembelajaran
1. Guru mengulas semula tentang konsep subatur cara. Guru 1.1.2
bertanya murid tentang perbezaan antara function 1.3.6

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


dan procedure. 1.6.2
2. Murid memberi penjelasan tentang function dan procedure 1.6.3
a. Function ialah subatur cara yang boleh memulangkan
sesuatu nilai daripada hasil pemprosesan atur cara. KA21
b. Procedure ialah subatur cara yang hanya melaksanakan KS
atur cara yang terkandung dalam dirinya tanpa
memulangkan sebarang nilai. PPK
AUT
RANCANGAN PENGAJARAN 6B
MASA CADANGAN AKTIVITI BBM PEMETAAN
3. Guru membuat sumbang saran dengan murid untuk
memecahkan aplikasi SAPS ke bahagian yang lebih

SAINS KOMPUTER • TINGKATAN 4


kecil. Jawapan yang dibekalkan adalah sebagai rujukan.
Semasa perbincangan, guru seharusnya membimbing
perbincangan untuk menuju ke arah yang berikut:
a. Penamaan function haruslah senang untuk mengenal
pasti atur cara yang terkandung di dalam function
tersebut. Contohnya, atur cara untuk menyemak data
murid boleh dinamakan semakMaklumat() untuk
mengakses pangkalan data murid dan bukan
maklumat().
b. Pengulangan function. Contohnya untuk SAPS, salah
satu function yang sering akan diguna semula adalah
function untuk menyemak pangkalan data murid. Yang
berbeza hanya input dan output sahaja.

SAPS

Muat Turun FAQ Semakan Ibu Bapa


Pusat Sumber Sekolah

Paparan
Pautan-pautan
Rekod buku
Paparan Soalan dan
Jawapan
Urusan buku
Paparan Menu
Maklumat murid
245
menu

Menu Pilihan Reset


Perlupusan Pinjaman buku Pemulangan
Tambah Semak Kemaskini status
buku buku
buku kewujudan peminjaman dan
murid pemulangan murid
Semak
maklumat
Tambahkan Lupuskan Kemaskini Kemaskini
Semak Semak Semak Semak

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


buku buku status status Kemaskini
kewujudan kewujudan kewujudan kewujudan Kemaskini
buku status buku peminjaman peminjaman status buku
buku buku murid dan dan
Papar Slip
pemulangan pemulangan
Papar
murid
Keputusan murid Markah
Peperiksaan

Rajah 6.3

4. Guru menunjukkan satu lagi contoh sebuah sistem pusat


sumber sekolah dengan mengedarkan Lampiran 6B-1 • Lampiran
kepada setiap murid. 6B-1

Pusat Sumber Sekolah

Paparan Rekod buku Urusan buku Maklumat murid


menu

Pinjaman buku Pemulangan Semak


Perlupusan buku kewujudan
Tambah
buku murid
buku

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.

SAINS KOMPUTER • TINGKATAN 4


Nama Penjelasan Struktur kawalan / subatur
subatur cara yang mungkin
cara digunakan di dalam

Paparan Merupakan sebuah Struktur kawalan pilihan akan


menu procedure yang digunakan untuk memilih
memaparkan 3 subatur cara Rekod buku,
pilihan iaitu Rekod Urusan Buku atau Maklumat
buku, Urusan Buku murid. Subatur cara ini
atau Maklumat terkandung dalam gelung
murid. while untuk sentiasa
memaparkan pilihan
untuk pengguna.

Rekod buku Merupakan sebuah Struktur kawalan pilihan akan


procedure yang digunakan untuk memilih
memaparkan 2 subatur cara Tambah buku
pilihan iaitu Tambah atau Pelupusan buku.
buku atau Subatur cara ini terkandung
Perlupusan buku. dalam gelung while untuk
sentiasa memaparkan pilihan
untuk pengguna.

Tambah Merupakan Function Semak kewujudan 246


buku procedure yang buku digunakan untuk
mengandungi 2 memastikan buku murid
function iaitu Semak yang ditambahkan itu tidak
kewujudan buku dan pernah wujud dalam sistem.
Tambahkan buku. Function Tambahkan buku
untuk menambahkan buku.

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


Semak Function Semak
kewujudan kewujudan buku
buku menyemak
pangkalan data
untuk kewujudan
sesuatu buku.

Tambahkan Function Tambahkan Function ini akan


buku buku ke dalam mengemaskini
pangkalan data. pangkalan data dengan
melupuskan maklumat buku
dari pangkalan data.

Pelupusan Merupakan Function Semak kewujudan


buku procedure yang buku digunakan untuk
mengandungi 2 memastikan buku yang
function iaitu Semak hendak dilupuskan itu wujud
kewujudan buku dan dalam sistem. Buku tersebut
Lupuskan buku. akan dilupuskan dengan
function lupuskan buku.

Lupuskan Function Lupuskan Function ini akan


Buku buku dari pangkalan mengemaskini pangkalan
data. data dengan melupuskan
maklumat buku dari
pangkalan data.
RANCANGAN PENGAJARAN 6B
MASA CADANGAN AKTIVITI BBM PEMETAAN

Nama Penjelasan Struktur kawalan / subatur


subatur cara yang mungkin digunakan

SAINS KOMPUTER • TINGKATAN 4


cara di dalam

Urusan buku Merupakan procedure Struktur kawalan pilihan akan


yang mengandungi 2 digunakan untuk memilih
function iaitu Pinjaman subatur cara Pinjaman buku
buku dan Pemulangan atau Pemulangan. Subatur
buku. cara ini terkandung dalam
gelung while untuk sentiasa
memaparkan pilihan untuk
pengguna.

Pinjaman Merupakan Function Semak kewujudan


buku procedure yang buku akan menyemak sama
mengandungi 4 ada buku tersebut masih
function iaitu Semak berada di pusat sumber
kewujudan buku, sekolah.
Semak kewujudan Function Semak kewujudan
murid, Kemaskini murid untuk menyemak
status buku dan maklumat murid dari
Kemaskini status pangkalan data murid.
pinjaman dan Function Kemaskini status buku
pemulangan murid. untuk mengemaskini status buku
dalam pangkalan data buku.
Function Kemaskini status
pinjaman dan pemulangan 247
murid dikemaskinikan.

Semak Function Semak


kewujudan kewujudan murid
murid diggunakan untuk
menyemak pangkalan

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


data untuk kewujudan
maklumat murid.

Kemaskini Function untuk kemaskini


status buku status buku dalam
pangkalan data.

Kemaskini Function yang Mempunyai struktur kawalan


status mengemaskini status murid pilihan untuk memilih antara
pinjaman dalam pangkalan data pinjaman atau pemulangan.
dan berdasarkan pinjaman atau
pemulangan pemulangan buku.
murid

Pemulangan Merupakan procedure yang


buku mengandungi 2 function
iaitu Kemaskini status
peminjaman dan
pemulangan murid
dan Kemaskini status buku.

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.

SAINS KOMPUTER • TINGKATAN 4


Mula
urusanBuku()
paparanMenu()

Pilihan
Pilihan Pengguna
Pengguna

Apakah pilihan Apakah pilihan


pengguna? pengguna?

1
rekodBuku()
1
pinjamBuku()
Tamat 2
urusanBuku() 2
pulangBuku()
3
maklumatStudent()

return()

Rajah 6.5

7. Perhatikan bahawa di gelung pilihan menu, setiap satu


pilihan sekarang diwakili oleh simbol subatur cara.
Ini membolehkan kita untuk menjelaskan dengan lebih teliti 248
function setiap subatur cara. Pada akhir setiap subatur cara,
untuk kembalikan aliran kawalan ke atur cara utama, kita
perlu gantikan simbol akhir dengan simbol return pada
akhir subatur cara. Dalam atur cara utama, program kita
akan tamat pilihan pengguna tidak merangkumi nombor
pilihan pada subatur cara.

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


8. Guru mengulas semula tentang kebaikan menulis atur
cara bermodul kita akan menjadi terlalu rumit untuk kita
menyahralat dan terlalu sukar untuk menuliskan atur cara
tersebut.
9. Murid diberikan masa 15 minit untuk melengkapkan
Lembaran Kerja 6B-3 soalan 1 – 3. ALG
10. Guru menerangkan bahawa langkah seterusnya adalah
untuk menulis atur cara untuk setiap subatur cara.
11. Guru menerangkan semula sintaks untuk mentakrifkan satu
subatur cara yang baru:
RANCANGAN PENGAJARAN 6B
MASA CADANGAN AKTIVITI BBM PEMETAAN
12. Guru memberi contoh cara mentakrifkan sesuatu subatur
cara:

SAINS KOMPUTER • TINGKATAN 4


Subatur Atur cara

Paparan menu public static void paparanMenu()

Tambah buku public static void tambahBuku(int x)

13. Guru juga mengulas contoh atur cara yang mengandungi


subatur cara dan membimbing murid untuk mengesan
aliran kawalan atur cara dan juga penghantaran/
penerimaan pemboleh ubah antara subatur cara pada ]
Rajah 6.4.

249

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF

Rajah 6.6

14. Guru memperkenalkan function matematik yang mungkin


diperlukan seperti:
a. Pemalar Math.PI
b. Math.pow(a,b)
c. Math.sqrt(a)
d. Math.round(a)
RANCANGAN PENGAJARAN 6B
MASA CADANGAN AKTIVITI BBM PEMETAAN
15. Guru membimbing murid dalam menghasilkan subatur cara • Lembaran
salah satu isipadu bongkah dahulu. Guru mengingatkan Kerja

SAINS KOMPUTER • TINGKATAN 4


murid tentang konsep incremental development iaitu 6B-3
membina program sedikit demi sedikit.
a. Murid memilih sekurang-kurangnya 2 isipadu bongkah
dalam Lembaran Kerja 6B-3.
16. Guru mengingatkan murid untuk saling menyemak hasil
kerja rakan setelah selesai menulis atur cara.

5 Minit Penutup:

1. Guru memilih beberapa murid untuk menunjukkan carta alir


mereka di hadapan kelas.
2. Murid merumuskan penulisan atur cara dengan amalan
yang baik untuk tunjukkan atur cara di hadapan kelas.

250

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


LAMPIRAN 6B-1: CARTA
Murid merujuk kepada carta ini dalam pembelajaran pembinaan
subatur cara.

SAINS KOMPUTER • TINGKATAN 4


Pusat Sumber Sekolah

Paparan Rekod buku Urusan buku Maklumat murid


menu

Pinjaman buku Pemulangan Semak


buku kewujudan
Perlupusan
Tambah murid
buku
buku

Kemaskini Kemaskini
Semak status status

251
kewujudan peminjaman peminjaman
Kemaskini
buku dan dan
status
pemulangan pemulangan
buku
murid murid
Tambahkan
buku

Semak Semak Kemaskini


kewujudan kewujudan status Kemaskini

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


buku Semak murid peminjaman status buku
kewujudan dan
buku pemulangan
murid

Lupuskan
buku
Standard
Pembelajaran:
1.6.2, 1.6.3

LEMBARAN KERJA 6B-1


NAMA: TARIKH:
KELAS:

Murid perlu membuat rancangan carta alir sebelum menuliskan atur cara.

SAINS KOMPUTER • TINGKATAN 4


1. Atur cara untuk sebuah kalkulator. Pastikan setiap case pilihan hanya mengandungi function.
a. Pengguna masukkan dua nombor x dan y.
b. Tukarkan atur cara pada lembaran kerja 4.1C dengan menghasilkan subatur cara untuk pengiraan
berikut:
i. Menambah dua nombor tersebut
ii. Menolak dua nombor tersebut
iii. Mendarab dua nombor tersebut
iv. Menguasakan dua nombor tersebut
c. Output adalah berdasarkan pilihan pengguna.

Carta Alir

252

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


Standard
Pembelajaran:
1.6.2, 1.6.3

LEMBARAN KERJA 6B-1


Atur Cara

SAINS KOMPUTER • TINGKATAN 4


253

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF

Komen guru:


Tarikh:
Standard
Pembelajaran:
1.6.2, 1.6.3

LEMBARAN KERJA 6B-2


NAMA: TARIKH:
KELAS:

2. Carta alir ini mengandungi tiga subatur cara, iaitu:

SAINS KOMPUTER • TINGKATAN 4


i. sayHello – tiada input. Memaparkan “Hello World” kepada pengguna.
ii. plusOne – mengambil input 1 nombor x, menambahkan 1 kepada x, memulangkan nilai baru
x kepada atur cara utama.
b. sumOfSquare– mengambil input 2 nombor, x dan y, memulangkan keputusan x2+y2 kepada atur cara
utama.
Hasilkan subatur cara bagi setiap carta alir yang diberi.

Carta Alir

Mula sayHello() plusOne(x)

sayHello() “Hello World” Mengisytiharkan satu pemboleh


ubah baru result

Minta 1 nilai daripada


pengguna, x Return result = x + 1

X = plusOne(x) Return result

Mengisytiharkan satu pemboleh ubah baru


result
sumOfSquare(x,y)
254
Minta 1 nilai daripada
pengguna, y Mengisytiharkan satu pemboleh
ubah baru result

result = sumOfSquare(x,y)

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


result = (x* x) + (y *y)

Paparkan nilai result


Return result

Tamat
Standard
Pembelajaran:
1.6.2, 1.6.3

LEMBARAN KERJA 6B-2


Atur Cara

SAINS KOMPUTER • TINGKATAN 4


255

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF

Komen guru:


Tarikh:
Standard
Pembelajaran:
1.1.2, 1.3.6,
1.6.2, 1.6.3

LEMBARAN KERJA 6B-3


NAMA: TARIKH:
KELAS:

Murid merancang algoritma dengan soalan bimbingan.

SAINS KOMPUTER • TINGKATAN 4


Hasilkan satu kalkulator yang boleh mengirakan isipadu bongkah. Formula isipadu bongkah-bongkah adalah
seperti berikut:

Persamaan Perbezaan

Isipadu = a 3

Isipadu = π r2 h

Isipadu = lwh

Isipadu = 4 π r2 h

256
3

1
Isipadu = π r2 h
3

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


Isipadu = 1 (luas Base) 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,

LEMBARAN KERJA 6B-3 1.3-4,1.6-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.

Pusat Sumber Sekolah

SAINS KOMPUTER • TINGKATAN 4


Paparan menu Rekod buku Urusan buku Maklumat murid

Perlupusan Kemaskini
Tambah Pinjaman buku Pemulangan
Semak status
buku buku buku
kewujudan peminjaman
murid dan
pemulangan
murid

Tambahkan Lupuskan Kemaskini Kemaskini


Semak Semak buku Semak Semak
buku kewujudan Kemaskini status status Kemaskini
kewujudan kewujudan kewujudan
buku status buku peminjaman peminjaman status buku
buku buku murid
dan dan
pemulangan pemulangan
murid murid

257

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


Standard
Pembelajaran:
1.1.2, 1.3.6,
1.6.2, 1.6.3

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.

SAINS KOMPUTER • TINGKATAN 4


258

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


Standard
Pembelajaran:
1.1.2, 1.3.6,
1.6.2, 1.6.3

LEMBARAN KERJA 6B-3


3) Berikut adalah contoh carta alir bagi sebuah sistem rekod disiplin. Dengan merujuk carta alir di bawah,
hasilkan carta alir anda bagi kalkulator. Algoritma anda mestilah bermodular. Ertinya, pilihan pengguna
pada menu pilihan seharusnya memanggil ke function lain dan bukan melakukan pengiraan.

SAINS KOMPUTER • TINGKATAN 4


Mula
urusanBuku()
paparanMenu()

Pilihan
Pilihan Pengguna
Pengguna

Apakah pilihan Apakah pilihan


pengguna? pengguna?

Tamat 1
1
pinjamBuku()
rekodBuku()

2
2 pulangBuku()
urusanBuku()

3
maklumatStudent()
return()

259

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


LEMBARAN KERJA 6B-3
Standard

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

LEMBARAN KERJA 6B-3


4) Hasilkan atur cara anda di ruangan yang disediakan.

SAINS KOMPUTER • TINGKATAN 4


261

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


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.

SAINS KOMPUTER • TINGKATAN 4


a. Pengguna masukkan dua nombor x dan y.
b. Tukarkan atur cara pada lembaran kerja 4.1C dengan menghasilkan subatur cara untuk pengiraan
berikut:
i. Menambah dua nombor tersebut
ii. Menolak dua nombor tersebut.
iii. Mendarab dua nombor tersebut.
iv. Menguasakan dua nombor tersebut.
c. Output adalah berdasarkan pilihan pengguna.

Carta Alir

Mula
tambah(x,y) tolak(x,y)

Isytiharkan pemboleh Isytiharkan pemboleh


2 nombor: x, y ubah Jawapan untuk ubah Jawapan untuk
simpan nilai jawapan simpan nilai jawapan
1 nombor:
pilihan Jawapan = x+y Jawapan = x-y 262
Isytiharkan pemboleh ubah Jawapan untuk simpan Return Jawapan Return Jawapan
nilai jawapan

darab(x,y) kuasa(x,y)

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


Apakah pilihan
murid? Isytiharkan pemboleh Isytiharkan pemboleh
ubah Jawapan untuk ubah Jawapan untuk
1 simpan nilai jawapan simpan nilai jawapan
Jawapan = tambah(x,y)
Jawapan = x*y Jawapan = pow(xy)

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;

SAINS KOMPUTER • TINGKATAN 4


import java.lang.Math;
class Main
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
int x,y;
System.out.println("What is x?");
x = in.nextInt();
System.out.println("What is y?");
y = in.nextInt();
System.out.println("1 - X plus Y");
System.out.println("2 - X minus Y");
System.out.println("3 - X times Y");
System.out.println("4 - Raise x to the power of y");
System.out.println("What is your choice?");
int choice = in.nextInt();
int answer = 0;
switch(choice)
{
case 1:
answer = add(x,y);
break;
case 2:
answer = minus(x,y);
break;
case 3:
answer = multiply(x,y);

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;

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


return answer;
}
public static int minus(int x, int y)
{
int answer = x-y;
return answer;
}
public static int multiply(int x, int y)
{
int answer = x*y;
return answer;
}
public static int power(int x, int y){
int answer = (int) Math.pow(x,y);
return answer;
}
}!
SKEMA JAWAPAN
LEMBARAN KERJA 6B-2

2. Carta alir ini mengandungi tiga subatur cara, iaitu:


i. sayHello – tiada input. Memaparkan “Hello World” kepada pengguna.

SAINS KOMPUTER • TINGKATAN 4


ii. plusOne – mengambil input 1 nombor x, menambahkan 1 kepada x, memulangkan nilai baru
x kepada atur cara utama.
b. sumOfSquare– mengambil input 2 nombor, x dan y, memulangkan keputusan x2+y2 kepada atur cara
utama.
Hasilkan subatur cara bagi setiap carta alir yang diberi.

Carta Alir

Mula sayHello() plusOne(x)

sayHello() “Hello World” Mengisytiharkan satu pemboleh


ubah baru result

Minta 1 nilai daripada


pengguna, x Return result = x + 1

X = plusOne(x) Return result

Mengisytiharkan satu pemboleh ubah baru

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)

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


Paparkan nilai result
Return result

Tamat
SKEMA JAWAPAN
LEMBARAN KERJA 6B-2
Atur Cara

import java.util.Scanner;

SAINS KOMPUTER • TINGKATAN 4


class Main
{
public static void main(String[] args)
{
Scanner in = new Scanner(System.in);
sayHello();
System.out.println("Give me x");
int x = in.nextInt();
x = plusOne(x);
System.out.println("Give me y");
int y = in.nextInt();
int result = sumOfSquare(x,y);
System.out.println("Result is "+ result);
}

public static void sayHello()


{
System.out.println("Hello World");
}
265
public static int plusOne(int x)
{
int result = x+1;
return result;
}

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


public static int sumOfSquare(int x, int y)
{
int result = (x*x) + (y*y);
return result;
}
}!
SKEMA JAWAPAN
LEMBARAN KERJA 6B-3
Murid merancang algoritma dengan soalan bimbingan.
Hasilkan satu kalkulator yang boleh mengirakan isipadu bongkah. Formula isipadu bongkah-bongkah adalah
seperti berikut:

SAINS KOMPUTER • TINGKATAN 4


Persamaan Perbezaan

Isipadu = a 3

Isipadu = π r2 h

Isipadu = lwh

Isipadu = 4/3 π r2 h
266

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


Isipadu = 1/3 π r2 h

Isipadu = 1/3 (luas Base) h

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.

Pusat Sumber Sekolah

SAINS KOMPUTER • TINGKATAN 4


Paparan menu Rekod buku Urusan buku Maklumat murid

Perlupusan Kemaskini
Tambah Pinjaman buku Pemulangan
Semak status
buku buku buku
kewujudan peminjaman
murid dan
pemulangan
murid

Tambahkan Lupuskan Kemaskini Kemaskini


Semak Semak buku Semak Semak
buku kewujudan Kemaskini status status Kemaskini
kewujudan kewujudan kewujudan
buku status buku peminjaman peminjaman status buku
buku buku murid
dan dan
pemulangan pemulangan
murid murid

267

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


SKEMA JAWAPAN
LEMBARAN KERJA 6B-3
2) Dalam ruang berikut, lakarkan ataupun catatkan function yang mungkin anda perlukan
dalam atur cara anda.

SAINS KOMPUTER • TINGKATAN 4


• Function untuk paparkan menu
o Input dari papan kekunci
o Pilihan akan mengalihkan kawalan program
kepada function yang berkenaan
• Function untuk kirakan isipadu sfera
o Memerlukan function untuk mengira kuasa nombor
• Function untuk kirakan isipadu kon
o Memerlukan function untuk mengira kuasa nombor
• Function untuk kirakan kuasa nombor
o Import dari math.pow

268

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


SKEMA JAWAPAN
LEMBARAN KERJA 6B-3
3) Berikut adalah contoh carta alir bagi sebuah sistem rekod disiplin. Dengan merujuk carta alir di bawah,
hasilkan carta alir anda bagi kalkulator. Algoritma anda mestilah bermodular. Ertinya, pilihan pengguna
pada menu pilihan seharusnya memanggil ke function lain dan bukan melakukan pengiraan.

SAINS KOMPUTER • TINGKATAN 4


Mula
Mula
urusanBuku()
urusanBuku()
paparanMenu()
paparanMenu()
Pilihan
Pilihan Pilihan
Pengguna
Pilihan
Pengguna Pengguna
Pengguna

Apakah pilihan Apakah pilihan


pengguna? pengguna?
Apakah pilihan
Apakah pilihan
pengguna? pengguna?
Tamat
1 1
pinjamBuku()
rekodBuku() Tamat
1 1
2 pinjamBuku()
2
rekodBuku()
pulangBuku()
urusanBuku()
2
2 pulangBuku()
3 urusanBuku()
maklumatStudent()
return()
3
maklumatStudent()
return()

269

displayMenu() sphereVolume()
Mula

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


Paparkan menu Dapatkan
displayMenu() nilai r

Pilihan return
pow(r,3)
Pengguna

Kirakan isipadu dan


coneVolume() simpan dalam answer
Apakah pilihan -1
Tamat
pengguna?
Dapatkan
Return answer
nilai r dan h

1
Paparkan pow(r,2) pow(x, y)
sphereVolume
jawapan

2 Kirakan isipadu dan


coneVolume simpan dalam answer

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;

SAINS KOMPUTER • TINGKATAN 4


class Main {
public static void main(String[] args) {
int choice;
double answer;
Scanner in = new Scanner(System.in);
//Loop for the menu
do{
displayMenu();
choice = in.nextInt();
switch(choice){
case 1:
answer = sphereVolume();
System.out.println(answer);
break;
case 2:
answer = coneVolume();
System.out.println(answer);
break;
case -1:
System.out.println("Good bye");
break;
default:
System.out.println("Wrong option. Try again!");

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");

6B • MODUL ATUR CARA DENGAN JENIS DATA PRIMITIF


System.out.println("2 - Volume of a cone");
System.out.println("-1 - Quit");
}

//Calculate volume for a sphere


public static double sphereVolume(){
System.out.println("What is the r?");
Scanner in = new Scanner(System.in);
int r = in.nextInt();
//Don't forget to use 4.0/3.0 to make sure that the answer of 4.0/3.0 is
1.3333, not 1 (integer operation)
double answer = (4.0/3.0) * Math.PI * Math.pow(r,3);
return answer;
}

//Calculate the volume of a cone


public static double coneVolume(){
Scanner in = new Scanner(System.in);
System.out.println("What is the r?");
int r = in.nextInt();
System.out.println("What is the h?");
int h = in.nextInt();
//Don't forget to use 1.0/3.0 to make sure that the answer of 4.0/3.0 is
0.3333, not 0 (integer operation)
double answer = (1.0/3.0) * Math.PI * Math.pow(r,2) * h;
return answer;
}
}!
SAINS KOMPUTER • TINGKATAN 4
PENGAJARAN 6C
MODUL DENGAN STRUKTUR
TATASUSUNAN
STANDARD KANDUNGAN
1.5 Amalan Terbaik Pengaturcaraan
1.6 Struktur Data dan Modular

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

Guru hendaklah memastikan di akhir penggunaan modul PdP ini,


murid dapat mencapai Standard Pembelajaran yang dinyatakan
di atas.

Kandungan Muka surat


Rancangan Pengajaran 6C 273
Lembaran Kerja 6C-1 281
Skema Jawapan 292
PENGAJARAN 6C
STANDARD KANDUNGAN
1.5 Amalan Terbaik Pengaturcaraan
1.6 Struktur Data dan Modular
Masa: 60 Minit

STANDARD PEMBELAJARAN Penerapan Pemikiran

SAINS KOMPUTER • TINGKATAN 4


Komputasional (PPK):
1.5.3 Mengenal pasti nilai bagi pemboleh ubah • Simulation (SIM)
pada bahagian tertentu atur cara
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
1.6.4 Menulis atur cara bermodular yang
mengandungi struktur tatasusunan

BAHAN BANTU MENGAJAR (BBM)


Bahan untuk kelas
Tiada

Bahan untuk setiap kumpulan 272


1. Cetakkan Lembaran Kerja 6C-1 untuk setiap kumpulan

Bahan untuk setiap murid


1. Lembaran Kerja 6C-1

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


SUMBER TAMBAHAN

1. Atur cara penerangan:


https://repl.it/CA3r
2. Atur cara latihan kumpulan (kerangka atur cara):
https://repl.it/CJip
3. Atur cara lengkap bagi latihan kumpulan:
https://repl.it/CJis
4. Dokumentasi untuk penulisan subaturcara baru:
https://docs.oracle.com/javase/tutorial/java/javaOO/methods.html
5. Dokumentasi rasmi tatasusunan
https://docs.oracle.com/javase/tutorial/java/nutsandbolts/arrays.html
6. Nota mengenai penghantaran dan penerimaan parameter
http://www.yoda.arachsys.com/java/passing.html
RANCANGAN PENGAJARAN 6C
MASA CADANGAN AKTIVITI BBM PEMETAAN
5 Set Induksi PPK
Minit

SAINS KOMPUTER • TINGKATAN 4


1. Guru merujuk semula kepada contoh sistem pusat sumber
sekolah. Tugas utama sistem adalah untuk mengemaskini KA21
maklumat buku.
2. Guru juga menerangkan bahawa dalam sistem
mengemaskini maklumat buku, terdapat beberapa
jenis maklumat yang perlu diproses seperti maklumat
murid dan maklumat buku.
3. Murid cuba memikirkan jenis atur cara yang diperlukan
semasa memproseskan maklumat buku. (Guru memberi
petunjuk kepada penggunaan subatur cara dan
penggunaan tatasusunan untuk penyimpanan lokasi
maklumat buku dan maklumat murid)
4. Guru menerangkan tentang penggunaan subatur cara dan
tatasusunan dalam sistem pusat sumber ini.

50 Aktiviti 1: Modul Atur cara dengan Tatasusunan Standard


Minit Pembelajaran
1. Guru meminta murid untuk meneka apakah maksud 1.5.3
(Strings[] args) di fungsi main. 1.6.2
2. Pernyataan atur cara tersebut bermaksud bahawa fungsi 1.6.3
main sedia untuk menerima satu tatasusunan Strings yang 1.6.4 273
bernama args.
3. Guru menjelaskan bahawa subatur cara juga boleh terima KA21
data dalam bentuk tatasusunan dan menghantar data keluar KS
dalam bentuk tatasusunan.
4. Guru menunjukkan format bahasa pengaturcaraan bagi PPK
pemindahan data antara main() dengan subatur cara. Guru SIM

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


kemudian meminta murid menukarkan parameter biasa
kepada tatasusunan.
5. Contohnya, fungsi main sedia menerima satu tatasusunan
rentetan aksara (Strings) yang bernama args.
6. Berikut adalah contoh untuk penghantaran dan penerimaan
tatasusunan.
RANCANGAN PENGAJARAN 6C
MASA CADANGAN AKTIVITI BBM PEMETAAN

SAINS KOMPUTER • TINGKATAN 4


Rajah 6.1

7. Guru menerangkan bahawa penghantaran dan penerimaan


tatasusunan serta semua data adalah penghantaran nilai
sahaja. Nilai tatasusunan yang dihantar ke subatur cara tidak
akan berubah. Kita perlu mencipta tatasusunan yang baru
setiap kali untuk menyimpan nilai tatasusunan yang telah
diubahkan. 274
8. Dalam subatur cara doubleValue(), apabila kita menghantar
data tatasusunan kepada doubleValue() pada baris 7, kita
sebenarnya menciptakan satu lagi tatasusunan baru
bernama valueTimesTwo yang mempunyai semua nilai yang
dihantarkan kepadanya. Untuk memastikan perubahan
berlaku kepada nilai asal dalam subatur cara, kita

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


perlu pulangkan nilai baru dari subatur cara ke atur cara
utama dan menggantikan nilai asal dengan nilai baru.
RANCANGAN PENGAJARAN 6C
MASA CADANGAN AKTIVITI BBM PEMETAAN
9. Boleh bayangkan seperti begini, guru mempunyai kertas • Lampiran
nota asal (merujuk kepada atur cara utama), apabila guru 6B-1

SAINS KOMPUTER • TINGKATAN 4


mengedarkan kertas itu kepada murid, (merujuk kepada
subatur cara), guru sebenarnya membuat satu salinan
(photocopy) nota untuk murid itu. Contengan murid
pada kertasnya tidak akan menganggu salinan asal yang
ada pada guru.
10. Untuk mengatasi masalah ini, setelah murid itu
melengkapkan salinan notanya, murid itu akan
memulangkan salinannya kepada guru dan nota asal akan
digantikan dengan salinan murid. Dengan ini, kertas yang
ada pada tangan guru (atur cara utama) merupakan nota
yang telah diproses oleh murid (subatur cara).
11. Guru membimbing murid dalam mengesani perubahan
pemboleh ubah dan juga aliran kawalan bersama murid.
12. Guru membahagikan murid kepada kumpulan berempat.
13. Guru melabelkan murid dengan nombor 1,2,3 dan 4 dan
memberitahu bahawa ini adalah kumpulan Homegroup
mereka.
14. Guru menerangkan bahawa murid akan membangunkan
satu aplikasi yang mempunyai 13 jenis fungsi yang
berlainan.
15. Guru menjelaskan tentang atur cara yang ada pada
https://repl.it/CJhf 275
16. Guru menerangkan bahawa fungsi rangka (skeleton
program) telah pun disediakan untuk mereka. )

Persamaan Perbezaan

Main Ini adalah fungsi utama atur cara. Ia

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


mengandungi satu gelung do-while
untuk pengulangan paparan menu
dan pilihan. Ia juga mengandungi satu
kawalan pilihan switch untuk kawalan
pilihan.

displayMenu() Subatur cara procedure yang


memaparkan menu pilihan.

timesTwo(int[] value) Subatur cara function yang menerima


parameter tatsusunan integer dan
memulangkan tatasusunan integer yang
baru di mana semua nilai telah didarab
dengan dua.

timesEight(int[] value) Subatur cara function yang menerima


parameter tatsusunan integer dan
memulangkan tatasusunan integer yang
baru di mana semua nilai telah didarab
dengan lapan.
RANCANGAN PENGAJARAN 6C
MASA CADANGAN AKTIVITI BBM PEMETAAN

Persamaan Perbezaan

SAINS KOMPUTER • TINGKATAN 4


Max(int[] value) Subatur cara function yang menerima
parameter tatasusunan integer dan
memulangkan nilai paling besar di
tatasusunan tersebut.

Min(int[] value) Subatur cara function yang menerima


parameter tatasusunan integer dan
memulangkan nilai paling kecil di
tatasusunan tersebut.

Gap(int[] value) Subatur cara function yang menerima


parameter tatasusunan integer dan
memulangkan nilai perbezaan antara
nilai paling besar dan paling kecil di
tatasusunan tersebut.

sumOfAll(int[] value) Subatur cara function yang menerima


parameter tatasusunan integer dan
memulangkan jumlah hasil tambah
semua integer talam tatasusunan
tersebut.

276
averageOfAll(int[] value) Subatur cara function yang menerima
parameter tatasusunan integer dan
memulangkan nilai purata semua integer
dalam tatasusunan tersebut.

addOne(int[] value) Subatur cara function yang menerima


parameter tatsusunan integer dan
memulangkan tatasusunan integer yang
baru di mana semua nilai telah

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


bertambah satu.

addFive(int[] value) Subatur cara function yang menerima


parameter tatsusunan integer dan
memulangkan tatasusunan integer yang
baru di mana semua nilai telah
dibertambah lima.

countOdd(int[] value) Subatur cara function yang menerima


parameter tatasusunan integer dan
memulangkan bilangan nombor ganjil
dalam tatasusunan tersebut.
RANCANGAN PENGAJARAN 6C
MASA CADANGAN AKTIVITI BBM PEMETAAN

Persamaan Perbezaan

SAINS KOMPUTER • TINGKATAN 4


countEven(int[] value) Subatur cara function yang menerima
parameter tatasusunan integer dan
memulangkan bilangan nombor genap
dalam tatasusunan tersebut.

countOddAndEven(int[] Subatur cara function yang menerima


value) parameter tatasusunan integer dan
memulangkan bilangan nombor ganjil
dan genap dalam tatasusunan tersebut.

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

Isytiharkan satu tatasusunan baru


yang bernama doubleValue

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


Isytiharkan nilai i ke 0

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()

SAINS KOMPUTER • TINGKATAN 4


int[] values

Isytiharkan satu tatasusunan baru


yang bernama eightValue

Count = 0

tidak HantarkaneightValue kepada


Adakah nilai i ya subatur cara doubleValue dan
Return eightValue kurang daripada menetapkan nilai eightValue ke
3? nilai pulangan daripada subatur
cara doubleValue

doubleValue(eightValue)

Count++

Rajah 6.3

18. Guru juga boleh menunjukkan atur cara untuk mencarikan


nombor maksimum untuk mengulas pengitaran indeks
tatasusunan dengan gelung for.

max() 278
int[] values

Isytiharkan nilai maksimum

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


sementara, max = 0

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

SAINS KOMPUTER • TINGKATAN 4


tugasan. Untuk menghasilkan atur cara yang besar dan
kompleks ini memerlukan kerjasama kumpulan untuk
menghasilkannya. (KS)
20. Guru menerangkan bahawa murid akan diagihkan tugas • Lembaran
seperti berikut: (SIM) (1.5-3) (1.6-2) (1.6-3) (1.6-4) Kerja 6C-1
a. Murid yang dilabelkan 1:
i. Subatur cara Min
ii. Subatur cara Max
iii. Subatur cara Gap
b. Murid yang dilabelkan 2:
i. Subatur cara sumOfAll
ii. Subatur cara averageOfAll
c. Murid yang dilabelkan 3
i. Subatur cara addOne
ii. Subatur cara addFive
d. Murid yang dilabelkan 4:
i. Subatur cara countOdd
ii. Subatur cara countEven
iii. Subatur cara countOddAndEven
21. Murid boleh membentuk kumpulan baru mengikut nombor.
Contohnya, semua murid yang dilabelkan 1 akan
membentuk kumpulan dengan murid label 1 yang lain. 279
22. Guru memberitahu bahawa kumpulan yang mengandungi
murid dari label yang sama dikenali sebagai (Expert Group).
23. Guru menerangkan bahawa dalam pembangunan aplikasi,
pengatur cara sebenarnya akan membentuk kumpulan
bekerja (working group) untuk membangunkan sebahagian
fungsi daripada aplikasinya. Dalam kes ini, kumpulan pakar

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


adalah kumpulan bekerja tersebut.
24. Guru juga boleh memberitahu bahawa subatur cara yang
diagihkan pada setiap kumpulan pakar adalah berkaitan
dengan satu sama lain. Murid boleh berbincang dalam
kumpulan pakar mereka dan bekerjasama untuk
melengkapkan tugasan yang diberi.
25. Guru mengingatkan murid bahawa tanggungjawab mereka
adalah amat penting, ini kerana atur cara yang lengkap
memerlukan kerjasama antara semua murid dalam
kumpulan homegroup untuk menyiapkan tugas masing-
masing.
26. Murid diberikan masa 20 minit untuk melengkapkan
tugasan dalam kumpulan pakar dan 10 minit dalam
kumpulan homegroup untuk menggabungkan semua
subatur cara.
27. Murid juga perlu lengkapkan Lembaran Kerja 6C-1 untuk
kumpulan homegroup mereka.
RANCANGAN PENGAJARAN 6C
MASA CADANGAN AKTIVITI BBM PEMETAAN
5 Penutup:
Minit

SAINS KOMPUTER • TINGKATAN 4


1. Guru bertanyakan murid contoh penggunaan tatasusunan
dan modul pengaturcaraan dalam kehidupan harian.
2. Guru terangkan bahawa pengaturcaraan secara bermodul
adalah trend utama dalam dunia pengaturcaraan. Hampir
semua atur cara komputer dan laman web adalah dalam
bentuk pengaturcaraan secara bermodul.
3. Guru menerangkan bahawa proses modul memudahkan
pembangunan aplikasi besar dan juga menyenangkan kerja
pengatur cara kerana modul yang telah ditulis boleh
dipakai semula.
4. Begitu juga dengan tatasusunan – tatasusunan yang
merupakan satu jenis struktur data yang amat biasa
dijumpai dalam perisian komputer dan telefon mudah alih.

280

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


Standard
Pembelajaran:
1.5.3, 1.6.2,
1.6.3, 1.6.4

LEMBARAN KERJA 6C-1


NAMA: TARIKH:
KELAS:

Anda adalah seorang pengatur cara untuk sebuah syarikat komputer. Syarikat anda dikehendaki untuk
menghasilkan satu atur cara yang boleh mengubah dan menganalisis tatasusunan nombor.

SAINS KOMPUTER • TINGKATAN 4


Rangka untuk atur cara tersebut telah disediakan di laman sesawang: https://repl.it/CJip
Tugas anda adalah menyediakan subatur cara yang telah ditentukan:
Senarai subatur cara yang diperlukan adalah seperti berikut:

Lengkap atau
Kod Persamaan Fungsi / Penjelasan Agihan tugas
tidak?

A Main Ini adalah fungsi utama atur cara. Ia Sudah Ya


mengandungi satu gelung do-while disediakan
untuk pengulangan paparan menu dan
pilihan. Ia juga mengandungi satu
kawalan pilihan switch untuk kawalan
pilihan.

B displayMenu() Subatur cara yang memaparkan menu Sudah Ya


pilihan. disediakan

Subatur cara yang menerima Sudah Ya


C timesTwo(int[] value) parameter tatsusunan integer dan disediakan
memulangkan tatasusunan integer
yang baru di mana semua nilai telah
didarab dengan dua.

D timesEight(int[] value) Subatur cara yang menerima Sudah Ya


281
parameter tatasusunan integer dan disediakan
memulangkan tatasusunan integer
yang baru di mana semua nilai telah
didarab dengan lapan.

E01 Max(int[] value) Subatur cara yang menerima Sudah Ya

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


parameter tatasusunan integer dan disediakan
memulangkan nilai paling besar di
tatasusunan tersebut.

E02 Min(int[] value) Subatur cara yang menerima Ahli 1


parameter tatasusunan integer dan
memulangkan nilai paling kecil di
tatasusunan tersebut.

E03 Gap(int[] value) Subatur cara yang menerima Ahli 1


parameter tatasusunan integer dan
memulangkan nilai perbezaan antara
nilai paling besar dan paling kecil di
tatasusunan tersebut.

F01 sumOfAll(int[] value) Subatur cara yang menerima Ahli 2


parameter tatasusunan integer dan
memulangkan jumlah hasil tambah
semua integer talam tatasusunan
tersebut.

F02 averageOfAll(int[] Subatur cara yang menerima Ahli 2


value) parameter tatasusunan integer dan
memulangkan nilai purata semua
integer dalam tatasusunan tersebut.
Standard
Pembelajaran:
1.5.3, 1.6.2,
1.6.3, 1.6.4

LEMBARAN KERJA 6C-1


Kod Persamaan Fungsi / Penjelasan Agihan tugas Lengkap atau
tidak?

G01 addOne(int[] value) Subatur cara yang menerima Ahli 3


parameter tatsusunan integer dan

SAINS KOMPUTER • TINGKATAN 4


memulangkan tatasusunan integer
yang baru di mana semua nilai telah
bertambah satu.

G02 addFive(int[] value) Subatur cara yang menerima Ahli 3


parameter tatasusunan integer dan
memulangkan tatasusunan integer
yang baru di mana semua nilai telah
dibertambah lima.

H01 countOdd(int[] value) Subatur cara yang menerima Ahli 4


parameter tatasusunan integer dan
memulangkan bilangan nombor ganjil
dalam tatasusunan tersebut.

H02 countEven(int[] value) Subatur cara yang menerima Ahli 4


parameter tatasusunan integer dan
memulangkan bilangan nombor genap
dalam tatasusunan tersebut.

H03 countOddAndEven Subatur cara yang menerima Ahli 4


(int[]value) parameter tatasusunan integer dan
memulangkan bilangan nombor ganjil

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.

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


Standard
Pembelajaran:
1.5.3, 1.6.2,
1.6.3, 1.6.4

LEMBARAN KERJA 6C-1


Carta alir E02

SAINS KOMPUTER • TINGKATAN 4


283
Atur cara E02

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


Standard
Pembelajaran:
1.5.3, 1.6.2,
1.6.3, 1.6.4

LEMBARAN KERJA 6C-1


Carta alir E03

SAINS KOMPUTER • TINGKATAN 4


284
Atur cara E03

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


Standard
Pembelajaran:
1.5.3, 1.6.2,
1.6.3, 1.6.4

LEMBARAN KERJA 6C-1


Carta alir F01

SAINS KOMPUTER • TINGKATAN 4


285
Atur cara F01

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


Standard
Pembelajaran:
1.5.3, 1.6.2,
1.6.3, 1.6.4

LEMBARAN KERJA 6C-1


Carta alir F02

SAINS KOMPUTER • TINGKATAN 4


286
Atur cara F02

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


Standard
Pembelajaran:
1.5.3, 1.6.2,
1.6.3, 1.6.4

LEMBARAN KERJA 6C-1


Carta alir G01

SAINS KOMPUTER • TINGKATAN 4


287
Atur cara G01

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


Standard
Pembelajaran:
1.5.3, 1.6.2,
1.6.3, 1.6.4

LEMBARAN KERJA 6C-1


Carta alir G02

SAINS KOMPUTER • TINGKATAN 4


288
Atur cara G02

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


Standard
Pembelajaran:
1.5.3, 1.6.2,
1.6.3, 1.6.4

LEMBARAN KERJA 6C-1


Carta alir H01

SAINS KOMPUTER • TINGKATAN 4


289
Atur cara H01

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


Standard
Pembelajaran:
1.5.3, 1.6.2,
1.6.3, 1.6.4

LEMBARAN KERJA 6C-1


Carta alir H02

SAINS KOMPUTER • TINGKATAN 4


290
Atur cara H02

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


Standard
Pembelajaran:
1.5.3, 1.6.2,
1.6.3, 1.6.4

LEMBARAN KERJA 6C-1


Carta alir H03

SAINS KOMPUTER • TINGKATAN 4


Atur cara H03

291

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


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:

SAINS KOMPUTER • TINGKATAN 4


Senarai subatur cara yang diperlukan adalah seperti berikut:

Lengkap atau
Kod Persamaan Fungsi / Penjelasan Agihan tugas
tidak?

A Main Ini adalah fungsi utama atur cara. Ia Sudah Ya


mengandungi satu gelung do-while disediakan
untuk pengulangan paparan menu dan
pilihan. Ia juga mengandungi satu
kawalan pilihan switch untuk kawalan
pilihan.

B displayMenu() Subatur cara yang memaparkan menu Sudah Ya


pilihan. disediakan

Subatur cara yang menerima Sudah Ya


C timesTwo(int[] value) parameter tatasusunan integer dan disediakan
memulangkan tatasusunan integer
yang baru di mana semua nilai telah
didarab dengan dua.

D timesEight(int[] value) Subatur cara yang menerima Sudah Ya 292


parameter tatasusunan integer dan disediakan
memulangkan tatasusunan integer
yang baru di mana semua nilai telah
didarab dengan lapan.

E01 Max(int[] value) Subatur cara yang menerima Sudah Ya

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


parameter tatasusunan integer dan disediakan
memulangkan nilai paling besar di
tatasusunan tersebut.

E02 Min(int[] value) Subatur cara yang menerima Ahli 1


parameter tatasusunan integer dan
memulangkan nilai paling kecil di
tatasusunan tersebut.

E03 Gap(int[] value) Subatur cara yang menerima Ahli 1


parameter tatasusunan integer dan
memulangkan nilai perbezaan antara
nilai paling besar dan paling kecil di
tatasusunan tersebut.

F01 sumOfAll(int[] value) Subatur cara yang menerima Ahli 2


parameter tatasusunan integer dan
memulangkan jumlah hasil tambah
semua integer talam tatasusunan
tersebut.

F02 averageOfAll(int[] Subatur cara yang menerima Ahli 2


value) parameter tatasusunan integer dan
memulangkan nilai purata semua
integer dalam tatasusunan tersebut.
SKEMA JAWAPAN
LEMBARAN KERJA 6C-1
Kod Persamaan Fungsi / Penjelasan Agihan tugas Lengkap atau
tidak?

G01 addOne(int[] value) Subatur cara yang menerima Ahli 3


parameter tatsusunan integer dan

SAINS KOMPUTER • TINGKATAN 4


memulangkan tatasusunan integer
yang baru di mana semua nilai telah
bertambah satu.

G02 addFive(int[] value) Subatur cara yang menerima Ahli 3


parameter tatasusunan integer dan
memulangkan tatasusunan integer
yang baru di mana semua nilai telah
dibertambah lima.

H01 countOdd(int[] value) Subatur cara yang menerima Ahli 4


parameter tatasusunan integer dan
memulangkan bilangan nombor ganjil
dalam tatasusunan tersebut.

H02 countEven(int[] value) Subatur cara yang menerima Ahli 4


parameter tatasusunan integer dan
memulangkan bilangan nombor genap
dalam tatasusunan tersebut.

H03 countOddAndEven Subatur cara yang menerima Ahli 4


(int[]value) parameter tatasusunan integer dan
memulangkan bilangan nombor ganjil

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.

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


SKEMA JAWAPAN Min(values)

LEMBARAN KERJA 6C-1


Isytiharkan nilai minimum
sementara, min = 20000

Carta alir E02 Isytiharkan nilai i keMin(values)


0

SAINS KOMPUTER • TINGKATAN 4


Isytiharkan nilai minimum
sementara, min = 20000

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

tidak values[i] = min


values[i] = min
tidak
i++

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;

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


for(int i = 0; i<value.length;i++){
if(value[i]<= min){
min = value[i];
}
}
return min;
}!
//This function returns the minimum value in an array
public static int min(int[] value){
int min = 100000000;
for(int i = 0; i<value.length;i++){
if(value[i]<= min){
min = value[i];
}
}
return min;
}!
SKEMA JAWAPAN Gap(values)
LEMBARAN KERJA 6C-1
Isytiharkan pemboleh ubah
Carta alir E03 dengan nama smallest
Gap(values)

SAINS KOMPUTER • TINGKATAN 4


smallest =min(values)
Isytiharkan pemboleh ubah
dengan nama smallest

smallest =min(values)
Isytiharkan pemboleh ubah
dengan nama biggest
Isytiharkan pemboleh ubah
dengan nama biggest

biggest=max(values)
biggest=max(values)

Gap = biggest - smallest

Gap = biggest - smallest


Return Gap

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);

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


int max = max(value);
return max-min;
}

//This function returns the gap value (max - min) in an array


! gap(int[] value){
public static int
int min = min(value);
int max = max(value);
return max-min;
}
SKEMA JAWAPAN
LEMBARAN KERJA 6C-1
sumOfAll(values)

Carta alir F01


sumOfAll(values)
Isytihar dan tetapkan nilai
sum sementara ke 0

SAINS KOMPUTER • TINGKATAN 4


Isytihar dan tetapkan nilai
sum sementara ke 0

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

Sum = sum + values[i]

tidak
Sum = sum + values[i]
i++
tidak

Return sum i++

296
Return sum
Atur cara F01

//This function returns the sum of all values in an array

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


public static int sumOfAll(int[] value){
int sum = 0;
for(int i = 0; i<value.length;i++){
sum = sum + value[i];
}
return sum;
}

//This function returns the sum of all values in an array


public static int sumOfAll(int[] value){
int sum = 0;
for(int i = 0; i<value.length;i++){
sum = sum + value[i];
}
return sum;
}
averageOfAll(values)
SKEMA JAWAPAN
LEMBARAN KERJA
Set sum6C-1
sama dengan nilai
pulangan daripada subatur
Carta alir F02
cara sumOfAll
averageOfAll(values)

SAINS KOMPUTER • TINGKATAN 4


totalValues=sumOfAll(values)
Set sum sama dengan nilai
pulangan daripada subatur
cara sumOfAll

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

//This function returns the average of all values in an array


public static double averageOfAll(int[] value){

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


double sum = (double) sumOfAll(value);
double size = (double) value.length;
double average = sum / size;
return average;
}

//This function returns the average of all values in an array


public static double averageOfAll(int[] value){
double sum = (double) sumOfAll(value);
double size = (double) value.length;
double average = sum / size;
return average;
}
addOne(values)

SKEMA JAWAPAN Isytiharkan satu tatasusunan baru


yang bernama addOne
LEMBARAN KERJA 6C-1
Isytiharkan nilai i ke 0
Carta alir G01
addOne(values)

SAINS KOMPUTER • TINGKATAN 4


Isytiharkan satu tatasusunan baru
yang bernama addOne

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++

Return addOne 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){

Atur cara G01


int[] addOne = new int[value.length];
for(int i = 0; i<value.length;i++){
addOne[i] = value[i]+1;
}
return addOne;
}

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


//This function returns a new array where each of the number in the array has
been added one
public static int[] addOne(int[] value){
int[] addOne = new int[value.length];
for(int i = 0; i<value.length;i++){
addOne[i] = value[i]+1;
}
return addOne;
}
SKEMA JAWAPAN addFive(values)

LEMBARAN KERJA 6C-1


Isytiharkan satu tatasusunan baru
yang bernama addedFive

Count = 0
Carta alir G02
addFive(values)
**Hantarkan
tidak addFive kepada

SAINS KOMPUTER • TINGKATAN 4


Adakah
Isytiharkan nilai
satu i
tatasusunan baru ya subatur cara addOne
kurangyang bernama addedFive
daripada dan menetapkan
5? nilai addedFive ke
Count = 0 nilai pulangan
**Hantarkan daripada subatur
tidak addFive kepada cara addFive
Adakah nilai i ya subatur cara addOne
kurang daripada dan menetapkan
5? nilai addedFive ke
addedFive=addOne(addedFive) nilai pulangan
daripada subatur
cara addFive

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

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


public static int[] addFive(int[] value){
int count = 0;
int[] addFive = value;
while(count<5){
addFive = addOne(addFive);
count++;
}
//This function returns
return addFive; a new array where each of the number in the array has
}
been added five
public static int[] addFive(int[] value){
int count = 0;
int[] addFive = value;
while(count<5){
addFive = addOne(addFive);
count++;
}
return addFive;
}
countOdd(values)

SKEMA JAWAPAN Isytiharkan nilai odd ke nilai


sementara 0

LEMBARAN KERJA 6C-1 Isytiharkan nilai i ke 0

Carta alir H01 countOdd(values)

SAINS KOMPUTER • TINGKATAN 4


Adakah nilainilaii odd ke nilai
Isytiharkan
sementara 0
kurang daripada
saiz values? ya
Isytiharkan nilai i ke 0

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++){

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


if(value[i]%2 == 1){
odd++;
}
//This function returns the count of the all the odd numbers in the array
}
return odd;
public static int countOdd(int[] value){
}
int odd = 0;
for(int i = 0; i<value.length;i++){
if(value[i]%2 == 1){
odd++;
}
}
return odd;
}
SKEMA JAWAPAN **Set odd sama
dengan nilai
countEven(values)
LEMBARAN KERJA 6C-1 pulangan daripada
countOdd

**Set odd sama


Carta alir H02
countEven(values) dengan nilai
pulangan daripada
odd=countOdd(values) countOdd

SAINS KOMPUTER • TINGKATAN 4


odd=countOdd(values)
Set nilai saiz sama dengan
saiz tatasusunan values
Set nilai saiz sama dengan
saiz tatasusunan values

Even = saiz - odd


Even = saiz - odd

Return Return
eveneven
301
Atur cara H02

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


//This function returns the count of the all the even numbers in the array
public static int countEven(int[] value){
int odd = countOdd(value);
int size = value.length;
int even = size - odd;
return even;
}
//This function returns the count of the all the even numbers in the array
public static int countEven(int[] value){
int odd = countOdd(value);
int size = value.length;
int even = size - odd;
return even;
}
countOddAndEven(values)

SKEMA JAWAPAN
LEMBARAN KERJA 6C-1
countOdd
Carta alir H03
countOddAndEven(values)

SAINS KOMPUTER • TINGKATAN 4


countOdd
countEven

Paparkan nilai
countEven
Odd dan Even
Paparkan nilai
Odd dan Even

Return
Return
302

Atur cara H03

6C • MODUL DENGAN STRUKTUR DATA TATASUSUNAN


//This function prints the number of odd and even numbers in the array
public static void countOddAndEven(int[] value){
int even = countEven(value);
int odd = countOdd(value);
System.out.println("Even: " + even + " and Odd :" + odd);
}
//This function prints the number of odd and even numbers in the array
public static void countOddAndEven(int[] value){
int even = countEven(value);
int odd = countOdd(value);
System.out.println("Even: " + even + " and Odd :" + odd);
}

Anda mungkin juga menyukai