Analisis Algoritma. Jimmy Tirtawangsa. Universitas Telkom 2014

Ukuran: px
Mulai penontonan dengan halaman:

Download "Analisis Algoritma. Jimmy Tirtawangsa. Universitas Telkom 2014"

Transkripsi

1 Analisis Algoritma Jimmy Tirtawangsa Universitas Telkom 2014

2 Daftar Isi (1) Motivasi (2) Kompleksitas dan Optimalitas (3) Struktur data (4) Teknik 2 analisis algoritma (5) Struktur graf (6) Problem Sulit/Intraktabel

3 Kompleksitas dan Optimalitas Saat menghadapi problem komputasi: (1) Cari sebuah solusi algoritmik (a) Cari ide, buat algoritma (b) Buktikan algorima sesuai (c) Analisis kompleksitasnya (2) Kurang puas? Perbaikan solusi (3) Apakah solusi optimal? (4) Kiat apa jika optimal juga tidak cukup. Menembus batas

4 Contoh Ideal: Pengurutan Data Satu problem komputasi yang sangat banyak manfaatnya Sudah diselidiki oleh banyak orang Berbagai solusi telah dikembangkan Optimalitas solusi sudah terbukti Berbagai cara untuk mengingkari batas optimal juga banyak dilakukan

5 Pengurutan Data Masukan: Sekumpulan data tersimpan dalam array Keluaran: Salah satu permutasi data tersebut, dimana data terurut monotonik membesar dari indek pertama s.d. indek terakhir Batasan: Algoritma menggunakan operator pembandingan dua data untuk menguji relasi antar data (<, <=, >, atau >=)

6 Pengurutan Berbasis Seleksi (SelectionSort) Ide: Pada setiap iterasi, cari data dengan nilai terbesar dan taruh di lokasi terakhir. Algoritma SelectionSort: (1)i = n (2)while i > 1 do (3) j = Max(A, 1, i) (4) TukarPosisi(A, i, j) (5) i = i 1 (6)endwhile

7 Pengurutan Berbasis Seleksi Dengan fungsi max sbb: fungsi Max( A, awal, akhir ) returns imax (1)imax = awal (2)j = imax + 1 (3)while j <= akhir do (4) if A[j] > A[imax] then imax = j (5) j = j + 1 (6)endwhile (7)return imax

8 Contoh Proses Pengurutan

9 Beberapa Obvervasi Pengurutan yang sama dapat diperoleh dengan mencari nilai terkecil dan ditaruh diawal array Stabil adalah istilah untuk pengurutan, dimana apabila ada data yang ekivalen (sama besar), setelah diurutkan, urutan semula tetap dipertahankan. Apakah Selection Sort stabil?

10 Pengurutan Berbasis Seleksi Kebenaran algoritma tersebut dalam mengurutkan data bergantung pada bukti untuk dua hal berikut: Algoritma tersebut akan berhenti setelah mengurutkan data Setelah berhenti, data memang terurut

11 Pengurutan Berbasis Seleksi Algoritma tersebut pasti akan berhenti karena: Semua instruksi didalam loop tersebut finite, atau pasti akan selesai/berhenti Iterasi bergantung pada variabel i, dan variabel i bergerak dari n s.d. 2 (sebelum i mencapai nilai 1 sudah keluar dari loop).

12 Loop Invarian Algoritma SelectionSort Untuk membuktikan kebenaran algoritma pengurutan diatas, perhatikan baris 3 (while i > 1 do) Apabila algoritma tersebut benar, maka setiap memasuki loop tersebut, selalu berlaku kondisi (loop invarian) Data A[i+1..n] sudah terurut, dan Data A[1..i] < data A[i+1..n] Sehingga pada saat keluar dari loop tersebut, atau i = 1, maka A[2..n] sudah terurut, dan A[1] lebih kecil dari semua yang lain DPL, A[1..n] seluruhnya terurut

13 Pembuktian dengan induksi Pada awal iterasi, i == n Basis: trivial karena belum ada data terurut Hipotesis: asumsi kondisi berlaku pada 1 < i==k < n A[k+1..n] terurut A[1..k] < A[k+1..n] Induksi: Buktikan tetap berlaku untuk iterasi i==k-1 Proses didalam loop pada iterasi ke-i==k j berisi data terbesar diantara A[1..k] Karena TukarPosisi maka A[k,k+1,..n] terurut dan A[1..i- 1] < A[k, k+1..n] Pada langkah terakhir i=i-1, maka kondisi diatas kembali berlaku untuk i==k-1 Terbukti dengan induksi

14 Penggunaan Sumber Daya Biasanya dihitung terkait dengan banyaknya data masukan Sumber daya dapat berupa waktu eksekusi, Atau besar memori yang digunakan, Atau kebutuhan jaringan, dll

15 Perhitungan Sumber Daya Tidak menjumlahkan seluruh operasi yang dilakukan: Terlalu rumit Waktu eksekusi setiap instruksi berbeda untuk jenis prosesor berlainan Yang dicari adalah tren atau relasi antara kebutuhan sumber daya terhadap pertumbuhan data Cukup menghitung operator yang relevan Pada proses pengurutan diatas, operator perbandingan data dianggap relevan

16 Fungsi Kompleksitas Terhadap data masukan, adalah fungsi asimtot untuk perkiraan kebutuhan sumber daya: Apabila merupakan perkiraan maksimum, fungsi tersebut menjadi batas atas Sebaliknya,jika perkiraan kebutuhan minimum, fungsi adalah batas bawah Dapat merupakan perkiraan kompleksitas: Rata-rata atas suatu distribusi data tertentu Atas situasi terburuk yang mungkin terjadi

17 Batas Atas dan Batas Bawah Notasi O-Besar Notasi Omega-Besar Notasi Theta-Besar Notasi o-kecil Notasi omega-kecil

18 Analisis Kompleksitas Pengurutan berbasis Seleksi Apabila fungsi Max memerlukan waktu Θ(i) pada iterasi ke-i, dimana i=2..n Maka waktu yang diperlukan adalah n i=2 Θ(i)=Θ( (n 1)(n+2) 2 )=Θ(n 2 )

19 Latihan (1) Dengan induksi buktikan kebenaran fungsi Max (2) Tunjukan Θ(n) adalah kebutuhan waktu eksekusi Max (3) Mengapa hasil yang diperoleh dalam notasi-θ? (4) Pelajari dan lakukan eksperimen dengan algoritma Selection sort, Bublesort, dan Insertion sort. Mengapa Bublesort lebih lambat daripada yang lain? (5)Apakah Bublesort dan Insertion sort stabil?

20 Pengurutan Yang Lebih Cepat Alasan perlu solusi yang lebih cepat Alasan saat solusi lebih cepat tidak diperlukan Percepatan dapat diperoleh dengan menghilangkan redudansi proses Sumber redundansi proses: Pemeriksaan yang tidak perlu Pengulangan pemeriksaan Tidak ada mekanisme memanfaatkan hasil pemeriksaan sebelumnya

21 Pengurutan dengan Heap (HeapSort) Heap: Struktur berbentuk pohon, dimana nilai data suatu node selalu lebih besar dari nilai data anak-anaknya Nilai data root selalu paling besar Representasi heap dalam array: Anak node i adalah node 2*i dan 2*i+1 Root adalah node 1 Dua operasi heap: BangunHeap PerbaikiHeap

22 Algoritma Heapsort Ide: Memanfaatkan heap untuk mempercepat proses seleksi Algoritma: (1)BangunHeap(A, n) (2)i = n (3)while i > 1 do (4) TukarPosisi(A, 1, i) (5) PerbaikiHeap(A, 1, i-1) (6) i = i 1 (7)endwhile

23

24 PerbaikiHeap(A, i, n) (1)lanjut = true (2)while lanjut do (3) lanjut = false (4) p = i; l = 2*i; r = l+1 (5) if l <= n and A[l] > A[p] then p = l (6) if r <= n and A[r] > A[p] then p= r (7) if i!= p then (8) TukarPosisi(A, i, p) (9) lanjut = true (10) i = p (11) endif (12)endwhile

25 Prosedur BangunHeap(A, n) (1)i = floor(n/2) (2)while i >= 1 do (3) PerbaikiHeap(A, i, n) (4) i = i - 1 (5)endwhile

26 Pengurutan dengan Heap Bukti kebenaran algoritma Heapsort mirip dengan bukti untuk algoritma sebelumnya Asalkan prosedur BangunHeap dan PerbaikiHeap selalu menaruh data terbesar diposisi A[1]

27 Kebenaran PerbaikiHeap Prosedur ini berasumsi bahwa heap sudah benar, kecuali pada posisi ke-i Baris 4-6 prosedur tersebut membandingkan node ke-i dengan kedua anaknya, dan diperoleh node p dengan data terbesar. Jika node i bukan yang terbesar, baris 7-11 memastikan sekarang kembali menjadi yang terbesar Baris 10 i menjadi p, sehingga asumsi kembali benar Proses berhenti jika node i tidak mempunyai anak node lagi data node i lebih besar dari data anak nodenya

28 Kebenaran BangunHeap Pada awalnya, data belum membentuk heap Tapi, A[ n/2..n] tidak mempunyai anak, sehingga masing2 memenuhi definisi sebagai sub-heap yang benar Dimulai dari i == n/2-1,dengan demikian pada setiap iterasi, hanya node i yang mungkin melanggar aturan heap, dan ini dapat diperbaiki oleh PerbaikiHeap Sehingga saat akhir iterasi, i mencapai 1, seluruh heap terbentuk

29 Pengurutan dengan Heap Kompleksitas PerbaikiHeap bergantung pada jumlah iterasi 2-12: Berhenti jika i == p atau i > n/2 Atau berlanjut dengan i == 2*i atau 2*i+1 Sehingga diperoleh O(log(n) log(i)) Untuk i == 1 maka log(1) = 0, atau O(log(n))

30 Pengurutan dengan Heap Kompleksitas BangunHeap adalah akumulasi dari PerbaikiHeap n 2 Ο(log(n) log(i)) n i=1 2 Ο(log(n)) Kompleksitas BangunHeap adalah O(n log(n))

