Search This Blog

BubbleSort

>> 9.26.2008

Sebuah metode dalam bahasa Pascal yang paling sederhana dalam penyortiran.
Gunanya untuk mengurutkan bilangan dari besar ke kecil maupun kecil ke besar.


Padahal ini adalah cara tersimpel bin mudah. Oot nya Giri harus mempelajari
ini selama 1 bulan. Kyahahaha!!!!! (umumnya orang juga 5 menit dah paham)


Perhatian!
Mempelajari Script ini hanya untuk pemahaman! Metode BubbleSort terlalu berat dalam pengolahan data


Scriptnya begini:





program urut;


type
datakue=Array[1..5] of integer;
var
i,j,n,tmp : integer;
dataku : datakue;

writeln('masukkan banyak data (maks 5)');
read(n);

begin
writeln('masukkan data ke-', j,' :');
readln(dataku[j]);
end;


for j:=1 to n-1 do
begin
for i:=j to n do
begin
if dataku[j]>dataku[i] then
begin
tmp := dataku[j];
dataku[j] := dataku[i];
dataku[i] := tmp;
end;
end;
end;


writeln('data yang sudah terurut dari kecil ke besar:');
for j:= 1 to n do
begin
writeln(dataku[j]);
end;


readln();


end.







Penjelasan:


type

datakue=Array[1..5] of integer;


disini kita menggunakan Array sebagai penyimpanan data yang akan diurut. Banyaknya
data yang bisa disimpan bisa dilihat dalam banyak larik yang dicantumkan pada
deklarasi array [1..5], itu artinya data dimulai dari urutan pertama, kedua
ketiga, dst.

Misalnya :

[1..3] datanya a,b,c

Data ke -1 a

Data ke -2 b

Data ke -3 c


Kalau kita mendeklarasikan [0..2] datanya a,b,c

Data ke - 0 a

Data ke - 1 b

Data ke -2 c


Next!


i,j,n,tmp : integer;

dataku : datakue;


sudah biasa... deklarasi variabel... datakue yang sebagai type untuk array dimasukkan
dalam variabel dataku.Next!


read(n);

Menambah nilai pada n. Disini kita gunakan untuk banyak data. Karena dideklarasikan
pada array cuman sampai 5, jadinya maksimalnya 5. Next!


for j:=1 to n do

begin

writeln('masukkan data ke-', j,' :');

readln(dataku[j]);

end;


disini kita memasukkan data ke dalam larik. Liatin deh di readln(dataku[j]).
Disitu maksudnya kita memasukkan data dataku pada angka ke j. Karena kita melakukan
perulangan for j sampai ke n (asumsikan aja n itu 5 deh), jadinya perulangan
dari 1 sampai 5. data yang dimasukkan 1-5, gampang kan? Next!


for j:=1 to n-1 do

begin

for i:=j to n do

begin

if dataku[j]>dataku[i] then

begin

tmp := dataku[j];

dataku[j] := dataku[i];

dataku[i] := tmp;

end;

end;

end;


Ini dia script yang harus memutar otak Giri, mencoret-coret flowchart beratus-ratus
kali, baru paham deh, Gyahahaha!!!!

Disinilah intinya dari pengurutuan itu....

yuk bahas satu-satu...

for j:=1 to n-1 do

begin

for i:=j to n do

begin


disini kita mulai menggunakan perulangan untuk mengecek data satu persatu. misalnya
n=3 jadinya kalau kita masukkan ke algoritma

for j:=1 to 3 do

Maka perulangan yang diturunkan dimulai dari

(1,1), (1,2), (1,3)

(2,1), (2,2), (2,3)


jadi pengecekan bisa dimulai dari data ke-1 terhadap 1, data ke-1 terhadap
2, dst....


hayo... coba jawab kenapa pada for yang pertama menggunakan n-1?

karena bila kita menggunakan n, maka akan dilakukan pengecekan terhadap n-n
yang dianggap tidak perlu.


if dataku[j]>dataku[i] then

Disini kita mengecek terhadap data yang sebelumnya terhadap data yang dicek
(liat lagi di deklarasi perulangan), untuk mengurutkan data terkecil ke besar

misalnya (1,2). jadinya :


if dataku[1]>dataku[2] then


kalau misalnya isi data larik (5,3,1), jadinya if akan bernilai betul,
karena 5 lebih besar dari 3.


tmp := dataku[j];

dataku[j] := dataku[i];

dataku[i] := tmp;


Nah... disini kita akan melakukan proses yang namanya swapping alias
pertukaran.

Misalnya Cika pegang permen A, Bore pegang permen B.

Tompi membuat permen yang sama dengan Cika

Cika ngebuang permennya dan ngambil permen Bore

Bore ngambil permen Tompi.



Jadinya kan sekarang Cika megang permen B, dan Bore megang permen Tompi yang
sama persis kayak punya Cika yang pertama,yaitu A. Next!!!



writeln('data yang sudah terurut dari kecil ke besar:');

for j:= 1 to n do

begin

writeln(dataku[j]);

end;

Disini akan ditulis data-data yang sudah terurut pada larik. dimulai
dari data terkecil ke yang besar.


That's all!!

Btw, gimana kalau.....

Sekarang coba kamu bikin script untuk pengurutan dari besar ke kecil dengan
data yang diinput adalah sebagai berikut:

12,23,77,89,14,78,2,9

good luck!



0 orang ngomentarin:

Post a Comment

Yo...silahkan kasih commentnya...
Kamu juga bisa menambah emoticon kawan! cukup ketikkan kode emoticon pada daftar di atas

Picture

Picture

About This Blog

  © Blogger template Simple n' Sweet by Ourblogtemplates.com 2009

Back to TOP