Algoritma Dan Struktur Data Tugas 12.1

Run Settings
LanguageC++
Language Version
Run Command
#include <iostream> #include <iomanip> #include <string> using namespace std; // ========= DEKLARASI FUNGSI ========= void Garis(); void Judul(); void Keterangan(); void TTD(); void InfoTarif(); void Cek_Tipe(); void Cek_Harga(); void Cek_Souvenir(); // ========= STRUCT ========= struct DataPenginapan { string nama; string tipe; string souvenir; char kode; int lama_menginap; double harga_sewa; double administrasi; double total_biaya; }; // ========= VARIABEL GLOBAL ========= DataPenginapan data; // Menggunakan struct untuk menyimpan semua data // ========= FUNGSI UTAMA ========= int main() { // Menampilkan header program Garis(); Judul(); Garis(); // Menampilkan daftar fungsi yang ada dalam program cout << "List Function" << endl; Garis(); cout << "1. Function Garis()" << endl; cout << "2. Function Judul()" << endl; cout << "3. Function Keterangan()" << endl; cout << "4. Function TTD()" << endl; cout << "5. Function InfoTarif()" << endl; cout << "6. Function Cek_Tipe()" << endl; cout << "7. Function Cek_Harga()" << endl; cout << "8. Function Cek_Souvenir()" << endl; Garis(); // Menampilkan informasi aturan program cout << "Harus bisa handle huruf besar dan kecil." << endl; cout << "Harus menggunakan Struct." << endl; Garis(); // Menampilkan ketentuan souvenir dan biaya admin cout << "Jika lama menginap lebih dari 6 hari maka mendapatkan souvenir Payung" << endl; cout << "Biaya admin 200.000" << endl; cout << "Total Bayar adalah (Harga dikali Lama Menginap) + Biaya Admin" << endl; Garis(); // Memanggil fungsi-fungsi sesuai urutan proses Keterangan(); InfoTarif(); Cek_Tipe(); Cek_Harga(); Cek_Souvenir(); TTD(); return 0; } // ========= IMPLEMENTASI FUNGSI ========= void Garis() { cout << "------------------------------------------" << endl; } void Judul() { cout << "PENGINAPAN DUSUN NGAWI" << endl; } void Keterangan() { cout << "Nama Penyewa : <input> "; cin >> data.nama; cout << "\nKode Kamar [A/B/C] : <input> "; cin >> data.kode; cout << "\nLama Menginap : <input> \n"; cin >> data.lama_menginap; } void InfoTarif() { Garis(); cout << "| Kode | Tipe | Harga |" << endl; Garis(); cout << "| A | Topaz | 800.000 |" << endl; cout << "| B | Jade | 700.000 |" << endl; cout << "| C | Amethyst | 600.000 |" << endl; Garis(); } void Cek_Tipe() { if (data.kode == 'A' || data.kode == 'a') { data.tipe = "Topaz"; data.harga_sewa = 800000; } else if (data.kode == 'B' || data.kode == 'b') { data.tipe = "Jade"; data.harga_sewa = 700000; } else if (data.kode == 'C' || data.kode == 'c') { data.tipe = "Amethyst"; data.harga_sewa = 600000; } } void Cek_Harga() { data.administrasi = 200000; data.total_biaya = (data.harga_sewa * data.lama_menginap) + data.administrasi; } void Cek_Souvenir() { if (data.lama_menginap > 6) { data.souvenir = "Tumbler"; } else { data.souvenir = "-"; } cout << "Nama Penyewa : " << data.nama << endl; cout << "Kode Kamar [A/B/C] : " << data.kode << endl; cout << "Lama Menginap : " << data.lama_menginap << " hari" << endl; cout << "Harga Sewa : Rp. " << fixed << setprecision(2) << data.harga_sewa << endl; cout << "Tipe Kamar : " << data.tipe << endl; cout << "Souvenir : " << data.souvenir << endl; cout << "Administrasi : Rp. " << fixed << setprecision(2) << data.administrasi << endl; cout << "Total Biaya : Rp. " << fixed << setprecision(2) << data.total_biaya << endl; Garis(); } void TTD() { cout << "Nama : M Fadhlan Robbi" << endl; cout << "Email : DlanByy@gmail.com" << endl; }
Editor Settings
Theme
Key bindings
Full width
Lines