Page 159 - MODUL ALGORTIMA DAN PEMROGRAMAN
P. 159

cout << cari << " > " << array[mid] << ", maka cari di
                  kanan" << endl;
                              left = mid+1;
                          }
                      }

                      // mengecek apakah angka yang dicari dapat ditemukan
                      cout << endl;
                      if(flag == 1) {
                          cout << "angka " << cari << " dapat ditemukan"  << endl;
                      } else {
                          cout << "angka " << cari << " tidak dapat ditemukan"  << endl;
                      }
                          cout << "Jumlah langkah: " << stepCounter << endl;
                  }

                  void cetakArray(int array[], int ukuranArray, int l, int m, int r){
                      for(int i = 0; i < ukuranArray; i++){
                          cout << " ";
                          if((i < l) or (i > r)){
                              cout << "x";
                          } else{
                              if(i == m){
                                  cout << "[" << array[i] << "]";
                              } else {
                                  cout << array[i];
                              }
                          }
                      } cout << "\n ";
                  }

                  Output:
                  #Tahap 1
                   Left: 0, Mid: 4, Right: 9
                   Data tengah: 14, Cari: 19
                   2 5 9 12 [14] 15 19 21 28 31
                   19 > 14, maka cari di kanan

                  #Tahap 2
                   Left: 5, Mid: 7, Right: 9
                   Data tengah: 21, Cari: 19
                   x x x x x 15 19 [21] 28 31
                   19 < 21, maka cari di kiri

                  #Tahap 3
                   Left: 5, Mid: 5, Right: 6
                   Data tengah: 15, Cari: 19
                   x x x x x [15] 19 x x x
                   19 > 15, maka cari di kanan

                  #Tahap 4
                   Left: 6, Mid: 6, Right: 6
                   Data tengah: 19, Cari: 19
                   x x x x x x [19] x x x

                  angka 19 dapat ditemukan
                  Jumlah langkah: 4




                                                                                                         136
   154   155   156   157   158   159   160   161   162   163   164