Metode Sorting dan Aplikasinya
Tugas Kuliah Algoritma dan Struktur Data
Nurul Habibah
Manajemen Informatika
Politeknik Negeri Lampung
Bandar Lampung, Lampung
nurulhabibah919@gmail.com
Abstrak—Metode sorting atau pengurutan tanpa kita sadari
sudah banyak digunakan di software-software yang biasa kita
gunakan. Seperti pada Ms. Word yang memiliki tool untuk
sorting huruf dari A ke Z atau sebaliknya. Biasanya di sebut
ascending atau descending. Dalam algoritma akan dipelajari
bagaimana sorting atau pengurutan itu bisa terjadi
Kata kunci—Sorting, metode, contoh, program, pascal.
I. PENDAHULUAN
[1]
Pengurutan data (sorting) didefinisikan sebagai suatu
proses untuk menyusun kembali himpunan obyek
menggunakan aturan tertentu.menurut Microsoft Book-Shelf,
definisi algoritma pengurutan adalah algoritma untuk
meletakan kumpulan elemen data ke dalam urutan tertentu
berdasarkan satu atau beberapa kunci dalam tiap-tiap elemen.
Ada dua macam urutran yang biasa digunakan dalam
proses pengurutan yaitu :
1. Urut naik (ascending) yaitu dari data yang mempunyai
nilai paling kecil sampai paling besar.
2. Urut turun (descending) yaitu data yang mempunyai nili
paling besar sampai paling kecil.
[2]
Data yang diurutkan dapat berupa data bertipe dasar atau
data bertipe struktur. Data yang sudah terurut mempunyai
keuntungan yaitu mempercepat proses pencarian data.
Algoritma pengurutan/sorting bermacam-maca, dan setiap
algoritma ini memiliki kinerja yang berbeda-beda. Berikut ini
macam-macam metode shorting :
1. Buble Sort
2. Selection Sort
3. Insertion Sort
4. Shell Sort
5. Quick Short
II. ISI
A. Buble Sort
[1]
Bubble Sort merupakan cara pengurutan yang sederhana.
Konsep dari ide dasarnya adalah seperti “gelembung air”
untuk elemen struktur data yang semestinya berada pada
posisi awal. Cara kerjanya adalah dengan berulang-ulang
melakukan traversal (proses looping) terhadap elemen-elemen
struktur data yang belum diurutkan. Di dalam traversal
tersebut, nilai dari dua elemen struktur data dibandingkan. Jika
ternyata urutannya tidak sesuai dengan “pesanan”,maka
dilakukan pertukaran (swap). Algoritma sorting ini disebut
juga dengan comparison sort dikarenakan hanya
mengandalkan perbandingan nilai elemen untuk
mengoperasikan elemennya.
Algoritma Buble sort :
B. Selection Sort
[1]
Teknik pengurutan dengan cara pemilihan elemen dengan
memilih elemen data terkecil untuk kemudian dibandingkan &
ditukarkan dengan elemen pada data awal, dst s/d seluruh
elemen sehinga akan menghasilkan pola data yg telah disort.
Merupakan kombinasi antara sorting dan searching
Untuk setiap proses, akan dicari elemen-elemen yang belum
diurutkan yang memiliki nilai terkecil atau terbesar akan
dipertukarkan ke posisi yang tepat di dalam array.
Misalnya untuk putaran pertama, akan dicari data dengan nilai
terkecil dan data ini akan ditempatkan di indeks terkecil
(data[0]), pada putaran kedua akan dicari data kedua terkecil,
dan akan ditempatkan di indeks kedua (data[1]).
Algoritma Selectiom Sort :
Proses 1
10 49 5 7 9 8
10 49 5 7 8 9
Proses 2
10 49 5 7 8 9
10 5 49 7 8 9
5 10 49 7 8 9
Proses 3
5 10 49 7 8 9
5 10 7 49 8 9
5 7 10 49 8 9
Proses 4
5 7 10 49 8 9
5 7 10 8 49 9
5 7 8 10 49 9
Proses 5
5 7 8 10 49 9
5 7 8 10 9 49
5 7 8 9 10 49
C. Insertion Sort
[2]
Mirip dengan cara orang mengurutkan kartu, selembar
demi selembar kartu diambil dan disisipkan (insert) ke tempat
yang seharusnya. Pengurutan dimulai dari data ke-2 sampai
dengan data terakhir, jika ditemukan data yang lebih kecil,
maka akan ditempatkan (diinsert) diposisi yang seharusnya.
Pada penyisipan elemen, maka elemen-elemen lain akan
bergeser ke belakang.
Algoritma Insertion Sort :
D. Shell Short
[3]
Metode ini dikembangkan oleh Donald L. Shell pada
tahun 1959. Dalam metode ini jarak antara dua elemen yang
dibandingkan dan ditukarkan tertentu. Secara singkat metode
ini dijelaskan sebagai berikut.Pada langkah pertama, kita
ambil elemen pertama dan kita bandingkan dan kita
bandingkan dengan elemen pada jarak tertentu dari elemen
pertama tersebut. Kemudain elemen kedua kita bandingkan
dengan eleen lain dengan jarak yang sama seperti jarak yang
sama seperti diatas. Demikian seterusnya sampai seluruh
elemen dibandingkan. Pada langkah kedua proses diulang
dengan langkah yang lebih kecil, pada langkah ketiga jarak
tersebut diperkecil lagi seluruh proses dihentikan jika jarak
sudah sama dengan satu.
Algoritma Shell Short :
E. Quick Short
[3]
Quick Sort adalah algoritma sorting yang terkenal yang
dirancang oleh C.A.R. Hoare pada tahun 1960 ketika bekerja
untuk perusahaan manufaktur komputer saintifik kecil, Elliott
Brothers. Algoritma ini rekursif, dan termasuk paradigma
algoritma divide and conquer.
Algoritma Quick Sort :
III. HASIL SIMULASI DI PROGRAM PASCAL
F. Buble Sort
Program pada pascal :
program BubleSort;
uses crt;
var
Data : array[1..10] of integer;
i,j,n,bantu : integer;
Begin
clrscr;
writeln (‘Masukan data anda !’); writeln;
write (‘Jumlah data anda ?’); readln(n);
writeln (Mulai memasukan data..’);
for i=1 to n do
begin
write(‘Data ke-‘,i,’ = ‘);
readln(data[i]);
end;
for i:=1 to n-1 do
for j:=1 to n-i do
begin
if data[j] > data[j+1] then
begin
bantu := data[j];
data[j] := data[j+1];
data[j+1] := bantu;
end;
end;
for i:=1 to n do
write(‘(‘,data[i],’),’);
readln;
end.
G. Selection Sort
Program pada pascal :
program SelectionSort;
uses crt;
var
Data : array[1..10] of integer;
i,j,n,bantu : integer;
Begin
clrscr;
writeln (‘Masukan data anda !’); writeln;
write (‘Jumlah data anda ?’); readln(n);
writeln (Mulai memasukan data..’);
for i=1 to n do
begin
write(‘Data ke-‘,i,’ = ‘);
readln(data[i]);
end;
for i:=1 to n-1 do
for j:=i+1 to n do
begin
if data[i] > data[j] then
begin
bantu := data[i];
data[i] := data[j];
data[j] := bantu;
end;
end;
for i:=1 to n do
write(‘(‘,data[i],’),’);
readln;
end.
H. Insertion Sort
Program pada pascal :
program insertion;
uses crt;
const
MAX = 100;
var
a : array[1..MAX] of integer;
i, n : integer;
procedure insertion_sort;
var
i, pos : integer;
nilai : integer;
tanda : boolean;
begin
for i := 2 to n do
begin
nilai := a[i];
pos := i;
tanda := false;
while not tanda do
begin
if pos <= 1 then
tanda := true
else if nilai >= a[pos-1] then
tanda := true
else
begin
a[pos] := a[pos-1];
pos := pos-1
end
end; {while}
a[pos] := nilai;
end {for}
end;
begin { main }
clrscr;
write('Masukkan banyak data (max=',MAX:2,') : ');
readln(n);
writeln('Masukkan Angka sebanyak ',n:1,' : ');
for i := 1 to n do
read(a[i]);
insertion_sort;
for i := 1 to n do
write(a[i]:1,' ');
readln;
writeln;
readln;
end.
DAFTAR PUSTAKA
[1] entin.lecturer.pens.ac.id (pdf)
[2] Putri Syaviri, Ananda. “Laporan Praktikum II : Sorting
(Pengurutan)”. Universitas Malang : 2014. (doc)
[3] Simamora, Rosida. “Sorting”. (ppt).
DAFTAR PUSTAKA
[1] entin.lecturer.pens.ac.id (pdf)
[2] Putri Syaviri, Ananda. “Laporan Praktikum II : Sorting
(Pengurutan)”. Universitas Malang : 2014. (doc)
[3] Simamora, Rosida. “Sorting”. (ppt).

