PEMROGRAMAN SISTEM PERNYATAAN DASAR FUNGSI Pertemuan VI

Slides:



Advertisements
Presentasi serupa
ARRAY.
Advertisements

Mata Kuliah: Bahasa C++ Harni Kusniyati
PEMROGRAMAN TERSTRUKTUR
Introduction to Algorithm evaluation Soal Matrikulasi Buka Buku
Lingkup Variabel Kelas Penyimpanan Rekursi
[Kristanto:2009] perintah if berguna untuk memilih satu dari 2 atau lebih alternatif jawaban yang tersedia. Jika perintah if tersebut terdiri dari 2 atau.
PEMROGRAMAN SISTEM PERNYATAAN DASAR PERULANGAN Pertemuan V
SMK TI BALI GLOBAL DENPASAR
Fungsi Friend Dalam bahasa C++ kita dapat membuat suatu fungsi yang berada di luar kelas (class) dan dapat meng-ak-ses bagian private suatu kelas. Fungsi.
STRUKTUR KONTROL PERCABANGAN DAN STRUKTUR KONTROL LOMPATAN
SUB-PROGRAM/FUNGSI/ PROSEDUR
Fungsi (lanjutan) Pertemuan ke-9 Bahasa C.
Modul 11 – Hendi Hermawan - 1
Fungsi (Bagian 1) Abdul Haris, S.Kom.
ARRAY (Lanjutan).
STRUKTUR PERULANGAN (LOOPING)
Dasar Pemrograman MODUL 07 PERULANGAN.
Pemrograman Terstruktur
Konsep Pemrograman Contoh Program C # include int main() { printf("Hello World From About\n"); getche (); return 0; }
PEMROGRAMAN TERSTRUKTUR
3 Variabel, Konstanta Tipe Data dan dalam Bahasa C/C++ Java dan Bab
Pemrograman Terstruktur
Komentar, Identifier dan Tipe Data
Pembahasan soal-soal pemrograman terstruktur
By; NILA FEBY PUSPITASARI
PENGENALAN c++ DAN STRUKTUR DASAR C++
Perintah Perulangan Pertemuan ::
Pemrograman Terstruktur
Person 10Person Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’, dan tidak dapat diakses di luar fungsi (a)
PEMROGRAMAN SISTEM PERNYATAAN DASAR PILIHAN Pertemuan V
Pemrograman Dasar Fungsi.
ARRAY OF STRUCT Apabila hendak menggunakan 1 struct untuk beberapa kali, ada 2 cara : Deklarasi manual #include typedef struct Mahasiswa { char.
Fungsi.
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
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.
Function User Function.
P ERULANGA N K OMPLEK S. BREAK Digunakan untuk menghentikan suatu proses perulangan yang sedang terjadi. Biasanya dikarenakan oleh suatu kondisi Break.
STRUCT OF ARRAY Apabila hendak menggunakan 1 struct untuk beberapa kali, ada 2 cara : Deklarasi manual #include typedef struct Mahasiswa { char.
Algoritma dan Pemrograman 2C
Bab 05 Tipe Data dan Mengisi Variabel
Dibuat oleh : 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.
Pointer (Part 1).
Teknik Pemrog. Terstuktur 2
FUNGSI Nyimas Artina Arfansyah, S.Kom, M.Si.
STRUKTUR PERULANGAN 2 (LOOPING-2)
STRUKTUR DATA DIMENSIONAL ARRAY
contoh aplikasi sederhana yang terpaksa menggunakan
Fungsi, Array dan String
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.
Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi.
FUNCTION Fungsi (Function) merupakan sekumpulan instruksi yang membentuk satu unit serta memiliki nama. Fungsi digunakan.
Pengertian FUNGSI.
Statement Control (if dan switch)
5. Fungsi S. Indriani L, M.T 5. Fungsi.
PEMROGRAMAN SISTEM FUNGSI
Person 8.
FUNGSI (Method) Bag.1 Pertemuan 18 Dasar Pemrograman
FUNCTION Fungsi (Function) merupakan sekumpulan instruksi yang membentuk satu unit serta memiliki nama. Fungsi digunakan.
PERNYATAAN DASAR DALAM C++.
Subrutin.
FUNGSI.
Pemograman Berorientasi Object Sistem Informasi Semster III
Subrutin Nurdiansah PTIK 09 UNM.
Teknik Pemrog. Terstruktur 2
Transcript presentasi:

PEMROGRAMAN SISTEM PERNYATAAN DASAR FUNGSI Pertemuan VI

Definisi Fungsi Setiap fungsi yang dipanggil didalam program harus didefinisikan. Letaknya dapat dimana saja

