Searching.

Slides:



Advertisements
Presentasi serupa
Stack, Larik dan Pointer
Advertisements

STRUKTUR DATA (10) tree manipulation
Pencarian ( Searching)
Desain Dan Analisis Algoritma
Queue (Antrian).
Perulangan Pertemuan ke-5 Bahasa C.
ARRAY 1 DIMENSI #10 STIKOM Searching Pengantar Manfaat Inisialisasi
PENGURUTAN (SORTING).
SEARCHING ( PENCARIAN )
Searching Alpro-2.
Queue.
STRUKTUR DATA (3) sorting array
PENCARIAN (SEARCHING)
Chapter 9 SEARCHING ALGORITHM Program Studi Ekstensi DTE FTUI Slides © 2007.
Sulidar Fitri, M.Sc Lab Meeting 13 Maret 2014
ARRAY Dr. Lily Wulandari.
Searching Pertemuan ke 15..
SORTING.
Pointer dalam Stack.
Sorting Pertemuan ke 14..
Algoritma dan Struktur Data
Queue.
STRUKTUR DATA (4) Sorting dan Searching Array
Pencarian Data Nurdiansah PTIK 09 UNM.
13 Searching (Pencarian) pada Array Satu Dimensi Bab
Matakuliah : T0456 ~ Algoritma dan Metode Object Oriented Programming
Algoritma Sorting Tenia Wahyuningrum.
STACK.
Pertemuan Linked list jual [Valdo] Lunatik Chubby Stylus.
CS1023 Pemrograman Komputer Lecture 20 Array / Tabel [2]
Algoritma Pencarian (searching)
Stack.
KUG1C3 Dasar Pemrograman
Algoritma dan Struktur Data
KUG1A3 Algoritma& Pemrograman
KUG1A3 Algoritma& Pemrograman
Bahasa Pemrograman Dasar Pertemuan 12
Oleh : Agus Priyanto, M.Kom Norma Amalia, M.Eng
Algoritma dan Pemrograman Searching
Pencarian pada Array Tim PHKI Modul Dasar Pemrograman
Algoritma dan Struktur Data
Stack Stack atau tumpukan adalah suatu stuktur data yang penting dalam pemrograman Bersifat LIFO (Last In First Out) Benda yang terakhir masuk ke dalam.
Searching.
Algoritma dan Pemrograman Searching
STRUKTUR DATA – Pertemuan 6
Struktur Organisasi Data 2
PENGURUTAN (SORTING).
Linked List INSERT KIRI 6.3 & 7.3 NESTED LOOP.
Algoritma dan Struktur Data
Algoritme dan Pemrograman
Teknik Informatika - Universitas Muhammadiyah Malang (UMM)
Array Buat algoritma untuk mencari nilai terbesar dari 5 nilai mahasiswa yang diinputkan dengan array.
Review Array Sri Nurhayati, MT.
BINARY SEARCH Tim Algoritma Pemrograman Teknik Informatika
SEARCHING (PENCARIAN)
Shorting (Pengurutan)
Algoritma dan Struktur Data
Searching & Sorting Searching Sorting Oleh : Oman Somantri, S.Kom
Algoritma dan Pemrograman Searching
SEARCHING Ada 3 metode pencarian yang akan kita bahas disini:
Review Array Sri Nurhayati, MT.
Algoritme dan Pemrograman
STUKTUR DATA “Sequential Search and Binary Search”
Pencarian (searching)
Algoritma dan Struktur Data
Struktur Data Oleh: Suhendro
SEARCHING Universitas Dian Nuswantoro Semarang 12/7/2018.
SEARCHING Ada 3 metode pencarian yang akan kita bahas disini:
SEARCHING ( PENCARIAN )
FONDASI PEMROGRAMAN & STRUKTUR DATA #9
Transcript presentasi:

Searching

Struktur Data - Searching Cara untuk mengetahui ada tidaknya sebuah / lebih data dari sekumpulan data. Dua (2) hal yang dilakukan dalam searching adalah melihat dan membandingkan data yang tersedia dengan inputan pembanding. Guna mempermudah dan mempercepat searching data, biasanya dilakukan sorting terlebih dahulu terhadap kumpulan data. Struktur Data - Searching

Struktur Data - Searching Algoritma Searching Sequential Search Binary Search Interpolating Search Search with index Struktur Data - Searching

Struktur Data - Searching Sequential Search Metode pencarian data paling sederhana dan lambat. Data array yang dicari tidak perlu diurutkan terlebih dahulu. Secara garis besar metode ini dapat dijelaskan sbb: Dari array yang telah diketahui, input data yang dicari dibandingkan satu persatu mulai data urutan pertama sampai data tersebut ditemukan atau tidak ditemukan. Bila data yang dicari telah ditemukan, maka proses searching dihentikan. Bila belum ketemu, maka proses pencarian akan diteruskan sampai semua data telah dibandingkan. Bila data ditemukan, maka posisi data tersebut dicatat dan dikembalikan pada fungsi pemanggil. Struktur Data - Searching

Struktur Data - Searching Sequential Search bool SeqSearch( int* pos, int *arr, int banyak, int dicari){ for(int i = 0; i < banyak; i++){ if (arr[i] == dicari){ *pos = i; return true; } return false; Struktur Data - Searching

Struktur Data - Searching Sequential Search Dicari = 7 Dicari Return True  = 11 5 15 4 9 7 10 18 20 1 0 1 2 3 4 5 6 7 8 9 = *pos Struktur Data - Searching

Sequential Search (Non Sorting) Dicari = 6 Return False Dicari  11 5 15 4 9 7 10 18 20 1 0 1 2 3 4 5 6 7 8 9 = *pos Struktur Data - Searching

Sequential Search (Sorting First) Dicari = 6 Dicari Return False  1 4 5 7 9 10 11 15 18 20 0 1 2 3 4 5 6 7 8 9 = *pos Struktur Data - Searching

Struktur Data - Searching Menambahkan data baru Biasanya algoritma searching data digunakan pada saat ada penambahan data baru, bila diinginkan data tersebut bersifat unik (tidak boleh kembar). int* larik; void Insert( bool ada, int* aa, int databaru){ int *temp1, *temp2; if(!ada){ *aa = *aa + 1; temp1 = larik; temp2 = new int[*aa]; for(int i = 0; i < *aa; i++) temp2[i] = temp1[i]; delete[] temp1; larik = temp2; larik[*aa - 1] = databaru; } Struktur Data - Searching

Mengisikan data baru pada data yang telah urut Langkah - langkah ini digunakan untuk memasukkan sebuah data pada sebuah kumpulan data yang telah urut. Bila posisi data tersebut berada di akhir array maka proses yang dilakukan seperti pada proses Insert tanpa diurutkan. Bila posisi data tersebut berada pada awal / tengah elemen array yang dicari, maka perlu dilakukan penggeseran elemen – elemen yang bernilai lebih besar dari nilai data yang dicari / data akan di-‘insert’ pada array, dengan kondisi bergeser satu. Struktur Data - Searching

Struktur Data - Searching Binary Search Lebih cepat bila dibandingkan dengan Sequential Search, karena tidak semua data yang ada perlu diperiksa. Metode ini sangat cocok bila diterapkan untuk pencarian yang melibatkan banyak sekali data. Kelemahan dari metode ini adalah, data yang akan dicari / diperiksa perlu diurutkan (di sorting) terlebih dahulu. Metode sorting yang lambat akan memperlambat proses searching. Struktur Data - Searching

Struktur Data - Searching Binary Search bool BinarySearch(int top, int *arr, int *pos, int cari){ int mid, bot = 0; while (bot <= top){ mid = (top + bot) / 2; if ( arr[mid] == cari){ *pos = mid; return true; } else if( arr[mid] < cari) bot = mid + 1; else top = mid - 1; return false; Struktur Data - Searching

Struktur Data - Searching Binary Search Struktur Data - Searching

Struktur Data - Searching Interpolating Search Binary Search sangat cepat prosesnya. Adakah yang lebih cepat Binary Search??? Ada!!! Interpolating Search. Algoritma Interpolating Search mirip dengan Binary Search, tapi menggunakan var. next sebagai pengganti mid. Bila mid = (top + bot) / 2 maka, Struktur Data - Searching

Struktur Data - Searching Interpolating Search bool interpolatingSearch(int top, int *arr, int *pos, int cari){ int next, bot = 0; while (bot <= top){ next = bot + ((cari – arr[bot])/(arr[top] – arr[bot]) * (top – bot – 1)); if ( arr[next] == cari){ *pos = next; return true; } else if( arr[next] < cari) bot = next + 1; else top = next - 1; return false; Struktur Data - Searching

Struktur Data - Searching Interpolating Search Struktur Data - Searching

Struktur Data - Searching Binary Search Lebih cepat bila dibandingkan dengan Sequential Search, karena tidak semua data yang ada perlu diperiksa. Metode ini sangat cocok bila diterapkan untuk pencarian yang melibatkan banyak sekali data. Kelemahan dari metode ini adalah, data yang akan dicari / diperiksa perlu diurutkan (di sorting) terlebih dahulu. Metode sorting yang lambat akan memperlambat proses searching. Struktur Data - Searching

Pencarian dengan Index Bila data yang sangat banyak, maka metode pencarian apapun pasti lambat. Solusi => Tabel Index. Tabel index adalah array yang menyimpan sebuah ‘key’ dari elemen data dan pointer yang menunjuk ke tempat data sesungguhnya. Tabel index, dapat mempercepat pencarian karena membatasi jumlah data yang dicari. Penggunaan tabel index sering digunakan pula untuk mencari data dengan kapasitas sangat besar, yang disimpan pada penyimpan luar (data bertipe file). Harddisk berkapasitas besar tapi lambat (mekanik) RAM cepat (electrik), tapi terbatas. Penggunaan tabel index, dapat pula mempercepat pengurutan data bertipe file, karena yang diurutkan sebenarnya adalah tabel indexnya, bukan data aslinya. Penggunaan tabel index adalah dasar dari database Struktur Data - Searching

Pencarian dengan Index No. NRP Nama Jurusan Tingkat 1 1998.1001 Amir TK D3 2 1998.1002 Ali 3 1998.1010 Badu S1 4 1999.1011 Ina 5 1999.2015 Ani MI 6 1999.2111 Damsyik 7 2000.0001 Iman 8 2000.0021 Amin 9 2000.1010 Ida 10 2001.0054 Layla 11 2001.0110 Syahri 12 2001.0911 Minah Struktur Data - Searching

Pencarian dengan Index 1 1998.1001 Amir TK D3 2 1998.1002 Ali 3 1998.1010 Badu S1 4 1999.1011 Ina 5 1999.2015 Ani MI 6 1999.2111 Damsyik 7 2000.0001 Iman 8 2000.0021 Amin 9 2000.1010 Ida 10 2001.0054 Layla 11 2001.0110 Syahri 12 2001.0911 Minah 1998 1 1999 4 2000 7 2001 10 Struktur Data - Searching

Pencarian dengan Index (pada data file) Tabel index, diloading pada RAM Data berada pada Penyimpan Luar 1001 1 1002 2 1010 3 1011 4 2015 5 2111 6 0001 7 0021 8 9 0054 10 0110 11 0911 12 1 1998.1001 Amir TK D3 2 1998.1002 Ali 3 1998.1010 Badu S1 4 1999.1011 Ina 5 1999.2015 Ani MI 6 1999.2111 Damsyik 7 2000.0001 Iman 8 2000.0021 Amin 9 2000.1010 Ida 10 2001.0054 Layla 11 2001.0110 Syahri 12 2001.0911 Minah Index dari Tabel Index 1998 1 1999 4 2000 7 2001 10 Struktur Data - Searching