Hasil Praktikum Struktur Data IV

30
LAPORAN HASIL PRAKTIKUM STRUKTUR DATA NAMA : ALI FAHRUDDIN NIM : DBC 113 046 KELAS : B MODUL : IV ( Pengurutan Data )

description

Pengurutan Data

Transcript of Hasil Praktikum Struktur Data IV

Page 1: Hasil Praktikum Struktur Data IV

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

Page 2: Hasil Praktikum Struktur Data IV

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

Page 3: Hasil Praktikum Struktur Data IV

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}

BeginFor pass := 2 to N doBegin

Temp := A [pass];

I := pass-1;

While ((temp < A[i]) and (i > 1)) doBegin

A[i] + 1 := A[i];

i := i-1;

end;if ( temp < A[i] ) thenbegin

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.

Page 4: Hasil Praktikum Struktur Data IV

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

pass,i: integer; {counter}imin : integer; {variabel untuk indeks nilai minimum}

beginfor pass := 1 to N-1begin

imin := pass;

for i := pass + 1 to N dobegin

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);

Page 5: Hasil Praktikum Struktur Data IV

{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 kali pass

terjadi pertukaran}

begintukar := true;

pass := 1;

while ((tukar) and (pass < N)) dobegin

Tukar := false;for i := N downto pass + 1 dobegin

If (A[i] < A[i-1] thenBegin

Switch (A[i], A[i-1]));Tukar := true;

End;End;

End;End;

Implementasi dari ketiga ,etode sorting tersebut dilakukan menggunakan data

sebagai berikut.

ConstNMAX = 100;

TypeTabel = array[1..Nmax] of integer;

Page 6: Hasil Praktikum Struktur Data IV

BA B II

LANGKAH KERJA

A. Tugas Praktikum

1. Buatlah program untuk menambah, menghapus, dan menampilkan data

dengan linear linked list dan data tersebut harus urut.

Page 7: Hasil Praktikum Struktur Data IV

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”;

Page 8: Hasil Praktikum Struktur Data IV

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.

Page 9: Hasil Praktikum Struktur Data IV

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.

Page 10: Hasil Praktikum Struktur Data IV

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.

Page 11: Hasil Praktikum Struktur Data IV

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,

Page 12: Hasil Praktikum Struktur Data IV

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.

Page 13: Hasil Praktikum Struktur Data IV

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.

Page 14: Hasil Praktikum Struktur Data IV

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-pada-

struktur-data.html

Page 15: Hasil Praktikum Struktur Data IV

BAB VI

LAMPIRANo Coding:

Page 16: Hasil Praktikum Struktur Data IV
Page 17: Hasil Praktikum Struktur Data IV
Page 18: Hasil Praktikum Struktur Data IV
Page 19: Hasil Praktikum Struktur Data IV
Page 20: Hasil Praktikum Struktur Data IV

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.

Page 21: Hasil Praktikum Struktur Data IV

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’.

Page 22: Hasil Praktikum Struktur Data IV

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’.

Page 23: Hasil Praktikum Struktur Data IV

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’.

Page 24: Hasil Praktikum Struktur Data IV

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).