150 likes | 268 Views
Pertemuan 20. FUNGSI (Method) Bag.3. Dasar Pemrograman Renni Angreni, S.Kom. Lingkup Variabel. Suatu variabel yang didefinisikan di dalam fungsi , nilainya berbeda dengan variabel yang didefinisikan di luar fungsi atau di dalam fungsi lain.
E N D
Pertemuan 20 FUNGSI (Method) Bag.3 Dasar Pemrograman Renni Angreni, S.Kom.
LingkupVariabel • Suatuvariabel yang didefinisikandidalamfungsi, nilainyaberbedadenganvariabel yang didefinisikandiluarfungsiataudidalamfungsi lain. • Misalkandidalamfungsihallodanfungsimainmasing-masingdidefinisikanvariabelsalam, makanilaivariabelsalamdidalamkeduafungsitersebutdapatberisinilai yang berbedatanpasalingmempengaruhisatusama lain.
Contoh #include <iostream> #include <conio.h> #include <string> using namespace std; void hallo() { string salam = "Hello World"; cout<<salam<<endl; } void main() { string salam = "Apo kabardunia ?"; cout<<salam<<endl; hallo(); cout<<salam<<endl; _getch(); }
Contohdenganpenggunaanvariabel global #include <iostream> #include <conio.h> #include <string> using namespace std; string salam = "Hello World"; void hallo() { cout<<salam<<endl; } void main() { cout<<salam<<endl; hallo(); cout<<salam<<endl; _getch(); }
VariabelStatic • Variabel static adalahvariabellokal yang nilainyatetaptersimpandalamfungsitersebutmeskipunfungsitelahberakhir. • Variabel static didefinisikandengan keyword staticpada C++. • Contoh : static int total=1;
Contohtanpapenggunaanvariabel static #include <iostream> #include <conio.h> using namespace std; void tambahBarang(intjumlah = 1) { int total=0; total += jumlah; cout<<"Jumlah barang sekarang : "<<total<<endl; } void main() { tambahBarang(5); tambahBarang(1); tambahBarang(3); tambahBarang(-4); _getch(); }
Contohdenganpenggunaanvariabel static #include <iostream> #include <conio.h> using namespace std; void tambahBarang(intjumlah = 1) { static inttotal=0; total += jumlah; cout<<"Jumlah barang sekarang : "<<total<<endl; } void main() { tambahBarang(5); tambahBarang(1); tambahBarang(3); tambahBarang(-4); _getch(); }
FungsiRekursif • Fungsidalam C++ dapatdipakaisecararekursi. Artinyasuatufungsidapatmemanggilfungsi yang merupakandirinyasendiri. • Penerapanfungsirekursifbiasanyadigunakandalammenghitungnilaiperpangkatan, faktorial, dansebagainya.
Contohfungsirekursif #include <iostream> #include <conio.h> using namespace std; long intpangkat(int x, int n) { if (n == 1) return (x); else return (x * pangkat(x, n-1)); } void main() { int x, y; cout<<"Menghitung x pangkat y"<<endl; cout<<"Nilai x = "; cin>>x; cout<<"Nilai y = "; cin>>y; cout<<"Nilai dari x pangkat y = "<<pangkat(x,y); _getch(); }
Referensi • Pada C++ referensidigunakanuntukmemberikannama alias darivariabel. Bentukpendeklarasiannya : tipeData &ref = namaVariabel; Tanda & mengawalinamareferensi. • Setelahpendeklarasiansepertidiatas, ref menjadinama alias darinamaVariabel. PengubahannilaiterhadapnamaVariabeldapatdilakukanmelaluinamaVariabelitusendiriataupunmelaluireferensiref.
Argumensuatufungsidapatberupareferensi. • Padaargumensepertiini, nilaivariabel yang digunakansebagaiargumenakanikutberubahjikanilaivariabelitudiubahdidalamfungsi. • Referensiakandibahaslebihlanjutpadasaatmembahas pointer.
LATIHAN • Buatlahsebuah program C++ denganmenggunakanfungsirekursifuntukmenghitunghasilfaktorialdaribilangan yang diinputoleh user, kemudiantampilanperhitungansertahasilfaktorialnya.
Buatlahsebuah program C++ denganmenggunakanfungsiuntukmencaribilanganterbesardaribilangan-bilangan yang diinputoleh user. Jumlahbilangan yang diinputjugabergantungpada user. (Pergunakan array)
-- Sekian -- Dasar Pemrograman Renni Angreni, S.Kom.