LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Searching ( Pencarian ) Modul III

dokumen-dokumen yang mirip
Sequential Search (Linear Search)

BAB 3 SEARCHING A. TUJUAN

Modul Praktikum Algoritma dan Struktur Data

Algoritma dan Struktur Data

ALGORITMA DAN STRUKTUR DATA SEARCHING ARRAY

Modul 8 SORTING (PENGURUTAN)

Modul 15 Searching. 1.1 Kompetensi

Rekursif/ Iterasi/ Pengulangan

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman

TEORI KONSEP PEMPROGRAMAN 3.1

# FOUR LOOPING. JAWABAN 1. #include <stdio.h> #include <conio.h> #define pi void main(){

E STRUKTUR DATA & E PRAKTIK STRUKTUR DATA. Array & Searching Array. Alfa Faridh Suni, S.T., M.T. PTIK

Looping : break, continue, nested loop

Pengenalan Bahasa C week 1

Praktikum 7. Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI:

LAPORAN PRAKTIKUM V. Oleh:

ALGORITMA PEMOGRAMAN SEMESTER GENAP 2017/2018

Perulangan, Percabangan, dan Studi Kasus

IT234 - Algoritma dan Struktur Data. Ramos Somya

MODUL I PENGENALAN IDE C++, ALGORITMA DAN PEMROGRAMAN

Array 1 A. TUJUAN PEMBELAJARAN

IT234 - Algoritma dan Struktur Data. Ramos Somya

PERULANGAN PROSES. Proses perulangan ditandai dengan mekanisme yang disebut loop. Proses Loop : Proses yang berulang-ulang

ARRAY DIMENSI SATU Setiap elemen array dapat diakses melalui indeks. Indeks array secara default dimulai dari 0.

BAHASA PEMROGRAMAN C

REVIEW ARRAY. Institut Teknologi Sumatera

1. Mempelajari konsep dasar array, array ganda, pengiriman array ke fungsi dan string 2. Membuat program menggunakan array, array ganda

MODUL. Array (Larik) Modul Praktikum C++ Dasar Pemrograman Komputer JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

Algoritma dan Struktur Data. Searching dan Sorting

ALUR PROGRAM. SELEKSI KONDISI Statement If a. Bentuk If tunggal sederhana Sintaks : if ( kondisi ) statement ;

Pencarian (Searching)

Bahasa C-M6 By Jamilah, Skom 1

Algoritma Shell Sort Ascending Dan Binary Sequential Search Menggunakan C

Larik/ Array int a1, a2, a3, a4, a5;

ARRAY PENGANTAR PROGRAM STUDI. Institut Teknologi Sumatera

Pengulangan. Overview. Tujuan. 1.1 Konsep Pengulangan

A. TUJUAN PEMBELAJARAN

MODUL 10 Fungsi 10.1 Kompetensi 10.2 Alat Dan Bahan: 10.3 Ulasan Teori: Dasar Fungsi Deklarasi Fungsi

Modul Praktikum Algoritma dan Struktur Data

BAB 5 PERULANGAN DAN ARRAY

Algoritma dan Pemrograman

PRAKTIKUM 6 PENGULANGAN PROSES 2

:Mahasiswa dapat mempraktekkan penggunaan array

Pertemuan2 Percabangan & Perulangan pada Python

Pemrograman Dasar C. Minggu 6

Kontrak Perkuliahan & Introduction

PERTEMUAN 2 KONSEP DASAR PEMROGRAMAN

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

Array LOGO. Pendidikan Teknik Elektronika FT UNY. Muh. Izzuddin Mahali, M.Cs.

Pengenalan Bahasa C. Yuli Sun Hariyani D3 Teknik Telekomunikasi Institut Teknologi Telkom

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-7 Pencarian (Searching) 2

JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK Universitas Widyatama UJIAN TENGAH SEMESTER TA. 2009/2010

PENYELEKSIAN KONDISI

MODUL DUA VARIABEL DAN TIPE VARIABEL

Bab 3. Decision 1 (Pengambilan Keputusan)

Algoritme dan Pemrograman

LAPORAN PRAKTIKUM I. Oleh:

Langkah Mudah Belajar Struktur Data Menggunakan C/C++

Cara pertama adalah pada saat deklarasi variabel ditambahkan ke- yword const sebelum nama tipe data seperti

STRUKTUR DATA MENGGUNAKAN C++ Windha Mega PD, S.Kom

Chapter 1 KONSEP DASAR C

