Untitled

 avatar
unknown
plain_text
9 days ago
1.5 kB
8
Indexable
import 'dart:io';

void main() {
  // Daftar menu dengan harga
  Map<String, int> menu = {
    '1. Nasi Goreng': 25000,
    '2. Mie Ayam': 20000,
    '3. Ayam Geprek': 27000,
    '4. Es Teh': 5000,
    '5. Jus Alpukat': 15000,
  };

  List<String> pesanan = [];
  int totalHarga = 0;

  print('==== Selamat Datang di Warung Makan ====');
  
  // Menampilkan menu
  menu.forEach((nama, harga) {
    print('$nama - Rp$harga');
  });

  while (true) {
    stdout.write('Pilih nomor menu (atau ketik "selesai" untuk mengakhiri): ');
    String? input = stdin.readLineSync();

    if (input == null || input.toLowerCase() == 'selesai') {
      break;
    }

    int pilihan;
    try {
      pilihan = int.parse(input);
    } catch (e) {
      print('❌ Input tidak valid, masukkan angka!');
      continue;
    }

    if (pilihan < 1 || pilihan > menu.length) {
      print('❌ Nomor menu tidak ditemukan!');
      continue;
    }

    // Ambil item berdasarkan pilihan
    String item = menu.keys.elementAt(pilihan - 1);
    int harga = menu[item]!;

    pesanan.add(item);
    totalHarga += harga;

    print('✅ ${item.split(". ")[1]} ditambahkan ke pesanan.');
  }

  // Menampilkan pesanan akhir
  print('\n==== Struk Pemesanan ====');
  if (pesanan.isEmpty) {
    print('Anda tidak memesan apa pun.');
  } else {
    for (var item in pesanan) {
      print('- $item');
    }
    print('Total Harga: Rp$totalHarga');
  }

  print('Terima kasih telah memesan! 😊');
}
Leave a Comment