Lima Metode Sorting dan Aplikasinya
Tugas Kuliah Algoritma dan Struktur Data
Ratna Mustika Sari
Manajemen Informatika
Politeknik Negeri Lampung
Jln.Soekarno-Hatta 10 Bandar Lampung, Lampung
Ratnamustikas.rms@gmail.com
Abstract— Paper ini membahas dan mengkaji implementasi
beberapa metode sorting yaitu Bubble Sort, Slection Sort, Insert
Sort, Merge Sort, dan Quick Sort yang disertai aplikasinya yang
digunakan untuk membuat sebuah program.
Index Terms— Algoritma, Bubble Sort, Slection Sort, Insert
Sort, Merge Sort, Quick Sort (key words)
I. INTRODUCTION OF SORTING
Sorting adalah proses menyusun elemen – elemen dengan
tata urut tertentu dan proses tersebut terimplementasi dalam
bermacam aplikasi. Kita ambil contoh pada aplikasi
perbankan. Aplikasi tersebut mampu menampilkan daftar
account yang aktif.
Hampir seluruh pengguna pada sistem akan memilih
tampilan daftar berurutan secara ascending demi kenyamanan
dalam penelusuran data.
Beberapa macam algoritma sorting telah dibuat karena
proses tersebut sangat mendasar dan sering digunakan. Oleh
karena itu, pemahaman atas algoritma – algoritma yang ada
sangatlah berguna.
II. TYPE METODE SHORTING
1. Bubble Sort
2. Selection Sort (Ascending):
3. Insert short
4. Merge sort (metode penggabungan)
5. Quick Sort
III. EASE OF USE METODE SHORTING
1. Bubble Sort
Konsep Buble Sort yaitu Metode pengurutan
gelembung (Bubble Sort) diinspirasikan oleh
gelembung sabun yang berada dipermukaan air.
Karena berat jenis gelembung sabun lebih ringan
daripada berat jenis air, maka gelembung sabun selalu
terapung ke atas permukaan. Prinsip di atas dipakai
pada pengurutan gelembung.Bubble sort (metode
gelembung) adalah metode/algoritma pengurutan
dengan dengan cara melakukan penukaran data dengan
tepat disebelahnya secara terus menerus sampai bisa
dipastikan dalam satu iterasi tertentu tidak ada lagi
perubahan. Jika tidak ada perubahan berarti data sudah
terurut. Disebut pengurutan gelembung karena masing-
masing kunci akan dengan lambat menggelembung ke
posisinya yang tepat
2. Selection Sort (Ascending)
Pengurutan dilakukan dengan memilih elemen terbesar
dan menempatkan pada posisinya,kemudian mencari
element terbesar berikutnya dan menempatkan pada
tempatnya, dan seterusnya.
3. Insert short
Data dicek satu per satu mulai dari yang kedua sampai
dengan yang terakhir. Apabila ditemukan data yang
lebih kecil daripada data sebelumnya, maka data
tersebut disisipkan pada posisi yang sesuai. Akan lebih
mudah apabila membayangkan pengurutan kartu.
Pertama-tama anda meletakkan kartu-kartu tersebut
di atas meja, kemudian melihatnya dari kiri ke kanan.
Apabila kartu di sebelah kanan lebih kecil daripada
kartu di sebelahkiri, maka ambil kartu tersebut dan
sisipkan di tempat yang sesuai.
4. Merge sort (metode penggabungan)
Metode penggabungan biasanya digunakan pada
pengurutan berkas. Prinsip dari metode penggabungan
sebagai berikut : mula-mula diberikan dua kumpulan
data yang sudah dalamkeadaan urut. Kedua kumpulan
data tersebut harus dijadikan satu table sehingga dalam
keadaan urut.
5. Quick Sort
Algoritma sortir yang efisien yang ditulis oleh C.A.R.
Hoare pada 1962. Dasar strateginya adalah “memecah
dan menguasai”. Quicksort dimulai dengan menscan
daftar yang disortir untuk nilai median. Nilai ini, yang
disebut tumpuan (pivot), kemudian dipindahkan ke
satu sisi pada daftar dan butir-butir yang nilainya lebih
besar dari tumpuan di pindahkan ke sisi lain.
IV. PREPARE YOUR METODE
 Selection Sort
