Kamis, 26 April 2012

Algoritma Sorting

Materi Algortima Sorting dan Contoh Programnya
A.    Pengertian Sorting
Sorting (pengurutan data) didefinisikan sebagai suatu proses untuk menyusun
kembali humpunan obyek menggunakan aturan tertentu.
B.     Macam-macam Sorting
1.      Selection Sort
Metode seleksi melakukan pengurutan dengan cara mencari data yang terkecil
kemudian menukarkannya dengan data yang digunakan sebagai acuan atau sering
dinamakan pivot.

Proses pengurutan dengan metode seleksi dapat dijelaskan sebagai berikut :
langkah pertama dicari data terkecil dari data pertama sampai data terakhir. Kemudian data terkecil ditukar dengan data pertama. Dengan demikian, data pertama sekarang mempunyai nilai paling kecil dibanding data yang lain. Langkah kedua, data terkecil kita cari mulai dari data kedua sampai terakhir. Data terkecil yang kita peroleh ditukar dengan data kedua dan demikian seterusnya sampai semua elemen dalam keadaan terurutkan.


Proses pengurutan Algortima Seleksi sebagai berikut
Pada saat i=0, data terkecil antara data ke-1 s/d ke-9 adalah data ke-4, yaitu 3, maka data ke-0 yaitu 12 ditukar dengan data ke-4 yaitu 3.
Pada saat i=1, data terkecil antara data ke-2 s/d ke-9 adalah data ke-2, yaitu 9, maka data ke-1 yaitu 35 ditukar dengan data ke-2 yaitu 9.
Pada saat i=2, data terkecil antara data ke-3 s/d ke-9 adalah data ke-3, yaitu 11, maka data ke-2 yaitu 35 ditukar dengan data ke-3 yaitu 11.
Pada saat i=3, data terkecil antara data ke-4 s/d ke-9 adalah data ke-4, yaitu 12, maka data ke-3 yaitu 35 ditukar dengan data ke-4 yaitu 12.
Dan seterusnya.


Tabel Proses Pengurutan dengan Metode Seleksi


Iterasi  Data[0]            Data[1]         Data[2]           Data[3]    Data[4]       Data[5]         Data[6]     Data[7]        Data[8]      Data[9]
Awal      12            35           9               11         3            17            23         15          31          20
i=0          12            35           9               11         3            17            23         15          31          20
i=1          3              35           9               11        12           17            23         15          31          20
i=2          3              9            35              11        12           17            23         15          31          20
i=3          3              9            11              35        12           17            23         15          31          20
i=4          3              9            11              12        35           17            23         15          31          20
i=5          3              9            11              12        15           17           23         35          31          20
i=6          3              9            11              12        15           17           23         35         31          20
i=7          3              9            11              12        15           17           20         35         31           23
i=8          3              9            11              12        15           17            20         23         31           35
Akhir      3              9            11              12        15           17           20         23         31           35


2.      Bubble Sort
Metode gelembung (bubble sort) sering juga disebut dengan metode penukaran
(exchange sort) adalah metode yang mengurutkan data dengan cara membandingkan
masing-masing elemen, kemudian melakukan penukaran bila perlu.

3.      Quick Sort
Metode Quick sering disebut juga metode partisi (partition exchange sort).

Kamis, 12 April 2012

Program Sederhana Menggunakan switch

#include "iostream.h"
#include "conio.h"

int tambah(int x,int y)
{
 return(x+y);
}

int kurang(int x,int y)
{
 return(x-y);
}

int kali(int x,int y)
{
 return(x*y);
}

double bagi(double x,double y)
{
 return(x/y);
}

void main()
{
 int bil1,bil2;
 int pil;
 clrscr();
 bil1=2;
 bil2=3;
 cout<<"Menu Operasi untuk Nilai "<<bil1<<" dan "<<bil2<<endl;
 cout<<"-----------------"<<endl;
 cout<<"1. Penjumlahan"<<endl;
 cout<<"2. Pengurangan"<<endl;
 cout<<"3. Perkalian"<<endl;
 cout<<"4. Pembagian"<<endl;
 cout<<"-----------------"<<endl;
 cout<<"Masukan Pilihan :";cin>>pil;
 switch(pil)
 {
   case 1:
      cout<<tambah(bil1,bil2);
      break;
   case 2:
      cout<<kurang(bil1,bil2);
      break;
   case 3:
      cout<<kali(bil1,bil2);
      break;
   case 4:
      cout<<bagi(bil1,bil2);
      break;
 }
 getch();
}

Program Sederhana Menggunakan if

#include "iostream.h"
#include "conio.h"

int tambah(int x,int y)
{
 return(x+y);
}

int kurang(int x,int y)
{
 return(x-y);
}

int kali(int x,int y)
{
 return(x*y);
}

double bagi(double x,double y)
{
 return(x/y);
}

void main()
{
 int bil1,bil2;
 int pil;
 clrscr();
 bil1=2;
 bil2=3;
 cout<<"Menu Operasi untuk Nilai "<<bil1<<" dan "<<bil2<<endl;
 cout<<"-----------------"<<endl;
 cout<<"1. Penjumlahan"<<endl;
 cout<<"2. Pengurangan"<<endl;
 cout<<"3. Perkalian"<<endl;
 cout<<"4. Pembagian"<<endl;
 cout<<"-----------------"<<endl;
 cout<<"Masukan Pilihan :";cin>>pil;
 if(pil==1)
 {
   cout<<tambah(bil1,bil2);
 }
 else if(pil==2)
 {
   cout<<kurang(bil1,bil2);
 }
 else if(pil==3)
 {
   cout<<kali(bil1,bil2);
 }
 else if(pil==4)
 {
   cout<<bagi(bil1,bil2);
 }
 getch();
}

