Komparasi Algoritma Quicksort dan Bucket Sort pada Pengurutan Data Integer Dengan Menggunakan Bahasa Pemrograman Java, C++ dan VB.

Ukuran: px
Mulai penontonan dengan halaman:

Download "Komparasi Algoritma Quicksort dan Bucket Sort pada Pengurutan Data Integer Dengan Menggunakan Bahasa Pemrograman Java, C++ dan VB."

Transkripsi

1 Komparasi Algoritma Quicksort dan Bucket Sort pada Pengurutan Data Integer Dengan Menggunakan Bahasa Pemrograman Java, C++ dan VB.net Afri Yudha ( ) Program Pascasarjana Magister Ilmu Komputer,STMIK Nusa Mandiri Jl.Kramat No.18. Senen, Jakarta Pusat ibnugazali@gmail.com Abstrak Pengurutan data sangat sering dilakukan dalam dunia komputasi. Keperluan-keperluan yang membutuhkan pengurutan data begitu banyak, sehingga perlu dicari metode pengurutan data yang dapat bekerja secara cepat dan efisien, Quicksort dan Bucket Sort adalah salah satunya. pengujian dengan pengurutan algortitma Quick Sort yang menggunakan metode rekursif dan Algoritma Bucket Sort yang menggunakan Bucket/ember dalam menyimpan pengurutan nya. Paper ini ingin menunjukkan perbandingan kecepatan waktu yang didapat, dari pengurutan Algoritma Quicksort dan Algoritma Bucket Sort menggunakan bahasa pemrograman Java, C++ dan Vb.Net, yang dimana dari hasil pengujian yang dilakukan, Algoritma Quicksort lebih unggul dibanding Agoritma Bucket Sort dari data random 1 sampai 5000 dengan angka yang dikeluarkan sebanyak 4200 data. Key word : Algoritma, Sorting, Quicksort, Bucket Sort, C++, Vb.Net, Java 1. Pendahuluan 1.1 Latar Belakang Masalah Pengurutan data atau sorting merupakan salah satu jenis operasi penting dalam pengelolaan data. Didalam buku Reference model for an Open archival Information System (OAIS)[2], data adalah suatu hal yang dapat diterjemahkan dan direpresentasikan ke dalam bentuk formal agar dapat digunakan untuk komunikasi, intrepretasi, atau pengelolaan informasi. Banyaknya Penelitian mengenai perbandingan kecepatan antara algoritma Quicksort dan Bucket sort, seperti yang dilakukan oleh Audy dalam jurnalnya (Komparasi Algoritma Quicksort dan Bucket Sort dengan Pengurutan Data integer (2015))[1] dengan menggunakan bahasa pemrograman Vb.NET yang menggunakan 4000 data integer secara random, dia mengatakan bahwa algoritma Bucket Sort lebih cepat dalam mengurutkan data

2 dengan perbandingan hampir 37 kali dibandingkan dengan algoritma Quicksort. Senada dengan pendapat audi diatas, Mira Kusmira dalam jurnalnya (Komparasi Algoritma Quicksort dan Bucket Sort dengan Pengurutan Data integer dengan menggunakan bahasa pemrograman C++ (2016))[8], Mira mengatakan bahwa Algoritma Bucket Sort lebih cepat dibandingkan dengan algoritma Quicksort, dimana yang digunakan 10 data integer, dan dalam perbandingan tersebut didapat waktu pengujian untuk Algoritma Quicksort second dan Algoritma Bucket Sort 7,828 second. Sebelumnya penulis telah melakukan pengujian pada algoritma Quicksort dan Bucket sort dengan bahasa pemrograman Java, dimana data integer yang digunakan 10, dengan hasil pengujian, algoritma Quicksort lebih cepat dibandingkan Bucket Sort, waktu yang didapatkan adalah second untuk algoritma Quicksort dan second untuk algoritma Bucket Sort. Dengan adanya perbedaan hasil perbandingan yang didapatkan, maka penulis akan melakukan pengujian kembali dengan menggunakan bahasa pemrograman Java, Vb.NET, C++ dengan data yang digunakan 5000 yang akan dibuat random. 2. Landasan Teori 2.1 Pengertian Algoritma Algoritma pada dasarnya adalah alur pikiran dalam menyelasaikan suatu pekerjaan yang dituangkan dalam bentuk tertulis yang dapat dimengerti orang lain. Algoritma adalah sekumpulan intruksi yang jumlahnya terbatas yang apabila dijalankan akan menyelesaikan suatu tugas tertentu. Menurut Rosen (202) [9] algoritma adalah sebuah urutan intruksi yang terbatas untuk melakukan komputasi atau untuk menyelesaikan suatu masalah, yang dimasksud dengan kalimat urutan instruksi yang terbatas menggambarkan bahwa ada suatu nilai akhir atau output yang dihasilkan oleh algoritma. 2.2 Pengertian Pengurutan Data (Sorting) Sorting adalah proses pengurutan data yang sebelumnya disusun secara acak atau tidak teratur menjadi urut dan teratur menurut suatu aturan tertentu. Sadgewick & Wayne (2011)[10] mengatakan, 30% pekerjaan yang dilakukan oleh computer berhubungan dengan proses pengurutan data. Angka 30% ini begitu besar karena pada penggunaan komputer sehari-hari hampir setiap operasi yang dilakukan oleh pengguna melibatkan proses pengurutan data. Ketika pengguna membuka Windows Explorer, misalnya berkas yang ditampilkan di layar langsung terurut berdasarkan jenisnya (berkas atau folder), kemudian terurut secara sekumpulan tweets yang terurut berdasarkan waktu penulisan atau nama foldernya. Cormen, et al.,(2009)[4] mengatakan pengurutan data merupakan salah satu masalah fundamental dalam suatu algoritma, dengan alasan-alasan : Ada program-program komputer yang memang memerlukan proses pengurutan data secara explisit karena businesss processnya mengharuskan demikian. Pengurutan data memegang peranan penting dalam beberapa jenis algoritma. Contohnya, perangkat lunak yang melakukan proses graphic rendering yang memiliki beberapa layer perlu

3 melakukan pengurutan layerlayer tersebut, sehingga rendering akan dilakukan dari layer terbawah hingga teratas. Beberapa teknik pemrograman dan ide pemecahan masalah, baru ditemukan ketika algoritma pengurutan data dikembangkan. Analisa suatu algoritma pengurutan data dapat dilakukan hingga muncul kesimpulan apakah algoritma pengurutan data ini optimal, baik dalam kasus terburuk maupun dalam kasus terbaik. Banyak isu yang muncul ketika implementasi suatu perangkat lunak dapat diselesaikan dengan analisa mendalam pada level desain, bukan memperbaiki kode program pada level implememtasi. Beberapa algoritma pengurutan data yang dikenal dalam dunia komputasi adalah insertion sort, merge sort, heap sort, quick sort, counting sort, radix sort dan bucket sort. Salah satu alasan utama kenapa pengurutan data begitu penting dan sering digunakan dalam dunia komputasi adalah karena mencari data dalam sekelompok data terurut lebih mudah daripada mencari data dari sekolompok data yang tidak terurut. Sebagai contoh, buku kuning Yellow Pages yang beredar luas pada tahun 2000an menampilkan daftar nomor telepon terurut berdasarkan nama sehingga pengguna buku dapat mencari nama yang ingin dihubungi dengan cepat. Di era komputasi modern, sebagian kecil implementasi pengurutan data yang ditemukan dalam kehidupan sehari-hari adalah aplikasi pemutar musik mengurutkan daftar lagu berdasarkan album atau penyanyinya, mesin pencari menampilkan hasil pencarian terurut berdasarkan relevansi dengan kata kunci yang diberikan, aplikasi spreadsheet menampilkan data terurut berdasarkan kolom tertentu, dan masih banyak lagi implementasi pengurutan data yang ditemukan sehari-hari. Keperluan lain pun menjadi lebih mudah dilakukan jika sekolompok data yang digunakan sudah dalam kondisi terurut, misalnya mencari kata kunci tertentu dari suatu index di bagian belakang buku, menghapus data ganda dari suatu daftar website atau mailing list, atau komputasi statistic seperti mencari nilai median atau menghitung persentil. Pengurutan data juga digunakan dalam kasus-kasus penting yang kelihatannya tidak berkaitan dengan pengurutan data. Contohnya, kompresi data proses render grafis, komputasi biologi, atau voting dalam pemilihan opsi tertentu. Biasanya pengurutan data terbagi menjadi dua yaitu ascending dan descending dimana ascending adalah pengurutan data atau karakter dari yang terkecil sampai yang terbesar, sedangkan descending sendiri adalah pengurutan data atau karakter dari yang terbesar ke yang terkecil Algoritma Quick Sort Algoritma Quicksort diperkenalkan pertama kali oleh C.A.R Hoare pada tahun 1960 dan dimuat sebagai artikel di Computer Journal 5 pada April 1962[3]. Quicksort adalah sorting yang berdasarkan perbandingan dengan metode divide-andconqueror. Divide-and-conqueror meyelesaikan masalah menggunakan metode rekursif.