31 Algoritma Heapsort Algoritma: (1)BangunHeap(A, n) O(n log n) (2)i = n O(1) (3)while i > 1 do n-1 iterasi (4) TukarPosisi(A, 1, i) O(1) (5) PerbaikiHeap(A, 1, i-1) O(log n log i) (6) i = i 1 O(1) (7)endwhile

32 Kompleksitas Heapsort Kompleksitas Heapsort n Ο(n log(n))+ i=2 Ο(log(n) log(i)). Ο(n log(n))+(n 1)Ο(log(n)). 2Ο(n log(n)) Atau O(n log n)

33 Latihan (1) Pelajari algoritma Quicksort dan Mergesort. Bandingkan dengan algoritma Heapsort! Dalam kasus seperti apa Heapsort lebih baik, dan dalam kasus apa Quicksort lebih baik? Begitu juga, bandingkan dengan Mergesort. (2) Apakah Heapsort stabil atau tidak stabil? Bagaimana dengan Quicksort dan Mergesort?

34 Batas Optimal Pengurutan Perbaikan proses seleksi, meningkatkan performa dari O(n 2 ) menjadi O(n log n) Apakah mungkin untuk mendapatkan solusi secara asimtot lebih cepat lagi? Atau solusi yang sudah diperoleh yang paling cepat? Dengan menganalisis masalah yang dihadapi, dapat diketahui jumlah minimum operasi yang diperlukan!

35 Batas Optimal Pengurutan Proses pengurutan pada dasarnya adalah proses permutasi dari data yang diberikan Untuk n data, maka akan ada n! (n faktorial) kemungkinan permutasi data Salah satu permutasi akan memberikan susunan data yang terurut Berapa banyak minimum operasi perbandingan (dalam situasi terburuk) untuk melakukan permutasi dari satu urutan ke satu urutan lain?

36 Pohon Keputusan Permutasi dari satu susunan data ke susunan lain diperoleh melalui serangkaian operasi perbandingan. Setiap operasi menghasilkan dua alur berbeda, akibat dari dari kondisi True/False Karena itu, dari susunan data semula, sejumlah rangkaian operasi perbandingan kesemua kemungkinan n! permutasi susunan data membentuk graf pohon. (Pohon keputusan)

37 Pohon Keputusan Masing 2 algoritma sorting dengan suatu input susunan data awal akan membentuk pohon keputusan sendiri yang khas. Karena ide algoritma tersebut, sangat mungkin beberapa operasi membandingkan dua data yang itu 2 lagi lebih dari sekali dalam satu alur untuk mencapai permutasi akhir yang diinginkan. Minimum operasi yang dibutuhkan untuk algoritma tsb == maksimum tinggi pohon keputusannya

38 Pohon Keputusan untuk 3 data

39 Optimalitas Proses Pengurutan Algoritma ideal akan mempunyai pohon keputusan yang sangat balance dan tidak ada duplikasi operasi perbandingan dalam tiap jalurnya. Sehingga tinggi pohon adalah log(n!) atau Ω(n log n) Artinya hanya dengan operasi pembandingan, proses pengurutan data secara asimtotik tidak dapat lebih cepat dari Ω(n log n) Dpl. diisimpulkan Heapsort adalah algoritma optimal, atau Θ(n log n) Mungkin saja algoritma lain mempunyai eksekusi lebih cepat/efisien, tetapi kompleksitasnya tidak lebih baik

40 Latihan Lengkapi bukti pohon keputusan diatas sehingga diperoleh Ω(n log n)

41 Menembus Batas Dalam beberapa situasi, algoritma optimal yang paling efisienpun, mungkin masih belum mencukupi Kaji ulang masalah yang dihadapi Data mempunyai keterbatasan tertentu Mungkin malah data tidak perlu diurutkan Mungkin pengurutan tidak perlu dengan operasi perbandingan data Tetapi untuk menjamin keterurutan, setiap elemen data harus terakses, sehingga Ω(n) adalah batas trivial yang tidak dapat dilanggar

42 Pengurutan dengan Pencacahan (CountingSort) Apabila rentang data (k) dari terkecil s.d. terbesar, terbatas atau k = O(n) Untuk kemudahan pembahasan, data dianggap bilangan integer Jumlah kemunculan data dapat dihitung, dan lokasi setelah terurut dapat diantisipasi

43 Pengurutan dengan Pencacahan Algoritma CountingSort (1)for i = terkecil to terbesar do (2) C[i] = 0 (3)for i = 1 to n do (4) C[A[i]]++ (5)for i = terkecil+1 to terbesar do (6) C[A[i]] = C[A[i]] + C[A[i-1]] (7)for i = n downto 1 do (8) B[C[A[i]]] = A[i] (9) C[A[i]]--

44 Pengurutan dengan Pencacahan

