ANALISIS PERBANDINGAN ALGORITMA MERGE SORT DAN SELECTION SORT DALAM PENGURUTAN DATA ANGGOTA POLRI ADI NUGROHO SURYA WIDI 41511110055 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA JAKARTA 2017
ANALISIS PERBANDINGAN ALGORITMA MERGE SORT DAN SELECTION SORT DALAM PENGURUTAN DATA ANGGOTA POLRI Laporan Tugas Akhir Diajukan Untuk Melengkapi Persyaratan Menyelesaikan Gelar Sarjana Komputer Disusun oleh: ADI NUGROHO SURYA WIDI 41511110055 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER UNIVERSITAS MERCU BUANA JAKARTA 2017
i
ii
KATA PENGANTAR Alhamdulillahirobbil alamiin, Segala puji dan syukur ke hadirat Allah SWT yang telah melimpahkan atas berkat, rahmat, taufik dan hidayah-nya, sehingga saya dapat menyelesaikan skripsi ini dengan judul ANALISIS PERBANDINGAN ALGORITMA MERGE SORT DAN SELECTION SORT DALAM PENGURUTAN DATA ANGGOTA POLRI yang menjadi salah satu syarat untuk menyelesaikan program studi Teknik Informatika jenjang Strata-1 Universitas Mercu Buana Jakarta. Shalawat dan salam semoga senantiasa tercurah kepada junjungan dan tauladan kita Nabi Muhammad Rasulullah, keluarga, dan para sahabatmya. Penulis menyadari bahwa dalam menyelesaikan skripsi ini tidak lepas dari peran berbagai pihak yang telah banyak memberikan bantuan, nasehat, bimbingan dan dukungannya. Dalam kesempatan ini saya ingin mengucapkan banyak terima kasih dan penghargaan yang tinggi kepada : 1. Allah SWT, yang saya sadari sepenuhnya segala sesuatu atas ijin dan ridho dari Allah Subhanallah Wa Ta ala. 2. Kepada Ibunda saya yang saya cintai dan sayangi atas do a dan dukungannya kepada saya. 3. Bapak Leonard Goeirmanto, ST, M.Sc. selaku Dosen Pembimbing tugas akhir, yang telah berkenan meluangkan waktunya serta memberi dukungan dan pengarahan hingga laporan tugas akhir ini selesai. 4. Ibu Desi Ramayanti,S.kom, MT. selaku Ketua Program Studi Teknik Informatika, Universitas Mercu Buana Jakarta. 5. Bapak Dicky Firadaus, S.Kom,. MM. selaku Koordinator Tugas Akhir Jurusan Teknik Informatika, Universitas Mercu Buana Jakarta. 6. Adik saya yang telah memberikan do a, motivasi dan dorongan dalam penyelesaian skripsi ini. 7. Sahabat dan teman-teman seperjuangan Teknik Informatika Universitas Mercu Buana khususnya angkatan 2011, terima kasih atas kebersamaan kita selama ini, semoga kalian sukses selalu, aamin. iii
8. Semua pihak yang mungkin tidak bisa saya sebutkan satu persatu yang tentunya tidak mengurangi rasa cinta dan hormat saya. Akhir kata dengan segala kerendahan hati saya memohon maaf yang sebesarbesarnya atas kekurangan dan keterbatasan dalam penyusunan skripsi ini. Oleh karena itu saya mengharapkan saran dan kritik yang dapat menyempurnakan penulisan ini sehingga dapat bermanfaat dan berguna untuk pengembangan ilmu pengetahuan. Amiin. Jakarta, 15 Juni 2017 Adi Nugroho Surya Widi iv
Daftar Isi LEMBAR PERNYATAAN. i LEMBAR PENGESAHAN.....ii KATA PENGANTAR... iii ABSTRAK...v ABSTRACT....vi BAB 1 PENDAHULUAN... 1 1.1 Latar Belakang... 1 1.2 Rumusan Permasalahan... 2 1.3 Tujuan dan Manfaat Penelitian... 2 1.3.1 Tujuan Penelitian... 2 1.3.2 Manfaat Penelitian... 2 1.4 Ruang Lingkup dan Batasan Penelitian... 3 1.5 Metodologi Penelitian... 3 1.5.1 Metode Penelitian... 3 1.5.2 Metode Pengumpulan Data... 3 1.5.3 Metode Perancangan Sistem... 3 1.6 Sistematika Penulisan Laporan... 4 1.6.1 Pendahuluan... 4 1.6.2 Landasan Teori... 4 1.6.3 Analisis Sistem... 4 1.6.4 Perancangan Sistem... 4 1.6.5 Implementasi dan Pengujian... 5 1.6.6 Penutup... 5 BAB 2 LANDASAN TEORI... 6 2.1 Bahasa Pemrograman... 7 2.2 Sejarah PHP... 7 2.3 Algoritma... 8 2.4 Algoritma Sorting... 9 2.5 Algoritma Merge Sort... 9 2.6 Algoritma Selection Sort... 9 2.7 Kompleksitas (T(n)) Algoritma... 10 2.8 Notepad ++... 11 2.9 XAMPP... 12 v
2.10 MySQL... 14 2.11 Diagram Alir (flowchart)... 14 2.12 Unified Modelling Language (UML)... 15 2.13 Use Case diagram... 16 2.14 Activity Diagram... 18 2.15 Sequence diagram... 19 2.16 Metode Pengujian Black Box... 20 BAB 3 ANALISA SISTEM... 21 3.1 Analisa... 21 3.2 Analisa Merge Sort... 22 3.3 Analisa Selection Sort... 23 3.4 Analisa Perbandingan Algoritma dari Segi Kompleksitas Waktu... 24 3.4.1 Kompleksitas Merge Sort... 24 3.4.2 Kompleksitas Selection Sort... 24 3.5 Analisa Kebutuhan Software... 25 3.6 Analisa Kebutuhan Hardware... 25 3.7 Analisa Kebutuhan Data... 26 BAB 4 PERANCANGAN... 27 4.1 Perancangan Algoritma... 27 4.2 Perancangan Sistem... 27 4.3 Activity Diagram... 27 4.3.1 Proses input data... 28 4.3.2 Proses delete data... 28 4.3.3 Proses pengurutan algoritma merge sort dan algoritma selection sort... 29 4.4 Activity Diagram Proses Login... 30 4.5 Use Case Diagram... 31 4.5.1 Melakukan login... 32 4.5.2 Melakukan logout... 32 4.5.3 Melakukan input database... 33 4.5.4 Melakukan delete database... 34 4.5.5 Melakukan pengurutan data menggunakan algoritma merge sort...... 34 4.5.6 Melakukan pengurutan data menggunakan algoritma selection sort..... 35 4.6 Sequence diagram... 35 vi
4.6.1 Sequence diagram login... 35 4.6.2 Sequence diagram index... 36 4.7 Langkah langkah Penyelesaian... 37 4.8 Perancangan Basis Data... 37 4.8.1 Skema Relasi... 37 4.8.2 Struktur Tabel... 37 4.9 Perancangan Antarmuka... 39 BAB 5 IMPLEMENTASI DAN PENGUJIAN... 43 5.1 Implementasi... 43 5.2 Pengujian... 43 5.2.1 Rencana Pengujian... 43 5.2.2 Hasil Pengujian... 44 5.2.3 Kesimpulan Hasil Pengujian... 45 BAB 6 PENUTUP... 47 6.1 Kesimpulan... 47 6.2 Saran... 47 Daftar Pustaka... 48 Lampiran... 50 vii
Daftar Gambar Gambar 1 Diagram waterfall... 4 Gambar 2 Notepad++ v5.9 (Sumber: http://www.notepad-plus-plus.org/)... 11 Gambar 3 Simbol Flowchart (Sumber: www.mbaskool.com)... 15 Gambar 4 Contoh Use case Diagram... 17 Gambar 5 Contoh activity diagram (Sumber: www.lucidchart.com)... 18 Gambar 6 Contoh Squence diagram... 19 Gambar 7 Sistem kerja dai teknik pengujian black box (Sumber: https://widuri.raharja.info)... 20 Gambar 8 Flowchart perbandingan algoritma (A) merge sort dan (B) selection sort... 21 Gambar 9 Contoh pengurutan data selection sort (Sumber: Fredian Simanjuntak, 2013)... 23 Gambar 10 Activity diagram input data... 28 Gambar 11 Activity diagram delete data... 29 Gambar 12 Activity diagram pengembangan sistem dengan algoritma merge sort dan algoritma selection sort... 30 Gambar 13 Activity diagram login.php... 31 Gambar 14 Use case diagram... 31 Gambar 15 Sequence diagram login... 36 Gambar 16 Sequence diagram input data... 36 Gambar 18 Tampilan login... 39 Gambar 19 Halaman index.php... 40 Gambar 20 Tampilan lihat data... 40 Gambar 21 Tampilan edit data... 41 Gambar 22 Tampilan hasil merge sort... 42 Gambar 23 Tampilan hasil selection sort... 42 viii
Daftar Tabel Tabel 1 Perbandingan kelebihan dan kekurangan penelitian... 6 Tabel 2 Tipe diagram UML... 16 Tabel 3 Kompleksitas waktu algoritma selection sort... 25 Tabel 4 System requirements Notepad++... 26 Tabel 5 System requirements XAMPP... 26 Tabel 6 Use case login... 32 Tabel 7 Use case logout... 32 Tabel 8 Use case scenario input data... 33 Tabel 9 Use case proses delete data... 34 Tabel 10 Use case skenario merge sort... 34 Tabel 11 Use case skenario selection sort... 35 Tabel 12 Tabel login_sederhana... 38 Tabel 13 Tabel anggota... 38 Tabel 14 Tabel anggota 29... 38 Tabel 15 Tabel anggota 58... 39 Tabel 16 Rencana pengujian... 44 Tabel 17 Hasil pengujian index.php... 44 Tabel 18 Hasil uji algoritma berdasarkan execution time... 45 ix
Daftar Lampiran Lampiran 1 Sourcode login.php... 50 Lampiran 2 Sourcode index.php... 51 Lampiran 3 Sourcode merger.php... 52 Lampiran 4 selection.php... 53 Lampiran 5 lihatdata.php... 54 x