4 Menurut Cormen, et al., 2009 ada tiga hal yang dilakukan oleh divide-and-conqueror : 1. Membagi (divide) permasalahan yang dihadapi kedalam beberapa subproblems yang lebih kecil. Namun masih mengandung masalah yang sama. 2. Menyelesaikan (conquer) subproblems secara rekursif. Jika ukuran sub-problems sudah cukup. 3. diselesaikan, maka lakukan penyelesaian masalah. 4. Gabungkan (combine) solusi untuk sub-problems yang ada untuk mendapatkan solusi global. Khreisat (2007) menyatakan algoritma Quicksort ini merupakan metode pengurutan data yang paling efisien dibandingkan dengan metode yang lain. Sejak dipublikasikan oleh Hoare pada tahun 1960, banyak orang yang mempelajari dan berusaha mengembangkan Quicksort. Tidak semua ide-ide perbaikan Quicksort berjalan dengan baik, karena algoritma Quicksort ciptaan Hoare cukup stabil sehingga improvisasi yang kurang baik justru dapat menganggu stabilitas algoritma itu sendiri (sadgewick & Wayne 2011). Namun beberapa ide-ide perbaikan Quicksort yang terpublikasi cukup berhasil dalam meningkatkan performa Quicksort sekaligus Memuaskan para akademisi secara kognitif. Karena Quicksort begitu luas dipakai di berbagai bidang komputasi, maka para ilmuwan memandang penting untuk selalu melakukan improvisasi dengan algoritma ini. Robert Sadgewick (1978) dari Princeton university kemudian focus mempelajari, menganalisa dan memperbaiki Quicksort dalam tesis dan penelitian-penelitiannya (khreisat 2007) Pseudocode Gambar 1 : Contoh Penerapan Algoritma Quicksort Pseudocode Adalah sebuah kode yang digunakan untuk menulis sebuah algoritma dengan cara yang bebas yang tidak terikat dengan bahasa pemrograman tertentu. Atau bisa juga disebut bahasa yang digunakan untuk menyederhanakan penulisan algoritma. Pseudocode dari algoritma Quicksort dengan pendekatan rekursif dan menggunakan bahasa pemrograman java adalah sebagai berikut : public static void quicksort(int[] arr, int low, int high) { if (arr == null arr.length == 0) return; if (low >= high)

5 return; // pick the pivot int middle = low + (high - low) / 2; int pivot = arr[middle]; // make left < pivot and right > pivot int i = low, j = high; while (i <= j) { while (arr[i] < pivot) { i++; while (arr[j] > pivot) { j--; if (i <= j) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; i++; j--; // recursively sort two sub parts if (low < j) quicksort(arr, low, j); if (high > i) quicksort(arr, i, high); Sedangkan pseudocode quicksort dengan menggunakan bahasa pemrograman C++ void quicksort(t *array, size_t left, size_t right{ size_t l = left; size_t r = right - 1; size_t size = right - left; if (size > 1) { T pivot = array[rand() % size + l]; while (l < r) { while (array[r] > pivot && r > l) { r--; while (array[l] < pivot && l <= r) { l++; if (l < r) { std::swap(array[l], array[r]); l++; quicksort(array, left, l); quicksort(array, r, right) Dan pseudocode quicksort dengan bahasa pemrograman Vb.Net Public Sub Quicksort(ByVal lis() As Integer, ByVal min As Integer, ByVal max As Integer) Dim random_number As New Random Dim med_value As Integer Dim hi As Integer Dim lo As Integer Dim i As Integer If min >= max Then Exit Sub i = random_number.next(min, max + 1) med_value = lis(i) lis(i) = lis(min) lo = min hi = max Do Do While lis(hi) >= med_value hi = hi - 1 If hi <= lo Then Exit Do Loop If hi <= lo Then lis(lo) = med_value Exit Do End If

6 lis(lo) = lis(hi) lo = lo + 1 Do While lis(lo) < med_value lo = lo + 1 If lo >= hi Then Exit Do Loop If lo >= hi Then lo = hi lis(hi) = med_value Exit Do End If lis(hi) = lis(lo) Loop Quicksort(lis, min, lo - 1) Quicksort(lis, lo + 1, max) End Sub Algoritma Bucket Sort Menurut Joshi, Panwar dan Pathak (2013) [6], Bucket sort adalah algoritma pengurutan yang membagi n data kedalam berbagai ember, atau bucket, berdasarkan karakteristik tertentu, lalu melakukan pengurutan pada setiap ember secara parsial. Comen, dkk, (2001) [4] menyatakan algoritma bucket sort mengasumsikan bahwa masukkan dibuat secara acak dan didistribusikan secara seragam dengan kondisi tidak berketergantungan satu sama lain. Setiap ember dapat diurutkan dengan algoritma yang berbeda, contohnya adalah menggunakan Insertion Sort pada pengurutan tiap ember, atau dapat memanggil fungsi Bucket Sort secara rekursif. Jumlah dari ember yang dibuat sama dengan jumlah data yang diberikan sehingga Bucket Sort membutuhkan tempat atau memori yang lebih besar sebagai ganti dari pengurangan cost pemrosesan data. Algoritma Bucket Sort memiliki kompleksitas waktu rata-rata sebesar O(n) + n.0(2.1/n) = O(n). Walaupun masukkan tidak terdistribusi secara seragam, bucket sort akan tetap berjalan secara linear terhadap waktu selama jumlah ukuran ember sama dengan jumlah masukkan. Heineman,Selkow dan Pollice (2008) [5] menyatakan Algoritma Bucket Sort hanya cocok untuk mengurutkan data bilangan saja dan merupakan algoritma noncomaprison based. Pemrosesan data dengan algoritma Bucket Sort adalah sebagai berikut : 1. Membuat suatu inisial array (ember) kosong sebanyak jumlah array yang diberikan. 2. Memasukkan setiap objek pada array yang ingin diurutkan kedalam ember yang sesuai. 3. Melakukan pengurutan pada setiap objek yang ada di setiap ember, dapat dilakukan dengan algoritma lain seperti Insertion sort. Sedangkan metode Bucket sort dengan menggunakan Insertion sort adalah secara berulang-ulang menyisipkan / memasukkan setiap elemen, kedalam posisinya / tempatnya yang benar. Prinsip kerja insertion sort adalah : a. Pengecekan dilakukan mulai dari data ke-1 sampai ke-n b. Bandingkan data ke-1 (1 data ke 2 sampai dengan ke-n) c. Bandingkan data jika lebih kecil maka data ke-1 tersebut dengan data sebelumnya (i-1), jika lebih kecil maka data tersebut dapat disispkan

7 kedata awal sesuai dengan posisi yang seharusnya Pseudocode Pseudocode dari algoritma bucketsort dengan menggunakan bahasa pemrograman Java Gambar 2 : Contoh Penerapan Algoritma Bucket Sort public class Java_bucketsort { static void printarray(int[] b) { for (int i = 0; i < b.length; i++) System.out.print(" " + b[i]); System.out.print("\n"); // Bucket Sort Sorting Code public static void bucketsort(int entry[],int m){ int[] buckets = new int[m]; for(int j=0;j<m;j++) buckets[j]=0; for(int i=0;i<entry.length;i++) ++buckets[entry[i]]; for(int i=0,j=0;j<m;++j) for(int k=buckets[j];k>0;k--) entry[i++]=j; Sedangkan pseudocode bucket sort dengan bahasa pemrograman C++

8 void bucket_sort (int arr[], int n) { int m = 4200; int buckets[m]; for (int i = 0; i < m; ++i) buckets[i] = 0; element is present in the input for (int i = 0; i < n; ++i) ++buckets[arr[i]]; for (int i = 0, j = 0; j < m; ++j) for (int k = buckets[j]; k > 0; --k) arr[i++] = j; Dan pseudocode bucket sort dengan bahasa pemrograman VB.Net Public Shared Sub BucketSort(ByRef data As Integer()) Dim minvalue As Integer = data(0) Dim maxvalue As Integer = data(0) For i As Integer = 1 To data.length - 1 If data(i) > maxvalue Then maxvalue = data(i) End If If data(i) < minvalue Then minvalue = data(i) End If Next Dim bucket As List(Of Integer)() = New List(Of Integer)(maxValue - minvalue) { For i As Integer = 0 To bucket.length - 1 bucket(i) = New List(Of Integer)() Next For i As Integer = 0 To data.length - 1 bucket(data(i) minvalue).add(data(i)) Next Dim k As Integer = 0 For i As Integer = 0 To bucket.length - 1 If bucket(i).count > 0 Then For j As Integer = 0 To bucket(i).count - 1 data(k) = bucket(i)(j) k += 1 Next End If Next End Sub 3. Pembahasan Dan Hasil Dalam melakukan komparasi antara Algoritma Quicksort dengan Bucket sort penulis menggunakan perangkat : 1. Notebook Acer Dengan Processor AMD C-60 APU with Radeon HD Graphics (2 CPUs) 1.0 GHz. 2. VGA AMD Radeon HD 6290 Graphics 881 MB. 3. Ram 2 GB. 4. Platform Windows 7 Ultimate 32-bit (6.1, Build 7600). 5. Tool Compiler Java NetBeans IDE 8.1, Compiler C- Free 5, dan Visual Studio 2012 Data random yang digunakan sebanyak 5000 data, dengan 4200 data yang dikeluarkan dalam pengurutan. Didapat kan hasil data seperti dibawah ini Gambar 3 : Hasil Algoritma Quicksort di Bahasa Pemrograman C++

9 Gambar 4 : Hasil Algoritma Bucket Sort Di Bahasa Pemrograman C++ Gambar 7 : Hasil Algoritma Bucket Sort Di Bahasa Pemrograman Vb.Net Gambar 5: Hasil Algoritma Bucket Sort di Bahasa Pemrograman Java Gambar 8 : Hasil Algoritma Quick Sort Di Bahasa Pemrograman Vb.Net Gambar 6 : Hasil Algoritma Quicksort Di Bahasa Pemrograman Java

10 4. Kesimpulan Dan Saran Teknik-teknik pepengurutan data memang cukup beragam, namun demikian tentunya dalam prosesnya ada metode yang mempunyai kelebihan dan kekurangan sendiri, paling tidak dengan pemahaman algoritma secara sederhana tersebut, kita lebih mudah dalam menyelesaikan setiap permasalahan yang menyangkut proses pengurutan data. Pada penulisan jurnal ini telah dibahas komparasi dari implementasi algoritma pengurutan berbasis perbandingan yaitu Quicksort, dengan algoritma pengurutan yang tidak berbasiskan perbandingan yaitu Bucket Sort, terhadap data bertipe bilangan atau integer. Analisa penggunaan waktu telah dilakukan untuk menentukan algoritma yang paling tepat digunakan dalam pengurutan data bertipe integer. Berdasarkan logika proses pengurutan data dengan menggunakan algoritma Quicksort dan Bucket Sort, maka dapat disimpulkan sebagai berikut. 1. Hasil Pengujian algoritma Quick Sort lebih sesuai digunakan ketika data yang digunakan berjumlah sedikit ataupun banyak. 2. Dari Hasil pengujian menggunakan pemrograman C++ dengan 5000 data random, yang dikeluarkan hanya 4200 data, waktu yang diperlukan algoritma Quick Sort dalam pengurutan adalah 14,86 second sedangkan algoritma Bucket Sort membutuhkan waktu second. 3. Dari Hasil pengujian menggunakan pemrograman Java dengan 5000 data random, yang dikeluarkan hanya 4200 data, waktu yang diperlukan algoritma Quick Sort dalam pengurutan adalah 8,212 second sedangkan algoritma Bucket Sort membutuhkan waktu 10,216 second. 4. Dari Hasil pengujian menggunakan pemrograman Vb.NET dengan 5000 data random, yang dikeluarkan hanya 4200 data, waktu yang diperlukan algoritma Quick Sort dalam pengurutan adalah 8,939 second sedangkan algoritma Bucket Sort membutuhkan waktu 11,391 second. 5. Jadi Quick Sort lebih cepat disbanding Bucket Sort Dalam mengurutkan data, masih banyak algoritma yang dapat digunakan. Penyusun menyarankan untuk pengembangan selanjutnya menggunakan metode selain Quick Sort dan Bucket Sort, sehingga dapat memahami logika dalam mengurutkan data baik secara ascending juga descending. Kami juga menyarankan peneliti selanjutnya untuk melakukan komparasi waktu pemrosesan dan pemakaian memori untuk mengurutkan berbagai tipe, seperti integer dan string, sehingga dapat diketahu mana algoritma pengurutan yang paling optimal digunakan secara praktis. UCAPAN TERIMA KASIH Penyusun mengucapakan terima kasih kepada Bapak Dr.Windu Gata, M.Kom selaku dosen mata kuliah Algorithms and Complexity yang telah membimbing penyusun dalam meyusun paper ini.

11 Penyusun juga mengucapkan terima kasih kepada keluarga dan rekan-rekan mahasiswa program pascasarjana Magister Ilmu Komputer, STMIK Nusa Mandiri yang telah memberi dukungan dan semangat dalam selama penyusunan paper dilaksanakan. Daftar Pustaka pengurutan Data Integer dengan menggunakan bahasa pemrograman C++. [9]. Rosen, K. H. Discrete Mathematics and Its Applications (7th ed.). New York: McGraw-Hill; [10]. Sedgewick R., Wayne K. Algorithms (Fourth Edition). Addison-Wesley Professional; [1]. Audi.,2015 Jurnal Komparasi Algoritma Quicksort dan Bucket Sort pada pengurutan Data Integer. [2]. CCDS. Reference Model for an Open Archival Information System (OAIS). Washington,DC: Magenta Book Issue 2; [3]. C. Hoare, Quicksort. The Computer Journal, 5(1), pp [4]. Cormen Thomas H., Leiserson Charles E., Rivest Ronald L., Stein Clifford. Introduction to Algorithms (third edition). USA: The MIT Press; 2009 [5]. Heineman George T., Selkow Stanley, Pollice Gary. Algorithms in a Nutshell. O Reilly Media; 2008 [6]. Joshi Rohit, Panwar Govind Singh, Pathak Preeti. Analysis of Non-Comparison Based Sorting Algorithms: A Review. International Journal of Emerging Research in Management & Technology, 2013; 2(12): Hal [7]. Khreisat, L., Quicksort: A Historical Perspective and Empirical Study. IJCSNS International Journal of Computer Science and Network Security, 7(12), pp [8]. Mira Kusniara.,2016 Jurnal Komparasi Algoritma Quicksort dan Bucket Sort pada

Komparasi Algoritma Quicksort dan Bucket Sort pada Pengurutan Data Integer

Komparasi Algoritma Quicksort dan Bucket Sort pada Pengurutan Data Integer Komparasi Algoritma Quicksort dan Bucket Sort pada Pengurutan Data Integer Audy Program Studi Teknik Informatika, Universitas Multimedia Nusantara, Tangerang, Indonesia audytanudjaja@gmail.com Diterima

Lebih terperinci

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

QUICKSORT: METODE PENGURUTAN ARRAY SATU DIMENSI YANG CEPAT DAN EFISIEN. (Quicksort: Quick and Efficient One-Dimension Array Sorting Method) 1 QUICKSORT: METODE PENGURUTAN ARRAY SATU DIMENSI YANG CEPAT DAN EFISIEN (Quicksort: Quick and Efficient One-Dimension Array Sorting Method) Muhammad Saiful Islam Program Studi D-IV Teknik Informatika

Lebih terperinci

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

Penerapan Algoritma Bucket Sort Untuk melakukan Pengurutan n buah Bilangan Mata Kuliah Pemrosesan Paralel Penerapan Algoritma Bucket Sort Untuk melakukan Pengurutan n buah Bilangan Mata Kuliah Pemrosesan Paralel OLEH : SUPRIYANTO (G651090191) OKE HENDRADHY (G651090101) KAMALUDDIN MAHFUDZ (G651090231) DEPARTEMEN

Lebih terperinci

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

KOMPARASI ALGORITMA QUICKSORT DAN BUCKET SORT PENGURUTAN DATA INTEGER MENGGUNAKAN BAHASA C++ Konferensi Nasional Ilmu Sosial & Teknologi (KNiST) Maret 2015, pp. 139~144 KOMPARASI ALGORITMA QUICKSORT DAN BUCKET SORT PENGURUTAN DATA INTEGER MENGGUNAKAN BAHASA C++ Mira Kusmira 1, Yani Sri Mulyani

Lebih terperinci

Pengertian Algoritma Pengurutan

Pengertian Algoritma Pengurutan SORTING Pengertian Algoritma Pengurutan (sorting) Dalam ilmu komputer, algoritma pengurutan adalah algoritma yang meletakkan elemen-elemen suatu kumpulan data dalam urutan tertentu. Atau proses pengurutan

Lebih terperinci

Modul Praktikum 6 Pemograman Berorientasi Objek

Modul Praktikum 6 Pemograman Berorientasi Objek Modul Praktikum 6 Pemograman Berorientasi Objek 1. Judul : Algoritma Sorting 2. Tujuan Percobaan : Diakhir praktikum, mahasiswa diharapkan mampu : Memahami dan menjelaskan algoritma dari insertion sort,

Lebih terperinci

Politeknik Elektronika Negeri Surabaya

Politeknik Elektronika Negeri Surabaya PRAKTIKUM 13 ALGORITMA PENGURUTAN (QUICK SORT) A. TUJUAN PEMBELAJARAN 1. Memahami step by step algoritma pengurutan quick sort. 2. Mampu mengimplementasikan algoritma pengurutan quick sort dengan berbagai

Lebih terperinci

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya Ronny - 13506092 Jurusan Teknik Informatika Institut Teknologi Bandung Email : if16092@students.if.itb.ac.id 1. Abstract

Lebih terperinci

A. TUJUAN PEMBELAJARAN

A. TUJUAN PEMBELAJARAN Praktikum 12 Algoritma Pengurutan (Quick Sort dan Merge Sort) A. TUJUAN PEMBELAJARAN Setelah melakukan praktikum dalam bab ini, mahasiswa diharapkan mampu: 1. Memahami mengenai algoritma pengurutan quick

Lebih terperinci

STRATEGI DIVIDE AND CONQUER

STRATEGI DIVIDE AND CONQUER Pemrogram bertanggung jawab atas implementasi solusi. Pembuatan program akan menjadi lebih sederhana jika masalah dapat dipecah menjadi sub masalah - sub masalah yang dapat dikelola. Penyelesaian masalah

Lebih terperinci

STRUKTUR DATA. Nama : Sulfikar Npm : STMIK Handayani Makassar

STRUKTUR DATA. Nama : Sulfikar Npm : STMIK Handayani Makassar STRUKTUR DATA Nama : Sulfikar Npm : 2013020076 STMIK Handayani Makassar Pengertian Quick Sort Algoritma sortir yang efisien yang ditulis oleh C.A.R. Hoare pada 1962. Dasar strateginya adalah memecah dan

Lebih terperinci

Analisis Kompleksitas Waktu Untuk Beberapa Algoritma Pengurutan

Analisis Kompleksitas Waktu Untuk Beberapa Algoritma Pengurutan Analisis Kompleksitas Waktu Untuk Beberapa Algoritma Pengurutan Dibi Khairurrazi Budiarsyah, 13509013 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-8 Pengurutan (Sorting) 1

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-8 Pengurutan (Sorting) 1 Algoritma dan Pemrograman Lanjut Pertemuan Ke-8 Pengurutan (Sorting) 1 Disusun Oleh : Wilis Kaswidjanti, S.Si.,M.Kom. Jurusan Teknik Informatika Fakultas Teknologi Industri Universitas Pembangunan Nasional

Lebih terperinci

APLIKASI PERENCANA BELANJA DENGAN PENGURUTAN SKALA PRIORITAS BERBASIS ANDROID

APLIKASI PERENCANA BELANJA DENGAN PENGURUTAN SKALA PRIORITAS BERBASIS ANDROID 44 Vol. 11 No. 1 Februari 2016 Jurnal Informatika Mulawarman APLIKASI PERENCANA BELANJA DENGAN PENGURUTAN SKALA PRIORITAS BERBASIS ANDROID Barry Nuqoba 1), Faried Effendy 2), 1,2) Departemen Matematika,

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB 2 LANDASAN TEORI 2.1. Algoritma Secara informal, sebuah algoritma adalah prosedur komputasi yang didefinisikan dengan baik yang mengambil beberapa nilai, atau seperangkat nilai sebagai input dan menghasilkan

Lebih terperinci

Analisa Kompleksitas Algoritma. Sunu Wibirama

Analisa Kompleksitas Algoritma. Sunu Wibirama Analisa Kompleksitas Algoritma Sunu Wibirama Referensi Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C., Introduction to Algorithms 2nd Edition, Massachusetts: MIT Press, 2002 Sedgewick, R., Algorithms

Lebih terperinci

Outline STRUKTUR DATA. VII. Sorting

Outline STRUKTUR DATA. VII. Sorting STRUKTUR DATA VII. Sorting 1 Outline Beberapa algoritma untuk melakukan sorting: Bubble sort Selection sort Insertion sort Shell sort Merge sort Quick sort Untuk masing-masing algoritma: Ide dasar Contoh

Lebih terperinci

BAB I PENDAHULUAN Latar Belakang

BAB I PENDAHULUAN Latar Belakang 1 BAB I PENDAHULUAN 1.1. Latar Belakang Teknologi informasi sudah berkembang sangat pesat pada masa ini. Pencarian informasi yang berjumlah besar dalam waktu yang singkat sangat dibutuhkan sebagai upaya

Lebih terperinci

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

Perbandingan Performa Kombinasi Algoritma Pengurutan Quick-Insertion Sort dan Merge-Insertion Sort Perbandingan Performa Kombinasi Algoritma Pengurutan Quick-Insertion Sort dan Merge-Insertion Sort Muhammad Ezar Al Rivan Teknik Informatika STMIK GI MDP Palembang, Indonesia meedzhar@mdp.ac.id Abstrak

Lebih terperinci

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB 1 PENDAHULUAN. Universitas Sumatera Utara 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

Lebih terperinci

Algoritma Bubble Sort dan Quick Sort

Algoritma Bubble Sort dan Quick Sort Algoritma Bubble Sort dan Quick Sort Pengertian/Konsep Buble Sort Metode pengurutan gelembung (Bubble Sort) diinspirasikan oleh gelembung sabun yang berada dipermukaan air. Karena berat jenis gelembung

Lebih terperinci

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

Algoritma Heap Sort. Sekolah Teknik Elektro & Informatika Departemen Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung Algoritma Heap Sort Paul Gunawan Hariyanto 1, Dendy Duta Narendra 2, Ade Gunawan 3 Sekolah Teknik Elektro & Informatika Departemen Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung

Lebih terperinci

Fakultas Teknologi Informasi

Fakultas Teknologi Informasi Algoritma dan Struktur Data 1 Halaman : 1 dari 15 SILABUS Kode Mata Kuliah : KP002 Nama Mata Kuliah : Algoritma dan Struktur Data 1 Beban Kredit : 3 SKS (Inti) Prasyarat : - Strategi : 1.Menjelaskan dan

Lebih terperinci

Gambar 13.1 Ilustrasi proses algoritma sorting

Gambar 13.1 Ilustrasi proses algoritma sorting MODUL 13 SORTING 13.1 Kompetensi 1. Mahasiswa mampu menjelaskan mengenai algoritma sorting. 2. Mahasiswa mampu membuat dan mendeklarasikan struktur algoritma sorting. 3. Mahasiswa mampu menerapkan dan

Lebih terperinci

Kompleksitas Algoritma Sorting yang Populer Dipakai

Kompleksitas Algoritma Sorting yang Populer Dipakai Kompleksitas Algoritma Sorting yang Populer Dipakai Wahyu Fahmy Wisudawan 1) 1) Program Studi Teknik Informatika ITB, Bandung 40135, email: mailto:al_izzatusysyifa@students.itb.ac.id Abstract Makalah ini

Lebih terperinci

Bab Tujuan. 6.2 Insertion Sort

Bab Tujuan. 6.2 Insertion Sort Bab 6 Algoritma Sorting 6.1 Tujuan Sorting adalah proses menyusun elemen elemen dengan tata urut tertentu dan proses tersebut terimplementasi dalam bermacam aplikasi. Kita ambil contoh pada aplikasi perbankan.

Lebih terperinci

Menghitung Inversion Pada Barisan Dengan Menggunakan Modifikasi Bubble Sort, Insertion Sort, dan Merge Sort

Menghitung Inversion Pada Barisan Dengan Menggunakan Modifikasi Bubble Sort, Insertion Sort, dan Merge Sort Menghitung Inversion Pada Barisan Dengan Menggunakan Modifikasi Bubble Sort, Insertion Sort, dan Merge Sort M Iqbal Tawakal - 0706271954 Abstract Paper ini akan menjelaskan mengenai cara menghitung inversion

Lebih terperinci

SORTING DENGAN ALGORITMA DIVIDE AND CONQUER

SORTING DENGAN ALGORITMA DIVIDE AND CONQUER SORTING DENGAN ALGORITMA DIVIDE AND CONQUER Ibnu Alam (13506024) Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10 if16024@students.if.itb.ac.id ABSTRAK Kemangkusan program adalah salah satu

Lebih terperinci

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

TELAAH WAKTU EKSEKUSI PROGRAM TERHADAP KOMPLEKSITAS WAKTU ALGORITMA BRUTE FORCE DAN DIVIDE AND CONQUER DALAM PENYELESAIAN OPERASI LIST TELAAH WAKTU EKSEKUSI PROGRAM TERHADAP KOMPLEKSITAS WAKTU ALGORITMA BRUTE FORCE DAN DIVIDE AND CONQUER DALAM PENYELESAIAN OPERASI LIST Andhika Hendra Estrada S. Sekolah Teknik Elektro dan Informatika INSTITUT

Lebih terperinci

Analisis dan Strategi Algoritma

Analisis dan Strategi Algoritma Analisis dan Strategi Algoritma Deskripsi Mata Kuliah Konsep dasar analisis algoritma Beberapa jenis algoritma 28/02/2011 2 Standar Kompetensi Mahasiswa mampu membandingkan beberapa algoritma dan menentukan

Lebih terperinci

Penerapan Struktur Data Pohon dalam Implementasi Algoritma Heapsort dan Tinjauan Kompleksitas Waktunya

Penerapan Struktur Data Pohon dalam Implementasi Algoritma Heapsort dan Tinjauan Kompleksitas Waktunya Penerapan Struktur Data Pohon dalam Implementasi Algoritma Heapsort dan Tinjauan Kompleksitas Waktunya Paskahlis Anjas Prabowo 13515108 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika

Lebih terperinci

Politeknik Elektronika Negeri Surabaya

Politeknik Elektronika Negeri Surabaya PRAKTIKUM 13-14 ALGORITMA PENGURUTAN (QUICK DAN MERGE) A. TUJUAN PEMBELAJARAN 1. Memahami mengenai algoritma pengurutan quick sort dan merge sort. 2. Mampu mengimplementasikan algoritma pengurutan quick

Lebih terperinci

Gambar 1. Langkah-langkah pengurutan metode Insertion Sort (1)

Gambar 1. Langkah-langkah pengurutan metode Insertion Sort (1) PRAKTIKUM 9-10 ALGORITMA PENGURUTAN (INSERTION DAN SELECTION) A. TUJUAN PEMBELAJARAN 1. Memahami mengenai algoritma pengurutan insertion sort dan selection sort. 2. Mampu mengimplementasikan algoritma

Lebih terperinci

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

ANALISIS PERBANDINGAN ALGORITMA BUBBLE SORT, MERGE SORT, DAN QUICK SORT DALAM PROSES PENGURUTAN KOMBINASI ANGKA DAN HURUF ANALISIS PERBANDINGAN ALGORITMA BUBBLE SORT, MERGE SORT, DAN QUICK SORT DALAM PROSES PENGURUTAN KOMBINASI ANGKA DAN HURUF Anisya Sonita 1, Febrian Nurtaneo 2 1,2 Program Studi Informatika, Fakultas Teknik,

Lebih terperinci

Algoritma dan Struktur Data. Algoritma Pengurutan (Sorting)

Algoritma dan Struktur Data. Algoritma Pengurutan (Sorting) Algoritma dan Struktur Data Algoritma Pengurutan (Sorting) Tujuan Instruksional Memahami algoritma pengurutan Mengerti algoritma bubble, selection, insertion, merge sort Topik Algoritma pengurutan Bubble

Lebih terperinci

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

Array ARRAY BERDIMENSI SATU. Representasi (Pemetaan) di memori. Lihat gambar dibawah ini, nilai data A (18) dismpan mulai dari alamat 1136 di memori. Array Linear Array (biasa disebut Array) adalah salah satu bentuk struktur data yang bersifat Linear (continue). Nilai data Array harus homogen (bertipe data sama). Array merupakan koleksi data dimana

Lebih terperinci

Sorting Algorithms. Algoritma dan Struktur Data. Sorting algorithms

Sorting Algorithms. Algoritma dan Struktur Data. Sorting algorithms 1. Insertion 2. Selection 3. Bubble 4. Shell 5. Quick 6. Merge Sorting Algorithms Sorting algorithms Metode Insertion, selection dan bubble sort memiliki worst-case performance yang bernilai quadratik

Lebih terperinci

Sorting. Selection Sort. Straight insertion Sort. Merge Sort Paradigma Divide-and-Conquer. Quicksort

Sorting. Selection Sort. Straight insertion Sort. Merge Sort Paradigma Divide-and-Conquer. Quicksort Sorting Selection Sort Straight insertion Sort Merge Sort Paradigma Divide-and-Conquer Quicksort Paradigma Divide-and-Conquer Algoritma pengurutan adalah algoritma untuk meletakkan kumpulan elemen data

Lebih terperinci

EXERCISE WORKBOOK MI /2012#07

EXERCISE WORKBOOK MI /2012#07 XRCIS WORKBOOK 1 IDNTITAS Kajian Perulangan Topik Dasar Logika Perulangan Referensi [1] Sedgewick, Robert. Algorithms. Marly-le-Roi: Addison-Wesley Publishing Company, 1983 [2] Cormen, Thomas H., Charles.

Lebih terperinci

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-9 Pengurutan (Sorting) 2

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-9 Pengurutan (Sorting) 2 Algoritma dan Pemrograman Lanjut Pertemuan Ke-9 Pengurutan (Sorting) Disusun Oleh : Wilis Kaswidjanti, S.Si.,M.Kom. Jurusan Teknik Informatika Fakultas Teknologi Industri Universitas Pembangunan Nasional

Lebih terperinci

ALGORITMA PENGURUTAN & PENCARIAN

ALGORITMA PENGURUTAN & PENCARIAN Materi kuliah ALGORITMA PENGURUTAN & PENCARIAN Ir. Roedi Goernida, MT. (roedig@yahoo.com) Program Studi Sistem Informasi Fakultas Rekayasa Industri Institut Teknologi Telkom Bandung 2011 1 Pengelompokan

Lebih terperinci

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

Sorting. Struktur Data dan Algoritma. Suryana Setiawan, Ruli Manurung & Ade Azurat (acknowledgments: Denny) Fasilkom UI Struktur Data dan Algoritma Sorting Suryana Setiawan, Ruli Manurung & Ade Azurat (acknowledgments: Denny) Fasilkom UI SUR HMM AA Fasilkom UI - IKI20100/ IKI80110P 2009/2010 Ganjil Minggu 5 Outline Beberapa

Lebih terperinci

Multithreading untuk Algoritma Divide and Conquer

