MODUL III,PBO 1

          ATRIBUT DAN METHOD

 

TUJUAN:
·        Mengenal,mendefinisikan dan menjelaskan atribut/field atau variabel;
·        Menjelaskanstruktur method/fungsi/sub program;
·        Menjelaskandan membuat method asesor / getting (pengambil) method;
·        Menjelaskandan membuat method mutator/setting (pemberi) method.
TEORI SINGKAT:
Atribut:
Atribut menunjuk pada elemen data dari sebuahobject. Atribut menyimpan informasi tentang object. Dikenal juga sebagai member data, variabel instance,properti atau sebuah field data.
Method:
Sebuah method menjelaskan behaviour dari sebuahobject. Method juga dikenal sebagai fungsu atau prosedur.
Deklarasi Atribut:
Dalam mendeklarasikan atribut dengan cara:
[=];
Deklarasi Methods:
(){
     … statemen…
     }
Dimana,
      dapatmenggunakan beberapa modifier yang berbeda
     dapat berupa seluruh tipe data, termasuk void
           identifieratau class
::=
Cara memanggil object:
                            nameOfObject.nameOfMethod(parameter);
Deklarasi Methods:
1.      AccessorMethods
Digunakan untuk membaca nilai variabelpada class, baik berupa instance maupun static. Sebuah accessor method umumnyadimulai dengan penulisan.
set
2.      MutatorMethods
Method yang dapat memberi atau mengubahnilai variabel dalam class, baik itu berupa instance maupun static. Methodsemacam ini disebut dengan mutator methods. Sebuah mutator method umumnyatertulis:
get
PELAKSANAAN PRAKTIKUM:
Praktik 1. Mendefinisikan atribut
public classNasabah{
       public int noId;
       private String nama;
       private String aLamat;
       private String identitas;
       private String noIdentitas;
       double saldo;
       }
Pada sub bagian awalprogram Nasabah ini merupakan pendefinian variable atau orang sering jugamenyebutnya dengan field. Berisi dengan tipe data dan nama variable. Padaprogram java setiap variable yang terdapat didalamnya harus didefinisikantermasuk tipe/jenis data yang akan ditampung, sebagai sebuah bentuk pemesananpada memori yang akan digunakan untuk menyimpan data tersebut. Apabila suatu variablelupa belum di definisikan maka compailing program akan mengalami error dan akanmenanyakan bahwa variable data belum terdifinisikan. Pendefinisian variable diatas disebut pendefinisian variable statis dimana variable tersebut dapatdigunakan oleh di dalam kelas tersebut maupun di luar kelas. Kata privatemenunjukkan bahwa variable tersebut hanya bisa digunakan pada kelas yangbersangkutan dan tidak dapat digunakan oleh keturunan apalagi kelas lain.
Praktik 2. Membuat Methods

Variabel/Field

 


Method

 

Sebelum kita membuatprogram lebih lanjut tentang method setter dan getter dimana pada praktikum inidiistilahkan dengan mutator dan assessor maka sebagaimana di atas kita lihatada diagram kelas yang digunakan sebagai acuan perancangan program di dalamkelas. Apa saja variable yang diperlukan dan fungsi apa saja yang akan dibuatdalam pembuatan program kelas ini. Manfaat dari diagram kelas ini salah satunyaadalah untuk mempermudah kita dalam membuat struktur program. Dan merupakanring sehingga dalam membuat program tidak terlalu melebar.
public classNasabah{
       public int noId;
       private String nama;
       private String aLamat;
       private String identitas;
       private String noIdentitas;
       double saldo;
       }