Contoh // Prototipe funsi int kuadrat (int i); ------------------------------------- // Definisi fungsi int kuadrat(int i) { return(i * i); } Pernyataan return di dalam fungsi digunakan untuk memeberikan nilai balik fungsi. Pada contoh diatas, fungsi kuadrat() memberikan nilai balik berupa nilai kuadrat dari argumen.

Contoh #include <iostream.h> int kuadrat(int i); void main () { for(int bil = 200;bil < 2000; bil+= 200) cout <<bil<<" "<<kuadrat(bil)<<endl; } int kuadrat(int i) return (i*i);

200 40000 400 160000 600 360000 800 640000 1000 1000000 1200 1440000 1400 1960000 1600 2560000 1800 3240000

Fungsi tanpa Nilai Balik Adakalanya suatu fungsi tidak perlu memiliki nilai balik. Misalnya fungsi yang hanya dimaksudkan untuk menampilkan suatu keterangan saja. pada funsi seperti ini, tipe nilai balik fungsi yang diperlukan adalah void.

Contoh void tampilkan_judul () { cout << “PT. Aria perkasa Manunggal” << endl; cout << “Jl. Kertadipura Tenggara 27R” << endl; cout << “Kudus” << endl; } pada contoh funsi diatas, tidak ada pernyataan return, mengingat fungsi tidak memiliki nilai balik. Namun penggunaan pernyataan return secara eksplisit juga diperkenankan. Dalam hal ini digunakan berbentuk : return saja.

Contoh void tampilkan_judul () { cout << “PT. Aria perkasa Manunggal” << endl; cout << “Jl. Kertadipura Tenggara 27R” << endl; cout << “Kudus” << endl; return; }

Lingkup variabel Lingkup variabel menentukan keberadaan suatu variabel tertentu dalam fungsi. Ada variabel yang hanya dikenal di suatu fungsi dan tidak dikenal pada fungsi lain. Namun ada juga variabel yang dapat diakses oleh semua fungsi.

Variabel Otomatis Variabel yang didefinisikan di dalam suatu fungsi berlaku sebagai variabel lokal bagi fungsi. Artinya, variabel tersebut hanya dikenal didalam fungsi tempat variabel didefinisikan

Contoh void kuadrat(); void main () { int i=20; cout<<"pada main = "<<i<<endl; kuadrat(); } void kuadrat() int i = 20; i = i * i; cout<<"pada kuadrat = "<<i<<endl;

Tampak bahwa perubahan i pada kuadrat() tidak mempengaruhi variabel bernama sama pada main(). Karena variabel tersebut bersifat lokal bagi masing-masing fungsi yang mendefinisikannya. Variabel i pada fungsi kuadrat() yang disebut sebagai variabel otomatis.

Variabel Eksternal Variabel eksternal adalah variabel yang didefinisikan diluar fungsi manapun. Variabel ini dikenal juga sebagai variabel global, sebab variabel ini dikenal disemua fungsi.

#include <iostream.h> int i = 20; void kuadrat(); void main () { cout<<"pada main = "<<i<<endl; kuadrat(); } void kuadrat() i = i * i; cout<<"pada kuadrat = "<<i<<endl;

Guna memeperjelas suatu variabel didalam suatu fungsi yang menggunakannya dapat mendeklarasikan (bukan mendefinisikan, karena tidak ada pengalokasian memori) dengan menambahkan kata extern didepan tipa data.

#include <iostream.h> int i = 20; void kuadrat(); void main () { cout<<"pada main = "<<i<<endl; kuadrat(); } void kuadrat() extern i; i = i * i; cout<<"pada kuadrat = "<<i<<endl;

Variabel Statis Variabel eksternal maupun otomatis dapat berkedudukan sebagai variabel statis. Suatu variabel statis mempunyai sifat : Jika variabel lokal berdiri sebagai variabel satatis, maka : Variabel tetap hanya dapat diakses pada fungsi yang mendefinisikannya Variabel tidak hilang saat eksekusi fungsi berakhir Inisialisasi oleh pemrogram akan dilakukan sekali saja selama program dijalankan. Jika variabel eksternal dijadikan sebagai variabel statis,variabel ini dapat diakses oleh semua file yang didefinisikan pada file yang sama dengan variabel eksternal tersebut.

#include <iostream.h> void kuadrat(); void main () { int i = 20; kuadrat(); cout<<"pada main = "<<i<<endl; } void kuadrat() static int i = 2; i = i * i; cout<<"pada kuadrat = "<<i<<endl;

Berdasarkan hasil diatas, terlihat bahwa variabel statis mana pada fungsi kuadrat(); hanya diinisialisasi (bernilai 2) sekali saja. Kemudian setiap kali kuadrat(); dipanggil nilai variabel tersebut dinaikkan sebesar i = i * i.

