ANALISIS ALGORITMA QUICK SORT, MERGE SORT DAN IMPLEMENTASINYA DALAM BAHASA PEMROGRAMAN PYTHON. Disusun Oleh : Nouval Raafi Adly ( )

Ukuran: px
Mulai penontonan dengan halaman:

Download "ANALISIS ALGORITMA QUICK SORT, MERGE SORT DAN IMPLEMENTASINYA DALAM BAHASA PEMROGRAMAN PYTHON. Disusun Oleh : Nouval Raafi Adly ( )"

Transkripsi

1 ANALISIS ALGORITMA QUICK SORT, MERGE SORT DAN IMPLEMENTASINYA DALAM BAHASA PEMROGRAMAN PYTHON Disusun Oleh : Nouval Raafi Adly ( ) Herfina ( ) Wahyu Hari Sentosa ( ) PROGRAM STUDI MAGISTER KOMPUTER UNIVERSITAS BUDI LUHUR JAKARTA 2015 Daftar Isi Daftar Isi...2

2 Daftar Gambar...3 Daftar Tabel...3 BAB I...4 PENDAHULUAN Latar Belakang Tujuan Penelitian Batasan Masalah...5 BAB II...7 LANDASAN TEORI Algoritma Definisi Penyajian Algoritma Quick Sort Algoritma Quick Sort Kompleksitas Algoritma Quick Sort Kelebihan dan Kelemahan Algoritma Quick Sort Merge Sort Algoritma dan Pseudocode Kompleksitas Algoritma Pemrograman Python Fitur Python Kelebihan dan Kekurangan Python...19 BAB III...21 PEMBAHASAN Quick Sort Merge Sort Pengujian...21 BAB IV...25 PENUTUP Kesimpulan Saran...25 LAMPIRAN

3 1. quick_sort.py Merge_sort2.py...27 DAFTAR PUSTAKA...30 Daftar Gambar Gambar 2. 1 Simbol Flow Chart...8 Gambar 2. 2 Flow Chart Algoritma Euclidean...9 Gambar 2. 3 Ilustrasi Merge Sort...14 Gambar 2. 4 Kondisi Worst Case pada Merge Sort...16 Gambar 2. 5 Kondisi Best Case pada Merge Sort...17 Gambar 2. 6 Hasil Quick Sort...21 Gambar 2. 7 Hasil Merge Sort...21 Daftar Tabel Table 1 Pengujian Quick Sort dan Merge Sort...22 Table 2 Grafik Pengujian Merge Sort dan Quick Sort...23 Table 3 Perbandingan waktu dengan jumlah data Merge Sort dan Quick Sort...23 Table 4 Perbandingan Jumlah Data dengan Waktu Merge Sort dan Quick Sort

4 BAB I PENDAHULUAN 1.1. Latar Belakang Sorting atau pengurutan adalah proses menyusun elemen elemen dari masukan awal acak menjadi keluaran akhir tertata dengan urutan tertentu. [1] Proses Sorting banyak diimplementasikan dalam berbagai aplikasi, contoh mudahnya ialah penerapan pada absensi daftar hadir yang diurutkan berdasarkan nomor induk atau nama, rincian jual beli dalam sesuai urutan tanggal dan jam, urutan nilai terbesar untuk menentukan juara kelas, ataupun daftar pustaka yang diurutkan sesuai dengan nama pengarang atau katalog buku itu sendiri. Fungsi-fungsi statistik seperti median dan pembuatan kuartil data (quarter), desil dan percentil (percentile) mensyaratkan data untuk diurutkan terlebih dahulu. Beberapa macam algoritma sorting telah dibuat karena proses tersebut sangat mendasar dan sering digunakan. [2] Oleh karena itu, pemahaman atas algoritma algoritma yang ada sangatlah berguna. Permasalahan pengurutan (sorting problem) secara formal didefinisikan sebagai berikut [3] : Input: Suatu urutan dari n bilangan, Output: Suatu permutasi atau penyusunan kembali dari input sedemikian rupa sehingga pada tata urutan ascending (dari nilai kecil ke besar) atau pada tata urutan descending (dari nilai besar ke kecil). Sebagai contoh jika diberikan masukan lima bilangan acak maka keluarannya adalah sebagaimana berikut ini: Input : (n = 6) Output : (ascending) (descending) 4

5 Data yang diurutkan tidak harus berupa angka, namun bisa saja string, misalnya: Input: Saptadi Windisari Desi Hendra Arief (n = 5) Output: Arief Desi Hendra Saptadi Windisari (ascending) Windisari Saptadi Hendra Desi Arief (descending) Jadi dapat disimpulkan bahwa dalam pengurutan harus terdapat: data yang akan diurutkan dalam tipe yang sama atau setidaknya memperoleh perlakuan data yang sama aturan pengurutan yang jelas Ada banyak metode pengurutan antara lain: bubble sort, bi-directional bubble sort, selection sort, shaker sort, insertion sort, in- place merge sort, double storage merge sort, comb sort 11, shell sort, heap sort, exchange sort, merge sort, quick sort, quick sort with bubblesort, enhange quick sort, fast quick sort, radix sort algorithm, swap sort, dan lain sebagainya [4]. Untuk membatasi luasnya pembahasan, maka dalam makalah ini hanya akan dibahas 2 metode, yaitu quick sort dan merge sort.pembahasan untuk tiap metode akan difokuskan pada cara kerja pengurutan beserta contohnya, implementasinya dalam bahasa phyton serta pengujian waktu eksekusi untuk kedua metode tersebut Tujuan Penelitian Dari Penjelasan diatas tujuan penelitian yang ingin dicapai adalah : 1. Menerapkan Algoritma quick sort dan merge sort kedalam bahasa pemrograman phyton 2. Menguji dan membandingkan performa algoritma quick sort dan merge sort dalam proses pengurutan 3. Sebagai tugas Matrikulasi Struktur Data di Program Studi Magister Komputer Pasca Sarjana Universitas Budi Luhur 1.3. Batasan Masalah Adapun batasan masalah dalam penelitian ini adalah sebagai berikut : 1. Algoritma yang dikaji hanya quick sort dan merge sort 2. Implementasi Algoritma menggunakan bahasa pemrograman phyton 5

