MODUL IV PENCARIAN DAN PENGURUTAN

Ukuran: px
Mulai penontonan dengan halaman:

Download "MODUL IV PENCARIAN DAN PENGURUTAN"

Transkripsi

1 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 pengurutan berdasarkan metode algoritma pengurutan Praktikan dapat membiasakan diri untuk membuat program secara terstruktur. Praktikan memahami algoritma beberapa metode pencarian dan pengurutan 4.2 Teori Pencarian Proses pencarian (searching) adalah menemukan nilai (data) tertentu di dalam sekumpulan data yang bertipe sama (baik bertipe dasar atau bertipe bentukan) Metode Pencarian Beruntun (Sequential Search) Metode pencarian beruntun adalah proses membandingkan setiap elemen larik satu persatu secara beruntun, mulai dari elemen pertama, sampai elemen yang dicari ditemukan atau seluruh elemen sudah diperiksa. Perhatikan larik di bawah ini : Misalkan nilai yang dicari : x = 57 Elemen yang dibandingkan : 23, 45, 23, 57 (ditemukan) Indeks larik yang dikembalikan : IDX = 4 IV-1

2 IV-2 Misalkan nilai yang dicari : x = 67 Elemen yang dibandingkan : 23, 45, 23, 57, 12 (tidak ditemukan) Indeks larik yang dikembalikan : IDX = -1 Terdapat 2 bersi algoritma pencarian beruntun, yaitu: 1. Pembandingan Elemen Dilakukan di Awal Pengulangan a. Hasil pencarian: sebuah peubah Boolean yang menyatakan x ditemukan (true) atau tidak ditemukan (false) Contoh Algoritma 1: Procedure SeqSearch(input L : Larikint, input N : integer, input X : integer, output Ketemu : integer) {mencari keberadaan nilai X di dalam larik l[1..n].} {k.awal: X dan larik l[1..n] sudah terdefinisi nilainya} {k.akhir: ketemu bernilai true, jika X ditemukan. Jika x tidak ditemukan, ketemu bernilai false} K : integer {indeks larik} K 1 While (K < N) and L[K] X) do K K + 1 {K = N or L[K] = X} If L[K] = X then {X ditemukan} Ketemu true Ketemu false Algoritma Pencarian {program untuk mencari nilai tertentu dengan sequential search} Const NMaks = 100 {jumlah maksimum elemen larik} Type Larikint : array[1..nmaks] of integer L : Larikint X : integer Found : Boolean {elemen yang dicari} {true jika X ditemukan, false jika X tidak} Procedure Bacalarik(output L : Larikint, input N : integer) {mengisi elemen larik L[1..N] dengan nilai yang dibaca dari piranti

3 IV-3 masukan} Procedure SeqSearch(input L : Larikint, input N : integer, input X : integer, output Ketemu : integer) {mencari keberadaan nilai X di dalam larik L[1..N].} Read(N) Bacalarik(L,N) Read(X) SeqSearch(L, N, X, Found) If Found then Write(X, ditemukan ) Write(X, tidak ditemukan ) b. Hasil pencarian: indeks elemen larik yang berisi Nilai x. Contoh Algoritma 2: Procedure SeqSearch(input L: Larik, input N : integer, input X : integer, output Idx : integer) {mencari keberadaan nilai X di dalam larik L[1..N]} {k.awal : nilai X dan elemen larik L[1..N] sudah terdefinisi} {k.akhir : idx berisi larik L yang berisi nilai X. jika X tidak ditemukan, maka idx diisi dengan nilai -1} K : integer {indeks larik} K 1 While (K<N) and (L[K] X) do K K + 1 {K = N or L[K] = X} if L[K] = X then idx K else idx -1 endif {X ditemukan}

4 IV-4 2. Aksi Pembandingan dilakukan di dalam badan pengulangan (dengan fungsi). a. Hasil pencarian: sebuah peubah Boolean yang menyatakan x ditemukan (true) atau tidak ditemukan (false) Contoh Algoritma 3: Function SeqSearch(input L : Larikint, input N : integer, input X : integer) boolean {mengembalikan true jika X terdapat di dalam larik L, atau false jika X tidak ditemukan} X : integer {indeks untuk pencarian} K 1 Ketemu false While (K N) and (not Ketemu) do If L[K] = X then Ketemu true K K+1 {K > N or Ketemu} return ketemu b. Hasil pencarian: indeks elemen larik yang berisi bilai x. Contoh Algoritma 4: Function SeqSearch(input L : Larikint, input N : integer, input X : integer) integer {mengembalikan indeks elemen larik L yang elemennya sama dengan X. jika X tidak terdapat di dalam larik L, nilai -1 dikembalikan} K : integer Ketemu : Boolean {indeks untuk pencarian} {true bila X ditemukan, false bila tidak} K 1 Ketemu false While (K N) and (not ketemu) do If L[K] = X then