Multithreading untuk Algoritma Divide and Conquer Multithreading untuk Algoritma Divide and Conquer Novan Parmonangan Simanjuntak(13509034) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

BAHASA PEMROGRAMAN 1 (PERTEMUAN 3)

BAHASA PEMROGRAMAN 1 (PERTEMUAN 3) BAHASA PEMROGRAMAN 1 (PERTEMUAN 3) ARRAY KUMPULAN SOAL LATIHAN PREPARED BY CHANDRA 092110187 05 06 2010 (REVISED) PENGENALAN ARRAY Array dari Pesawat Array dari Serangga Array dari Kartu Array dari Karakter

Lebih terperinci

Perbandingan Algoritma Pencarian Kunci di dalam Himpunan Terurut Melalui Linear Search dan Binary Search

Perbandingan Algoritma Pencarian Kunci di dalam Himpunan Terurut Melalui Linear Search dan Binary Search Perbandingan Algoritma Pencarian Kunci di dalam Himpunan Terurut Melalui Linear Search dan Binary Search Biolardi Yoshogi (13509035) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika

Lebih terperinci

Analisis Algoritma. Jimmy Tirtawangsa. Universitas Telkom 2014

Analisis Algoritma. Jimmy Tirtawangsa. Universitas Telkom 2014 Analisis Algoritma Jimmy Tirtawangsa Universitas Telkom 2014 Daftar Isi (1) Motivasi (2) Kompleksitas dan Optimalitas (3) Struktur data (4) Teknik 2 analisis algoritma (5) Struktur graf (6) Problem Sulit/Intraktabel

Lebih terperinci

Sorting Algorithms. Divide and Conquer

Sorting Algorithms. Divide and Conquer 1. Insertion 2. Selection 3. Bubble 4. Shell 5. Quick 6. Sorting Algorithms 1 Divide and Conquer Metode Divide and Conquer, setiap kali memecah persoalan menjadi setengahnya, namun menggunakan hasil dari

Lebih terperinci

SORTING (Pengurutan)

SORTING (Pengurutan) SORTING (Pengurutan) Proses pengurutan banyak ditemukan dalam komputer, karena bertujuan untuk memudahkan dan mempercepat pencarian data.merupakan proses penyusunan kembali sekumpulan objek ke dalam suatu

Lebih terperinci

Quick Sort dan Merge Sort. Arna Fariza Yuliana Setiowati

Quick Sort dan Merge Sort. Arna Fariza Yuliana Setiowati Quick Sort dan Merge Sort Arna Fariza Yuliana Setiowati Ide Quicksort Tentukan pivot. Bagi Data menjadi 2 Bagian yaitu Data kurang dari dan Data lebih besar dari pivot. Urutkan tiap bagian tersebut secara

Lebih terperinci

NASKAH UJIAN UTAMA. JENJANG/PROG. STUDI : DIPLOMA TIGA / MANAJEMEN INFORMATIKA HARI / TANGGAL : Kamis / 18 FEBRUARI 2016

NASKAH UJIAN UTAMA. JENJANG/PROG. STUDI : DIPLOMA TIGA / MANAJEMEN INFORMATIKA HARI / TANGGAL : Kamis / 18 FEBRUARI 2016 NASKAH UJIAN UTAMA MATA UJIAN : LOGIKA DAN ALGORITMA JENJANG/PROG. STUDI : DIPLOMA TIGA / MANAJEMEN INFORMATIKA HARI / TANGGAL : Kamis / 18 FEBRUARI 2016 NASKAH UJIAN INI TERDIRI DARI 80 SOAL PILIHAN GANDA

Lebih terperinci

PENERAPAN TEORI GRAF UNTUK MENYELESAIKAN MASALAH MINIMUM SPANNING TREE (MST) MENGGUNAKAN ALGORITMA KRUSKAL

PENERAPAN TEORI GRAF UNTUK MENYELESAIKAN MASALAH MINIMUM SPANNING TREE (MST) MENGGUNAKAN ALGORITMA KRUSKAL PENERAPAN TEORI GRAF UNTUK MENYELESAIKAN MASALAH MINIMUM SPANNING TREE (MST) MENGGUNAKAN ALGORITMA KRUSKAL Swaditya Rizki Program Studi Pendidikan Matematika, Fakultas Keguruan dan Ilmu Pendidikan, Universitas

Lebih terperinci

Politeknik Elektronika Negeri Surabaya

Politeknik Elektronika Negeri Surabaya PRAKTIKUM 10 ALGORITMA PENGURUTAN (SELECTION SORT) A. TUJUAN PEMBELAJARAN 1. Memahami step by step algoritma pengurutan selection sort. 2. Mampu mengimplementasikan algoritma pengurutan selection sort

Lebih terperinci

Pengelompokan Organisme Dengan Menggunakan Algoritma Kruskal

Pengelompokan Organisme Dengan Menggunakan Algoritma Kruskal Pengelompokan Organisme Dengan Menggunakan Algoritma Kruskal Alif Raditya Rochman - 151101 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

Objectives. Struktur Data & Algoritme (Data Structures & Algorithms) Sort. Outline. Bubble Sort: idea. Bubble Sort. Sorting

Objectives. Struktur Data & Algoritme (Data Structures & Algorithms) Sort. Outline. Bubble Sort: idea. Bubble Sort. Sorting Struktur Data & Algoritme (Data Structures & Algorithms) Objectives Memahami beberapa algoritme sorting dan dapat menganalisa kompleksitas-nya Sorting Denny (denny@cs.ui.ac.id) Suryana Setiawan (setiawan@cs.ui.ac.id)

Lebih terperinci

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA Mata Kuliah Kode / SKS Program Studi Fakultas : Algoritma Pemrograman 2C (Teori Algoritma) : IT012302 / 3 SKS : Sistem Komputer : Ilmu Komputer & Teknologi Informasi 1 Pengenalan Algoritma Mahasiswa dapat

Lebih terperinci

Analisis Kecepatan Sorting Dengan Notasi Big O

Analisis Kecepatan Sorting Dengan Notasi Big O Analisis Kecepatan Sorting Dengan Notasi Big O Rama Aulia NIM : 13506023 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung E-mail : ramaaulia@yahoo.co.id Abstrak Sorting

Lebih terperinci

Penyelesaian Barisan Rekursif dengan Kompleksitas Logaritmik Menggunakan Pemangkatan Matriks

Penyelesaian Barisan Rekursif dengan Kompleksitas Logaritmik Menggunakan Pemangkatan Matriks Penyelesaian Barisan Rekursif dengan Kompleksitas Logaritmik Menggunakan Pemangkatan Matriks Luqman Arifin Siswanto - 13513024 Program Sarjana Informatika Sekolah Teknik Elektro dan Informatika Institut

Lebih terperinci

Algoritma Transposisi (Bubble Sort/pengurutan gelembung)

Algoritma Transposisi (Bubble Sort/pengurutan gelembung) Algoritma Sorting Target: Algoritma berdasarkan Priority Queue Selection Sort & Heap Sort Algoritma penyisipan dalam keterurutan Insertion Sort & Tree Sort Algoritma transposisi Bubble Sort Algoritma increment

Lebih terperinci

Jurnal Evolusi Volume 5 No evolusi.bsi.ac.id

Jurnal Evolusi Volume 5 No evolusi.bsi.ac.id Analisa Perbandingan Algoritma Insertion Dan Merge Dalam PENGURUTAN DATA Pada C++ Dan Java Ardiyansyah Komputerisasi Akuntansi, AMIK BSI Pontianak ardiyansyah.arq@bsi.ac.id Abstract - Ordering data interpreted

Lebih terperinci

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran

SILABUS MATAKULIAH. Indikator Pokok Bahasan/Materi Aktifitas Pembelajaran SILABUS MATAKULIAH Revisi : 2 Tanggal Berlaku : September 2014 A. Identitas 1. Nama Matakuliah : A11.54508 / Strategi Algoritma 2. Program Studi : Teknik Informatika-S1 3. Fakultas : Ilmu Komputer 4. Bobot

Lebih terperinci

SORTING (BAGIAN II) Proses kelima

SORTING (BAGIAN II) Proses kelima SORTING (BAGIAN II) I. INSERTION SORT Mirip dengan cara orang mengurutkan kartu, selembar demi selembar kartu diambil dan disisipkan (insert) ke tempat yang seharusnya. Pengurutan dimulai dari data ke-2

