10.sub program
TRANSCRIPT
-
7/23/2019 10.Sub Program
1/30
1
Sub ProgramMateri Pertemuan 10
Tim Dosen
-
7/23/2019 10.Sub Program
2/30
2
Materi1. Konsep Dasar
2. Prosedur
3. Fungsi
4. Jangkauan Identifier
5. Parameter
. !ati"an
-
7/23/2019 10.Sub Program
3/30
-
7/23/2019 10.Sub Program
4/30
4
Pemrograman Modu#ar Program dibagi keda#am Modu#$Modu#
Modu# da#am ba"asa Pas%a# di$imp#ementasikan
dengan Prosedur dan fungsi Prosedur&Fungsi dibentuk dengan menge#ompokkan
se'um#a" perinta" untuk men(e#esaikan tugas
tertentu.
Modu# diper#ukan 'ika ke#ompok perinta" tersebut
kerap ka#i digunakan di tempat #ain da#am program
Modu# sering disebut 'uga dengan Sub$Program
-
7/23/2019 10.Sub Program
5/30
5
Keuntungan Penggunaan Sub Program )1* Program (ang besar dan rumit dapat dipe%a"$
pe%a" men'adi ke%i#$ke%i# se"ingga men'adi
#ebi" seder"ana+ Dapat diker'akan #ebi" dari satu orang dengan
koordinasi (ang #ebi" muda"+
!ebi" muda" men%ari kesa#a"an+
-
7/23/2019 10.Sub Program
6/30
6
Keuntungan Penggunaan Sub Program )2* Dapat dimodifikasi tanpa mengganggu
program se%ara kese#uru"an+
,ntuk "a# (ang sering di#akukan %ukup ditu#issatu ka#i dan saat diper#ukan %ukup dipanggi#+
Mempermuda" dokumentasi.
-
7/23/2019 10.Sub Program
7/30
7
-iri$%iri Modu# (ang baik Fan$in tinggi+ semakin sering digunakan
semakin tinggi ni#ai fan$in
Fan$out renda"+ semakin sedikit tugas (angdi#akukan semakin renda" ni#ai fan$out
Se#f$%ontained+ sub program dapat memenu"i
kebutu"ann(a sendiri
-
7/23/2019 10.Sub Program
8/30
8
2. Prosedur
-
7/23/2019 10.Sub Program
9/30
9
Penggunaan Dek#arasi
Digunakan terutama untuk "a#$"a# spesifikatau (ang sering di#akukan
/idak mengemba#ikan ni#ai
Pro%edure 0amaProsedur )parameter*
Dek#arasi ariabe#
6egin
7
statemen$statemen
7
8nd
-
7/23/2019 10.Sub Program
10/30
10
-onto" ProsedurProgram Judu#
Pro%edure 6intang
6egin
9rite):;1 to ? do bintang
9rite#n
bintang9rite): Judu# :*
bintang
9rite#n
bintang
8nd.
Seperti apaka" output
program ini@
-
7/23/2019 10.Sub Program
11/30
Program men%ari rata$rata Jika menggunakan prosedur+ main program
untuk men%ari rata$rata akan ter#i"at seperti
BEGINReadScores;
GetAverage;
DisplayResults;END.
11
-
7/23/2019 10.Sub Program
12/30
-onto" 2PROGRAM Procedures1O!"P!"#;PRO$ED!RE Dra%&i'e;
$ONS" Das( ) *+*; &i'e&e'gt( ) ,-;
AR $ou'ter /IN"EGER;
BEGIN0OR $ou'ter /) 1 "O &i'e&e'gt( DO
RI"EDas(#;
RI"E&N
END;
BEGIN
RI"E&N;Dra%&i'e;
RI"E&N*22 "3IS IS A "ES" 22*#;
Dra%li'e
END.
12
-
7/23/2019 10.Sub Program
13/30
Passing =a#ues to Pro%eduresPRO$ED!RE Dra%&i'epa'4a'g/i'teger#;
55
6+++Mai' Progra7+++8Dra%li'e,-#;
13
-
7/23/2019 10.Sub Program
14/30
!ati"an 6uat program menggunakan prosedur untuk
memi#i" menu per"itungan #uas segitiga+
#ingkaran dan persegi.
14
-
7/23/2019 10.Sub Program
15/30
15
3. Fungsi
-
7/23/2019 10.Sub Program
16/30
16
Penggunaan Dek#arasi
Digunakan terutama untuk "a#$"a# spesifikatau (ang sering di#akukan
Dapat mengemba#ikan ni#ai
Fun%tion 0amafungsi )parameter* /ipefungsi
Dek#arasi ariabe#
6egin
7
statemen$statemen
0amafungsi>ni#aifungsi
8nd
-
7/23/2019 10.Sub Program
17/30
17
-onto" Fungsi
Program Judu#
Fun%tion !uas!ingkaran)rrea#*rea#6egin
!uas#ingkaran>3.14;r;r
8nd
=ar #uas rea#
6egin
#uas>#uas#ingkaran)1A*9rite): !uas> :+#uasA2*
8nd.
Seperti apaka" outputprogram ini@
-
7/23/2019 10.Sub Program
18/30
18
4. Jangkauan Identifier
-
7/23/2019 10.Sub Program
19/30
19
!ingkup Identifier
!ingkup identifier me#iputi bagian$bagian
program dimana sebua" identifier masi" bisa
diakses. !ingkup identifier me#iputi
!oka#
B#oba#
-
7/23/2019 10.Sub Program
20/30
20
!oka# Identifier
Identifier (ang didek#arasikan di da#am
fungsi&prosedur+ termasuk parameter.
!ingkupn(a terbatas pada fungsi&prosedurtempat didek#arasikan.
-
7/23/2019 10.Sub Program
21/30
21
B#oba# Identifier
Identifier (ang didek#arasikan di #uarfungsi&prosedur.
Cuang #ingkupn(a me#iputi se#uru" program sete#a"
didek#arasikan. Disarankan tidak ban(ak menggunakan identifier
g#oba# karena Jika program semakin besar+ ke%enderungan error
semakin besar . Su#it me#a%ak bi#a ter'adi kesa#a"an. setiap fungsi dapat menguba" ni#ai ariabe# tersebut
se"ingga su#it ter'aga ni#ain(a.
-
7/23/2019 10.Sub Program
22/30
22
-onto" JangkauanProgram Jangkauan
=ar +( integer
Fun%tion fungsi1)rea#*rea#
=ar ( rea#
6egin7
8nd
pro%edure pro
ar +(+Einteger
begin
7end
=ar a+binteger
6egin
7
8nd.
Seperti apaka" 'angkauan
tiap$tiap ariabe#@
-
7/23/2019 10.Sub Program
23/30
23
5. Parameter
-
7/23/2019 10.Sub Program
24/30
24
Jenis Parameter
Forma#
Parameter dimana fungsi&prosedur didek#arasikan
ktua# Parameter dimana fungsi&prosedur digunakan
-
7/23/2019 10.Sub Program
25/30
25
/ransfer Parameter
6($=a#ue
Gang dikirim ke modu# #ain atau ke program
utama ada#a" ni#ai datan(a. 6( !o%ation & b( referen%e
Gang ditransfer ke modu# #ain atau program
utama ada#a" a#amat memorin(a.
-
7/23/2019 10.Sub Program
26/30
26
-onto" /ransfer Parameter 1Program /ranfer1
Pro%edure tukar)+(rea#*
=ar E integer
6eginE> >( (>E
8nd
=ar a+binteger
6egin
a>2 b>?tukar)a+b*
9rite#n): a> :+a+< b> :+b*
8nd.
Seperti apaka" output$n(a@
paka" ni#ai a dan b tertukar@
-
7/23/2019 10.Sub Program
27/30
27
-onto" /ransfer Parameter 2Program /ranfer1
Pro%edure tukar)ar +(rea#*
=ar E integer
6eginE> >( (>E
8nd
=ar a+binteger
6egin
a>2 b>?tukar)a+b*
9rite#n): a> :+a+< b> :+b*
8nd.
6agaimana dengan (ang ini@
paka" ni#ai a dan b tertukar@
-
7/23/2019 10.Sub Program
28/30
28
. !ati"an
-
7/23/2019 10.Sub Program
29/30
29
!ati"an
1. 6uat#a" program (ang menginput n bua"
ni#ai integer dengan menggunakan arra(+
dimana n diinput o#e" user saat programber'a#an.
2. Hitung rata$rata dan standar deiasi data
diatas dengan modu# tersendiri.3. -ari ni#ai terke%i# dan terbesar data diatas
dengan modu#
-
7/23/2019 10.Sub Program
30/30
30
/erima Kasi"