Setelah pelajaran ini kamu bisa menelusuri program utuh yang memakai method, ArrayList, dan HashMap sampai keluarannya.
±16 menit·Diperiksa 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");
}
}
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");
}
}
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");
}
}
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");
}
}
Catatanmu
Memuat catatan…
tersimpan otomatis, ikut tercetak · 0/4.000
Luluskan semua latihan dulu untuk menandai pelajaran ini selesai.