Anda di halaman 1dari 22

LAPORAN PRAKTIKUM RESMI SEARCHING

Disusun oleh : Unggul Budi Suryanto 201301011

Dosen pengampu : Yosef Murya Kusuma Ardhana.S.T., M.Kom

JURUSAN SISTEM INFORMASI SEKOLAH TINGGI ILMU KOMPUTER YOS SUDARSO PURWOKERTO 2014

BAB I DASAR TEORI Pencarian(searching) adalah tindakan untuk mendapatkan suatu data dalam kumpulan data. Untuk keperluan pencariandata, terdapat beragam algoritma pencarian (search algorithm). Menurut tenenbaum dan augenstein, algoritma pencarian yaitu algoritma yang menerima sebuah argumen X dan mencoba untuk menemukan sebuah rekaman yang memiliki kunci X. Sebagai contoh pencarian data mahasiswa dengan nim 201301011, maka hasilnya adalah record yang berisi data mahasiswa tersebut yang didalamnya kemungkinan berisi nama, alamat, tempat tanggal lahir dan program studi. 1. Pencarian sekuensial (sequential search) Adalah model pencarian yang paling sederhana terhadap suatu kumpulan data. Nama lainnya adalah pencarian lurus(linear search). Terdapat L yang merupakan larik (array) yang berisi n buah data. L[0], L[1],......,L[n-1] dan k adalah data yang dicari. Rumus : L[i]=k Ket : i adalah data terkecil yg memenuhi kondisi 0kn-1 2. Pencarian biner (binary search)

Pencarian biner atau binary search yaitu sebuah metode pencarian data dengan waktu yang cepat, yaitu dengan cara membagi dua data. Contoh kasus dalam kehidupan sehari hari yaitu saat kita melakukan sebuah pencarian suatu kata dalam kamus bahasa inggris, maka kita akan mencarinya dengan cara membagi halaman yang akan dicari, jika kata yang dicari tidak ada disebelah kiri maka kita akan mencariya dibagian sebelah kanan sampai kata yang tadi dicari ketemu. 3. Pencarian pada string Pencarian pada string yaitu pencarian suatu huruf pada suatu kalimat. Misalkan kita akan mencari huruf L dalam kalimat unggul budi suryanto maka yang akan ditampilkan posisi huruf L ada diposisi 5.

1. Listing Program
/* * praktikum5_1.cpp * * Created on: 6 Apr 2014 * Author: unggul budi suryanto

*/

#include<iostream> using namespace std;

int cari(int data[], int n, int k) { int posisi, i, ketemu; if (n <=0) posisi=-1; else { ketemu=0; i=1; while ((i<n-1) && !ketemu) if (data[i] == k) { posisi = i; ketemu = i; } else i++; if (!ketemu) posisi=-1; } return posisi; } int main() { int data[8]={10,9,6,4,7,5,4,1}; int dicari=4; cout<<"posisi "<<dicari<<" ada dalam larik data ke: "<<cari(data,8,dicari)<<"\n"; return 0; }

Output dari listing program 5_1.

Penjelasan listing program praktikum 5.1 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai.

3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. int data, n, k, posisi, i ketemu adalah deklarasi variabel n,data, k, posisi, i, ketemu yang bertipe data integer. 5. If(n <=0) ..... adalah rumus yang akan digunakan dalam program. 6. Return posisi berfungsi untuk mengembalikan ke instruksi posisi apabila instruksi belum ditemukan. 7. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 8. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 9. Pemanggilan istruksi dilkukan saat var <<cari dipanggil. 10. return 0; digunakan untuk membaca data karakter

