MODUL III,PBO 1

          ATRIBUT DAN METHOD

 

TUJUAN:
·         Mengenal, mendefinisikan dan menjelaskan atribut/field atau variabel;
·         Menjelaskan struktur method/fungsi/sub program;
·         Menjelaskan dan membuat method asesor / getting (pengambil) method;
·         Menjelaskan dan membuat method mutator/setting (pemberi) method.
TEORI SINGKAT:
Atribut:
Atribut menunjuk pada elemen data dari sebuah object. Atribut menyimpan informasi  tentang object. Dikenal juga sebagai member data, variabel instance, properti atau sebuah field data.
Method:
Sebuah method menjelaskan behaviour dari sebuah object. Method juga dikenal sebagai fungsu atau prosedur.
Deklarasi Atribut:
Dalam mendeklarasikan atribut dengan cara:
[=];
Deklarasi Methods:
(){
     … statemen…
     }
Dimana,
      dapat menggunakan beberapa modifier yang berbeda
     dapat berupa seluruh tipe data, termasuk void
           identifier atau class
::=
Cara memanggil object:
                            nameOfObject.nameOfMethod(parameter);
Deklarasi Methods:
1.       Accessor Methods
Digunakan untuk membaca nilai variabel pada class, baik berupa instance maupun static. Sebuah accessor method umumnya dimulai dengan penulisan.
set
2.       Mutator Methods
Method yang dapat memberi atau mengubah nilai variabel dalam class, baik itu berupa instance maupun static. Method semacam ini disebut dengan mutator methods. Sebuah mutator method umumnya tertulis:
get
PELAKSANAAN PRAKTIKUM:
Praktik 1. Mendefinisikan atribut
public class Nasabah{
       public int noId;
       private String nama;
       private String aLamat;
       private String identitas;
       private String noIdentitas;
       double saldo;
       }
Pada sub bagian awal program Nasabah ini merupakan pendefinian variable atau orang sering juga menyebutnya dengan field. Berisi dengan tipe data dan nama variable. Pada program java setiap variable yang terdapat didalamnya harus didefinisikan termasuk tipe/jenis data yang akan ditampung, sebagai sebuah bentuk pemesanan pada memori yang akan digunakan untuk menyimpan data tersebut. Apabila suatu variable lupa belum di definisikan maka compailing program akan mengalami error dan akan menanyakan bahwa variable data belum terdifinisikan. Pendefinisian variable di atas disebut pendefinisian variable statis dimana variable tersebut dapat digunakan oleh di dalam kelas tersebut maupun di luar kelas. Kata private menunjukkan bahwa variable tersebut hanya bisa digunakan pada kelas yang bersangkutan dan tidak dapat digunakan oleh keturunan apalagi kelas lain.
Praktik 2. Membuat Methods

Variabel/Field

 


Method

 

Sebelum kita membuat program lebih lanjut tentang method setter dan getter dimana pada praktikum ini diistilahkan dengan mutator dan assessor maka sebagaimana di atas kita lihat ada diagram kelas yang digunakan sebagai acuan perancangan program di dalam kelas. Apa saja variable yang diperlukan dan fungsi apa saja yang akan dibuat dalam pembuatan program kelas ini. Manfaat dari diagram kelas ini salah satunya adalah untuk mempermudah kita dalam membuat struktur program. Dan merupakan ring sehingga dalam membuat program tidak terlalu melebar.
public class Nasabah{
       public int noId;
       private String nama;
       private String aLamat;
       private String identitas;
       private String noIdentitas;
       double saldo;
       }
