Senin, 28 Maret 2011

PROGRAM PROGRAM DALAM C++


Program dalam c++
SEGITIGA
#include <iostream.h>
#include <conio.h>

int main()
{
 int sisi1, sisi2, sisi3;

 cout<<"Masukkan 3 sisi segitiga: ";
 cin>>sisi1>>sisi2>>sisi3;

 cout<<endl;

 if((sisi1 + sisi2)>sisi3)
 {
  if((sisi1+sisi3)>sisi2)
  {
   cout<<"Ini adalah segitiga";
  }
  else
  {
   cout<<"Ini bukan segitiga";
  }
 }
 else
 {
  cout<<"Ini bukan segitiga";
 }

 getch();
 return 0;
}





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

int main()
{
 int ukuran;

 do
 {
  cout<<"Masukkan ukuran persegi: ";
  cin>>ukuran;
 }while(ukuran<1||ukuran>20);

 cout<<endl;

 for(int i=1; i<= ukuran; i++)
 {
  for(int j=1; j<=ukuran; j++)
  {
   if(i==1||j==1||i==ukuran||j==ukuran)
   {
    cout<<"*";
   }
   else
   {
    cout<<" ";
   }
  }
  cout<<endl;
 }

 getch();
 return 0;
}



QUIK SORT
#include <iostream.h>
#include <conio.h>
#define max 20

void quick_sort(int darr[max], int lb, int ub)
{
  int a;
   int up,down;
   int temp;

   if (lb>=ub)
    return;
   a=darr[lb];
   up=ub;
   down=lb;

   while (down < up)
   {
     while (darr[down] <= a)
       down++;
      while (darr[up]>a)
       up--;
      if(down<up)
      {
        temp=darr[down];
         darr[down]=darr[up];
         darr[up]=temp;
      }
   }
   darr[lb]=darr[up];
   darr[up]=a;

   quick_sort(darr,lb,up-1);
   quick_sort(darr,up+1,ub);
}

void main()
{
  int arr[max];
   int i,n,lb,ub;
   lb=0;

   cout<<"Masukkan banyak data yang ingin diurut: ";
   cin>>n;

   ub=n;
   cout<<"Masukkan data-datanya: \n\n";
   for(i=1;i<=n;i++)
   {
     cout<<"\tdata ke- "<<i<<" : "; cin>>arr[i];
   }

   quick_sort(arr,lb,ub);
   cout<<"\nHasil pengurutan data: ";
   for(i=0; i<n;i++)
    cout<<" "<<arr[i];

   cout<<"\n\nTekan sembarang tombol untuk keluar ";
   getch();
}


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

int cari_linear(int array[],int ukuran, int cari);

void main()
{
  const int ukuran=10;
  int array[ukuran]={25,36,2,48,0,69,14,22,7,19};
  cout<<"Isi dari array: "<<endl;
  for(int i=0;i<ukuran;i++)
   cout<<" "<<array[i];

  int cari;
  int tanda=-1;
  cout<<"\n\nMasukkan data yang dicari: ";
  cin>>cari;

  tanda= cari_linear(array,ukuran,cari);
  if (tanda!=-1)
  cout<<"\n\nData tersebut ditemukan pada posisi: array["<<
  tanda<<"],"<<" atau deret ke-"<<(tanda+1);
  else
  cout<<"\nData tersebut tidak ditemukan ";
  getch();
}

int cari_linear(int array[],int ukuran,int cari)
{
  int tanda=-1;
  for(int i=0;i<ukuran;i++)
  {
   if(cari==array[i])
   {
     tanda=i; break;
   }
  }
  return tanda;
}


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

int main()
{
 int ganjil;

 do
 {
  cout<<"Masukkan bilangan ganjil (1-19): ";
  cin>>ganjil;
 }while(ganjil%2==0);

 for(int i=0; i<=ganjil; i+=2)
 {
  for(int j=0; j<ganjil-i;j+=2)
  {
   cout<<" ";
  }
  for(int z=0;z<=i;z++)
  {
   cout<<"*";
  }
  cout<<endl;
 }

 ganjil = ganjil - 2;

 for(int i=0; i<ganjil; i+=2)
 {
  for(int j=0; j<=i+2;j+=2)
  {
   cout<<" ";
  }
  for(int z=1;z<=ganjil-i;z++)
  {
   cout<<"*";
  }
  cout<<endl;
 }
 getch();
 return 0;
}


Pernyataan goto adalah pernyataan yang mengarahkan eksekusi ke pernyataan yang berlabel. Bentuk pernyataan goto adalah seperti berikut:

goto label;
label:
pernyataan;

Contoh sederhananya dapat kalian lihat pada contoh program dibawah ini:


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

void main()
{
 cout<<"Hai"<<endl;
 goto langsung;

 cout<<"Jangan Pedulikan Aku!"<<endl;

 langsung:
 cout<<"Terima Kasih"<<endl;
 getch();
}

