Erata
Sains Komputer
Tingkatan 4
C
ontoh 24Komputer boleh meminta umur seseorang pengguna untuk menentukan kelayakan mengundi. Syarat boolean untuk mengundi ialah 21 tahun. Jadi, atur cara kawalan pilihan if-else yang digunakan adalah seperti yang berikut:
public class Contoh24 {
public static void main(String[] args){
int umur=25;
if (umur > 20) {System.out.println("Anda layak mengundi.");}
{else System.out.println("Maaf, anda masih belum cukup umur.");}
} }
Rajah 1.27 Carta alir dan sintaks if-else
Kawalan Pilihan If-Else
Penyataan if-else digunakan untuk membuat keputusan dalam sesuatu atur cara. Hasil perbandingan itu menunjukkan hasil boolean, iaitu Ya (Benar) atau Tidak (Palsu). Penyataan susulan bergantung kepada hasil Boolean tersebut.
Contoh syarat-syarat Boolean yang digunakan dalam kawalan pilihan adalah seperti berikut:
(a) Adakah input 10 lebih besar daripada 0?
(b) Adakah suhu bilik lebih tinggi daripada 27°C?
(c) Adakah suhu kotak mengeram telur dalam lingkungan 37 sehingga 39°C?
(d) Adakah pemohon berumur 16 tahun ke atas?
(e) Adakah markah input 40 atau ke atas?
If-else statement in Java http://goo.gl/kkyqN9
if (<syarat Boolean>) {
<Arahan-arahan jika Benar>
} else {
<Arahan-arahan jika Palsu>
}
Carta alir Sintaks
Adakah syarat benar?
Laksana penyataan
ini jika palsu Laksana penyataan ini jika benar
Palsu Benar
Mula
Tamat
Sains Komputer Tingkatan 4
78
Rajah 1.29 Beberapa kaunter untuk perkhidmatan yang berlainan di pejabat pos Sebuah aplikasi menerima markah murid dan menentukan gred yang sesuai. Jadual yang berikut menunjukkan penentuan gred berasaskan julat markah. Berikut ialah atur cara untuk mewakili pemilihan gred berdasarkan jadual yang menggunakan struktur kawalan if-else-if.
C
ontoh 25public class Contoh25{
public static void main(String[] args){
double markah=73;
String Gred;
if (markah >= 90) { Gred = "A+";
}else if (markah >=80) { Gred = "A";
}else if (markah >=75) { Gred = "A-";
}else if (markah >=70) { Gred = "B+";
}else if (markah >=65) { Gred = "B";
}else if (markah >=60) { Gred = "C+";
}else if (markah >=50) { Gred = "C";
}else if (markah >=45) { Gred = "D";
}else if (markah >=40) { Gred = "E";
}else if (markah >=0) { Gred = "G";
}
System.out.println(“Markah="+markah+“dan Gred ialah"+Gred);
} }
Markah Gred
90–100 A+
80–89 A
75–79 A–
70–74 B+
65–69 B
60–64 C+
50–59 C
45–49 D
40–44 E
0–39 G
Kawalan Pilihan Switch-Case
Penggunaan if-else-if untuk membuat sebilangan keputusan adalah rumit kerana penyataan if-else-if perlu diulang banyak kali dan pengulangan tersebut boleh menimbulkan kekeliruan kepada pengguna.
Untuk mengatasi kekurangan penggunaan if-else-if tersebut, struktur kawalan switch-case boleh digunakan.
Struktur ini lebih mudah difahami kerana nilai ujian dalam
‘Select Case’ dipadankan dengan beberapa calon ‘Case’.
Rajah 1.29 menunjukkan pelanggan berbaris untuk mendapatkan keperluan perkhidmatan tertentu. Keperluan dipadankan dengan kaunter yang menawarkan perkhidmatan tersebut. Input dipadankan dengan calon-calon sedia ada.
Sains Komputer Tingkatan 4
80
Aktiviti Individu
19
Kawalan Pilihan Switch caseBerikut ialah atur cara untuk mewakili pemilihan gred berdasarkan jadual yang ditunjukkan di bawah. Atur cara yang berikut menggunakan struktur kawalan W.
Anda ditugaskan untuk menukar atur cara di bawah kepada struktur kawalan switch case.
public class ContohW{
public static void main(String[] args){
double markah=73;
String Gred;
if (markah >= 90) { Gred = "A+";
}else if (markah >=80) { Gred = "A";
}else if (markah >=75) { Gred = "A-";
}else if (markah >=70) { Gred = "B+";
}else if (markah >=65) { Gred = "B";
}else if (markah >=60) { Gred = "C+";
}else if (markah >=50) { Gred = "C";
}else if (markah >=45) { Gred = "D";
}else if (markah >=40) { Gred = "E";
}else if (markah >=0) { Gred = "G";
}
System.out.println(“Markah="+markah+”dan Gred ialah"+Gred);
} }
Markah Gred
90–100 A+
80–89 A
75–79 A–
70–74 B+
65–69 B
60–64 C+
50–59 C
45–49 D
40–44 E
0–39 G
Pada tahun 2013, Syed Muhammad yang ketika itu masih seorang murid sekolah menengah telah berjaya mencipta lima aplikasi untuk syarikat telekomunikasi terkemuka dunia iaitu Apple. Antara aplikasinya ialah Surfing Fast, Who Created, Simple exCode dan Digital Harimau Malaya serta permainan Crazy Ball.
Sumber: www. utusan.com.my MalaysiaKu
Switch statements in Java http://goo.gl/B7rW7h BAB 1 PENGATURCARAAN
83
Penggabungan Operator Hubungan dan Operator Logikal dalam Struktur Kawalan Pilihan
Operator hubungan dan operator logikal boleh digabungkan dalam struktur kawalan pilihan. Dalam contoh 34, operator hubungan <= dan
>= telah digabungkan dengan operator logikal AND dalam ungkapan syarat boolean:
Markah >=0 && Markah <= 100
Satu lagi contoh gabungan melibatkan operator hubungan dan operator logikal OR adalah seperti yang berikut:
Uji Minda Apakah perkaitan antara Hukum DeMorgan dengan operator logik?
Jika suhu badan pesakit lebih tinggi daripada 37 °C ataupun 98.6 °F, maka dia mungkin menghidap demam panas.
C
ontoh 35Tulis atur cara Java menggunakan ekspresi operator logikal dan operator hubungan bagi situasi yang digambarkan.
public class Contoh35{
public static void main(String[] args){
double celcius=39.0, fahrenheit=97.0;
if (celcius>37.0 || fahrenheit>98.6)}
System.out.println("Pesakit mungkin demam panas.");}
else
{System.out.println("Suhu badan pesakit tidak tinggi.");}
} }
Contoh output:
Sains Komputer Tingkatan 4
90
murid mematuhi syarat rahsia. Seluruh kelas boleh melihat syarat itu kecuali murid tadi. Jika ya, guru akan membenarkan murid berjalan mengelilingi kerusi dan kemudian berpatah balik ke penjuru asal.
6 Murid diminta mengulangi langkah-langkah sebelumnya dengan memilih satu nombor baharu.
7 Sekiranya pilihan tidak mematuhi syarat, murid diminta balik ke tempat duduk dan permainan ditamatkan.
8 Minta murid-murid memikirkan perkara berikut dan membuat kesimpulan:
(a) Bilangan minimum ulangan yang boleh dibuat.
(b) Bilangan maksimum ulangan yang boleh dibuat.
(c) Apakah syarat yang membenarkan pengulangan?
(d) Dalam keadaan apakah murid tidak dibenarkan mengulang dan permainan ditamatkan?
(e) Adakah bilangan ulangan perlu diketahui terlebih dahulu?
1.4.4 Struktur Kawalan Ulangan yang Melibatkan Operator Increment dan Decrement, Class Math dan Boolean
Operator Increment (++) dan Decrement (––)
Operator increment (++) dan operator decrement (– –) lazimnya digunakan dalam kawalan ulangan sebagai pembilang. Operator increment (++) ialah penambahan nilai pemboleh ubah bagi bilangan nombor tertentu.
Sebaliknya, operator decrement (−−) mengurangkan nilai pemboleh ubah bagi bilangan nombor tertentu.
Jadual 1.13 Ungkapan tokok
Ungkapan Makna Contoh
i+=1 i = i + 1
int i = 9;
i += 1;
System.out.println(i);
Katakan i mengandungi 9.
i += 1 akan menambah 1 kepada 9.
Jadi, nilai baharu i ialah 10.
i+=2 i = i + 2
int i = 5;
i += 2;
System.out.println(i);
Katakan i mengandungi 5.
i += 2 akan menambah 2 kepada 5.
Jadi, nilai baharu i ialah 7.
Semuanya membawa maksud yang sama!
Tahukah Anda ?
• i = i +1
• i + =1
• i++
Sains Komputer Tingkatan 4
102
Jadual 1.14 Ungkapan susut
Ungkapan Makna Contoh
i-=1 i = i – 1
int i = 9;
i -= 1;
System.out.println(i);
Katakan i mengandungi 9.
i -= 1 akan berkurang 1 daripada 9.
Jadi, nilai baharu i ialah 8.
i-=2 i = i – 2
int i = 5;
i -= 2;
System.out.println(i);
Katakan i mengandungi 5.
i -= 2 akan berkurang 2 daripada 5.
Jadi, nilai baharu i ialah 3.
i-=3 i = i – 3
int i = 2;
i -= 3;
System.out.println(i);
Katakan i mengandungi 2.
i -= 3 akan berkurang 3 daripada 2.
Jadi, nilai baharu i ialah -1.
Ungkapan Makna Contoh
i+=3 i = i + 3
int i = 2;
i += 3;
System.out.println(i);
Katakan i mengandungi 2.
i += 3 akan menambah 3 kepada 2.
Jadi, nilai baharu i ialah 5.
++i; --i;
Tokok dan susut berlaku sebelum nilai pemboleh ubah digunakan lebihan ungkapan.
i++; i--;
Tokok dan susut berlaku selepas nilai pemboleh ubah digunakan dalam lebihan ungkapan.
?
Tahukah Anda
Math.random( )
Math.random() ialah subatur cara Java untuk menjana nombor secara rambang. Math.random() menggunakan waktu sistem sebagai nilai benih untuk memulakan penjanaan nombor rambang. Subatur cara ini digunakan setiap kali diperlukan untuk menjana suatu nombor rambang antara 0 dan 1.
Sekiranya nombor rambang diperlukan adalah di antara 1 hingga 10, gunakan ungkapan (int)(Math.random()*10) + 1. Sekiranya nombor rambang diperlukan adalah di antara 1 hingga 100, maka ungkapan (int)(Math.
random()*100) + 1 digunakan.
Bagaimana pula jika nombor rambang diperlukan dalam julat 1 hingga 6?
Increment and decrement goo.gl/RZqgGH
BAB 1 PENGATURCARAAN
103
2 Tentukan output untuk kawalan ulangan yang berikut.
3 Tulis atur cara Java yang meminta pengguna memasukkan dua integer, iaitu noMula dan noTamat.
Gunakan struktur kawalan ulangan for untuk mempamerkan semua integer genap di antaranya dan kedua-dua nombor tersebut.
4 Faktorial ialah hasil pendaraban nombor dengan nombor berikutnya yang lebih kecil sehinggalah nombor 1. Faktorial 5 ialah 5 3 4 3 3 3 2 3 1 = 120. Gunakan kawalan ulangan do-while untuk mencari faktorial bagi integer positif yang dimasukkan oleh pengguna.
5 Kaji carta alir yang berikut.
(a) Tulis atur cara menggunakan bahasa pengatur cara Java berasaskan carta alir di atas. Tunjukkan bahagian kawalan sahaja.
(b) Apakah output yang anda jangka?
6 Tulis sebuah atur cara yang memaparkan arahan kepada pengguna untuk memasukkan kata laluan.
Kata laluan pengguna mestilah sama dengan nilai dalam rekod, iaitu nilai dalam pemboleh ubah RekodLaluanRahsia. Atur cara akan memaparkan arahan sekali lagi jika ujian kata laluan gagal.
Pengguna hanya boleh mencuba sebanyak tiga kali sebelum aplikasi ditutup sendiri.
(a) Tulis pseudokod untuk penyelesaian masalah ini.
(b) Lukis carta alir.
(c) Tulis atur cara Java berasaskan algoritma yang anda reka sebelum ini.
(a) for(int n = 2;n<=20; n+=3){
System.out.println(n + " ");
}
(b) for(int n = 150;n>=40;n-=15){
System.out.println(n + " ");
}
Benar
Palsu counter =
counter + 9 counter
<=72?
Papar counter dan
ruang Initialize counter = 9
Mula
Tamat
Sains Komputer Tingkatan 4
108
Sains Komputer Tingkatan 4
190
Yang manakah antara berikut memberikan keputusan False?
A C Or ( A And Not C) B ( B Or C ) Or Not A C Not A Or Not(B Or Not C) D Not C Or ( A And (B Or C))
9
Yang manakah pilihan yang benar mengenai kawalan ulangan?
A While juga dipanggil kawalan ulangan praujian
B Do–While akan mengulang blok arahan dalam kekerapan tertentu
C While akan memeriksa syarat setelah blok arahan diulang
D While akan hanya memproses arahan apabila syarat yang diuji memberikan keputusan palsu
10 Fasa analisis pembangunan perisian
melibatkan aktiviti …
A menulis perisian menggunakan program seperti Java.
B mengumpulkan keperluan pengguna (user requirements) berkenaan fungsi program yang dikehendaki.
C menghasilkan pelan rapi perihal
bagaimana perisian dibangunkan dapat memenuhi keperluan pengguna.
D semua di atas
Soalan Struktur
Jawab semua soalan.
1 Tulis kod pengaturcaraan Java untuk melaksanakan algoritma yang berikut. Kod atur cara ini
boleh menerima data input dari papan kekunci jenis double.
OUTPUT
“Sifar”
OUTPUT
“Nombor positif”
OUTPUT
“Nombor negatif”
Nombor > 0
Nombor < 0
Carta alir
Mula
Tamat
Benar
Benar Palsu
Palsu
BAB 1 PENGATURCARAAN
191
2 Tentukan output bagi atur cara yang berikut:
3 Apakah output yang mungkin bagi atur cara di bawah?
4 Apakah fungsi Math.random()?
public class Tambah {
public static void main(String[] args) { String x = "22";
String y = "88";
System.out.println(x + y);
} }
public class UlangUcap {
public static void main(String[] args) { int i = 0;
while (i < 5){
System.out.println("Selamat datang Ke Pengaturcaraan JAVA");
i++;
} }
}
Penyelesaian Masalah
Jawab semua soalan.
1 Tulis atur cara Java menggunakan struktur kawalan switch-case untuk menerima input nombor
jenis integer. Kemudian, atur cara itu akan memaparkan output seperti di bawah.
Input Output
1 Kesihatan anda baik 2 Kesihatan anda memuaskan 3 Anda tidak sihat
default Anda tidak memilih 1, 2 atau 3
2 Hasilkan satu atur cara bebas ralat untuk mengira BMI (Body Mass Index). Atur cara anda mestilah
boleh menerima berat dan tinggi dalam double serta dapat memaparkan keputusan seperti di bawah.
Bacaan BMI Keputusan
<= 18.5 Kurang berat
= 18.5 – 24.9 Normal
= 25 – 29.9 Lebih berat
>= 30 Obesiti
Sains Komputer Tingkatan 4
192
3 Berikan kod atur cara untuk melaksanakan arahan yang berikut:
Arahan Kod Atur Cara
Keluar sistem aplikasi Java Reset jTextField kotakTeks1
Menggunakan kawalan ulangan untuk menghasilkan integer dari 0 hingga 10
4 Hasilkan sebuah program yang boleh memaparkan jadual
pendaraban atau Jadual Sifir. Gunakan JOptionPane untuk memaparkan output seperti di bawah. Atur cara mestilah boleh memaparkan tajuk jadual “JADUAL SIFIR”
dan dapat menghitung dari sifir 1 hingga sifir 9.
5 Al Rahmat ialah sebuah kedai runcit di
Taman Iskandar. Untuk memudahkan pengiraan bagi barang-barang runcit, pemilik kedai tersebut, iaitu Encik Rahmat meminta anda membantunya untuk membina sebuah perisian bagi menghitung jumlah harga runcit. Antara muka sudah disiapkan dengan nama- nama kontrol seperti rajah yang berikut.
Data bagi input kuantiti barang dan harga barang boleh berubah dan dapat dimasukkan dari papan kekunci.
6
Pelbagai jenis model kitaran hayat pembangunan sistem yang didapati untuk memastikan sesuatu projek dilaksanakan dengan berjaya. Dengan menggunakan peta i-Think, jawab soalan- soalan di bawah.
(a) Nyatakan dan jelaskan ciri fasa-fasa dalam SDLC dengan mengguna peta buih.
(b) Pilih dua model SDLC yang anda ketahui, jelaskan kebaikan dan kelemahan setiap satu dengan menggunakan peta pokok.
(c) Jelaskan ciri-ciri penting dalam fasa-fasa model air terjun dengan menggunakan peta alir.
Pangkalan Data Berorientasikan Objek (Object-oriented)
• Kaedah baharu dalam pengurusan data.
• Model ini menyimpan takrifan kelas objek dan hubungan.
• Untuk pangkalan data yang memerlukan hubungan kompleks di antara objek-objek.
• Mempunyai prestasi pencarian yang terbaik antara model-model yang lain.
Objek Objek Objek Objek
Objek Objek Objek Objek
Atribut entiti diwakili oleh lajur jadual dalam sistem pangkalan data. Bilangan maksimum lajur untuk sesebuah jadual bergantung kepada produk sistem pangkalan data.
Produk sistem pangkalan data
Bilangan lajur maksimum Oracle 10g 1000 MySQL 5.0 4096 PostgreSQL 1600 Microsoft
SQL 1024
?
Tahukah Anda
2.1.3 Entiti, Atribut, Set Hubungan dan Kekardinalan dalam
Pangkalan Data
Pangkalan data dibangunkan untuk sistem maklumat yang berada dalam pelbagai persekitaran. Lihat Jadual 2.3. Persekitaran ialah organisasi di mana pangkalan data direka bentuk, dibangunkan dan digunakan.
Pangkalan data diperlukan untuk menyimpan data-data dari persekitaran untuk memproses sistem maklumat. Untuk mewakili persekitaran tersebut, pangkalan data mengandungi komponen-komponen yang terdiri daripada entiti, atribut, set hubungan dan kekardinalan dalam reka bentuknya.
Jadual 2.3 Contoh persekitaran yang biasa menggunakan pangkalan data Persekitaran Sistem pangkalan data Universiti dan kolej Sistem pangkalan data maklumat pelajar
Sistem pangkalan pendaftaran kursus oleh pelajar
Perpustakaan awam Sistem pangkalan data buku dan koleksi bacaan Sistem pangkalan data pinjaman
Pasar raya Sistem pangkalan data jualan Sistem pangkalan data produk
BAB 2 PANGKALAN DATA