Showing posts with label Algoritma dan Pemrograman. Show all posts
Showing posts with label Algoritma dan Pemrograman. Show all posts

Saturday, April 20, 2013

Shell Sort



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

using namespace std;


void shellsort(int a[],int n)
{
     int j,i,k,m,mid;
     for(m = n/2;m>0;m/=2)
     {
           for(j = m;j< n;j++)
           {
                 for(i=j-m;i>=0;i-=m)
                 {
                                     if(a[i+m]>=a[i])
                                                     break;
                                     else
                                     {
                                         mid = a[i];
                                         a[i] = a[i+m];
                                         a[i+m] = mid;
                                     }
                 }
           }
     }
}

int main()
{
    int a[15]={12,6,19,7,45,21,50,15,38,40,36,72,90,80,32},i;
    int b[15]={12,6,19,7,45,21,50,15,38,40,36,72,90,80,32};
    system("cls");
    cout<<"\n\t   SHELL-SORTING\n\n";
       
    printf("\nBefore\t: ");
  
   
    for(i=0;i<15;i++)
    {cout<<a[i]<<"  ";
    shellsort(a,15);
    }
    cout<<"\n-----------------------------------------------------------------------";
    printf("\nAfter\t: ");
    for(i=0;i<15;i++)
   
    {
    cout<<a[i]<<"  ";
    }
getch();
return 0;
}


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();
}

Monday, April 16, 2012

TABEL PANGKAT


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


void main()
{
int kubik[10],pangkat[10],k,total,jumlah,jp,jk,jj;
jumlah=0;
jk=0;
jp=0;
jj=0;


cout<<"Bilangan"<<setw(13)<<"Pangkat"<<setw(11)<<"Kubik"<<setw(13)<<"Total"<<endl;
for(int i=0;i<10;i++)
{
k=i+1;
pangkat[i]=k*k;
kubik[i]=k*k*k;
total=k+pangkat[i]+kubik[i];


jumlah=jumlah+k;


jp=jp+pangkat[i];


jk=jk+kubik[i];


jj=jj+total;


cout<<setw(7)<<k<<setw(12)<<pangkat[i]<<setw(12)<<kubik[i]<<setw(13)<<total<<endl;
}
cout<<"-------------------------------------------------------------------------- +\n";
cout<<setw(7)<<jumlah<<setw(12)<<jp<<setw(12)<<jk<<setw(13)<<jj<<endl;
}

MAX,MIN,AVERAGE


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


void main ()
{


int a,b,c,max,min;
float jumlah, pembagi, rata;


b=0;
jumlah=0;
pembagi=0;


for (int i=0;i<100;i++)
{
cout<<"Masukan bilangan = ";
cin>>a;


if (a==999)
{break;}


jumlah=jumlah+a;


if (a<b)
{
max = b;
b=max;
}


if (a>b)
{
max=a;
b=max;
}


if (a<c)
{
min=a;
c=min;
}


if (a>c)
{
min=c;
c=min;
}


pembagi++;
}


rata=jumlah/pembagi;
cout<<"\nRata = "<<rata;
cout<<"\nMax = "<<max;
cout<<"\nMin = "<<min;




}

PENGANTAR ARRAY


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


void main ()
{


int a[5];
for (int i=0;i<5;i++)
{
cout<<"Masukkan array ke "<<i<<" =";
cin>>a[i];
}
for (int b=0;b<i;b++)
{
cout<<"a["<<b<<"] = "<<a[b]<<endl;
}
}

PENJUMALAHAN MATRIKS


