SlideShare a Scribd company logo
1 of 41
Download to read offline
PROSEDUR
DAN FUNGSI
Jurusan Teknik Elektro
Universitas Atmajaya
Makassar
Procedure dan Function bertujuan
untuk membagi-bagi sebuah program
menjadi beberapa sub program,
sehingga program menjadi lebihsehingga program menjadi lebih
sederhana dan efisien.
Sub Program bertujuan untuk
mengurangi penulisan kode program
secara berulang kali.
2
Procedure Nama_Prosedur (parameter input: tipe; var
parameter output:tipe);
Function Nama_Fungsi(parameter input: tipe; var parameter
output:tipe):Tipe Fungsi
Parameter adalah nama Variabel yang dideklarasikan pada
bagian header prosedur/Fungsi.
1. Parameter aktual (argumen) adalah parameter yang
disertakan pada waktu pemanggilan procedure/Fungsi.
2. Parameter formal adalah parameter yang dideklarasikan di
dalam bagian header prosedur/Fungsi itu sendiri.
3
Aturan yang harus diperhatikan antara
parameter aktual dan parameter formal:
1. Jumlah parameter aktual pada pemang-
gilan prosedur harus sama dengan jumlahgilan prosedur harus sama dengan jumlah
parameter formal pada header prosedur/
Fungsinya.
2. Tiap parameter aktual harus bertipe sama
dengan tipe parameter formal yang
bersesuaian
4
Variabel Global
Adalah variabel yang yang dapat dikenali oleh
semua sub program dan program utama.
Dideklarasikan di awal program .Dideklarasikan di awal program .
Variabel Lokal
Adalah variabel yang hanya dapat dikenali
oleh sub program yang mendeklarasikannya.
Dideklarasikan di dalam sub program
5
Dapat menggunakan parameter input
dan output.
Menerima input data pada saat
dipanggil lewat parameter inputdipanggil lewat parameter input
(passing by value).
Mengembalikan nilai lewat variabel
acuan (passing by reference).
Dapat mengirim satu nilai atau lebih.
6
{Prosedur}
Procedure Nama_prosedur (parameter_input:tipe;
Var parameter_output:tipe);
Var …… {Deklarasi Variabel Lokal}
Begin
<pernyataan dalam prosedur>;
End;
7
1. Prosedur Tanpa Parameter
2. Prosedur Dengan Parameter Input
3. Prosedur Dengan Parameter Output3. Prosedur Dengan Parameter Output
4. Prosedur Dengan Parameter Input
dan Output.
Perhatikan perbedaannya pada contoh
perhitungan Luas Segitiga yang akan
dibahas untuk tiap jenis prosedur.
8
Prosedur Tanpa Parameter tidak mengguna-
kan parameter input dan output
Semua proses dilakukan di dalam prosedur.
Bentuk :
Procedure Nama_Prosedur;
Contoh : Procedure LuasSegitiga;
Program tidak efisien bila digunakan sebagai
program.
9
10
Bentuk :
Procedure Nama_prosedur(parameter_input: Tipe);
Contoh :
Procedure LuasSegitiga( alas,tinggi: Real);Procedure LuasSegitiga( alas,tinggi: Real);
Alas dan tinggi adalah Variabel Input untuk menerima data
pada saat dipanggil.
LuasSegitiga(a,t);
Variabel a dan t adalah parameter aktual yang mengirim data
ke Prosedur.
Variabel alas, tinggi, a , dan t harus bertipe sama dan
bersesuaian.
11
12
Bentuk :
Procedure Nama_prosedur( Var
parameter_output:tipe)
Parameter output harus didahului oleh kata Var.Parameter output harus didahului oleh kata Var.
Contoh :
Procedure LuasSegitiga( Var Luas: Real);
Prosedur mengirim output ke program
pemanggil.
13
14
Bentuk :
Procedure Nama_prosedur(parameter_input: tipe;
Var parameter_output:tipe)
Prosedur menerima data input dan mengirim hasilProsedur menerima data input dan mengirim hasil
output ke program utama.
Contoh :
Procedure LuasSegitiga( alas,tinggi: Real; Var
Luas:Real);
Sangat efisien untuk digunakan sbg sub program
15
16
Sebuah Fungsi memiliki tipe data.
Dapat menggunakan parameter input
dan output.
Dapat mengembalikan satu nilai atau
lebih.lebih.
Jika mengembalikan satu nilai, maka
nama fungsi dapat digunakan sebagai
variabel outputnya.
Jika mengembalikan lebih dari satu nilai,
maka harus menggunakan parameter
output.
17
Function NamaFungsi(parameter input:tipe ;
var parameter output:tipe) : Tipe Fungsi;
Var ……. {Variabel Lokal};Var ……. {Variabel Lokal};
Begin
pernyataan;
End;
18
Fungsi Tanpa Parameter
Fungsi Dengan Parameter Input
Fungsi Dengan Parameter Input danFungsi Dengan Parameter Input dan
Output
Contoh Kasus:
Buatlah Program untuk menghitung Luas
dan Keliling dari sebuah Persegi Panjang.
19
Fungsi Tanpa parameter adalah fungsi yang
tidak menerima dan mengirim nilai/data pada
saat dipanggil.
Semua variabel dideklarasikan secara lokal
dalam fungsi.dalam fungsi.
Semua proses input dan output dilakukan
dalam fungsi.
Dipanggil tanpa menggunakan parameter.
Tipe dari fungsi adalah bebas karena tidak
mengembalikan data.
Tidak efisien untuk digunakan dalam
program.
20
21
Proses Input dilakukan dalam Program Utama/sub
program pemanggil.
Proses Output dilakukan di dalam fungsi itu sendiri.
Tipe Fungsi sesuai dengan tipe data output.
Fungsi menggunakan parameter input untuk menerima
input data pada saat dipanggil.
Fungsi menggunakan parameter input untuk menerima
input data pada saat dipanggil.
Nama fungsi dapat digunakan sebagai variabel output.
Misalnya :
Function Luas(p,l : real):real;
Maka pernyataan outputnya adalah :
Write(‘ Luas = ‘, Luas(p,q):6:2);
22
23
Proses input dilakukan dalam sub program
yang memanggil fungsi.
Setiap proses harus dikerjakan dalam fungsiSetiap proses harus dikerjakan dalam fungsi
masing-masing. Misalnya : luas dihitung
oleh fungsi luas dan Keliling dihitung oleh
fungsi Keliling.
Umumnya digunakan sbg Sub Program
24
25
26
Bentuk dari program terstruktur jelas nampak
dalam program yang cukup besar, mis Program
Matriks karena ada proses yang sama yang selalu
berulang kali digunakan.
Terstruktur karena prosedur atau fungsi tampakTerstruktur karena prosedur atau fungsi tampak
berurutan susunannya dari atas ke bawah dalam
bentuk sub program yang lebih sederhana.
Dalam prosedur dan fungsi, array harus
dideklarasikan sebagai sebuah tipe data karena
parameter formal pada header prosedur dan
fungsi tidak mengenal deklarasi array dengan
cara yang biasa digunakan.
27
Cara biasa :
Var A : array [1..10,1..10] of integer;
Harus diubah menjadi tipe data sbb :
type matrix = array [1..10,1..10] of integer;
Matrix adalah nama tipe dari
array[1..10,1..10] of integer, sehingga
deklarasi variabel A menjadi :
Var A : matrix
28
Prosedur dalam program :
1. Prosedur input : digunakan untuk melakukan
proses input data matriks A dan B
2. Prosedur Jumlah : Untuk menghitung
matriks C = A + B dan D = B - A.
3. Prosedur Cetak : Untuk mencetak matrik A,
B, C dan D
4. Program utama
29
Procedure input(x,y : integer; var m : matrix);
var i,j : integer;
{Input Data Matrix}
BeginBegin
for i:=1 to x do
for j:=1 to y do
begin
write('M[',i,',',j,'] : ');readln(m[i,j]);
end; writeln;
end;
30
Procedure Jumlah(x,y:integer; a,b :matrix;var c,d
:matrix);
var i,j : integer;
Begin
for i:=1 to x dofor i:=1 to x do
Begin
for j:=1 to y do
Begin
c[i,j] := a[i,j] + b[i,j]; {C = A + B}
d[i,j] := a[i,j] - b[i,j]; {D = A – B}
End;
End;
End;
31
Procedure Cetak(x,y : integer; m : matrix);
var i,j:integer;
Begin
Writeln;Writeln;
for i:=1 to x do
begin
for j:=1 to y do
write(M[i,j],' ');
writeln;
end;
writeln;
End;
32
var x,y : integer;
a,b,c,d: matrix;
Begin
clrscr;
{Input Ukuran/Ordo Matrix A
Jumlah(x,y,a,b,c,d);
Writeln; writeln('Matriks A');
cetak(x,y,a); {Cetak Matriks A}
writeln; writeln('Matriks B');
cetak(x,y,b); {Cetak Matriks B}{Input Ukuran/Ordo Matrix A
dan B}
writeln('Tentukan Ordo/Ukuran
Matrix ');
write('Jumlah Baris : ');
readln(x);
write('Jumlah Kolom : ');
readln(y);
input(x,y,a);
input(x,y,b);
cetak(x,y,b); {Cetak Matriks B}
writeln; writeln('Matriks C');
cetak(x,y,c); {Cetak Matriks C}
writeln; writeln('Matriks D');
cetak(x,y,d); {Cetak Matriks D}
readkey;
End.
33
Aturan Perkalian Matriks adalah :
Jumlah Kolom Matrik A = Jumlah Baris
Matriks B.
Program Perkalian Matrik A x B = C :Program Perkalian Matrik A x B = C :
Satu prosedur input data. Untuk melakukan
proses input data matriks A dan B
Satu prosedur untuk melakukan proses
perkalian.
Satu prosedur cetak. Untuk mencetak matrik
A, B, dan C.
Satu bagian program utama
34
uses crt;
type matrix = array [1..10,1..10] of integer;
Procedure input(x,y : integer; var m : matrix);
var i,j : integer;
Begin
{Input Data Matrix}
for i:=1 to x do
for j:=1 to y do
begin
write('M[',i,',',j,'] : ');readln(m[i,j]);
end; writeln;
end;
35
Procedure Kali(x,y,z: integer; a,b : matrix;var c :
matrix);
var i,j,k : integer;
Begin
{Proses Perkalian: Axy x Byz = Cxz}{Proses Perkalian: Axy x Byz = Cxz}
for i:=1 to x do
for j:=1 to z do
Begin
C[i,j]:=0;
for k:=1 to y do
c[i,j] := c[i,j] + a[i,k]*b[k,j];
End;
End;
36
Procedure Cetak(x,y : integer; a : matrix);
var i,j:integer;
Begin
Writeln;Writeln;
for i:=1 to x do
begin
for j:=1 to y do
write(A[i,j],' ');
writeln;
end;
writeln;
End;
37
var x,y,z : integer;
a,b,c : matrix;
Begin
clrscr;
{Input Ukuran/Ordo Matrix A dan
B}
writeln;
writeln('Matriks A');
cetak(x,y,a); {Cetak Matriks A}
writeln;
writeln('Matriks B');
cetak(y,z,b); {Cetak Matriks B}
B}
writeln('Ukuran Matrix Axy');
write('Jumlah Baris : '); readln(x);
write('Jumlah Kolom : '); readln(y);
write('Jumlah Baris : ',y); writeln;
write('Jumlah Kolom : ');readln(z);
input(x,y,a);
input(y,z,b);
kali(x,y,z,a,b,c);
clrscr;
writeln;
writeln('Matriks C');
cetak(x,z,c); {Cetak Matriks C}
readkey;
End.
38
Pada prinsipnya, Fungsi sama dengan Prosedur.
Perbedaannya hanya pada tipe fungsi. Misalnya pada
penjumlahan dan pengurangan Matriks bila dikonversi
ke fungsi maka hanya kata Procedure diganti menjadi
Function ditambah nama Tipenya.
Procedure input(x,y : integer; var m : matrix);Procedure input(x,y : integer; var m : matrix);
Procedure Jumlah(x,y: integer; a,b : matrix;var c,d :
matrix);
Menjadi :
Function input(x,y : integer; var m : matrix):integer;
Function Jumlah(x,y: integer; a,b : matrix;var c,d :
matrix):integer;
39
1. Buatlah Program Untuk menghitung
Luas, Volume, dan Keliling sebuah
Balok. Buat 4 buah prosedur : Input,
Luas, Volume, dan Keliling.Luas, Volume, dan Keliling.
2. Diketahui 2 buah Matris A (pxq) dan B (mxn).
Buatlah Program untuk menghitung AxB,
A Transpose dan A Transpose x B
dengan prosedur atau fungsi.
40
Bersambung….Bersambung….
Fungsi Rekursi
41

More Related Content

What's hot

Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAlgoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Ari Septiawan
 
Persamaan Diferensial Orde 2
Persamaan Diferensial Orde 2Persamaan Diferensial Orde 2
Persamaan Diferensial Orde 2
Dian Arisona
 
BAB 2 : KALIMAT BERKUANTOR
BAB 2 : KALIMAT BERKUANTORBAB 2 : KALIMAT BERKUANTOR
BAB 2 : KALIMAT BERKUANTOR
Mustahal SSi
 
Contoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzyContoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzy
Zaenal Khayat
 
Algoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsiAlgoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsi
Zombie Black
 

What's hot (20)

Fungsi (function)
Fungsi (function)Fungsi (function)
Fungsi (function)
 
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan AlgoritmaAlgoritma Pemrograman (Flowchart) - Logika dan Algoritma
Algoritma Pemrograman (Flowchart) - Logika dan Algoritma
 
Bab 2 Fungsi ( Kalkulus 1 )
Bab 2 Fungsi ( Kalkulus 1 )Bab 2 Fungsi ( Kalkulus 1 )
Bab 2 Fungsi ( Kalkulus 1 )
 
Matematika Diskrit - 09 graf - 08
Matematika Diskrit - 09 graf - 08Matematika Diskrit - 09 graf - 08
Matematika Diskrit - 09 graf - 08
 
Tabel Kebenaran pernyataan, Tautologi, kontradiksi, dan kontingen
Tabel Kebenaran pernyataan, Tautologi, kontradiksi, dan kontingenTabel Kebenaran pernyataan, Tautologi, kontradiksi, dan kontingen
Tabel Kebenaran pernyataan, Tautologi, kontradiksi, dan kontingen
 
Persamaan Diferensial Orde 2
Persamaan Diferensial Orde 2Persamaan Diferensial Orde 2
Persamaan Diferensial Orde 2
 
Modul Pascal Mengenal Flowchart
Modul Pascal Mengenal FlowchartModul Pascal Mengenal Flowchart
Modul Pascal Mengenal Flowchart
 
notasi leibniz
notasi leibniznotasi leibniz
notasi leibniz
 
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
Modul Pratikum Algoritma dan Pemrograman dalam Bahasa Visual C++ 2010
 
BAB 2 : KALIMAT BERKUANTOR
BAB 2 : KALIMAT BERKUANTORBAB 2 : KALIMAT BERKUANTOR
BAB 2 : KALIMAT BERKUANTOR
 
Bab 3 logika matematika
Bab 3 logika matematikaBab 3 logika matematika
Bab 3 logika matematika
 
Modul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekModul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi Objek
 
Algoritma powerpoint
Algoritma powerpointAlgoritma powerpoint
Algoritma powerpoint
 
Contoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzyContoh peyelesaian logika fuzzy
Contoh peyelesaian logika fuzzy
 
Penyederhanaan Karnaugh Map
Penyederhanaan Karnaugh MapPenyederhanaan Karnaugh Map
Penyederhanaan Karnaugh Map
 
Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03Matematika Diskrit - 11 kompleksitas algoritma - 03
Matematika Diskrit - 11 kompleksitas algoritma - 03
 
HUKUM TERMODINAMIKA 1,2,3
HUKUM TERMODINAMIKA 1,2,3HUKUM TERMODINAMIKA 1,2,3
HUKUM TERMODINAMIKA 1,2,3
 
Algoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsiAlgoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsi
 
Graf ( Matematika Diskrit)
Graf ( Matematika Diskrit)Graf ( Matematika Diskrit)
Graf ( Matematika Diskrit)
 
Pertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logikaPertemuan 6 & 7 ars. gerbang logika
Pertemuan 6 & 7 ars. gerbang logika
 

Viewers also liked

Viewers also liked (6)

membuat function dalam mysql
membuat function dalam mysqlmembuat function dalam mysql
membuat function dalam mysql
 
Makalah prosedur dan fungsi
Makalah prosedur dan fungsiMakalah prosedur dan fungsi
Makalah prosedur dan fungsi
 
Matrix glitcher tutorial
Matrix glitcher tutorialMatrix glitcher tutorial
Matrix glitcher tutorial
 
Materi 5
Materi 5Materi 5
Materi 5
 
ANALISIS FUNGSI DAN STRUKTUR DATA MENU SETUP
ANALISIS FUNGSI DAN STRUKTUR DATA MENU SETUPANALISIS FUNGSI DAN STRUKTUR DATA MENU SETUP
ANALISIS FUNGSI DAN STRUKTUR DATA MENU SETUP
 
Algoritma Pemrograman 2
Algoritma Pemrograman 2Algoritma Pemrograman 2
Algoritma Pemrograman 2
 

Similar to 5 prosedur dan fungsi

Laporan Praktikum ALPRO-Berhitung Rumus Statistika
Laporan Praktikum ALPRO-Berhitung Rumus StatistikaLaporan Praktikum ALPRO-Berhitung Rumus Statistika
Laporan Praktikum ALPRO-Berhitung Rumus Statistika
Shofura Kamal
 
Pemrograman Modular
Pemrograman ModularPemrograman Modular
Pemrograman Modular
Dimara Hakim
 
Pengenalan konsep pemrograman
Pengenalan konsep pemrogramanPengenalan konsep pemrograman
Pengenalan konsep pemrograman
purispace
 

Similar to 5 prosedur dan fungsi (20)

Topik 9 Prosedur
Topik 9 ProsedurTopik 9 Prosedur
Topik 9 Prosedur
 
Konsep pemrograman prosedur dalam pascal
Konsep pemrograman prosedur dalam pascalKonsep pemrograman prosedur dalam pascal
Konsep pemrograman prosedur dalam pascal
 
Laporan Praktikum ALPRO-Berhitung Rumus Statistika
Laporan Praktikum ALPRO-Berhitung Rumus StatistikaLaporan Praktikum ALPRO-Berhitung Rumus Statistika
Laporan Praktikum ALPRO-Berhitung Rumus Statistika
 
Pemrograman Modular
Pemrograman ModularPemrograman Modular
Pemrograman Modular
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Pengenalan konsep pemrograman
Pengenalan konsep pemrogramanPengenalan konsep pemrograman
Pengenalan konsep pemrograman
 
Topik 10 Fungsi
Topik 10 FungsiTopik 10 Fungsi
Topik 10 Fungsi
 
Pascal - Prosedur.txt - Notepad.pdf
Pascal - Prosedur.txt - Notepad.pdfPascal - Prosedur.txt - Notepad.pdf
Pascal - Prosedur.txt - Notepad.pdf
 
6. subrutin
6. subrutin6. subrutin
6. subrutin
 
Modul vii dan viii algo
Modul vii dan viii algoModul vii dan viii algo
Modul vii dan viii algo
 
Algoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe DataAlgoritma & Pemograman - 02. Variabel dan Tipe Data
Algoritma & Pemograman - 02. Variabel dan Tipe Data
 
Laporan praktikum ii visual
Laporan praktikum ii visualLaporan praktikum ii visual
Laporan praktikum ii visual
 
modul algoritma Bab 5
modul algoritma Bab 5modul algoritma Bab 5
modul algoritma Bab 5
 
Logika pemrograman hand out
Logika pemrograman hand outLogika pemrograman hand out
Logika pemrograman hand out
 
Algoritma Procedure
Algoritma ProcedureAlgoritma Procedure
Algoritma Procedure
 
Prosedur dan fungsi
Prosedur dan fungsi Prosedur dan fungsi
Prosedur dan fungsi
 
Struktur data chapter_09
Struktur data chapter_09Struktur data chapter_09
Struktur data chapter_09
 
Praktikum
PraktikumPraktikum
Praktikum
 
Flowchart.pdf
Flowchart.pdfFlowchart.pdf
Flowchart.pdf
 
Flowchart.pdf
Flowchart.pdfFlowchart.pdf
Flowchart.pdf
 

More from Simon Patabang

More from Simon Patabang (20)

6 DAYA PADA RANGKAIAN RLC.pdf
6 DAYA PADA RANGKAIAN RLC.pdf6 DAYA PADA RANGKAIAN RLC.pdf
6 DAYA PADA RANGKAIAN RLC.pdf
 
ANALISIS PENCARIAN RUTE TERPENDEK PADA JARINGAN KOMPUTER DENGAN MENGGUNAKAN ...
ANALISIS  PENCARIAN RUTE TERPENDEK PADA JARINGAN KOMPUTER DENGAN MENGGUNAKAN ...ANALISIS  PENCARIAN RUTE TERPENDEK PADA JARINGAN KOMPUTER DENGAN MENGGUNAKAN ...
ANALISIS PENCARIAN RUTE TERPENDEK PADA JARINGAN KOMPUTER DENGAN MENGGUNAKAN ...
 
Analisis penggunaan swer untuk mengatasi masalah jatuh
Analisis penggunaan swer untuk mengatasi masalah jatuhAnalisis penggunaan swer untuk mengatasi masalah jatuh
Analisis penggunaan swer untuk mengatasi masalah jatuh
 
Analisis pemanfaatan kapasitor daya untuk menambah kemampuan
Analisis pemanfaatan kapasitor daya untuk menambah kemampuanAnalisis pemanfaatan kapasitor daya untuk menambah kemampuan
Analisis pemanfaatan kapasitor daya untuk menambah kemampuan
 
Lap Akhir IbM Iptek Bagi Masyarakat
Lap Akhir IbM Iptek Bagi MasyarakatLap Akhir IbM Iptek Bagi Masyarakat
Lap Akhir IbM Iptek Bagi Masyarakat
 
Jurnal Pengabdian 2017 2018
Jurnal Pengabdian 2017 2018Jurnal Pengabdian 2017 2018
Jurnal Pengabdian 2017 2018
 
Jurnal Pengabdian Tahun 2018 2019
Jurnal  Pengabdian Tahun 2018 2019Jurnal  Pengabdian Tahun 2018 2019
Jurnal Pengabdian Tahun 2018 2019
 
Modulpraktikum dasar instalasi listrik
Modulpraktikum dasar instalasi listrikModulpraktikum dasar instalasi listrik
Modulpraktikum dasar instalasi listrik
 
Dasar pemrograman pascal
Dasar pemrograman pascalDasar pemrograman pascal
Dasar pemrograman pascal
 
11 perencanaan instalasi listrik rumah bertingkat
11 perencanaan instalasi listrik rumah bertingkat11 perencanaan instalasi listrik rumah bertingkat
11 perencanaan instalasi listrik rumah bertingkat
 
9 perencanaan instalasi listrik 1 phasa
9 perencanaan instalasi listrik 1 phasa 9 perencanaan instalasi listrik 1 phasa
9 perencanaan instalasi listrik 1 phasa
 
10 analisis komponen
10 analisis komponen10 analisis komponen
10 analisis komponen
 
13 jembatan arus bolak – balik
13 jembatan arus bolak – balik13 jembatan arus bolak – balik
13 jembatan arus bolak – balik
 
12 rangkaian rlc pararel
12 rangkaian rlc  pararel12 rangkaian rlc  pararel
12 rangkaian rlc pararel
 
8 rangkaian rlc seri
8 rangkaian rlc seri8 rangkaian rlc seri
8 rangkaian rlc seri
 
8 beban rlc
8 beban rlc8 beban rlc
8 beban rlc
 
7 jenis beban ac
7 jenis beban ac7 jenis beban ac
7 jenis beban ac
 
6 rangkaian arus bolak balik
6 rangkaian arus bolak balik6 rangkaian arus bolak balik
6 rangkaian arus bolak balik
 
5 teorema rangkaian listrik
5 teorema rangkaian listrik5 teorema rangkaian listrik
5 teorema rangkaian listrik
 
4 metoda analisis rangkaian elektronika
4 metoda analisis rangkaian elektronika4 metoda analisis rangkaian elektronika
4 metoda analisis rangkaian elektronika
 

Recently uploaded

Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
pipinafindraputri1
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
ssuser35630b
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).ppt
novibernadina
 