5 IV-5 Ketemu true K K + 1 {K > N or Ketemu} {simpulkan hasil pencarian} if (L[K] = X) then {X ditemukan} return K {indeks elemen L yang berisi X} else return -1 {X tidak ditemukan, indeks = -1} endif Secara umum metode pencarian beruntun berjalan lambat. Waktu pencarian sebanding dengan jumlah elemen larik. Misalkan larik berukuran n elemen, maka pada kasus di mana x tidak terdapat di dalam larik atau x ditemukan pada elemen yang terakhir. Kita harus melakukan perbandingan dengan seluruh elemen larik, yang berarti jumlah perbandingan yang terjadi sebanyak n kali Metode Pencarian Beruntun Pada Larik Terurut Larik yang elemennya sudah terurut dapat meningkatkan kinerja algoritma pencarian beruntun. Jika pada larik tidak terurut jumlah perbandingan elemen larik maksimum n kali, maka pada larik terurut (dengan asumsi distribusi elemenelemen larik adalah seragam) hanya dibutuhkan rata-rata n/2 kali perbandingan. Hal ini karena pada larik yang terurut kita dapat segera menyimpulkan bahwa x tidak terdapat di dalam larik bila ditemukan, elemen larik yang lebih besar dari x. Secara singkat, kita akan melakukan proses yang serupa dengan pencarian berurutan. Kita mulai dengan pembandingan dengan elemen yang pertama. Jika kita menganggap larik terurut naik (ascending), maka pencarian akan diteruskan sepanjang data yang dicari masih lebih kecil dari nilai elemen pada larik. Jika elemen larik sudah lebih besar, maka pencarian dihentikan karena pasti data yang dicari tidak akan pernah ditemukan pada larik.

6 IV-6 Contoh Algoritma 5: Procedure SeqSearch(input L : Larikint, input N : integer, input X : integer, output IDX : integer) {mencari keberadaan nilai X di dalam larik[1..n] yang elemen-elemen sudah terurut menaik} {k.awal : nilai X dan elemen larik L[1..N] sudah terdefinisi elemen-elemen larik L sudah terurut menaik} {k.akhir : IDX berisi indeks larik L yang berisi nilai X. jika X tidak ditemukan, maka IDX diisi dengan nilai -1} K : integer {indeks larik} K 1 While (K < N) and (L[K] < X) do K 1 (K = N or L[K] X) If L[K] = X then {X ditemukan} IDX K IDX -1 Penelitian para ahli menunjukkan bahwa metode ini berjalan dengan sangat efektif dan efisien dibandingkan pencarian berurutan yang tidak terurut, jikaq data yang dicari berada (relatif) pada bagian awal larik. Tetapi, karena kondisi berhenti yang kita tentukan, metode ini kurang lebih berkinerja sama dengan pencarian berurutan jika data yang dicari terletak di bagian akhir larik Pencarian Bagidua (Binary Search) Terdapat metode pencarian pada data terurut yang paling efficient, yaitu metode pencarian bagidua atau pencarian biner (binary search). Metode ini digunakan untuk kebutuhan pencarian dengan waktu yang cepat. Prinsip pencarian dengan membagi data atas dua bagian mengilhami metode ini. Data yang disimpan di dalam larik harus sudah terurut. Cara kerja metode pencarian biner dapat dijelaskan sebagai berikut: dimisalkan kita memiliki larik terurut seperti di bawah ini:

7 IV Misalkan, kita ingin mencari posisi dari nilai 56. Pertama kali, larik di atas dapat kita bagi menjadi 2 sublarik sebagai berikut: Sublarik 1 Sublarik 2 Kemudian, data (56) dibandingkan dengan elemen terakhir pada sublarik 1 (yang bernilai 11). Jika data tersebut (56) lebih kecil dari elemen terakhir pada sublarik1 (11) maka data akan dicari di subvektor 1. Jika tidak, berarti data akan dicari di sublarik 2 dan sublarik 1 tidak perlu dihiraukan lagi. Proses di atas diulangi lagi. Sublarik 2 dibagi 2 lagi sehingga menghasilkan sublarik dibawah ini: Sublarik 2.1 Sublarik 2.2 Kita bandingkan lagi data (56) dengan elemen terakhir sublarik 2.1 (34). Ternyata data (56) lebih besar dari (34), maka pasti data yang dicari ada di sublarik 2.2. terakhir, sublarik 2.2 dipecah lagi. Hasilnya adalah sebagai berikut: Sublarik Sublarik Demikian dengan 4 iterasi kita sudah menemukan data yang kita cari. Contoh Algoritma 6: Procedure BinarySearch(input L : Larikint, input N : integer, input X : integer, output Idx : integer) {mencari X di dalam larik L[1..N] yang sudah terurut menaik dengan metode pencarian bagidua, keluaran prosedur ini adalah indeks elemen larik yang berisi X. idx diisi 0 jika X tidak ditemukan.} {k.awal: larik L[1..N] sudah berisi data yang sudah terurut menaik, dan X adalah nilai yang akan dicari} {k.akhir: idx berisi indeks larik tempat X ditemukan, idx=0 jika X tidak ditemukan} I, J : integer {indeks kiri dan indeks kanan} K : integer {indeks elemen tengah} Ketemu : Boolean {flag untuk menentukan apakah X ditemukan} I 1 J N Ketemu false

