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 12 dari 16

Method dan koleksi

Misi: membaca rekap penjualan kedai

Setelah pelajaran ini kamu bisa menelusuri program utuh yang memakai method, ArrayList, dan HashMap sampai keluarannya.

±16 menitDiperiksa 5 Okt 2026

Materi

Kasir sebuah kedai di Solo mencatat setiap barang yang terjual. Program berikut menghitung jumlah tiap barang dengan HashMap, menyimpan urutan kemunculan pertamanya di ArrayList supaya cetakannya berurutan, lalu memanggil dua method untuk total dan labelnya. Keempat soal memakai program yang sama.

import java.util.ArrayList;
import java.util.HashMap;

public class RekapPenjualan {
    static int totalBaris(int harga, int jumlah) {
        return harga * jumlah;
    }

    static String label(int total) {
        if (total >= 100000) {
            return "besar";
        }
        return "kecil";
    }

    public static void main(String[] args) {
        ArrayList<String> urutan = new ArrayList<>();
        HashMap<String, Integer> terjual = new HashMap<>();

        String[] nota = {"kopi", "teh", "kopi", "roti", "kopi", "teh"};
        for (String barang : nota) {
            if (!terjual.containsKey(barang)) {
                urutan.add(barang);
            }
            terjual.put(barang, terjual.getOrDefault(barang, 0) + 1);
        }

        HashMap<String, Integer> harga = new HashMap<>();
        harga.put("kopi", 18000);
        harga.put("teh", 12000);
        harga.put("roti", 15000);

        for (String barang : urutan) {
            int total = totalBaris(harga.get(barang), terjual.get(barang));
            System.out.println(barang + " " + terjual.get(barang) + " " + total + " " + label(total));
        }
        System.out.println(urutan.size() + " jenis");
    }
}

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 pertama keluaran?

import java.util.ArrayList;
import java.util.HashMap;

public class RekapPenjualan {
    static int totalBaris(int harga, int jumlah) {
        return harga * jumlah;
    }

    static String label(int total) {
        if (total >= 100000) {
            return "besar";
        }
        return "kecil";
    }

    public static void main(String[] args) {
        ArrayList<String> urutan = new ArrayList<>();
        HashMap<String, Integer> terjual = new HashMap<>();

        String[] nota = {"kopi", "teh", "kopi", "roti", "kopi", "teh"};
        for (String barang : nota) {
            if (!terjual.containsKey(barang)) {
                urutan.add(barang);
            }
            terjual.put(barang, terjual.getOrDefault(barang, 0) + 1);
        }

        HashMap<String, Integer> harga = new HashMap<>();
        harga.put("kopi", 18000);
        harga.put("teh", 12000);
        harga.put("roti", 15000);

        for (String barang : urutan) {
            int total = totalBaris(harga.get(barang), terjual.get(barang));
            System.out.println(barang + " " + terjual.get(barang) + " " + total + " " + label(total));
        }
        System.out.println(urutan.size() + " jenis");
    }
}
Pilih satu jawaban

Latihan 2 dari 4

Apa yang dicetak baris terakhir keluaran?

import java.util.ArrayList;
import java.util.HashMap;

public class RekapPenjualan {
    static int totalBaris(int harga, int jumlah) {
        return harga * jumlah;
    }

    static String label(int total) {
        if (total >= 100000) {
            return "besar";
        }
        return "kecil";
    }

    public static void main(String[] args) {
        ArrayList<String> urutan = new ArrayList<>();
        HashMap<String, Integer> terjual = new HashMap<>();

        String[] nota = {"kopi", "teh", "kopi", "roti", "kopi", "teh"};
        for (String barang : nota) {
            if (!terjual.containsKey(barang)) {
                urutan.add(barang);
            }
            terjual.put(barang, terjual.getOrDefault(barang, 0) + 1);
        }

        HashMap<String, Integer> harga = new HashMap<>();
        harga.put("kopi", 18000);
        harga.put("teh", 12000);
        harga.put("roti", 15000);

        for (String barang : urutan) {
            int total = totalBaris(harga.get(barang), terjual.get(barang));
            System.out.println(barang + " " + terjual.get(barang) + " " + total + " " + label(total));
        }
        System.out.println(urutan.size() + " jenis");
    }
}
Pilih satu jawaban

Latihan 3 dari 4

Bila tiga "kopi" lagi ditambahkan di akhir array nota, apa yang dicetak baris pertama keluaran?

import java.util.ArrayList;
import java.util.HashMap;

public class RekapPenjualan {
    static int totalBaris(int harga, int jumlah) {
        return harga * jumlah;
    }

    static String label(int total) {
        if (total >= 100000) {
            return "besar";
        }
        return "kecil";
    }

    public static void main(String[] args) {
        ArrayList<String> urutan = new ArrayList<>();
        HashMap<String, Integer> terjual = new HashMap<>();

        String[] nota = {"kopi", "teh", "kopi", "roti", "kopi", "teh"};
        for (String barang : nota) {
            if (!terjual.containsKey(barang)) {
                urutan.add(barang);
            }
            terjual.put(barang, terjual.getOrDefault(barang, 0) + 1);
        }

        HashMap<String, Integer> harga = new HashMap<>();
        harga.put("kopi", 18000);
        harga.put("teh", 12000);
        harga.put("roti", 15000);

        for (String barang : urutan) {
            int total = totalBaris(harga.get(barang), terjual.get(barang));
            System.out.println(barang + " " + terjual.get(barang) + " " + total + " " + label(total));
        }
        System.out.println(urutan.size() + " jenis");
    }
}
Pilih satu jawaban

Latihan 4 dari 4

Baris terjual.put(barang, terjual.getOrDefault(barang, 0) + 1); diganti terjual.put(barang, terjual.get(barang) + 1);. Apa yang terjadi?

import java.util.ArrayList;
import java.util.HashMap;

public class RekapPenjualan {
    static int totalBaris(int harga, int jumlah) {
        return harga * jumlah;
    }

    static String label(int total) {
        if (total >= 100000) {
            return "besar";
        }
        return "kecil";
    }

    public static void main(String[] args) {
        ArrayList<String> urutan = new ArrayList<>();
        HashMap<String, Integer> terjual = new HashMap<>();

        String[] nota = {"kopi", "teh", "kopi", "roti", "kopi", "teh"};
        for (String barang : nota) {
            if (!terjual.containsKey(barang)) {
                urutan.add(barang);
            }
            terjual.put(barang, terjual.getOrDefault(barang, 0) + 1);
        }

        HashMap<String, Integer> harga = new HashMap<>();
        harga.put("kopi", 18000);
        harga.put("teh", 12000);
        harga.put("roti", 15000);

        for (String barang : urutan) {
            int total = totalBaris(harga.get(barang), terjual.get(barang));
            System.out.println(barang + " " + terjual.get(barang) + " " + total + " " + label(total));
        }
        System.out.println(urutan.size() + " jenis");
    }
}
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).