SEJARAH PERKEMBANGAN KEPERAWATAN JIWA dan Trend Issue.ppt
SEJARAH PERKEMBANGAN KEPERAWATAN JIWA dan Trend Issue.pptSEJARAH PERKEMBANGAN KEPERAWATAN JIWA dan Trend Issue.ppt
SEJARAH PERKEMBANGAN KEPERAWATAN JIWA dan Trend Issue.ppt
AlfandoWibowo2
 
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptxBAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
JuliBriana2
 

Recently uploaded (20)

PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
PELAKSANAAN + Link2 Materi BimTek _PTK 007 Rev-5 Thn 2023 (PENGADAAN) & Perhi...
 
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
Modul 2 - Bagaimana membangun lingkungan belajar yang mendukung transisi PAUD...
 
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.pptLATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
LATAR BELAKANG JURNAL DIALOGIS REFLEKTIF.ppt
 
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptxBab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
Bab 7 - Perilaku Ekonomi dan Kesejahteraan Sosial.pptx
 
Kenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).pptKenakalan Remaja (Penggunaan Narkoba).ppt
Kenakalan Remaja (Penggunaan Narkoba).ppt
 
SEJARAH PERKEMBANGAN KEPERAWATAN JIWA dan Trend Issue.ppt
SEJARAH PERKEMBANGAN KEPERAWATAN JIWA dan Trend Issue.pptSEJARAH PERKEMBANGAN KEPERAWATAN JIWA dan Trend Issue.ppt
SEJARAH PERKEMBANGAN KEPERAWATAN JIWA dan Trend Issue.ppt
 
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdfMODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL AJAR BAHASA INDONESIA KELAS 6 KURIKULUM MERDEKA.pdf
 
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKAMODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
MODUL AJAR IPAS KELAS 6 KURIKULUM MERDEKA
 
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKAKELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
 
