let pesanan = []; let totalHarga = 0; function pilihMenu(nama, harga) { pesanan.push({ nama, harga }); totalHarga += harga; updatePesanan(); } function updatePesanan() { let listPesanan = document.getElementById("pesanan-list"); let totalElement = document.getElementById("total-harga"); listPesanan.innerHTML = ""; pesanan.forEach((item, index) => { let li = document.createElement("li"); li.className = "list-group-item"; li.innerHTML = `${item.nama} - Rp ${item.harga.toLocaleString()} `; listPesanan.appendChild(li); }); totalElement.innerText = `Rp ${totalHarga.toLocaleString()}`; } function hapusPesanan(index) { totalHarga -= pesanan[index].harga; pesanan.splice(index, 1); updatePesanan(); } function bayar() { let uangBayar = parseInt(document.getElementById("uang-bayar").value); if (isNaN(uangBayar) || uangBayar < totalHarga) { alert("Uang tidak cukup atau tidak valid!"); return; } let kembalian = uangBayar - totalHarga; document.getElementById("kembalian").innerText = `Rp ${kembalian.toLocaleString()}`; let laporan = `${new Date().toLocaleString()} | Total: Rp ${totalHarga.toLocaleString()} | Bayar: Rp ${uangBayar.toLocaleString()} | Kembalian: Rp ${kembalian.toLocaleString()}\n`; // Simpan laporan ke localStorage let laporanSebelumnya = localStorage.getItem("laporan") || ""; localStorage.setItem("laporan", laporanSebelumnya + laporan); updateLaporan(); cetakStruk(laporan); resetPesanan(); } function updateLaporan() { document.getElementById("laporan").value = localStorage.getItem("laporan") || "Belum ada transaksi."; } function resetLaporan() { localStorage.removeItem("laporan"); updateLaporan(); alert("Laporan telah direset."); } function cetakStruk(teks) { let strukWindow = window.open('', '', 'width=400,height=400'); strukWindow.document.write('
' + teks + '
'); strukWindow.document.close(); strukWindow.print(); } function resetPesanan() { pesanan = []; totalHarga = 0; updatePesanan(); document.getElementById("uang-bayar").value = ""; document.getElementById("kembalian").innerText = "Rp 0"; } // Update laporan saat pertama kali dibuka updateLaporan();