FUNGSI Erizal, S.Si, M.Kom Universitas Respati Yogyakarta

Slides:



Advertisements
Presentasi serupa
Mata Kuliah: Bahasa C++ Harni Kusniyati
Advertisements

Pemrograman JAVA (TIB09)
Lingkup Variabel Kelas Penyimpanan Rekursi
FUNGSI Deklarasi dan Definisi fungsi Void dan Non-void Fungsi main.
STRUKTUR DATA (5) Pointer dan Function
STRUKTUR Konsep Pemrograman.
Struktur Sugeng Supriyadi, M.Kom.
Fungsi (lanjutan) Pertemuan ke-9 Bahasa C.
Modul 11 – Hendi Hermawan - 1
Fungsi (Bagian 1) Abdul Haris, S.Kom.
Functions/Fungsi As’ad Djamalilleil
SELECTION STATEMEN KENDALI / PERCABANGAN
Chapter 3-1 : Aturan Penulisan Teks Algoritma
POINTER
PEMROGRAMAN TERSTRUKTUR
3 Variabel, Konstanta Tipe Data dan dalam Bahasa C/C++ Java dan Bab
Komentar, Identifier dan Tipe Data
By; NILA FEBY PUSPITASARI
PENGENALAN c++ DAN STRUKTUR DASAR C++
Perintah Perulangan Pertemuan ::
BAB IV SUB PROGRAM DAN FUNGSI
Person 10Person Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’, dan tidak dapat diakses di luar fungsi (a)
FUNGSI.
Class.
STRUKTUR DATA (5) Pointer dan Function
Pointer Memory Dinamic.
SELECTION STATEMEN KENDALI / PERCABANGAN
Struktur & Kelas Erizal, S.Si, M.Kom Universitas Respati Yogyakarta
SELECTION (STATEMEN KENDALI / PERCABANGAN)
POINTER (VAR.PENUNJUK)
KONSTANTA dan OPERATOR
FUNGSI Teknik Informatika Universitas Muhammadiyah Malang 2011 Pemrogramman Terstruktur.
STRUKTUR DATA Pointer dan Function
#include //bagian modul int hitung(x,y) { return(x+y); } //bagian utama main() { int jumlah,a,b; a=8; b=2; jumlah=hitung(a,b); cout
P O I N T E R. Merupakan sebuah variabel yang berisi alamat dari variabel lain. Suatu pointer dimaksudkan untu menunjukan ke suatu alamat memori sehingga.
Nested IF (If di dalam If) dan Operator Logika
Fungsi Fungsi.
Function User Function.
Fungsi Fungsi (Sub Program) :
Algoritma dan Pemrograman 2C
STRUKTUR Struktur merupakan kumpulan elemen data yang digabungkan menjadi satu kesatuan data. Masing-masing elemen data tersebut dinamakan field atau elemen.
Bab 05 Tipe Data dan Mengisi Variabel
FUNCTIONS Pertemuan 9 Matakuliah: T0456 / Algoritma dan Metode Object Oriented Programming Tahun: 2007.
Dibuat oleh : Renni Angreni, S.Kom.
STRUKTUR Struktur merupakan kumpulan elemen data yang digabungkan menjadi satu kesatuan data. Masing-masing elemen data tersebut dinamakan field atau elemen.
PEMROGRAMAN SISTEM PERNYATAAN DASAR FUNGSI Pertemuan VI
Teknik Pemrog. Terstuktur 2
FUNGSI Nyimas Artina Arfansyah, S.Kom, M.Si.
STRUKTUR PERULANGAN 2 (LOOPING-2)
Tenia Wahyuningrum, S.Kom., MT
SUBRUTIN By Adnan Purwanto, S.Kom.
Fungsi, Array dan String
PERSON 20 TUGAS PEMROGRAMAN TERSTRUKTUR C++ CHERIA LOUPATTY MANAJEMEN INFORMATIKA STMIK / AMIK PARNA RAYA MANADO.
Prosedur dan Fungsi Triana Elizabeth, S.Kom.
FUNGSI.
FUNCTION Fungsi (Function) merupakan sekumpulan instruksi yang membentuk satu unit serta memiliki nama. Fungsi digunakan.
I Gusti Agung Made Wirautama, S.Kom
Universitas Respati Yogyakarta
FUNGSI.
FUNGSI (Method) Bag.1 Pertemuan 18 Dasar Pemrograman
FUNCTION Fungsi (Function) merupakan sekumpulan instruksi yang membentuk satu unit serta memiliki nama. Fungsi digunakan.
Latihan #0 Dengan menggunakan pernyataan looping WHILE dan jumlah instruksi sesedikit mungkin, tuliskan cuplikan program (bukan program lengkap, hanya.
Algoritma dan Pemrograman
Pemograman Berorientasi Object Sistem Informasi Semster III
Konstruktor dan Destruktor
Fungsi.
FUNGSI.
Teknik Pemrog. Terstuktur 2
PERTEMUAN V F U N G S I Tujuan membuat suatu fungsi
Teknik Pemrog. Terstruktur 2
Transcript presentasi:

FUNGSI Erizal, S.Si, M.Kom Universitas Respati Yogyakarta

Definisi  Fungsi adalah sebuah blok instruksi yang dieksekusi ketika dipanggil oleh instruksi lain dalam salah satu baris program di tempat lain.

Format (1)  Format daripada fungsi adalah sebagai berikut:  Tipe_data nama_fungsi ( tipe_data argument1, tipe_data argument2,...) {Instruksi;Instruksi;……}

Format (2)  tipe_data : tipe_data yang akan dikembalikan oleh fungsi.  nama_fungsi : nama fungsi yang akan digunakan pada saat pemanggilan fungsi tersebut.  argument1, argument2... n  Setiap argumen terdiri dari tipe_data diikuti dengan identifier- nya (nama argumen), pedeklarasian argumen persis seperti deklarasi variabel (contoh, int x) dan bertindak seperti variabel didalam fungsi tersebut.  Argumen–argumen ini digunkan untuk melakukan pengiriman (passing) parameter ke dalam fungsi ketika fungsi tersebut dipanggil.  instruksi : diapit kurung kurawal pembuka blok fungsi dan kurung kurawal akhir dari blok fungsi (badan fungsi).

Contoh  // contohfungsi1 #include #include int addition (int a, int b) { int r; r=a+b; return (r); } int main () { int z; z = addition (5,3); cout << "Hasilnya adalah : " << z; return 0; } Hasil eksekusinya adalah : Hasilnya adalah : 8

Proses (1)  Fungsi main akan melaksanakan deklarasi variabel z  Variabel z bertipe integer : sama dengan tipe dari keluaran fungsi addition karena variabel z disiapkan untuk menampung hasil dari fungsi penambahan.  Setelah terjadi pengisian nilai, variable a akan terisi dengan nilai 5 dan variable b akan terisi dengan nilai 3.

Proses (2)  Pada saat fungsi addition dipanggil dari fungsi main, program akan berpindah dari fungsi main, menuju ke fungsi penambahan.  Nilai kedua parameters dikirimkan ke fungsi addition pada saat pemanggilan tersebut. Nilai (5 dan 3) di salin ke variabel lokal dalam fungsi addition int a dan int b.  Selanjutnya eksekusi dilakukan untuk perintah di Function penambahan. Fungsi addition mendeklarasikan variabel baru (int r;). Selanjutnya dieksekusi perintah r=a+b;. r akan diisi nilai milik a ditambah nilai milik b, yaitu 5 plus 3 hasilnya adalah 8, maka r = 8.

