.

Senin, 23 Mei 2011

Artikel Bubble Sort c++



Bubble sort merupakan salah satu jenis sorting. Bubble sort ada metode sorting termudah.
Diberikan nama “bubble” karena konsep dari algoritmanya diibaratkan seperti gelembung air untuk elemen struktur data yang seharusnya pada posisi awal. Bubble sort mengurut data dengan cara membandingkan elemen sekarang dengan elemen berikutnya. Dimana cara kerjanya adalah dengan berulang-ulang melakukan proses looping ( perulangan) terhadap elemen-elemen struktur data yang belum diurutkan. Nilai dari masing-masing elemen akan dibandingkan selama proses looping tersebut .jika selama proses looping tersebut ditemukan ada urutannya tidak sesuai dengan permintaan, maka akan dilakukan proses pemukaran (swap). Sesungguhnya secara tidak langsung, algoritma dari program ini seolah-olah menggeser satu demi satu elemen dari kanan ke kiri atau dari kiri ke kanan tergantung pada jenis pengurutannya. Perlu diketahui, jenis pengurutan sorting ada 2 yaitu asscending dan descending. Dimana asscending itu mengurut data dari kecil ke besar dan descending itu mengurut data dari besar ke kecil. Jika semua elemen sudah diperiksa oleh fungsi bubble sort, dan tidak ada pertukaran lagi atau semua nilai sudah sesuai, maka saat itu program bubble sort akan berhenti bekerja. Misalkan jika ada data 22 10 15 3 8 2. Data tersebut masih dalam keadaan acak. Maka ilustrasi pengurutan dengan bubble sortnya akan terlihat seperti pada table dibawah ini :
LANGKAH 1 :
1 2 3 4 5 6 POSISI DATA
22 10 15 3 8 2 Data Awal
22 10 15 3 2 8 tukar data 5 dengan 6
22 10 15 2 3 8 tukar data 4 dengan 3
22 10 2 15 3 8 tukar data 3 dengan 2
22 2 10 15 3 8 tukar data 2 dengan 1
2 22 10 15 3 8 LANGKAH 1 SELESAI
LANGKAH 2 :
1 2 3 4 5 6 POSISI DATA
2 22 10 15 3 8 Data Langkah 1 Akhir
2 22 10 3 15 8 tukar data 4 dengan 3
2 22 3 10 15 8 tukar data 3 dengan 2
2 3 22 10 15 8 LANGKAH 2 SELESAI
LANGKAH 3 :
1 2 3 4 5 6 POSISI DATA
2 3 22 10 15 8 Data Langkah 2 Akhir
2 3 22 10 8 15 tukar data 5 dengan 6
2 3 22 8 10 15 tukar data 4 dengan 3
2 3 8 22 10 15 LANGKAH 3 SELESAI
LANGKAH 4 :
1 2 3 4 5 6 POSISI DATA
2 3 8 22 10 15 Data Langkah 3 Akhir
2 3 8 22 10 15 tukar data 5 dengan 4
2 3 8 10 22 15 LANGKAH 4 SELESAI
LANGKAH 5 :
1 2 3 4 5 6 POSISI DATA
2 3 8 10 22 15 Tukar data 5 dengan 6
2 3 8 10 15 22 TERURUT

CATATAN :
Sebelum dilakukan Proses penukaran data pada penjelasan tabel diatas, terlebih dahulu didahului oleh proses perbandingan. dimana perbandingan datanya tergantung pada jenis sort nya, pada penjelasan tabel diatas, saya menggunakan pengurutan data secara accending. sehingga, perbandinganya menjadi jika data n > data n+1 maka ditukar, selama tidak memenuhi statemen itu, maka data tidak akan ditukar.


Algoritma dari bubble sort



   Prosedur pertukaran data

Procedure tukar (var a,b:word); Var c:word; Begin c:=a; a:=b; b:=c; End;
prosedur bubble sort dengan jenis sort accending
Procedure asending_Buble(var data:array; jmldata:integer); Var I,j:integer; Begin for i:=2 to jmldata do for j:=jmldata downto I do if data[j]< data{j-1] then tukardata(data[j], data[j-1]) End;
Prosedur Bubble sort secara descending
Procedure decending_Buble(var data:array; jmldata:integer); Var I,j:integer; Begin for i:=2 to jmldata do for j:=jmldata downto I do if data[j] >data{j-1] then tukardata(data[j], data[j-1]) End;
download Contoh Program yang sudah menggunakan C++ dengan mengklik DISINI.

NAMA I GST AG NGR DHARMA ATMAJA
NIM 080010312
KELAS O_081

Tidak ada komentar:

Posting Komentar

free counters