45 Pengurutan dengan Pencacahan Kebenaran CountingSort: Untuk data i dari terkecil s.d. terbesar, Setelah pencacahan, C[i] berisi jumlah kemunculan masing2 data i Setelah akumulasi, C[i] berisi jumlah data <= i Dpl, C[i] dapat menunjukkan indek terbesar dimana data i disimpan setelah terurut (jika data i ada di A) Dengan memeriksa data di A satu persatu, data dapat disimpan sesuai posisi di C[i], ke array B Isi C[i] disesuaikan setelah data disimpan di B Karena C[i] menunjuk posisi terbesar, dengan memulai pemeriksaan A dari indek terbesar, hasil terurut akan stabil!

46 Kompleksitas CountingSort Proses inisialisasi array pencacah C O(k) Proses pencacahan isi array A O(n) Proses akumulasi hasil pencacahan di C O(k) Proses redistribusi data dari A ke B O(n) Total adalah O(k+n), sehingga jika k = O(n), maka Countingsort adalah O(n)

47 Observasi CountingSort Counting Sort tergantung atas rentang data yang diurutkan Counting Sort hanya membutuhkan waktu linear Counting Sort bersifat stabil

48 Pengurutan Bertahap Berdasar Kolom Data (RadixSort) Untuk data yang lebih besar Apabila data dapat dipecah terhadap kolom/digit data Pengurutan dimulai dari digit yang lebih kecil (least significant digit) Kemudian diulang, sampai ke digit terakhir (most significant digit)

49 Pengurutan Bertahap Berdasar Kolom Data Pengurutan per kolom dapat menggunakan Counting Sort Karena rentang digit per kolom dapat jauh lebih sedikit dari jumlah data

50 Pengurutan Bertahap Berdasar Kolom Data

51 Algoritma RadixSort Kompleksitas algoritma adalah l Ο(n) dimana l adalah jumlah kolom Apabila l adalah konstan, maka diperoleh O(n)

52 Latihan (1) Apa yang perlu dilakukan jika data untuk CountingSort ternyata bukan integer? (2)Apa yang terjadi jika pada RadixSort, pengurutan dimulai dari digit kanan lebih dulu? (3) Pelajari algoritma BucketSort. Mengapa waktu algoritma tersebut juga linear terhadap besar input?

53 Latihan (4) Mengapa Ω(n) adalah batas bawah proses sorting? (5) Mengapa Counting Sort stabil? Bagaimana dengan Radixsort dan Bucketsort?

54 Rangkuman Cari solusi efisien Cari solusi lebih baik jika dibutuhkan Batas atas usaha mencari solusi yang lebih baik Alternatif solusi jika solusi optimum belum memadai

55 Rujukan T. H. Cormen, C. E. Leiserson, R. L. Rivest, dan C. Stein, Introduction to Algorithms, edisi 3, S Dasgupta, C. H. Papadimitrou, dan U. V. Vazirani, Algorithms, 2006.

Yaitu proses pengaturan sekumpulan objek menurut urutan atau susunan tertentu Acuan pengurutan dibedakan menjadi :

Yaitu proses pengaturan sekumpulan objek menurut urutan atau susunan tertentu Acuan pengurutan dibedakan menjadi : PENGURUTAN Yaitu proses pengaturan sekumpulan objek menurut urutan atau susunan tertentu Acuan pengurutan dibedakan menjadi : 1. Ascending / menaik Syarat : L[1] L[2] L[3] L[N] 2. Descending / menurun

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

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

Pendahuluan. Ukuran input (input s size)

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.

Lebih terperinci

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. 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

Lebih terperinci

Kompleksitas Algoritma

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

Lebih terperinci

Pohon Biner Sebagai Struktur Data Heap dan Aplikasinya

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

Lebih terperinci

ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT

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

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

Pengkajian Algoritma Pengurutan-Tanpa-Pembandingan Counting Sort dan Radix Sort

Pengkajian Algoritma Pengurutan-Tanpa-Pembandingan Counting Sort dan Radix Sort Pengkajian lgoritma Pengurutan-Tanpa-Pembandingan ounting Sort dan Radix Sort Dominikus Damas Putranto, NIM 13506060 Program Studi Teknik Informatika IT, andung 40132 email: if16060@studentsifitbacid bstract

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

Matematika Diskrit Kompleksitas Algoritma. Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs.

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

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

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

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

Kompleksitas Algoritma

Kompleksitas Algoritma Kompleksitas Algoritma 1 Pendahuluan Sebuah masalah dapat mempunyai banyak algoritma penyelesaian. Contoh: masalah pengurutan (sort), ada puluhan algoritma pengurutan Sebuah algoritma tidak saja harus

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

Pengurutan (Sorting) Algoritma Pemrograman

Pengurutan (Sorting) Algoritma Pemrograman Pengurutan (Sorting) Algoritma Pemrograman mas.anto72@gmail.com 1 Definisi Sorting /pengurutan proses mengatur sekumpulan obyek menurut urutan atau susunan tertentu. Bentuk susunan/urutan : Ascending menaik/membesar

Lebih terperinci

Pengurutan pada Array. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

Pengurutan pada Array. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang Pengurutan pada Array Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang Pengurutan (Sorting) Sorting atau pengurutan data adalah proses yang sering harus dilakukan dalam pengolahan

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