Perulangan / Looping

: Mahasiswa dapat membuat mempraktekkan perintah Array/ Matriks

BAB 5. KONDISI DAN ARRAY

BAB 4 PENGENALAN BAHASA C

Fungsi : Dasar Fungsi

OPERATOR, PERULANGAN DAN SELEKSI KONDISI

MODUL PRAKTIKUM TI014 STRUKTUR DATA Season 1

MODUL PRAKTIKUM ALGORITMA DAN STRUKTUR DATA PERTEMUAN 1

ARRAY. Karakteristik

SEARCHING ARRAY. searching. Pendahuluan.

P11 Array. A. Sidiq Purnomo Program Studi Teknik Informatika Universitas Mercu Buana Yogyakarta

Tipe Data, Variabel, Input/Output

Pertemuan 9: BRANCHING/PERCABANGAN dalam C LOOPING/PERULANGAN/ITERASI dalam C

IF ELSE IF ELSE. BU : if (kondisi1) Statement; else if (kondisi2) Statement;

ARRAY DIMENSI 1 & 2. Array dapat didefinisikan sebagai suatu himpunan hingga elemen yang terurut dan homogen.

Praktikum 8. Pengurutan (Sorting) Bubble Sort, Shell Sort

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

Array ARRAY BERDIMENSI SATU. Representasi (Pemetaan) di memori. Lihat gambar dibawah ini, nilai data A (18) dismpan mulai dari alamat 1136 di memori.

PENCARIAN (SEARCHING)

LAPORAN PRAKTIKUM SEMENTARA PENGANTAR PEMROGAMAN BAHASA C++

ALGORITMA (2) Mengupas Kentang

Dasar Pemrograman. Kondisi dan Perulangan. By : Hendri Sopryadi, S.Kom, M.T.I

Tipe Data dan Operator

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

LAPORAN PRAKTIKUM RESMI QUEUE

OPERATOR DAN STATEMEN I/O

Pencarian pada Array. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

BAB I. LARIK (ARRAY) Array (larik) ialah penampung sejumlah data sejenis (homogen) yang menggunakan satu identifier (pengenal).

a. Array berdimensi satu o Setiap elemen array dapat diakses melalui indeks. o Indeks array (subscript) secara default dimulai dari 0.

SEQUENTIAL/ URUTAN Program dijalankan mulai dari perintah paling atas/ awal sampai paling akhir secara berurutan/ sekuensial.

Pertemuan 2 ARRAY DIMENSI 1 & 2

BAB VI BAHASA C Pendahuluan

Tabel Informasi. Hal di atas dapat dilakukan dengan menambah dan mengambil atribut identifier yang digunakan pada program, melalui tabel informasi.

Tipe Data dan Variabel

BAB IV PENGULANGAN PROSES

2.3 Algoritma Tidak Berhubungan dengan Bahasa Pemrograman Tertentu

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

Modul Dasar dasar C. 1. Struktur Program di C++

Struktur Kontrol. 1.Pemilihan (Selection) 2.Pengulangan (Repetition)

Transkripsi:

LAPORAN PRAKTIKUM ALGORITMA DAN STRUKTUR DATA Searching ( Pencarian ) Modul III UNTUK MEMENUHI TUGAS MATAKULIAH PRAKTIKUM ALGORITMA DAN STRUKTUR DATA yang dibina oleh Bapak Didik Dwi Prasetya Oleh: Adhe Noer Khomala Dewi ( 120533430978 ) FAKULTAS TEKNIK JURUSAN TEKNIK ELEKTRO PRODI S1 PENDIDIKAN TEKNIK INFORMATIKA UNIVERSITAS NEGERI MALANG FEBRUARI 2013

MODUL III SEARCHING ( Pencarian) A. Tujuan Tujuan Instruksional Umum 1. Mahasiswa mampu melakukan 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 Tujuan Instruksional Khusus 1. Mahasiswa mampu menjelaskan mengenai algoritma Searching. 2. Mahasiswa mampu membuat dan mendeklarasikan materi struktur algoritma Searching. 3. Mahasiswa mampu menerapkan dan mengimplementasikan materi mengenai algoritma Seacrhing. A. Dasar Teori Searching adalah pencarian data dengan cara menelusuri data-data tersebut. Terdapat beberapa metode searching antara lain; 1. Sequential Search, 2. Index Sequential Search, 3. Binary Search, 4. Fibonacci Search. 1. Sequential Search ( Linear Search ) Teknik pencarian data dari array yang paling mudah adalah dengan cara sequential search, dimana data dalam array dibaca 1 demi satu, diurutkan dari index terkecil ke index terbesar, maupun sebaliknya.