/* * program5_2.cpp * * Created on: 6 Apr 2014 * Author: unggul budi suryanto */ #include<iostream> using namespace std; int caribiner(int data[], int n, int k) { int ada, atas, bawah, tengah, posisi; ada=0; bawah=0; atas=n-1; while (atas>=bawah) { tengah=(atas+bawah)/2; if (k>data[tengah]) bawah=tengah+1; else if (k<data[tengah]) atas=tengah-1; else { ada=1; posisi=tengah; bawah=atas+1; } } if(!ada) posisi=-1; return posisi; } int main() { int data[]={10, 9, 7, 6, 5, 4, 3, 1 };

int dicari=6; cout<<"posisi "<<dicari<<" dalam larik data : "<<caribiner (data, 8,dicari)<<"\n"; return 0;

Outputnya adalah

Penjelasan listing program praktikum 5.2 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Int caribiner adalah pendeklarasian variabel bertipe data integer. 5. Int data, int n, int k adalah variabel bertipe data integer yang akan digunakan dalam program dari { sampai }. 6. Int ada,atas, bawah, tengah, posisi adalah pendeklarasian bertipe data integer yang digunakan dalam program ini dari { sampai }. 7. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup }. 8. Cout<<posisi bla bla bla =; berguna untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer. 9. Pemanggilan data variabel dilakukan pada saat <<caribiner dipanggil oleh program. 10. return 0; digunakan untuk membaca data karakter

/* * program5_3.cpp * * Created on: 6 Apr 2014 * Author: unggul budi suryanto */ #include<iostream> #include<cstring> using namespace std; int string_kar(char st[], char k)

{ int i, posisi, panjang; i=0; posisi = -1; panjang = strlen(st); while ((i<panjang-1) && posisi == -1) { if (st[i] == k) posisi=i; i++; } return posisi; } int main() { char kalimat[]="Hallo stikom yos sudarso"; char dicari ='y'; cout<<"posisi "<<dicari<<" didalam string "<<kalimat<<": "<<string_kar(kalimat, dicari)<<"\n"; return 0; }

Outputnya adalah

Penjelasan listing program praktikum 5.3 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Int string_kar adalah pendeklarasian data bertipe data integer. 5. Char st, char k adalah pendeklarasian variabel bertipe char yang akan digunakan dalam program. 6. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 7. St adalah strerlen yang dalam bahasa c++ digunakan untuk mencari data huruf. 8. Cout<<posisi bla bla bla; berguna untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer. 9. return 0; digunakan untuk membaca data karakter

BAB II PROGRAM PRAKTIKUM

1. Program 5.1 menggunakan struct, typedef dan typedefstruct a. Struct


/* * modif_struct.cpp * * Created on: 15 Apr 2014 * Author: unggul budi suryanto */ #include<iostream> using namespace std; struct da { int data[8]; int dicari; }; int cari(int data[], int n, int k) { int posisi, i, ketemu; if (n <=0) posisi=-1; else { ketemu=0; i=1; while ((i<n-1) && !ketemu) if (data[i] == k) { posisi = i; ketemu = i; } else i++; if (!ketemu) posisi=-1; } return posisi; } int main() { int data[8]={10,9,6,4,7,5,4,1}; cout<<"masukkan angka yang dicari {10,9,6,4,7,5,4,1} : "; cin>>da.dicari; cout<<"posisi "<<da.dicari<<" ada dalam larik data ke: "<<cari(data,8,da.dicari)<<"\n"; return 0; }

Output dari program diatas adalah sbb.

Penjelasan program praktikun struct 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Struct da adalah pendeklarasian variabel baru yang bernama da dan bertipe data struct. 5. int data, n, k, posisi, i ketemu adalah deklarasi variabel n,data, k, posisi, i, ketemu yang bertipe data integer. 6. If(n <=0) ..... adalah rumus yang akan digunakan dalam program. 7. Return posisi berfungsi untuk mengembalikan ke instruksi posisi apabila instruksi belum ditemukan. 8. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 9. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 10. Cin>>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas. 11. Cout<<posisi ......... adalah Pemanggilan instruksi dilkukan saat var <<cari dipanggil. 12. return 0; digunakan untuk membaca data karakter

