PENGURUTAN DATA 2.1 Definisi Pengurutan 2.2 Metode-metode Pengurutan

Ukuran: px
Mulai penontonan dengan halaman:

Download "PENGURUTAN DATA 2.1 Definisi Pengurutan 2.2 Metode-metode Pengurutan"

Transkripsi

1 PENGURUTAN DATA 2.1 Definisi Pengurutan Pengurutan (sorting) adalah proses mengatur sekumpulan objek menurut urutan atau susunan tertentu. Urutan objek tersebut dapat menaik (ascending) atau menurun (descending). Bila N buah objek (data) disimpan dalam larik L, maka pengurutan menaik berarti menyusun elemen larik sedemikian sehingga : L[1] L[2] L[3].. L[N] Sedangkan pengurutan menurun berarti menyusun elemen larik sedemikian sehingga: L[1] L[2] L[3].. L[N] Data yang diurut dapat berupa data yang bertipe dasar atau tipe terstruktur (record). Jika data bertipe terstruktur, maka harus dispesifikasikan berdasarkan field apa data tersebut diurutkan. Field yang dijadikan dasar pengurutan dikenal sebagai field kunci. Contoh : Di bawah ini diberikan beberapa contoh data yang terurut : a. 23, 27, 45, 67, 100, 130, 501 (data bertipe integer terurut menaik) b. 50, 27, , 20.3, 19.0, -5.2, (data bertipe riil terurut menurun) c. Amir Badu Budi Dudi Zamzani (data bertipe string terurut menaik) d. d, e, g, i, x (data bertipe karakter terurut menaik) 2.2 Metode-metode Pengurutan Adanya kebutuhan terhadap proses pengurutan memunculkan bermacammacam metode pengurutan. Banyak metode pengurutan yang telah ditemukan. Hal ini menunjukkan bahwa persoalan yang kaya dengan solusi algoritmik. Metode pengurutan yang ditemukan dalam literatur komputer antara lain : 1. Metode Pengurutan Gelembung (Bubble Sort) 1

2 2. Metode Pengurutan Pilih (Selection Sort) 3. Metode Pengurutan Sisip (Insertion Sort) 4. Metode Pengurutan Shell 5. Metode Pengurutan Quick 6. Metode Pengurutan Merge 7. Metode Pengurutan Radix 8. Metode Pengurutan Tree Metoda Pengurutan Gelembung Metode pengurutan gelembung (bubble sort) diinspirasi oleh gelembung sabun yang berada di atas permukaan air. Karena berat jenis gelembung asbun lebih ringan daripada berat jenis air, maka gelembung sabun selalu terapung ke atas permukaan. Secara umum, benda-benda yang berat akan terbenam dan bendabenda yang ringan akan terapung. Prinsip pengapungan tersebut yang digunakan pada metode pengurutan gelembung. Apabila kita menginginkan larik terurut menaik, maka elemen yang nilainya paling kecil diapungkan, artinya dipindahkan ke ujung larik melalui proses pertukaran. Proses pengapungan dilakukan sebanyak N-1 langkah (satu langkah disebut juga satu kali pass) dengan N adalah ukuran larik. Pada akhir setiap langkah ke-i, larik L[1-N] akan terbagi atas dua bagian yaitu bagian yang sudah terurut dan yang belum terurut. Setelah langkah terakhir diperoleh larik L[1-N] yang sudah terurut menaik. Algoritma Pengurutan gelembung {Untuk larik yang terurut menaik} 1. input N jumlah data 2. untuk pass = 1, 2,. N-1 set maks := A[K] untuk K = 1, 2,. N jika maks < A[K] maka maks := A[K] tukar posisi 2

3 3. selesai rincian setiap pass adalah : pass 1 : Mulai dari elemen K = N, N-1, 2, bandingkan L[K] dengan L[K- 1]. Jika L[K]<L[K-1], tukar posisi L[K] dengan L[K-1] pada akhir langkah 1, elemen L[1] berisi harga minimum pertama. pass 1 : Mulai dari elemen K = N, N-1, 3, bandingkan L[K] dengan L[K- 1]. Jika L[K]<L[K-1], tukar posisi L[K] dengan L[K-1] pada akhir langkah 2, elemen L[2] berisi harga minimum kedua, larik L[1..2] terurut, sedangkan L[3..N] belum terurut. pass N-1 : Mulai dari elemen K = N, bandingkan L[K] dengan L[K-1]. Jika L[K]<L[K-1], tukar posisi L[K] dengan L[K-1] Pada akhir langkah N 1, elemen L[N-1] berisi nilai minimum ke-(n-1) an larik L[1..N-1] terurut menaik (elemen yang tersisa adalah L[N], tidak perlu diurut karena hanya satu-satunya). Contoh: Tinjau laruk L dengan N=6 buah elemen yang belum terurut. Larik ini akan diurut menaik pass 1: K Elemen yang dibandingkan Pertukarkan Hasil Sementara K = 6 L[6]<L[5]? Ya 25,27,10,8,21,76 K = 5 L[5]<L[4]? Tidak 25,27,10,8,21,76 K = 4 L[4]<L[3]? Ya 25,27,8,10,21,76 K = 3 L[3]<L[2]? Ya 25,8,27,10,21,76 K = 2 L[2]<L[1]? Ya 8,25,27,10,21,76 Hasil akhir pass pass 2: 3

4 K Elemen yang dibandingkan Pertukarkan Hasil Sementara K = 6 L[6]<L[5]? Tidak 8,25,27,10,21,76 K = 5 L[5]<L[4]? Tidak 8,25,27,10,21,76 K = 4 L[4]<L[3]? Ya 8,25,10,27,21,76 K = 3 L[3]<L[2]? Ya 8,10,25,27,21,76 Hasil akhir pass pass 3: K Elemen yang dibandingkan Pertukarkan Hasil Sementara K = 6 L[6]<L[5]? Tidak 8,10,25,27,21,76 K = 5 L[5]<L[4]? Ya 8,10,25,21,27,76 K = 4 L[4]<L[3]? Ya 8,10,21,25,27,76 Hasil akhir pass pass 4: K Elemen yang dibandingkan Pertukarkan Hasil Sementara K = 6 L[6]<L[5]? Tidak 8,10,21,25,27,76 K = 5 L[5]<L[4]? Tidak 8,10,21,25,27,76 Hasil akhir pass pass 5: K Elemen yang dibandingkan Pertukarkan Hasil Sementara K = 6 L[6]<L[5]? Tidak 8,10,21,25,27,76 Hasil akhir pass

5 tersisa satu elemen (yaitu 76), maka pengurutan selesai. Larik L sudah terurut menaik. Untuk memperoleh larik yang terurut menurun, kita melakukan proses sebaliknya, yaitu melemparkan elemen yang berharga maksimum ke atas (atau ke ujung kiri larik). Pengurutan gelembung merupakan metode pengurutan yang tidak efisien karena banyaknya langkah yang dilakukan pada setiap langkah pengapungan. Untuk ukuran larik yang besar, pengurutan dengan metode ini membutuhkan waktu yang lama Metode Pengurutan Pilih Metode ini disebut pengurutan pilih karena gagasan dasarnya adalah memilih elemen maksimum/minimum dari larik, lalu menempatkan elemen tersebut pada awal/akhir larik (elemen terujung). Selanjutnya elemen tersebut diisolasi dan tidak disertakan pada proses selanjutnya. Proses yang sama diulang pada larik yang tersisa. Algoritma Pengurutan Pilih Maksimum Algoritma pengurutan pilih maksimum yaitu memilih elemen maksimum sebagai basis pengurutan. Untuk mendapatkan larik yang terurut menaik. Secara umum algoritma pengurutan pilih maksimum ditulis sebagai berikut : 1. jumlah pass = N-1 2. Untuk setiap I = 1, 2, pass 2.1 cari elemen terbesar (maks) mulai dari elemen ke-1 sampai elemen ke-n 2.2 pertukarkan maks dengan elemen ke-n 2.3 kurangi N satu (karena elemen ke-n sudah terurut) rincian pada setiap pass adalah : pass 1 : Cari elemen maksimum di L[1..N] pertukarkan elemen maksimum dngan elemen L[N] ukuran larik yang belum terurut = N-1 5

6 pass 2 : Cari elemen maksimum di L[1..N-1] pertukarkan elemen maksimum dngan elemen L[N-1] ukuran larik yang belum terurut = N-2 pass N-1 : Cari elemen maksimum di L[1..2] pertukarkan elemen maksimum dngan elemen L[2] ukuran larik yang belum terurut =1 Elemen yang tersisa adalah L[1], tidak perlu diurut karena hanya satu-satunya. Contoh: Tinjau larik dengan N=6 buah elemen di bawah ini. Larik ini akan diurut menaik: pass 1: Cari elemen maksimum di dalam larik L[1..6] maks = L[5] = 76 Pertukarkan maks dengan L[6], diperoleh : pass 2: (berdasarkan susunan larik hasil pass 1) Cari elemen maksimum di dalam larik L[1..5] maks = L[1] = 29 Pertukarkan maks dengan L[5], diperoleh : pass 3: (berdasarkan susunan larik hasil pass 2) Cari elemen maksimum di dalam larik L[1..4] maks = L[2] = 27 Pertukarkan maks dengan L[4], diperoleh : pass 4: (berdasarkan susunan larik hasil pass 3) 6

7 Cari elemen maksimum di dalam larik L[1..3] maks = L[1] = 21 Pertukarkan maks dengan L[3], diperoleh : pass 5: (berdasarkan susunan larik hasil pass 4) Cari elemen maksimum di dalam larik L[1..2] maks = L[1] = 10 Pertukarkan maks dengan L[3], diperoleh : tersisa satu elemen (yaitu 8) maka pengurutan selesai. Larik L sudah terurut menaik. Apabila diinginkan larik yang terurut menurun, maka algoritma pengurutan pilih adalah : Untuk setiap pass I = 1, 2, N cari elemen terbesar (maks) mulai dari elemen ke-1 sampai elemen ke-n 1.2 pertukarkan maks dengan elemen ke-n rincian pada setiap pass adalah : pass 1 : Cari elemen maksimum di L[1..N] pertukarkan elemen maksimum dngan elemen L[1] pass 2 : Cari elemen maksimum di L[2..N] pertukarkan elemen maksimum dngan elemen L[2] pass N-1 : Cari elemen maksimum di L[N-1,N] pertukarkan elemen maksimum dngan elemen L[N-1] Elemen yang tersisa adalah L[N], tidak perlu diurut karena hanya satu satunya. Contoh: Tinjau larik dengan N=6 buah elemen di bawah ini. Larik ini akan diurut menaik:

8 pass 1: Cari elemen maksimum di dalam larik L[1..6] Imaks = 5, L[Imaks] = 76 Pertukarkan L[Imaks] dengan L[1], diperoleh : pass 2: (berdasarkan susunan larik hasil pass 1) Cari elemen maksimum di dalam larik L[2..6] Imaks = 5, L[Imaks] = 29 Pertukarkan L[Imaks] dengan L[2], diperoleh : pass 3: (berdasarkan susunan larik hasil pass 2) Cari elemen maksimum di dalam larik L[3..6] Imaks = 5, L[Imaks] = 27 Pertukarkan L[Imaks] dengan L[3], diperoleh : pass 4: (berdasarkan susunan larik hasil pass 3) Cari elemen maksimum di dalam larik L[4..6] Imaks = 6, L[1maks] = 21 Pertukarkan L[Imaks] dengan L[4], diperoleh : pass 5: (berdasarkan susunan larik hasil pass 4) Cari elemen maksimum di dalam larik L[5..6] Imaks = 5, L[Imaks] = 10 Pertukarkan maks dengan L[2], diperoleh : tersisa satu elemen (yaitu 8) maka pengurutan selesai. Larik L sudah terurut menurun. 8

9 Algoritma Pengurutan Pilih Minimum Pada algoritma ini, basis pencarian adalah elemen minimum (terkecil). Elemen minimum ditempatkan di awal larik (agar terurut menaik) atau di akhir larik (agar larik terurut menurun) Algoritma pilih minimum untuk memperoleh larik yang terurut menaik secara garis besarnya adalah sebagai berikut: Untuk setiap pass I = 1, 2, N cari elemen terbesar (maks) mulai dari elemen ke-1 sampai elemen ke-n 1.2 pertukarkan maks dengan elemen ke-i rincian pada setiap pass adalah : pass 1 : pass 2 : pass N-1 : Cari elemen minimum di L[1..N] pertukarkan elemen minimum dngan elemen L[1] Cari elemen minimum di L[2..N] pertukarkan elemen minimum dngan elemen L[2] Cari elemen minimum di L[N-1,N] pertukarkan elemen minimum dngan elemen L[N-1] Elemen yang tersisa adalah L[N], tidak perlu diurut karena hanya satu satunya. Contoh: Tinjau larik dengan N=6 buah elemen di bawah ini. Larik ini akan diurut menaik: pass 1: Cari elemen minimum di dalam larik L[1..6] Imin = 4, L[Imin] = 8 Pertukarkan L[Imin] dengan L[1], diperoleh : pass 2: (berdasarkan susunan larik hasil pass 1) Cari elemen maksimum di dalam larik L[2..6] Imin = 3, L[Imin] = 10 Pertukarkan L[Imin] dengan L[2], diperoleh :

