DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

dokumen-dokumen yang mirip
Algoritma dan Pemrograman Searching/Pencarian

Adam Mukharil Bachtiar English Class Informatics Engineering Algorithms and Programming Searching

Analisis Algoritm. Fundamentals of the Anlysis of Algorithm Efficiency

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

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

Searching [pencarian] Algoritma Pemrograman

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

ALGORITMA PENGURUTAN & PENCARIAN

SORTING. Brigida Arie Minartiningtyas, M.Kom

Pengurutan (Sorting) Algoritma Pemrograman

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

BAB VI SEARCHING (PENCARIAN)

PENCARIAN BERUNTUN (SEQUENTIAL SEARCHING)

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

Algoritma Shell Sort Ascending Dan Binary Sequential Search Menggunakan C

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

SORTING (PENGURUTAN DATA)

MODUL IV PENCARIAN DAN PENGURUTAN

*** SELAMAT MENGERJAKAN

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

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

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

ALGORITMA & PEMROGRAMAN

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

BAB 8 SORTING DAN SEARCHING

7. SORTING DAN SEARCHING

SORTING. Struktur Data S1 Sistem Informasi. Ld.Farida

Kompleksitas Algoritma (1)

BAB VII ALGORITMA DIVIDE AND CONQUER

Bubble Sort (Pengurutan Gelembung / Pemberatan)

Algoritma dan Pemrograman 2 PENGURUTAN

STRATEGI DIVIDE AND CONQUER

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

Kompleksitas Algoritma

Linked List. Bandung 2013

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

CCH1A4 / Dasar Algoritma & Pemrogramanan

Pengertian Algoritma Pengurutan

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

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

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

Kompleksitas Algoritma

SEARCHING. Pusat Pengembangan Pendidikan Universitas Gadjah Mada 1

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

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

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

Algoritma Brute Force

Powered by icomit.wordpress.com

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

Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir

AlgoritmaBrute Force. Desain dan Analisis Algoritma (CS3024)

Gambar 13.1 Ilustrasi proses algoritma sorting

ALGORITMA PENGURUTAN. Oleh : S. Thya Safitri, MT

BAB V SORTING (PENGURUTAN) INTERNAL

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

CCH1A4 / Dasar Algoritma & Pemrogramanan

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

Langkah Mudah Belajar Struktur Data Menggunakan C/C++

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

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.

Algoritma dan Pemrograman 2 PENCARIAN

STRUKTUR DATA SORTING ARRAY

Algoritma dan Struktur Data. Searching dan Sorting

SEARCHING & SORTING. Pendahuluan

Meizano Ardhi M., S.T.

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

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

Algoritme dan Pemrograman

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

SORTING ARRAY FAKULTAS TEKNOLOGI INFORMASI UNISBANK SEMARANG : ANDY KRISTIANTO : Disusun Oleh :

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

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

BAB 3 SEARCHING A. TUJUAN

Sorting Algorithms. Buble Sort

Modul 8 SORTING (PENGURUTAN)

Decrease and Conquer

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

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-8 Pengurutan (Sorting) 1

Kompleksitas Algoritma Pengurutan Selection Sort dan Insertion Sort

STRUKTUR DATA. Nama : Sulfikar Npm : STMIK Handayani Makassar

Kompleksitas Algoritma Sorting yang Populer Dipakai

Nama : Suseno Rudiansyah NPM : Kelas : X2T Prodi : Teknik Informatika Tugas : Kuis Algoritma 2

STRUKTUR DATA. By : Sri Rezeki Candra Nursari 2 SKS

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

Pengurutan (Sorting)

Array dan Matriks. IF2121 / Algoritma dan Struktur Data Sem / /7/2017 IF2121/sem /2018 1

Modul Praktikum Algoritma dan Struktur Data

Konsep Sorting dalam Pemrograman Saniman dan Muhammad Fathoni

Array ARRAY BERDIMENSI SATU. Representasi (Pemetaan) di memori. Lihat gambar dibawah ini, nilai data A (18) dismpan mulai dari alamat 1136 di memori.

Studi Mengenai Perbandingan Sorting Algorithmics Dalam Pemrograman dan Kompleksitasnya

: Mahasiswa mampu menjelaskan teknik pemrograman menggunakan Sorting. Quick Sort

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

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

BAB I PENDAHULUAN.

Algoritma Transposisi (Bubble Sort/pengurutan gelembung)

DATA SORTING. Altien Jonathan Rindengan, S.Si, M.Kom

MAKALAH STRUKTUR DATA. DOSEN PEMBIMBING Nisa miftachurohmah, S.kom., M.Si PENYUSUN SITI JAMILATUL MU ADDIBAH ( )

Algoritme dan Pemrograman

LATIHAN UTS Tim Pengajar KU1071 Sem

STRUKTUR DATA (3) sorting array. M.Cs

Transkripsi:

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 ini menghasilkan nilai benar atau salah.

Metode Pencarian 1. Sequential / Linear Search 2. Binary Search

Metode Pencarian (lanjutan) Sequential / Linear Search: 1. Tanpa Boolean a. Tanpa Sentinel b. Dengan Sentinel 2. Dengan Boolean

SEQUENTIAL SEARCH Tanpa boolean tanpa sentinel: 1. Tidak menggunakan variabel boolean 2. Tidak mempunyai tambahan elemen di akhir array.

Sequential Search tanpa Sentinel berikut ini terdapat array yang akan diproses: Number 5 1 9 4 2 [1] [2] [3] [4] [5] Data yang akan dicari: 9 Number[1] = 9? Number[2] = 9? Number[3] = 9? i i + 1 i i + 1 i (STOP SEARCH) hasil: 9 ditemukan pada indeks ke- [3]

Sequential Search tanpa Sentinel 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 (lanjutan) Tanpa boolean dengan sentinel: 1. Tidak menggunakan variabel boolean 2. Mempunyai tambahan elemen di akhir array untuk menyimpan data cari apabila data cari tidak ditemukan

Sequential Search dengan Sentinel Data yang dicari: 9 sentinel Number 5 1 9 4 2 9 [1] [2] [3] [4] [5] [6] Hasil: Data ditemukan pada indeks ke- 3 Data yang dicari: 10 sentinel Number 5 1 9 4 2 10 [1] [2] [3] [4] [5] [6] Result: Data tidak ditemukan

Sequential Search Use Sentinel 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 (lanjutan) Dengan boolean: 1. Menggunakan variabel boolean 2. Menghasilkan nilai TRUE atau FALSE di akhir pencarian

Sequential Search dengan Boolean berikut ini adalah array yang akan diproses: Number 5 1 9 4 2 [1] [2] [3] [4] [5] Data yang akan dicari: 9 Number[1] = 9? Number[2] = 9? Number[3] = 9? KETEMU FALSE KETEMU FALSE KETEMU TRUE (STOP SEARCH) hasil: 9 ditemukan pada indeks ke- 3

Sequential Search Use Sentinel 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 1. Data harus terurut, baik secara ascending atau descending 2. Mekanismenya adalah dengan cara membagi larik menjadi dua bagian yaitu bagian kiri (indeks terkecil/ia) sampai ke indeks tengah dan bagian kanan mulai dari indeks tengah sampai indeks terbesar (Ib) 3. Indeks tengah (k) : (Ia+Ib) div 2 (posisi tengah larik)

BINARY SEARCH (lanjutan) 4. Jika data yang dicari lebih kecil dari data di posisi tengah, maka pencarian dilanjutkan ke bagian kiri 5. Jika data yang dicari lebih besar dari data di posisi tengah, maka pencarian dilanjutkan ke bagian kanan

KASUS BINARY SEARCH Data yang dicari = 7 Banyak data = 5 Angka Angka Ia k Bag. Kiri 3 7 12 15 29 [1] [2] [3] [4] [5] Ia k Ib Bag. Kiri Bag. Kanan 3 7 [1] [2] Ib Bag. Kanan

KASUS BINARY SEARCH Angka 7 [2] Ib Ia k Jadi: Angka 7 ditemukan pada indeks ke- 2

Binary Search 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 Endprocedure

OPERASI ARRAY STATIS (lanjutan) 4. Pengurutan (sorting) array a. Bubble Sort b. Selection Sort c. Insertion Sort d. Radix Sort e. Merge Sort f. Quick Sort TUGAS