b. Typedef Listing program


/* * typedef5.1.cpp * * Created on: 15 Apr 2014 * Author: unggul budi suryanto */

#include<iostream> using namespace std; typedef int adadeh;

adadeh cari(adadeh data[], adadeh n, adadeh k) { adadeh posisi, i, ketemu; if (n <=0) posisi=-1; else { ketemu=0; i=1; while ((i<n-1) && !ketemu) if (data[i] == k) { posisi = i; ketemu = i; } else i++; if (!ketemu) posisi=-1; } return posisi; } int main() { adadeh data[8]={10,9,6,4,7,5,4,1}; adadeh dicari; cout<<"masukkan angka yang akan dicari (10,9,6,4,7,5,4,1) :"; cin>>dicari; cout<<"posisi "<<dicari<<" ada dalam larik data ke: "<<cari(data,8,dicari)<<"\n"; return 0; }

Output program dari program diatas adalah sebagai berikut :

Penjelasan program diatas: 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Typedef int adadeh adalah pendeklarasian nama variabel baru yang bernama adadeh dan bertipe data int.

5. adadeh data, n, k, posisi, i ketemu adalah deklarasi variabel n,data, k, posisi, i, ketemu yang bertipe data integer. 6. If(n <=0) ..... adalah rumus yang akan digunakan dalam program. 7. Return posisi berfungsi untuk mengembalikan ke instruksi posisi apabila instruksi belum ditemukan. 8. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 9. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 10. Cin>>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas. 11. Cout<<posisi ......... adalah Pemanggilan instruksi dilkukan saat var <<cari dipanggil. 12. return 0; digunakan untuk membaca data karakter c. Typedefstruct Listing program
/* * modif5.1.cpp * * Created on: 15 Apr 2014 * Author: unggul budi suryanto */ #include<iostream> using namespace std; typedef struct modif { int data[8]; int dicari; }; int cari(int data[], int n, int k) { int posisi, i, ketemu; if (n <=0) posisi=-1; else { ketemu=0; i=1; while ((i<n-1) && !ketemu) if (data[i] == k) { posisi = i; ketemu = i; } else i++; if (!ketemu) posisi=-1;

} return posisi; } int main() { int data[8]={10,9,6,4,7,5,4,1}; modif da; cout<<"masukkan data yang dicari (10,9,6,4,7,5,4,1) :"; cin>>da.dicari; cout<<"posisi "<<da.dicari<<" ada dalam larik data ke: "<<cari(data,8,da.dicari)<<"\n"; return 0; }

Output dari program diatas adalah sebagai berikut

Penjelasan program : 1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Typedef Struct modif adalah pendeklarasian variabel baru yang bernama modif dan bertipe data struct. 5. int data, n, k, posisi, i ketemu adalah deklarasi variabel n,data, k, posisi, i, ketemu yang bertipe data integer. 6. If(n <=0) ..... adalah rumus yang akan digunakan dalam program. 7. Return posisi berfungsi untuk mengembalikan ke instruksi posisi apabila instruksi belum ditemukan. 8. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 9. Modif da adalah variabel baru yang bertipe data modif. 10. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 11. Cin>>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas. 12. Cout<<posisi ......... adalah Pemanggilan instruksi dilkukan saat var <<cari dipanggil. 13. return 0; digunakan untuk membaca data karakter

