Want to create interactive content? It’s easy in Genially!

Get started free

SEARCHING ALGORITMA & STRUKTUR DATA

Nauly Virya

Created on January 16, 2023

Start designing with a free template

Discover more than 1500 professional designs like these:

Transcript

Let's Go

Algoritma & Struktur Data

Searching

Kelompok 4 : - Cecep Siraz Humaedi - Egi Husen Maulana - Ilhan Hafian Juldan - Nauly Virya Huska Putra - Rizal Saepul Akbar

start

POKOK PEMBAHASAN

1.

PENGERTIAN

2.

MACAM MACAM SEARCHING

3.

CONTOH PROGRAM

Algoritma & Struktur Data

I. PENGERTIAN

Pencarian data adalah suatu proses untuk mengumpulkan informasi dalam media penyimpanan komputer dan kemudian mencari kembali informasi yang diperlukan secepat mungkin.

Sedangkan Searching pada Algoritma adalah proses pencarian nilai dari sebuah larik (array) dengan membandingkan tiap-tiap elemennya berdasarkan algoritma pencarian yang digunakan.

"Untuk mengubah atau mengupdate data tertentu langkah pertama yang harus dilakukan adalah mencari keberadaan data tersebut di dalam kumpulannya."

01

Sequential Search (Pencarian Berurutan).

Macam-macam Searching

Searching di Bahasa Pemrograman Pascal terbagi menjadi 2 macam jenis :

02

Binary Search (Pencarian Bagi Dua).

Sequential Search

Sequential Search adalah pencarian yang membandingkan data yang ada satu per satu secara berurutan sampai data yang dicari ditemukan atau tidak ditemukan. Untuk N elemen data, harus dilakukan pencarian sebanyak N kali juga.

Langkah-langkah algoritma pencarian berurutan : 1. i <- 0 { Inisialisasi i dengan nilai NOL } 2. Ketemu <- false { Inisialisasi Ketemu dengan FALSE} 3. Selama (tidak ketemu) dan (i<=N) maka kerjakan nomor 4 4. Jika (Data[i] = X) maka ketemu bernilai TRUE, jika tidak tambahkan i dengan 1 5. Jika (ketemu bernilai TRUE), maka indeks dari data yang dicari adalah i, jika tidak, maka data tidak ditemukan.

Contoh Program

Sequential Search

Contoh Program Sequential Search adalah sebagai berikut :

Contoh Program

Sequential Search

Output dari Sequential Search adalah sebagai berikut :

"Konsep dari sequential search sebenarnya sangat simpel, yaitu kita memasukkan banyaknya data, lalu kita masukkan angka acak sebagai nilai tiap data yang kita input tadi. Kemudian kita search nilai yang ada di data yang di input, jika ada, maka proses akan berjalan muncul dengan memberi tahu data tersebut berada di indeks ke sekian. Sebagai contoh pada gambar output di samping, jika kita mencari angka '69' maka akan muncul di data pada indeks ke 4."

Contoh Program

Sequential Search

Output dari Sequential Search adalah sebagai berikut :

Dan jika nilai yang kita cari tidak terdapat pada data yang kita input, maka proses akan berjalan ke pemilihan else yang dimana, angka tersebut tidak ditemukan.

Binary Search

Binary search adalah algoritma pencarian untuk data yang terurut. Pencarian dilakukan dengan cara menebak apakah data yang dicari berada ditengah-tengah data, kemudian membandingkan data yang dicari dengan data yang ada ditengah. Bila data yang ditengah sama dengan data yang dicari, berarti data ditemukan. Namun, bila data yang ditengah lebih besar dari data yang dicari, maka dapat dipastikan bahwa data yang dicari kemungkinan berada disebelah kiri dari data tengah dan data disebelah kanan data tengah dapat diabai.

Prinsip dasarnya adalah melakukan proses pembagian ruang pencarian secara berulang-ulang sampai data ditemukan atau sampai ruang pencarian tidak dapat dibagi lagi (berarti ada kemungkinan data tidak ditemukan). Syarat utama untuk pencarian biner adalah data di dalam tabel harus sudah terurut, misalkan terurut menaik.

ALGORITMA & STRUKTUR DATA

Alur Algoritma Binary Search

program Pencarian; {I.S : Data Array sudah terdefinisi} {F.S : Status hasil pencarian ditampilkan} DEKLARASI const Nmaks = 100 type larik = array[1..Nmaks] of integer ketemu : boolean i,N,dicari : integer A : larik ALGORITMA read(N) for i <- 1 to N do write('Data ke-',i,' : ') read(A[i]) endfor read(dicari) {PROSES PENCARIAN} ketemu <- false awal <- 1 akhir <- N while (ketemu = false) and (awal<=akhir) do tengah <- (awal + akhir)div 2; if A[tengah] = dicari then ketemu <- true else {ketemu <- false} if dicari < A[tengah] then awal <- tengah+1 else akhir <- tengah-1 endif endif endwhile if ketemu then write('Nilai ',dicari,' ditemukan di indeks ke-',tengah) else write('Nilai ',dicari,' tidak ditemukan') endif

Contoh Program

Binary Search

Contoh Program Binary Search adalah sebagai berikut :

Contoh Program

Binary Search

Output dari Binary Search adalah sebagai berikut :

Konsep Binary Search

  • Jika data yang di input ke 4 dan ke 5 lebih kecil dari tengah, maka data tersebut akan muncul
  • Sedangkan bila nilai terakhir lebih besar dari yang tengah, maka data tersebut akan diabaikan/tidak ditemukan.

Contoh Program

Binary Search

Output dari Binary Search adalah sebagai berikut :

"Sama halnya jika memasukkan data berangka genap, Maka data yang dicari itu data tengah."

Terima Kasih

Mohon maaf bila yang dijelaskan tidak dapat dicerna karena diluar nalar

Egi Husen Maulana

Rizal Saepul Akbar

Ilhan Hafian Juldan

Nauly Virya Huska Putra

Cecep Siraz Humaedi

224060003

224060031

224060002

224060018

224060014