Jumat, 20 Mei 2016

Sub Program / Fungsi








Salah satu ciri khas dari pemrograman yang terstruktur adalah pemrograman yang menitikberatkan pada pemecahan masalah yang kompleks menjadi masalah yang sedehana yang disebut modul. Program yang terdiri dari modul-modul atau subprogram-subprogram disebut program yang modular. Subprogram sering disebut sebagai fungsi.
Ada 2 tipe fungsi:
1. void
Void yaitu fungsi tanpa return value atau tanpa pengembalian nilai.
2. non-void (bukan void)
Non-void yaitu fungsi dengan return value atau pengembalian nilai. Contohnya int, floar, char, dan lain-lain.

Petunjuk membuat fungsi:
  1. Agar lebih mudah anggap bahwa membuat fungsi sama dengan membuat program.
  2. Tentukan variable input dan variable outputnya.
  3. Jika jumlah variable output sama dengan  satu maka
kita bisa buat dalam fungsi yang tipenya void maupun bukan void.
                else
tipe fungsi harus void


Fungsi tipe non-void :
a.       tipe fungsi sama dengan tipe output
b.      parameter formal (parameter value) fungsi adalah variable inputnya.
c.       Instruksi fungsi = instruksi program dengan menghilangkan instruksi untuk menginputkan data pada variable input, dan instruksi untuk menampilkan hasil dari variable output.
d.      Cek kembali apakah masih ada variable yang belum dideklarasikan. Jika ada, maka deklarasikan sebagai variable local.
e.      Diakhiri dengan instruksi :
                return var_output;

Fungsi tipe void:
a.       tipe fungsinya void
b.      Parameter formal fungsi ada dua macam:
·         parameter value, adalah variable inputnya.
·         Parameter reference/address, adalah variable outputnya
c.       Instruksi fungsi = instruksi program dengan menghilangkan instruksi untuk menginputkan data pada variable input, dan instruksi untuk menampilkan hasil dari variable output.

Pemanggilan fungsi:
1.       Fungsi yang tipenya void
nama_fungsi(parameter_aktual);
2.       Fungsi yang tipenya bukan void
nama_var = nama_fungsi(parameter_aktual);
nama_var harus dideklarasikan dulu, tipenya harus sama dengan tipe output fungsi

Contoh:
Program mencari luas persegi panjang.
Dapat dibuat fungsi dengan return value maupun tanpa return value karena outputnya hanya ada satu. Jika outputnya ada lebih dari satu variabel maka hanya dapat dibuat dengan memakai fungsi tanpa return value, tipenya void.

Fungsi dengan Return Value

  • Coding Program



  • Output Program



Fungsi tanpa Return Value (bertipe void)

  • Coding Program



  • Output Program






Variabel Lokal dan Variabel Global

Variabel global dapat diakses oleh semua fungsi dalam program. Variabel global sangat berbahaya karena secara tidak sengaja dapat termodifikasi oleh instruksi-instruksi dalam programnya sehingga pemakaian variabel global ini harus seminimal mungkin. Deklarasinya adalah sebelum deklarasi fungsi.

Sedangkan variabel lokal hanya dapat diakses oleh fungsi dimana variabel lokal tersebut didefinisikan sehingga scope dari variabel lokal tersebut teriindungi. Variabel lokal tidak dapat diubah atau bahkan dihapus oleh fungsi-fungsi yang lain. Deklarasinya adalah di dalam fungsi yang menggunakannya.

#include <iostream.h>
#include <conio.h>
int a;     --> ini adalah variable global

main() {
   int b; --> ini adalah variable lokal


Contoh:

  • Coding Program



  • Output Program



Pada contoh tersebut, a merupakan variabel global. Sehingga dapat dikenali di semua bagian program. Akibatnya, jika ada pernyatan yang mengubah nilai a, maka tentunya nilainya akan menyesuaikan.



Variabel Dinamis dan Variabel Statis
Istilah automatik dan statik menjelaskan apa yang terjadi pada suatu variabel lokal dalam suatu fungsi sesaat setelah fungsi ini selesai dipanggil dan eksekusi program kembali ke prosedur yang memanggil.
Default dari variabel lokal dalam suatu fungsi adalah automatik artinya variabel lokal tersebut dihapus pada saat fungsi selesai dipanggil.

Untuk mendefinisikan suatu variabel automatik, tambahkan awalan auto pada deflnisi variabel tersebut. Karena default dari variabel lokal adalah automatik maka awalan auto ini optional, jadi boleh dihilangkan
Kebalikan dari variabel automatik adalah variabel statik yaitu tidak dihapus pada saat fungsi berakhir. Semua variabel global adalah statik.

Variabel lokal yang sifatnya automatic dapat diubah menjadi statis. Untuk membuat suatu variabel lokal statis, tambahkan awalan static pada definisi variabel lokal tersebut. Variabel lokal statis tidak kehilangan nilainya pada saat fungsi berakhir dan tetap lokal dalam fungsi tersebut. Jika fungsi yang mengandung variabel lokal statis ini dipanggil lagi maka nilai variabel ini masih ada.

Contoh 1 (Variabel Dinamis)
  • Coding Program

  • Output Program



Contoh 2 (Variabel Statis)
  • Coding Program

  • Output Program







Referensi:
10 Langkah Belajar Logika dan Algoritma Menggunakan Bahasa C dan C++ di GNU/LINUX, Ema Utami & Sukrisno, Penerbit Andi
Pemrograman C++, Tri Basuki Kurniawan & Misinem, Penerbit Ardana Media
Pemrograman C++ di LINUX, Iwan Binanto, Penerbit Andi

Share:

0 komentar:

Posting Komentar

Popular Posts

Categories

Diberdayakan oleh Blogger.