Pengertian FUNGSI.

Slides:



Advertisements
Presentasi serupa
Fungsi Konsep Pemrograman.
Advertisements

Pemrograman Berorientasi Objek (Project)
Lingkup Variabel Kelas Penyimpanan Rekursi
PEMROGRAMAN SISTEM PERNYATAAN DASAR PERULANGAN Pertemuan V
FUNGSI Deklarasi dan Definisi fungsi Void dan Non-void Fungsi main.
STRUKTUR DATA (5) Pointer dan Function
Modular Programming Slamet Kurniawan, S.Kom.
SUB-PROGRAM/FUNGSI/ PROSEDUR
Fungsi (lanjutan) Pertemuan ke-9 Bahasa C.
Modul 11 – Hendi Hermawan - 1
Fungsi (Bagian 1) Abdul Haris, S.Kom.
3 Variabel, Konstanta Tipe Data dan dalam Bahasa C/C++ Java dan Bab
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)
STRUKTUR DATA (5) Pointer dan Function
Pointer Memory Dinamic.
Fungsi.
STRUKTUR DATA Pointer dan Function
Function User Function.
Algoritma dan Pemrograman 2C
Dibuat oleh : Renni Angreni, S.Kom.
FUNGSI.
PERTEMUAN KE-9 IFII SAINTEC UIN SGD. FUNCTION (FUNGSI) Function (fungsi) adalah kumpulan pernyataan/statement yang diberi nama, dimana nama tersebut dapat.
PEMROGRAMAN SISTEM PERNYATAAN DASAR FUNGSI Pertemuan VI
FUNGSI Nyimas Artina Arfansyah, S.Kom, M.Si.
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
PERSON 20 TUGAS PEMROGRAMAN TERSTRUKTUR C++ CHERIA LOUPATTY MANAJEMEN INFORMATIKA STMIK / AMIK PARNA RAYA MANADO.
Fungsi dan Prosedur.
Prosedur dan Fungsi Triana Elizabeth, S.Kom.
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.
FUNCTION Fungsi (Function) merupakan sekumpulan instruksi yang membentuk satu unit serta memiliki nama. Fungsi digunakan.
FUNGSI.
DASAR BAHASA PEMROGRAMAN BORLAND C++
FUNGSI.
I Gusti Agung Made Wirautama, S.Kom
FUNGSI.
Prosedur dan fungsi By Serdiwansyah N. A..
Algoritma dan Struktur Data 1 pertemuan 9
Pemrograman Visual I Outline: Method Method Void & fungsi
Prosedur dalam C++.
5. Fungsi S. Indriani L, M.T 5. Fungsi.
PEMROGRAMAN SISTEM FUNGSI
2. Pengenalan Program C++
MODULAR (FUNGSI)
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++.
PERTEMUAN 10 Algoritma Presented by : Sity Aisyah, M.Kom
Castaka agus sugiato, M.Kom., M.CS
As’ad Djamalilleil Function (Fungsi) As’ad Djamalilleil
FUNGSI.
QUIS Algoritma Pemrograman I
Pemograman Berorientasi Object Sistem Informasi Semster III
Variabel dan memori.
IT234 ALGORITMA DAN STRUKTUR DATA
MODULAR (FUNGSI)
TEL 2112 Dasar Komputer & Pemograman Pemrograman Modular
Generic Data Type Pertemuan 25
Pemograman Berorientasi Object Sistem Informasi Semster III
FUNGSI II.
Materi 9 Pembahasan CLASS Dalam C++
Pemrograman Terstruktur
PROCEDURE DAN FUNGSI.
Teknik Pemrog. Terstuktur 2
PERTEMUAN V F U N G S I Tujuan membuat suatu fungsi
Teknik Pemrog. Terstruktur 2
STRUKTUR KONTROL PERCABANGAN DAN STRUKTUR KONTROL LOMPATAN
Transcript presentasi:

Pengertian FUNGSI

Sebuah fungsi berisi sejumlah pernyataan yang dikemas dalam sebuah nama. Nama ini selanjutnya dapat dipanggil beberapa kali di beberapa tempat dalam program. Tujuan pembuatan fungsi: Mempermudah dalam pengembangan program. Hal ini merupakan kunci dari pemrograman terstruktur. Menghemat ukuran program. Manfaat ini terlihat jika ada beberapa deretan instruksi yang sama digunakan di beberapa tempat di program.

fungsi main() fungsi a() fungsi b() fungsi c() fungsi c1() fungsi c2() fungsi c3()

void main() { ... ... void fungsi(); { ... fungsi(); ... } } 1 2 3 5 6 4 7

#include <iostream.h> void garis() { int i; for(i=1;i<=10;i++) cout<<‘-’; cout<<endl; } void main() { garis(); cout<<“STMIK MDP”; garis(); ---------- STMIK MDP