8 IV-8 While (not Ketemu) and (I J) do K (I + J) div 2 {bagidua larik L pada posisi X} If L[K] = X then Ketemu true If (L[K] < X) then {lakukan pencarian pada larik bagian kanan, set indeks ujung kiri larik yang baru} I K + 1 I J - 1 {lakukan pencarian pada larik bagian kiri, set indeks ujung kanan larik yang baru} 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 atau data disimpan di 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 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. Adanya kebutuhan terhadap proses pengurutan memunculkan bermacammacam metode pengurutan. Metode tersebut diantaranya adalah: 1) Metode Pengurutan Gelembung (Bubble Sort), 2) Metode Pengurutan Pilih (Selection Sort), 3) Metode Pengurutan Sisip (Insertion Sort), 4) Metode Pengurutan Shell (Shell Sort), 5) Heap Sort, 6) Quick Sort, 7) Merge Sort, 8) Radix Sort dan 9) Tree Sort. Pada modul ini, tidak semua metode pengurutan akan dibahas. Tidak ada metode yang terbaik untuk pengurutan. Kebanyakan metode pengurutan sederhana hanya bagus untuk volume data yang kecil tetapi lambat untuk ukuran data yang besar. Metode pengurutan yang lebih cepat pun (seperti

9 IV-9 quick sort dan merge sort) memang bagus untuk mengurutkan data yang banyak, tetapi tidak bagus untuk ukuran data yang sedikit karena memerlukan beban tambahan (overhead) yang boros waktu dan memori. Metode pengurutan dapat diklasifikasikan sebagai berikut: a. Metode pengurutan internal, yaitu metode pengurutan untuk data yang disimpan di dalam memori computer. Umumnya struktur internal yang dipakai untuk pengurutan internal adalah larik, sehingga pengurutan internal disebut juga pengurutan larik. b. Metode pengurutan eksternal, yaitu metode pengurutan untuk data yang disimpan di dalam disk storage, disebut juga pengurutan arsip (file), karena struktur eksternal yang dipakai adalah arsip Metode Pengurutan Gelembung (Bubble Sort) Metode ini memiliki prinsip pengapungan. Apabila kita menginginkan larik terurut menaik, maka elemen larik yang berharga paling kecil diapungkan, artinya diangkat ke atas (atau ke ujung kiri larik) melalui proses pertukaran. Proses pengapungan ini dilakukan sebanyak N-1 langkah dengan N adalah ukuran larik. Pada akhir setiap langkah ke-i, larik L[1..N] akan terdiri atas dua bagian yaitu bagian yang sudah terurut, yaitu L[1..I] dan bagian yang belum terurut L[I+1..N]. Setelah langkah terakhir, diperoleh larik L[1..N] yang terurut menaik. Dimisalkan larik L dengan N=10 sebagai berikut : maka langkah-langkah pengurutannya adalah: Semula Iterasi Iterasi Iterasi Iterasi Iterasi terurut

10 IV-10 Contoh Algoritma 1: Procedure BubbleSort(input/output L : Larikint, input N : integer) {mengurutkan larik L[1..N] sehingga terurut menaik dengan metode pengurutan gelembung} {k.awal : elemen larik L sudah terdefinisi nilai-nilainya} {k.akhir : elemen larik L terurut menaik sedemikian sehingga L[1] L[2].. L[N]} I : integer K : integer {pencacah untuk jumlah langkah} {pencacah untuk pengapungan pada setiap langkah} Procedure Tukar(input/output A : integer, input/output B : integer) {mempertukarkan nilai A dan B} For I 1 to N 1 do For K N downto I + 1 do If L[K] < L[K-1] then {pertukarkan L[K] dengan L[K-1]} tukar(l[k], L[K-1]) endif endfor endfor Bagaimana dengan algoritma pilih maksimum terurut menurun? Pengurutan gelembung merupakan metode pengurutan yang tidak efisien. Hal ini disebabkan oleh banyaknya operasi pertukaran yang dilakukan pada setiap langkah pengapungan. Untuk nukuran larik yang besar, pengurutan dengan metode ini membutuhkan waktu yang lama. Karena alasan itu, maka metode ini jarang digunakan dalam praktek. Namun, kelebihan metode ini adalah pada kesederhanaannya dan mudah dipahami Metode Pengurutan Pilih (Selection Sort) Metode ini memilih elemen maksimum/minimum dari larik, lalu menempatkan elemen itu pada awal atau akhir larik (elemen terujung). Selanjutnya elemen terujung tersebut diisolasi dan tidak disertakan pada proses selanjutnya. Proses yang sama diulang untuk elemen larik yang tersisa, yaitu