6 3. Pengujian performa dilakukan dengan membandingkan waktu eksekusi pengurutan untuk tiap algoritma 4. Pengujian dibatasi dan hanya dilakukan sesuai dengan spesifikasi perangkat keras dan perangkat lunak yang disebutkan BAB II LANDASAN TEORI 6

7 2.1. Algoritma Definisi Algoritma merupakan urutan langkah-langkah untuk menyelesaikan masalah yang disusun secara sistematis. Algoritma dibuat dengan tanpa memperhatikan bentuk yang akan digunakan sebagai implementasinya, sehingga suatu Algoritma dapat menjelaskan bagaimana cara melaksanakan fungsi yang dapat diekspresikan dengan suatu program atau suatu komponen fisik. [5] Untuk menyelesaikan persoalan programmer haruslah: 1. Dapat mendesain algoritma yang menjelaskan bagaimana persoalan tersebut diselesaikan. 2. Menulis / merubah algoritma menjadi suatu program dengan menggunakn suatu Bahasa pemrograman yang sesuai. 3. Menggunakan computer untuk menjalankan program Penyajian Algoritma Algoritma biasanya disajikan dalam dua bentuk, yaitu : 1. Menggunakan Flow Chart (diagram alir) Flowchart Menggambarkan secara keseuluruhan urutan proses / logika, dimana persoalan yang ada akan diselesaikan, dan menunjukkan tingkat dari detail penyelesaian persoalan. Flowchart merupakan cara yang klasik dalam menyajikan algoritma, digunakan simbol-simbol sebagai berikut: [5] 7

8 Gambar 2. 1 Simbol Flow Chart 2. Menggunakan Pseudo-Code Stepwise Refinement Of Algorithms disebut juga sebagai top-down desain. Ide dari stepwise refinement adalah membagi suatu proses yang akan diselesaikan menjadi sejumlah langkah-langkah, yang masing-masing dijelaskan dengan algoritma yang lebih kecil dan lebih sederhana dari pada proses secara keseluruhan. [5] Contoh : Algoritma Euclidean Yaitu proses untuk menentukan pembagi bersama terbesar dari dua bilangan bulat. Ada dua bilangan bulat m dan n (m > n). Carilah pembagi terbesar (pbt) dari kedua bilangan tersebut, yaitu bilangan positif terbesar yang habis dibagi m dan n. Dengan Flow Chart 8

9 Dengan Pseudo Code Deskripsi Gambar 2. 2 Flow Chart Algoritma Euclidean 1. Bagilah m dengan n, misalkan r adalah sisanya 2. Jika r = 0, maka n adalah jawabanya. Stop Jika r!= 0, maka lakukan langkah 3 3. Gantilah nilai m dengan nilai n, dan nilai n diganti dengan nilai r, ulangi langkah 1 Contoh dengan angka m = 30 n = Hitung r = sisa (m/n) r = sisa 30/12 = Cek r, r!= 0, lakukan langkah m = n ; n = r m = 12 ; n = Hitung r = sisa (m/n) r = sisa 12/6 = Cek r, r = 0; selesai Pbt = n = 6 9

10 2.2. Quick Sort Jadi Pbt (30/12) = 6 Algoritma quick sort diperkenalkan pertama kali oleh C.A.R. Hoare pada tahun 1960, dan dimuat sebagai artikel di Computer Journal 5 pada April Quick sort adalah algoritma sorting yang berdasarkan pembandingan dengan metoda divide-andconqueror. Disebut Quick Sort, karena Algoritma quick sort mengurutkan dengan sangat cepat. Quick sort disebut juga dengan partition exchange sort, karena konsepnya membuat partisi-partisi, dan sort dilakukan per partisi. [6] Teknik mempartisi tabel: [6] (i) pilih x ϵ {a1, a2,, an} sebagai elemen pivot. (ii) pindai (scan) tabel dari kiri sampai ditemukan elemen ap x. (iii) pindai tabel dari kanan sampai ditemukan elemen aq x (iv) pertukarkan ap <-> aq (v) ulangi (ii) dari posisi p + 1, dan (iii) dari posisi q 1, sampai kedua pemindaian bertemu di tengah tabel. Algoritma quick sort mengurutkan dengan sangat cepat, namun algoritma ini sangat komplex dan diproses secara rekursif. Sangat memungkinkan untuk menulis algoritma yang lebih cepat untuk beberapa kasus khusus, namun untuk kasus umum, sampai saat ini tidak ada yang lebih cepat dibandingkan algoritma quick sort. [6] Walaupun begitu algoritma quick sort tidak selalu merupakan pilihan yang terbaik. Seperti yang telah disebutkan sebelumnya, algoritma ini dilakukan secara rekursif yang berarti jika dilakukan untuk tabel yang berukuran sangat besar, walaupun cepat, dapat menghabiskan memori yang besar pula. Selain itu, algoritma ini adalah algoritma yang terlalu komplex untuk mengurutkan tabel yang berukuran kecil (hanya puluhan elemen misalnya). Selain itu algoritma quick sort mempunyai tingkat efisiensi yang buruk ketika dioperasikan pada tabel yang hampir terurut atau pada tabel yang terurut menurun. [6] 10

