Sort

Posted: 28 June 2010 in terbaik

NAMA           : SUWARDIWANSYAH

NIM                : 09102209

METODE GELEMBUNG (BUBLE SORT)

DAN

METODE SELEKSI (SELECTION SORT)

METODE GELEMBUNG (BUBLE SORT)

Disebut juga dengan metode Penukaran (Exchange Sort), yaitu metode yang mendasarkan pada penukaran elemen untuk mencapai keadaan urut yang diinginkan.

Algoritma Metode gelembung :

– langkah 1 : Baca vektor yang akan diurutkan (dalam program utama)

– langkah 2 : Kerjakan langkah 2 untuk i = 1 sampai N-1

– langkah 3 : Kerjakan langkah 3 untuk j = 1 sampai N- i

– langkah 4 : Tes apakah A[j] > A[j +1] ? Jika ya, tukarkan nilai kedua elemen ini

– langkah 5 : Selesai

PROGRAM ;

Uses Crt;

TYPE ArrInt = array [1..100] of integer;

PROCEDURE Tukar(var a,b : integer);

var Bantu : integer;

begin

Bantu := a;

a := b;

b := Bantu;

end;

PROCEDURE BubleSort(var X : ArrInt; N : word);

var i, j : word;

begin

for i:=1 to N-1 do

for j := 1 to N-i do

if x[j] > x[j+1] then

Tukar(x[j], x[j+1]) ;

end;

Var

Data: ArrInt ;

i, j, n: integer ;

Begin

clrscr;

Writeln(‘Nama  : Suwardiwansyah’);

Writeln(‘NIM   : 09102209’);

writeln;

writeln(‘Masukkan data anda !’);writeln;

write(‘Berapakah Banyak data anda ? :’);readln(n);

writeln(‘Silakan masukkan data Anda !’);

for i:=1 to n do

begin

Write(‘Data ke-‘,i,’ = ‘);readln(data[i]);

end;

BubleSort(data,n);

write(‘Hasil Pengurutan data dengan BubleSort : ‘);

for i:=1 to n do

write(data[i]:3);

readln;

end.

Waktu Dijalankan :


METODE SELEKSI (SELECTION SORT)

Masukkan dinyatakan sebagai vektor misal vektor A (belum terurut), dan N (misal banyak elemen yang akan diurutkan). Keluaran adalah vektor A yang telah terurut.

Algoritma metode seleksi :

– langkah 1 : Baca vektor yang akan diurutkan (dalam program utama)

– langkah 2 : Kerjakan langkah 2 sampai 4 untuk i = 1 sampai N -1

– langkah 3 : Tentukan awal = i , kerjakan langkah 3 untuk j = i +1 sampai N

– langkah 4 : (Mencari data terkecil) Tes : apakah A[awal] > A[j], jika ya maka ubah awal = j

– langkah 5 : Tukarkan nilai A[awal] dengan A[i]

– langkah 6 : selesai

PROGRAM;

USES CRT;

TYPE ArrInt = array [1..100] of real ;

PROCEDURE Tukar(var a,b : real);

var Bantu : real;

begin

Bantu := a;

a := b;

b := Bantu;

end;

PROCEDURE SelectionSort(var X : ArrInt; N : integer);

var i,j : integer;

begin

for i:=1 to N-1 do

for j := i+1 to N do

if x[i] > x[j] then

Tukar(x[i],x[j]);

end;

VAR

Data : ArrInt;

i,j,n : integer;

BEGIN

clrscr;

Writeln(‘Nama : Suwardiwansyah’);

Writeln(‘NIM  : 09102209’);

writeln;

Writeln(‘Masukkan data anda !’);writeln;

Write(‘Berapakah Banyak data anda ? :’);readln(n);

writeln(‘Silakan masukkan data Anda!’);

for i:=1 to n do

begin

Write(‘Data ke-‘,i,’ = ‘);readln(data[i]);

end;

SelectionSort(data,n);

for i:=1 to n do

write(‘(‘,data[i]:4:2,’),’);

readln;

end.

Waktu Dijalankan :


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s