Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <iostream>
- using namespace std;
- struct data {
- string nama;
- int umur;
- int tahun;
- string pt;
- } pelamar[100];
- void QuickSort(int size) {
- cout<<"\n------------------------------------------";
- cout<<"\n- - - - - DATA SEBELUM DIURUTKAN - - - - - \n";
- cout<<"------------------------------------------\n";
- for(int j=0; j<size; j++) {
- cout<<"------------------------------------------"<<endl;
- cout<<"Nama Pelamar : "<<pelamar[j].nama<<endl;
- cout<<"Umur : "<<pelamar[j].umur<<endl;
- cout<<"Tahun Kelulusan : "<<pelamar[j].tahun<<endl;
- cout<<"Pendidikan Terakhir : "<<pelamar[j].pt<<endl;
- cout<<"------------------------------------------"<<endl;
- }
- int kanan,kiri;
- int bantu2,bantu3;
- string bantu1,bantu4;
- kiri=0;
- kanan=size;
- for(int j=kiri; j<kanan; j++) {
- for(int i=kiri; i<kanan; i++) {
- if(pelamar[j].tahun<pelamar[i].tahun) {
- bantu1=pelamar[i].nama;
- bantu2=pelamar[i].umur;
- bantu3=pelamar[i].tahun;
- bantu4=pelamar[i].pt;
- pelamar[i].nama=pelamar[j].nama;
- pelamar[i].umur=pelamar[j].umur;
- pelamar[i].tahun=pelamar[j].tahun;
- pelamar[i].pt=pelamar[j].pt;
- pelamar[j].nama=bantu1;
- pelamar[j].umur=bantu2;
- pelamar[j].tahun=bantu3;
- pelamar[j].pt=bantu4;
- }
- }
- }
- cout<<"\n------------------------------------------\n";
- cout<<"- - QUICK SORT MENURUT TAHUN KELULUSAN - -";
- cout<<"\n------------------------------------------\n";
- for(int j=0; j<size; j++) {
- cout<<"------------------------------------------"<<endl;
- cout<<"Nama Pelamar : "<<pelamar[j].nama<<endl;
- cout<<"Umur : "<<pelamar[j].umur<<endl;
- cout<<"Tahun Kelulusan : "<<pelamar[j].tahun<<endl;
- cout<<"Pendidikan Terakhir : "<<pelamar[j].pt<<endl;
- cout<<"------------------------------------------"<<endl;
- } cout<<endl;
- }
- //void BinarySearch(int size) {
- // int kanan,kiri,tengah;
- // string cari;
- //
- // kiri=0;
- // kanan=size;
- //
- // cout<<"Nama Pelamar Yang Dicari? : ";
- // cin>>cari;
- //
- //
- // while(kiri<kanan) {
- // tengah=(kiri+kanan)/2;
- // if(cari==pelamar[tengah].nama) {
- // true;
- // break;
- // } else if(cari<pelamar[tengah].nama) {
- // kanan=tengah-1;
- // } else if(cari>pelamar[tengah].nama) {
- // kiri=tengah+1;
- // }
- //
- // }
- // if(true) {
- // cout<<"\n---------------------------------------\n";
- // cout<<"Nama Pelamar : "<<pelamar[tengah].nama<<endl;
- // cout<<"Umur : "<<pelamar[tengah].umur<<endl;
- // cout<<"Tahun Kelulusan : "<<pelamar[tengah].tahun<<endl;
- // cout<<"Pendidikan Terakhir : "<<pelamar[tengah].pt<<endl;
- // cout<<"---------------------------------------\n\n";
- // }
- //}
- void BinarySearch(int size) {
- int kanan,kiri,tengah,temu;
- string cari;
- kiri = 0;
- kanan = size-1;
- cout<<"Nama Pelamar Yang Dicari? : ";
- cin>>cari;
- while (kiri <= kanan) {
- tengah = (kiri+kanan)/2;
- if (cari > pelamar[tengah].nama) {
- temu= 1;
- break;
- } else if (cari < pelamar[tengah].nama) {
- kanan = tengah - 1 ;
- } else {
- kiri = tengah + 1;
- }
- }
- for (int b=0; b<size; b++) {
- if (cari == pelamar[b].nama) {
- cout<<"\n---------------------------------------\n";
- cout<<"Nama Pelamar : "<<pelamar[b].nama<<endl;
- cout<<"Umur : "<<pelamar[b].umur<<endl;
- cout<<"Tahun Kelulusan : "<<pelamar[b].tahun<<endl;
- cout<<"Pendidikan Terakhir : "<<pelamar[b].pt<<endl;
- cout<<"---------------------------------------\n\n";
- }
- }
- }
- int main() {
- int size,pilih;
- cout<<"Masukkan Banyak Data : ";
- cin>>size;
- do {
- cout<<"1. Input Data"<<endl;
- cout<<"2. Quick Sort"<<endl;
- cout<<"3. Binary Search"<<endl;
- cout<<"4. Exit"<<endl;
- cout<<"Masukkan Pilihan : ";
- cin>>pilih;
- cout<<endl;
- switch(pilih) {
- case 1 :
- for(int j=0; j<size; j++) {
- cout<<"Data ke-"<<j+1<<endl;
- cin.sync();
- cout<<"Masukkan Nama : ";
- cin>>pelamar[j].nama;
- cout<<"Masukkan Umur : ";
- cin>>pelamar[j].umur;
- cout<<"Masukkan Tahun Kelulusan : ";
- cin>>pelamar[j].tahun;
- cout<<"Masukkan Pendidikan Terakhir : ";
- cin>>pelamar[j].pt;
- cout<<"\n\n";
- }
- break;
- case 2 :
- QuickSort(size);
- break;
- case 3 :
- BinarySearch(size);
- break;
- }
- } while(pilih!=4);
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement