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"
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();
}
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
larik = aray [1..100] of integer
i, a : byte
k : larik
j, bantu : integer
Deskripsi :
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();
}
Tidak ada komentar:
Posting Komentar