Senin, 13 Juni 2011

SEARCHING AND SHORTNG


Sorting adalah suatu proses pengurutan data yang sebelumnya disusun secara acak atau tidak teratur menjadi urut dan teratur menurut suatu aturan tertentu. Sorting dapat dibedakan menjadi dua jenis yaitu ascending dan descending. Ascending adalah pengurutan data dari kecil ke besar, sedangkan descending adalah pengurutan data dari besar ke kecil. Nah, ada banyak program sorting dalam C++, seperti bubble sort, selection sort, insertion sort, exchange sort, merge sort, quick sort, dan lain sebagainya. Kita akan bahas satu per satu. Kali ini kita akan bahas bubble sort. Metode bubble sort adalah metode yang mendasarkan penukaran 2 buah elemen untuk mencapai keadaan terurut yang diinginkan.

Lihat sytax bubble sort berikut ini:

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

int data[10],data2[10];
int n;

void tukar(int a, int b)
{
 int t;
 t = data[b];
 data[b] = data[a];
 data[a] = t;
}

void bubble_sort()
{
 for(int i=1;i<=n;i++)
 {
  for(int j=n; j>=i; j--)
  {
   if(data[j] < data[j-1]) tukar(j,j-1);
  }
 }
}
void main()
{
 cout<<"===PROGRAM BUBBLE SORT==="<<endl;

 //Input Data
 cout<<"Masukkan Jumlah Data : ";
 cin>>n;
 for(int i=1;i<=n;i++)
 {
  cout<<"Masukkan data ke "<<i<<" : ";
  cin>>data[i];
  data2[i]=data[i];
 }

 bubble_sort();

 cout<<"\n\n";
 //tampilkan data
 cout<<"Data Setelah di Sort : ";
 for(int i=1; i<=n; i++)
 {
  cout<<" "<<data[i];
 }
 cout<<"\n\nSorting Selesai";
 getch();
}
 
SELECTION SORT
1.       Algoritma
Deklarasi :
Data, n = integer
Deskripsi :
Data ß t
For i ß posisi + 1 to n do
If t [n] < kurang then
Kurang ç t [n]
End if
End for

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

Int data[10], data 2 [10];
Int n;
Int tukar [int a; int b]
{
Int t ;
t=data[b];
data[b]=data[a];
data[a]=t;
}
Void selection_sort()
{
Int posisi;i;j;
For (i=1; i<=n-1; i++)
{
Posisi=i;
For (j=i+1; j<=n; j++)
{
If (data[j]<data[posisi j]posisi=j);
If (posisi 1=i) tukar (posisi);
}
{
Int main()
{
Cout<<”masukkan jumlah data:”;
Cint >> n;
For (int i=1; i<=n; i++);
{
Cout<<”  “ data [i];
}
Cout<<”shorting selesai:”;
Getch
}

SORTING
PROGRAM
#include <cstdlib>
#include <iostream>

using namespace std;

class sorting{
      public:
          void sort();
          void sort1();
      private:
          int a[10];
          int cur,z,temp,cur2,temp2;
};

void sorting::sort(){
    cout<<"Masukan Data: ";
    cin>>z;
    for(int i=0;i<z;i++)
    {
        cout<<"Data ["<<i+1<<"]:";
        cin>>a[i];
    }
    for(int i=0;i<z;i++)
    {
        cur=i;
        for(int k=i+1;k<z;k++)
              {
                   if(a[cur]<a[k])
                   {
                        cur=k;
                   }
              } 
        temp=a[i];    
        a[i]=a[cur];
        a[cur]=temp;
    }  
    for(int i=0;i<z;i++)
    {
        cout<<" "<<a[i];
    }       
}

void sorting::sort1(){
    for(int i=0;i<z;i++)
    {
        cur=i;
        for(int k=i+1;k<z;k++)
              {
                   if(a[cur]>a[k])
                   {
                        cur=k;
                   }
              } 
        temp=a[i];    
        a[i]=a[cur];
        a[cur]=temp;
    }  
    for(int i=0;i<z;i++)
    {
        cout<<" "<<a[i];
    }       
}

int main(int argc, char *argv[])
{
    sorting x;
    x.sort();
    cout<<endl;
    x.sort1();
    cout<<endl;
   
    system("PAUSE");
    return EXIT_SUCCESS;
}


OUTPUT



PROGRAM IMPORT JELIOT
import jeliot.io.*;

public class sorting {

    public static void main() {
       int a[]=new int[10];
int cur,z,temp;

 System.out.print("Masukan Data");
        z=Input.readInt();
        for(int i=0;i<z;i++)
        {
            System.out.println("Data["+ i +"]:");
            a[i]=Input.readInt();
        }
        for(int i=0;i<z;i++)
        {
            cur=i;
            for(int k=i+1;k<z;k++)
            {
                if(a[cur]>a[k])
                {cur=k;}
            }
        temp=a[i];
        a[i]=a[cur];
        a[cur]=temp;
        }

        for(int i=0;i<z;i++)
        {
            System.out.print(a[i]);
        }
        for(int i=0;i<z;i++)
        {
            cur=i;
            for(int k=i+1;k<z;k++)
            {
                if(a[cur]<a[k])
                {cur=k;}
            }
        temp=a[i];
        a[i]=a[cur];
        a[cur]=temp;
        }

        for(int i=0;i<z;i++)
        {
            System.out.println();
            System.out.print(a[i]);
        }
    }
}

Tidak ada komentar:

Posting Komentar