FUNGSI.

Slides:



Advertisements
Presentasi serupa
Fungsi Konsep Pemrograman.
Advertisements

Pemrograman Berorientasi Objek (Project)
Lingkup Variabel Kelas Penyimpanan Rekursi
Fungsi (2) Dr. Anto Satriyo Nugroho, M.Eng Web:
Subprogram Program kecil yang melakukan tugas tertentu dan merupakan bagian dari program secara keseluruhan Keuntungan : Mudah dikodekan Mudah dipahami.
FUNGSI Deklarasi dan Definisi fungsi Void dan Non-void Fungsi main.
STRUKTUR DATA (5) Pointer dan Function
Menciptakan Fungsi.
Pointer.
Fungsi, Parameter, Rekursi Daniel Riano Kaparang Book reference: Jogiyanto. Konsep Dasar Pemrograman Bahasa C. Andi Star. Yogyakarta Kristanto Andri.
Fungsi (lanjutan) Pertemuan ke-9 Bahasa C.
Modul 11 – Hendi Hermawan - 1
Pemrograman Terstruktur
BAB IV SUB PROGRAM DAN FUNGSI
Review-Dasar Pemrograman Komputer
Person 10Person Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’, dan tidak dapat diakses di luar fungsi (a)
FUNGSI.
STRUKTUR DATA (5) Pointer dan Function
POINTER (VAR.PENUNJUK)
STRUKTUR DATA Pointer dan Function
Function User Function.
Pemrograman Berorientasi Obyek1 Sub Pokok Bahasan Pointer. Reference. Function Passing Parameter by Value, by Reference, by Pointer.
Algoritma dan Pemrograman 2C
Rahmat D. R. Dako, ST, M.Eng.  Modul  void main (void)  Modul  fungsi = function  Keuntungan penggunaan Fungsi atau modul :  Program menjadi lebih.
Dibuat oleh : Renni Angreni, S.Kom.
FUNGSI.
Teknik Pemrog. Terstruktur 2
PEMROGRAMAN SISTEM PERNYATAAN DASAR FUNGSI Pertemuan VI
1 Pertemuan Fungsi Matakuliah: T0016 / Algoritma dan Pemrograman Tahun: 2007 Versi: 6.
1. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu :  Mendemonstrasikan penggunaan fungsi serta pengiriman parameter 2.
Fungsi, Array dan String
FUNGSI.
PROCEDURE DAN FUNCTION
Tujuan Instruksional Mahasiswa memahami konsep fungsi
SL 1201 Materi tentang Fungsi Program merupakan kumpulan dari fungsi-fungsi baik yang didefinisikan langsung maupun yang disimpan dalam file header. Dalam.
Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi.
Bab2 ARRAY (LARIK).
FUNCTION Fungsi (Function) merupakan sekumpulan instruksi yang membentuk satu unit serta memiliki nama. Fungsi digunakan.
FUNGSI.
Pengertian FUNGSI.
FUNGSI.
Algoritma dan Struktur Data 1 pertemuan 9
Prosedur dalam C++.
Struktur Program TEE 2103 Algoritma dan Pemrograman
5. Fungsi S. Indriani L, M.T 5. Fungsi.
PEMROGRAMAN SISTEM FUNGSI
FUNGSI.
ARRAY (LARIK)
FUNGSI (Method) Bag.1 Pertemuan 18 Dasar Pemrograman
FUNCTION Fungsi (Function) merupakan sekumpulan instruksi yang membentuk satu unit serta memiliki nama. Fungsi digunakan.
Program komputer Sebuah program komputer yang ditulis dengan bahasa apapun dapat dipandang sebagai sebuah himpunan operasi yang dikerjakan pada data-data.
As’ad Djamalilleil Function (Fungsi) As’ad Djamalilleil
As’ad Djamalilleil Array (Larik) As’ad Djamalilleil
Fungsi, Parameter & Rekursi
Pemrograman Terstruktur
QUIS Algoritma Pemrograman I
Algoritma dan Pemrograman
FUNGSI.
~ PERTEMUAN 4 KONSEP TIPE DATA ~
Pemograman Berorientasi Object Sistem Informasi Semster III
Variabel dan memori.
IT234 ALGORITMA DAN STRUKTUR DATA
Parameter Ketika procedure atau function dipanggil, kita dapat melewatkan suatu nilai ke dalam function atau procedure tersebut. Nilai yang dilewatkan.
ARRAY (LARIK)
FUNGSI II.
Subprogram QBasic Ihsan Jatnika.
ARRAY (LARIK)
Pemrograman Terstruktur
FUNGSI.
PERTEMUAN V F U N G S I Tujuan membuat suatu fungsi
Transcript presentasi:

FUNGSI

Pengantar Fungsi Fungsi merupakan sekumpulan pernyataan yang dikemas dalam sebuah nama Fungsi dapat dipanggil beberapa kali dari tempat yang berbeda dalam program Tujuan pembuatan fungsi : Memudahkan dalam pengembangan program Menghemat ukuran program Bagian fungsi yang menerima masukan disebut argumen atau parameter Nilai yang dihasilkan oleh fungsi disebut dengan nilai balik atau return value

