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

dokumen-dokumen yang mirip
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 : 4 & 5

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

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 1 x 3 x 50 Menit Pertemuan : 9

BAHAN AJAR. Mata Kuliah Struktur Data. Disusun oleh: Eva Yulianti, S.Kom.,M.Cs

SEARCHING. Pusat Pengembangan Pendidikan Universitas Gadjah Mada 1

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

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

BAB VI SEARCHING (PENCARIAN)

PENCARIAN BERUNTUN (SEQUENTIAL SEARCHING)

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

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

STRATEGI DIVIDE AND CONQUER

BAB VII ALGORITMA DIVIDE AND CONQUER

SORTING. Brigida Arie Minartiningtyas, M.Kom

Searching [pencarian] Algoritma Pemrograman

Algoritma dan Pemrograman Searching/Pencarian

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

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

SATUAN ACARA PERKULIAHAN JURUSAN TEKNIK INFORMATIKA ITP

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

ALGORITMA PENGURUTAN & PENCARIAN

SILABUS : DESAIN DAN ANALISIS ALGORITMA. : I Ketut Resika Arthana, S.T., M.Kom NIP :

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

BAB 8 SORTING DAN SEARCHING

MODUL IV PENCARIAN DAN PENGURUTAN

CCH1A4 / Dasar Algoritma & Pemrogramanan

7. SORTING DAN SEARCHING

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

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS

Meizano Ardhi M., S.T.

Searching. Algoritma dan Struktur Data. Ramos Somya, S.Kom., M.Cs.

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

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

Fakultas Teknologi Informasi

BAB XI Manipulasi Binary Tree

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

BAB VIII Pencarian(Searching)

Kompleksitas Algoritma

Algoritma dan Pemrograman 2 PENCARIAN

BAB VII PENCARIAN DATA (SEARCHING)

STRUKTUR DATA. Pengajar. Jaidan Jauhari, M.T. Alamat

ANALISIS PERMAINAN KATA MENGGUNAKAN ALGORITMA PEMROGRAMAN ANAGRAM DAN SUBANAGRAM

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

Algoritma Pemrograman

SATUAN ACARA PERKULIAHAN (SAP)

MENYIGI PENGGUNAAN METODE SHELLSORT DALAM PENGURUTAN DATA

Kompleksitas Algoritma

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

Kompleksitas Algoritma (1)

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

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

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

Pokok Bahasan : Struktur Kontrol

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

1 Pencarian. 1.1 Tinjauan Singkat Larik

SATUAN ACARA PERKULIAHAN (SAP)

BAB III QUEUE (ANTRIAN)

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

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

SILABUS : DASAR-DASAR PEMROGRAMAN. : Made Windu Antara Kesiman, S.T., M.Sc NIP : : PENDIDIKAN KIMIA

SEARCHING (PENCARIAN)

Algoritma Brute Force

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

PROSES PENJUALAN BUKU

Dibawah ini contoh flowchart, algoritma dan program Pemilihan/Selection, apabila bilangan N habis dibagi P maka berkomentar Benar

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

Sesi/Perkuliahan ke: V

AlgoritmaBrute Force. Desain dan Analisis Algoritma (CS3024)

SORTING. Hartanto Tantriawan, S.Kom., M.Kom

Konstruksi Dasar Algoritma

Satuan Acara Perkuliahan

Algoritma Shell Sort Ascending Dan Binary Sequential Search Menggunakan C

SATUAN ACARA PERKULIAHAN (SAP) AKADEMI MANAJEMEN INFORMATIKA DAN KOMPUTER (AMIK) LEMBAH DEMPO

Simulasi Pengurutan Data Dengan Metode Seleksi

PERBANDINGAN KOMPLEKSITAS ALGORITMA PENCARIAN BINER DAN ALGORITMA PENCARIAN BERUNTUN

: Algoritma dan Pemrograman I Modul Praktikum ke : 08

: Algoritma dan Pemrograman I Modul Praktikum ke : 08

