Lewati ke konten

Challenge BAB 2

Setelah mengerjakan challenge ini, kamu dapat mengukur pemahamanmu tentang operator dan percabangan, lalu mengetahui topik mana yang perlu dipelajari ulang.


Kerjakan setiap soal tanpa melihat kembali contoh kode. Jika buntu, baca ulang halaman materi yang berkaitan, coba lagi, baru tanya guru.

Cara menjalankan:

🖥️ Output
tsx src/bab2/challenge/soal-1.ts

Tingkat: Mudah

Simpan dua angka. Hitung penjumlahan, pengurangan, perkalian, dan pembagiannya. Tampilkan semua hasil dengan template literal.


Tingkat: Mudah

Masukkan nomor absen. Tampilkan apakah nomor tersebut genap atau ganjil menggunakan operator %.


Tingkat: Mudah

Buat variabel saldo = 100000. Lakukan tiga operasi penugasan: setor 50000, belanja 30000, dan belanja lagi 15000. Tampilkan saldo setelah setiap perubahan.


Tingkat: Mudah

Simpan dua nilai ujian siswa berbeda. Tampilkan perbandingan: siapa yang nilainya lebih tinggi, sama, atau lebih rendah.


Tingkat: Mudah

Siswa boleh mengikuti ujian akhir jika nilai tugas minimal 70 dan kehadiran minimal 80. Buat program yang memeriksa syarat tersebut dan tampilkan hasilnya.


Tingkat: Menengah

Simpan berat badan dalam kilogram dan tinggi badan dalam meter. Hitung BMI menggunakan rumus:

🖥️ Output
BMI = berat / (tinggi * tinggi)

Tampilkan kategori berdasarkan nilai BMI:

  • Di bawah 18.5: Kurus
  • 18.5 sampai 24.9: Normal
  • 25 ke atas: Kelebihan berat

Tingkat: Menengah

Simpan harga per item dan jumlah item. Hitung total belanja. Jika total di atas 100000, beri diskon 10%. Tampilkan total sebelum diskon, diskon, dan total setelah diskon.


Tingkat: Menengah

Gunakan switch untuk variabel waktu yang berisi "pagi", "siang", "sore", atau "malam". Tampilkan kegiatan yang sesuai untuk setiap waktu.


Tingkat: Menengah

Buat program yang memeriksa tiga nilai mata pelajaran. Program menampilkan:

  • Nilai mana yang belum tuntas (di bawah 75).
  • Apakah semua mata pelajaran sudah tuntas.
  • Pesan motivasi berbeda untuk tuntas semua dan ada yang belum tuntas.

Tingkat: Menengah

Buat laporan siswa dengan:

  • Biodata minimal 5 variabel (dari BAB 1).
  • Tiga nilai mata pelajaran.
  • Rata-rata dihitung otomatis.
  • Grade ditentukan dengan else if.
  • Status lulus atau remedial.
  • Syarat kehadiran diperiksa.
  • Laporan ditampilkan dengan template literal multi-baris.
  • Minimal tiga komentar berguna.

  • File bertipe .ts dan dijalankan dengan tsx
  • Tidak ada error TypeScript yang diabaikan
  • Nama variabel camelCase dan deskriptif
  • Tipe data sesuai
  • Kondisi dan operator yang dipakai logis
  • Output mudah dibaca

  1. Baca kembali tujuan soal.
  2. Rancang data apa saja yang dibutuhkan.
  3. Tulis variabel satu per satu.
  4. Tambahkan logika setelah data siap.
  5. Coba ubah nilai data dan lihat apakah output berubah sesuai harapan.

Setelah semua challenge selesai, pilih satu challenge yang paling sulit bagimu. Hapus filenya dan tulis ulang dari nol. Ini melatih pemahaman, bukan hanya hasil akhir.


  • Ada 10 challenge dari mudah ke menengah.
  • Kerjakan tanpa menyalin jawaban dari materi sebelumnya.
  • Gunakan TSX untuk menjalankan setiap file.
  • Jika buntu, rancang data dan logika terlebih dahulu.