2. Program 5.2 menggunakan struct, typedef dan typedefstruct a. Struct Listing program
/* * struct5.2.cpp * * Created on: 15 Apr 2014 * Author: unggul budi suryanto */ #include<iostream> using namespace std; struct modif { int data; int dicari; }; int caribiner(int data[], int n, int k) { int ada, atas, bawah, tengah, posisi; ada=0; bawah=0; atas=n-1; while (atas>=bawah) { tengah=(atas+bawah)/2; if (k>data[tengah]) bawah=tengah+1; else if (k<data[tengah]) atas=tengah-1; else { ada=1; posisi=tengah; bawah=atas+1; } } if(!ada) posisi=-1; return posisi; } int main() { modif mf; int data[]={10, 9, 7, 6, 5, 4, 3, 1 }; cout<<"masukkan angka yang akan dicari {10, 9, 7, 6, 5, 4, 3, 1 } : "; cin>>mf.dicari; cout<<"posisi "<<mf.dicari<<" dalam larik data : "<<caribiner (data, 8,mf.dicari)<<"\n";

return 0; }

Output program dari program diatas adalah sebagai berikut :

Penjelasan program :

1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. Struct modif adalah pendeklarasian variabel baru yang bernama modif dan bertipe data struct. 5. Int caribiner adalah pendeklarasian variabel bertipe data integer. 6. Int data, int n, int k adalah variabel bertipe data integer yang akan digunakan dalam program dari { sampai }. 7. Int ada,atas, bawah, tengah, posisi adalah pendeklarasian bertipe data integer yang digunakan dalam program ini dari { sampai }. 8. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup }. 9. Modif mf; adalah pendeklarasian variabel baru bertipe data struct. 14. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 10. Cin>>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas 11. Cout<<posisi bla bla bla =; berguna untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer. 12. Pemanggilan data variabel dilakukan pada saat <<caribiner dipanggil oleh program. 13. return 0; digunakan untuk membaca data karakter

b. Typedef Listing program :


/* * typedef5.2.cpp * * Created on: 15 Apr 2014 * Author: unggul budi suryanto

*/ #include<iostream> using namespace std; typedef int apaloh; apaloh caribiner(apaloh data[], apaloh n, apaloh k) { apaloh ada, atas, bawah, tengah, posisi; ada=0; bawah=0; atas=n-1; while (atas>=bawah) { tengah=(atas+bawah)/2; if (k>data[tengah]) bawah=tengah+1; else if (k<data[tengah]) atas=tengah-1; else { ada=1; posisi=tengah; bawah=atas+1; } } if(!ada) posisi=-1; return posisi; } int main() { apaloh data[]={10,9,7,6,5,4,3,1}; apaloh dicari; cout<<"masukkan angka yang akan dicari (10, 9, 7, 6, 5, 4, 3, 1 ) : "; cin>>dicari; cout<<"posisi "<<dicari<<" dalam larik data : "<<caribiner (data, 8,dicari)<<"\n"; return 0; }

Output program :

Penjelasan program :

1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 4. typedef int apaloh adalah pendeklarasian tipedata baru yang bernama apaloh menggantikan tipedata int. 5. Int caribiner adalah pendeklarasian variabel bertipe data integer. 6. Int data, int n, int k adalah variabel bertipe data integer yang akan digunakan dalam program dari { sampai }. 7. Int ada,atas, bawah, tengah, posisi adalah pendeklarasian bertipe data integer yang digunakan dalam program ini dari { sampai }. 8. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup }. 9. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 10. Cin>>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas 11. Cout<<posisi bla bla bla =; berguna untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer. 12. Pemanggilan data variabel dilakukan pada saat <<caribiner dipanggil oleh program. 13. return 0; digunakan untuk membaca data karakter

c.

Typedefstruct

Listing program :
/* * modif_typedefstruct5.2.cpp * * Created on: 20 Apr 2014 * Author: unggul budi suryanto */ #include<iostream> using namespace std; typedef struct unggul { int data; int dicari; }; int caribiner(int data[], int n, int k) { int ada, atas, bawah, tengah, posisi;

