BAB 1 PENDAHULUAN. Universitas Sumatera Utara

dokumen-dokumen yang mirip
BAB 2 LANDASAN TEORI

Penerapan Algoritma Bucket Sort Untuk melakukan Pengurutan n buah Bilangan Mata Kuliah Pemrosesan Paralel

BAB I PENDAHULUAN Latar Belakang

STRATEGI DIVIDE AND CONQUER

BAB 2 LANDASAN TEORI

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

BAB I PENDAHULUAN.

BAB VII ALGORITMA DIVIDE AND CONQUER

ANALISIS PERBANDINGAN METODE ALGORITMA QUICK SORT DAN MERGE SORT DALAM PENGURUTAN DATA TERHADAP JUMLAH LANGKAH DAN WAKTU

ANALISIS PERBANDINGAN ALGORITMA BUBBLE SORT, MERGE SORT, DAN QUICK SORT DALAM PROSES PENGURUTAN KOMBINASI ANGKA DAN HURUF

BAB 2 LANDASAN TEORI

Quick Sort dan Merge Sort. Arna Fariza Yuliana Setiowati

METODE DEVIDE AND CONQUER

STRUKTUR DATA. Nama : Sulfikar Npm : STMIK Handayani Makassar

Kompleksitas Algoritma Dalam Algoritma Pengurutan

BAB 8 SORTIR. Pengurutan data (sorting) adalah suatu proses untuk menyusun kembali himpunan obyek menggunakan aturan tertentu.

Sorting Algorithms. Algoritma dan Struktur Data. Sorting algorithms

BAB 2 TINJAUAN PUSTAKA

Kompleksitas Algoritma Sorting yang Populer Dipakai

PERTEMUAN 10 METODE DEVIDE AND CONQUER

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 2: 16 Mei 2016

Algoritma Sorting. Ahmad Kamsyakawuni, S.Si, M.Kom. Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Jember

Algoritma Bubble Sort dan Quick Sort

Modul Praktikum 6 Pemograman Berorientasi Objek

KOMPARASI ALGORITMA QUICKSORT DAN BUCKET SORT PENGURUTAN DATA INTEGER MENGGUNAKAN BAHASA C++

Perbandingan Performa Kombinasi Algoritma Pengurutan Quick-Insertion Sort dan Merge-Insertion Sort

Analisis Kompleksitas Waktu Untuk Beberapa Algoritma Pengurutan

Powered by icomit.wordpress.com

STRUKTUR DATA SORTING ARRAY

PERTEMUAN 10 METODE DEVIDE AND CONQUER

STRUKTUR DATA KULIAH KE : 3 ALGORITMA

Pengertian Algoritma Pengurutan

Decrease and Conquer

Perbandingan Kecepatan/Waktu Komputasi Beberapa Algoritma Pengurutan (Sorting)

TELAAH WAKTU EKSEKUSI PROGRAM TERHADAP KOMPLEKSITAS WAKTU ALGORITMA BRUTE FORCE DAN DIVIDE AND CONQUER DALAM PENYELESAIAN OPERASI LIST

ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT

Outline STRUKTUR DATA. VII. Sorting

: Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Sorting. Quick Sort

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

BAB 3 ANALISA SISTEM

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Sorting. Struktur Data dan Algoritma. Suryana Setiawan, Ruli Manurung & Ade Azurat (acknowledgments: Denny) Fasilkom UI

SORTING (Pengurutan)

Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort

Perbandingan Algoritma Pengurutan Merge Sort, Quick Sort dan Heap Sort Dilihat dari Kompleksitasnya

Komparasi Algoritma Quicksort dan Bucket Sort pada Pengurutan Data Integer

BAB III METODE PENELITIAN. Metode penelitian merupakan suatu prosedur beserta tahapan-tahapan yang

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT

Penyelesaian Barisan Rekursif dengan Kompleksitas Logaritmik Menggunakan Pemangkatan Matriks

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

Design and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 07

Modul 8 SORTING (PENGURUTAN)

Analisis Kecepatan Sorting Dengan Notasi Big O

Setelah mempelajari topik Analisis Algoritma di kuliah SDA, ada beberapa kompetensi yang perlu Anda kuasai:

Bab Tujuan. 6.2 Insertion Sort

Array ARRAY BERDIMENSI SATU. Representasi (Pemetaan) di memori. Lihat gambar dibawah ini, nilai data A (18) dismpan mulai dari alamat 1136 di memori.

Algoritma Transposisi (Bubble Sort/pengurutan gelembung)

SORTING (BAGIAN II) Proses kelima

STRUKTUR DATA (3) sorting array. M.Cs

Heap Tree dan Kegunaannya dalam Heap Sort

BAB VI SORTIR ATAU PENGURUTAN

BAB VI Pengurutan (Sorting)

QUICKSORT: METODE PENGURUTAN ARRAY SATU DIMENSI YANG CEPAT DAN EFISIEN. (Quicksort: Quick and Efficient One-Dimension Array Sorting Method)

BAB 1 PENDAHULUAN Latar Belakang

BAB V SORT. Proses penukaran tidak dapat langsung dilakukan dengan cara : nilai[1] = nilai[2]; nilai[2] = nilai[1];

SORTING ALGORITMA. Bubble Sort JANUARY 14, 2016

PENGGUNAAN ALGORITMA DIVIDE AND CONQUER UNTUK OPTIMASI KONVERSI BILANGAN DESIMAL KE BINER

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

BAB 1 PENDAHULUAN Latar Belakang

Gambar 13.1 Ilustrasi proses algoritma sorting

Sorting Algorithms. Definisi

Syarat dan Ketentuan yang berlaku:

Politeknik Elektronika Negeri Surabaya

SORTING ARRAY FAKULTAS TEKNOLOGI INFORMASI UNISBANK SEMARANG : ANDY KRISTIANTO : Disusun Oleh :

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

MAKALAH ALGORITMA DIVIDE AND CONQUER


Sorting Algorithms. Divide and Conquer

7. SORTING DAN SEARCHING

Solusi UTS Stima. Alternatif 1 strategi:

Penggunaan Metode Binary Search Pada Translator Bahasa Indonesia Bahasa Jawa

A. TUJUAN PEMBELAJARAN

Kompleksitas Algoritma Rank Sort dan Implementasi pada Parallel Programming Dengan Menggunakan OpenMP

BAB 1 PENDAHULUAN. 1.1 Latar Belakang

Algoritma Divide and Conquer

ALGORITMA PENGURUTAN & PENCARIAN

BAB I PENDAHULUAN. terbuka bagi setiap orang. Informasi tersebut terkadang hanya ditujukan bagi

Penerapan Algoritma Divide and Conquer Dalam Komputasi Paralel

3.2 METODE PERBANDINGAN EKSPONENSIAL

Algoritma Heap Sort. Sekolah Teknik Elektro & Informatika Departemen Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung

BAB I PENDAHULUAN. 1.1 Latar Belakang Masalah

1. PENDAHULUAN 1.1. LATAR BELAKANG MASALAH

APLIKASI PERENCANA BELANJA DENGAN PENGURUTAN SKALA PRIORITAS BERBASIS ANDROID

Sorting (Bubble Sort)

BAB II TINJAUAN PUSTAKA

Praktikum 9. Pengurutan (Sorting) Quick Sort, Merge Sort

Dalam tugas akhir ini dibatasi penulisan dan penelitian pada:

BAB I PENDAHULUAN 1.1. Latar Belakang

SORTING DENGAN ALGORITMA DIVIDE AND CONQUER

Transkripsi:

