Friday, 1 January 2016

Fungsi : Penggolongan Variabel & Pemrograman Terstruktur

Share it Please
Penggolongan Variabel berdasarkan Kelas Penyimpanan
Suatu  variabel,  di  samping  dapat  digolongkan  berdasarkan  jenis/tipe  data  juga dapat diklasifikasikan  berdasarkan  kelas  penyimpanan (storage  class).    Penggolongan berdasarkan kelas penyimpanan berupa : 
a) variabel lokal 
b) variabel eksternal 
c) variabel statis 
d) variabel register

Variabel Lokal
Variabel lokal adalah variabel yang dideklarasikan dalam fungsi, dengan sifat : 
a) secara  otomatis  diciptakan  ketika  fungsi  dipanggil dan  akan  sirna  (lenyap)  ketika eksekusi terhadap fungsi berakhir. 
b) Hanya dikenal oleh fungsi tempat variabel tersebut dideklarasikan 
c) Tidak ada inisialisasi secara otomatis (saat variabel diciptakan, nilainya tak menentu). 

Dalam  banyak  literatur,  variabel  lokal  disebut  juga  dengan  variabel  otomatis.  Variabel  yang  termasuk  dalam  golongan  ini  bisa  dideklarasikan  dengan  menambahkan kata  kuci auto  di depan  tipe-data  variabel.    Kata  kunci  ini  bersifat  opsional,  biasanya disertakan sebagai penjelas saja.  Contoh variabel lokal ditunjukkan pada gambar 5.8. 


Pada fung_x(), deklarasi

 int x;

dapat ditulis menjadi

 auto int x;

Penerapan variabel lokal yaitu bila variabel hanya dipakai oleh suatu fungsi (tidak dimaksudkan untuk dipakai oleh fungsi yang lain).  Pada contoh berikut, antara variabel i dalam fungsi main() dan fung_1() tidak ada kaitannya, sebab masing-masing merupakan variabel lokal.

Variabel Eksternal
Variabel eksternal merupakan variabel yang dideklarasikan di luar fungsi, dengan sifat : 
a) dapat diakses oleh semua fungsi 
b) kalau tak diberi nilai, secara otomatis diinisialisasi dengan nilai sama dengan nol.
Variabel  eksternal  haruslah  dideklarasikan  sebelum definisi  fungsi  yang  akan mempergunakannya.  Untuk  memperjelas  bahwa  suatu  variabel  dalam  fungsi  merupakan variabel  eksternal,  di  dalam  fungsi  yang  menggunakannya  dapat  mendeklarasikan variabel itu kembali dengan menambahkan kata kunci extern di depan tipe data variabel. 
Kalau  dalam  suatu  program  terdapat  suatu  variabel  eksternal,  suatu  fungsi  bisa saja  menggunakan  nama  variabel  yang  sama  dengan  variabel  eksternal,  namun diperlakukan sebagai variabel lokal.

Variabel Statis
Variabel  statis  dapat  berupa  variabel  internal  (didefinisikan  di  dalam  fungsi) maupun variabel eksternal.  Sifat variabel ini : 
a) Kalau variabel statis bersifat internal, maka variabel hanya dikenal oleh fungsi tempat variabel dideklarasikan 
b) Kalau variabel statis bersifat eksternal, maka variabel dapat dipergunakan oleh semua fungsi yang terletak pada file yang sama, tempat variabel statis dideklarasikan 
c) Berbeda  dengan  variabel  lokal,  variabel  statis  tidak  akan  hilang  sekeluarnya  dari fungsi (nilai pada variabel akan tetap diingat). 
d) Inisialisasi akan dilakukan hanya sekali, yaitu saat fungsi dipanggil yang pertama kali. 
Kalau tak ada inisialisasi oleh pemrogram secara otomatis akan diberi nilai awal nol Variabel  statis  diperoleh  dengan  menambahkan  kata  kunci static  di  depan  tipe  data vriabel.

Variabel Register
  Variabel register adalah variabel yang nilainya disimpan dalam register dan bukan dalam memori RAM.  Variabel yang seperti ini hanya bisa diterapkan pada variabel yang lokal atau parameter formal, yang bertipe char atau int.  Variabel register biasa diterapkan pada  variabel  yang  digunakan  sebagai  pengendali loop.    Tujuannya  untuk  mempercepat proses  dalam loop.    Sebab  variabel  yang  dioperasikan  pada  register  memiliki  kecepatan yang jauh lebih tinggi daripada variabel yang diletakkan pada RAM.

Menciptakan Sejumlah Fungsi
  Pada C, semua fungsi bersifat sederajat.  Suatu fungsi tidak dapat didefinisikan di dalam fungsi yang lain.  Akan tetapi suatu fungsi diperbolehkan memanggil fungsi yang lain, dan tidak tergantung  kepada  peletakan  definisi  fungsi  pada  program.    Komunikasi  antara  fungsi  dalam  C ditunjukkan  dalam  gambar  16.2.    Gambar  tersebut  menjelaskan  kalau  suatu  fungsi  katakanlah fungsi_a()  memanggil fungsi_b(),  maka  bisa    saja fungsi_b()  memanggil fungsi_a().    Contoh program  yang  melibatkan  fungsi  yang  memanggil  fungsi  yang  lain  ada  pada  program kom_fung.c,  yaitu fungsi_1()  dipanggil  dalam  main(),  sedangkan  fungsi_2()  dipanggil  oleh fungsi_1().

 

Pengenalan Konsep Pemrograman Terstruktur
Fungsi  sangat  bermanfaat  untuk  membuat  program  yang  terstruktur.  Suatu program  yang  terstruktur  dikembangkan  dengan  menggunakan “top-down  design” (rancang  atas  bawah).  Pada  C  suatu  program  disusun dari  sejumlah  fungsi  dengan  tugas tertentu. Selanjutnya masing masing fungsi dipecah-pecah lagi menjadi fungsi yang lebih kecil. Pembuatan program dengan cara ini akan memudahkan dalam pencarian kesalahan ataupun dalam hal pengembangan dan tentu saja mudah dipahami/ dipelajari.
Dalam  bentuk  diagram,  model  suatu  program  C  yang  terstruktur  adalah  seperti yang  tertera  pada  bagan  berikut    ini.  Namun  sekali lagi  perlu  diketahui,  bahwa  pada  C semua fungsi sebenarnya berkedudukan sederajat. 
Fungsi main()  terdiri  dari  fungsi_a()  sampai  dengan  fungsi_n(),  menegaskan bahwa  dalam  program  fungsi main()  akan  memanggil  fungsi_a()  sampai  dengan fungsi_n().  Adapun  fungsi-fungsi    yang  dipanggil  oleh  fungsi  main()  juga  bisa memanggil  fungsi-fungsi  yang  lain.  Model  terstruktur  Program  C  ditunjukkan  pada gambar 16.3 

2 comments:

  1. thanks for creating a nice post on c programming but did you know what is loop in c programming

    ReplyDelete
    Replies
    1. http://belajar-c-programming.blogspot.co.id/2015/12/pengulanganlooping-for.html

      Delete

Followers

Follow The Author