Welcome To My Blog

Sabtu, 17 Juni 2017

Mencari Query Dengan Struct

Diberikan data dalam bentuk table yang meliputi Mata Kuliah, Dosen, Mengampu, Ambil Mata Kuliah dan Mahasiswa.

Program yang saya buat dalam bentuk statis ini akan mencari nama dosen dan outputnya adalah nama mata kuliah dosen tersebut dan nama mahasiswa yang mengambil mata kuliah dari dosen tersebut.
Berikut adalah source code dalam bahasa C++ dalam bentuk struct statis.

#include <iostream>
#include <string.h>
using namespace std;

struct MataKuliah{
 char kode[5];
 char nama[30];
};

struct Dosen{
 char NIK[5];
 char nama[30];
};

struct Mengampu{
 char NIK[5];
 char kode[5];
};

struct AmbilMatkul{
 char NIM[11];
 char kode[5];
};

struct Mahasiswa{
 char NIM[11];
 char nama[30];
};

int main(){
 MataKuliah matkul[25];
 Dosen dos[25];
 Mengampu ampu[25];
 AmbilMatkul AM[25];
 Mahasiswa Mhs[25];

 strcpy(matkul[0].kode, "K001");
 strcpy(matkul[0].nama, "Algoritma Pemrograman");
 strcpy(matkul[1].kode, "K002");
 strcpy(matkul[1].nama, "Dasar-Dasar Pemrograman");
 strcpy(matkul[2].kode, "K003");
 strcpy(matkul[2].nama, "Matematika Diskret");
 strcpy(matkul[3].kode, "K004");
 strcpy(matkul[3].nama, "Arsitektur Komputer");
 strcpy(matkul[4].kode, "K005");
 strcpy(matkul[4].nama, "Logika Informatika");

 strcpy(dos[0].NIK, "D001");
 strcpy(dos[0].nama, "Wahyu");
 strcpy(dos[1].NIK, "D002");
 strcpy(dos[1].nama, "Yana");
 strcpy(dos[2].NIK, "D003");
 strcpy(dos[2].nama, "Imam");
 strcpy(dos[3].NIK, "D004");
 strcpy(dos[3].nama, "Aziz");

 strcpy(ampu[0].NIK, "D001");
 strcpy(ampu[0].kode, "K001");
 strcpy(ampu[1].NIK, "D001");
 strcpy(ampu[1].kode, "K002");
 strcpy(ampu[2].NIK, "D002");
 strcpy(ampu[2].kode, "K003");
 strcpy(ampu[3].NIK, "D003");
 strcpy(ampu[3].kode, "K004");
 strcpy(ampu[4].NIK, "D004");
 strcpy(ampu[4].kode, "K005");


 strcpy(AM[0].NIM, "1600018001");
 strcpy(AM[0].kode, "K001");
 strcpy(AM[1].NIM, "1600018002");
 strcpy(AM[1].kode, "K002");
 strcpy(AM[2].NIM, "1600018003");
 strcpy(AM[2].kode, "K003");
 strcpy(AM[3].NIM, "1600018004");
 strcpy(AM[3].kode, "K005");

 strcpy(Mhs[0].NIM, "1600018001");
 strcpy(Mhs[0].nama, "Micheal");
 strcpy(Mhs[1].NIM, "1600018002");
 strcpy(Mhs[1].nama, "John");
 strcpy(Mhs[2].NIM, "1600018003");
 strcpy(Mhs[2].nama, "Harry");
 strcpy(Mhs[3].NIM, "1600018004");
 strcpy(Mhs[3].nama, "Potter");

 char cari[20];
 cout<<"Masukan Nama Dosen : "; cin.getline(cari, sizeof(cari));

 bool ketemu = false;
 int indexKetemu;

 for(int i=0; i<5; i++){
 if(strcmp(cari,dos[i].nama) == 0){
 ketemu = true;
 indexKetemu = i;
 break;
 }
 }

 if(ketemu){
 for(int i=0; i<5; i++){
 if(strcmp(dos[indexKetemu].NIK, ampu[i].NIK) == 0){
 for(int j=0; j<5; j++){
 if(strcmp(ampu[i].kode, matkul[j].kode) == 0){
 cout<<"\nMata Kuliah : "<<matkul[j].nama<<endl;
 for(int k=0; k<5; k++){
 if(strcmp(matkul[j].kode, AM[k].kode) == 0){
 for(int l=0; l<5; l++){
 if(strcmp(AM[k].NIM, Mhs[l].NIM) == 0){
 cout<<"\t ="<<"Nama Mahasiswa : "<<Mhs[l].nama<<endl;;
 }
 }
 }
 }
 }
 }
 cout<<endl;
 }
 }
 }else{
 cout<<"Dosen "<< cari << " Tidak Ditemukan" << endl;
 }

 return 0;
}

Dan hasilnya setelah di compile:

 

Tidak ada komentar:

Posting Komentar

Comments system

Disqus Shortname