Subprogram CPP Flowchart 220915
Subprogram CPP Flowchart 220915
Contoh-1 (1)
str = “Maya”
// Program CetakNama: Mencetak nama ke layar
#include <iostream>
using namespace std; output(str)
int main() {
// KAMUS
string str1, str2; output(“Joko”)
// ALGORITMA
str1 = "Maya";
cout << "Hello " << str1 << endl; input(str2)
Contoh-1 (2)
str = “Maya”
// Program CetakNama: Mencetak nama ke layar
#include <iostream>
using namespace std; CetakHello(str)
int main() { DIGANTI
// KAMUS DENGAN
string str1, str2;
// ALGORITMA
PROSEDUR CetakHello(“Joko”)
str1 = "Maya";
cout << "Hello " << str1 << endl;
CetakHello(str1); input(str2)
Contoh-2 (1) r1 = 10
// Program Kuadrat: Test fungsi kuadrat
#include <iostream> L = PI * r1 * r1
using namespace std;
Contoh-2 (2) r1 = 10
// ALGORITMA
{ return (a * a)
return (a * a);
Procedure/Function
... [(list-parameter-formal)]
Procedure/Function call
[(list-parameter-aktual)] ...
...
return [(return-value)]
Selesai
08/10/2015 KU1072/Pengenalan Teknologi Informasi B 11
Contoh Kasus
• Buatlah program yang digunakan untuk membaca
masukan nilai besaran arus listrik (I) dan hambatan
(R) dan menghitung serta menampilkan tegangan
listrik (V)
V=I*R
• Akan dibahas:
– Solusi menggunakan prosedur
– Solusi menggunakan fungsi
Procedure
[(list-parameter-formal)]
...
Procedure call
[(list-parameter-aktual)]
...
return
...
Langkah-langkah algoritmik
dalam prosedur:
Initial state Final State
(I.S.) (F.S.)
Mengubah initial state menjadi
final state
p1
p4
Langkah-langkah algoritmik
dalam prosedur:
p2 Nilai p1, p2, p3, dan p6
dimanfaatkan dalam proses di p5
prosedur untuk mendapatkan
nilai p4, p5, dan p6.
p3
p6 mungkin mengalami
perubahan nilai.
p6
p6
Parameter
input/output
{ langkah-langkah algoritmik
dalam prosedur } Realisasi Prosedur:
Langkah-langkah
algoritmik
return
08/10/2015 KU1072/Pengenalan Teknologi Informasi B 21
Definisi & Realisasi Prosedur (2) –
Memberikan nama C++
void NamaProsedur ([list-parameter-formal])
// Spesifikasi:
// I.S.: .... List parameter
// F.S.: .... formal (jika ada)
// KAMUS LOKAL
// List variabel yang dipakai hanya dalam prosedur
// ALGORITMA
{
} Realisasi Prosedur:
Langkah-langkah
algoritmik
Parameter output
// KAMUS LOKAL
diberi tanda * sebelum
nama parameter
// ALGORITMA
HitungTegangan (I,R,V)
V=I*R
return
08/10/2015 KU1072/Pengenalan Teknologi Informasi B 24
Contoh Kasus (2) – C++
procedure HitungTegangan
void HitungTegangan ( int( I,intint
I, R,
int R,
int *int
V *) V )
//
// I.S.:
I.S.: II dan
dan RR terdefinisi
terdefinisi
//
// F.S.:
F.S.: VV terdefinisi
terdefinisi melalui
melalui perhitungan
perhitungan VV == II ** RR }
//
// KAMUS
KAMUS LOKAL
LOKAL
//
// ALGORITMA
ALGORITMA
{ HitungTegangan (I,R,V)
V = I * R;
} V=I*R
return
08/10/2015 KU1072/Pengenalan Teknologi Informasi B 25
PROSEDUR
2. Memanggil Prosedur dalam
Algoritma Program Utama
Procedure
[(list-parameter-formal)]
...
Procedure call
[(list-parameter-aktual)]
...
return
...
AP/KU1071 28
Contoh Kasus (1) – Pemanggilan Prosedur
• Alur program utama:
– Membaca nilai besarnya arus dan hambatan dari keyboard
– Menghitung tegangan listrik dan menyimpan nilainya
dalam variabel tegangan memanfaatkan prosedur
HitungTegangan
– Menampilkan tegangan ke layar
output (tegangan)
Selesai
08/10/2015 KU1072/Pengenalan Teknologi Informasi B 30
Contoh Kasus (3) –
Pemanggilan Prosedur (C++)
// Program HitungTeganganListrik;
// Menghitung tegangan listrik berdasarkan arus dan hambatan
#include <iostream>
using namespace std;
// PROGRAM UTAMA
int main ()
// KAMUS
int arus, hambatan; Pada saat dipanggil di
int tegangan; program utama, parameter
// ALGORITMA output harus diberi tanda &
cin >> arus; cin >> hambatan;
HitungTegangan(arus, hambatan, &tegangan);
cout << tegangan << endl;
return 0;
}
08/10/2015 KU1072/Pengenalan Teknologi Informasi B 31
... // definisi dan realisasi prosedur di sini
Asosiasi Parameter Formal –
Paramater Aktual (1)
• Setiap parameter aktual harus berasosiasi dengan
tepat satu parameter formal
– Parameter aktual berasosiasi dengan paramater formal
yang posisi/urutannya sama
– Type parameter aktual = type parameter formal yang
berasosiasi dengannya
type: integer
arus I
type: integer
hambatan R
type: integer
tegangan *V
... ...
...
DEFINISI PROSEDUR
// PROGRAM UTAMA
int main () {
PEMANGGILAN PROSEDUR
return 0;
}
REALISASI PROSEDUR
AP/KU1071 38
Contoh-2: Flowchart Program Utama
Program Tukar2Bilangan
Mulai
// Menerima masukan 2 integer dan
// menukar keduanya
KAMUS
int A, B; input(A, B)
ALGORITMA PROGRAM UTAMA
// lihat flowchart
Tukar(A,B)
output(A, B)
Selesai
B = temp
return
... Function
[(list-parameter-formal)]
Function
[(list-parameter-aktual)]
...
... Function
[(list-parameter-formal)]
Function
[(list-parameter-aktual)]
...
Langkah-langkah algoritmik
dalam fungsi:
Parameter
Mentransformasi nilai parameter Nilai Output
input
input untuk mendapatkan nilai
output
p1
Langkah-langkah algoritmik
p2 dalam fungsi:
p4
return(return-value)
08/10/2015 KU1072/Pengenalan Teknologi Informasi B 51
Definisi & Realisasi Fungsi (3) -
Type nilai output Memberikan nama Pascal
type-output NamaFungsi ([list-parameter-formal])
// Menghasilkan ...
List parameter input
formal (jika ada)
// KAMUS LOKAL
// List variabel yang dipakai hanya dalam fungsi
// ALGORITMA Realisasi Fungsi
{
KAMUS LOKAL
- I, R : Parameter input
ALGORITMA
FTegangan(I,R)
return (I*R)
KAMUS LOKAL
// KAMUS LOKAL
-
ALGORITMA
// ALGORITMA
{ Tegangan(I,R)
return (I * R);
}
return (I*R)
... Function
[(list-parameter-formal)]
Function
[(list-parameter-aktual)]
...
AP/KU1071 58
Contoh Kasus (1) – Pemanggilan Fungsi
• Alur program utama:
– Membaca nilai besarnya arus dan hambatan dari keyboard
– Menampung hasil perhitungan nilai tegangan dengan
memanfaatkan fungsi FTegangan dalam variabel tegangan
– Menuliskan ke layar nilai tegangan
output(tegangan)
// PROGRAM UTAMA
int main ()
// KAMUS
int arus, hambatan;
int tegangan;
// ALGORITMA
cin >> arus; cin >> hambatan;
tegangan = FTegangan(arus, hambatan);
cout << tegangan << endl;
return 0;
}
08/10/2015 KU1072/Pengenalan Teknologi Informasi B 61
... // realisasi fungsi di sini
Asosiasi Parameter Formal –
Paramater Aktual (1)
• Setiap parameter aktual harus berasosiasi dengan
tepat satu parameter formal
– Parameter aktual berasosiasi dengan paramater formal
yang posisi/urutannya sama
– Type parameter aktual = type parameter formal yang
berasosiasi dengannya
– Sama seperti di prosedur
type: integer
arus I
type: integer
hambatan R
...
DEFINISI FUNGSI
// PROGRAM UTAMA
int main () {
PEMANGGILAN FUNGSI
return 0;
}
REALISASI FUNGSI
AP/KU1071 68
Contoh-3: Luas Lingkaran
• Buatlah program yang menerima masukan buah nilai
jari-jari lingkaran (bilangan riil), misalnya R, dan
menuliskan luas lingkaran ke layar
Program LuasLingkaran
// Menerima masukan nilai jari-
input(R)
// jari dan menuliskan ke layar
// luas lingkaran
KAMUS
const float PI = 3.14;
float R; L= Luas (R)
float L;
ALGORITMA PROGRAM UTAMA
// lihat flowchart
output(L)
Selesai
Luas (R)
return (PI * R * R)
int bil, c;
bil = -222;
-1
c = CiriBilangan(bil);
cout << c << endl;
//Algoritma
switch(x) {
case '0' : return 0;
case '1' : return 1;
case '2' : return 2;
case '3' : return 3;
case '4' : return 4;
case '5' : return 5;
case '6' : return 6;
case '7' : return 7;
case '8' : return 8;
case '9' : return 9;
}
}
08/10/2015 KU1072/Pengenalan Teknologi Informasi B 81
Alt. Solusi Soal-3
int Max2 (int a1, int b1) {
// diberikan a1 dan b1, menghasilkan a1 jika a1 >= b1,
// dan b1 jika b1 > a1
//Algoritma
if (a1 >= b1) {
return a1;
} else { // a1 < b1
return b1;
}
}
return 0;
}
// Realisasi Prosedur ...
// ALGORITMA
*Sum = 0;
for (i = 1; i <= N; i++) {
cin >> x;
*Sum = *Sum + x;
}
}