Scope Variable *dalam fungsi Tenia Wahyuningrum, S.Kom., MT

Slides:



Advertisements
Presentasi serupa
POINTER.
Advertisements

SMK TI BALI GLOBAL DENPASAR
assignment unary binary ternary
BAB III – CLASS (1) DIKTAT PBO Oleh: Adam Mukharil B. S.Kom.
Struktur Sugeng Supriyadi, M.Kom.
Bab 4 Percabangan.
Pertemuan 7 Struktur Kendali Percabangan SWITCH Dasar Pemrograman Renni Angreni, S.Kom.
STRUKTUR PERULANGAN (LOOPING)
Algoritma dan Struktur Data
Pertemuan 2 – Manipulasi String PEMINATAN PROGRAMMING & DESAIN GRAFIS SMAK ST. LOUIS 2 SURABAYA POWERED BY PUEDE EDUCATION.
PEMROGRAMAN TERSTRUKTUR
3 Variabel, Konstanta Tipe Data dan dalam Bahasa C/C++ Java dan Bab
Pointer dan Reference As’ad Djamalilleil
Prosedur dan Fungsi.
Komentar, Identifier dan Tipe Data
By; NILA FEBY PUSPITASARI
Pertemuan 17 ENUM & STRUCT Dasar Pemrograman Renni Angreni, S.Kom.
PENGENALAN c++ DAN STRUKTUR DASAR C++
Person 10Person Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’, dan tidak dapat diakses di luar fungsi (a)
ARRAY OF STRUCT Apabila hendak menggunakan 1 struct untuk beberapa kali, ada 2 cara : Deklarasi manual #include typedef struct Mahasiswa { char.
Bab 5 Pengulangan.
Class.
Array variabel Merupakan jenis data yang memresentasikan suatu kumpulan data dengan tipe yang sama dengan menempatkannya dalam bentuk larik Antara satu.
Struktur (Struct).
FUNGSI (Method) Bag.3 Pertemuan 20 Dasar Pemrograman
Pengulangan WHILE.
Pointer Dr. Lily Wulandari.
POINTER (VAR.PENUNJUK)
Pertemuan 22 POINTER Bag.2 Dasar Pemrograman Renni Angreni, S.Kom.
#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.
Jawaban ujian MID. #include int pil; char tny; main(){ menu: cout
Pertemuan 6 IF Bersarang / IF Bertingkat Nested IF Dasar Pemrograman.
Pertemuan 19 FUNGSI (Method) Bag.2 Dasar Pemrograman Renni Angreni, S.Kom.
L/O/G/O Array (larik) Pertemuan 5 Tenia Wahyuningrum ST3 Telkom Purwokerto Algoritma pemrograman.
L/O/G/O Array (larik) Pertemuan 2 Tenia Wahyuningrum ST3 Telkom Purwokerto Algoritma dan Struktur data.
Object Oriented Programming Bag.2 Pertemuan 24 Dasar Pemrograman Renni Angreni, S.Kom.
STRUCT OF ARRAY Apabila hendak menggunakan 1 struct untuk beberapa kali, ada 2 cara : Deklarasi manual #include typedef struct Mahasiswa { char.
WHILE & DO-WHILE Struktur Kendali Percabangan Pertemuan 8
stack ==tumpukan== Tenia wahyuningrum st3 telkom purwokerto
Percabangan Tenia Wahyuningrum, S.Kom., MT.
Pemrograman Terstruktur C++ : Person 21 : Imelda Florensia Jayadi Kasenda Risky Radjamuda : Dosen : Ir. Hasanuddin Sirait, MT Created by. imeldaflorensia91.
Tenia Wahyuningrum, S.Kom., MT
Algoritma dan Pemrograman 2C
Bab 05 Tipe Data dan Mengisi Variabel
Dibuat oleh : Renni Angreni, S.Kom.
Dibuat o/ : Renni Angreni, S.Kom.
PERTEMUAN KE-9 IFII SAINTEC UIN SGD. FUNCTION (FUNGSI) Function (fungsi) adalah kumpulan pernyataan/statement yang diberi nama, dimana nama tersebut dapat.
Teknik Pemrog. Terstruktur 2
Tenia Wahyuningrum pointers Tenia Wahyuningrum
FUNGSI Nyimas Artina Arfansyah, S.Kom, M.Si.
Pertemuan 19 FUNGSI (Method) Bag.2 Dibuat oleh : Renni Angreni, S.Kom. Triana Elizabeth, S.Kom.
STRUKTUR PERULANGAN 2 (LOOPING-2)
Tenia Wahyuningrum, S.Kom., MT
POINTER Bag.2 Pertemuan 22 Dibuat oleh : Renni Angreni, S.Kom. Triana Elizabeth, S.Kom.
Pertemuan ke 3 Algoritma dan struktur data
PERSON 20 TUGAS PEMROGRAMAN TERSTRUKTUR C++ CHERIA LOUPATTY MANAJEMEN INFORMATIKA STMIK / AMIK PARNA RAYA MANADO.
Pemrograman Terstruktur C++ :: Person 10 :: Stefani. P. Tangkuman Yan Makarunggala Supardi Jamali Dosen : Ir. Hasanuddin Sirait, MT STMIK / AMIK PARNA.
Prosedur dan Fungsi Triana Elizabeth, S.Kom.
PERULANGAN (LOOPING).
ARRAY (Array Dua Dimensi) Pertemuan 16 Dasar Pemrograman
C++ static.
PENGULANGAN Oleh : sgo.
ARRAY Oleh : sgo.
Pengantar Pemrograman
FUNGSI.
Class.
FOR Perulangan Menggunakan Pertemuan 10 Dasar Pemrograman
Algoritma Struktur Data
#include using namespace std; int main(){ // deklarasi tipe data variabel string nama; int umur; char jenis_kelamin; // --- proses input --- cout
Transcript presentasi:

Scope Variable *dalam fungsi Tenia Wahyuningrum, S.Kom., MT

Variabel global dan lokal Variabel global dapat dilihat dan diubah oleh semua fungsi dalam program. Suatu variabel lokal hanya dapat dilihat dan dimodifikasi oleh fungsi dimana variabel lokal tersebut didefinisikan

Jika kita mendeklarasikan sebuah variabel diluar fungsi, maka dengan sendirinya kompiler akan menganggap variabel tersebut sebagai variabel global. Variabel global

#include using namespace std; int a; //varibel a adalah variabel global //karena dideklarasikan diluar fungsi int main() //membuat fungsi utama main() { a = 10; // inisialisasi angka a = 10 cout << "nilai variabel a adalah" << a; return 0; }

variabel yang hanya dikenali oleh satu fungsi saja, artinya tidak dikenal oleh lingkungan luar didalam program yang kita buat. Adapun bentuk pendeklarasian variabel yang bersifat lokal ini harus berada dalam lingkup fungsi yang dimaksud. Variabel lokal

#include using namespace std; int main() //fungsi utama main() { float a; // variabel a merupakan variabel lokal // karena disimpan didalam fungsi main() a = 3.14; // inisialisasi angka / pengisian nilai a = 3.14 cout << "nilai variabel a adalah: " << a; return 0; }

Inisialisasi variabel Dalam penulisan program ada saatnya kita harus melakukan inisialisasi nilai terhadap sebuah variabel yang dideklarasikan.

Inisialisasi variabel Artinya jika kita tidak melakukan pengisian nilai terhadap variabel tersebut, maka variabel tersebut akan undefinied atau tidak terdefinisi atau masih kosong.

Inisialisasi variabel #include using namespace std; int main() { int x; // Menampilkan nilai x sebelum dilakukan inisialisasi atau masuk nilai x=0; cout << "Nilai x ketika assigment ke-1 : "<<x<<endl; x=2; cout << "Nilai x ketika assigment ke-2 : "<<x; return 0; }

Variabel Statis Variabel yang menempati ruang memori komputer secara permanen, artinya nilai terahir dari variabel ini akan terus disimpan. Dalam C++, untuk menyatakan variabel statis adalah dengan menggunakan kata kunci static.

Cara deklarasi variabel statis static tipe_data nama_variabel;

Variabel statis Perlu diperhatikan bahwa nilai terakhir yang dihasilkan akan terus tersimpan. Dengan demikian setiap pemanggilan fungsi yang sama mengenai pasti akan memberikan hasil yang berbeda.

Mari kita bandingkan !

Menggunakan variabel biasa

#include using namespace std; int contoh () { int a=0; //mendeklarasikan variabel biasa a=a+10; return a; } int main() { int x,y,z; //mendeklarasikan variabel x,y,z x=contoh(); // memanggil fungsi contoh () untuk pertama y=contoh(); // memanggil fungsi contoh () untuk kedua z=contoh(); // memanggil fungsi contoh () untuk ketiga cout << "Nilai fungsi pemanggilan pertama : " <<x<<endl; cout << "Nilai fungsi pemanggilan pertama : " <<y<<endl; cout << "Nilai fungsi pemanggilan pertama : " <<z<<endl; return 0; }

