*********************************************************************** var A : array[1..1000] of integer; // Array yang ingin di-sort N : integer; // Banyaknya data yang ingin di-sort procedure qsort(l,r:integer); // Quick sort - ascending (menaik) var i,j,x,buff : integer; begin i := l; j := r; x := A[(i+j) div 2]; while (i < j) do begin while (A[i] < x) do inc(i); // Bagian ini dapat diubah untuk menjadikannya descending while (x < A[j]) do dec(j); // Bagian ini dapat diubah untuk menjadikannya descending if (i <= j) then begin buff := A[i]; A[i] := A[j]; A[j] := buff; inc(i); dec(j); end; end; if (i < r) then qsort(i,r); if (l < j) then qsort(l,j); end; begin // Isi array A terlebih dahulu qsort(1,N); // Sort array A dari index 1 sampai N end. ***********************************************************************