Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi.

Presentasi serupa


Presentasi berjudul: "Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi."— Transcript presentasi:

1 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi

2 Pemrograman Berorientasi Objek Rachmansyah, S.Kom 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.

3 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi fungsi main() fungsi c() fungsi c2() fungsi b() fungsi c3() fungsi a() fungsi c1()

4 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi void main() {...... fungsi();... fungsi();... } void fungsi(); {...... } 1 2 3 4 5 6 7

5 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi #include void garis() { int i; for(i=1;i<=10;i++) cout<<‘-’; cout<<endl; } void main() { garis(); cout<<“STMIK MDP”; garis(); } ---------- STMIK MDP ----------

6 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi 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 (;)

7 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi Contoh pendeklarasian prototype: (1) long kuardrat(long l); (2) int maks3(int a,int b,int c); (3) double maks(double x,double y); (4) 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.

8 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi 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).

9 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi #include void garis(); void main() { garis(); cout<<“LATIHAN”; garis(); } void garis() { int i; for(i=1;i<=10;i++) cout<<‘-’; cout<<endl; } #include void garis(); void main() { garis(); cout<<“LATIHAN”; garis(); } void garis() { int i; for(i=1;i<=10;i++) cout<<‘-’; cout<<endl; } prototype fungsi garis

10 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi nama fungsi Defenisi Fungsi Contoh: long kuadrat(long m) { return (m * m); } parameter tipe parameter menentukan nilai balik tipe nilai balik

11 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi 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.

12 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi 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;

13 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi 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: 1. Variabel otomatis 2. Variabel eksternal 3. Variabel statis

14 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi Variabel Otomatis Variabel yang didefenisikan di dalam suatu fungsi berlaku sebagai variabel lokal. Artinya variabel tersebut hanya dikenal di dalam fungsi tempat variabel didefenisikan.

15 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi #include void alpha(); // prototipe fungsi void main() { int x = 22; double y = 2.22; cout<<“Pada main() x = “<<x<<“ y = “<<y; alpha(); // panggil fungsi alpha() cout<<“Pada main() x = “<<x<<“ y = “<<y; } void alpha() { int x = 20; double y = 3.14; cout<<“Pada alpha() x = “<<x<<“ y = “<<y; }

16 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi 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.

17 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi #include int x = 550; void tambah(); // prototipe fungsi void main() { cout<<x<<endl; tambah(); cout<<x<<endl; tambah(); cout<<x<<endl; } void tambah() { x++ }

18 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi 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.

19 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi 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;... }

20 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi 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.

21 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi #include int x = 50; // variabel eksternal void main() { double x; // variabel lokal x = 5.678901234; cout<< x <<“ “<< ::x <<endl; ::x = 77; cout<< x <<“ “<< ::x <<endl; } 5.6789 50 5.6789 77

22 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi Program tersebut memperlihatkan bahwa sekalipun dalam suatu fungsi terdapat variabel yang sama namanya dengan variabel eksternal, kedua variabel tersebut tetap dapat diakses.

23 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi 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:

24 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi 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);

25 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi #include 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.

26 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi 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:

27 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi #include void tulis(int jum = 1); void main() { tulis(); } void tulis(int jum) { for (int i = 0; i < jum;i++) cout<<“C++”<<endl; cout<<“Selesai”; } #include 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);

28 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi 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.

29 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi #include void main() { int i; int &x = i; // deklarasi referensi i = 10; cout<<“i = “<< i << endl; cout<<“x = “<< x << endl; r = 55; cout<<“i = “<< i << endl; cout<<“x = “<< x << endl; } i = 10 x = 10 i = 55 x = 55

30 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi 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.

31 Pemrograman Berorientasi Objek Rachmansyah, S.Kom 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.

32 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi #include inline int jumlah(int x, int y); void main() { clrscr(); for (int i=1;i<100;i++) cout<<i<<“. “<<jumlah(i,2*i)<<endl; } 1.3 2.6 3.9 4.12 5.15 6.18...

33 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi 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.

34 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi int kuadrat(int i) { return (i * i); } long kuadrat(long l) { return (l * l); } double kuadrat(double d) { return (d * d); }

35 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi 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); }

36 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi #include 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); }

37 Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi #include void tampil(int i); void tampil(int i,char x); void main() { tampil(5); tampil(5,’a’); } void tampil(int i); { cout << i <<endl; } void tampil(int i,char x); { cout<< i <<“ “<< x <<endl; } 5 5 a


Download ppt "Pemrograman Berorientasi Objek Rachmansyah, S.Kom Fungsi."

Presentasi serupa


Iklan oleh Google