mobile theme mode icon
theme mode light icon theme mode dark icon
Random Question Acak
speech play
speech pause
speech stop

Hitung Total dengan Diskon di JavaScript

Dalam kode yang Anda berikan, ada beberapa masalah yang dapat dianggap "tidak pantas" atau kurang optimal:

1. Pernyataan `return` tidak ada: Fungsi `calculate_total()` tidak mengembalikan apa pun, yang berarti akan mengembalikan `undefinisi` secara default. Anda harus menambahkan pernyataan `return` di akhir fungsi untuk menentukan nilai yang dikembalikan.
2. Variabel yang tidak digunakan: Variabel `diskon` diberi nilai tetapi tidak pernah digunakan. Anda harus menghapus kode yang tidak digunakan untuk menghindari kebingungan dan membuat kode lebih mudah dibaca.
3. Angka ajaib: Kode menggunakan nilai hardcode seperti `10` dan `50` tanpa penjelasan atau dokumentasi apa pun. Akan lebih baik jika menggunakan konstanta atau variabel bernama untuk membuat kode lebih mudah dibaca dan dipelihara.
4. Kompleksitas: Kode memiliki beberapa pernyataan `if` yang bertumpuk, sehingga sulit untuk dipahami dan di-debug. Anda dapat menyederhanakan kode dengan menggabungkan beberapa kondisi ke dalam satu pernyataan `if` atau menggunakan pernyataan `switch`.
5. Kurangnya penanganan kesalahan: Kode tidak menangani kesalahan jika pengguna memasukkan nilai persentase diskon yang tidak valid. Anda harus menambahkan penanganan kesalahan untuk memastikan bahwa fungsi menangani masukan tak terduga dengan baik.

Berikut adalah versi terbaru dari kode yang mengatasi masalah ini:
```javascript
function hitung_total(harga, diskon) {
const DISCOUNT_PERCENTAGE = 0.1; // tentukan konstanta untuk persentase diskon

if (diskon === tidak terdefinisi || diskon < 0 || diskon > 100) {
throw new Error('Nilai diskon tidak valid');
}

const total = harga * (1 - (DISCOUNT_PERCENTAGE * diskon));

total pengembalian;
}
```

Knowway.org menggunakan cookie untuk memberi Anda layanan yang lebih baik. Dengan menggunakan Knowway.org, Anda menyetujui penggunaan cookie kami. Untuk informasi mendetail, Anda dapat meninjau teks Kebijakan Cookie kami. close-policy