Regresi Linear Kelompok 1 XI-10 revisi (1).pptx
Regresi Linear Kelompok 1 XI-10 revisi (1).pptxRegresi Linear Kelompok 1 XI-10 revisi (1).pptx
Regresi Linear Kelompok 1 XI-10 revisi (1).pptx
 
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdfSalinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
Salinan dari JUrnal Refleksi Mingguan modul 1.3.pdf
 
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdfMODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
MODUL PENDIDIKAN PANCASILA KELAS 6 KURIKULUM MERDEKA.pdf
 
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptxBab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
Bab 4 Persatuan dan Kesatuan di Lingkup Wilayah Kabupaten dan Kota.pptx
 
E-modul Materi Ekosistem untuk kelas X SMA
E-modul Materi Ekosistem untuk kelas X SMAE-modul Materi Ekosistem untuk kelas X SMA
E-modul Materi Ekosistem untuk kelas X SMA
 
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
Intellectual Discourse Business in Islamic Perspective - Mej Dr Mohd Adib Abd...
 
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptxOPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
OPTIMALISASI KOMUNITAS BELAJAR DI SEKOLAH.pptx
 
Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...
Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...
Membaca dengan Metode Fonik - Membuat Rancangan Pembelajaran dengan Metode Fo...
 
vIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsxvIDEO kelayakan berita untuk mahasiswa.ppsx
vIDEO kelayakan berita untuk mahasiswa.ppsx
 
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdfKanvas BAGJA prakarsa perubahan Ahyar.pdf
Kanvas BAGJA prakarsa perubahan Ahyar.pdf
 
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptxBAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
BAB 5 KERJASAMA DALAM BERBAGAI BIDANG KEHIDUPAN.pptx
 