Prototipe Fungsi Deklarasi fungsi disebut dengan prototipe fungsi Sintaks : tipe_nilai_balik nama_fungsi (tipe_arg1 arg1, tipe arg2 arg2, …) Contoh : Float kel_lingk(float r); Int terbesar(int a, int b); Void isiarray(); Void adalah tipe nilai balik yang digunakan pada fungsi tanpa nilai balik Digunakan pada fungsi yang hanya menampilkan keterangan Prototipe fungsi dituliskan sebelum fungsi main()

Definisi Fungsi Setiap fungsi yang dipanggil dalam program harus didefinisikan terlebih dulu Kalau definisi fungsi diletakkan sebelum fungsi main(), maka tidak perlu prototipe fungsi Prototipe fungsi hanya diperlukan jika definisi fungsi diletakkan setelah fungsi main() Untuk memberikan nilai balik, digunakan pernyataan return Penulisan return : - return(ungkapan) - return ungkapan

Contoh 1. Program tanpa prototipe fungsi. Fungsi tanpa nilai balik dan tanpa parameter (fungsi1.cpp) #include <constrea.h> void halo() { cout << "Halo"; } void main() clrscr(); halo(); getch();

Contoh 2. Program dengan prototipe fungsi. Fungsi mempunyai nilai balik dan parameter (fungsi2.cpp) #include <constrea.h> int jumlah(int a, int b); void main(){ clrscr(); cout << “Hasil penjumlahan : “ << jumlah(5,8); getch();} int jumlah(int a, int b) { return(a + b); }

Lingkup Variabel Macam variabel berdasar lingkupnya: Variabel otomatis (lokal) Variabel eksternal (global) Variabel statis

Variabel Otomatis (Lokal) Variabel yang didefinisikan didalam suatu fungsi dan berlaku sebagai variabel lokal bagi fungsi Variabel hanya dikenal di dalam fungsi dimana variabel itu didefinsikan dan tidak dikenal oleh fungsi lain Sifat variabel otomatis: Hanya diciptakan saat fungsi dipanggil Saat fungsi berakhir, variabel otomatis akan dihapus Hanya dapat diakses didalam fungsi yang mendefinisikannya Selang waktu antara penciptaan dan penghapusan variabel disebut sebagai lifetime atau waktu hidup

Contoh 3. Variabel otomatis / lokal (varlokal.cpp) #include <constrea.h> void contoh(); void main(){ clrscr(); int x = 10; cout << "x pada main() : " << x << endl; contoh(); getch();} void contoh(){ int x = 15; cout << "x pada contoh() : " << x;}

Variabel Eksternal (Global) Variabel yang didefinisikan di luar fungsi manapun sehingga dikenal oleh semua fungsi Variabel eksternal mempunyai lifetime selama program dieksekusi Variabel eksternal sebaiknya digunakan sesedikit mungkin atau bahkan tidak digunakan sama sekali

Contoh 4. Variabel eksternal / global (vargloba.cpp) #include <constrea.h> int x = 10; void contoh(); void main(){ clrscr(); contoh(); cout << x; getch();} void contoh() { x++; }

Variabel Statis Sifat variabel statis: Sintaks: Variabel hanya dapat diakses pada fungsi yang mendefinisikannya Variabel tidak hilang setelah eksekusi berakhir. Nilainya akan tetap dipertahankan sehingga akan dikenali pada pemanggilan fungsi untuk tahap berikutnya Inisialisasi oleh pemrogram hanya dilakukan sekali saja selama program dijalankan. Jika tidak ada inisialisasi secara eksplisit, maka variabel diisi dengan nilai nol Sintaks: static tipe_data nama_variabel; Contoh: static int angka;

Contoh 5. Variabel statis dan bukan statis (varstati.cpp) #include <constrea.h> void contoh(); void main(){ contoh(); contoh(); contoh(); getch();} void contoh(){ static int x = 10; int y = 20; x++; y++; cout << "Harga x : " << x << " (variabel statis) " << endl; cout << "Harga y : " << y << " (bukan variabel statis) " << endl; cout << endl;}

Nilai Bawaan Argumen Fungsi Fungsi yang mempunyai nilai bawaan (default) dapat dipanggil tanpa menyertakan argumen Nilai argumen akan diambil dari nilai bawaan Inisialisasi nilai bawaan dilakukan pada prototipe fungsi Contoh: void garis(char karakter = ‘-’, int jumlah = 30); Pada definisi fungsi tidak perlu mencantumkan nilai bawaan void garis(char karakter, int jumlah) { … }

Nilai Bawaan Argumen Fungsi Pemanggilan: Garis(); Garis(‘+’); Garis(‘-’,15); Garis(‘+’,15); Aturan: Argumen-argumen yang terletak disebelah kanan argumen yang diberi nilai bawan harus juga mempunyai nilai bawaan Sehingga pernyataan berikut ini akan menyebabkan kesalahan : void garis(char karakter = ‘-’, int jumlah);

