Showing posts with label Struktur Data. Show all posts
Showing posts with label Struktur Data. Show all posts

Saturday, April 20, 2013

Sorting + Searching

#include<iostream>
#include<conio.h>


using namespace std;

int main()
{
float array[100]={1,7,5,9,8,6,4,3,10,11,12,14,2};
int selisih, cari, kiri, kanan, tng;
int a, b, tukar;
cout<<"angka sebelum diurutkan = ";
for (a = 0; a < 13; a++)
{
cout<<array[a]<<" ";
}
for (a=0;a<12;a++)
{
for (b=0;b<13-a-1;b++)
{
if (array[b]>array[b+1])
{
tukar = array[b];
array[b] = array[b+1];
array[b+1] = tukar;
}
}
}

cout<<"\n\nangka setelah diurutkan = ";

for (a=0;a<13;a++ )
{
cout<<array[a]<<" ";
}

cari = 2;
kiri = 0;
kanan = 12;
tng = kanan/2;

cout<<"\n\nData yang dicari : "<<cari<<"\n"<<endl;

do
{

if (cari<array[tng])
{
kanan = tng-1;
selisih = kanan-kiri;

if (selisih == 1)
{
tng = kanan;
}
else
{
tng =kanan/2;
}

}
else if (cari>array[tng])
{
kiri =tng+1;
tng =(kanan/4)+(kanan/2);
}

}while(cari == tng);



if (array[tng] == cari)
{
cout<<"Data telah ditemukan";
}
else
{
cout<<"Data tidak dapat ditemukan";
}

getch();
}

Friday, April 20, 2012

Bubble Sort & Sequential Search Menu


#include <iostream>
#include <conio.h>


using namespace std;


int data[100],data2[100];
int n;


int tukar(int a,int b)
{
int t;
t = data[b];
data[b] = data[a];
data[a] = t;
}


int bubble_sort()
{
for(int i=1;i<n;i++)
{
for(int j=n-1;j>=i;j--)
{
if(data[j]<data[j-1]) tukar(j,j-1);
}
}
cout<<"bubble sort selesai!\n";
}


int Sequen_search()
{
int cari,index;
int ketemu=0;
cout<<"masukkan data yang ingin dicari = ";
cin>>cari;
for(int i=0;i<n;i++)
{
if(data[i] == cari)
{
ketemu=1;
index = i;
break;
}
}
if(ketemu == 1)
{
cout<<"Data ada"<<endl;
cout<<"Data terletak di index ke  "<<index;
}
else cout<<"Data Tidak ada"<<endl;
getch();
}


void Input()
{
cout<<"Masukkan jumlah data = "; cin>>n;
for(int i=0;i<n;i++)
{
cout<<"Masukkan data ke-"<<(i+1)<<" = "; cin>>data[i];
data2[i] = data[i];
}
}


int Tampil()
{
cout<<"Data : "<<endl;
for(int i=0;i<n;i++)
{
cout<<data[i]<<" ";
}
cout<<endl;
}


int main()
{
int pil;
system("cls");
do
{
system("cls");
cout<<"Program Sorting Searching"<<endl;
cout<<"**************************************"<<endl;
cout<<" 1. Input Data"<<endl;
cout<<" 2. Bubble Sort"<<endl;
cout<<" 3. Sequential Search"<<endl;
cout<<" 4. Tampilkan Data"<<endl;
cout<<" 5. Exit"<<endl;
cout<<"Pilihan Anda = ";  cin>>pil;
switch(pil)
{
case 1:Input(); break;
case 2:bubble_sort(); break;
case 3:Sequen_search();break;
case 4:Tampil(); break;
}
getch();
}
while(pil!=5);
}

Monday, April 16, 2012

SEQUENTIAL SEARCHING


#include <iostream.h>
#include <conio.h>




void main()
{
int i;
int cari,ketemu;
  int A[100]  ;


cout<<"* PROGRAM SEQUENTIAL SEARCHING *\n";
cout<<"--------------------------------\n";
cout<<"Inputlah 7 buah data!\n\n";


for (i=1;i<=7;i++)
{
cout<<"Data ke-"<<i<<" = ";
cin>>A[i] ;
}
cout<<endl;
cout<<"Input bilangan yang dicari : ";
cin>>cari;


ketemu=0;
for(i=0;i<=7;i++)
{
 if (A[i]==cari)
 {
ketemu=1;
cout<<"Data ada pada indeks ke-"<<i<<endl;
 }
}


if (ketemu==0){
cout<<"Data tidak ditemukan";
}


 getch();
}

BINARY SEARCH2


#include <iostream.h>
#include <conio.h>


int cari_biner(int array[],int ukuran, int elemen);


void main()
{
const int ukuran=10;
int array[ukuran]={1,2,3,4,5,6,7,8,9,10};
cout<<"\n  Isi dari array yang tersedia : "<<endl;
for(int i=0;i<ukuran;i++)
cout<<"  "<<array[i];


int elemen;
int tanda;
cout<<"\n  -------------------------------";
cout<<"\n\n Masukkan data yang dicari = ";
cin>>elemen;


tanda= cari_biner(array,ukuran,elemen);
if (tanda!=-1)
cout<<"\n Data ditemukan pada posisi : array["<<
tanda<<"],"<<" atau deret ke-"<<(tanda+1);


else
cout<<"\n Data tidak ditemukan !!";
getch();


}


int cari_biner(int array[],int ukuran,int elemen)
{
int start=0;
int end=ukuran - 1;
int middle;
int posisi=-1;
middle=(start + end ) / 2;
do
{
if(elemen<array[middle])
end=middle-1;
else if (elemen>array[middle])
start=middle+1;
middle=(start+end)/2;


}
while(start<=end && array[middle]!=elemen);


if(array[middle]==elemen)
posisi=middle;
return posisi;


}

BINARY SEARCH


//binary searching,
//program bisa jalan jika data sudah terurut
#include <iostream.h>
#include <conio.h>


int data[10]={1,3,4,7,12,25,40,65,78,90};
int binary_search(int cari)




{
int l,r,m;
int n=10;
l=0;
r=n-1;
int ketemu=0;
while (l<=r && ketemu==0)
{
m=(l+r)/2;
if (data[m]==cari)
ketemu=1;
else
if(cari<data[m])
r=m-1;
else l=m+1;
}
if(ketemu==1) return 1; else return 0;
}


void main()
{
clrscr();
int cari, hasil;
cout<<"masukan data yang ingin di cari= ";
cin>>cari;
hasil = binary_search(cari);
if(hasil==1)
{
cout<<"data ada!"<<endl;
}
else
if(hasil==0)
cout<<"data tidak ada!"<<endl;
getch();
}