• Tidak ada hasil yang ditemukan

Modul 2. [access specifier] [tipe data] [nama variabel];

N/A
N/A
Protected

Academic year: 2021

Membagikan "Modul 2. [access specifier] [tipe data] [nama variabel];"

Copied!
12
0
0

Teks penuh

(1)

 

Modul  2    

Objek,  Kelas,  dan  Instance  Variabel    

 

1. Deklarasi  variable,  kelas,  dan  method  

Di   setiap   bahasa   pemrograman,   programmer   selalu   membuat   variabel   untuk   dapat   memanipulasi   data   dan   mengoperasikannya.   Suatu   variabel   mempunya   format  seperti  berikut:  

 

  [access  specifier]  [tipe  data]  [nama  variabel];      

Contoh:      

  public  int  bilangan;    

Di   Java,   variabel   mempunyai   dua   jenis   tipe   data:   primitif   dan   objek   reference.   Tipe   data   primitif   adalah   tipe   data   yang   hanya   mempunyai   suatu   nilai   saja,   seperti:  byte,  int,  short,  long,  float,  double,  char,    boolean  (ditandai  dengan  huruf   awalnya   huruf   kecil).   Sedangkan   tipe   objek   reference,   selain   menyimpan   suatu   nilai,   variabel   dengan   tipe   data   ini   juga   berupa   objek   dan   dapat   menggunakan   method-­‐method   yang   ada   di   dalam   kelas   objek   tersebut.   Kelas   adalah   suatu   blueprint   dari   objek   dan   objek   mempunyai   kelakuan   atau   method   (di   sebut   function  dalam  C).    

 

Contoh  kelas    

public  class  Manusia   {  

  …  

  //Disini  dideskripsikan  tentang  objek  manusia  dan     //behaviournya  (methodnya)  

}    

Sebuah   method   ada   yang   mempunyai   parameter   dan   ada   yang   tidak   dan   mengembalikan   suatu   nilai   sesuai   sifat   dari   method   tersebut,   kecuali     void   (method  dengan  sifat  void  tidak  mengembalikan  nilai  apa-­‐apa).  

 

Contoh  method  yang  mengembalikan  suatu  nilai:    

public  double  luas(double  panjang,  double  lebar)   {  

(2)

 

  return  panjang  *  lebar;  //mengembalikan  nilai  luas  ke  suatu  statement                  //yang  memanggil  method  ini  

}    

Contoh  method  yang  tidak  mengembalikan  nilai:    

int  luas;  //variabel  luas  tidak  diinisialisasi  nilai   public  void  aturLuas(double  panjang,  double  luas)   {  

   

luas  =  panjang  *  lebar;   }  

 

Method  main  method  utama  yang  mengeksekusi  suatu  rentetan  program.     Contoh:  

 

public  class  Manusia   {  

  public  static  void  main(String[]  args)     {  

    …  

    //semua  kode  akan  dieksuksi  di  dalam  sini   }  

}    

2. Mengonstruksi  objek    

Programmer     Java   dalam   memprogram   sering   menggunakan   kelas-­‐kelas   yang   ada   di   library   Java   (API).   Kelas-­‐kelas   tersebut   digunakan   untuk   mengonstruksi   objek   yang   akan   dipakai   oleh   programmer.   Seperti   yang   dijelaskan   diatas,   jika   suatu  objek  kita  konstruksi,  lalu  kita  simpan  (alamat  objek  tersebut)  dalam  suatu   variabel,   maka   tipe   data   dari   variabel   tersebut   haruslah   objek   reference   yang   berarti  tipenya  adalah  suatu  kelas.  Untuk  mengonstruksi  sebuah  objek,  kita  perlu   menggunakan   kata   new   diikuti   nama   konstruktor   dari   kelas   yang   kita   akan   lahirkan  objeknya.  (nama  konstruktor  sama  dengan  nama  kelas)  

       

Contoh  konstruksi  sebuah  objek:    

(3)

 

//mengonstruksi  objek  Rectangle  untuk  membuat  persegi  panjang    