public void
Penambahan program:
public class Nasabah{
     public int noId;
     private String nama;
     private String alamat;
     private String identitas;
     private String noIdentitas;
     double saldo;
public void lihatAccount(){
     System.out.println(“No. Id  :”+noId);
     System.out.println(“Nama    :”+nama);
     System.out.println(“Alamat  :”+alamat);
     System.out.println(“Saldo   :”+saldo);
     }
void setoran(double jml){
     saldo=saldo+jml;
     }
void pengambilan(double jml){
     saldo=saldo-jml;
     }
public static void main(String args[]){
     Nasabah penabung=new Nasabah();
     penabung.noId=1;
     penabung.nama=”Pulut”;
     penabung.alamat=”Janti”;
     penabung.identitas=”KTP”;
     penabung.noIdentitas=”122345″;
     penabung.saldo=150000.0;
     penabung.lihatAccount();
     penabung.setoran(100000);
     System.out.println(“Saldo Tabungan : “+penabung.saldo);
     penabung.pengambilan(50000);
     System.out.println(“Saldo Tabungan : “+penabung.saldo);
     }
}
Pembahasan Praktek:
Ada 3 macam method pada program di atas, yaitu: public void lihatAccount(),void setoran(double jml), void pengambilan(double jml), dan 1 method main yang merupakan method utama untuk menampilkan hasil keluaaran program. Method public void lihatAccount() adalah method non parametric dan merupakan method yang dapat dipanggil langsung tanpa harus melakukan pembuatan objek apabila ditambah kata static. Namun untuk kasus program di atas Karen pada kalangan static dan termasuk variable non parametric yang pengisian variabelnya harus menggunakan method lain, maka dalam melakukan pemanggilan kita harus menciptakan objek. Sebagaimana di atas objek yang diinstaniasi adalah Nasabah penabung=new Nasabah(0); Kalau kita paksakan memanggil tanpa objek maka akan keluar pernyataan bahwa method bukan static, karena memang tidak statemen static. Inputing data dilakukan dengan cara manual yaitu dengan memasukkan value pada variable yang didefinisikan dengan meminta bantuan objek yang telah diciptakan yaitu penabung. Sedangkan  fungsi/method lihatAccount() adalah untuk menampilkan data, method setoran() adalah untuk melakukan penghitungan saldo yang diperoleh dari saldo ditambah setoran dan method pengambilan() adalah penghitungan saldo yang diperoleh setelah dikurangi banyak penarikan. Masing-masing method tersebut dipanggil dengan meminta bantuan objek penabung hasil instaniasi kelas Nasabah.
Hasil Runing Program:
Praktik 3. Membuat Accessor Methods
public class Nasabah{
       public int noId;
       private String nama;
       private String alamat;
       private String identitas;
       private String noIdentitas;
       double saldo;
       //method asesor untuk atribut nama
       public String getNama(){
              return nama;
              }
       //method mutator untuk atribut nama
       public void setNama(String nama){
              this.nama=nama;
              }
       //method asesor untuk atribut alamat
       public String getAlamat(){
              return alamat;
              }
       //method mutator untuk atribut nama
       public void setAlamat(String alamat){
              this.alamat=alamat;
              }
       //method asesor untuk atribut saldo
       public double getSaldo(){
              return saldo;
              }
public void lihatAccount(){
       System.out.println(“No. Id  :”+noId);
       System.out.println(“Nama    :”+nama);
       System.out.println(“Alamat  :”+alamat);
       System.out.println(“Saldo   :”+saldo);
       }
void setoran(double jml){
       saldo=saldo+jml;
       }
void pengambilan(double jml){
       saldo=saldo-jml;
       }
}
Pembahasan Praktikum:
Kita lihat program di atas  kita modifikasi menjadi kelas Nasabah dengan tanpa menggunakan method main. Sehingga tidak dapat dilakukan running program, dan hanya bisa dicompail. Apabila sewaktu dikompail tidak ada error, maka besar kemungkinan method-method di dalamnya apabila digunakan oleh kelas akan jalan. Namun agar dapat digunakan oleh kelas lain maka kita perlu menciptakan method mutator atau method setter yang berfungsi untuk memberikan seting nilai terhadap suatu variable sehingga dapat bersifat public dan dapat dimanfaatkan oleh kelas lain. Pada penulisannya method assessor ini biasanya menggunakan kata “get” baru diikuti dengan nama variable. Method yang lain yaitu assessor berfungsi untuk mengambil data yang sudah didefinisikan oleh methor mutator tadi sehingga biasanya dalam membuat method ini selalu diawali dengan kata “set” baru diikuti nama variabel. Dan karena variable pada program ini cukup banyak maka dalam mendefinisikan method mutator dan assessor harus satu per satu juga. Kelihatan tidak efisien tetapi apabila sudah menjadi satu program yang terpadu cukup efisien. Dapat kita lihat bahwa method mutator dan assessor harus didefinisikan pada variable nama, alamat, dan saldo. Untuk variable noId, identitas dan noIdentitas akan kita coba pada program latihan.
Memodifikasi kelas Rekening Baru menjadi:
public class RekeningBaru{
     public static void main(String args[]){
        Nasabah nasabahBaru= new Nasabah();
        nasabahBaru.noId=2;
        nasabahBaru.nama=”Martha”;
        nasabahBaru.alamat=”Ringroad”;
        nasabahBaru.saldo=150000.0;
        nasabahBaru.lihatAccount();
        nasabahBaru.setoran(100000);
        System.out.println(“Saldo Tabungan : “+nasabahBaru.saldo);
        nasabahBaru.pengambilan(50000);
        System.out.println(“Saldo Tabungan : “+nasabahBaru.saldo);
     }
}
Pembahasan praktikum:
Membuat kelas yang didalamnya ada method main yang akan digunakan untuk menampilkan hasil dari pemasukan dan penghitungan data pada kelas Nasabah. Selain kita juga harus melakukan instaniasi terhadap kelas Nasabah menjadi objek nasabahBaru yaitu dengan perintah Nasabah nasabahBaru=new Nasabah();, dalam melakukan pemanggilan method yang terdapat di dalam kelas Nasabah harus menerakan objek yang sudah kita buat tadi. Termasuk di dalam mendefinisikan nilai pada setiap variabelnya, kita harus memanggil objek nasabahBaru. Apabila tidak dilakukan maka compail akan error dan menanyakan kelas yang terkait dengan pemanggilan pada method main ini.
Hasil Running Program:
Atau dengan cara lain untuk melakukan pemanggilan modifikasi kelas Nasabah:
Pada kelas Nasabah atribut nama, alamat, identitas, noIdentitas yang menggunakan parameter Private harus dihapus agar dapat diloaded dari kelas RekeningBaru.
public class Nasabah{
       public int noId;
       String nama;
       String aLamat;
       String identitas;
       String noIdentitas;
       double saldo;
       }
