Implementasi dan Analisis Algoritma Bucket Sort, Strand Sort dan Quick Sort 2 Pivot Dalam Pensortiran Data yang Berjumlah Banyak

IMPLEMENTASI DAN ANALISIS ALGORITMA BUCKET SORT,
STRAND SORT DAN QUICK SORT 2 PIVOT DALAM
PENSORTIRAN DATA YANG BERJUMLAH
BANYAK

SKRIPSI

FIRMA FANNY SINAGA
141421029

PROGRAM STUDI EKSTENSI S1 ILMU KOMPUTER
FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI
UNIVERSITAS SUMATERA UTARA
MEDAN
2016

Universitas Sumatera Utara

ii

PENGHARGAAN


Segala Puji dan syukur penulis ucapkan kepada Tuhan yang Maha Esa, karena atas
rahmat dan izin-Nya penulis dapat menyelesaikan sikripsi ini. Terima kasih yang
pertama penulis sampaikan kepada Ayahanda J Sinaga dan Ibunda R Sihombing yang
telah mendidik, mendoakan, dan memberi kasih sayangnya kepada penulis sejak kecil
hingga penyelesaian studi ini.
Banyak bantuan berupa uluran tangan, motivasi, buah pikiran dan kerjasama
yang telah penulis terima selama menempuh studi sampai dengan penyelesaian
penelitian ini. Oleh karena itu, penulis ingin menyampaikan ucapan terima kasih
kepada pihak-pihak yang telah membantu. Ucapan terima kasih penulis sampaikan
kepada:
1.

Bapak Prof. Dr. Runtung Sitepu, SH., MHumselakuRektor Universitas Sumatera
Utara.

2.

Bapak Prof. Dr. Opim Salim Sitompul, M.Sc selaku Dekan Fasilkom-TI USU.


3.

Bapak Dr. Poltak Sihombing, M.Kom selaku Ketua Program Studi S1 Ilmu
Komputer Universitas Sumatera Utara dan juga selaku Dosen Pembimbing I yang
telah memberikan dukungan, saran, masukan dan motivasi kepada penulis.

4.

Ibu Dr. Maya Silvi Lydia, M.Sc selaku Sekretaris Program Studi S1 Ilmu
Komputer Universitas Sumatera Utara dan juga selaku Dosen Pembimbing II
yang telah banyak memberikan saran, masukan dan juga motivasi kepada penulis.

5.

Bapak Dr. Syahril Effendi, S.Si., M.IT selaku Dosen Pembanding I yang telah
memberikan bimbingan dan dukungan kepada penulis.

6.

Bapak Jos Timanta Tarigan, S.Kom, M.Sc selaku Dosen PembandingII yang telah

memberikan bimbingan dan dukungan kepada penulis.

7.

Seluruh tenaga pengajar dan pegawai di Fakultas Ilmu Komputer dan Teknologi
Informasi USU, terkhususnya di Program Studi S1 Ilmu Komputer.

8.

Saudarapenulis kak Tiarly, kak Kristina, Bang Edward, kak Yanti, kak Ellysa,
adekku Wydia dan Adekku Erwin yang selalu memotivasi, mendoakan serta
memberikan semangat kepada penulis dalam menyelesaikan skripsi ini.

Universitas Sumatera Utara

iii

9.

Teman-teman seperjuangan: Junita, Ruth, Lia, Benyamin, kevin, hafiz, pratama

agung, januar, joshua, mariaty dan agung cornel dan juga Uli yang selalu siap
membantu penulis dalam pengerjaan sikripsi ini.

10. Sahabat-sahabat yang selalu memberi motivasi dan semangat kepada penulis.
11. Teman-teman kuliah Ekstensi Ilmu Komputer stambuk 2014, khususnya Kom B,
yang telah berbagi motivasi, rasa kebersamaan, dan inspirasi kepada penulis.
12. Semua pihak yang terlibat langsung atau tidak langsung yang penulis tidak dapat
tuliskan satu per satu.

Semoga Tuhan melimpahkan berkah dan kasih sayang-Nya kepada semua
pihak yang telah memberikan bantuan, semangat, dukungan dan perhatian kepada
penulis dalam menyelesaikan penelitian ini. Semoga penelitian ini bermanfaat bagi
penulis, pendidikan, masyarakat, organisasi atau negara.

Medan,

Desember 2016

Firma Fanny Sinaga


Universitas Sumatera Utara

vi

ABSTRAK