ada=0; bawah=0; atas=n-1; while (atas>=bawah) { tengah=(atas+bawah)/2; if (k>data[tengah]) bawah=tengah+1; else if (k<data[tengah]) atas=tengah-1; else { ada=1; posisi=tengah; bawah=atas+1; } } if(!ada) posisi=-1; return posisi; } int main() { int data[]={10,9,7,6,5,4,3,1}; int dicari; unggul bs; cout<<"masukkan angka yang akan dicari (10, 9, 7, 6, 5, 4, 3, 1 ) : "; cin>>bs.dicari; cout<<"posisi "<<bs.dicari<<" dalam larik data : "<<caribiner (data, 8,bs.dicari)<<"\n"; return 0; }

Output program :

Penjelasan program :

1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var.

4. Typedef struct unggul adalah pendeklarasian variabel baru yang bernama unggul dan bertipe data struct. 5. Int caribiner adalah pendeklarasian variabel bertipe data integer. 6. Int data, int n, int k adalah variabel bertipe data integer yang akan digunakan dalam program dari { sampai }. 7. Int ada,atas, bawah, tengah, posisi adalah pendeklarasian bertipe data integer yang digunakan dalam program ini dari { sampai }. 8. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup }. 9. Unggul bs; adalah pendeklarasian variabel baru bertipe data struct. 15. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 10. Cin>>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas 11. Cout<<posisi bla bla bla =; berguna untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer. 12. Pemanggilan data variabel dilakukan pada saat <<caribiner dipanggil oleh program. 13. return 0; digunakan untuk membaca data karakter

3. Program 5.3 dengan struct, typedef, dan typedefstruct a. Struct Listing program :
/* * program5_3.cpp * * Created on: 6 Apr 2014 * Author: unggul budi suryanto */ #include<iostream> #include<cstring> using namespace std; struct baca{ char kalimat[]; char dicari; }; int string_kar(char st[], char k) { int i, posisi, panjang; i=0; posisi = -1; panjang = strlen(st); while ((i<panjang-1) && posisi == -1) { if (st[i] == k) posisi=i; i++; }

return posisi; } int main() { char kalimat[]="Hallo stikom yos sudarso"; baca bc; cout<<"masukkan huruf yang akan dicari dari kalimat Hallo stikom yos sudarso : "; cin>>bc.dicari; cout<<"posisi "<<bc.dicari<<" didalam string "<<kalimat<<": "<<string_kar(kalimat, bc.dicari)<<"\n"; return 0; } Outputnya adalah :

Penjelasan progaram :

1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. Struct baca adalah pendeklarasian variabel baru bertipe data struct. 4. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 5. Int string_kar adalah pendeklarasian data bertipe data integer. 6. Char st, char k adalah pendeklarasian variabel bertipe char yang akan digunakan dalam program. 7. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 8. Baca bc adalah pendeklarasian variabel baru bertipe data struct. 9. St adalah strerlen yang dalam bahasa c++ digunakan untuk mengukur panjang data huruf. 16. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 14. Cin>>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas 10. Cout<<posisi bla bla bla; berguna untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer. 11. return 0; digunakan untuk membaca data karakter
b. Typedef

Listing program :
/* * modiftypedef5.3.cpp * * Created on: 20 Apr 2014 * Author: acer */ #include<iostream> #include<cstring> using namespace std; typedef char un; typedef int gg; gg string_kar(un st[], un k) { gg i, posisi, panjang; i=0; posisi = -1; panjang = strlen(st); while ((i<panjang-1) &&posisi == -1) { if (st[i] == k) posisi=i; i++; } return posisi; } int main() { un kalimat[]="Hallo stikom yos sudarso"; un dicari; cout<<"masukkan huruf yang akan dicari dalam hallo stikom yos sudarso : "; cin>>dicari; cout<<"posisi "<<dicari<<" didalam string "<<kalimat<<": "<<string_kar(kalimat,dicari)<<"\n"; return 0; } Ouutputnya adalah :

Penjelasan program :

1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan

2.

3. 4. 5. 6. 7. 8.

9. 10. 11. 12. 13.


c.