Hasil Program:
LATIHAN:
1.       Melengkapi kelas nasabah dengan metod asesor dan mutator untuk identitas dan noIdentitas.
2.       Melengkapi kelas nasabahBaru untuk pemanggilan method asesor dan mutator bagi identitas dan noIdentitas;
3.       Buat Objek baru dari kelas Nasabah pada kelas RekeningBaru lengkapi datanya;
Jawab:
public class Nasabah{
     public int noId;
     private String nama;
     private String alamat;
     private String identitas;
     private String noIdentitas;
     double saldo;
     //method asesor untuk atribut nama
     public String getNama(){
        return nama;
        }
     //method mutator untuk atribut nama
     public void setNama(String nama){
        this.nama=nama;
        }
     //method asesor untuk atribut alamat
     public String getAlamat(){
        return alamat;
        }
     //method mutator untuk atribut alamat
     public void setAlamat(String alamat){
        this.alamat=alamat;
        }
     //method asesor untuk atribut identitas
     public String getIdentitas(){
        return identitas;
        }
     //method mutator untuk atribut identitas
     public void setIdentitas(String identitas){
        this.identitas=identitas;
        }
     //method asesor untuk atribut noIdentitas
     public String getNoIdentitas(){
        return noIdentitas;
        }
     //method mutator untuk atribut noIdentitas
     public void setNoIdentitas(String noIdentitas){
        this.noIdentitas=noIdentitas;
        }
     //method asesor untuk atribut saldo
     public double getSaldo(){
        return saldo;
        }
public void lihatAccount(){
     System.out.println(“No. Id  :”+noId);
     System.out.println(“Nama    :”+nama);
     System.out.println(“Alamat  :”+alamat);
     System.out.println(“Saldo   :”+saldo);
     }
void setoran(double jml){
     saldo=saldo+jml;
     }
void pengambilan(double jml){
     saldo=saldo-jml;
     }
}
Modifikasi kelas RekeningBaru:
public class RekeningBaru{
     public static void main(String args[]){
        Nasabah nasabahBaru= new Nasabah();
        nasabahBaru.noId=2;
        nasabahBaru.setNama(“Pulut”);
        nasabahBaru.setAlamat(“Janti”);
        nasabahBaru.setIdentitas(“KTP”);
        nasabahBaru.setNoIdentitas(“122345”);
        nasabahBaru.saldo=150000.0;
        nasabahBaru.lihatAccount();
        nasabahBaru.setoran(100000);
        System.out.println(“Saldo Tabungan : “+nasabahBaru.getSaldo());
        nasabahBaru.pengambilan(50000);
        System.out.println(“Saldo Tabungan : “+nasabahBaru.getSaldo());
     }
}
Hasil Running program:
Pembahasan Latihan:
Pada program latihan ini tidak banyak yang dilakukan kecuali cukup dengan menambahkan method assessor dan mutator untuk variable noId, identitas dan noIdentitas. Dan agar dapat dipanggil maka kita juga harus menambahkan pendefinisian value/nilai pada method main yang berada pada kelas RekeningBaru di atas dengan menambahkan isi dari variable noId, identitas dan noIdentitas.
Pada kelas Nasabah kita dapat melihat dimana isi dari kelas tersebut hanya berupa field/variable dan method, sedangkan di kelas RekeningBaru kita menjumpai method main untuk melakukan pemanggilan terhadap method-method yang berada di kelas Nasabah. Sekaligus mencoba untuk mendefinisikan nilai baru dari variable-variabel yang ada untuk membuktikan bahwa method-method di dalam kelas Nasabah berfungsi.
Membuat objek baru dalam kelas pada RekeningBaru:
public class RekeningBaru{
     public static void main(String args[]){
        Nasabah nasabahBaru= new Nasabah();
        System.out.println(“==============================================”);
        nasabahBaru.noId=2;
        nasabahBaru.setNama(“Pulut”);
        nasabahBaru.setAlamat(“Janti”);
        nasabahBaru.setIdentitas(“KTP”);
        nasabahBaru.setNoIdentitas(“122345”);
        nasabahBaru.saldo=150000.0;
        nasabahBaru.lihatAccount();
        nasabahBaru.setoran(100000);
        System.out.println(“Setor   : Rp.100000.00 Saldo Tabungan : “+nasabahBaru.getSaldo());
        nasabahBaru.pengambilan(50000);
        System.out.println(“Tarik   : Rp.50000.00  Saldo Tabungan : “+nasabahBaru.getSaldo());
        System.out.println(“==============================================”);
        Nasabah nasabahAnyar= new Nasabah();
        nasabahAnyar.noId=3;
        nasabahAnyar.setNama(“Muhammad Arief”);
        nasabahAnyar.setAlamat(“Kasihan”);
        nasabahAnyar.setIdentitas(“KTP”);
        nasabahAnyar.setNoIdentitas(“22121974”);
        nasabahAnyar.saldo=1000000.0;
        nasabahAnyar.lihatAccount();
        nasabahAnyar.setoran(2000000);
        System.out.println(“Setor   : Rp.200000.00 Saldo Tabungan : “+nasabahAnyar.getSaldo());
        nasabahAnyar.pengambilan(10000);
        System.out.println(“Tarik   : Rp.10000.00  Saldo Tabungan : “+nasabahAnyar.getSaldo());
        System.out.println(“==============================================”);
     }
}
Pembahasan Latihan:
Kita dapat melihat fungsi dari pendefinisian setter atau mutator dan getter atau assessor sebagai sebuah perintah untuk mendefinisikan value variable dan cara pengambilan hasil dari pendefinisan value tersebut. Pada saat data Nasabah ke 2 dengan identitas sebagaimana terlihat hasil tampilan di bawah, kemudian data kita ganti dengan nasabah ke 3 dengan nilai setor dan tarik yang berbeda dengan nasabah 1. Dan membuktikan bahwa method-method yang berada pada kelas Nasabah berfungsi dengan baik, khususnya fungsi method assessor dan mutator. Karena apabila kita tidak meletakkan method mutator maupun assessor maka nilai-nilai masukan tersebut tidak dapat ditampilkan atau diproses.
Hasil Running Program:
TUGAS:
1.       Identifikasi attribuut dan method untuk Mahasiswa,gambarkan dengan kelas diagram;
2.       Buat program untuk kelas Mahasiswa yang telah Anda Definisikan;
3.       Buat kelas baru terdiri dari method main yang berfungsi untuk membuat objek Mahasiswa dan mengakses atribut serta method yang dimiliki.
Penyelesaian:

Program mahasiswa:
import java.util.Scanner;
class Mahasiswa{
     String nim;
     String nama;
     String jurusan;
     double nilai, uas, uts, tugas;
public void setNim(String nim){
        this.nim=nim;
     }
public String getNim(){
        return this.nim;
     }
public void setNama(String nama){
        this.nama=nama;
     }
public String getNama(){
        return this.nama;
     }
public void setJurusan(String jurusan){
        this.jurusan=jurusan;
     }
public String getJurusan(){
        return this.jurusan;
     }
public double nilaiHitung(){
     return nilai=(uts + uas + tugas) / 3;
     }
public void lihatData(){
     System.out.println(“===================================”);
     System.out.println(“DATA MAHASISWA”);
     System.out.println(“===================================”);
     System.out.println(“NIM     : “+this.nim);
     System.out.println(“NAMA    : “+this.nama);
     System.out.println(“Jurusan : “+this.jurusan);
     System.out.println(“Nilai   : “+this.nilai);
     System.out.println(“===================================”);
     }
public void isiData(){
     System.out.println(“===================================”);
     System.out.println(“ISIKAN DATA MAHASISWA”);
     System.out.println(“===================================”);
     Scanner masuk=new Scanner (System.in);
     System.out.print(“NIM           : “);
     nim=masuk.nextLine();
     System.out.print(“NAMA          : “);
     nama=masuk.nextLine();
     System.out.print(“JURUSAN       : “);
     jurusan=masuk.nextLine();
     System.out.print(“Nilai UTS     : “);
     uts=masuk.nextDouble();
     System.out.print(“Nilai UAS     : “);
     uas=masuk.nextDouble();
     System.out.print(“Nilai Tugas   : “);
     tugas=masuk.nextDouble();
     }
}
Dan Satu kelas lagi untuk menampilkan:
class NilaiMahasiswa{
public static void main(String[]args){
    Mahasiswa mhs=new Mahasiswa();
    mhs.isiData();
    mhs.nilaiHitung();
    mhs.lihatData();
    }
}
Pembahasan Tugas:
Pada pengerjaan tugas ini kami melengkapi dengan kelas Scanner sehingga program dapat menerima masukan dari keyboard. Dengan harapan bahwa dalam memodifikasi keluaran program kita tidak perlu melakukan perubahan pada nilai-nilai value sebagaimana pada program praktikum dan latihan di atas. Dengan menggunakan perintah:
                           
           Scanner masuk=new Scanner (System.in);
