Ujian
Array of Type Bentukan dengan Search dan Sort
Notasi Algoritma:
JUDUL : Program dataKTP { Membuat data KTP dengan tipe bentukan dan array } |
KAMUS GLOBAL data : integer nama_cari : string i : integer isi_KTP : array [data] of KTP type KTP : < nama, alamat, agama : string NIK : integer gender : char > function banding(a, b : KTP) |
DESKRIPSI UTAMA (ALGORITMA) output(“Membuat data KTP dengan tipe bentukan dan array”) output(“Input berapa data? ”) input(data) { Menginput data dengan array } for i = 1 to data then output(“Data ke-”) output(i + 1) output(“Masukkan NIK: ”) input( isi_KTP[i].NIK) output(“Masukkan nama: ”) input( isi_KTP[i].nama) output(“Masukkan alamat: ”) input( isi_KTP[i].alamat) output(“Masukkan agama: ”) input( isi_KTP[i].agama) output(“Masukkan gender: ”) input( isi_KTP[i].gender) endfor output("Menampilkan data") { Mengoutput data dengan array } for i = 1 to data then output(“Data ke-”) output(i + 1) output(“NIK: ”) output( isi_KTP[i].NIK) output(“Nama: ”) output( isi_KTP[i].nama) output(“Alamat: ”) ouput( isi_KTP[i].alamat) output(“agama: ”) output( isi_KTP[i].agama) output(“Gender: ”) output( isi_KTP[i].gender) endfor { Proses pencarian array } output("Input nama yang akan dicari: ") input(nama_cari) for i = 1 to data then if (isi_KTP[i].nama.compare(nama_cari) == 0) then output("Data ditemukan pada data ke-") output(i + 1) break endif endfor { sort array } sort(isi_KTP, isi_KTP + data, banding) output("Menampilkan data setelah di sorting berdasarkan nama") for i = 1 to data then output(“Data ke-”) output(i + 1) output(“NIK: ”) output( isi_KTP[i].NIK) output(“Nama: ”) output( isi_KTP[i].nama) output(“Alamat: ”) ouput( isi_KTP[i].alamat) output(“agama: ”) output( isi_KTP[i].agama) output(“Gender: ”) output( isi_KTP[i].gender) endfor |
|
procedure banding (a, b : KTP) → bool { Fungsi untuk membandingkan variabel nama di type bentukan } |
|
KAMUS LOKAL: { Tidak ada } |
|
DESKRIPSI (ALGORITMA) if (a.nama < b.nama) then return 1 else return 0 endif |
Code C++:
//JUDUL: Membuat data KTP dengan tipe bentukan dan array #include <iostream> #include <string> #include <algorithm> using namespace std; //KAMUS GLOBAL int data; string nama_cari; struct KTP { string nama, alamat, agama; int NIK; char gender; }; //DESKRIPSI UTAMA (ALGORITMA) //JUDUL: Fungsi untuk membandingkan variabel nama di type bentukan //function banding(a, b: KTP) -> bool bool banding(KTP a, KTP b){ //KAMUS LOKAL: Tidak ada //DESKRIPSI if(a.nama < b.nama) return 1; else return 0; } int main() { cout << "Membuat data KTP dengan tipe bentukan dan array" << endl; cout << "Input berapa data? "; cin >> data; KTP isi_KTP[data]; //Menginput data dengan array for (int i = 0; i < data; i++){ cout << "Data ke-" << i+1 << endl; cout << "Masukkan NIK: "; cin >> isi_KTP[i].NIK; cout << "Masukkan nama: "; cin >> isi_KTP[i].nama; cout << "Masukkan alamat: "; cin >> isi_KTP[i].alamat; cout << "Masukkan agama: "; cin >> isi_KTP[i].agama; cout << "Masukkan gender: "; cin >> isi_KTP[i].gender; } cout << endl; cout << "Menampilkan data" << endl; //Mengoutputkan data dengan array for (int i = 0; i < data; i++){ cout << "Data ke-" << i+1 << endl; cout << "NIK: " << isi_KTP[i].NIK << endl; cout << "Nama: " << isi_KTP[i].nama << endl; cout << "Alamat: " << isi_KTP[i].alamat << endl; cout << "Agama: " << isi_KTP[i].agama << endl; cout << "Gender: " << isi_KTP[i].gender << endl; cout << endl; } //proses pencarian array cout << "Input nama yang akan dicari: "; cin >> nama_cari; for(int i = 0; i < data; i++){ if(isi_KTP[i].nama.compare(nama_cari) == 0){ cout << "Data ditemukan pada data ke-" << i+1; break; } } //sort array sort(isi_KTP, isi_KTP+data, banding); cout << "\n\nMenampilkan data setelah di sorting berdasarkan nama\n"; for (int i = 0; i < data; i++){ cout << "Data ke-" << i+1 << endl; cout << "NIK: " << isi_KTP[i].NIK << endl; cout << "Nama: " << isi_KTP[i].nama << endl; cout << "Alamat: " << isi_KTP[i].alamat << endl; cout << "Agama: " << isi_KTP[i].agama << endl; cout << "Gender: " << isi_KTP[i].gender << endl; cout << endl; } return 0; }
Hasil Code:
Membuat data KTP dengan tipe bentukan dan array Input berapa data? 3 Data ke-1 Masukkan NIK: 12345 Masukkan nama: Putri Masukkan alamat: Kudus Masukkan agama: Islam Masukkan gender: F Data ke-2 Masukkan NIK: 54332 Masukkan nama: Clara Masukkan alamat: Langgardalem Masukkan agama: Islam Masukkan gender: F Data ke-3 Masukkan NIK: 98765 Masukkan nama: Sony Masukkan alamat: Pati Masukkan agama: Islam Masukkan gender: M Menampilkan data Data ke-1 NIK: 12345 Nama: Putri Alamat: Kudus Agama: Islam Gender: F Data ke-2 NIK: 54332 Nama: Clara Alamat: Langgardalem Agama: Islam Gender: F Data ke-3 NIK: 98765 Nama: Sony Alamat: Pati Agama: Islam Gender: M Input nama yang akan dicari: Putri Data ditemukan pada data ke-1 Menampilkan data setelah di sorting berdasarkan nama Data ke-1 NIK: 54332 Nama: Clara Alamat: Langgardalem Agama: Islam Gender: F Data ke-2 NIK: 12345 Nama: Putri Alamat: Kudus Agama: Islam Gender: F Data ke-3 NIK: 98765 Nama: Sony Alamat: Pati Agama: Islam Gender: M
Komentar
Posting Komentar