Pemrograman Terstruktur
Oleh : Sudirman S.Kom
PERTEMUAN X FUNGSI Sebuah fungsi berisi sejumlah pernyataan atau instruksi yang dikemas dalam sebuah nama. Nama ini selanjutnya dapat dipanggil beberapa kali dibeberapa tempat dalam program. Tujuan pembuatan fungsi : Memudahkan dalam mengembangkan program. Hal ini merupakan kunci dalam pembuatan program yang terstruktur. Program dibagi menjadi beberapa modul program yang kecil (lihat Gbr.1). Menghemat ukuran program, Manfaat ini terasakan kalau ada beberapa deretan instruksi yang sama digunakan pada beberapa tempat di dalam program. fungsi main()
fungsi a()
fungsi b()
fungsi b1()
fungsi b2()
fungsi c()
fungsi b3()
Gbr.1 Konsep program dibagi menjadi sejumlah modul void main() { --------fungsi a(); ----------------fungsi a(); ------------------------}
1 4 3 6
void fungsi a() { --------5 --------- 2 ----------------}
Gbr.2 Diagram pemanggilan fungsi
Pemrograman Terstruktur
Oleh : Sudirman S.Kom
Contoh program yang memakai fungsi yang dibuat sendiri oleh pemrogram // * -----------------------------------------------------------------* // * buku.cpp * // * * // * Contoh pembuatan dan pemanggilan fungsi * // * -----------------------------------------------------------------* #include
#include #include void garis();
// Prototipe fungsi garis()
void main() { garis(); // Panggil fungsi garis() cout << setiosflags(ios::left); // Atur rata kiri cout << setw(26) << “JUDUL BUKU”<< << “PENGARANG” << endl; garis(); // Panggil fungsi garis() cout << setw(26) << “Mastering Borland C++” << “Tom Swan” << endl; cout << setw(26) << “Turbo C++ by Example” << “Greg Perry” << endl; cout << setw(26) << “Converting C to Turbo C++ ” << “Len Dorfman” << endl; garis();
// Panggil fungsi garis()
} void garis() { int i; for (i = 0; i < 49; i++) cout << ‘-‘; cout << endl; }
setiosflags(ios::left) : untuk mengatur rata kiri setiap tampilan. setw() : untuk mengatur lebar dari suatu tampilan data. Contoh diatas adalah untuk mengatur lebar dari judul buku dan pengarang sebesar 26 karakter.
Pemrograman Terstruktur
Oleh : Sudirman S.Kom
Bila dijalankan program diatas akan menghasilkan output : --------------------------------------------------------------------JUDUL BUKU PENGARANG --------------------------------------------------------------------Mastering Borland C++ Tom Swan Turbo C++ by Example Greg Perry Converting C to Turbo C++ Len Dorfman --------------------------------------------------------------------Prototipe Fungsi Deklarasi fungsi dikenal dengan sebutan prototipe fungsi. Sebelum sebuah fungsi ditulis, ia harus di tulis prototype-nya. Contoh : void main() { cout<<“Hai \n”; } Jika program ini dijalankan, maka akan terjadi error, karena fungsi cout tidak memiliki prototype. Kesalahan diatas tidak akan terjadi apabila program ditulis menjadi sbb : #include void main() { cout<<“Hai \n”; } Mengapa? Tidak lain adalah karena prototype fungsi cout ada pada file iostream.h. Itulah sebabnya diperlukan untuk menyertakan baris berbentuk #include apabila pemrogram menulis fungsi-fungsi yang disediakan system. Prototype fungsi berupa : Nama fungsi Tipe nilai balik fungsi Jumlah dan tipe argumen Dan diakhiri dengan titik koma ;
Pemrograman Terstruktur
Oleh : Sudirman S.Kom
Contoh : 1. long kuadrat(long l); 2. int maks3(int a, int b, int c); 3. double maks(double x, double y); 4. void garis(); Contoh Definisi Fungsi Tipe nilai
Nama fungsi Tipe Argumen
long kuadrat(long a) { return ( a * a ); }
Argumen
menentukan nilai balik Contoh program yang memakai fungsi kuadrat : // * -----------------------------------------------------------------* // * fkuadrat.cpp * // * * // * Contoh pembuatan fungsi dengan argumen * // * bertipe long dan nilai balik juga bertipe long * // * -----------------------------------------------------------------* #include #include #include long kuadrat(long a);
// Prototipe fungsi kuadrat()
void main() { for (long bil = 200; bil < 2000; bil +=200) cout << setw(8) << bil << setw(8) << kuadrat(bil) << endl; } // Definisi fungsi long kuadrat(long a) { return ( a * a ); }
Pemrograman Terstruktur
Oleh : Sudirman S.Kom
CONTOH SOAL : Buatlah program dengan menggunakan fungsi untuk menghitung luas segiempat.Diketahui rumus luas segiempat = panjang x lebar. Program : /* Menghitung luas segiempat dengan fungsi */ #include /* prototype fungsi segiempat*/ float luas_se(float pjg, float lbr); void main() { float luas, panjang, lebar; cout << “Panjang : “); cin >> panjang); cout << “\nLebar : “); cin >> lebar; luas = luas_se(panjang, lebar); cout << “\nLuas segiempat : “ << luas; } /* definisi fungsi segiempat */ float luas_se(float pjg, float lbr) { return(pjg * lbr); } SOAL : 1. Buatlah program dengan menggunakan fungsi untuk menghitung luas segitiga.Diketahui rumus luas segitiga = alas x tinggi / 2. 2. Buatlah program dengan menggunakan fungsi untuk menghitung tunjangan jabatan. Dengan ketentuan : tun_jab = 25% dari gaji_pokok Gaji_pokok dibaca dari keyboard.