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

DOCX
Konstruktivisme dan desain pembelajaran (dipakai)
Dedi Yulianto
 
PPTX
Undang-Undang Nomor 1 tahun 2011 tentang Perumahan dan Kawasan Permukiman
inideedee
 
PPTX
Introduction to go lang
Amal Mohan N
 
PPTX
Hukum lingkungan PPT
Nakano
 
PPTX
Presentasi Pembuatan Flyer
emri ardi
 
PPT
Sumber hukum internasional
Nuelnuel11
 
PPTX
Perwakilan Diplomatik
Devindra Oktaviano
 
Konstruktivisme dan desain pembelajaran (dipakai)
Dedi Yulianto
 
Undang-Undang Nomor 1 tahun 2011 tentang Perumahan dan Kawasan Permukiman
inideedee
 
Introduction to go lang
Amal Mohan N
 
Hukum lingkungan PPT
Nakano
 
Presentasi Pembuatan Flyer
emri ardi
 
Sumber hukum internasional
Nuelnuel11
 
Perwakilan Diplomatik
Devindra Oktaviano
 

What's hot (20)

PDF
TEOREMA DASAR KALKULUS
Nurul Ulfah
 
PPT
Flowchart.ppt
DwiKurniawati36
 
PPTX
Jadwal Induk Produksi.pptx
ssuser6fd51c1
 
PDF
151703437 tor-ukl-upl-flyover-pdf
Herman Caniago Kampreto
 
DOCX
1. surat nota pesanan
ssuser594295
 
PPTX
Manfaat dan dampak dalam penggunaan incinerator
Nurul Yeollipop
 
PPT
Sistem pengelolaan persampahan
Joy Irman
 
PPTX
Sistem pertidaksamaan linear-kuadrat x-tkj
Rahman Nul Hakim
 
PDF
Silabus fisika indo 2009 2014 indo+inggris-
nurlailiyahisnaini22
 
DOCX
Bab Tata Hukum Indonesia
Fenti Anita Sari
 
PDF
외계어 스터디 2/5 - Expressions & statements
민태 김
 
PPTX
sengketa internasional
Ana Fitrotunnisa
 
DOCX
Life cycle inventory
iiqsja
 
PDF
Insecure coding in C (and C++)
Olve Maudal
 
PDF
TALKSHOW_PLB3_Supervisi PLB3 (AMS).pdf
Nawlafazilatunnisaof
 
PPTX
Memahami kedaulatan
Anggun 'Anggun'
 
PPTX
keadaan tak hadir (afwezigheid)
Nasria Ika
 
PPTX
Model ppsi
titiwerdhy
 
DOCX
Tugas merangkum ilmu hukum
Andrew Hutabarat
 
DOCX
Ilmu Negara
Yunus Moershal
 
TEOREMA DASAR KALKULUS
Nurul Ulfah
 
Flowchart.ppt
DwiKurniawati36
 
Jadwal Induk Produksi.pptx
ssuser6fd51c1
 
151703437 tor-ukl-upl-flyover-pdf
Herman Caniago Kampreto
 
1. surat nota pesanan
ssuser594295
 
Manfaat dan dampak dalam penggunaan incinerator
Nurul Yeollipop
 
Sistem pengelolaan persampahan
Joy Irman
 
Sistem pertidaksamaan linear-kuadrat x-tkj
Rahman Nul Hakim
 
Silabus fisika indo 2009 2014 indo+inggris-
nurlailiyahisnaini22
 
Bab Tata Hukum Indonesia
Fenti Anita Sari
 
외계어 스터디 2/5 - Expressions & statements
민태 김
 
sengketa internasional
Ana Fitrotunnisa
 
Life cycle inventory
iiqsja
 
Insecure coding in C (and C++)
Olve Maudal
 
TALKSHOW_PLB3_Supervisi PLB3 (AMS).pdf
Nawlafazilatunnisaof
 
Memahami kedaulatan
Anggun 'Anggun'
 
keadaan tak hadir (afwezigheid)
Nasria Ika
 
Model ppsi
titiwerdhy
 
Tugas merangkum ilmu hukum
Andrew Hutabarat
 
Ilmu Negara
Yunus Moershal
 
Ad

Viewers also liked (20)

PPTX
Pertemuan vi (Function Java)
Putra Andry
 
PDF
Introduction Java Programming
Fauzi Hasibuan
 
PDF
Pengenalan Pemrograman Java
I Putu Arya Dharmaadi
 
