Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
FUNGSI II
2
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;
3
Contoh - 73
4
Fungsi …….. Contoh 73 PSEUDOCODE : Algoritma fungsi variabel Global KAMUS/DEKLARASI VARIABEL FUNCTION x,y : int FUNCTION Percobaan static x= y= x y print(x) print(y) KAMUS/DEKLARASI VARIABEL ALGORITMA/DESKRIPSI Percobaan3() ; Percobaan3() ; Percobaan3()
5
Contoh : 73 - Algoritma Membuat function Percobaan3() Static x 22
y 66 x++ y++ Mencetak/menampilkan nilai x Mencetak/menampilkan nilai y Memanggil function Percobaan3() Selesai
6
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) { … }
7
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);
8
Contoh - 74
9
Fungsi …….. Contoh 74 PSEUDOCODE : Algoritma fungsi dengan nilai argumen bawaan KAMUS/DEKLARASI VARIABEL FUNCTION x,y, jumlah : int karakter : char FUNCTION Grafik for(i=1; ijumlah; i++) print(karakter) KAMUS/DEKLARASI VARIABEL ALGORITMA/DESKRIPSI Grafik() ; Grafik(‘+’) ; Grafik(‘-’,15) ; Grafik(‘+’,15) ; Grafik()
10
Algoritma .....?????
11
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; }
12
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
13
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
14
Contoh -75
15
Algoritma .....????? Pseudocode ...?????
16
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
17
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! 3! = 3 x 2 x 1! 4! = 4 x 3 x 2 x 1! … n! = n x (n-1)!
18
Contoh - 76
19
Algoritma .....????? Pseudocode ...?????
20
Contoh - 77
21
Algoritma .....????? Pseudocode ...?????
22
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);
23
String Sebagai Argumen Fungsi
Argumen string dinyatakan sebagai pointer yang menunjuk ke tipe char Akan dibahas pada bagian pointer
24
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
25
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
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.