Tampilkan postingan dengan label Fungsi. Tampilkan semua postingan
Tampilkan postingan dengan label Fungsi. Tampilkan semua postingan

Senin, 30 Januari 2012

Bilangan Fibonacci dalam C++

Cerita ini berasal dari fibonacci (Leonardo of Pisa) tentang pembiakan kelinci-kelinci. Sepasang kelinci ditempatkan dalam sebuah tempat untuk dikembangbiakan. Nah, jika kelinci betina akan menghasilkan keturunan setelah dua bulan, maka berapakah jumlah pasang kelinci setelah bulan ke-7 ?

Untuk menghutung bilangan fibonacci ke-jum ternyata dapat disederhanakan dengan mengitung bilngan fibonacci ke-n-1 dan bilangan fibonacci ke-n-2. Masalah semula dijabarkan menjadi masalah sejenis dengan lingkup yang lebih kecil. Perhitungan ini dapat dikerjakan dengan rekursi. Kondisi penghentian adalah n bernilai satu dan dua.
dan berikut ini adalah program selengkapnya yang telah saya jalankan dalam visual C++ 06.

  1. #include<iostream.h>
  2. long fibo(long n);
  3.  
  4. void main()
  5. {
  6.  int x;
  7.  cout<<"Masukan Akhir bulan : ";
  8.  cin>>x;
  9.  cout<<"Jumlah Kelinci adalah : "<<fibo(x)<<" pasang"<<endl;
  10. }
  11. long fibo(long n) {
  12.  if (n==0) return 1;
  13.  if (n==1) return 1;
  14.  return fibo(n-1)+fibo(n-2);
  15. }



Dan hasil outputnya adalah sbb: 

Sabtu, 07 Januari 2012

Contoh penggunan variabel static di dalam suatu fungsi

Untuk penjelasan mengenai apa itu variabel static anda dapat melihatnya pada postingan sebelumnnya disini
kali ini saya hanya memberikan contoh  sederhana lainnya tentang penggunaan variabel static di dalam fungsi.
baiklah langsung saja kita melihat bagaimana programnnya:


Pada contoh di atas anda dapat melihat bahwa variabel nilai di inisialisasikan dengan nol, nilainya dinaikan sebanyak satu kali pada  baris keluaran yang pertama setelah pemanggilan fungsi panggilan() untuk yang kali pertama seperti dapat anda lihat pada hasil eksekusi program dibawah ini. 

Contoh Variabel Statik dalam fungsi
Kemudian, nilai tersebut (nilai=1) masih terus disimpan di dalam memori meskipun proses eksekusi fungsi telah berakhir. 
Pada pemanggilan berikutnya melalui loop for sebanyak 5 kali, nilai variabel static nilai  terus menerus dinaikan sehingga pada pemanggilan terakhir nilai variabel nilai sama dengan 6. seperti dapat anda lihat pada gambar diatas. Hal itu disebabkan pada setiap pemanggilan berikutnya nilai variabel nilai yang terakhir pada pemanggilan fungsi sebelumnya yang dipakai.

  1. #include<iostream.h>
  2. struct MAHASISWA
  3. {
  4.  char nama[80];
  5.  long nim;
  6.  int tanggal_lahir;
  7.  int bulan_lahir;
  8.  int tahun_lahir;
  9.  int jumlah_sks;
  10.  double ipk;
  11. };
  12. int main()
  13. {
  14.  MAHASISWA mhs =
  15.  {
  16.   "Afandi",
  17.    11370138,
  18.    04,
  19.    10,
  20.    1992,
  21.    18,
  22.    3.8
  23.  };
  24.  
  25.  cout<<"\nData pribadi mahasiswa "<<endl;
  26.  cout<<" nama     : "<<mhs.nama<<endl
  27.   <<" nim      : "<<mhs.nim<<endl
  28.   <<" tanggal  : "<<mhs.tanggal_lahir<<"-"
  29.   <<mhs.bulan_lahir<<"-"
  30.   <<mhs.tahun_lahir<<endl
  31.   <<" Jumlah SKS: "<<mhs.jumlah_sks<<endl
  32.   <<" IPK      : "<<mhs.ipk<<endl;
  33.  return 0;
  34. }

