Bab yang di pelajari di kelas PBO kemaren bahas tentang class dan object.
Berikut sedikit pengertian mengenai class dan object
Apasih class itu?
Sedangkan Class merupakan cetak biru (blue print) dari objek atau dengan kata lain sebuah Class
menggambarkan ciri-ciri objek secara umum. Sebagai contoh Suzuki Smash, Yamaha VegaR,
Honda SupraFit, dan Kawasaki KazeR merupakan objek dari Class sepeda motor. Suzuki Smash
dan objek lainnya juga memiliki kesamaan atribut (merk, tipe, berat, kapasitas bensin, tipe
mesin, warna, harga) dan method untuk mengakses data pada atributnya (misal fungsi untuk
menginputkan data merk, tipe, berat, dsb serta fungsi untuk mencetak data merk, tipe, berat,
dsb).
Instant of Class
a. Object
Objek merupakan segala sesuatu yang ada didunia ini, yaitu manusia, hewan, tumbuhan,
rumah, kendaraan, dan lain sebagainya. Contoh-contoh objek yang telah disebutkan diatas
merupakan contoh objek nyata pada kehidupan kita.
Pada pemrograman berorientasi objek, kita akan belajar bagaimana membawa konsep objek
dalam kehidupan nyata menjadi objek dalam dunia pemrograman. Setiap objek dalam dunia
nyata pasti memiliki 2 elemen penyusunnya, yaitu keadaan (state) dan perilaku/sifat (behaviour).
Atribut, merupakan ciri-ciri yang melekat pada suatu objek (state).
Method, merupakan fungsi-fungsi yang digunakan untuk memanipulasi nilai-nilai pada
atribut atau untuk melakukan hal-hal yang dapat dilakukan suatu objek (behaviour).
Objek dalam konsep PBO memiliki keadaan dan perilaku yang sama seperti halnya objek di
dunia nyata, karena objek dalam konsep PBO merupakan representasi objek dari dunia nyata.
Objek dalam PBO merepresentasikan keadaan melalui variabel-variabel (Atribut),
sedangkan
perilakunya direpresentasikan dengan method (yang merupakan suatu fungsi yang berhubungan
dengan perilaku objek tersebut maupun berhubungan dengan atribut dari objek tersebut). Objek
yang memiliki kesamaan atribut dan method dapat dikelompokkan menjadi sebuah Class. Dan
objek-objek yang dibuat dari suatu class itulah yang disebut dengan Instant of class.
Berbeda dengan object biasa, anonymous object merupakan objek yang tidak memiliki nama.
Anonymous object tidak memakan resource memori. Namun kelemahannya adalah objek ini
tidak bisa digunakan lagi (hanya dapat digunakan satu kali saja) karena setelah digunakan akan
langsung dihapus.
Perhatikan keyword “this” di bawah ini (lihat pada class SepedaMotor) : Untuk membedakan variabel merk pada parameter dan variabel merk pada atribut dari class SepedaMotor, digunakanlah keyword “this”. Sehingga untuk menggunakan atribut merk pada class SepedaMotor, digunakan : this.merk
Pada contoh class Latihan1a, atribut dari class tersebut adalah merk, tipe, tangki, dan harga, yang
ini berarti bahwa setiap objek dari class sepeda motor (atau dengan kata lain setiap sepeda motor
yang ada di dunia nyata) pasti memiliki merk, tipe motornya, kapasitas maksimal dari tangki
BBM, dan harga jual sepeda motor tersebut di pasaran.
Sedangkan contoh method dari class Latihan 1a adalah setMerk(String merk) dan getMerk() yang
berfungsi untuk mengambil nilai atribut merk. Secara umum method (ada juga yang
menyebutnya fungsi) itu ada 2 macam, yaitu method yang mengembalikan nilai dan method
yang tidak mengembalikan nilai.
Yang dimaksud dengan access modifier adalah pengaturan hak akses class maupun method. Ada
4 akses yang tersedia, yaitu default, public, protected, private.1.6. Static Variable vs Instant Variable
Static variabel adalah variabel yang didefinisikan/dideklarasikan dengan menggunakan keyword
“static”,
“static”,
contoh :
Variabel-variabel yang dideklarasikan dengan tidak menggunakan keyword “static”, maka
variabel tersebut disebut dengan instant variabel (atau variabel instant).
Jika sebuah variable merupakan variable instant, maka masing-masing objek dari class
tersebut akan memiliki variable yang sama dengan variable instant tersebut, perubahan nilai
yang terjadi pada variable instant di satu objek tidak akan berpengaruh pada variable instant
di objek yang berbeda.
Jika sebuah variable merupakan variable static (pada suatu class), maka variabel static
tersebut adalah variabel yang sama di semua objek dari class tersebut. Sehingga perubahan
nilai pada variabel static tersebut di suatu objek akan berpengaruh juga terhadap objek yang
lainnya.
Nilai suatu variabel static akan selalu sama untuk semua instant of class (atau objek) dari
sebuah class.
Berikut contoh penggunaan class dan object dalam suatu program sederhana dalam perhitungan aritmatika
package perhitunganaritmatika;
public class operasi {
int angka1;
int angka2;
int hasil;
float hasil1;
public operasi(int angka1, int angka2){
this.angka1=angka1;
this.angka2=angka2;
}
int getPenjumlahan(){
hasil=angka1+angka2;
return hasil;
}
float getPembagian(){
hasil1=(float)angka1/(float)angka2;
return hasil1;
}
int getPengurangan(){
hasil=angka1-angka2;
return hasil;
}
int getPerkalian(){
hasil=angka1*angka2;
return hasil;
}
}
Pada class lain, tinggal melakukan pemanggilan class yang sudah dibuat sebelumnya untuk memberikan nilai untuk inputan yang dimasukkan user
package perhitunganaritmatika;
import java.util.Scanner;
public class inputan {
public static void main(String[] args) {
Scanner angka = new Scanner(System.in);
System.out.print("Masukkan bilangan pertama : ");
int i=angka.nextInt();
System.out.println("----------------------------");
System.out.print("Masukkan bilangan kedua : ");
int j =angka.nextInt();
System.out.println("----------------------------");
System.out.println("Hasil perhitungan : ");
operasi hasilnya = new operasi (i,j);
System.out.println("Hasil Pengurangan = "+hasilnya.getPengurangan());
System.out.println("Hasil Perjumlahan = "+hasilnya.getPenjumlahan());
System.out.println("Hasil Perkalian = "+hasilnya.getPerkalian());
System.out.println("Hasil Pembagian = "+hasilnya.getPembagian());
}
}
Dan dalam penerapan program sederhana seperti pemasukan biodata seseorang dapat dilakukan sebagai berikut :
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package identitas;
/**
*
* @author ASUS
*/
public class data {
String nim;
String nama;
String alamat;
String jeniskelamin;
String status;
public void Setnim (String nim){
this.nim=nim;
}
public void SetNama (String nama){
this.nama=nama;
}
public void SetAlamat (String alamat){
this.alamat=alamat;
}
public void SetJenisKelamin (String jeniskelamin){
this.jeniskelamin=jeniskelamin;
}
public void SetStatus(String status){
this.status=status;
}
public String getNim(){
return nim;
}
public String getNama(){
return nama;
}
public String getAlamat(){
return alamat;
}
public String getJeniskelamin(){
return jeniskelamin;
}
public String getStatus(){
return status;
}
void status(String status2){
boolean m, l;
if (m=true){
System.out.println("Menikah");
}else if (l=true){
System.out.println("Lajang");
}
}
void jenis(String jenis2){
boolean L, P;
if (L=true){
System.out.println("laki-laki");
}else if (P=true){
System.out.println("perempuan");
}
}
}
Dan juga, pada main class hanya perlu memanggil class yang sudah dibuat untuk menampilkan fungsi
package identitas;
import java.io.*;
public class input {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException {
// TODO code application logic here
data p = new data();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
System.out.print("Masukkan nim : ");
p.Setnim((br.readLine()));
System.out.print("Masukkan nama : ");
p.SetNama((br.readLine()));
System.out.print("Masukkan alamat : ");
p.SetAlamat((br.readLine()));
System.out.print("Masukkan jenis kelamin : ");
p.SetJenisKelamin((br.readLine()));
System.out.print("Masukkan status : ");
p.SetStatus((br.readLine()));
System.out.println("-----------------------");
System.out.println("Nim : " + p.getNim());
System.out.println("Nama : " + p.getNama());
System.out.println("Alamat : " + p.getAlamat());
System.out.print("Jenis kelamin : ");
p.jenis(null);
System.out.print("Status :");
p.status(null);
}
}
Tidak ada komentar:
Posting Komentar