Minggu, 13 April 2014

Rekursif

Rekursif adalah suatu fungsi yang didalamnya memanggil fungsinya sendiri. Untuk tata cara penggunaannya sama dengan Fungsi pada umumnya. Rekursif lebih efisien dari pada perulangan, karena script akan terlihat lebih terstruktur dan mudah dimengerti.


Perhatikan contoh persoalan dibawah ini :


Fungsi diatas adalah fungsi untuk mencari nilai faktorial dari angka yang dilambangkan dengan long int a. Mengapa fungsi diatas termasuk Rekursif? Karena didalam code tersebut fungsi faktorial memanggil dirinya sendiri pada saat pemanggilan angka berikutnya faktorial (a-1) .
Misal angka  yang diinputkan adalah 4 maka faktorial (a-1) = 3. dan perulangan itu akan berhenti jika tidak memenuhi syarat lagi.

Sabtu, 08 Maret 2014

Contoh Program Selection Sort



Pengertian Selection Sorting :  Memindahkan elemen dengan cara membandingkan elemen sekarang dengan elemen yang berikutnya sampai dengan elemen terakhir . Jika ditemukan elemen lain yang lebih kecil dari elemen sekarang maka dicatat posisinya dan kemudian ditukar dan begitu seterusnya.

Proses pengurutan menggunakan metode selection sort secara terurut nik adalah sebagai berikut:
1.       Mencari data terkecil dari data pertama sampai dengan data yang terakhir. kemudian ditukar posisinya dengan data pertama.
2.       Mencari data terkecil dari data kedua sampai dengan data terakhir, kemudian ditukar posisinya dengan data kedua.
3.       Mencari data terkecil dari data ketiga sam[ai data terakhir, kemudian ditukar posisimya dengan data ketiga.

4.       Begitu seterusnya sampai semua data terurut naik. Apabila terdapat n buah data yang akan diurutkan, maka membutuhkan (n-1) langkah pengurutan, dengan data terakhir, yaitu data ke n tidak perlu diurutkan karena hanya tinggal data satu-satunya.



Contoh Program :

 #include <conio.h>

 #include <iostream.h>


     int z,n,x,y,data[50],simpan;

     void main(){
     cout<<"PENGURUTAN DATA\n";
     cout<<"Masukkan banyaknya data yang akan diurutkan = ";cin>>n;
     for(x=1;x<=n;x++)
     {
      cout<<"Data ke-"<<x<<" = ";cin>>data[x];
     }

     cout<<endl<<"Eksekusi Program :"<<endl;
     cout<<"awal = \n";
     for(x=1;x<=n;x++)
      cout<<data[x]<<"  ";
     cout<<endl<<endl;

     for(x=2;x<=n;x++)
     {
      y=x;
      while (y>0&&data[y]<data[y-1])
         {
        simpan=data[y];
        data[y]=data[y-1];
        data[y-1]=simpan;
        y--;

             for(z=1;z<=n;z++)
         cout<<data[z]<<"  ";
          cout<<endl;
         }
     }

     cout<<endl<<"Hasil pengurutannya adalah :"<<endl;

     for(x=1;x<=n;x++)
      cout<<data[x]<<"  ";
     getch();
     }


Minggu, 23 Februari 2014

Bubble Sort

Bubble Sort adalah salah satu algoritma untuk sorting data, atau kata lainnya mengurutkan data dari yang terbesar ke yang terkecil atau sebaliknya (Ascending atau Descending). Di setiap mata kuliah algoritma atau struktur data, pasti ketemu sama algoritma sederhana yang satu ini. Algoritma Bubble Sort adalah algoritma sorting paling sederhana. Kelebihan dari algoritma ini adalah mudah dipahami dan yang paling simpel. Kekurangannya juga banyak sekali, salah satunya ialah proses akan berhenti jika tidak adanya pertukaran dalam satu iterasi. Sesuai dengan namanya, proses pengurutannya mirip seperti gelembung. Terdapat proses pertukaran atau istilah kerennya swapping.

Berikut adalah Contoh penerapan Bubble Sort pada c++


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

using namespace std;

main()
{
    int i,x,y,data[100],simpan,j;
    cout<<"Masukkan banyak data yang akan di inputkan:"; cin>>y;
    for(i=1; i<=y; i++)
    {
        cout<<"Masukkan data Ke-"<<i<<":"; cin>> data[i];
    }
    cout<<"\n\n Urutan data sebelum di urutkan:";
    for(i=1; i<=y; i++)
    cout<<data[i]<<".";
    cout<<endl;

    for(i=1; i<=y; i++)
    {
        for(x=1; x<=y; x++)
        {
            if (data[x]>data[x+1])
            {
                simpan=data[x];
                data[x]=data[x+1];
                data[x+1]=simpan;
            }
        }
    }
    cout<<"\n\n Urutan data setelah diurutkan:";
    for(i=1; i<=y; i++)
    cout<<data[i]<<".";
    cout<<endl;

getch();

}


Dan ini adalah hasilnya
SUMBER REFERENSI

Sabtu, 08 Februari 2014

Searching program

berikut adalah program searching

#include<iostream.h>
#include<conio.h>
main()
{
//deklarasi variabel
int a[10],index[10], i,j,k;
//proses penginputan data
for(i=1;i<=10;i++)
{
cout<<”Data ke ["<<i<<"] = “;
cin>>a[i];
}
//memasukkan data yang akan dicari ke dalam K
cout<<endl;
cout<<”Masukkan data yang akan anda cari = “;
cin>>k;
cout<<endl;
//proses pencarian data
j=0;
for (i=1;i<=10;i++)
{
if(a[i]==k)
{
index[j]=i;
j++;
}
}
//jika data ditemukan dalam array
if (j>0)
{
cout<<”Data “<<k<<” yang dicari ada “<<j<<” buah”<<endl;
cout<<endl;
cout<<”Data tersebut terdapat dalam index ke : “;
for(i=0;i<j;i++)
{
cout<<”  “<<index[i];
}
cout<<endl;
cout<<endl;
}
//jika tidak ditemukan
else
{
cout<<”Data tidak ditemukan dalam array”<<endl;
}
getch();
}

Sabtu, 01 Februari 2014

Tugas Alpro

Berikut ini adalah tabel perbedaan antara Prosedur dan Fungsi.

Berikut contoh Prosedur dan Fungsi dalam C++

Fungsi
#include <iostream>
#include <conio>

void printmessage ()
{
  cout << "I'm a function!";
}

void main ()
{
  printmessage ();
  getch();
}

Prosedur
#include<iostream.h>
#include<conio.h>
int addition (int a, int b){
  int r;
  r=a+b;
  return (r);
}
void main ()
{
  int z;
  z = addition (5,3);
  cout << "The result is " << z;
  getch();
}


Array adalah himpunan elemen(variabel) dengan tipe yang sama dan disimpan secara berurutan di dalam memori yang ditandai dengan pemberian Index pada suatu variabel.
Dan ini contoh array
#include<iostream.h>
#include<conio.h>
void main()
{
int budi [5] ;
budi [0]=76;
budi [1]=65;
budi [2]=87;
budi [3]=43;
budi [4]=25;
cout<<budi[3]<<endl<<budi[2];
getch();
}
Terikmakasih atas perhatiannya :D