10 pass 3: (berdasarkan susunan larik hasil pass 2) Cari elemen maksimum di dalam larik L[3..6] Imin = 6, L[Imin] = 21 Pertukarkan L[Imin] dengan L[3], diperoleh : pass 4: (berdasarkan susunan larik hasil pass 3) Cari elemen maksimum di dalam larik L[4..6] Imin = 6, L[Imin] = 27 Pertukarkan L[Imin] dengan L[4], diperoleh : pass 5: (berdasarkan susunan larik hasil pass 4) Cari elemen maksimum di dalam larik L[5..6] Imin = 6, L[Imin] = 29 Pertukarkan L[Imin] dengan L[5], diperoleh : tersisa satu elemen (yaitu 76) maka pengurutan selesai. Larik L sudah terurut menaik. Apabila diinginkan elemen terururt menurun, maka lakukan proses sebaliknya. Contoh: Tinjau larik dengan N=6 buah elemen di bawah ini. Larik ini akan diurut menaik: pass 1: Cari elemen minimum di dalam larik L[1..6] Imin = 4, L[Imin] = 8 Pertukarkan L[Imin] dengan L[N], diperoleh :

11 pass 2: (berdasarkan susunan larik hasil pass 1) Cari elemen maksimum di dalam larik L[1..5] Imin = 3, L[Imin] = 10 Pertukarkan L[Imin] dengan L[5], diperoleh : pass 3: (berdasarkan susunan larik hasil pass 2) Cari elemen maksimum di dalam larik L[1..4] Imin = 4, L[Imin] = 21 Pertukarkan L[Imin] dengan L[4], diperoleh : pass 4: (berdasarkan susunan larik hasil pass 3) Cari elemen maksimum di dalam larik L[1..3] Imin = 2, L[Imin] = 27 Pertukarkan L[Imin] dengan L[3], diperoleh : pass 5: (berdasarkan susunan larik hasil pass 4) Cari elemen maksimum di dalam larik L[1..2] Imin = 1, L[Imin] = 29 Pertukarkan L[Imin] dengan L[2], diperoleh : tersisa satu elemen (yaitu 76) maka pengurutan selesai. Larik L sudah terurut menurun. Dibandingkan dengan metode pengurutan gelembung, metode ini lebih baik karena operasi pertukaran elemen hanya dilakukan sekali saja pada setiap pass, dengan demikian lama pengurutannya berkurang dibandingkan metode pengurutan gelembung. 11

12 2.2.3 Metode Pengurutan Sisip Berdasarkan namanya, pengurutan sisip (insertion sort) adalah metode pengurutan dengan cara menyisipkan elemen larik pada posisi yang tepat. Pencarian posisi yang tepat dilakukan dengan cara menyisir larik. Selama penyisiran dilakukan pergeseran elemen larik. Metode ini cocok untuk persoalan menyisipkan elemen baru ke dalam sekumpulan elemen yang sudah terurut. Algoritma Pengurutan Sisip { untuk pengurutan menaik} untuk setiap pass I = 2, 3,. N, lakukan 1. set y = L[I] 2. sisipkan y pada tempat yang tepat antara L[1]. L[2] rincian setiap pass adalah : Asumsi (dianggap sebagai pass 1) : L[1] dianggap sudah pada tempatnya Pass 2 : Elemen y =L[2] harus dicari tempatnya yang tepat ke dalam L[1..2] dengan cara menggeser elemen L[1..1] ke kanan (atau ke bawah) jika anda membayangkan larik terentang vertikal), bila L[1..1] lebih besar L[1]. Misalkan posisi yang tepat adalah K. sisipkan L[2] pada L[K] Pass 2 : Elemen y =L[3] harus dicari tempatnya yang tepat ke dalam L[1..3] dengan cara menggeser elemen L[1..2] ke kanan (atau ke bawah) jika anda membayangkan larik terentang vertikal), bila L[1..2] lebih besar L[3]. Misalkan posisi yang tepat adalah K. sisipkan L[3] pada L[K] Pass N : Elemen y =L[N] harus dicari tempatnya yang tepat ke dalam L[1..N] dengan cara menggeser elemen L[1..N-1] ke kanan (atau ke bawah) jika anda membayangkan larik terentang vertikal), bila L[1..N-1] lebih besar L[N]. Misalkan posisi yang tepat adalah K. sisipkan L[N] pada L[K] Hasil dari pass N : larik L[1..N] sudah terurut menaik. 12

13 Contoh: Tinjau larik dengan N=6 buah elemen di bawah ini. Larik ini akan diurut menaik: Asumsi (pass 1): Elemen y = L[1] = 29 dianggap sudah terurut pass 2: (berdasarkan susunan larik hasil pass 1) Cari posisi yang tepat untuk y = L[2] = 27 di dalam L[1..2], diperoleh: pass 3: (berdasarkan susunan larik hasil pass 2) Cari posisi yang tepat untuk y = L[3] = 10 di dalam L[1..3], diperoleh: pass 4: (berdasarkan susunan larik hasil pass 3) Cari posisi yang tepat untuk y = L[4] = 8 di dalam L[1..4], diperoleh: pass 5: (berdasarkan susunan larik hasil pass 4) Cari posisi yang tepat untuk y = L[5] = 76 di dalam L[1..5], diperoleh:

14 pass 6: (berdasarkan susunan larik hasil pass 5) Cari posisi yang tepat untuk y = L[6] = 21 di dalam L[1..6], diperoleh: Berdasarkan contoh di atas, dapat diketahui bahwa kelemahan dari metode ini terletak pada banyaknya operasi pergeseran yang diperlukan dalam mencari posisi yang tepat untuk elemen larik. Pada setiap pass I, operasi pergeseran yang diperlukan maksimum I-1 kali. Untuk larik N yang besar, jumlah operasi pergeseran meningkat secara kuadratik, sehingga pengurutan sisip kurang bagus untuk volume data yang besar Metode Pengurutan Shell Metode ini diberi nama sesuai dengan nama penemunya yaitu Donald Shell tahun Metode ini merupakan perbaikan terhadap metode pengurutan sisip. Kelemahan metode sisip sudah diterangkan di atas. Jika data pada posisi ke ternyata posisi yang tepat adalah posisi ke-2, maka dibutuhkan kira-kira 998 kali pergeseran elemen. Untuk mengurangi pergeseran terlalu jauh, kita mengurutkan larik setiap k elemen dengan metode pengurutan sisip, misalkan kita urutkan setiap 5 elemen (k kita namakan juga step atau increment ). Selanjutnya kita gunakan nilai step yang lebih kecil, misalnya k = 3 lalu kita urut setiap 3 elemen. Begitu seterusnya sampai nilai k = 1. karena setiap step selalu berkurang maka metode ini kadangkadang dinamakan juga dengan metode pengurutan kenaikan berkurang (diminishing increment sort). Contoh: Untuk memperjelas metode pengurutan shell, tinjau pengurutan data integer berikut:

15 pass 1 (step =5): urutkan setiap 5 elemen baris pertama menyatakan elemen yang sudah terurut pada posisi 1, 6 dan 11 baris kedua menyatakan elemen yang sudah terurut pada posisi 2, 7 dan 12 baris ketiga menyatakan elemen yang sudah terurut pada posisi 3, 9 dan 13 baris keempat menyatakan elemen yang sudah terurut pada posisi 4 dan 9 baris kelima menyatakan elemen yang sudah terurut pada posisi 5 dan 10 hasil pass 1 : 35, 17, 11, 28, 12, 41, 75, 15, 96, 58, 81, 94, 95 pass 2 (step = 3) : urutkan setiap 3 elemen hasil pass 2 : 28, 12, 11, 35, 15, 41, 58, 17, 94, 75, 81, 96, hasil pass 3 : 11, 12, 15, 17, 28, 35, 41, 58, 75, 81, 94, 95, 96 Perhatikanlah pada pass yang terakhir (step =1) pengurutan shell menjadi sama dengan pengurutan sisip biasa. Nilai-nilai step seperti 5, 3 dan 1 bukanlah angka sihir. Kita dapat memilih nilai-nilai step yang lain yang bukan kelipatan step yang lain. Pemilihan step yang merupakan perpangkatan dari dua (seperti 8, 4, 2, 1) dapat mengakibatkan perbandingan elemen yang sama pada suatu pass terulang kembali pada pass berikutnya. 15

16 1. step := N {N ukuran larik} 2. while step>1 do a. step := step div 3 +1 b. for I =1,2 step do insertion sort setiap elemen step mulai dari elemen ke-i Algoritma pengurutan shell dibuat dengan pertama-tama memodifikasi algoritma pengurutan sisip sedemikian sehinggakita dapat menspesifikasi titik awal pengurutan sisip sedemikian sehingga kita dapat menspesifikasi titik awal pengurutan da ukuran step (pada algoritma pengurutan sisip yang asli, titik awal pengurutan adalah elemen pertama dan ukuran step = 1). Algoritma pengurutan sisip ini kita beri nama InsSort Metoda QuickSort Metoda QuickSort juga sering disebut dengan metoda partition exchange sort. Metoda ini ditemukan oleh C.A.R.Hoare.Untuk mempertinggi efektifitasnya, dalam metoda ini jarak kedua elemen yang akan ditukarkan nilainya ditentukan cukup besar. Secara garis besar metoda ini dijelaskan sebagai berikut. Misalkan kita akan mengurutkan vector A yang mempunyai N elemen.kita pilih sembarang elemen dari vector tersebut,biasanya elemen pertama, misalnya X.Lalu semua elemen tersebut disusun dengan menempatkan X pada posisi J,sedemikian rupa sehingga elemen ke 1 sampai elemen ke J-1 mempunyai nilai lebih kecil dari X dan elemen kej+1 sampai ke N mempunyai nilai lebih besar dari X. Dengan demikian kita mempunyai 2 buah subvector, subvektor pertama nilai elemennya lebih kecil dari X, subvektor ke-2 nilai elemennya lebih besar dari X. Pada langkah berikutnya, proses di atas diulang pada kedua subvektor, sehingga kita akan mempunyai empat buah subvektor. Proses di atas diulang pada setiap subvektor sehingga seluruh vector semua elemennya terurutkan. Contoh : Misalkan kita punya vector yang elemennya : 16

17 Gambar 1 Diambil elemen pertama,yaitu 23. Elemen ini akan diletakkan di suatu posisi sehingga akan membagi vector atas 2 subvektor. Dengan subvektor pertama (subvektor kiri) nilai elemennya selalu lebih kecil atau sama dengan 23, dan subvektor kedua(subvektor kanan)nilainya selalu lebih besar dari 23.Masingmasing subvektor tersaji pada gambar Gambar 2 Kemudian pada kedua subvektor tersebut kita proses seperti di atas sampai seluruh vector dalam keadaan terurutkan. Gambar 3 menyajikan proses selengkapnya dari metode QuickSort untuk mengurutkan vector dari gambar Gambar 3. Ilustrasi Quicksort Gambar 3. di atas menunjukkan proses pembagian dari vector menjadi subvektor-subvektor,subvektor menjadi subvektor dan seterusnya. Gambar 4 memperlihatkan isi vector setelah proses pengurutan selesai dilaksanakan Gambar 4.Hasil akhir dari metoda QuickSort 17

18 Dari ilustrasi di atas dapat dilihat bahwa metoda QuickSort bisa diimplementasikan menggunakan dua cara,yaitu : 1. Cara non Rekursif 2. Cara Rekursif Pada kedua cara implementasi di atas, persoalan utama yang perlu diperhatikan adalah bagaimana kita meletakkan suatu elemen pada posisi yang tepat sehingga memenuhi ketentuan di atas dan bagaimana menyimpan batasbatas subvektor pada saat vector dibagi menjadi dua subvektor, kemudian menjadi 4 subvektor,8 subvektor dan seterusnya. Gambar 3 memperlihatkan bahwa elemen pertama sampai di suatu tempat yang sesuai hanya dengan bergerak satu arah saja. Sedangkan untuk mempercepat penempatan suatu elemen, kita bisa bergerak dari dua arah, kiri dan kanan. Caranya adalah sebagai berikut : Misalkan kita mempunyai vector dengan 9 elemen (N=9) I=1 J=9 1. Tentukan I=1(untuk bergerak dari kiri ke kanan) dan J=N(untuk bergerak dari kanan ke kiri) Proses akan dihentikan bila nilai I lebih besar atau sama dengan J 2. ambil 45(elemen pertama) pada posisi yang tepat bergerak dua arah.dimulai dari elemen terakhir bergerak dari kanan ke kiri (J-1) lakukan pembandingan elemen yang dilalui dengan 45 sampai ditemukan elemen yang nilainy lebih kecil dari 45, yaitu 23,tukarkan kedua vector I=1 J=8 3. Bergerak dari kiri ke kanan (I+1),dimulai dari 23. Lakukan pembandingan pada setiap elemen yang dilalui dengan 45, sampai ditemukan elemen yang nilainya lebih besar dari 45, yaitu 64.Tukarkan kedua elemen I=2 J=8 4. Bergerak dari kanan ke kiri dimulai dari 127. Ditemukan bahwa 34 lebih kecil dari 45, sehingga kedua elemen ini saling ditukarkan. 18