Kompleksitas Algoritma (1)

Kompleksitas Algoritma (1) Kompleksitas Algoritma (1) Pendahuluan Sebuah algoritma tidak saja harus benar, tetapi juga harus efisien Algoritma yang bagus adalah algoritma yang efisien. Kebutuhan waktu dan ruang suatu algoritma bergantung

Lebih terperinci

Algoritma dan Pemrograman Sorting (Pengurutan) IS1313. Oleh: Eddy Prasetyo N

Algoritma dan Pemrograman Sorting (Pengurutan) IS1313. Oleh: Eddy Prasetyo N Algoritma dan Pemrograman Sorting (Pengurutan) IS1313 Oleh: Eddy Prasetyo N Pengantar Sorting merupakan sebuah proses untuk mengatur item dalam suatu urutan tertentu ( menaik atau menurun ). Misalnya untuk

Lebih terperinci

Array (Tabel) bagian 2

Array (Tabel) bagian 2 Array (Tabel) bagian 2 Tim Pengajar KU71 Sem. 1 2009-20 2009/11/17 TW/KU71 1 Tujuan Perkuliahan Mahasiswa dapat menggunakan notasi pendefinisian dan pengacuan array dengan benar Mahasiswa memahami proses

Lebih terperinci

ANALISIS ALGORITMA. Disusun Oleh: Analisis Masalah dan Running Time. Adam Mukharil Bachtiar Teknik Informatika UNIKOM

ANALISIS ALGORITMA. Disusun Oleh: Analisis Masalah dan Running Time. Adam Mukharil Bachtiar Teknik Informatika UNIKOM ANALISIS ALGORITMA Analisis Masalah dan Running Time Disusun Oleh: Adam Mukharil Bachtiar Teknik Informatika UNIKOM adfbipotter@gmail.com AGENDA PERKULIAHAN DEFINISI MASALAH f x = a 0 + a n cos nπx +

Lebih terperinci

Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort

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: if18054@students.if.itb.ac.id ABSTRAK Makalah ini

Lebih terperinci

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 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

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

AnalisisFramework. Mengukur ukuran atau jumlah input Mengukur waktu eksekusi Tingkat pertumbuhan Efiesiensi worst-case, best-case dan average-case

AnalisisFramework. Mengukur ukuran atau jumlah input Mengukur waktu eksekusi Tingkat pertumbuhan Efiesiensi worst-case, best-case dan average-case AnalisisFramework Review Tujuan analisa : mengukur efesiensi algoritma Efisiensi diukur dari diukur dari: waktu (time) dan memori(space). Dua besaran yang digunakan: kompleksitas algoritma 1. Kompleksitas

Lebih terperinci

SORTING (PENGURUTAN DATA)

SORTING (PENGURUTAN DATA) SORTING (PENGURUTAN DATA) R. Denny Ari Wibowo, S.Kom STMIK BINA NUSANTARA JAYA LUBUKLINGGAU PENJELASAN Pengurutan data (sorting) secara umum didefinisikan sebagai suatu proses untuk menyusun kembali himpunan

Lebih terperinci

Kompleksitas Algoritma

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

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

Algoritma Divide and Conquer (Bagian 2)

Algoritma Divide and Conquer (Bagian 2) Algoritma Divide and Conquer (Bagian 2) Bahan Kuliah IF2251 Strategi Algoritmik Oleh: Rinaldi Munir 1 (c) Quick Sort Termasuk pada pendekatan sulit membagi, mudah menggabung (hard split/easy join) Tabel

Lebih terperinci

Kompleksitas Algoritma

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

Lebih terperinci

Decrease and Conquer

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

Lebih terperinci

BAB 2 TINJAUAN PUSTAKA

BAB 2 TINJAUAN PUSTAKA BAB 2 TINJAUAN PUSTAKA 2.1. Pengertian Algoritma Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis. Kata Logis merupakan kata kunci dalam Algoritma.

Lebih terperinci

Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir

Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir Bahan Kuliah IF2251 Strategi Algoritmik 1 Definisi Brute Force Brute force : pendekatan yang lempang (straightforward) untuk memecahkan suatu masalah

Lebih terperinci

Nama : Suseno Rudiansyah NPM : Kelas : X2T Prodi : Teknik Informatika Tugas : Kuis Algoritma 2

Nama : Suseno Rudiansyah NPM : Kelas : X2T Prodi : Teknik Informatika Tugas : Kuis Algoritma 2 Nama : Suseno Rudiansyah NPM : 201543501544 Kelas : X2T Prodi : Teknik Informatika Tugas : Kuis Algoritma 2 Tugas Kuiz Algoritma 2. Dosen : Budi Santoso 1. Diketahui dua buah larik A = [12,3,9,4,15,6]

Lebih terperinci

Kuliah ke : 4 Algoritma & Stuktur Data. Pengurutan (Sorting)

Kuliah ke : 4 Algoritma & Stuktur Data. Pengurutan (Sorting) Kuliah ke : 4 Algoritma & Stuktur Data Pengurutan (Sorting) Pengurutan adalah proses mengatur sekumpulan obyek menurut urutan atau susunan tertentu. Urutan obyek tersebut dapat menaik atau menurun. Bila