#include<iostream.h>
#include <conio.h>
#include <iomanip.h>
int i, j, baris, kolom, m1[10]
[10], m2[10]
[10], hasil[10]
[10];
void main()
{
  clrscr();
  cout << "Operasi Penjumlahan Matrix\n";
  do
  {
   cout << "Jumlah Baris = "; cin>>baris;
   cout << "Jumlah Kolom = "; cin>>kolom;
  }
  while((baris>10)||(kolom>10));
/*  do
  while(kolom>10);*/
  cout << "\nMatrix A" << endl;
  for(i=0;i<baris;i++)
for(j=0;j<kolom;j++)
{
 cout <<"data [" << i << "," << j << "] = ";
 cin>>m1[i][j];
}
  cout << "\nMatrix B" << endl;
  for(i=0;i<baris;i++)
for(j=0;j<kolom;j++)
{
 cout <<"data [" << i << "," << j << "] = ";
 cin>>m2[i][j];
}
  for(i=0; i<baris;i++)
for(j=0; j<kolom; j++)
hasil[i][j] = m1[i][j] + m2[i][j];
  cout << "\nHasilnya..." << endl;
  cout << "Matrix A  +  Matrix B  =  Matrix C";
  for(i=0; i< baris; i++)
{
cout<<'\n';
for(j=0; j<kolom; j++)
 cout << setw(4) << m1[i][j];
 cout << "     ";
for(j=0; j<kolom; j++)
 cout << setw(4) << m2[i][j];
 cout << "     ";
for(j=0; j<kolom; j++)
 cout << setw(4) << hasil[i][j];
    cout << endl;
   }
  getch();
}

GAJI


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


int gajikaryawan(long gaji_gross[5],int kode_pajak[5])
{
int i;
long gaji[5];
float pajak[5];


if (kode_pajak[i]=1)
{pajak[i]=0.1;}


if (kode_pajak[i]=2)
{pajak[i]=0.2;}


if (kode_pajak[i]=3)
{pajak[i]=0.3;}
gaji[i]=pajak[i]*(gaji_gross[i]);


cout<<gaji[i];
getch();


return 0;
}


int pajakkaryawan(long gaji_gross[5],int kode_pajak[5])
{
int i;
if (gaji_gross[i]<=2000000)
{kode_pajak[i]=1;}


if (gaji_gross[i]<=5000000&&gaji_gross[i]>2000000)
{kode_pajak[i]=2;}


if (gaji_gross[i]>5000000)
{kode_pajak[i]=3;}


cout<<kode_pajak[i];
getch ();
return 0;




}


int main()
{
int i;
int kode_pajak[5];
long gaji_gross[5];
char Nama[7][6];
cout<<"-------Daftar Gaji Karyawan Tahun 2010-----------\n\n";


for(i=0;i<=5;i++)
{
cout<<"Nama Karyawan =";
cin>>Nama[i];


cout<<"Gaji Bulanan =";
cin>>gaji_gross[i];
cout<<"Kode Pajak = ";
cout<<pajakkaryawan(gaji_gross,kode_pajak);
cout<<endl;


cout<<"Gaji Tahun 2010 =";
cout<<gajikaryawan(gaji_gross,kode_pajak)<<endl<<endl;
}
getch();
return 0;
}

ARRAY TABEL


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


void main()
{
int I[3][4];
int tahun,jurusan;
char jur[3][20]={"T.Industri","T.Planologi","T.Informatika"};


clrscr;
I[0][0] = 53;
I[0][1] = 70;
I[0][2] = 65;
I[0][3] = 60;
I[1][0] = 10;
I[1][1] = 13;
I[1][2] = 21;
I[1][3] = 15;
I[2][0] = 86;
I[2][1] = 132;
I[2][2] = 242;
I[2][3] = 195;
while(1)
{
cout<<"Jurusan(0=T.Industri,1=T.Planologi,2=T.Informatika)";
cout<<"\nMasukan jurusan =";
cin>>jurusan;


if((jurusan==0)||(jurusan==1)||(jurusan==2))
break;
}
while(1)
{
cout<<"Tahun(2001-2004) = ";
cin>>tahun;


if ((tahun>=2001)&&(tahun<=2004))
{
tahun-=2001;
break;
}
}
cout<<"\nJumlah Mahasiswa yang masuk = "<<I[jurusan][tahun]<<endl<<endl;
cout<<"\t\t2001\t2002\t2003\t2004\n";
cout<<"--------------------------------------------------\n";


for(int i=0;i<3;i++)
{
cout<<jur[i]<<"\t";
for(int j=0;j<=3;j++)
{
cout<<I[i][j]<<"\t";
}
cout<<endl<<endl;
}




}

PRIMA