11 Algoritma Quick Sort Dalam algoritma quick sort, pemilihan pivot adalah hal yang menentukan apakah algoritma quick sort tersebut akan memberikan performa terbaik atau terburuk. Berikut beberapa cara pemilihan pivot : [6] 1. Pivot adalah elemen pertama, elemen terakhir, atau elemen tengah tabel. Cara ini hanya bagus jika elemen tabel tersusun secara acak, tetapi tidak bagus jika elemen tabel semula sudah terurut. Misalnya, jika elemen tabel semula menurun, maka semua elemen tabel akan terkumpul di upatabel kanan. 2. Pivot dipilih secara acak dari salah satu elemen tabel. Cara ini baik, tetapi mahal, sebab memerlukan biaya (cost) untuk pembangkitan prosedur acak. Lagi pula, itu tidak mengurangi kompleksitas waktu algoritma. 3. Pivot adalah elemen median tabel. Cara ini paling bagus, karena hasil partisi menghasilkan dua bagian tabel yang berukuran seimbang (masing masing n/2 elemen). Cara ini memberikan kompleksitas waktu yang minimum. Masalahnya, mencari median dari elemen tabel yang belum terurut adalah persoalan tersendiri Kompleksitas Algoritma Quick Sort Kebutuhan waktu dari quicksort bergantung pada pembuatan partisi, seimbang atau tidak, yang bergantung juga pada elemen yang digunakan sebagai pivot. Dalam menghitung kompleksitas ini, perlu dilihat pula perhitungan recurrence, karena terdapat fungsi rekursif untuk penyelesaian sub-masalah. Terdapat 3 jenis kompleksitas waktu dari quicksort: [6] 1. Kasus terburuk (worst case), yaitu terjadi bila terbentuk partisi dengan komposisi sub-masalah antara n 1 elemen dan 0 elemen. Dengan demikian pemanggilan fungsi secara rekursif dengan array berukuran 0 akan langsung kembali, T(0) = Θ(1), sehingga berlaku: T(n) = T(n 1) + cn = O(n2). 2. Kasus terbaik (best case), yaitu terjadi bila terbentuk partisi dengan dengan komposisi seimbang, dengan ukuran masing-masing tidak lebih dari n/2. Sehingga didapat: T(n) = 2T(n/2) + cn = na + cn log n = O(n log n). 11

12 3. Kasus rata-rata (average case), yaitu terjadi dari perimbangan pivot antara terbaik dan terburuk, yang dalam prakteknya lebih mendekati kasus terbaik ketimbang terburuk. Sehingga didapat: Tavg(n) = O(n log n) Kelebihan dan Kelemahan Algoritma Quick Sort Beberapa hal yang membuat quick sort unggul: Secara umum memiliki kompleksitas O(n log n). Algoritmanya sederhana dan mudah diterapkan pada berbagai bahasa pemrograman dan arsitektur mesin secara efisien. Dalam prakteknya adalah yang tercepat dari berbagai algoritma pengurutan dengan perbandingan, seperti merge sort dan heap sort. Melakukan proses langsung pada input (in-place) dengan sedikit tambahan memori. Bekerja dengan baik pada berbagai jenis input data (seperti angka dan karakter). Namun terdapat pula kelemahan quick sort: Sedikit kesalahan dalam penulisan program membuatnya bekerja tidak beraturan (hasilnya tidak benar atau tidak pernah selesai). Memiliki ketergantungan terhadap data yang dimasukkan, yang dalam kasus terburuk memiliki kompleksitas O(n2). Secara umum bersifat tidak stable, yaitu mengubah urutan input dalam hasil akhirnya (dalam hal inputnya bernilai sama). Pada penerapan secara rekursif (memanggil dirinya sendiri) bila terjadi kasus terburuk dapat menghabiskan stack dan memacetkan program Merge Sort Merge sort adalah metode pengurutan yang menggunakan pola divide and conquer [7]. Strateginya adalah dengan membagi sekelompok data yang akan diurutkan menjadi beberapa kelompok kecil terdiri dari maksimal dua nilai untuk dibandingkan dan digabungkan lagi secara keseluruhan. Langkah kerja dari Merge sort [8] : 1. Divide 12

13 Memilah elemen elemen dari rangkaian data menjadi dua bagian dan mengulangi pemilahan hingga satu elemen terdiri maksimal dua nilai. 2. Conquer Mengurutkan masing-masing elemen. 3. Kombinasi Mengkombinasikan dua bagian tersebut secara rekursif untuk mendapatkan rangkaian data berurutan. Proses rekursi berhenti jika mencapai elemen dasar. Hal ini terjadi bilamana bagian yang akan diurutkan menyisakan tepat satu elemen. Sisa pengurutan satu elemen tersebut menandakanbahwa bagian tersebut telah terurut sesuai rangkaian Algoritma dan Pseudocode Algoritma Merge sort sebenarnya sederhana [8] : bagi larik menjadi dua sama besar, urutkan bagian pertama, urutkan bagian kedua, lalu gabungkan. Sebagai contoh, jika terdapat data berupa 38, 27, 43, 3, 9,82, dan 10 maka ilustrasi pengurutannya adalah sebagai berikut: 13

14 Gambar 2. 3 Ilustrasi Merge Sort Pseudocode untuk merge sort [9] adalah sebagai berikut: mergesort(data) if data memiliki setidaknya dua elemen mergesort (separuh kiri dari data); mergesort (separuh kanan dari data ; merge (kedua bagian ke dalam suatu urutan); Sedangkan pseudocode untuk merge itu sendiri adalah: Merge (array1, pertama, terakhir) Tengah = (pertama + terakhir) / 2; i1 = 0; i2 = pertama; i3 = tengah + 1; While kedua sub larik dari array1 memiliki elemn If array1[i2] < array1[i3] temp[i1++] = array1 [i2++]; else temp[i1++] = array1[i3++]; masukkan ke dalam temp sisa elemen dari array1; masukkan ke array1 isi dari temp; 14

15 Kompleksitas Algoritma Kompleksitas algoritma untuk larik dengan n elemen dan jumlah pergeseran(t) dihitung melalui relasi rekursif berikut ini [10] : Adapun M(n) dihitung lewat cara berikut [10] : Memilih i = log n sedemikian sehingga n = 2i, maka diperoleh [10] : Kasus terburuk (worst case) terjadi bila selama pemanggilan fungsi rekursif merge, nilai terbesar dari setiap elemen terletak di larik yang berbeda [1], Hal ini memaksa fungsi merge untuk melakukan pengurutan secara berpindah-pindah antar larik, sebagaimana digambarakan berikut: 15

16 Pada kondisi ini [1] : Gambar 2. 4 Kondisi Worst Case pada Merge Sort Kedua persamaan tersebut untuk selanjutnya diperluas seperti berikut [1] : Dengan mengenali pola yang ada, maka dapat dituliskan persamaan: 16

17 Dengan 2i = n dan I = n log n dan memasukkan nilai awal persamaan: Maka kompleksitas pada kondisi worst case adalah O (n log n ) [1]. Kasus terbaik (best case) untuk metode ini dijumpai pada kondisi dimana elemen memiliki nilai terbesar yang lebih kecil dibandingkan dengan seluruh nilai pada elemen yang lain [3], sebagaimana berikut ini : Gambar 2. 5 Kondisi Best Case pada Merge Sort Pada scenario ini hanya n/2 perbandingan dari elemen yang diperlukan. Menggunakan proses perhitungan yang sama sebagaimana dalam kasus terburuk, diperoleh [3] : Dengan kata lain, diperoleh juga kompleksitas yang sama, O (n log n) [3]. 17

18 2.4. Pemrograman Python Python dikembangkan oleh Guido van Rossum pada tahun 1990 di CWI, Amsterdam sebagai kelanjutan dari bahasa pemrograman ABC. Versi terakhir yang dikeluarkan CWI adalah 1.2. Tahun 1995, Guido pindah ke CNRI sambil terus melanjutkan pengembangan Python. Versi terakhir yang dikeluarkan adalah 1.6. Tahun 2000, Guido dan para pengembang inti Python pindah ke BeOpen.com yang merupakan sebuah perusahaan komersial dan membentuk BeOpen PythonLabs. Python 2.0 dikeluarkan oleh BeOpen. Setelah mengeluarkan Python 2.0, Guido dan beberapa anggota tim PythonLabs pindah ke DigitalCreations. Saat ini pengembangan Python terus dilakukan oleh sekumpulan pemrogram yang dikoordinir Guido dan Python Software Foundation. Python Software Foundation adalah sebuah organisasi non-profit yang dibentuk sebagai pemegang hak cipta intelektual Python sejak versi 2.1 dan dengan demikian mencegah Python dimiliki oleh perusahaan komersial. Saat ini distribusi Python sudah mencapai versi dan versi 3.0. Nama Python dipilih oleh Guido sebagai nama bahasa ciptaannya karena kecintaan guido pada acara televisi Monty Python s Flying Circus. Oleh karena itu seringkali ungkapanungkapan khas dari acara tersebut seringkali muncul dalam korespondensi antar pengguna Python. [11] Fitur Python Sisi utama yang membedakan Python dengan bahasa lain adalah dalam hal aturan penulisan kode program. Bagi para programmer di luar python siap-siap dibingungkan dengan aturan indentasi, tipe data, tuple, dan dictionary. Python memiliki kelebihan tersendiri dibandingkan dengan bahasa lain terutama dalam hal penanganan modul, ini yang membuat beberapa programmer menyukai python. Selain itu python merupakan salah satu produk yang opensource, free, dan multiplatform. Beberapa fitur yang dimiliki Python adalah : [11] memiliki kepustakaan yang luas; dalam distribusi Python telah disediakan modulmodul siap pakai untuk berbagai keperluan. memiliki tata bahasa yang jernih dan mudah dipelajari. memiliki aturan layout kode sumber yang memudahkan pengecekan, pembacaan kembali dan penulisan ulang kode sumber. berorientasi obyek. 18

19 memiliki sistem pengelolaan memori otomatis (garbage collection, seperti java) modular, mudah dikembangkan dengan menciptakan modul-modul baru; modul modul tersebut dapat dibangun dengan bahasa Python maupun C/C++. memiliki fasilitas pengumpulan sampah otomatis, seperti halnya pada bahasa pemrograman Java, python memiliki fasilitas pengaturan penggunaan ingatan komputer sehingga para pemrogram tidak perlu melakukan pengaturan ingatan komputer secara langsung Kelebihan dan Kekurangan Python Beberapa kelebihan bahasa Python antara lain : [11] Tidak ada tahapan kompilasi dan penyambungan (link) sehingga kecepatan perubahan pada masa pembuatan system aplikasi meningkat. Tidak ada deklarasi tipe sehingga program menjadi lebih sederhana, singkat, dan fleksible. Manajemen memori otomatis yaitu kumpulan sampah memori sehingga dapat menghindari pencatatan kode Tipe data dan operasi tingkat tinggi yaitu kecepatan pembuatan system aplikasi menggunakan tipe objek yang telah ada Pemrograman berorientasi objek Pelekatan dan perluasan dalam C Terdapat kelas, modul, eksepsi sehingga terdapat dukungan pemrograman skala besar secara modular Pemuatan dinamis modul C sehingga ekstensi menjadi sederhana dan berkas biner yang kecil Pemuatan kembali secara dinamis modul phyton seperti memodifikasi aplikasi tanpa menghentikannya Model objek universal kelas Satu Konstruksi pada saat aplikasi berjalan Interaktif, dinamis dan alamiah Akses hingga informasi interpreter Portabilitas secara luas seperti pemrograman antar platform tanpa ports Kompilasi untuk portable kode byte sehingga kecepatan eksekusi bertambah dan meliindungi kode sumber 19

20 Antarmuka terpasang untuk pelayanan keluar seperti perangkat Bantu system, GUI, persistence, database, dll Beberapa kekurangan bahasa Python antara lain : [11] Beberapa penugasan terdapat diluar dari jangkauan python, seperti bahasa pemrograman dinamis lainnya, python tidak secepat atau efisien sebagai statis, tidak seperti bahasa pemrograman kompilasi seperti bahasa C. Disebabkan python merupakan interpreter, python bukan merupakan perangkat bantu terbaik untuk pengantar komponen performa kritis. Python tidak dapat digunakan sebagai dasar bahasa pemrograman implementasi untuk beberapa komponen, tetapi dapat bekerja dengan baik sebagai bagian depan skrip antarmuka untuk mereka. Python memberikan efisiensi dan fleksibilitas tradeoff by dengan tidak memberikannya secara menyeluruh. Python menyediakan bahasa pemrograman optimasi untuk kegunaan, bersama dengan perangkat bantu yang dibutuhkan untuk diintegrasikan dengan bahasa pemrograman lainnya. BAB III PEMBAHASAN 20

21 Berikut ini implementasi menggunakan bahasa pemrograman python untuk kedua algoritma tersebut dan tampilan ketika dijalankan Quick Sort Berikut adalah tampilan ketika quick sort dijalankan menggunakan 12 data yang diambil dari file data.txt, source code terlampir : Gambar 2. 6 Hasil Quick Sort 3.2. Merge Sort Berikut adalah tampilan ketika quick sort dijalankan menggunakan 12 data yang diambil dari file data.txt, source code terlampir : 3.3. Pengujian Gambar 2. 7 Hasil Merge Sort Pengujian dilaksanakan dengan menggunakan Python yang dijalankan di platform Suse Linux Entreprise Server 11.3 x64 dan computer notebook. pengujian dilakukan dengan informasi sebagai berikut: 1. SLES 11.3 x64 dijalankan diatas VM Workstation 11 dengan Spesifikasi 1 vcpu, 2 GB vram, 20 GB vhdd 2. Intel Processor Core i5-2430m 2.40GHz (4CPUs), 8 GB DDR3 RAM, dijalankan diatas Windows 8.1 Enterprise Edition x64, 600 GB HDD 3. Pengujian dilakukan terhadap data bertipe data number antara Yang diuji adalah waktu pengerjaan untuk proses sorting untuk data tersebut 5. Pengujian ditest 10x tiap algoritma untuk menentukan nilai rata-rata proses sorting. 6. Test Pengujian kedua adalah test waktu pengerjaan untuk data, data, data dan data. 21

22 7. Untuk testing, ada perubahan sedikit code, sehingga hanya akan ditampilkan waktu sorting, tidak mencetak hasil sebelum dan sesudah sorting dikarenakan efisiensi waktu, dan file disimpan dengan nama hasilquicksort.txt atau hasilmergesort.txt. 8. Hasil disimpan dalam bentuk table dan dibandingkan dengan algoritma yang ada. Berikut ini adalah hasil dari 10x pengujian dalam bentuk table dan grafik: Waktu (detik) Pengujia n Ke - Quick Merge Sort Sort Average Table 1 Pengujian Quick Sort dan Merge Sort 22

23 Pengujian Merge Sort dan Quick Sort Data Detik Average Pengujian ke- Waktu (detik) Quick Sort Waktu (detik) Merge Sort Table 2 Grafik Pengujian Merge Sort dan Quick Sort Berikut ini adalah hasil dari perbandingan proses sorting antara waktu dan jumlah data tiap algoritma dalam bentuk table dan grafik: Waktu (detik) Jumlah Data Quick Merge Sort Sort Table 3 Perbandingan waktu dengan jumlah data Merge Sort dan Quick Sort 23

24 Perbandingan Jumlah Data dengan Waktu Merge Sort dan Quick Sort Detik Jumlah Data Waktu (detik) Quick Sort Waktu (detik) Merge Sort Table 4 Perbandingan Jumlah Data dengan Waktu Merge Sort dan Quick Sort 24

25 BAB IV PENUTUP 4.1. Kesimpulan Dari hasil implementasi maupun pengujian yang telah dilakukan dapat ditarik beberapa kesimpulan sebagaimana berikut ini: 1. Dari hasil diatas dapat disimpulkan bahwa algoritma merge sort memiliki performa lebih baik dibandingkan algoritma quick sort 2. Algoritma Quick Sort baik dipakai untuk data dibawah Kedua algoritma memiliki pola yang sama saat average case yaitu O(n log n) Saran Adapun saran untuk makalah ini adalah sebagai berikut : 1. Pengujian dilakukan dengan menambahkan beberapa algoritma sorting yang lain 2. Pengujian dapat dilakukan dengan menggunakan beberapa Bahasa pemrograman dan dilihat performa tiap Bahasa pemrograman 3. Pengujian tidak hanya menggunakan waktu, tetapi dengan hardware dan kompleksitas pemrograman 25

26 LAMPIRAN 1. quick_sort.py # ALGORITMA QUICK SORT # IMPORT Library import numpy import sys import time # Set Variable start_time = time.time() sys.setrecursionlimit( ) data #Menjalankan waktu proses #Set Maksimum Limit load file up to numpy.set_printoptions(threshold='nan') saat print #Set Maksimum yang akan ditampilkan mylist = numpy.loadtxt('data.txt',dtype='i8') #Load Text print "jumlah data %s" % len(mylist) #print "Sebelum Diurutkan %s" % mylist #Cetak Jumlah Data #Cetak Data Sebelum Diurutkan # Deskripsi Algoritma Quick Sort def partition(mylist, start, end): pivot = mylist[start] left = start+1 # Start outside the area to be partitioned right = end done = False while not done: while left <= right and mylist[left] <= pivot: left = left + 1 while mylist[right] >= pivot and right >=left: right = right -1 26

27 if right < left: done= True else: # swap places temp=mylist[left] mylist[left]=mylist[right] mylist[right]=temp # swap start with mylist[right] temp=mylist[start] mylist[start]=mylist[right] mylist[right]=temp return right def quicksort(mylist, start, end): if start < end: # partition the list split = partition(mylist, start, end) # sort both halves quicksort(mylist, start, split-1) quicksort(mylist, split+1, end) return mylist sortedlist = quicksort(mylist,0,len(mylist)-1) #print "Sesudah Diurutkan %s" % (sortedlist) File #Mencetak Urutan print("waktu Sorting %s detik" % (time.time() - start_time)) #Mencetak Waktu Sorting numpy.savetxt('hasilquicksort.txt', sortedlist, delimiter=',', fmt='%i' ) #Save File 2. Merge_sort2.py #ALGORITMA MERGE SORT 27

28 #Import Library import numpy import sys import time #Set Variable start_time = time.time() sys.setrecursionlimit( ) data #Menjalankan waktu proses #Set Maksimum Limit load file up to numpy.set_printoptions(threshold='nan') #Set Maksimum yang akan ditampilkan saat print text_file = open ("test","r") #Load Text alist = [int(x) for x in text_file.read().splitlines()] print "jumlah data %s" % len(alist) print "Sebelum Diurutkan %s" % alist #Deskripsi Algoritma Merge Sort def mergesort(alist): # print("splitting ",alist) if len(alist)>1: mid = len(alist)//2 lefthalf = alist[:mid] righthalf = alist[mid:] mergesort(lefthalf) mergesort(righthalf) i=0 j=0 k=0 28

29 while i < len(lefthalf) and j < len(righthalf): if lefthalf[i] < righthalf[j]: alist[k]=lefthalf[i] i=i+1; k=k+1 else: alist[k]=righthalf[j] j=j+1; k= k+1 while i < len(lefthalf): alist[k]=lefthalf[i] i=i+1 k=k+1 while j < len(righthalf): alist[k]=righthalf[j] j=j+1 k=k+1 mergesort(alist) print "Sesudah Diurutkan %s" % alist #Print setelah diurutkan print("waktu Sorting %s detik" % (time.time() - start_time)) #Print Waktu Sort numpy.savetxt('hasilmergesort.txt', alist, delimiter=',', fmt='%i' ) #Save File 29

30 DAFTAR PUSTAKA [1] Anonim, C++ Algorithms Sample Source Codes > Merge Sort., [2] Arief Hendra Saptadi and D. W. Sari, Analisis algoritma insertion sort, merge sort dan implementasinya dalam bahasa pemrograman c++, pp [3] R. Hibbler, Merge Sort, Florida, USA, [4] L. H. Atrinawati, Analisis Kompleksitas Algoritma untuk Berbagai Macam Metode Pencarian Nilai (Searching) dan Pengurutan Nilai (Sorting) pada Tabel. [5] T. H. Bagio, Algoritma dan Pemrograman [6] rizarulham, Algoritma Quick Sort, [Online]. Available: [7] S. Karve, Insertion sort, Spring, [Online]. Available: et279.htm. [8] H. C, C++ for Everyone. San Jose, USA: Wiley Publishing, [9] A. Drozdek, Data Structures and Algorithms in C++. California. USA: Brooks/Cole Thomson Learning, [10] W. Bingheng, Merge Sort. Florida, USA: Florida Institute of Technology, [11] R. Agus, Dharmayanti, Y. D. Arimbi, N. Purwandari, and S. P. Pratama, Algoritma dan Pemrograman

AP2B-Dini Triasanti KONSEP DASAR PYTHON

AP2B-Dini Triasanti KONSEP DASAR PYTHON KONSEP DASAR PYTHON Pada awalnya, motivasi pembuatan bahasa pemrograman ini adalah untuk bahasa skrip tingkat tinggi pada sistem operasi terdistribusi Amoeba. Bahasa pemrograman ini menjadi umum digunakan

Lebih terperinci

Pengenalan Python Sejarah Python 1

Pengenalan Python  Sejarah Python 1 Pengenalan Python Python merupakan bahasa pemrograman dinamis yang mendukung pemrograman berbasis objek. Python didistribusikan dengan beberapa lisensi yang berbeda dari beberapa versi. Namun pada prinsipnya

Lebih terperinci

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

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

Lebih terperinci

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

Bahasa Pemrograman Python

Bahasa Pemrograman Python Bahasa Pemrograman Python Tyan Suhesti tyansuhesti30@yahoo.co.id :: http://tyansuhesti.blogspot.com Abstrak Python merupakan bahasa pemrograman yang freeware atau perangkat bebas dalam arti sebenarnya,

Lebih terperinci

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

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

Lebih terperinci

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

MODUL PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 2

MODUL PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 2 MODUL PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 2 Versi 3.1 Tahun Penyusunan 2012 1. Ricky Agus T., ST., SSi., MM. 2. Dharmayanti, ST., MMSI. Tim Penyusun 3. Yuti Dewita Arimbi, ST., MMSI. 4. Nuraini Purwandari,

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

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

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

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

Lebih terperinci

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

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

Lebih terperinci

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

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

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

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

SORTING ARRAY FAKULTAS TEKNOLOGI INFORMASI UNISBANK SEMARANG : ANDY KRISTIANTO : Disusun Oleh : SORTING ARRAY Disusun Oleh : Nama : ANDY KRISTIANTO NIM : 07.0..02 Kelompok : D FAKULTAS TEKNOLOGI INFORMASI UNISBANK SEMARANG 2009/200 Sorting Array ARRAY Array merupakan suatu group yang terdiri dari

Lebih terperinci

Kompleksitas Algoritma Sorting yang Populer Dipakai

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

Lebih terperinci

Algoritma dan Struktur Data. Algoritma Pengurutan (Sorting)

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

Lebih terperinci

BAB 1 PENDAHULUAN. Universitas Sumatera Utara

BAB 1 PENDAHULUAN. Universitas Sumatera Utara 1 BAB 1 PENDAHULUAN 1.1 Latar Belakang Pencarian sebuah dokumen akan lebih cepat apabila informasi mengenai dokumen yang dicari tersebut telah diurutkan terlebih dahulu daripada saat kita akan mencari

Lebih terperinci

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

ALGORITMA PENGURUTAN & PENCARIAN

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

Lebih terperinci

Sorting 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

BAB VI Pengurutan (Sorting)

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

Lebih terperinci

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

Modul Praktikum 6 Pemograman Berorientasi Objek

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

Lebih terperinci

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

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

Gambar 13.1 Ilustrasi proses algoritma sorting

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

Lebih terperinci

SORTING DENGAN ALGORITMA DIVIDE AND CONQUER

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

Lebih terperinci

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

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

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

ANALISIS PERBANDINGAN METODE ALGORITMA QUICK SORT DAN MERGE SORT DALAM PENGURUTAN DATA TERHADAP JUMLAH LANGKAH DAN WAKTU ANALISIS PERBANDINGAN METODE ALGORITMA QUICK SORT DAN MERGE SORT DALAM PENGURUTAN DATA TERHADAP JUMLAH LANGKAH DAN WAKTU Yolanda Y.P Rumapea Prodi Sistem Informasi, Universitas Methodist Indonesia Jl.

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

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

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

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

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

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

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

Lebih terperinci

Outline STRUKTUR DATA. VII. Sorting

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

Lebih terperinci

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

BAB 3 ANALISA SISTEM

BAB 3 ANALISA SISTEM BAB 3 ANALISA SISTEM Untuk merancang sebuah sistem dengan baik maka dibutuhkan analisa yang tepat agar proses desain sistem lebih terarah dan memudahkan untuk mengimplementasikan sistem. 3.1 Analisa Analisis

Lebih terperinci

Algoritma Transposisi (Bubble Sort/pengurutan gelembung)

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

Lebih terperinci

Perbandingan Kecepatan/Waktu Komputasi Beberapa Algoritma Pengurutan (Sorting)

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

Lebih terperinci

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

BAB II TINJAUAN PUSTAKA

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

Lebih terperinci

Algoritma dan Struktur Data. Searching dan Sorting

Algoritma dan Struktur Data. Searching dan Sorting Algoritma dan Struktur Data Searching dan Sorting Searching Pada suatu data seringkali dibutuhkan pembacaan kembali informasi (retrieval information) dengan cara searching. Searching adalah pencarian data

Lebih terperinci

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

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT PROGRAM STUDI S SISTEM KOMPUTER UNIVERSITAS DIPONEGORO Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id Sorting = pengurutan Sorted = terurut menurut kaidah/aturan tertentu Data pada umumnya disajikan

Lebih terperinci

APLIKASI PERENCANA BELANJA DENGAN PENGURUTAN SKALA PRIORITAS BERBASIS ANDROID

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

Lebih terperinci

A. TUJUAN PEMBELAJARAN

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

Lebih terperinci

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS STRUKTUR DATA By : Sri Rezeki Candra Nursari 2 SKS Literatur Sjukani Moh., (2007), Struktur Data (Algoritma & Struktur Data 2) dengan C, C++, Mitra Wacana Media Utami Ema. dkk, (2007), Struktur Data (Konsep

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

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

Pendahuluan. Komputasi Nuklir. 29 Oktober Komputasi Nuklir Pendahuluan 29 Oktober / 41

Pendahuluan. Komputasi Nuklir. 29 Oktober Komputasi Nuklir Pendahuluan 29 Oktober / 41 Pendahuluan Komputasi Nuklir 29 Oktober 2015 Komputasi Nuklir Pendahuluan 29 Oktober 2015 1 / 41 Outline 1 Pendahuluan 2 Algoritma 3 Bahasa Pemrograman 4 Implementasi aturan trapesium menggunakan bahasa

Lebih terperinci

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

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

Lebih terperinci

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

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

Lebih terperinci

STRUKTUR DATA SORTING ARRAY

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

Lebih terperinci

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

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

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada.

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada. Semester : 4 Pengenalan Algoritma dan Program 200 menit No. : LST/EKA/EKA259/01 Revisi : 01 Tgl. : 10-2-2014 Hal. 1 dari 2 hal. 1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada. 2.

Lebih terperinci

Sorting Algorithms. Divide and Conquer

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

Lebih terperinci

Analisis Algoritma Bubble Sort

Analisis Algoritma Bubble Sort Analisis Algoritma Bubble Sort Ryan Rheinadi NIM : 13508005 Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung Jalan Ganesha 10, Bandung e-mail: if18005@students.if.itb.ac.id

Lebih terperinci

Analisis Perbandingan Kompleksitas Algoritma Pengurutan Nilai (Sorting)

Analisis Perbandingan Kompleksitas Algoritma Pengurutan Nilai (Sorting) Analisis Perbandingan Kompleksitas Algoritma Pengurutan Nilai (Sorting) Panny Agustia Rahayuningsih Program Studi Manajemen Informatika AMIK BSI Pontianak Jl. Abdurahman Saleh No. 18A, Pontianak, Indonesia

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 DIVIDE AND CONQUER

ALGORITMA DIVIDE AND CONQUER ALGORITMA DIVIDE AND CONQUER By Gapra. Email : ga_pra_27@yahoo.co.id 1. Pengertian Algoritma Divide and Conquer merupakan algoritma yang sangat populer di dunia Ilmu Komputer. Divide and Conquer merupakan

Lebih terperinci

Multithreading untuk Algoritma Divide and Conquer

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

Lebih terperinci

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

MAKALAH ALGORITMA DIVIDE AND CONQUER

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

Lebih terperinci

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

PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO. Oky Dwi Nurhayati, ST, MT PROGRAM STUDI S1 SISTEM KOMPUTER UNIVERSITAS DIPONEGORO Oky Dwi Nurhayati, ST, MT email: okydn@undip.ac.id Anany Levitin, Introduction to the Design & Analysis of Algorithms, Addison-Wesley, 2003. Enem,

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

JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN ISSN : VOL. 6 NO. 1 Maret 2013

JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN ISSN : VOL. 6 NO. 1 Maret 2013 JURNAL TEKNOLOGI INFORMASI & PENDIDIKAN ISSN : 0 VOL. NO. Maret 0 PERBANDINGAN METODE BUBBLE SORT DAN INSERTION SORT TERHADAP EFISIENSI MEMORI Des Suryani ABSTRACT Sorting of data is one of the important

Lebih terperinci

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

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

Lebih terperinci

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

Langkah Mudah Belajar Struktur Data Menggunakan C/C++

Langkah Mudah Belajar Struktur Data Menggunakan C/C++ Langkah Mudah Belajar Struktur Data Menggunakan C/C++ Sanksi Pelanggaran Pasal 113 Undang-Undang Nomor 28 Tahun 2014 tentang Hak Cipta 1. Setiap Orang yang dengan tanpa hak melakukan pelanggaran hak ekonomi

Lebih terperinci

Sorting Algorithms. Definisi

Sorting Algorithms. Definisi 1. Insertion 2. Selection 3. Bubble 4. Shell 5. Quick 6. Merge Sorting Algorithms 1 Definisi Metode ini disebut juga dengan metode pertambahan menurun (diminishing increment sort). Metode ini dikembangkan

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 Sorting. Ahmad Kamsyakawuni, S.Si, M.Kom. Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Jember

Algoritma Sorting. Ahmad Kamsyakawuni, S.Si, M.Kom. Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Jember Algoritma Sorting Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Jember - 2016 Pengurutan (Sorting) Pengurutan data sangat penting untuk data yang beripe data numerik ataupun

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

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

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 Tujuan. 6.2 Insertion Sort

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

Lebih terperinci

Politeknik Elektronika Negeri Surabaya

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

Lebih terperinci

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

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 Perbandingan Kompleksitas Algoritma Pengurutan Nilai (Sorting)

Analisis Perbandingan Kompleksitas Algoritma Pengurutan Nilai (Sorting) Analisis Perbandingan Kompleksitas Algoritma Pengurutan Nilai (Sorting) Panny Agustia Rahayuningsih Manajemen Informatika, AMIK BSI Pontianak panny.par@bsi.ac.id Abstract - The role of algorithms in software

Lebih terperinci

Politeknik Elektronika Negeri Surabaya

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

Lebih terperinci

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR 1 PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR Siti Mukaromah, S.Kom TEKNIK PENYAJIAN ALGORITMA Teknik Tulisan Structure English Pseudocode Teknik Gambar Structure Chart HIPO Flowchart 2 PSEUDOCODE Kode

Lebih terperinci

BAHASA PEMROGRAMAN 1 (PERTEMUAN 3)

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

Lebih terperinci

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

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

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

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

Lebih terperinci

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

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

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

Lebih terperinci

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 12 & 13

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 12 & 13 A. Kompetensi 1. Utama SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 12 & 13 Mahasiswa dapat memahami tentang konsep pemrograman

Lebih terperinci

Struktur Data. PDE - Struktur Data 1

Struktur Data. PDE - Struktur Data 1 Struktur Data Copyright@Ihsan Jatnika PDE - Struktur Data 1 Objektif Mengetahui maksud struktur data dan menjelaskan penggunaannya dalam pemrograman Mengetahui operasi yang terkait dengan struktur data

Lebih terperinci

SEQUENTIAL SEARCH 11/11/2010. Sequential Search (Tanpa Variabel Logika) untuk kondisi data tidak terurut

SEQUENTIAL SEARCH 11/11/2010. Sequential Search (Tanpa Variabel Logika) untuk kondisi data tidak terurut Tujuan Searching & Sorting Pertemuan 9-10 Dosen Pembina Danang Junaedi TUJUAN MATERI Setelah mengikuti materi pertemuan ini, mahasiswa diharapkan dapat 1. Menjelaskan dan menggunakan metode pencarian dalam

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

7. SORTING DAN SEARCHING

7. SORTING DAN SEARCHING 7. SORTING DAN SEARCHING TUJUAN PRAKTIKUM 1. Praktikan dapat memilih teknik sorting mana yang sesuai serta dapat menggunakan teknik searching dalam mencari elemen pada suatu data. 2. Praktikan diharapkan

Lebih terperinci

STRUKTUR DATA (3) sorting array. M.Cs

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

Lebih terperinci

STRUKTUR PEMROGRAMAN PYTHON

STRUKTUR PEMROGRAMAN PYTHON I. ATURAN PENULISAN II. STRUKTUR PEMROGRAMAN PYTHON program program yang ditulis dalam Python secara khas jauh lebih pendek dibandingkan dengan program-program C atau C++, karena : Tipe data tingkat tinggi

Lebih terperinci