Algoritme dan Pemrograman

dokumen-dokumen yang mirip
Algoritme dan Pemrograman

Penger6an struct. Algoritme dan Pemrograman. Cara membuat struct. Deklarasi struct. Pointer pada struct 12/10/14 ILKOM IPB 1

12/26/2011 ILKOM IPB 1. Algoritme dan Pemrograman. Sorting. Data untuk sorting. Contoh. Algoritme #1: BUBBLE SORT.

Algoritme dan Pemrograman

ANALISIS ALGORITMA BINARY SEARCH

Algoritma dan Pemrograman Searching/Pencarian

BAB VIII Pencarian(Searching)

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

BAB VI SEARCHING (PENCARIAN)

PENCARIAN (SEARCHING)

BAB 3 SEARCHING A. TUJUAN

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

Gambar 13.1 Ilustrasi proses algoritma sorting

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

Searching [pencarian] Algoritma Pemrograman

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

Pencarian (Searching)

Modul Praktikum Algoritma dan Struktur Data

Algoritma dan Struktur Data. Linear & Binary Search Tree

ALGORITMA PENGURUTAN & PENCARIAN

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

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

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

SORTING. Brigida Arie Minartiningtyas, M.Kom

ALGORITMA SEARCHING. Oleh : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM. Smart, Trustworthy, And Teamwork

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-7 Pencarian (Searching) 2

Algoritma dan Struktur Data

PENCARIAN BERUNTUN (SEQUENTIAL SEARCHING)

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

A. TUJUAN PEMBELAJARAN

Algoritma dan Pemrograman 2 PENCARIAN

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-6 Pencarian (Searching) 1

MODUL IV PENCARIAN DAN PENGURUTAN

Algoritma dan Struktur Data. Searching dan Sorting

SORTING (PENGURUTAN DATA)

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

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

Adam Mukharil Bachtiar English Class Informatics Engineering Algorithms and Programming Searching

Materi 5: SEARCHING (PENCARIAN) Dosen:

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

PERTEMUAN 11 TEHNIK SEARCHING

PENGANTAR KOMPUTER & SOFTWARE II. Array (Part II) Tim Pengajar KU Institut Teknologi Sumatera

# TEN Sorting PENDAHULUAN

Algoritma dan Struktur Data. Algoritma Pengurutan (Sorting)

PERBANDINGAN KOMPLEKSITAS ALGORITMA PENCARIAN BINER DAN ALGORITMA PENCARIAN BERUNTUN

BAB 2 TINJAUAN PUSTAKA

Aplikasi Pohon Pencarian Biner Seimbang sebagai Memo Table Dynamic Programming

STRUKTUR DATA SORTING ARRAY

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

Algoritma dan Struktur Data. Binary Tree & Binary Search Tree (BST)

CCH1A4 / Dasar Algoritma & Pemrogramanan

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

Binary Search Tree (BST)

: Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Sorting. Quick Sort

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

Modul 8 SORTING (PENGURUTAN)

BAB 8 SORTING DAN SEARCHING

Modul 15 Searching. 1.1 Kompetensi

BAB 2 LANDASAN TEORI

12/29/2011 ILKOM IPB 1. Algoritme dan Pemrograman. Fungsi. Fungsi. y = f (x) = x m = jumlah ( a, b ) = a + b

7. SORTING DAN SEARCHING

Kisi- kisi UTS- P. Kisi- kisi UTS- T

Decrease and Conquer

Meizano Ardhi M., S.T.

Lecture Notes On Algorithms and Data Structures. Oleh Thompson Susabda Ngoen

12/29/2011 ILKOM IPB 1. Algoritme dan Pemrograman. Address and Pointers. Pointer

Penerapan Struktur Data Pohon dalam Implementasi Algoritma Heapsort dan Tinjauan Kompleksitas Waktunya

ANALISIS DAN PERANCANGAN SISTEM

SORTING (BAGIAN II) Proses kelima

Analisis Algoritma Knuth Morris Pratt dan Algoritma Boyer Moore dalam Proses Pencarian String

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

Algoritma Sorting. Ahmad Kamsyakawuni, S.Si, M.Kom. Jurusan Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Jember

a[0] a[1] a[2] a[3] a[4] a[5] x

Pengurutan (Sorting) Algoritma Pemrograman

Pengumuman Pekan ke- 5

Kompleksitas Algoritma Sorting yang Populer Dipakai

Algoritme dan Pemrograman

IT234 Algoritma dan Struktur Data. Tree

09/09/2013 ILKOM IPB 1. Algoritme dan Pemrograman. Contoh penerapan. Kiat Sukses. Program Komputer. Kenapa belajar algoritme dan pemrograman?

REVIEW ARRAY. Institut Teknologi Sumatera

Algoritma Shell Sort Ascending Dan Binary Sequential Search Menggunakan C

LAPORAN PRAKTIKUM SEMENTARA PENGANTAR PEMROGAMAN BAHASA C++

Quick Sort dan Merge Sort. Arna Fariza Yuliana Setiowati

II. DASAR TEORI I. PENDAHULUAN

Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort

SORTING. Struktur Data S1 Sistem Informasi. Ld.Farida

Algoritme dan Pemrograman

SEARCHING. Pusat Pengembangan Pendidikan Universitas Gadjah Mada 1

BAB VI Pengurutan (Sorting)

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Searching ( Pencarian ) Modul III

STRUKTUR DATA (3) sorting array. M.Cs

