fu nction

Post on 05-Dec-2014

1.768 Views

Category:

Technology

4 Downloads

Preview:

Click to see full reader

DESCRIPTION

Algoritma Pemrograman II

TRANSCRIPT

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.

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.

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;

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.

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.

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.

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.

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.

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

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.

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.

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.

top related