Latihan Soal Level 1–3

Kumpulan soal latihan untuk menguji pemahaman Java dari dasar hingga menengah.
LatihanLevel 1-3Pemula

🏋️ Latihan Soal Level 1–3

Kumpulan soal latihan untuk menguji pemahaman Anda dari Modul 1 sampai 9. Dibagi menjadi tiga level kesulitan. Cobalah untuk mengerjakan semua soal tanpa melihat solusi terlebih dahulu.

Tips: Kerjakan secara berurutan. Jika menemui kesulitan, ulangi modul terkait.

Soal-soal dasar dari Modul 1–3 (variabel, tipe data, operator, percabangan sederhana).

  1. Profil Singkat
    Buat program yang menampilkan nama, umur, dan kota asal menggunakan variabel.
  2. Luas & Keliling Persegi Panjang
    Input: panjang dan lebar dari keyboard. Hitung luas dan keliling.
  3. Konversi Suhu
    Celsius ke Fahrenheit. Rumus: F = (C × 9/5) + 32
  4. Diskon Belanja
    Jika total belanja ≥ 500.000, diskon 10%. Tampilkan harga setelah diskon.
  5. Kembalian Kasir
    Input: harga barang dan uang yang dibayarkan. Hitung sisa kembalian.
Petunjuk Soal 4: Gunakan if untuk menentukan diskon.

Soal-soal menengah dari Modul 4–6 (perulangan, switch, nested loop).

  1. Kalkulator Sederhana
    Dengan operasi +, -, *, /. Gunakan switch untuk memilih operasi.
  2. Cek Tahun Kabisat
    Tahun kabisat: habis dibagi 4, kecuali abad — kecuali habis dibagi 400.
  3. Bilangan Prima 2–100
    Tampilkan semua bilangan prima dari 2 sampai 100 menggunakan nested loop.
  4. Pola Bintang Segitiga
    Buat pola berikut dengan nested for:
    *
    **
    ***
    ****
    *****
    
  5. Tebak Angka
    Generate angka acak 1-100, user menebak sampai benar. Beri petunjuk "terlalu besar/kecil".
  6. Faktorial
    Hitung faktorial dari angka yang diinput menggunakan loop (bukan rekursi).
  7. Palindrom
    Cek apakah sebuah string adalah palindrom (dibaca sama dari depan dan belakang). Contoh: kasur rusak.
Hint Soal 10: Gunakan Math.random() untuk generate angka.
int rahasia = (int)(Math.random() * 100) + 1; // 1-100

Soal-soal lanjutan dari Modul 7–9 (array, method, String, StringBuilder).

  1. Statistik Nilai Ujian
    Program menerima 10 nilai ujian, tampilkan: nilai tertinggi, terendah, rata-rata, dan jumlah yang lulus (≥70).
  2. Bubble Sort Manual
    Implementasikan bubble sort manual (tanpa Arrays.sort()) untuk array integer.
  3. Kamus Sederhana
    User memasukkan kata Inggris, program menampilkan artinya (simpan di array 2D atau dua array paralel).
  4. Fibonacci Rekursif
    Buat method rekursif untuk menghitung fibonacci ke-n:
    public static int fibonacci(int n) {
        if (n <= 1) return n;
        return fibonacci(n-1) + fibonacci(n-2);
    }
    
Perhatian: Untuk soal rekursif fibonacci, nilai n yang besar akan sangat lambat. Coba dengan n kecil dulu (misal n ≤ 30).

📝 Catatan

  • Untuk soal yang memerlukan input, gunakan Scanner.
  • Usahakan menulis kode dengan rapi dan diberi komentar.
  • Setelah selesai, coba jalankan dan uji dengan berbagai kasus.
Selamat berlatih! 🎉