LATIHAN 1
Bangunlah
sebuah array yang berisi angka-angka tersebut ? Kemudian lakukan pencarian biner (Binary
Search) untuk memeriksa apakah angka yang kita cari ada dalam daftar array tersebut ?
sebuah array yang berisi angka-angka tersebut ? Kemudian lakukan pencarian biner (Binary
Search) untuk memeriksa apakah angka yang kita cari ada dalam daftar array tersebut ?
codingannya seperti berikut.
#include <iostream>
#include <conio.h>
using namespace std;
int main(){
const int Ar[8] = {3,4,6,17,21,24,32,43};
int tar;
cout<<"masukan data yang dicari : ";
cin>>tar;
int awal=0, akhir=10, tengah;
while (awal <= akhir)
{ tengah = (awal + akhir)/2;
if (tar > Ar[tengah] ) // descending ubah tanda > menjadi <
{ awal = tengah + 1; }
else if (tar < Ar[tengah]) // descending ubah tanda < menjadi >
{akhir= tengah - 1;}
else {awal = akhir +1;
}
}
if (tar == Ar[tengah])
{cout<<" Data ditemukan, Ke- "<<tengah+1<<endl;
}
else {
cout<<"target tidak ditemukan "<<endl;
}
getch();
}
#include <conio.h>
using namespace std;
int main(){
const int Ar[8] = {3,4,6,17,21,24,32,43};
int tar;
cout<<"masukan data yang dicari : ";
cin>>tar;
int awal=0, akhir=10, tengah;
while (awal <= akhir)
{ tengah = (awal + akhir)/2;
if (tar > Ar[tengah] ) // descending ubah tanda > menjadi <
{ awal = tengah + 1; }
else if (tar < Ar[tengah]) // descending ubah tanda < menjadi >
{akhir= tengah - 1;}
else {awal = akhir +1;
}
}
if (tar == Ar[tengah])
{cout<<" Data ditemukan, Ke- "<<tengah+1<<endl;
}
else {
cout<<"target tidak ditemukan "<<endl;
}
getch();
}
LATIHAN 2
Jika terdapat sebuah array yang elemennya berindeks 1 sampai dengan 15. Masing-masing
elemen berturut-turut berisi nilai sebagai berikut:
1, 2, 8, 25, 30, 49, 50, 55, 60, 61, 68, 70, 72, 84, 90.
a. Jelaskan langkah-langkah pencarian nilai 49 dalam array tersebut dengan metode
pencarian biner, sehingga menghasilkan indeks elemen array tempat ditemukannya nilai
tersebut.
b. Jelaskan langkah-langkah pencarian nilai 71 dalam array tersebut dengan metode
pencarian biner, sehingga menghasilkan kesimpulan bahwa nilai tersebut tidak berhasil
ditemukan.
elemen berturut-turut berisi nilai sebagai berikut:
1, 2, 8, 25, 30, 49, 50, 55, 60, 61, 68, 70, 72, 84, 90.
a. Jelaskan langkah-langkah pencarian nilai 49 dalam array tersebut dengan metode
pencarian biner, sehingga menghasilkan indeks elemen array tempat ditemukannya nilai
tersebut.
b. Jelaskan langkah-langkah pencarian nilai 71 dalam array tersebut dengan metode
pencarian biner, sehingga menghasilkan kesimpulan bahwa nilai tersebut tidak berhasil
ditemukan.
codingannya seperti berikut
#include <iostream>
#include <conio.h>
using namespace std;
int main(){
const int Ar[15] = {1,2,8,25,30,49,50,55,60,61,68,70,72,84,90}; // untuk proses ascending
int tar;
cout<<"masukan data yang dicari : ";
cin>>tar;
int awal=0, akhir=10, tengah;
while (awal <= akhir)
{ tengah = (awal + akhir)/2;
if (tar > Ar[tengah] ) // descending ubah tanda > menjadi <
{ awal = tengah + 1; }
else if (tar < Ar[tengah]) // descending ubah tanda < menjadi >
{akhir= tengah - 1;}
else {awal = akhir +1;
}
}
if (tar == Ar[tengah])
{cout<<" Data ditemukan, data berada di indeks ke-"<<tengah+1<<endl;
}
else {
cout<<"target tidak ditemukan "<<endl;
}
getch();
}
#include <conio.h>
using namespace std;
int main(){
const int Ar[15] = {1,2,8,25,30,49,50,55,60,61,68,70,72,84,90}; // untuk proses ascending
int tar;
cout<<"masukan data yang dicari : ";
cin>>tar;
int awal=0, akhir=10, tengah;
while (awal <= akhir)
{ tengah = (awal + akhir)/2;
if (tar > Ar[tengah] ) // descending ubah tanda > menjadi <
{ awal = tengah + 1; }
else if (tar < Ar[tengah]) // descending ubah tanda < menjadi >
{akhir= tengah - 1;}
else {awal = akhir +1;
}
}
if (tar == Ar[tengah])
{cout<<" Data ditemukan, data berada di indeks ke-"<<tengah+1<<endl;
}
else {
cout<<"target tidak ditemukan "<<endl;
}
getch();
}
LATIHAN 3
Urutkan deret angka berikut dengan bubble sort :
7 4 5 8 10
Tuliskan hasil tiap langkah (step).
7 4 5 8 10
Tuliskan hasil tiap langkah (step).
Codingannya seperti berikut.
#include <iostream>
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main(int argc, char** argv) {
int a, k, c, d, g;
k=5;
int b[5];
cout<<"\t\tPROGRAM MENGURUTKAN ANGKA DENGAN BUBLE SORT\n\n";
for(a=0; a<k; a++){
cout<<"Masukkan nilai ke-"<<a+1<<":";
cin>>b[a];
}
for (a=0; a<k-1; a++){
for (d=a+1; d<k; d++){
c=a;
if (b[c]>b[d]){
c=d;
}
g=b[c];
b[c]=b[a];
b[a]=g;
}
}
cout<<"\nSetelah diurutkan maka akan menjadi :\n";
for(a=0; a<k; a++){
cout<<b[a]<<" ";
}
return 0;
}
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
using namespace std;
int main(int argc, char** argv) {
int a, k, c, d, g;
k=5;
int b[5];
cout<<"\t\tPROGRAM MENGURUTKAN ANGKA DENGAN BUBLE SORT\n\n";
for(a=0; a<k; a++){
cout<<"Masukkan nilai ke-"<<a+1<<":";
cin>>b[a];
}
for (a=0; a<k-1; a++){
for (d=a+1; d<k; d++){
c=a;
if (b[c]>b[d]){
c=d;
}
g=b[c];
b[c]=b[a];
b[a]=g;
}
}
cout<<"\nSetelah diurutkan maka akan menjadi :\n";
for(a=0; a<k; a++){
cout<<b[a]<<" ";
}
return 0;
}
Tidak ada komentar:
Posting Komentar