Slide 1 - Simponi MDP

advertisement
Pertemuan 18
FUNGSI (Method)
Bag.1
Dasar Pemrograman
Renni Angreni, S.Kom.



Fungsi dikenal juga dengan nama sub rutin,
rutin, prosedur atau metode.
Fungsi merupakan sejumlah baris pernyataan/
instruksi yang dikemas di dalam suatu nama
(identifier).
Tujuan pembuatan fungsi :
◦ Memudahkan dalam mengembangkan program. Hal
ini merupakan kunci dalam pembuatan program yang
terstruktur.
◦ Menghemat ukuran program. Manfaat ini akan terasa
apabila ada sekumpulan pernyataan yang sama yang
digunakan berkali-kali di satu program.


Menggunakan fungsi terdiri dari
mendefinisikan fungsi dan memanggil
fungsi.
Mendefinisikan fungsi dilakukan seperti
mendeklarasikan variabel. Bedanya
ditambahkan tanda kurung di akhir
identifier yang berisi argumen.


Di dalam fungsi, pemrogram dapat
mendefinisikan variabel, ataupun membuat
konstanta. Namun, di dalam fungsi tidak
diperkenankan untuk membuat fungsi lain,
tetapi dapat di dalam fungsi memanggil
fungsi lainnya.
Umumnya fungsi menerima masukan (disebut
argumen / parameter). Masukan ini
selanjutnya diproses oleh fungsi. Hasil akhir
berupa sebuah nilai yang disebut nilai balik.
Bentuk fungsi yang tidak memiliki argumen
dituliskan void();
Sintax prototype fungsi :
tipeData namaFungsi();
Sintax fungsi (mendefinisikan fungsi) :
tipeData namaFungsi() {
[Blok pernyataan]
}
dan
tipeData namaFungsi(argumen) {
[Blok pernyataan]
[nilai balik]
}

Contoh :
1. long kuadrat(long l);
2. int maks(int a, int b, int c);
3. double maks(double x, double y);
4. void garis();
Pada contoh (1) fungsi bernama kuadrat mempunyai satu argumen
bernama l bertipe long dan nilai balik juga bertipe long.
Pada contoh (2) fungsi bernama maks mempunyai tiga argumen
bernama a, b, dan c yang masing-masing bertipe int dan nilai
balik juga bertipe int.
Pada contoh (3) fungsi bernama maks mempunyai dua argumen
bernama x dan y yang masing-masing bertipe double dan nilai
balik juga bertipe double.
Pada contoh (4) fungsi tidak memiliki argumen dan nilai baliknya
tidak ada / void.

Cara 1 :
prototype fungsi
void main()
{
memanggil fungsi
_getch();
}
definisi fungsi

Cara 2 :
definisi fungsi
void main()
{
memanggil fungsi
_getch();
}
#include <iostream>
#include <conio.h>
using namespace std;
void garis();
void main()
{ garis();
garis();
cout<<"Ini contoh penggunaan fungsi dengan cara 1“
<<endl;
garis();
garis();
_getch();
}
void garis()
{
cout<<"------------------------------------------";
cout<<endl;
}
#include <iostream>
#include <conio.h>
using namespace std;
void garis()
{
cout<<"------------------------------------------";
cout<<endl;
}
void main()
{ garis();
garis();
cout<<"Ini contoh penggunaan fungsi dengan cara 1“
<<endl;
garis();
garis();
_getch();
}




Pada contoh sebelumnya, fungsi yang dibuat tidak
menerima / mempunyai argumen ataupun
mengembalikan nilai.
Argumen fungsi adalah nilai masukan pada fungsi.
Argumen disebut juga parameter.
Argumen fungsi dituliskan di dalam tanda kurung.
Dalam mendefinisikan suatu fungsi dengan
argumen, sintax prototypenya :
void garis(int); atau
void garis(int jumlah);
Sedangkan untuk definisi fungsinya :
void garis(int jumlah) {
[blok program]
}
#include <iostream>
#include <conio.h>
using namespace std;
void garis(int jumlah);
void main()
{
garis(40);
garis(20);
cout<<"Ini contoh"<<endl;
cout<<"penggunaan fungsi dengan parameter"<<endl;
cout<<"cara 1"<<endl;
garis(30);
garis(30);
_getch();
}
void garis(int jumlah)
{
for(int x=1; x<=jumlah; x++) cout<<"-";
cout<<endl;
}
#include <iostream>
#include <conio.h>
using namespace std;
void garis(int jumlah)
{
for(int x=1; x<=jumlah; x++) cout<<"-";
cout<<endl;
}
void main()
{
garis(40);
garis(20);
cout<<"Ini contoh"<<endl;
cout<<"penggunaan fungsi dengan parameter"<<endl;
cout<<"cara 1"<<endl;
garis(30);
garis(30);
_getch();
}
#include <iostream>
#include <conio.h>
using namespace std;
void bintang(int jumlah)
{
for (int i=0; i<jumlah; i++) cout<<"*";
cout<<endl;
}
int main()
{
for (int a=1; a<=20; a++) {
bintang(a);
}
_getch();
return 0;
}
#include <iostream>
#include <conio.h>
using namespace std;
void bintang(int jumlah)
{
for (int i=0; i<jumlah; i++) cout<<"*";
cout<<endl;
}
int main()
{
for (int a=1; a<=10; a++) {
bintang(a);
}
for (int a=9; a>0; a--) {
bintang(a);
}
_getch();
return 0;
}
void cetak(char karakter, int jumlah)
{
for (int a=1; a<=jumlah; a++) {
cout<<karakter;
}
}
void segitiga(int jml)
{
for (int b=1; b<=jml; b++) {
cetak(' ',(jml-b));
cetak('^',(2*b-1));
cout<<endl;
}
}
int main()
{
segitiga(10);
segitiga(9);
segitiga(8);
segitiga(7);
_getch();
return 0;
}
Suatu fungsi dapat dibuat menerima lebih dari satu
argumen. Tiap-tiap argumen dipisahkan dengan tanda
koma.
void cetak(char karakter, int jumlah)
{
for (int i=1; i<=jumlah; i++) {
cout<<karakter;
}
}
Perlu diperhatikan bahwa urutan argumen pada saat
pemanggilan fungsi tidak boleh terbalik. Misalkan
pemanggilan fungsi cetak :
cetak('^',50);
tidak sama dengan
cetak(50,'^');
Contoh yang kedua akan mengakibatkan error pada
program karena fungsi cetak dengan parameter
tersebut belum didefinisikan.
Argumen suatu fungsi dapat dibuat memiliki nilai
bawaan (default). Caranya :
void cetak(char karakter='*', int jumlah=50)
{
for (int i=1; i<=jumlah; i++) {
cout<<karakter;
}
}
dipanggil dengan :
ulang();
ulang('-');
ulang('=',70);
ulang(,45);
//yang ini tidak bisa
1.
Dengan menggunakan fungsi buatlah sebuah
program C++ untuk tampilan di bawah ini.
2.
Dengan menggunakan fungsi buatlah sebuah
program C++ untuk tampilan di bawah ini.
-- Sekian --
Dasar Pemrograman
Renni Angreni, S.Kom.
Download