Proses pengurutan dengan menggunakan metode selection sort
secara terurut naik adalah :
1. Mencari data terkecil dari data pertama sampai data
terakhir, kemunian di tukar posisinya dengan data pertama.
2. mencari data terkecil dari data kedua sampai data
terakhir, kemudian di tukar dengan posisinya dengan data
kedua.
3. mencari data terkecil dari data ketiga sampai data
terakhir, kemudian di tukar posisinya dengan data ketiga
4. dan seterusnya sampai semua data turut naik. apabila
terdapat n buah data yang akan di urutkan, maka
membutukan (n - 1) langkah pengurutan,dimana data
terakhir yaitu data ke-n tidak perlu di urutkan karena
hanya tinggal satu satunya.
Contoh:
Proses 1
0 1 2 3 4 5
10 51 5 7 9 8
Pembanding Posisi
10<51 0
10>5 (tukar idx) 2
Tukarkan data ke-0 (10) dengan data ke-2 (5)
0 1 2 3 4 5
5 51 10 7 9 8
Proses 2
0 1 2 3 4 5
5 51 10 7 9 8
Pembanding Posisi
51>10(tukar idx) 1
10>7 (tukar idx) 7
Tukar data ke-1 (51) dengan data ke-3 (7)
0 1 2 3 4 5
5 7 10 51 9 8
Proses 3
0 1 2 3 4 5
5 7 10 51 9 8
Pembanding Posisi
10<51 2
10>9 (tukar idx) 2
Tukar data ke-2 (10) dengan data ke-5 (8)
0 1 2 3 4 5
5 7 8 51 9 10
Proses 4
0 1 2 3 4 5
5 7 8 51 9 10
Pembanding Posisi
51>9 (tukar idx) 3
Tukarkan data ke-3 (51) dengan data ke-4 (9)
0 1 2 3 4 5
5 7 8 9 51 10
Proses 5
0 1 2 3 4 5
5 7 81 9 51 10
Pembanding Posisi
51>10 (tukar idx) 4
Tukarkan data ke-4 (51) dengan data ke-5 (10)
0 1 2 3 4 5
5 7 8 9 10 51
Hasil: 5 7 8 9 10 51
 Bubble Sort
Bubble sort (metode gelembung) adalah
metode/algoritma pengurutan dengan dengan cara
melakukan penukaran data dengan tepat disebelahnya
secara terus menerus sampai bisa dipastikan dalam
satu iterasi tertentu tidak ada lagi perubahan.Jika
tidak ada perubahan berarti data sudah terurut.
Disebut pengurutan gelembung karena masing-
masing kunci akan dengan lambat menggelembung
ke posisinya yang tepat
Contoh :
Proses 1
10 51 5 7 9 8
10 51 5 7 8 9
10 51 5 7 8 8
10 51 5 7 9 8
10 5 51 7 9 8
5 10 5 7 9 8
Proses2
5 10 51 7 9 8
5 10 51 7 8 9
5 10 51 7 9 8
5 10 7 51 9 8
5 7 10 7 9 8
Proses3
5 7 10 51 9 8
5 7 10 51 8 9
5 7 10 8 51 8
5 7 8 10 9 8
Proses4
5 7 8 10 51 9
5 7 8 10 9 51
5 7 8 9 10 9
Implementasi pada turbo pascal
program arh_bsort_menaik;
uses crt;
var m,n,o : integer;
a: array [1..100] of integer;
procedure buble;
var z: integer;
begin
for m:= 1 to n-1 do
begin
for o:= n downto m+1 do
begin
if a[o] < a[o-1] then
begin
z:= a[o];
a[o]:= a[o-1];
a[o-1]:=z;
end;
end;
end;
end;
begin
write('masukkan banyak larik (maks 100) : ');
readln(n);
for m:= 1 to n do
begin
write('A[',m,'] : '); readln(a[m]);
end;
buble;
write('data setelah diurutkan : ');
for o:=1 to n do
write (a[o],' ');
end.
 Metode Penyisipan Langsung (Insertion Sort)