Jika kalian mengeksekusi program diatas, maka kalian akan menemukan bahwa pernyataan:
cout<<"Jangan Pedulikan Aku!"<<endl;
tidak dijalankan dalam program. Karena program menuju label langsung sehingga pernyataan diatas dilewati program.

Untuk tingkat lanjutnya, kalian dapat melihat penggunaannya pada program dibawah ini:

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

void main()
{
 char karakter;
 char pilihan;
 clrscr();

  cobalagi:
  cout<<"Masukkan Karakter: ";
  cin>>karakter;

  cout<<endl<<endl;

  cout<<"Nilai ASCII dari karakter "<<karakter<<": "<<int(karakter)<<endl;

  //contoh pemakaian goto
  cout<<"Mau Ulangi Lagi...(Y/T)? : ";
  cin>>pilihan;
  if(pilihan == 'y' || pilihan == 'Y')
  {
   clrscr();
   goto cobalagi;
  }
  else
}

Contoh penggunaan perulangan menggunakan while dapat kalian lihat disini.

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

void main()
{
 int i = 0;

 while(i < 10)
 {
  cout<<"IT Programmer"<<endl;
  i++;
 }
 getch();
}

Contoh perulangan menggunakan do-while dapat kalian lihat disini:
#include <iostream.h>
#include <conio.h>

void main()
{
 int i = 0;

 do
 {
  cout<<"IT Programmer"<<endl;
  i++;
 }while(i < 10)
 getch();
}


Pernyataan do-while juga dapat digunakan untuk menampilkan huruf abjad dari a - z. Tentu saja ini termasuk kedalam perulangan. Perulangan juga dapat digunakan untuk hal seperti ini. Contoh dari program ini dapat kalian lihat pada syntax program berikut ini:

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

void main()
{
 char abjad = 'A';

 do
 {
  cout<<abjad<<" ";
  abjad+=1;
 }while(abjad <= 'Z')
 getch();
}


Selain menggunakan do-while, perulangan juga dapat digunakan dengan menggunakan pernyataan for. Perulangan menggunakan for, untuk menampilkan urutan abjad dari a sampai z. Contohnya dapat kalian lihat pada contoh syntax dibawah ini:

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

void main()
{
 char abjad;

 for(abjad = 'A'; abjad <= 'Z'; abjad++)
 {      
   cout<<abjad<<" ";
 }
 getch();
}


Contoh program binary search dalam C++ dapat kalian lihat dibawah ini:

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

int binary_search(int array[],int size, int elemen);

void main()
{
  const int size = 10;
  int array[size]={0,6,9,12,20,23,29,32,47,79};
  cout<<"Isi dari array: "<<endl;
  for(int i=0;i<size;i++)
   cout<<" "<<array[i];

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

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

  else
  cout<<"\n data tersebut tidak ditemukan ";
  getch();
}

int binary_search(int array[],int size,int elemen)
{
  int start=0;
  int end=size - 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;
}

Sequential Search adalah teknik pencarian data dimana data dicari secara urut dari depan ke belakang atau dari awal sampai akhir. Kelebihan dari proses pencarian secara sequential ini jika data yang dicari terletak didepan, maka data akan ditemukan dengan cepat. Tetapi dibalik kelebihannya ini, teknik ini juga memiliki kekurangan. Pertama, jika data yang dicari terletak dibelakang atau paling akhir, maka akan membutuhkan waktu yang lama dalam proses pencariannya. Kedua, beban komputer akan semakin bertambah jika jumlah data dalam array sangat banyak.

Disini IT Programmer akan memberikan contoh sintaks dari Sequential Search dalam C++. Tidak ada penginputan data oleh user dalam program ini, karena data telah dideklarasikan terlebih dahulu. Kalian dapat mengubahnya sendiri jika kalian telah lebih menguasai bagian ini. Silahkan lihat sintaksnya dibawah ini.


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

int cari_linear(int array[],int ukuran, int cari);

void main()
{
  const int ukuran=10;
  int array[ukuran]={25,36,2,48,0,69,14,22,7,19};
  cout<<"Isi dari array: "<<endl;
  for(int i=0;i<ukuran;i++)
   cout<<" "<<array[i];

  int cari;
  int tanda=-1;
  cout<<"\n\nMasukkan data yang dicari: ";
  cin>>cari;

  tanda= cari_linear(array,ukuran,cari);
  if (tanda!=-1)
  cout<<"\n\nData tersebut ditemukan pada posisi: array["<<
  tanda<<"],"<<" atau deret ke-"<<(tanda+1);
  else
  cout<<"\nData tersebut tidak ditemukan ";
  getch();
}

int cari_linear(int array[],int ukuran,int cari)
{
  int tanda=-1;
  for(int i=0;i<ukuran;i++)
  {
   if(cari==array[i])
   {
     tanda=i; break;
   }
  }
  return tanda;
}

Semoga bermanfaat

aanvangeling@yahoo.com

Tidak ada komentar:

Posting Komentar