Tugas Algoritma 14.1

Run Settings
LanguageC++
Language Version
Run Command
#include <iostream> #include <iomanip> #include <string> #include <cctype> // Untuk fungsi toupper using namespace std; void garis() { cout << "==========================================================\n"; } // Data menu ayam struct MenuItem { char kode; string jenis; int harga; }; MenuItem menu[3] = { {'D', "Dada", 12000}, {'P', "Paha", 8500}, {'S', "Sayap", 10000} }; // Function Return Value with Parameter int cariHarga(char kode) { for (int i = 0; i < 3; i++) { if (menu[i].kode == kode) { return menu[i].harga; } } return 0; // Jika kode salah } // Function Return Value Without Parameter string ambilNamaPembeli() { string nama; cout << "Masukkan nama pembeli: <input> "; getline(cin, nama); return nama; } // Function NOT Return Value (With Parameter) void tampilkanTotal(int total) { cout << "Total Bayar : " << total << endl; } // Function NOT Return Value (Without Parameter) void tampilkanHeader() { cout << "\n"; garis(); cout << "Gerobak Fried Chicken\n"; garis(); cout << "| No | Kode | Jenis | Harga | Jml | Total |\n"; garis(); } // Function yang Memanggil Function Lain int hitungTotalItem(char kode, int jumlah) { int harga = cariHarga(kode); return harga * jumlah; } // Function NOT return value (Without Parameter) void ketentuan() { cout << "Harus terdapat function return value dengan parameter." << endl; cout << "Harus terdapat function return value TANPA parameter." << endl; cout << "Harus terdapat function NOT return value dengan parameter." << endl; cout << "Harus terdapat function NOT return value TANPA parameter." << endl; cout << "Harus terdapat function yang memanggil function lain." << endl; cout << "Harus terdapat variable bertipe array." << endl; cout << "Harus terdapat struktur IF." << endl; cout << "Harus terdapat struktur SWITCH CASE." << endl; cout << "Harus terdapat struktur looping." << endl; } int main() { // Menampilkan menu terlebih dahulu garis(); cout << "Gerobak Fried Chicken"; cout << "\n"; garis(); cout << "| Kode | Jenis | Harga |"; cout << "\n"; garis(); cout << "| D | Dada | 12000 |"; cout << "\n| P | Paha | 8500 |"; cout << "\n| S | Sayap | 10000 |"; cout << "\n"; garis(); // Memanggil fungsi ketentuan untuk menunjukkan ketentuan program ketentuan(); // Ambil nama pembeli dan jumlah beli garis(); string namaPembeli = ambilNamaPembeli(); int jumlahData; cout << "\nMasukkan jumlah beli : <input> "; cin >> jumlahData; cout << "\n"; // Variabel bertipe array char kodeBeli[jumlahData]; int jumlahBeli[jumlahData]; int totalHarga[jumlahData]; int totalBayar = 0; // Mengambil data pembelian for (int i = 0; i < jumlahData; i++) { cout << "\n\nData ke : " << i + 1 << endl; cout << "Masukkan kode [D/P/S]: <input> "; cin >> kodeBeli[i]; kodeBeli[i] = toupper(kodeBeli[i]); // Ubah input ke huruf besar cout << "\nJumlah beli : <input> "; cin >> jumlahBeli[i]; // Menggunakan SWITCH CASE switch (kodeBeli[i]) { case 'D': case 'P': case 'S': totalHarga[i] = hitungTotalItem(kodeBeli[i], jumlahBeli[i]); break; default: totalHarga[i] = 0; // Kode tidak valid break; } totalBayar += totalHarga[i]; } // Cetak tabel tampilkanHeader(); for (int i = 0; i < jumlahData; i++) { // Struktur IF untuk menentukan jenis ayam string jenis = (kodeBeli[i] == 'D') ? "Dada" : (kodeBeli[i] == 'P') ? "Paha" : (kodeBeli[i] == 'S') ? "Sayap" : "Salah Kode"; cout << "| " << setw(2) << i + 1 << " | " << setw(5) << kodeBeli[i] << " | " << setw(10) << jenis << " | " << setw(9) << cariHarga(kodeBeli[i]) << " | " << setw(3) << jumlahBeli[i] << " | " << setw(10) << totalHarga[i] << " |\n"; } garis(); // Hitung pajak dan grand total int pajak = totalBayar * 0.1; // Pajak 10% int grandTotal = totalBayar + pajak; tampilkanTotal(totalBayar); cout << "Pajak : " << pajak << endl; cout << "Grand Total : " << grandTotal << endl; // Footer garis(); cout << "Nama : " << namaPembeli << endl; cout << "Email: rosdianaftrn@gmail.com\n"; return 0; }
Editor Settings
Theme
Key bindings
Full width
Lines