Program Studi Teknik Mesin S1

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

A B C D E F. Gambar 1. Senarai berantai dengan 6 simpul

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

STRUKTUR DASAR ALGORITMA

Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir

FAKULTAS ILMU PENDIDIKAN UNIVERSITAS NEGERI YOGYAKARTA RPP. ALGORITMA DAN PEMROGRAMAN RENCANA PELAKSANAAN PEMBELAJARAN (RPP)

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

Sesi/Perkuliahan ke: I

Algoritma dan Pemrograman 2 PENGURUTAN

Bubble Sort (Pengurutan Gelembung / Pemberatan)

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.

PENGULANGAN Bagian 1 : Notasi. Tim Pengajar KU1071 Sem

*** SELAMAT MENGERJAKAN

& PEMROGRAMAN. Alex De Kweldju, S.Kom D3 Teknik Komputer Fakultas Teknik Universitas Negeri Papua

BAB V SORTING (PENGURUTAN) INTERNAL

SATUAN ACARA PENGAJARAN (SAP) : Aswir Premadi, S.T., M.Sc. (Eng) Pertemuan Minggu ke : 1 & 2 ( 1 x 2 x 50 )

Algoritma Pemrograman

Pertemuan 3 Penyeleksian Kondisi

SATUAN ACARA PERKULIAHAN (SAP)

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-4 - Hal 1

ALGORITMA & PEMROGRAMAN

Transkripsi:

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 menggunakan struktur pencarian 2. Pendukung Mahasiswa dapat mengetahui metoda-metoda dalam pencarian B. Pokok Bahasan Pencarian C. Sub Pokok Bahasan o Pengantar o Metoda Pencarian Data Pencarian Berurutan (Sequential Searching) Pencarian Biner (Binary Search) D. Kegiatan Belajar Mengajar Tahapan Kegiatan Pendahuluan Penyajian Kegiatan Pengajaran 1. Menjelaskan perkuliahan yang akan dijalani dalam satu semester 2. Menjelaskan materi-materi perkuliahan dan buku-buku acuan yang akan dipergunakan dalam semester ini 1. Menjelaskan tentang pengertian pencarian 2. Menjelaskan tentang metoda yang Kegiatan Mahasiswa Mendengarkan dan memberikan komentar Memperhatikan, mencatat, dan memberikan Media & Alat Peraga LCD, Papan Tulis LCD, Papan Tulis Struktur Data / Eva Yulianti, S.Kom.,M.Cs 85

digunakan dalam pencarian data Penutup 1. Mengajukan pertanyaan kepada mahasiswa. 2. Memberikan kesimpulan. 3. Mengingatkan akan kewajiban untuk pertemuan selanjutnya. komentar. Mengajukan pertanyaan. Memberikan komentar. Mengajukan menjawab pertanyaan dan LCD, Papan Tulis E. Evaluasi Evaluasi dilakukan dengan cara memberikan pertanyaan langsung dan tidak langsung kepada mahasiswa. F. Daftar Referensi 1. P. Insap Santosa, Struktur Data Menggunakan Turbo Pascal 6.0, Andi Offset, Yogyakarta, 2001 2. Wirth Niklaus, Algorithms and Data Structure, Prentice Hall Int. Inc, 1986 3. Antonie Pranata, Algoritma dan Pemrograman, J&J Learning Yogyakarta, 2000 4. Dwi Sanjaya, Bertualang dengan Struktur Data di Planet Pascal, J&J Learning Yogyakarta, 2001 5. Materi Materi dari Internet. Struktur Data / Eva Yulianti, S.Kom.,M.Cs 86

