220 likes | 384 Views
Kompetensi : LIST. # 4 . 12 April 201 3. Kompetensi 5. Kompetensi 5. Kompetensi 5. Lat 5_Listke1. // Latihan Kompetensi 5:: LIST // File : Lat5_Listke1.cpp #include < iostream.h > #include < list.h > int main() {
E N D
Kompetensi : LIST #4. 12April 2013
Kompetensi5 Lat 5_Listke1 // LatihanKompetensi 5:: LIST // File : Lat5_Listke1.cpp #include <iostream.h> #include <list.h> int main() { list<int> coll; // list container for integer elements list<int>::iterator pos; //Menggunakan iterator sebagaipenunjuk pointer element List<int> // append elements from 1 to 20 for (int c=1; c<=20; ++c) { coll.push_front(c); } // Print info node yang ditunjukolehpos pos = coll.begin(); cout << (*pos) << ' '; system("PAUSE"); return 0; }
Kompetensi5 : Iterasi Pointer pos pos=pos+1; atau pos++;
Lat 5_Listke2 Kompetensi5 // LatihanKompetensi 5:: LIST // File : Lat5_Listke2.cpp #include <cstdlib> #include <iostream> #include <list> using namespace std; int main(){ list<int> coll; // list container for integer elements list<int>::iterator pos; //Menggunakan iterator sebagaipenunjuk pointer element List<int> // append elements from 1 to 20 for (int c=1; c<=20; ++c) { coll.push_front(c); } // Print info padaseluruh node daristruktur List coll for (pos=coll.begin(); pos!=coll.end(); ++pos) { cout << (*pos) << ' '; cout << endl ; } system("PAUSE"); return 0; }
Searching By Boolean // Searching by Boolean : mengembalikan nilai boolean true atau false // Cari nilai angka 17. pos=coll.begin(); bool found; found=false; while ((!found)&&(pos != coll.end())){ if ((*pos)== 17){ found = true; } else { pos++; } } if (found){ cout << "Angka : " << (*pos) << " Ditemukan " << ' '; } else { // Yang dicari tidak ketemu cout << "Angka : " << (*pos) << "Tidak Ditemukan " << ' '; } POTONGAN PROGRAM UTAMA
LATIHAN 5.1 Gabungkan source code dalam Lat5_Listke2.cpp dengan Potongan program utama Searching by boolean. Jawaban : lihat source code “Lat5_Listksearching.cpp”
Function Searching By Boolean Agar program lebih modular maka dibutuhkan penyusunan program dengan membagi task-task menjadi lebih elementer, tidak bagus jika semua task digabungkan dalam 1 urutan statement di dalam program utama. Oleh karena itu perlu menyusun program dalam bentuk Function dan atau Procedure. Untuk menyusun program secara modular maka makasiswa perlu memahami pembentukan Function & Procedure, pemanggilan Function & Procedure, pendefinisian parameter by value, parameter by reference, parameter aktual, return value dari Function.
Pembentukan Function Searching By BooleanReturn of Function // Fungsi Pencarian dengan Metode Boolean bool SearchingByBoolean(list<int> cll, int cari) // Searching by Boolean : mengembalikan nilai boolean true atau false // Cari nilai angka dalam parameter cari. { // Deklarasi variabel list<int>::iterator ps; bool found; ps=cll.begin(); found=false; // Algoritma while ((!found)&&(ps != cll.end())){ if ((*ps)== cari){ found = true; } else { ps++; } } return found; } Type Return of Function Variabel ini harus bertipe bool
Pembentukan Function Searching By BooleanFunction Name // Fungsi Pencarian dengan Metode Boolean bool SearchingByBoolean(list<int> cll, int cari) // Searching by Boolean : mengembalikan nilai boolean true atau false // Cari nilai angka dalam parameter cari. { // Deklarasi variabel list<int>::iterator ps; bool found; ps=cll.begin(); found=false; // Algoritma while ((!found)&&(ps != cll.end())){ if ((*ps)== cari){ found = true; } else { ps++; } } return found; } Fungsi bernama : SearchingByBoolean
Pembentukan Function Searching By BooleanParameter // Fungsi Pencarian dengan Metode Boolean bool SearchingByBoolean(list<int> cll, int cari) // Searching by Boolean : mengembalikan nilai boolean true atau false // Cari nilai angka dalam parameter cari. { // Deklarasi variabel list<int>::iterator ps; bool found; ps=cll.begin(); found=false; // Algoritma while ((!found)&&(ps != cll.end())){ if ((*ps)== cari){ found = true; } else { ps++; } } return found; } Ada 2 parameter, yaitu parameter cll bertipe list<int>, dan parameter cari bertipe int
Pembentukan Function Searching By BooleanCALL OF FUNCTION Panah kiri sebagai alur pemanggilanfungsi SearchingByBoolean, dengan membawa parameter coll dan 21 bool SearchingByBoolean(list<int> cll, int cari) { // Deklarasi variabel list<int>::iterator ps; bool found; ps=cll.begin(); found=false; // Algoritma .......................... return found; } • // PROGRAM UTAMA/ DRIVER • int main() • { char c; • list<int> coll; • list<int>::iterator pos; • // append elements from 1 to 20 • ..................... • ......................... • // Untuk mengaktifkan Searching By Boolean • if (SearchingByBoolean(coll,21)){ • cout << "Angka : " << (*pos) << " Ditemukan " << ' '; • } • else { // Yang dicari tidak ketemu • cout << "Angka : " << (*pos) << "Tidak Ditemukan " << ' '; • } • } found Panah kanan sebagai alur pengembalian nilai fungsi ke pemanggil di program utama, fungsi mengembalikan nilai yang tersimpan dalam variabel found bertipe boolean
Pembentukan Function Searching By BooleanPROSES PENYALINAN NILAI PARAMETER bool SearchingByBoolean(list<int> cll, int cari) { // Deklarasi variabel list<int>::iterator ps; bool found; ps=cll.begin(); found=false; // Algoritma .......................... return found; } coll 21 • // PROGRAM UTAMA/ DRIVER • int main() • { char c; • list<int> coll; • list<int>::iterator pos; • // append elements from 1 to 20 • ..................... • ......................... • // Untuk mengaktifkan Searching By Boolean • if (SearchingByBoolean(coll,21)){ • cout << "Angka : " << (*pos) << " Ditemukan " << ' '; • } • else { // Yang dicari tidak ketemu • cout << "Angka : " << (*pos) << "Tidak Ditemukan " << ' '; • } • } found
Pembentukan Function Searching By BooleanAFTER RETURN OF FUNCTION bool SearchingByBoolean(list<int> cll, int cari) { // Deklarasi variabel list<int>::iterator ps; bool found; ps=cll.begin(); found=false; // Algoritma .......................... return found; } coll 21 • // PROGRAM UTAMA/ DRIVER • int main() • { char c; • list<int> coll; • list<int>::iterator pos; • // append elements from 1 to 20 • ..................... • ......................... • // Untuk mengaktifkan Searching By Boolean • if (SearchingByBoolean(coll,21)){ • cout << "Angka : " << (*pos) << " Ditemukan " << ' '; • } • else { // Yang dicari tidak ketemu • cout << "Angka : " << (*pos) << "Tidak Ditemukan " << ' '; • } • } found Misalkan nilai found adalah false, maka statement pada baris 10 akan dibaca oleh compiler sebabagi berikut : if (false) { }
PROGRAM LENGKAP YANG MEMUAT FUNCTION SEARCHINGBYBOOLEAN File : Lat5_ListksearchingPFbool.cpp
Pembentukan Function Searching By AddressReturn of Function // Fungsi Pencarian dengan Metode Address list<int>::iterator SearchingByAddress(list<int> cll, int cari) // Searching by Address : mengembalikan nilai alamat dari elemen yang dicari // Cari nilai angka dalam parameter cari. { // Deklarasi variabel list<int>::iterator ps; bool found; ps=cll.begin(); found=false; // Algoritma while ((!found)&&(ps != cll.end())){ if ((*ps)== cari){ found = true; } else { ps++; } } return ps; } Type Return of Function Variabel ini harus bertipe iterator dari list
Pembentukan Function Searching By Address CALL OF FUNCTION RETURN VALUE PROSES PENYALINAN PARAMETER ILUSTRASINYA SAMA DENGAN SearchingByBoolean
Pembentukan Function Searching By AddressAFTER RETURN OF FUNCTION list<int>::iterator SearchingByAddress(list<int> cll, int cari) { // Deklarasi variabel list<int>::iterator ps; bool found; ps=cll.begin(); found=false; // Algoritma .......................... return ps; } coll 19 • // PROGRAM UTAMA/ DRIVER • int main() • { char c; • list<int> coll; • list<int>::iterator pos; • // append elements from 1 to 20 • ..................... • ......................... • // Untuk mengaktifkan Searching By Boolean • // Untukmengaktifkan Searching By Address • cout << "Angka : " << (*SearchingByAddress(coll,19)) << ' '; } ps Misalkan nilai ps adalah sebuah alamat tertentu, maka statement pada baris 11 akan dibaca oleh compiler sebabagi berikut : *(suatu alamat) artinya isi node yang ditunjuk oleh alamat tersebut
Latihan 5.2 Menyusun program yang memuat Fungsi SearchingByAddress Jawaban File : Lat5_ListksearchingPFaddress.cpp
Tugas Kelompok Menyusun Program Yang memuat Fungsi SearchByBoolean dan SearchingByAddress pada Struktur Data Array. ( Append Elemen from 1 to 20 diubah menjadi sebuah blok Function atau Procedure bernama InsertElement) Dikumpulkan Hari Selasa, 16 April 2013, dimeja di ruang dosen.