19 I=2 J=6 5. Mulai dari 12(bergerak dari kiri ke kanan) sampai ditemukan elemen yang nilainya lebih besar dari 45,yaitu 56.Tukarkan kedua elemen I=5 J=6 5. Mulai dari 45(J=5) bergerak ke kiri sampai ditemukan elemen yang nilainya lebih kecil dari 45. Pada langkah ini ternyata nilai I dan J adalah sama. Hal ini berarti proses penempatan elemen yang bernilai 45 telah selesai. Di sini kita dapatkan bahwa semua elemen yang terletak di sebelah kiri nilainya selalu lebih kecil dari 45, semua elemen yang terletak di sebelah kanan nilainya selalu lebih besar dari 45,seperti yang terlihat di bawah ini : Subvektor kiri subvektor kanan a. Metoda QuickSort Non Rekursif Implementasi secara non rekursif memerlukan dua buah tumpukan yang digunakan untuk menyimpan batas-batas subvektor. Tumpukan pertama mencatat batas kiri subvektor dan tumpukan kedua mencatat bata kanan. Masing-masing elemen pada dua tumpukan ini harus bertipe integer karena mencatat subskrip suatu elemen. dalam prosedur yang disajikan hanya digunakan sebuah tumpukan,tapi elemennya bertipe record yang terdiri dari dua medan, yaitu Kiri (untuk mencatat batas kiri) dan Kanan (untuk mencatat batas kanan). Dalam hal ini tumpukan dideklaraikan sebagai array. Dengan mengacu pada contoh di atas, sebelum metoda ini dijalankan elemen pertama tumpukan (elemen paling atas),medan kiri diatur sama dengan 1,dan medan kanan sama dengan N, lihat gambar 5.a. Setelah elemen yang bernilai 45 dibawa pada posisi yang tepat maka isi tumpukan akan berubah seperti gambar 5.b. 19

20 Sesuai dengan sifat tumpukan, maka elemen paling atas akan dikerjakan lebih dulu. Sehingga denga melihat gambar 5.b, maka subvektor kanan (dengan batas Kiri = 6 dan batas kanan = 9) akan dikerjakan lebih dulu. Pada saat subvektor ini dikerjakan maka isi tumpukan ini akan dipop. Dengan kata lain pada saat program mengerjakan subvektor sebelah kanan, maka isi tumpukan hanya tinggal sebuah elemen kiri kanan kiri kanan a Gambar 5. Perubahan isi tumpukan a. Pada saat mulai iterasi b. Setelah satu elemen ditempatkan b Algoritma QUICKSORT_NON_REKURSIF [Pengurutan elemen menggunakan metoda non rekursifquicksort. Masukan dinyatakan sebagai vector A(belum terurutkan),dan N(banyak elemen).keluaran adalah vector A yang sudah terurut.] Langkah 0 Baca vector yang akan diurutkan(dalam program utama) dan deklarasikan sebuah tumpukan. Langkah 1 (Inisialisasikan tumpukan) Tentukan Ujung = 1, Tumpukan[1].Kiri = 1, dan Tumpuka[1].Kanan = N. Langkah 2 Kerjakan langkah 3 dan 4 sampai Ujung = 0. Langkah 3 (Menentukan subvektor yang akan dikerjakan,sekaligus mempop elemen teratas tumpukan) Tentukan : Kr = Tumpukan [Ujung].Kiri, Knn = Tumpuka[Ujung].Kanan,dan Ujung = Ujung 1. Langkah 4 Kerjakan langkah 5 sampai 10 sampai Knn<=Kr. 20

21 Langkah 5 (Mengatur I dan J untuk mulai proses) Tentukan : I = Kr, J = Knn, dan Tengah = A[(Kr+Knn) div 2] Langkah 6 Kerjakan langkah 7 sampai 9 sampai I > J. Langkah 7 (Bergerak dari Kiri ke Kanan) Tambah nilai I dengan 1 selama A[I] < Tengah. Langkah 8 (Bergerak dari kanan ke kiri) Kurangi nilai J dengan 1 selama Tengah < A[J]. Langkah 9 Test : apakah I <= J? Jika ya,kerjakan langkah-langkah berikut : - Tukarkan A[I] dengan A[J], - Tambah nilai I dengan 1, - Kurangi nilai J dengan 1. Langkah 10 Tentukan : Knn = J Langkah 11 Selesai b. Metoda QuickSort Rekursif Cara ini bisa dilaksanakan karena sesungguhnya Quick Sort ini terdiri dari 3 langkah, yaitu: penenpatan suatuelemen pada posisinya yang tepat, kemudian mengurutkan subvektor kiri dan subvektor kanan. Dalam mengurutkan subvektor kiri atau kanan ketiga langkah ini diulang kembali dengan menentukan batas-batas subvektor yang akan diproses. Batas akhir proses rekursif ditentukan apabila batas kiri subvektor sudah sama dengan atau lebih besar dari batas kanan. Secara sederhana,metoda ini bisa dituliskan sebagai : Procedure QUICKSORT ( var A : larik,awal,akhir : integer); Var I,J : integer ; Begin If awal < akhir then Begin ATUR; {*menempatkan suatu elemen pada posisi J *} QUICKSORT(A,awal,J-1); {*memproses subvektor kiri *} 21

