Nama | : | Akmal Fauzi |
Npm | : | 20251310030 |
Prodi | : | Teknik Informatika (A1) |
Mata Kuliah | : | Praktikum Algoritma Pemograman |
Dosen Pengampu | : | Ir. Yasri, M.T |
Menu Untuk Semua Program :
#include <iostream>
#include <string>
#include <iomanip>
#include <cmath>
using namespace std;
char hitungGrade(float nilai) {
if (nilai >= 80) return 'A';
else if (nilai >= 70) return 'B';
else if (nilai >= 60) return 'C';
else if (nilai >= 50) return 'D';
else return 'E';
}
string tentukanMusim(int bulan) {
if (bulan >= 11 || bulan <= 3) return "Hujan";
else if (bulan >= 4 && bulan <= 10) return "Kemarau";
else return "Bulan tidak valid";
}
bool isLulus(float nilai, float kehadiran) {
return (nilai >= 60 && kehadiran >= 75);
}
void dataNama() {
const int max = 5;
string nama[max];
float status[max];
int jumlahdata;
cout << "===================" << endl;
cout << " Akmal Fauzi " << endl;
cout << "===================" << endl;
do {
cout << "Masukan jumlah data: ";
cin >> jumlahdata;
if (jumlahdata > max || jumlahdata <= 0) {
cout << "Tidak Valid" << endl;
}
} while (jumlahdata > max || jumlahdata <= 0);
for (int i = 0; i < jumlahdata; i++) {
cout << "Nama ke- " << (i + 1) << ": ";
cin >> nama[i];
cout << "Status: ";
cin >> status[i];
}
cout << "Daftar Data" << endl;
cout << left << setw(15) << "NO" << setw(15) << "Nama" << setw(20) << "Status" << endl;
cout << string(55, '=') << endl;
for (int i = 0; i < jumlahdata; i++) {
cout << left << setw(15) << (i + 1) << setw(20) << nama[i] << setw(15) << status[i] << endl;
}
}
double hitungTotalBayar(double totalBelanja) {
if (totalBelanja > 200000) {
return totalBelanja - (0.1 * totalBelanja);
} else {
return totalBelanja;
}
}
void tampilkanBiodata(string nama, string npm, int umur, float tinggi) {
cout << "=Biodata Mahasiswa: =" << endl;
cout << "Nama: " << nama << endl;
cout << "NPM: " << npm << endl;
cout << "Umur: " << umur << " Tahun" << endl;
cout << "Tinggi: " << tinggi << " cm" << endl;
}
void nyanyiAnakAyam(int jumlah) {
cout << "Mulai Bernyanyi" << endl;
for (int i = jumlah; i >= 1; i--) {
cout << "Tek kotek kotek kotek Anak Ayam turun " << i << endl;
if (i > 1)
cout << "Mati satu tinggal " << i - 1 << endl;
else
cout << "Mati satu tinggal induknya" << endl;
cout << endl;
}
}
void kalkulator() {
double a, b, hasil;
int pilihan;
cout << "Masukkan bilangan pertama: ";
cin >> a;
cout << "Masukkan bilangan kedua: ";
cin >> b;
do {
cout << "=== KALKULATOR SEDERHANA ===" << endl;
cout << "1. Penjumlahan" << endl;
cout << "2. Pengurangan" << endl;
cout << "3. Perkalian" << endl;
cout << "4. Pembagian" << endl;
cout << "5. Keluar" << endl;
cout << "Pilih menu (1-5): ";
cin >> pilihan;
if (pilihan == 5) {
cout << "Terima kasih! Program selesai." << endl;
break;
}
switch (pilihan) {
case 1:
hasil = a + b;
cout << "Hasil Penjumlahan = " << hasil << endl;
break;
case 2:
hasil = a - b;
cout << "Hasil Pengurangan = " << hasil << endl;
break;
case 3:
hasil = a * b;
cout << "Hasil Perkalian = " << hasil << endl;
break;
case 4:
if (b != 0) {
hasil = a / b;
cout << "Hasil Pembagian = " << hasil << endl;
} else {
cout << "Error: Pembagian dengan nol tidak bisa dilakukan!" << endl;
}
break;
default:
cout << "Pilihan tidak valid! Silakan pilih antara 1-5." << endl;
}
} while (true);
}
double menghitungCelcius() {
double celcius, fahrenheit;
fahrenheit = (celcius * 9 / 5) + 32;
cout << celcius << " derajat Celcius = " << fahrenheit << " derajat Fahrenheit" << endl;
return fahrenheit;
}
double menghitungIsiBola (double jarijari) {
double pi=M_PI;
double volume=(4.0/3.0)*pi*pow(jarijari, 3);
cout<<"volume bola adalah: "<<volume<<endl;
return volume;
}
int menghitungKelilingPersegi(int panjang,int lebar) {
int keliling = 2 * (panjang + lebar);
cout<<"keliling persegi panjang = 2x (" << panjang << " + " << lebar << ") = " << keliling << endl;
return keliling;
}
double menghitungLuasLingkaran(double jarijari) {
double pi = M_PI;
double luas = pi * jarijari * jarijari;
cout << "Luas Lingkaran nya Ialah : " << luas << endl;
return luas;
}
double menghitungVolumeBalok(double panjang, double lebar, double tinggi) {
double volume = panjang * lebar * tinggi;
cout << "Volume balok adalah: " << volume << endl;
return volume;
}
double menghitungVolumeKrucut(double jarijari, double tinggi) {
double pi = M_PI;
double volume = (1.0/3.0) * pi * jarijari * jarijari * tinggi;
cout << "Volume Dari Krucut ialah : " << volume << endl;
return volume;
}
double menghitungVolumeTabung(double jarijari, double tinggi) {
double pi = M_PI;
double volume = pi * jarijari * jarijari * tinggi;
cout << "Volume Tabugn Ialah " << volume << endl;
return volume;
}
void menghitungRataBil() {
const int jumlahBilangan = 5;
double angka, total = 0.0;
cout << "Masukkan " << jumlahBilangan << " bilangan:\n";
for (int i = 0; i < jumlahBilangan; i++) {
cout << "Bilangan ke-" << i + 1 << ": ";
cin >> angka;
total += angka;
}
double rataRata = total / jumlahBilangan;
cout << "Rata-rata dari " << jumlahBilangan << " bilangan adalah: " << rataRata << endl;
}
int konversiWaktu (int jam, int menit, int detik) {
jam = detik / 3600;
menit = (detik % 3600) / 60;
detik = detik % 60;
cout << "Detik " << detik << endl;
cout << "Jam " << jam << endl;
cout << "Menit " << menit << endl;
cout << "Total Detik :"<< detik << " Detik" << endl;
return detik;
}
int menghitungBilGenap (int angkaawal, int angkaakhir) {
cout << "Bilangan genap dari " << angkaawal << " sampai " << angkaakhir << " adalah: " << endl;
for (int i = angkaawal; i <= angkaakhir; i += 1) {
if (i % 2 == 0){
cout << i << ", ";
}
}
return angkaakhir;
}
int menghitungPositinegatif(int bilangan) {
if (bilangan > 0) {
cout << "Positif";
} else if (bilangan < 0) {
cout << "Negatif";
} else {cout << "Nol";}
return bilangan;
}
void hitungTranposarray () {
const int MAX = 10;
int matriks[MAX][MAX], transpos[MAX][MAX];
int baris, kolom;
cout << "Masukkan jumlah baris: ";
cin >> baris;
cout << "Masukkan jumlah kolom: ";
cin >> kolom;
cout << "\nInput elemen matriks:\n";
for (int i = 0; i < baris; i++) {
for (int j = 0; j < kolom; j++) {
cout << "Matriks[" << i << "][" << j << "]: ";
cin >> matriks[i][j];
}
}
for (int i = 0; i < baris; i++) {
for (int j = 0; j < kolom; j++) {
transpos[j][i] = matriks[i][j];
}
}
cout << "\nMatriks Asli:\n";
for (int i = 0; i < baris; i++) {
for (int j = 0; j < kolom; j++) {
cout << matriks[i][j] << "\t";
}
cout << endl;
}
cout << "\nMatriks Transpos:\n";
for (int i = 0; i < kolom; i++) {
for (int j = 0; j < baris; j++) {
cout << transpos[i][j] << "\t";
}
cout << endl;
}
}
void hitungStandardeviasi () {
const int MAX = 100;
float data[MAX];
int jumlah;
float total = 0, rata_rata, deviasi = 0;
cout << "Masukkan jumlah data: ";
cin >> jumlah;
for (int i = 0; i < jumlah; i++) {
cout << "Data ke-" << i + 1 << ": ";
cin >> data[i];
total += data[i];
}
rata_rata = total / jumlah;
for (int i = 0; i < jumlah; i++) {
deviasi += pow(data[i] - rata_rata, 2);
}
deviasi = sqrt(deviasi / jumlah - 1);
cout << "=================================" << endl;
cout << " Rata-rata : " << rata_rata << endl;
cout << " Standar deviasi : " << deviasi << endl;
cout << "=================================" << endl;
}
void biodata() {
cout << "===========================" << endl;
cout << "NAMA : Akmal Fauzi" << endl;
cout << "NPM : 20251310030" << endl;
cout << "UMUR : 18 Tahun" << endl;
cout << "BERAT : 65 Kg" << endl;
cout << "TINGGI : 170 Cm" << endl;
cout << "===========================" << endl;
cout << endl;
}
void membuatMatriksindentitas() {
const int MAX = 20;
int matriks[MAX][MAX];
int ukuran;
cout << "Masukkan ukuran matriks identitas (n x n): ";
cin >> ukuran;
if (ukuran <= 0 || ukuran > MAX) {
cout << "Ukuran tidak valid. Maksimal " << MAX << ".\n";
}
for (int i = 0; i < ukuran; i++) {
for (int j = 0; j < ukuran; j++) {
matriks[i][j] = (i == j) ? 1 : 0;
}
}
cout << "Matriks Identitas " << ukuran << "x" << ukuran << ":\n";
for (int i = 0; i < ukuran; i++) {
for (int j = 0; j < ukuran; j++) {
cout << setw(3) << matriks[i][j] << " ";
}
cout << endl;
}
}
float penilaianUjianmasuk (float teslogika, float tesbahasa, float ratarata) {
ratarata = (teslogika + tesbahasa) / 2;
cout << "Rata-rata: " << ratarata << endl;
if (ratarata >= 85) {
cout << "Lulus dengan sangat baik" << endl;
} else if (ratarata >= 70) {
cout << "Lulus" << endl;
} else {
cout << "Tidak Lulus" << endl;
cout << "Perlu ditingkatkan" << endl;
}
return ratarata;
}
double menghitungNilaiakhir (double uts, double uas, double tugas) {
double na = 0.3 * tugas + 0.3 * uts + 0.4 * uas;
char nilai_huruf;
if (na >= 85) {
nilai_huruf = 'A';
} else if (na >= 70) {
nilai_huruf = 'B';
} else if (na >= 60) {
nilai_huruf = 'C';
} else if (na >= 50) {
nilai_huruf = 'D';
} else {
nilai_huruf = 'E';
}
cout << fixed << setprecision(2);
cout << "Nilai Akhir (NA): " << na << endl;
cout << "Nilai Huruf: " << nilai_huruf << endl;
return nilai_huruf;
}
int menentukanHari (int hari) {
switch (hari) {
case 1:
cout << "Senin" << endl;
break;
case 2:
cout << "Selasa" << endl;
break;
case 3:
cout << "Rabu" << endl;
break;
case 4:
cout << "Kamis" << endl;
break;
case 5:
cout << "Jumat" << endl;
break;
case 6:
cout << "Sabtu" << endl;
break;
case 7:
cout << "Minggu" << endl;
break;
default:
cout << "Nomor hari tidak valid. Masukkan angka 1-7." << endl;
break;
}
}
int main() {
int pilihan;
do {
cout << "=====================================" << endl;
cout << " MENU " << endl;
cout << "=====================================" << endl;
cout << "1. Biodata Bimo" << endl;
cout << "2. Tentukan Musim" << endl;
cout << "3. Cek Lulus/Tidak" << endl;
cout << "4. Data Nama" << endl;
cout << "5. Hitung Total Bayar" << endl;
cout << "6. Tampilkan Biodata" << endl;
cout << "7. Nyanyi Anak Ayam" << endl;
cout << "8. Kalkulator" << endl;
cout << "9. Menghitung Suhu" << endl;
cout << "10. Menghitung Isi Bola" << endl;
cout << "11. Menghitung Keliling Persegi" << endl;
cout << "12. Menghitung Luas Lingkaran" << endl;
cout << "13. Menghitung Volume Balok" << endl;
cout << "14. Menghitung Volume Krucut" << endl;
cout << "15. Menghitung Volume Tabung" << endl;
cout << "16. Menghitung Rata-Rata Bilangan" << endl;
cout << "17. konversi Waktu" << endl;
cout << "18. Hitung Bilangan Genap" << endl;
cout << "19. Bilangan Positif Negatif" << endl;
cout << "20. Hitung Tranpos Array" << endl;
cout << "21. Hitung Standar Deviasi" << endl;
cout << "22. Hitung Grade Nilai" << endl;
cout << "23. Membuat Matriks Indentitas" << endl;
cout << "24. Penilaian Ujian Masuk" << endl;
cout << "25. Menentukan Nilai Akhir Mahasiswa" << endl;
cout << "26. Menentukan Hari" << endl;
cout << "0. Keluar" << endl;
cout << "Pilih menu (0-26): ";
cin >> pilihan;
switch (pilihan) {
case 1: {
biodata();
break;
}
case 2: {
int bulan;
cout << "Masukkan bulan (1-12): ";
cin >> bulan;
cout << "Musim: " << tentukanMusim(bulan) << endl;
break;
}
case 3: {
float nilai, kehadiran;
cout << "Masukkan nilai ujian: ";
cin >> nilai;
cout << "Masukkan persentase kehadiran: ";
cin >> kehadiran;
if (isLulus(nilai, kehadiran)) {
cout << "Lulus" << endl;
} else {
cout << "Tidak Lulus" << endl;
}
break;
}
case 4:
dataNama();
break;
case 5: {
double totalBelanja;
cout << "Masukkan total belanja: ";
cin >> totalBelanja;
cout << "Total bayar: " << hitungTotalBayar(totalBelanja) << endl;
break;
}
case 6: {
string nama, npm;
int umur;
float tinggi;
cout << "Masukkan nama: ";
cin.ignore();
getline(cin, nama);
cout << "Masukkan NPM: ";
getline(cin, npm);
cout << "Masukkan umur: ";
cin >> umur;
cout << "Masukkan tinggi: ";
cin >> tinggi;
tampilkanBiodata(nama, npm, umur, tinggi);
break;
}
case 7: {
int jumlah;
cout << "Masukkan jumlah anak ayam: ";
cin >> jumlah;
nyanyiAnakAyam(jumlah);
break;
}
case 8:
kalkulator();
break;
case 9:
double celcius;
cout << "Masukkan suhu dalam Celcius: ";
cin >> celcius;
menghitungCelcius();
break;
case 10:
double jarijari;
cout << "Masukan Jari-Jari: ";
cin >> jarijari;
menghitungIsiBola(jarijari);
break;
case 11:
int panjang;
int lebar;
cout<<"masukan panjang: ";
cin>>panjang;
cout<<"masukan lebar: ";
cin>>lebar;
menghitungKelilingPersegi(panjang, lebar);
break;
case 12:
cout << "Masukan Jari-Jari Lingkaran: ";
cin >> jarijari;
menghitungLuasLingkaran(jarijari);
break;
case 13:
double tinggi;
cout << "Masukan Panjang Balok: ";
cin >> panjang;
cout << "Masukan Lebar Balok: ";
cin >> lebar;
cout << "Masukan tinggi Balok: ";
cin >> tinggi;
menghitungVolumeBalok(panjang, lebar, tinggi);
break;
case 14:
cout << "Masukan Jari-Jari Kurcut: ";
cin >> jarijari;
cout << "Masukan Tinggi Krucut: ";
cin >> tinggi;
menghitungVolumeKrucut(jarijari, tinggi);
break;
case 15:
cout << "Masukan Jari-Jari Tabung: ";
cin >> jarijari;
cout << "Masukan tinggi Tabung: ";
cin >> tinggi;
menghitungVolumeTabung(jarijari, tinggi);
break;
case 16:
menghitungRataBil();
break;
case 17:
int jam, menit, detik;
cout << "Masukan Jumlah Detik: ";
cin >> detik;
konversiWaktu(jam, menit, detik);
break;
case 18:
int angkaawal, angkaakhir;
cout << "Masukkan bilangan awal: ";
cin >> angkaawal;
cout << "Masukkan bilangan akhir: ";
cin >> angkaakhir;
menghitungBilGenap(angkaawal, angkaakhir);
break;
case 19:
int bilangan;
cout << "Masukan Bialngan Bulat";
cin >> bilangan;
menghitungPositinegatif(bilangan);
break;
case 20:
hitungTranposarray();
break;
case 21:
hitungStandardeviasi();
break;
case 22:
float nilai;
cout << "Masukkan nilai: ";
cin >> nilai;
cout << "Grade: " << hitungGrade(nilai) << endl;
break;
case 23:
membuatMatriksindentitas();
break;
case 24:
float teslogika, tesbahasa, ratarata;
cout << "Masukan Nilai Tes Logika: ";
cin >> teslogika;
cout << "Masukan Nilai Tes Bahasa: ";
cin >> tesbahasa;
penilaianUjianmasuk(teslogika, tesbahasa, ratarata);
break;
case 25:
double tugas, uts, uas;
cout << "================================" << endl;
cout << "MENENTUKAN NILAI AKHIR MAHASISWA" << endl;
cout << "================================" << endl;
cout << "Masukan Nilai Tugas :";
cin >> tugas;
cout << "Masukan Nilai UTS :";
cin >> uts;
cout << "Masukan Nilai UAS :";
cin >> uas;
case 26:
int hari;
cout << "Masukan Nomor Hari: ";
cin >> hari;
menentukanHari(hari);
break;
case 0:
cout << "Terima kasih telah menggunakan program ini." << endl;
break;
default:
cout << "Pilihan tidak valid!" << endl;
}
cout << endl;
} while (pilihan != 0);
return 0;
}