Berikut ini adalah pertanyaan dari dirlan1201 pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas
Jawaban dan Penjelasan
Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.
Jawaban dan Penjelasan:
Soal a
Identifikasi Kesalahan
Kesalahan tidak terletak pada sintaks maupun logic program, tetapi terletak pada masukan. Dengan baris program "umur = input.nextInt();", yang diharapkan adalah masukan berupa bilangan bulat (integer).
Koreksi
Cara 1: menggunakan cara manual, katakan pada user bahwa inputnya harus bilangan bulat. :D
Cara 2:
Lakukan isolasi terhadap exception yang mungkin terjadi karena kesalahan masukan dari user, misalnya dengan try...catch, dipadukan dengan looping sehingga program terus meminta masukan apabila terjadi kesalahan masukan.
Misalnya, untuk baris 7 dan 8 diganti menjadi seperti ini:
// ------ koreksi
do {
try {
System.out.print("Masukkan umur : ");
umur = input.nextInt();
if (umur <= 0) {
throw new Exception("Mana mungkin umur bernilai negatif. Yang benar donk!");
}
} catch (InputMismatchException e) {
System.out.print("Masukan yang kamu berikan salah. Silahkan masukkan angka umur yang benar.");
} catch (Exception e) {
// untuk menangani jenis eksepsi lain
System.out.print(e.getMessage());
}
input.nextLine(); // clear buffer
} while (umur <=0);
// ------ akhir koreksi
Soal b
Identifikasi Kesalahan
Kesalahan terletak pada logic program. Mungkin si programmer salah ketik operator, seharusnya operator kali (*), tapi diketik tambah (+).
Koreksi
Tinggal mengganti tanda operator tambah di baris ke-11 menjadi kali, sehingga baris ke-11 menjadi:
System.out.println("Luas persegi : " + (panjang*lebar));
Semoga dengan pertanyaan yang sudah terjawab oleh henriyulianto dapat membantu memudahkan mengerjakan soal, tugas dan PR sekolah kalian.
Apabila terdapat kesalahan dalam mengerjakan soal, silahkan koreksi jawaban dengan mengirimkan email ke yomemimo.com melalui halaman Contact
Last Update: Tue, 08 Feb 22