public void
Penambahan program:
public classNasabah{
     public int noId;
     private String nama;
     private String alamat;
     private String identitas;
     private String noIdentitas;
     double saldo;
public voidlihatAccount(){
     System.out.println(“No. Id  :”+noId);
     System.out.println(“Nama    :”+nama);
     System.out.println(“Alamat  :”+alamat);
     System.out.println(“Saldo   :”+saldo);
     }
voidsetoran(double jml){
     saldo=saldo+jml;
     }
voidpengambilan(double jml){
     saldo=saldo-jml;
     }
public staticvoid 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 padaprogram di atas, yaitu: public void lihatAccount(),void setoran(double jml), voidpengambilan(double jml), dan 1 method main yang merupakan method utama untukmenampilkan hasil keluaaran program. Method public void lihatAccount() adalahmethod non parametric dan merupakan method yang dapat dipanggil langsung tanpaharus melakukan pembuatan objek apabila ditambah kata static. Namun untuk kasusprogram di atas Karen pada kalangan static dan termasuk variable non parametricyang pengisian variabelnya harus menggunakan method lain, maka dalam melakukanpemanggilan kita harus menciptakan objek. Sebagaimana di atas objek yangdiinstaniasi adalah Nasabah penabung=new Nasabah(0); Kalau kita paksakanmemanggil tanpa objek maka akan keluar pernyataan bahwa method bukan static,karena memang tidak statemen static. Inputing data dilakukan dengan cara manualyaitu dengan memasukkan value pada variable yang didefinisikan dengan memintabantuan objek yang telah diciptakan yaitu penabung. Sedangkan  fungsi/method lihatAccount() adalah untukmenampilkan data, method setoran() adalah untuk melakukan penghitungan saldoyang diperoleh dari saldo ditambah setoran dan method pengambilan() adalahpenghitungan saldo yang diperoleh setelah dikurangi banyak penarikan.Masing-masing method tersebut dipanggil dengan meminta bantuan objek penabunghasil instaniasi kelas Nasabah.
Hasil Runing Program:
Praktik 3. MembuatAccessor Methods
public class Nasabah{
       publicint noId;
       privateString nama;
       privateString alamat;
       privateString identitas;
       privateString noIdentitas;
       doublesaldo;
       //methodasesor untuk atribut nama
       publicString getNama(){
              returnnama;
              }
       //methodmutator untuk atribut nama
       publicvoid setNama(String nama){
              this.nama=nama;
              }
       //methodasesor untuk atribut alamat
       publicString getAlamat(){
              returnalamat;
              }
       //methodmutator untuk atribut nama
       publicvoid setAlamat(String alamat){
              this.alamat=alamat;
              }
       //methodasesor untuk atribut saldo
       publicdouble getSaldo(){
              returnsaldo;
              }
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 dengantanpa menggunakan method main. Sehingga tidak dapat dilakukan running program,dan hanya bisa dicompail. Apabila sewaktu dikompail tidak ada error, maka besarkemungkinan method-method di dalamnya apabila digunakan oleh kelas akan jalan.Namun agar dapat digunakan oleh kelas lain maka kita perlu menciptakan methodmutator atau method setter yang berfungsi untuk memberikan seting nilaiterhadap suatu variable sehingga dapat bersifat public dan dapat dimanfaatkanoleh kelas lain. Pada penulisannya method assessor ini biasanya menggunakankata “get” baru diikuti dengan nama variable. Method yang lain yaitu assessorberfungsi untuk mengambil data yang sudah didefinisikan oleh methor mutatortadi sehingga biasanya dalam membuat method ini selalu diawali dengan kata“set” baru diikuti nama variabel. Dan karena variable pada program ini cukupbanyak maka dalam mendefinisikan method mutator dan assessor harus satu persatu juga. Kelihatan tidak efisien tetapi apabila sudah menjadi satu programyang terpadu cukup efisien. Dapat kita lihat bahwa method mutator dan assessorharus didefinisikan pada variable nama, alamat, dan saldo. Untuk variable noId,identitas dan noIdentitas akan kita coba pada program latihan.
Memodifikasi kelasRekening Baru menjadi:
public classRekeningBaru{
     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 yangdidalamnya ada method main yang akan digunakan untuk menampilkan hasil daripemasukan dan penghitungan data pada kelas Nasabah. Selain kita juga harusmelakukan instaniasi terhadap kelas Nasabah menjadi objek nasabahBaru yaitudengan perintah Nasabah nasabahBaru=new Nasabah();, dalam melakukan pemanggilanmethod yang terdapat di dalam kelas Nasabah harus menerakan objek yang sudahkita buat tadi. Termasuk di dalam mendefinisikan nilai pada setiap variabelnya,kita harus memanggil objek nasabahBaru. Apabila tidak dilakukan maka compailakan error dan menanyakan kelas yang terkait dengan pemanggilan pada methodmain ini.
Hasil Running Program:
Atau dengan cara lain untukmelakukan pemanggilan modifikasi kelas Nasabah:
Pada kelas Nasabah atributnama, alamat, identitas, noIdentitas yang menggunakan parameter Private harusdihapus agar dapat diloaded dari kelas RekeningBaru.
public classNasabah{
       public int noId;
       String nama;
       String aLamat;
       String identitas;
       String noIdentitas;
       double saldo;
       }
Hasil Program:
LATIHAN:
1.       Melengkapikelas nasabah dengan metod asesor dan mutator untuk identitas dan noIdentitas.
2.       Melengkapikelas nasabahBaru untuk pemanggilan method asesor dan mutator bagi identitasdan noIdentitas;
3.       BuatObjek baru dari kelas Nasabah pada kelas RekeningBaru lengkapi datanya;
Jawab:
public classNasabah{
     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(StringnoIdentitas){
        this.noIdentitas=noIdentitas;
        }
     //method asesor untuk atribut saldo
     public double getSaldo(){
        return saldo;
        }
public voidlihatAccount(){
     System.out.println(“No. Id  :”+noId);
     System.out.println(“Nama    :”+nama);
     System.out.println(“Alamat  :”+alamat);
     System.out.println(“Saldo   :”+saldo);
     }
voidsetoran(double jml){
     saldo=saldo+jml;
     }
voidpengambilan(double jml){
     saldo=saldo-jml;
     }
}
Modifikasi kelasRekeningBaru:
public classRekeningBaru{
     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 initidak banyak yang dilakukan kecuali cukup dengan menambahkan method assessordan mutator untuk variable noId, identitas dan noIdentitas. Dan agar dapatdipanggil maka kita juga harus menambahkan pendefinisian value/nilai padamethod main yang berada pada kelas RekeningBaru di atas dengan menambahkan isidari variable noId, identitas dan noIdentitas.
Pada kelas Nasabah kitadapat melihat dimana isi dari kelas tersebut hanya berupa field/variable danmethod, sedangkan di kelas RekeningBaru kita menjumpai method main untukmelakukan pemanggilan terhadap method-method yang berada di kelas Nasabah. Sekaligusmencoba untuk mendefinisikan nilai baru dari variable-variabel yang ada untukmembuktikan bahwa method-method di dalam kelas Nasabah berfungsi.
Membuat objek baru dalamkelas pada RekeningBaru:
public class RekeningBaru{
     publicstatic void main(String args[]){
        NasabahnasabahBaru= 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(“==============================================”);
        NasabahnasabahAnyar= new Nasabah();
        nasabahAnyar.noId=3;
        nasabahAnyar.setNama(“MuhammadArief”);
        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(“==============================================”);
     }
}
PembahasanLatihan:
Kita dapat melihat fungsi dari pendefinisian setteratau mutator dan getter atau assessor sebagai sebuah perintah untukmendefinisikan value variable dan cara pengambilan hasil dari pendefinisanvalue tersebut. Pada saat data Nasabah ke 2 dengan identitas sebagaimanaterlihat hasil tampilan di bawah, kemudian data kita ganti dengan nasabah ke 3dengan nilai setor dan tarik yang berbeda dengan nasabah 1. Dan membuktikanbahwa method-method yang berada pada kelas Nasabah berfungsi dengan baik,khususnya fungsi method assessor dan mutator. Karena apabila kita tidakmeletakkan method mutator maupun assessor maka nilai-nilai masukan tersebuttidak dapat ditampilkan atau diproses.
Hasil Running Program:
TUGAS:
1.       Identifikasiattribuut dan method untuk Mahasiswa,gambarkan dengan kelas diagram;
2.       Buatprogram untuk kelas Mahasiswa yang telah Anda Definisikan;
3.       Buatkelas baru terdiri dari method main yang berfungsi untuk membuat objekMahasiswa dan mengakses atribut serta method yang dimiliki.
Penyelesaian:

Program mahasiswa:
importjava.util.Scanner;
classMahasiswa{
     String nim;
     String nama;
     String jurusan;
     double nilai, uas, uts, tugas;
public voidsetNim(String nim){
        this.nim=nim;
     }
public StringgetNim(){
        return this.nim;
     }
public voidsetNama(String nama){
        this.nama=nama;
     }
public StringgetNama(){
        return this.nama;
     }
public voidsetJurusan(String jurusan){
        this.jurusan=jurusan;
     }
public StringgetJurusan(){
        return this.jurusan;
     }
public doublenilaiHitung(){
     return nilai=(uts + uas + tugas) / 3;
     }
public voidlihatData(){
     System.out.println(“===================================”);
     System.out.println(“DATAMAHASISWA”);
     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 voidisiData(){
     System.out.println(“===================================”);
     System.out.println(“ISIKAN DATAMAHASISWA”);
     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 untukmenampilkan:
class NilaiMahasiswa{
public static void main(String[]args){
    Mahasiswa mhs=newMahasiswa();
    mhs.isiData();
    mhs.nilaiHitung();
    mhs.lihatData();
    }
}
Pembahasan Tugas:
Pada pengerjaan tugas inikami melengkapi dengan kelas Scanner sehingga program dapat menerima masukandari keyboard. Dengan harapan bahwa dalam memodifikasi keluaran program kita tidakperlu melakukan perubahan pada nilai-nilai value sebagaimana pada programpraktikum dan latihan di atas. Dengan menggunakan perintah:
                           
           Scannermasuk=new Scanner (System.in);
Maka kita dapatmemerintahkan agar variable-variabel nim, nama, jurusan dan nilai yang terdiridari nilai UTS,UAS dan Tugas dapat dimasukkan melalui keyboard. Statemen untukmenampung masukan salah satunya adalah:
     nim=masuk.nextLine();
Dimana nim adalah namavariable, masuk adalah objek hasil instaniasi dari kelas Scanner, nextLineadalah tipe data masukan yang dapat ditampung, nextLine() disini berarti datamasukan yang dapat diterima adalah tipe String. Lain halnya denganuas=masuk.nextDouble(). Berarti tipe yang dapat dimasukkan melalui keyboardadalah tipe data double.
Hasil dari masukan yangdiketik dengan keyboard tersebut kemudian diproses melalui method mutator danassessor yang nilai masukan berupa uts, uas dan tugas diproses melalui hitunganmatematiks rerata dari tiga buah variable tersebut menjadi variable nilai. Variabelyang ditamping dan diolah tersebut kemudian ditampilkan dengan methodlihatData.
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