1 / 24

Prosedur dan Fungsi

Prosedur dan Fungsi. FUNGSI. Fungsi adalah sub Program yang mengembalikan ( return ) sebuah nilai . Fungsi sama halnya dengan prosedur akan tetapi fungsi harus dideklarasikan dengan tipenya. Cara Mendefinisikan Fungsi.

Télécharger la présentation

Prosedur dan Fungsi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. ProsedurdanFungsi

  2. FUNGSI • Fungsiadalah sub Program yang mengembalikan (return) sebuahnilai. • Fungsisamahalnyadenganprosedurakantetapifungsiharusdideklarasikandengantipenya.

  3. Cara MendefinisikanFungsi functionNama_Fungsi (inputdaftar parameter formal)  tipehasil { Spesifikasifungsi, menjelaskanapa yang dilakukandan yang dikembalikanolehfungsi} DEKLARASI { semuanama yang dipakaidalamfungsidideklarasikan di sini. Nama yang didefinisikan di dalam DEKLARASI lokalhanyadikenaldandipakaididalamfungsiinisaja } DESKRIPSI : { badanfungsi, berisikumpulaninstruksiuntukmenghasilkannilai yang akandikembalikanolehfungsi } returnhasil { pengembaliannilai yang dihasilkanfungsi }

  4. ContohFungsi function F (input x : real)  real { mengembalikannilaiY = 2x2 + 5x – 8 } DEKLARASI { tidakada} DESKRIPSI : return 2*x*x + 5*x - 8 TulislahFungsiuntukmenghasilkannilai Y = 2x2 + 5x – 8 double F(double x) { return 2*x*x + 5*x – 10 } function F (input x : real)  real { mengembalikannilaiY = 2x2 + 5x – 8 } DEKLARASI y : real { penampunghasilfungsi p} DESKRIPSI : y  2*x*x + 5*x - 8 return y Atau :

  5. ContohFungsi function F (input x : real)  real { mengembalikannilaiY = 2x2 + 5x – 8 } DEKLARASI { tidakada} DESKRIPSI : return 2*x*x + 5*x - 8 TulislahFungsiuntukmenghasilkannilai Y = 2x2 + 5x – 8 x : parameter F : nama_fungsi

  6. PemanggilanFungsi : • Nama_Fungsi (daftar parameter) • Variabel Nama_Fungsi (daftar parameter) Ataunilai yang diberikanolehfungsidapatlangsungdigunakan, contoh : • write(Nama_Fungsi (daftar parameter)); • ifNama_Fungsi (daftar parameter) < 0 then … • z  2 * Nama_Fungsi (daftar parameter) – x + y; Daftar parameter dapatberupanamatetapan / konstanta, variabel, asalkansudahterdefinisitipedanharganya.

  7. PemanggilanFungsi : AlgoritmaContoh_Pemanggilan_Fungsi { Program UtamauntukmemanggilFungsi F } DEKLARASI { Fungsi yang akandigunakandideklarasikandisini } function F (input x : real)  real { mengembalikannilaiY = 2x2 + 5x – 8 } x, y, z, a : real DESKRIPSI : x  10 read (a)

  8. PemanggilanFungsi : { Cara PemanggilanPertama : NilaiFungsilangsungdigunakan } { 1.a. NilaiFungsiDicetak } write (F(a)) write (F(x)) write(‘NilaiFungsi di x = 8.37 adalah ‘, F(8.37)) { 1.b. NilaiFungsiDigunakandalamstrukturPemilihan } if F(a) < 0 then write (‘HasilFungsiNegatif’) endif

  9. PemanggilanFungsi : { 1.c. NilaiFungsiDigunakandalamKondisiPerulangan } repeat a  a / 2 until (F(x) > 10) or (a < 0.5) { 1.d. NilaiFungsiDigunakandalamEkspresi } z  2*F(5) + 10; write (‘Nilai z = ‘, z)

  10. PemanggilanFungsi : { Cara PemanggilanKedua : HasilFungsiditampungkedalamnamavariabel lain } y  F(a) z  F(x) if y < 0 then write (y) endif

  11. C++ #include <iostream> #include <conio.h> using namespace std; double F (double x) { return 2*x*x + 5*x - 10; } void main() { int x, a; x = 10; cout<<"MasukkanNilai a : ";cin>>a; cout<<"Nilai F(a) : "<<F(a)<<endl; cout<<"Nilai F(x) : "<<F(x)<<endl; cout<<"Nilai Fungsi di x = 8.37 adalah "<<F(8.37); _getch(); }

  12. Sintax prototype fungsi : tipeDatanamaFungsi(); Mendefinisikanfungsi : tipeDatanamaFungsi() { [blokpernyataan] return (ungkapan); } tipeDatanamaFungsi(parameter) { [blokpernyataan] return (ungkapan); }

  13. Contoh : 1. long kuadrat(long l); 2. intmaks(int a, int b, int c); 3. double maks(double x, double y); 4. void garis();  Procedure Padacontoh (1) fungsibernamakuadratmempunyaisatuargumenbernama l bertipe long dannilaibalikjugabertipe long. Padacontoh (2) fungsibernamamaksmempunyaitigaargumenbernama a, b, dan c yang masing-masingbertipeintdannilaibalikjugabertipe int. Padacontoh (3) fungsibernamamaksmempunyaiduaargumenbernama x dan y yang masing-masingbertipe double dannilaibalikjugabertipe double. Padacontoh (4) fungsitidakmemilikiargumendannilaibaliknyatidakada / void.

  14. MenggunakanProsedur / FUNGSI • Cara 2 : definisifungsi void main() { memanggilfungsi _getch(); } • Cara 1 : prototype fungsi void main() { memanggilfungsi _getch(); } definisifungsi

  15. #include <iostream> #include <conio.h> using namespace std; void garis(); void main() { garis(); garis(); cout<<"IniContohPenggunaanFungsi / Procedure Dengan Cara 1 "<<endl; garis(); garis(); _getch(); } void garis() { cout<<"------------------------------------------"; cout<<endl; } Contoh Cara 1

  16. #include <iostream> #include <conio.h> using namespace std; void garis() { cout<<"------------------------------------------"; cout<<endl; } void main() { garis(); garis(); cout<<"IniContohPenggunaanFungsi / Procedure Dengan Cara 2"<<endl; garis(); garis(); _getch(); } Contoh Cara 2

  17. Contoh #include <iostream> #include <conio.h> using namespace std; double kuadrat(double bilanganBulat) { return (bilanganBulat * bilanganBulat); } void main() { const float Phi = 3.14; double luas = Phi * kuadrat(3.25); cout<<"Luaslingkaran = "<<luas<<endl; _getch(); }

  18. #include <iostream> #include <conio.h> using namespace std; int terbesar (int a, int b) { if (a < b) return b; else return a; } void main() { intc, d; cout<<"---Input DuaBilangan---"<<endl; cout<<"Bilanganpertama : "; cin>>c; cout<<"Bilangankedua : "; cin>>d; cout<<"Yang terbesaradalah "; intmaksimum = terbesar(c,d); cout<<maksimum; _getch(); } Contoh

  19. #include <iostream> #include <conio.h> using namespace std; float persegi(float s) { float luas = s * s; return luas; } void main() { intsisi; cout<<"---HitungLuasPersegi---"<<endl; cout<<"Masukkan panjang sisi = "; cin>>sisi; cout<<"Luas persegi = "<<persegi(sisi)<<endl; cout<<"-------------------------"; _getch(); } Contoh

  20. ContohFungsi & Pemanggilannya : functionPangkat (input a : real, input n : integer)  real { MengembalikanHargaPangkat, n bilanganbulatpositif } DEKLARASI hasil : real i : integer DESKRIPSI : hasil  1 for i  1 to n do hasil hasil * a endfor returnhasil AlgoritmaVolume_Bola { Program utamaUntukMenghitung Volume Bola denganrumus V = 4/3 * phi * r3 DEKLARASI V, r : real functionPangkat (input a : real, input n : integer)  real DESKRIPSI : read (r) phi  3.14 V  4 / 3 * phi * Pangkat (r, 3) write (‘Volume Bola : ‘, V)

  21. C++ #include <iostream> #include <conio.h> using namespace std; double Pangkat (double a, int n) { inthasil, i; hasil = 1; for (i = 1; i <= n; i++) { hasil = hasil * a; } return hasil; } void main() { double V, r; cout<<"MasukkanNilai r : ";cin>>r; const double phi = 3.14; V = (4 * phi * Pangkat (r, 3)) / 3; cout<<"Volume Bola : "<<V; _getch(); }

  22. LATIHAN : • BuatlahFungsiuntukmenentukansebuahtahunmerupakantahunkabisatataubukankabisat. • BuatlahFungsiuntukmenentukanbilanganterbesar di antaraduabilangan.

  23. Buatlahsebuah program C++ untuktampilanberikut : Jikapilihan = 1 makahitung volume kubusdari input panjangrusuk, jikapilhan = 2 makahitung volume balokdari input panjang, lebar, dantinggi, jikapilihan yang lainnyatampilkanpesankesalahan.

  24. Buatlahsebuah program C++ dengandefinisikandangunakanfungsibernamaluasSegiEmpat. Jikaargumenfungsihanyasatu, maka yang dihitungadalahluasbujursangkar. Jikaargumenfungsiadadua, maka yang dihitungadalahluaspersegipanjang. Nilaiargumen yang diinputbisaberupabilanganbulatataupunbilangandesimal.

More Related