Adam Mukharil Bachtiar English Class Informatics Engineering Algorithms and Programming Searching

dokumen-dokumen yang mirip
Algoritma dan Pemrograman Searching/Pencarian

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

Analisis Algoritm. Fundamentals of the Anlysis of Algorithm Efficiency

Adam Mukharil Bachtiar English Class Informatics Engineering Algorithms and Programming Branching Structure

Algoritma Shell Sort Ascending Dan Binary Sequential Search Menggunakan C

ALGORITMA PENGURUTAN & PENCARIAN

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

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

Searching [pencarian] Algoritma Pemrograman

BAB VI SEARCHING (PENCARIAN)

PENCARIAN BERUNTUN (SEQUENTIAL SEARCHING)

STRATEGI DIVIDE AND CONQUER

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

SORTING. Brigida Arie Minartiningtyas, M.Kom

ALGORITMA & PEMROGRAMAN

SORTING (BAGIAN II) Proses kelima

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

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

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

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

*** SELAMAT MENGERJAKAN

ANALISIS ALGORITMA BINARY SEARCH

SEARCHING. Pusat Pengembangan Pendidikan Universitas Gadjah Mada 1

1/5. while and do Loops The remaining types of loops are while and do. As with for loops, while and do loops Praktikum Alpro Modul 3.

Linked List. Bandung 2013

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

Selamat Mengerjakan. 2. Keluaran dari baris 10 adalah? a. 1 b. 4 c. 2.5 d. 2 e Keluaran dari baris 11 adalah? a. 1 b. 4 c. 2.5 d. 2 e.

BAB VII ALGORITMA DIVIDE AND CONQUER

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

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

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

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

Array (Tabel) Tim Pengajar KU1071 Sem /11/3 TW/KU1071 1

List Linier (Bag. I) IF2121/Algoritma dan Struktur Data Sem. I 2016/ /25/2017 IF2121/Sem I 2017/2018 1

Kompleksitas Algoritma

Algoritma dan Pemrograman 2 PENGURUTAN

CCH1A4 / Dasar Algoritma & Pemrogramanan

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

Algoritma Brute Force

Kompleksitas Algoritma (1)

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

Algoritme dan Pemrograman

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

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

Sorting Algorithms. Buble Sort

Universitas gunadarma. pascal. Bab 4- bab 10. Hana Pertiwi S.T

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

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

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

Kompleksitas Algoritma

LATIHAN UTS Tim Pengajar KU1071 Sem

BAB 8 SORTING DAN SEARCHING

ARRAY DINAMIS. Type. Pengenal = Simpul Simpul = Type. (Nama var) : ( Type data)

Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir

Soal hari Jumat (16/10) Latihan 10 MS

4.1. Pernyataan Kondisi dan Perulangan Pernyataan kondisi digunakan apabila kita ingin membandingkan atau mengetahui nilai suatu objek.

7. SORTING DAN SEARCHING

List Linier. IF2030/Algoritma dan Struktur Data. 11/6/2009 FNA+WDS/IF2030/Sem

AlgoritmaBrute Force. Desain dan Analisis Algoritma (CS3024)

BAB 3 SEARCHING A. TUJUAN

Sequential Search (Linear Search)

BAB 2 LANDASAN TEORI

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 1: 9 Mei 2016

Algoritma dan Struktur Data

Algoritma dan Pemrograman Array

Melakukan Operasi Logika

PERTEMUAN 11 TEHNIK SEARCHING

Modul Praktikum Algoritma dan Struktur Data

Algoritma dan Struktur Data. Linear & Binary Search Tree

SORTING DENGAN ALGORITMA DIVIDE AND CONQUER

BAB VIII Pencarian(Searching)

Design and Analysis Algorithm

Pengurutan (Sorting) Algoritma Pemrograman

MODUL PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

Sorting Algorithms. Algoritma dan Struktur Data. Sorting algorithms

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

Algorithms and Programming Introduction of Dev Pascal, Data Type, Value, and Identifier

Bagian I. Studi Kasus [82] Tanda tangan:

RANCANG BANGUN APLIKASI ATM DIREKTORI BERBASIS WEB MOBILE DENGAN METODE ALGORITMA LINIER DAN SEQUENTIAL SEARCH (STUDI KASUS BANK BNI 46 REGIONAL 2)

MODUL IV PENCARIAN DAN PENGURUTAN

Data Structures. Class 5 Pointer. Copyright 2006 by The McGraw-Hill Companies, Inc. All rights reserved.

A. TUJUAN PEMBELAJARAN

Algoritma dan Pemrograman Bab 05 Struktur Pengulangan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

Algoritma dan Struktur Data. Pertemuan 7 Linked List

Pertemuan ke 4. Non-Linier Equation

Objectives. Struktur Data & Algoritme (Data Structures & Algorithms) Sort. Outline. Bubble Sort: idea. Bubble Sort. Sorting

Algoritma dan Struktur Data. Searching dan Sorting

LAPORAN AKHIR PRAKTIKUM STRUKTUR DATA

Algoritma dan Pemrograman 2 PENCARIAN

Metode Binnary Searching di Java Console

IKG2A3/ Pemrograman Terstruktur 2. ZK Abdurahman Baizal. KK Algoritma dan Komputasi. Mesin Abstrak

Pengertian Algoritma Pengurutan

PENGGUNAAN ALGORITMA GREEDY DALAM PERMAINAN KARTU BLACK JACK

Penerapan Algoritma Sequential Search dalam Proses Pencarian Informasi pada Sistem Pembelajaran Organ Jantung Manusia

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

2. Sebuah prosedur langkah demi langkah yang pasti untuk menyelesaikan sebuah masalah disebut : a. Proses b. Program c. Algoritma d. Prosesor e.

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

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

Outline. Struktur Data & Algoritme (Data Structures & Algorithms) Pengantar. Definisi. 2-3 Trees

Algoritme dan Pemrograman

Transkripsi:

Adam Mukharil Bachtiar English Class Informatics Engineering 2011 Algorithms and Programming Searching

Steps of the Day Definition of Searching Sequential Search Binary Search Let s Start

Definition of Searching All About Searching

What is Searching Process that search the value in group of data. This process can produce FOUND or NOT FOUND value.

Algorithms of Sorting Sequential search / Linear search Binary search

Sequential Search Definition and Structures of Sequential Search

What is Sequential Search Trace group of data one by one. Start the process from the first data. If the data was found in group then stop the searching but if not, search until the last data in grup.

Methods in Sequential Search Without boolean Without sentinel Use sentinel Use boolean

Ilustration of Seq. Search Without Sentinel Given an array to be processed: Number 5 1 9 4 2 [1] [2] [3] [4] [5] Data that want to be sought : 9 Number[1] = 9? i i + 1 Number[2] = 9? i i + 1 Number[3] = 9? i (STOP SEARCH) Result: 9 is found in number[3]

Sequential Search Without Sentinel 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 Procedure SeqSearchTanpaSentinel (Input nama_array:tipe_array) {I.S. : elemen array [1..maks_array] sudah terdefinisi} {F.S. : menampilkan hasil pencarian (ditemukan/tidak)} Kamus: i : integer data_cari : tipedata Algoritma: input(data_cari) i 1 while(nama_array [i] data_cari) and (i < maks_array) do i i + 1 endwhile if (nama_array[i] = data_cari) then output(data_cari, ditemukan pada indeks ke-,i) else output(data_cari, tidak ditemukan ) endif EndProcedure

Sequential Search Use Sentinel Place the data that want to be sought in sentinel. Sentinel is additional index that was placed in max array + 1. If the data is found in sentinel that means the result is data is not found and vice versa.

Ilustration of Seq. Search Use Sentinel Data that was sought: 9 sentinel Number 5 1 9 4 2 9 [1] [2] [3] [4] [5] [6] Result: Data was found in Number[3] Data that was sought: 10 sentinel Number 5 1 9 4 2 10 [1] [2] [3] [4] [5] [6] Result: Data was not found

Sequential Search Use Sentinel 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 Procedure SeqSearchSentinel (Input nama_array:tipe_array) {I.S. : elemen array [1..maks_array] sudah terdefinisi} {F.S. : menampilkan hasil pencarian (ditemukan/tidak)} Kamus: i : integer data_cari : tipedata Algoritma: input(data_cari) i 1 nama_array(maks_array + 1) data_cari while (nama_array [i] data_cari) do i i + 1 endwhile if (i < maks_array+1) then output(data_cari, ditemukan pada indeks ke-,i) else output(data_cari, tidak ditemukan ) endif EndProcedure

Sequential Search Use Boolean Its searching process is similar with another sequential search method. Involves one boolean variable.

Ilustration of Seq. Search Use Boolean Given an array to be processed: Number 5 1 9 4 2 [1] [2] [3] [4] [5] Data that want to be sought : 9 Number[1] = 9? Number[2] = 9? Number[3] = 9? FOUND FALSE FOUND FALSE Result: 9 is found in number[3] FOUND TRUE (STOP SEARCH)

Sequential Search Use Sentinel 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Procedure SeqSearchBoolean (Input nama_array:tipe_array) {I.S. : elemen array [1..maks_array] sudah terdefinisi} {F.S. : menampilkan data yg dicari ditemukan atau tidak ditemukan} Kamus: i : integer ketemu : boolean data_cari : tipedata Algoritma: input(data_cari) i 1 ketemu false while (not ketemu) and (i maks_array) do if(nama_var_array(i) = data_cari) then ketemu true else i i + 1 endif endwhile if (ketemu) then output(data_cari, ditemukan pada indeks ke-,i) else output(data_cari, tidak ditemukan ) endif EndProcedure

Binary Search Definition and Structures of Binary Search

What is Binary Search Searching algorithm that divide group of data into two parts (left and right). First, check data in the middle. If same with the data that was sought then data is found. If not then continue searching process to left or right (based on condition). Group of data must be sorted before the searching process.

Case Example of Binary Search Data that was sought: 7 Number 3 7 12 15 29 [1] [2] [3] [4] [5] Result:?

Case Example of Binary Search Data that was sought: 7 Number 3 7 12 15 29 [1] [2] [3] [4] [5] Result:?

Case Example of Binary Search Step 1 : Divide array into 2 parts. Count the middle position (k) of array to start searching k = (Ia + Ib) div 2 = (1 + 5) div 2 = 3 la : lower bound (for index) lb : upper bound (for index) 3 7 12 15 29 [1] [2] [3] [4] [5] Ia k Ib Left Side Right Side

Case Example of Binary Search Step 2 : check data in k. If it s same with data that was sought then stop search and data is found. If it s not then check whether data was bigger or smaller than data in k. If it s bigger one then continue searching to right side and la = k+1. if it s smaller one then continue searching to the left side and lb = k-1 (data wa sorted in ascending way). 3 7 1 2 Ia Ib

Case Example of Binary Search 3 7 1 2 Ia Ib k Left Side Right Side Step 3 : repeat step 1 until step 2 until data is found or until la>lb then stop searching. Result : 7 is found in Number[2] and in the third looping.

Binary Search 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Procedure BinarySearch (Input nama_array : tipe_array) {I.S. : elemen array yang terurut secara ascending sudah terdefinisi} {F.S. : menampilkan data yg dicari ditemukan atau tidak ditemukan} Kamus: Ia, Ib, k : integer ketemu : boolean data_cari : tipedata Algoritma: input(data_cari) Ia 1 Ib maks_array ketemu false while (not ketemu) and (Ia Ib) do k (Ia + Ib) div 2 if (nama_var_array[k] = data_cari) then ketemu true else if (nama_var_array[k] < data_cari) then Ia k + 1 else Ib k 1 endif endif endwhile

Binary Search 27 28 29 30 31 32 33 if (ketemu) then output(data_cari, ditemukan pada indeks ke-,k) else output(data_cari, tidak ditemukan ) endif EndProcedure

Contact Person: Adam Mukharil Bachtiar Informatics Engineering UNIKOM Jalan Dipati Ukur Nomor. 112-114 Bandung 40132 Email: adfbipotter@gmail.com Blog: http://adfbipotter.wordpress.com Copyright Adam Mukharil Bachtiar 2011