BAB VII PENCARIAN DATA (SEARCHING)

Algoritme dan Pemrograman

ANALISIS KOMPLEKSITAS ALGORITMA UNTUK BERBAGAI MACAM METODE PENCARIAN NILAI (SEARCHING) DAN PENGURUTAN NILAI (SORTING) PADA TABEL

Algoritma dan Pemrograman 2 PENGURUTAN

Politeknik Elektronika Negeri Surabaya

MAKALAH STRUKTUR DATA HEAP SORT. Disusun Oleh :

Struktur Data Linier. Input. Program untuk menyelesaikan masalah. Algoritma Penyelesaian. Proses. Masalah. Struktur Data. Output

Struktur Data dan Algoritma

ARRAY STATIS. Type namatype_array = array [1..maks_array] of tipedata. nama_var_array : namatype_array {indeks array dari 1 sampai maksimum array}

Transkripsi:

Algoritme dan Pemrograman Kuliah #12 Searching (Pencarian) Searching (pencarian) Mencari data berdasarkan nilai tertentu, x. Beberapa contoh algoritme pencarian: Sequential search Sorted array search Hashing Recursive structures search Multidimensional search Yang dibahas pada mata kuliah ini adalah sequential search dan sorted array search Pencarian penting dalam struktur data ILKOM IPB 1

Variasi masalah Ada atau tidak ada? Keluaran: TRUE/FALSE Indeks kemunculan pertama? Keluaran: suatu nilai antara 0 dan n-1 jika ada atau suatu nilai khusus (mis. -1) jika tidak ada Frekuensi kemunculan x? Keluaran: antara 0 hingga n Indeks seluruh kemunculan jika ada Indeks kemunculan terakhir atau ke-i Dapat divariasikan juga dengan Pencarian nilai yang lebih kecil atau lebih besar dari x Pencarian nilai tertentu untuk fungsi dari x (mis. nilai yang selisihnya dengan x kurang dari suatu nilai ambang) Penggunaan dua nilai x dan y untuk mencari data yang nilainya di antara keduanya Sequential search Setiap elemen dalam array dibandingkan satu per satu dari awal (kiri) hingga x ditemukan atau semua elemen telah diperiksa. Mudah diimplementasikan. Waktu proses relatif lambat untuk ukuran data sangat besar. Jika suatu array memiliki n buah elemen, sebanyak-banyaknya berapa perbandingan yang harus dilakukan untuk mencari? O(n) ILKOM IPB 2

Sequential search (ada/tidak?) // Keluaran: 1 jika ada // atau -1 jika tidak ada int sequentialsearch(int t[], int n, int val) { int i; for(i=0; i<n; i++) if(val==t[i]) return 1; /* ditemukan */ return -1; /* tidak ditemukan */ Sequential search (kemunculan pertama) // Keluaran: indeks kemunculan pertama jika ada // atau bernilai -1 jika tidak ada int sequentialsearch(int t[], int n, int val) { int i; for(i=0; i<n; i++) if(val==t[i]) return i; /* ditemukan */ return -1; /* tidak ditemukan */ Ubah fungsi sequentialsearch untuk melakukan variasi pencarian berikut: 1. Indeks kemunculan terakhir 2. Indeks seluruh kemunculan 3. Frekuensi kemunculan x 4. Frekuensi nilai yang lebih kecil dari x ILKOM IPB 3

Latihan Ubah fungsi sequentialsearch untuk melakukan variasi pencarian berikut: Frekuensi kemunculan x Indeks seluruh kemunculan Indeks kemunculan terakhir Frekuensi nilai yang lebih kecil dari x Sequential sorted array search Data harus terurut Setiap elemen dalam array ditelusuri satu per satu dari awal (kiri) hingga ketemu atau nilai yang dibaca lebih besar dari nilai yang dicari atau semua elemen telah dibandingkan. Asumsi: terurut ascending Jika terurut descending, sesuaikan algoritme Mudah diimplementasikan. Waktu proses relatif cepat untuk kasus data yang dicari terletak di bagian depan. Masih masuk lingkup O(n) ILKOM IPB 4

Sequential sorted array search // Keluaran: indeks kemunculan pertama jika ada // atau bernilai -1 jika tidak ada // Asumsi: array t terurut secara ascending (menaik) int sortedsearch(int t[], int n, int val) { int i=0, hsl=-1; while ((t[i]<=val) && (i<n) && (-1==hsl)) { if(t[i] ==val) hsl=i; i++; return hsl; /* tidak ditemukan */ Binary search Data harus terurut Pencarian dimulai dengan memeriksa elemen yang terletak di indeks tengah-tengah (mis. mid) Jika nilai yang di tengah lebih besar dari x, pencarian diarahkan ke data yang ada di kiri mid. Sebaliknya, diarahkan ke sebelah kanan. Asumsi: terurut ascending Jika terurut descending, sesuaikan algoritme Periksa elemen yang di tengah bagian tersebut Ulangi hingga x ditemukan atau data sudah habis Efisien: O(log n) ILKOM IPB 5

Binary search int binarysearch(int t[], int n, int val) { int left, right, mid; left = 0; right = n-1; //indeks paling kiri dan kanan while(left<=right) { mid = (left+right)/2; if (val<t[mid]) //sisi kanan tidak perlu dicek right = mid-1; else if (val>t[mid]) //sisi kiri tidak perlu dicek left = mid + 1; else return mid; /* ditemukan */ return -1; /* tidak ditemukan */ ILKOM IPB 6