Maka kita dapat memerintahkan agar variable-variabel nim, nama, jurusan dan nilai yang terdiri dari nilai UTS,UAS dan Tugas dapat dimasukkan melalui keyboard. Statemen untuk menampung masukan salah satunya adalah:
     nim=masuk.nextLine();
Dimana nim adalah nama variable, masuk adalah objek hasil instaniasi dari kelas Scanner, nextLine adalah tipe data masukan yang dapat ditampung, nextLine() disini berarti data masukan yang dapat diterima adalah tipe String. Lain halnya dengan uas=masuk.nextDouble(). Berarti tipe yang dapat dimasukkan melalui keyboard adalah tipe data double.
Hasil dari masukan yang diketik dengan keyboard tersebut kemudian diproses melalui method mutator dan assessor yang nilai masukan berupa uts, uas dan tugas diproses melalui hitungan matematiks rerata dari tiga buah variable tersebut menjadi variable nilai. Variabel yang ditamping dan diolah tersebut kemudian ditampilkan dengan method lihatData.
Hasil Running adalah:
KESIMPULAN:
  1. Method mutator adalah method yang mendefinisikan value/nilai data yang telah dimasukan ke dalam sebuah variable. Method assessor adalah method yang digunakan untuk mengambil data yang telah didefinisikan oleh method mutator. Biasanya ditandai dengan kata this sebelum penulisan variable. Method ini biasanya berpasangan tetapi dapat juga kita hanya mendefinisikan method mutator untuk memperoleh nilai tertentu yang kita kehendaki, karena adanya beberapa vaiabel yang terdifinisi.
  2. Dengan menggunakan gambar diagram kelas pembuatan program lebih mudah dan terstruktur. Dapat diketahui komponen penyusun kelas dari atribut dan method yang digunakan.
Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s