• Tidak ada hasil yang ditemukan

TUGAS RUMAH (SEKALIGUS PRAKTIKUM): Tugas Rumah 1

Dalam dokumen laporan 3 ASD searching(PENCARIAN) (Halaman 21-35)

Algoritma : 1. Mulai

2. Membaca header file 3. Pendeklarasian

4. Masukkan jumlah data 5. Membaca fungsi random

6. Tampilan data yang muncul secara random 7. Membaca fungsi

a. Yang termasuk dalam bilangan genap b. Yang termasuk dalam bilangan ganjil 8. Hasil

9. Selesai Deskripsi :

Program diatas menampilkan data secara random dimana user hanya memasukkan jumlah data yang ingin tampilkan. Kemudian program diatas akan mengolongkan data-data sesuai dengan golongan nya yaitu golongan bilangan genap atau pada golongan bilangan ganjil.

D. TUGAS RUMAH (SEKALIGUS PRAKTIKUM): Tugas Rumah 1

Algoritma dan Struktur Data Nama Program : Program Kata

Bahasa Pemrogramam : C++

Script program : #include <stdio.h> #include <ctype.h> #include <string.h> #include <iostream> using namespace std;

void sequential_search(char data[],int cari, const int size); int main() { char kata[100],data1[50],data2[50],data3[50],cari; int i,vokal=0,numerik=0,konsonan=0,size,jml; cout<<endl; cout<<"+++++++++++++++++++++++++++++++++++++++++++++++++++"<<endl; printf(" Masukkan Sebuah Kalimat: ");

gets(kata);

size=strlen(kata);

for (int a=0;kata[a];a++)

{ //Fungsi toupper adalah merubah huruf kecil menjadi huruf kapital if(toupper(kata[a])=='A'||toupper(kata[a])=='I'|| toupper(kata[a])=='U'||toupper(kata[a])=='E'||toupper(kata[a])=='O') { data1[vokal]=kata[a]; vokal++; }

else if (isdigit (kata[a])) {

data2[numerik]=kata[a]; numerik++;

else if (isspace (kata[a])) {} else { data3[konsonan]=kata[a]; konsonan++; } }

printf("\n Kelompok Huruf Vokal = %d = ",vokal); for (i=0;i<vokal;i++)

{

printf("%c ", data1[i]); }

cout<<endl;

printf("\n Kelompok Numerik = %d = ",numerik); for (i=0;i<numerik;i++)

{

printf("%c ", data2[i]); }

cout<<endl;

printf("\n Kelompok Huruf Konsonan = %d = ",konsonan); for (i=0;i<konsonan;i++) { printf("%c ", data3[i]); } cout<<endl; jml=vokal+numerik+konsonan;

printf("\n Banyak Kalimat = %d ",jml); cout<<endl;

printf("\n Data Yang Ingin Anda Dicari : "); scanf("%c",&cari);

sequential_search(kata,cari,size); }

OutProgram : Algoritma :

1. Mulai

2. Membaca header file 3. Pendeklarasian

4. Masukkan sebuah kalimat yang diinginkan 5. Membaca fungsi huruf vokal

6. Membaca fungsi numerik

7. Membaca fungsi huruf konsonan 8. Menampilkan kelompok huruf vokal 9. Menampilkan kelompok numerik

10. Menampilkan kelompok huruf konsonan 11. Membaca fungsi banyak kalimat

12. Menampilkan banyak kalimat 13. Masukkan data yang ingin dicari 14. Hasil

15. Selesai Deklarasi :

void sequential_search(char data[],int cari, const int size) { int i, flag=0; for(i=0;i<size;i++) { if (data[i]==cari) { flag=1; cout<<endl;

printf ("\nData yang Anda di cari ada pada index ke-%d", i); } } cout<<endl; if (flag!=1) { cout<<endl;

printf("Maaf Data yang Anda dicari tidak ditemukan !!!\n"); }

cout<<endl; }

Program ini akan menampilkan Huruf Vokal, Huruf Konsonan, Numerik, dan total kata dari kalimat yang telah diinputkan oleh user. Program diatas juga menggunakan fungsi toupper. Fungsi toupper sendiri berguna untuk mengubah huruf kecil menjadi huruf kapital. Hasil dari data diatas adalah posisi indeks yang dicari, dan menampilkan semua data ketika data yang dicari lebih dari satu.

Tugas Rumah 2

Algoritma dan Struktur Data

Nama Program :Program searching number dengan input random Bahasa Pemrogramam : C++

Script program : #include <iostream> #include <iomanip> #include <conio.h> #include <stdio.h> #include <stdlib.h> #include <cmath> using namespace std; int data[100];

int flag = 0, i, banyak, metode; int a, b=0;

int awal, akhir, tengah, pos, cari, posisi; int temp;

char urutkan; char tampil;

int binary(){

while(awal<=akhir && flag==0) { tengah=(awal+akhir)/2; if(data[tengah]==cari) { flag=1; break; }

else if(data[tengah]<cari) { awal=tengah+1; printf("cari kiri\n"); } else { akhir=tengah-1; printf("cari kanan\n");

main(){

cout<<endl;

cout<<"Masukkan jumlah data yang digunakan : "; cin>>banyak;

cout <<endl;

cout<<"Tampilkan Data [Y/T] : "; cin>>tampil;

cout<<endl;

if (tampil == 'Y' || tampil == 'y'){ for(int j=0; j<banyak;j++){ data[j] = rand()%banyak; cout << " " << data[j] << " "; } } else { } cout<<endl<<endl;

cout<< "\n\nUrutkan data [Y/T] : "; cin>>urutkan;

cout<<endl;

if(urutkan == 'Y' || urutkan == 'y'){ for(int ii=0; ii<banyak; ii++){ if(data[ii] >= data[ii+1]){ temp = data[ii]; data[ii] = data[ii+1]; data[ii+1] = temp; metode = 1; } } }

else {

metode = 0; }

cout<<endl;

cout<<"Masukkan data yang akan dicari : "; cin>>cari;

cout<<endl<<endl; if(metode != 0){

cout<<"|=========================|"<<endl; cout<<"|Pilih metode pencarian : |"<<endl; cout<<"|---|"<<endl; cout<<"|[1] Binary |"<<endl; cout<<"|[2] Interpolation |"<<endl; cout<<"|=========================|"<<endl; cout<<"Pilihan metode : "; cin>>metode; } if(metode == 0){ for(i = 0;i<banyak;i++){ if(data[i] == cari){ flag = 1; break; } } } else if(metode == 1){ binary(); } else if(metode == 2){ interpolation(); }

if(flag == 0) cout << "Data Ditemukan "; else cout << "Data Ditemukan ";

getch(); return 0; }

OutProgram :

Algoritma : 1. Mulai

2. Membaca header file 3. Pendeklarasian

4. Membaca fungsi binary search 5. Membaca fungsi interpolation search 6. Masukkan jumlah data

7. Pilihan menampilkan data, jika Y data akan ditampilkan dan jika T data tidak tampilkan. Data yang tampilkan secara random

8. Masukkan data yang dicari

9. Pilihan mengurutkan data, jika Y data akan diurutkan dan jika T data tidak diurutkan 10. Pilih metode search, akan masuk ke pilihan metode pilihan jika pada pilihan

mengurutkan data user memilih Y jika user memilih T maka data yang dicari langsung ditampilkan

11. Hasil pencarian 12. Selesai

Deklarasi :

Program diatas menggunakan fungsi metode pencarian binary search dan

interpolation search. Program tersebut akan menampilkan sebuah data yang banyak data nya diinputkan oleh user tetapi data-data yang akan muncul secara random. Kemudian pada pilihan urutkan data, jika user ingin mengurutkan data maka user akan menuju kemenu metode searching diantaranya binary dan interpolation seacrh, jika user tidak mengurutkan data akan langsung dicari menggunakan linear search.

Tugas Rumah 3

Algoritma dan Struktur Data Nama Program : Program mengubah kata Bahasa Pemrogramam : C++

Compiler : Code Blocks. Script program :

#include <stdio.h> #include <iostream> #define N 255

Output Program :

Algoritma : 1. Mulai

2. Membaca header file 3. Pendeklarasian

4. Masukkan sebuah kalimat yang diingikan 5. Masukkan karakter yang dicari

6. Masukkan karakter pengganti

7. Menampilkan hasil sesuai dengan karakter yang diganti .

8. Untuk pergantian karakter program akan memanggil fungsi replace 9. Selesai

Deklarasi :

Program diatas untuk mengubah karakter dari kalimat yang dimasukkan oleh user. User juga memasukkan karakter yang dicari dan kemudian user memasukkan karakter penggantinnya. Pertama user memasukkan sebuah kalimat yang diinginkan, kemudian user memasukkan karakter yang ingin diganti. Setelah itu user memasukkan karakter

void replace(char *data, char find, char replace){ int i=0;

while(*data !='\0'){

/* fungsi merubah karakter */

*data=((*data == find)?replace:*data); data++;

i++; } }

penggantinya. Kemudian program akan memanggil fungsi replace atau fungsi untuk merubah karakter yang telah ditentukan. Setelah itu hasil replace akan keluar sesuai dengan karakter yang ingin diganti tadi dengan karakter penggantinya.

E. KESIMPULAN.

1. Sequential Search adalah teknik pencarian data dimana data dicari secara urut dari depan ke belakang atau dari awal sampai akhir.

2. Kelebihan dari proses pencarian secara sequential ini jika data yang dicari terletak didepan, maka data akan ditemukan dengan cepat.

3. Binary search metode pencarian ini, data harus diurutkan terlebih dahulu.

6. Interpolation search. Seperti pada binary search, data yang harus diurutkan terlebih dahulu, sebelum dapat dilakukan pencarian dengan metodeini.

7. 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

Dalam dokumen laporan 3 ASD searching(PENCARIAN) (Halaman 21-35)

Dokumen terkait