laporan praktikum asd 3 searching

Upload: loarki-as-sunny

Post on 07-Jul-2018

225 views

Category:

Documents


0 download

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.