Anda di halaman 1dari 24

LAPORAN HASIL PRAKTIKUM

STRUKTUR DATA

NAMA

: ALI FAHRUDDIN

NIM

: DBC 113 046

KELAS

:B

MODUL

: IV ( Pengurutan Data )

JURUSAN TEKNIK INFORMATIKA


FAKULTAS TEKNIK
UNIVERSITAS PALANGKA RAYA

2014
BAB I
TUJUAN DAN LANDASAN TEORI
1.1 Tujuan Praktikum
1. Mengetahui implementasi beberapa metode pengurutan data.
2. Mampu menerapkan metode pengurutan data pada sebuah program.
3. Mengetahui perbandingan kompleksitas beberapa metode pengurutan data.
1.2 Landasan Teori
Pengurutan data adalah proses yang dilakukan terhadap himpunan data,
disusun sedemikian rupa sehingga diperoleh data baru terurut. Pada umumnya ada
dua macam pengurutan, yaitu : (1) pengurutan secara ascending (urut naik) dan
(2) pengurutan secara descending (urut turun). Proses pengurutan seluruh data
berada dalam memori disebut internal sorting. Sedangkan bila data tidak berada
di dalam memori disebut external sorting.
Masalah utama dalam pengurutan adalah bagaimana mendapatkan metode
terbaik yang akan memberikan jumlah operasi pemindahan data paling minimum.
Kedua operasi tersebut akan mempengaruhi algoritma pengurutan data. Umumnya
kompleksitas algoritma biasa dilihat dari waktu (time complexity) atau ruang
(space complexity).
Algoritma pengurutan data yang akan diuraikan dan dilakukan dalam
praktikum struktur data ini hanya mencakup tiga metode pengurutan data, yaitu :
(1) insertion sort (pengurutan penyisipan), (2) selection sort (pengurutan
pemilihan), dan (3) bubble sort (pengurutan gelembung). Berikut ini merupakan
penjelasannya.
1. Insertion Sort (Pengurutan Penyisipan)
Metode ini dilakukan dengan cara menyisipkan elemen larik pada posisi
yang tepat. Prinsip kerja metode ini membagi dua data sedemikian rupa sehingga
pada bagian pertama menampung data yang sudah terurut dan bagian kedua
menampung data yang belum terurut. Selanjutnya diambil satu data dari bagian
yang belum terurut dan dilakukan penyisipan ke bagian yang sudah terurut.

procedure InsertonSort (Var A : Tabel, N : integer);


{IS : Tabel A terdefinisi dengan N adalah banyaknya data}
{FS : Tabel A berurut membesar}
Var
Pass, i : integer; {counter}
Temp : integer; {variabel untuk nilai sementara}
Begin
For pass := 2 to N do
Begin
Temp := A [pass];
I := pass-1;
While ((temp < A[i]) and (i > 1)) do
Begin
A[i] + 1 := A[i];
i := i-1;
end;
if ( temp < A[i] ) then
begin
A[i+1] := A[i];
i := i-1;
end;
A[i+1] := temp;
end;
end;

2. Selection Sort ( Pengurutan Pemilihan )


Metode minimum dan maximun sort merupakan metode yang tergolong
dalam selection sort. Pada umumnya sort, untuk meletakkan data pada posisi ke-i
dilakukan dengan mencari nilai minimum data mulai dari posisi ke-i sampai
dengan posisi ke-N dengan N adalah banyaknya data. Untuk maximum sort
dilakukan dengan menggunakan nilai maksimum.
Procedure switch ( var A,B : Tabel );
{IS : Tabel A dan B berisi nilai misal A=x dan B=y}
{FS : A=y dan B=x}
Var
Temp : integer; ( variabel untuk nilai sementara )
Begin
temp := A;
A
:= B;
B
:= temp;
end;
procedure minimumSort ( var A : Tabel; N : integer );
{IS : Tabel A terdefinisi dengan N adalah banyaknya data}
{FS : Tabel A terurut membesar}
Var

begin

pass,i: integer; {counter}