22 End. End QUICKSORT(A,J+1,akhir); {*memproses subvektor kanan*} Prosedur di atas dalam program utama dipanggil dengan cara : QUICKSORT(A, 1, N ); Dengan A adalah vector yang akan diurutkan, dan N cacah elemen vector. Dari struktur di atas yang perlu dijelaskan adalah prosedur ATUR yang digunakan untuk menempatkan elemen pertama pada posisinya yang tepat sesuai dengan contoh sebelumnya. Algoritma ATUR [Digunakan untuk menempatkan elemen pertama pada posisi J sedemikian rupa sehingga elemen ke 1 sampai elemen ke J-1 selalu lebih kecil dari elemen tersebut, dan elemen ke J+1 sampai ke elemen ke N selalu lebih besar dari elemen tersebut] Langkah 1 Tentukan : I = Awal + 1. Langkah 2 (Bergerak dari kiri ke kanan ) Tambah nilai I dengan 1 selama A[I] < A[Awal] Langkah 3 (Bergerak dari kanan ke kiri ) Kurangi nilai I dengan 1 selama A[J] > A[Awal]. Langkah 4 Kerjakan langkah 5 sampai 7 selama I < J Langkah 5 tukarkan nilai A[1] dengan A[J]. Langkah 6 (Bergerak dari kiri ke kanan) Tambah nilai I dengan 1 selama A[I] < A[awal]. Langkah 7 (Bergerak dari kanan ke kiri ) Kurangi nilai I dengan 1 selama A[J] > A[awal] Langkah 8 Tukarkan nilai A[I] dengan A[J] Langkah 9 Selesai. 22

23 2.2.6 Metode RadixSort Metode ini didasarkan pada nilai sesungguhnya dari suatu digit pada bilangan yang akan diurutkan. Seperti kita ketahui dalam sistem bilangan desimal, nilai sesungguhnya dari setiap digit akan ditentukan oleh posisi dimana digit itu berada. Sebagai contoh, dalam bilangan 2762 kita katakan bahwa nilai digit dua yang pertama berbeda dengan nilai digit dua yang kedua. Pada bilangan diatas bisa dikatakan bahwa digit 2 (yang pertama) diletakkan pada posisi ribuan, digit 7 pada posisi ratusan, digit 6 pada posisi puluhan dan digit 2 (yang kedua) diletakkan pada posisi satuan. Maka pada subbab ini digit yang ditulis paling kiri kita namakan dengan digit signifikan terbesar (most significant digit) disingkat DSB dan yang paling kanan dinamakan digit significant terkecil (least significant digit) disingkat DSK. Contoh : Data : 342, 547,321, 213, 458, 621, 120, 958, 124, 844 Iterasi pertama Data Kelompok Hasil Iterasi kedua Data Kelompok

24 Hasil Iterasi ketiga Data Kelompok Hasil Iterasi selesai. Maka data terurut adalah 120, 124, 213, 321, 342, 458, 547, 621, 844, Metode MergeSort Metode yang akan dijelaskan biasanya disebut dengan metode MergeSort Dua Arah (Two-way MergeSort). Metode ini memanfaatkan keteraturan yang diperoleh dari hasil merging dua buah vektor Secara singkat dapat dijelaskan sebagai berikut. Vektor masukan dianggap yang mempunyai N eleman dianggap sebagai N buah vektor yang masing-masing terdiri dari sebuah vektor. Untuk setiap pasang vektor kita lakukan proses merging sehingga akan kita peroleh N/2 vektor yang masing-masing terdiri dari 2 elemen (jika N ganjil, akan terdapat sebuah vektor dengan 1 elemen). Kemudian dilakukan merging kembali untuk setiap pasang vektor, sehingga kita peroleh N/4 vektor. Langkah ini kita teruskan sampai kita memperoleh sebuah vektor yang sudah dalam keadaan urut. 24

25 Contoh : Data yang akan diurutkan adalah: gambar 1. ilustrasi metode mergesort algoritma yang kita gunakan adalah algoritma merging : 1. input Ca, Cb (banyak elemen pada vektor) 2. inisialisasi i =1, j =1 dan Cc =0 3. repeat apakah Ai < Bj ya, CCc = Ai, dan i = i+1 tdk, CCc = Bj, dan j = j+1 until i > Ca atau j > Cb 4. apakah i > Ca ya, untuk k = j.. Cb Cc = Cc +1 dan CCc = Bk tdk, untuk k = i.. Ca Cc = Cc + 1 dan CCc = Ak 5. selesai 25

26 2.2.8 Metode Treesort Metoda treesort adalah suatu metoda yang juga bisa digunakan untuk mengurutkan data. Pada Bab VII Struktur pohon telah dibahas bagaimana menyusun sebuah pohon dan melakukan kunjungan untuk memperoleh informasi yang tersimpan dalam pohon dan sesuai dengan macam kunjungan yang dilakukan. Pada dasarnya dalam pembentukan sebuah pohon perlu diperhatikan kapan suatu simpul akan dipakai sebagai cabang kiri dan kapan sebagai cabang kanan. Pada makalah ini kami menggunakan salah satu aturan yaitu informasi yang tersimpan pada cabang kiri nilainya selalu lebih kecil dari simpul akar dan informasi yang tersimpan dalam simpul akar nilainya selalu lebih besar dari yang tersimpan pada cabang kanan. Dalam penyusunan pohon ini kita dapat melakukannya dengan kunjungan inorder. Kunjungan inorder ini juga telah dibahas pada struktur pohon yaitu dengan cara : - kunjungi cabang kiri - kunjungi cabang kanan - cetak isi simpul yang dikunjungi Penyusunan (pengurutan) dalam keadaan menaik dapat kita lakukan dengan LRO, dan sebaliknya dalam keadaan menurun dapat dilakukan dengan RLO. Pada contoh pohon dibawah kami menggunakan kunjungan inorder yang dapat menghasilkan informasi dalam keadaan terurut. Dari pohon tersebut,didapat urutan yang berisi ABCDEFGHIJKLMNOPQ dengan LRO dan akan diperoleh urutan QPONMLKJIHGFEDCBA. I G M C H K N B E J L P A D F O Q gambar Contoh pohon untuk TreeSort 26

27 27

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

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

Lebih terperinci

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

DATA SORTING. Altien Jonathan Rindengan, S.Si, M.Kom

DATA SORTING. Altien Jonathan Rindengan, S.Si, M.Kom DATA SORTING Altien Jonathan Rindengan, S.Si, M.Kom Pendahuluan Sorting (pengurutan) : proses mengatur sekumpulan objek menurut urutan atau susunan tertentu Diberikan array L dengan n elemen yg sudah terdefinisi

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

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

Pengurutan (Sorting) Algoritma Pemrograman

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

