Objek Sebagai Nilai Balik Dan Objek Sebagai Parameter
-
Upload
ika-dian-lestari -
Category
Documents
-
view
141 -
download
12
description
Transcript of Objek Sebagai Nilai Balik Dan Objek Sebagai Parameter
1
Objek Sebagai Nilai Balik dan Objek Sebagai Parameter
1. Tujuan Praktikum1.1 Mempelajari objek sebagai Nilai Balik1.2 Mempelajari objek sebagai Parameter
2. Landasan Teori
Objek dapat dijadikan sebagai nilai balik fungsi .Tampak bahwa berkat pernyataan : tiga=satu.tambah(dua);
Anggota data tiga berisi penjumlahan dari anggota data satu dan dua.Perlu dijelaskan disini bahwa pada definisi fungsi anggota tambah,mula-mula terdapat pernyataan:Yang mendefinisikan objek lokal bernama tmp.Selanjutnya terdapat pernyataan : Tmp.re=re+B.re;Pada pernyataan ini :
Re menyatakan anggota data dari obyek sekarang Tmp.re menyatakan anggota data dari objek tmp B.re menyatakan anggota data dari objek B
Hal yang serupa juga berlaku untuk anggota data im. Kemudian : Return (tmp);Akan memberikan nilai balik berupa salinan dari objek tmp.
Suatu objek juga dapat menjadi parameter fungsi. Dalam hal ini,ada tiga kemungkinan untuk melewatkan objek sebagai parameter yaitu:
Melewatkan objek berdasarkan nilai Melewatkan objek sebagai parameter Melewatkan objek sebagai referensi
Contoh fungsi yang melewatkan objek berasarkan nilai :
void info_buku(Buku b)
{
cout<<”INFORMASI BUKU” ‘\n’ <<endl; b.info();
}
Contoh pemanggilan fungsi diatas:
Buku novel;Info_buku(novel);
2
Cara seperti ini dirasakan tidak efisien sekiranya objek berukuran besar,sebab akan menyita ruang stock yang terlalu besar saat diproses. Dmpak yang lain,sudah tentu kecepatan pemrosesan juga menjadi lebih lambat. Untuk mengatasi hal ini,objek lebih sering dilewatkan secara pointer atau referensi.
3
3. Listing Program
#include<iostream.h>#include<conio.h>#include<dos.h>
class Bil_Kompleks{ private: float re; float im; public: void isi(); void cetak(); Bil_Kompleks(float real,float imajiner);//konstruktor berargumen Bil_Kompleks();//konstruktor Bil_Kompleks tambah(Bil_Kompleks B);//objek sebagai parameter Bil_Kompleks kurang(Bil_Kompleks C); Bil_Kompleks bagi(float D);};
void main(){ clrscr(); Bil_Kompleks satu(15,3); Bil_Kompleks dua(5,1); Bil_Kompleks tiga;
//untuk menambahkan dua objek tiga=satu.tambah(dua); cout<<"PROGRAM TAMBAH"<<endl; cout<<"Isi satu =";satu.cetak(); cout<<"Isi dua =";dua.cetak(); cout<<"Isi tiga =";tiga.cetak();
//untuk mengurangi dua objek tiga=satu.kurang(dua); cout<<"PROGRAM KURANG"<<endl; cout<<"Isi satu =";satu.cetak(); cout<<"Isi dua =";dua.cetak(); cout<<"Isi tiga =";tiga.cetak();
//untuk membagi objek tiga=satu.bagi(3); cout<<"PROGRAM BAGI"<<endl; cout<<"Isi satu =";satu.cetak(); cout<<"Isi dua =";dua.cetak(); cout<<"Isi tiga =";tiga.cetak(); getch();}
void Bil_Kompleks::isi()
{ cout<<"Nilai re =";cin>>re; cout<<"Nilai im =";cin>>im;}
void Bil_Kompleks::cetak(){ if(im>0) cout<<re<<"+j"<<im<<endl; else if(im<0) cout<<re<<"-j"<<im*(-1)<<endl; else if(im==0) cout<<re<<"+j"<<im<<endl; getch();}
Bil_Kompleks::Bil_Kompleks(float real,float imajiner){ cout<<"Konstruktor Argumen Bekerja"<<endl; re=real; im=imajiner;}
Bil_Kompleks::Bil_Kompleks(){ cout<<"Konstruktor Bekerja"<<endl; re=25; im=5;}
Bil_Kompleks Bil_Kompleks::tambah(Bil_Kompleks B){ Bil_Kompleks Tmp; Tmp.re=re+B.re; Tmp.im=im+B.im; return(Tmp);}
Bil_Kompleks Bil_Kompleks::kurang(Bil_Kompleks C){ Bil_Kompleks Tmp; Tmp.re=re-C.re; Tmp.im=im-C.im; return(Tmp);}
Bil_Kompleks Bil_Kompleks::bagi(float D){ Bil_Kompleks Tmp; Tmp.re=re/D; Tmp.im=im/D; return(Tmp);}
4. Output Program
4
5. Pembahasan
Pada program diatas re dan im merupakan anggota data dari objek sekarang,tmp.re dan tmp.im merupakan anggota data dari objek tmp.Penggunaan return (tmp) memberikan nilai balik pada fungsi berupa salinan dari objek tmp.Program ini juga terdapat objek yang berfungsi sebagai parameter,karena melewatkan objek berdasarkan nilai
6. Kesimpulan
Berdasarkan program di atas dapat disimpulkan bahwa objek dapat berfungsi sebagai nilai balik.dan parameter