PEMROGRAMAN SISTEM
Definisi Fungsi
Definisi Fungsi
Setiap fungsi yang dipanggil didalam Setiap fungsi yang dipanggil didalam program harus didefinisikan.
Contoh
// Prototipe funsiint 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()
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) {
200 40000 400 160000 600 360000 800 640000 1000 1000000
1200 1440000
1400 1960000
1600 2560000
Fungsi tanpa Nilai Balik
Fungsi tanpa Nilai Balik
Adakalanya suatu fungsi tidak perlu Adakalanya suatu fungsi tidak perlu memiliki nilai balik.
memiliki nilai balik.
Misalnya fungsi yang hanya dimaksudkan Misalnya fungsi yang hanya dimaksudkan untuk menampilkan suatu keterangan
untuk menampilkan suatu keterangan saja.
saja.
pada funsi seperti ini, tipe nilai balik fungsi pada funsi seperti ini, tipe nilai balik fungsi yang diperlukan adalah
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.
Contoh
void tampilkan_judul () {
cout << “PT. Aria perkasa Manunggal” << endl; cout << “Jl. Kertadipura Tenggara 27R” << endl; cout << “Kudus” << endl;
Lingkup variabel
Lingkup variabel
Lingkup variabel menentukan keberadaan Lingkup variabel menentukan keberadaan suatu variabel tertentu dalam fungsi.
suatu variabel tertentu dalam fungsi.
Ada variabel yang hanya dikenal di suatu Ada variabel yang hanya dikenal di suatu fungsi dan tidak dikenal pada fungsi lain. fungsi dan tidak dikenal pada fungsi lain. Namun ada juga variabel yang dapat Namun ada juga variabel yang dapat
Variabel Otomatis
Variabel Otomatis
Variabel yang didefinisikan di dalam suatu Variabel yang didefinisikan di dalam suatu fungsi berlaku sebagai variabel lokal bagi fungsi berlaku sebagai variabel lokal bagi
fungsi. fungsi.
Artinya, variabel tersebut hanya dikenal Artinya, variabel tersebut hanya dikenal didalam fungsi tempat variabel
didalam fungsi tempat variabel didefinisikan
Contoh
void kuadrat();
void main () {
int i=20;
cout<<"pada main = "<<i<<endl; kuadrat();
cout<<"pada main = "<<i<<endl; }
void kuadrat() {
int i = 20; i = i * i;
Tampak bahwa perubahan Tampak bahwa perubahan ii pada pada kuadrat
kuadrat() tidak mempengaruhi variabel () tidak mempengaruhi variabel bernama sama pada main().
bernama sama pada main().
Karena variabel tersebut bersifat lokal Karena variabel tersebut bersifat lokal bagi masing-masing fungsi ya
bagi masing-masing fungsi yanng g mendefinisikannya.
mendefinisikannya.
Variabel Variabel ii pada fungsi pada fungsi kuadratkuadrat() yang () yang disebut sebagai variabel otomatis.
Variabel Eksternal
Variabel Eksternal
Variabel eksternal adalah variabel yang Variabel eksternal adalah variabel yang didefinisikan diluar fungsi manapun.
didefinisikan diluar fungsi manapun.
Variabel ini dikenal juga sebagai variabel Variabel ini dikenal juga sebagai variabel global, sebab variabel ini dikenal disemua global, sebab variabel ini dikenal disemua
#include <iostream.h>
int i = 20;
void kuadrat();
void main () {
cout<<"pada main = "<<i<<endl; kuadrat();
cout<<"pada main = "<<i<<endl; }
void kuadrat() {
i = i * i;
Guna memeperjelas suatu variabel Guna memeperjelas suatu variabel didalam suatu fungsi yang
didalam suatu fungsi yang
menggunakannya dapat mendeklarasikan menggunakannya dapat mendeklarasikan
(bukan mendefinisikan, karena tidak ada (bukan mendefinisikan, karena tidak ada
pengalokasian memori) dengan pengalokasian memori) dengan
menambahkan kata
menambahkan kata externextern didepan tipa didepan tipa data.
#include <iostream.h> int i = 20;
void kuadrat();
void main () {
cout<<"pada main = "<<i<<endl; kuadrat();
cout<<"pada main = "<<i<<endl; }
void kuadrat() {
extern i; i = i * i;
Variabel Statis
Variabel Statis
Variabel eksternal maupun otomatis dapat Variabel eksternal maupun otomatis dapat
berkedudukan sebagai variabel statis.
berkedudukan sebagai variabel statis.
Suatu variabel statis mempunyai sifat :Suatu variabel statis mempunyai sifat :
Jika variabel lokal berdiri sebagai variabel satatis, Jika variabel lokal berdiri sebagai variabel satatis,
maka : maka :
Variabel tetap hanya dapat diakses pada fungsi yang Variabel tetap hanya dapat diakses pada fungsi yang
mendefinisikannya
mendefinisikannya
Variabel tidak hilang saat eksekusi fungsi berakhirVariabel tidak hilang saat eksekusi fungsi berakhir
Inisialisasi oleh pemrogram akan dilakukan sekali saja Inisialisasi oleh pemrogram akan dilakukan sekali saja
selama program dijalankan.
selama program dijalankan.
Jika variabel eksternal dijadikan sebagai variabel Jika variabel eksternal dijadikan sebagai variabel
statis,variabel ini dapat diakses oleh semua file yang statis,variabel ini dapat diakses oleh semua file yang didefinisikan pada file yang sama dengan variabel didefinisikan pada file yang sama dengan variabel eksternal tersebut.
#include <iostream.h>
cout<<"pada main = "<<i<<endl; }
void kuadrat() {
static int i = 2; i = i * i;
Berdasarkan hasil diatas, terlihat bahwa Berdasarkan hasil diatas, terlihat bahwa variabel statis mana pada fungsi
variabel statis mana pada fungsi kuadrat(); hanya diinisialisasi (bernilai
hanya diinisialisasi (bernilai 22) sekali saja. ) sekali saja. Kemudian setiap kali kuadrat();Kemudian setiap kali dipanggil dipanggil
nilai variabel tersebut dinaikkan sebesar nilai variabel tersebut dinaikkan sebesar
Operator Resolusi Lingkup
Operator Resolusi Lingkup
Pada C++ terdapat operator dua buah Pada C++ terdapat operator dua buah tanda titik-dua (
tanda titik-dua ( :::: ). Operator ini disebut ). Operator ini disebut operator resolusi lingkup (
operator resolusi lingkup (scope scope resolution
resolution). ).
Kegunaanya untuk mengakses variabel 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 Program diatas mengungkapkan bahwa sekalipun didalam suatu fungsi terdapat sekalipun didalam suatu fungsi terdapat
variabel yang namanya sama dengan variabel yang namanya sama dengan
nama variabel eksternal, kedua variabel nama variabel eksternal, kedua variabel
Nilai Bawaan Untuk Nilai Fungsi
Nilai Bawaan Untuk Nilai Fungsi
Salah satu keistimewaan C++ adalah Salah satu keistimewaan C++ adalah
adanya kemampuan untuk menyetel nilai adanya kemampuan untuk menyetel nilai
bawaan (
bawaan (defaultdefault) argumen fungsi.) argumen fungsi.
Argumen-argumen yang mempunyai nilai Argumen-argumen yang mempunyai nilai bawaan nantinya dapat tidak disertakan bawaan nantinya dapat tidak disertakan
didalam pemanggilan fungsi dan dengan didalam pemanggilan fungsi dan dengan sendirinya C++ akan menggunakan nilai sendirinya C++ akan menggunakan nilai
bawaan dari argumen yang tidak bawaan dari argumen yang tidak
#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 ++)
#include <iostream.h>
void tulis(int jum = 1); // Prototipe fungsi
void main() {
tulis(); // Argumen tidak perlu disebutkan }
void tulis(int jum); {
Referensi
Referensi
Referensi digunakan untuk memberikan nama Referensi digunakan untuk memberikan nama
alias dari variabel. Bentuk pendeklarasiannya :
alias dari variabel. Bentuk pendeklarasiannya : Int &ref = nama_variable ;
Tanda & mengawali nama referensi.Tanda & mengawali nama referensi.
Setelah pendeklarasian seperti diatas, Setelah pendeklarasian seperti diatas, refref
menjadi nama alias dari
menjadi nama alias dari nama_variabelnama_variabel. .
Penggubahan nilai terhadap Penggubahan nilai terhadap nama_variabelnama_variabel
dapat dilakukan melalui
dapat dilakukan melalui nama_variabelnama_variabel itu itu sendiri atau melalui referensi
sendiri atau melalui referensi refref, sebagaimana , 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 ++ ;