   Rectangle                                  box                                                    =  new  Rectangle();   Nama  Kelas        Nama  objek/variabel                                    Konstruktor    

   

Di  dalam  satu  kelas  di  Java  API,    biasanya  terdapat  lebih  dari  satu  konstruktor,   satu  konstruktor  kosong  dan  konstruktor-­‐konstruktor  lainnya  yang  mempunyai   parameter  untuk  inisialisasi  nilai  dari  objek  tersebut.  

 

Contoh  konstruktor  berparameter:    

//menginisialisasi  nilai-­‐nilai  dalam  objek  rectangle  berlabel  box     Rectangle  box  =  new  Rectangle(5,  10,  20,  30);    

 

Kelas  Rectangle  memiliki  definisi-­‐definisi  tentang  koordinat  x  &  y  dan  komponen   panjang  dan  lebar  dari  suatu  objek  persegi  panjang.  

 

Contoh  lain:    

  //mengonstruksi  objek  Color       Color  warna  =  new  Color(255,  0,  0);      

Kelas  diatas  adalah  kelas  Color,  yaitu  kelas  yang  dipakai  untuk  membuat  objek   yang  berkaitan  dengan  warna.  Di  dalam  kelas  Color  terdapat  konstruktor  Color   (float  r,  float  g,  float  b),  yaitu  untuk  menginisialisasi  objek  bertipe  Color  dengan   nilai  RGB  (Red,  Green,  Blue).  Untuk  contoh  di  atas,  nilai  r  =  255,  g  =  0,  dan  b  =  0   yang  berarti  objek  warna  yang  dikonstruksi  diatas  berwarna  merah.  

 

Untuk  objek  yang  dikonstruksi  oleh  konstruktor  kosong  seperti  Rectangle  box  =   new  Rectangle();,  untuk  mengubah  nilai-­‐nilai  variabel  yang  ada  diobjek  tersebut,   kita   dapat   menggunakan   method-­‐method   yang   ada   didalam   kelas   Rectangle.   Contoh:  

 

//mengubah  nilai  koordinat  x  dan  y  dari  persegi  panjang  box   box.  setLocation(5,  10);  

//mengubah  nilai  panjang  dan  lebar  dari  persegi  panjang  box   box.setSize(20,30);    

 

Kita  juga  dapat  memanggil  nilai  dari  suatu  variabel  dalam  objek  Rectangle.   Contoh:  

(4)

   

//method  getWidth()  mengembalikan  nilai  panjang  dari  persegi  panjang  box   box.getWidth();    

     

3. Instance  Variabel  

Instance  variabel  adalah  variabel  dari  kelas  yang  kita  gunakan  objeknya.   Contoh:  

 

//Vehicle.java   public  class  Vehicle   {  

  private  int  speed;    //instance  variabel     private  int  acceleration;  //instance  variabel    

  public  int  getSpeed()  //instance  method     {  

  return  speed   }  

 

public  void  setSpeed(int  speed)  //instance  method   {  

  this.speed  =  speed;   }  

}    

Kelas  tersebut  akan  kita  gunakan  pada  kelas  VehicleTester.    

//VehicleTester.java   public  class  VehicleTester   {  

  public  static  void    main(String[]  args)     {  

    //konstruktor  kosong  seperti  Vehicle  akan  secara  otomatis       //di  deklarasikan  secara  implisit  apabila  tidak  ada  konstruktor       //yang  kita  deklarasikan  

    //statement  dibawah  disebut  juga  instansiasi       Vehicle  kendaraan  =  new  Vehicle();  

           

(5)

 

    System.out.println(kendaraan.getSpeed);   }  

}    

Kelas   Vehicle   tester   diatas   menggunakan   instance   method   dari   kelas   Vehicle   untuk   mengubah   nilai   dari   speed.   Hal   tersebut   dilakukan   karena   instance   variabel   speed   bersifat   private.   Maka   itu,   speed   tidak   dapat   diakses   dari   luar   kelas   Vehicle.   Untuk   mengubah   nilainya,   kita   butuh   instance   method   yang   mengakses   variabel   speed.   Method   yang   digunakan   untuk   mengambil   nilai   suatu   variabel   disebut   setter   method   dan   method   yang   digunakan   untuk   mengembalikan   suatu   nilai   disebut   getter   method.   Oleh   karena   itu,   instance   method   yang   digunakan   untuk   mengubah   nilai   speed   adalah   setSpeed   dan   getSpeed  digunakan  untuk  mengambil  nilai  speed.  

   

