Skip to content

Instantly share code, notes, and snippets.

@josephbima
Last active October 13, 2025 12:13
Show Gist options
  • Select an option

  • Save josephbima/e79c176ded952b22ad9d1fc7bb6eb072 to your computer and use it in GitHub Desktop.

Select an option

Save josephbima/e79c176ded952b22ad9d1fc7bb6eb072 to your computer and use it in GitHub Desktop.

🧮 Coding Challenge — Hitung Total Harga Keranjang

Soal

Buat fungsi calculateTotalPrice(cart) yang menerima array berisi objek dengan struktur:

{ name, price, quantity }

Fungsi harus mengembalikan total harga seluruh item dalam keranjang. Jika total melebihi Rp500.000, berikan diskon 10%.


💡 Contoh Input

[
  { name: "T-Shirt", price: 150000, quantity: 2 },
  { name: "Cap", price: 100000, quantity: 1 }
]

✅ Output yang Diharapkan

400000

(Penjelasan: total = 150000×2 + 100000 = 400000 → tidak lebih dari 500000, jadi tanpa diskon.)


🎯 Aturan

  1. Jika total lebih dari 500.000, terapkan diskon 10%.
  2. Jika total ≤ 500.000, tidak ada diskon.
  3. Jika ada item dengan data tidak lengkap (price atau quantity tidak ada), tentukan bagaimana kamu ingin menanganinya (abaikan / error / default 0).

🧪 Contoh Test Case

No Input Output Keterangan
1 [ { price:150000, qty:2 }, { price:100000, qty:1 } ] 400000 Normal
2 [ { price:300000, qty:2 } ] 540000 Diskon 10%
3 [ { price:null, qty:2 } ] 0 Data tidak lengkap
4 [] 0 Keranjang kosong
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment