Anda di halaman 1dari 8

LAPORAN UJIAN AKHIR SEMESTER

STRUKTUR DATA - D

Dosen Pengampu:
Zainal Abidin, S.Kom, M.Kom

Oleh:

Ahmad Azhar Darmawan

(200605110077)

Jurusan Teknik Informatika


Fakultas Sains dan Teknologi
UIN Maulana Malik Ibrahim Malang
2021
1. Judul makalah / Paper yang menjadi acuan dasar pembuatan tugas besar:
ASH Search: Binary Search Optimization
2. a) Nama Jurnal : International Journal of Computer Application (0975 – 8887)
Volume 178 – No. 15, May 2019
b) H-Index : 27
c) Rangking :3
3. Penjelasan Tugas Besar yang akan dikembangkan:
Binary search menjadi opsi yang sering digunakan dalam pencarian data yang
terstruktur bertujuan untuk mengambil objek yang ditentukan oleh fitur dan batasan
dalam ruang pencarian. kali ini metode tersebut akan dikembangkan dan di
implementasikan dalam pencarian data seperti data barang yang tersimpan dalam
storage (dalam array). Sehingga program dirancang dapat mencari urutan data yang
dimasukkan pada storage (array) dengan menggunakan child dengan batas index.
4. Penjelasan model struktur data pada tugas besar yang akan dikembangkan:
Flowchart:

Penjelasan:
Teknik pencarian pada Binary Search adalah dengan menghitung variasi rata – rata
antar elemen array. Jika Jika elemen target lebih besar dari elemen pada indeks
perkiraan maka berarti elemen target terletak di antara indeks perkiraan dan indeks
akhir. Jadi, sekarang indeks awal kita akan diestimasi_index+1. Namun Jika elemen
target lebih kecil dari elemen pada indeks perkiraan maka berarti elemen target
terletak di antara indeks awal dan indeks perkiraan. Jadi, sekarang indeks akhir kita
akan menjadi estimasi_index-1.
5. Algoritma yang dirancang untuk tugas besar adalah dengan implementasikan struktur
data Binary dan array, yang mana pada binary digunakan untuk metode pencarian
data yang tersimpan pada array, array dalam tugas besar ini di gunakan sebagai
storage (penyimpana data). Dengan algoritma binary search:
int est_var = 0;
int start = 0;
int end = this.getLength() - 1;

while (start <= end) {


if (end - start == 0) {
est_var = 1;
} else {
est_var = (int) Math.round((this.getNthChildData(end) -
this.getNthChildData(start))/(end - start));
}
int est_n = (int) Math.round(((s_num - this.getNthChildData(start))/est_var)
+ start);
if (this.getNthChildData(est_n) == s_num) {
return est_n;
} else {
if (s_num > this.getNthChildData(est_n)) {
start = est_n + 1;
} else {
end = est_n - 1;
}
if (this.getNthChildData((int) Math.round(start + (0.5 * (end - start)))) <=
s_num) {
start = (int) Math.round(start + (0.5 * (end - start)));
} else {
end = (int) Math.round(end - (0.5 * (end - start)));
}}}
6. A) Progress report 1:
Progress report pertama membuat gambaran alur program dengan menggunakan
media flowchart. Seperti pada poin nomor 4 yang menjelaskan model program pada
tugas besar.

B) Progress report 2:
Progress report kedua menganalisa algoritma pada paper yang menjadi acuan dalam
pembuatan tugas besar. Serta membuat constructor dan setter&getter pada program.
C) Progress report 3:
Progress ketiga merancang algoritma Binary Search yang mengacu pada algoritma
dalam paper, serta membuat class main sebagai executor.
ScreenShot check jurnal:

Anda mungkin juga menyukai