11 IV-11 memilih elemen maksimum/minimum berikutnya dan mempertukarkannya dengan elemen terujung larik sisa. Dua varian algoritma pengurutan pilih ditinjau dari pemilihan elemen maksimum/minimum, yaitu: a. Pengurutan Pilih Maksimum Misalkan larik L dengan N=6 sebagai berikut: maka langkah-langkah pengurutannya adalah: Semula Iterasi Iterasi Iterasi Iterasi Iterasi terurut Contoh Algoritma 2: Procedure SelectionSort(input/output L : Larikint, input N : integer) {mengurutkan elemen larik L[1..N] sehingga tersusun menaik dengan metode pengurutan maksimum} {k.awal : elemen larik L sudah terdefinisi harganya} {k.akhir : elemen larik L terurut menaik sedemikian sehingga L[1] L[2]... L[N]} I : integer J : integer Imaks : integer {pencacah untuk mencari nilai maksimum} {indeks yang berisi nilai maksimum sementara} Procedure tukar(input/output A : integer, input/output : B : integer) {mempertukarkan nilai A dan B} For I N downto 2 do {jumlah pengulangan sebanyak N-1} {cari elemen maksimum pada elemen L[1..I]} Imaks I {elemen pertama diasumsikan sebagai elemen maksimum sementara} For J 2 to I do If L[J] > L[Imaks] then Imaks J

12 IV-12 Endfor {pertukarkan L[Imaks] dengan L[I]} Tukar(L[Imaks], L[I]) Endfor Bagaimana dengan algoritma pilih maksimum terurut menurun? b. Pengurutan Pilih Minimum Pada algoritma pengurutan pilih minimum, basis pencarian adalah elemen minimum (terkecil). Elemen minimum ditempatkan di awal larik (agar larik terurut menaik) atau ditempatkan di akhir larik (agar larik terurut menurun). Misalkan larik L dengan N=6 sebagai berikut: maka langkah-langkah pengurutannya adalah: Semula Iterasi Iterasi Iterasi Iterasi Iterasi terurut Contoh Algoritma 3: Procedure SelectionSort(input/output L : larikint, input N : integer) {mengurutkan elemen larik L[1..N] sehingga tersusun menaik dengan metode pengurutan pilih minimum} {k.awal : elemen larik L sudah terdefinisi harganya} {k.akhir : elemen larik L terurut menaik sedemikian sehingga L[1] L[2]... L[N]} I : integer J : integer Imin : integer {pencacah untuk mencari nilai maksimum} {indeks yang berisi nilai maksimum sementara} Procedure Tukar(input/output A : integer, input/output : B : integer) {mempertukarkan nilai A dan B} For I 1 to N-1 do

13 IV-13 {cari indeks dari elemen minimum di dalam larik L[I..N]} Imin I For J I+1 to N do If L[J] > L[Imin] then Imin J Endfor {pertukarkan L[Imin] dengan L[I]} Tukar(L[Imin], L[I]) Endfor Bagaimana dengan algoritma pilih maksimum terurut menurun? Dibandingkan dengan metode pengurutan gelembung, metode pengurutan pilih memiliki kinerja yang lebih baik. Alasannya, operasi pertukaran elemen hanya dilakukan sekali saja dengan demikian lama pengurutannya berkurang Metode Pengurutan Sisip (Insertion Sort) Algoritma pengurutan sisip untuk memperoleh elemen larik yang terurut menaik adalah sebagai berikut Misalkan larik L dengan N=6 sebagai berikut: maka langkah-langkah pengurutannya adalah: Semula Iterasi Iterasi Iterasi Iterasi Iterasi Iterasi terurut Contoh Algoritma 4: Procedure InsertionSort(input/output L : Larikint, input N : integer) {mengurutkan elemen larik L[1..N] sehingga tersusun menaik dengan metode pengurutan sisip} {k.awal : elemen-elemen larik L sudah terdefinisi nilainya} {k.akhir : elemen larik L terurut menaik sedemikian sehingga L[1] L[2]... L[N]}

14 IV-14 I : integer J : integer Y : integer Ketemu : boolean {pencacah untuk mencari nilai maksimum} {peubah boolean untuk menyatakan posisi penyisipan ditemukan} {elemen L[1] dianggap sudah terurut} For I 2 to N do {mulai dari langkah 2 sampai langkah N} {sisipkan L[I] ke dalam bagian yang sudah terurut} Y L[I] {cari posisi yang tepat untuk Y di dalam L[1..I-1] sambil menggeser} J I 1 Ketemu false While (J 1) and (not Ketemu) do If Y < L[J] then L[J+1] L[J] J J 1 Ketemu true {J < 1 or Ketemu} L[J+1] Y {sisipkan Y pada tempat yang sesuai} Endfor Bagaimana algoritma pengurutan sisip untuk pengurutan menurun?? Kelemahan metode pengurutan sisip terletak pada banyaknya operasi pergeseran yang diperlukan dalam mencari posisi yang tepat untuk elemen larik. Untuk larik dengan N yang besar, jumlah operasi pergeseran meningkat secara kuadratik, sehingga pengurutan sisip kurang bagus untuk volume data yang besar Metode Pengurutan Shell (Shell Sort) Metode shell sort pertama kali diperkenalkan oleh Donald L. Shell tahun Metode ini didasarkan pada penukaran sepasang elemen untuk mencapai keadaan urut. Dalam hal ini jarak elemen yang akan dibandingkan (kemudian ditukarkan) ditentukan (biasanya jarak ini ditentukan dengan cacah data = n dibagi 2). Pada langkah pertama, elemen-elemen yang terpisahkan oleh jarak itu dibandingkan dan jika perlu ditukarkan. Kemudian jarak dibagi 2 sehingga

