Project aplikasi daspro
//judul: aplikasi kakulator daspro
// Kamus
type Balok
{
input p <--
input l <--
input t <--
};
// Deklarasi fungsi
input function volumeBalok(integer p, integer l, integer t) <-- integer
void volumeeBalok(integer volume)
input function luasBalok(integer p, integer l, integer t) <-- integer
void luaseBalok(integer luas) <-- integer
input function kelilingBalok(integer p, integer l, integer t) <-- integer
void kelilingeBalok(integer keliling)
input function diagonalBalok(double p, double l, double t) <-- real
void diagonaleBalok(double diagonal)
input functionisKubus(Balok balok); <-- boolean// Fungsi untuk mengecek apakah itu kubus
const input JUMLAH_BALOK = 3 <-- integer
Balok balok[JUMLAH_BALOK]
input menu = 0 <-- integer
input i = 0 <-- integer // indeks balok
repeat
{
output <-- "=========================="
output <-- "| Menu: |"
output <-- "| 1. Input Data Balok |"
output <-- "| 2. Hitung volume |"
output <-- "| 3. Hitung Luas |"
output <-- "| 4. Hitung Keliling |"
output <-- "| 5. Hitung diagonal |"
output <-- "| 6. Keluar |" // Pilihan baru untuk keluar
output <-- "=========================="
output <-- " Pilih menu (1-6): "
input --> menu
depend on (menu)
{
1:
if (i < JUMLAH_BALOK)
{
output <-- "Masukkan Panjang balok ke-" <-- i + 1 <-- ": "
input --> balok[i].p
output <-- "Masukkan Lebar balok ke-" <-- i + 1 <-- ": "
input --> balok[i].l
output <-- "Masukkan Tinggi balok ke-" <-- i + 1 <-- ": "
input --> balok[i].t
i = i + 1 // Pindah ke balok berikutnya
}
else
{
output <-- "Sudah mencapai batas maksimum balok."
}
2:
if (i > 0)
{
input volume <-- integer = volumeBalok(balok[i - 1].p, balok[i - 1].l, balok[i - 1].t)
output <-- "Volume "
if (isKubus(balok[i - 1]))
{
output <--"kubus"
}
else
{
output <-- "balok"
}
output <-- ": "
volumeeBalok(volume)
}
else
{
output <-- "Belum ada data balok. Silakan input data balok terlebih dahulu."
}
3:
if (i>0)
{
input luas <-- integer = luasBalok(balok[i - 1].p, balok[i - 1].l, balok[i - 1].t)
output <-- "Luas "
if (isKubus(balok[i-1]))
{
output <-- "kubus :"
}
else
{
output <-- "balok :"
}
output <-- ":"
luaseBalok(luas)
}
else
{
output <-- "Belum ada data balok. Silakan input data balok terlebih dahulu"
}
4 :
if (i>0)
{
input keliling <-- integer = kelilingBalok(balok[i - 1].p, balok[i - 1].l, balok[i - 1].t)
output <-- "Keliling "
if (isKubus(balok[i-1]))
{
output <-- "Kubus"
}
else
{
output <-- "balok"
}
output <-- ":"
kelilingeBalok(keliling)
}
else
{
output <-- "Belum ada data balok. Silakan input data balok terlebih dahulu"
}
5:
if (i>0)
{
double diagonal = diagonalBalok(balok[i - 1].p, balok[i - 1].l, balok[i - 1].t)
output <-- "Diagonal "
if (isKubus(balok[i-1]))
{
output <-- "Kubus"
}
else
{
output <-- "Balok"
}
output <-- ":"
diagonaleBalok(diagonal)
}
else
{
output <-- "Belum ada data balok. Silakan input data balok terlebih dahulu"
}
// ... (Case-case lain tetap sama)
case 6:
output <-- "Program selesai."
stop:
output <--"Menu tidak valid. Silakan pilih menu yang benar."
}
} until (menu != 6)
return 0
}
// Implementasi fungsi (tetap sama)
input function isKubus(Balok balok) <--boolean
{
return balok.p == balok.l && balok.l == balok.t
}
// Implementasi fungsi
input function volumeBalok(integer p, integer l, integer t) <-- integer
{
return p * l * t
}
void volumeeBalok(integer volume)
{
output <-- volume
}
input function luasBalok(integer p, integer l, integer t) <-- integer
{
return 2 * (p * l + p * t + l * t)
}
void luaseBalok(integer luas)
{
output <-- luas
}
input function kelilingBalok(integer p, integer l, integer t) <-- integer
{
return 4 * (p + l + t)
}
void kelilingeBalok(integer keliling)
{
output <-- keliling
}
input function diagonalBalok(real p, real l, real t) <-- real
{
return sqrt(pow(p, 2) + pow(l, 2) + pow(t, 2));
}
void diagonaleBalok(real diagonal)
{
output <-- diagonal
}
#include <iostream> #include <cmath> using namespace std; // Kamus struct Balok { int p; int l; int t; }; // Deklarasi fungsi int volumeBalok(int p, int l, int t); void volumeeBalok(int volume); int luasBalok(int p, int l, int t); void luaseBalok(int luas); int kelilingBalok(int p, int l, int t); void kelilingeBalok(int keliling); double diagonalBalok(double p, double l, double t); void diagonaleBalok(double diagonal); bool isKubus(Balok balok); // Fungsi untuk mengecek apakah itu kubus int main() { const int JUMLAH_BALOK = 3; Balok balok[JUMLAH_BALOK]; int menu = 0; int i = 0; // indeks balok do { cout << "==========================" << endl; cout << "| Menu: |" << endl; cout << "| 1. Input Data Balok |" << endl; cout << "| 2. Hitung volume |" << endl; cout << "| 3. Hitung Luas |" << endl; cout << "| 4. Hitung Keliling |" << endl; cout << "| 5. Hitung diagonal |" << endl; cout << "| 6. Keluar |" << endl; // Pilihan baru untuk keluar cout << "==========================" << endl; cout << " Pilih menu (1-6): " << endl; cin >> menu; switch (menu) { case 1: if (i < JUMLAH_BALOK) { cout << "Masukkan Panjang balok ke-" << i + 1 << ": "; cin >> balok[i].p; cout << "Masukkan Lebar balok ke-" << i + 1 << ": "; cin >> balok[i].l; cout << "Masukkan Tinggi balok ke-" << i + 1 << ": "; cin >> balok[i].t; cout << endl; i++; // Pindah ke balok berikutnya } else { cout << "Sudah mencapai batas maksimum balok." << endl; } break; case 2: if (i > 0) { int volume = volumeBalok(balok[i - 1].p, balok[i - 1].l, balok[i - 1].t); cout << "Volume "; if (isKubus(balok[i - 1])) //jika semua sisi sama { cout << "kubus"; } else //jika semua sisi berbeda { cout << "balok"; } cout << ": "; volumeeBalok(volume); cout << endl; } else { cout << "Belum ada data balok. Silakan input data balok terlebih dahulu." << endl; } break; case 3: if (i>0) { int luas = luasBalok(balok[i - 1].p, balok[i - 1].l, balok[i - 1].t); cout << "Luas "; if (isKubus(balok[i-1])) { cout << "kubus :"; } else { cout << "balok :"; } cout << ":"; luaseBalok(luas); } else { cout << "Belum ada data balok. Silakan input data balok terlebih dahulu" << endl; } break; case 4 : if (i>0) { int keliling = kelilingBalok(balok[i - 1].p, balok[i - 1].l, balok[i - 1].t); cout << "Keliling "; if (isKubus(balok[i-1])) { cout << "Kubus"; } else { cout << "balok"; } cout << ":"; kelilingeBalok(keliling); } else { cout << "Belum ada data balok. Silakan input data balok terlebih dahulu" << endl; } break; case 5: if (i>0) { double diagonal = diagonalBalok(balok[i - 1].p, balok[i - 1].l, balok[i - 1].t); cout << "Diagonal "; if (isKubus(balok[i-1])) { cout << "Kubus"; } else { cout << "Balok"; } cout << ":"; diagonaleBalok(diagonal); } else { cout << "Belum ada data balok. Silakan input data balok terlebih dahulu" << endl; } break; // ... (Case-case lain tetap sama) case 6: cout << "Program selesai." << endl; break; default: cout << "Menu tidak valid. Silakan pilih menu yang benar." << endl; } } while (menu != 6); return 0; } // deklarasi fungsi bool isKubus(Balok balok) { return balok.p == balok.l && balok.l == balok.t; } // Implementasi fungsi int volumeBalok(int p, int l, int t) { return p * l * t; } void volumeeBalok(int volume) { cout << volume << endl; } int luasBalok(int p, int l, int t) { return 2 * (p * l + p * t + l * t); } void luaseBalok(int luas) { cout << luas << endl; } int kelilingBalok(int p, int l, int t) { return 4 * (p + l + t); } void kelilingeBalok(int keliling) { cout << keliling << endl; } double diagonalBalok(double p, double l, double t) { return sqrt(pow(p, 2) + pow(l, 2) + pow(t, 2)); } void diagonaleBalok(double diagonal) { cout << diagonal << endl; }
Komentar
Posting Komentar