1 BAB 1 PENDAHULUAN 1.1 Latar Belakang Pencarian sebuah dokumen akan lebih cepat apabila informasi mengenai dokumen yang dicari tersebut telah diurutkan terlebih dahulu daripada saat kita akan mencari data yang belum diurutkan. Sehingga proses pengurutan data (sorting) merupakan salah satu bagian penting dan proses pencarian informasi. Oleh karena itu untuk memudahkan proses pencarian akan dilakukan terlebih dahulu proses pengurutan data. Sehingga banyak permintaan untuk membuat program untuk mempermudah pekerjaan dalam bidang-bidang tertentu, yakni dalam hal pengurutan data. Dari program pengurutan data terdapat algoritma-algoritma yang digunakan untuk mengurutkan sebuah data, seperti Bucket Sort, Strand Sort dan Quick Sort 2 Pivot. Pengurutan data atau sorting merupakan salah satu jenis operasi penting dalam pengolahan data. Hampir setiap saat dalam kehidupan sehari-hari sering dijumpai permasalahan-permasalahan yang harus diselesaikan dengan melibatkan operasi pengurutan data. Begitu pentingnya operasi tersebut, sehingga sampai saat ini telah banyak dikembangkan metode-metode pengurutan data dan mungkin akan tetap bermunculan metode-metode baru. Adapun kelebihan sorting adalah untuk memudahkan dalam pencarian data, dan juga agar data lebih sistematis karena datanya sudah berurut. Sehingga metode pengurutan dengan menggunakan sorting sangat bermanfaat dalam pencarian data. Algoritma Bucket Sort merupakan salah satu bentuk algoritma divide and conquer melalui metode partisi dan berjalan dalam keadaan waktu linier (Wilkinson & Allen, 2005). Secara teoritis proses pengurutan dilakukan dengan membagi dan memecahkan himpunan array kedalam beberapa ember virtual secara merata. Algoritma divide and conquer sudah lama diperkenalkan sebagai sumber dari pengendali proses paralel, karena masalah-masalah yang terjadi dapat diatasi secara independen. Banyak arsitektur dan bahasa pemrograman paralel mendesain implementasinya (aplikasi) dengan struktur dasar dari algoritma devide & conguer

2 Algoritma Strand sort adalah sebuah algoritma pengurutan yang bekerja dengan berulang kali menarik sub list dari daftar yang akan diurutkan dan menggabungkan data dengan array hasil. Pada proses iterasi, data disortir mengeluarkan serangkaian elemen yang telah tersortir dan menggabungkan serinya menjadi satu. Pada algoritma strand sort, sangat bermanfaat jika kita menggunakan algoritma tersebut untuk mengurutkan data yang jumlahnya banyak. Algoritma Quick Sort 2 Pivot adalah algoritma pengurutan dengan sangat cepat, namun algoritma ini sangat komplex dan di proses secara rekursif. Quick Sort merupakan suatu algoritma pengurutan data yang menggunakan teknik pemecahan data menjadi partisi-partisi, sehingga metode ini disebut juga dengan nama partition exchange sort. Untuk memulai irterasi pengurutan, pertama-tama sebuah elemen dipilih dari data, kemudian elemen-elemen data akan diurutkan diatur sedemikian rupa Maka dari itu, penulis membuat suatu ide dan gagasan terbaru menjadi berguna baik secara kualitas dan kuantitas. Seperti penelitian yang pernah dilakukan oleh Sareen (2013) yang berjudul Komparasi Algoritma Quick sort dan Bucket sort pada pengurutan data Integer Dimana metode Quick Sort menggunakan memori yang lebih efisien dibandingkan algoritma yang lain. Penelitian yang juga dilakukan oleh Tjaru & Setia (2009) yang berjudul Kompleksitas Algoritma Pengurutan Strand Sort dan selection Sort, yang menerangkan bahwa algoritma pengurutan data dengan selection sort merupakan algoritma pengurutan paling buruk dari kedua metode pengurutan tersebut. Hal ini menjadi dorongan untuk memberikan manfaat dan kemudahan terhadap pengguna dalam mengenal, mengetahui dan memahami. Adapun yang menjadi penelitian penulis yakni Implementasi dan Analisis Algoritma Bucket Sort, Strand Sort dan Quick Sort 2 Pivot dalam Pensortiran Data yang berjumlah Banyak. 1.2 Rumusan Masalah Berdasarkan latar belakang masalah yang telah diuraikan, hal yang mendasari rumusan masalah yaitu bagaimana proses pengurutan data dengan ketiga algoritma tersebut dan kompleksitas dari ketiga algoritma tersebut.