15 IV-15 bernilai setengah jarak yang semula. Kemudian, pembandingan dan penukaran itu dilanjutkan dengan jarak yang baru. Demikian selanjutnya hingga jarak sama dengan 1. Untuk memperjelas metode pengurutan shell adalah sebagai berikut: Data sebelum diurutkan: Semula Jarak = Jarak= Jarak= Contoh Algoritma 5 Procedure ShellSort(input/output A : Larikint, input N : integer) {mengurutkan elemen larik L[1..N] sehingga tersusun menaik dengan metode pengurutan shell} {k.awal: elemen-elemen larik L sudah terdefinisi nilainya} {k.akhir: elemen-elemen larik L terurut menaik}

16 IV-16 I : integer J : integer Jarak : integer Jarak N div 2 While jarak > 0 do For I 1 to N Jarak do J I+Jarak If A[I] > A[J] then Tukar(A[I], A[J]) Jarak Jarak div 2 Endfor Metode Merge Sort Pada metode ini diterapkan pada dua buah larik yang digabungkan kemudian kita ingin mengurutkannya. Larik masukan yang mempunyai N elemen dianggap N buah larik yang masing-masing tersusun oleh 1 elemen. Untuk setiap larik, kita lakukan penggabungan (merging) dengan larik di sebelahnya dengan meletakan elemen yang lebih kecil di sebelah kiri kemudian penggabungan diteruskan hingga mendapatkan kembali 1 larik yang utuh. Ilustrasi merge sort adalah sebagai berikut: Semula Semula Semula Semula Semula

17 IV-17 Contoh Algoritma 6: Procedure Merge(input/output A, B : Larik, Output Awal,Tengah,Akhir : integer) I, J, K, T : integer I Awal K Awal J Tengah + 1 Do If A[I] < A[J] then {elemen sebelah kiri lebih kecil} B[K] A[I] I I + 1 B[K] A[J] {elemen sebelah kanan lebih besar} J J + 1 K K + 1 While ((I Tengah) or (J Akhir)) {memasukkan sisa elemen saat 2 larik tidak sama panjang} if I > Tengah then {larik kiri lebih dulu habis} for T J to Akhir B[K+T-J] A[T] Endfor {elemen kanan habis lebih dulu} For T I to Tengah B[K+T-I] A[T] Endfor Procedure Iterasi(input/output A, B : Larik, Input N, Cacah : integer) I, T : integer I 1 While I < (N 2*Cacah + 1) do Merge(A, B, I, I+Cacah-1, N) I I + 2*Cacah If (I+Cacah-1) < N then {penggabungan ke sublarik} Merge(A, B, I, I+Cacah-1, N) For T I to N do B[T] A[T]

18 IV-18 Endfor Algoritma Mergesort {mengurutkan elemen larik sehingga tersusun menaik dengan metode pengurutan merge} {k.awal: elemen-elemen larik yang sudah terdefinisi nilainya} {k.akhir: elemen-elemen larik terurut menaik} Cacah : integer B : Larik Cacah 1 While Cacah < N do Iterasi(A, B, N, Cacah) Cacah Cacah * 2 Iterasi(B, A, N, Cacah) Cacah Cacah * Kasus Kasus 1 Buatlah algoritma larik terstruktur data mahasiswa yang terdiri dari Nim, Nama mahasiswa, Jenis Kelamin dan Kelas. Kemudian buatlah algoritma pencarian larik terstruktur tersebut dengan menggunakan 2 metode pencarian diatas. Buatlah programnya dan bandingkan iterasi dari kedua program tersebut! Kasus 2 Buatlah algoritma dan program untuk mengurutkan data dengan menggunakan salah satu metode pengurutan. Ada empat data yang harus diurutkan: Nomor Induk, bertipe bilangan bulat Nama, bertipe string Alamat, bertipe string Golongan, bertipe char (dapat bernilai A, B...) Prosedur pengurutan menerima satu parameter yaitu bilangan bulat yang dapat bernilai 1,2 dan 3. Apabila bernilai 1, maka data diurutkan berdasarkan nomor

