SlideShare a Scribd company logo
Adam Mukharil Bachtiar
English Class
Informatics Engineering 2011
Algorithms and Programming
Procedure and Function
Steps of the Day
Let’s Start
Modular
Programming Procedure Function
Modular Programming
Definition and Types of Modular Programming
BackgroundofModular
Programming
Make a program to solve all problems in your
calculus book! WHAT WILL YOU DO?
Algorithm and Programming (Procedure and Function)
ThinkinginModular
Programming
Breakdown a big problem into several small
problems. Small Problems can be
reconstructed to solve the big problem.
ThinkinginModular
Programming
MainProgram
Sub Program 1
Sub Program 2
Sub Program 3
WhatisModularProgramming
Programming technique that break main
program into several sub program.
BenefitsofModular
Programming
• Eliminate repetition of same syntax
in program or algorithm.
• Can find syntax error easily.
• Easy to make big program.
TypesofLoopingStructure
• Procedure
• Function
Procedure
Definition and Structures of Procedure
WhatisProcedure
Instruction block that was made specially to
do specific job.
ExampleofProcedure
(SleepProcedure) • Brush your teeth
• Go to bed
• Pray
• Cover your body with bedcover
• Count the sheep (if you are insomnia)
• Start to dream
• Wake up (if you are not death)
• Pray again
Format of Procedure (Algorithm Notation)
Procedure NamaProsedur (Parameter jika ada)
{I.S.: Keadaan awal sebelum prosedur dijalankan}
{F.S.: Keadaan akhir sesudah prosedur dijalankan}
Kamus:
{Variabel, konstanta, tipe buatan lokal}
Algoritma:
{Badan Prosedur, Berisi instruksi}
EndProcedure
Format of Procedure (Pascal Notation)
procedure NamaProsedur (Parameter jika ada);
{Variabel, konstanta, tipe buatan}
begin
{Badan Prosedur, Berisi instruksi}
end;
Algorithm and Programming (Procedure and Function)
Example of Procedure (Algorithm)
1
2
3
4
5
6
7
8
9
10
11
12
13
Procedure HitungLuasPersegi
{I.S: Diinputkan sisi oleh pengguna}
{F.S: Menampilkan hasil perhitungan luas persegi di layar}
Kamus:
sisi:integer
luas:integer
Algoritma:
input(sisi)
luas  sisi * sisi
output(‘Luas Persegi = ‘,luas)
EndProcedure
Example of Procedure (Pascal)
1
2
3
4
5
6
7
8
9
10
11
12
13
procedure HitungLuasPersegi;
var
sisi:integer;
luas:integer;
begin
write(‘Masukan sisi : ‘);readln(sisi);
luas  sisi * sisi;
writeln(‘Luas Persegi = ‘,luas);
write(‘Tekan sembarang tombol untuk keluar...’);
readkey();
end;
CalltheProcedure
Procedure was useless until you call it in main
algorithm, main program, or the other modul.
Format of Calling Procedure (Algorithm)
NamaProsedur
Atau
NamaProsedur(parameter jika ada)
Format of Calling Procedure (Algorithm)
NamaProsedur;
Atau
NamaProsedur(parameter jika ada);
Algorithm and Programming (Procedure and Function)
Example of Calling Procedure (Algorithm)
1
2
3
4
5
6
7
8
9
10
11
12
Algoritma PanggilHitungLuasPersegi
{I.S: Diinputkan sebuah bilangan oleh pengguna}
{F.S: Memanggil prosedur sebanyak bilangan}
Kamus:
i,bil:integer {kamus global}
procedure HitungLuasPersegi {Cukup Headernya saja}
Algoritma:
input(bil)
for i  1 to bil do
HitungLuasPersegi {memanggil prosedur}
endfor
Example of Calling Procedure (Pascal)
1
2
3
4
5
6
7
8
9
10
11
12
13
program PanggilHitungLuasPersegi;
uses crt;
var
bil:integer;
{Prosedur HitungLuasPersegi kamu diletakkan di sini}
begin
write(‘Masukan bilangan = ‘);readln(bil);
for i  1 to bil do
HitungLuasPersegi; {memanggil prosedur}
{Baris penutup jangan sampai lupa!!!}
end.
TypesofVariable
• Global Variable
• Local Variable
GlobalVariable
Varible that was known by entire program or
algorithm. This variable was declared in main
program or main algorithm.
LocalVariable
Varible that was known only by its owner. This
variable was declared inside procedure or
function.
Local Variable (Algorithm Notation)
Procedure NamaProsedur (Parameter jika ada)
{I.S.: Keadaan awal sebelum prosedur dijalankan}
{F.S.: Keadaan akhir sesudah prosedur dijalankan}
Kamus:
{Identifier lokal diletakkan di sini}
Algoritma:
{Badan Prosedur, Berisi instruksi}
EndProcedure
FORMAL PARAMETER
Global Variable (Algorithm Notation)
Algoritma judul_algoritma
{I.S.: diisi keadaan yang terjadi di awal algoritma}
{F.S.: diisi keadaan yang terjadi di akhir algoritma}
Kamus/Deklarasi:
{Identifier global diletakkan di sini}
Algoritma/Deskripsi:
{diisi dengan input, proses, dan output}
Local and Global Variable (Pascal Notation)
program nama_program;
var
{identifier global di sini}
procedure nama_prosedur (parameter jika ada);
var
{identifier lokal di sini}
begin
end;
begin
end.
OrdinaryCommunicationBetween
ProcedureandMainAlgorithm
WhatisParameter
Variable that allow us to have more than just
ordinary communication to procedure or
function.
TypesofParameter
• Input Parameter
• Output Parameter
• Input/Output Parameter
: means parameter by value
: means parameter by reference
CommunicationUsingInput
Parameter
Input Parameter (Algorithm Notation)
Procedure NamaProsedur (Input NamaVariabel:TipeData)
{I.S.: Keadaan awal sebelum prosedur dijalankan}
{F.S.: Keadaan akhir sesudah prosedur dijalankan}
Kamus:
{Identifier lokal diletakkan di sini}
Algoritma:
{Badan Prosedur, Berisi instruksi}
EndProcedure
Calling Input Parameter (Algorithm Notation)
Algoritma NamaProsedur
{I.S.: Keadaan awal sebelum algoritma dijalankan}
{F.S.: Keadaan akhir sesudah algoritma dijalankan}
Kamus:
{Identifier global diletakkan di sini}
Procedure NamaProsedur (Input NamaVariabel:TipeData)
Algoritma:
NamaProsedur(NamaVariabel) {pemanggilan prosedur}
EndProcedure
ACTUAL PARAMETER
Input Parameter (Pascal Notation)
program nama_program;
var
{identifier global di sini}
procedure nama_prosedur (variabel:tipedata);
var
{identifier lokal di sini}
begin
end;
Begin
nama_prosedur(variabel);{pemanggilan prosedur}
end.
Algorithm and Programming (Procedure and Function)
Example of Input Parameter (Algorithm)
1
2
3
4
5
6
7
8
9
10
11
12
Procedure Persegi(Input sisi:integer)
{I.S: Menerima input berupa sisi}
{F.S: Menampilkan luas dan keliling persegi}
Kamus:
luas,keliling:integer
Algoritma:
luas  sisi * sisi
keliling  4 * sisi
output(luas,keliling)
EndProcedure
Example of Calling Input Parameter (Algorithm)
1
2
3
4
5
6
7
8
9
10
11
Algoritma PanggilHitungLuasPersegi
{I.S: Diinputkan sisi oleh pengguna}
{F.S: Memanggil prosedur persegi}
Kamus:
sisi:integer
procedure Persegi(Input sisi:integer)
Algoritma:
input(sisi)
Persegi(sisi)
Example of Input Parameter (Pascal)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
program HitungPersegi;
uses crt;
var
sisi:integer;
procedure persegi(sisi:integer);
var
luas,keliling:integer;
begin
luas := sisi * sisi;
keliling := 4 * sisi;
writeln(‘Luas Persegi : ‘,luas); {bersambung}
Example of Input Parameter (Pascal)
15
16
17
18
19
20
21
22
23
24
writeln(‘Keliling persegi : ‘,keliling);
end;
begin
write(‘Masukan sisi persegi= ‘);readln(sisi);
persegi(sisi);
writeln();
write(‘Tekan sembarang tombol untuk menutup...’);
readkey();
end.
CommunicationUsingOutput
Parameter
Output Parameter (Algorithm Notation)
Procedure NamaProsedur (Output NamaVariabel:TipeData)
{I.S.: Keadaan awal sebelum prosedur dijalankan}
{F.S.: Keadaan akhir sesudah prosedur dijalankan}
Kamus:
{Identifier lokal diletakkan di sini}
Algoritma:
{Badan Prosedur, Berisi instruksi}
EndProcedure
Calling Output Parameter (Algorithm Notation)
Algoritma NamaProsedur
{I.S.: Keadaan awal sebelum algoritma dijalankan}
{F.S.: Keadaan akhir sesudah algoritma dijalankan}
Kamus:
{Identifier global diletakkan di sini}
Procedure NamaProsedur (Output NamaVariabel:TipeData)
Algoritma:
NamaProsedur(NamaVariabel) {pemanggilan prosedur}
EndProcedure
Output Parameter (Pascal Notation)
program nama_program;
var
{identifier global di sini}
procedure nama_prosedur (var variabel:tipedata);
var
{identifier lokal di sini}
begin
end;
Begin
nama_prosedur(variabel);{pemanggilan prosedur}
end.
Algorithm and Programming (Procedure and Function)
Example of Output Parameter (Algorithm)
1
2
3
4
5
6
7
8
9
10
11
12
Procedure Persegi(Output luas,keliling:integer)
{I.S: Meminta input sisi dari pengguna}
{F.S: Mengirimkan nilai luas dan keliling persegi}
Kamus:
sisi:integer
Algoritma:
input(sisi)
luas  sisi * sisi
keliling  4 * sisi
EndProcedure
Example of Calling Output Parameter (Algorithm)
1
2
3
4
5
6
7
8
9
10
11
Algoritma PanggilHitungLuasPersegi
{I.S: Memanggil prosedur persegi}
{F.S: Menampilkan nilai dari prosedur persegi}
Kamus:
luas,keliling:integer
Procedure Persegi(Output luas,keliling:integer)
Algoritma:
Persegi(luas,keliling)
output(luas,keliling)
Example of Output Parameter (Pascal)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
program HitungPersegi;
uses crt;
var
luas,keliling:integer;
procedure persegi(var luas,keliling:integer);
var
sisi:integer;
begin
write(‘Masukan sisi persegi= ‘);readln(sisi);
luas := sisi * sisi;
keliling := 4 * sisi; {bersambung}
Example of Output Parameter (Pascal)
15
16
17
18
19
20
21
22
23
24
end;
begin
persegi(luas,keliling);
writeln(‘Keliling persegi : ‘,keliling);
writeln(‘Luas Persegi : ‘,luas);
writeln();
write(‘Tekan sembarang tombol untuk menutup...’);
readkey();
end.
CommunicationUsing
Input/OutputParameter
Input/Output Parameter (Algorithm Notation)
Procedure NamaProsedur (I/O NamaVariabel:TipeData)
{I.S.: Keadaan awal sebelum prosedur dijalankan}
{F.S.: Keadaan akhir sesudah prosedur dijalankan}
Kamus:
{Identifier lokal diletakkan di sini}
Algoritma:
{Badan Prosedur, Berisi instruksi}
EndProcedure
Calling Input/Output Parameter (Algorithm Notation)
Algoritma NamaProsedur
{I.S.: Keadaan awal sebelum algoritma dijalankan}
{F.S.: Keadaan akhir sesudah algoritma dijalankan}
Kamus:
{Identifier global diletakkan di sini}
Procedure NamaProsedur (I/O NamaVariabel:TipeData)
Algoritma:
NamaProsedur(NamaVariabel) {pemanggilan prosedur}
EndProcedure
Input/Ouput Parameter (Pascal Notation)
program nama_program;
var
{identifier global di sini}
procedure nama_prosedur (var variabel:tipedata);
var
{identifier lokal di sini}
begin
end;
Begin
nama_prosedur(variabel);{pemanggilan prosedur}
end.
Algorithm and Programming (Procedure and Function)
Example of Input/Output Parameter (Algorithm)
1
2
3
4
5
6
7
8
9
10
11
Procedure Persegi(I/O sisi:integer,Output luas,keliling:integer)
{I.S: Menerima input sisi}
{F.S: Mengirimkan nilai sisi, luas, dan keliling persegi}
Kamus:
Algoritma:
luas  sisi * sisi
keliling  4 * sisi
sisi  sisi + 1; {lihat apa yang terjadi}
EndProcedure
Example of Calling Output Parameter (Algorithm)
1
2
3
4
5
6
7
8
9
10
11
12
Algoritma PanggilHitungLuasPersegi
{I.S: Memanggil prosedur persegi}
{F.S: Menampilkan nilai dari prosedur persegi}
Kamus:
sisi,luas,keliling:integer
Procedure Persegi(I/O sisi:integer,Output luas,keliling:integer)
Algoritma:
input(sisi)
Persegi(sisi,luas,keliling)
output(sisi,luas,keliling) {Berapa nilai sisinya?}
Example of Input/Output Parameter (Pascal)
1
2
3
4
5
6
7
8
9
10
11
12
program HitungPersegi;
uses crt;
var
luas,keliling:integer;
procedure persegi(sisi:integer;var luas,keliling:integer);
begin
luas := sisi * sisi;
keliling := 4 * sisi;
sisi := sisi + 1; {Lihat apa yang terjadi}
end;
Example of Input/Output Parameter (Pascal)
13
14
15
16
17
18
19
20
21
22
begin
write(‘Masukan sisi persegi= ‘);readln(sisi);
persegi(sisi,luas,keliling);
writeln(‘Keliling persegi : ‘,keliling);
writeln(‘Luas Persegi : ‘,luas);
writeln(‘Sisi persegi : ‘,sisi);
writeln();
write(‘Tekan sembarang tombol untuk menutup...’);
readkey();
end.
Function
Definition and Structures of Function
WhatisFunction
Instruction block that was made specially to
do specific job and return a value. Such as:
F(x)= 2x+4  it will return 6 for x=1.
DifferenceBetweenProcedure
andFunction
Procedure was not made to return a value (only
do specific job) but function was made to return
a value (More specific than procedure).
Format of Function (Algorithm Notation)
FUnction NamaFungsi (Parameter jika ada)  tipefungsi
{I.S.: Keadaan awal sebelum fungsi dijalankan}
{F.S.: Keadaan akhir sesudah fungsi dijalankan}
Kamus:
{Variabel, konstanta, tipe buatan lokal}
Algoritma:
{Badan fungsi, Berisi instruksi}
return VALUE {tipenya sama dengan tipe fungsi}
EndFunction
Format of Procedure (Pascal Notation)
function NamaFungsi (Parameter jika ada):tipefungsi;
{Variabel, konstanta, tipe buatan}
begin
{Badan Fungsi, Berisi instruksi}
NamaFungsi := VALUE; (tipenya sama dengan tipe fungsi}
end;
Algorithm and Programming (Procedure and Function)
Example of Function (Algorithm)
1
2
3
4
5
6
7
8
9
Function LuasPersegi(Input sisi:integer)  integer
{I.S: Menerima input berupa sisi}
{F.S: Menampilkan luas dan keliling persegi}
Kamus:
Algoritma:
return sisi * sisi
EndFunction
Example of Function (Algorithm)
1
2
3
4
5
6
7
8
9
10
11
12
Algoritma PanggilLuasPersegi
{I.S: Diinputkan sisi oleh pengguna}
{F.S: Menampilkan nilai fungsi luas persegi}
Kamus:
sisi,luas:integer
Function LuasPersegi(Input sisi:integer)  integer
Algoritma:
input(sisi)
luas  LuasPersegi(sisi)
output(luas)
Example of Function (Pascal)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
program HitungPersegi;
uses crt;
var
sisi,luas:integer;
function LuasPersegi(sisi:integer):integer;
begin
LuasPersegi := sisi * sisi;
end;
begin
write(‘Masukan sisi persegi= ‘);readln(sisi);
luas := LuasPersegi(sisi); {Pemanggilan Function}
Example of Function (Pascal)
15
16
17
18
19
write(‘Luas persegi : ‘,luas);
writeln();
write(‘Tekan sembarang tombol untuk menutup...’);
readkey();
end.
Contact Person:
Adam Mukharil Bachtiar
Informatics Engineering UNIKOM
Jalan Dipati Ukur Nomor. 112-114 Bandung 40132
Email: adfbipotter@gmail.com
Blog: http://adfbipotter.wordpress.com
Copyright © Adam Mukharil Bachtiar 2011

More Related Content

What's hot (20)

Jdk,jre,jvm
Jdk,jre,jvmJdk,jre,jvm
Jdk,jre,jvm
Kritika Goel
 
Strings In OOP(Object oriented programming)
Strings In OOP(Object oriented programming)Strings In OOP(Object oriented programming)
Strings In OOP(Object oriented programming)
Danial Virk
 
GOOGLE Translate.pptx
GOOGLE Translate.pptxGOOGLE Translate.pptx
GOOGLE Translate.pptx
chriss776676
 
Core java
Core javaCore java
Core java
Sun Technlogies
 
mencari nilai minimum menggunakan fungsi rekursif di C
mencari nilai minimum menggunakan fungsi rekursif di Cmencari nilai minimum menggunakan fungsi rekursif di C
mencari nilai minimum menggunakan fungsi rekursif di C
kir yy
 
40+ examples of user defined methods in java with explanation
40+ examples of user defined methods in java with explanation40+ examples of user defined methods in java with explanation
40+ examples of user defined methods in java with explanation
Harish Gyanani
 
Python made easy
Python made easy Python made easy
Python made easy
Abhishek kumar
 
Program Pengurutan (Sorting) dan Pencarian (Searching) Data
Program Pengurutan  (Sorting) dan Pencarian  (Searching) DataProgram Pengurutan  (Sorting) dan Pencarian  (Searching) Data
Program Pengurutan (Sorting) dan Pencarian (Searching) Data
Simon Patabang
 
9.algoritma kriptografi klasik (bag 5)xx
9.algoritma kriptografi klasik (bag 5)xx9.algoritma kriptografi klasik (bag 5)xx
9.algoritma kriptografi klasik (bag 5)xx
Universitas Bina Darma Palembang
 
Kruskal’s algorithm
Kruskal’s algorithmKruskal’s algorithm
Kruskal’s algorithm
Abdul Moiz Lakhani
 
Knapsack Problem
Knapsack ProblemKnapsack Problem
Knapsack Problem
Jenny Galino
 
Primality
PrimalityPrimality
Primality
Mohanasundaram Nattudurai
 
Clean coding-practices
Clean coding-practicesClean coding-practices
Clean coding-practices
John Ferguson Smart Limited
 
Java IO
Java IOJava IO
Java IO
UTSAB NEUPANE
 
Reservasi hotel
Reservasi hotelReservasi hotel
Reservasi hotel
dian pw
 
Python GUI Programming
Python GUI ProgrammingPython GUI Programming
Python GUI Programming
RTS Tech
 
Flowchart dan Program untuk Menyalakan Dua Led
Flowchart dan Program untuk Menyalakan Dua LedFlowchart dan Program untuk Menyalakan Dua Led
Flowchart dan Program untuk Menyalakan Dua Led
RenataNoviene
 
Strings in Java
Strings in JavaStrings in Java
Strings in Java
Abhilash Nair
 
Matematika Diskrit - 04 induksi matematik - 01
Matematika Diskrit - 04 induksi matematik - 01Matematika Diskrit - 04 induksi matematik - 01
Matematika Diskrit - 04 induksi matematik - 01
KuliahKita
 
Unit 3 daa
Unit 3 daaUnit 3 daa
Unit 3 daa
Nv Thejaswini
 
Strings In OOP(Object oriented programming)
Strings In OOP(Object oriented programming)Strings In OOP(Object oriented programming)
Strings In OOP(Object oriented programming)
Danial Virk
 
GOOGLE Translate.pptx
GOOGLE Translate.pptxGOOGLE Translate.pptx
GOOGLE Translate.pptx
chriss776676
 
mencari nilai minimum menggunakan fungsi rekursif di C
mencari nilai minimum menggunakan fungsi rekursif di Cmencari nilai minimum menggunakan fungsi rekursif di C
mencari nilai minimum menggunakan fungsi rekursif di C
kir yy
 
40+ examples of user defined methods in java with explanation
40+ examples of user defined methods in java with explanation40+ examples of user defined methods in java with explanation
40+ examples of user defined methods in java with explanation
Harish Gyanani
 
Program Pengurutan (Sorting) dan Pencarian (Searching) Data
Program Pengurutan  (Sorting) dan Pencarian  (Searching) DataProgram Pengurutan  (Sorting) dan Pencarian  (Searching) Data
Program Pengurutan (Sorting) dan Pencarian (Searching) Data
Simon Patabang
 
Reservasi hotel
Reservasi hotelReservasi hotel
Reservasi hotel
dian pw
 
Python GUI Programming
Python GUI ProgrammingPython GUI Programming
Python GUI Programming
RTS Tech
 
Flowchart dan Program untuk Menyalakan Dua Led
Flowchart dan Program untuk Menyalakan Dua LedFlowchart dan Program untuk Menyalakan Dua Led
Flowchart dan Program untuk Menyalakan Dua Led
RenataNoviene
 
Matematika Diskrit - 04 induksi matematik - 01
Matematika Diskrit - 04 induksi matematik - 01Matematika Diskrit - 04 induksi matematik - 01
Matematika Diskrit - 04 induksi matematik - 01
KuliahKita
 

Viewers also liked (20)

Pertemuan vi (Function Java)
Pertemuan vi (Function Java)Pertemuan vi (Function Java)
Pertemuan vi (Function Java)
Putra Andry
 
Introduction Java Programming
Introduction Java ProgrammingIntroduction Java Programming
Introduction Java Programming
Fauzi Hasibuan
 
Pengenalan Pemrograman Java
Pengenalan Pemrograman JavaPengenalan Pemrograman Java
Pengenalan Pemrograman Java
I Putu Arya Dharmaadi
 
Data Management (Data Mining Klasifikasi)
Data Management (Data Mining Klasifikasi)Data Management (Data Mining Klasifikasi)
Data Management (Data Mining Klasifikasi)
Adam Mukharil Bachtiar
 
Algoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsiAlgoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsi
Zombie Black
 
Programming fundamentals lecture 4
Programming fundamentals lecture 4Programming fundamentals lecture 4
Programming fundamentals lecture 4
Raja Hamid
 
Perulangan java
Perulangan javaPerulangan java
Perulangan java
rhoyuee bonchell
 
Pemrograman berorientasi objek ii 04 prosedur dan fungsi
Pemrograman berorientasi objek ii   04 prosedur dan fungsiPemrograman berorientasi objek ii   04 prosedur dan fungsi
Pemrograman berorientasi objek ii 04 prosedur dan fungsi
Edri Yunizal
 
Fungsi (function)
Fungsi (function)Fungsi (function)
Fungsi (function)
PERUSAHAN GLEMBUK SOLO(ALIAS NGAPUSI UWONG)
 
UAS JAVA
UAS JAVAUAS JAVA
UAS JAVA
beiharira
 
Algorithm and Programming (Looping Structure)
Algorithm and Programming (Looping Structure)Algorithm and Programming (Looping Structure)
Algorithm and Programming (Looping Structure)
Adam Mukharil Bachtiar
 
Algoritma powerpoint
Algoritma powerpointAlgoritma powerpoint
Algoritma powerpoint
Irwin andriyanto
 
Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15
doudomblogspot
 
UAS TESTING
UAS TESTINGUAS TESTING
UAS TESTING
beiharira
 
Algorithm and Programming (Introduction of dev pascal, data type, value, and ...
Algorithm and Programming (Introduction of dev pascal, data type, value, and ...Algorithm and Programming (Introduction of dev pascal, data type, value, and ...
Algorithm and Programming (Introduction of dev pascal, data type, value, and ...
Adam Mukharil Bachtiar
 
Algorithm and Programming (Sequential Structure)
Algorithm and Programming (Sequential Structure)Algorithm and Programming (Sequential Structure)
Algorithm and Programming (Sequential Structure)
Adam Mukharil Bachtiar
 
Soal UAS Pemrograman Desktop kelas 11 semester genap tahun ajaran 2014-2015
Soal UAS Pemrograman Desktop kelas 11 semester genap tahun ajaran 2014-2015Soal UAS Pemrograman Desktop kelas 11 semester genap tahun ajaran 2014-2015
Soal UAS Pemrograman Desktop kelas 11 semester genap tahun ajaran 2014-2015
Saprudin Eskom
 
Soal UAS Pemrograman Desktop kelas 11 SMK semester ganjil tahun ajaran 2015-2016
Soal UAS Pemrograman Desktop kelas 11 SMK semester ganjil tahun ajaran 2015-2016Soal UAS Pemrograman Desktop kelas 11 SMK semester ganjil tahun ajaran 2015-2016
Soal UAS Pemrograman Desktop kelas 11 SMK semester ganjil tahun ajaran 2015-2016
Saprudin Eskom
 
Micro teaching konsep logika algoritma
Micro teaching konsep logika algoritmaMicro teaching konsep logika algoritma
Micro teaching konsep logika algoritma
Apriyanto_apo
 
Pertemuan vi (Function Java)
Pertemuan vi (Function Java)Pertemuan vi (Function Java)
Pertemuan vi (Function Java)
Putra Andry
 
Introduction Java Programming
Introduction Java ProgrammingIntroduction Java Programming
Introduction Java Programming
Fauzi Hasibuan
 
Data Management (Data Mining Klasifikasi)
Data Management (Data Mining Klasifikasi)Data Management (Data Mining Klasifikasi)
Data Management (Data Mining Klasifikasi)
Adam Mukharil Bachtiar
 
Algoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsiAlgoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsi
Zombie Black
 
Programming fundamentals lecture 4
Programming fundamentals lecture 4Programming fundamentals lecture 4
Programming fundamentals lecture 4
Raja Hamid
 
Pemrograman berorientasi objek ii 04 prosedur dan fungsi
Pemrograman berorientasi objek ii   04 prosedur dan fungsiPemrograman berorientasi objek ii   04 prosedur dan fungsi
Pemrograman berorientasi objek ii 04 prosedur dan fungsi
Edri Yunizal
 
Algorithm and Programming (Looping Structure)
Algorithm and Programming (Looping Structure)Algorithm and Programming (Looping Structure)
Algorithm and Programming (Looping Structure)
Adam Mukharil Bachtiar
 
Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15Array searching sorting_pert_11,12,13,14,15
Array searching sorting_pert_11,12,13,14,15
doudomblogspot
 
Algorithm and Programming (Introduction of dev pascal, data type, value, and ...
Algorithm and Programming (Introduction of dev pascal, data type, value, and ...Algorithm and Programming (Introduction of dev pascal, data type, value, and ...
Algorithm and Programming (Introduction of dev pascal, data type, value, and ...
Adam Mukharil Bachtiar
 
Algorithm and Programming (Sequential Structure)
Algorithm and Programming (Sequential Structure)Algorithm and Programming (Sequential Structure)
Algorithm and Programming (Sequential Structure)
Adam Mukharil Bachtiar
 
Soal UAS Pemrograman Desktop kelas 11 semester genap tahun ajaran 2014-2015
Soal UAS Pemrograman Desktop kelas 11 semester genap tahun ajaran 2014-2015Soal UAS Pemrograman Desktop kelas 11 semester genap tahun ajaran 2014-2015
Soal UAS Pemrograman Desktop kelas 11 semester genap tahun ajaran 2014-2015
Saprudin Eskom
 
Soal UAS Pemrograman Desktop kelas 11 SMK semester ganjil tahun ajaran 2015-2016
Soal UAS Pemrograman Desktop kelas 11 SMK semester ganjil tahun ajaran 2015-2016Soal UAS Pemrograman Desktop kelas 11 SMK semester ganjil tahun ajaran 2015-2016
Soal UAS Pemrograman Desktop kelas 11 SMK semester ganjil tahun ajaran 2015-2016
Saprudin Eskom
 
Micro teaching konsep logika algoritma
Micro teaching konsep logika algoritmaMicro teaching konsep logika algoritma
Micro teaching konsep logika algoritma
Apriyanto_apo
 
Ad

More from Adam Mukharil Bachtiar (20)

Materi 8 - Data Mining Association Rule.pdf
Materi 8 - Data Mining Association Rule.pdfMateri 8 - Data Mining Association Rule.pdf
Materi 8 - Data Mining Association Rule.pdf
Adam Mukharil Bachtiar
 
Clean Code - Formatting Code
Clean Code - Formatting CodeClean Code - Formatting Code
Clean Code - Formatting Code
Adam Mukharil Bachtiar
 
Clean Code - Clean Comments
Clean Code - Clean CommentsClean Code - Clean Comments
Clean Code - Clean Comments
Adam Mukharil Bachtiar
 
Clean Method
Clean MethodClean Method
Clean Method
Adam Mukharil Bachtiar
 
Clean Code and Design Pattern - Meaningful Names
Clean Code and Design Pattern - Meaningful NamesClean Code and Design Pattern - Meaningful Names
Clean Code and Design Pattern - Meaningful Names
Adam Mukharil Bachtiar
 
Model Driven Software Development
Model Driven Software DevelopmentModel Driven Software Development
Model Driven Software Development
Adam Mukharil Bachtiar
 
Scrum: How to Implement
Scrum: How to ImplementScrum: How to Implement
Scrum: How to Implement
Adam Mukharil Bachtiar
 
Pengujian Perangkat Lunak
Pengujian Perangkat LunakPengujian Perangkat Lunak
Pengujian Perangkat Lunak
Adam Mukharil Bachtiar
 
Data Mining Clustering
Data Mining ClusteringData Mining Clustering
Data Mining Clustering
Adam Mukharil Bachtiar
 
Data Mining Klasifikasi (Updated 30 Desember 2020)
Data Mining Klasifikasi (Updated 30 Desember 2020)Data Mining Klasifikasi (Updated 30 Desember 2020)
Data Mining Klasifikasi (Updated 30 Desember 2020)
Adam Mukharil Bachtiar
 
Analisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic ProgrammingAnalisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic Programming
Adam Mukharil Bachtiar
 
Analisis Algoritma - Strategi Algoritma Divide and Conquer
Analisis Algoritma - Strategi Algoritma Divide and ConquerAnalisis Algoritma - Strategi Algoritma Divide and Conquer
Analisis Algoritma - Strategi Algoritma Divide and Conquer
Adam Mukharil Bachtiar
 
Analisis Algoritma - Strategi Algoritma Greedy
Analisis Algoritma - Strategi Algoritma GreedyAnalisis Algoritma - Strategi Algoritma Greedy
Analisis Algoritma - Strategi Algoritma Greedy
Adam Mukharil Bachtiar
 
Analisis Algoritma - Penerapan Strategi Algoritma Brute Force
Analisis Algoritma - Penerapan Strategi Algoritma Brute ForceAnalisis Algoritma - Penerapan Strategi Algoritma Brute Force
Analisis Algoritma - Penerapan Strategi Algoritma Brute Force
Adam Mukharil Bachtiar
 
Analisis Algoritma - Strategi Algoritma Brute Force
Analisis Algoritma - Strategi Algoritma Brute ForceAnalisis Algoritma - Strategi Algoritma Brute Force
Analisis Algoritma - Strategi Algoritma Brute Force
Adam Mukharil Bachtiar
 
Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Analisis Algoritma - Kelas-kelas Dasar Efisiensi AlgoritmaAnalisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Adam Mukharil Bachtiar
 
Analisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Teorema Notasi AsimptotikAnalisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Teorema Notasi Asimptotik
Adam Mukharil Bachtiar
 
Analisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi AsimptotikAnalisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi Asimptotik
Adam Mukharil Bachtiar
 
Activity Diagram
Activity DiagramActivity Diagram
Activity Diagram
Adam Mukharil Bachtiar
 
UML dan Use Case View
UML dan Use Case ViewUML dan Use Case View
UML dan Use Case View
Adam Mukharil Bachtiar
 
Materi 8 - Data Mining Association Rule.pdf
Materi 8 - Data Mining Association Rule.pdfMateri 8 - Data Mining Association Rule.pdf
Materi 8 - Data Mining Association Rule.pdf
Adam Mukharil Bachtiar
 
Clean Code and Design Pattern - Meaningful Names
Clean Code and Design Pattern - Meaningful NamesClean Code and Design Pattern - Meaningful Names
Clean Code and Design Pattern - Meaningful Names
Adam Mukharil Bachtiar
 
Data Mining Klasifikasi (Updated 30 Desember 2020)
Data Mining Klasifikasi (Updated 30 Desember 2020)Data Mining Klasifikasi (Updated 30 Desember 2020)
Data Mining Klasifikasi (Updated 30 Desember 2020)
Adam Mukharil Bachtiar
 
Analisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic ProgrammingAnalisis Algoritma - Strategi Algoritma Dynamic Programming
Analisis Algoritma - Strategi Algoritma Dynamic Programming
Adam Mukharil Bachtiar
 
Analisis Algoritma - Strategi Algoritma Divide and Conquer
Analisis Algoritma - Strategi Algoritma Divide and ConquerAnalisis Algoritma - Strategi Algoritma Divide and Conquer
Analisis Algoritma - Strategi Algoritma Divide and Conquer
Adam Mukharil Bachtiar
 
Analisis Algoritma - Strategi Algoritma Greedy
Analisis Algoritma - Strategi Algoritma GreedyAnalisis Algoritma - Strategi Algoritma Greedy
Analisis Algoritma - Strategi Algoritma Greedy
Adam Mukharil Bachtiar
 
Analisis Algoritma - Penerapan Strategi Algoritma Brute Force
Analisis Algoritma - Penerapan Strategi Algoritma Brute ForceAnalisis Algoritma - Penerapan Strategi Algoritma Brute Force
Analisis Algoritma - Penerapan Strategi Algoritma Brute Force
Adam Mukharil Bachtiar
 
Analisis Algoritma - Strategi Algoritma Brute Force
Analisis Algoritma - Strategi Algoritma Brute ForceAnalisis Algoritma - Strategi Algoritma Brute Force
Analisis Algoritma - Strategi Algoritma Brute Force
Adam Mukharil Bachtiar
 
Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Analisis Algoritma - Kelas-kelas Dasar Efisiensi AlgoritmaAnalisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Adam Mukharil Bachtiar
 
Analisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Teorema Notasi AsimptotikAnalisis Algoritma - Teorema Notasi Asimptotik
Analisis Algoritma - Teorema Notasi Asimptotik
Adam Mukharil Bachtiar
 
Analisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi AsimptotikAnalisis Algoritma - Notasi Asimptotik
Analisis Algoritma - Notasi Asimptotik
Adam Mukharil Bachtiar
 
Ad

Recently uploaded (20)

Porting Qt 5 QML Modules to Qt 6 Webinar
Porting Qt 5 QML Modules to Qt 6 WebinarPorting Qt 5 QML Modules to Qt 6 Webinar
Porting Qt 5 QML Modules to Qt 6 Webinar
ICS
 
Build Smarter, Deliver Faster with Choreo - An AI Native Internal Developer P...
Build Smarter, Deliver Faster with Choreo - An AI Native Internal Developer P...Build Smarter, Deliver Faster with Choreo - An AI Native Internal Developer P...
Build Smarter, Deliver Faster with Choreo - An AI Native Internal Developer P...
WSO2
 
COBOL Programming with VSCode - IBM Certificate
COBOL Programming with VSCode - IBM CertificateCOBOL Programming with VSCode - IBM Certificate
COBOL Programming with VSCode - IBM Certificate
VICTOR MAESTRE RAMIREZ
 
Code and No-Code Journeys: The Coverage Overlook
Code and No-Code Journeys: The Coverage OverlookCode and No-Code Journeys: The Coverage Overlook
Code and No-Code Journeys: The Coverage Overlook
Applitools
 
Software Testing & it’s types (DevOps)
Software  Testing & it’s  types (DevOps)Software  Testing & it’s  types (DevOps)
Software Testing & it’s types (DevOps)
S Pranav (Deepu)
 
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Natan Silnitsky
 
Integrating Survey123 and R&H Data Using FME
Integrating Survey123 and R&H Data Using FMEIntegrating Survey123 and R&H Data Using FME
Integrating Survey123 and R&H Data Using FME
Safe Software
 
Revolutionize Your Insurance Workflow with Claims Management Software
Revolutionize Your Insurance Workflow with Claims Management SoftwareRevolutionize Your Insurance Workflow with Claims Management Software
Revolutionize Your Insurance Workflow with Claims Management Software
Insurance Tech Services
 
Agile Software Engineering Methodologies
Agile Software Engineering MethodologiesAgile Software Engineering Methodologies
Agile Software Engineering Methodologies
Gaurav Sharma
 
Agentic Techniques in Retrieval-Augmented Generation with Azure AI Search
Agentic Techniques in Retrieval-Augmented Generation with Azure AI SearchAgentic Techniques in Retrieval-Augmented Generation with Azure AI Search
Agentic Techniques in Retrieval-Augmented Generation with Azure AI Search
Maxim Salnikov
 
Generative Artificial Intelligence and its Applications
Generative Artificial Intelligence and its ApplicationsGenerative Artificial Intelligence and its Applications
Generative Artificial Intelligence and its Applications
SandeepKS52
 
Software Engineering Process, Notation & Tools Introduction - Part 4
Software Engineering Process, Notation & Tools Introduction - Part 4Software Engineering Process, Notation & Tools Introduction - Part 4
Software Engineering Process, Notation & Tools Introduction - Part 4
Gaurav Sharma
 
Providing Better Biodiversity Through Better Data
Providing Better Biodiversity Through Better DataProviding Better Biodiversity Through Better Data
Providing Better Biodiversity Through Better Data
Safe Software
 
Automating Map Production With FME and Python
Automating Map Production With FME and PythonAutomating Map Production With FME and Python
Automating Map Production With FME and Python
Safe Software
 
wAIred_RabobankIgniteSession_12062025.pptx
wAIred_RabobankIgniteSession_12062025.pptxwAIred_RabobankIgniteSession_12062025.pptx
wAIred_RabobankIgniteSession_12062025.pptx
SimonedeGijt
 
From Chaos to Clarity - Designing (AI-Ready) APIs with APIOps Cycles
From Chaos to Clarity - Designing (AI-Ready) APIs with APIOps CyclesFrom Chaos to Clarity - Designing (AI-Ready) APIs with APIOps Cycles
From Chaos to Clarity - Designing (AI-Ready) APIs with APIOps Cycles
Marjukka Niinioja
 
How the US Navy Approaches DevSecOps with Raise 2.0
How the US Navy Approaches DevSecOps with Raise 2.0How the US Navy Approaches DevSecOps with Raise 2.0
How the US Navy Approaches DevSecOps with Raise 2.0
Anchore
 
Neuralink Templateeeeeeeeeeeeeeeeeeeeeeeeee
Neuralink TemplateeeeeeeeeeeeeeeeeeeeeeeeeeNeuralink Templateeeeeeeeeeeeeeeeeeeeeeeeee
Neuralink Templateeeeeeeeeeeeeeeeeeeeeeeeee
alexandernoetzold
 
The Future of Open Source Reporting Best Alternatives to Jaspersoft.pdf
The Future of Open Source Reporting Best Alternatives to Jaspersoft.pdfThe Future of Open Source Reporting Best Alternatives to Jaspersoft.pdf
The Future of Open Source Reporting Best Alternatives to Jaspersoft.pdf
Varsha Nayak
 
Essentials of Resource Planning in a Downturn
Essentials of Resource Planning in a DownturnEssentials of Resource Planning in a Downturn
Essentials of Resource Planning in a Downturn
OnePlan Solutions
 
Porting Qt 5 QML Modules to Qt 6 Webinar
Porting Qt 5 QML Modules to Qt 6 WebinarPorting Qt 5 QML Modules to Qt 6 Webinar
Porting Qt 5 QML Modules to Qt 6 Webinar
ICS
 
Build Smarter, Deliver Faster with Choreo - An AI Native Internal Developer P...
Build Smarter, Deliver Faster with Choreo - An AI Native Internal Developer P...Build Smarter, Deliver Faster with Choreo - An AI Native Internal Developer P...
Build Smarter, Deliver Faster with Choreo - An AI Native Internal Developer P...
WSO2
 
COBOL Programming with VSCode - IBM Certificate
COBOL Programming with VSCode - IBM CertificateCOBOL Programming with VSCode - IBM Certificate
COBOL Programming with VSCode - IBM Certificate
VICTOR MAESTRE RAMIREZ
 
Code and No-Code Journeys: The Coverage Overlook
Code and No-Code Journeys: The Coverage OverlookCode and No-Code Journeys: The Coverage Overlook
Code and No-Code Journeys: The Coverage Overlook
Applitools
 
Software Testing & it’s types (DevOps)
Software  Testing & it’s  types (DevOps)Software  Testing & it’s  types (DevOps)
Software Testing & it’s types (DevOps)
S Pranav (Deepu)
 
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Async-ronizing Success at Wix - Patterns for Seamless Microservices - Devoxx ...
Natan Silnitsky
 
Integrating Survey123 and R&H Data Using FME
Integrating Survey123 and R&H Data Using FMEIntegrating Survey123 and R&H Data Using FME
Integrating Survey123 and R&H Data Using FME
Safe Software
 
Revolutionize Your Insurance Workflow with Claims Management Software
Revolutionize Your Insurance Workflow with Claims Management SoftwareRevolutionize Your Insurance Workflow with Claims Management Software
Revolutionize Your Insurance Workflow with Claims Management Software
Insurance Tech Services
 
Agile Software Engineering Methodologies
Agile Software Engineering MethodologiesAgile Software Engineering Methodologies
Agile Software Engineering Methodologies
Gaurav Sharma
 
Agentic Techniques in Retrieval-Augmented Generation with Azure AI Search
Agentic Techniques in Retrieval-Augmented Generation with Azure AI SearchAgentic Techniques in Retrieval-Augmented Generation with Azure AI Search
Agentic Techniques in Retrieval-Augmented Generation with Azure AI Search
Maxim Salnikov
 
Generative Artificial Intelligence and its Applications
Generative Artificial Intelligence and its ApplicationsGenerative Artificial Intelligence and its Applications
Generative Artificial Intelligence and its Applications
SandeepKS52
 
Software Engineering Process, Notation & Tools Introduction - Part 4
Software Engineering Process, Notation & Tools Introduction - Part 4Software Engineering Process, Notation & Tools Introduction - Part 4
Software Engineering Process, Notation & Tools Introduction - Part 4
Gaurav Sharma
 
Providing Better Biodiversity Through Better Data
Providing Better Biodiversity Through Better DataProviding Better Biodiversity Through Better Data
Providing Better Biodiversity Through Better Data
Safe Software
 
Automating Map Production With FME and Python
Automating Map Production With FME and PythonAutomating Map Production With FME and Python
Automating Map Production With FME and Python
Safe Software
 
wAIred_RabobankIgniteSession_12062025.pptx
wAIred_RabobankIgniteSession_12062025.pptxwAIred_RabobankIgniteSession_12062025.pptx
wAIred_RabobankIgniteSession_12062025.pptx
SimonedeGijt
 
From Chaos to Clarity - Designing (AI-Ready) APIs with APIOps Cycles
From Chaos to Clarity - Designing (AI-Ready) APIs with APIOps CyclesFrom Chaos to Clarity - Designing (AI-Ready) APIs with APIOps Cycles
From Chaos to Clarity - Designing (AI-Ready) APIs with APIOps Cycles
Marjukka Niinioja
 
How the US Navy Approaches DevSecOps with Raise 2.0
How the US Navy Approaches DevSecOps with Raise 2.0How the US Navy Approaches DevSecOps with Raise 2.0
How the US Navy Approaches DevSecOps with Raise 2.0
Anchore
 
Neuralink Templateeeeeeeeeeeeeeeeeeeeeeeeee
Neuralink TemplateeeeeeeeeeeeeeeeeeeeeeeeeeNeuralink Templateeeeeeeeeeeeeeeeeeeeeeeeee
Neuralink Templateeeeeeeeeeeeeeeeeeeeeeeeee
alexandernoetzold
 
The Future of Open Source Reporting Best Alternatives to Jaspersoft.pdf
The Future of Open Source Reporting Best Alternatives to Jaspersoft.pdfThe Future of Open Source Reporting Best Alternatives to Jaspersoft.pdf
The Future of Open Source Reporting Best Alternatives to Jaspersoft.pdf
Varsha Nayak
 
Essentials of Resource Planning in a Downturn
Essentials of Resource Planning in a DownturnEssentials of Resource Planning in a Downturn
Essentials of Resource Planning in a Downturn
OnePlan Solutions
 

Algorithm and Programming (Procedure and Function)

  • 1. Adam Mukharil Bachtiar English Class Informatics Engineering 2011 Algorithms and Programming Procedure and Function
  • 2. Steps of the Day Let’s Start Modular Programming Procedure Function
  • 3. Modular Programming Definition and Types of Modular Programming
  • 4. BackgroundofModular Programming Make a program to solve all problems in your calculus book! WHAT WILL YOU DO?
  • 6. ThinkinginModular Programming Breakdown a big problem into several small problems. Small Problems can be reconstructed to solve the big problem.
  • 8. WhatisModularProgramming Programming technique that break main program into several sub program.
  • 9. BenefitsofModular Programming • Eliminate repetition of same syntax in program or algorithm. • Can find syntax error easily. • Easy to make big program.
  • 12. WhatisProcedure Instruction block that was made specially to do specific job.
  • 13. ExampleofProcedure (SleepProcedure) • Brush your teeth • Go to bed • Pray • Cover your body with bedcover • Count the sheep (if you are insomnia) • Start to dream • Wake up (if you are not death) • Pray again
  • 14. Format of Procedure (Algorithm Notation) Procedure NamaProsedur (Parameter jika ada) {I.S.: Keadaan awal sebelum prosedur dijalankan} {F.S.: Keadaan akhir sesudah prosedur dijalankan} Kamus: {Variabel, konstanta, tipe buatan lokal} Algoritma: {Badan Prosedur, Berisi instruksi} EndProcedure
  • 15. Format of Procedure (Pascal Notation) procedure NamaProsedur (Parameter jika ada); {Variabel, konstanta, tipe buatan} begin {Badan Prosedur, Berisi instruksi} end;
  • 17. Example of Procedure (Algorithm) 1 2 3 4 5 6 7 8 9 10 11 12 13 Procedure HitungLuasPersegi {I.S: Diinputkan sisi oleh pengguna} {F.S: Menampilkan hasil perhitungan luas persegi di layar} Kamus: sisi:integer luas:integer Algoritma: input(sisi) luas  sisi * sisi output(‘Luas Persegi = ‘,luas) EndProcedure
  • 18. Example of Procedure (Pascal) 1 2 3 4 5 6 7 8 9 10 11 12 13 procedure HitungLuasPersegi; var sisi:integer; luas:integer; begin write(‘Masukan sisi : ‘);readln(sisi); luas  sisi * sisi; writeln(‘Luas Persegi = ‘,luas); write(‘Tekan sembarang tombol untuk keluar...’); readkey(); end;
  • 19. CalltheProcedure Procedure was useless until you call it in main algorithm, main program, or the other modul.
  • 20. Format of Calling Procedure (Algorithm) NamaProsedur Atau NamaProsedur(parameter jika ada)
  • 21. Format of Calling Procedure (Algorithm) NamaProsedur; Atau NamaProsedur(parameter jika ada);
  • 23. Example of Calling Procedure (Algorithm) 1 2 3 4 5 6 7 8 9 10 11 12 Algoritma PanggilHitungLuasPersegi {I.S: Diinputkan sebuah bilangan oleh pengguna} {F.S: Memanggil prosedur sebanyak bilangan} Kamus: i,bil:integer {kamus global} procedure HitungLuasPersegi {Cukup Headernya saja} Algoritma: input(bil) for i  1 to bil do HitungLuasPersegi {memanggil prosedur} endfor
  • 24. Example of Calling Procedure (Pascal) 1 2 3 4 5 6 7 8 9 10 11 12 13 program PanggilHitungLuasPersegi; uses crt; var bil:integer; {Prosedur HitungLuasPersegi kamu diletakkan di sini} begin write(‘Masukan bilangan = ‘);readln(bil); for i  1 to bil do HitungLuasPersegi; {memanggil prosedur} {Baris penutup jangan sampai lupa!!!} end.
  • 26. GlobalVariable Varible that was known by entire program or algorithm. This variable was declared in main program or main algorithm.
  • 27. LocalVariable Varible that was known only by its owner. This variable was declared inside procedure or function.
  • 28. Local Variable (Algorithm Notation) Procedure NamaProsedur (Parameter jika ada) {I.S.: Keadaan awal sebelum prosedur dijalankan} {F.S.: Keadaan akhir sesudah prosedur dijalankan} Kamus: {Identifier lokal diletakkan di sini} Algoritma: {Badan Prosedur, Berisi instruksi} EndProcedure FORMAL PARAMETER
  • 29. Global Variable (Algorithm Notation) Algoritma judul_algoritma {I.S.: diisi keadaan yang terjadi di awal algoritma} {F.S.: diisi keadaan yang terjadi di akhir algoritma} Kamus/Deklarasi: {Identifier global diletakkan di sini} Algoritma/Deskripsi: {diisi dengan input, proses, dan output}
  • 30. Local and Global Variable (Pascal Notation) program nama_program; var {identifier global di sini} procedure nama_prosedur (parameter jika ada); var {identifier lokal di sini} begin end; begin end.
  • 32. WhatisParameter Variable that allow us to have more than just ordinary communication to procedure or function.
  • 33. TypesofParameter • Input Parameter • Output Parameter • Input/Output Parameter : means parameter by value : means parameter by reference
  • 35. Input Parameter (Algorithm Notation) Procedure NamaProsedur (Input NamaVariabel:TipeData) {I.S.: Keadaan awal sebelum prosedur dijalankan} {F.S.: Keadaan akhir sesudah prosedur dijalankan} Kamus: {Identifier lokal diletakkan di sini} Algoritma: {Badan Prosedur, Berisi instruksi} EndProcedure
  • 36. Calling Input Parameter (Algorithm Notation) Algoritma NamaProsedur {I.S.: Keadaan awal sebelum algoritma dijalankan} {F.S.: Keadaan akhir sesudah algoritma dijalankan} Kamus: {Identifier global diletakkan di sini} Procedure NamaProsedur (Input NamaVariabel:TipeData) Algoritma: NamaProsedur(NamaVariabel) {pemanggilan prosedur} EndProcedure ACTUAL PARAMETER
  • 37. Input Parameter (Pascal Notation) program nama_program; var {identifier global di sini} procedure nama_prosedur (variabel:tipedata); var {identifier lokal di sini} begin end; Begin nama_prosedur(variabel);{pemanggilan prosedur} end.
  • 39. Example of Input Parameter (Algorithm) 1 2 3 4 5 6 7 8 9 10 11 12 Procedure Persegi(Input sisi:integer) {I.S: Menerima input berupa sisi} {F.S: Menampilkan luas dan keliling persegi} Kamus: luas,keliling:integer Algoritma: luas  sisi * sisi keliling  4 * sisi output(luas,keliling) EndProcedure
  • 40. Example of Calling Input Parameter (Algorithm) 1 2 3 4 5 6 7 8 9 10 11 Algoritma PanggilHitungLuasPersegi {I.S: Diinputkan sisi oleh pengguna} {F.S: Memanggil prosedur persegi} Kamus: sisi:integer procedure Persegi(Input sisi:integer) Algoritma: input(sisi) Persegi(sisi)
  • 41. Example of Input Parameter (Pascal) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 program HitungPersegi; uses crt; var sisi:integer; procedure persegi(sisi:integer); var luas,keliling:integer; begin luas := sisi * sisi; keliling := 4 * sisi; writeln(‘Luas Persegi : ‘,luas); {bersambung}
  • 42. Example of Input Parameter (Pascal) 15 16 17 18 19 20 21 22 23 24 writeln(‘Keliling persegi : ‘,keliling); end; begin write(‘Masukan sisi persegi= ‘);readln(sisi); persegi(sisi); writeln(); write(‘Tekan sembarang tombol untuk menutup...’); readkey(); end.
  • 44. Output Parameter (Algorithm Notation) Procedure NamaProsedur (Output NamaVariabel:TipeData) {I.S.: Keadaan awal sebelum prosedur dijalankan} {F.S.: Keadaan akhir sesudah prosedur dijalankan} Kamus: {Identifier lokal diletakkan di sini} Algoritma: {Badan Prosedur, Berisi instruksi} EndProcedure
  • 45. Calling Output Parameter (Algorithm Notation) Algoritma NamaProsedur {I.S.: Keadaan awal sebelum algoritma dijalankan} {F.S.: Keadaan akhir sesudah algoritma dijalankan} Kamus: {Identifier global diletakkan di sini} Procedure NamaProsedur (Output NamaVariabel:TipeData) Algoritma: NamaProsedur(NamaVariabel) {pemanggilan prosedur} EndProcedure
  • 46. Output Parameter (Pascal Notation) program nama_program; var {identifier global di sini} procedure nama_prosedur (var variabel:tipedata); var {identifier lokal di sini} begin end; Begin nama_prosedur(variabel);{pemanggilan prosedur} end.
  • 48. Example of Output Parameter (Algorithm) 1 2 3 4 5 6 7 8 9 10 11 12 Procedure Persegi(Output luas,keliling:integer) {I.S: Meminta input sisi dari pengguna} {F.S: Mengirimkan nilai luas dan keliling persegi} Kamus: sisi:integer Algoritma: input(sisi) luas  sisi * sisi keliling  4 * sisi EndProcedure
  • 49. Example of Calling Output Parameter (Algorithm) 1 2 3 4 5 6 7 8 9 10 11 Algoritma PanggilHitungLuasPersegi {I.S: Memanggil prosedur persegi} {F.S: Menampilkan nilai dari prosedur persegi} Kamus: luas,keliling:integer Procedure Persegi(Output luas,keliling:integer) Algoritma: Persegi(luas,keliling) output(luas,keliling)
  • 50. Example of Output Parameter (Pascal) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 program HitungPersegi; uses crt; var luas,keliling:integer; procedure persegi(var luas,keliling:integer); var sisi:integer; begin write(‘Masukan sisi persegi= ‘);readln(sisi); luas := sisi * sisi; keliling := 4 * sisi; {bersambung}
  • 51. Example of Output Parameter (Pascal) 15 16 17 18 19 20 21 22 23 24 end; begin persegi(luas,keliling); writeln(‘Keliling persegi : ‘,keliling); writeln(‘Luas Persegi : ‘,luas); writeln(); write(‘Tekan sembarang tombol untuk menutup...’); readkey(); end.
  • 53. Input/Output Parameter (Algorithm Notation) Procedure NamaProsedur (I/O NamaVariabel:TipeData) {I.S.: Keadaan awal sebelum prosedur dijalankan} {F.S.: Keadaan akhir sesudah prosedur dijalankan} Kamus: {Identifier lokal diletakkan di sini} Algoritma: {Badan Prosedur, Berisi instruksi} EndProcedure
  • 54. Calling Input/Output Parameter (Algorithm Notation) Algoritma NamaProsedur {I.S.: Keadaan awal sebelum algoritma dijalankan} {F.S.: Keadaan akhir sesudah algoritma dijalankan} Kamus: {Identifier global diletakkan di sini} Procedure NamaProsedur (I/O NamaVariabel:TipeData) Algoritma: NamaProsedur(NamaVariabel) {pemanggilan prosedur} EndProcedure
  • 55. Input/Ouput Parameter (Pascal Notation) program nama_program; var {identifier global di sini} procedure nama_prosedur (var variabel:tipedata); var {identifier lokal di sini} begin end; Begin nama_prosedur(variabel);{pemanggilan prosedur} end.
  • 57. Example of Input/Output Parameter (Algorithm) 1 2 3 4 5 6 7 8 9 10 11 Procedure Persegi(I/O sisi:integer,Output luas,keliling:integer) {I.S: Menerima input sisi} {F.S: Mengirimkan nilai sisi, luas, dan keliling persegi} Kamus: Algoritma: luas  sisi * sisi keliling  4 * sisi sisi  sisi + 1; {lihat apa yang terjadi} EndProcedure
  • 58. Example of Calling Output Parameter (Algorithm) 1 2 3 4 5 6 7 8 9 10 11 12 Algoritma PanggilHitungLuasPersegi {I.S: Memanggil prosedur persegi} {F.S: Menampilkan nilai dari prosedur persegi} Kamus: sisi,luas,keliling:integer Procedure Persegi(I/O sisi:integer,Output luas,keliling:integer) Algoritma: input(sisi) Persegi(sisi,luas,keliling) output(sisi,luas,keliling) {Berapa nilai sisinya?}
  • 59. Example of Input/Output Parameter (Pascal) 1 2 3 4 5 6 7 8 9 10 11 12 program HitungPersegi; uses crt; var luas,keliling:integer; procedure persegi(sisi:integer;var luas,keliling:integer); begin luas := sisi * sisi; keliling := 4 * sisi; sisi := sisi + 1; {Lihat apa yang terjadi} end;
  • 60. Example of Input/Output Parameter (Pascal) 13 14 15 16 17 18 19 20 21 22 begin write(‘Masukan sisi persegi= ‘);readln(sisi); persegi(sisi,luas,keliling); writeln(‘Keliling persegi : ‘,keliling); writeln(‘Luas Persegi : ‘,luas); writeln(‘Sisi persegi : ‘,sisi); writeln(); write(‘Tekan sembarang tombol untuk menutup...’); readkey(); end.
  • 62. WhatisFunction Instruction block that was made specially to do specific job and return a value. Such as: F(x)= 2x+4  it will return 6 for x=1.
  • 63. DifferenceBetweenProcedure andFunction Procedure was not made to return a value (only do specific job) but function was made to return a value (More specific than procedure).
  • 64. Format of Function (Algorithm Notation) FUnction NamaFungsi (Parameter jika ada)  tipefungsi {I.S.: Keadaan awal sebelum fungsi dijalankan} {F.S.: Keadaan akhir sesudah fungsi dijalankan} Kamus: {Variabel, konstanta, tipe buatan lokal} Algoritma: {Badan fungsi, Berisi instruksi} return VALUE {tipenya sama dengan tipe fungsi} EndFunction
  • 65. Format of Procedure (Pascal Notation) function NamaFungsi (Parameter jika ada):tipefungsi; {Variabel, konstanta, tipe buatan} begin {Badan Fungsi, Berisi instruksi} NamaFungsi := VALUE; (tipenya sama dengan tipe fungsi} end;
  • 67. Example of Function (Algorithm) 1 2 3 4 5 6 7 8 9 Function LuasPersegi(Input sisi:integer)  integer {I.S: Menerima input berupa sisi} {F.S: Menampilkan luas dan keliling persegi} Kamus: Algoritma: return sisi * sisi EndFunction
  • 68. Example of Function (Algorithm) 1 2 3 4 5 6 7 8 9 10 11 12 Algoritma PanggilLuasPersegi {I.S: Diinputkan sisi oleh pengguna} {F.S: Menampilkan nilai fungsi luas persegi} Kamus: sisi,luas:integer Function LuasPersegi(Input sisi:integer)  integer Algoritma: input(sisi) luas  LuasPersegi(sisi) output(luas)
  • 69. Example of Function (Pascal) 1 2 3 4 5 6 7 8 9 10 11 12 13 14 program HitungPersegi; uses crt; var sisi,luas:integer; function LuasPersegi(sisi:integer):integer; begin LuasPersegi := sisi * sisi; end; begin write(‘Masukan sisi persegi= ‘);readln(sisi); luas := LuasPersegi(sisi); {Pemanggilan Function}
  • 70. Example of Function (Pascal) 15 16 17 18 19 write(‘Luas persegi : ‘,luas); writeln(); write(‘Tekan sembarang tombol untuk menutup...’); readkey(); end.
  • 71. Contact Person: Adam Mukharil Bachtiar Informatics Engineering UNIKOM Jalan Dipati Ukur Nomor. 112-114 Bandung 40132 Email: [email protected] Blog: http://adfbipotter.wordpress.com Copyright © Adam Mukharil Bachtiar 2011