Komparasi Algoritma Mergesort dengan Quicksort pada Pengurutan Data Integer
|
|
|
- Farida Hartanto
- 9 tahun lalu
- Tontonan:
Transkripsi
1 Komparasi Algoritma Mergesort dengan Quicksort pada Pengurutan Data Integer Atika Azzahra Akbar Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl Ganesha 10 Bandung 40132, Indonesia Abstrak Dalam makalah ini akan dikomparasikan dua buah algoritma pengurutan yaitu algoritma mergesort dan quicksort Komparasi kedua algoritma dilakukan dengan pertama-tama mencari kompleksitas algoritma waktu dan kompleksitas algoritma asimpotik dari keduanya dan kemudian membandingkan hasilnya Selain itu dalam makalah ini akan dijabarkan hasil percobaan pengurutan data integer dengan menggunakan kedua algoritma Kemudian akan dikomparasikan hasil percobaan kedua algoritma dan akan dibuat kesimpulan berdasarkan kedua cara komparasi Kata Kunci Komparasi, Kompleksitas Algoritma, Mergesort, Quicksort I PENDAHULUAN Kebutuhan akan algoritma pengurutan pada suatu program sangatlah tinggi Contohnya pada program perangkat lunak utnuk pengolahan data seperti Microsoft Excel, Microsoft Access atau Oracle Dimana pada kehidupan nyata, algoritma ini digunakan tidak hanya untuk mengurut sepuluh sampai seratus data, namun bisa sampai jutaan data Jika orang yang memrogram program pengolah jutaan data tersebut menggunakan algortima yang tidak mangkus, bisa-bisa dibutuhkan waktu berharihari untuk mengurutkan data Maka dari itu seorang pemrogram harus mengerti tentang kefektifan semua algoritma agar dapat dibuat program yang efektif sesuai besar data dan kebutuhan penggunannya Ada banyak sekali jenis algoritma pengurutan contohnya Algoritma insertion sort, selection sort, buble sort, shell sort, mergesort, heapsort, dan quicksort Setiap jenis algoritma pengurutan tersebut memiliki kefektifan dalam masing-masing kondisi Oleh karena itu digunakan sebuah besar pengukuran untuk mengukur kefektifan sebuah algoritma, yang dalam hal disebut sebagai kompleksitas algoritma Terdapat dua macam besar pengukuran yaitu kompleksitas waktu yang diukur berdasarkan jumlah tahapan komputasi yang diperlukan suatu algoritma bila dimasukan sebnayak n data dan kompleksitas ruang yang dihitung melalui memori yang digunakan oleh suatu algoritma dari ukuran masukan sebanyak n Dewasa ini dari sekian banyak algoritma pengurutan, terdapat beberapa algoritma yang lebih menonjol dibandingkan algoritma lainnya dikarenakan kompleksitas algoritmanya yang kecil sehingga sangat efisien bila digunakan, yaitu Mergesort dan Quicksort Dari kedua algoritma yang sudah terkenal mangkus ini akan dipilih lagi algoritma yang paling mangkus Pada makalah ini akan dikomparasikan algoritma Mergesort dan Quicksort pada pengurutan data bilangan bulat dengan kompleksitas waktu, kompleksitas waktu Asimpotik, dan waktu hasil percobaan II TEORI DASAR A Kompleksitas Algoritma Seperti yang telah dijelaskan pada bagian satu pendahuluan, kompleksitas algortima merupakan sebuah besaran abstrak yang diciptakan untuk kebutuhan pengukuran sebuah algoritma Terdapat dua macam tipe pengukuran yaitu kompleksitas ruang dan kompleksitas waktu Untuk memudahkan dalam membahas kompleksitas sebuah algoritma dibutuhkan beberapa terminologi Seperti yang dikutip dari referensi [1] terdapat tiga terminologi yaitu: 1 Ukuran besar masukan data untuk suatu algoritma n 2 Kompleksita waktu, T(n), adalah waktu yang dibutuhkan untuk melaksanakan algoritma (dari awal sampai akhir) sebagai fungsi dari ukuran masukan n 3 Kompleksitas ruang, S(n), adalah ruang memori yang dibutuhkan algoritma sebagai fungsi dari ukuran masukan n B Kompleksitas Waktu Pada makalah ini hanya akan dilakukan komparasi menggunakan kompleksitas waktu, maka dari itu pada subab ini hanya akan dijelaskan tentang kompleksitas waktu Kompleksitas waktu diukur dari jumlah tahapan komputasi yang dibutuhkan untuk menjalankan algoritma sebagai fungsi dari ukuran masukan n Untuk itu, pertama-tama kita harus memahami algoritma yang dihadapi Idealnya, kita harus menghitung semua opertasi yang ada di dalam suatu algoritma, namun untuk alas an
2 praktis, biasanya yang dihitung adalah jumlah operasi abstrak yang mendasari suaut algoritma, dan memisahkan analisisnya dari implementasi [1] Terdapat tiga jenis kompleksitas waktu yaitu: 1 T max (n) : kompleksitas waktu untuk kasus terburuk 2 T min (n) : kompleksitas waktu untuk kasus terbaik 3 T avg (n) : kompleksitas waktu untuk kasus rata-rata dengan terlebih dahulu membuat asumsi bahwa tiap data memiliki peluang yang sama untuk terletak dalam larik C Kompleksitas Waktu Asimpotik Untuk mempermudah perbandingan antara sebuah algoritma dengan algoritma lainnya kita dapat melihat bagaimana waktu terbaik dan waktu terburuk berkembang bersama seiring meningkatnya besar data masukan Oleh karena itu, digunakan notasi kompleksitas waktu asimpotik yang disebut notasi-o Besar dengan definisi formal dibawah ini seperti dikutip dari referensi [1] T(n) = O(f(n)) (dibaca T(n) adalah O(f(n)) yang artinya T(n) berorde paling besar f(n)) bila terdapat konstanta C dan n o sedemikian sehingga T(n) C(f(n)) untuk n n o Dengan adanya O(f(n)) ini, jika algoritma dimasukan n semakin besar, waktu yang diperlukan algoritma tersebut tidak akan pernah melebihi suatu konstanta C dikali dengan f(n) Dapat kita simpulkan bahwa f(n) adalah batas atas (upper bound) Kompleksitas algoritma asimpotik memiliki beberapa teorema, seperti dikutip dari [1]: Teorema 1 Bila T(n) = a m n m + a m-1 n m a 1 n + a o adalah polinom berderajat m maka T(n) = O(n m ) Teorema 2 Misalkan T 1 (n) = O(f(n)) dan T 2 (n) = O(g(n)) maka (a) T 1 (n)+t 2 (n) = O(f(n))+O(g(n)) = O(max(f(n), g(n)) (b) T 1 (n) T 2 (n) = O(f(n))O(g(n)) = O(f(n), g(n)) (c) O(c(f(n)) = O(f(n)) sebab c konstanta (d) f(n) = O(f(n)) Selain notasi-o Besar, terdapat notasi lain yang digunakan untuk menyatakan kompleksitas waktu asimpotik yaitu notasi omega-besar dan notasi tethabesar Definisi notasi omega-besar [1]: T(n) = Ω(g(n)) (dibaca T(n) adalah Ω (g(n)) yang artinya T(n) berorde paling kecil g(n)) bila terdapat konstanta C dan n o sedemikian sehingga: T(n) C(g(n)) untuk n n o Definisi notasi tetha-besar [1]: T(n) = Θ(h(n)) (dibaca T(n) adalah Ω (h(n)) yang artinya T(n) berorde sama dengan h(n) jika T(n)=O(f(n)) dan T(n) = Ω(g(n)) D Mergesort Mergesort merupakan algoritma pengurutan yang didasari oleh paradigm divide-and-conquer Algoritma ini memiliki kompleksitas waktu untuk kasus terburuk yang pertumbuhannya lebih rendah dibandingkan insertion sort [2] Paradigma, divide-and-conquer, membagi masalah kedalam sub-masalah, dan kemudian menggambungkan lagi solusi dari semua sub-masalah tersebut Dikarenakan divide-and-conquer menyelesaikan masalah secara rekursif, setiap subproblem harus lebih kecil dari masalah originalnya dan harus terdapat basis untuk setiap submasalah [3] Algoritma divide-and-conquer dapat dibagi menjadi tiga: 1 Divide: membagi masalah ke dalam sub-masalah 2 Conquer: menyelesaikan sub-masalah dengan metode rekursif 3 Combine: menggambungkan hasil solusi dari setiap sub-masalah dengan prosedur bernama merge(a, p, q, r) Algoritma dari mergesort kurang lebih dalam Mergesort(tab[], l, r) if r > 1 1 Temukan point tengah untuk membagi larik menjadi dua bagian middle = (l+r)/2 2 Panggil Mergesort untuk bagian setengah pertama Mergesort(tab, l, m) 3 Panggil Mergesort untuk bagian setengah kedua Mergesort(tab, m+1, r) 4 Gabungkan kedua larik yang telah diurut pada poin 2 dan 3 Merge(Tab, l, m, r) implementasi bahasa C seperti dibawah ini [4]: E Quicksort Mirip seperti Mergesort, quicksort menggunakan paradigm algoritma divide-and-conquer juga Namun penerapan algoritma divide-and-conquer pada quicksort agak berbeda dengan mergesort Pada mergesort semua pekerjaan dilimpahkan di fungsi penggambungan sedangkan di quicksort fungsi penggabunggan hampir tidak melakukan apa-apa Algoritma divide-and-conquer pada quicksort dapat dibagi menjadi tiga [5]: 1 Divide: memilih salah satu elemen pada sublarik untuk menjadi pivot Kemudian elemen-elemen lainnya diatur ulang sehingga elemen yang bernilai lebih kecil atau sama dengan pivot berada di kiri dan sisanya berada di kanan elemen pivot
3 2 Conquer: secara rekursif mengatur sublarik 3 Combine: tidak dilakukan pekerjaan yang spesifik karena semua sublarik telah teratur Algoritma dari quicksort kurang lebih dalam implementasi bahasa C seperti dibawah ini [6]: Quicksort if First > Last 1 Mempartisi elemen di sublarik 2 Mengaplikasikan Quicksort lagi secara rekursif kepada sublarik pertama 3 Mengaplikasikan Quicksort lagi secara rekursif kepada sublarik pertama End Kasus berhenti jika: 1 (First = Last) hanya ada satu nilai pada sublarik 2 (First > Last) tidak ada elemen yang harus diurutkan IV PEMBAHASAN DAN PENGOLAHAN DATA A Kompleksitas Algoritma Mergesort dan Quicksort Seperti yang telah dijelaskan di bagian pendahuluan bahwa makalah ini hanya akan melakukan komparasi menggunakan kompleksitas waktu, maka pada subab ini hanya akan dicari besar dari kompleksitas waktu algoritma mergesort dan quicksort Untuk mendapatkan kompleksitas waktu dari algoritma mergesort, pertama-tama kita harus menganalisi dari algoritma divide-and-conquer: 1 Divide: membagi masalah ke a submasalah dengan ukuran tiap submasalahnya sebesar n/b, maka waktu yang dibutuhkan adalah D(n) 2 Conquer: menyelesaikan submasalah at(n/b) 3 Combine: menggabungkan solusi membutuhkan waktu sebesar C(n) Maka didapat: Θ(1) jika n c T(n) at(n/b) + D(n) + C(n) selain itu Pada algoritma mergesort dapat disimpulkan: 1 Divide: hanya terjadi satu kali pembagian dari satu masalah menjadi dua submasalah makan dinali D(n) = 1 2 Conquer: secara rekursif menyelesaikan dua submasalah dengan tiap sub memiliki ukuran sebesar n/2 maka diperlukan waktu sebesar 2T(n/2) 3 Combine: menggambungkan solusi yang memiliki n sublarik membutuhkan waktu sebesar C(n) = n Maka didapat: 1 jika n = 1 T(n) 2T(n/2) + n jika n > 1 T min (n) dan T max (n) sama untuk algoritma mergesort karena pada kondisi terbaik walau sudah terurut masalah tetap dibagi menjadi dua begitu juga pada kondisi terburuk Kompleksitas waktu asimpotik untuk algoritma mergesort didapat dengan menyelesaikan kerekursifan pada di kompleksitas waktunya T(n) = 2T(n/2) + n T(2)= 2(2T(n/4) + n/2) + n = 2 2 T(n/4) + 2n T(3)= 2 2 (2T(n/8) + n/4) + 2n = 2 3 T(n/8) + 3n T(n) = 2 k T(n/2 k ) + kn Kemudian dengan mensubtitusi k dengan nilai dibawah ini: n/2 k = 1 n = 2 k log n = k Maka persamaan kompleksitas algoritma mergesort menjadi: T(n) = nt(1) + n log n = n + n log n Dapat diambil kesimpulan bahwa kompleksitas algoritma asimpotik untuk algoritma mergesort adalah [7]: T(n) = n + n log n = O(n log n) = Ω(n log n) = Θ(n log n) Sedangkan untuk algoritma pengurutan quicksort nilai kompleksitas waktunya tergantung pada posisi pivot yang dipilih untuk membagi masalah menjadi submasalah yang dalam algoritma ini pembagian dua submasalah didasari dari besar nilai elemen dibandingkan dengan nilai elemen pivot Selain itu total waktu untuk menggabungkan solusi dari submasalah-submasalah selalu αn dimana α adalah konstan Misalkan partisi pada quicksort menghasilkan dua submalasah dengan ukuran k dan (n-k) Maka nilai kompleksitas waktunya dapat kita tulis seperti dibawah ini [8]: 1 jika n = 1 T(n) T(n) = T(k) + T(n-k) + αn jika n > 1 Karena nilai dari k tergantung pada kondisi yang didapat, maka kondisi akan dibagi menjadi dua yaitu kondisi terburuk dan kondisi terbaik Pertama akan dicari T(n) pada kondisi terburuk Kondisi terburuk pada algoritma pengurutan quicksort didapat ketika pivot elemen yang dipilih adalah elemen terakhir yang harus diurutkan dari larik sehingga kita akan mendapatkan dua submasalah dengan ukuran elemen sebesar k=1 dan (n-1) Dengan begitu kita memiliki kompleksitas waktu seperti dibawah ini: T(n) = T(1) + T(n-1) + αn Kemudian nilai kompleksitas waktu diatas kita selesaikan rekursif-nya menjadi: T(n) = T(n - 1) + T(1) + αn = [T(n 2) + T(1) + α(n 1)] + T(1) + αn = T(n 2) + 2T(1) + α(n 1 + n) = [T(n 3) + T(1) + α(n 2)] + 2T(1) + α(n 1 + n) = T(n 3 ) + 3T(1) + α(n 2 + n 1 + n)
4 = T(n i) + it(1) + α( ) Namun karena kompleksitas waktu diatas hanya dapat disubstitusi oleh i = n 1 Hal ini dikarenakan n i dapat menghasilkan nilai negatif), maka nilai i harus disubtitusi, menjadi: T(n) = T(1) +(n-1)t(1) + α( ) = nt(1) + α(n(n 2) (n 2)(n 1)/2) Dari nilai kompleksitas waktu algoritma quicksort kondisi terburuk, kemudian akan dicari nilai kompleksitas algoritma asimpotiknya dengan menyelesaikan kerekursifan pada kompleksitas waktunya T(n) = n + α((n 2 2n) ((n 2 3n + 2)/2)) = O(n 2 ) Kedua akan dicari nilai kompleksitas waktu algoritma quicksort untuk kondisi terbaik Kondisi terbaik algoritma quicksort didapatkan ketika pivot elemen yang diambil adalah sebuah nilai yang membagi dua masalah menjadi dua submasalah dengan ukuran yang sama yaitu k = n/2 dan (n k) = n/2 Maka nilai kompleksitas waktu dari algoritma quicksort menjadi: T(n) = 2T(n/2) + αn Kemudian nilai kompleksitas waktu diatas kita selesaikan rekursif-nya menjadi [8]: T(n) = 2T(n/2) + αn T(2)= 2(2T(n/4) + αn/2) + αn = 2 2 T(n/4) + 2αn T(3)= 2 2 (2T(n/8) + αn/4) + 2αn = 2 3 T(n/8) + 3αn T(n) = 2 k T(n/2 k ) + kαn Dari nilai kompleksitas waktu algoritma quicksort kondisi terbaik, kemudian akan dicari nilai kompleksitas algoritma asimpotiknya dengan menyelesaikan kerekursifan pada kompleksitas waktunya dengan mensubtitusikan nilai k dengan: n/2 k = 1 n = 2 k log n = k T(n) = nt(1) + αn log n = O(αn log n) = O(n log n) B Pengaplikasian Algoritma Mergesort dan Quicksort pada Pengurutan Data Integer dengan Bahasa C Pada subab ini akan dilakukan percobaan pengurutan data bilangan bulat dengan dua algoritma yaitu mergesort dan quicksort Akan dihitung waktu yang diperlukan untuk tiap algoritma mengurutkan data tersebut Bahasa yang digunakan untuk percobaan ini adalah bahasa C Kode algoritma Mergesort untuk pengurutan data integer adalah sebagai berikut: #include<stdlibh> #include<stdioh> #include "timeh" void merge(int arr[], int l, int m, int r) int i, j, k; int n1 = m - l + 1; int n2 = r - m; int L[n1], R[n2]; for(i = 0; i < n1; i++) L[i] = arr[l + i]; for(j = 0; j < n2; j++) R[j] = arr[m + 1+ j]; i = 0; j = 0; k = l; while (i < n1 && j < n2) if (L[i] <= R[j]) arr[k] = L[i]; i++; else arr[k] = R[j]; j++; k++; while (i < n1) arr[k] = L[i]; i++; k++; while (j < n2) arr[k] = R[j]; j++; k++; void mergesort(int arr[], int l, int r) if (l < r) int m = l+(r-l)/2; mergesort(arr, l, m); mergesort(arr, m+1, r); merge(arr, l, m, r); void printtab(int Tab[], int size) int i; for (i=0; i < size; i++) printf("%d ", Tab[i]); printf("\n"); int main() clock_t start, finish; int arr[10] = 5, 3, 1, 2, 4, 8, 6, 7, 9, 10; int arr_size = sizeof(arr)/sizeof(arr[0]); start = clock(); mergesort(arr, 0, arr_size - 1); finish = clock(); printf("sorted array by MergeSort is \n"); printtab(arr, arr_size); printf("the time taken is %lu millisecond", *(finish - start)/clocks_per_sec); return 0; Kode algoritma quicksort untuk pengurutan data integer adalah sebagai berikut:
5 #include<stdioh> #include "timeh" void swap(int *a, int *b) int t = *a; *a = *b; *b = t; int divide(int tab[], int l, int h) int x = tab[h]; int i = (l-1); for (int j = l; j<= h - 1; j++) if (tab[j] <= x) i++; swap(&tab[i], &tab[j]); swap(&tab[i+1], &tab[h]); return (i+1); void Quicksort(int tab[], int l, int h) if (l < h) int d = divide(tab, l, h); Quicksort(tab, l, d - 1); Quicksort(tab, d + 1, h); void printtab(int tab[], int size) int i; for (i=0; i<size; i++) printf("%d ", tab[i]); printf("\n"); int main () clock_t start, finish; int arr[10] = 5, 3, 1, 2, 4, 8, 6, 7, 9, 10; int arr_size = sizeof(arr)/sizeof(arr[0]); start = clock(); Quicksort(arr, 0, arr_size-1); finish = clock(); printf("sorted array by QuickSort: \n"); printtab(arr, arr_size); printf("the time taken is %lu millisecond", *(finish - start)/clocks_per_sec); return 0; Nilai larik pada kedua kode diatas akan diubah sesuai dengan data percobaan yang telah disiapkan oleh penulis makalah Selain itu perhitungan waktu yang digunakan oleh setiap algoritma diukur dengan menggunakan library yang telah terdapat pada c yaitu timeh Dimana pada program ini diimplementasikan pada variable start dan finish yang kemudian diselisihkan untuk mendapatkan nilai waktu dalam satuan millisekon Berikut dibawah ini adalah data-data yang penulis siapan untuk percobaan: Data 1 int arr[60] = 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60 Data 2 int arr[10] = 5, 3, 1, 2, 4, 8, 6, 7, 9, 10 Data 3 int arr[100] = 21, 4, 3, 45, 5, 78, 7, 8, 9, 10, 11, 12, 53, 34, 15, 16, 29, 18, 19, 21, 20, 22, 35, 33, 25, 26, 27, 8, 29, 30, 31, 2, 33, 34, 35, 100, 7, 38, 9, 90, 41, 42, 43, 4, 45, 6, 77, 88, 49, 70, 51, 52, 53, 54, 55, 56, 7, 5, 59, 60, 5, 6, 8, 20, 21, 22, 34, 45, 56, 30, 23, 12, 23, 34, 24, 5, 6, 75, 4, 5, 5, 6, 8, 20, 21, 22, 34, 45, 56, 30, 23, 12, 23, 34, 24, 5, 6, 75, 4, 5 Dengan memasukan data-data diatas menjadi input untuk program pengurut menggunakan algoritma mergesort dan quicksort didapatkan waktu untuk tiap algoritma seperti tabel dibawah ini: Data Mergesort (millisecond) Quicksort (millisecond) Ketiga data tersebut telah penulis buat untuk membuktikan setiap kondisi yang mungkin terjadi pada pengurutan mergesort dan quicksort Data pertama merupakan data yang akan menyebabkan terjadinya kondisi terburuk untuk quicksort Sedangkan data kedua merupakan data yang akan menyebabkan kondisi terbaik untuk quicksort dan data ketiga merupakan data acak Penulis tidak membuat data untuk kondisi terbaik dan terburuk algoritma mergesort karena nilai kompleksitas algoritma terburuk dan terbaik dari mergesort adalah sama Sehingga semua data sudah mencakup semua kondisi untuk mergesort C Komparasi Algortima Mergesort dan Quicksort Menggunakan Kompleksitas Algoritma dan Hasil Percobaan Berdasarkan subbab sebelumnya telah dihitung kompleksitas algoritma untuk algoritma mergesort dan quicksort Telah ditemukan bahwa untuk algoritma mergesort nilai kompleksitas algoritma kondisi teburuk dan terbaiknya adalah sama yaitu: T(n) = 2T(n/2) + n Dengan nilai kompleksitas algoritma simpotiknya: T(n) = n + n log n = O(n log n) = Ω(n log n) = Θ(n log n) Kemudian didapatkan pula nilai kompleksitas algoritma untuk algoritma quicksort pada kondisi terburuk dan
6 kondisi terbaik berikut dengan kompleksitas algoritma asimpotik yaitu: T(n) = T(1) + T(n-1) + αn T(n) = n + α((n 2 2n) ((n 2 3n + 2)/2)) = O(n 2 ) (Kondisi terburuk) T(n) = 2T(n/2) + αn T(n) = nt(1) + αn log n = O(αn log n) = O(n log n) (Kondisi terbaik) Dapat dilihat bahwa kompleksitas algoritma mergesort dan quicksort untuk kondisi terbaik sama besarnya sehingga tidak akan terdapat perbedaan begitu besar untuk pengurutan data pada kondisi terbaik Sedangkan untuk kondisi terburuk, kompleksitas algoritma quicksort memiliki kompleksitas lebih besar sehingga akan terdapat perbedaan yang signifikan jika diperbandingkan antara keduanya Kemudian berdasarkan hasil percobaan menggunakan ketiga data didapatkan untuk data pertama bahwa algoritma mergesort memang lebih baik untuk mengurutkan sebuah data yang hampir kebanyakan datanya telah terurut Sedangkan untuk data kedua, quicksort memperlihat performa yang lebih baik yaitu 3 ms namun tidak terlalu signifikan perbedaannya dengan pengurutan menggunakan algoritma mergesort yang menggunakan waktu sebesar 4 ms untuk mengurutkan data Setelah itu data terakhir menghasilkan perbedaan yang tidak begitu signifikan antara algoritma mergesort dan quicksort PERNYATAAN Dengan ini saya menyatakan bahwa makalah yang saya tulis ini adalah tulisan saya sendiri, bukan saduran, atau terjemahan dari makalah orang lain, dan bukan plagiasi Bandung, 8 Desember 2015 ttd Atika Azzahra Akbar V KESIMPULAN Maka dapat diambil kesimpulan bahwa untuk data yang sebagian besar dari datanya telah terurut, programer lebih baik memilih algoritma mergesort untuk mengurutkan Namun secara garis besar, untuk jutaan data acak tidak akan begitu signifikan perbedaannya bila seorang programer menggunakan algoritma mergesort ataupun quicksort REFERENCES [1] Munir, Rinaldi, Matematika Diskrit Bandung : Penerbit Informatika, Palasari [2] hms/sorting/mergesorthtm, diakses pada tanggal 4 Desember 2015 Pukul 1800 WIB [3] diakses pada tanggal 4 Desember 2015 Pukul 1830 WIB [4] diakses pada tanggal 4 Desember 2015 Pukul 1845 WIB [5] diakses pada tanggal 5 Desember 2015 Pukul 900 WIB [6] 97/lectures/lec17/sld001htm, diakses pada tanggal 5 Desember 2015 Pukul 915 WIB [7] lect22-wanswerspdf, diakses pada tanggal 5 Desember 2015 Pukul 934 WIB [8] diakses pada tanggal 5 Desember 2015 Pukul 1000 WIB
Kompleksitas Algoritma
Kompleksitas Algoritma Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus. Kemangkusan algoritma diukur dari berapa jumlah
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
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 : [email protected] Abstrak Sorting
Kompleksitas Algoritma dalam menentukan Solvabilitas Sliding N-Puzzle
Kompleksitas Algoritma dalam menentukan Solvabilitas Sliding N-Puzzle Audry Nyonata, 13515087 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha
Kemangkusan Algoritma Pada Beberapa Variasi Quick Sort
Kemangkusan Algoritma Pada Beberapa Variasi Quick Sort Alifa Nurani Putri (13511074) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung
Hubungan Kompleksitas Algoritma dengan Cara Belajar
Hubungan Kompleksitas Algoritma dengan Cara Belajar Ryan Ignatius Hadiwijaya / 13511070 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10
Kompleksitas Algoritma
Kompleksitas Algoritma Bahan Kuliah IF2120 Matematika Disktit Rinaldi M/IF2120 Matdis 1 Rinaldi M/IF2120 Matdis 2 Pendahuluan Sebuah masalah dapat mempunyai banyak algoritma penyelesaian. Contoh: masalah
Matematika Diskrit Kompleksitas Algoritma. Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs.
Matematika Diskrit Kompleksitas Algoritma Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs. Pendahuluan Sebuah masalah dapat mempunyai banyak algoritma penyelesaian. Contoh: masalah pengurutan (sort), ada
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 : [email protected] 1. Abstract
Kompleksitas Algoritma
Kompleksitas Algoritma Pendahuluan Mengapa kita memerlukan algoritma yang mangkus? Waktu komputasi (dalam detik) 10 5 10 4 10 3 10 2 1 0 1 10-1 1 hari 1 jam 1 detik 1 menit 5 1 0 1 5 2 0 10-4 x 2 n 10-6
Decrease and Conquer
Decrease and Conquer Bahan Kuliah IF2211 Strategi Algoritma Oleh: Rinaldi Munir Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika ITB 1 Decrease and conquer: metode desain algoritma
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
Kompleksitas Algoritma dalam Strategi Algoritma Sorting
Kompleksitas Algoritma dalam Strategi Algoritma Sorting Emilia Andari Razak/13515056 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung
SORTING DENGAN ALGORITMA DIVIDE AND CONQUER
SORTING DENGAN ALGORITMA DIVIDE AND CONQUER Ibnu Alam (13506024) Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10 [email protected] ABSTRAK Kemangkusan program adalah salah satu
RESUME ALGORITMA MERGE SORT DAN REKURENS
RESUME ALGORITMA MERGE SORT DAN REKURENS SRY WAHYUNI H12111292 Statistika Unhas ALGORITMA MERGE SORT Merge sort merupakan algoritma pengurutan dalam ilmu komputer yang dirancang untuk memenuhi kebutuhan
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
Aplikasi OBE Untuk Mengurangi Kompleksitas Algoritma Program Penghitung Determinan Matriks Persegi
Aplikasi OBE Untuk Mengurangi Kompleksitas Algoritma Program Penghitung Determinan Matriks Persegi Alif Bhaskoro / 13514016 Program Studi Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi
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
Pendahuluan. Ukuran input (input s size)
Kompleksitas Algoritma Sesi 14 Pendahuluan Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang mangkus ialah algoritma yang meminimumkan kebutuhan waktu dan ruang.
Aplikasi Divide and Conquer pada Perkalian Large Integer untuk Menghitung Jumlah Rute TSP Brute Force
Aplikasi Divide and Conquer pada Perkalian Large Integer untuk Menghitung Jumlah Rute TSP Brute Force Martin Lutta Putra - 13515121 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika
Pohon Biner Sebagai Struktur Data Heap dan Aplikasinya
Pohon Biner Sebagai Struktur Data Heap dan Aplikasinya Muhammad Adinata/13509022 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung
Algoritma dan Struktur Data. Performansi Algoritma
Algoritma dan Struktur Data Performansi Algoritma Teknik Informatika Universitas Muhammadiyah Malang 2016 Mana yang lebih baik? pilihan 1 : Algoritma biasa dengan komputer yang cepat. pilihan 2 : Menggunakan
Penyelesaian Fungsi Kontinu menggunakan Decrease and Conquer
Penyelesaian Fungsi Kontinu menggunakan Decrease and Conquer Abdurosyid Broto Handoyo (13510107) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.
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:[email protected] Abstract Makalah ini
Algoritma dan Kompleksitas Algoritma
Algoritma dan Kompleksitas Algoritma Algoritma Algoritma adalah urutan logis langkah-langkah penyelesaian masalah yang ditinjau secara sistematis. Asal Usul Algoritma Kata ini tidak muncul dalam kamus
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
MAKALAH ALGORITMA DIVIDE AND CONQUER
MAKALAH ALGORITMA DIVIDE AND CONQUER Galih Pranowo Jurusan Matematika Ilmu Komputer FAKULTAS SAINS TERAPAN INSTITUT SAINS & TEKNOLOGI AKPRIND YOGYAKARTA 1. Pengertian Algoritma Divide and Conquer merupakan
Kompleksitas Algoritma untuk Penyelesaian Persoalan Penukaran Koin dengan Algoritma Greedy
Kompleksitas Algoritma untuk Penyelesaian Persoalan Penukaran Koin dengan Algoritma Greedy Dita Anindhika 13509023 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi
Kompleksitas Algoritma
Kompleksitas Algoritma Pendahuluan Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus. Kemangkusan algoritma diukur dari berapa
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
Penentuan Hubungan Kompleksitas Algoritma dengan Waktu Eksekusi pada Operasi Perkalian
Penentuan Hubungan Kompleksitas Algoritma dengan Waktu Eksekusi pada Operasi Perkalian Raymond Lukanta 13510063 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi
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
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
Pengantar Analisa Algoritma
Pengantar Analisa Algoritma Pendahuluan Suatu permasalahan memungkinkan untuk diselesaikan dengan lebih dari satu algoritma (pendekatan) Bagaimana kita memilih satu diantara beberapa algoritma tersebut.
Aturan Untuk Menentukan Kompleksitas Waktu Asimptotik. Penjelasannya adalah sebagai berikut: T(n) = (n + 2) log(n 2 + 1) + 5n 2
Aturan Untuk Menentukan Kompleksitas Waktu Asimptotik 1. Jika kompleksitas waktu T(n) dari algoritma diketahui, Contoh: (i) pada algoritma cari_maksimum T(n) = n 1 = O(n) (ii) pada algoritma pencarian_beruntun
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
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
Memanfaatkan Pewarnaan Graf untuk Menentukan Sifat Bipartit Suatu Graf
Memanfaatkan Pewarnaan Graf untuk Menentukan Sifat Bipartit Suatu Graf Gianfranco Fertino Hwandiano - 13515118 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi
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,
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: [email protected]
Penerapan Relasi Rekursif dan Matriks dalam Partisi Bilangan Bulat
Penerapan Relasi Rekursif dan Matriks dalam Partisi Bilangan Bulat Gilang Ardyamandala Al Assyifa (13515096) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,
Penentuan Palet Warna pada Gambar Raster dengan Algoritma Divide and Conquer
Penentuan Palet Warna pada Gambar Raster dengan Algoritma Divide and Conquer Malvin Juanda / 13514044 Program Studi Tekik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,
Algoritma Divide and Conquer untuk Optimasi Pemberian Efek Aura pada Permainan DotA (Defense of the Ancient)
Algoritma Divide and Conquer untuk Optimasi Pemberian Efek Aura pada Permainan DotA (Defense of the Ancient) Arifin Luthfi Putranto NIM 13508050 Program Studi Teknik Informatika Sekolah Teknik Elektro
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
Design and Analysis of Algorithms CNH2G3- Week 5 Kompleksitas waktu algoritma rekursif part 2: Metode Karakteristik
Design and Analysis of Algorithms CNH2G3- Week 5 Kompleksitas waktu algoritma rekursif part 2: Metode Karakteristik Dr. Putu Harry Gunawan (PHN Review 1. Tentukan kompleksitas waktu Big-Oh untuk relasi
Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort
Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort Setia Negara B. Tjaru (13508054) Program Studi Teknik Informatika ITB Bandung e-mail: [email protected] ABSTRAK Makalah ini
Design and Analysis of Algorithm
Design and Analysis of Algorithm Week 3: Notasi Asymptotic dan Kelas Dasar Efisiensi Dr. Putu Harry Gunawan 1 1 Department of Computational Science School of Computing Telkom University Dr. Putu Harry
Solusi UTS Stima. Alternatif 1 strategi:
Solusi UTS Stima 1. a. (Nilai 5) Representasikanlah gambar kota di atas menjadi sebuah graf, dengan simpul merepresentasikan rumah, dan bobot sisi merepresentasikan jumlah paving block yang dibutuhkan.
Penerapan Rekursif dan Analisa Kompleksitas Algoritma Pada Brute Force Login
Penerapan Rekursif dan Analisa Kompleksitas Algoritma Pada Brute Force Login Aryya Dwisatya Widigdha/13512043 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi
PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT email: [email protected]
PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO Oky Dwi Nurhayati, ST, MT email: [email protected] Kinerja yang perlu ditelaah pada algoritma: beban komputasi efisiensi penggunaan memori Yang perlu
ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT
ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT Disusun untuk memenuhi tugas UTS mata kuliah : Analisis Algoritma Oleh : Eka Risky Firmansyah 1110091000043 Program Studi Teknik Informatika
Perbandingan Algoritma Brute Force, Divide and conquer, dan Dynamic Programming untuk Solusi Maximum Subarray Problem
Perbandingan Algoritma Brute Force, Divide and conquer, dan Dynamic Programming untuk Solusi Maximum Subarray Problem Reinhard Denis Najogie - 13509097 Program Studi Teknik Informatika Sekolah Teknik Elektro
ALGORITMA DIVIDE AND CONQUER
ALGORITMA DIVIDE AND CONQUER By Gapra. Email : [email protected] 1. Pengertian Algoritma Divide and Conquer merupakan algoritma yang sangat populer di dunia Ilmu Komputer. Divide and Conquer merupakan
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
Implementasi Metode Jumlah Riemann untuk Mendekati Luas Daerah di Bawah Kurva Suatu Fungsi Polinom dengan Divide and Conquer
Implementasi Metode Jumlah Riemann untuk Mendekati Luas Daerah di Bawah Kurva Suatu Fungsi Polinom dengan Divide and Conquer Dewita Sonya Tarabunga - 13515021 Program Studi Tenik Informatika Sekolah Teknik
Analisis Kemangkusan Algoritma Pengurutan Quicksort
Analisis Kemangkusan Algoritma Pengurutan Quicksort Ahmad 13512033 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung 40132, Indonesia
Perbandingan Algoritma Pengurutan Merge Sort, Quick Sort dan Heap Sort Dilihat dari Kompleksitasnya
Perbandingan Algoritma Pengurutan Merge Sort, Quick Sort dan Heap Sort Dilihat dari Kompleksitasnya Made Edwin Wira Putra (13508010) Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika,
Design and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 07
Design and Analysis Algorithm Ahmad Afif Supianto, S.Si., M.Kom Pertemuan 07 Contents 31 2 3 4 35 Divide and Conguer MinMax Problem Closest Pair Sorting Problem Perpangkatan 2 Algoritma divide and conquer
Pengantar Strategi Algoritmik. Oleh: Rinaldi Munir
Pengantar Strategi Algoritmik Oleh: Rinaldi Munir 1 Masalah (Problem) Masalah atau persoalan: pertanyaan atau tugas yang kita cari jawabannya. Contoh-contoh masalah: 1. [Masalah pengurutan] Diberikan senarai
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
Pendekatan Algoritma Divide and Conquer pada Hierarchical Clustering
Pendekatan Algoritma Divide and Conquer pada Hierarchical Clustering Agnes Theresia Damanik / 13510100 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,
Design and Analysis of Algorithm
Design and Analysis of Algorithm Week 5: Kompleksitas waktu algoritma rekursif part 2 Dr. Putu Harry Gunawan 1 1 Department of Computational Science School of Computing Telkom University Dr. Putu Harry
PERBANDINGAN KOMPLEKSITAS ALGORITMA PENCARIAN BINER DAN ALGORITMA PENCARIAN BERUNTUN
PERBANDINGAN KOMPLEKSITAS ALGORITMA PENCARIAN BINER DAN ALGORITMA PENCARIAN BERUNTUN Yudhistira NIM 13508105 Mahasiswa Program Studi Teknik Informatika ITB Jalan Ganesha No.10 Bandung e-mail: [email protected]
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
Kompleksitas Algoritma Dalam Algoritma Pengurutan
Kompleksitas Algoritma Dalam Algoritma Pengurutan Rio Cahya Dwiyanto Jurusan Teknik Informatika ITB, Bandung, email: [email protected] Abstract Makalah ini membahas tetang beberapa algoritma, terutama
BAB 2 LANDASAN TEORI. Algoritma Optimal Mismatch ini mencari data secara berurut pada tiap
BAB 2 LANDASAN TEORI 2.1 Algoritma Optimal Mismatch Algoritma Optimal Mismatch ini mencari data secara berurut pada tiap karakter dalam teks sehingga pencarian seperti ini disebut pencarian sekuensial
Implementasi Logika Penurunan Persamaan Aritmatika pada Program Komputer
Implementasi Logika Penurunan Persamaan Aritmatika pada Program Komputer Cendhika Imantoro - 13514037 Program Studi Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha
Implementasi Algoritma Runut Balik dalam Pengenalan Citra Wajah pada Basis Data
Implementasi Algoritma Runut Balik dalam Pengenalan Citra Wajah pada Basis Data Restu Arif Priyono / 13509020 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi
Algoritma Divide and Conquer (Bagian 1)
Algoritma Divide and Conquer (Bagian 1) Bahan Kuliah IF2251 Strategi Algoritmik Oleh: Rinaldi Munir 1 Divide and Conquer dulunya adalah strategi militer yang dikenal dengan nama divide ut imperes. Sekarang
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
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
Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus.
Waktu komputasi (dalam detik) Kompleksitas Algoritma Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus. Kemangkusan algoritma
Penerapan Algoritma Runut-balik pada Permainan Math Maze
Penerapan Algoritma Runut-balik pada Permainan Math Maze Angela Lynn - 13513032 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung
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
Penerapan strategi runut-balik dalam penyelesaian permainan puzzle geser
Penerapan strategi runut-balik dalam penyelesaian permainan puzzle geser Dimas Angga 13510046 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha
Analisis Kompleksitas Algoritma dalam Operasi BigMod
Analisis Kompleksitas Algoritma dalam Operasi BigMod Calvin sadewa / 13512066 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung
Design and Analysis of Algorithms CNH2G3- Week 4 Kompleksitas waktu algoritma rekursif part 1
Design and Analysis of Algorithms CNH2G3- Week 4 Kompleksitas waktu algoritma rekursif part 1 Dr. Putu Harry Gunawan (PHN) Quiz I 1. Tentukan operasi dasar, c op dan C(n) untung masing-masing algoritma
Pendahuluan. Sebuah algoritma tidak saja harus benar, tetapi juga harus efisien. Algoritma yang bagus adalah algoritma yang efektif dan efisien.
Pendahuluan Sebuah algoritma tidak saja harus benar, tetapi juga harus efisien. Algoritma yang bagus adalah algoritma yang efektif dan efisien. Algoritma yang efektif diukur dari berapa jumlah waktu dan
Aplikasi Algoritma Brute Force Pada Knight s Tour Problem
Aplikasi Algoritma Brute Force Pada Knight s Tour Problem Sahat Nicholas Simangunsong - 13509095 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl.
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,
Penerapan Divide and Conquer dalam Membandingkan Alur Proses 2 Source Code
Penerapan Divide and Conquer dalam Membandingkan Alur Proses 2 Source Code Gregorius Ronny Kaluge / 13508019 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,
Aplikasi Pohon Pencarian Biner Seimbang sebagai Memo Table Dynamic Programming
Aplikasi Pohon Pencarian Biner Seimbang sebagai Memo Table Dynamic Programming Reinhard Benjamin Linardi, 13515011 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi
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
Divide and Conqueradalah strategi militer yang dikenal dengan nama divide ut imperes.
Divide and Conquer Divide and Conqueradalah strategi militer yang dikenal dengan nama divide ut imperes. Strategi tersebut menjadi strategi fundamental di dalam ilmu komputer dengan nama 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
Fast Fourier Transform
Fast Fourier Transform Perbandingan Algoritma Fast Fourier Transform Dengan Algoritma Dasar Dalam Mengalikan Polinomial Andika Kusuma Informatika Institut Teknologi Bandung Bandung, Indonesia [email protected]
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.
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
Praktikum 9. Pengurutan (Sorting) Quick Sort, Merge Sort
Praktikum 9 Pengurutan (Sorting) Quick Sort, Merge Sort POKOK BAHASAN: Konsep pengurutan dengan quick sort dan merge sort Struktur data proses pengurutan Implementasi algoritma pengurutan quick sort dan
Kompleksitas Algoritma Euclidean dan Stein(FPB Biner)
Kompleksitas Algoritma Euclidean dan Stein(FPB Biner) Okharyadi Saputra (13510072) Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung
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
Pemecahan Masalah Longest Increasing Subsequence Memanfaatkan Program Dinamis dan Binary Search
Pemecahan Masalah Longest Increasing Subsequence Memanfaatkan Program Dinamis dan Binary Search Chalvin Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,
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
Memecahkan Puzzle Hidato dengan Algoritma Branch and Bound
Memecahkan Puzzle Hidato dengan Algoritma Branch and Bound Hanny Fauzia 13509042 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10 Bandung
Heap Tree dan Kegunaannya dalam Heap Sort
Heap Tree dan Kegunaannya dalam Heap Sort Efendy Chalikdjen 1, Hermanto Ong 2, Satria Putra Sajuthi 3 Laboratorium Ilmu dan Rekayasa Komputasi Departemen Teknik Informatika, Institut Teknologi Bandung
KOMPLEKSITAS ALGORITMA PENGURUTAN (SORTING ALGORITHM)
KOMPLEKSITAS ALGORITMA PENGURUTAN (SORTING ALGORITHM) Andi Kurniawan Dwi Putranto / 3508028 Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jln. Ganesha
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
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)
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
Penyelesaian Persoalan Penukaran Uang dengan Program Dinamis
Penyelesaian Persoalan Penukaran Uang dengan Program Dinamis Albert Logianto - 13514046 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha 10