5 prosedur dan fungsi

  • 1. PROSEDUR DAN FUNGSI Jurusan Teknik Elektro Universitas Atmajaya Makassar
  • 2. Procedure dan Function bertujuan untuk membagi-bagi sebuah program menjadi beberapa sub program, sehingga program menjadi lebihsehingga program menjadi lebih sederhana dan efisien. Sub Program bertujuan untuk mengurangi penulisan kode program secara berulang kali. 2
  • 3. Procedure Nama_Prosedur (parameter input: tipe; var parameter output:tipe); Function Nama_Fungsi(parameter input: tipe; var parameter output:tipe):Tipe Fungsi Parameter adalah nama Variabel yang dideklarasikan pada bagian header prosedur/Fungsi. 1. Parameter aktual (argumen) adalah parameter yang disertakan pada waktu pemanggilan procedure/Fungsi. 2. Parameter formal adalah parameter yang dideklarasikan di dalam bagian header prosedur/Fungsi itu sendiri. 3
  • 4. Aturan yang harus diperhatikan antara parameter aktual dan parameter formal: 1. Jumlah parameter aktual pada pemang- gilan prosedur harus sama dengan jumlahgilan prosedur harus sama dengan jumlah parameter formal pada header prosedur/ Fungsinya. 2. Tiap parameter aktual harus bertipe sama dengan tipe parameter formal yang bersesuaian 4
  • 5. Variabel Global Adalah variabel yang yang dapat dikenali oleh semua sub program dan program utama. Dideklarasikan di awal program .Dideklarasikan di awal program . Variabel Lokal Adalah variabel yang hanya dapat dikenali oleh sub program yang mendeklarasikannya. Dideklarasikan di dalam sub program 5
  • 6. Dapat menggunakan parameter input dan output. Menerima input data pada saat dipanggil lewat parameter inputdipanggil lewat parameter input (passing by value). Mengembalikan nilai lewat variabel acuan (passing by reference). Dapat mengirim satu nilai atau lebih. 6
  • 7. {Prosedur} Procedure Nama_prosedur (parameter_input:tipe; Var parameter_output:tipe); Var …… {Deklarasi Variabel Lokal} Begin <pernyataan dalam prosedur>; End; 7
  • 8. 1. Prosedur Tanpa Parameter 2. Prosedur Dengan Parameter Input 3. Prosedur Dengan Parameter Output3. Prosedur Dengan Parameter Output 4. Prosedur Dengan Parameter Input dan Output. Perhatikan perbedaannya pada contoh perhitungan Luas Segitiga yang akan dibahas untuk tiap jenis prosedur. 8
  • 9. Prosedur Tanpa Parameter tidak mengguna- kan parameter input dan output Semua proses dilakukan di dalam prosedur. Bentuk : Procedure Nama_Prosedur; Contoh : Procedure LuasSegitiga; Program tidak efisien bila digunakan sebagai program. 9
  • 10. 10
  • 11. Bentuk : Procedure Nama_prosedur(parameter_input: Tipe); Contoh : Procedure LuasSegitiga( alas,tinggi: Real);Procedure LuasSegitiga( alas,tinggi: Real); Alas dan tinggi adalah Variabel Input untuk menerima data pada saat dipanggil. LuasSegitiga(a,t); Variabel a dan t adalah parameter aktual yang mengirim data ke Prosedur. Variabel alas, tinggi, a , dan t harus bertipe sama dan bersesuaian. 11
  • 12. 12
  • 13. Bentuk : Procedure Nama_prosedur( Var parameter_output:tipe) Parameter output harus didahului oleh kata Var.Parameter output harus didahului oleh kata Var. Contoh : Procedure LuasSegitiga( Var Luas: Real); Prosedur mengirim output ke program pemanggil. 13
  • 14. 14
  • 15. Bentuk : Procedure Nama_prosedur(parameter_input: tipe; Var parameter_output:tipe) Prosedur menerima data input dan mengirim hasilProsedur menerima data input dan mengirim hasil output ke program utama. Contoh : Procedure LuasSegitiga( alas,tinggi: Real; Var Luas:Real); Sangat efisien untuk digunakan sbg sub program 15
  • 16. 16
  • 17. Sebuah Fungsi memiliki tipe data. Dapat menggunakan parameter input dan output. Dapat mengembalikan satu nilai atau lebih.lebih. Jika mengembalikan satu nilai, maka nama fungsi dapat digunakan sebagai variabel outputnya. Jika mengembalikan lebih dari satu nilai, maka harus menggunakan parameter output. 17
  • 18. Function NamaFungsi(parameter input:tipe ; var parameter output:tipe) : Tipe Fungsi; Var ……. {Variabel Lokal};Var ……. {Variabel Lokal}; Begin pernyataan; End; 18
  • 19. Fungsi Tanpa Parameter Fungsi Dengan Parameter Input Fungsi Dengan Parameter Input danFungsi Dengan Parameter Input dan Output Contoh Kasus: Buatlah Program untuk menghitung Luas dan Keliling dari sebuah Persegi Panjang. 19
  • 20. Fungsi Tanpa parameter adalah fungsi yang tidak menerima dan mengirim nilai/data pada saat dipanggil. Semua variabel dideklarasikan secara lokal dalam fungsi.dalam fungsi. Semua proses input dan output dilakukan dalam fungsi. Dipanggil tanpa menggunakan parameter. Tipe dari fungsi adalah bebas karena tidak mengembalikan data. Tidak efisien untuk digunakan dalam program. 20
  • 21. 21
  • 22. Proses Input dilakukan dalam Program Utama/sub program pemanggil. Proses Output dilakukan di dalam fungsi itu sendiri. Tipe Fungsi sesuai dengan tipe data output. Fungsi menggunakan parameter input untuk menerima input data pada saat dipanggil. Fungsi menggunakan parameter input untuk menerima input data pada saat dipanggil. Nama fungsi dapat digunakan sebagai variabel output. Misalnya : Function Luas(p,l : real):real; Maka pernyataan outputnya adalah : Write(‘ Luas = ‘, Luas(p,q):6:2); 22
  • 23. 23
  • 24. Proses input dilakukan dalam sub program yang memanggil fungsi. Setiap proses harus dikerjakan dalam fungsiSetiap proses harus dikerjakan dalam fungsi masing-masing. Misalnya : luas dihitung oleh fungsi luas dan Keliling dihitung oleh fungsi Keliling. Umumnya digunakan sbg Sub Program 24
  • 25. 25
  • 26. 26
  • 27. Bentuk dari program terstruktur jelas nampak dalam program yang cukup besar, mis Program Matriks karena ada proses yang sama yang selalu berulang kali digunakan. Terstruktur karena prosedur atau fungsi tampakTerstruktur karena prosedur atau fungsi tampak berurutan susunannya dari atas ke bawah dalam bentuk sub program yang lebih sederhana. Dalam prosedur dan fungsi, array harus dideklarasikan sebagai sebuah tipe data karena parameter formal pada header prosedur dan fungsi tidak mengenal deklarasi array dengan cara yang biasa digunakan. 27
  • 28. Cara biasa : Var A : array [1..10,1..10] of integer; Harus diubah menjadi tipe data sbb : type matrix = array [1..10,1..10] of integer; Matrix adalah nama tipe dari array[1..10,1..10] of integer, sehingga deklarasi variabel A menjadi : Var A : matrix 28
  • 29. Prosedur dalam program : 1. Prosedur input : digunakan untuk melakukan proses input data matriks A dan B 2. Prosedur Jumlah : Untuk menghitung matriks C = A + B dan D = B - A. 3. Prosedur Cetak : Untuk mencetak matrik A, B, C dan D 4. Program utama 29
  • 30. Procedure input(x,y : integer; var m : matrix); var i,j : integer; {Input Data Matrix} BeginBegin for i:=1 to x do for j:=1 to y do begin write('M[',i,',',j,'] : ');readln(m[i,j]); end; writeln; end; 30
  • 31. Procedure Jumlah(x,y:integer; a,b :matrix;var c,d :matrix); var i,j : integer; Begin for i:=1 to x dofor i:=1 to x do Begin for j:=1 to y do Begin c[i,j] := a[i,j] + b[i,j]; {C = A + B} d[i,j] := a[i,j] - b[i,j]; {D = A – B} End; End; End; 31
  • 32. Procedure Cetak(x,y : integer; m : matrix); var i,j:integer; Begin Writeln;Writeln; for i:=1 to x do begin for j:=1 to y do write(M[i,j],' '); writeln; end; writeln; End; 32
  • 33. var x,y : integer; a,b,c,d: matrix; Begin clrscr; {Input Ukuran/Ordo Matrix A Jumlah(x,y,a,b,c,d); Writeln; writeln('Matriks A'); cetak(x,y,a); {Cetak Matriks A} writeln; writeln('Matriks B'); cetak(x,y,b); {Cetak Matriks B}{Input Ukuran/Ordo Matrix A dan B} writeln('Tentukan Ordo/Ukuran Matrix '); write('Jumlah Baris : '); readln(x); write('Jumlah Kolom : '); readln(y); input(x,y,a); input(x,y,b); cetak(x,y,b); {Cetak Matriks B} writeln; writeln('Matriks C'); cetak(x,y,c); {Cetak Matriks C} writeln; writeln('Matriks D'); cetak(x,y,d); {Cetak Matriks D} readkey; End. 33
  • 34. Aturan Perkalian Matriks adalah : Jumlah Kolom Matrik A = Jumlah Baris Matriks B. Program Perkalian Matrik A x B = C :Program Perkalian Matrik A x B = C : Satu prosedur input data. Untuk melakukan proses input data matriks A dan B Satu prosedur untuk melakukan proses perkalian. Satu prosedur cetak. Untuk mencetak matrik A, B, dan C. Satu bagian program utama 34
  • 35. uses crt; type matrix = array [1..10,1..10] of integer; Procedure input(x,y : integer; var m : matrix); var i,j : integer; Begin {Input Data Matrix} for i:=1 to x do for j:=1 to y do begin write('M[',i,',',j,'] : ');readln(m[i,j]); end; writeln; end; 35
  • 36. Procedure Kali(x,y,z: integer; a,b : matrix;var c : matrix); var i,j,k : integer; Begin {Proses Perkalian: Axy x Byz = Cxz}{Proses Perkalian: Axy x Byz = Cxz} for i:=1 to x do for j:=1 to z do Begin C[i,j]:=0; for k:=1 to y do c[i,j] := c[i,j] + a[i,k]*b[k,j]; End; End; 36
  • 37. Procedure Cetak(x,y : integer; a : matrix); var i,j:integer; Begin Writeln;Writeln; for i:=1 to x do begin for j:=1 to y do write(A[i,j],' '); writeln; end; writeln; End; 37
  • 38. var x,y,z : integer; a,b,c : matrix; Begin clrscr; {Input Ukuran/Ordo Matrix A dan B} writeln; writeln('Matriks A'); cetak(x,y,a); {Cetak Matriks A} writeln; writeln('Matriks B'); cetak(y,z,b); {Cetak Matriks B} B} writeln('Ukuran Matrix Axy'); write('Jumlah Baris : '); readln(x); write('Jumlah Kolom : '); readln(y); write('Jumlah Baris : ',y); writeln; write('Jumlah Kolom : ');readln(z); input(x,y,a); input(y,z,b); kali(x,y,z,a,b,c); clrscr; writeln; writeln('Matriks C'); cetak(x,z,c); {Cetak Matriks C} readkey; End. 38
  • 39. Pada prinsipnya, Fungsi sama dengan Prosedur. Perbedaannya hanya pada tipe fungsi. Misalnya pada penjumlahan dan pengurangan Matriks bila dikonversi ke fungsi maka hanya kata Procedure diganti menjadi Function ditambah nama Tipenya. Procedure input(x,y : integer; var m : matrix);Procedure input(x,y : integer; var m : matrix); Procedure Jumlah(x,y: integer; a,b : matrix;var c,d : matrix); Menjadi : Function input(x,y : integer; var m : matrix):integer; Function Jumlah(x,y: integer; a,b : matrix;var c,d : matrix):integer; 39
  • 40. 1. Buatlah Program Untuk menghitung Luas, Volume, dan Keliling sebuah Balok. Buat 4 buah prosedur : Input, Luas, Volume, dan Keliling.Luas, Volume, dan Keliling. 2. Diketahui 2 buah Matris A (pxq) dan B (mxn). Buatlah Program untuk menghitung AxB, A Transpose dan A Transpose x B dengan prosedur atau fungsi. 40