19 IV-19 induk. Apabila bernilai 2, maka data diurutkan berdasarkan nama. Yang terakhir, apabila bernilai 3, maka data diurutkan menurut golongan. 4.4 Tugas Tugas Pendahuluan Tugas pendahuluan akan dikerjakan selama 30 menit di awal jam praktikum dengan menggunakan software Self Assessment 4.5 Latihan Praktikum VIII dan IX Latihan Praktikum VIII (Pertemuan Kedelapan) Buatlah program berdasarkan contoh algoritma yang telah dibahas diatas Latihan Praktikum IX (Pertemuan Kesembilan) Buatlah program berdasarkan contoh algoritma yang telah dibahas diatas.

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

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

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

c. Hasil pencarian berupa nilai Boolean yang menyatakan status hasil pencarian. Versi 1 (Pembandingan elemen dilakukan sebagai kondisi pengulangan)

c. Hasil pencarian berupa nilai Boolean yang menyatakan status hasil pencarian. Versi 1 (Pembandingan elemen dilakukan sebagai kondisi pengulangan) ALGORITMA PENCARIAN MINGGU KE: 9 TUJUAN: Mahasiswa dapat memahami masalah pencarian. Mahasiswa dapat memahami algoritma pencarian beruntun. Mahasiswa dapat memahami algoritma pencarian beruntun Versi 1

Lebih terperinci

1 Pencarian. 1.1 Tinjauan Singkat Larik

1 Pencarian. 1.1 Tinjauan Singkat Larik 1 Pencarian P encarian (searching) merupakan proses yang fundamental dalam pengolahan data. Proses pencarian adalah menemukan nilai (data) tertentu di dalam sekumpulan data yang bertipe sama (baik bertipe

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

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

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

SORTING. Struktur Data S1 Sistem Informasi. Ld.Farida

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

Lebih terperinci

BAB 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

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

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

PENCARIAN BERUNTUN (SEQUENTIAL SEARCHING)

PENCARIAN BERUNTUN (SEQUENTIAL SEARCHING) PENCARIAN BERUNTUN (SEQUENTIAL SEARCHING) a. Introduction b. Tanpa Boolean c. Dengan Boolean d. Penggunaan dalam Fungsi INTRODUCTION Merupakan algoritma pencarian yang paling sederhana. Proses Membandingkan

Lebih terperinci

Searching [pencarian] Algoritma Pemrograman

Searching [pencarian] Algoritma Pemrograman Searching [pencarian] Algoritma Pemrograman mas.anto72@gmail.com 1 Jenis Pencarian Pencarian Internal proses pencarian dilakukan pada memori utama (RAM). Pencarian Eksternal proses pencarian dilakukan

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

PENGURUTAN DATA 2.1 Definisi Pengurutan 2.2 Metode-metode Pengurutan

PENGURUTAN DATA 2.1 Definisi Pengurutan 2.2 Metode-metode Pengurutan 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).

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

Algoritma dan Pemrograman 2 PENCARIAN

Algoritma dan Pemrograman 2 PENCARIAN Algoritma dan Pemrograman 2 PENCARIAN Pencarian (searching) merupakan proses yang fundamental dalam pengolahan data. Proses pencarian adalah menemukan nilai (data) tertentu didalam sekumpulan data yang

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

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

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

ALGORITMA PENCARIAN. c. Hasil pencarian berupa nilai Boolean yang menyatakan status hasil pencarian.

ALGORITMA PENCARIAN. c. Hasil pencarian berupa nilai Boolean yang menyatakan status hasil pencarian. ALGORITMA PENCARIAN MINGGU KE: 9 TUJUAN: Mahasiswa dapat memahami masalah pencarian. Mahasiswa dapat memahami algoritma pencarian beruntun. Mahasiswa dapat memahami algoritma pencarian beruntun Versi 1

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

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari ALGORITMA DAN PEMROGRAMAN 2 3 SKS By : Sri Rezeki Candra Nursari MATERI Teks/string Pointer File Struktur Kelas/Class Konstruktor dan Destruktor Kelas dan Obyek Overloading Operator Inheritance (Pewarisan)

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

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

Kompleksitas Algoritma

Kompleksitas Algoritma Kompleksitas Algoritma Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus. Kemangkusan algoritma diukur dari berapa jumlah

Lebih terperinci

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

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

Pencarian. 1. Memahami konsep pencarian 2. Mengenal beberapa algoritma pencarian 3. Menerapkan algoritma pencarian dalam program

Pencarian. 1. Memahami konsep pencarian 2. Mengenal beberapa algoritma pencarian 3. Menerapkan algoritma pencarian dalam program Pencarian Overview Pencarian merupakan sebuah algoritma dasar yang sering diperlukan dalam pembuatan program. Berbagai algoritma pencarian telah diciptakan dan dapat digunakan. Pemahaman tentang beberapa

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

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

Kompleksitas Algoritma

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

Lebih terperinci

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

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

AlgoritmaBrute Force. Desain dan Analisis Algoritma (CS3024)

AlgoritmaBrute Force. Desain dan Analisis Algoritma (CS3024) AlgoritmaBrute Force Desain dan Analisis Algoritma (CS3024) Definisi Brute Force Brute forceadalah sebuah pendekatan yang lempang (straightforward) untuk memecahkan suatu masalah, biasanya didasarkan pada

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

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

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

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

