Delphi for delphier

Sorting – Quick Sort

Tingkatan Pemula
Kategori Dasar
Sub Kategori Looping
Judul Pengurutan dengan Quick Sort
Oleh

 

Eko Indriyawan

Nama Eko Indriyawan
Domisili Surabaya – Darmo Satelit
Delphi Delphi 2007 for Win32
YM eko_elits
Email eko_elits@yahoo.com
Telp 031 – 605 384 36
   
Referensi http://delphi.about.com/od/objectpascalide/a/quicksort.htm
   

Tujuan

Mengajarkan kepada programmer pemula tentang pengurutan data dengan metode Quick Sort.

  spasi

Overview

Jika kita membuat program aplikasi yang berhubungan dengan data, maka kita sering kali harus melakukan proses pengurutan data. Pengurutan data merupakan suatu proses yang digunakan untuk mendapatkan nilai tertinggi atau terendah.

Pembahasan kali ini diberikan dengan materi yang sangat sederhana. Tujuannya adalah agar mudah dipahami dan dimengerti oleh programmer pemula. Kemudian diharapkan setelah anda membaca artikel ini dan mencobanya secara langsung anda bisa membuat program aplikasi lain yang lebih kompleks.

Untuk menambah pemantapan akan materi ini, silahkan anda baca link terkait dari artikel ini, semoga dengan semakin anda banyak wawasan secara tidak langsung akan membuat anda semakin paham akan penggunaan sorting secara tepat.

  spasi
  Struktur pengurutan :
  spasi
 

procedure QuickSort(var A: array of Integer; iLo, iHi: Integer) ;
var
Lo, Hi, Pivot, T: Integer;
begin
Lo := iLo;
Hi := iHi;
Pivot := A[(Lo + Hi) div 2];
repeat
while A[Lo] < Pivot do Inc(Lo) ;
while A[Hi] > Pivot do Dec(Hi) ;
if Lo <= Hi then
begin
T := A[Lo];
A[Lo] := A[Hi];
A[Hi] := T;
Inc(Lo) ;
Dec(Hi) ;
end;
until Lo > Hi;
if Hi > iLo then QuickSort(A, iLo, Hi) ;
if Lo < iHi then QuickSort(A, Lo, iHi) ;
end;

  spasi
Petunjuk :

Silahkan anda ikuti langkah – langkah berikut ini dengan pelan – pelan agar bisa berjalan dengan lancar sesuai dengan petunjuk yang sudah diberikan.

  spasi

Langkah 1

Buat program aplikasi baru.

   

Langkah 2

Tambahkan beberapa object kedalam Form

   
  ListBox1: TListBox;
ListBox2: TListBox;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Button1: TButton;
Edit1: TEdit;
Button2: TButton;
Button3: TButton;
  spasi

Langkah 3

Atur desainnya seperti berikut ditampilkan pada gambar form dibawah ini

   
 

umum0008.jpg

   
Langkah 4

Silahkan anda buat fungsi QuickSort. Untuk lebih jelasnya silahkan lihat potongan kode program dibawah ini.

   
 

procedure QuickSort(var A: array of Integer; iLo, iHi: Integer) ;

var

Lo, Hi, Pivot, T: Integer;

begin

Lo := iLo;
Hi := iHi;
Pivot := A[(Lo + Hi) div 2];

repeat

while A[Lo] < Pivot doInc(Lo) ;

while A[Hi] > Pivot doDec(Hi) ;

if Lo <= Hi then
begin

T := A[Lo];
A[Lo] := A[Hi];
A[Hi] := T;
Inc(Lo) ;
Dec(Hi) ;

end;

untilLo > Hi;

if Hi > iLo then QuickSort(A, iLo, Hi) ;
if Lo < iHi then QuickSort(A, Lo, iHi) ;

end;

   

Langkah 5

Deklarasikan array data pada bagian Private. Untuk lebih jelasnya silahkan anda lihat potongan kode program dibawah ini.

   
 

private
{ Private declarations }

Data : array of integer;

   

Langkah 6

Silahkan anda klik 2x tombol Tambah. Setelah itu anda lanjutkan dengan menuliskan kode program didalam event OnClick seperti terlihat pada potongan kode program dibawah ini.

   
 

procedure TForm1.Button1Click(Sender: TObject);
var
nilai : Integer;
begin

// Validasi inputan yang akan ditambahkan

if TryStrToInt(Edit1.Text,Nilai) then
ListBox1.Items.Add(IntToStr(nilai));

end;

   

Langkah 7

Silahkan anda klik 2x tombol Proses. Setelah itu anda lanjutkan dengan menuliskan kode program didalam event OnClick seperti terlihat pada potongan kode program dibawah ini.

  spasi
 

procedure TForm1.Button2Click(Sender: TObject);
var
indek : Word;
begin

// Menentukan panjang array

SetLength(Data,ListBox1.Items.Count) ;

// Pemasukan nilai ke array

for indek := 0 to ListBox1.Items.Count – 1 do
Data[indek] := StrToInt(ListBox1.Items[indek]);

// Proses pengurutan / sorting

QuickSort(data,Low(Data),High(Data));

// Kosongkan hasil

ListBox2.Items.Clear;

// Memasukkan nilai hasil

for indek := 0 to ListBox1.Items.Count – 1 do
ListBox2.Items.Add(IntToStr(data[indek]));

end;

  spasi

Langkah 8

Silahkan anda compile. Tekan tombol Ctrl + F9.

   
 

Tunggu beberapa saat… ( Sedang di cek kode programnya )

 

Apabila tidak muncul pesan error, berarti program yang anda buat telah berhasil dan silahkan anda tekan tombol F9 untuk menjalankan program aplikasinya.

  spasi
Langkah 9

Silahkan anda tekan tombol Proses

   
 

umum0009.jpg

   
 

Program sudah selesai anda buat. Sekarang silahkan anda tekan tombol Keluar

Semoga artikel ini bisa bermanfaat. Silahkan anda berikan informasi ini kepada teman – teman anda yang belum tahu.

Mari kita wujudkan kemajuan IT Indonesia bersama dengan teman – teman yang lain dengan Delphi sebagai media pemupuk kebersamaan.

  spasi
  spasi

Download

Sorting – Quick Sort

Silahkan anda download link diatas untuk mendapatkan contoh program aplikasi secara lengkap.

Ada beberapa masukan dan keluhan dari teman – teman, bahwa ada beberapa program contoh tidak bisa dijalankan dari delphi 7. Hal ini dikarenakan program contoh dibuat dengan menggunakan Delphi 2007 for win32.

Apabila anda menggunakan D7, sebaiknya anda mengikuti pandauan dari langkah – langkah yang sudah diberikan.

Atas perhatiannya, saya mengucapkan banyak terimakasih.

  spasi
Link terkait
Sorting – MySort  
   
Buku panduan
Dasar First Step To Be A Programmer
Menengah Pemrograman Database dengan Delphi dan MS SQL Server
Menengah Membangun database MLM
 
 
 

Jika anda mau berusaha dan punya semangat, jangan biarkan waktu anda lari begitu saja. By Eko Indriyawan

Blog di WordPress.com.

%d blogger menyukai ini: