24 Apr 2011

Array berdimensi dua

Operasi yang umumnya dilakukan menggunakan array adalah :
- Mengurutkan bilangan terbesar / terkecil (bubble sort)
- Seleksi data ( selection sort)
- Mengurutkan data dengan metode penyisipan(insertion sort)

Kali ini saya mencoba program mengurutkan data menggunakan metode "bubble sort".
metode pengurutan gelembung (bubble sort) mempunyai perilaku seperti gelembung di mana bila akan diurutkan naik, nilai yang besar akan naik (indeks besar) sementara nilai yang kecil akan turun (ke indeks yang kecil). Setiap data (data pertama) akan dibandingkan dengan data yang ada disebelahnya (dari data kedua sampai selesai). Bila data pertama lebih besar drai data yang sesudahnya, dilakukan penukaran tempat atau posisi data. demikian, sampai data tesebut berurut.
    Berikut contoh Algoritm pengurutan data "bubble sort"

  • Algoritma :     

                    Deklarasi :
                                larik = aray [1..100] of integer
                                i, a : byte
                                k    : larik
                                j, bantu : integer 
      
                    Deskripsi :
                    for i ß 1 to n-1 do
                    for j ß i+1 to n do
                    if x[i] > x[j] then // data sebelah kiri > kanan
        tukar(x[i], x[j])
        endif
                    endfor
                                endfor
  • Data Uji :        

  Data awal :
[8, 4, 7, 3, 1, 2, 6, 5]

  fase 1
[1, 8, 7, 4, 3, 2, 6, 5]

  fase 2
[1, 2, 8, 7, 4, 3, 6, 5]

  fase 3
[1, 2, 3, 8, 7, 4, 6, 5]

  fase 4
[1, 2, 3, 4, 8, 7, 6, 5]

  fase 5
[1, 2, 3, 4, 5, 8, 7, 6]

  fase 6
[1, 2, 3, 4, 5, 6, 8, 7]

  fase 7
[1, 2, 3, 4, 5, 6, 7, 8]

  fase 8
[1, 2, 3, 4, 5, 6, 7, 8]


  • Bahasa C++
#include <iostream.h>
#include <conio.h>

void main()
{
   int data[10];
   int i, j, tmp;
   cout<<"Program Mengurutkan Data"<<endl;
   cout<<"Dengan Metode Bubble Sort"<<endl;
   for(i=0; i<10; i++)
   {
       cout<<"Masukkan data ke "<<(i+1)<<" : ";
      cin>>data[i];
   }

   clrscr();
   cout<<"Data sebelum diurutkan : "<<endl;
   for(i=0; i<10; i++)
   {
       cout<<data[i]<<" ";
   }
   cout<<endl;
for(i=0; i<9; i++)
   {
       for(j=i+1; j<10; j++)
      {
          if(data[i]>data[j])
         {
             tmp = data[i];
            data[i] = data[j];
            data[j] = tmp;
         }
      }
   }

   cout<<"Data setelah diurutkan : "<<endl;
   for(i=0; i<10; i++)
   {
       cout<<data[i]<<" ";
   }
   getch();
}

Array


Macam -macam array :
Array berdimensi satu
Array berdimensi dua
Array berdimensi banyak

 Array berdimensi satu"
Array adalah kumpulan data bertipe sama yang menggunakan nama sama. Dengan mengggunakan array, sejumlah variabel dapat memakai nama yang sama. Antara satu variabel dengan variabel lain di dalam array dibedakan berdasarkan "subscript".
Sebuah subscript berupa bilangan di dalam kurung siku.
Melalui subscript inilah masing-masing elemen array dapat diakses.
Misalkan kita ingin membuat program untuk mencari nilai rata-rata dari 5 buah data nilai yang diinputkan. Pada program ini kita memerlukan 5 buah variabel yang berbeda-beda untuk menyimpan 5 buah nilai.
Contoh programnya sebagai berikut :

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

void main()
{
   float nilai[5];
   float jumlah, rata2;
   cout<<"Program Menghitung Nilai Rata-rata"<<endl;
   for(int i=0; i<5; i++)
   {
       cout<<"Masukkan nilai ke "<<(i+1)<<" : ";
       cin>>nilai[i];
   }
   jumlah = 0;
   for(int i=0; i<5; i++)
   {
       jumlah = jumlah + nilai[i];
   }
   rata2 = jumlah / 5;
   cout<<"Nilai rata-rata adalah "<<rata2<<endl;
   getch();
}