kompetensi : list
DESCRIPTION
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() { - PowerPoint PPT PresentationTRANSCRIPT
#4. 12 APRIL 2013
Kompetensi : LIST
Kompetensi 5
Kompetensi 5
Kompetensi 5
1. // Latihan Kompetensi 5:: LIST2. // File : Lat5_Listke1.cpp3. #include <iostream.h>4. #include <list.h>5. 6. int main()7. {8. list<int> coll; // list container for integer elements9. list<int>::iterator pos; //Menggunakan iterator sebagai penunjuk pointer element
List<int>10. 11. // append elements from 1 to 2012. for (int c=1; c<=20; ++c) {13. coll.push_front(c);14. }15. // Print info node yang ditunjuk oleh pos 16. pos = coll.begin();17. cout << (*pos) << ' '; 18. 19. system("PAUSE");20. return 0;21. }
Lat 5_Listke1
Kompetensi 5 : Iterasi
Pointer pos
pos=pos+1; atau pos++;
Kompetensi 51. // Latihan Kompetensi 5:: LIST2. // File : Lat5_Listke2.cpp3. #include <cstdlib>4. #include <iostream>5. #include <list>6. using namespace std;7. int main() {8. list<int> coll; // list container for integer elements9. list<int>::iterator pos; //Menggunakan iterator sebagai penunjuk pointer element
List<int>10. // append elements from 1 to 2011. for (int c=1; c<=20; ++c) {12. coll.push_front(c);13. } 14. // Print info pada seluruh node dari struktur List coll15. for (pos=coll.begin(); pos!=coll.end(); ++pos)16. {17. cout << (*pos) << ' ';18. cout << endl ;19. } 20. system("PAUSE");21. return 0;22. }
Lat 5_Listke2
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
1. // Fungsi Pencarian dengan Metode Boolean2. bool SearchingByBoolean(list<int> cll, int cari)3. // Searching by Boolean : mengembalikan nilai boolean true atau false4. // Cari nilai angka dalam parameter cari.5. {6. // Deklarasi variabel7. list<int>::iterator ps;8. bool found;9. ps=cll.begin();10. found=false;11. // Algoritma 12. while ((!found)&&(ps != cll.end())){ 13. if ((*ps)== cari){14. found = true;15. }16. else {17. ps++;18. }19. }20. return found;21. }
Type Return of Function
Variabel ini harus
bertipe bool
Pembentukan Function Searching By BooleanFunction Name
1. // Fungsi Pencarian dengan Metode Boolean2. bool SearchingByBoolean(list<int> cll, int cari)3. // Searching by Boolean : mengembalikan nilai boolean true atau false4. // Cari nilai angka dalam parameter cari.5. {6. // Deklarasi variabel7. list<int>::iterator ps;8. bool found;9. ps=cll.begin();10. found=false;11. // Algoritma 12. while ((!found)&&(ps != cll.end())){ 13. if ((*ps)== cari){14. found = true;15. }16. else {17. ps++;18. }19. }20. return found;21. }
Fungsi bernama : SearchingByBoole
an
Pembentukan Function Searching By Boolean
Parameter
1. // Fungsi Pencarian dengan Metode Boolean2. bool SearchingByBoolean(list<int> cll, int cari)3. // Searching by Boolean : mengembalikan nilai boolean true atau false4. // Cari nilai angka dalam parameter cari.5. {6. // Deklarasi variabel7. list<int>::iterator ps;8. bool found;9. ps=cll.begin();10. found=false;11. // Algoritma 12. while ((!found)&&(ps != cll.end())){ 13. if ((*ps)== cari){14. found = true;15. }16. else {17. ps++;18. }19. }20. return found;21. }
Ada 2 parameter, yaitu
parameter cll bertipe
list<int>, dan parameter cari
bertipe int
Pembentukan Function Searching By Boolean
CALL OF FUNCTION
1. bool SearchingByBoolean(list<int> cll, int cari)
2. {3. // Deklarasi variabel4. list<int>::iterator ps;5. bool found;6. ps=cll.begin();7. found=false;8. // Algoritma 9. ..........................10. return found;11. }
1. // PROGRAM UTAMA/ DRIVER2. int main()3. { char c;4. list<int> coll; 5. list<int>::iterator pos; 6. // append elements from 1 to 207. .....................8. .........................9. // Untuk mengaktifkan Searching By Boolean10. if (SearchingByBoolean(coll,21)){11. cout << "Angka : " << (*pos) << "
Ditemukan " << ' ';12. } 13. else { // Yang dicari tidak ketemu14. cout << "Angka : " << (*pos) << "Tidak
Ditemukan " << ' ';
15. }16. }
found
coll, 21
Panah kiri sebagai alur
pemanggilan fungsi SearchingByBoolean, dengan
membawa parameter coll dan 21
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
1. bool SearchingByBoolean(list<int> cll, int cari)
2. {3. // Deklarasi variabel4. list<int>::iterator ps;5. bool found;6. ps=cll.begin();7. found=false;8. // Algoritma 9. ..........................10. return found;11. }
1. // PROGRAM UTAMA/ DRIVER2. int main()3. { char c;4. list<int> coll; 5. list<int>::iterator pos; 6. // append elements from 1 to 207. .....................8. .........................9. // Untuk mengaktifkan Searching By Boolean10. if (SearchingByBoolean(coll,21)){11. cout << "Angka : " << (*pos) << "
Ditemukan " << ' ';12. } 13. else { // Yang dicari tidak ketemu14. cout << "Angka : " << (*pos) << "Tidak
Ditemukan " << ' ';
15. }16. }
found
coll, 21
coll 21
Pembentukan Function Searching By BooleanAFTER RETURN OF FUNCTION
1. bool SearchingByBoolean(list<int> cll, int cari)
2. {3. // Deklarasi variabel4. list<int>::iterator ps;5. bool found;6. ps=cll.begin();7. found=false;8. // Algoritma 9. ..........................10. return found;11. }
1. // PROGRAM UTAMA/ DRIVER2. int main()3. { char c;4. list<int> coll; 5. list<int>::iterator pos; 6. // append elements from 1 to 207. .....................8. .........................9. // Untuk mengaktifkan Searching By Boolean10. if (SearchingByBoolean(coll,21)){11. cout << "Angka : " << (*pos) << "
Ditemukan " << ' ';12. } 13. else { // Yang dicari tidak ketemu14. cout << "Angka : " << (*pos) << "Tidak
Ditemukan " << ' ';
15. }16. }
found
coll, 21
coll 21
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
1. // Fungsi Pencarian dengan Metode Address2. list<int>::iterator SearchingByAddress(list<int> cll, int cari)3. // Searching by Address : mengembalikan nilai alamat dari elemen yang dicari4. // Cari nilai angka dalam parameter cari.5. {6. // Deklarasi variabel7. list<int>::iterator ps;8. bool found;9. ps=cll.begin();10. found=false;11. // Algoritma 12. while ((!found)&&(ps != cll.end())){ 13. if ((*ps)== cari){14. found = true;15. }16. else {17. ps++;18. }19. }20. return ps;21. }
Type Return of Function
Variabel ini harus bertipe iterator dari
list
Pembentukan Function Searching By Address
1. CALL OF FUNCTION2. RETURN VALUE3. PROSES PENYALINAN PARAMETER
ILUSTRASINYA SAMA DENGAN SearchingByBoolean
Pembentukan Function Searching By AddressAFTER RETURN OF FUNCTION
1. list<int>::iterator SearchingByAddress(list<int> cll, int cari)
2. {3. // Deklarasi variabel4. list<int>::iterator ps;5. bool found;6. ps=cll.begin();7. found=false;8. // Algoritma 9. ..........................10. return ps;11. }
1. // PROGRAM UTAMA/ DRIVER2. int main()3. { char c;4. list<int> coll; 5. list<int>::iterator pos; 6. // append elements from 1 to 207. .....................8. .........................9. // Untuk mengaktifkan Searching By
Boolean10. // Untuk mengaktifkan Searching By
Address11. cout << "Angka : " <<
(*SearchingByAddress(coll,19)) << ' ';}
ps
coll, 19
coll 19
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
1. 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.