Lebih terperinci

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 1: 9 Mei 2016

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 1: 9 Mei 2016 Analisa dan Perancangan Algoritma Ahmad Sabri, Dr Sesi 1: 9 Mei 2016 Apakah algoritma itu? Asal istilah: Al Khwarizmi (± 800 M), matematikawan dan astronomer Persia. Pengertian umum: "suatu urutan langkah-langkah

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

Kompleksitas Algoritma

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

Lebih terperinci

Algoritma dan Kompleksitas Algoritma

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

Lebih terperinci

Algoritma Sorting (Selection Insertion)

Algoritma Sorting (Selection Insertion) Algoritma Sorting (Selection Insertion) Algoritma Insertion Sort Dengan Algoritma Insertion bagian kiri array terurut sampai seluruh array Misal pada data array ke-k, data tersebut akan disisipkan pada

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

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

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

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek. LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Percabangan Komplek dan case of 200 menit No. : LST/EKA/EKA 305/03 Revisi : Tgl. : Hal. 1 dari 3 hal. 1. Kompetensi Mengenal dan memahami algoritma percabangan

Lebih terperinci

MODUL IV PENCARIAN DAN PENGURUTAN

MODUL IV PENCARIAN DAN PENGURUTAN MODUL IV PENCARIAN DAN PENGURUTAN 4.1 Tujuan Tujuan modul IV ini, adalah: Praktikan bisa membuat beberapa program pencarian berdasarkan metode algoritma pencarian Praktikan bisa membuat beberapa program

Lebih terperinci

PERBANDINGAN KOMPLEKSITAS ALGORITMA PENCARIAN BINER DAN ALGORITMA PENCARIAN BERUNTUN

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: if18105@students.if.itb.ac.id

Lebih terperinci

Penggunaan Algoritma Greedy dalam Membangun Pohon Merentang Minimum

Penggunaan Algoritma Greedy dalam Membangun Pohon Merentang Minimum Penggunaan Algoritma Greedy dalam Membangun Pohon Merentang Minimum Gerard Edwin Theodorus - 13507079 Jurusan Teknik Informatika ITB, Bandung, email: if17079@students.if.itb.ac.id Abstract Makalah ini

Lebih terperinci

KOMPUTASI PADA JARINGAN KOMPUTER SEBAGAI ALTERNATIF PENINGKATAN KINERJA KOMPUTASI

KOMPUTASI PADA JARINGAN KOMPUTER SEBAGAI ALTERNATIF PENINGKATAN KINERJA KOMPUTASI KOMPUTASI PADA JARINGAN KOMPUTER SEBAGAI ALTERNATIF PENINGKATAN KINERJA KOMPUTASI Saat ini peningkatan kecepatan prosesor sangat luar biasa. Meskipun kecepatan processor dapat ditingkatkan terus, namun

Lebih terperinci

STRUKTUR DASAR ALGORITMA

STRUKTUR DASAR ALGORITMA STRUKTUR DASAR ALGORITMA Pertemuan 5 Muhamad Haikal, S.Kom., MT Struktur Dasar Algoritma 1. Struktur Sequence (Runtunan) 2. Struktur Selection (Pemilihan) 3. Struktur Repetition (Perulangan) Struktur Sequence

Lebih terperinci

Jurnal Mahajana Informasi, Vol.1 No 2, 2016 e-issn: SIMULASI PENGURUTAN DATA DENGAN ALGORITMA HEAP SORT

Jurnal Mahajana Informasi, Vol.1 No 2, 2016 e-issn: SIMULASI PENGURUTAN DATA DENGAN ALGORITMA HEAP SORT SIMULASI PENGURUTAN DATA DENGAN ALGORITMA HEAP SORT Harold Situmorang Program Studi Sistem Informasi Universitas Sari Mutiara Indonesia Haroldsitumorang@gmail.com ABSTRAK Struktur data dari algoritma Heap

Lebih terperinci

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. 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

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

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

Soal dan Jawaban Materi Graf, Pohon, dan Kompleksitas Algoritma

Soal dan Jawaban Materi Graf, Pohon, dan Kompleksitas Algoritma Soal dan Jawaban Materi Graf, Pohon, dan Kompleksitas Algoritma POHON 1. Ubahlah graf berikut ini dengan menggunakan algoritma prim agar menjadi pohon merentang minimum dan tentukan bobot nya! 2. Diberikan

Lebih terperinci

Solusi UTS Stima. Alternatif 1 strategi:

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.

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

Pengurutan (Sorting) Keuntungan Data Terurut. Pengurutan Terbagi Dua Kelompok:

Pengurutan (Sorting) Keuntungan Data Terurut. Pengurutan Terbagi Dua Kelompok: Pengurutan (Sorting) Pengurutan adalah proses mengatur sekumpulan obyek menurut urutan atau susunan tertentu. Urutan obyek tersebut dapat menaik atau menurun. Bila N obyek disimpan dalam larik L, maka