3 1.3 Batasan Masalah Adapun yang menjadi batasan masalah yaitu : 1. Algoritma yang dikaji hanya Bucket Sort, Strand Sort dan Quick Sort 2 Pivot. 2. Implementasi Algoritma dengan menggunakan C#. 3. Pengujian yang dilakukan yaitu dengan membandingkan kompleksitas algoritma dari ketiga algoritma pengurutan tersebut dalam big O. 4. Tipe struktur data yang digunakan adalah Array dan list 5. Data yang diinputkan adalah Bilangan Integer 6. Data diurutkan secara Ascending (dari kecil ke besar). 7. Pengujian dibatasi dan hanya dilakukan sesuai dengan spesifikasi perangkat keras dan perangkat lunak yang disebutkan 1.4 Tujuan Penelitian Tujuan dari penelitian ini adalah: Untuk membuat implementasi dari algoritma Bucket Sort, Strand Sort dan Quick Sort 2 Pivot sebagai teknik untuk pengurutan (sorting) data serta Mengetahui Kompleksitas algoritma dari ketiga algoritma tersebut dalam big Tetha (ϴ) dan Running time ketiga algoritma tersebut dalam Microsecond. 1.5 Manfaat Penelitian Manfaat yang diharapkan dari penelitian ini antara lain: 1. Untuk menghasilkan sebuah perangkat lunak yang mampu melakukan proses pengurutan (sorting) data dengan algoritma Bucket Sort, Strand Sort dan Quick Sort 2 Pivot. 2. Untuk mengetahui Kompleksitas Algoritma dan Running Time dari Bucket Sort, Strand Sort dan Quick Sort 2 Pivot. 3. Untuk mempermudah proses pencarian data dengan mengurutkannya terlebih dahulu. 4. Sebagai bahan referensi mengenai algoritma Bucket Sort, Strand Sort dan Quick Sort 2 Pivot pada proses sorting data.

4 1.6 Metodologi Penelitian Metodologi yang digunakan dalam tugas akhir ini adalah: 1. Studi Literatur Penelitian ini dimulai dengan mengumpulkan informasi tentang algoritma Sorting data, yaitu algoritma Bucket Sort, Strand Sort dan Quick Sort 2 Pivot yang diperlukan menggunakan metode Library Research. Penulis mengumpulkan informasi sebagai referensi baik dari buku, paper, jurnal, makalah, dan sumbersumber lain yang berkaitan dan beberapa referensi lainnya untuk menunjang pencapaian penelitian. 2. Perancangan Sistem Merancang sistem dari Bucket Sort, Strand Sort dan Quick Sort 2 Pivot dalam pensortiran data yang berjumlah banyak. 3. Pengujian dan Analisis Melakukan pengujian dan analisis terhadap sistem yang sudah dirancang, untuk memperoleh hasil yang lebih baik. 4. Pengujian Sistem Metode ini dilaksanakan dengan mengimplementasikan algoritma Bucket Sort, Strand Sort dan Quick Sort 2 Pivot dalam mengurutkan integer yang dibangkitkan. Hasil program diuji kemudian dianalisis apakah sistem ini bekerja secara efektif dan efisien. 5. Dokumentasi Metode ini berisi laporan dan kesimpulan akhir dari hasil analisis dan pengujian dalam bentuk sikripsi.

5 1.7 Sistematika Penulisan Sistematika penulisan dalam penelitian ini, yaitu: BAB 1: PENDAHULUAN Bab ini berisi latar belakang masalah, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi penelitian dan sistematika penulisan sikripsi. BAB 2: LANDASAN TEORI Bab ini membahas mengenai teori-teori yang digunakan untuk memahami dan mengetahui permasalahan-permasalahan yang berkaitan dengan proses pengurutan algoritma Bucket Sort, Strand Sort dan Quick Sort 2 Pivot. BAB 3: ANALISIS DAN PERANCANGAN SISTEM Pada bab ini berisi analisis mengenai metode yang digunakan untuk menyelesaikan masalah dan perancangan dari sistem yang dibentuk. BAB 4: IMPLEMENTASI DAN PENGUJIAN Bab ini berisi tentang pengujian program yang telah diimplementasikan dengan menggunakan bahasa pemrograman C#. BAB 5: KESIMPULAN DAN SARAN Bab ini berisikan kesimpulan yang telah dirangkum dalam penelitian ini dan berisi saran yang gunanya untuk melakukan perbaikan dalam pengembangan penelitian ini.