1578 3664 1 PB
1578 3664 1 PB
ABSTRAK
Konsep pengurutan (sorting) merupakan salah satu bagian dasar dari algoritma yang
berhubungan dengan struktur data. Beberapa algoritma pengurutan yang dikenal
antara lain Bubble Sort, Quick Sort, Merge Sort, Heap Sort, Insersion Sort, dan Radix
Sort, melakukan pengurutan data dengan mengubah kedudukan data awal.
Penelitian lain melakukan pengurutan data dengan menggunakan tiga buah array
sebagai penyimpan data awal, penyimpan data indeks data terurut, dan penyimpan
tanda larangan (Machudor, 2012). Pada penelitian ini dikembangkan algoritma
sorting dengan memanfaatkan konstruksi indeks array untuk melakukan pengurutan.
Algoritma ini memerlukan dua array, yaitu: array data awal (X) dan array indeks (Y)
dengan panjang masing-masing array sebesar n. Hasil pengurutan dapat dilakukan
dengan menampilkan data berdasarkan indeks yang telah terurut.
(Y[n]<>null).
b:=1 to
length(Y)
X[Y[a]]
maxIndex=a;
end if
b
maxIndex=a;
Algoritma dan Flowchart flagFirst=0;
a
Algoritma
Secara langkah-langkah algoritma yang Y[indexY]=maxIndex;
Inc(indexY);
telah dijelaskan pada sub B, secara
keseluruhan algoritma tersebut
dituliskan sebagai berikut:
X array X
Implementasi
Y array Y
n length (X) Dari algoritma yang telah dijelaskan
indexY 1 sebelumnya, dibuat program dalam
while (Y[n]<>null) do bahasa Perl dengan menggunakan
maxIndex 0; flagFirst1; compiler perl versi 5.12.3. Berikut listing
for a:=1 to n do
program yang telah dibuat:
flagSkip0;
for b:=1 to
use strict;
length(Y) do
print "input: ";
if Y[b]=a
my $line=<STDIN>;
then flagSkip:=1;
end do
46
ISBN No. 978-602-98559-1-3 Prosiding SNSMAIP III-2012
i 1 2 3 4 5 6 7 8 9 10
i 1 2 3 4 5 6 7 8 9 10
X[i] 8 9 3 6 7 2 9 5 8 7
Y[i] 2 7 1 9 5 10 4 8 3 6
i 1 2 3 4 5 6 7 8 9 10
max=8, index=1
47
ISBN No. 978-602-98559-1-3 Prosiding SNSMAIP III-2012
48