Lebih terperinci

Konstruksi Dasar Algoritma

Konstruksi Dasar Algoritma Konstruksi Dasar Algoritma ALGORITMA DAN PEMROGRAMAN [IF6110202] Yudha Saintika, S.T., M.T.I. Sub-Capaian Pembelajaran MK Pendahuluan Instruksi dan Aksi Algoritma merupakan deskripsi urutan pelaksanaan

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

BAB VI SORTIR ATAU PENGURUTAN

BAB VI SORTIR ATAU PENGURUTAN BAB VI SORTIR ATAU PENGURUTAN SORTIR TERHADAP RECORD File adalah Himpunan record, misalkan suatu perusahaan mempunyai file yang berisi seluruh data yang diperlukan oleh perusahaan itu tentang para pegawainya.

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

PENCARIAN SOLUSI TTS ANGKA DENGAN ALGORITMA RUNUT BALIK BESERTA PENGEMBANGANNYA

PENCARIAN SOLUSI TTS ANGKA DENGAN ALGORITMA RUNUT BALIK BESERTA PENGEMBANGANNYA PENCARIAN SOLUSI TTS ANGKA DENGAN ALGORITMA RUNUT BALIK BESERTA PENGEMBANGANNYA Wahyu Fahmy Wisudawan Program Studi Teknik Informatika Institut Teknologi Bandung, NIM: 506 Jl. Dago Asri 4 No. 4, Bandung

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

ANALISIS ALGORITMA BINARY SEARCH

ANALISIS ALGORITMA BINARY SEARCH ANALISIS ALGORITMA BINARY SEARCH Metode Binary search Binary search merupakan salah satu algoritma untuk melalukan pencarian pada array yang sudah terurut. Jika kita tidak mengetahui informasi bagaimana

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

Penerapan Pohon Dalam Heap Sort

Penerapan Pohon Dalam Heap Sort enerapan ohon Dalam Sort Firdi Mulia Jurusan Teknik Informatika ITB, Bandung, email: if17045@students.if.itb.ac.id Abstract Makalah ini membahas tentang penerapan pohon heap dalam metode pengurutan data

Lebih terperinci

BAB V SORTING (PENGURUTAN) INTERNAL

BAB V SORTING (PENGURUTAN) INTERNAL BAB V SORTING (PENGURUTAN) INTERNAL Sorting Internal : Proses pengurutan sekelompok data yang berada didalam memori utama komputer. Sorting External : Proses pengurutan sekelompok data yang sebagian saja

Lebih terperinci

Aplikasi Algoritma Greedy pada Optimasi Pelaksanaan Misi dalam Permainan Assassins Creed : Revelations

Aplikasi Algoritma Greedy pada Optimasi Pelaksanaan Misi dalam Permainan Assassins Creed : Revelations Aplikasi Algoritma Greedy pada Optimasi Pelaksanaan Misi dalam Permainan Assassins Creed : Revelations Miftahul Mahfuzh 13513017 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika

Lebih terperinci

Sieve of Eratosthenes dan Aplikasinya Dalam Problem Solving

Sieve of Eratosthenes dan Aplikasinya Dalam Problem Solving Sieve of Eratosthenes dan Aplikasinya Dalam Problem Solving Christianto - NIM : 1350003 1 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl. Ganesha

Lebih terperinci

BAB III ANALISIS KOMPLEKSITAS ALGORITMA

BAB III ANALISIS KOMPLEKSITAS ALGORITMA BAB III ANALISIS KOMPLEKSITAS ALGORITMA 3.1 Kompleksitas Algoritma Suatu masalah dapat mempunyai banyak algoritma penyelesaian. Algoritma yang digunakan tidak saja harus benar, namun juga harus efisien.

Lebih terperinci

KOMPLEKSITAS ALGORITMA PENGURUTAN (SORTING ALGORITHM)

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

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

Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus.

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

Lebih terperinci

Algoritma Greedy (lanjutan)

Algoritma Greedy (lanjutan) Algoritma Greedy (lanjutan) 5. Penjadwalan Job dengan Tenggang Waktu (Job Schedulling with Deadlines) Persoalan: - Ada n buah job yang akan dikerjakan oleh sebuah mesin; - tiap job diproses oleh mesin

Lebih terperinci

Kompleksitas Algoritma dalam menentukan Solvabilitas Sliding N-Puzzle

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

Lebih terperinci

Algoritma Radix Sort

Algoritma Radix Sort Algoritma Radix Sort 1. Pengertian Radix Sorting adalah metode sorting yang ajaib yang mana mengatur pengurutan nilai tanpa melakukan beberapa perbandingan pada data yang dimasukkan. Secara harfiah, radix

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

BAB II LANDASAN TEORI

BAB II LANDASAN TEORI BAB II LANDASAN TEORI 2.1 Teori Graf 2.1.1 Defenisi Graf Graf G didefenisikan sebagai pasangan himpunan (V,E), ditulis dengan notasi G = (V,E), yang dalam hal ini V adalah himpunan tidak kosong dari simpul-simpul

Lebih terperinci

