BAB 2 LANDASAN TEORI
|
|
|
- Hadian Benny Kusuma
- 8 tahun lalu
- Tontonan:
Transkripsi
1 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 nilai (Sedgewick & Wayne, 2011). Pengertian Algoritma adalah logika, metode, dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan. Algoritma dapat juga diartikan sebagai urutan langkah secara sistematis dan logis. Dalam perkembangannya, algoritma banyak dipakai di bidang komputer. Menurut Rinaldi Munir, algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Tidak semua urutan langkah penyelesaian masalah yang logis dapat disebut sebagai algoritma. Menurut Donald E. Knuth, algoritma harus mempunyai lima ciri penting yang meliputi: 1. Input Suatu algoritma harus memiliki 0(nol) atau lebih masukan (input). Artinya, suatu algoritma itu dimungkinkan tidak memiliki masukan secara langsung dari pengguna tetapi dapat juga memiliki beberapa masukan. Algoritma yang tidak memiliki masukan secara langsung dari pengguna, maka semua data dapat diinisialisaikan atau dibangkitkan dalam algoritma. 2. Output Suatu algoritma harus memiliki satu atau lebih algoritma. Suatu algoritma yang tidak memiliki keluaran (output) adalah suatu algoritma yang sia sia, yang tidak perlu dilakukan. Algoritma dibuat untuk tujuan menghasilkan sesuatu yang diinginkan, yaitu berupa hasil keluaran. 3. Finiteness Setiap pekerjaan yang dikerjakan pasti berhenti. Demikian juga algoritma harus dapat dijamin akan berhenti setelah melakukan sejumlah langkah proses.
2 6 4. Definiteness Algoritma tersebut tidak menimbulkan makna ganda (ambiguous). Setiap baris aksi/pernyataan dalam suatu algoritma harus pasti, artinya tidak menimbulkan penafsiran lain bagi setiap pembaca algoritma, sehingga memberikan output yang sesuai dengan yang diharapkan oleh pengguna. 5. Effectiveness Setiap langkah algoritma harus sederhana sehingga dikerjakan dalam waktu yang wajar. Sifat algoritma adalah: 1. Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman tertentu. 2. Tidak tergantung pada bahasa pemrograman tertentu. 3. Notasi-notasinya dapat digunakan untuk seluruh bahasa manapun. 4. Algoritma dapat digunakan utuk mempresentasikan suatu urutan kejadian secara logis dan dapat diterapkan disemua kejadian sehari-hari Algoritma Pengurutan ( Sorting ) Algoritma pengurutan adalah proses menyusun kembali rentetan objek-objek untuk meletakkan objek dari suatu kumpulan data ke dalam urutan yang logis (Cormen et al, 2009). Pada dasarnya, pengurutan (sorting) membandingkan antar data atau elemen berdasarkan kriteria dan kondisi tertentu (Indrayana & Ihsan, 2005). Pengurutan dapat dilakukan dari nilai terkecil ke nilai terbesar (ascending) atau sebaliknya (descending). Ada dua kategori pengurutan (Suarga, 2012): 1. Pengurutan internal Pengurutan internal adalah pengurutan yang dilaksanankan hanya dengan menggunakan memori komputer, pada umumnya digunakan bila jumlah elemen tidak terlalu banyak.
3 7 2. Pengurutan eksternal Pengurutan eksternal adalah pengurutan yang dilaksanakan dengan bantuan memori virtual atau harddisk karena jumlah elemen yang akan diurutkan terlalu banyak Klasifikasi Algoritma Pengurutan Klasifikasi algoritma-algoritma pengurutan dibedakan berdasarkan (Erzandi, 2009): 1. Kompleksitas perbandingan antar elemen terkait dengan kasus terbaik, ratarata dan terburuk 2. Kompleksitas pertukaran elemen, terkait dengan cara yang digunakan elemen setelah dibandingkan 3. Penggunaan memori 4. Rekursif atau tidak rekursif 5. Proses pengurutannya (metode penggunaannya) Klasifikasi algoritma pengurutan berdasarkan proses pengurutannya sebagai berikut (Putranto, 2007): 1. Exchange Sort Dalam prosesnya, algoritma-algoritma pengurutan yang diklasifikasikan sebagai exchange sort melakukan pembandingan antar data, dan melakukan pertukaran apabila urutan yang didapat belum sesuai. Contohnya: bubble sort, cocktail sort, comb sort, gnome sort, quick sort. 2. Selection Sort Prinsip utama algoritma dalam klasifikasi ini adalah mencari elemen yang tepat untuk diletakkan di posisi yang telah diketahui, dan meletakkannya di posisi tersebut setelah data tersebut ditemukan. Contohnya: selection sort, heap sort, smooth sort, strand sort. 3. Insertion Sort Algoritma pengurutan yang diklasifikasikan ke dalam kategori ini mencari tempat yang tepat untuk suatu elemen data yang telah diketahui ke dalam subkumpulan data yang telah terurut, kemudian melakukan penyisipan (insertion) data di tempat yang tepat tersebut. Contohnya: insertion sort, shell sort, tree sort, library sort, patience sorting.
4 8 4. Merge Sort Dalam algoritma ini kumpulan data dibagi menjadi subkumpulan-subkumpulan yang kemudian sub kumpulan tersebut diurutkan secara terpisah, dan kemudian digabungkan kembali dengan metode merging. Dalam kenyataannya algoritma ini melakukan metode pengurutan merge sort juga untuk mengurutkan subkumpulan data tersebut, atau dengan kata lain, pengurutan dilakukan secara rekursif. Contohnya: Merge sort. 5. Non-Comparison Sort Sesuai namanya dalam proses pengurutan data yang dilakukan algoritma ini tidak terdapat pembandingan antardata, data diurutkan sesuai dengan pigeon hole principle. Dalam kenyataanya seringkali algoritma non-comparison sort yang digunakan tidak murni tanpa pembandingan, yang dilakukan dengan menggunakan algoritma-algoritma pengurutan cepat lainnya untuk mengurutkan sub kumpulan - sub kumpulan datanya. Contohnya: Radix sort, Bucket sort, Counting sort, Tally sort. Berdasarkan klasifikasi algoritma pengurutan yang sudah dijelaskan maka akan dianalisis pada penelitian ini adalah algoritma strand sort, sieve sort, dan gnome sort Algoritma Strand Sort Strand Sort adalah algoritma pengurutan yang mencari elemen yang tepat untuk diletakkan di posisi yang telah diketahui, dan meletakkannya di posisi tersebut setelah data tersebut ditemukan. Strand Sort melakukan pengurutan yang mencari nilai data terbesar atau terkecil dan kemudian menempatkannya pada posisi yang sebenarnya, dimulai dari data diposisi 0 hingga data diposisi N-1 dengan tahapan indeks yang dimulai dari 0. (Triono Puji, 2010). Proses pengurutan dengan menggunakan algoritma Strand Sort dilakukan dengan cara mencari data yang terkecil dari data pertama sampai terakhir. Kemudian data tersebut dipertukarkan dari data pertama. Dengan demikian, data pertama mempunyai nilai paling kecil dibanding dengan data lain. Setelah itu data terkecil mulai dicari lagi dari data ke-i (dimana i dimulai dari data ke-2 sampai dengan data terakhir). Jika ditemukan data yang lebih kecil maka data tersebut ditempatkankan kedepan sesuai dengan posisi yang seharusnya.
5 9 Proses algoritma Strand Sort bertujuan untuk menjadikan bagian sisi kiri array terurutkan sampai dengan seluruh array berhasil diurutkan. Metode ini mengurutkan bilangan-bilangan yang telah dibaca dan berikutnya secara berulang akan menempatkan bilangan-bilangan dalam array yang telah terbaca kesisi kiri array yang telah terurut. Kelebihan dan kekurangan Strand Sort : Kelebihan: 1. Stabil dan sederhana dalam penerapannya. 2. Proses pengurutan lebih cepat dalam data yang sebagian sudah terurut dan lebih cepat dalam data yang kecil. 3. Jika list sudah terurut atau sebagian terurut maka algoritma Strand Sort akan lebih cepat daripada Quick Sort. 4. Lebih cepat dibandingkan Bubble Sort karena dapat mengurangi jumlah perbandingan. 5. Loop (Perulangan) pada Strand Sort sangat cepat, sehingga termasuk menjadi salah satu algoritma pengurutan tercepat dalam jumlah elemen yang sedikit. Kekurangan: 1. Banyaknya operasi yang diperlukan dalam mencari posisi yang tepat untuk elemen List. 2. Untuk List yang jumlahnya besar algoritma Strand Sort tidak praktis. Contoh Proses pengurutan data menggunakan Strand Sort dapat dilihat pada gambar 2.1. Data yang ingin diurutkan : String yang diinputkan berdasarkan kode ASCII String : ruth stephany marsaulina siahaan r = 114, s = 115, m = 109, 1 = 49
6 Data yang sudah terurut : Gambar 2.1. Proses pengurutan data menggunakan strand sort Ket: data yang berwarna merah merupan bagian yang terurut. Proses Strand Sort dilakukan dengan menempatkan elemen-elemen dari sebelah kanan ketempatnya yang sesuai dibagian terurut (kiri) Pseudocode Algoritma Strand Sort Public static Strand Sort; For (i=1 to (array.length-1)) j=i-1; index; while (arr[i]<arr[j]{ index=j; j--; if (j<0) break; } Swap(i,index)
7 Algoritma Sieve Sort Sieve Sort adalah algoritma sorting seperti sebuah proses Penyaringan, data tersebut disaring kemudian ditata kembali sesuai dengan jumlah data yang ada sebelumnya dengan cara yang tepat. Dalam algoritma Sieve Sort adanya elemen-elemen dalam list yang kemudian akan disaring dan ditata kembali. Kasus terburuk dan kasus terbaik akan berjalan berulang kali selama proses penyaringan data tersebut yakni O(n 2 ) and O(n), dimana n merupakan jumlah record dalam list yang akan diurutkan. Pada kompleksitas waktu O(n 2 ) algoritma Sieve Sort ini bekerja dalam wort case (Kasus terburuk) sehingga algoritm Sieve Sort ini dikatakan lebih baik dari algoritma Quick Sort. Sedangkan pada kompleksitas waktu O(n) ini elemen pada list tersebut akan dibagi dan didistribusikan ke subsequence lain. Contoh Proses pengurutan data menggunakan Sieve Sort dapat dilihat pada gambar 2.2. Data yang ingin diurutkan : String yang diinputkan berdasarkan kode ASCII String : ruth stephany marsaulina siahaan r = 114, s = 115, m = 109, 1 = 49 Dimulai dengan melakukan pengecekan pada data yang belum disortir. Angka pertama pada list tersebut dijadikan sebagai pivot pivot Kemudian angka yang menjadi pivot tersebut dibandingkan dengan angka selanjutnya. Jika angka selanjutnya itu lebih besar nilainya atau sama dibanding dengan pivot tersebut maka pivotnya akan berpindah selanjutnya ke angka yang lebih besar tersebut dan begitu seterusnya sampai di angka terakhir pada list.
8 12 pivot pivot pivot asc [1] = [ 114, 115, 115] non_asc = [109, 049] Selanjutnya angka pada elemen list yang non_asc tersebut akan kembali disortir dengan cara yang sama seperti diatas pivot asc[2] = [109] non_asc = [049] 109 pivot asc[3] = [049] non_asc = [ ] Setelah selesai disortir sampai pada elemen terakhir pada list, selanjutkan dilakukan merge pada asc[1] dan asc[2], nilai pada asc[1] dibandingkan dengan nilai pada asc[2] dan hasilnya dimasukkan pada sebuah list baru. asc [1] = [ 114, 115, 115] asc[2] = [109] Result = [ , 115, 115] Kemudian akan dilakukan merge kembali dengan membandingkan nilai pada list Result dengan nilai pada list asc[3], dan hasilnya dimasukkan pada sebuah list baru. Result = [ , 115, 115] asc[3] = 049 Result = [049, 109, 114, 115, 115] Data yang sudah terurut : Gambar 2.2. Proses pengurutan data menggunakan sieve sort
9 Pseudocode Algoritma Sieve Sort def sieve(list): pivot = list[0] asc = [pivot] non_asc = [] for i in range(1, len(list)): if list[i] >= pivot: pivot = list[i] asc.append(pivot) else: non_asc.append(list[i]) return asc,non_asc def merge(left,right): merged = [] while (true): if left == []: return merged + right if right == []: return merged + left if left[0] < right[0]: merged.append(left.pop(0)) else: merged.append return merged def sievesort(list): result = [] while list!= []: asc,non_asc = sieve(list) result = merge(result,asc) list = non_asc return result
10 Algoritma Gnome Sort Gnome sort adalah algoritma sorting seperti mengurutkan Penyisipan, tetapi perpindahan sebuah element ke tempat yang tepat dilakukan dengan serangkaian swap, seperti di Bubble Sort. Data yang sudah masuk secara acak akan dibandingkan jika pengurutannya adalah berdasarkan nilai terkecil ke nilai yang terbesar atau pengurutan ascending. Data akan diambil dan dibandingkan dengan data yang disamping kirinya. Jika data yang disamping kirinya nilainya lebih besar maka akan ditukar (swap) dan jika sebaliknya maka tidak ditukar. Kemudian tetap pada nilai itu akan dibandingkan lagi dengan nilai yang kecil dari belakang, begitu seterusnya sampai nilai terkecil berada pada urutan yang paling depan, kemudian akan dibandingkan lagi dari belakang jika masih ada nilai yang kecil pada posisi belakang akan di bandingkan dengan nilai yang ada didepannya. Keuntungan Gnome Sort: 1. Dapat dijalankan dengan cukup cepat dan efisien untuk mengurutkan list yang urutannya sudah hampir benar. 2. Algoritma ini biasanya digunakan untuk mengenalkan konsep dari sorting algoritma pada pendidikan komputer karena idenya yang cukup sederhana. Kelemahan Gnome Sort: 1. Ukuran kode relatif kecil. Contoh Proses pengurutan data menggunakan Gnome Sort dapat dilihat pada gambar 2.3. Data yang ingin diurutkan : String yang diinputkan berdasarkan kode ASCII String : ruth stephany marsaulina siahaan r = 114, s = 115, m = 109, 1 = 49 Dimulai dengan mengambil data dan membandingkan dengan data yang berada disamping kirinya.
11 15 Data yang berwarna merah merupakan data yang telah diambil dan dibandingkan dengan data yang disamping krirnya. Jika data yang disamping kirinya nilainya lebih besar maka akan ditukar (swap). swap Kemudian tetap pada nilai itu akan dibandingkan lagi dengan nilai yang kecil dari belakang, jika masih ada nilai yang kecil pada posisi belakang akan di bandingkan dengan nilai yang ada didepannya, begitu seterusnya sampai nilai terkecil berada pada urutan yang paling depan swap Jika nilai di posisi kiri lebih kecil daripada nilai di posisi kanan maka tidak akan dipertukarkan (swap) dan dilanjutkan dengan membandingkan pada data yang selanjutnya swap Swap
12 data yang terurut : Gambar 2.3. Proses pengurutan data menggunakan gnome sort Pseudocode Algoritma Gnome Sort procedure gnomesort(a[]): i := 0 while i < length(a): if (i == 0 or a[i] >= a[i-1]): i := i + 1 else: swap a[i] and a[i-1] if (i > 1) i := i-1 end if end if end while end procedure
13 Kompleksitas Algoritma Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Kompleksitas algoritma terdiri dari dua macam yaitu kompleksitas ruang dan kompleksitas waktu. Dalam penelitian ini yang dibahas hanya kompleksitas waktu. Dalam aplikasinya, setiap algoritma memiliki dua buah ciri khas yang dapat digunakan sebagai parameter pembanding, yaitu jumlah proses yang dilakukan dan jumlah memori yang digunakan untuk melakukan proses. Jumlah proses ini dikenal sebagai kompleksitas waktu yang disimbolkan dengan T(n), sedangkan jumlah memori ini dikenal sebagai kompleksitas ruang yang disimbolkan dengan S(n) Kompleksitas waktu Kompleksitas waktu yang disimbolkan dengan T(n), diukur dari jumlah tahapan komputasi yang dibutuhkan untuk menjalankan algoritma sebagai fungsi dari ukuran masukan n, dimana ukuran masukan n merupakan jumlah data yang diproses oleh sebuah algoritma. Dengan menggunakan kompleksitas waktu dapat ditentukan laju peningkatan waktu yang diperlukan algoritma, seiring dengan meningkatnya ukuran masukan n Kompleksitas waktu asimptotik Kompleksitas waktu asimptotik adalah analisis efisiensi asimptotik dari suatu algoritma untuk menentukan kompleksitas waktu yang sesuai. Analisis dilakukan untuk nilai n cukup besar dan bahkan tidak terbatas. Notasi asimptotik adalah notasi yang diguakan untuk menentukan kompleksitas waktu asimptotik dengan melihat waktu tempuh (running time) algoritma. Kompleksitas waktu asimptotik dibagi menjadi tiga, yaitu: 1. Kondisi terbaik (Best case) dinotasikan dengan Ω (Big-Omega). 2. Keadaan rata-rata (Average case) dinotasikan dengan Θ (Big-Theta). 3. Keadaan terburuk (Worst case) dinotasikan dengan Ο (Big- Οh). Notasi asimptotik dapat dituliskan dengan beberapa simbol, yaitu : 1. Notasi O disebut notasi O-Besar (Big-O) yang merupakan notasi kompleksitas waktu asimptotik. Kompleksitas waktu asimptotik merupakan perkiraan kebutuhan algoritma sejalan dengan meningkatnya nilai n.
14 18 2. Pada umumnya, algoritma menghasilkan laju waktu yang semakin lama bila nilai n semakin besar. Berikut pengelompokan algoritma berdasarkan notasi O-Besar dapat dilihat pada Tabel 2.1. Tabel 2.1 Pengelompokkan algoritma berdasarkan notasi O-Besar Notasi Nama Keterangan O(1) Konstan Karena program hanya dieksekusi dengan suatu nilai yang konstan O(log n) Logaritmik Karena peningkatan waktu eksekusi sebanding dengan peningkatan logaritma dari jumlah data O(n) Linear Karena peningkatan waktu eksekusi sebanding dengan peningkatan data, dan merupakan kondisi optimal dalam membuat algoritma O(n log n) Linearitmik Karena merupakan gabungan dari linear dan logaritmik. Algortima ini merupakan algoritma log n yang dijalankan sebanyak n kali. Biasanya digunakan untuk memecahkan masalah besar menjadi masalah yang kecil O(n 2 ) Kuadratik Karena peningkatan waktu eksekusi program akan sebanding dengan peningatan kuadrat jumlah data O(n 3 ) Kubik Karena peningkatan waktu eksekusi program akan sebanding dengan peningkatan pangkat tiga jumlah data O(n m) Polinomial Algoritma yang tidak efisien, karena memerlukan jumlah langkah penyelesaian yang jauh lebih besar daripada jumlah data O(n!) Faktorial Merupakan algoritma yang paling tidak efisien, karena waktu eksekusi program akan sebanding dengan peningkatan faktorial jumlah data
15 19 3. Notasi Little o, yaitu notasi asimptotik sebuah fungsi algoritma untuk batas atas namun tidak secara ketat terikat (not asymptotically tight). 4. Notasi Theta (θ), yaitu notasi asimptotik sebuah fungsi algoritma untuk batas atas dan bawah. 5. Notasi Omega (Ω), yaitu notasi asimptotik sebuah fungsi algoritma untuk batas bawah, notasi ini berlawanan dengan notasi little-o Big-oh Notasi big-oh pertama kali diperkenalkan oleh seorang teoritis bilangan bernama Paul Bachmann pada tahun 1894, didalam buku keduanya yang berjudul Analytische Zahlentheorie ( analytic number teory ). Dalam teori kompleksitas komputasi, notasi big-oh sering digunakan untuk menjelaskan bagaimana ukuran data masukan mempengaruhi sebuah kegunaan algoritma dari sumber daya komputasi (biasanya running time atau memori). Definisi pertama dalam pengukuran kompleksitas suatu masalah adalah big-oh (Weiss dan Mark Allen, 1996). Grafik fungsi big-oh dapat dilihat pada gambar 2.4. Gambar 2.4. Grafik fungsi big-oh Untuk fungsi g(n), kita definisikan O(g(n)) sebagai big-oh dari n, sebagai himpunan: O(g(n)) = {f(n) : ada konstanta positif c dan n 0, sedemikian rupa untuk semua n n 0, sehingga 0 f(n) cg(n)}.
16 20 f(n) secara intuitif merupakan himpunan seluruh fungsi yang rateofgrowth-nya adalah sama atau lebih kecil dari g(n). g(n) adalah asymptotic upper bound untuk f(n) Big-omega (Ω) Defenisi kedua dalam pengukuran kompleksitas suatu masalah adalah big omega. (Weiss dan Mark Allen, 1996). Grafik fungsi big-oh dapat dilihat pada gambar 2.5. Gambar 2.5. Grafik fungsi big-omega Untuk fungsi g(n), kita definisikan Ω(g(n)) sebagai big-omega dari n, sebagai himpunan: Ω(g(n)) = {f(n) : ada konstanta positif c dan n 0, sedemikian rupa untuk semua n n 0, sehingga 0 cg(n) f(n) }. f(n) secara intuitif merupakan himpunan seluruh fungsi yang rateofgrowth-nya adalah sama atau lebih tinggi dari g(n). g(n) adalah asymptotic lower bound untuk f(n).
17 Big-theta (θ) Definisi ketiga dalam pengukuran kompleksitas suatu masalah adalah big theta. (Weiss dan Mark Allen, 1996). Grafik fungsi big-oh dapat dilihat pada gambar 2.6. Gambar 2.6. Grafik fungsi big-theta Untuk fungsi g(n), kita definisikan Θ(g(n)) sebagai big-theta dari n, sebagai himpunan: Θ(g(n)) = {f(n) : ada konstanta positif c 1, c 2 dan n 0, sedemikian rupa untuk semua n n 0, sehingga 0 c 1 g(n) f(n) c 1 g(n)}. f(n) merupakan Θ(g(n)) pada nilai antara c 1 sampe c 2. g(n) adalah asymptoticallytight bound untuk f(n). Secara intuitif merupakan himpunan seluruh fungsi yang rateofgrowth-nya adalah sama dengan g(n) Running Time Running time adalah waktu yang digunakan oleh sebuah algoritma untuk menyelesaikan masalah pada sebuah komputer paralel dihitung mulai dari saat algoritma mulai hingga saat algoritma berhenti. Jika prosesor-prosesornya tidak mulai dan selesai pada saat yang bersamaan, maka running time dihitung mulai saat komputasi pada prosesor pertama dimulai hingga pada saat komputasi pada prosesor terakhir selesai.
18 Struktur Data Struktur data adalah sebuah skema organisasi, seperti variabel dan array,dll, yang diterapkan pada data sehingga data dapat diinterpretasikan dan sehingga operasi operasi spesifik dapat dilaksanakan pada data tersebut. Pemakaian struktur data yang tepat didalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan lebih efisien dan sederhana. Data adalah representasi dari fakta dunia nyata. Setiap data memiliki tipe data. Tipe data adalah pengelompokkan data berdasarkan isi dan sifatnya. Secara garis besar tipe data dapat dikategorikan menjadi : 1. Tipe data sederhana/dasar a. Tipe data sederhana tunggal Integer Real Boolean Karakter b. Tipe data sederhana majemuk misalnya string 2. Struktur data, meliputi : a. Struktur data sederhana Array Record b. Struktur data majemuk, yang terdiri dari: Linier : Stack, Queue, List dan Multilist No Linier : Pohon Biner (tree) dan Graph Pemakaian struktur data yang tepat didalam proses pemrograman akan menghasilkan algoritma yang lebih jelas dan tepat, sehingga menjadikan program secara keseluruhan lebih efesien dan sederhana. Struktur data yang standar yang biasanya digunakan dibidang informatika adalah List, Multilist, Stack (Tumpukan), Queue (Antrian), Tree ( Pohon ), Graph ( Graf ). Adapun perbedaan array dan list secara umum dapat dilihat pada table 2.2.
19 23 Tabel 2.2 Perbedaan Array dan List Array 1. Pengaksesan bersifat Statis 2. volumenya selalu tetap tidak tergantung pada jumlah data 3. alokasi memori dilakukan pada saat array didefinisikan. 4. pembebasan memori dilakukan pada saat program berhenti. 5. Cara akses bersifat random dengan menggunakan nomor index. List 1. Pengaksesan bersifat Dinamis 2. ukurannya berubah-ubah disesuaikan dengan kebutuhan. 3. alokasi memori ditentukan pada saat data baru dibuat. 4. pembebasan memori dilakukan setiap ada penghapusan data. 5. Cara akses ke masing-masing class data dilakukan secara linier (selalu dimulai dari elemen pertama).
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
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)
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.
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.
BAB 2 LANDASAN TEORI
6 BAB 2 LANDASAN TEORI 2.1 Pengertian Algoritma Menurut (Suarga, 2012 : 1) algoritma: 1. Teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah kata terbatas tetapi tersusun
Analisis Kecepatan Sorting Dengan Notasi Big O
Analisis Kecepatan Sorting Dengan Notasi Big O Rama Aulia NIM : 13506023 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung E-mail : [email protected] Abstrak Sorting
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,
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.
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
Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya
Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya Ronny - 13506092 Jurusan Teknik Informatika Institut Teknologi Bandung Email : [email protected] 1. Abstract
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
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
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: [email protected]
BAB 2 TINJAUAN PUSTAKA
BAB 2 TINJAUAN PUSTAKA 2.1 Konsep Dasar Algoritma Algoritma adalah kumpulan instruksi atau perintah yang dibuat secara jelas dan sistematis berdasarkan urutan yang logis (logika) untuk penyelsaian suatu
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
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.
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.
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
Kompleksitas Algoritma Sorting yang Populer Dipakai
Kompleksitas Algoritma Sorting yang Populer Dipakai Wahyu Fahmy Wisudawan 1) 1) Program Studi Teknik Informatika ITB, Bandung 40135, email: mailto:[email protected] Abstract Makalah ini
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 [email protected] ABSTRAK Struktur data dari algoritma Heap
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
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
PERBANDINGAN KOMPLEKSITAS ALGORITMA PENCARIAN BINER DAN ALGORITMA PENCARIAN BERUNTUN
PERBANDINGAN KOMPLEKSITAS ALGORITMA PENCARIAN BINER DAN ALGORITMA PENCARIAN BERUNTUN Yudhistira NIM 13508105 Mahasiswa Program Studi Teknik Informatika ITB Jalan Ganesha No.10 Bandung e-mail: [email protected]
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
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
BAB 2 LANDASAN TEORI
6 BAB 2 LANDASAN TEORI 2.1. Kompresi Data Kompresi adalah mengecilkan/ memampatkan ukuran. Kompresi Data adalah teknik untuk mengecilkan data sehingga dapat diperoleh file dengan ukuran yang lebih kecil
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.
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
Algoritma dan Struktur Data
Algoritma dan Struktur Data Click to edit Master subtitle style Pertemuan 3 Pengantar Analisis Efisiensi Algoritma Analisa efisiensi algoritma bertujuan mengestimasi waktu dan memori yang dibutuhkan untuk
ALGORITMA PENGURUTAN & PENCARIAN
Materi kuliah ALGORITMA PENGURUTAN & PENCARIAN Ir. Roedi Goernida, MT. ([email protected]) Program Studi Sistem Informasi Fakultas Rekayasa Industri Institut Teknologi Telkom Bandung 2011 1 Pengelompokan
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
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
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
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: [email protected] Anany Levitin, Introduction to the Design & Analysis of Algorithms, Addison-Wesley, 2003. Enem,
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
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
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
PENGGUNAAN BIG O NOTATION UNTUK MENGANALISA EFISIENSI ALGORITMA
PENGGUNAAN BIG O NOTATION UNTUK MENGANALISA EFISIENSI ALGORITMA Ikhsan Fanani NIM : 13505123 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung E-mail : [email protected]
BAB II TINJAUAN PUSTAKA. Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya
BAB II TINJAUAN PUSTAKA 2.1 Kriptografi Kriptografi (cryptography) berasal dari Bahasa Yunani: cryptós artinya secret (rahasia), sedangkan gráphein artinya writing (tulisan), jadi kriptografi berarti secret
Logika dan Algoritma Yuni Dwi Astuti, ST 2
ALGORITMA Istilah algoritma pertama kali diperkenalkan oleh seorang ahli matematika yaitu Abu Ja far Muhammad Ibnu Musa Al Khawarizmi. Yang dimaksud dengan algoritma adalah : Urutan dari barisan instruksi
Kompleksitas Algoritma Dalam Algoritma Pengurutan
Kompleksitas Algoritma Dalam Algoritma Pengurutan Rio Cahya Dwiyanto Jurusan Teknik Informatika ITB, Bandung, email: [email protected] Abstract Makalah ini membahas tetang beberapa algoritma, terutama
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
Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort
Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort Setia Negara B. Tjaru (13508054) Program Studi Teknik Informatika ITB Bandung e-mail: [email protected] ABSTRAK Makalah ini
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
Penerapan Algoritma Bucket Sort Untuk melakukan Pengurutan n buah Bilangan Mata Kuliah Pemrosesan Paralel
Penerapan Algoritma Bucket Sort Untuk melakukan Pengurutan n buah Bilangan Mata Kuliah Pemrosesan Paralel OLEH : SUPRIYANTO (G651090191) OKE HENDRADHY (G651090101) KAMALUDDIN MAHFUDZ (G651090231) DEPARTEMEN
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
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
BAB 2 LANDASAN TEORI
5 BAB 2 LANDASAN TEORI 2.1 Pengertian Algoritma Algoritma adalah urutan logis langkah-langkah penyelesaian yang disusun secara sistematis. Meskipun algoritma sering dikaitkan dengan ilmu komputer, namun
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
SORTING DENGAN ALGORITMA DIVIDE AND CONQUER
SORTING DENGAN ALGORITMA DIVIDE AND CONQUER Ibnu Alam (13506024) Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10 [email protected] ABSTRAK Kemangkusan program adalah salah satu
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.
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
SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN
SEKOLAH TINGGI MANAJEMEN INFORMAA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN Mata Kuliah : ALGORITMA DAN PEMROGRAMAN A Kode Mata Kuliah : DK - 24301 Jurusan / Jenjang : S1 SISTEM KOMPUTER Tujuan
Bubble Sort dan Shell-Sort. Yuliana Setiowati
Bubble Sort dan Shell-Sort Yuliana Setiowati Bubble Sort Disebut juga exchange sort : metode yang mengurutkan data dengan cara membandingkan masing2 elemen, kemudian melakukan penukaran bila perlu. Algoritma
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
Pengenalan Algoritma & Struktur Data. Pertemuan ke-1
Pengenalan Algoritma & Struktur Data Pertemuan ke-1 Apa itu Struktur Data? PROGRAM ALGO RITMA STRUKTUR DATA Algoritma.. deskripsi langkah-langkah penyelesaian masalah yang tersusun secara logis 1. Ditulis
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
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
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
BAB 8 SORTIR. Pengurutan data (sorting) adalah suatu proses untuk menyusun kembali himpunan obyek menggunakan aturan tertentu.
BAB 8 SORTIR Pengurutan data (sorting) adalah suatu proses untuk menyusun kembali himpunan obyek menggunakan aturan tertentu. Secara umum ada dua jenis pengurutan data yaitu : a. Pengurutan secara urut
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
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
Integer (Bilangan Bulat) Yang dimaksud bilangan bulat adalah, -1, -2, -3, 0, 1, 2, 3, 4 dan lain lain yang bukan merupakan bilangan pecahan.
Struktur Data Struktur Data Setiap data memiliki tipe data, apakah merupakan angka bulat, angka pecahan, atau berupa karakter, dan sebagainya. Jadi, tipe data adalah pengelompokan data berdasarkan isi
Design and Analysis of Algorithm
Design and Analysis of Algorithm Week 3: Notasi Asymptotic dan Kelas Dasar Efisiensi Dr. Putu Harry Gunawan 1 1 Department of Computational Science School of Computing Telkom University Dr. Putu Harry
Jurnal Evolusi Volume 5 No evolusi.bsi.ac.id
Analisa Perbandingan Kompleksitas Algoritma Bubble Sort, Cocktail Sort Dan Comb Sort Dengan Bahasa Pemrograman C++ Devy Kumalasari Program Studi Manajemen Informatika, AMIK BSI Pontianak [email protected]
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
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
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
BAB II LANDASAN TEORI
BAB II LANDASAN TEORI 2.1. Algoritma Istilah algoritma (algorithm) berasal dari kata algoris dan ritmis, yang pertama kali diungkapkan oleh Abu Ja far Mohammed Ibn Musa al Khowarizmi (825 M) dalam buku
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
SEARCHING & SORTING. Pendahuluan
SEARCHING & SORTING Pendahuluan Sorting dan searching merupakan salah satu operasi dasar dalam ilmu komputer. Sorting merupakan suatu proses (operasi) yang mengurutkan data dalam suatu urutan yang diberikan
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
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
SORTING. Brigida Arie Minartiningtyas, M.Kom
SORTING Brigida Arie Minartiningtyas, M.Kom Sorting Suatu proses pengurutan data yang sebelumnya disusun secara acak sehingga menjadi tersusun secara teratur menurut suatu aturan tertentu. Sorting diterapkan
Journal Speed Sentra Penelitian Engineering dan Edukasi Volume 9 No
Analisa Perbandingan Kompleksitas Algoritma Bubble Sort, Cocktail Sort Dan Comb Sort Dengan Bahasa Pemrograman C++ Devy Kumalasari Program Studi Manajemen Informatika, AMIK BSI Pontianak [email protected]
Algoritma dan Pemrograman Lanjut. Pertemuan Ke-8 Pengurutan (Sorting) 1
Algoritma dan Pemrograman Lanjut Pertemuan Ke-8 Pengurutan (Sorting) 1 Disusun Oleh : Wilis Kaswidjanti, S.Si.,M.Kom. Jurusan Teknik Informatika Fakultas Teknologi Industri Universitas Pembangunan Nasional
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
Struktur Data. Pertemuan 2
Pertemuan 2 Tujuan Pembelajaran Mahasiswa mampu menjelaskan konsep struktur data (Pengertian Struktur data, Konsep struktur data, Tipe data sederhana, Deklarasi data dalam bahasa pemrograman. 1. Pengertian
BAB I PENDAHULUAN.
BAB I PENDAHULUAN 1.1 Latar Belakang Masalah Selama ini media pembelajaran untuk modul algoritma sorting atau pengurutan hanya terbatas oleh buku dan modul yang diberikan oleh para pengajar, hal ini membuat
Penerapan Pohon Dalam Heap Sort
enerapan ohon Dalam Sort Firdi Mulia Jurusan Teknik Informatika ITB, Bandung, email: [email protected] Abstract Makalah ini membahas tentang penerapan pohon heap dalam metode pengurutan data
Algoritma dan Struktur Data
Algoritma dan Struktur Data Program Program: sederetan perintah-perintah yang harus dikerjakan oleh komputer untuk menyelesaikan masalah. 3 level bahasa pemrograman: 1. Bahasa tingkat rendah 2. Bahasa
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
Modul 8 SORTING (PENGURUTAN)
Modul 8 SORTING (PENGURUTAN) 1. Tujuan Instruksional Umum a. Mahasiswa mampu melakukan perancangan aplikasi menggunakan Struktur Sorting ( pengurutan ) b. Mahasiswa mampu melakukan analisis pada algoritma
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
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
ARRAY STATIS. Type namatype_array = array [1..maks_array] of tipedata. nama_var_array : namatype_array {indeks array dari 1 sampai maksimum array}
ARRAY STATIS Array (larik) merupakan tipe data terstruktur yang terdiri dari sejumlah elemen yang mempunyai tipe data yang sama dan diakses/diacu lewat indeksnya. Array memiliki jumlah komponen yang jumlahnya
Brigida Arie Minartiningtyas, M.Kom
Brigida Arie Minartiningtyas, M.Kom Struktur Data Struktur dan Data Struktur suatu susunan, bentuk, pola atau bangunan Data suatu fakta, segala sesuatu yang dapat dikodekan atau disimbolkan dengan kode-kode
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
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
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
Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.
Pertemuan 1 STRUKTUR DATA Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian Struktur Data yang
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
Perbandingan Algoritma Pengurutan Merge Sort, Quick Sort dan Heap Sort Dilihat dari Kompleksitasnya
Perbandingan Algoritma Pengurutan Merge Sort, Quick Sort dan Heap Sort Dilihat dari Kompleksitasnya Made Edwin Wira Putra (13508010) Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika,
Design and Analysis Algorithm
Design and Analysis Algorithm Pertemuan 02 Drs. Achmad Ridok M.Kom Fitra A. Bachtiar, S.T., M. Eng Imam Cholissodin, S.Si., M.Kom Aryo Pinandito, MT Contents 31 2 Analisis Algoritma Analisis Efisiensi
Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.
Pertemuan 1 STRUKTUR DATA Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya. Pemakaian Struktur Data yang
Setelah mempelajari topik Analisis Algoritma di kuliah SDA, ada beberapa kompetensi yang perlu Anda kuasai:
Setelah mempelajari topik Analisis Algoritma di kuliah SDA, ada beberapa kompetensi yang perlu Anda kuasai: Menentukan kompleksitas waktu (Big-Oh) dari beberapa algoritma (logaritmik, linier, kuadratik,
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
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
JARINGAN UNTUK MERGING
SORTING - Merging Definisi: A = {a 1, a 2,..., a r } B = {b 1, b 2,..., b s } merupakan dua deret angka yang terurut naik; merge A dan B merupakan deret C = {c 1, c 2,..., c r+s } yang juga terurut naik,
