1. Jelaskan yang dimaksud dengan struktur pada bahasa C/C++!
Jawab:
Struktur adalah pengelompokan dari variabel-variabel yang bernaung dalam satu nama yang sama. Suatu struktur dapat terdiri dari kumpulan variabel-variabel yang berbeda tipenya dalam satu nama.
2. Sebutkan dan jelaskan jenis-jenis struktur!
Jawab:
Struktur Pemilihan : pemilihan langkah yang didasarkan oleh suatu kondisi atau pengambilan suatu keputusan.
Struktur Sekuensial : struktur dasar algoritma yang terdiri dari satu/lebih instruksi.
3. Sebagai programmer, mengapa anda menggunakan struktur!
Jawab:
Struktur dapat membantu mengatur data-data yang rumit, khususnya dalam program yang besar, karena struktur membiarkan sekelompok variabel diperlakukan sebagai satu unit dari pada sebagai entry yang terpisah.
4. Buatlah contoh algoritma dan program sederhana menggunakan struktur dengan memakai flowchart!
Jawab:
Tugas Akhir
1. Buatlah program untuk mencatat data karyawan yang terdiri dari field jumlah karyawan, nama, gaji/bulan, serta status (belum nikah/menikah). Jika sudah menikah, tanya berapa anaknya. Tampilkan seluruh data dalam bentuk tabel!
Jawab:
#include <iostream>
#include <vector>
#include <iomanip>
using namespace std;
class Karyawan {
public:
string nama;
double gaji;
string status;
int jumlah_anak;
Karyawan(string nama, double gaji, string status, int jumlah_anak = 0)
: nama(nama), gaji(gaji), status(status), jumlah_anak(jumlah_anak) {}
};
void inputKaryawan(vector<Karyawan>& daftarKaryawan) {
int jumlahKaryawan;
cout << "Masukkan jumlah karyawan: ";
cin >> jumlahKaryawan;
cin.ignore();
for (int i = 0; i < jumlahKaryawan; i++) {
cout << "\nData Karyawan " << i + 1 << endl;
string nama;
double gaji;
string status;
int jumlah_anak = 0;
cout << "Nama: ";
getline(cin, nama);
cout << "Gaji per bulan: ";
cin >> gaji;
cin.ignore();
cout << "Status (belum menikah/menikah): ";
getline(cin, status);
if (status == "menikah") {
cout << "Jumlah anak: ";
cin >> jumlah_anak;
cin.ignore();
}
daftarKaryawan.push_back(Karyawan(nama, gaji, status, jumlah_anak));
}
}
void tampilkanDataKaryawan(const vector<Karyawan>& daftarKaryawan) {
cout << "\nData Karyawan:\n";
cout << left << setw(5) << "No"
<< setw(20) << "Nama"
<< setw(10) << "Gaji"
<< setw(15) << "Status"
<< setw(10) << "Jumlah Anak"
<< endl;
cout << string(60, '=') << endl;
for (size_t i = 0; i < daftarKaryawan.size(); i++) {
cout << left << setw(5) << i + 1
<< setw(20) << daftarKaryawan[i].nama
<< setw(10) << daftarKaryawan[i].gaji
<< setw(15) << daftarKaryawan[i].status
<< setw(10) << (daftarKaryawan[i].status == "menikah" ? to_string(daftarKaryawan[i].jumlah_anak) : "-")
<< endl;
}
}
int main() {
vector<Karyawan> daftarKaryawan;
inputKaryawan(daftarKaryawan);
tampilkanDataKaryawan(daftarKaryawan);
return 0;
}

0 comments:
Posting Komentar