#include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. Typedef char un adalah pendeklarasian tipedata baru bernama un bertipe data char. Typedef int gg adalah pendeklarasian tipe data baru bernama gg bertipe data int. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. Int string_kar adalah pendeklarasian data bertipe data integer. Char st, char k adalah pendeklarasian variabel bertipe char yang akan digunakan dalam program. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } St adalah strerlen yang dalam bahasa c++ digunakan untuk mengukur panjang data huruf. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. Cin>>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas Cout<<posisi bla bla bla; berguna untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer. return 0; digunakan untuk membaca data karakter
Typedefstruct

Listing proogram :
/* * modif_typedefstruct5.3.cpp * * Created on: 20 Apr 2014 * Author: unggul budi suryanto */

#include<iostream> #include<cstring> using namespace std; typedef struct unggul{ char kalimat; char dicari; }; int string_kar(char st[], char k) { int i, posisi, panjang; i=0; posisi = -1; panjang = strlen(st); while ((i<panjang-1) &&posisi == -1) { if (st[i] == k) posisi=i; i++; } return posisi;

} int main() { char kalimat[]="Hallo stikom yos sudarso"; char dicari; unggul bs; cout<<"masukkan huruf yang akan dicari letaknya dari kalimat hallo stikom yos sudarso : "; cin>>bs.dicari; cout<<"posisi "<<bs.dicari<<" didalam string "<<kalimat<<": "<<string_kar(kalimat, bs.dicari)<<"\n"; return 0; }

Output program :

Penjelasan program :

1. Tanda yang diawali dengan */ dan diakhiri dengan /* adalah script yang digunakan untuk membuat sebuah komentar pada pemrograman C++ dan tidak berpengaruh dengan program yang akan dijalankan 2. #include atau disebut sebagai pengarah preprocessor #include berfungsi untuk menginstruksikan compiler untuk menyertakan berkas C++ sumber yang lain sebelum kompilasi dimulai. 3. Typedef Struct unggul adalah pendeklarasian tipedata baru dan bertipe data struct. 4. <iostream> adalah sebuah library yang dibutuhkan untuk fungsi input seperti cin>>var dan output seperti cout<<var. 5. Int string_kar adalah pendeklarasian data bertipe data integer. 6. Char st, char k adalah pendeklarasian variabel bertipe char yang akan digunakan dalam program. 7. Int main() adalah main program berupa integer atau program utama dalam koding tersebut. Setiap program utama harus diawali dengan tanda kurung kurawal buka{ dan diakhiri dengan tanda kurung kurawal tutup } 8. Unggul bs adalah pendeklarasian variabel baru bertipe data struct. 9. St adalah strerlen yang dalam bahasa c++ digunakan untuk mengukur panjang data huruf. 17. Cout<<var = ; adalah berfungsi untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer.. 15. Cin>>var adalah perintah untuk memasukkan atau menginputkan data ke variable yang sudah dideklarasikan diatas 10. Cout<<posisi bla bla bla; berguna untuk melakukan instruksi atau sebuah fungsi perintah untuk memunculkan variable yang ditulis oleh programmer. 11. return 0; digunakan untuk membaca data karakter

BAB III KESIMPULAN Pencarian(searching) adalah tindakan untuk mendapatkan suatu data dalam kumpulan data. Seperti nama babnya, bab ini mempelajari tentang program program pencarian suatu data. Pencarian ada 3 macam yaitu pencarian sekuensial, pencarian dalam biner dan pencarian dalam string. Pencarian sekuensial adalah pencarian yang paling sederhana digunakan untuk mencari data integer. Pencarian biner adalah model pencarian data yang cepat yakni dengan cara membagi 2 data tersebut sampai data yang dicari ditemukan. Pencarian string adalah pencarian data berbentuk string atau karakter.

Daftar pustaka Ilustrasi eclipse Indigo C++, YM Kusuma Ardhana, ST.

Anda mungkin juga menyukai