Berikut ini adalah pertanyaan dari rivki2327 pada mata pelajaran TI untuk jenjang Sekolah Menengah Atas
Jawaban dan Penjelasan
Berikut ini adalah pilihan jawaban terbaik dari pertanyaan diatas.
Kode Program Java
import java.util.Scanner;
// Wrapper class untuk program Kelipatan3Atau5
public class Kelipatan3Atau5 {
// Membaca dan mengembalikan nilai angka masukan
private static int bacaInputBilangan(String teks) {
int tmp = 0;
Scanner in = new Scanner(System.in);
try {
System.out.print(teks);
tmp = in.nextInt();
} catch (Exception e) {
System.out.println("Terjadi kesalahan.");
} finally {
in.close();
}
return tmp;
}
private static boolean apakahKelipatan(int bilangan, int faktor) {
return bilangan % faktor == 0;
}
private static boolean apakahGenap(int bilangan) {
return bilangan % 2 == 0;
}
// Program Utama
public static void main(String[] args) {
int batas = 0, nGenap = 0, nGanjil = 0;
// Minta input batas bilangan
batas = bacaInputBilangan("Input batasan angka: ");
System.out.println("================================");
// Batas harus lebih dari atau sama dengan 3
// agar minimal ada 1 output
if (batas < 3) {
System.out.println("Batasan angka tidak boleh kurang dari 3.");
}
else { // batasan angka valid
System.out.print("Angka-angka yang merupakan kelipatan 3 atau 5 dan kurang dari "
+ String.valueOf(batas)
+ " adalah: ");
// Iterasi dari 1 hingga batas-1
for (int i=1; i < batas; i++) {
if (apakahKelipatan(i, 3) || apakahKelipatan(i, 5)) {
// cetak angka
System.out.print(String.valueOf(i) + " ");
// counter genap dan ganjil
if (apakahGenap(i)) nGenap++;
else nGanjil++;
}
}
System.out.println();
// Cetak jumlah angka genap dan ganjil
System.out.println("Jumlah angka genap : " + String.valueOf(nGenap) + " angka.");
System.out.println("Jumlah angka ganjil: " + String.valueOf(nGanjil) + " angka.");
}
}
}
(silahkan unduh filenya agar lebih jelas)
Pembahasan Singkat
Pada persoalan ini, analisis kasus tentang apakah sebuah bilangan yang sedang dievaluasi merupakan kelipatan 3 atau 5 terletak dalam blok looping/iterasi. Analisis kasus tentang apakah sebuah bilangan kelipatan 3 atau 5 tersebut merupakan bilangan genap atau ganjil harus berada di dalam blok analisis kasus kelipatan 3 atau 5.
Karena banyak angka genap dan ganjil perlu dihitung, maka program memerlukan variabel-variabel sebagai "counter" bilangan genap dan ganjil.
Contoh Hasil Eksekusi (Running program)
- Dengan input batasan angka = 1 (invalid)
Input batasan angka: 1
================================
Batasan angka tidak boleh kurang dari 3.
- Dengan input batasan angka = 20 (seperti pada contoh)
Input batasan angka: 20
================================
Angka-angka yang merupakan kelipatan 3 atau 5 dan kurang dari 20 adalah: 3 5 6 9 10 12 15 18
Jumlah angka genap : 4 angka.
Jumlah angka ganjil: 4 angka.
- Dengan input batasan angka = 300
Input batasan angka: 300
================================
Angka-angka yang merupakan kelipatan 3 atau 5 dan kurang dari 300 adalah: 3 5 6 9 10 12 15 18 20 21 24 25 27 30 33 35 36 39 40 42 45 48 50 51 54 55 57 60 63 65 66 69 70 72 75 78 80 81 84 85 87 90 93 95 96 99 100 102 105 108 110 111 114 115 117 120 123 125 126 129 130 132 135 138 140 141 144 145 147 150 153 155 156 159 160 162 165 168 170 171 174 175 177 180 183 185 186 189 190 192 195 198 200 201 204 205 207 210 213 215 216 219 220 222 225 228 230 231 234 235 237 240 243 245 246 249 250 252 255 258 260 261 264 265 267 270 273 275 276 279 280 282 285 288 290 291 294 295 297
Jumlah angka genap : 69 angka.
Jumlah angka ganjil: 70 angka.
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: Wed, 19 Oct 22