SEARCHING. Pusat Pengembangan Pendidikan Universitas Gadjah Mada 1

SEARCHING. Pusat Pengembangan Pendidikan Universitas Gadjah Mada 1 SEARCHING Pencarian data (searching) yang sering juga disebut dengan table look-up atau storage and retrieval information, adalah suatu proses untuk mengumpulkan sejumlah informasi di dalam pengingat komputer

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

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

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

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

Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus. Waktu komputasi (dalam detik) Kompleksitas Algoritma Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus. Kemangkusan algoritma

Lebih terperinci

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

PERBANDINGAN KOMPLEKSITAS ALGORITMA PENCARIAN BINER DAN ALGORITMA PENCARIAN BERUNTUN

PERBANDINGAN KOMPLEKSITAS ALGORITMA PENCARIAN BINER DAN ALGORITMA PENCARIAN BERUNTUN PERBANDINGAN KOMPLEKSITAS ALGORITMA PENCARIAN BINER DAN ALGORITMA PENCARIAN BERUNTUN Yudhistira NIM 13508105 Mahasiswa Program Studi Teknik Informatika ITB Jalan Ganesha No.10 Bandung e-mail: if18105@students.if.itb.ac.id

Lebih terperinci

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

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

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

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

Lebih terperinci

Algoritma Brute Force

Algoritma Brute Force Algoritma Brute Force Deskripsi Materi ini membahas tentang algoritma brute force dengan berbagai studi kasus Definisi Brute Force Straighforward (lempeng) Sederhana dan jelas Lebih mempertimbangkan solusi

Lebih terperinci

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

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

Lebih terperinci

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

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

Array. Teknik Informatika Politeknik Negeri Batam

Array. Teknik Informatika Politeknik Negeri Batam Array Teknik Informatika Politeknik Negeri Batam Pendahuluan Array Array A 1 158 2 157 3 162 4 169 5 172 6 155 7 170 8 163 Isi A[1] adalah 158 Isi A[2] adalah 157 Isi A[8] adalah 163 Struktur data statik

Lebih terperinci

Modul Ke-1 Pertemuan ke-1 Deskripsi: Pemrosesan Sekuensial Larik Nama File: P01-XXX (XXX adalah 3 digit terakhir NPM)

