Lompat ke konten utama

Kompetisi Ajak Teman: hadiah total Rp1.000.000 tunai untuk 3 pengajak terbanyak. Berakhir 29 November 2026. Ikut kompetisi

←

Java Dasar: Membaca dan Memperbaiki Kode

Pelajaran 9 dari 16

Percabangan dan perulangan

Misi: membaca rekap kunjungan mingguan

Setelah pelajaran ini kamu bisa menelusuri program utuh dengan array, for, if, continue, dan switch sampai keluarannya.

±16 menitDiperiksa 5 Okt 2026

Materi

Sebuah kedai kopi di Semarang mencatat jumlah pengunjung tujuh hari, dari Senin sampai Minggu; angka 0 berarti kedai tutup. Program berikut menjumlahkan pengunjung, menghitung hari tutup dan hari ramai, lalu memberi status minggu itu. Telusuri isi variabel di setiap putaran. Keempat soal memakai program yang sama.

public class Kunjungan {
    public static void main(String[] args) {
        int[] pengunjung = {12, 0, 25, 31, 8, 40, 0};
        String[] hari = {"Sen", "Sel", "Rab", "Kam", "Jum", "Sab", "Min"};

        int total = 0;
        int hariTutup = 0;
        int ramai = 0;
        for (int i = 0; i < pengunjung.length; i++) {
            if (pengunjung[i] == 0) {
                hariTutup++;
                continue;
            }
            total += pengunjung[i];
            if (pengunjung[i] >= 30) {
                ramai++;
            }
        }

        int hariIni = pengunjung[pengunjung.length - 1];
        String status = switch (ramai) {
            case 0 -> "sepi";
            case 1, 2 -> "sedang";
            default -> "ramai";
        };

        System.out.println("Total: " + total);
        System.out.println("Tutup: " + hariTutup + " hari");
        System.out.println("Minggu ini " + status);
        System.out.println(hari[6] + ": " + hariIni);
    }
}

Latihan

0/4 lulus

Misi akhir modul: luluskan minimal 4 dari 4 tugas. Jawaban diperiksa di server. Lulus berarti kamu memahami contohnya, bukan penilaian seluruh pekerjaanmu.

Latihan 1 dari 4

Apa yang dicetak baris "Total: "?

public class Kunjungan {
    public static void main(String[] args) {
        int[] pengunjung = {12, 0, 25, 31, 8, 40, 0};
        String[] hari = {"Sen", "Sel", "Rab", "Kam", "Jum", "Sab", "Min"};

        int total = 0;
        int hariTutup = 0;
        int ramai = 0;
        for (int i = 0; i < pengunjung.length; i++) {
            if (pengunjung[i] == 0) {
                hariTutup++;
                continue;
            }
            total += pengunjung[i];
            if (pengunjung[i] >= 30) {
                ramai++;
            }
        }

        int hariIni = pengunjung[pengunjung.length - 1];
        String status = switch (ramai) {
            case 0 -> "sepi";
            case 1, 2 -> "sedang";
            default -> "ramai";
        };

        System.out.println("Total: " + total);
        System.out.println("Tutup: " + hariTutup + " hari");
        System.out.println("Minggu ini " + status);
        System.out.println(hari[6] + ": " + hariIni);
    }
}
Pilih satu jawaban

Latihan 2 dari 4

Apa yang dicetak baris ketiga keluaran?

public class Kunjungan {
    public static void main(String[] args) {
        int[] pengunjung = {12, 0, 25, 31, 8, 40, 0};
        String[] hari = {"Sen", "Sel", "Rab", "Kam", "Jum", "Sab", "Min"};

        int total = 0;
        int hariTutup = 0;
        int ramai = 0;
        for (int i = 0; i < pengunjung.length; i++) {
            if (pengunjung[i] == 0) {
                hariTutup++;
                continue;
            }
            total += pengunjung[i];
            if (pengunjung[i] >= 30) {
                ramai++;
            }
        }

        int hariIni = pengunjung[pengunjung.length - 1];
        String status = switch (ramai) {
            case 0 -> "sepi";
            case 1, 2 -> "sedang";
            default -> "ramai";
        };

        System.out.println("Total: " + total);
        System.out.println("Tutup: " + hariTutup + " hari");
        System.out.println("Minggu ini " + status);
        System.out.println(hari[6] + ": " + hariIni);
    }
}
Pilih satu jawaban

Latihan 3 dari 4

Apa yang dicetak baris terakhir keluaran?

public class Kunjungan {
    public static void main(String[] args) {
        int[] pengunjung = {12, 0, 25, 31, 8, 40, 0};
        String[] hari = {"Sen", "Sel", "Rab", "Kam", "Jum", "Sab", "Min"};

        int total = 0;
        int hariTutup = 0;
        int ramai = 0;
        for (int i = 0; i < pengunjung.length; i++) {
            if (pengunjung[i] == 0) {
                hariTutup++;
                continue;
            }
            total += pengunjung[i];
            if (pengunjung[i] >= 30) {
                ramai++;
            }
        }

        int hariIni = pengunjung[pengunjung.length - 1];
        String status = switch (ramai) {
            case 0 -> "sepi";
            case 1, 2 -> "sedang";
            default -> "ramai";
        };

        System.out.println("Total: " + total);
        System.out.println("Tutup: " + hariTutup + " hari");
        System.out.println("Minggu ini " + status);
        System.out.println(hari[6] + ": " + hariIni);
    }
}
Pilih satu jawaban

Latihan 4 dari 4

Bila continue di dalam if pertama diganti break, apa yang dicetak baris "Tutup: "?

public class Kunjungan {
    public static void main(String[] args) {
        int[] pengunjung = {12, 0, 25, 31, 8, 40, 0};
        String[] hari = {"Sen", "Sel", "Rab", "Kam", "Jum", "Sab", "Min"};

        int total = 0;
        int hariTutup = 0;
        int ramai = 0;
        for (int i = 0; i < pengunjung.length; i++) {
            if (pengunjung[i] == 0) {
                hariTutup++;
                continue;
            }
            total += pengunjung[i];
            if (pengunjung[i] >= 30) {
                ramai++;
            }
        }

        int hariIni = pengunjung[pengunjung.length - 1];
        String status = switch (ramai) {
            case 0 -> "sepi";
            case 1, 2 -> "sedang";
            default -> "ramai";
        };

        System.out.println("Total: " + total);
        System.out.println("Tutup: " + hariTutup + " hari");
        System.out.println("Minggu ini " + status);
        System.out.println(hari[6] + ": " + hariIni);
    }
}
Pilih satu jawaban

Catatanmu

Memuat catatan…

tersimpan otomatis, ikut tercetak · 0/4.000

Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.

Lanjutkan ke

Sebagian materi kelas ini diadaptasi dari Exercism — jalur Java (concept exercises) (MIT).