Sabtu, 07 April 2012

Program Tampilan Angka 1 2 3 4

Membuat Tampilan Angka
1    2    3    4
1    2    3    4
1    2    3    4
1    2    3    4


#include<iostream.h>
#include<conio.h>
    void main(){
        for (int a = 1;a<=4;a++){
            for (int d = 1;d<=4;d++){
            cout<<d<<" ";
            }
        cout<<endl;
        }
    }

Program Membuat Tampilan Bilangan Kelipatan 2 dan 3 dari Angka 1 s/d 100

#include<iostream.h>
            void main(){
            int c,b ;
            b = 2;
            c =3;
            cout<<"Kelipatan 2 = ";
                        for (int a = 2;a<=100;a=a*b){
                        cout<<a<<" ";
                        }
            cout<<endl<<"Kelipatan 3 = ";
                        for (int d = 3;d<=100;d=d*c){
                        cout<<d<<" ";
                        }
            }

Penjelasan Program :
1.       # include<iostream.h>
berfungsi  untuk menampilakan input atau output yang akan digunakan pada perintah cout.

2.       void main(){
Untuk menampilkan statement (pernyataan)  baris suatu hasil perintah yang sedang dijalankan. Tanpa void main program yang akan di jalankan tidak akan menghasilkan output.

3.      Int c,b
Mendeklarasikan variabel c,b dan di beri nilai.

4.      b=2, artinya variabel b bernilai 2.
c=3, artinya variabel c bernilai 3

5.      cout<<"Kelipatan 2 = ";
Artinya,  menampilkan Kelipatan 2 = pada jendela output.

6.      for
Statement for berfungsi sebagai perulangan yang akan terus menerus menjalakan statement di dalam badan for sampai bernilai false.

7.      Int a=2;
Program dijalankan dari baris pertama yaitu variabel  a yang di deklarasikan dan diberi nilai 2.

8.       a<=100
Batasan perulangan yang terjadi di dalam for.

9.      Cout<<a<<” ”;
Mulai menjalankan statemen  di dalam badan for yaitu tampilkan output dari variabel a yang bernilai 2 . Kemudian kursor akan memberi jarak atau spasi karena terdapat string<<” ”;

10.  a=a*b
Nilai variabel a diperiksa, dan isi program akan dijalankan selama nilai masih merupakan kelipatan dari 2 sampai bernilai false.

11.  }
Semua statement (pernyataan) dalam badan for akan selesai dijalankan jika nilai variabel a bernilai false  dari pernyataan for(a<=100). Karena pada kelipatan 2 bernilai false maka lanjut pada statement berikutnya dengan adanya perintah endl

12.  Cout<<endl<<"Kelipatan 3 = ";
Artinya,  menampilkan Kelipatan 3 = pada jendela output.

13.  for
Statement for berfungsi sebagai perulangan yang akan terus menerus menjalakan statement di dalam badan for sampai bernilai false.

14.  Int d=3;
Program dijalankan dari baris pertama yaitu variabel  d yang di deklarasikan dan diberi nilai 3.

15.   d<=100
Batasan perulangan yang terjadi di dalam for.

16.  Cout<<d<<” ”;
Mulai menjalankan statemen  di dalam badan for yaitu tampilkan output dari variabel d yang bernilai 3 . Kemudian kursor akan memberi jarak atau spasi karena terdapat string<<” ”;

17.  d=d*c
Nilai variabel d diperiksa, dan isi program akan dijalankan selama nilai masih merupakan kelipatan dari 3 sampai bernilai false.

18.  }
Semua statement (pernyataan) dalam badan for akan selesai dijalankan jika nilai variabel d bernilai false  dari pernyataan for(d<=100). Karena pada kelipatan 3 bernilai false maka lanjut pada statement berikutnya dengan adanya perintah endl.

19.  }
Semua statement ( pernyataan ) telah selesai dijalankan.


Program Membuat Tampilan Angka 1-100

#include<iostream.h>
            void main(){
                        for (int a= 1;a<=100;a++){
                        cout<<a<<" ";
                        }
            }      

Penjelasan Program :
1.       # include<iostream.h>
Berfungsi  untuk menampilakan input atau output yang akan digunakan pada perintah cout.

2.       void main(){
Untuk menampilkan statement (pernyataan)  baris suatu hasil perintah yang sedang dijalankan. Tanpa void main program yang akan di jalankan tidak akan menghasilkan output.

3.      for
Statement for berdungsi sebagai perulangan yang akan terus menerus menjalakan statement di dalam badan for sampai bernilai false.

4.      int a=1;
Program dijalankan dari baris pertama yaitu variabel  a yang di deklarasikan dan diberi nilai 1

5.       a<=100
Batasan perulangan yang terjadi di dalam for

6.      cout<<a<<” ”;
Mulai menjalankan statemen  di dalam badan for yaitu tampilkan output dari variabel a yang bernilai 1 . Kemudian kursor akan memberi jarak atau spasi karena terdapat string<<” ”;

7.      a=a++
Nilai a diperiksa, dan isi program akan dijalankan jika kondisi batasan bernilai true.

8.      }
Semua statement ( pernyataan ) dalam badan for akan selesai dijalankan jika nilai variabel a bernilai false  dari pernyataan for(a<=100).

9.      }
Semua statement ( pernyataan ) telah selesai dijalankan.