Lebih terperinci

PENGURUTAN (SORTING) 1. Introduction 2. Bubble Sort 3. Selection Sort 4. Insertion Sort

PENGURUTAN (SORTING) 1. Introduction 2. Bubble Sort 3. Selection Sort 4. Insertion Sort PENGURUTAN (SORTING) 1. Introduction 2. Bubble Sort 3. Selection Sort 4. Insertion Sort INTRODUCTION Pengurutan merupakan proses mengatur sekumpulan obyek menurut aturan atau susunan tertentu. Urutan obyek

Lebih terperinci

BAB V SORTING (PENGURUTAN) INTERNAL

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

Lebih terperinci

SORTING. Struktur Data S1 Sistem Informasi. Ld.Farida

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

Lebih terperinci

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

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

Sorting adalah proses mengatur sekumpulan objek menurut aturan atau susunan tertentu. Urutan objek tersebut dapat menaik (ascending = dari data kecil

Sorting adalah proses mengatur sekumpulan objek menurut aturan atau susunan tertentu. Urutan objek tersebut dapat menaik (ascending = dari data kecil Sorting adalah proses mengatur sekumpulan objek menurut aturan atau susunan tertentu. Urutan objek tersebut dapat menaik (ascending = dari data kecil ke data lebih besar) atau menurun (descending = dari

Lebih terperinci

Algoritma dan Pemrograman 2 PENGURUTAN

Algoritma dan Pemrograman 2 PENGURUTAN Algoritma dan Pemrograman 2 PENGURUTAN Pengurutan : proses mengatur sekumpulan obyek meurut urutan atau susunan tertentu. Urutan menaik(ascending) : L[0] L[1] L[2] L[n] Urutan menurun(descending) : L[0]

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

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

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

Lebih terperinci

BAB VI SEARCHING (PENCARIAN)

BAB VI SEARCHING (PENCARIAN) BAB VI SEARCHING (PENCARIAN) 7. 1 Pencarian Beruntun (Sequential Search) Prinsip kerja pencarian beruntun adalah membandingkan setiap elemen larik satu per satu secara beruntun, mulai dari elemen pertama

Lebih terperinci

SORTING (PENGURUTAN DATA)

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

Lebih terperinci

Alpro & Strukdat 1 C++ (Sorting) Dwiny Meidelfi, M.Cs

Alpro & Strukdat 1 C++ (Sorting) Dwiny Meidelfi, M.Cs Alpro & Strukdat 1 C++ (Sorting) Dwiny Meidelfi, M.Cs void tukar(int a, int b) { int t; t = data[b]; data[b] = data[a]; data[a] = t; void selection_sort() { int pos,i,j; for(i=1;i

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

PERTEMUAN 10 METODE DEVIDE AND CONQUER

PERTEMUAN 10 METODE DEVIDE AND CONQUER PERTEMUAN METODE DEVIDE AND CONQUER PERTEMUAN METODE DEVIDE AND CONQUER Bentuk Umum Proses Metode D And C dpt dilihat sbb : n input n input I n input II Subproblem I Subprob. II Subprob. III Subsolusi

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

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

PERTEMUAN 10 METODE DEVIDE AND CONQUER

PERTEMUAN 10 METODE DEVIDE AND CONQUER PERTEMUAN 10 METODE DEVIDE AND CONQUER Bentuk Umum Proses Metode D And C dpt dilihat sbb : n input n input I n input II n input III n input K Subproblem I Subprob. II Subprob. III Subprob. K Subsolusi

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

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

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

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

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

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

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

Lebih terperinci

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

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

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

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

Lebih terperinci

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

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

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

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

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

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

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

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

Konsep Sorting dalam Pemrograman Saniman dan Muhammad Fathoni

Konsep Sorting dalam Pemrograman Saniman dan Muhammad Fathoni Konsep Sorting dalam Pemrograman Saniman dan Muhammad Fathoni Abstrak Sort adalah proses pengurutan data yang sebelumnya disusun secara acak sehingga menjadi tersusun secara teratur menurut suatu aturan

Lebih terperinci

Politeknik Elektronika Negeri Surabaya

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

Lebih terperinci

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

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

Lebih terperinci

BAB 8 SORTING DAN SEARCHING

BAB 8 SORTING DAN SEARCHING 53 BAB 8 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

Materi 4: SORTING (PENGURUTAN) Dosen:

Materi 4: SORTING (PENGURUTAN) Dosen: JURNAL PRAKTIKUM (LAB. ACTIVITY) STRUKTUR DATA SI025 Materi 4: SORTING (PENGURUTAN) Dosen: Acihmah, M.Kom Agung Nugroho, M.Kom Ikmah, M.Kom Lilis Dwi Farida, S.Kom,M.Eng Ninik Tri. H, M.Kom Prof. Dr. Ema

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

KOMPLEKSITAS ALGORITMA PENGURUTAN (SORTING ALGORITHM)

KOMPLEKSITAS ALGORITMA PENGURUTAN (SORTING ALGORITHM) KOMPLEKSITAS ALGORITMA PENGURUTAN (SORTING ALGORITHM) Andi Kurniawan Dwi Putranto / 3508028 Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika Institut Teknologi Bandung Jln. Ganesha

Lebih terperinci

Pengurutan (Sorting)

Pengurutan (Sorting) Pengurutan (Sorting) Overview Seringkali perancang program perlu mengurutkan sekumpulan data yang dimiliki untuk memudahkan pemrosesan selanjutnya terhadap data tersebut. Pengurutan adalah sebuah algoritma

Lebih terperinci

SORTING. Brigida Arie Minartiningtyas, M.Kom

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

Lebih terperinci

Teknik Pengurutan Kartu Remi

Teknik Pengurutan Kartu Remi Teknik Pengurutan Kartu Remi Aloysius Adrian 1) 1) Sekolah Teknik Elektro Informatika, Program Studi Teknik Informatika Institut Teknologi Bandung, Jalan Ganesha 10, Bandung, Email: aloy@students.itb.ac.id

Lebih terperinci

Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir

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

Lebih terperinci

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

: Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Sorting. Quick Sort

: Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Sorting. Quick Sort Pertemuan 12 Waktu Tujuan Pembelajaran : 135 menit : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Sorting. Substansi Materi : Quick Sort Tabulasi Kegiatan Perkuliahan No Tahap Kegiatan Kegiatan

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

SEARCHING & SORTING. Pendahuluan

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

Lebih terperinci

Array (Tabel) bagian 2

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

Lebih terperinci

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

Lebih terperinci

Powered by icomit.wordpress.com

Powered by icomit.wordpress.com ALGORITMA SELECTION SORT 1. Konsep Dasar Selection sort adalah salah satu algoritma yang digunakan untuk memecahkan masalah pengurutan(sorting) data pada suatu larik(array). Ide dasar algoritma ini adalah

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

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

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

Lebih terperinci

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

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

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

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

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

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

Lebih terperinci

BAB VII ALGORITMA DIVIDE AND CONQUER

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

Lebih terperinci

METODE DEVIDE AND CONQUER (DANDC)

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

Lebih terperinci

BAB XII MENCARI DATA MAKSIMUM DAN MINIMUM

BAB XII MENCARI DATA MAKSIMUM DAN MINIMUM 1 BAB XII MENCARI DATA MAKSIMUM DAN MINIMUM 12.1. Mencari Data Maksimum Untuk menjelaskan proses pencarian data terbesar atau data maksimum dari sekelompok data, di bawah ini akan diberikan contohnya terlebih

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

Algoritma Brute Force

Algoritma Brute Force Algoritma Brute Force Definisi Brute Force Brute force adalah sebuah pendekatan yang lempang (straightforward( straightforward) ) untuk memecahkan suatu masalah, biasanya didasarkan pada pernyataan masalah

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

S O R T I R 6.1 SORTIR TERHADAP RECORD

S O R T I R 6.1 SORTIR TERHADAP RECORD S O R T I R 6.1 SORTIR TERHADAP RECORD Sebelum berbicara tentang sortir secara umum, kita ulang secara singkat pembicaraan tentang file dan record, yang telah kita bicarakan pada Bab 2 yang lalu. File

Lebih terperinci

oleh : Edhy Suta tanta

oleh : Edhy Suta tanta ALGORITMA TEKNIK PENYELESAIAN PERMASALAHAN UNTUK KOMPUTASI oleh : Edhy Sutanta i KATA PENGANTAR Puji syukur kami panjatkan ke hadirat Tuhan Yang Maha Esa atas limpahan rahmat dan karunia-nya sehingga buku

Lebih terperinci

CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan CCH1A4 / Dasar Algoritma & Pemrogramanan Yuliant Sibaroni M.T, Abdurahman Baizal M.Kom KK Modeling and Computational Experiment Pengurutan Tabel Overview Bubble Sort Insertion Sort Overview Dalam bab ini

Lebih terperinci

Algoritma dan Pemrograman 2 PENGURUTAN

Algoritma dan Pemrograman 2 PENGURUTAN Algoritma dan Pemrograman 2 PENGURUTAN III. METODE PENGURUTAN SISIPAN (INSERTION SORT) Metode ini melakukan pengurutan dengan cara menyisipkan elemen array pada posisi yang tepat. Pencarian posisi yang

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

Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort

Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort Setia Negara B. Tjaru (13508054) Program Studi Teknik Informatika ITB Bandung e-mail: if18054@students.if.itb.ac.id ABSTRAK Makalah ini

Lebih terperinci

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

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

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

PENGURUTAN (SORTING) 1. Overview

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

Lebih terperinci

Modul 8 SORTING (PENGURUTAN)

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

Lebih terperinci

SEARCHING (PENCARIAN)

SEARCHING (PENCARIAN) SEARCHING (PENCARIAN) PENDAHULUAN Pada bab ini akan membahas beberapa metoda pencarian data (searching) untuk menemukan suatu informasi dari sejumlah data yang ada. Pada dasarnya cara mengorganisir data

Lebih terperinci

Bubble Sort (Pengurutan Gelembung / Pemberatan)

Bubble Sort (Pengurutan Gelembung / Pemberatan) Pertemuan XIII, XIV - PENGURUTN Pengertian lgoritma Pengurutan dibuat untuk menghasilkan kumpulan data yang terurut. Jenis da banyak jenis pengurutan. Tiga jenis yang paling sederhana adalah Bubble Sort,

Lebih terperinci

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

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

Lebih terperinci

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

Algoritma Sorting (Selection Insertion)

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

Lebih terperinci

Analisis Algoritma. Jimmy Tirtawangsa. Universitas Telkom 2014

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

Lebih terperinci

Data Structure SORTING. Chapter 11. Dahlia Widhyaestoeti, S.Kom

Data Structure SORTING. Chapter 11. Dahlia Widhyaestoeti, S.Kom Data Structure Chapter SORTING Dahlia Widhyaestoeti, S.Kom Agenda Hari Ini Heap Sort Radix Sort Merge Sort Quick Sort Heap Sort Sort yang memanfaatkan Pohon Heap. Pohon Heap adalah pohon biner complete

Lebih terperinci

Praktikum 9. Pengurutan (Sorting) Quick Sort, Merge Sort

Praktikum 9. Pengurutan (Sorting) Quick Sort, Merge Sort Praktikum 9 Pengurutan (Sorting) Quick Sort, Merge Sort POKOK BAHASAN: Konsep pengurutan dengan quick sort dan merge sort Struktur data proses pengurutan Implementasi algoritma pengurutan quick sort dan

Lebih terperinci

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

Algoritma dan Pemrograman Array/Tabel[3] Oleh: Eddy Prasetyo N Algoritma dan Pemrograman Array/Tabel[3] Oleh: Eddy Prasetyo N Topik Bahasan Pengurutan Bubble Sort Selection Sort Insertion Sort Bubble Sort Merupakan salah satu bentuk pengurutan yang menerapkan pertukaran

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

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

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

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

Lebih terperinci

Operasi File. Chapter 13

Operasi File. Chapter 13 Operasi File Chapter 13 1 Penyimpanan Data ke File Data memungkinkan untuk disimpan di file. Data akan tersimpan secara permanen, dan data bisa dibaca pada kesempatan yang lain. Pemanggilan Prosedur Redirect_Output(Nama_File)

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

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF ARRAY STATIS (lanjutan) OPERASI ARRAY STATIS (lanjutan) 3. Pencarian (searching) array Proses menemukan suatu data yang terdapat dalam suatu array. Proses

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

BAB III QUEUE (ANTRIAN)

BAB III QUEUE (ANTRIAN) BAB III QUEUE (ANTRIAN) 3.1 Pengertian Antrian Antrian (Queue) merupakan kumpulan data yang mana penambahan elemen hanya bias dilakukan pada suatu ujung yaitu rear /tail / belakang, dan pengha[usan dilakukan

Lebih terperinci