Contoh 6. Fungsi dengan nilai argumen bawaan #include <constrea.h> void garis(char karakter = '-', int jumlah = 30); void main(){ garis(); garis('+'); garis('-',15); garis('+',15); getch();} void garis(char karakter, int jumlah){ for (int i = 1; i <= jumlah; i++) cout << karakter; cout << endl;}

Passing Parameter Parameter formal dan parameter aktual void contoh(int x); void main() { int y = 10; contoh(y); --- parameter aktual getch(); } void contoh(int x) --- parameter formal cout << x;

Passing Parameter by Value Yang dikirimkan adalah nilai parameter Lokasi memori antara parameter aktual dan parameter formal berbeda Dideklarasikan tanpa tanda ‘&’ didepan parameter Saat parameter dikirimkan, yang terjadi adalah pengkopian nilai parameter aktual ke parameter formal Perubahan pada parameter formal tidak akan mempengaruhi parameter aktual

Passing Parameter by Reference Yang dikirimkan adalah alamat memori Lokasi memori antara parameter aktual dan parameter formal sama Dideklarasikan dengan tanda ‘&’ didepan parameter Setelah parameter dikirimkan, yang terjadi adalah parameter aktual dan parameter formal menunjuk ke lokasi memori yang sama Perubahan pada parameter formal akan mempengaruhi parameter aktual

Contoh 7. Passing parameter by value dan by reference (byvalref.cpp) #include <constrea.h> void contoh(int val, int &ref); void main(){ int v = 10, r = 20; contoh(v,r); cout << "Nilai v : " << v << endl; cout << "Nilai r : " << r; getch();} void contoh(int val, int &ref){ val++; ref++; cout << "Nilai val : " << val << endl; cout << "Nilai ref : " << ref << endl;}

Function Overloading Beberapa fungsi dengan nama sama yang mempunyai jumlah dan tipe argumen yang berbeda serta nilai balik yang berbeda pula Contoh: int kuadrat(int i) {return(i * i);} long kuadrat(long l) {return(l * l);} double kuadrat(double d) {return(d * d);} C++ akan memilih fungsi yang tepat dengan memeriksa tipe argumen Pembedaan fungsi dalam overloading jangan hanya menggunakan tipe nilai balik saja karena akan menimbulkan kerancuan

Rekursi Rekursi berarti fungsi yang memanggil dirinya sendiri Contoh yang umum dari fungsi rekursi adalah fungsi faktorial 0! = 1 1! = 1 x 0! 2! = 2 x 1! … n! = n x (n-1)!

Contoh 8. Faktorial dengan rekursi (faktor_re.cpp) #include <constrea.h> long int faktorial(int x); void main(){ int a; cout << "masukkan sebuah bilangan : "; cin >> a; cout << a << "! adalah : " << faktorial(a); getch();} long int faktorial(int x){ if (x == 0) return(1); else return(x * faktorial(x - 1));}

Contoh 9. Faktorial dengan iterasi (fakto_it.cpp) #include <constrea.h> void main(){ clrscr(); int i,x; long int fakto=1; cout << "Masukkan bilangan : "; cin >> x; for (i=1;i<=x;i++) { fakto = fakto * i; cout << i << "! = " << fakto << endl; } cout << "Faktorial dari " << x << " atau " << x << "! adalah : " << fakto; getch();}

Array Sebagai Argumen Fungsi Penulisan array dimensi 1 sebagai parameter - void isi_array(int array[10], int &jumlah); - void isi_array(int array[], int &jumlah); Penulisan array dimensi 2 sebagai parameter - void isi_matrik(int matrik[10][10], int &bar, int &kol); - void isi_matrik(int matrik[][10], int &bar, int &kol);

String Sebagai Argumen Fungsi Argumen string dinyatakan sebagai pointer yang menunjuk ke tipe char Akan dibahas pada bagian pointer

Latihan Buatlah program untuk merubah sudut derajat menjadi sudut radian dengan tipe nilai balik float Buatlah program untuk menghitung jarak peluru yang ditembakkan dari suatu lokasi dengan sudut penembakan (θ) dan kecepatan (V). Rumus : X = 2 x V02 x sin(θ) x cos(θ) /g. Tipe nilai balik float Buatlah program untuk menghitung luas dan keliling lingkaran dengan tipe nilai balik float Buatlah program yang berisi menu-menu untuk menghitung luas dan keliling dari berbagai bangun lainnya Buatlah program untuk menghitung akar suatu bilangan dengan tipe nilai balik float dan menghitung pangkat suatu bilangan dengan tipe nilai balik double Buatlah program gabungan macam-macam operasi matematika seperti penjumlahan, pengurangan, dsb

Latihan Buatlah program menebak angka dimana angka yang akan ditebak di acak terlebih dulu. Setelah user menebak maka program kemudian menentukan apakah tebakan benar atau salah Buatlah program untuk mencari pangkat sebuah bilangan dengan rekursi Buatlah program untuk menampilkan bilangan fibonacci dengan rekursi Buatlah program untuk menampilkan bilangan fibonacci dengan iterasi biasa