fu nction

15
FUNGSI Konsep fungsi dlm pascal hampir = konsep fungsi dlm matematika. fungsi digunakan u/ menghitung nilai berdasar satu/beberapa nilai masukan. Fungsi = prosedure, harus dideklarasikan terlebih dahulu sebelum digunakan. Namun fungsi memiliki perbedaan mendasar dengan prosedur yaitu : fungsi memberikan nilai balik (return) sedangkan prosedur tidak.

Upload: formatik

Post on 05-Dec-2014

1.768 views

Category:

Technology


4 download

DESCRIPTION

Algoritma Pemrograman II

TRANSCRIPT

Page 1: Fu Nction

FUNGSIKonsep fungsi dlm pascal hampir = konsep fungsi dlm matematika.fungsi digunakan u/ menghitung nilai berdasar satu/beberapa nilai masukan. Fungsi = prosedure, harus dideklarasikan terlebih dahulu sebelum digunakan.Namun fungsi memiliki perbedaan mendasar dengan prosedur yaitu : fungsi memberikan nilai balik (return) sedangkan prosedur tidak.

Page 2: Fu Nction

karena dlm fungsi terdapat nilai kembalian, sehingga pada saat pemanggilan fungsi dapat langsung digunakan untuk mengisi sebuah ekspresi

Misal: write (‘terbesar =‘,maks (angka1,angka2); Fungsi selalu merupakan parameter

masukan atau parameter nilai. Parameter yang digunakan pada saat

mendeklarasikan fungsi adalah parameter formal.

Page 3: Fu Nction

Pendeklarasian Fungsi

Aturan penamaan fungsi sama dgn aturan penamaan var.

Sebuah fungsi tdk harus mempunyai parameter.

Tipe hasil : tipe nilai yg dihasilkan/dikrimkan fungsi dan merupakan tipe2 dasar.

Function nama_fungsi (Parameter): tipe_hasil;Begin{statemen2 implementasi fungsi}Nama_fungsi:=nilai yg dikirimkan/hasil;End;

Page 4: Fu Nction

Nilai yg dikirimkan fungsi hanya satu, misal u/ menghitung luas & keliling sebuah persegipanjang harus dibuat 2 buah fungsi yg masing2 mengirimkan luas & keliling berdasarkan panjang & lebar yg dberikan dlm parameter.

Pada bagian statemen, implementasi fungsi harus dituliskan statemen yg mengirimkan hasil dgn melakukan assigment atau pemberian harga kepada nama_fungsi dgn hasil atau nilai yg dikirimkan atau dihitung oleh fungsi trsbt.

Pemanggilan fungsi dilakukan dgn cara menuliskan nama_fungsi dan parameternya.

Page 5: Fu Nction

Contoh1: fungsi u/ menghitung gaya dengan parameter bertipe real

Function gaya (m, a :real) :real;

{ m=massa, a=percepatan, mengirimkan gaya, F=m*a}

Begin

Gaya:=m * a;

End;

Ket : - gaya ad/ nama fungsi, m, a ad/ parameter fungsi - pengiriman nilai hasil perhitungan fungsi dilakukan

dengan memberi harga hasil perkalian m dan a kepada gaya.

Page 6: Fu Nction

Contoh2 : Buatlah program yang menerima integer dan menentukan integer terbesar diantara kedua bilangan integer tesebut.Program cari_terbesar1;Uses wincrt;Var A1, A2, maks : integer;

function nilai (A,B : integer):integer;beginif A > B then nilai:=Aelse

nilai:=B;end;

BeginWrite ('angka 1='); readln (A1);Write ('angka 2='); readln (A2);Maks:=nilai (A1,A2);Writeln ('nilai terbesar adalah =',maks);End.

Page 7: Fu Nction

Program tersebut juga dapat ditulis :

Program cari_terbesar1;Uses wincrt;Var A1, A2, maks : integer;

function nilai (A,B : integer):integer;beginif A > B then nilai:=Aelse

nilai:=B;end;

BeginWrite ('angka 1='); readln (A1);Write ('angka 2='); readln (A2);Writeln ('nilai terbesar adalah =',nilai (A1,A2));End.

Page 8: Fu Nction
Page 9: Fu Nction

Contoh3 : Menentukan nilai terbesar diantara tiga bilangan integer dgn menggunakan fungsi

Program cari_terbesar2;Uses wincrt;Var A1, A2, A3, maks : integer;

function nilai (A,B : integer):integer;beginif A > B then nilai:=Aelse

nilai:=B;end;

BeginWrite ('angka 1='); readln (A1);Write ('angka 2='); readln (A2);Write ('angka 3='); readln (A3);Maks:=nilai (A1,A2);Maks:=nilai (maks,A3);Writeln ('nilai terbesar adalah =',maks);End.

Page 10: Fu Nction
Page 11: Fu Nction

Contoh3 : Buatlah program untuk mengkonversi nilai uang dalam rupiah ke dollar, yang menerima 2 buah integer masing2 nilai uang dlm rupiah & nilai tukar 1 dollar dlm rupiah, serta mengirim nilai rupiah tersebut dlm dollar

Page 12: Fu Nction

program kurs_uang;uses wincrt;varrupiah, kursdollar : integer;dolar : real;

{fungsi}function nilai_dollar (rp, kurs : integer):real;beginnilai_dollar := rp/kurs;end;

{program utama}

beginwrite ('nilai rupiah ='); readln (rupiah);write ('kurs 1 dollar ='); readln (kursdollar);dolar :=nilai_dollar(rupiah, kursdollar);write ('Rp ' , rupiah, ' = ' , dolar:3:2,' dolar ');readln;end.

Page 13: Fu Nction
Page 14: Fu Nction

TUGAS: dikumpul pada saat MID

1. Buatlah program untuk menghitung pangkat empat, dimana proses berada di module, untuk input/output berada dalam program utama. Program menggunakan parameter variabel dalam bentuk fungsi

2. Buatlah program (Fungsi) untuk menghitung tunjangan anak dan tunjangan keluarga dengan ketentuan :a. jika sudah menikah, maka mendapatkan tunjangan keluarga sebesar 15%, jika belum maka tunjangan tidak adab. Tunjangan anak diberikan jika statusnya sudah menikah,Diberikan maksimal 3 anak, tiap anak mendapatkan 5% dari gaji pokok.Data input: gaji pokok, tunjangan keluarga, tunjangan anak, gaji bersih.

Page 15: Fu Nction

3.Buatlah fungsi yang menerima 2 buah integer dan mengirimkan hasil penambahannya

4. Upah karyawan perusahaan dihitung harian berdasarkan jumlah jam kerja. Upah tiap jam adalah R. 3.000,-. Untuk menentukan upah tersebut, buatlah prosedure & fungsi yang menerima jumlah jam kerja dan mengirimkan upah harian yang dikirim karyawan

5. Buatlah fungsi yang mengirimkan sebuah boolean. Fungsi mengirimkan true jika integer pada parameternya adalah tahun kabisat dan false jika sebaliknya. Tahun kabisat adalah tahun yang habis dibagi 100 atau tahun yang habis dibagi 400.