UTS Algoritma Dan Struktur Data - Ananda Rakhma Au

Run Settings
LanguageC++
Language Version
Run Command
#include <iostream> #include <string> #include <iomanip> // Ananda Rakhma Aulia // 3420220024 // UTS Algoritma dan Struktur Data using namespace std; void JUDUL(); long CEK_HARGA(string kodeKereta, int kodeKelas); string CEK_NAMA_KERETA(string kodeKereta); string CEK_KELAS(int kodeKelas); long CEK_DISKON(long subtotal, int jumlahBeli); int main() { string namaPemesanan; string kodeKereta; int kodeKelas; int jumlahBeli; cin >> namaPemesanan >> kodeKereta >> kodeKelas >> jumlahBeli; JUDUL(); cout << "Nama Pemesan : " << namaPemesanan << endl; cout << "Masukan Kode Kereta [AG/AL/PH]: " << kodeKereta << endl; cout << "Masukan Kode Kelas [1/2/3] : " << kodeKelas << endl; for (auto & c: kodeKereta) c = toupper(c); bool inputValid = true; if (kodeKereta != "AG" && kodeKereta != "AL" && kodeKereta != "PH") { cout << "\nKode Kereta Salah!" << endl; inputValid = false; } if (kodeKelas < 1 || kodeKelas > 3) { cout << "\nKode Kelas Salah!" << endl; inputValid = false; } if (inputValid) { long hargaTiket = CEK_HARGA(kodeKereta, kodeKelas); string namaKereta = CEK_NAMA_KERETA(kodeKereta); string namaKelas = CEK_KELAS(kodeKelas); long subtotal = hargaTiket * jumlahBeli; long diskon = CEK_DISKON(subtotal, jumlahBeli); long totalBayar = subtotal - diskon; cout << "----------------------------------------------------------------------" << endl; cout << "DATA PEMESANAN KERETA" << endl; cout << "----------------------------------------------------------------------" << endl; cout << "Nama Pemesan : " << namaPemesanan << endl; cout << "Kode Kereta : " << kodeKereta << endl; cout << "Kode Kelas : " << kodeKelas << endl; cout << "Nama Kereta : " << namaKereta << endl; cout << "Nama Kelas : " << namaKelas << endl; cout << "Harga Tiket : " << hargaTiket << endl; cout << "Jumlah Beli : " << jumlahBeli << endl; cout << fixed << setprecision(2); cout << "Subtotal : " << (double)subtotal << endl; cout << "Diskon : " << (double)diskon << endl; cout << "Total : " << (double)totalBayar << endl; cout << "----------------------------------------------------------------------" << endl; cout << "Nama : Ananda Rakhma Aulia" << endl; cout << "NIM : 3420220024" << endl; cout << "Email : anandara7891@gmail.com" << endl; } return 0; } void JUDUL() { cout << "----------------------------------------------------------------------" << endl; cout << "PROGRAM TIKET KERETA" << endl; cout << "----------------------------------------------------------------------" << endl; cout << "| Kelas | AG(Argo Bromo) | AL(Argo Lawu) | PH(Argo Wilis) |" << endl; cout << "----------------------------------------------------------------------" << endl; cout << "| 1-Executive | 500.000 | 475.000 | 450.000 |" << endl; cout << "| 2-Bisnis | 480.000 | 455.000 | 430.000 |" << endl; cout << "| 3-Ekonomi | 460.000 | 435.000 | 410.000 |" << endl; cout << "----------------------------------------------------------------------" << endl; cout << "Ketentuan Discount:" << endl; cout << "Apabila pembelian tiket diatas 10 maka diskon 10% dari Total" << endl; cout << "Apabila pembelian tiket diatas 5 maka diskon 5% dari Total" << endl; cout << "----------------------------------------------------------------------" << endl; cout << "Ketentuan Salah Input:" << endl; cout << "Jika input Kode Kereta ATAU Kode Kelas salah maka muncul pesan." << endl; cout << "----------------------------------------------------------------------" << endl; cout << "Ketentuan Kondisi:" << endl; cout << "Program harus menggunakan switch case dan if else." << endl; cout << "Harus ada fungsi JUDUL." << endl; cout << "Harus ada fungsi CEK_HARGA." << endl; cout << "Harus ada fungsi CEK_NAMA_KERETA." << endl; cout << "Harus ada fungsi CEK_KELAS." << endl; cout << "Harus ada fungsi CEK_DISKON." << endl; cout << "Harus bisa handle input huruf besar dan kecil." << endl; cout << "----------------------------------------------------------------------" << endl; } string CEK_NAMA_KERETA(string kodeKereta) { if (kodeKereta == "AG") return "Argo Bromo"; else if (kodeKereta == "AL") return "Argo Lawu"; else if (kodeKereta == "PH") return "Argo Wilis"; return "-"; } string CEK_KELAS(int kodeKelas) { switch (kodeKelas) { case 1: return "Executive"; case 2: return "Bisnis"; case 3: return "Ekonomi"; default: return "-"; } } long CEK_HARGA(string kodeKereta, int kodeKelas) { if (kodeKereta == "AG") { // Argo Bromo switch (kodeKelas) { case 1: return 500000; case 2: return 480000; case 3: return 460000; } } else if (kodeKereta == "AL") { // Argo Lawu switch (kodeKelas) { case 1: return 475000; case 2: return 455000; case 3: return 435000; } } else if (kodeKereta == "PH") { // Argo Wilis switch (kodeKelas) { case 1: return 450000; case 2: return 430000; case 3: return 410000; } } return 0; } long CEK_DISKON(long subtotal, int jumlahBeli) { if (jumlahBeli > 10) { return subtotal * 0.10; // utk diskon 10% } else if (jumlahBeli > 5) { return subtotal * 0.05; // utk diskon 5% } else { return 0; } }
Editor Settings
Theme
Key bindings
Full width
Lines