dealerHand = new ArrayList<>();
53 |
54 | // Membagikan dua kartu untuk pemain dan dealer
55 | playerHand.add(dealCard(deckCopy));
56 | playerHand.add(dealCard(deckCopy));
57 | dealerHand.add(dealCard(deckCopy));
58 | dealerHand.add(dealCard(deckCopy));
59 |
60 | // Menampilkan kartu awal pemain dan dealer (satu kartu dealer tersembunyi)
61 | System.out.println("Kartu Anda: " + playerHand + " dengan nilai " + calculateHand(playerHand));
62 | System.out.println("Kartu Dealer: " + dealerHand.get(0) + " dan kartu tersembunyi");
63 |
64 | // Giliran pemain
65 | while (calculateHand(playerHand) < 21) {
66 | System.out.print("Apakah Anda ingin 'Hit' atau 'Stand'? ");
67 | String action = scanner.nextLine().toLowerCase();
68 |
69 | if (action.equals("hit")) {
70 | playerHand.add(dealCard(deckCopy));
71 | System.out.println("Kartu Anda sekarang: " + playerHand + " dengan nilai " + calculateHand(playerHand));
72 | } else if (action.equals("stand")) {
73 | break;
74 | } else {
75 | System.out.println("Pilihan tidak valid. Pilih 'Hit' atau 'Stand'.");
76 | }
77 | }
78 |
79 | // Jika pemain melebihi 21
80 | if (calculateHand(playerHand) > 21) {
81 | System.out.println("Nilai kartu Anda melebihi 21! Anda kalah!");
82 | return;
83 | }
84 |
85 | // Giliran dealer (dealer akan 'hit' sampai total kartu >= 17)
86 | System.out.println("Kartu Dealer sekarang: " + dealerHand + " dengan nilai " + calculateHand(dealerHand));
87 | while (calculateHand(dealerHand) < 17) {
88 | System.out.println("Dealer memukul kartu...");
89 | dealerHand.add(dealCard(deckCopy));
90 | System.out.println("Kartu Dealer sekarang: " + dealerHand + " dengan nilai " + calculateHand(dealerHand));
91 | }
92 |
93 | // Menentukan pemenang
94 | int playerTotal = calculateHand(playerHand);
95 | int dealerTotal = calculateHand(dealerHand);
96 |
97 | if (dealerTotal > 21) {
98 | System.out.println("Dealer melebihi 21! Anda menang!");
99 | } else if (playerTotal > dealerTotal) {
100 | System.out.println("Anda menang!");
101 | } else if (playerTotal < dealerTotal) {
102 | System.out.println("Dealer menang!");
103 | } else {
104 | System.out.println("Hasil seri!");
105 | }
106 |
107 | scanner.close();
108 | }
109 |
110 | // Fungsi utama untuk menjalankan permainan
111 | public static void main(String[] args) {
112 | System.out.println("Selamat datang di permainan Dealer Kartu!");
113 | startGame();
114 | }
115 | }
--------------------------------------------------------------------------------
/dilerkendaraan.java:
--------------------------------------------------------------------------------
1 | import java.util.Scanner;
2 |
3 | class Vehicle {
4 | private String model;
5 | private int price;
6 | private int stock;
7 |
8 | public Vehicle(String model, int price, int stock) {
9 | this.model = model;
10 | this.price = price;
11 | this.stock = stock;
12 | }
13 |
14 | // Menampilkan informasi kendaraan
15 | public void displayInfo() {
16 | System.out.println("Model: " + model + ", Harga: Rp" + price + ", Stok: " + stock);
17 | }
18 |
19 | // Mengupdate stok setelah pembelian
20 | public void updateStock(int quantity) {
21 | stock -= quantity;
22 | if (stock < 0) {
23 | stock = 0;
24 | }
25 | }
26 |
27 | // Memeriksa ketersediaan stok
28 | public boolean isAvailable(int quantity) {
29 | return stock >= quantity;
30 | }
31 |
32 | public int getPrice() {
33 | return price;
34 | }
35 |
36 | public String getModel() {
37 | return model;
38 | }
39 |
40 | public int getStock() {
41 | return stock;
42 | }
43 | }
44 |
45 | class VehicleDealer {
46 | private Vehicle[] vehicles;
47 | private int vehicleCount;
48 |
49 | public VehicleDealer(int maxVehicles) {
50 | vehicles = new Vehicle[maxVehicles];
51 | vehicleCount = 0;
52 | }
53 |
54 | // Menambahkan kendaraan ke diler
55 | public void addVehicle(String model, int price, int stock) {
56 | if (vehicleCount < vehicles.length) {
57 | vehicles[vehicleCount] = new Vehicle(model, price, stock);
58 | vehicleCount++;
59 | } else {
60 | System.out.println("Diler sudah penuh, tidak bisa menambah kendaraan.");
61 | }
62 | }
63 |
64 | // Menampilkan semua kendaraan yang tersedia
65 | public void displayVehicles() {
66 | if (vehicleCount == 0) {
67 | System.out.println("Tidak ada kendaraan di diler.");
68 | return;
69 | }
70 |
71 | System.out.println("\nKendaraan yang Tersedia di Diler:");
72 | for (int i = 0; i < vehicleCount; i++) {
73 | System.out.print((i + 1) + ". ");
74 | vehicles[i].displayInfo();
75 | }
76 | }
77 |
78 | // Pembelian kendaraan
79 | public void purchaseVehicle() {
80 | displayVehicles();
81 |
82 | if (vehicleCount == 0) {
83 | return;
84 | }
85 |
86 | Scanner scanner = new Scanner(System.in);
87 | try {
88 | System.out.print("\nPilih kendaraan (masukkan nomor): ");
89 | int choice = scanner.nextInt();
90 | System.out.print("Berapa banyak yang ingin dibeli? ");
91 | int quantity = scanner.nextInt();
92 |
93 | if (choice < 1 || choice > vehicleCount) {
94 | System.out.println("Pilihan tidak valid.");
95 | return;
96 | }
97 |
98 | Vehicle selectedVehicle = vehicles[choice - 1];
99 | if (selectedVehicle.isAvailable(quantity)) {
100 | int totalPrice = selectedVehicle.getPrice() * quantity;
101 | System.out.println("\nPembelian Sukses! Total Harga: Rp" + totalPrice);
102 | selectedVehicle.updateStock(quantity);
103 | } else {
104 | System.out.println("\nStok tidak cukup.");
105 | }
106 | } catch (Exception e) {
107 | System.out.println("Input tidak valid.");
108 | }
109 | }
110 | }
111 |
112 | public class VehicleDealerApp {
113 | public static void main(String[] args) {
114 | Scanner scanner = new Scanner(System.in);
115 | VehicleDealer dealer = new VehicleDealer(10); // Maksimal 10 kendaraan
116 |
117 | // Menambahkan beberapa kendaraan ke diler
118 | dealer.addVehicle("Mobil Sedan", 300000000, 10);
119 | dealer.addVehicle("Motor Sport", 100000000, 5);
120 | dealer.addVehicle("Mobil SUV", 500000000, 3);
121 |
122 | while (true) {
123 | System.out.println("\n--- Menu Diler Kendaraan ---");
124 | System.out.println("1. Lihat kendaraan yang tersedia");
125 | System.out.println("2. Pembelian kendaraan");
126 | System.out.println("3. Keluar");
127 |
128 | System.out.print("\nPilih menu: ");
129 | int choice = scanner.nextInt();
130 |
131 | switch (choice) {
132 | case 1:
133 | dealer.displayVehicles();
134 | break;
135 | case 2:
136 | dealer.purchaseVehicle();
137 | break;
138 | case 3:
139 | System.out.println("Terima kasih telah mengunjungi diler kami!");
140 | return;
141 | default:
142 | System.out.println("Pilihan tidak valid.");
143 | }
144 | }
145 | }
146 | }
--------------------------------------------------------------------------------
/gaji.java:
--------------------------------------------------------------------------------
1 | import java.util.Scanner;
2 |
3 | public class GajiKaryawan {
4 |
5 | // Fungsi untuk menghitung gaji total
6 | public static double hitungGaji(double gajiPokok, double tunjangan, double potongan) {
7 | return gajiPokok + tunjangan - potongan;
8 | }
9 |
10 | public static void main(String[] args) {
11 | Scanner scanner = new Scanner(System.in);
12 |
13 | // Menampilkan judul program
14 | System.out.println("Program Perhitungan Gaji Karyawan");
15 |
16 | // Input data
17 | System.out.print("Masukkan gaji pokok: Rp ");
18 | double gajiPokok = scanner.nextDouble();
19 |
20 | System.out.print("Masukkan tunjangan: Rp ");
21 | double tunjangan = scanner.nextDouble();
22 |
23 | System.out.print("Masukkan potongan: Rp ");
24 | double potongan = scanner.nextDouble();
25 |
26 | // Menghitung gaji total
27 | double gajiTotal = hitungGaji(gajiPokok, tunjangan, potongan);
28 |
29 | // Menampilkan hasil perhitungan
30 | System.out.println("\nRingkasan Gaji:");
31 | System.out.println("Gaji Pokok: Rp " + gajiPokok);
32 | System.out.println("Tunjangan: Rp " + tunjangan);
33 | System.out.println("Potongan: Rp " + potongan);
34 | System.out.println("Gaji Total: Rp " + gajiTotal);
35 |
36 | scanner.close();
37 | }
38 | }
--------------------------------------------------------------------------------
/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 | Raff | Java
8 |
45 |
46 |
47 |
48 | Kumpulan Kode Java
49 |
50 | 1. Absensi
51 |
52 | import java.util.Scanner;
53 |
54 | public class Absensi {
55 |
56 | // Daftar nama siswa/pegawai
57 | static String[] daftarNama = {"Ali", "Budi", "Citra", "Dewi", "Eka"};
58 |
59 | // Menyimpan status absensi
60 | static String[] absensi = new String[daftarNama.length];
61 |
62 | // Fungsi untuk mencatat absensi
63 | public static void catatAbsensi() {
64 | Scanner scanner = new Scanner(System.in);
65 |
66 | System.out.println("Daftar Nama:");
67 | for (int i = 0; i < daftarNama.length; i++) {
68 | System.out.println((i + 1) + ". " + daftarNama[i]);
69 | }
70 |
71 | // Mencatat absensi untuk setiap nama
72 | for (int i = 0; i < daftarNama.length; i++) {
73 | System.out.print("Apakah " + daftarNama[i] + " hadir? (y/n): ");
74 | String status = scanner.nextLine().trim().toLowerCase();
75 |
76 | if (status.equals("y")) {
77 | absensi[i] = "Hadir";
78 | } else if (status.equals("n")) {
79 | absensi[i] = "Tidak Hadir";
80 | } else {
81 | absensi[i] = "Status Tidak Valid";
82 | }
83 | }
84 |
85 | // Menampilkan hasil absensi
86 | System.out.println("\nAbsensi Hari Ini:");
87 | for (int i = 0; i < daftarNama.length; i++) {
88 | System.out.println(daftarNama[i] + ": " + absensi[i]);
89 | }
90 |
91 | scanner.close();
92 | }
93 |
94 | public static void main(String[] args) {
95 | // Menjalankan fungsi untuk mencatat absensi
96 | catatAbsensi();
97 | }
98 | }
99 |
100 |
101 | 2. Barbershop
102 |
103 | import java.util.LinkedList;
104 | import java.util.Queue;
105 | import java.util.Scanner;
106 |
107 | public class Barbershop {
108 | private Queue antrian; // Antrian pelanggan
109 | private boolean buka; // Status barbershop
110 |
111 | // Konstruktor untuk menginisialisasi Barbershop
112 | public Barbershop() {
113 | antrian = new LinkedList<>();
114 | buka = true;
115 | }
116 |
117 | // Fungsi untuk membuka Barbershop
118 | public void bukaBarbershop() {
119 | System.out.println("Barbershop sedang buka, silakan masuk!");
120 | }
121 |
122 | // Fungsi untuk menutup Barbershop
123 | public void tutupBarbershop() {
124 | buka = false;
125 | System.out.println("Barbershop sudah tutup. Terima kasih sudah datang!");
126 | }
127 |
128 | // Fungsi untuk menambah pelanggan ke dalam antrian
129 | public void tambahPelanggan(String nama) {
130 | if (buka) {
131 | antrian.add(nama);
132 | System.out.println(nama + " telah masuk ke antrian.");
133 | } else {
134 | System.out.println("Barbershop sudah tutup. Anda tidak bisa mendaftar.");
135 | }
136 | }
137 |
138 | // Fungsi untuk memproses pelanggan
139 | public void prosesPelanggan() {
140 | if (!antrian.isEmpty()) {
141 | String pelanggan = antrian.poll(); // Mengambil pelanggan pertama dalam antrian
142 | System.out.println("Sedang melayani " + pelanggan + "...");
143 | try {
144 | Thread.sleep(2000); // Simulasi pemotongan rambut selama 2 detik
145 | } catch (InterruptedException e) {
146 | e.printStackTrace();
147 | }
148 | System.out.println(pelanggan + " telah selesai dilayani.");
149 | } else {
150 | System.out.println("Tidak ada pelanggan di antrian.");
151 | }
152 | }
153 |
154 | // Fungsi untuk menampilkan antrian
155 | public void tampilkanAntrian() {
156 | if (!antrian.isEmpty()) {
157 | System.out.println("Antrian pelanggan:");
158 | int no = 1;
159 | for (String pelanggan : antrian) {
160 | System.out.println(no++ + ". " + pelanggan);
161 | }
162 | } else {
163 | System.out.println("Tidak ada pelanggan di antrian.");
164 | }
165 | }
166 |
167 | public static void main(String[] args) {
168 | Scanner scanner = new Scanner(System.in);
169 | Barbershop barbershop = new Barbershop();
170 | barbershop.bukaBarbershop();
171 |
172 | while (true) {
173 | System.out.println("\n--- Menu ---");
174 | System.out.println("1. Tambah Pelanggan");
175 | System.out.println("2. Proses Pelanggan");
176 | System.out.println("3. Lihat Antrian");
177 | System.out.println("4. Tutup Barbershop");
178 | System.out.println("5. Keluar");
179 |
180 | System.out.print("Pilih menu (1-5): ");
181 | int pilihan = scanner.nextInt();
182 | scanner.nextLine(); // Membersihkan newline setelah nextInt()
183 |
184 | switch (pilihan) {
185 | case 1:
186 | System.out.print("Masukkan nama pelanggan: ");
187 | String nama = scanner.nextLine();
188 | barbershop.tambahPelanggan(nama);
189 | break;
190 | case 2:
191 | barbershop.prosesPelanggan();
192 | break;
193 | case 3:
194 | barbershop.tampilkanAntrian();
195 | break;
196 | case 4:
197 | barbershop.tutupBarbershop();
198 | return;
199 | case 5:
200 | System.out.println("Terima kasih telah menggunakan program ini!");
201 | return;
202 | default:
203 | System.out.println("Pilihan tidak valid, coba lagi.");
204 | }
205 | }
206 | }
207 | }
208 |
209 |
210 | 3. Bioskop
211 |
212 | import java.util.Scanner;
213 |
214 | public class Bioskop {
215 |
216 | // Menampilkan daftar film yang tersedia
217 | public static void showFilms() {
218 | System.out.println("Daftar Film yang Tersedia:");
219 | System.out.println("1. Film A - Harga: Rp 50000");
220 | System.out.println("2. Film B - Harga: Rp 60000");
221 | System.out.println("3. Film C - Harga: Rp 70000");
222 | System.out.println("4. Film D - Harga: Rp 55000");
223 | }
224 |
225 | // Memilih film yang diinginkan oleh pengguna
226 | public static int pilihFilm(Scanner scanner) {
227 | int pilihan;
228 | while (true) {
229 | System.out.print("\nPilih film (1-4): ");
230 | if (scanner.hasNextInt()) {
231 | pilihan = scanner.nextInt();
232 | if (pilihan >= 1 && pilihan <= 4) {
233 | return pilihan;
234 | } else {
235 | System.out.println("Pilihan tidak valid, coba lagi.");
236 | }
237 | } else {
238 | System.out.println("Masukkan angka yang valid.");
239 | scanner.next(); // Clear invalid input
240 | }
241 | }
242 | }
243 |
244 | // Mendapatkan nama film berdasarkan pilihan
245 | public static String getFilmName(int pilihan) {
246 | switch (pilihan) {
247 | case 1: return "Film A";
248 | case 2: return "Film B";
249 | case 3: return "Film C";
250 | case 4: return "Film D";
251 | default: return "Film Tidak Diketahui";
252 | }
253 | }
254 |
255 | // Proses membeli tiket
256 | public static void beliTiket(Scanner scanner) {
257 | int pilihan, jumlahTiket, totalHarga;
258 |
259 | while (true) {
260 | showFilms();
261 | pilihan = pilihFilm(scanner);
262 |
263 | // Menghitung harga berdasarkan film yang dipilih
264 | switch (pilihan) {
265 | case 1: totalHarga = 50000; break;
266 | case 2: totalHarga = 60000; break;
267 | case 3: totalHarga = 70000; break;
268 | case 4: totalHarga = 55000; break;
269 | default: totalHarga = 0; break;
270 | }
271 |
272 | // Input jumlah tiket
273 | System.out.print("Masukkan jumlah tiket yang ingin dibeli: ");
274 | while (!scanner.hasNextInt()) {
275 | System.out.print("Jumlah tiket tidak valid, coba lagi: ");
276 | scanner.next(); // Clear invalid input
277 | }
278 | jumlahTiket = scanner.nextInt();
279 |
280 | totalHarga *= jumlahTiket; // Menghitung total harga
281 |
282 | // Menampilkan hasil pembelian
283 | System.out.printf("\nTiket untuk film %s (%d tiket) berhasil dipesan.\n", getFilmName(pilihan), jumlahTiket);
284 | System.out.printf("Total harga: Rp %d\n", totalHarga);
285 |
286 | // Tanya apakah ingin membeli tiket lagi
287 | System.out.print("\nApakah Anda ingin membeli tiket lagi? (y/t): ");
288 | char lagi = scanner.next().charAt(0);
289 |
290 | if (Character.toLowerCase(lagi) == 't') {
291 | System.out.println("Terima kasih telah membeli tiket di bioskop kami!");
292 | break;
293 | }
294 | }
295 | }
296 |
297 | // Program utama
298 | public static void main(String[] args) {
299 | Scanner scanner = new Scanner(System.in);
300 | beliTiket(scanner);
301 | scanner.close();
302 | }
303 | }
304 |
305 |
306 | 4. Dealer Kartu (Black Jack Simplified)
307 |
308 | import java.util.ArrayList;
309 | import java.util.Collections;
310 | import java.util.Scanner;
311 |
312 | public class Blackjack {
313 |
314 | // Daftar kartu dalam deck
315 | private static final String[] deck = {
316 | "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", // Set pertama
317 | "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", // Set kedua
318 | "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A", // Set ketiga
319 | "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K", "A" // Set keempat
320 | };
321 |
322 | // Fungsi untuk menghitung nilai kartu
323 | public static int cardValue(String card) {
324 | switch (card) {
325 | case "J":
326 | case "Q":
327 | case "K":
328 | return 10;
329 | case "A":
330 | return 11; // Menganggap Ace = 11 untuk kesederhanaan
331 | default:
332 | return Integer.parseInt(card); // Kartu angka (2-10)
333 | }
334 | }
335 |
336 | // Fungsi untuk membagikan kartu secara acak
337 | public static String dealCard(ArrayList deck) {
338 | Collections.shuffle(deck);
339 | return deck.remove(0); // Keluarkan kartu pertama dari deck
340 | }
341 |
342 | // Fungsi untuk menghitung total nilai kartu dalam hand
343 | public static int calculateHand(ArrayList hand) {
344 | int total = 0;
345 | for (String card : hand) {
346 | total += cardValue(card);
347 | }
348 | return total;
349 | }
350 |
351 | // Fungsi utama untuk menjalankan permainan
352 | public static void startGame() {
353 | Scanner scanner = new Scanner(System.in);
354 | ArrayList deckCopy = new ArrayList<>();
355 | Collections.addAll(deckCopy, deck); // Salinan deck untuk permainan
356 |
357 | // Kartu untuk pemain dan dealer
358 | ArrayList playerHand = new ArrayList<>();
359 | ArrayList dealerHand = new ArrayList<>();
360 |
361 | // Membagikan dua kartu untuk pemain dan dealer
362 | playerHand.add(dealCard(deckCopy));
363 | playerHand.add(dealCard(deckCopy));
364 | dealerHand.add(dealCard(deckCopy));
365 | dealerHand.add(dealCard(deckCopy));
366 |
367 | // Menampilkan kartu awal pemain dan dealer (satu kartu dealer tersembunyi)
368 | System.out.println("Kartu Anda: " + playerHand + " dengan nilai " + calculateHand(playerHand));
369 | System.out.println("Kartu Dealer: " + dealerHand.get(0) + " dan kartu tersembunyi");
370 |
371 | // Giliran pemain
372 | while (calculateHand(playerHand) < 21) {
373 | System.out.print("Apakah Anda ingin 'Hit' atau 'Stand'? ");
374 | String action = scanner.nextLine().toLowerCase();
375 |
376 | if (action.equals("hit")) {
377 | playerHand.add(dealCard(deckCopy));
378 | System.out.println("Kartu Anda sekarang: " + playerHand + " dengan nilai " + calculateHand(playerHand));
379 | } else if (action.equals("stand")) {
380 | break;
381 | } else {
382 | System.out.println("Pilihan tidak valid. Pilih 'Hit' atau 'Stand'.");
383 | }
384 | }
385 |
386 | // Jika pemain melebihi 21
387 | if (calculateHand(playerHand) > 21) {
388 | System.out.println("Nilai kartu Anda melebihi 21! Anda kalah!");
389 | return;
390 | }
391 |
392 | // Giliran dealer (dealer akan 'hit' sampai total kartu >= 17)
393 | System.out.println("Kartu Dealer sekarang: " + dealerHand + " dengan nilai " + calculateHand(dealerHand));
394 | while (calculateHand(dealerHand) < 17) {
395 | System.out.println("Dealer memukul kartu...");
396 | dealerHand.add(dealCard(deckCopy));
397 | System.out.println("Kartu Dealer sekarang: " + dealerHand + " dengan nilai " + calculateHand(dealerHand));
398 | }
399 |
400 | // Menentukan pemenang
401 | int playerTotal = calculateHand(playerHand);
402 | int dealerTotal = calculateHand(dealerHand);
403 |
404 | if (dealerTotal > 21) {
405 | System.out.println("Dealer melebihi 21! Anda menang!");
406 | } else if (playerTotal > dealerTotal) {
407 | System.out.println("Anda menang!");
408 | } else if (playerTotal < dealerTotal) {
409 | System.out.println("Dealer menang!");
410 | } else {
411 | System.out.println("Hasil seri!");
412 | }
413 |
414 | scanner.close();
415 | }
416 |
417 | // Fungsi utama untuk menjalankan permainan
418 | public static void main(String[] args) {
419 | System.out.println("Selamat datang di permainan Dealer Kartu!");
420 | startGame();
421 | }
422 | }
423 |
424 |
425 | 5. Diler Kendaraan
426 |
427 | import java.util.Scanner;
428 |
429 | class Vehicle {
430 | private String model;
431 | private int price;
432 | private int stock;
433 |
434 | public Vehicle(String model, int price, int stock) {
435 | this.model = model;
436 | this.price = price;
437 | this.stock = stock;
438 | }
439 |
440 | // Menampilkan informasi kendaraan
441 | public void displayInfo() {
442 | System.out.println("Model: " + model + ", Harga: Rp" + price + ", Stok: " + stock);
443 | }
444 |
445 | // Mengupdate stok setelah pembelian
446 | public void updateStock(int quantity) {
447 | stock -= quantity;
448 | if (stock < 0) {
449 | stock = 0;
450 | }
451 | }
452 |
453 | // Memeriksa ketersediaan stok
454 | public boolean isAvailable(int quantity) {
455 | return stock >= quantity;
456 | }
457 |
458 | public int getPrice() {
459 | return price;
460 | }
461 |
462 | public String getModel() {
463 | return model;
464 | }
465 |
466 | public int getStock() {
467 | return stock;
468 | }
469 | }
470 |
471 | class VehicleDealer {
472 | private Vehicle[] vehicles;
473 | private int vehicleCount;
474 |
475 | public VehicleDealer(int maxVehicles) {
476 | vehicles = new Vehicle[maxVehicles];
477 | vehicleCount = 0;
478 | }
479 |
480 | // Menambahkan kendaraan ke diler
481 | public void addVehicle(String model, int price, int stock) {
482 | if (vehicleCount < vehicles.length) {
483 | vehicles[vehicleCount] = new Vehicle(model, price, stock);
484 | vehicleCount++;
485 | } else {
486 | System.out.println("Diler sudah penuh, tidak bisa menambah kendaraan.");
487 | }
488 | }
489 |
490 | // Menampilkan semua kendaraan yang tersedia
491 | public void displayVehicles() {
492 | if (vehicleCount == 0) {
493 | System.out.println("Tidak ada kendaraan di diler.");
494 | return;
495 | }
496 |
497 | System.out.println("\nKendaraan yang Tersedia di Diler:");
498 | for (int i = 0; i < vehicleCount; i++) {
499 | System.out.print((i + 1) + ". ");
500 | vehicles[i].displayInfo();
501 | }
502 | }
503 |
504 | // Pembelian kendaraan
505 | public void purchaseVehicle() {
506 | displayVehicles();
507 |
508 | if (vehicleCount == 0) {
509 | return;
510 | }
511 |
512 | Scanner scanner = new Scanner(System.in);
513 | try {
514 | System.out.print("\nPilih kendaraan (masukkan nomor): ");
515 | int choice = scanner.nextInt();
516 | System.out.print("Berapa banyak yang ingin dibeli? ");
517 | int quantity = scanner.nextInt();
518 |
519 | if (choice < 1 || choice > vehicleCount) {
520 | System.out.println("Pilihan tidak valid.");
521 | return;
522 | }
523 |
524 | Vehicle selectedVehicle = vehicles[choice - 1];
525 | if (selectedVehicle.isAvailable(quantity)) {
526 | int totalPrice = selectedVehicle.getPrice() * quantity;
527 | System.out.println("\nPembelian Sukses! Total Harga: Rp" + totalPrice);
528 | selectedVehicle.updateStock(quantity);
529 | } else {
530 | System.out.println("\nStok tidak cukup.");
531 | }
532 | } catch (Exception e) {
533 | System.out.println("Input tidak valid.");
534 | }
535 | }
536 | }
537 |
538 | public class VehicleDealerApp {
539 | public static void main(String[] args) {
540 | Scanner scanner = new Scanner(System.in);
541 | VehicleDealer dealer = new VehicleDealer(10); // Maksimal 10 kendaraan
542 |
543 | // Menambahkan beberapa kendaraan ke diler
544 | dealer.addVehicle("Mobil Sedan", 300000000, 10);
545 | dealer.addVehicle("Motor Sport", 100000000, 5);
546 | dealer.addVehicle("Mobil SUV", 500000000, 3);
547 |
548 | while (true) {
549 | System.out.println("\n--- Menu Diler Kendaraan ---");
550 | System.out.println("1. Lihat kendaraan yang tersedia");
551 | System.out.println("2. Pembelian kendaraan");
552 | System.out.println("3. Keluar");
553 |
554 | System.out.print("\nPilih menu: ");
555 | int choice = scanner.nextInt();
556 |
557 | switch (choice) {
558 | case 1:
559 | dealer.displayVehicles();
560 | break;
561 | case 2:
562 | dealer.purchaseVehicle();
563 | break;
564 | case 3:
565 | System.out.println("Terima kasih telah mengunjungi diler kami!");
566 | return;
567 | default:
568 | System.out.println("Pilihan tidak valid.");
569 | }
570 | }
571 | }
572 | }
573 |
574 |
575 | 6. Gaji
576 |
577 | import java.util.Scanner;
578 |
579 | public class GajiKaryawan {
580 |
581 | // Fungsi untuk menghitung gaji total
582 | public static double hitungGaji(double gajiPokok, double tunjangan, double potongan) {
583 | return gajiPokok + tunjangan - potongan;
584 | }
585 |
586 | public static void main(String[] args) {
587 | Scanner scanner = new Scanner(System.in);
588 |
589 | // Menampilkan judul program
590 | System.out.println("Program Perhitungan Gaji Karyawan");
591 |
592 | // Input data
593 | System.out.print("Masukkan gaji pokok: Rp ");
594 | double gajiPokok = scanner.nextDouble();
595 |
596 | System.out.print("Masukkan tunjangan: Rp ");
597 | double tunjangan = scanner.nextDouble();
598 |
599 | System.out.print("Masukkan potongan: Rp ");
600 | double potongan = scanner.nextDouble();
601 |
602 | // Menghitung gaji total
603 | double gajiTotal = hitungGaji(gajiPokok, tunjangan, potongan);
604 |
605 | // Menampilkan hasil perhitungan
606 | System.out.println("\nRingkasan Gaji:");
607 | System.out.println("Gaji Pokok: Rp " + gajiPokok);
608 | System.out.println("Tunjangan: Rp " + tunjangan);
609 | System.out.println("Potongan: Rp " + potongan);
610 | System.out.println("Gaji Total: Rp " + gajiTotal);
611 |
612 | scanner.close();
613 | }
614 | }
615 |
616 |
617 | 7. Kafe
618 |
619 | import java.util.Scanner;
620 |
621 | class Cafe {
622 |
623 | // Daftar menu dan harga
624 | private String[] menu = {"Kopi", "Teh", "Espresso", "Cappuccino", "Kue"};
625 | private int[] harga = {15000, 10000, 20000, 25000, 12000};
626 | private String[] pesanan = new String[10];
627 | private int[] jumlahPesanan = new int[10];
628 | private int pesananCount = 0;
629 |
630 | // Menampilkan menu
631 | public void tampilkanMenu() {
632 | System.out.println("\n--- Menu Kafe ---");
633 | for (int i = 0; i < menu.length; i++) {
634 | System.out.println((i + 1) + ". " + menu[i] + ": Rp " + harga[i]);
635 | }
636 | }
637 |
638 | // Menambahkan pesanan
639 | public void tambahPesanan() {
640 | Scanner scanner = new Scanner(System.in);
641 |
642 | while (true) {
643 | tampilkanMenu();
644 | System.out.print("\nMasukkan nomor item yang ingin dipesan (ketik 0 untuk selesai): ");
645 | int pilihan = scanner.nextInt();
646 |
647 | if (pilihan == 0) {
648 | break;
649 | }
650 |
651 | if (pilihan >= 1 && pilihan <= menu.length) {
652 | System.out.print("Berapa banyak " + menu[pilihan - 1] + " yang ingin dipesan? ");
653 | int jumlah = scanner.nextInt();
654 |
655 | // Tambahkan pesanan ke dalam daftar pesanan
656 | if (pesananCount < pesanan.length) {
657 | boolean ditemukan = false;
658 | for (int i = 0; i < pesananCount; i++) {
659 | if (pesanan[i].equals(menu[pilihan - 1])) {
660 | jumlahPesanan[i] += jumlah;
661 | ditemukan = true;
662 | break;
663 | }
664 | }
665 |
666 | if (!ditemukan) {
667 | pesanan[pesananCount] = menu[pilihan - 1];
668 | jumlahPesanan[pesananCount] = jumlah;
669 | pesananCount++;
670 | }
671 |
672 | System.out.println(jumlah + " " + menu[pilihan - 1] + " telah ditambahkan ke pesanan.");
673 | } else {
674 | System.out.println("Tidak dapat menambahkan pesanan. Maksimal pesanan tercapai.");
675 | }
676 | } else {
677 | System.out.println("Pilihan tidak valid. Silakan coba lagi.");
678 | }
679 | }
680 | }
681 |
682 | // Menghitung total harga pesanan
683 | public int hitungTotal() {
684 | int total = 0;
685 | for (int i = 0; i < pesananCount; i++) {
686 | for (int j = 0; j < menu.length; j++) {
687 | if (pesanan[i].equals(menu[j])) {
688 | total += harga[j] * jumlahPesanan[i];
689 | }
690 | }
691 | }
692 | return total;
693 | }
694 |
695 | // Menampilkan pesanan dan total harga
696 | public void tampilkanPesanan() {
697 | if (pesananCount == 0) {
698 | System.out.println("\nTidak ada pesanan.");
699 | } else {
700 | System.out.println("\n--- Pesanan Anda ---");
701 | for (int i = 0; i < pesananCount; i++) {
702 | for (int j = 0; j < menu.length; j++) {
703 | if (pesanan[i].equals(menu[j])) {
704 | System.out.println(pesanan[i] + " x " + jumlahPesanan[i] + " = Rp " + harga[j] * jumlahPesanan[i]);
705 | }
706 | }
707 | }
708 | System.out.println("\nTotal yang harus dibayar: Rp " + hitungTotal());
709 | }
710 | }
711 | }
712 |
713 | public class Main {
714 | public static void main(String[] args) {
715 | Scanner scanner = new Scanner(System.in);
716 | Cafe cafe = new Cafe();
717 | int pilihan;
718 |
719 | while (true) {
720 | System.out.println("\n--- Selamat Datang di Kafe! ---");
721 | System.out.println("1. Lihat Menu");
722 | System.out.println("2. Tambah Pesanan");
723 | System.out.println("3. Lihat Pesanan dan Total");
724 | System.out.println("4. Keluar");
725 |
726 | System.out.print("Pilih menu (1-4): ");
727 | pilihan = scanner.nextInt();
728 |
729 | switch (pilihan) {
730 | case 1:
731 | cafe.tampilkanMenu();
732 | break;
733 | case 2:
734 | cafe.tambahPesanan();
735 | break;
736 | case 3:
737 | cafe.tampilkanPesanan();
738 | break;
739 | case 4:
740 | System.out.println("Terima kasih telah mengunjungi kafe kami. Sampai jumpa!");
741 | return;
742 | default:
743 | System.out.println("Pilihan tidak valid. Silakan coba lagi.");
744 | break;
745 | }
746 | }
747 | }
748 | }
749 |
750 |
751 | 8. Kalkulator
752 |
753 | import java.util.Scanner;
754 |
755 | public class Kalkulator {
756 |
757 | // Fungsi untuk penjumlahan
758 | public static double tambah(double x, double y) {
759 | return x + y;
760 | }
761 |
762 | // Fungsi untuk pengurangan
763 | public static double kurang(double x, double y) {
764 | return x - y;
765 | }
766 |
767 | // Fungsi untuk perkalian
768 | public static double kali(double x, double y) {
769 | return x * y;
770 | }
771 |
772 | // Fungsi untuk pembagian
773 | public static double bagi(double x, double y) {
774 | if (y != 0) {
775 | return x / y;
776 | } else {
777 | System.out.println("Tidak bisa membagi dengan nol");
778 | return Double.NaN; // Mengembalikan nilai NaN (Not a Number) jika pembagian dengan nol
779 | }
780 | }
781 |
782 | public static void main(String[] args) {
783 | Scanner scanner = new Scanner(System.in);
784 |
785 | // Menampilkan menu operasi
786 | System.out.println("Pilih operasi:");
787 | System.out.println("1. Tambah");
788 | System.out.println("2. Kurang");
789 | System.out.println("3. Kali");
790 | System.out.println("4. Bagi");
791 |
792 | // Meminta input pilihan operasi
793 | System.out.print("Masukkan pilihan (1/2/3/4): ");
794 | int pilihan = scanner.nextInt();
795 |
796 | // Meminta input angka
797 | System.out.print("Masukkan angka pertama: ");
798 | double num1 = scanner.nextDouble();
799 |
800 | System.out.print("Masukkan angka kedua: ");
801 | double num2 = scanner.nextDouble();
802 |
803 | // Melakukan operasi sesuai dengan pilihan pengguna
804 | switch (pilihan) {
805 | case 1:
806 | System.out.println(num1 + " + " + num2 + " = " + tambah(num1, num2));
807 | break;
808 | case 2:
809 | System.out.println(num1 + " - " + num2 + " = " + kurang(num1, num2));
810 | break;
811 | case 3:
812 | System.out.println(num1 + " * " + num2 + " = " + kali(num1, num2));
813 | break;
814 | case 4:
815 | double hasilBagi = bagi(num1, num2);
816 | if (!Double.isNaN(hasilBagi)) {
817 | System.out.println(num1 + " / " + num2 + " = " + hasilBagi);
818 | }
819 | break;
820 | default:
821 | System.out.println("Pilihan tidak valid!");
822 | break;
823 | }
824 |
825 | scanner.close();
826 | }
827 | }
828 |
829 |
830 | 9. Kasir
831 |
832 | import java.util.ArrayList;
833 | import java.util.Scanner;
834 |
835 | class Barang {
836 | String nama;
837 | double harga;
838 | int jumlah;
839 | double total;
840 |
841 | // Constructor untuk membuat objek Barang
842 | public Barang(String nama, double harga, int jumlah) {
843 | this.nama = nama;
844 | this.harga = harga;
845 | this.jumlah = jumlah;
846 | this.total = harga * jumlah;
847 | }
848 |
849 | // Menampilkan rincian barang
850 | public void tampilkanRincian() {
851 | System.out.println(nama + " - Harga: " + harga + " - Jumlah: " + jumlah + " - Total: " + total);
852 | }
853 | }
854 |
855 | class Kasir {
856 | ArrayList daftarBarang;
857 | double totalHarga;
858 |
859 | // Constructor untuk inisialisasi
860 | public Kasir() {
861 | daftarBarang = new ArrayList<>();
862 | totalHarga = 0;
863 | }
864 |
865 | // Menambah barang ke daftar belanja
866 | public void tambahBarang(String nama, double harga, int jumlah) {
867 | Barang barang = new Barang(nama, harga, jumlah);
868 | daftarBarang.add(barang);
869 | totalHarga += barang.total;
870 | System.out.println(nama + " x" + jumlah + " ditambahkan ke daftar belanja.");
871 | }
872 |
873 | // Menampilkan rincian belanja
874 | public void tampilkanRincian() {
875 | System.out.println("\n--- Rincian Belanja ---");
876 | for (Barang barang : daftarBarang) {
877 | barang.tampilkanRincian();
878 | }
879 | System.out.println("\nTotal Belanja: " + totalHarga);
880 | }
881 |
882 | // Proses pembayaran dan menghitung kembalian
883 | public void bayar(double uangDibayar) {
884 | if (uangDibayar >= totalHarga) {
885 | double kembalian = uangDibayar - totalHarga;
886 | System.out.println("\nTotal yang harus dibayar: " + totalHarga);
887 | System.out.println("Uang yang dibayar: " + uangDibayar);
888 | System.out.println("Kembalian: " + kembalian);
889 | } else {
890 | System.out.println("\nUang yang dibayar kurang dari total belanja. Transaksi dibatalkan.");
891 | }
892 | }
893 | }
894 |
895 | public class ProgramKasir {
896 | public static void main(String[] args) {
897 | Scanner scanner = new Scanner(System.in);
898 | Kasir kasir = new Kasir();
899 |
900 | while (true) {
901 | System.out.println("\nMenu Kasir");
902 | System.out.println("1. Tambah barang");
903 | System.out.println("2. Tampilkan rincian belanja");
904 | System.out.println("3. Bayar");
905 | System.out.println("4. Keluar");
906 | System.out.print("Pilih menu (1/2/3/4): ");
907 | int pilihan = scanner.nextInt();
908 | scanner.nextLine(); // Clear buffer
909 |
910 | if (pilihan == 1) {
911 | System.out.print("Masukkan nama barang: ");
912 | String namaBarang = scanner.nextLine();
913 | System.out.print("Masukkan harga barang: ");
914 | double harga = scanner.nextDouble();
915 | System.out.print("Masukkan jumlah barang: ");
916 | int jumlah = scanner.nextInt();
917 | kasir.tambahBarang(namaBarang, harga, jumlah);
918 | } else if (pilihan == 2) {
919 | kasir.tampilkanRincian();
920 | } else if (pilihan == 3) {
921 | kasir.tampilkanRincian();
922 | System.out.print("Masukkan uang yang dibayar: ");
923 | double uangDibayar = scanner.nextDouble();
924 | kasir.bayar(uangDibayar);
925 | } else if (pilihan == 4) {
926 | System.out.println("Terima kasih, sampai jumpa!");
927 | break;
928 | } else {
929 | System.out.println("Pilihan tidak valid, coba lagi.");
930 | }
931 | }
932 | scanner.close();
933 | }
934 | }
935 |
936 |
937 | 10. Kereta
938 |
939 | import java.util.ArrayList;
940 | import java.util.Scanner;
941 |
942 | class Kereta {
943 | private String namaKereta;
944 | private String tujuan;
945 | private String waktuBerangkat;
946 | private int kapasitas;
947 | private int terisi;
948 |
949 | public Kereta(String namaKereta, String tujuan, String waktuBerangkat, int kapasitas) {
950 | this.namaKereta = namaKereta;
951 | this.tujuan = tujuan;
952 | this.waktuBerangkat = waktuBerangkat;
953 | this.kapasitas = kapasitas;
954 | this.terisi = 0;
955 | }
956 |
957 | public void tampilkanInfo() {
958 | System.out.println("Nama Kereta: " + namaKereta);
959 | System.out.println("Tujuan: " + tujuan);
960 | System.out.println("Waktu Berangkat: " + waktuBerangkat);
961 | System.out.println("Kapasitas: " + kapasitas);
962 | System.out.println("Terisi: " + terisi + "/" + kapasitas);
963 | System.out.println();
964 | }
965 |
966 | public void pesanTiket(int jumlahTiket) {
967 | if (terisi + jumlahTiket <= kapasitas) {
968 | terisi += jumlahTiket;
969 | System.out.println("Berhasil memesan " + jumlahTiket + " tiket untuk " + namaKereta + ".");
970 | } else {
971 | System.out.println("Maaf, hanya tersisa " + (kapasitas - terisi) + " tiket untuk " + namaKereta + ".");
972 | }
973 | }
974 |
975 | public String getNamaKereta() {
976 | return namaKereta;
977 | }
978 | }
979 |
980 | class SistemKereta {
981 | private ArrayList keretaList;
982 |
983 | public SistemKereta() {
984 | keretaList = new ArrayList<>();
985 | }
986 |
987 | public void tambahKereta(Kereta kereta) {
988 | keretaList.add(kereta);
989 | }
990 |
991 | public void tampilkanJadwal() {
992 | System.out.println("Jadwal Kereta:");
993 | for (Kereta kereta : keretaList) {
994 | kereta.tampilkanInfo();
995 | }
996 | }
997 |
998 | public void pesanTiketKereta(String namaKereta, int jumlahTiket) {
999 | boolean ditemukan = false;
1000 | for (Kereta kereta : keretaList) {
1001 | if (kereta.getNamaKereta().equalsIgnoreCase(namaKereta)) {
1002 | kereta.pesanTiket(jumlahTiket);
1003 | ditemukan = true;
1004 | break;
1005 | }
1006 | }
1007 | if (!ditemukan) {
1008 | System.out.println("Kereta dengan nama " + namaKereta + " tidak ditemukan.");
1009 | }
1010 | }
1011 | }
1012 |
1013 | public class Main {
1014 | public static void main(String[] args) {
1015 | Scanner scanner = new Scanner(System.in);
1016 | SistemKereta sistemKereta = new SistemKereta();
1017 |
1018 | // Menambahkan beberapa kereta ke sistem
1019 | Kereta kereta1 = new Kereta("Ekspres Jakarta", "Bandung", "10:00", 100);
1020 | Kereta kereta2 = new Kereta("Argo Bromo", "Surabaya", "15:00", 150);
1021 | Kereta kereta3 = new Kereta("Kelas Ekonomi", "Yogyakarta", "12:00", 200);
1022 |
1023 | sistemKereta.tambahKereta(kereta1);
1024 | sistemKereta.tambahKereta(kereta2);
1025 | sistemKereta.tambahKereta(kereta3);
1026 |
1027 | int pilihan;
1028 | String namaKereta;
1029 | int jumlahTiket;
1030 |
1031 | while (true) {
1032 | System.out.println("\nMenu:");
1033 | System.out.println("1. Tampilkan Jadwal Kereta");
1034 | System.out.println("2. Pesan Tiket Kereta");
1035 | System.out.println("3. Keluar");
1036 |
1037 | System.out.print("Pilih menu (1/2/3): ");
1038 | pilihan = scanner.nextInt();
1039 |
1040 | if (pilihan == 1) {
1041 | sistemKereta.tampilkanJadwal();
1042 | } else if (pilihan == 2) {
1043 | System.out.print("Masukkan nama kereta yang ingin dipesan: ");
1044 | scanner.nextLine(); // Membersihkan newline
1045 | namaKereta = scanner.nextLine();
1046 | System.out.print("Masukkan jumlah tiket yang ingin dipesan: ");
1047 | jumlahTiket = scanner.nextInt();
1048 | sistemKereta.pesanTiketKereta(namaKereta, jumlahTiket);
1049 | } else if (pilihan == 3) {
1050 | System.out.println("Terima kasih telah menggunakan sistem kereta.");
1051 | break;
1052 | } else {
1053 | System.out.println("Pilihan tidak valid. Silakan coba lagi.");
1054 | }
1055 | }
1056 |
1057 | scanner.close();
1058 | }
1059 | }
1060 |
1061 |
1062 | Mau Lebih Banyak Kode? Lihat Di Github Saya (Kode 11 - 20)
1063 | Klik Disini
1064 |
1065 |
1086 |
1087 |
1088 |
1089 |
--------------------------------------------------------------------------------
/kafe.java:
--------------------------------------------------------------------------------
1 | import java.util.Scanner;
2 |
3 | class Cafe {
4 |
5 | // Daftar menu dan harga
6 | private String[] menu = {"Kopi", "Teh", "Espresso", "Cappuccino", "Kue"};
7 | private int[] harga = {15000, 10000, 20000, 25000, 12000};
8 | private String[] pesanan = new String[10];
9 | private int[] jumlahPesanan = new int[10];
10 | private int pesananCount = 0;
11 |
12 | // Menampilkan menu
13 | public void tampilkanMenu() {
14 | System.out.println("\n--- Menu Kafe ---");
15 | for (int i = 0; i < menu.length; i++) {
16 | System.out.println((i + 1) + ". " + menu[i] + ": Rp " + harga[i]);
17 | }
18 | }
19 |
20 | // Menambahkan pesanan
21 | public void tambahPesanan() {
22 | Scanner scanner = new Scanner(System.in);
23 |
24 | while (true) {
25 | tampilkanMenu();
26 | System.out.print("\nMasukkan nomor item yang ingin dipesan (ketik 0 untuk selesai): ");
27 | int pilihan = scanner.nextInt();
28 |
29 | if (pilihan == 0) {
30 | break;
31 | }
32 |
33 | if (pilihan >= 1 && pilihan <= menu.length) {
34 | System.out.print("Berapa banyak " + menu[pilihan - 1] + " yang ingin dipesan? ");
35 | int jumlah = scanner.nextInt();
36 |
37 | // Tambahkan pesanan ke dalam daftar pesanan
38 | if (pesananCount < pesanan.length) {
39 | boolean ditemukan = false;
40 | for (int i = 0; i < pesananCount; i++) {
41 | if (pesanan[i].equals(menu[pilihan - 1])) {
42 | jumlahPesanan[i] += jumlah;
43 | ditemukan = true;
44 | break;
45 | }
46 | }
47 |
48 | if (!ditemukan) {
49 | pesanan[pesananCount] = menu[pilihan - 1];
50 | jumlahPesanan[pesananCount] = jumlah;
51 | pesananCount++;
52 | }
53 |
54 | System.out.println(jumlah + " " + menu[pilihan - 1] + " telah ditambahkan ke pesanan.");
55 | } else {
56 | System.out.println("Tidak dapat menambahkan pesanan. Maksimal pesanan tercapai.");
57 | }
58 | } else {
59 | System.out.println("Pilihan tidak valid. Silakan coba lagi.");
60 | }
61 | }
62 | }
63 |
64 | // Menghitung total harga pesanan
65 | public int hitungTotal() {
66 | int total = 0;
67 | for (int i = 0; i < pesananCount; i++) {
68 | for (int j = 0; j < menu.length; j++) {
69 | if (pesanan[i].equals(menu[j])) {
70 | total += harga[j] * jumlahPesanan[i];
71 | }
72 | }
73 | }
74 | return total;
75 | }
76 |
77 | // Menampilkan pesanan dan total harga
78 | public void tampilkanPesanan() {
79 | if (pesananCount == 0) {
80 | System.out.println("\nTidak ada pesanan.");
81 | } else {
82 | System.out.println("\n--- Pesanan Anda ---");
83 | for (int i = 0; i < pesananCount; i++) {
84 | for (int j = 0; j < menu.length; j++) {
85 | if (pesanan[i].equals(menu[j])) {
86 | System.out.println(pesanan[i] + " x " + jumlahPesanan[i] + " = Rp " + harga[j] * jumlahPesanan[i]);
87 | }
88 | }
89 | }
90 | System.out.println("\nTotal yang harus dibayar: Rp " + hitungTotal());
91 | }
92 | }
93 | }
94 |
95 | public class Main {
96 | public static void main(String[] args) {
97 | Scanner scanner = new Scanner(System.in);
98 | Cafe cafe = new Cafe();
99 | int pilihan;
100 |
101 | while (true) {
102 | System.out.println("\n--- Selamat Datang di Kafe! ---");
103 | System.out.println("1. Lihat Menu");
104 | System.out.println("2. Tambah Pesanan");
105 | System.out.println("3. Lihat Pesanan dan Total");
106 | System.out.println("4. Keluar");
107 |
108 | System.out.print("Pilih menu (1-4): ");
109 | pilihan = scanner.nextInt();
110 |
111 | switch (pilihan) {
112 | case 1:
113 | cafe.tampilkanMenu();
114 | break;
115 | case 2:
116 | cafe.tambahPesanan();
117 | break;
118 | case 3:
119 | cafe.tampilkanPesanan();
120 | break;
121 | case 4:
122 | System.out.println("Terima kasih telah mengunjungi kafe kami. Sampai jumpa!");
123 | return;
124 | default:
125 | System.out.println("Pilihan tidak valid. Silakan coba lagi.");
126 | break;
127 | }
128 | }
129 | }
130 | }
--------------------------------------------------------------------------------
/kalkulator.java:
--------------------------------------------------------------------------------
1 | import java.util.Scanner;
2 |
3 | public class Kalkulator {
4 |
5 | // Fungsi untuk penjumlahan
6 | public static double tambah(double x, double y) {
7 | return x + y;
8 | }
9 |
10 | // Fungsi untuk pengurangan
11 | public static double kurang(double x, double y) {
12 | return x - y;
13 | }
14 |
15 | // Fungsi untuk perkalian
16 | public static double kali(double x, double y) {
17 | return x * y;
18 | }
19 |
20 | // Fungsi untuk pembagian
21 | public static double bagi(double x, double y) {
22 | if (y != 0) {
23 | return x / y;
24 | } else {
25 | System.out.println("Tidak bisa membagi dengan nol");
26 | return Double.NaN; // Mengembalikan nilai NaN (Not a Number) jika pembagian dengan nol
27 | }
28 | }
29 |
30 | public static void main(String[] args) {
31 | Scanner scanner = new Scanner(System.in);
32 |
33 | // Menampilkan menu operasi
34 | System.out.println("Pilih operasi:");
35 | System.out.println("1. Tambah");
36 | System.out.println("2. Kurang");
37 | System.out.println("3. Kali");
38 | System.out.println("4. Bagi");
39 |
40 | // Meminta input pilihan operasi
41 | System.out.print("Masukkan pilihan (1/2/3/4): ");
42 | int pilihan = scanner.nextInt();
43 |
44 | // Meminta input angka
45 | System.out.print("Masukkan angka pertama: ");
46 | double num1 = scanner.nextDouble();
47 |
48 | System.out.print("Masukkan angka kedua: ");
49 | double num2 = scanner.nextDouble();
50 |
51 | // Melakukan operasi sesuai dengan pilihan pengguna
52 | switch (pilihan) {
53 | case 1:
54 | System.out.println(num1 + " + " + num2 + " = " + tambah(num1, num2));
55 | break;
56 | case 2:
57 | System.out.println(num1 + " - " + num2 + " = " + kurang(num1, num2));
58 | break;
59 | case 3:
60 | System.out.println(num1 + " * " + num2 + " = " + kali(num1, num2));
61 | break;
62 | case 4:
63 | double hasilBagi = bagi(num1, num2);
64 | if (!Double.isNaN(hasilBagi)) {
65 | System.out.println(num1 + " / " + num2 + " = " + hasilBagi);
66 | }
67 | break;
68 | default:
69 | System.out.println("Pilihan tidak valid!");
70 | break;
71 | }
72 |
73 | scanner.close();
74 | }
75 | }
--------------------------------------------------------------------------------
/kasir.java:
--------------------------------------------------------------------------------
1 | import java.util.ArrayList;
2 | import java.util.Scanner;
3 |
4 | class Barang {
5 | String nama;
6 | double harga;
7 | int jumlah;
8 | double total;
9 |
10 | // Constructor untuk membuat objek Barang
11 | public Barang(String nama, double harga, int jumlah) {
12 | this.nama = nama;
13 | this.harga = harga;
14 | this.jumlah = jumlah;
15 | this.total = harga * jumlah;
16 | }
17 |
18 | // Menampilkan rincian barang
19 | public void tampilkanRincian() {
20 | System.out.println(nama + " - Harga: " + harga + " - Jumlah: " + jumlah + " - Total: " + total);
21 | }
22 | }
23 |
24 | class Kasir {
25 | ArrayList daftarBarang;
26 | double totalHarga;
27 |
28 | // Constructor untuk inisialisasi
29 | public Kasir() {
30 | daftarBarang = new ArrayList<>();
31 | totalHarga = 0;
32 | }
33 |
34 | // Menambah barang ke daftar belanja
35 | public void tambahBarang(String nama, double harga, int jumlah) {
36 | Barang barang = new Barang(nama, harga, jumlah);
37 | daftarBarang.add(barang);
38 | totalHarga += barang.total;
39 | System.out.println(nama + " x" + jumlah + " ditambahkan ke daftar belanja.");
40 | }
41 |
42 | // Menampilkan rincian belanja
43 | public void tampilkanRincian() {
44 | System.out.println("\n--- Rincian Belanja ---");
45 | for (Barang barang : daftarBarang) {
46 | barang.tampilkanRincian();
47 | }
48 | System.out.println("\nTotal Belanja: " + totalHarga);
49 | }
50 |
51 | // Proses pembayaran dan menghitung kembalian
52 | public void bayar(double uangDibayar) {
53 | if (uangDibayar >= totalHarga) {
54 | double kembalian = uangDibayar - totalHarga;
55 | System.out.println("\nTotal yang harus dibayar: " + totalHarga);
56 | System.out.println("Uang yang dibayar: " + uangDibayar);
57 | System.out.println("Kembalian: " + kembalian);
58 | } else {
59 | System.out.println("\nUang yang dibayar kurang dari total belanja. Transaksi dibatalkan.");
60 | }
61 | }
62 | }
63 |
64 | public class ProgramKasir {
65 | public static void main(String[] args) {
66 | Scanner scanner = new Scanner(System.in);
67 | Kasir kasir = new Kasir();
68 |
69 | while (true) {
70 | System.out.println("\nMenu Kasir");
71 | System.out.println("1. Tambah barang");
72 | System.out.println("2. Tampilkan rincian belanja");
73 | System.out.println("3. Bayar");
74 | System.out.println("4. Keluar");
75 | System.out.print("Pilih menu (1/2/3/4): ");
76 | int pilihan = scanner.nextInt();
77 | scanner.nextLine(); // Clear buffer
78 |
79 | if (pilihan == 1) {
80 | System.out.print("Masukkan nama barang: ");
81 | String namaBarang = scanner.nextLine();
82 | System.out.print("Masukkan harga barang: ");
83 | double harga = scanner.nextDouble();
84 | System.out.print("Masukkan jumlah barang: ");
85 | int jumlah = scanner.nextInt();
86 | kasir.tambahBarang(namaBarang, harga, jumlah);
87 | } else if (pilihan == 2) {
88 | kasir.tampilkanRincian();
89 | } else if (pilihan == 3) {
90 | kasir.tampilkanRincian();
91 | System.out.print("Masukkan uang yang dibayar: ");
92 | double uangDibayar = scanner.nextDouble();
93 | kasir.bayar(uangDibayar);
94 | } else if (pilihan == 4) {
95 | System.out.println("Terima kasih, sampai jumpa!");
96 | break;
97 | } else {
98 | System.out.println("Pilihan tidak valid, coba lagi.");
99 | }
100 | }
101 | scanner.close();
102 | }
103 | }
--------------------------------------------------------------------------------
/kereta.java:
--------------------------------------------------------------------------------
1 | import java.util.ArrayList;
2 | import java.util.Scanner;
3 |
4 | class Kereta {
5 | private String namaKereta;
6 | private String tujuan;
7 | private String waktuBerangkat;
8 | private int kapasitas;
9 | private int terisi;
10 |
11 | public Kereta(String namaKereta, String tujuan, String waktuBerangkat, int kapasitas) {
12 | this.namaKereta = namaKereta;
13 | this.tujuan = tujuan;
14 | this.waktuBerangkat = waktuBerangkat;
15 | this.kapasitas = kapasitas;
16 | this.terisi = 0;
17 | }
18 |
19 | public void tampilkanInfo() {
20 | System.out.println("Nama Kereta: " + namaKereta);
21 | System.out.println("Tujuan: " + tujuan);
22 | System.out.println("Waktu Berangkat: " + waktuBerangkat);
23 | System.out.println("Kapasitas: " + kapasitas);
24 | System.out.println("Terisi: " + terisi + "/" + kapasitas);
25 | System.out.println();
26 | }
27 |
28 | public void pesanTiket(int jumlahTiket) {
29 | if (terisi + jumlahTiket <= kapasitas) {
30 | terisi += jumlahTiket;
31 | System.out.println("Berhasil memesan " + jumlahTiket + " tiket untuk " + namaKereta + ".");
32 | } else {
33 | System.out.println("Maaf, hanya tersisa " + (kapasitas - terisi) + " tiket untuk " + namaKereta + ".");
34 | }
35 | }
36 |
37 | public String getNamaKereta() {
38 | return namaKereta;
39 | }
40 | }
41 |
42 | class SistemKereta {
43 | private ArrayList keretaList;
44 |
45 | public SistemKereta() {
46 | keretaList = new ArrayList<>();
47 | }
48 |
49 | public void tambahKereta(Kereta kereta) {
50 | keretaList.add(kereta);
51 | }
52 |
53 | public void tampilkanJadwal() {
54 | System.out.println("Jadwal Kereta:");
55 | for (Kereta kereta : keretaList) {
56 | kereta.tampilkanInfo();
57 | }
58 | }
59 |
60 | public void pesanTiketKereta(String namaKereta, int jumlahTiket) {
61 | boolean ditemukan = false;
62 | for (Kereta kereta : keretaList) {
63 | if (kereta.getNamaKereta().equalsIgnoreCase(namaKereta)) {
64 | kereta.pesanTiket(jumlahTiket);
65 | ditemukan = true;
66 | break;
67 | }
68 | }
69 | if (!ditemukan) {
70 | System.out.println("Kereta dengan nama " + namaKereta + " tidak ditemukan.");
71 | }
72 | }
73 | }
74 |
75 | public class Main {
76 | public static void main(String[] args) {
77 | Scanner scanner = new Scanner(System.in);
78 | SistemKereta sistemKereta = new SistemKereta();
79 |
80 | // Menambahkan beberapa kereta ke sistem
81 | Kereta kereta1 = new Kereta("Ekspres Jakarta", "Bandung", "10:00", 100);
82 | Kereta kereta2 = new Kereta("Argo Bromo", "Surabaya", "15:00", 150);
83 | Kereta kereta3 = new Kereta("Kelas Ekonomi", "Yogyakarta", "12:00", 200);
84 |
85 | sistemKereta.tambahKereta(kereta1);
86 | sistemKereta.tambahKereta(kereta2);
87 | sistemKereta.tambahKereta(kereta3);
88 |
89 | int pilihan;
90 | String namaKereta;
91 | int jumlahTiket;
92 |
93 | while (true) {
94 | System.out.println("\nMenu:");
95 | System.out.println("1. Tampilkan Jadwal Kereta");
96 | System.out.println("2. Pesan Tiket Kereta");
97 | System.out.println("3. Keluar");
98 |
99 | System.out.print("Pilih menu (1/2/3): ");
100 | pilihan = scanner.nextInt();
101 |
102 | if (pilihan == 1) {
103 | sistemKereta.tampilkanJadwal();
104 | } else if (pilihan == 2) {
105 | System.out.print("Masukkan nama kereta yang ingin dipesan: ");
106 | scanner.nextLine(); // Membersihkan newline
107 | namaKereta = scanner.nextLine();
108 | System.out.print("Masukkan jumlah tiket yang ingin dipesan: ");
109 | jumlahTiket = scanner.nextInt();
110 | sistemKereta.pesanTiketKereta(namaKereta, jumlahTiket);
111 | } else if (pilihan == 3) {
112 | System.out.println("Terima kasih telah menggunakan sistem kereta.");
113 | break;
114 | } else {
115 | System.out.println("Pilihan tidak valid. Silakan coba lagi.");
116 | }
117 | }
118 |
119 | scanner.close();
120 | }
121 | }
--------------------------------------------------------------------------------
/parkir.java:
--------------------------------------------------------------------------------
1 | import java.util.ArrayList;
2 | import java.util.Scanner;
3 |
4 | class Parkir {
5 | private int kapasitas;
6 | private ArrayList kendaraanParkir;
7 |
8 | public Parkir(int kapasitas) {
9 | this.kapasitas = kapasitas;
10 | kendaraanParkir = new ArrayList<>();
11 | }
12 |
13 | public void masukParkir() {
14 | if (kendaraanParkir.size() < kapasitas) {
15 | Scanner scanner = new Scanner(System.in);
16 | System.out.print("Masukkan nama kendaraan yang ingin parkir: ");
17 | String kendaraan = scanner.nextLine();
18 | kendaraanParkir.add(kendaraan);
19 | System.out.println(kendaraan + " berhasil masuk ke area parkir.");
20 | } else {
21 | System.out.println("Parkir sudah penuh!");
22 | }
23 | }
24 |
25 | public void keluarParkir() {
26 | Scanner scanner = new Scanner(System.in);
27 | System.out.print("Masukkan nama kendaraan yang ingin keluar: ");
28 | String kendaraan = scanner.nextLine();
29 |
30 | if (kendaraanParkir.contains(kendaraan)) {
31 | kendaraanParkir.remove(kendaraan);
32 | System.out.println(kendaraan + " telah keluar dari area parkir.");
33 | } else {
34 | System.out.println(kendaraan + " tidak ditemukan di parkir.");
35 | }
36 | }
37 |
38 | public void statusParkir() {
39 | if (kendaraanParkir.isEmpty()) {
40 | System.out.println("Area parkir kosong.");
41 | } else {
42 | System.out.println("Kendaraan yang terparkir:");
43 | for (String kendaraan : kendaraanParkir) {
44 | System.out.println(kendaraan);
45 | }
46 | }
47 | }
48 | }
49 |
50 | public class SistemParkir {
51 | public static void main(String[] args) {
52 | Scanner scanner = new Scanner(System.in);
53 |
54 | System.out.print("Masukkan kapasitas parkir: ");
55 | int kapasitasParkir = scanner.nextInt();
56 |
57 | Parkir parkir = new Parkir(kapasitasParkir);
58 |
59 | int pilihan;
60 | do {
61 | System.out.println("\nPilih menu:");
62 | System.out.println("1. Masukkan kendaraan");
63 | System.out.println("2. Keluarkan kendaraan");
64 | System.out.println("3. Lihat status parkir");
65 | System.out.println("4. Keluar");
66 |
67 | System.out.print("Pilihan Anda: ");
68 | pilihan = scanner.nextInt();
69 | scanner.nextLine(); // Untuk menangani newline setelah memasukkan pilihan
70 |
71 | switch (pilihan) {
72 | case 1:
73 | parkir.masukParkir();
74 | break;
75 | case 2:
76 | parkir.keluarParkir();
77 | break;
78 | case 3:
79 | parkir.statusParkir();
80 | break;
81 | case 4:
82 | System.out.println("Terima kasih telah menggunakan sistem parkir!");
83 | break;
84 | default:
85 | System.out.println("Pilihan tidak valid, coba lagi.");
86 | }
87 | } while (pilihan != 4);
88 |
89 | scanner.close();
90 | }
91 | }
--------------------------------------------------------------------------------
/perpustakaan.java:
--------------------------------------------------------------------------------
1 | import java.util.ArrayList;
2 | import java.util.List;
3 | import java.util.Scanner;
4 |
5 | class Buku {
6 | private String judul;
7 | private String penulis;
8 | private int tahunTerbit;
9 |
10 | public Buku(String judul, String penulis, int tahunTerbit) {
11 | this.judul = judul;
12 | this.penulis = penulis;
13 | this.tahunTerbit = tahunTerbit;
14 | }
15 |
16 | public String getJudul() {
17 | return judul;
18 | }
19 |
20 | public String getPenulis() {
21 | return penulis;
22 | }
23 |
24 | public int getTahunTerbit() {
25 | return tahunTerbit;
26 | }
27 |
28 | @Override
29 | public String toString() {
30 | return "Judul: " + judul + ", Penulis: " + penulis + ", Tahun Terbit: " + tahunTerbit;
31 | }
32 | }
33 |
34 | class Perpustakaan {
35 | private List daftarBuku = new ArrayList<>();
36 |
37 | public void tambahBuku(Buku buku) {
38 | daftarBuku.add(buku);
39 | System.out.println("Buku '" + buku.getJudul() + "' berhasil ditambahkan.");
40 | }
41 |
42 | public void hapusBuku(String judul) {
43 | Buku bukuUntukDihapus = null;
44 | for (Buku buku : daftarBuku) {
45 | if (buku.getJudul().equalsIgnoreCase(judul)) {
46 | bukuUntukDihapus = buku;
47 | break;
48 | }
49 | }
50 |
51 | if (bukuUntukDihapus != null) {
52 | daftarBuku.remove(bukuUntukDihapus);
53 | System.out.println("Buku '" + judul + "' berhasil dihapus.");
54 | } else {
55 | System.out.println("Buku '" + judul + "' tidak ditemukan.");
56 | }
57 | }
58 |
59 | public void tampilkanBuku() {
60 | if (daftarBuku.isEmpty()) {
61 | System.out.println("Tidak ada buku di perpustakaan.");
62 | } else {
63 | System.out.println("Daftar Buku Perpustakaan:");
64 | for (Buku buku : daftarBuku) {
65 | System.out.println(buku);
66 | }
67 | }
68 | }
69 | }
70 |
71 | public class Program {
72 | public static void main(String[] args) {
73 | Scanner scanner = new Scanner(System.in);
74 | Perpustakaan perpustakaan = new Perpustakaan();
75 |
76 | while (true) {
77 | System.out.println("\nMenu Perpustakaan:");
78 | System.out.println("1. Tambah Buku");
79 | System.out.println("2. Hapus Buku");
80 | System.out.println("3. Tampilkan Daftar Buku");
81 | System.out.println("4. Keluar");
82 | System.out.print("Pilih menu (1/2/3/4): ");
83 | int pilihan = scanner.nextInt();
84 | scanner.nextLine(); // Membersihkan newline yang tertinggal setelah nextInt()
85 |
86 | switch (pilihan) {
87 | case 1:
88 | System.out.print("Masukkan judul buku: ");
89 | String judulTambah = scanner.nextLine();
90 |
91 | System.out.print("Masukkan penulis buku: ");
92 | String penulisTambah = scanner.nextLine();
93 |
94 | System.out.print("Masukkan tahun terbit buku: ");
95 | int tahunTerbitTambah = scanner.nextInt();
96 | scanner.nextLine(); // Membersihkan newline yang tertinggal setelah nextInt()
97 |
98 | Buku bukuBaru = new Buku(judulTambah, penulisTambah, tahunTerbitTambah);
99 | perpustakaan.tambahBuku(bukuBaru);
100 | break;
101 |
102 | case 2:
103 | System.out.print("Masukkan judul buku yang akan dihapus: ");
104 | String judulHapus = scanner.nextLine();
105 | perpustakaan.hapusBuku(judulHapus);
106 | break;
107 |
108 | case 3:
109 | perpustakaan.tampilkanBuku();
110 | break;
111 |
112 | case 4:
113 | System.out.println("Terima kasih! Keluar dari program.");
114 | scanner.close();
115 | return;
116 |
117 | default:
118 | System.out.println("Pilihan tidak valid, coba lagi.");
119 | break;
120 | }
121 | }
122 | }
123 | }
--------------------------------------------------------------------------------
/raffneptune.jpg:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/raffneptune/java/e0edb0bc2dfc9c3a778ca64117cf647989bc0cdf/raffneptune.jpg
--------------------------------------------------------------------------------
/rental.java:
--------------------------------------------------------------------------------
1 | import java.util.Scanner;
2 |
3 | class RentalItem {
4 | String name;
5 | int ratePerHour;
6 |
7 | public RentalItem(String name, int ratePerHour) {
8 | this.name = name;
9 | this.ratePerHour = ratePerHour;
10 | }
11 |
12 | public int calculateCost(int hours) {
13 | return ratePerHour * hours;
14 | }
15 | }
16 |
17 | class RentalSystem {
18 | RentalItem[] items;
19 |
20 | public RentalSystem() {
21 | items = new RentalItem[] {
22 | new RentalItem("Sepeda", 5000),
23 | new RentalItem("Skuter", 10000),
24 | new RentalItem("Mobil", 50000)
25 | };
26 | }
27 |
28 | public void displayItems() {
29 | System.out.println("Barang yang tersedia untuk disewa:");
30 | for (int i = 0; i < items.length; i++) {
31 | System.out.println((i + 1) + ". " + items[i].name + " - Rp" + items[i].ratePerHour + " per jam");
32 | }
33 | }
34 |
35 | public void rentItem() {
36 | displayItems();
37 |
38 | Scanner scanner = new Scanner(System.in);
39 | System.out.print("Pilih barang yang ingin disewa (1/2/3): ");
40 | int choice = scanner.nextInt();
41 |
42 | if (choice < 1 || choice > items.length) {
43 | System.out.println("Pilihan tidak valid!");
44 | return;
45 | }
46 |
47 | System.out.print("Berapa jam Anda ingin menyewa " + items[choice - 1].name + "? ");
48 | int hours = scanner.nextInt();
49 |
50 | int totalCost = items[choice - 1].calculateCost(hours);
51 | System.out.println("Total biaya untuk menyewa " + items[choice - 1].name + " selama " + hours + " jam adalah: Rp" + totalCost);
52 | }
53 | }
54 |
55 | public class Main {
56 | public static void main(String[] args) {
57 | RentalSystem rentalSystem = new RentalSystem();
58 | Scanner scanner = new Scanner(System.in);
59 |
60 | while (true) {
61 | System.out.println("\nSelamat datang di sistem rental!");
62 | System.out.println("1. Sewa barang");
63 | System.out.println("2. Keluar");
64 | System.out.print("Pilih menu: ");
65 | String choice = scanner.nextLine();
66 |
67 | if (choice.equals("1")) {
68 | rentalSystem.rentItem();
69 | } else if (choice.equals("2")) {
70 | System.out.println("Terima kasih telah menggunakan sistem rental!");
71 | break;
72 | } else {
73 | System.out.println("Pilihan tidak valid, coba lagi.");
74 | }
75 | }
76 | }
77 | }
--------------------------------------------------------------------------------
/restoran.java:
--------------------------------------------------------------------------------
1 | import java.util.ArrayList;
2 | import java.util.List;
3 | import java.util.Scanner;
4 |
5 | class Menu {
6 | String nama;
7 | int harga;
8 |
9 | public Menu(String nama, int harga) {
10 | this.nama = nama;
11 | this.harga = harga;
12 | }
13 | }
14 |
15 | class Pesanan {
16 | Menu menu;
17 | int jumlah;
18 |
19 | public Pesanan(Menu menu, int jumlah) {
20 | this.menu = menu;
21 | this.jumlah = jumlah;
22 | }
23 | }
24 |
25 | public class Restoran {
26 |
27 | private static List