Rabu, 04 Januari 2012

Variabel Statis

Variabel statis dapat juga berupa variabel lokal ataupun variabel eksternal. sifat variabel statis ini mempunyai sifat antara lain:

  • Jika variabel statis bersifat lokal, maka variabel hanya dikenal oleh fungsi tempat variabel di deklarasikan.
  • Jika variabel statis bersifat eksternal, maka variabel dapat dipergunakan oleh semua fungsi yang terletak pada file yang sama ditempat variabel statis dideklarasikan.
  • Jika tidak ada inisialisasi oleh pemrograman secara otomatis akan diberikan nilai awal nol.


Suatu variabel statis diperoleh dengan menambahkan kata kunci static didepan penentu tipe data variabel.
contoh variabel static:
#include<iostream.h>
lontong();
main()
{
int n=5;
lontong();
lontong();
lontong();
cout<<"\nNilai n didalam main(): "<<n<<endl;
}
lontong()
{
static int n; //deklarasi variabel statis
n +=10;
cout<<"\nNilai  n didalam fungsi(): "<<n;
}

hasil ouput dari program diatas adalah:
Hasil output

Dari program d atas dapat kita melihat bahwa:

  • Pada prototipe fungsi lontong() tidak terdapat nilai awal, ini berarti nilai lontong() adalah 0.
  • Pada pemanggilan fungsi lontong yang pertama , tampil nilai awal 10, di dapat dari n +=10;.
  • Pada pemanggilan fungsi lontong yang kedua, tampil nilai 20, ini didapat dari nilai sebelumnya=10, tambah dengan n+=10.
  • pada pemanggilan fungsi lontong ketiga, tampil nilai 30, ini didapat dari nilai sebelumnya=20 yang di tambah dengan n+=10;
  • Dan pada "Nilai n didalam main(): 5"  nilai 5 ini di ambil dari nilai dalam fungsi main() n=5.

Variabel Eksternal

Variabel Eksternal adalah variabel Global. artinya variabel ekternal bersifat global yang dapat di gunakan bersama-sama tanpa harus di deklarasikan berulang-ulang, karena sudah di deklarasikan di luar fungsi.
Pendeklarasian variabel eksternal inim diluar dari fungsi main().
Perhatikan program dibawah ini:

  1. //contoh varibel eksternal
  2. #include<iostream.h>
  3. int a=10; // ini adalah deklarasi untuk variabel eksternal
  4. void lokal();
  5. void main()
  6. {
  7.  cout<<"Penggunaan variabel eksternal"<<endl;
  8.  cout<<"Nilai dalam fungsi main() :"<<a<<endl; //memanggil variabel eksternal a
  9.  
  10.  cout<<"\nNilai setelah panggilan fungsi lokal():";
  11.  lokal(); //pemanggilan fungsi lokal
  12.  cout<<"\n";
  13. }
  14. void lokal()
  15. {
  16.  cout<<a+100<<",";  
  17. }


Pada contoh diatas dapat kita lihat bahawa varibel main dapat menggunakan nilai variabel eksternal a, yang di deklarasikan di luar main(), dan dapat juga digunakan fungsi void lokal() untuk menambahkan dengan 100.
dan hasil outputnya adalah sbb:
Hasil output

Variabel Lokal

Variabel dalam bahasa C hanya dikenal dua buah variabel yaitu variabel lokal dan variabel global.
sedangkan dalam bahasa C++ kita akan diperkenalkan dengan tiga buah variabel yaitu:
>> Variabel Lokal
>> Variabel Eksternal
>> Variabel Statis