imin : integer; {variabel untuk indeks nilai minimum}
for pass := 1 to N-1
begin
imin := pass;
for i := pass + 1 to N do
begin
if (A[imin] > A[i] then imin := i;
if (imin <> pass) then switch (A[pass],

A[imin]);
end;

end;

end;

3.

Bubble Sort ( Pengurutan Gelembung )


Prinsip dari bubble sort adalah meletakkan nilai pada posisi ke-i dengan

menggelembungkan atau mengangkat nilai minimum dari i+1 sampai dengan N.


procedure BubbleSort (Var A : Tabel; N : integer);
{IS : Tabel A terdefinisi dengan N adalah banayakna data}
{FS : Tabel A terurut membesar}
var
pass, i : integer; {counter}
tukar

Boolean;

{True

jika

untuk

satu

terjadi pertukaran}
begin
tukar := true;
pass := 1;
while ((tukar) and (pass < N)) do
begin
Tukar := false;
for

i := N downto pass + 1 do

begin
If (A[i] < A[i-1] then
Begin
Switch (A[i], A[i-1]));
Tukar := true;
End;
End;
End;

kali

pass

End;

Implementasi dari ketiga ,etode sorting tersebut dilakukan menggunakan data


sebagai berikut.
Const
NMAX = 100;
Type
Tabel = array[1..Nmax] of integer;

BAB II
LANGKAH KERJA
A. Tugas Praktikum
1. Buatlah program untuk menambah, menghapus, dan menampilkan data
dengan linear linked list dan data tersebut harus urut.

BAB III
PEMBAHASAN

Pertama-tama kita membuat nama program yang akan kita buat dalam
program pascal. Misalnya dengan nama program sorting dengan uses crt.

Setelah kita mendeklarasikan constanta nmax disini kita memberi nilai 100
yang digunakan untuk membatasi data yang masuk sampai 100. Kemudian
kita membuat type data baru berupa mahasiswa berupa record dengan isi nim
bertipe longint; nama bertipe string[30] (dengan batas 30 digit); alamat bertipe
string[50] (dengan batas 50 digit). Dan diakhiri dengan end.

Kita membuat beberapa variabel yaitu tabel bertipe array dan N bertipe
integer.

Setelah itu kita membuat procedure insertionsort dengan variabel


pass,i,temp bertipe integer dan temp2,temp3 bertipe string.

Procedure ini digunakan untuk mengurutkan data menggunakan metode


inserttion sort. Didalamnya terdapat beberapa instruksi pengulangan dan
pemilihan yang dilakukan yaitu pengulangan for..do untuk pass:=2 to N;
pengulangan while..do apabila terpenuhi (temp < tabel[i].nim) dan
(i>1); pemilihan if..then apabila terpenuhi (temp < tabel[i].nim);
menampilkan output berupa pesan pengurutan data dengan insertion sort;
serta pengulangan for..do untuk i:=1 to N dimana N disini adalah jumlah
data untuk prnginputan data yang akan dimasukkan ( nim, nama, dan alamat ).

Kita membuat procedure insertionx dimana terdapat variabel pass,i,temp


bertipe integer dan temp2,temp3 bertipe string yang digunakan untuk
pengurutan data insertion sort berdasarkan pengurutan menggunakan Nama.
Dan isi dari procedure ini sama seperti procedure insertion diatas.

Kita menbuat procedure switch yang digunakan untuk pemilihan mana yang
akan digunakan. Procedure ini mengunkan parameter A,B bertipe mahasiswa
dan mempunyai variabel temp bertipe integer dan temp2,temp3 bertipe string.

Isi dari procedure ini meyatakan temp adalah untuk nim; temp2 adalah adalah
untuk nama; serta temp3 adalah untuk alamat. Kemudian variabel A dan B
adalah himpunan dari nim, nama , dan alamat yang di relasikan pada temp,
tmp2, dan temp3.

Metode selanjutnya adalah selection sort digunakan dengan membuat


procedure selectionsort dengan mempunyai variabel pass,i,min yang bertipe
integer. Kegunaan procedure ini adalah mengurutkan data berdasarkan nim.

Isi dari procedure ini adalah pengulangan dan pemilihan diantaranya adalah
penngulangan for..do dengan syarat pass:=1 to N-1 dan didalam for..do
terdapat pengulangan for..do lagi dengan syarat i:= pass+1 to N dengan
isi

pemilihan

if..then

dengan

syarat

(tabel[min].nim

>

tabel[i]nim) dan pemmilihan if..then dengan syarat (min <> pass);


mengeluarkan tampilan output Pengurutan data dengan selection sort; dan
pengulangan for.. dengan syarat i:=1 to N dengan isi menginputkan
nim,nama dan alamat.

Procedure selanjutnya adalah procedure selectionsortx yang mempunyai


variabel pass,i,min bertipe integer yang isi dari procedure ini adalah sama
seperti procedure selectionsort yang ada diatas kegunaann procedure ini
adalah untuk mengurutkan data berdasarkan nama.

Procedure Bubblesort yang mempunyai variabel pass,i bertipe integer dan


tukar bertipe boolean. Kegunaan procedure ini digunakan untuk pengurutan
data menggunakan metode buble sort berdasarkan pengurutan nim.

Isi dari procedure ini adalah terdiri dari beberapa pemilihan dan pengulangan.
Apabila tukar bernilai benar maka pass adalah 1; pengulangan while..do
dengan syarat (tukar) dan (pass < N); pengulangan for..do dengan
syarat i:=N downto pass+1 dan didalamnya terdapat pemilihan if..then
dengan syarat (tabel[i].nim < tabel[i-1]); menggeluarkan output
Pengurutan data dengan bubble sort; dan pengulangan for..do dengan syarat
i:=1 to N berisi inputan data nim, nama, dan alamat.

Selanjutnya adalah procedure bubblesortx dimana terdapat variabel pass,i


bertipe integer dan tukar bertipe boolean. Isi dari procedure ini adalah sama
seperti procedure bubblesort. Kegunaan procedure ini adalah untuk
pengurutan metode bubble sort menggunakan pengurutan berdasarkan nama.

Procedure program_utama digunakan untuk membuat program utama pada


program mempunyai variabel ulang bertipe char dan pilih, data bertipe integer.

Isi dari procedure ini adalah melakukan pengulangan repeat..until dan berisi
pilihan menu 1/2/3/4/5 dengan menggunakan pemilihan case..of pada variabel
pilih yang digunkan untuk menginput pilihan user.

Untuk pilihan 1 adalah input yang berisi masukan jumlah data yang ingin
dimasukkkan; pengulangan for..do terhadap jumlah masukkan yang diberikan

N:=1 to data dan kemudian setiap satu data memberikan masukan data
nim, nama, dan alamat.

Untuk pilihan 2 adalah Insertion sort yang terdiri dari pengulangan


repeat..until berisi pilihan pengurutan berdasarkan NIM atau Nama, pemilihan
ini menggunkan case..of pada variabel pilih dimana pilihan 1 adalah
berdasarkan NIM dengan menggunakan procedure insertionsort, sedangkan
pilihan 2 adalah berdasarkan Nama dengan menggunakan procedure
insertionsortx; serta pemberhentian pengulangan apabila pilihan yang
diberikan pada ulang adalah Y.

Untuk pilihan 3 adalah Selection sort yang terdiri dari pengulangan


repeat..until yang berisi pilihan pengurutan berdasrkan NIM atau Nama,
pemilihan ini menggunakan case..of pada variabel pilih, dimana pilihan 1
berdasarkan NIM dengan menggunakan procedure selctionsort, sedangkan
pilihan 2 adalah berdasarkan Nama dengan menggunakan procedure
selectionsortx; serta pemberhentian pengulangan apabila pilihan yang
diberikan pada ulang adalah Y.

Untuk pilihan 4 adalah Bubble sort yang terdiri dari pengulangan


repeat..until yang berisi pilihan pengurutan berdasarkan NIM atau Nama,
pemilihan ini menggunakan case..of pada variabel pilih, dimana pilihan 1
berdasarkan NIM dengan menggunakan procedure bubblesort, sedangkan
pilihan 2 adalah berdasarkan Nama dengan menggunakan procedure
bubblesortx; serta pemberhentian pengulangan apabila pilihan yang diberikan
pada ulang adalah Y.

Untuk pilihan 5 adalah exit yang terdiri dari pemberhentian program (halt)
yang digunakan untuk mengakhiri program ini secara langsung.

Kemudian adalah program utama pada program ini yang diawali begin dan
memasukkan procedure program_utama serta diakhiri dengan end.

BAB IV
KESIMPULAN

Pengurutan data adalah proses menyusun elemen-elemen dengan tata urut


tertentu dan proses trsebut terimplementasi dalam bermacam aplikasi. Aplikasi
tersebut mampu menampilkan daftar account aktif. Hampir seluruh pengguna
pada sistem akan memilih tampilan daftar berurutan demi kenyamanan dalam
penelusuran data. Terdapat 2 macam pengurutan yaitu:
1. Pengurutan secara ascending (urut naik).
2. Pengurutan secara descending (urut turun).
Proses pengurutan seluruh data berada dalam memori disebut internal
sorting. Sedangkan bila data tidak berada di dalam memori disebut external
sorting.
pengurutan data yang akan diuraikan dan dilakukan dalam praktikum
struktur data ini hanya mencakup tiga metode pengurutan data, yaitu :
1.

Insertion sort (pengurutan penyisipan),


Metode ini dilakukan dengan cara menyisipkan elemen larik pada posisi

yang tepat. Prinsip kerja metode ini membagi dua data sedemikian rupa sehingga
pada bagian pertama menampung data yang sudah terurut dan bagian kedua
menampung data yang belum terurut. Selanjutnya diambil satu data dari bagian
yang belum terurut dan dilakukan penyisipan ke bagian yang sudah terurut
2.

Selection sort (pengurutan pemilihan),


Metode minimum dan maximun sort merupakan metode yang tergolong

dalam selection sort. Pada umumnya sort, untuk meletakkan data pada posisi ke-i
dilakukan dengan mencari nilai minimum data mulai dari posisi ke-i sampai
dengan posisi ke-N dengan N adalah banyaknya data. Untuk maximum sort
dilakukan dengan menggunakan nilai maksimum
3.

Bubble sort (pengurutan gelembung).


Prinsip dari bubble sort adalah meletakkan nilai pada posisi ke-i

dengan menggelembungkan atau mengangkat nilai minimum dari i+1 sampai


dengan N.

BAB V
DAFTAR PUSTAKA

Teknik informatika, 2014. Modul Struktur data. Universitas Palangkaraya:


Palangkaraya.
http://agusjembung.blogspot.com/2012/02/macam-macam-sortng.html
http://kael9001.blogspot.com/2013/02/bubble-sort.html
http://wahyuekarocyadi.blogspot.com/2011/10/jenis-jenis-sorting-padastruktur-data.html

BAB VI
LAMPIRAN
o Coding:

o Output

Setelah menekan CTRL+F9 output yang muncul pertama kali adalah.

Untuk menginputkan data maka kita pilih pilihan 1 maka akan muncul pesan
masukan jumlah data yang kita inginkan. Misalnya kita memberikan jumlah
data 4.

Kemudian kita masukkan 4 data tersebut sebagai contoh seperti dibawah ini.
Setelah selesai menginputkan data terdapat pilihan kembali ke menu utama
maka kita tekan Y untuk kembali ke menu utama.

Untuk mengurutkan data misalnya menggunakan metode insection sort maka


kita pilih pilihan 2.

Maka akan mucul pesan pilihan pengurutan apakah menggunakan NIM


ataukah menggunakan Nama. Misalnya kita menggunakan NIM maka kita
pilih pilihan 1. Hasilnya data yang kita masukkan tadi akan urut berdasarkan
NIM (ascending) pengurutannya seperti dibawah ini. Dan apabila kita ingin
mengulang lagi pengurutannya maka kita tekan Y.

Apabila kita memilih pengurutan berdasarkan Nama maka kita pilih pilihan
2. Hasilnya data yang kita masukkan akan urut berdasarkan Nama
(ascending). Untuk tidak mengurutkan lagi dengan metode insection sort maka
kita pilih T. Dan apabila kita ingin kembali ke menu utama dan mengurutkan
data menggunakan metode lain maka kita pilih Y.

Untuk mengurutkan data menggunakan metode Selection sort maka kita pilih
pilihan 3.

Maka akan tampil pengurutan mana yang digunakan apakah menggunakan


NIM atau menggunakan Nama. Misalnya kita menggunakan NIM maka kita
pilih pilihan 1 maka hasil inputnya akan menampilkan data dengan
pengurutan berdasarkan NIM (ascending). Apabila tidak ingin mengulang
pengurutan lagi kita pilih T.

Jika kita ingin mengurutkan data menggunakan metode Bubble sort maka kita
pilih pilihan 4.

Maka akan muncul pilihan apakah kita ingin mengurutkan menggunakan NIM
atau menggunakan Nama. Misalnya kita ingin menggunakan NIM maka kita
pilih pilihan 1 maka hasil dari pengurutannya seperti dibawah ini secara
(ascending).