Pengurutan data merupakan proses untuk menyusun kembali data yang sebelumnya
disusun dengan suatu pola tertentu sehingga akan tersusun secara teratur untuk
memudahkan proses dalam pencarian data. Dengan adanya algoritma pengurutan
ini, data yang awalnya disusun secara acak akan menjadi terurut sesuai dengan
aturan tertentu. Ada banyak metode untuk sorting data, namun pada tugas akhir ini
akan dibahas metode Bucket sort adalah algoritma yang membagi dan memecahkan
himpunan array ke dalam beberapa tempat yang biasa disebut dengan istilah Bucket
secara merata. Algoritma strand sort adalah algoritma yang bertujuan untuk
menjadikan bagian sisi kiri array terurutkan sampai dengan seluruh array berhasil
diurutkan. Algoritma Quick sort 2 Pivot merupakan algoritma pengurutan data
yang menggunakan pemecahan data menjadi partisi-partisi dengan implementasi
menggunakan bahasa pemrograman C#. Analisis kinerja algoritma ini bertujuan
untuk mengetahui Kompleksitas algoritma dan running Time dari ketiga algoritma
tersebut. Kompleksitas waktu dapat dihitung melalui tahapan pengurutan yang

diketahui berdasarkan langkah-langkah algoritma tersebut dalam memecahkan
masalah dan running Time algoritma yang dihitung berdasarkan platform yang
digunakan. Dalam percobaan yang dilakukan terdapat kelebihan dan kekurangan
dari masing-masing algoritma yang dipengaruhi oleh banyak data yang diurutkan.

Kata kunci: Pengurutan, Bucket Sort, Strand Sort, Quick Sort 2 Pivot,
Kompleksitas waktu, running time.

Universitas Sumatera Utara

vii

IMPLEMENTATION AND ANALYSIS ALGORITHM BUCKET SORT,
STRAND SORT AND QUICK SORT 2 PIVOT
IN DATA SORTING

ABSTRACT

Sorting is a process to rearrange the data that arranged before are certain a pattern
that will contain regularly to facilitate the search data. By this sorting algorithm,

the data that served randomly can be arranged by regular. Sorting algoritm use in
this research are: Bucket Sort, Strand Sort and Quick Sort 2 Pivot. Bucket sort is
algoritm that use Splitting and Solve compilation an array in bucket virtual in
equally. Strand sort is algorithm that make a left array are sorting until all of array
finished to sorting. Quick sort 2 Pivot algoritm is data sorting algoritm that use
Splitting data into partitions. Programing language implementation use C#. Sorting
of data takes time so it take the time complexity analysis. The time complexity can
be calculated by the stages of sorting based on the steps of the algorithm in solving
problems and running time algorithm based on the platform being used. In this
Experiment conducted there are the advantages and disadvantages of each the
algoritms that influenced by a lot of data is sorted.

Keywords : Sorting, Bucket Sort, Strand Sort, Quick Sort 2 Pivot, Time
Complexity, running time

Universitas Sumatera Utara

viii

DAFTAR ISI


Halaman
Persetujuan
Pernyataan
Penghargaan
Abstrak
Abstract
Daftar Isi
Daftar Tabel
Daftar Gambar
Bab 1 Pendahuluan
..1.1. Latar Belakang
..1.2. Rumusan Masalah
..1.3. Batasan Masalah
..1.4. Tujuan Penelitian
..1.5. Manfaat Penelitian
..1.6. Metodologi Penelitian
1.7. Sistematika Penelitian

ii

iii
iv
vi
vii
viii
x
xi

1
2
2
3
3
3
4

Bab 2 Landasan Teori
2.1. Pengertian Algoritma
..2.2. Algoritma Pengurutan (Sorting)
. 2.3. Kompleksitas Algoritma

2.4. Growth Function
2.5. Notasi Asimptotik
2.6. Algoritma Bucket Sort
2.6.1.Pseudocode Algoritma Bucket Sort
2.7. AlgoritmaStrand Sort
2.7.1.Pseudocode Algoritma Strand Sort
2.8. Algoritma Quick Sort 2 Pivot
2.8.1. Pseudocode Algoritma Quick Sort 2 Pivot
2.9. Struktur Data
2.9. Penelitian Terdahulu

5
5
7
7
8
9
10
10
12

12
14
14
16

Bab 3 Analisis dan Perancangan Sistem
3.1. Analisis Sistem
.3.1.1 Analisis Masalah
3.2.Analisis kebutuhan sistem
3.2.1Kebutuhan fungsional
3.2.2Kebutuhan non fungsional
3.3.Analisis proses
3.4. Pemodelan sistem
3.4.1. Use Case Diagram
3.4.2.ActivityDiagram