Menggunakan Variabel Statis

#include using namespace std; int contoh () { static int a=0; //mendeklarasikan variabel statis lokal a=a+10; return a; } int main() { int x,y,z; //mendeklarasikan variabel x,y,z x=contoh(); // memanggil fungsi contoh () untuk pertama y=contoh(); // memanggil fungsi contoh () untuk kedua z=contoh(); // memanggil fungsi contoh () untuk ketiga cout << "Nilai fungsi pemanggilan pertama : " <<x<<endl; cout << "Nilai fungsi pemanggilan pertama : " <<y<<endl; cout << "Nilai fungsi pemanggilan pertama : " <<z<<endl; return 0; }

Pemanggilan fungsi yang pertama kali nilai variabel a masih bernilai 0 (sesuai dengan inisialisasi. Fungsi akan menambahkan nilai tersebut dengan 10, maka nilai yang dikembalikan fungsi contoh() adalah 10.

Karena variabel a adalah variabel statis maka pada saat pemanggilan fungsi yang kedua variabel a menyimpan nilai 10, bukan 0. Dengan demikian pemanggilan fungsi kedua tentu akan menambahkan nilai a dengan nilai 10, sehingga nilai yang dikembalikan adalah 20, begitu seterusnya.

Latihan 1. Which is not a proper prototype? A. int funct(char x, char y); B. double funct(char x) C. void funct(); D. char x();

2. What is the return type of the function with prototype: “int func(char x, float v, double t);” A. char B. int C. float D. double

3. Which of the following is a valid function call (assuming the function exists)? A. funct; B. funct x, y; C. funct(); D. int funct();

4. Which of the following is a complete function? A. int funct(); B. int funct(int x) {return x=x+1;} C. void funct(int) {printf( “Hello” ); D. void funct(x) {printf( “Hello” ); }

Overloading Tenia Wahyuningrum, S.Kom., MT fungsi

Suatu proses menggunakan nama yang sama untuk dua atau lebih fungsi. Setiap definisi ulang dari fungsi yang di overloading harus menggunakan tipe parameter, urutan parameter, atau jumlah parameter yang berbeda.

Jumlah, tipe atau urutan parameter dari suatu fungsi disebut function signature. Jika kita memiliki sejumlah fungsi dengan nama yang sama, compiler akan mengidentifikasi fungsi-fungsi tersebut berdasarkan parameternya.

Signature function a. Jumlah parameter yang dimiliki fungsi Contoh : void add(int); void add(int, float); Pada contoh ini dua fungsi bernama add() ini berbeda karena jumlah parameternya berbeda

c. Urutan tipe data dari parameter fungsi Contoh : void display(int, char) void display(char, int) Pada contoh ini dua fungsi bernama display() ini berbeda karena urutan tipe parameternya

b. Tipe data parameter fungsi Contoh : void display(int) void display(char) Pada contoh ini dua fungsi bernama display() ini berbeda karena tipe parameternya berbeda

#include int square( int x ) { return x * x; } double square( double y ) { return y * y; } int main() { cout << "The square of integer 7 is " << square( 7 ) << "\nThe square of double 7.5 is " << square( 7.5 ) << endl; return 0; }

Algoritma Tenia Wahyuningrum, S.Kom., MT rekursif

Definisi “Fungsi yang dapat memanggil dirinya sendiri”

include using namespace std; int n; void counting () { cout<<n; n=n-1; if (n>0) { counting(); } main() { n=10; counting(); }

Menghitung pangkat sebuah bilangan

#include using namespace std; int pangkat(); int pangkat (int x,int n) { if(n==1) return (x); else return(x * pangkat(x,n-1)); } int main() { int x,y; cout<<"Menghitung x pangkat y "<<endl; cout<<"X : "; cin >> x; cout<<"Y : "; cin >> y; cout<<x<<"Pangkat"<<y<<"=“ <<pangkat(x,y)<<endl; }

TUGAS Buatlah program untuk membuat faktorial bilangan dengan menggunakan rekursi ! Buatlah program untuk membuat jumlah deret bilangan fibonanci dengan rekursi !

Terima Kasih