Prototype fungsi. Selain pembuatan fungsi dengan cara sebelumnya, umumnya program C++ dibuat dalam bentuk prototype fungsi. Prototype ini berupa: nama fungsi tipe nilai balik fungsi jumlah dan tipe parameter dan diakhiri dengan titik-kome (;)

Contoh pendeklarasian prototype: long kuardrat(long l); int maks3(int a,int b,int c); double maks(double x,double y); void garis(); Pada contoh (1), fungsi kuadrat() mempunyai parameter bertipe long dan nilai balik juga berupa long. Pada contoh (2), fungsi maks3() memiliki tiga parameter yang masing-masing bertipe int dan nilai balik juga bertipe int.

Pada contoh (3) fungsi maks() mempunyai dua parameter dan masing-masing bertipe double. Pada contoh (4) fungsi garsi() tidak memiliki parameter dan juga tidak memiliki nilai balik (void).

#include <iostream.h> void garis(); void main() { garis(); cout<<“LATIHAN”; garis(); } void garis() { int i; for(i=1;i<=10;i++) cout<<‘-’; cout<<endl; prototype fungsi garis

Defenisi Fungsi Contoh: long kuadrat(long m) { return (m * m); } nama fungsi tipe parameter parameter menentukan nilai balik tipe nilai balik

Fungsi tanpa nilai balik Ada kalanya diinginkan sebuah fungsi tanpa nilai balik. Hal ini sama seperti prosedur pada bahasa pemrograman Pascal. Untuk hal ini tipe nilai balik sebuah fungsi yang diperlukan adalah void.

Contoh: void judul() { cout<<“LATIHAN \n”; cout<<“PBO \n”; } Pada contoh di atas tidak ada pernyataan return karena fungsi ini tidak mempunyai nilai balik. Pernyataan return masih bisa dipakai dengan bentuk: return;

Lingkup variabel Lingkup variabel menentukan keberadaan suatu variabel dalam fungsi. Ada variabel yang hanya dikenal pada suatu fungsi dan tidak dikenal pada fungsi lainnya. Lingkup variabel yaitu: Variabel otomatis Variabel eksternal Variabel statis

Variabel Otomatis Variabel yang didefenisikan di dalam suatu fungsi berlaku sebagai variabel lokal. Artinya variabel tersebut hanya dikenal di dalam fungsi tempat variabel didefenisikan.

#include <iostream.h> #include <conio.h> void alpha(); // prototipe fungsi void main() { int x = 22; double y = 2.22; cout<<“Pada main() x = “<<x<<“ y = “<<y; alpha(); // panggil fungsi alpha() } void alpha() { int x = 20; double y = 3.14; cout<<“Pada alpha() x = “<<x<<“ y = “<<y;

Variabel Eksternal Variabel eksternal merupakan kebalikan dari variabel otomatis. Variabel eksternal adalah variabel yang didefenisikan di luar fungsi manapun. Variabel ini dikenal juga dengan variabel global, karena dikenal oleh semua fungsi.

#include <iostream.h> #include <conio.h> int x = 550; void tambah(); // prototipe fungsi void main() { cout<<x<<endl; tambah(); cout<<x<<endl; } void tambah() { x++

Variabel Statis Baik variabel eksternal maupun variabel otomatis dapat berkedudukan sebagai variabel statis. Suatu variabel statis mempunyai sifat: Jika variabel otomatis berdiri sebagai variabel statis, maka: Variabel tetap hanya dapat diakses pada fungsi yang mendefenisikannya. Variabel tidak hilang saat eksekusi fungsi berakhir. Nilainya akan tetap dipertahankan, sehingga akan dikenali pada pemanggilan fungsi tahap berikutnya. Inisialisai oleh program akan dikenali sekali saja selama program dijalankan. Jika tidak ada inisialisai secara eksplisit, variabel diisi dengan nol.

Jika variabel eksternal dijadikan sebagai variabel statis, variabel ini dapat diakses oleh semua file yang didefenisikan pada file yang sama dengan variabel eksternal tersebut Variabel statis diperoleh dengan menambahkan kata-kata static di depan tipe data variabel. static int waterloo; void abba() { ... static int mania; ... }

Operator Resolusi Lingkup Pada C++ terdapat operator resolusi lingkup berupa dua buah tanda titik-dua (::). Kegunaannya adalah untuk mengakses variabel yang didefenisikan di luar fungsi. Hal ini diperlukan jika di dalam suatu fungsi yang hendak mengakses variabel tersebut terdapat variabel lokal dengan nama yang sama.

5.6789 50 5.6789 77 #include <iostream.h> #include <conio.h> int x = 50; // variabel eksternal void main() { double x; // variabel lokal x = 5.678901234; cout<< x <<“ “<< ::x <<endl; ::x = 77; } 5.6789 50 5.6789 77