Lebih terperinci

BAB II TINJAUAN PUSTAKA

BAB II TINJAUAN PUSTAKA 6 BAB II TINJAUAN PUSTAKA 2.1. Algoritma Algortima adalah jantung ilmu komputer atau informatika. Banyak cabang dari ilmu komputer yang diacu dalam terminologi algoritma, misalnya algoritma perutean (routing)

Lebih terperinci

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT ALGORITMA PENGURUTAN Oleh : S. Thya Safitri, MT Definisi Sorting merupakan suatu proses untuk menyusun kembali himpunan obyek menggunakan aturan tertentu. Sorting disebut juga sebagai suatu algoritma untuk

Lebih terperinci

BAB I PENDAHULUAN.

BAB I PENDAHULUAN. BAB I PENDAHULUAN 1.1 Latar Belakang Masalah Selama ini media pembelajaran untuk modul algoritma sorting atau pengurutan hanya terbatas oleh buku dan modul yang diberikan oleh para pengajar, hal ini membuat

Lebih terperinci

Perbandingan Performa Algoritma Greedy dan Dynamic Programming

Perbandingan Performa Algoritma Greedy dan Dynamic Programming Perbandingan Performa Algoritma dan Pratamamia Agung Prihatmaja (NIM 13515142) Program Studi Teknik Informatikan Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha No. 10 Bandung

Lebih terperinci

Pohon Indeks Biner atau Pohon Fenwick untuk menyelesaikan persoalan penjumlahan interval

Pohon Indeks Biner atau Pohon Fenwick untuk menyelesaikan persoalan penjumlahan interval Pohon Indeks Biner atau Pohon Fenwick untuk menyelesaikan persoalan penumlahan interval Eric 13512021 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

Politeknik Elektronika Negeri Surabaya

Politeknik Elektronika Negeri Surabaya PRAKTIKUM 11 ALGORITMA PENGURUTAN (BUBBLE SORT) A. TUJUAN PEMBELAJARAN 1. Memahami step by step algoritma pengurutan bubble sort. 2. Mampu mengimplementasikan algoritma pengurutan bubble sort dengan berbagai

Lebih terperinci

Komputasi Paralel Sebagai Alternatif Solusi Peningkatan Kinerja Komputasi

Komputasi Paralel Sebagai Alternatif Solusi Peningkatan Kinerja Komputasi Thomas Anung Basuki Komputasi Paralel Sebagai Alternatif Solusi Peningkatan Kinerja Komputasi Intisari Makalah ini membahas komputasi paralel pada jaringan komputer menggunakan PVM. Untuk memperjelas,

Lebih terperinci

ANALISIS ALGORITMA INSERTION SORT, MERGE SORT DAN IMPLEMENTASINYA DALAM BAHASA PEMROGRAMAN C++

ANALISIS ALGORITMA INSERTION SORT, MERGE SORT DAN IMPLEMENTASINYA DALAM BAHASA PEMROGRAMAN C++ ANALISIS ALGORITMA INSERTION SORT, MERGE SORT DAN IMPLEMENTASINYA DALAM BAHASA PEMROGRAMAN C++ Arief Hendra Saptadi 1 ~ Desi Windi Sari 2 Program Studi D-III Teknik Telekomunikasi Akademi Teknik Telekomunikasi

Lebih terperinci

A. TUJUAN PEMBELAJARAN

A. TUJUAN PEMBELAJARAN Praktikum 10 Algoritma Pengurutan (Insertion Sort dan Selection Sort ) A. TUJUAN PEMBELAJARAN Setelah melakukan praktikum dalam bab ini, mahasiswa diharapkan mampu: 1. Memahami mengenai algoritma pengurutan

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 5 BAB 2 LANDASAN TEORI 2.1. Pengertian Algoritma Algoritma adalah prosedur komputasi yang didefinisikan dengan baik yang mengambil beberapa nilai yaitu seperangkat nilai sebagai input dan output yang menghasilkan

Lebih terperinci

Algoritma. Begin at the beginning and go on /ll you come to the end: then stop. Lewis Caroll, Alice s Adventures in Wonderland, 1865

