• Tidak ada hasil yang ditemukan

Hati Ikhlas – Pikiran Cerdas2013 April Kompetensi 5. List, Array Hati Ikhlas - Pikiran Cerdas

N/A
N/A
Protected

Academic year: 2017

Membagikan "Hati Ikhlas – Pikiran Cerdas2013 April Kompetensi 5. List, Array Hati Ikhlas - Pikiran Cerdas"

Copied!
22
0
0

Teks penuh

(1)

# 4 .

1 2 A P R I L 2 0 1 3

(2)
(3)
(4)
(5)

Kompetensi 5

1. // Latihan Kompetensi 5:: LIST 2. // File : Lat5_Listke1.cpp

3. #include <iostream.h> 4. #include <list.h>

5.

6. int main() 7. {

8. list<int> coll; // list container for integer elements

9. list<int>::iterator pos; //Menggunakan iterator sebagai penunjuk pointer element List<int> 10.

11. // append elements from 1 to 20

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

(6)

Kompetensi 5 : Iterasi

Pointer pos

(7)

Kompetensi 5

1.

// Latihan Kompetensi 5:: LIST

2.

// File : Lat5_Listke2.cpp

3.

#include <cstdlib>

4.

#include <iostream>

5.

#include <list>

6.

using namespace std;

7.

int main() {

8.

list<int> coll; // list container for integer elements

9.

list<int>::iterator pos; //Menggunakan iterator sebagai penunjuk pointer element

List<int>

10.

// append elements from 1 to 20

11.

for (int c=1; c<=20; ++c) {

12.

coll.push_front(c);

13.

}

14.

// Print info pada seluruh node dari struktur List coll

15.

for (pos=coll.begin(); pos!=coll.end(); ++pos)

16.

{

17.

cout << (*pos) << ' ';

18.

cout << endl ;

19.

}

20.

system("PAUSE");

21.

return 0;

22.

}

(8)

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 " << ' '; }

(9)

LATIHAN 5.1

Gabungkan source code dalam

Lat5_Listke2.cpp dengan Potongan program

utama Searching by boolean.

(10)

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

(11)

Pembentukan Function Searching By Boolean

Return of Function

1. // Fungsi Pencarian dengan Metode Boolean 2. bool SearchingByBoolean(list<int> cll, int cari)

3. // Searching by Boolean : mengembalikan nilai boolean true atau false 4. // Cari nilai angka dalam parameter cari.

5. {

6. // Deklarasi variabel 7. 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. }

(12)

Pembentukan Function Searching By Boolean

Function Name

1. // Fungsi Pencarian dengan Metode Boolean 2. bool SearchingByBoolean(list<int> cll, int cari)

3. // Searching by Boolean : mengembalikan nilai boolean true atau false 4. // Cari nilai angka dalam parameter cari.

5. {

6. // Deklarasi variabel 7. 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

(13)

Pembentukan Function Searching By Boolean

Parameter

1. // Fungsi Pencarian dengan Metode Boolean 2. bool SearchingByBoolean(list<int> cll, int cari)

3. // Searching by Boolean : mengembalikan nilai boolean true atau false 4. // Cari nilai angka dalam parameter cari.

5. {

6. // Deklarasi variabel 7. 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

(14)

Pembentukan Function Searching By Boolean

CALL OF FUNCTION

1. bool SearchingByBoolean(list<int> cll, int

cari)

2. {

3. // Deklarasi variabel

4. list<int>::iterator ps; 5. bool found;

6. ps=cll.begin(); 7. found=false; 8. // Algoritma

9. ...

10.return found; 11.}

1. // PROGRAM UTAMA/ DRIVER 2. int main()

3. { char c;

4. list<int> coll; 5. list<int>::iterator pos;

6. // append elements from 1 to 20 7. ...

8. ...

9. // Untuk mengaktifkan Searching By Boolean 10. if (SearchingByBoolean(coll,21)){

11. cout << "Angka : " << (*pos) << " Ditemukan " << ' ';

12. }

13. else { // Yang dicari tidak ketemu

14. cout << "Angka : " << (*pos) << "Tidak Ditemukan " << ' ';

15. }

16. }

foun

d

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

(15)

Pembentukan Function Searching By Boolean

PROSES PENYALINAN NILAI PARAMETER

1. bool SearchingByBoolean(list<int> cll, int

cari)

2. {

3. // Deklarasi variabel

4. list<int>::iterator ps; 5. bool found;

6. ps=cll.begin(); 7. found=false; 8. // Algoritma

9. ...

10.return found; 11.}

1. // PROGRAM UTAMA/ DRIVER 2. int main()

3. { char c;

4. list<int> coll; 5. list<int>::iterator pos;

6. // append elements from 1 to 20 7. ...

8. ...

9. // Untuk mengaktifkan Searching By Boolean 10. if (SearchingByBoolean(coll,21)){

11. cout << "Angka : " << (*pos) << " Ditemukan " << ' ';

12. }

13. else { // Yang dicari tidak ketemu

14. cout << "Angka : " << (*pos) << "Tidak Ditemukan " << ' ';

15. }

(16)

Pembentukan Function Searching By Boolean

AFTER RETURN OF FUNCTION

1. bool SearchingByBoolean(list<int> cll, int

cari)

2. {

3. // Deklarasi variabel

4. list<int>::iterator ps; 5. bool found;

6. ps=cll.begin(); 7. found=false; 8. // Algoritma

9. ...

10.return found; 11.}

1. // PROGRAM UTAMA/ DRIVER 2. int main()

3. { char c;

4. list<int> coll; 5. list<int>::iterator pos;

6. // append elements from 1 to 20 7. ...

8. ...

9. // Untuk mengaktifkan Searching By Boolean 10. if (SearchingByBoolean(coll,21)){

11. cout << "Angka : " << (*pos) << " Ditemukan " << ' ';

12. }

13. else { // Yang dicari tidak ketemu

14. cout << "Angka : " << (*pos) << "Tidak Ditemukan " << ' ';

15. }

16. }

foun

d

coll, 21 coll 21

Misalkan nilai found adalah false, maka statement pada baris 10 akan dibaca oleh

compiler sebabagi berikut : if (false) {

(17)

PROGRAM LENGKAP YANG MEMUAT FUNCTION

SEARCHINGBYBOOLEAN

(18)

Pembentukan Function Searching By Address

Return of Function

1. // Fungsi Pencarian dengan Metode Address

2. list<int>::iterator SearchingByAddress(list<int> cll, int cari)

3. // Searching by Address : mengembalikan nilai alamat dari elemen yang dicari 4. // Cari nilai angka dalam parameter cari.

5. {

6. // Deklarasi variabel 7. 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. }

(19)

Pembentukan Function Searching By Address

1.

CALL OF FUNCTION

2.

RETURN VALUE

3.

PROSES PENYALINAN PARAMETER

(20)

Pembentukan Function Searching By Address

AFTER RETURN OF FUNCTION

1. list<int>::iterator SearchingByAddress(list<int> cll, int cari)

2. {

3. // Deklarasi variabel

4. list<int>::iterator ps;

5. bool found;

6. ps=cll.begin();

7. found=false;

8. // Algoritma

9. ...

10. return ps;

11. }

1. // PROGRAM UTAMA/ DRIVER 2. int main()

3. { char c;

4. list<int> coll; 5. list<int>::iterator pos;

6. // append elements from 1 to 20 7. ...

8. ...

9. // Untuk mengaktifkan Searching By Boolean

10. // Untuk mengaktifkan Searching By Address

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

(21)

Latihan 5.2

1.

Menyusun program yang memuat Fungsi

SearchingByAddress

(22)

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)

Referensi

Dokumen terkait

Hal tersebut pula yang menyebabkan putusan BPSK masih dapat diajukan upaya keberatan, karena BPSK merupakan lembaga yang memiliki sifat semi pengadilan.. Kata

pengadaan barang tersebut dimulai dengan adanya pengumuman di Media Indonesia, Harian Berkat, dan pengumuman yang ditempelkan pada papan pengumuman di Dinas Kimpraswil

PT Arta Agung Sentosa, PT Arta Guna Sentosa, PT Arta Kencana Agung, CV Haris, PT Kedung Agung, CV Kencana Makmur, PT Gemilang Citra Utama, CV Sumber Makmur

[r]

Setelah mempelajari seluruh dokumen dan bukti-bukti secara mendalam, Majelis Komisi menemukan bahwa tidak ditemukannya hubungan secara langsung antara PKS dengan ditetapkannya PT

Sesuai dengan tujuan penelitian, maka data hasil penelitian ini menguraikan data pasien dan edukasi pencegahan dan pengendalian infeksi yang dilakukan perawat di ruang rawat

PEMIKIRAN MUHAMMAD IQBAL DAN DAMPAKNYA TERHADAP PERJUANGAN KEMERDEKAAN PAKISTAN (1930-1938).. Universitas Pendidikan Indonesia | repository.upi.edu

dalam menghasilkan tanaman padi dengan produksi yang lebih tinggi..