Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 4

Pengurutan Minimum

// asumsi : 20,10,30,50,40
int temp,maks,u=4;
for(int j=0;j<4;j++)
{
maks=0;
for(int k=1;k<=u;k++)
{ if(a[k]>a[maks]) // perbandingan a[1]>a[maks] bila benar tukar, a[2]>a[maks],bila benar tukar,
{ maks=k; } // perbandingan a[3]>a[maks],bila benar tukar, a[4]>a[maks],bila benar tukar
}
temp = a[u];
a[u] = a[maks];
a[maks] = temp;
u--;
}

j u maks k a[k] a[maks] temp a[u] j u maks k a[k] a[maks] temp a[u]
0 4 0 1 10 20 1 3 0 1 10 20
2 30 10 2 30 10
2 2
3 50 30 3 40 30
3 3
4 40 50 Selesai for
Selesai for 40 40
40 50 40
40 2 Larik : 20,10,30,40,50
3 Larik : 20,10,30,40,50
int temp,maks, u=4;
for(int j=0;j<4;j++)
{
maks=0;
for(int k=1;k<=u;k++)
{ if(a[k]>a[maks]) // perbandingan a[1]>a[maks] bila benar tukar, a[2]>a[maks],bila benar tukar,
{ maks=k; } // perbandingan a[3]>a[maks],bila benar tukar, a[4]>a[maks],bila benar tukar
}
temp = a[u];
a[u] = a[maks];
a[maks] = temp;
u--;
}

Urutan terakhir : Larik : 20,10,30,40,50

j u maks k a[k] a[maks] temp a[u] j u maks k a[k] a[maks] temp a[u]
2 2 0 1 10 20 3 1 0 1 10 20
2 30 10 2 30 10
2 Selesai for
Selesai for 10 20
30 30 10
30 1 Larik : 10,20,30,40,50
1 Larik : 20,10,30,40,50
Pencarian biner
cari x=30
x awal akhir akhir>=awal tengah L[tengah L[tengah] =x ketemu x<L[tengah] ketemu=0
]
30 0 4 true 2 30 true 1
1

int caribiner(int n)
{
int jawab;
cout<<"Cari data [0=tidak-1=ya]?: ";cin>>jawab;
while (jawab>0)
{
int x;int awal; int akhir; int tengah; int ketemu;
akhir=n;awal=0;tengah=0;ketemu=0;
cout<<"Masukan data yang di cari :";cin>>x;
while(akhir>=awal)
{
tengah = (awal+akhir)/2;
if(L[tengah] == x ){
cout<<"ada di index ke "<<tengah;
ketemu=1;
break;}
else {
if(x < L[tengah]) //x> ke kiri krn yang dicari lebih kecil
akhir=tengah-1;
else //x< ke kanan krn yang dicari lebih besar
awal=tengah+1;}
}
if(ketemu==0){
cout<<"data tidak ada =>"<<x;}
cout<<endl;
cout<<"Cari lagi [0=tidak-1=ya]?:";cin>>jawab;
} //endwhile jawab
return *L;
}

int main()
{
int jml=5;
L[0]=10; L[1]=20; L[2]=30; L[3]=40; L[4]=50;
caribiner(jml-1);
return 0;
getch();
}

cari x=50

x awal akhir akhir>=awa tengah L[tengah] L[tengah] =x ketemu x<L[tengah] ketemu=0


l
50 0 4 true 2 30 false False
2+1=3
true 3 40 false
3+1=4
true 4 50 true 1

You might also like