Anda di halaman 1dari 5

TUGAS STRUKTUR DATA

NAMA : IRMA SISKA

NIM / BP : 19076051 / 2019

PROGRAM STUDI : PENDIDIKAN TEKNIK INFORMATIKA

DOSEN : VERA IRMA DELIANTI, S.Pd.,M.Pd.T.

PENDIDIKAN TEKNIK INFORMATIKA DAN KOMPUTER


FAKULTAS TEKNIK
UNIVERSITAS NEGERI PADANG
2020
APA ITU ALGORITMA SEQUENSIAL SEARCH?
Algoritma sequensial search adalah metode pencarian suatu nilai secara terurut dari elemen
awal atau terakhir satu per satu dalam penampung seperti array atau list, tanpa ada pengurutan
data.
Biasanya algoritma sequential search ini digunakan untuk mencari data-data yang acak atu tidak
berurutan.

Algoritmanya deskriptifnya adalah :


1. Input data yang dicari (x)
2. Bandingkan x dengan data ke-1 sampai n
3. Jika ada data yang sama dengan x maka cetak pesan “ada”
4. Jika tidak ada data yang sama maka cetak pesan “tidak ada”

Karena pemeriksaan elemen yang dicari dilakukan secara terurut dari elemen pertama
maka akan terjadi 2 kasus
 Kasus terbaik : Nilai yang dicari ditemukan di elemen pertama
 Kasus terburuk : Nilai yang dicari ditemukan di elemen terakhir
Contoh Pemrograman :

Pencarian diatas diperuntukkan jika yg ditemui adalah kasus terbaik.


Keterangan per baris :
Baris ke 1 merupakan header
Baris ke 3 berfungsi untuk mendeklarasikan semua file
Baris ke 5 – 8 berfungsi untuk menentukan true or false
Baris ke 12 fungsi utama
Baris ke 13 untuk memasukkan data yg akan di proses
Baris ke 14 menentukan true or false
Baris ke 15 untuk mencetak

APA ITU ALGORITMA BINARY SEARCH?


Merupakan salah satu metode pencarian yang menangani kasus terburuk (worst case)
pada pencarian secara berurutan. Proses pencarian binary search hanya dapat dilakukan pada
data yang sudah berurutan. Cara pencarian binary ini adalah dengan membagi dua elemen
penampung nilai dan membandingkan nilainya.
Algoritma dari binary search adalah:
1. Tentukan posisi awal = 0 dan posisi akhir = N – 1
2. Hitung posisi tengah = (posisi awal + posisi akhir) / 2
3. Bandingkan data yang dicari dengan elemen posisi tengah
 Jika data yang dicari sama maka catat posisi dan cetak kemudian berhenti
 Jika lebih besar maka akan dilakukan pencarian kembali ke bagian kiri dengan
nilai posisi awal = posisi tengah + 1 dan posisi akhir tetap kemudian ulangi
mulai poin 2
 Jika nilai datanya lebih kecil maka akan dilakukan pencarian kembali ke bagian
kiri dengan nilai posisi awal tetap dan nilai posisi akhir = posisi tengah – 1
kemudian ulangi mulai poin 2.

Contoh Pemrograman :

#include <iostream>

using namespace std;

int funcbinary (int data[], int n, int k)


{
int atas,bawah,tengah,posisi;
bool ada;

ada = false;
bawah = 0;
atas = n - 1;
posisi = -1;

while (bawah <= atas)


{
tengah = (atas + bawah) / 2;
if (k == data[tengah])
{
posisi = tengah;
break;
}
else if (k < data[tengah]) atas = tengah - 1;
else if (k > data[tengah]) bawah= tengah + 1;
}
return posisi;
}

int main ()
{
int kk;
cout << "INPUT ANGKA : "; cin >> kk;
int n = 10;
int data[] = {21,31,48,52,64,78,87,92,105,170};
int k = kk;

int posisi = funcbinary (data,n,k);

if (posisi != -1)
{
cout << "ANGKA " << k << " ditemukan pada indeks ke-" << posisi << endl;
}
else
{
cout << "ANGKA " << k << " tidak ditemukan" << endl;
}
return 0;
}

Untuk yang berwarna merah itu merupakan data yang dicari, ketika Run ketikkan salah satu angka
tersebut.
Keterangan per baris
Baris ke 1 merupakan header
Baris ke 3 untuk mendeklarasikan semua file
Baris ke 5 untuk menginputkan data integer yg akan di proses
Baris ke 7 untuk measukkan data integer
Baris ke 8 untuk pernyataan true false
Baris ke 10 merupakan data bool yg diinputkan
Baris ke 11-13 merupakan data integer yg diinputkan
Baris ke 15-26 merupakan prulangan
Baris ke 28 fungsi utama
Baris ke 30 inputan integer
Baris ke 31 untuk mencetak
Baris ke 32-35 untuk inputan data integer
Baris ke 37-45 merupakan perulangan

Kompleksitas :

KESIMPULAN :
· Pencarian Sekuensial :
a. Kelebihannya :
- Relatif lebih cepat dan efisien untuk data yang terbatas
- Algoritma sederhana
b. Kekuranganya :
- Kurang cepat untuk data dalam jumlah besar
- Beban komputasi cenderung lebih besar
· Pencarian Biner :
a. Kelebihannya :
- Untuk data dalam jumlah besar, waktu searching lebih cepat
- Beban komputasi lebih kecil
b. Kekuranganya :
- Data harus sudah di-sorting lebih dulu ( dalam keadaan terurut )

Anda mungkin juga menyukai