Dart I/O Menu Pesan Makanan Minuman
import 'dart:io'; void main() { List<String> menuMakanan = ['Nasi Goreng', 'Mie Goreng', 'Ayam Penyet', 'Sate', 'Rendang']; List<String> menuMinuman = ['Teh', 'Kopi', 'Jus Jeruk', 'Air Mineral', 'Soda']; List<double> hargaMakanan = [20000, 15000, 25000, 30000, 40000]; List<double> hargaMinuman = [5000, 10000, 15000, 3000, 8000]; double totalHarga = 0; while (true) { print('=== Menu Pemesanan Makanan & Minuman ==='); print('1. Pesan Makanan'); print('2. Pesan Minuman'); print('3. Lihat Total Harga'); print('4. Keluar'); stdout.write('Pilih menu (1/2/3/4): '); String? pilihan = stdin.readLineSync(); if (pilihan == '1') { totalHarga += pesan('Makanan', menuMakanan, hargaMakanan); } else if (pilihan == '2') { totalHarga += pesan('Minuman', menuMinuman, hargaMinuman); } else if (pilihan == '3') { print('Total harga pesanan: Rp ${totalHarga}'); } else if (pilihan == '4') { print('Terima kasih telah menggunakan layanan kami!'); break; } else { print('Pilihan tidak valid. Silakan coba lagi.'); } print(''); } } double pesan(String jenis, List<String> menu, List<double> harga) { print('\n=== Menu $jenis ==='); for (int i = 0; i < menu.length; i++) { print('${i + 1}. ${menu[i]} - Rp ${harga[i]}'); } stdout.write('Pilih $jenis (1-${menu.length}): '); int? pilihan = int.tryParse(stdin.readLineSync()!); if (pilihan != null && pilihan > 0 && pilihan <= menu.length) { stdout.write('Jumlah pesanan: '); int? jumlah = int.tryParse(stdin.readLineSync()!); if (jumlah != null && jumlah > 0) { double total = harga[pilihan - 1] * jumlah; print('Total harga $jenis: Rp ${total}'); return total; } else { print('Jumlah pesanan tidak valid.'); } } else { print('Pilihan $jenis tidak valid.'); } return 0; }
Leave a Comment