Metodenya adalah Data dicek satu per satu
mulai dari yang kedua sampai dengan yang terakhir.
Apabila ditemukan data yang lebih kecil daripada
data sebelumnya, maka data tersebut disisipkan
pada posisiyang sesuai. Akan lebih mudah apabila
membayangkan pengurutan kartu.Pertama-tama anda
meletakkan kartu-kartu tersebut di atas meja,
kemudian melihatnya dari kiri ke kanan. Apabila
kartu di sebelah kanan lebih kecil daripada kartu di
sebelah kiri, maka ambil kartu tersebut dan sisipkan
di tempat yang sesuai.
Contoh:
Implementasi pada turbo pascal
uses crt;
var
jmldata,a,b:integer;
data,x:array [1..100] of integer;
procedure asc_insert;
var temp:integer;
begin
For a := 2 to jmldata do
Begin
Temp :=data[i];
b := a-1;
while (data[b] > temp) and (b>0) do
begin
data[b+1] := data[b];
dec(b);
end;
data[b+1]:=temp;
end;
writeln('data yang telah di urut');
for a:=1 to jmldata do
begin
write(data[a],' ');
end;
readln;
end;
begin
clrscr;
write('masukkan berapa angka yang akan di urut: ');
readln(jmldata);
for a:=1 to jmldata do
begin
write('masukkan angka ke-',a,':');
readln(data[a]);
end;
asc_insert;
readln;
end.
 Metode Penggabungan (Merge Sort)
Metode penggabungan biasanya digunakan pada
pengurutan berkas. Prinsip darimetode penggabungan
sebagai berikut : mula-mula diberikan dua kumpulan
data yangsudah dalam keadaan urut. Kedua
kumpulan data tersebut harus dijadikan satu table
sehingga dalam keadaan urut.
Contoh:
 Quick Sort
Algoritma sortir yang efisien yang ditulis oleh
C.A.R. Hoare pada 1962. Dasar strateginya adalah
“memecah dan menguasai”. Quicksort dimulai
dengan menscan daftar yang disortir untuk nilai
median. Nilai ini, yang disebut tumpuan (pivot),
kemudian dipindahkan ke satu sisi pada daftar dan
butir-butir yang nilainya lebih besar dari tumpuan di
pindahkan ke sisi lain.
Contoh
DAFTAR PUSTAKA
 Septadi, arif putra. “Analisi Algoritma Insertion Sort,
Marge Sort dan Implementasinya Dalam bahasa
pemrograman C++”. eprints.unsri.ac.id.diakses pada
1 mei 2015.
 Irawan, agus.”StrukturData”,
http://agusjembung.blogspot.com.Diaksespada 1
mei 2015

