#include
#include
using namespace std;
// ========================
// PROSEDUR BIODATA
// ========================
void biodata() {
cout << "=== BIODATA SAYA ===\n";
cout << "Nama : Devina Hindriastika\n";
cout << "NPM : 20251310007\n";
cout << "Kelas : A1\n";
cout << "=====================\n\n";
}
// ========================
// FUNGSI MENU
// ========================
// 1. detik ? menit & jam
void detik_ke_menit_jam() {
int detik;
cout << "Masukkan detik: ";
cin >> detik;
int menit = detik / 60;
int jam = detik / 3600;
cout << "Menit : " << menit << endl;
cout << "Jam : " << jam << endl;
}
// 2. jam & menit ? detik
void jam_menit_ke_detik() {
int jam, menit;
cout << "Masukkan jam : ";
cin >> jam;
cout << "Masukkan menit : ";
cin >> menit;
int detik = (jam * 3600) + (menit * 60);
cout << "Total detik : " << detik << endl;
}
// 3. Celcius ? Fahrenheit
float celcius_ke_fahrenheit(float c) {
return (c * 9/5) + 32;
}
// 4. Rata-rata 5 bilangan
float rata5() {
float a,b,c,d,e;
cout << "Masukkan 5 bilangan:\n";
cin >> a >> b >> c >> d >> e;
return (a+b+c+d+e)/5;
}
// 5. Keliling persegi panjang
int keliling_pp(int p, int l) {
return 2 * (p + l);
}
// 6. Keliling lingkaran
float kel_lingkaran(float r) {
return 2 * 3.14 * r;
}
// 7. Volume balok
float volume_balok(float p, float l, float t) {
return p * l * t;
}
// 8. Volume bola
float volume_bola(float r) {
return (4.0/3.0) * 3.14 * pow(r,3);
}
// 9. Volume kerucut
float volume_kerucut(float r, float t) {
return (3.14 * r * r * t) / 3;
}
// 10. Volume tabung
float volume_tabung(float r, float t) {
return 3.14 * r * r * t;
}
// 11. Mengecek cuaca
void cek_cuaca() {
int suhu;
cout << "Masukkan suhu saat ini: ";
cin >> suhu;
if(suhu < 25)
cout << "Cuaca berpotensi hujan.\n";
else
cout << "Cuaca cerah.\n";
}
// 12. Lulus / tidak
void cek_lulus() {
int nilai;
cout << "Masukkan nilai: ";
cin >> nilai;
if(nilai >= 75)
cout << "Status: Lulus\n";
else
cout << "Status: Tidak lulus\n";
}
// 13. Positif / negatif
void cek_bilangan() {
int x;
cout << "Masukkan bilangan: ";
cin >> x;
if(x > 0) cout << "Bilangan positif\n";
else if(x < 0) cout << "Bilangan negatif\n";
else cout << "Bilangan nol\n";
}
// 14. Tes logika & bahasa
void tes_logika_bahasa() {
string kata;
int angka;
cout << "Masukkan kata: ";
cin >> kata;
cout << "Masukkan angka: ";
cin >> angka;
if(kata == "AI" && angka == 10)
cout << "Logika benar!\n";
else
cout << "Logika salah.\n";
}
// 15. No hari
void hari_ke_nama() {
int hari;
cout << "Masukkan nomor hari (1-7): ";
cin >> hari;
switch(hari) {
case 1: cout << "Senin\n"; break;
case 2: cout << "Selasa\n"; break;
case 3: cout << "Rabu\n"; break;
case 4: cout << "Kamis\n"; break;
case 5: cout << "Jumat\n"; break;
case 6: cout << "Sabtu\n"; break;
case 7: cout << "Minggu\n"; break;
default: cout << "Hari tidak valid!\n";
}
}
// 16. Menentukan grade nilai
char grade(int n) {
if(n >= 85) return 'A';
else if(n >= 75) return 'B';
else if(n >= 65) return 'C';
else if(n >= 50) return 'D';
else return 'E';
}
// 17. Harga setelah diskon
float diskon(float harga, int persen) {
return harga - (harga * persen / 100);
}
// 18. Nilai grade (versi lain)
string nilai_grade(int n) {
if(n >= 90) return "Sangat Baik";
else if(n >= 75) return "Baik";
else if(n >= 60) return "Cukup";
else return "Kurang";
}
// 19. Kalkulator
void kalkulator() {
float a, b;
char op;
cout << "Masukkan angka 1 : "; cin >> a;
cout << "Masukkan operator (+ - * /): "; cin >> op;
cout << "Masukkan angka 2 : "; cin >> b;
switch(op) {
case '+': cout << "Hasil: " << a + b << endl; break;
case '-': cout << "Hasil: " << a - b << endl; break;
case '*': cout << "Hasil: " << a * b << endl; break;
case '/':
if(b != 0) cout << "Hasil: " << a / b << endl;
else cout << "Error: pembagian nol\n";
break;
default: cout << "Operator tidak valid!\n";
}
}
// 20. Cetak bilangan genap
void cetak_genap(int a, int b) {
for(int i = a; i <= b; i++) {
if(i % 2 == 0)
cout << i << " ";
}
cout << endl;
}
// ===============================
// PROGRAM UTAMA
// ===============================
int main() {
int pilihan;
do {
biodata();
cout << "=== MENU PROGRAM ===\n";
cout << "1. Detik ke menit & jam\n";
cout << "2. Jam & menit ke detik\n";
cout << "3. Celcius ke Fahrenheit\n";
cout << "4. Rata-rata 5 bilangan\n";
cout << "5. Keliling persegi panjang\n";
cout << "6. Keliling lingkaran\n";
cout << "7. Volume balok\n";
cout << "8. Volume bola\n";
cout << "9. Volume kerucut\n";
cout << "10. Volume tabung\n";
cout << "11. Cek cuaca\n";
cout << "12. Lulus / tidak\n";
cout << "13. Positif / negatif\n";
cout << "14. Tes logika & bahasa\n";
cout << "15. Nomor hari\n";
cout << "16. Grade nilai\n";
cout << "17. Harga diskon\n";
cout << "18. Nilai grade (versi lain)\n";
cout << "19. Kalkulator\n";
cout << "20. Cetak bilangan genap\n";
cout << "0. Keluar\n";
cout << "Pilih menu: ";
cin >> pilihan;
cout << endl;
switch(pilihan) {
case 1: detik_ke_menit_jam(); break;
case 2: jam_menit_ke_detik(); break;
case 3: {
float c;
cout << "Masukkan Celcius: ";
cin >> c;
cout << "Fahrenheit = " << celcius_ke_fahrenheit(c) << endl;
break;
}
case 4: cout << "Rata-rata = " << rata5() << endl; break;
case 5: {
int p,l;
cout << "Panjang: "; cin >> p;
cout << "Lebar : "; cin >> l;
cout << "Keliling = " << keliling_pp(p,l) << endl;
break;
}
case 6: {
float r;
cout << "Jari-jari: "; cin >> r;
cout << "Keliling = " << kel_lingkaran(r) << endl;
break;
}
case 7: {
float p,l,t;
cout << "Panjang Lebar Tinggi : ";
cin >> p >> l >> t;
cout << "Volume = " << volume_balok(p,l,t) << endl;
break;
}
case 8: {
float r;
cout << "Jari-jari: ";
cin >> r;
cout << "Volume bola = " << volume_bola(r) << endl;
break;
}
case 9: {
float r,t;
cout << "Jari-jari dan tinggi: ";
cin >> r >> t;
cout << "Volume kerucut = " << volume_kerucut(r,t) << endl;
break;
}
case 10: {
float r,t;
cout << "Jari-jari dan tinggi: ";
cin >> r >> t;
cout << "Volume tabung = " << volume_tabung(r,t) << endl;
break;
}
case 11: cek_cuaca(); break;
case 12: cek_lulus(); break;
case 13: cek_bilangan(); break;
case 14: tes_logika_bahasa(); break;
case 15: hari_ke_nama(); break;
case 16: {
int n;
cout << "Masukkan nilai: ";
cin >> n;
cout << "Grade = " << grade(n) << endl;
break;
}
case 17: {
float h; int d;
cout << "Harga: "; cin >> h;
cout << "Diskon (%): "; cin >> d;
cout << "Harga setelah diskon = " << diskon(h,d) << endl;
break;
}
case 18: {
int n;
cout << "Masukkan nilai: ";
cin >> n;
cout << nilai_grade(n) << endl;
break;
}
case 19: kalkulator(); break;
case 20: {
int a,b;
cout << "Awal dan akhir: ";
cin >> a >> b;
cetak_genap(a,b);
break;
}
case 0: cout << "Program selesai.\n"; break;
default: cout << "Menu tidak valid!\n";
}
cout << "\nTekan ENTER untuk kembali ke menu...";
cin.ignore(); cin.get();
} while(pilihan != 0);
return 0;
}
Materi pertemuan mata kuliah algoritma pemrograman yang di susun oleh Devina Hindriastika
PERTEMUAN KE 14 ( 3 DESEMBER 2025 )
BUAT PROGRAM MENU UNTUK MEMANGGIL SEMUA FUNGSI YANG TELAH ANDA BUAT.
Langganan:
Posting Komentar (Atom)
Tidak ada komentar:
Posting Komentar