4. Pengenalan  GUI  

Pembuatan   GUI   dalam   java   terdiri   dari   dua   cara,   yaitu   membuat   frame   dan   mengisi  frame  tersebut  dengan  sesuatu.  

 

Untuk  membuat  frame,  kita  membutuhkan  kelas  JFrame:     import  javax.swing.JFrame;     .   .   .   .  

  JFrame  frame  =  new  JFrame();     //mengatur  ukuran  frame     frame.setSize(300,400);     //mengatur  title  pada  frame;     frame.setTitle(“Hello!”);    

  //program  akan  berhenti  saat  frame  di-­‐close.  

  frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);  

       

Misalnya  kita  sudah  akan  membuat  komponen/isi  dari  frame  tersebut:   import java.awt.Color;

import java.awt.Graphics; import java.awt.Graphics2D;

(6)

 

import java.awt.Rectangle; import javax.swing.JComponent; /**

* Kelas ini digunakan untuk menggambar persegi panjang *

* @author Ghiffari Aulia * @version 2011.10.05 *

*/

public class RectangleComponent extends JComponent {

//Method

public void paintComponent(Graphics g) {

//Mengonstruksi objek Rectangle

Rectangle box = new Rectangle (5,10,20,30);

//Membuat instance Graphics2D Graphics2D g2 = (Graphics2D) g;

//Menggambar persegi panjang g2.draw(box);

//Mengatur warna merah g2.setColor(Color.RED);

//Mengisi warna kuning pada persegi panjang g2.fill(box);

//Mengatur warna merah g2.setColor(Color.RED);

//Menggambar kembali persegi panjang g2.draw(box);

} }

Lalu  kita  masukkan  RectangleComponent  tersebut  ke  dalam  frame:    

  RectangleComponent  component  =  new  RectangleComponent();     frame.add(Component);  

 

  //agar  frame  terlihat  di  layar     frame.setVisible(true);    

(7)

    Tugas    

Buat  program  yang  menampilkan  Input  Dialog  dan  meminta  masukan  bilangan   real   yang   terdiri   dari   panjang,   lebar,   koordinat   x,   dan   koordinat   y   dari   suatu   persegi   panjang.   Lalu   program   tersebut   menggambarkan   persegi   panjang   tersebut   sesuai   komponen   luas   dan   koordinat   yang   dimasukkan   dan   berwarna   kuning  dengan  garis  pinggir  berwarna  merah  setebal  5  pixel.  

 

Anda  diminta  untuk  menggambarkan  sebuah  persegi  panjang  dalam  sebuah   JFrame  dengan  spesifikasi  sebagai  berikut:  

1.  Persegi  Panjang  tersebut  digambar  dengan  menggunakan  garis  pinggir   berwarna  merah.  Tebal  garis  5  pixel.  

2.   Persegi  Panjang  tersebut  kemudian  akan  di-­‐fill  dengan  warna  kuning   Program  anda  akan  memiliki  kemampuan  untuk  berinteraksi  dengan  pengguna,   melalui  komponen  JOptionPane.  Berikut  informasi  yang  harus  anda  kumpulkan   dari  pengguna:  

1.   Panjang  dari  Persegi  Panjang     2.   Lebar  dari  Persegi  Panjang    

3.   Komponen  axis  dari  titik  awal  Persegi  Panjang     4.   Komponen  ordinat  dari  titik  awal  Persegi  Panjang  

Program  yang  akan  anda  buat  ini  memanfaatkan  Java2D  dan  Java  Swing  sebagai   komponen  GUI  yang  disediakan  oleh  java.  

 

Contoh  Running  Program  

1. Program  akan  meminta  pengguna  untuk  memasukkan  input    besaran   panjang  dari  persegi  panjang  seperti  gambar  di  bawah  

 

   

(8)

     

2. Program  meminta  input  untuk  lebar  persegi  panjang    

   

3. Pengguna  memasukkan  input  koordinat  titik  awal  persegi  panjang    

   

(9)

 

   

(10)

 

   

  Ide  :  

1. Meminta  masukan  4  bilangan  bulat  dari  4  Input  Dialog  

2. Membuat   4   masukan   tadi   menjadi   parameter   sebuah   objek   dengan   tipe   kelas  Rectangle  