Contoh : Array; int a[5] = {0,3,6,10,1}, (index array pada bahasa C++ dimulai dari index ke 0!!!) jika kita ingin mencari bilangan 6 dalam array tersebut, maka proses yang terjadi kita mencari; a) Dari array index ke-0, yaitu 0, dicocokan dengan bilangan yang akan dicari, jika tidak sama, maka mencari ke index berikutnya. b) Pada array index ke-1, juga bukan bilangan yang dicari, maka kita mencari lagi pada index berikutnya c) Pada array index ke-2, ternyata bilangan yang kita cari ada ditemukan, maka kita keluar dari looping pencarian. Output : 2. Binary Search Metode pencarian yang kedua adalah 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.

Algoritma binary search : 1. Data diambil dari posisi 1 sampai posisi akhir N 2. Kemudian cari posisi data tengah dengan rumus: (posisi awal + posisi akhir) / 2 3. Kemudian data yang dicari dibandingkan dengan data yang di tengah, apakah sama atau lebih kecil, atau lebih besar? 4. Jika lebih besar, maka proses pencarian dicari dengan posisi awal adalah posisi tengah + 1. 5. Jika lebih kecil, maka proses pencarian dicari dengan posisi akhir adalah posisi tengah 1 6. Jika data sama, berarti ketemu. Contoh source binary search : Output:

3. Interpolation Search Interpolation search merupakan salah satu metode pencarian yang dapat digunakan. Seperti pada binary search, data yang harus diurutkan terlebih dahulu, sebelum dapat dilakukan pencarian dengan metode ini. Pada metode pencarian ini, kita mencoba menebak letak data yang kita cari, dengan perhitungan: Jika data[posisi] > data yg dicari, high = pos 1 Jika data[posisi] < data yg dicari, low = pos + 1 #include <stdio.h> #include <math.h> void main () { int array_a[10]=(11, 12, 21, 25, 30, 34, 45, 65, 73, 81); int low, high, pos, cari, flag=0; float posisi; low=0; high=9; //dari banyak_data-1 printf ("data yang anda cari : "); scanf ("%i", &cari); do { posisi=(float) ((cari-array_a[low])/(array_a[high] array_a[low]))*(high-low)+low; pos = floor (posisi); if (array_a[pos]==cari) { flag=1; break; } if (array_a[pos]>cari) high-pos-1; else if (array_a[pos]<cari) low=pos+1; } while (cari>=array_a[low] && cari<=array_a[high]; if (flag==1) printf("data ditemukan"); else printf ("data tidak ditemukan "); } Output: Tambahan materi: Break; Digunakan untuk keluar dari suatu blok perintah.

Continue; Digunakan untuk mem by-pass satu iterasi pada perulangan. Contoh kode: (dijalankan dan dipelajari cara kerjanya) #include <stdio.h> void main () { for (int i=0;i<10;i++) { for (int j=10;j>0;j--) { if (i+j==10) break; //if (i+j==10) continue; //Hilangkan tanda slash di depan if, dan beri slash 2 di depan if yang atas untuk mencoba kode continue printf ("%i ", i +j); printf ("pass"); } printf ("\n"); } } B. Latihan Latihan 1 Source Code MinGW Developer Studio dalam bentuk Printscreen:

Hasil Eksekusi:

Deskripsi: Program di atas adalah program untuk memilih menu searching dimana banyak pilihan menu searching. Bila kita menginputkan pilhan 1 maka akan menampilkan metode sequential search dan lainnya. Di dalam program ini banyak sekali menggunakan perulangan for. Misalnya for (i=0;i<jum_data;i++) digunakan untuk perulangan jumlah data yang diinputkan. Latihan 2 Source Code MinGW Developer Studio dalam bentuk Printscreen: Nomer 2a:

Hasil Eksekusi:

Deskripsi: Program di atas program yang digunakan untuk mencari dan menampilkan suatu bilangan yang dicari beserta indeksnya. Program ini menggunakan sequential seacrh.. Dimana pada sequential search ini data dalam array dibaca 1 demi satu, diurutkan dari index terkecil ke index terbesar, maupun sebaliknya. Program ini menginputkan data samapai maksimal yang program deklarasikan. Bila ada data yang sama, maka program akan menuliskan di indeks e berapa data tersebut yang sama. Perhatikan hasil keluaran program di atas. Nilai data ke 1 dan 3 mempunyai nilai yang sama, oleh sebab itu dalam program dengan syntax di bawah ini untuk memunculkan diindeks ke berapa data yang sama. printf (" Data tersebut terdapat dalam index ke : "); for (i=0; i<x; i++) { printf ("%d",index[i]); printf (", "); } Nomer 2b. Source Code MinGW Developer Studio dalam bentuk Printscreen:

Hasil Eksekusi: Deskripsi : Program di atas adalah program yang menggunakan aray dua dimensi yang menghitung nilai misalnya [3][4]. Maksud dari [3][4] yaitu, [3] menyatakan jumlah baris dan [4] menyatakan jumlah kolom. Kemudian program akan meminta user untuk menginputkan data. Misal [i]1, [j]2 = 4. Hal ini merupakan intruksi untuk memberikan nilai 4 ke baris 1 kolom 2. Setelah itu program akan melakukan perulangan for (a=0; a<i; a++) apabila data yang diinputkan user memenuhi syarat dari perulangan tersebut, program akan melakukan perulangan. Langkah selanjutnya program akan menampilkan hasil inputan dari elemen array menjadi elemen matriks dan program selesei.

Latihan 3 Source Code MinGW Developer Studio dalam bentuk Printscreen: Nomer 1.

Hasil Eksekusi: Deskripsi: Program ini merupakan program menginputkan data yang menggunakan array dimensi 1. Program ini juga meminta user untuk menginputkan data atau array sebanyak yang diinginkan maksimal 25. for(i=0;i<jum_data;i++) perulangan ini digunakan untuk mencari nilaiyang diinginkan user untuk kemudian dicari data tersebut terletak pada indeks ke berapa. Program ini juga menggunakan searching yaitu penerapan sequential search. Dimana pada sequential search ini data dalam array dibaca 1 demi satu, diurutkan dari index terkecil ke index terbesar, maupun sebaliknya. Nomer 2 Source Code MinGW Developer Studio dalam bentuk Printscreen:

Hasil Eksekusi program: Deskripsi: Program di ats ini merupakan program yang digunakan untuk menampilkan bilangan ganjil dan genapmenggunakan random (acak otomatis), sehingga kita tidak perlu menginputkan bilangan ganjil dan genap sendiri. Karena di dalam program random secara otomatis akan langsung keluar hasilnya, disini hanya perlu menginputkan banyaknya jumlah data. Ini pengulangan untuk random. for(a=1;a<=n;a++){bil[a]=rand(); cout<<"\t("<<bil[a]<<")"; }

C. Tugas Praktikum Tugas 1. Source Code MinGW Developer Studio dalam bentuk Printscreen:

Hasil Eksekusi Program: Deskripsi: Program di atas merupakan program mencari huruf konsonan, vokal dan numerik. Huruf vocal terdiri dari a, i, u, e, o. Dan huruf konsonan selain dari huruf vokal tadi. Sedangkan Huruf numerik merpakan karakter misalnya spasi,, dll. if(kata[a]=='a' kata[a]=='i' kata[a]=='u' kata[a]=='e' kata[a] =='o') merupakan syntax yang digunakan untuk mencari huruf vokal. Perhatikan untuk mengecek suatu variabel terhadap karakter, kita mengapitnya dalam tanda petik tunggal, jadi; Kata[a]== 'a'. Untuk string (kumpulan karakter), yakni yang dipakai adalahtanda petik ganda. Jadi; x = aku.

Tugas 2 Source Code MinGW Developer Studio dalam bentuk Printscreen:

Hasil Eksekusi : Deskripsi: Program di atas menampilkan program kursiyang tersedia pada bioskop. 0=kosong sedangkan 1=terisi. Program ini menggunakan array untuk menentukan jumlah kursi yang tersedia. Program ini juga menggunakan perulangan for. for(i=0; i<5; i++) perulangan untuk menginputkan nomer kursi ke berapa sebanyak 5 sesuai dengan perulangan. Namun disini dideklarasikan array_a sebanyak 30 kursi sehinggan maksimal penginputan nomer tidaka boleh lebih dari angka 30. if (array_a[i]==0) pendeklarasian untuk mencari kursi yang kosong if (array_a[i]==1 untuk mencari kursi yang terisi.

Kesimpulan: Searching adalah pencarian data dengan cara menelusuri data-data