Contoh Implementas i Class

8.2. Contoh Implementas i Class

Berikut k ita akan coba membuat Class converter suhu. Harapannya, object yang dibuat dari Class ini akan mempunyai kemam puan antara lain:

ƒ Mengubah suhu dari Celcius ke Fahrenheit dan sebaliknya. ƒ Mengubah suhu dari Celcius ke Kelvin dan sebaliknya. ƒ Mengubah suhu dari Fahrenheit ke Kelvin dan sebaliknya.

Gambar 8-1. Diagram class termometer.

G ambar 1 diatas adalah model dari Class termometer yang akan kita buat. Kotak diatas dibagi menjadi 3. Bagian atas menunjukkan nama Class, bagian ke dua saya mengisinya dengan field/property, tanda negative menunjukkan field tersebut hanya berlaku dalam class, atau bersifat pribadi. Bagian ke tiga saya isi dengan daftar fungsi object yang akan dibuat dari class ini. Tanda + menunjukkan fungsi-fungsi tersebut bisa diaccess oleh object lain atau bersifat public.

_value dan _type masing-masing adalah data. _value menyimpan nilai angka, yaitu besarnya suhu. _type menyimpan nilai string yaitu F (Fahrenheit) dan C(Celsius). Nilai suhu selalu berpasangan dengan typenya F atau C. Misal 100 C, 212 F. OOP mensyaratkan information hiding terhadap data, maka _type dan _value, kita buat hanya berlaku di dalam Class atau private. Untuk mengubah atau mengabilnya kita harus membuat fungsi/method. SetType adalah fungsi untuk mengubah nilai _type. S etValue adalah fungsi untuk mengubah nilai _value. Disini kita tidak membuat fungsi untuk mengambil. ToCels() adalah fungsi untuk mengubah nilai _value menjadi Celsius. ToFahr() adalah fungsi untuk mengubah nilai _value menjadi Fahrenheit. Kedengarannya aneh dan rumit ya? Mungkin anda bertanya kenapa tidak dibuat menjadi tanda + semua jadi kita tidak perlu bikin fungsi pengubah dan pengambil. Nanti akan saya berikan contoh kenapa mesti demikian. Berikut ini adalah code dari model kita,

public class Termometer {

publ i c Ter momet er ( ) { }

publ i c v oi d Set Ty pe( s t r i ng t y pe) { t hi s . _t y pe=t y pe;

} publ i c v oi d Set Val ue( doubl e v al ) { t hi s . _v al ue=v al ;

} publ i c doubl e ToCel s ( ) {

i f ( t hi s . _t y pe ==" C" ) 5

{ r et ur n t hi s . _v al ue;

el s e i f ( t hi s . _t y pe==" F" )

{ r et ur n 5* ( t hi s . _v al ue- 32) / 9;

Class-body

el s e

{ r et ur n 0;

} publ i c doubl e ToFahr ( )

i f ( t hi s . _t y pe ==" C" )

{ r et ur n 9* t hi s . _ v al ue/ 5 + 32;

e lse i f ( t hi s . _t y pe==" F" ) { r et ur n t hi s . _v al ue; }

7 pr i v at e doubl e _v al ue;

e s t r i ng _t y pe;

Class y ang kita buat ini kita beri nama termo meter, public menunjukkan bahwa Class ini berlaku umum, artinya object manapun bisa memakainya. Ini ada lah bagian constructor, a pabila kita tidak mendefinisikan constructor, Class akan memak ai constuctor default. Constructor inilah yang akan kita pakai untuk membuat object. Nama constructor haru s sama dengan nama Class. Constructor tidak memiliki kemba lian. SetTyp e adalah fungsi untuk memberi tanda object termome ter apa yang dibuat, celsius atau fa hrenheit. void, menunjuk kan bahwa fungsi ini tidak ada nilai kembalian. SetVal ue adalah fungsi untuk memberi nilai suhu pada obje ct termometer. ToCels adalah fungsi untuk mengubah nilai suhu me njadi nilai suhu lain dalam termometer celcius. Double, menunjukkan nilai keluaran dari fungsi ini adalah double. Kelak anda akan tahu keluaran ini betul-betul lepas dari apa yang kita inginkan, sebab typeny a adalah double. Sama d engan nomor 5, bedanya fungsi ini merubah suhu ke fahrenheit. Ini ada lah bagian data dari Class Termometer. Private, menun jukkan bahwa data tidak bisa di akses dari luar Class. B agian data boleh dimana saja. Disini saya menaruhnya dibawa h, deng an pert imbangan untuk monjolkan fungsi dari objek.

Bagian berikut adalah contoh p enggunaan Class termometer,

T er momet er c el s =new Ter momet er ( ) ; 1

ce l s . Set Ty pe( " C" ) ; 2

c el s . Set Val ue( 100) ;

pr i nt ( c el s ) ; 4

Cons ol e. ReadLi ne( ) ;

pr i v at e s t at i c v oi d pr i nt ( Ter momet e r t emp) {

Cons ol e. Wr i t eLi ne( " Fahr :" + 5

t emp. ToFahr ( ) . ToSt r i ng ());

Cons ol e. Wr i t eLi ne( " Cel s :" +

t emp. ToCel s ( ) . ToSt r i ng( ) ) ; }

Pertam a-tama kita dek larasikan object cels dan langsung kita buat objeknya dengan keywor d new kemudian kita panggil constructor-nya. Obje k dibuat dengan pertama-tama memor y dialokasikan un tuk object ini kemudian constructor dipanggil. Setelah objek termometer dibuat kemudian tipe termometer kita set menjadi C, yang berarti termometer kita ini adalah ce lcius. Setelah type termometernya kit a tetapkan, lantas kita set nilainya. Disi ni nilainya kita set menjad i1

00. Y ng be a rarti 100 C.

Kita pa nggil method print. Objec k termometer kita kirim ke bagian printing.

ToFahr kita panggil. ToCels kita panggil.