ratna mustika sari

  • 1.
    Lima Metode Sortingdan Aplikasinya Tugas Kuliah Algoritma dan Struktur Data Ratna Mustika Sari Manajemen Informatika Politeknik Negeri Lampung Jln.Soekarno-Hatta 10 Bandar Lampung, Lampung Ratnamustikas.rms@gmail.com Abstract— Paper ini membahas dan mengkaji implementasi beberapa metode sorting yaitu Bubble Sort, Slection Sort, Insert Sort, Merge Sort, dan Quick Sort yang disertai aplikasinya yang digunakan untuk membuat sebuah program. Index Terms— Algoritma, Bubble Sort, Slection Sort, Insert Sort, Merge Sort, Quick Sort (key words) I. INTRODUCTION OF SORTING Sorting adalah proses menyusun elemen – elemen dengan tata urut tertentu dan proses tersebut terimplementasi dalam bermacam aplikasi. Kita ambil contoh pada aplikasi perbankan. Aplikasi tersebut mampu menampilkan daftar account yang aktif. Hampir seluruh pengguna pada sistem akan memilih tampilan daftar berurutan secara ascending demi kenyamanan dalam penelusuran data. Beberapa macam algoritma sorting telah dibuat karena proses tersebut sangat mendasar dan sering digunakan. Oleh karena itu, pemahaman atas algoritma – algoritma yang ada sangatlah berguna. II. TYPE METODE SHORTING 1. Bubble Sort 2. Selection Sort (Ascending): 3. Insert short 4. Merge sort (metode penggabungan) 5. Quick Sort III. EASE OF USE METODE SHORTING 1. Bubble Sort Konsep Buble Sort yaitu Metode pengurutan gelembung (Bubble Sort) diinspirasikan oleh gelembung sabun yang berada dipermukaan air. Karena berat jenis gelembung sabun lebih ringan daripada berat jenis air, maka gelembung sabun selalu terapung ke atas permukaan. Prinsip di atas dipakai pada pengurutan gelembung.Bubble sort (metode gelembung) adalah metode/algoritma pengurutan dengan dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan. Jika tidak ada perubahan berarti data sudah terurut. Disebut pengurutan gelembung karena masing- masing kunci akan dengan lambat menggelembung ke posisinya yang tepat 2. Selection Sort (Ascending) Pengurutan dilakukan dengan memilih elemen terbesar dan menempatkan pada posisinya,kemudian mencari element terbesar berikutnya dan menempatkan pada tempatnya, dan seterusnya. 3. Insert short Data dicek satu per satu mulai dari yang kedua sampai dengan yang terakhir. Apabila ditemukan data yang lebih kecil daripada data sebelumnya, maka data tersebut disisipkan pada posisi yang sesuai. Akan lebih mudah apabila membayangkan pengurutan kartu. Pertama-tama anda meletakkan kartu-kartu tersebut di atas meja, kemudian melihatnya dari kiri ke kanan. Apabila kartu di sebelah kanan lebih kecil daripada kartu di sebelahkiri, maka ambil kartu tersebut dan sisipkan di tempat yang sesuai. 4. Merge sort (metode penggabungan) Metode penggabungan biasanya digunakan pada pengurutan berkas. Prinsip dari metode penggabungan sebagai berikut : mula-mula diberikan dua kumpulan data yang sudah dalamkeadaan urut. Kedua kumpulan data tersebut harus dijadikan satu table sehingga dalam keadaan urut. 5. Quick Sort Algoritma sortir yang efisien yang ditulis oleh C.A.R. Hoare pada 1962. Dasar strateginya adalah “memecah dan menguasai”. Quicksort dimulai dengan menscan daftar yang disortir untuk nilai median. Nilai ini, yang disebut tumpuan (pivot), kemudian dipindahkan ke satu sisi pada daftar dan butir-butir yang nilainya lebih besar dari tumpuan di pindahkan ke sisi lain.
  • 2.
    IV. PREPARE YOURMETODE  Selection Sort Proses pengurutan dengan menggunakan metode selection sort secara terurut naik adalah : 1. Mencari data terkecil dari data pertama sampai data terakhir, kemunian di tukar posisinya dengan data pertama. 2. mencari data terkecil dari data kedua sampai data terakhir, kemudian di tukar dengan posisinya dengan data kedua. 3. mencari data terkecil dari data ketiga sampai data terakhir, kemudian di tukar posisinya dengan data ketiga 4. dan seterusnya sampai semua data turut naik. apabila terdapat n buah data yang akan di urutkan, maka membutukan (n - 1) langkah pengurutan,dimana data terakhir yaitu data ke-n tidak perlu di urutkan karena hanya tinggal satu satunya. Contoh: Proses 1 0 1 2 3 4 5 10 51 5 7 9 8 Pembanding Posisi 10<51 0 10>5 (tukar idx) 2 Tukarkan data ke-0 (10) dengan data ke-2 (5) 0 1 2 3 4 5 5 51 10 7 9 8 Proses 2 0 1 2 3 4 5 5 51 10 7 9 8 Pembanding Posisi 51>10(tukar idx) 1 10>7 (tukar idx) 7 Tukar data ke-1 (51) dengan data ke-3 (7) 0 1 2 3 4 5 5 7 10 51 9 8 Proses 3 0 1 2 3 4 5 5 7 10 51 9 8 Pembanding Posisi 10<51 2 10>9 (tukar idx) 2 Tukar data ke-2 (10) dengan data ke-5 (8) 0 1 2 3 4 5 5 7 8 51 9 10 Proses 4 0 1 2 3 4 5 5 7 8 51 9 10 Pembanding Posisi 51>9 (tukar idx) 3 Tukarkan data ke-3 (51) dengan data ke-4 (9) 0 1 2 3 4 5 5 7 8 9 51 10 Proses 5 0 1 2 3 4 5 5 7 81 9 51 10 Pembanding Posisi 51>10 (tukar idx) 4 Tukarkan data ke-4 (51) dengan data ke-5 (10) 0 1 2 3 4 5 5 7 8 9 10 51 Hasil: 5 7 8 9 10 51  Bubble Sort Bubble sort (metode gelembung) adalah metode/algoritma pengurutan dengan dengan cara melakukan penukaran data dengan tepat disebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan.Jika tidak ada perubahan berarti data sudah terurut. Disebut pengurutan gelembung karena masing- masing kunci akan dengan lambat menggelembung ke posisinya yang tepat Contoh : Proses 1 10 51 5 7 9 8 10 51 5 7 8 9 10 51 5 7 8 8 10 51 5 7 9 8 10 5 51 7 9 8 5 10 5 7 9 8 Proses2 5 10 51 7 9 8 5 10 51 7 8 9 5 10 51 7 9 8 5 10 7 51 9 8 5 7 10 7 9 8 Proses3 5 7 10 51 9 8 5 7 10 51 8 9 5 7 10 8 51 8 5 7 8 10 9 8
  • 3.
    Proses4 5 7 810 51 9 5 7 8 10 9 51 5 7 8 9 10 9 Implementasi pada turbo pascal program arh_bsort_menaik; uses crt; var m,n,o : integer; a: array [1..100] of integer; procedure buble; var z: integer; begin for m:= 1 to n-1 do begin for o:= n downto m+1 do begin if a[o] < a[o-1] then begin z:= a[o]; a[o]:= a[o-1]; a[o-1]:=z; end; end; end; end; begin write('masukkan banyak larik (maks 100) : '); readln(n); for m:= 1 to n do begin write('A[',m,'] : '); readln(a[m]); end; buble; write('data setelah diurutkan : '); for o:=1 to n do write (a[o],' '); end.  Metode Penyisipan Langsung (Insertion Sort) Metodenya adalah Data dicek satu per satu mulai dari yang kedua sampai dengan yang terakhir. Apabila ditemukan data yang lebih kecil daripada data sebelumnya, maka data tersebut disisipkan pada posisiyang sesuai. Akan lebih mudah apabila membayangkan pengurutan kartu.Pertama-tama anda meletakkan kartu-kartu tersebut di atas meja, kemudian melihatnya dari kiri ke kanan. Apabila kartu di sebelah kanan lebih kecil daripada kartu di sebelah kiri, maka ambil kartu tersebut dan sisipkan di tempat yang sesuai. Contoh:
  • 4.
    Implementasi pada turbopascal uses crt; var jmldata,a,b:integer; data,x:array [1..100] of integer; procedure asc_insert; var temp:integer; begin For a := 2 to jmldata do Begin Temp :=data[i]; b := a-1; while (data[b] > temp) and (b>0) do begin data[b+1] := data[b]; dec(b); end; data[b+1]:=temp; end; writeln('data yang telah di urut'); for a:=1 to jmldata do begin write(data[a],' '); end; readln; end; begin clrscr; write('masukkan berapa angka yang akan di urut: '); readln(jmldata); for a:=1 to jmldata do begin write('masukkan angka ke-',a,':'); readln(data[a]); end; asc_insert; readln; end.  Metode Penggabungan (Merge Sort) Metode penggabungan biasanya digunakan pada pengurutan berkas. Prinsip darimetode penggabungan sebagai berikut : mula-mula diberikan dua kumpulan data yangsudah dalam keadaan urut. Kedua kumpulan data tersebut harus dijadikan satu table sehingga dalam keadaan urut. Contoh:  Quick Sort Algoritma sortir yang efisien yang ditulis oleh C.A.R. Hoare pada 1962. Dasar strateginya adalah “memecah dan menguasai”. Quicksort dimulai dengan menscan daftar yang disortir untuk nilai median. Nilai ini, yang disebut tumpuan (pivot), kemudian dipindahkan ke satu sisi pada daftar dan butir-butir yang nilainya lebih besar dari tumpuan di pindahkan ke sisi lain. Contoh
  • 5.
    DAFTAR PUSTAKA  Septadi,arif putra. “Analisi Algoritma Insertion Sort, Marge Sort dan Implementasinya Dalam bahasa pemrograman C++”. eprints.unsri.ac.id.diakses pada 1 mei 2015.  Irawan, agus.”StrukturData”, http://agusjembung.blogspot.com.Diaksespada 1 mei 2015