Paper Metode Sorting

  • 1.
    Metode Sorting danAplikasinya Tugas Kuliah Algoritma dan Struktur Data Nurul Habibah Manajemen Informatika Politeknik Negeri Lampung Bandar Lampung, Lampung nurulhabibah919@gmail.com Abstrak—Metode sorting atau pengurutan tanpa kita sadari sudah banyak digunakan di software-software yang biasa kita gunakan. Seperti pada Ms. Word yang memiliki tool untuk sorting huruf dari A ke Z atau sebaliknya. Biasanya di sebut ascending atau descending. Dalam algoritma akan dipelajari bagaimana sorting atau pengurutan itu bisa terjadi Kata kunci—Sorting, metode, contoh, program, pascal. I. PENDAHULUAN [1] Pengurutan data (sorting) didefinisikan sebagai suatu proses untuk menyusun kembali himpunan obyek menggunakan aturan tertentu.menurut Microsoft Book-Shelf, definisi algoritma pengurutan adalah algoritma untuk meletakan kumpulan elemen data ke dalam urutan tertentu berdasarkan satu atau beberapa kunci dalam tiap-tiap elemen. Ada dua macam urutran yang biasa digunakan dalam proses pengurutan yaitu : 1. Urut naik (ascending) yaitu dari data yang mempunyai nilai paling kecil sampai paling besar. 2. Urut turun (descending) yaitu data yang mempunyai nili paling besar sampai paling kecil. [2] Data yang diurutkan dapat berupa data bertipe dasar atau data bertipe struktur. Data yang sudah terurut mempunyai keuntungan yaitu mempercepat proses pencarian data. Algoritma pengurutan/sorting bermacam-maca, dan setiap algoritma ini memiliki kinerja yang berbeda-beda. Berikut ini macam-macam metode shorting : 1. Buble Sort 2. Selection Sort 3. Insertion Sort 4. Shell Sort 5. Quick Short II. ISI A. Buble Sort [1] Bubble Sort merupakan cara pengurutan yang sederhana. Konsep dari ide dasarnya adalah seperti “gelembung air” untuk elemen struktur data yang semestinya berada pada posisi awal. Cara kerjanya adalah dengan berulang-ulang melakukan traversal (proses looping) terhadap elemen-elemen struktur data yang belum diurutkan. Di dalam traversal tersebut, nilai dari dua elemen struktur data dibandingkan. Jika ternyata urutannya tidak sesuai dengan “pesanan”,maka dilakukan pertukaran (swap). Algoritma sorting ini disebut juga dengan comparison sort dikarenakan hanya mengandalkan perbandingan nilai elemen untuk mengoperasikan elemennya. Algoritma Buble sort : B. Selection Sort [1] Teknik pengurutan dengan cara pemilihan elemen dengan memilih elemen data terkecil untuk kemudian dibandingkan & ditukarkan dengan elemen pada data awal, dst s/d seluruh elemen sehinga akan menghasilkan pola data yg telah disort. Merupakan kombinasi antara sorting dan searching Untuk setiap proses, akan dicari elemen-elemen yang belum diurutkan yang memiliki nilai terkecil atau terbesar akan dipertukarkan ke posisi yang tepat di dalam array. Misalnya untuk putaran pertama, akan dicari data dengan nilai terkecil dan data ini akan ditempatkan di indeks terkecil (data[0]), pada putaran kedua akan dicari data kedua terkecil, dan akan ditempatkan di indeks kedua (data[1]). Algoritma Selectiom Sort : Proses 1 10 49 5 7 9 8 10 49 5 7 8 9 Proses 2 10 49 5 7 8 9 10 5 49 7 8 9 5 10 49 7 8 9 Proses 3 5 10 49 7 8 9 5 10 7 49 8 9 5 7 10 49 8 9 Proses 4 5 7 10 49 8 9 5 7 10 8 49 9 5 7 8 10 49 9 Proses 5 5 7 8 10 49 9 5 7 8 10 9 49 5 7 8 9 10 49
  • 2.
    C. Insertion Sort [2] Miripdengan cara orang mengurutkan kartu, selembar demi selembar kartu diambil dan disisipkan (insert) ke tempat yang seharusnya. Pengurutan dimulai dari data ke-2 sampai dengan data terakhir, jika ditemukan data yang lebih kecil, maka akan ditempatkan (diinsert) diposisi yang seharusnya. Pada penyisipan elemen, maka elemen-elemen lain akan bergeser ke belakang. Algoritma Insertion Sort : D. Shell Short [3] Metode ini dikembangkan oleh Donald L. Shell pada tahun 1959. Dalam metode ini jarak antara dua elemen yang dibandingkan dan ditukarkan tertentu. Secara singkat metode ini dijelaskan sebagai berikut.Pada langkah pertama, kita ambil elemen pertama dan kita bandingkan dan kita bandingkan dengan elemen pada jarak tertentu dari elemen pertama tersebut. Kemudain elemen kedua kita bandingkan dengan eleen lain dengan jarak yang sama seperti jarak yang sama seperti diatas. Demikian seterusnya sampai seluruh elemen dibandingkan. Pada langkah kedua proses diulang dengan langkah yang lebih kecil, pada langkah ketiga jarak tersebut diperkecil lagi seluruh proses dihentikan jika jarak sudah sama dengan satu. Algoritma Shell Short : E. Quick Short [3] Quick Sort adalah algoritma sorting yang terkenal yang dirancang oleh C.A.R. Hoare pada tahun 1960 ketika bekerja untuk perusahaan manufaktur komputer saintifik kecil, Elliott Brothers. Algoritma ini rekursif, dan termasuk paradigma algoritma divide and conquer. Algoritma Quick Sort :
  • 3.
    III. HASIL SIMULASIDI PROGRAM PASCAL F. Buble Sort Program pada pascal : program BubleSort; uses crt; var Data : array[1..10] of integer; i,j,n,bantu : integer; Begin clrscr; writeln (‘Masukan data anda !’); writeln; write (‘Jumlah data anda ?’); readln(n); writeln (Mulai memasukan data..’); for i=1 to n do begin write(‘Data ke-‘,i,’ = ‘); readln(data[i]); end; for i:=1 to n-1 do for j:=1 to n-i do begin if data[j] > data[j+1] then begin bantu := data[j]; data[j] := data[j+1]; data[j+1] := bantu; end; end; for i:=1 to n do write(‘(‘,data[i],’),’); readln; end. G. Selection Sort Program pada pascal : program SelectionSort; uses crt; var Data : array[1..10] of integer; i,j,n,bantu : integer; Begin clrscr; writeln (‘Masukan data anda !’); writeln; write (‘Jumlah data anda ?’); readln(n); writeln (Mulai memasukan data..’); for i=1 to n do begin write(‘Data ke-‘,i,’ = ‘); readln(data[i]); end; for i:=1 to n-1 do for j:=i+1 to n do begin if data[i] > data[j] then begin bantu := data[i]; data[i] := data[j]; data[j] := bantu; end; end; for i:=1 to n do
  • 4.
    write(‘(‘,data[i],’),’); readln; end. H. Insertion Sort Programpada pascal : program insertion; uses crt; const MAX = 100; var a : array[1..MAX] of integer; i, n : integer; procedure insertion_sort; var i, pos : integer; nilai : integer; tanda : boolean; begin for i := 2 to n do begin nilai := a[i]; pos := i; tanda := false; while not tanda do begin if pos <= 1 then tanda := true else if nilai >= a[pos-1] then tanda := true else begin a[pos] := a[pos-1]; pos := pos-1 end end; {while} a[pos] := nilai; end {for} end; begin { main } clrscr; write('Masukkan banyak data (max=',MAX:2,') : '); readln(n); writeln('Masukkan Angka sebanyak ',n:1,' : '); for i := 1 to n do read(a[i]); insertion_sort; for i := 1 to n do write(a[i]:1,' '); readln; writeln; readln; end.
  • 5.
    DAFTAR PUSTAKA [1] entin.lecturer.pens.ac.id(pdf) [2] Putri Syaviri, Ananda. “Laporan Praktikum II : Sorting (Pengurutan)”. Universitas Malang : 2014. (doc) [3] Simamora, Rosida. “Sorting”. (ppt).
  • 6.
    DAFTAR PUSTAKA [1] entin.lecturer.pens.ac.id(pdf) [2] Putri Syaviri, Ananda. “Laporan Praktikum II : Sorting (Pengurutan)”. Universitas Malang : 2014. (doc) [3] Simamora, Rosida. “Sorting”. (ppt).