#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();
}
Showing posts with label Struktur Data. Show all posts
Showing posts with label Struktur Data. Show all posts
Saturday, April 20, 2013
Sorting + Searching
Labels:
Algoritma dan Pemrograman,
Struktur Data
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);
}
Labels:
Struktur Data
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();
}
Labels:
Struktur Data
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;
}
Labels:
Struktur Data
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();
}
Labels:
Struktur Data
Subscribe to:
Posts (Atom)