PDF
Data Management (Data Mining Klasifikasi)
Adam Mukharil Bachtiar
 
PPT
Algoritma - prosedur dan fungsi
Zombie Black
 
PPTX
Programming fundamentals lecture 4
Raja Hamid
 
PPTX
Array dan fungsi
Fathimah Azkiya
 
PDF
Perulangan java
rhoyuee bonchell
 
PPTX
Pemrograman berorientasi objek ii 04 prosedur dan fungsi
Edri Yunizal
 
PPTX
UAS JAVA
beiharira
 
PDF
Algorithm and Programming (Looping Structure)
Adam Mukharil Bachtiar
 
PPTX
Algoritma powerpoint
Irwin andriyanto
 
PPTX
Array searching sorting_pert_11,12,13,14,15
doudomblogspot
 
PPTX
UAS TESTING
beiharira
 
PDF
Algorithm and Programming (Introduction of dev pascal, data type, value, and ...
Adam Mukharil Bachtiar
 
PDF
Algorithm and Programming (Sequential Structure)
Adam Mukharil Bachtiar
 
DOCX
Soal UAS Pemrograman Desktop kelas 11 semester genap tahun ajaran 2014-2015
Saprudin Eskom
 
DOCX
Soal UAS Pemrograman Desktop kelas 11 SMK semester ganjil tahun ajaran 2015-2016
Saprudin Eskom
 
PPTX
Micro teaching konsep logika algoritma
Apriyanto_apo
 
Pertemuan vi (Function Java)
Putra Andry
 
Introduction Java Programming
Fauzi Hasibuan
 
Pengenalan Pemrograman Java
I Putu Arya Dharmaadi
 
Data Management (Data Mining Klasifikasi)
Adam Mukharil Bachtiar
 
Algoritma - prosedur dan fungsi
Zombie Black
 
Programming fundamentals lecture 4
Raja Hamid
 
Array dan fungsi
Fathimah Azkiya
 
Perulangan java
rhoyuee bonchell
 
Pemrograman berorientasi objek ii 04 prosedur dan fungsi
Edri Yunizal
 
UAS JAVA
beiharira
 
Algorithm and Programming (Looping Structure)
Adam Mukharil Bachtiar
 
Algoritma powerpoint
Irwin andriyanto
 
Array searching sorting_pert_11,12,13,14,15
doudomblogspot
 
UAS TESTING
beiharira
 
Algorithm and Programming (Introduction of dev pascal, data type, value, and ...
Adam Mukharil Bachtiar
 
Algorithm and Programming (Sequential Structure)
Adam Mukharil Bachtiar
 
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
Saprudin Eskom
 
Micro teaching konsep logika algoritma
Apriyanto_apo
 
Ad

More from Adam Mukharil Bachtiar (20)

PDF
Materi 8 - Data Mining Association Rule.pdf
Adam Mukharil Bachtiar
 
PDF
Clean Code - Formatting Code
Adam Mukharil Bachtiar
 
PDF
Clean Code - Clean Comments
Adam Mukharil Bachtiar
 
PDF
Clean Method
Adam Mukharil Bachtiar
 
PDF
Clean Code and Design Pattern - Meaningful Names
Adam Mukharil Bachtiar
 
PDF
Model Driven Software Development
Adam Mukharil Bachtiar
 
PDF
Scrum: How to Implement
Adam Mukharil Bachtiar
 
PDF
Pengujian Perangkat Lunak
Adam Mukharil Bachtiar
 
PDF
Data Mining Clustering
Adam Mukharil Bachtiar
 
PPTX
Data Mining Klasifikasi (Updated 30 Desember 2020)
Adam Mukharil Bachtiar
 
PDF
Analisis Algoritma - Strategi Algoritma Dynamic Programming
Adam Mukharil Bachtiar
 
PDF
Analisis Algoritma - Strategi Algoritma Divide and Conquer
Adam Mukharil Bachtiar
 
PDF
Analisis Algoritma - Strategi Algoritma Greedy
Adam Mukharil Bachtiar
 
PDF
Analisis Algoritma - Penerapan Strategi Algoritma Brute Force
Adam Mukharil Bachtiar
 
PDF
Analisis Algoritma - Strategi Algoritma Brute Force
Adam Mukharil Bachtiar
 
PDF
Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Adam Mukharil Bachtiar
 
PDF
Analisis Algoritma - Teorema Notasi Asimptotik
Adam Mukharil Bachtiar
 
PDF
Analisis Algoritma - Notasi Asimptotik
Adam Mukharil Bachtiar
 
PDF
Activity Diagram
Adam Mukharil Bachtiar
 
PDF
UML dan Use Case View
Adam Mukharil Bachtiar
 
Materi 8 - Data Mining Association Rule.pdf
Adam Mukharil Bachtiar
 
Clean Code - Formatting Code
Adam Mukharil Bachtiar
 
Clean Code - Clean Comments
Adam Mukharil Bachtiar
 
Clean Code and Design Pattern - Meaningful Names
Adam Mukharil Bachtiar
 
Model Driven Software Development
Adam Mukharil Bachtiar
 
Scrum: How to Implement
Adam Mukharil Bachtiar
 
Pengujian Perangkat Lunak
Adam Mukharil Bachtiar
 
Data Mining Clustering
Adam Mukharil Bachtiar
 
Data Mining Klasifikasi (Updated 30 Desember 2020)
Adam Mukharil Bachtiar
 
Analisis Algoritma - Strategi Algoritma Dynamic Programming
Adam Mukharil Bachtiar
 
Analisis Algoritma - Strategi Algoritma Divide and Conquer
Adam Mukharil Bachtiar
 
Analisis Algoritma - Strategi Algoritma Greedy
Adam Mukharil Bachtiar
 
Analisis Algoritma - Penerapan Strategi Algoritma Brute Force
Adam Mukharil Bachtiar
 
Analisis Algoritma - Strategi Algoritma Brute Force
Adam Mukharil Bachtiar
 
Analisis Algoritma - Kelas-kelas Dasar Efisiensi Algoritma
Adam Mukharil Bachtiar
 
Analisis Algoritma - Teorema Notasi Asimptotik
Adam Mukharil Bachtiar
 
Analisis Algoritma - Notasi Asimptotik
Adam Mukharil Bachtiar
 
Activity Diagram
Adam Mukharil Bachtiar
 
UML dan Use Case View
Adam Mukharil Bachtiar
 

Recently uploaded (20)

PPTX
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
PDF
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
PDF
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
PDF
New Download MiniTool Partition Wizard Crack Latest Version 2025
imang66g
 
DOCX
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 
PDF
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
PDF
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
PPTX
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
PDF
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
PDF
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
PDF
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
PPT
Activate_Methodology_Summary presentatio
annapureddyn
 
PPTX
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
PPTX
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
PPTX
ConcordeApp: Engineering Global Impact & Unlocking Billions in Event ROI with AI
chastechaste14
 
PDF
Bandai Playdia The Book - David Glotz
BluePanther6
 
PDF
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
PPTX
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 
PDF
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
PDF
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 
Odoo Integration Services by Candidroot Solutions
CandidRoot Solutions Private Limited
 
Generating Union types w/ Static Analysis
K. Matthew Dupree
 
Enhancing Healthcare RPM Platforms with Contextual AI Integration
Cadabra Studio
 
New Download MiniTool Partition Wizard Crack Latest Version 2025
imang66g
 
Can You Build Dashboards Using Open Source Visualization Tool.docx
Varsha Nayak
 
Applitools Platform Pulse: What's New and What's Coming - July 2025
Applitools
 
Key Features to Look for in Arizona App Development Services
Net-Craft.com
 
ASSIGNMENT_1[1][1][1][1][1] (1) variables.pptx
kr2589474
 
Using licensed Data Loss Prevention (DLP) as a strategic proactive data secur...
Q-Advise
 
49784907924775488180_LRN2959_Data_Pump_23ai.pdf
Abilash868456
 
New Download FL Studio Crack Full Version [Latest 2025]
imang66g
 
Activate_Methodology_Summary presentatio
annapureddyn
 
slidesgo-unlocking-the-code-the-dynamic-dance-of-variables-and-constants-2024...
kr2589474
 
classification of computer and basic part of digital computer
ravisinghrajpurohit3
 
ConcordeApp: Engineering Global Impact & Unlocking Billions in Event ROI with AI
chastechaste14
 
Bandai Playdia The Book - David Glotz
BluePanther6
 
49785682629390197565_LRN3014_Migrating_the_Beast.pdf
Abilash868456
 
Visualising Data with Scatterplots in IBM SPSS Statistics.pptx
Version 1 Analytics
 
On Software Engineers' Productivity - Beyond Misleading Metrics
Romén Rodríguez-Gil
 
WatchTraderHub - Watch Dealer software with inventory management and multi-ch...
WatchDealer Pavel
 

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