Proses (3)  Kode program berikutnya :  return (r); // akhir dari fungsi penambahan  Selanjutnya eksekusi program akan kembali ke titik pemanggilan fungsi addition di fungsi pemanggil yaitu fungsi main. Perintah ini juga menyatakan bahwa hasil yang dikeluarkan oleh fungsi addition kepada pemanggilnya adalah nilai daripada r, dalam contoh diatas adalah 8.

Tugas  Modifikasi program diatas dengan ketentuan sebagai berikut :  Input diberikan oleh user  Tampilkan hasil kalkulasi data yang diinputkan oleh user  Berikan pilihan : jika user ingin menginputkan data yang lain, maka sistem siap untuk menerima input. Jika tidak, terminate aplikasi.  Tambahkan fungsi untuk : pengurangan, perkalian dan pembagian

Fungsi Tanpa Pengembalian Nilai  Void menyatakan tidak ada pengembalian nilai atau keluaran dari suatu proses.  Jika sebuah fungsi tidak ada nilai yang dikembalikan maka fungsi ini diawali dengan keyword void.  Jika sebuah fungsi tidak memerlukan parameter maka didalam deklarasinya, di dalam tanda kurung setelah nama fungsi diisi dengan keyword void. Penulisan void bersifat optional.  Misal : sebuah fungsi yang hanya bertugas mencetak kalimat ke layar monitor dan tanpa memerlukan adanya pertukaran parameter. Dalam kondisi seperti ini, maka dipergunakan kata kunci void.

Contoh  //contohfungsiVoid #include #include void dummyfunction (int a) { If a == 0 cout << "ini angka ENOL"; cout << "ini angka ENOL"; else if a == 1 cout << "ini angka SATU"; cout << "ini angka SATU";} int main () { dummyfunction (1); return 0; }

Contoh  //contohfungsiVoid #include<iostream.h>#include<conio.h> void Ucapan(void) { cout<<"Selamat Belajar C++"; } int main () { Ucapan(); return 0; }

Scope (Batasan) Variabel (1)  Variabel Lokal : variabel yang dideklarasikan di dalam tubuh fungsi, hanya dapat diakses oleh fungsi itu. Dan tidak dapat dipergunakan di luar fungsi.  Contoh : Pada program sebelumnya, variable a dan b atau r tidak dapat digunakan dalam fungsi main(), sebab variable tersebut merupakan variable lokal dalam fungsi addition.  Demikian juga halnya dengan variable z. Tidak dapat dipergunakan dalam fungsi addition karena merupakan variable lokal dalam fungsi main().

Scope (Batasan) Variabel (2)  Variabel Global : variable yang dapat diakses dari mana saja. Dari dalam maupun luar tubuh fungsi. Untuk mendeklarasikan variable global, harus dituliskan di luar fungsi atau blok instruksi.

Passing Argument  Pemanggilan dengan nilai (arguments passed by value)  Pemanggilan dengan acuan (arguments passed by reference)  Contoh :  Pada penggalan di atas, terjadi pemanggilan terhadap fungsi kurang() dengan x dan y masing-masing bernilai 5 dan 3. int x= 5, y=3, z; z =kurang(x,y);

Call by Value  Dengan pemanggilan tersebut, maka pengisian nilai terhadap variabel a dan b dilakukan oleh variabel x dan y yaitu a=5 dan b=3.  Ketika terjadi pengisian nilai seperti ini, maka nilai x dan y tidak akan mengalami perubahan apapun.  Teknik seperti demikian dinamakan : argument passed by value / call by value int kurang(int a, int b) z = kurang( x, y);

Call by Reference (1)  Jika diinginkan sebuah pertukaran nilai mempengaruhi nilai variabel pemberinya, diperlukan sebuah fungsi dengan pertukaran nilai secara acuan (argumen passed by reference), seperti contoh berikut :

Contoh #include<iostream.h>#include<conio.h> void kali (int& a, int& b, int& c) { a *= 2; b *= 2; c *= 2; } int main () { int x=1, y=3, z=7; kali(x,y,z); cout<<“x= ”<<x<<”, y= “<<y<<”, z= “<<z; return 0; } Hasilnya adalah : x=2, y=6, z=14

