PENGEMBANGAN ALGORITMA PENGURUTAN SMS (SCAN, MOVE, AND SORT) TESIS DENNI APRILSYAH LUBIS 117038002 PROGRAM STUDI S2 TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2013
PENGEMBANGAN ALGORITMA PENGURUTAN SMS (SCAN, MOVE, AND SORT) TESIS Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh ijazah Magister Teknik Informatika DENNI APRILSYAH LUBIS 117038002 PROGRAM STUDI S2 TEKNIK INFORMATIKA FAKULTAS ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA MEDAN 2013
PERSETUJUAN Judul : PENGEMBANGAN ALGORITMA PENGURUTAN SMS (SCAN, MOVE, AND SORT) Kategori : TESIS Nama Mahasiswa : DENNI APRILSYAH LUBIS Nomor Induk Mahasiswa : 117038002 Program Studi : S2 TEKNIK INFORMATIKA Fakultas : ILMU KOMPUTER DAN TEKNOLOGI INFORMASI UNIVERSITAS SUMATERA UTARA Komisi Pembimbing : Pembimbing 2 Pembimbing 1 Dr. Marwan Ramli, M. Si Prof. Dr. Opim Salim Sitompul Diketahui/disetujui oleh Program Studi S2 Teknik Informatika Ketua, Prof. Dr. Muhammad Zarlis NIP. 19570701 198601 1 003
PERNYATAAN PENGEMBANGAN ALGORITMA PENGURUTAN SMS (SCAN, MOVE AND SORT TESIS Saya mengakui bahwa tesis ini adalah hasil karya saya sendiri, kecuali beberapa kutipan dan ringkasan yang masing-masing telah disebutkan sumbernya. Medan, 20 Juni 2013 Denni Aprilsyah Lubis NIM : 117038002
PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPENTINGAN AKADEMIS Sebagai sivitas akademika Universitas Sumatera Utara, saya yang bertanda tangan di bawah ini : Nama : Denni Aprilsyah Lubis NIM : 117038002 Program Studi : S2 Teknik Informatika Jenis Karya Ilmiah : Tesis Demi pengembangan ilmu pengetahuan, menyetujui untuk memberikan kepada Universitas Sumatera Utara Hak bebas Royalti Non-Eksklusif (non-exlusive Royalty Free Right) atas tesis saya yang berjudul PENGEMBANGAN ALGORITMA PENGURUTAN SMS (SCAN, MOVE, AND SORT) Beserta perangkat yang ada (jika diperlukan). Dengan Hak Bebas Royalti Non- Eksklusif ini, Universitas Sumatera Utara berhak menyimpan, mengalih media, memformat, mengelola dalam bentuk data-base, merawat dan mempublikasikan Tesis saya tanpa meminta izin dari saya selama tetap mencantumkan nama saya sebagai penulis dan sebagai pemegang dan atau sebagai pemilik hak cipta. Demikian pernyataan ini dibuat dengan sebenarnya. Medan, 20 Juni 2013 Denni Aprilsyah Lubis NIM 117038002
Telah diuji pada Tanggal : 20 Juni 2013 PANITIA PENGUJI TESIS Ketua Anggota : Prof. Dr. Opim Salim Sitompul : 1. Prof. Dr. Muhammad Zarlis 2. Prof. Dr. Herman Mawengkang 3. Dr. Marwan Ramli, M. Si 4. Dr. Zakarias Situmorang
RIWAYAT HIDUP DATA PRIBADI Nama lengkap berikut gelar : Denni Aprilsyah Lubis, ST, M. Kom Tempat dan Tanggal Lahir : Sibolga, 06 April 1982 Alamat Rumah : Jl. Diponegoro No. 15 Sibolga HP : 085270690202 e-mail : denni.lubis@gmail.com Instansi Tempat Bekerja : SMK Negeri 1 Sibolga Alamat Kantor : Jl. FL. Tobing No.33 Kota Sibolga DATA PENDIDIKAN SD : SD Muhammadiyah 3 Sibolga Tamat : 1993 SMP : SMP Negeri 3 Sibolga Tamat : 1996 SMA : SMKTI Negeri 1 Sibolga Tamat : 1999 S-1 : Teknik Informatika STTH Medan Tamat : 2008 S-2 : Teknik Informatika USU Tamat : 2013
i UCAPAN TERIMA KASIH Pertama-tama kami panjatkan puji syukur kehadirat Allah SWT, atas segala limpahan rahmat dan karunia-nya sehingga tesis ini dapat diselesaikan tepat pada waktunya. Dengan selesainya tesis ini, perkenanlah saya mengucapkan terima kasih yang sebesar-besarnya kepada : Rektor Universitas Sumatera Utara, Prof. Dr. dr. Syahril Pasaribu, DTM&H, M.Sc (CTM), Sp. A(K) atas kesempatan yang diberikan kepada saya untuk mengikuti dan menyelesaikan pendidikan Program Magister. Dekan Fakultas Ilmu Komputer dan Teknologi Informasi Universitas Sumatera Utara Prof. Dr. Muhammad Zarlis atas kesempatan yang diberikan kepada saya menjadi mahasiswa Program Magister pada Program Pascasarjana FASILKOM- TI Universitas Sumatera Utara. Ketua Program Studi Magister (S2) Teknik Informatika, Prof. Dr. Muhammad Zarlis dan sekretaris Program Studi Magister (S2) Teknik Informatika M. Andri Budiman, S.T, M.Comp, M.E.M beserta seluruh staff pengajar pada Program Studi Magister (S2) Teknik Informatika Program Pascasarjana FASILKOM-TI Universitas Sumatera Utara. Terimakasih yang tak terhingga dan penghargaan setinggi-tingginya saya ucapkan kepada Prof. Dr. Opim Salim Sitompul, selaku pembimbing utama dan kepada Dr. Marwan Ramli, M. Si, selaku pembimbing lapangan yang dengan penuh kesabaran membimbing saya hingga selesainya tesis ini dengan baik. Terimakasih yang tak terhingga dan penghargaan setinggi-tingginya saya ucapkan kepada Prof. Dr. Muhammad Zarlis, Prof. Dr. Herman Mawengkang dan Dr. Zakarias Situmorang, sebagai pembanding yang telah memberikan saran dan masukan serta arahan yang baik demi penyelesaian tesisi ini. Staff Pegawai dan Administrasi pada Program Studi Magister (S2) Teknik Informatika Program Pascasarjana FASILKOM-TI Universitas Sumatera Utara yang telah memberikan bantuan dan ipelayanan terbaik kapada penulis selama mengikuti perkuliahan hingga saat ini. Kepada Ayahanda Amrilsyah P. Tagor Lubis, Bunda Sensualita Pasaribu selaku orang tua, serta kepada seluruh keluarga besar yang tidak dapat saya sebutkan
ii satu persatu, terimakasih atas segala pengorbanannya, baik moril maupun materil budi baik ini tidak dapat dibalas hanya diserahkan kepada Allah SWT. Rekan mahasiswa/i angkatan ketiga tahun 2011 pada Program Pascasarjana Fasilkom-TI Universitas Sumatera Utara yang telah banyak membantu penulis baik berupa dorongan semangat dan doa selama mengikuti perkuliahan. Seluruh pihak yang tidak dapat penulis sebutkan satu persatu dalam tesis ini, terimakasih atas segala bantuan dan doa yang diberikan. Dengan segala kekurangan dan kerendahan hati, sekali lagi penulis mengucapkan terimakasih. Semoga kiranya Allah SWT membalas segala bantuan dan kebaikan yang telah kalian berikan. Medan, 20 Juni 2013 Denni Aprilsyah Lubis NIM 117038002
iii ABSTRAK Pengurutan data telah menjadi bidang penelitian yang sangat besar bagi para peneliti algoritma. Banyak sumber daya yang diinvestasikan untuk membuat algoritma pengurutan data bekerja lebih baik. Untuk tujuan ini banyak algoritma pengurutan yang diamati dalam hal efisiensi kompleksitas algoritma. Algoritma pengurutan data yang efisien sangat penting untuk mengoptimalkan penggunaan algoritma lain yang memerlukan daftar data yang sudah diurutkan untuk dapat bekerja dengan benar. Pengurutan data telah dianggap sebagai masalah mendasar dalam bidang ilmu algoritma, dikarenakan berbagai alasan yakni, kebutuhan untuk pengurutan informasi yang terdapat dalam banyak aplikasi, algoritma lain banyak menggunakan pengurutan data sebagai subrutin kunci, dalam mendesain algoritma banyak teknik penting direpresentasikan dalam tubuh algoritma pengurutan dan banyak isu rekayasa yang timbul ketika menerapkan algoritma pengurutan. Banyak algoritma yang sangat terkenal untuk pengurutan data, dan salah satu dari algoritma yang terkenal tersebut yang menjadikan proses pengurutan data menjadi lebih ekonomis dan efisien adalah algoritma Quicksort yang ditemukan Hoare R pada tahun 1962. Kemudian pada tahun 2010, Rami Mansi menemukan algoritma SMS (Scan, Move and Sort), yang merupakan peningkatan algoritma Quicksort. Pada penelitian ini penulis membangun sebuah algoritma pengurutan yang merupakan pengembangan dari algoritma SMS.
iv ENHANCED SMS (SCAN, MOVE AND SORT) ALGORITHM ABSTRACT Sorting has been a profound area for the algorithmic researchers. And many resources are invested to suggest a more working sorting algorithm. For this purpose many existing sorting algorithms were observed in terms of the efficiency of the algorithmic complexity. Efficient sorting is important to optimize the use of other algorithms that require sorted lists to work correctly. sorting has been considered as a fundamental problem in the study of algorithms that due to many reasons namely, the need to sort information is inherent in many applications, algorithms often use sorting as a key subroutine, in algorithm design there are many essential techniques represented in the body of sorting algorithms, and many engineering issues come to the fore when implementing sorting algorithms., Many algorithms are very well known for sorting the unordered lists, and one of the well-known algorithms that make the process of sorting to be more economical and efficient is Quicksort algorithm invented Hoare R in 1962. Later in 2010, Rami Mansi find SMS (Scan, Move and Sort) algorithm, an enhancement of Quicksort algorithm. In this study, the authors build a sorting algorithm which is an enhanced of SMS algorithm.
v DAFTAR ISI Hal UCAPAN TERIMA KASIH i ABSTRAK iii ABSTRACT iv DAFTAR ISI v DAFTAR TABEL vii DAFTAR GAMBAR viii BAB I PENDAHULUAN 1 1.1. Latar Belakang 1 1.2. Penelitian Sebelumnya 3 1.3. Rumusan Masalah 4 1.4. Batasan Masalah 4 1.5. Tujuan Penelitian 4 1.6. Manfaat Penelitian 4 BAB II TINJAUAN PUSTAKA 6 2.1. Algoritma 6 2.2. Kompleksitas Algoritma 7 2.3. Kompleksitas Waktu 7 2.4. Kompleksitas Waktu Asimptotik 8 2.5. Kompleksitas Ruang Memori 9 2.6. Algoritma Pengurutan 9 2.7. Klasifikasi Algoritma Pengurutan 9 2.8. Algoritma SMS (Scan, Move, and Sort) 10 2.9. Konsep Algoritma SMS 11 2.10. Langkah-Langkah Algoritma SMS 11 2.11. Pseudocode Algoritma SMS 12 2.12. Kompleksitas Waktu Algoritma SMS 15 2.12.1. Kompleksitas Waktu Prosedur Scan 15 2.12.1. Kompleksitas Waktu Prosedur Move 15
vi 2.12.1. Kompleksitas Waktu Prosedur Sort 16 2.13. Kompleksitas Ruang Memori Algoritma SMS 17 BAB III METODOLOGI PENELITIAN 18 3.1. Lingkungan Penelitian 18 3.2. Teknik Pengembangan 18 3.2.1. Pengembangan Prosedur Scan 18 3.2.2. Pengembangan Prosedur Move 20 3.2.3. Pengembangan Prosedur Sort 22 3.3. Proses Analisis 25 3.3.1. Analisis Kompleksitas Waktu Pengembangan Prosedur Scan 25 3.3.2. Analisis Kompleksitas Waktu Pengembangan Prosedur Move 25 3.3.3. Analisis Kompleksitas Waktu Pengembangan Prosedur Sort 26 3.3.4. Analisis Kompleksitas Ruang Pengembangan Algoritma SMS 27 3.4. Perancangan Program 28 3.5. Instrumen Penelitian 30 BAB IV HASIL DAN PEMBAHASAN 31 4.1. Pengantar 31 4.2. Data Uji 33 4.3. Hasil Pengujian 35 4.3.1. Hasil Pengujian Untuk 50.000 (Lima Puluh Ribu) Data 35 4.3.2. Hasil Pengujian Untuk 50.000 (Lima Puluh Ribu) Data 36 4.4. Pembahasan 38 4.4.1. Pembahasan hasil pengujian untuk 50.000 (lima puluh ribu) data 39 4.4.1. Pembahasan hasil pengujian untuk 100.000 (seratus ribu) data 39 BAB V KESIMPULAN DAN SARAN 40 5.1. Kesimpulan 40 5.2. Saran 41 DAFTAR KEPUSTAKAAN 42 LAMPIRAN LISTING PROGRAM ALGORITMA SMS 43 LAMPIRAN LISTING PROGRAM PENGEMBANGAN ALGORITMA SMS 47
vii DAFTAR TABEL Tabel 1.1. Riset Terkait 3 Tabel 2.1. Perbandingan pertumbuhan T (n) dengan Hal 2 n 8 Tabel 4.1. Karakteristik 20 Set Data Integer Untuk 50.000 (lima puluh ribu) Data/Set 33 Tabel 4.2. Karakteristik 20 Set Data Integer Untuk 100.000 (seratus ribu) Data/Set 34 Tabel 4.3. Hasil Pengujian Untuk 50.000 (lima puluh ribu) Data 36 Tabel 4.4. Hasil Pengujian Untuk 100.000 (seratus ribu) Data 37
viii DAFTAR GAMBAR Hal Gambar 3.1. Flowchart Perancangan Program Algoritma SMS 28 Gambar 3.2. Flowchart Perancangan Program Pengembangan Algoritma SMS 29 Gambar 4.1. Tampilan Output Program Pengurutan Data Menggunakan Algoritma SMS 31 Gambar 4.2. Tampilan Output Program Pengurutan Data Menggunakan Pengembangan Algoritma SMS 32 Gambar 4.3. Contoh Tampilan Hasil Output Program Untuk Algoritma SMS 32 Gambar 4.4. Contoh Tampilan Hasil Output Program Untuk Algoritma SMS 33 Gambar 4.5. Grafik Hasil Pengujian 50.000 (lima puluh ribu) Data 38 Gambar 4.6. Grafik Hasil Pengujian 100.000 (seratus ribu) Data 38