Operator Resolusi Lingkup Pada C++ terdapat operator dua buah tanda titik-dua ( :: ). Operator ini disebut operator resolusi lingkup (scope resolution). Kegunaanya untuk mengakses variabel yang didefinisikan diluar suatu fungsi.

#include <iostream.h> int i = 20; void main () { int i = 10; cout<<"i = "<<i<<' '<<::i<<endl; ::i = 50; }

Program diatas mengungkapkan bahwa sekalipun didalam suatu fungsi terdapat variabel yang namanya sama dengan nama variabel eksternal, kedua variabel tersebut tetap bisa diakses.

Nilai Bawaan Untuk Nilai Fungsi Salah satu keistimewaan C++ adalah adanya kemampuan untuk menyetel nilai bawaan (default) argumen fungsi. Argumen-argumen yang mempunyai nilai bawaan nantinya dapat tidak disertakan didalam pemanggilan fungsi dan dengan sendirinya C++ akan menggunakan nilai bawaan dari argumen yang tidak disertakan.

#include <iostream.h> void tulis(int jum); // Prototipe fungsi void main() { tulis(1); // Untuk menuliskan sebuah tulisan C++ } void tulis(int jum); for (int i = 0; i < jum; i ++) cout << “ C++ “ << endl; cout << “ Selesai “ << endl;

#include <iostream.h> void tulis(int jum = 1); // Prototipe fungsi void main() { tulis(); // Argumen tidak perlu disebutkan } void tulis(int jum); for (int i = 0; i < jum; i ++) cout << “ C++ “ << endl; cout << “ Seleseai “ << endl;

Referensi Referensi digunakan untuk memberikan nama alias dari variabel. Bentuk pendeklarasiannya : Int &ref = nama_variable ; Tanda & mengawali nama referensi. Setelah pendeklarasian seperti diatas, ref menjadi nama alias dari nama_variabel. Penggubahan nilai terhadap nama_variabel dapat dilakukan melalui nama_variabel itu sendiri atau melalui referensi ref, sebagaimana dapat dilihat pada contoh :

#include <iostream.h> void main() { int i ; int &r = i; // Deklarasi referensi i =10; cout << “i = “ << i << endl; cout << “ r = “ << r << endl; r = 55; }

#include <iostream.h> void main() { int i = 55; int &r = i; // Referensi cout << “i = “ << i << “ r = “ << r <<endl; i ++ ; cout << “ i = ” << i <<“ r = “ << r << endl; r ++ ; cout << “i = “ << i << “ r = “ << r << endl; }

Inline Function Inline function dengan cukup menyisipkan kata-kata inline didepan tipe nilai balik fungsi dalam pendefinisian fungsi. Contoh : inline jumlah (int x, int y) { return(x + y); } inline function disarankan dipakai pada fungsi yang sering dipanggil dan ukurannya kecil (terdiri satu atau dua pernyataan), terutama jika dilibatkan pada pernyataan pengulangan proses (while, for dan do-while).

Misalnya pada bentuk seperti berikut : for (int i = 1; i < 100; i++) cout << i << “.” << jumlah (i, 2 * i) << endl; jika fungsi jumlah () tidak ditulis sebagai inline function, proses tersebut akan menjadi relatif lambat.

#include <iostream.h> // Definisi fungsi sebagai inline inline int jumlah(int x, int y) { return(x + y ); } void main() for (int i = 1; i < 100; i ++ ) cout << i << “ . “ << jumlah(i, 2 * i) << endl;

Function Overloading Function Overloading atau Overloading terhadap fungsi memungkinkan sebuah fungsi dapat menerima bermacam-macam tipe dan memberikan nilai balik yang bervariasi pula.

#include <iostream.h> int kuadrat (int i); long kuadrat(long l); double kuadrat(double d); void main() { cout << kuadrat(2) << endl; cout << kuadrat(66666) << endl; cout << kuadrat(1.2) << endl; } int kuadrat (int i) return(i * i); long kuadrat (long l) return(l * l); double kuadrat (double d) return(d * d);

Rekursi Fungsi dalam C++ dapat dipakai secara rekursi, artinya suatu fungsi dapat memanggil fungsi yang merupakan dirinya sendiri. Penerapan rekursi diantaranya untuk menghitung nilai : Xn Dengan n merupakan bilangan bulat positif. Solusi dari persoalan ini berupa : Jika n = 1 maka Xn = X Selain itu : Xn = X * Xn – 1

# include <iostream.h> long int pangkat ( int x, int n); void main() { int x, y; cout << “ Menghitung x ^ y “<< endl; cout << “ x = “ ; cin >> x ; cout << “ y = “ ; cin >> y ; cout << x << “ ^ “ << y << endl; << pangkat(x, y) << endl; } long int pangkat(int x, int n) if (n = = 1 ) return(x); else return(x * pangkat(x, n – 1));