PENCARIAN BERUNTUN (SEQUENTIAL SEARCHING)

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

BAB VI SEARCHING (PENCARIAN)

Searching [pencarian] Algoritma Pemrograman

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

1 Pencarian. 1.1 Tinjauan Singkat Larik

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

MODUL IV PENCARIAN DAN PENGURUTAN

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

Algoritma Brute Force

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

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

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

Algoritma dan Pemrograman 2 PENCARIAN

Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir

AlgoritmaBrute Force. Desain dan Analisis Algoritma (CS3024)

Array. Teknik Informatika Politeknik Negeri Batam

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

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

PERBANDINGAN KOMPLEKSITAS ALGORITMA PENCARIAN BINER DAN ALGORITMA PENCARIAN BERUNTUN

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

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

Kompleksitas Algoritma (1)

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

Algoritma dan Pemrograman Searching/Pencarian

CCH1A4 / Dasar Algoritma & Pemrogramanan

Kompleksitas Algoritma

LATIHAN UTS Tim Pengajar KU1071 Sem

Algoritma Shell Sort Ascending Dan Binary Sequential Search Menggunakan C

Bubble Sort (Pengurutan Gelembung / Pemberatan)

Kompleksitas Algoritma

BAB VII ALGORITMA DIVIDE AND CONQUER

Algoritma Pemrograman

STRATEGI DIVIDE AND CONQUER

Algoritma dan Struktur Data

*** SELAMAT MENGERJAKAN

DIKTAT KULIAH ALGORITMA dan STRUKTUR DATA II. : Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Queue.

PERTEMUAN 8 MATRIX. Introduction Definition How is matrix stored in memory Declaration Processing

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

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

QUEUE (ANTRIAN) Struktur Data - Queue

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

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

Algoritma Brute Force

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

Pengurutan (Sorting) Keuntungan Data Terurut. Pengurutan Terbagi Dua Kelompok:

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

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

SORTING. Brigida Arie Minartiningtyas, M.Kom

SEARCHING. Pusat Pengembangan Pendidikan Universitas Gadjah Mada 1

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

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

Pengurutan (Sorting) Algoritma Pemrograman

Algoritma Pemrograman

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

ALGORITMA PENGURUTAN & PENCARIAN

Algoritma dan Pemrograman 2 PENGURUTAN

LOGO STRUKTUR DATA QUEUE

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

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

Algoritma Pemrograman

ALGORITMA & PEMROGRAMAN

Pendahuluan. Sebuah algoritma tidak saja harus benar, tetapi juga harus efisien. Algoritma yang bagus adalah algoritma yang efektif dan efisien.

PENGULANGAN Bagian 1 : Notasi. Tim Pengajar KU1071 Sem

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

Algoritma Pemrograman

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

IMPLEMENTASI ALGORITMA GREEDY PADA PERMAINAN OTHELLO

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

ARRAY/LARIK. 3/25/2010 Materi Array - RIE 1

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

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

algoritma & pemrograman

Identitas dosen POKOK BAHASAN. Suherman,, ST Address. : Cilegon Mobile : Ym Blog

BAB VIII Pencarian(Searching)

PROSES PENJUALAN BUKU

LIST LINIER 1. DEFINISI

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 III ANALISIS DAN PERANCANGAN

Larik/Array ALGORITMA DAN PEMROGRAMAN [IS ] Dosen: Yudha Saintika, S.T., M.T.I

Soal hari Selasa (13/10) Latihan 7 AN

Kompleksitas Algoritma

Aplikasi Graf Breadth-First Search Pada Solver Rubik s Cube

Aplikasi Algoritma Reverse Greedy pada Egyptian Fraction

BAB 1 PENGANTAR KE STRUKTUR DATA

CCH1A4 / Dasar Algoritma & Pemrogramanan

Analisis Algoritm. Fundamentals of the Anlysis of Algorithm Efficiency

LOOPING. Brigida Arie Minartiningtyas, M.Kom

REVIEW ARRAY. Institut Teknologi Sumatera

BAB V SORTING (PENGURUTAN) INTERNAL

CCH1A4 / Dasar Algoritma & Pemrogramanan

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

Algoritma Pemrograman

Adam Mukharil Bachtiar English Class Informatics Engineering Algorithms and Programming Searching

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

CCH1A4 / Dasar Algoritma & Pemrogramanan

Algoritma Pencarian String dalam Pemilihan Anggota Sebuah Organisasi

LAPORAN AKHIR PRAKTIKUM STRUKTUR DATA

DIKTAT KULIAH STRUKTUR DATA. Disusun oleh: Sri Primaini A.

Struktur Data. Queue (Antrian)

BAB III QUEUE (ANTRIAN)

Transkripsi:

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 setiap elemen larik satu per satu secara beruntun, mulai dari elemen pertama, sampai elemen yang dicari ditemukan, atau seluruh elemen sudah diperiksa. 2 1

INTODUCTION [ ] 13 1 16 2 14 3 21 4 76 5 21 Misalkan nilai yang dicari adalah: X = 21 Maka, elemen yang diperiksa: 13,16,14,21 (ditemukan!) Indeks larik yang dikembalikan: IDX = 4 Misalkan nilai yang dicari adalah: X = 13 Maka, elemen yang diperiksa: 13 (ditemukan!) Indeks larik yang dikembalikan: IDX = 1 Misalkan nilai yang dicari adalah: X = 15 Maka, elemen yang diperiksa: 13,16,14,21,76,21 (tidak ditemukan!) Indeks larik yang dikembalikan: IDX = 0 6 3 INTODUCTION [ ] Untuk semua algoritma pencarian berikutnya, kita menggunakan tetapan dan tipe data global berikut ini: KAMUS const Nmaks = 100 type Larik = array [1..Nmaks] of integer Procedure BACA_LARIK (output A : larik, input N : integer) for to N do input (A[k]) endfor 4 2

TANPA BOOLEAN Misal: Terdapat larik L berukuran N elemen. Proses pembandingan dilakukan selama X tidak ditemukan (L[k] X) dan indeks larik belum sampai batas maksimal (k N). Nilai yang dikembalikan adalah indeks larik (IDX) tempat X ditemukan. Jika X tidak ditemukan, maka IDX diisi 0. 5 TANPA BOOLEAN [ ] Procedure CARI_IDX (input L : larik, input N : integer, input X : integer, output IDX : integer) while (k < N) and (L[k] X) do { k = N or L[k] = X } if L[k] = X then { X ditemukan } IDX k IDX 0 6 3

TANPA BOOLEAN [ ] ALGORITMA_PENCARIAN KAMUS const Nmaks = 100 type larik : array [1..Nmaks] of integer A : larik X : integer IDX : integer Procedure BACA_LARIK (output L: larik, input N: integer) Procedure CARI_IDX (input L: larik, input N: integer, input X: integer, output IDX: integer) ALGORITMA input (N) BACA_LARIK (A,N) input (X) CARI_IDX (A,N,X,IDX) if IDX = 0 then output (X, tidak ditemukan! ) output (X, ditemukan pada indeks larik ke-, IDX) 7 TANPA BOOLEAN [ ] Procedure CARI_X (input L : larik, input N : integer, input X : integer, output ketemu : boolean) while (k < N) and (L[k] X) do { k = N or L[k] = X } if L[k] = X then { X ditemukan } ketemu true ketemu false 8 4

TANPA BOOLEAN [ ] ALGORITMA_PENCARIAN KAMUS const Nmaks = 100 type larik : array [1..Nmaks] of integer A : larik X : integer ada : boolean Procedure BACA_LARIK (output L: larik, input N: integer) Procedure CARI_X (input L: larik, input N: integer, input X: integer, output ketemu: boolean) ALGORITMA input (N) BACA_LARIK (A,N) input (X) CARI_X (A,N,X,ada) if ada then output (X, ditemukan! ) output (X, tidak ditemukan! ) 9 DENGAN BOOLEAN Variabel boolean ketemu diinisialisasi dengan nilai false. Pembandingan dilakukan mulai dari elemen ke- k = 1, 2,, N. Jika L[k] sama dengan X, variabel ketemu diisi dengan nilai true dan proses pembandingan dihentikan. Sebailknya, jika L[k] tidak sama dengan X, variabel ketemu tetap bernilai false, dan proses pembandingan dilanjutkan pada elemen berikutnya. Nilai yang dikembalikan adalah indeks larik (IDX) tempat X ditemukan. Jika X tidak ditemukan, IDX diisi dengan 0. 10 5

DENGAN BOOLEAN [ ] Procedure CARI_IDX (input L : larik, input N : integer, input X : integer, output IDX : integer) ketemu : boolean ketemu false while (k N) and (not ketemu) do if L[k] = X then ketemu true { k > N or ketemu } if ketemu then { X ditemukan } IDX k IDX 0 11 DENGAN BOOLEAN [ ] Procedure CARI_X (input L : larik, input N : integer, input X : integer, output ketemu : bolean) ketemu false while (k N) and (not ketemu) do if L[k] = X then ketemu true { k > N or ketemu } 12 6

PENGGUNAAN DALAM FUNGSI Secara umum, algoritma sequential searching tidak dinyatakan dalam prosedur, namun direalisasikan sebagai fungsi boolean atau fungsi integer yang mengembalikan indeks larik, seperti fungsi CARI_X dan CARI_IDX pada halaman berikut. 13 PENGGUNAAN DALAM FUNGSI [ ] Function CARI_IDX ( input L : larik, input N : integer, input X : integer ) integer while (k < N) and (L[k] X) do { k = N or L[k] = X } if L[k] = X then { X ditemukan } return k return 0 14 7

PENGGUNAAN DALAM FUNGSI [ ] Function CARI_X (input L : larik, input N : integer, input X : integer) boolean while (k < N) and (L[k] X) do { k = N or L[k] = X } if L[k] = X then { X ditemukan } return true return false 15 8