Fu Nction
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,751
On Slideshare
1,749
From Embeds
2
Number of Embeds
2

Actions

Shares
Downloads
24
Comments
0
Likes
0

Embeds 2

http://www.slideshare.net 1
http://formatik-ext08.com 1

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 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.
  • 2.
    • 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.
  • 3.
    • 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;
  • 4.
    • 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.
  • 5. 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.
  • 6. 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;
    • begin
    • if A > B then nilai:=A
    • else
    • nilai:=B;
    • end;
    • Begin
    • Write ('angka 1='); readln (A1);
    • Write ('angka 2='); readln (A2);
    • Maks:=nilai (A1,A2);
    • Writeln ('nilai terbesar adalah =',maks);
    • End.
  • 7. Program tersebut juga dapat ditulis :
    • Program cari_terbesar1;
    • Uses wincrt;
    • Var A1, A2, maks : integer;
    • function nilai (A,B : integer):integer;
    • begin
    • if A > B then nilai:=A
    • else
    • nilai:=B;
    • end;
    • Begin
    • Write ('angka 1='); readln (A1);
    • Write ('angka 2='); readln (A2);
    • Writeln ('nilai terbesar adalah =',nilai (A1,A2));
    • End.
  • 8.  
  • 9. 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;
    • begin
    • if A > B then nilai:=A
    • else
    • nilai:=B;
    • end;
    • Begin
    • Write ('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.
  • 10.  
  • 11. 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
  • 12.
    • program kurs_uang;
    • uses wincrt;
    • var
    • rupiah, kursdollar : integer;
    • dolar : real;
    • {fungsi}
    • function nilai_dollar (rp, kurs : integer):real;
    • begin
    • nilai_dollar := rp/kurs;
    • end;
    • {program utama}
    • begin
    • write ('nilai rupiah ='); readln (rupiah);
    • write ('kurs 1 dollar ='); readln (kursdollar);
    • dolar :=nilai_dollar(rupiah, kursdollar);
    • write ('Rp ' , rupiah, ' = ' , dolar:3:2,' dolar ');
    • readln;
    • end.
  • 13.  
  • 14. TUGAS: dikumpul pada saat MID
    • 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 ada
    • b. 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.
  • 15.
    • 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.