SlideShare a Scribd company logo
1 of 8
MODUL 10
SUBPROGRAM 2 ( FUNCTION )
Fungsi adalah modul program yang memberikan/mengembalikan (return) sebuah
nilai yang bertipe sederhana (integer, real, Boolean, string). Sebagaimana halnya
dengan prosedur, fungsi diakses dengan memanggil namanya. Selain itu fungsi juga
dapat mengandung daftar parameter formal.
Blok fungsi hampir sama dengan blok prosedur, hanya fungsi harus dideklarasikan
dengan tipenya. Tipe deklarasi ini menunjukkan tipe hasil dari fungsi. Penulisannya
adalah :
FUNCTION identifier(daftar parameter) : type;
Contoh :
Function Faktorial(Var Fak, Hasil : integer) : integer;
Function Pangkat(X,Y : real) : real;
Blok fungsi sama dengan blok prosedur yang diawali dengan kata Begin dan diakhiri
dengan kata End dan titik koma. Berikut adalah Contoh :
Function Hitung(Var A,B : integer) : integer;
Begin
Hitung := A + B;
End;
Var
X, Y : integer;
Begin
Write(‘Nilai X ? ‘);
Readln(X);
Write(‘Nilai Y ? ‘);
Readln(Y);
Writeln;
Writeln(X, ‘ + ‘,Y,’ = ‘,Hitung(X,Y));
End.
Bila program dijalankan :
Nilai X ? 2
Nilai Y ? 3
2 + 3 = 5
I. PARAMETER DALAM FUNGSI
Sama dengan prosedur, parameter dalam fungsi dapat dikirim secara nilai (by
value) atau secara acuan (by reference).
I.1 Parameter By Value
Function Hitung (A,B : integer) : integer;
Contoh :
Berikut akan dibuat suatu fungsi yang akan menghasilkan nilai terbesar dari 2 buah nilai
real.
Bila program dijalankan :
Nilai pertama ? 12.356
Nilai kedua ? 55.182
Nilai terbesar adalah 55.182
Function Terbesar(X,Y : real) : real;
Begin
If X>Y Then
Terbesar := X
Else
Terbesar := Y;
End;
Var
Nilai1, Nilai2 : real;
Begin
Write(‘Nilai pertama ? ‘); readln(Nilai1);
Write(‘Nilai kedua ? ‘); readln(Nilai2);
Writeln(‘Nilai terbesar adalah ‘,Terbesar(Nilai1,Nilai2):9:3);
End;
I.2 Parameter by Reference
Function Hitung(var A,B : integer) : integer;
Pengiriman parameter dengan secara acuan akan mengakibatkan perubahan nilai
parameter di fungsi juga merubah nilai parameter di modul yang mengirimkannya.
Bila program dijalankan :
Nilai X ? 2
Nilai Y ? 3
2 + 3 = 5
2 * 3 = 6
Function Hitung(Var A,B,C : integer) : integer;
Begin
Hitung := A + B;
C := A * B;
End;
Var
X, Y, Z : integer;
Begin
Write(‘Nilai X ? ‘);
Readln(X);
Write(‘Nilai Y ? ‘);
Readln(Y);
Writeln;
Writeln(X,’ + ‘,Y,’ = ‘,Hitung(X,Y,Z);
Writeln(X,’ * ‘,Y,’ = ‘,Z);
End.
II. FUNGSI PANGKAT
Pada pascal tidak menyediakan fungsi untuk perpangkatan tinggi, yang ada hanyalah
fungsi standar sqr, yaitu pemangkatan kuadrat. Bila akan dilakukan pemangkatan lebih
dari pangkat 2, maka harus dibuat program tersendiri. Berikut contohnya :
Bila program dijalankan :
Nilai akan dipangkatkan ? 1.5
Dipangkatkan dengan ? 3
1.500 pangkat 3 adalah 3.375
Function Pangkat(X:real; Y:integer) : real;
Var
Pangkat : real;
I : integer;
Begin
Pangkat :=1;
For I := 1 to Y do
Pangkat := Pangkat*X;
PangkatI := Pangkat;
End;
Var
A : real;
B : integer;
Begin
Write(‘Nilai yang akan dipangkatkan ? ‘);
Readln(A);
Write(‘Dipangkatkan dengan ? ‘);
Readln(B);
Writeln(A:9:3,’ pangkat ‘,B,’ adalah ‘,PangkatI(A,B):9:3);
End.
III. FUNGSI MEMANGGIL DIRINYA SENDIRI
Seperti halnya prosedur, fungsi juga dapat memanggil dirinya sendiri. Proses fungsi
memanggil dirinya sendiri juga merupakan proses recursion.
Contoh :
IV. FUNGSI MEMANGGIL FUNGSI YANG LAIN
Suatu fungsi dapat juga memanggil fungsi yang lainnya. Fungsi yang dipanggil letaknya
harus berada diatas fungsi yang memanggil.
Contoh :
Function Faktorial(Nilai : integer) : real;
Begin
If Nilai = 0 then
Faktorial := 1
Else
Faktorial := Nilai * Faktorial(Nilai-1);
End;
Var
N : integer;
Begin
Write(‘Berapa faktorial ? ‘);
Readln(N);
Writeln(N,’ faktorial = ‘,Faktorial(N):9:0);
End.
Function Fungsi2(Y: integer) : integer;
Begin
Fungsi2 := Y*2;
End;
Function Fungsi1(X:integer) : integer;
Begin
Fungsi1 := Fungsi2(X) + 5;
End;
Begin
Writeln(Fungsi1(3));
End.
Bila program dijalankan :
11
V. FUNGSI BERSARANG
Fungsi bersarang merupakan fungsi yang letaknya berada didalam fungsi yang lainnya.
Contoh :
VI. FUNGSI STANDAR
Pascal menyediakan beberapa fungsi standar yang telah didefinisikan dan tidak perlu
dibuat kembali oleh si pemakai. Berikut beberapa contoh fungsi standar :
Jenis fungsi standar Contoh Keterangan
Arithmatika Abs(X); Memutlakan suatu nilai yang ditunjukkan
oleh argumen x
Exp(x:real):real; Menghitung nilai pangkat dari bilangan e
Int(x:real):real; Menghasilkan nilai integer dari x
Sqr(x); Menghitung nilai pangkat kuadrat dari
argumen x
Transfer Chr(X:byte):char; Merubah nilai dari byte x ke bentuk
karakter yang sesuai dengan kode ASCII
Ord(X):longint; Merubah nilai x ke bentuk nilai longint
yang sesuai dengan kode ASCII
Round(x:real):longint; Membulatkan nilai dari real x ke longint
yeng terdekat
Contoh : Panggunaan fungsi standar Abs
Function Fungsi1(X:integer) : integer;
Function Fungsi2(Y:integer) : integer;
Begin
Fungsi2 := Y*2;
End;
Begin
Fungsi1 := Fungsi2(X) + 5;
End;
Begin
Writeln(Fungsi1(3));
End.
Bila program dijalankan :
Nilai yang akan dimutlakkan ? -25.75
Nilai mutlaknya = 25.75
Contoh : Penggunaan fungsi standar Exp
Bila program dijalankan :
Nilai yang akan diexponentialkan ? 7.5
Nilai exponentialnya = 1808.04241
Contoh : Fungsi standar SQRT
Var X : real;
Begin
Write(‘Nilai yang akan dimutlakan ? ‘); readln(X);
Writeln(‘Nilai mutlaknya = ‘,Abs(X):9:2);
End.
Var X : real;
Begin
Write(‘Nilai yang akan diexponentialkan ? ‘); readln(X);
Writeln(‘Nilai exponentialnya = ‘,Exp(X):9:2);
End.
Var A,B,C : real;
Begin
Write(‘Panjang sisi tegak ? ‘);readln(A);
Write(‘Panjang sisi datar ? ‘);readln(B);
C := SQRT(SQR(A) + SQR(B));
Writeln(“Panjang sisi miring = ‘,C:9:2);
End.
Contoh : Penggunaan fungsi standar CHR
Contoh : Penggunaan fungsi standar round
Var
X : byte;
Begin
Write(‘Nilai kode ASCII (0-255) ? ‘);
Readln(X);
Writeln(“Karakter kode ASCII ini adalah : ‘,chr(X));
End.
Begin
Writeln(’10 dibagi 3 hasil pembulatan terdekat adalah ‘,Round(10/3));
Writeln(’20 dibagi 3 hasil pembulatan terdekat adalah ‘,Round(20/3));
End.

More Related Content

What's hot

Latihan java depandi
Latihan java depandiLatihan java depandi
Latihan java depandiDevandy Enda
 
Pemrograman C++ - Fungsi dan Prosedur
Pemrograman C++ - Fungsi dan ProsedurPemrograman C++ - Fungsi dan Prosedur
Pemrograman C++ - Fungsi dan ProsedurKuliahKita
 
Algoritma&Pemrograman C++ Pertemuan 3
Algoritma&Pemrograman C++ Pertemuan 3Algoritma&Pemrograman C++ Pertemuan 3
Algoritma&Pemrograman C++ Pertemuan 3Menny SN
 
Cara membuat fungsi dan prosedur pada java
Cara membuat fungsi dan prosedur pada javaCara membuat fungsi dan prosedur pada java
Cara membuat fungsi dan prosedur pada javaDevandy Enda
 
Soal Pascal OSN Komputer
Soal Pascal OSN KomputerSoal Pascal OSN Komputer
Soal Pascal OSN KomputerLabieb Maududi
 
Tugas struktur data
Tugas struktur dataTugas struktur data
Tugas struktur dataDevandy Enda
 
fungsi algoritma
fungsi algoritmafungsi algoritma
fungsi algoritmaDhan junkie
 
M04b dasar program c
M04b dasar program cM04b dasar program c
M04b dasar program cBilly Alhamra
 
Laporan praktikum modul vii
Laporan praktikum modul viiLaporan praktikum modul vii
Laporan praktikum modul viiDevi Apriansyah
 
Pengenalan pascal asli
Pengenalan pascal asliPengenalan pascal asli
Pengenalan pascal asliNadya Olivia
 
Algoritma dan Struktur Data - methods
Algoritma dan Struktur Data - methodsAlgoritma dan Struktur Data - methods
Algoritma dan Struktur Data - methodsGeorgius Rinaldo
 
scikit-learn cheat sheet untuk data science
scikit-learn cheat sheet untuk data sciencescikit-learn cheat sheet untuk data science
scikit-learn cheat sheet untuk data sciencesoftscients
 
3. Pointer dan List Berkait Singly
3. Pointer dan List Berkait Singly3. Pointer dan List Berkait Singly
3. Pointer dan List Berkait SinglyKelinci Coklat
 

What's hot (20)

Topik 10 Fungsi
Topik 10 FungsiTopik 10 Fungsi
Topik 10 Fungsi
 
Latihan java depandi
Latihan java depandiLatihan java depandi
Latihan java depandi
 
Pertemuan V
Pertemuan VPertemuan V
Pertemuan V
 
Pemrograman C++ - Fungsi dan Prosedur
Pemrograman C++ - Fungsi dan ProsedurPemrograman C++ - Fungsi dan Prosedur
Pemrograman C++ - Fungsi dan Prosedur
 
Algoritma&Pemrograman C++ Pertemuan 3
Algoritma&Pemrograman C++ Pertemuan 3Algoritma&Pemrograman C++ Pertemuan 3
Algoritma&Pemrograman C++ Pertemuan 3
 
Procedur
ProcedurProcedur
Procedur
 
Cara membuat fungsi dan prosedur pada java
Cara membuat fungsi dan prosedur pada javaCara membuat fungsi dan prosedur pada java
Cara membuat fungsi dan prosedur pada java
 
Soal Pascal OSN Komputer
Soal Pascal OSN KomputerSoal Pascal OSN Komputer
Soal Pascal OSN Komputer
 
Manipulasi string
Manipulasi stringManipulasi string
Manipulasi string
 
Tugas struktur data
Tugas struktur dataTugas struktur data
Tugas struktur data
 
Soal dan bahasan Pascal
Soal dan bahasan PascalSoal dan bahasan Pascal
Soal dan bahasan Pascal
 
fungsi algoritma
fungsi algoritmafungsi algoritma
fungsi algoritma
 
M04b dasar program c
M04b dasar program cM04b dasar program c
M04b dasar program c
 
Laporan praktikum modul vii
Laporan praktikum modul viiLaporan praktikum modul vii
Laporan praktikum modul vii
 
Pengenalan pascal asli
Pengenalan pascal asliPengenalan pascal asli
Pengenalan pascal asli
 
Algoritma dan Struktur Data - methods
Algoritma dan Struktur Data - methodsAlgoritma dan Struktur Data - methods
Algoritma dan Struktur Data - methods
 
scikit-learn cheat sheet untuk data science
scikit-learn cheat sheet untuk data sciencescikit-learn cheat sheet untuk data science
scikit-learn cheat sheet untuk data science
 
6. subrutin
6. subrutin6. subrutin
6. subrutin
 
Tipe data
Tipe dataTipe data
Tipe data
 
3. Pointer dan List Berkait Singly
3. Pointer dan List Berkait Singly3. Pointer dan List Berkait Singly
3. Pointer dan List Berkait Singly
 

Viewers also liked

SAFTINet Overview for EDRC
SAFTINet Overview for EDRCSAFTINet Overview for EDRC
SAFTINet Overview for EDRCMarion Sills
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
Appendix pipeline engineering 1
Appendix pipeline engineering 1Appendix pipeline engineering 1
Appendix pipeline engineering 1Taufik Roman
 
Educación en un Mundo Conectado
Educación en un Mundo ConectadoEducación en un Mundo Conectado
Educación en un Mundo ConectadoClara Yáñez
 
Benefits of superfast and day in life buy with confidence - plymouth 29.10
Benefits of superfast and day in life   buy with confidence - plymouth 29.10Benefits of superfast and day in life   buy with confidence - plymouth 29.10
Benefits of superfast and day in life buy with confidence - plymouth 29.10Get up to Speed
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
Lucero Montserrat red LAN
Lucero Montserrat red LANLucero Montserrat red LAN
Lucero Montserrat red LANLuzeriin
 
Activn grazhdanin
Activn grazhdaninActivn grazhdanin
Activn grazhdaninschool853
 
Get up to speed getting the most out of online marketing ivybridge
Get up to speed getting the most out of online marketing ivybridgeGet up to speed getting the most out of online marketing ivybridge
Get up to speed getting the most out of online marketing ivybridgeGet up to Speed
 
Study question project 2
Study question project 2Study question project 2
Study question project 2Grant Denney
 
Communication Theories and Models Final Paper
Communication Theories and Models Final PaperCommunication Theories and Models Final Paper
Communication Theories and Models Final Paperponcemarie
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
Essential tools and tips for selling online bridgewater 12.06.15
Essential tools and tips for selling online   bridgewater 12.06.15Essential tools and tips for selling online   bridgewater 12.06.15
Essential tools and tips for selling online bridgewater 12.06.15Get up to Speed
 
Standard 2.1 Flipchart
Standard 2.1 FlipchartStandard 2.1 Flipchart
Standard 2.1 FlipchartTierneyRex
 
Pertemuan 1 algoritma
Pertemuan 1 algoritmaPertemuan 1 algoritma
Pertemuan 1 algoritmaBraga Rezpect
 

Viewers also liked (20)

SAFTINet Overview for EDRC
SAFTINet Overview for EDRCSAFTINet Overview for EDRC
SAFTINet Overview for EDRC
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Appendix pipeline engineering 1
Appendix pipeline engineering 1Appendix pipeline engineering 1
Appendix pipeline engineering 1
 
Educación en un Mundo Conectado
Educación en un Mundo ConectadoEducación en un Mundo Conectado
Educación en un Mundo Conectado
 
Bilinguism in colombia
Bilinguism in colombiaBilinguism in colombia
Bilinguism in colombia
 
Benefits of superfast and day in life buy with confidence - plymouth 29.10
Benefits of superfast and day in life   buy with confidence - plymouth 29.10Benefits of superfast and day in life   buy with confidence - plymouth 29.10
Benefits of superfast and day in life buy with confidence - plymouth 29.10
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Artikel reksadana
Artikel reksadanaArtikel reksadana
Artikel reksadana
 
Lucero Montserrat red LAN
Lucero Montserrat red LANLucero Montserrat red LAN
Lucero Montserrat red LAN
 
Activn grazhdanin
Activn grazhdaninActivn grazhdanin
Activn grazhdanin
 
RED LAN
RED LAN RED LAN
RED LAN
 
Get up to speed getting the most out of online marketing ivybridge
Get up to speed getting the most out of online marketing ivybridgeGet up to speed getting the most out of online marketing ivybridge
Get up to speed getting the most out of online marketing ivybridge
 
Study question project 2
Study question project 2Study question project 2
Study question project 2
 
Communication Theories and Models Final Paper
Communication Theories and Models Final PaperCommunication Theories and Models Final Paper
Communication Theories and Models Final Paper
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Essential tools and tips for selling online bridgewater 12.06.15
Essential tools and tips for selling online   bridgewater 12.06.15Essential tools and tips for selling online   bridgewater 12.06.15
Essential tools and tips for selling online bridgewater 12.06.15
 
Bioequivalence
BioequivalenceBioequivalence
Bioequivalence
 
Standard 2.1 Flipchart
Standard 2.1 FlipchartStandard 2.1 Flipchart
Standard 2.1 Flipchart
 
Pertemuan 1 algoritma
Pertemuan 1 algoritmaPertemuan 1 algoritma
Pertemuan 1 algoritma
 

Similar to Dasar Pemrograman materi kuliah

Praktikum fix 2
Praktikum fix 2Praktikum fix 2
Praktikum fix 2inggar tri
 
Pemrograman Modular
Pemrograman ModularPemrograman Modular
Pemrograman ModularDimara Hakim
 
Algoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsiAlgoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsiZombie Black
 
Pascal - Pendahuluan2.txt - Notepad.pdf
Pascal - Pendahuluan2.txt - Notepad.pdfPascal - Pendahuluan2.txt - Notepad.pdf
Pascal - Pendahuluan2.txt - Notepad.pdfJurnal IT
 
Asyiknya belajar struktur data di planet c++
Asyiknya belajar struktur data di planet c++Asyiknya belajar struktur data di planet c++
Asyiknya belajar struktur data di planet c++Ilan Surf ﺕ
 
Asyiknya Belajar Struktur Data di Planet C++
Asyiknya Belajar Struktur Data di Planet C++Asyiknya Belajar Struktur Data di Planet C++
Asyiknya Belajar Struktur Data di Planet C++Nurdin Al-Azies
 
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 DataFakhrian Fadlia Adiwijaya
 
Topik 5 Ekspresi dan Iinput Output
Topik 5 Ekspresi dan Iinput OutputTopik 5 Ekspresi dan Iinput Output
Topik 5 Ekspresi dan Iinput OutputI Komang Agustino
 
Modul pemrograman pascal toki smansasoo
Modul pemrograman pascal toki smansasooModul pemrograman pascal toki smansasoo
Modul pemrograman pascal toki smansasooindahshafira
 

Similar to Dasar Pemrograman materi kuliah (20)

Modul pd
Modul pdModul pd
Modul pd
 
Praktikum fix 2
Praktikum fix 2Praktikum fix 2
Praktikum fix 2
 
Function
FunctionFunction
Function
 
Praktikum
PraktikumPraktikum
Praktikum
 
Pemrograman Modular
Pemrograman ModularPemrograman Modular
Pemrograman Modular
 
Algoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsiAlgoritma - prosedur dan fungsi
Algoritma - prosedur dan fungsi
 
Fungsi
FungsiFungsi
Fungsi
 
Function c++
Function c++Function c++
Function c++
 
Desain Top Down
Desain Top DownDesain Top Down
Desain Top Down
 
07 function 2
07 function 207 function 2
07 function 2
 
Pascal - Pendahuluan2.txt - Notepad.pdf
Pascal - Pendahuluan2.txt - Notepad.pdfPascal - Pendahuluan2.txt - Notepad.pdf
Pascal - Pendahuluan2.txt - Notepad.pdf
 
modul algoritma Bab 7 record
modul algoritma Bab 7 recordmodul algoritma Bab 7 record
modul algoritma Bab 7 record
 
Asyiknya belajar struktur data di planet c++
Asyiknya belajar struktur data di planet c++Asyiknya belajar struktur data di planet c++
Asyiknya belajar struktur data di planet c++
 
Asyiknya Belajar Struktur Data di Planet C++
Asyiknya Belajar Struktur Data di Planet C++Asyiknya Belajar Struktur Data di Planet C++
Asyiknya Belajar Struktur Data di Planet C++
 
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
 
Topik 5 Ekspresi dan Iinput Output
Topik 5 Ekspresi dan Iinput OutputTopik 5 Ekspresi dan Iinput Output
Topik 5 Ekspresi dan Iinput Output
 
Function c++
Function c++Function c++
Function c++
 
Modul pemrograman pascal toki smansasoo
Modul pemrograman pascal toki smansasooModul pemrograman pascal toki smansasoo
Modul pemrograman pascal toki smansasoo
 
modul algoritma Bab 2
modul algoritma Bab 2modul algoritma Bab 2
modul algoritma Bab 2
 
5 prosedur dan fungsi
5 prosedur dan fungsi5 prosedur dan fungsi
5 prosedur dan fungsi
 

More from Braga Rezpect

Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahBraga Rezpect
 
Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Braga Rezpect
 

More from Braga Rezpect (7)

Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Dasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliahDasar Pemrograman materi kuliah
Dasar Pemrograman materi kuliah
 
Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1Materi Kuliah : Dasar pemrograman 1
Materi Kuliah : Dasar pemrograman 1
 

Dasar Pemrograman materi kuliah

  • 1. MODUL 10 SUBPROGRAM 2 ( FUNCTION ) Fungsi adalah modul program yang memberikan/mengembalikan (return) sebuah nilai yang bertipe sederhana (integer, real, Boolean, string). Sebagaimana halnya dengan prosedur, fungsi diakses dengan memanggil namanya. Selain itu fungsi juga dapat mengandung daftar parameter formal. Blok fungsi hampir sama dengan blok prosedur, hanya fungsi harus dideklarasikan dengan tipenya. Tipe deklarasi ini menunjukkan tipe hasil dari fungsi. Penulisannya adalah : FUNCTION identifier(daftar parameter) : type; Contoh : Function Faktorial(Var Fak, Hasil : integer) : integer; Function Pangkat(X,Y : real) : real; Blok fungsi sama dengan blok prosedur yang diawali dengan kata Begin dan diakhiri dengan kata End dan titik koma. Berikut adalah Contoh : Function Hitung(Var A,B : integer) : integer; Begin Hitung := A + B; End; Var X, Y : integer; Begin Write(‘Nilai X ? ‘); Readln(X); Write(‘Nilai Y ? ‘); Readln(Y); Writeln; Writeln(X, ‘ + ‘,Y,’ = ‘,Hitung(X,Y)); End.
  • 2. Bila program dijalankan : Nilai X ? 2 Nilai Y ? 3 2 + 3 = 5 I. PARAMETER DALAM FUNGSI Sama dengan prosedur, parameter dalam fungsi dapat dikirim secara nilai (by value) atau secara acuan (by reference). I.1 Parameter By Value Function Hitung (A,B : integer) : integer; Contoh : Berikut akan dibuat suatu fungsi yang akan menghasilkan nilai terbesar dari 2 buah nilai real. Bila program dijalankan : Nilai pertama ? 12.356 Nilai kedua ? 55.182 Nilai terbesar adalah 55.182 Function Terbesar(X,Y : real) : real; Begin If X>Y Then Terbesar := X Else Terbesar := Y; End; Var Nilai1, Nilai2 : real; Begin Write(‘Nilai pertama ? ‘); readln(Nilai1); Write(‘Nilai kedua ? ‘); readln(Nilai2); Writeln(‘Nilai terbesar adalah ‘,Terbesar(Nilai1,Nilai2):9:3); End;
  • 3. I.2 Parameter by Reference Function Hitung(var A,B : integer) : integer; Pengiriman parameter dengan secara acuan akan mengakibatkan perubahan nilai parameter di fungsi juga merubah nilai parameter di modul yang mengirimkannya. Bila program dijalankan : Nilai X ? 2 Nilai Y ? 3 2 + 3 = 5 2 * 3 = 6 Function Hitung(Var A,B,C : integer) : integer; Begin Hitung := A + B; C := A * B; End; Var X, Y, Z : integer; Begin Write(‘Nilai X ? ‘); Readln(X); Write(‘Nilai Y ? ‘); Readln(Y); Writeln; Writeln(X,’ + ‘,Y,’ = ‘,Hitung(X,Y,Z); Writeln(X,’ * ‘,Y,’ = ‘,Z); End.
  • 4. II. FUNGSI PANGKAT Pada pascal tidak menyediakan fungsi untuk perpangkatan tinggi, yang ada hanyalah fungsi standar sqr, yaitu pemangkatan kuadrat. Bila akan dilakukan pemangkatan lebih dari pangkat 2, maka harus dibuat program tersendiri. Berikut contohnya : Bila program dijalankan : Nilai akan dipangkatkan ? 1.5 Dipangkatkan dengan ? 3 1.500 pangkat 3 adalah 3.375 Function Pangkat(X:real; Y:integer) : real; Var Pangkat : real; I : integer; Begin Pangkat :=1; For I := 1 to Y do Pangkat := Pangkat*X; PangkatI := Pangkat; End; Var A : real; B : integer; Begin Write(‘Nilai yang akan dipangkatkan ? ‘); Readln(A); Write(‘Dipangkatkan dengan ? ‘); Readln(B); Writeln(A:9:3,’ pangkat ‘,B,’ adalah ‘,PangkatI(A,B):9:3); End.
  • 5. III. FUNGSI MEMANGGIL DIRINYA SENDIRI Seperti halnya prosedur, fungsi juga dapat memanggil dirinya sendiri. Proses fungsi memanggil dirinya sendiri juga merupakan proses recursion. Contoh : IV. FUNGSI MEMANGGIL FUNGSI YANG LAIN Suatu fungsi dapat juga memanggil fungsi yang lainnya. Fungsi yang dipanggil letaknya harus berada diatas fungsi yang memanggil. Contoh : Function Faktorial(Nilai : integer) : real; Begin If Nilai = 0 then Faktorial := 1 Else Faktorial := Nilai * Faktorial(Nilai-1); End; Var N : integer; Begin Write(‘Berapa faktorial ? ‘); Readln(N); Writeln(N,’ faktorial = ‘,Faktorial(N):9:0); End. Function Fungsi2(Y: integer) : integer; Begin Fungsi2 := Y*2; End; Function Fungsi1(X:integer) : integer; Begin Fungsi1 := Fungsi2(X) + 5; End; Begin Writeln(Fungsi1(3)); End.
  • 6. Bila program dijalankan : 11 V. FUNGSI BERSARANG Fungsi bersarang merupakan fungsi yang letaknya berada didalam fungsi yang lainnya. Contoh : VI. FUNGSI STANDAR Pascal menyediakan beberapa fungsi standar yang telah didefinisikan dan tidak perlu dibuat kembali oleh si pemakai. Berikut beberapa contoh fungsi standar : Jenis fungsi standar Contoh Keterangan Arithmatika Abs(X); Memutlakan suatu nilai yang ditunjukkan oleh argumen x Exp(x:real):real; Menghitung nilai pangkat dari bilangan e Int(x:real):real; Menghasilkan nilai integer dari x Sqr(x); Menghitung nilai pangkat kuadrat dari argumen x Transfer Chr(X:byte):char; Merubah nilai dari byte x ke bentuk karakter yang sesuai dengan kode ASCII Ord(X):longint; Merubah nilai x ke bentuk nilai longint yang sesuai dengan kode ASCII Round(x:real):longint; Membulatkan nilai dari real x ke longint yeng terdekat Contoh : Panggunaan fungsi standar Abs Function Fungsi1(X:integer) : integer; Function Fungsi2(Y:integer) : integer; Begin Fungsi2 := Y*2; End; Begin Fungsi1 := Fungsi2(X) + 5; End; Begin Writeln(Fungsi1(3)); End.
  • 7. Bila program dijalankan : Nilai yang akan dimutlakkan ? -25.75 Nilai mutlaknya = 25.75 Contoh : Penggunaan fungsi standar Exp Bila program dijalankan : Nilai yang akan diexponentialkan ? 7.5 Nilai exponentialnya = 1808.04241 Contoh : Fungsi standar SQRT Var X : real; Begin Write(‘Nilai yang akan dimutlakan ? ‘); readln(X); Writeln(‘Nilai mutlaknya = ‘,Abs(X):9:2); End. Var X : real; Begin Write(‘Nilai yang akan diexponentialkan ? ‘); readln(X); Writeln(‘Nilai exponentialnya = ‘,Exp(X):9:2); End. Var A,B,C : real; Begin Write(‘Panjang sisi tegak ? ‘);readln(A); Write(‘Panjang sisi datar ? ‘);readln(B); C := SQRT(SQR(A) + SQR(B)); Writeln(“Panjang sisi miring = ‘,C:9:2); End.
  • 8. Contoh : Penggunaan fungsi standar CHR Contoh : Penggunaan fungsi standar round Var X : byte; Begin Write(‘Nilai kode ASCII (0-255) ? ‘); Readln(X); Writeln(“Karakter kode ASCII ini adalah : ‘,chr(X)); End. Begin Writeln(’10 dibagi 3 hasil pembulatan terdekat adalah ‘,Round(10/3)); Writeln(’20 dibagi 3 hasil pembulatan terdekat adalah ‘,Round(20/3)); End.