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