Program tersebut memperlihatkan bahwa sekalipun dalam suatu fungsi terdapat variabel yang sama namanya dengan variabel eksternal, kedua variabel tersebut tetap dapat diakses.

Nilai Bawaan untuk Parameter Fungsi Salah satu keistimewaan C++ adalah adanya kemampuan untuk menyetel nilai bawaan. Dengan kemampuan tersebut, sebuah fungsi dapat dipanggil tanpa menyertakan parameternya walaupun dalam pendekalarasin fungsinya memiliki parameter. Perhatikan contoh berikut:

Jika ingin menampilkan 10 kali C++ maka ditulis: tulis(10); void tulis(int jum) { for (int i = 0; i < jum;i++) cout<<“C++”<<endl; cout<<“Selesai”; } Fungsi di atas akan menampilkan tulisan C++ sebanyak parameter jum yang disertakan waktu memanggil fungsi. Jika ingin menampilkan 10 kali C++ maka ditulis: tulis(10); Jika ingin menampilkan 1 tulisan C++ maka ditulis: tulis(1);

#include <iostream.h> #include <conio.h> void tulis(int jum); void main() { tulis(); // letak kesalahan } void tulis(int jum) { for (int i = 0; i < jum;i++) cout<<“C++”<<endl; cout<<“Selesai”; Perogram di atas terdapat kesalahan karena adanya pemanggilan fungsi yang salah. Seharusnya pemanggilan fungsi menyertakan sebuah nilai parameter.

Untuk menghindari hal itu, parameter fungsi dapat diatur dengan memberiakn nilai bawaan terhadap parameter. Caranya adalah dengan merubah bentuk prototipe dari fungsi menjadi sebagai berikut: void tulis(int jum = 1); Perubahan hanya dilakukan terhadap prototipe, untuk mendeklarasian fungsi tidak dilakukan perubahan. Perhatikan contoh berikut:

#include <iostream.h> #include <conio.h> void tulis(int jum = 1); void main() { tulis(); } void tulis(int jum) { for (int i = 0; i < jum;i++) cout<<“C++”<<endl; cout<<“Selesai”; Pemanggilan tulis(); diperlakuakan sama dengan tulis(1);

Referensi Pada C++ referensi digunakan untuk memberikan nama alias dari variabel. Bentuk pendeklarasiannya: type &ref = variabel; Contoh : int &r = i; Perubahan terhadap nilai i juga akan merubah nilai r, begitu juga sebaliknya, perubahan terhadap nilai r akan berpengaruh terhadap nilai i.

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

Inline Function Untuk membuat program yang terstruktur diperlukan adanya fungsi. Tapi akan membuat program lebih lambat karena data pada fungsi harus diletakkan pada stack dan setelah fungsi selesai dijalankan, maka stack tersebut harus dikosongkan kembali. Hal inilah yang memperlambat proses program. Masalah tersebut dapat diatasi dengan inline function. Sebuah inline function dibentuk dengan cukup menambahkan kata-kata inline di depan tipe nilai balik fungsi.

Contoh penulisan: inline int jumlah(int x, int y) { return (x + y); } Inline disarangkan dipakai pada fungsi yang sering dipakai dan ukurannya kecil (satu atau dua perintah), terutama jika dilibatkan dalam perulangan.

#include <iostream.h> #include <conio.h> inline int jumlah(int x, int y); void main() { clrscr(); for (int i=1;i<100;i++) cout<<i<<“. “<<jumlah(i,2*i)<<endl; } 3 6 9 12 15 18 ...

Fungsi Overloading Fungsi overloading merupakan kemampuan C++ yang memungkinkan sebuah fungsi dapat menerima bermacam-macam tipe dan memberikan nilai balik yang bervariasi juga. Contoh berikut adalah tiga buah fungsi yang overloading.

int kuadrat(int i) { return (i * i); } long kuadrat(long l) { return (l * l); double kuadrat(double d) { return (d * d);

Kemudian C++ dapat memilih fungsi yang tepat dengan memeriksa tipe parameter. Jadi jika ada pemanggilan fungsi kuadrat() sebagai berikut: x = kuadrat(7.1); maka C++ akan memilih fungsi: double kuadrat(double d) { return (d * d); }

#include <iostream.h> #include <conio.h> int kuadrat(int i); long kuadrat(long l); double kuadrat(double d); void main() { cout<< kuadrat(2) <<andl; 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);

5 5 a #include <iostream.h> #include <conio.h> void tampil(int i); void tampil(int i,char x); void main() { tampil(5); tampil(5,’a’); } { cout << i <<endl; { cout<< i <<“ “<< x <<endl; 5 5 a