17
17
18
18
18
19
20
20
20

Universitas Sumatera Utara

ix

3.4.3. SequenceDiagram
3.5. Flowchart Sistem
3.5.1.Flowchart Algoritma Bucket Sort
3.5.2.Flowchart Algoritma Strand Sort
3.5.3.Flowchart Algoritma Quick Sort 2 Pivot
3.6. Alur Proses Sistem
3.6.1. Alur Proses Algoritma Bucket Sort
3.6.1.1. Proses Algoritma Bucket Sort
3.6.2. Alur Proses Algoritma Strand Sort
3.6.2.1. Contoh Proses Algoritma Strand Sort
3.6.3. Alur Proses Algoritma Quick Sort 2 Pivot
3.6.3.1. Proses Algoritma Quick Sort 2 Pivot

21
22
23
24
25
26
26
27
28
28
30
30

Bab 4 Implementasi Sistem
4.1. Pendahuluan
4.2. Generate Data
4.3. Hasil Uji Coba
.4.3.1. Pengurutan pada Max item=10
4.3.2. Pengurutan Max item=500
4.3.3. Pengurutan Max item=1000
4.4. Pembahasan
4.5.Hasil Penghitungan Kompleksitas Big Tetha (�)
4.5.1.Hasil Penghitungan Big Tetha (�)Bucket Sort
4.5.2.Hasil Penghitungan Big Tetha (�)Strand Sort
4.5.3.Hasil Penghitungan Big Tetha (�)Quick Sort 2 Pivot

32
32
33
33
36
39
43
44
44
45
46

Bab 5 Penutup
5.1. Kesimpulan
5.2. Saran

48
48

Daftar Pustaka
Lampiran

Universitas Sumatera Utara

x

DAFTAR TABEL

Nomor
Tabel
1.1
1.2
4.1
4.2

Nama Tabel

Halaman

Tabel Notasi Big O
Perbedaan Mendetail antara Array dan List
Tabel Penghitungan Big Tetha Algoritma Bucket Sort
Tabel Penghitungan Big Tetha Algoritma Strand Sort

7
16
44
45

Universitas Sumatera Utara

xi

DAFTAR GAMBAR

Nomor
Gambar
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
3.10
4.1
4.2
4.3
4.4
4.5
4.6
4.7
4.8
4.9
4.10
4.11
4.12
4.13
4.14
4.15
4.16
4.17
4.18
4.19
4.20

Nama Gambar

Halaman

Diagram Ishikawa
Bentuk Dari Sorting Data
Use Case Diagram
Diagram Activity Sistem
Sequence Diagram Sistem
Flowchart Algoritma Bucket Sort
Flowchart Algoritma Strand Sort
Flowchart Algoritma Quick Sort 2 Pivot
Gambar Algoritma Bucket Sort
Gambar Algoritma Strand Sort
Diagram Ishikawa untuk Implementasi Penelitian
Tampilan Utama Sorting data
Item Tampilan hasil pada max item=10 dan max item value
=1000
Pengurutan pada max item=10 dan max item value =1000
Grafik perbandingan ketiga pengurutan untuk max item=10 dan
max item value =1000
Item Tampilan hasil pada max item=10 dan max item value
=1000000
Pengurutan pada max item=10 dan max item value =1000000
Grafik perbandingan ketiga pengurutan untuk max item=10 dan
max item value =1000000
Pengurutan pada max item=500 max item value=1000
Hasil Pengurutan pada max item=500 dan max item
value=1000
Grafik perbandingan ketiga pengurutan untuk max item=500
dan max item value =1000
Pengurutan pada max item=500 dan max item value=1000000
Hasil Pengurutan pada max item=500 dan max item
value=1000000
Grafik perbandingan ketiga pengurutan untuk max item=500
dan max item value =1000000
Pengurutan pada max item=1000 dan max item value=1000
Hasil Pengurutan pada max item=1000 dan max item
value=1000
Grafik perbandingan ketiga pengurutan untuk max item=1000
dan max item value =1000
Pengurutan pada max item=1000 dan max item value=1000000
Hasil Pengurutan pada max item=1000 dan max item
value=1000000
Grafik perbandingan ketiga pengurutan untuk max item=1000
dan max item value =1000000

18
19
20
21
22
23
24
25
27
28
32
33
34
34
35
35
36
36
37
37
38
38
40
40
40
41
41
42
43
43

Universitas Sumatera Utara