Call by Reference (2)  Yang berbeda adalah cara pertukaran argumen menggunakan tanda ampersand (&), yang artinya fungsi melayani pengisian berdasarkan acuan (reference).  Dengan pengisian nilai seperti ini, maka apabila terjadi perubahan nilai pada variable a, b dan c maka akan mempengaruhi nilai variable x, y dan z. void kali (int& a, int& b, int& c) kali( x, y, z ); kali( x, y, z );

Nilai Default dalam Argument  Ketika mendeklarasikan fungsi, maka tiap-tiap parameter yang dideklarasikan dapat diberikan sebuah nilai default.  Nilai default ini akan dipergunakan bila dalam pemanggilan fungsi, tidak diberikan nilai kepada parameter.

Contoh #include<iostream.h>#include<conio.h> void bagi (int a, int b=2) { int r; r=a/b; return (r); } int main () { cout<<bagi(12); cout<<endl; cout<<bagi(20,4); return 0; } Hasilnya adalah : 6 5

Penjelasan Program  Dalam program di atas, terdapat dua kali pemanggilan terhadap fungsi bagi() :  bagi(12) : hanya memberikan sebuah nilai kepada fungsi bagi(), sedangkan dalam pendeklarasian fungsinya, bagi() memerlukan 2 buah parameter. Maka variable b akan otomatis bernilai 2 sesuai dengan nilai defaultnya.  bagi(20,4) : Variabel a dan b masing-masing diberikan nilai 20 dan 4. Untuk nilai default, dalam hal ini akan diabaikan.

Fungsi Rekursif  Fungsi Rekursif : suatu fungsi yang memanggil dirinya sendiri.  Fungsi tersebut dipanggil di dalam tubuh fungsi itu sendiri.  Fungsi rekursif sangat berguna bila diimplementasikan untuk pekerjaan pengurutan data, atau menghitung nilai factorial suatu bilangan.

Contoh #include<iostream.h>#include<conio.h> long factorial (long a) { if (a>1) return (a* factorial (a-1)); return (a* factorial (a-1));else return (1); return (1);} int main () { long l; cout<<”tuliskan bilangan : ”; cin>>l; cout<<”!”<<l<<” = “<<factorial(l); return 0; } Hasil : Tuliskan bilangan : 9 !9 =

Prototype Fungsi (1)  Konvensi umum : setiap dideklarasikan sebuah fungsi baru diletakkan di atas fungsi main().  Namun terdapat pula alternative lain dalam pendeklarasian fungsi baru : yaitu dideklarasikan di bawah fungsi main() dengan menggunakan prototype fungsi.  Bagi compiler, informasi dalam prototype akan dipakai untuk memeriksa validitas parameter dalam pemanggilan fungsi.  Keuntungan : compiler akan melakukan konversi seandainya antara tipe parameter dalam definisi dan parameter saat pemanggilan fungsi tidak sama, atau akan menunjukkan kesalahan kalau jumlah parameter dalam definisi dan saat pemanggilan berbeda.

Prototype Fungsi (2)  Sintak prototype :  tipe nama (argumen1, argumen2,…);  Sama seperti pendeklarasian judul fungsi, kecuali :  Tidak memiliki baris pernyataan (tubuh fungsi) yang ditandai dengan { dan }.  Diakhiri dengan tanda ;  Argumen cukup dideklarasikan hanya dengan tipe datanya saja. Walaupun sangat dianjurkan untuk menyertakan argumen secara lengkap.

Contoh #include<iostream.h>#include<conio.h> void bagi (int a, int b); int main () {cout<<bagi(20,4); return 0; } void bagi (int a, int b) { int r; r=a/b; return (r); } untuk pendeklarasian prototype fungsi dapat berbentuk seperti berikut : void bagi (int a, int b); atau void bagi (int, int );

END OF MODUL - 2