RENCANA KEGIATAN BELAJAR MINGGUAN (RKBM) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 14 & 15 Minggu Ke- Topik (Pokok Bahasan) Metode Pembelajaran Estimasi Waktu (Menit) Media 1 2 3 4 5 8.1 Pengantar 8.2 Metoda Pencarian Data Ceramah, 1 x 3 x 50 14 8.2.1 Pencarian Berurutan Diskusi Kelas (Sequential Searching) LCD, Papan Tulis 15 8.2.2 Pencarian Biner (Binary Search) Ceramah, Diskusi Kelas 1 x 3 x 50 LCD, Papan Tulis Struktur Data / Eva Yulianti, S.Kom.,M.Cs 87

BAB VIII PENCARIAN 8.1 PENGANTAR Pencarian data (searching) adalah suatu proses untuk mengumpulkan sejumlah informasi didalam pengingat komputer dan kemudian mencari kembali informasi yang diperlukan secepat mungkin. 8.2 METODA PENCARIAN DATA 8.2.1 Pencarian Berurutan (Sequential Searching) Metoda yang paling sederhana dari sejumlah metoda pencarian adalah metoda pencarian berurutan (sequential searching). Secara garis besar metoda ini bisa dijelaskan sebagai berikut : 1. Dari vektor yang diketahui, data yang dicari dibandingkan satu persatu sampai data tersebut ditemukan atau tidak ditemukan. Pada saat data yang dicari sudah ketemu, maka proses pencarian langsung dihentikan. 2. Tetapi jika data yang dicari belum ketemu, maka pencarian diteruskan sampai seluruh data dibandingkan. Dalam algoritma berikut, jika data yang dicari tidak ditemukan maka data tersebut akan ditambahkan pada vektor yang sudah ada, dan diletakkan sebagai elemen paling akhir. Algoritma CARI_BERURUTAN Langkah 0 Baca vektor yang diketahui, misalnya vektor A dengan N elemen. Langkah 1 Baca data yang akan dicari, misalnya Data. Langkah 2 (Inisialisasi) Tentukan : Ada = false. Langkah 3 (Proses pencarian) Untuk I = 1 sampai N kerjakan langkah 4. Struktur Data / Eva Yulianti, S.Kom.,M.Cs 88

Langkah 4 Test apakah : Data = A [I]? Jika ya, (berarti data ketemu), tentukan : Ada = true, Posisi = I, dan I = N. Langkah 5 (Menambahkan data pada vektor, jika diperlukan) Test apakah Ada = false? Jika ya, (data tidak ketemu), tentukan : N = N + 1, dan A [I] = Data. Langkah 6 Selesai. Prosedur dibawah ini menyajikan implementasi algoritma diatas. procedure CARI_BERURUTAN ( var Ada : boolean; var N, Posisi : integer; var A : Larik; Data : integer ); var I : integer; {* dianggap data tidak ada *} Ada := false; {* iterasi dimulai *} for I := 1 to N do if A [I] = Data then {* data yang dicari ketemu *} Posisi := I; Ada := true; exit; {* pencarian selesai *} end; if not Ada then {* data yang dicari tidak ketemu, sisipkan elemen kedalam vektor *} inc (N); A [N] := Data end end; Program 8.1 Pencarian menggunakan metoda pencarian berurutan Struktur Data / Eva Yulianti, S.Kom.,M.Cs 89

8.2.2 Pencarian Biner (Binary Search) Pencarian biner (binary search) adalah metoda pencarian untuk mencari data pada vektor yang elemennya telah diurutkan. Metoda pencarian biner dijelaskan sebagai berikut : 1. Setelah vektor yang diketahui diurutkan, vektor tersebut dibagi menjadi dua subvektor yang mempunyai jumlah elemen yang sama. 2. Bandingkan data dengan data terakhir dari subvektor pertama. Jika data yang dicari lebih kecil, pencarian diteruskan pada subvektor pertama dengan terlebih dahulu membagi dua subvektor tersebut. 3. Jika data yang dicari lebih besar dari data terakhir pada subvektor pertama, berarti data yang dicari kemungkinan terletak pada subvektor kedua. Dengan demikian pencarian dilakukan pada subvektor kedua. 4. Ulangi proses sampai data yang dicari ditemukan atau tidak ditemukan. Untuk lebih jelasnya perhatikan contoh berikut. Dimisalkan dicari data yang bernilai 20 pada vektor berikut ini : 2 8 11 15 18 19 20 22 35 40 45 Vektor diatas dipecah mencadi 2 (dua) subvektor sebagai berikut : 2 8 11 15 18 19 20 22 35 40 45 subvektor 1 subvektor 2 Dari hasil pemecahan diatas terlihat bahwa data yang bernilai 20 terdapat pada subvektor 2. Dengan demikian pencarian dilaksanakan pada subvektor 2, subvektor 1 diabaikan. Subvektor 2 kemudian dipecah lagi menjadi : 19 20 22 35 40 45 subvektor 1 subvektor 2 Sekarang data yang bernilai 20 terdapat pada subvektor 1. Dengan demikian subvektor 1 dipecah lagi. Proses diteruskan sampai data yang dicari ketemu atau tidak ketemu. Struktur Data / Eva Yulianti, S.Kom.,M.Cs 90

Dari ilustrasi diatas disusun algoritmanya sebagai berikut : Algoritma BINER Langkah 0 Baca vektor yang diketahui, misalnya vektor A dengan N buah elemen, urutkan secara urut naik. Langkah 1 Baca elemen yang akan dicari, misalnya Data. Langkah 2 (Inisialisasi) Tentukan : Ada = false, Atas = N, dan Bawah = 1. Langkah 3 Kerjakan langkah 4 dan 5 selama Atas >= Bawah. Langkah 4 (Menentukan batas subvektor) Tentukan : Tengah = (Atas + Bawah) div 2. Langkah 5 Test nilai Data terhadap A [Tengah] Jika Data > A [Tengah], (ada di subvektor 2), tentukan : Bawah = Tengah + 1 Jika Data < A [Tengah], (ada di subvektor 1), tentukan : Atas = Tengah 1 Jika Data = A [Tengah], (ketemu), tentukan : Ada = true, Posisi = Tengah, dan Bawah = Atas + 1 Langkah 6 Selesai. Algoritma diatas diimplementasikan dalam prosedur dibawah ini : procedure CARI_BINER ( var Ada : boolean; var Posisi : integer; A : Larik; Data : integer; N : integer); var Atas, Bawah, Tengah : integer; {* dianggap bahwa data tidak ada *} Ada := false; {* Menentukan batas atas dan batas bawah *} Atas := N; Bawah := 1; Struktur Data / Eva Yulianti, S.Kom.,M.Cs 91

{* Iterasi dimulai *} while Atas >= Bawah do {* Elemen yang ada ditengah *} Tengah := (Atas + Bawah) div 2; if Data < A [Tengah] then {* Data kemungkinan ada di subvektor 1 *} Atas := Tengah 1 else if Data > A [Tengah] then {* Data kemungkinan ada di subvektor 2 *} Bawah := Tengah + 1 end; end else {* Data yang dicari sudah ketemu *} Ada := true; Posisi := Tengah; Bawah := Atas + 1 end Program 8.2 Pencarian menggunakan metoda pencarian biner --ooooooo-- Struktur Data / Eva Yulianti, S.Kom.,M.Cs 92

Soal & Pembahasan : Soal : 1. Apakah yang dimaksud dengan pencarian. 2. Sebutkan metoda yang digunakan dalam pencarian Pembahasan : 1. Pencarian data (searching) adalah suatu proses untuk mengumpulkan sejumlah informasi didalam pengingat komputer dan kemudian mencari kembali informasi yang diperlukan secepat mungkin. 2. Metoda pencarian : Pencarian berurutan (sequential searching) : dari vektor yang diketahui, data yang dicari dibandingkan satu persatu sampai data tersebut ditemukan atau tidak ditemukan. Pencarian biner (binary search) adalah metoda pencarian untuk mencari data pada vektor yang elemennya telah diurutkan. Struktur Data / Eva Yulianti, S.Kom.,M.Cs 93