Algoritma. Begin at the beginning and go on /ll you come to the end: then stop. Lewis Caroll, Alice s Adventures in Wonderland, 1865 Algoritma Begin at the beginning and go on /ll you come to the end: then stop. Lewis Caroll, Alice s Adventures in Wonderland, 1865 1 Algoritma Abu Ja far Mohammed Ibn Musa Al- Khowarizmi (Sumber: Kenneth

Lebih terperinci

Perbandingan Kecepatan/Waktu Komputasi Beberapa Algoritma Pengurutan (Sorting)

Perbandingan Kecepatan/Waktu Komputasi Beberapa Algoritma Pengurutan (Sorting) Perbandingan Kecepatan/Waktu Komputasi Beberapa Algoritma Pengurutan (Sorting) Indrayana 1, Muhamad Ihsan Fauzi 2 Laboratorium Ilmu dan Rekayasa Komputasi Departemen Teknik Informatika, Institut Teknologi

Lebih terperinci

SORTING. Hartanto Tantriawan, S.Kom., M.Kom

SORTING. Hartanto Tantriawan, S.Kom., M.Kom SORTING DASAR PEMROGRAMAN Hartanto Tantriawan, S.Kom., M.Kom TUJUAN PERKULIAHAN Mahasiswa mengetahui konsep mengurutkan sekumpulan elemen Mahasiswa dapat menggunakan teknik sorting dalam kasus yang diberikan

Lebih terperinci

STRUKTUR DATA SORTING ARRAY

STRUKTUR DATA SORTING ARRAY STRUKTUR DATA SORTING ARRAY Sorting Pengurutan data dalam struktur data sangat penting untuk data yang beripe data numerik ataupun karakter. Pengurutan dapat dilakukan secara ascending (urut naik) dan

Lebih terperinci

2. Definisi Masalah Masalah yang akan dibahas dalam paper ini adalah mengetahui Comparison based

2. Definisi Masalah Masalah yang akan dibahas dalam paper ini adalah mengetahui Comparison based Hybrid of Comparison-based Sort Algorithms: Merge Sort, Quicksort, Heapsort dan Insertion Sort Abdullah Hafidh Fakultas Ilmu Komputer Universitas Indonesia, Depok, Indonesia abdullah.hafidh@yahoo.com Abstrak

Lebih terperinci

Kompleksitas Algoritma Dalam Algoritma Pengurutan

Kompleksitas Algoritma Dalam Algoritma Pengurutan Kompleksitas Algoritma Dalam Algoritma Pengurutan Rio Cahya Dwiyanto Jurusan Teknik Informatika ITB, Bandung, email: kasrut_desu@yahoo.co.id Abstract Makalah ini membahas tetang beberapa algoritma, terutama

Lebih terperinci

BAB VI Pengurutan (Sorting)

BAB VI Pengurutan (Sorting) BAB VI Pengurutan (Sorting) Tujuan 1. Menunjukkan beberapa algoritma dalam Pengurutan 2. Menunjukkan bahwa pengurutan merupakan suatu persoalan yang bisa diselesaikan dengan sejumlah algoritma yang berbeda

Lebih terperinci

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

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 2: 16 Mei 2016 Analisa dan Perancangan Algoritma Ahmad Sabri, Dr Sesi 2: 16 Mei 2016 Teknik rekursif dan iteratif Algoritma rekursif adalah algoritma yang memanggil dirinya sendiri sampai tercapai kondisi yang ditetapkan

Lebih terperinci

PENGURUTAN (SORTING) 1. Overview

PENGURUTAN (SORTING) 1. Overview PENGURUTAN (SORTING) 1 Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN - 2008 Overview Definisi dan Tujuan Jenis Pengurutan Teknik Pengurutan Selection Sort Bubble Sort Kuliah Minggu ke

Lebih terperinci

Politeknik Elektronika Negeri Surabaya

Politeknik Elektronika Negeri Surabaya PRAKTIKUM 12 ALGORITMA PENGURUTAN (SHELL SORT) A. TUJUAN PEMBELAJARAN 1. Memahami step by step algoritma pengurutan shell sort. 2. Mampu mengimplementasikan algoritma pengurutan shell sort dengan berbagai

Lebih terperinci

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

PENGGUNAAN ALGORITMA DIVIDE AND CONQUER UNTUK OPTIMASI KONVERSI BILANGAN DESIMAL KE BINER PENGGUNAAN ALGORITMA DIVIDE AND CONQUER UNTUK OPTIMASI KONVERSI BILANGAN DESIMAL KE BINER Danang Arief Setyawan NIM : 3559 Program Studi Teknik Informatika Institut Teknologi Bandung e-mail: das_centauri@yahoo.com

Lebih terperinci

STRUKTUR DATA (3) sorting array. M.Cs

STRUKTUR DATA (3) sorting array. M.Cs STRUKTUR DATA (3) sorting array Oleh Antonius Rachmat C, S.Kom, M.Cs Sorting Pengurutan data dalam struktur data sangat penting untuk data yang beripe data numerik ataupun karakter. Pengurutan dapat dilakukan

Lebih terperinci

APLIKASI PENERJEMAH KALIMAT BAHASA INDONESIA KE BAHASA SIMALUNGUN DENGAN ALGORITMA BERRY - RAVINDRAN

APLIKASI PENERJEMAH KALIMAT BAHASA INDONESIA KE BAHASA SIMALUNGUN DENGAN ALGORITMA BERRY - RAVINDRAN APLIKASI PENERJEMAH KALIMAT BAHASA INDONESIA KE BAHASA SIMALUNGUN DENGAN ALGORITMA BERRY - RAVINDRAN Saut Dohot Siregar 1*, Mawaddah Harahap 2, Yohana Marbun 3 1,2,3 Program Studi Teknik Informatika, Fakultas

Lebih terperinci

ANALISA RUNNING TIME

ANALISA RUNNING TIME ANALISA RUNNING TIME Maximum Contiguous Subsequence Sum I KETUT RESIKA ARTHANA NPM : 1006747864 MAGISTER ILMU KOMPUTER FAKULTAS ILMU KOMPUTER UNIVERSITAS INDONESIA 1 Deskripsi Singkat Permasalahan Maximum

Lebih terperinci

OPERASI LOGIKA PADA GENERAL TREE MENGGUNAKAN FUNGSI REKURSIF

OPERASI LOGIKA PADA GENERAL TREE MENGGUNAKAN FUNGSI REKURSIF OPERASI LOGIKA PADA GENERAL TREE MENGGUNAKAN FUNGSI REKURSIF Lutfi Hakim (1), Eko Mulyanto Yuniarno (2) Mahasiswa Jurusan Teknik Elektro (1), Dosen Pembimbing (2) Institut Teknologi Sepuluh Nopember (ITS)

Lebih terperinci

Politeknik Elektronika Negeri Surabaya

Politeknik Elektronika Negeri Surabaya PRAKTIKUM 9 ALGORITMA PENGURUTAN (INSERTION SORT) A. TUJUAN PEMBELAJARAN 1. Memahami step by step algoritma pengurutan insertion sort. 2. Mampu mengimplementasikan algoritma pengurutan insertion sort dengan

Lebih terperinci

Modul Praktikum 4 Pemograman Berorientasi Objek

Modul Praktikum 4 Pemograman Berorientasi Objek Modul Praktikum 4 Pemograman Berorientasi Objek 1. Judul : Array 2. Tujuan Percobaan : Diakhir praktikum, mahasiswa diharapkan mampu : Mendeklarasikan dan membuat array Mengakses elemen-elemen didalam

Lebih terperinci

METODE DEVIDE AND CONQUER (DANDC)

METODE DEVIDE AND CONQUER (DANDC) METODE DEVIDE AND CONQUER (DANDC) Di dalam metode ini, kita mempunyai suatu fungsi untuk menghitung input. Kemudian n input tersebut dipartisi menjadi k subset input yang berbeda (1< k n) k subproblem

Lebih terperinci

BAB VII ALGORITMA DIVIDE AND CONQUER

BAB VII ALGORITMA DIVIDE AND CONQUER BAB VII ALGORITMA DIVIDE AND CONQUER Pemrogram bertanggung jawab atas implementasi solusi. Pembuatan program akan menjadi lebih sederhana jika masalah dapat dipecah menjadi sub masalah - sub masalah yang

Lebih terperinci

Modul 8 SORTING (PENGURUTAN)

Modul 8 SORTING (PENGURUTAN) Modul 8 SORTING (PENGURUTAN) 1. Tujuan Instruksional Umum a. Mahasiswa mampu melakukan perancangan aplikasi menggunakan Struktur Sorting ( pengurutan ) b. Mahasiswa mampu melakukan analisis pada algoritma

Lebih terperinci

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

Kompleksitas Algoritma Rank Sort dan Implementasi pada Parallel Programming Dengan Menggunakan OpenMP Kompleksitas Algoritma Rank Sort dan Implementasi pada Parallel Programming Dengan Menggunakan OpenMP Muhammad Indra NS - 23515019 1 Program Magister Informatika Sekolah Teknik Elektro dan Informatika

Lebih terperinci

Algoritma Pengurutan Data Kompleksitas dan Penerapannya

Algoritma Pengurutan Data Kompleksitas dan Penerapannya Algoritma Pengurutan Data Kompleksitas dan Penerapannya Salvian Reynaldi (13511007) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung

Lebih terperinci

Insertion Sort Dengan Algoritma Divide And Conquer

Insertion Sort Dengan Algoritma Divide And Conquer Insertion Sort Dengan Algoritma Divide And Conquer Oleh: Yudi Setiawan Pada tutorial sebelumnya, saya pernah ada membahas tentang Insertion Sort. Nah, perbedaan antara Insertion Sort yang biasa dengan

Lebih terperinci

FAKULTAS ILMU PENDIDIKAN UNIVERSITAS NEGERI YOGYAKARTA RPP. ALGORITMA DAN PEMROGRAMAN RENCANA PELAKSANAAN PEMBELAJARAN (RPP)

FAKULTAS ILMU PENDIDIKAN UNIVERSITAS NEGERI YOGYAKARTA RPP. ALGORITMA DAN PEMROGRAMAN RENCANA PELAKSANAAN PEMBELAJARAN (RPP) Revisi : 02 8 Maret 2011 Hal 1 dari 29 Pertemuan ke : 1 1. Mahasiswa dapat menentukan topik perkuliahan 2. Mahasiswa dapat menentukan strategi perkuliahan 3. Mahasiswa dapat menentukan sistem penilaian

Lebih terperinci

Tes Asisten Praktikum Alpro Lanjut

Tes Asisten Praktikum Alpro Lanjut Tes Asisten Praktikum Alpro Lanjut Tingkat kesulitan: Mudah Estimasi waktu pengerjaan: 90 menit Buatlah sebuah program yang akan meminta input n (1-300), dan menampilkan hasil penjumlahan dari setiap pembagi

Lebih terperinci

Pengantar Teknik Informatika

Pengantar Teknik Informatika Pengantar Teknik Informatika Algoritma dan Kompleksitas Pertemuan Ke-3 Materi E-learning Tanggal : 1 Oleh : Supatman Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta Tahun 2012 Algoritma

Lebih terperinci

Algoritma Divide and Conquer

Algoritma Divide and Conquer Algoritma Algoritma divide and conquer sudah lama diperkenalkan sebagai sumber dari pengendalian proses paralel, karena masalah-masalah yang terjadi dapat diatasi secara independen. Banyak arsitektur dan

Lebih terperinci

SEARCHING & SORTING. Pendahuluan

SEARCHING & SORTING. Pendahuluan SEARCHING & SORTING Pendahuluan Sorting dan searching merupakan salah satu operasi dasar dalam ilmu komputer. Sorting merupakan suatu proses (operasi) yang mengurutkan data dalam suatu urutan yang diberikan

Lebih terperinci

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

BAB V SORT. Proses penukaran tidak dapat langsung dilakukan dengan cara : nilai[1] = nilai[2]; nilai[2] = nilai[1]; Modul 5 Struktur Data (Arie) - 1 BAB V SORT Sort adalah suatu proses pengurutan data yang sebelumnya disusun secara acak atau tidak teratur menjadi urut dan teratur menurut suatu aturan tertentu. Biasanya

Lebih terperinci