Modul Ke-1 Pertemuan ke-1 Deskripsi: Pemrosesan Sekuensial Larik Nama File: P01-XXX (XXX adalah 3 digit terakhir NPM) Modul Ke-1 Pertemuan ke-1 Pemrosesan Sekuensial Larik Nama File: P01-XXX (XXX adalah 3 digit terakhir NPM) Deklarasi: const NMAX = 10 type Larik = array[1..nmax] of integer procedure BacaLarik(output A:

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

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

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

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

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-10 (Larik) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Pendeklarasian Larik Mengisi Elemen Larik dari Piranti Masukan Menulis Elemen

Lebih terperinci

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

Pencarian pada Array. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang Pencarian pada Array Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang Latar Belakang Merupakan proses yang penting karena sering dilakukan terhadap sekumpulan data yang disimpan

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-2 (Teks Algoritma) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Judul Algoritma Deklarasi Deskripsi Translasi

Lebih terperinci

1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB

1. Inggriani Liem Catatan Kuliah Algoritma & Pemrograman, Jurusan Teknik Informatika ITB Pertemuan Ke 3 Referensi: 1. Inggriani Liem. 2003. Catatan Kuliah & Pemrograman, Jurusan Teknik Informatika ITB 2. Rinaldi Munir. 2003. dan Pemrograman II. Bandung : Penerbit Informatika I. Tabel/Larik/Array

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

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

STRATEGI DIVIDE AND CONQUER

STRATEGI DIVIDE AND CONQUER Pemrogram bertanggung jawab atas implementasi solusi. Pembuatan program akan menjadi lebih sederhana jika masalah dapat dipecah menjadi sub masalah - sub masalah yang dapat dikelola. Penyelesaian masalah

Lebih terperinci

Algoritma 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

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

Praktikum 7. Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI:

Praktikum 7. Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI: Praktikum 7 Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: Konsep pengurutan dengan insertion sort dan selection sort Struktur data proses pengurutan Implementasi algoritma pengurutan

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

Pertemuan XII ALGORITMA. Algoritma & Pemrograman Ken Kinanti P 1. {Pencarian Beruntun / Sequential Search}

Pertemuan XII ALGORITMA. Algoritma & Pemrograman Ken Kinanti P 1. {Pencarian Beruntun / Sequential Search} Pertemuan XII - PENCRIN Pengertian Pencarian data adalah suatu proses untuk mengumpulkan informasi dalam media penyimpanan komputer dan kemudian mencari kembali informasi yang diperlukan secepat mungkin.

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

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-11 (Larik) :: NoorIfada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Pendeklarasian Larik Mengisi Elemen Larik dari Piranti Masukan Menulis Elemen

Lebih terperinci

Algoritma Divide and Conquer (Bagian 2)

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

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-2 (Teks Algoritma) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Judul Algoritma Deklarasi Deskripsi Translasi Teks Algoritma ke dalam

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

Algoritma dan Struktur Data

Algoritma dan Struktur Data Modul Praktikum Algoritma dan Struktur Data SORTING Sisilia Thya Safitri, ST., MT ST3 Telkom Purwokerto Jl. DI Panjaitan 128 Purwokerto * Untuk kalangan sendiri Praktikum 10 Materi : Sorting Waktu : 100

Lebih terperinci

FUNGSI MINGGU KE: 4 TUJUAN: Mahasiswa dapat memahami definisi fungsi. Mahasiswa dapat mendefinisikan fungsi. Mahasiswa dapat menggunakan fungsi.

FUNGSI MINGGU KE: 4 TUJUAN: Mahasiswa dapat memahami definisi fungsi. Mahasiswa dapat mendefinisikan fungsi. Mahasiswa dapat menggunakan fungsi. FUNGSI MINGGU KE: 4 TUJUAN: Mahasiswa dapat memahami definisi fungsi. Mahasiswa dapat mendefinisikan fungsi. Mahasiswa dapat menggunakan fungsi. TEORI PENGANTAR: Definisi Fungsi Fungsi adalah sub-program

Lebih terperinci

Algoritma Divide and Conquer (Bagian 1)

Algoritma Divide and Conquer (Bagian 1) Algoritma Divide and Conquer (Bagian 1) Bahan Kuliah IF2251 Strategi Algoritmik Oleh: Rinaldi Munir 1 Divide and Conquer dulunya adalah strategi militer yang dikenal dengan nama divide ut imperes. Sekarang

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-11 (Larik) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Pendeklarasian Larik Mengisi Elemen Larik dari Piranti

Lebih terperinci

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

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

Lebih terperinci

Algoritma dan Pemrograman Searching/Pencarian

Algoritma dan Pemrograman Searching/Pencarian Adam Mukharil Bachtiar Informatics Engineering 2011 Algoritma dan Pemrograman Searching/Pencarian Materi Definisi Pencarian Pencarian Sekuensial Pencarian Biner Definisi Pencarian All About Searching Definisi

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

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

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

Matematika Diskrit Kompleksitas Algoritma. Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs. Matematika Diskrit Kompleksitas Algoritma Instruktur : Ferry Wahyu Wibowo, S.Si., M.Cs. Pendahuluan Sebuah masalah dapat mempunyai banyak algoritma penyelesaian. Contoh: masalah pengurutan (sort), ada

Lebih terperinci

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

Algoritma Shell Sort Ascending Dan Binary Sequential Search Menggunakan C

Algoritma Shell Sort Ascending Dan Binary Sequential Search Menggunakan C TUGAS STRUKTUR DATA Shell Sort Ascending Dan Binary Sequential Search Menggunakan C IF-5 Nama Anggota : - Rohendi 10107193 - Andri Andriyan 10107210 - Yuli Yanti A 10107218 - Jajang Kusmita 10107227 JURUSAN

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 Pencarian dalam Tabel Pendahuluan Pencarian Sekuensial Pencarian Sekuensial

Lebih terperinci

MODUL PRAKTIKUM STRUKTUR DATA Modul ke-1, Pertemuan ke-1 Nama file : P01-XXX (XXX adalah 3 digit terakhir NIM) Deskripsi: Senarai, Traversal

MODUL PRAKTIKUM STRUKTUR DATA Modul ke-1, Pertemuan ke-1 Nama file : P01-XXX (XXX adalah 3 digit terakhir NIM) Deskripsi: Senarai, Traversal MODUL PRAKTIKUM STRUKTUR DATA Modul ke-1, Pertemuan ke-1 Nama file : P01-XXX (XXX adalah 3 digit terakhir NIM) Senarai, Traversal Deklarasi global: type TInfo = integer type Address = pointer to Elemen

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

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

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

Divide and Conqueradalah strategi militer yang dikenal dengan nama divide ut imperes.

Divide and Conqueradalah strategi militer yang dikenal dengan nama divide ut imperes. Divide and Conquer Divide and Conqueradalah strategi militer yang dikenal dengan nama divide ut imperes. Strategi tersebut menjadi strategi fundamental di dalam ilmu komputer dengan nama Divide and Conquer.

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

Algoritma Searching Tenia wahyuningrum, S.Kom. MT dan Sisilia Thya Safitri, MT

Algoritma Searching Tenia wahyuningrum, S.Kom. MT dan Sisilia Thya Safitri, MT Algoritma Searching Tenia wahyuningrum, S.Kom. MT dan Sisilia Thya Safitri, MT mengapa? mengapa? mengapa? mengapa? mengapa? mengapa? mengapa? mengapa? Mengapa tombol power ada di atas? Mengapa diberi

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

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

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