2. Spesifik tugas
Fungsinya dirancang untuk digunakn dengan beberapa program . fungsi ini melakukan tugas tertentu
dan dengan itu bias digunakan dalam berbagai program karna program lain juga perlu untuk
melakukan tugas tertentu . spesifik tugas fungsi kadang-kadang disebut sebagai blok bangunan .
karena mereka sudah di uji dank ode. Kita dapat menggunakannya dengan keyakinan lebih efisien
untuk menulis program yang besar.
Proram utama harus menetapkan adanya fungsi yang di gunakan dalam program ini . tergantung
pada bahasa pemrograman, ada cara untuk formal:
1. menentukan fungsi (it’s definisi atau kode akan dijalankan))
2. memanggil fungsi
3. menyatakan fungsi (prototipe adalah sebuah deklarasi untuk kompilator)
Fungsi kontrol program biasanya tidak ke informasi untuk berkomunikasi satu sama lain, tetapi
daerah yang umum digunakan untuk menyimpan variabel. Tugas fungsi-fungsi khusus dibangun agar
data dapat dikomunikasikan antara memanggil program piece (yang biasanya fungsi lainnya) dan
fungsi yang dipanggil. Ini kemampuan untuk berkomunikasi data yang memungkinkan kita untuk
membangun suatu tugas fungsi yang dapat digunakan di banyak program. Peraturan untuk
bagaimana data yang dikomunikasikan dari dalam dan fungsi sangat bervariasi oleh bahasa
pemrograman, namun konsep yang sama.
Data item lulus (atau dikomunikasikan) disebut parameter. Dengan demikian, kata: parameter
lulus.Empat pilihan komunikasi data antara lain:
1. tidak ada komunikasi dalam komunikasi tanpa keluar
2. beberapa komunikasi tanpa komunikasi keluar
3. beberapa komunikasi dengan beberapa komunikasi keluar4. tidak ada komunikasi di luar
komunikasi dengan beberapa
Pendefinisian Prosedur
Mendefinisiakan prosedur artinya menuliskan nama prosedur, konstanta, variabel dan menjabarkan
aksi apa yang akan dilakukan, termasuk deklarasi parameter jika ingin menggunakannya.
Berikut ini bentuk umum pendefinisian prosedur di pascal:
Program Nama_Program;
Procedure Nama_Prosedur;
Begin
........
........
End;
Begin
.........
.........
End.
Setiap prosedur mempunyai nama yang unik, sebaiknya nama prosedur diawali dengan kata kerja
misalnya HitungKeliling, CariBilangan, CetakNilai dan lain sebagainya.
procedure CetakHello;
begin
writeln('Hello World');
end;
Begin
//Memanggil prosedur
CetakHello;
end.
Hasil Keluaran
Program Procedure_2 ;
uses crt;
var bil1,bil2, hasil: integer;
//Mendefinisikan prosedur
procedure HitungPenjumlahan(var a,b :integer);
begin
hasil:=a+b;
writeln('Hasil Penjumlahan ',a,'+',b,'=',hasil);
end;
Begin
write('Masukan bilangan pertama : ');
readln(bil1);
write('Masukan bilangan kedua : ');
readln(bil2);
//Memanggil prosedur
HitungPenjumlahan(bil1,bil2);
end.
Hasil Keluaran
Program Procedure_3 ;
uses crt;
var i, N : integer; a, t : real; L : real;
//Mendefinisikan prosedur
procedure HitungLuasSegitiga(alas, tinggi :real; var luas : real);
begin
luas:=(alas*tinggi)/2;
end;
Begin
write('Banyaknya segitiga : ');
readln(N);
for i:=1 to N do
begin
writeln ('HITUNG LUAS SEGITIGA-',i);
write ('Masukan alas : ');
readln(a);
write ('Masukan tinggi : ');
readln(t);
//Memanggil prosedur
HitungLuasSegitiga(a,t,L);
writeln('Luas segitiga = ',L:0:2);
writeln();
end;
end.
Pada contoh prosedur yang ketiga kita membuat program untuk menghitung sejumlah N luas segitiga
dengan menggunakan prosedur HutungLuasSegitiga dengan melewatkan 3 parameter yakni alas,
tinggi dan luas yang masing-masing bertipe real. Prosedur ini akan mengerjakan instruksi untuk
menghitung luas segitiga dengan rumus luas=(alas*tinggi)/2;
Karena program akan menghitung sejumlah N luas segitiga, maka kita perlu melakukannya dengan
menggunakan perulangan for do. Nilai N akan menjadi batas perulangan akan dilakukan.
Pengguna akan memaukan alas dan tinggi segitiga yang di tampung pada variabel a dan t yang
merupakan variabel global, yang selanjutnya nilainya akan di lewatkan pada
prosedur HutungLuasSegitiga.
Pendefinisian Fungsi
Pendefinisian fungsi sama halnya dengan prosedur, yang membedakan pada kata kunci
menggunakan function sebelum nama fungsi di deklarasikan.
Selain itu fungsi juga memiliki tipe yang mendefinisikan tipe nilai yang diberikan oleh fungsi, tipe
dapat berupa tipe dasar atau bentukan. Nantinya fungsi akan mengembalikan nilai sesuai dengan
tipe fungsi tersebut.
Perlu diketahui setiap variabel/konstanta yang di deklarasikan di dalam fungsi hanya dapat digunakan
dalam fungsi itu sendiri(tidak untuk fungsi lain atau program utama), hal ini kita kenal dengan istilah
variabel lokal.
Berikut ini bentuk umum mendefinisikan fungsi di pascal
Program Nama_Program;
Function nama_fungsi(daftar_parameter): type;
Begin
........
........
End;
Begin
.........
.........
End.
Pada program di atas kita membuat program untuk menghitung perkalian dua buah bilangan
menggunakan fungsi HitungPerkalian dengan parameter a dan b bertipe integer. Fungsi ini akan
mengembalikan nilai dengan mengalikan bilangan a dan b. Variabel a dan b merupakan variabel lokal
pada fungsi tersebut.
Pada bagian main program di deklarasikan variabel x dan y dengan tipe integer, nantinya pengguna
akan memasukan nilai x dan y dan nilai tersebut akan dilewatkan pada parameter
fungsi HitungPerkalian.
Program Fungsi_2;
uses crt;
Function genap(var x:integer): boolean;
Begin
genap:=(x mod 2=0);
End;
Var bil: integer;
begin
clrscr;
write('Masukan bilangan : ');
readln(bil);
if genap(bil) then
begin
writeln(bil,' adalah bilangan genap');
end
else
begin writeln(bil,' adalah bilangan ganjil');
end;
readln;
end.
Pada contoh program yang kedua, untuk menentukan apakah suatu bilangan yang dimasukan
merupakan bilangan genap atau ganjil tentunya menggunakan function.
Fungsi di definisikan dengan nama genap yang membawa sebuah parameter x dengan tipe integer.
Fungsi genap bertipe boolean yang mana fungsi ini akan menghasilkan nilai balik true atau false.
Fungsi genap akan mengerjakan instruksi untuk melakukan operasi modulus 2 terhadap nilai x, jika
menghasilkan nilai 0 maka fungsi tersebut bernilai true (artinya nilai x adalah genap).
Pada main program pengguna akan memasukan bilangan yang di tampung pada variabel bil yang
kemudian di cek kondisi jika fungsi genap bernilai true maka program menampilkan bilangan genap
sedangkan jika false akan menampilkan bilangan ganjil.
Program Fungsi_3;
uses crt;
Function faktor(bilangan :integer) : real;
Begin
If bilangan = 0 then faktor := 1
Else
Faktor := faktor(bilangan-1)*bilangan;
End;
Var n : integer;
begin
clrscr;
write('Berapa Faktorial Dari = ');
readln(n);
writeln(n,' faktorial = ', faktor(n):0:0);
readln;
end.
Pada contoh yang ketiga program tentang faktorial, fungsi yang kita definisikan sebenarnya sudah
mengimplementai algoritma rekursif.
Fungsi yang di definisikan adalah faktor bertipe real dengan sebuah parameter bertipe integer. Fungsi
ini akan mengerjakan instruksi untuk menghitung faktorial suatu bilangan.
Uji Pemahaman :
1. Apa yang dimaksud dengan :
a. Algoritma
b. Flowchart
2. Berikan contoh Algoritma dalam kehidupan sehari-hari yang pernah dialami !
3. Buat contoh Algoritma pemrograman pascal untuk menuliskan dua baris kalimat,
Contoh : Nama Lengkap Alamat Lengkap
4. Buatlah program untuk menampilkan dua baris kalimat tersebut dengan program pascal
Langkah-langkah menyelesaikan Uji Pemahaman.
Silahkan dikerjakan :
1. Tulis jawaban no. 1- 3 di buku tulis kalian masing-masing setelah selesai berikan nama di
bawah jawaban lalu foto dan di kirimkan melalui Ms. Teams kelas.
2. Install aplikasi Pascal Dev pada smartphone masing-masing lalu Soal no 4 dikerjakan pada
aplikasi tersebut dengan membuat kode programnya setelah selesai dan berhasil dijalankan
silahkan di screenshoot lalu di kirim bersama foto jawaban no 1 - 3.
3. Terima kasih.