Algoritma Divide and Conquer. (Bagian 2)

Algoritma Divide and Conquer. (Bagian 2) Algoritma Divide and Conquer (Bagian 2) (c) Quick Sort Termasuk pada pendekatan sulit membagi, mudah menggabung (hard split/easy join) Tabel A dibagi (istilahnya: dipartisi) menjadi A1 dan A2 sedemikian

Lebih terperinci

Algoritma Divide and Conquer (Bagian 1)

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

Lebih terperinci

Langkah Awal menuju Analisis Kompleksitas Algoritma

Langkah Awal menuju Analisis Kompleksitas Algoritma Langkah Awal menuju Analisis Kompleksitas Algoritma Isi Proses Desain dan Analisis Algoritma Tipe-tipe Problem yang penting Kebutuhan akan algoritma yang efisien Analisis framework 2 Proses Desain dan

Lebih terperinci

SORTING. Struktur Data S1 Sistem Informasi. Ld.Farida

SORTING. Struktur Data S1 Sistem Informasi. Ld.Farida SORTING Struktur Data S1 Sistem Informasi Ld.Farida INTRO Sorting (Pengurutan) diartikan sebagai penyusunan kembali sekumpulan objek ke dalam urutan tertentu Tujuan: Mendapatkan kemudahan dalam pencarian

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

Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum

Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum Analisis Pengimplementasian Algoritma Greedy untuk Memilih Rute Angkutan Umum Arieza Nadya -- 13512017 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung,

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI 6 BAB 2 LANDASAN TEORI 2.1 Pengertian Algoritma Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis. Kata Logis merupakan kata kunci dalam Algoritma.

Lebih terperinci

2. Sebuah prosedur langkah demi langkah yang pasti untuk menyelesaikan sebuah masalah disebut : a. Proses b. Program c. Algoritma d. Prosesor e.

2. Sebuah prosedur langkah demi langkah yang pasti untuk menyelesaikan sebuah masalah disebut : a. Proses b. Program c. Algoritma d. Prosesor e. 1. Dalam menyusun suatu program, langkah pertama yang harus dilakukan adalah : a.membuat program b. Membuat Algoritma c. Membeli komputer d. Proses e. Mempelajari program 2. Sebuah prosedur langkah demi

Lebih terperinci

Ujian Tengah Semester Struktur Data dan Algoritma Fakultas Ilmu Komputer, Universitas Indonesia 9 November 2006

Ujian Tengah Semester Struktur Data dan Algoritma Fakultas Ilmu Komputer, Universitas Indonesia 9 November 2006 Ujian Tengah Semester Struktur Data dan Algoritma Fakultas Ilmu Komputer, Universitas Indonesia 9 November 2006 Bagian A (total 75 point) Petunjuk: Jawablah ke 25 pertanyaan berikut ini dan isikan jawaban

Lebih terperinci

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 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,

Lebih terperinci

Algoritma dan Pemrograman Array/Tabel[2] Oleh: Eddy Prasetyo N

Algoritma dan Pemrograman Array/Tabel[2] Oleh: Eddy Prasetyo N Algoritma dan Pemrograman Array/Tabel[2] Oleh: Eddy Prasetyo N Topik Bahasan Pemrosesan Sequential Pencarian pada Array Sequential Boolean Sequential tanpa Boolean Binary Sentinel Pengurutan Count Sort

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

Implementasi Algoritma Greedy pada Permainan Ludo

Implementasi Algoritma Greedy pada Permainan Ludo Implementasi Algoritma Greedy pada Permainan Ludo Sylvia Juliana, 13515070 Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung, Jl, Ganesha 10 Bandung 40132,

Lebih terperinci

PENGANTAR KOMPUTER & SOFTWARE II

PENGANTAR KOMPUTER & SOFTWARE II PENGANTAR KOMPUTER & SOFTWARE II PERULANGAN 2 (WHILE & DO-WHILE) Tim Pengajar KU1202 - Institut Teknologi Sumatera Tujuan Kuliah 1. Mahasiswa memahami pengulangan (while dan do-while) dan penggunaannya

Lebih terperinci

Heap Tree dan Kegunaannya dalam Heap Sort

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

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

(Binary) Heap. Binary tree yang menyimpan pasangan prioritas (atau prioritas elemen) pada node Property Heap :

(Binary) Heap. Binary tree yang menyimpan pasangan prioritas (atau prioritas elemen) pada node Property Heap : heap wijanarto (Binary) Heap Binary tree yang menyimpan pasangan prioritas (atau prioritas elemen) pada node Property Heap : Struktural Semua level kecuali yang terakhir berisi penuh, level terakhir boleh

Lebih terperinci

Pengantar Analisa Algoritma

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.

Lebih terperinci

Sorting Algorithms. Buble Sort

Sorting Algorithms. Buble Sort 1. Insertion 2. Selection 3. Bubble 4. Shell 5. Quick 6. Merge Sorting Algorithms 1 Buble Sort Metode gelembung (bubble sort) disebut dengan metode penukaran (exchange sort) adalah metode yang mengurutkan

Lebih terperinci