CRUD Struct
Modul ini ngajak kita jadi Sarjana CRUD part 2
CRUD Struct
Biar mantap, kita akan belajar CRUD (Create, Read, Update, Delete) struct. Kita akan membuat program CRUD struct mahasiswa. Program ini akan meminta inputan dari user berupa biodata mahasiswa. Progam juga bisa nampilin, mengubah, dan menghapus data mahasiswa.
Membuat Menu Program
Kita akan buat menu program yang berisi pilihan-pilihan operasi yang bisa dilakukan pada data mahasiswa.
#include <iostream>
using namespace std;
void enterContinue() {
cin.ignore();
cout << "Tekan Enter untuk melanjutkan...";
cin.get();
}
int main() {
int pilihan, index;
do {
system("clear");
cout << "Menu Program" << endl;
cout << "1. Tampilkan Mahasiswa" << endl;
cout << "2. Tambah Mahasiswa" << endl;
cout << "3. Ubah Mahasiswa" << endl;
cout << "4. Hapus Mahasiswa" << endl;
cout << "5. Keluar" << endl;
cout << "Pilihan: ";
cin >> pilihan;
switch (pilihan) {
case 1:
// Tampilkan Data Mahasiswa
enterContinue();
break;
case 2:
// Tambah Data Mahasiswa
enterContinue();
break;
case 3:
// Ubah Data Mahasiswa
enterContinue();
break;
case 4:
// Hapus Data Mahasiswa
enterContinue();
break;
case 5:
cout << "Program selesai" << endl;
enterContinue();
break;
default:
cout << "Pilihan tidak valid" << endl;
enterContinue();
break;
}
} while (pilihan != 5);
return 0;
}
Membuat Struct Mahasiswa
Kita akan membuat struct Mahasiswa
yang berisi data mahasiswa.
struct Alamat {
string jalan;
int nomor;
string kota;
};
struct Mahasiswa {
string nama;
int umur;
string jurusan;
Alamat alamat;
};
Lepas tu, kita akan deklarasikan array mahasiswa
yang berisi data mahasiswa.
#define MAX_MAHASISWA 100
int panjang = 0; // Jumlah elemen saat ini
Mahasiswa mhs[MAX_MAHASISWA]; // Array dengan ukuran tetap
Menampilkan Data Mahasiswa
Kita lanjut ke menu pertama, yaitu nampilin data-data mahasiswa.
Taruh kode ini di case 1:
if (panjang == 0) {
cout << "Belum ada mahasiswa" << endl;
} else {
cout << "Daftar Mahasiswa" << endl;
cout << "==================" << endl;
for (int i = 0; i < panjang; i++) {
cout << "Mahasiswa ke-" << i + 1 << endl;
cout << "Nama: " << mhs[i].nama << endl;
cout << "Umur: " << mhs[i].umur << endl;
cout << "Jurusan: " << mhs[i].jurusan << endl;
cout << "Alamat: " << mhs[i].alamat.jalan << " No. "
<< mhs[i].alamat.nomor << ", " << mhs[i].alamat.kota << endl;
cout << endl;
}
}
Menambah Data Mahasiswa
Kita akan lanjut ke menu kedua, yaitu menambah data mahasiswa.
Taruh kode ini di case 2:
if (panjang < MAX_MAHASISWA) {
cout << "Masukkan nama mahasiswa: ";
cin.ignore();
getline(cin, mhs[panjang].nama);
cout << "Masukkan umur mahasiswa: ";
cin >> mhs[panjang].umur;
cout << "Masukkan jurusan mahasiswa: ";
cin.ignore();
getline(cin, mhs[panjang].jurusan);
cout << "Masukkan alamat mahasiswa: " << endl;
cout << "Jalan: ";
getline(cin, mhs[panjang].alamat.jalan);
cout << "Nomor: ";
cin >> mhs[panjang].alamat.nomor;
cout << "Kota: ";
cin.ignore();
getline(cin, mhs[panjang].alamat.kota);
panjang++;
cout << "Mahasiswa berhasil ditambahkan" << endl;
} else {
cout << "Kapasitas penuh! Tidak bisa menambah mahasiswa lagi." << endl;
}
Mengubah Data Mahasiswa
Kita akan lanjut ke menu ketiga, yaitu mengubah data mahasiswa.
Taruh kode ini di case 3:
if (panjang == 0) {
cout << "Belum ada mahasiswa untuk diubah." << endl;
} else {
cout << "Daftar Mahasiswa" << endl;
cout << "==================" << endl;
for (int i = 0; i < panjang; i++) {
cout << "Mahasiswa ke-" << i + 1 << endl;
cout << "Nama: " << mhs[i].nama << endl;
cout << endl;
}
cout << "Masukkan nomor mahasiswa yang akan diubah: ";
cin >> index;
if (index > 0 && index <= panjang) {
cout << "Masukkan nama mahasiswa baru: ";
cin.ignore();
getline(cin, mhs[index - 1].nama);
// tambahkan untuk field lainnya
cout << "Mahasiswa berhasil diubah" << endl;
} else {
cout << "Nomor mahasiswa tidak valid" << endl;
}
}
Menghapus Data Mahasiswa
Kita akan lanjut ke menu keempat, yaitu menghapus data mahasiswa.
Taruh kode ini di case 4:
if (panjang == 0) {
cout << "Belum ada mahasiswa untuk dihapus." << endl;
} else {
cout << "Daftar Mahasiswa" << endl;
cout << "==================" << endl;
for (int i = 0; i < panjang; i++) {
cout << "Mahasiswa ke-" << i + 1 << endl;
cout << "Nama: " << mhs[i].nama << endl;
cout << endl;
}
cout << "Masukkan nomor mahasiswa yang akan dihapus: ";
cin >> index;
if (index > 0 && index <= panjang) {
for (int i = index - 1; i < panjang - 1; i++) {
mhs[i] = mhs[i + 1];
}
panjang--;
cout << "Mahasiswa berhasil dihapus" << endl;
} else {
cout << "Nomor mahasiswa tidak valid" << endl;
}
}
Untuk penjelasannya, sama aja kek CRUD Array, cuma bedanya kita pake array of struct.
Tahniah, Antum Lulus jadi Sarjana CRUD🥳🥳🥳.