Variabel Lokal
Variabel lokal adalah variabel yang dideklarasikan didalam fungsi dan hanya dikenal oleh fungsi yang bersangkutan.
Variabel lokal juga sering disebut dengan variabel otomatis.
contohnya adalah seperti dibawah ini:

  1. #include<iostream.h>
  2. lokal();
  3. garis();
  4. void main()
  5. {
  6. int a=10;
  7. garis();
  8. cout<<"Pemanggilan variabel lokal"<<endl;
  9. lokal();
  10. cout<<"\nNilai dalam fungsi main() : "<<a<<endl;
  11. garis();
  12. }
  13. lokal()
  14. {
  15. int a=20;
  16. cout<<"\nNilai dalam fungsi lokal(): "<<a;
  17. }
  18. garis()
  19. {
  20.  cout<<"=============================="<<endl;
  21. }

Pada contoh diatas terlihat jelas bahwa variabel a yang berada diluar fungsi lokal, tidak dikenal oleh fungsi lokal().
hasl output dari program diatas adalah:
Hasil output



Mengirim Nilai Konstanta ke Fungsi

Untuk mengirimkkan data konstanta ke suatu fungsi lain dapat dilakukan dengan cara yang mudah,
perhatikan contoh dibawah ini:

#include<iostream.h>
luas (float sisi);


main()
{
float lbs;
lbs=luas(5.25 );
cout<<"luas bujur sangkar adalah: "<<lbs<<endl;
}
luas (float sisi)
{
return(sisi*sisi);
}

Perhatikan contoh diatas bahwa pernyataaan lbs=luas(5.25), dikirimkan nilai tersebut kepada fungsi luas(), untuk ditampung di variabel sisi. selanjutnya didalam fungsi return terjadi perkalian sisi dengan sisi, setelah itu hasil perkalian tersebut dikirim kembali ke variabel lbs yang memanggil fungsi.

sehingga Ouput dari conto program pengiriman data konstanta ke fungsi adalah:
Hasil Ouput

Pernyataan Return()

Pernyataan return() digunakan untuk mengirimkan nilai atau nilai dari suatu fungsi kepada fungsi yang lain uang memanggilnya.
Pernyataan return() diikuti oleh argumen yang berupa nila yang akan dikirimkan.
Contoh dari pemakaian return dalam fungsi adalah seperti dibawah ini:

//Penggunaan return dalam fungsi
#include <iostream.h>
perkalian ( int a, int b) //fungsi
{
return a*b; //penggunaan return
}
int main()
{
int a,b,c;
cout<<"Masukan nilai A: ";
cin>>a;
cout<<"Masukan nilai B: ";
cin>>b;
c=perkalian(a,b); //pemanggilan fungsi
cout<<"Hasil perkalian "<<a<<"x"<<b<<"="<<c<<endl;
}

hasil output dari program diatas adalah:
Penggunaan return dalam fungsi

Minggu, 25 Desember 2011

Menghitung luas segitiga dengan FUNGSI

Kalau kemarin contoh dari FUNGSI yang berikan adalah menghitung luas lingkaran
Kali ini saya akan coba untuk sharing tentang contoh, program C++ menghitung luas segitiga dengan  FUNGSI . sebenarnya prinsipnya sama saja dengan menghitung luas lingkaran, hanya saja untuk menghitung luas segitiga dengan FUNGSI dan menggunakan prototipe fungsi juga tentunya, ada dua data yang akan diinput. seperti kita ketahui bahwa rumus untuk menghitung luas segitiga adalah alas di kali dengan tinggi dan dibagi dua. maka, data yang input disini adalah alas dan tinggi.
Ok, mari langsung saja kita lihat bagaimana program menghitung luas segitiga.


#include<iostream.h>
float lsegitiga(float a, float t)
{
 float luas;
 luas=a*t/2;
 return(luas);
}
float main()
{
 float alas, tinggi, luas;
 cout<<"masukan alas segitiga: ";
 cin>>alas;
 cout<<"masukan tinggi segitiga: ";
 cin>>tinggi;
 luas=lsegitiga(alas,tinggi);
 cout<<"Luas segitiga = "<<alas<<"x"<<tinggi<<"/"<<"2"<<" = "<<luas<<endl;
 return(0);
}

dan hasil outpunya, setelah program di eksekusi adalah sbb:
hasil output