Advertisement
fiqriachmada

Praktikum dan Asistensi Modul IV(Semester II)

May 28th, 2019
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 5.15 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. struct data {
  6.     string nama;
  7.     int umur;
  8.     int tahun;
  9.     string pt;
  10. } pelamar[100];
  11.  
  12. void QuickSort(int size) {
  13.     cout<<"\n------------------------------------------";
  14.     cout<<"\n- - - - - DATA SEBELUM DIURUTKAN - - - - - \n";
  15.     cout<<"------------------------------------------\n";
  16.     for(int j=0; j<size; j++) {
  17.         cout<<"------------------------------------------"<<endl;
  18.         cout<<"Nama Pelamar        : "<<pelamar[j].nama<<endl;
  19.         cout<<"Umur                : "<<pelamar[j].umur<<endl;
  20.         cout<<"Tahun Kelulusan     : "<<pelamar[j].tahun<<endl;
  21.         cout<<"Pendidikan Terakhir : "<<pelamar[j].pt<<endl;
  22.         cout<<"------------------------------------------"<<endl;
  23.     }
  24.     int kanan,kiri;
  25.     int bantu2,bantu3;
  26.     string bantu1,bantu4;
  27.     kiri=0;
  28.     kanan=size;
  29.     for(int j=kiri; j<kanan; j++) {
  30.         for(int i=kiri; i<kanan; i++) {
  31.             if(pelamar[j].tahun<pelamar[i].tahun) {
  32.                 bantu1=pelamar[i].nama;
  33.                 bantu2=pelamar[i].umur;
  34.                 bantu3=pelamar[i].tahun;
  35.                 bantu4=pelamar[i].pt;
  36.                 pelamar[i].nama=pelamar[j].nama;
  37.                 pelamar[i].umur=pelamar[j].umur;
  38.                 pelamar[i].tahun=pelamar[j].tahun;
  39.                 pelamar[i].pt=pelamar[j].pt;
  40.                 pelamar[j].nama=bantu1;
  41.                 pelamar[j].umur=bantu2;
  42.                 pelamar[j].tahun=bantu3;
  43.                 pelamar[j].pt=bantu4;
  44.             }
  45.         }
  46.     }
  47.     cout<<"\n------------------------------------------\n";
  48.     cout<<"- - QUICK SORT MENURUT TAHUN KELULUSAN - -";
  49.     cout<<"\n------------------------------------------\n";
  50.     for(int j=0; j<size; j++) {
  51.         cout<<"------------------------------------------"<<endl;
  52.         cout<<"Nama Pelamar        : "<<pelamar[j].nama<<endl;
  53.         cout<<"Umur                : "<<pelamar[j].umur<<endl;
  54.         cout<<"Tahun Kelulusan     : "<<pelamar[j].tahun<<endl;
  55.         cout<<"Pendidikan Terakhir : "<<pelamar[j].pt<<endl;
  56.         cout<<"------------------------------------------"<<endl;
  57.     } cout<<endl;
  58.  
  59. }
  60.  
  61. //void BinarySearch(int size) {
  62. //    int kanan,kiri,tengah;
  63. //    string cari;
  64. //
  65. //    kiri=0;
  66. //    kanan=size;
  67. //
  68. //    cout<<"Nama Pelamar Yang Dicari? : ";
  69. //    cin>>cari;
  70. //
  71. //
  72. //    while(kiri<kanan) {
  73. //        tengah=(kiri+kanan)/2;
  74. //        if(cari==pelamar[tengah].nama) {
  75. //            true;
  76. //            break;
  77. //        } else if(cari<pelamar[tengah].nama) {
  78. //            kanan=tengah-1;
  79. //        } else if(cari>pelamar[tengah].nama) {
  80. //            kiri=tengah+1;
  81. //        }
  82. //
  83. //    }
  84. //    if(true) {
  85. //        cout<<"\n---------------------------------------\n";
  86. //        cout<<"Nama Pelamar        : "<<pelamar[tengah].nama<<endl;
  87. //        cout<<"Umur                : "<<pelamar[tengah].umur<<endl;
  88. //        cout<<"Tahun Kelulusan     : "<<pelamar[tengah].tahun<<endl;
  89. //        cout<<"Pendidikan Terakhir : "<<pelamar[tengah].pt<<endl;
  90. //        cout<<"---------------------------------------\n\n";
  91. //    }
  92. //}
  93.  
  94. void BinarySearch(int size) {
  95.     int kanan,kiri,tengah,temu;
  96.     string cari;
  97.     kiri = 0;
  98.     kanan                        = size-1;
  99.  
  100.     cout<<"Nama Pelamar Yang Dicari? : ";
  101.     cin>>cari;
  102.  
  103.     while (kiri <= kanan) {
  104.         tengah = (kiri+kanan)/2;
  105.         if (cari > pelamar[tengah].nama) {
  106.             temu= 1;
  107.             break;
  108.         } else if (cari < pelamar[tengah].nama) {
  109.             kanan = tengah - 1 ;
  110.         } else {
  111.             kiri = tengah + 1;
  112.         }
  113.     }
  114.  
  115.     for (int b=0; b<size; b++) {
  116.         if (cari == pelamar[b].nama) {
  117.             cout<<"\n---------------------------------------\n";
  118.             cout<<"Nama Pelamar        : "<<pelamar[b].nama<<endl;
  119.             cout<<"Umur                : "<<pelamar[b].umur<<endl;
  120.             cout<<"Tahun Kelulusan     : "<<pelamar[b].tahun<<endl;
  121.             cout<<"Pendidikan Terakhir : "<<pelamar[b].pt<<endl;
  122.             cout<<"---------------------------------------\n\n";
  123.         }
  124.     }
  125. }
  126.  
  127. int main() {
  128.     int size,pilih;
  129.     cout<<"Masukkan Banyak Data : ";
  130.     cin>>size;
  131.  
  132.     do {
  133.         cout<<"1. Input Data"<<endl;
  134.         cout<<"2. Quick Sort"<<endl;
  135.         cout<<"3. Binary Search"<<endl;
  136.         cout<<"4. Exit"<<endl;
  137.         cout<<"Masukkan Pilihan : ";
  138.         cin>>pilih;
  139.         cout<<endl;
  140.         switch(pilih) {
  141.         case 1 :
  142.             for(int j=0; j<size; j++) {
  143.                 cout<<"Data ke-"<<j+1<<endl;
  144.                 cin.sync();
  145.                 cout<<"Masukkan Nama : ";
  146.                 cin>>pelamar[j].nama;
  147.                 cout<<"Masukkan Umur : ";
  148.                 cin>>pelamar[j].umur;
  149.                 cout<<"Masukkan Tahun Kelulusan : ";
  150.                 cin>>pelamar[j].tahun;
  151.                 cout<<"Masukkan Pendidikan Terakhir : ";
  152.                 cin>>pelamar[j].pt;
  153.                 cout<<"\n\n";
  154.             }
  155.             break;
  156.         case 2 :
  157.             QuickSort(size);
  158.             break;
  159.         case 3 :
  160.             BinarySearch(size);
  161.             break;
  162.         }
  163.     } while(pilih!=4);
  164. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement