laporan praktikum asd 3 searching
TRANSCRIPT
-
8/18/2019 Laporan Praktikum ASD 3 Searching
1/23
LAPORAN PRAKTIKUM III
SEARCHING
Disusun untuk Memenuhi Matakuliah Praktikum Algoritma dan Struktur Data
Dibimbing oleh Ibu Triyanna Widyaningtyas
Oleh:MUHAMMAD BAKHRUR RIZKI
150533604505
S1 PTI-C /2015
UNIVERSITAS NEGERI MALANG
FAKULTAS TEKNIK
JURUSAN TEKNIK ELEKTRO
PRODI S1 PENDIDIKAN TEKNIK INFORMATIKA
Maret 2016
-
8/18/2019 Laporan Praktikum ASD 3 Searching
2/23
A. TUJUAN
1. Mahasiswa dapat melakukan perancangan aplikasi menggunakan struktur
Searching (Pencarian)
2. Mahasiswa mampu melakukan analisis pada algoritma Searching yang dibuat
3. Mahasiswa mampu mengimplementasikan algoritma Searching pada sebuah
aplikasi secara tepat dan efisien
4. Mahasiswa mampu menjelaskan mengenai algoritma Searching.
5. Mahasiswa mampu membuat dan mendeklarasikan struktur algoritma Searching.
6. Mahasiswa mampu menerapkan dan mengimplementasikan algoritma Searching.
Latihan Praktikum I
Pemrograman C++
Nama Program : Sequential Search
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
-
8/18/2019 Laporan Praktikum ASD 3 Searching
3/23
Output Program :
Algoritma :
1. Mulai
2.
Deklarasi Fungsi cari
3. Deklarasi variabel posisi, i, ketemu
4. Proses kondisi jika banyaknya data kurang dari sama dengan 0
Maka posisi -1
5. Jika banyaknya data lebih dari 0
Maka proses pencarian data
6. Masuk menu utama
7. Deklarasi array data
8. Deklarasi variabel dicari
9. Pemanggilan fungsi cari
10. selesai
Penjelasan Program :
Program di atas digunakan untuk proses pencarian data pada kumpulan data yang
menggunakan metode sequential search, dimana data dalam array dibaca 1 demi satu, diurutkan
dari index terkecil ke index terbesar, maupun sebaliknya.
Proses jalannya program pertama-tama yaitu program akan melihat apakah banyaknya
data array kurang dari sama dengan 0 atau lebih dari 0, apabila kurang dari sama dengan 0
maka posisi data = -1, jika lebih dari 0 maka masuk proses pencarian data dengan cara mencari
satu persatu data dari array hingga ketemu.
-
8/18/2019 Laporan Praktikum ASD 3 Searching
4/23
Latihan Praktikum II
Pemrograman C++
Nama Program : Binary Search
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
Output Program :
-
8/18/2019 Laporan Praktikum ASD 3 Searching
5/23
Algoritma :
1.
Mulai
2. Deklarasi Fungsi poscar
Masuk proses pencarian data
3. Masuk munu utama
4.
Deklarasi variabel kalimat, dicari
5. Proses pemanggilan fungsi poscar
6. Selesai
Penjelasan Program :
Program di atas digunakan untuk proses pencarian data pada kumpulan data yang
menggunakan Metode binary search, pada metode pencarian ini, data harus diurutkan terlebih
dahulu. Pada metode pencarian ini, data dibagi menjadi dua bagian (secara logika), untuk setiap
tahap pencarian.
Proses jalanya program diatas yaitu pertama-tama program akan memproses fungsi
poskar, didalam fungsi inilah proses pencarian data dilakukan dengan cara membuat suatu
perulangan disini menggunakan fungsi while, yang digunakan untuk mencari data yang dicari
dengan melakukan pencarian dietiap data secara berulang-ulang. Lalu masuk ke menu utama
dan memanggila fungsi poskar tadi.
-
8/18/2019 Laporan Praktikum ASD 3 Searching
6/23
Latihan Praktikum III
Pemrograman C++
Nama Program : Fibonacci Search
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
-
8/18/2019 Laporan Praktikum ASD 3 Searching
7/23
Output Program :
-
8/18/2019 Laporan Praktikum ASD 3 Searching
8/23
Algoritma :
1. Mulai
2.
Deklarasi variabel
3. Deklarasi array a dan array fibo
4. Proses menampil data menggunakan perulangan for
5.
Proses perulangan while
6. Input data yang ingin dicarri
7. Proses pencarian data
8. Selesai
Penjelasan Program :
Program di atas digunakan untuk proses pencarian data pada kumpulan data yang
menggunakan Metode Fibonacci Search yaitu pencarian sebuah elemen dalam array satu
dimensi dengan menggunakan angka fibonacci sebagai titik-titik (indeks) elemen array yang
isinya dibandingkan dengan nilai yang dicari.Sama halnya dengan Binary Search, Fibonacci
Search juga mengharuskan data yang sudah terurut baik menaik (ascending) maupun menurun
(descending).
Pada program ini digunakan unuk menentukan apakah data yang ingin dicari ada didalam
kumpulan data atau tidak, apabila ada maka program akan menampilkan “data ditemukan”,apabila tidak ada maka program akan menampilkan “data tidak ditemukan”.
Latihan Praktikum IV
Pemrograman C++
Nama Program : Interpolation Search
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
-
8/18/2019 Laporan Praktikum ASD 3 Searching
9/23
-
8/18/2019 Laporan Praktikum ASD 3 Searching
10/23
Output Program :
Algoritma :
1. Mulai
2.
Deklarasi variabel dan array
3. Input data yang ingin dicari
4. Prose perulangan do while untuk menentukan posisi data yang dicari
Proses menentukan posisi yang mau dicari
Proses kondisi jika data posisi sama dengan yang dicari
Tandai dan keluar dari perulangan
Proses kondisi jika data posisi lebih dari yang dicari
Posisi kurangi 1
Jilka data posisi kurang dari yang dicari
Posisi tambah 1
5. Proses kondii jika posisi ditandai
Data ditemukan
6.
Jika posisi tidak ditandai
Data tifak ditemukan
7.
Selesai
Penjelasan Program :
Program di atas digunakan untuk proses pencarian data pada kumpulan data yang
menggunakan Metode Interpolation Search yaitu pencarian sebuah elemen dalam array satu
dimensi dengan metode interpolasi atau perkiraan secara interpolasi, dimana data harus
diurutkan terlebih dahulu dengan menggunakan rumus
-
8/18/2019 Laporan Praktikum ASD 3 Searching
11/23
lowlowhigh xlowdatahighdata
lowdatakunci Posisi
)(
][][
][
.
a) Jika data[posisi] > data yg dicari, high = pos – 1
b) Jika data[posisi] < data yg dicari, low = pos + 1
Pada program ini digunakan unuk menentukan apakah data yang ingin dicari ada didalam
kumpulan data atau tidak, apabila ada maka program akan menampilkan “data ditemukan”,
apabila tidak ada maka program akan menampilkan “data tidak ditemukan”.
Tugas Praktikum I
Pemrograman C++
Nama Program : Pencarian Posisi Data dari Kanan
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
-
8/18/2019 Laporan Praktikum ASD 3 Searching
12/23
Output Program :
Algoritma :
1. Mulai
2.
Deklarasi array dan variabel
3. Input data yang ingin dicari
4. Proses pencarian data menggunakan perulangan for
5.
Proses kondisi jika data sama dengan yang dicari maka
tandai jumlah perulangannya dihitung mulai dari 1
dan kodisi berakhir
6. jaka data tidak sama dengan yang dicari maka
perulangan berlanjut hingga kondisi terselesaikan
7. output jumlah perulangannya yang telah ditandai
8. Selesai
Penjelasan Program :
Program di atas digunakan untuk mencari posisi data yang ingin dicari dari sekumpulan
data dihitung dari sebelah kanan, dengan menggunakan metode sequential search, yaitu dengan
cara mencari satu persatu data yang sama seperti yang dicari didalam kumpulan data dengan
menggunakan perulangan, dan menandai berapa kali perulangan berlangsung, jika data sama
dengan yang dicari maka tampilkan jumlah perulangan dan perulangan berhenti, dan jika data
tidak sama dengan yang dicari maka perulangan berlanjut hingga kondisi terseleaikan.
Tugas Praktikum II
Pemrograman C++
Nama Program : Menghitung jumlah suatu bilangan dari kumpulan data
-
8/18/2019 Laporan Praktikum ASD 3 Searching
13/23
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
Output Program :
-
8/18/2019 Laporan Praktikum ASD 3 Searching
14/23
Algoritma :
1. Mulai
2.
Deklarasi array dan variabel
3. Input data yang ingin dicari
4. Proses pencarian data menggunakan perulangan for
5.
Proses kondisi jika data sama dengan yang dicari maka
tandai jumlah data yang sama dengan data yang dicari
perulangan berlanjut hingga kondisi terselesaikan
6. jaka data tidak sama dengan yang dicari maka
perulangan berlanjut hingga kondisi terselesaikan
7. output jumlah data yang sama yang telah ditandai
8.
Selesai
Penjelasan Program :
Program di atas digunakan untuk menghitung banyaknya data yang dicari dari
sekumpulan data, dengan menggunakan metode sequential search, yaitu dengan cara mencari
satu peratu data yang sama seperti yang dicari didalam kumpulan data dengan menggunakan
perulangan, dan menandai berapa kali data yang sama itu ditemukan, jika data sama dengan
yang dicari maka tandai dengan memasukkan nilai 1 pada variabel yang dibuat untuk menandai
lalu kembali melakukan perulangan hingga kondisinya terselesaikikan, dan jika data tidak sama
dengan yang dicari maka perulangan berlanjut hingga kondisi terseleaikan. Setelah keluar dari
perulangan lalu tampilkan nilai dari variabel penanda.
Tugas Praktikum III
Pemrograman C++
Nama Program : Mengubah Huruf Yang Dicari Menjadi Huruf Kapital
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
-
8/18/2019 Laporan Praktikum ASD 3 Searching
15/23
Output Program :
Algoritma :
1. Mulai
2. Deklarasi variabel dan array
3.
Input huruf yang ingin dicari
4. Masuk perulangan for
5. Masuk proses kondisi
Jika kata sama dengan yang dicari
Maka ubah kata menjadi huruf kapital, perulangan berlanjut
-
8/18/2019 Laporan Praktikum ASD 3 Searching
16/23
Jika tidak
Maka perulangan berlanjut
6. Tampilkan kalimat yang telah diubah
7.
SelesaiPenjelasan Program :
Program di atas digunakan untuk mencari huruf yang dicari dan mengubah huruf itu
menjadi huruf kapital, dengan menggunakan metode sequential search, yaitu dengan cara
mencari satu persatu huruf yang sama seperti yang dicari didalam kumpulan data huruf dengan
menggunakan perulangan, jika huruf tersebut sama dengan huruf yang dicari maka huruf
tersebut diubah menjadi huruf kapital, lalu perulangan berlanjut kembali hingga kondisi
terpenuhi, apabila huruf tersebut tidak sama dengan huruf yang dicari maka perulangan
langsung dilanjutkan hingga kondisi terpenuhi, setelah perulangan selesai tampilkan data
kalimat yang telah diubah.
Tugas Praktikum IV
Pemrograman C++
Nama Program : Pencarian nama
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
-
8/18/2019 Laporan Praktikum ASD 3 Searching
17/23
Output Program :
Algoritma :
1. Mulai
2.
Deklarasi variabel dan array
-
8/18/2019 Laporan Praktikum ASD 3 Searching
18/23
3. Tampilkan daftar nama
4. Masukkan kunsi nama
5.
Proses pencarian nama yang sesuai dengan kata kunci
6.
Selesai
Penjelasan Program :
Program di atas digunakan untuk pencarian nama dengan menggunakan kata kunci dari
nama tersebut, dengan menggunakan metode sequential search, yaitu dengan cara mencari satu
persatu daftar nama lalu mencari apakah ada kalimat yang sesuai dengan kata kunci tersebut,
apabila ada maka nama terebut ditampilkan.
Tugas Rumah I
Pemrograman C++
Nama Program : Pencarian nama
Bahasa Pemrogramam : C++
Compiler : MinGW Developer Studio
Script program :
#include
#include
#include
struct dt{ char nm[50], kd[8]; int hg,st; };
dt barang[10];
int te(int *t);
int ratabeli(int t);
int main(){int pil,lop,a=0,b=0;
-
8/18/2019 Laporan Praktikum ASD 3 Searching
19/23
do{
system("cls");
printf("\n\t\t\t SELAMAT DATANG DI PUSAT PEMBELANJAAN DISTRO DAYSTROM");
printf("\n\n 1. Masukkan data barang ");
printf("\n\n 2. Tampilkan Semua data barang ");
printf("\n\n 3. Tambahkan Stok Barang ");
printf("\n\n 4. Kurangi Stok Barang ");
printf("\n\n 5. Ubah harga ");
printf("\n\n 6. Hapus Data ");
printf("\n\n 7. Keluar ");
printf("\n\n\t\t\t\t Masukkan Pilihan Anda : ");
scanf("%d",&pil);
system("cls");
switch(pil){
case 1:
printf("\n\n\t\t\tTAMBAH DATA BARANG");do{
printf("\n\n I> Masukkan kode barang : ");
scanf("%s",&barang[a].kd); lop=0;
if(strlen(barang[a].kd)>4){
printf("\n\n\t\tMaaf, Kode Barang tidak boleh lebih dari 4 angka");
lop=1;
}
else if(a>0){
for(b=0;b0);
printf("\n I> Masukkan Nama Barang : ");
gets(barang[a].nm);
gets(barang[a].nm);
printf("\n I> Masukkan Harga Barang : Rp. ");
scanf("%d",&barang[a].hg);
printf("\n I> Masukkan Jumlah Barang (Stok) : ");
scanf("%d",&barang[a].st);
a++; break;
case 2:
printf("\n\n\t\t\tList Data Barang");
printf("\n\n No || Kode Barang || Nama\t|| Harga Barang\t|| Stok\t||\n\n");
for(b=0;b
-
8/18/2019 Laporan Praktikum ASD 3 Searching
20/23
printf("\n\n\t\t\tTambahkan Stok");
tambah:
printf("\n\n Masukkan Kode Barang : ");
scanf("%s",&kdA);
for(b=0;b
-
8/18/2019 Laporan Praktikum ASD 3 Searching
21/23
}}
printf("\n\n Harga Lama %s : Rp. %d ",kdA,barang[b].hg);
printf("\n\n Masukkan Harga Baru : Rp. ");
scanf("%d",&ubah);
barang[b].hg=ubah;
printf("\n\n Harga Barang Berhasil diubah...\n\n");
system("pause");
break;
case 6:
printf("\n\n\t\t\tHapus Data");
hapus:
printf("\n\n Masukkan Kode Barang : ");
scanf("%s",&kdA);
for(b=0;b
-
8/18/2019 Laporan Praktikum ASD 3 Searching
22/23
Algoritma :
1.
Mulai
2. Deklarasi variabel dan array
3.
masuk menu pilihan proses switch case
jika memilih 1
proses penambahan barang
jika memilih 2
proses penampilan barang
jika memilih 3
proses penambahan stok barang
jika memilih 4
proses mengurangi stok barang
jika memilih 5
proses mengubah harga barang
jika memilih 6
proses menghapus data barang
jika memilih 7
keluar atau selesai
4.
akhir proses switch case
Penjelasan Program :
Program di atas digunakan untuk memanajemen kondisi barang dari suatu swalayan,
dengan menggunakan metode sequential search, dimana sekuensial search ialah dengan
mengecek satu persatu indeks dari struct dari depan ke belakang atau dari awal sampai akhir,
-
8/18/2019 Laporan Praktikum ASD 3 Searching
23/23
dengan demikian apabila data yang tersebut tidak ditemukan dari indeks ke 0 akan melanjutkan
ke indeks berikutnya.
KESIMPULAN
Secara umum search dapat diartikan mencari data dengan cara menelusuri tempat
penyimpanan data tersebut. Tempat penyimpanan data dalam memory dapat berupa array atau
dapat juga dalam bentuk Linked List.
Pencarian dapat dilakukan terhadap data yang secara keseluruhan berada dalam memory
komputer ataupun terhadap data yang berada dalam penyimpanan eksternal (hard disk).
Terdapat empat metode searchching yang kita pelajari pada praktikum kali ini yaitu:
1. Sequential Search
2. Binnari Search
3.
Fibonacci Search
4. Interpolation Search
Setelah melakukan praktikum ini saya bisa melakukan perancangan aplikasi struktur
Searching, melakukan analisis pada algoritma Searching, dan mengimplementasikan algoritma
tersebut kedalam bentuk program.
DAFTAR RUJUKAN
1. Tim Asisten Dosen. 2015. Modul 1 Struct, Array, Pointer. Malang: Universitas Negeri
Malang.
2.
Tim Asisten Dosen. 2015. Modul 2 Sorting (pengurutan). Malang: Universitas Negeri
Malang.
3. Tim Asisten Dosen. 2015. Modul 3 Searching. Malang: Universitas Negeri Malang.