3. Menggambar  persegi  panjang  sesuai  input  parameter  yang  diberikan.   4. Mewarnai  persegi  panjang  dengan  warna  kuning.  

5. Menggambar  lagi  persegi  panjang  dengan  garis  pinggir  berwarna  merah   dan  tebal  5  pixel.  

(11)

 

Algoritma:  

1. Membuat  kelas  untuk  menampilkan  Input  Dialog.  

2. Minta   masukan   bilangan   buat   pertama,   kedua,   ketiga,   dan   keempat   .   Masukan  dibaca  sebagai  string.    

3. Simpan  ke  dalam  variabel  x,  y,  panjang,  lebar  dengan  tipe  String.  

4. Parsing   semua   variabel   tersebut   ke   dalam   format   integer   lalu   disimpan   variabel  x,  y,  panjang,  lebar  di  kelas  RectangleMaker  dengan  tipe  double.   5. Buat  objek  dari  JFrame  untuk  menampilkan  frame  ke  layar.  

6. Membuat   objek   dari   komponen   yang   akan   dimasukkan   ke   frame   dan   ditampilkan   ke   layar.   Kelas   dari   komponen   menggambar   dan   mewarnai   persegi   panjang   dan   mengatur   warna   dan   tebal   garis   pinggir   persegi   panjang.  Kelas  tersebut  mengambil  data  koordinat  x,  y,  panjang,  dan  lebar   dari  method  di  kelas  RectangleMaker.  

7. Masukkan   komponen   ke   dalam   frame   dan   mengatur   tampilan   ke   layar   visible.  

   

Catatan:  

1. Buat  untuk  mem-­‐parse  String  ke  dalam  bentuk  integer,  gunakan  method   parseInt()  di  kelas  Integer.  

2. Buat   dokumentasi   untuk   seluruh   program   kalian   sesuai   format   dokumentasi  javadoc,  seperti  program  di  bawah:  

  /**

* This class is used to withdraw, deposit and get balance * from user account

* */

public class BankAccount {

private double balance; /**

Construtor to assign the value of balance to 0 if user doesn't want to initiate it.

*/ public BankAccount() { balance = 0; } /**

(12)

 

@param initialBalance */

public BankAccount(double initialBalance) {

balance = initialBalance; }

//Methods /**

Deposit money to the bank account. @param amount the amount to deposit */

public void deposit(double amount) {

balance = balance + amount; }

/**

Withdraw money to the bank account. @param amount the amount to deposit */

public void withdraw(double amount) {

balance = balance - amount; }

/**

Get the current balance of the bank account. @return the current balance.

*/

public double getBalance() {

return balance; }

}  

3.   Ketik   perintah   javadoc   *.java   untuk   menghasilkan   file   dokumentasi   dari   semua  file  java  yang  kalian  buat.    

Referensi

Dokumen terkait

data sekunder, kemudian dilanjutkan dengan penelitian data primer di lapangan atau masyarakat., yaitu tentang praktik perlindungan hukum terhadap saksi dalam proses

Penulis mengucapkan terimakasih kepada Pimpinan Balai Penelitian Perusahaan Perkebunan Gula (BP3G) yang telah mem- beri ijin penelitian di BP3G dan khususnya kepada karyawan

Dari segi teori efisiensi pasar secara informasi, hasil penelitian menunjukkan bahwa pasar dapat dikatakan efisien bentuk semi kuat karena informasi mengenai

dirinya mampu mendidik anak-anaknya, harga diri wanita single parent dengan lebih rajin berkomunikasi dengan anak, selalu berusaha, bersemangat dan berjuang dalam

Tingkat pemanfaatan dihitung dengan mempersenkan jumlah hasil tangkapan pada tahun tertentu terhadap nilai MSY (Paully, 1983). Tingkat pengupayaan dihitung dengan mempersenkan

Contoh 1: Buatlah basisdata baru dengan nama tennis CREATE DATABASE tennis. DROP

Melaui model pembelajaran Kooperatif (Cooperative Learning) tipe Number Head Together (NHT) dan Student Team Achievment Division (STAD), siswa diharapkan dapat

Lalu Lintas dan Angkutan Jalan sebagai bagian dari sistem transportasi nasional harus dikembangkan potensi dan perannya untuk mewujudkan keamanan, keselamatan,