PERBANDINGAN ALGORITMA COCKTAIL SHAKER SORT DAN 4 WAY MERGE SORT DALAM PENGURUTAN DATA SKRIPSI WINDA PERMATA SARI 131421068 PROGRAM S-1 EKSTENSI ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2016
PERBANDINGAN ALGORITMA COCKTAIL SHAKER SORT DAN 4 WAY MERGE SORT DALAM PENGURUTAN DATA SKRIPSI Diajukan untuk melengkapi tugas dan memenuhi syarat mencapai gelar Sarjana Komputer WINDA PERMATA SARI 131421068 ` PROGRAM S-1 EKSTENSI ILMU KOMPUTER FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2016
PERSETUJUAN Judul : PERBANDINGAN ALGORITMA COCKTAIL SHAKER SORT DAN 4 WAY MERGE SORT DALAM PENGURUTAN DATA Kategori : SKRIPSI Nama : WINDA PERMATA SARI Nomor Induk Mahasiswa : 131421068 Program Studi : SARJANA (S1) ILMU KOMPUTER Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI (FASILKOM-TI) UNIVERSITAS SUMATERA UTARA Diluluskan di Medan, Agustus 2016 Komisi Pembimbing Pembimbing 2 Pembimbing 1 Drs. Marihat Situmorang, M.Kom Drs. James Piter Marbun, M.Kom NIP. 196312141989031001 NIP. 1958061119860310002 Diketahui/Disetujui oleh Program Studi S1 Ilmu Komputer Ketua, Dr. Poltak Sihombing, M.Kom NIP. 196203171991031011
PERNYATAAN ANALISIS PERBANDINGAN ALGORITMA COCKTAIL SHAKER SORT DAN 4 WAY MERGE SORT DALAM PENGURUTAN DATA SKRIPSI Saya menyatakan bahwa skripsi ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing disebutkan sumbernya. Medan, Agustus 2016 WINDA PERMATA SARI 131421068
PENGHARGAAN Puji dan syukur penulis ucapkan kehadirat Tuhan Yang Maha Esa yang telah melimpahkan segala rahmat dan berkat-nya sehingga penulis dapat menyelesaikan skripsi yang berjudul: Perbandingan Algoritma Cocktail Shaker Sort dan 4 Way Merge Sort dalam Pengurutan Data sebagai syarat untuk memperoleh gelar Sarjana Komputer, pada Program Studi Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi. Skripsi ini tidak dapat terselsaikan dengan baik tanpa adanya bantuan dari pihak-pihak lain. Oleh karena itu, penulis ingin menyampaikan rasa terima kasih dan penghargaan yang sebesar-besarnya kepada semua pihak yang telah memberikan bimbingan dan dukungan terutama kepada: 1. Bapak Prof. Dr. Runtung Sitepu SH, M.Hum, selaku Rektor Universitas Sumatera Utara. 2. Bapak Prof. Dr. Opim Sitompul, M.Si., selaku Dekan Fakultas Ilmu Komputer dan Teknologi Informasi,. 3. Bapak Dr. Poltak Sihombing, M.Kom, selaku Ketua Program Studi Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara. 4. Ibu Maya Silvi Lydia, B.Sc., M.Sc selaku Sekretaris Program Studi S1 Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi, Universitas Sumatera Utara. 5. Bapak Drs. James Piter Marbun, M.Kom selaku dosen pembimbing 1 yang telah banyak meluangkan waktunya dalam memberikan masukan-masukan, baik kritik dan saran kepada penulis selama pembuatan sampai penyelesaian skripsi ini. 6. Drs. Marihat Situmorang, M.Kom selaku dosen pembimbing 2 yang telah banyak meluangkan waktunya dalam memberikan masukan-masukan, baik kritik dan saran kepada penulis selama pembuatan sampai penyelesaian skripsi ini. 7. Bapak Prof. Dr. Iryanto, M.Si, selaku dosen pembanding 1 yang memberikan banyak masukan kepada penulis. 8. Bapak M. Andri Budiman, ST, M.Comp.Sc, M.E.M selaku dosen pembanding 2 yang telah meluangkan waktu dan memberikan banyak masukan kepada penulis.
9. Seluruh dosen serta pegawai di Program Studi S1 Ilmu Komputer, Fakultas Ilmu Komputer dan Teknologi Informasi,. 10. Orang tua dan seluruh keluarga penulis yang selalu memberikan dukungan, doa, dan motivasi yang tak ternilai harganya. 11. Seluruh teman Ekstensi S1 Ilmu Komputer Stambuk 2013 khususnya KOM B 2013 yang selama ini telah menjadi keluarga dan sahabat penulis, teristimewa sahabat penulis Rudy Herbet Sianturi, Ploren Peronica Pasaribu, Kak Rofika, Citra Meidhantine Utami, dan Asrul Tarigan. Penulis menyadari masih terdapat kekurangan dan masih jauh dari sempurna. Oleh karena itu, penulis mengharapkan kritik dan saran yang bersifat membangun demi perbaikan dan penyempurnaan skripsi ini. Semoga skripsi ini bermanfaat bagi semua pihak yang membacanya guna menambah wawasan. Medan, Agustus 2016 Winda Permata Sari
PERBANDINGAN ALGORITMA COCKTAIL SHAKER SORT DAN 4 WAY MERGE SORT DALAM PENGURUTAN DATA ABSTRAK Pengurutan merupakan hal yang sangat penting dalam perkembangan Teknologi Informasi dan Komunikasi karena memberikan pengaruh yang besar dalam pengolahan data. Pemecahan permasalahan pengolahan data dapat menjadi lebih efektif dan efisien apabila data sudah dalam keadaan terurut. Oleh karena itu, algoritma pengurutan dibutuhkan untuk mengurutkan data dengan cepat dan tepat. Dalam suatu algoritma perlu diperhatikan efisiensinya karena semakin efisien suatu algoritma, maka saat dieksekusi dan dijalankan akan menghabiskan waktu yang lebih cepat. Efisiensi algoritma dinyatakan dengan kompleksitas algoritma. Maka dibangunlah sistem untuk menganalisis algoritma pengurutan dengan menggunakan cocktail shaker sort dan 4 way merge sort. Berdasarkan sistem yang telah dibuat dengan memasukkan jumlah data yang dinginkan akan diperoleh waktu eksekusi, grafik dan kompleksitas algoritma pengurutan data tersebut sehingga dapat diketahui algoritma mana yang lebih efektif untuk digunakan. Kata Kunci : Algoritma Pengurutan, Kompleksitas Algoritma, Cocktail Shaker Sort, 4 Way Merge Sort
COMPARISON OF COCKTAIL SHAKER SORT AND 4 WAY MERGE SORT ALGORITHMS IN DATA SORTING ABSTRACT Sorting is very important in the development of Information and Communication Technology for a big impact in data processing. Solving the problems of data processing can be more effective and efficient when data is already in a state of sequences. Therefore, the algorithm is needed to sort data quickly and accurately. An algorithm is needed to consider the efficiency because the more efficient an algorithm, the quickly it generates result. Algorithm efficiency is expressed by the complexity of the algorithm. Thus, system is built for analyzing sorting algorithms by using cocktail shaker sort and 4 way merge sort. Based of the system that has been created by entering the desired amount of data will be obtained by the time of execution, graphics and complexity algorithms of data sorting so it can know which was more effective algorithm to be used. Keywords: Sorting Algorithms, Complexity Algorithm, Cocktail Shaker Sort, 4 Way Merge Sort
DAFTAR ISI Persetujuan Pernyataan Penghargaan Abstrak Abstract Daftar Isi Daftar Tabel Daftar Gambar Halaman ii iii iv vi vii viii x xi BAB 1 PENDAHULUAN 1 1.1. Latar Belakang 1 1.2. Rumusa n Masalah 2 1.3. Batasan Masalah 2 1.4. Tujuan Penelitian 2 1.5. Manfaat Penelitian 3 1.6. Metodol ogi Penelitian 3 1.7. Sistema tika Penulisan 4 BAB 2 LANDASAN TEORI 5 2.1. Algoritma 5 2.2. Pengurutan 6 2.3. Klasifikasi Algoritma Pengurutan 7 2.4. Algoritma Cocktail Shaker Sort 8 2.5. Algoritma 4 Way Merge Sort 11 2.6. Pseudocode 12 2.6.1. Pseudocode cocktail shaker sort 12 2.6.2. Pseudocode 4 way merge sort 13 2.7. Flowchart 14 2.8. Running Time 15 2.9. Kompleksitas Waktu 15 2.10. Metode Pemodelan UML 16 2.10.1. Use case diagram 17 2.10.2. Activity diagram 18 2.10.3. Sequence diagram 19 BAB 3 ANALISIS DAN PERANCANGAN SISTEM 21 3.1. Analisis Sistem 21
3.1.1. Analisis masalah 21 3.1.2. Analisis kebutuhan 22 3.1.2.1. Kebutuhan fungsional 22 3.1.2.2. Kebutuhan non-fungsional 23 3.2. Pemodelan Sistem 23 3.2.1. Use case diagram 24 3.2.2. Activity diagram 25 3.2.3. Sequence diagram 26 3.3. Perancangan Sistem 26 3.3.1. Flowchart sistem 27 3.3.2. Flowchart algoritma cocktail shaker sort 28 3.3.2. Flowchart algoritma 4 way merge sort 29 3.4. Perancangan Struktur Tabel 29 3.5. Perancangan Antarmuka 31 3.5.1. Menu utama 31 3.5.2. Menu file 32 3.5.3. Menu algoritma 33 3.5.4 Menu chart 35 BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM 38 4.1. Implementasi Sistem 38 4.1.1. Menu utama 38 4.1.2. Sorting dengan algoritma cocktail shaker sort 39 4.1.3. Sorting dengan algoritma 4 way merge sort 45 4.2. Pengujian Sistem 51 4.2.1. Analisis proses algoritma cocktail shaker sort 51 4.2.2. Analisis kompleksitas waktu cocktail shaker sort 56 4.2.3. Analisis proses algoritma 4 way merge sort 57 4.2.4. Analisis kompleksitas waktu 4 way merge sort 58 4.3. Hasil Pengujian Sistem 60 4.3.1. Hasil pengujian algoritma cocktail shaker sort 60 4.3.2. Hasil pengujian algoritma 4 way merge sort 61 BAB 5 KESIMPULAN DAN SARAN 62 5.1. Kesimpulan 62 5.2. Saran 62
DAFTAR TABEL Halaman Tabel 2.1. Simbol-Simbol Flowchart 14 Tabel 2.2. Pengklasifikasian dalam Use Case Diagram 17 Tabel 2.3. Tabel Relasi-relasi dalam Use Case Diagram 18 Tabel 2.4. Jenis-Jenis State 19 Tabel 2.5. Notasi/simbol Sequence Diagram 20 Tabel 3.1. Struktur Tabel Angka 29 Tabel 3.2. Struktur Tabel Cocktail 30 Tabel 3.3. Struktur Tabel waktu_cocktail 30 Tabel 3.4. Struktur Tabel way1 30 Tabel 3.5. Struktur Tabel way2 30 Tabel 3.6. Struktur Tabel way3 30 Tabel 3.7. Struktur Tabel way4 31 Tabel 3.8. Struktur Tabel way_akhir 31 Tabel 3.9. Struktur Tabel waktu_4merge 31 Tabel 3.10. Keterangan Rancangan Menu Utama 32 Tabel 3.11. Tabel Perancangan Algoritma Cocktail Shaker Sort 33 Tabel 3.12. Tabel Perancangan Algoritma 4 Way Merge Sort 34 Tabel 3.13. Tabel Perancangan Chart Algoritma Cocktail Shaker Sort 36 Tabel 3.14. Tabel Perancangan Chart Algoritma 4 Way Merge Sort 36 Tabel 3.15. Tabel Perancangan Chart Perbandingan 37 Tabel 4.1. Tabel Proses Algoritma 4 Way Merge Sort 59 Tabel 4.2. Tabel Hasil Pengujian Algoritma Cocktail Shaker Sort 60 Tabel 4.3. Tabel Hasil Pengujian Algoritma 4 Way Merge Sort 61
DAFTAR GAMBAR Halaman Gambar 2.1. Proses pengurutan data menggunakan cocktail shaker sort 11 Gambar 2.2. Proses pengurutan menggunakan algoritma 4 way merge sort 12 Gambar 3.1. Diagram Ishikawa 22 Gambar 3.2. Use Case Diagram 24 Gambar 3.3. Activity Diagram 25 Gambar 3.4. Sequence Diagram 26 Gambar 3.5. Flowchart Sistem 27 Gambar 3.6. Flowchart Algoritma Cocktail Shaker Sort 28 Gambar 3.7. Flowchart Algoritma 4 Way Merge Sort 29 Gambar 3.8. Perancangan Menu Utama 32 Gambar 3.9. Perancangan Menu Algoritma Cocktail Shaker Sort 33 Gambar 3.10. Perancangan Menu Algoritma 4 Way Merge Sort 34 Gambar 3.11. Perancangan Menu Chart Algoritma Cocktail Shaker Sort 35 Gambar 3.12. Perancangan Menu Chart Algoritma 4 Way Merge Sort 36 Gambar 3.13. Perancangan Menu Chart Perbandingan 37 Gambar 4.1. Tampilan Menu Utama 39 Gambar 4.2. Tampilan Sorting dengan Algoritma Cocktail Shaker Sort 39 Gambar 4.3. Sorting Algoritma Cocktail Shaker Sort n = 10 40 Gambar 4.4. Sorting Algoritma Cocktail Shaker Sort n = 50 40 Gambar 4.5. Sorting Algoritma Cocktail Shaker Sort n= 100 41 Gambar 4.6. Sorting Algoritma Cocktail Shaker Sort n=500 41 Gambar 4.7. Sorting Algoritma Cocktail Shaker Sort n=1000 42 Gambar 4.8. Sorting Algoritma Cocktail Shaker Sort n = 5000 42 Gambar 4.9. Sorting Algoritma Cocktail Shaker Sort n = 10000 43 Gambar 4.10. Sorting Algoritma Cocktail Shaker Sort n = 50000 43 Gambar 4.11. Sorting Algoritma Cocktail Shaker Sort n = 100000 44 Gambar 4.12. Grafik Algoritma Cocktail Shaker Sort 44 Gambar 4.13. Tampilan Sorting dengan Algoritma 4 Way Merge Sort 45 Gambar 4.14. Sorting Algoritma 4 Way Merge Sort n = 10 46 Gambar 4.15. Sorting Algoritma 4 Way Merge Sort n = 50 46 Gambar 4.16. Sorting Algoritma 4 Way Merge Sort n = 100 47 Gambar 4.17. Sorting Algoritma 4 Way Merge Sort n = 500 47 Gambar 4.18. Sorting Algoritma 4 Way Merge Sort n = 1000 48 Gambar 4.19. Sorting Algoritma 4 Way Merge Sort n = 5000 48 Gambar 4.20. Sorting Algoritma 4 Way Merge Sort n = 10000 49 Gambar 4.21. Sorting Algoritma 4 Way Merge Sort n = 50000 49 Gambar 4.22. Sorting Algoritma 4 Way Merge Sort n = 100000 50 Gambar 4.23. Grafik Algoritma 4 Way Merge Sort 50 Gambar 4.24. Grafik Perbandingan 51 Gambar 4.25. Analisis kompleksitas algoritma 4 way merge sort 58