1 / 22

Kompetensi : LIST

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() {

Download Presentation

Kompetensi : LIST

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Kompetensi : LIST #4. 12April 2013

  2. Kompetensi5

  3. Kompetensi5

  4. 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; }

  5. Kompetensi5 : Iterasi Pointer pos pos=pos+1; atau pos++;

  6. 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; }

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

  8. LATIHAN 5.1 Gabungkan source code dalam Lat5_Listke2.cpp dengan Potongan program utama Searching by boolean. Jawaban : lihat source code “Lat5_Listksearching.cpp”

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

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

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

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

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

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

  15. 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) { }

  16. PROGRAM LENGKAP YANG MEMUAT FUNCTION SEARCHINGBYBOOLEAN File : Lat5_ListksearchingPFbool.cpp

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

  18. Pembentukan Function Searching By Address CALL OF FUNCTION RETURN VALUE PROSES PENYALINAN PARAMETER ILUSTRASINYA SAMA DENGAN SearchingByBoolean

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

  20. Latihan 5.2 Menyusun program yang memuat Fungsi SearchingByAddress Jawaban  File : Lat5_ListksearchingPFaddress.cpp

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

More Related