#include <iostream.h>
#include <conio.h>
void main ()
{


int a,b,c;
cout<<"Bilangan Prima:\n";
for (a=2;a<=100;a++)
{
c=0;
for (b = 2; b<a;b++)
{
if (a % b ==0)
{
c=1;
}


}
if (c == 0)
{
       cout<<a<<", ";
}
   }
getch();
}

PENJUMLAHAN MATRIKS TANPA INPUT


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


void main ()
{


int a[2][2] = {1,2,3,4};
int b[2][2] = {5,6,7,8};
int hasil[2][2];


cout<<"Matriks 1"<<"\t"<<"Matriks 2\n\n";
cout<< a[0][0]<<"\t"<< a[0][1]<<"\t";
cout<< b[0][0]<<"\t"<< b[0][1]<<"\t\n";
cout<<"\t    +\n";
cout<< a[1][0]<<"\t"<< a[1][1]<<"\t";
cout<< b[1][0]<<"\t"<< b[1][1]<<"\t\n";


hasil[0][0]=a[0][0]+b[0][0];
hasil[0][1]=a[0][1]+b[0][1];
hasil[1][0]=a[1][0]+b[1][0];
hasil[1][1]=a[1][1]+b[1][1];


cout<<"\n\nMatriks Hasil\n\n";
cout<<hasil[0][0]<<"\t";
cout<<hasil[0][1]<<"\t\n\n";
cout<<hasil[1][0]<<"\t";
cout<<hasil[1][1]<<"\t\n";


}

PENJUMLAHAN MATRIKS


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


int perkalian (int A[2][2],int B[2][2])
{
int i,j,C[2][2];
for (i=0;i<2;i++)
{
for (j=0;j<2;j++)
{


C[i][j]=0;
C[i][j]=(A[0][j]*B[i][0])+ (A[i][1]*B[1][j]);
cout<<C[i][j]<<setw(4);


}
cout<<endl;


}
getch ();


}


int pengurangan (int A[2][2],int B[2][2])
{
int i,j,C[2][2];
for (i=0;i<2;i++)
{
for (j=0;j<2;j++)
{
C[i][j]=0;
C[i][j]= A[i][j]-B[i][j];
cout<<C[i][j]<<setw(4);
}
cout<<endl;
}
getch ();
}


int penjumlahan (int A[2][2],int B[2][2])
{
int i,j,C[2][2];
for (i=0;i<2;i++)
{
for (j=0;j<2;j++)
{
C[i][j]=0;
C[i][j]= A[i][j]+B[i][j];
cout<<C[i][j]<<setw(4);
}
cout<<endl;
}
getch();
}


int main()
{
int pil,A[2][2],B[2][2],i,j;
cout<<"=====================";
cout<<"\nOPERASI KALKULATOR:";
cout<<"\n\n1. Penjumlahan";
cout<<"\n2. Pengurangan";
cout<<"\n3. Perkalian";
cout<<"\n=====================";
cout<<"\n\nPilih operasi :";
cin>>pil;


cout<<"Input matrik A : \n";
cout<<"------------------------- \n";
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
cout<<"Elemen ke "<<(i+1)<<","<<(j+1)<<" : ";
cin>>A[i][j];
}
}
cout<<"\nMatrik A : \n";;
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
cout<<setw(4)<<A[i][j];
}
cout<<endl;
}
cout<<endl;
cout<<"Silahkan input matrik B : \n";
cout<<"------------------------- \n";
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
cout<<"Elemen ke "<<(i+1)<<","<<(j+1)<<" : ";
cin>>B[i][j];
}
}
cout<<"\nMatrik B : \n";
for(i=0;i<2;i++)
{
for(j=0;j<2;j++)
{
cout<<setw(4)<<B[i][j];
}
cout<<endl;
}




if(pil==1)
{
cout<<"\n\nPenjumlahan :\n";
cout<<penjumlahan(A,B)<<setw(4);
}


if(pil==2)
{
cout<<"\n\nPengurangan : \n";
cout<<pengurangan(A,B)<<setw(4);
}


if(pil==3)
{
cout<<"\n\nPerkalian : \n";
cout<<perkalian(A,B)<<setw(4);
}


return 0;
}