OOP CONCEPT
Konsep Pemrogramman Berorientasi Objek
OOP populer pada masa kini menjadikan objek sebagai komponen
utama dalam program. Objek menggabungkan data dan fungsi sebagai satu kesatuan
sedangkan pada pemrogramman yang tidak berorientasi pada objek, fungsilah yang
menjadi perhatian utama.
Fungsi adalah subprogram atau sekumpulan kode (instruksi)
yang diberi suatu nama tersendiri.
OOP membuat pengembangan program dapat dilakukan dengan
lebih mudah, mengurangi duplikasi kode serta mengulangi kesalahan.
OOP mempunyai 2 istilah yang sangat terkenal yaitu kelas dan
objek, dengan pengertian dibawah ini,
Kelas itu cetakan kue
Kelas itu cetakan untuk objek
Seperti halnya cetakan kue, sejumlah kuenya dapat diciptakan
dengan menggunakan sebuah cetakan, jadi sebuah kelas dapat mempunyai 1 atau
beberapa objek.
Contoh sebuah kelas adalah mobil sedangkan objeknya dapat
memiliki data seperti merk mobil, warnanya, produsen, noor mesin dan atribut
lainnya yang berhubungan dengan mobil. Metode yang dimiliki objek berkelas
mobil dapat berupa cara menghidupkan mesin dan mengganti perseneling
Menggunakan Objek
Objek dibuat dengan mula-mula membuat variabel yang kelak
merujuk ke objek atau disebut dengan variabel objek. Selanjutnya objek
diciptakan melalui new dan hasilnya ditugaskan ke variabel objek
Contoh :
import java.util.Date;
public class ObjekTanggal{
public static void main (String[ ] args){
Date waktuSekarang = new Date ( );
System.out.println(“Isi Waktu Sekarang:
“+waktuSekarang);
}
}
Date adalah kelas yang disediakan Java yang berhubungan
dengan tanggal dan waktu. Kelas ini terdapat pada paket java.util.Date
Menciptakan Kelas
Kelas pada Java didefinisikan dengan menggunakan kata kunci class,contoh
penulisannya,
class Mobil {
String warna;
Int tahunProduksi;
}
Kelas yang dibuat bernama Mobil. warna dan tahunProduksi disebut
variabel instan atau field
Menggunakan Kelas Dalam Program
Contoh :
class Mobil {
String warna;
Int tahunProduksi;
}
public class KelasMobil {
public static void main(String[ ] args) {
Mobil mobilku = new Mobil ();
//Variabel Instannya
mobilku.warna = “merah”;
mobilku.tahunProduksi = 2003;
//Menampilkan Variabel Instannya
System.out.println(“warna :”+mobilku.warna);
System.out.println(“Tahun :”+mobilku.tahunProduksi);
}
}
Pernyataan dibawah ini digunakan untuk mendeklarasikan
variabelmobilku yang merujuk ke objek berkelas Mobil.
Mobil mobilku = new Mobil ();
Pernyataan dibawah ini digunakan untuk memasukkan string “Merah” ke
variabel instan warna yang merupakan milik objek yang dirujuk oleh
variabel objek mobilku.
mobilku.warna = “merah”;
Kelas Dengan Metode
Sebuah kelas umumnya tersusun atas variabel instan dan
metode untuk objek.
Metode adalah fungsi (subprogram) yang melekat pada sebuah
objek atau instan kelas.
Contoh :
class Mobil{
//variabel instan
String warna;
int tahunProduksi;
//metode
void isiData(String warnaMobil,int tahunProduksiMobil){//digunakan
untuk
mengisikan data warna dantahunProduksi
warna = warnaMobil; //digunakan untuk
mengisikan nilai parameter
warnaMobilke variabel instanwarna
tahunProduksi = tahunProduksiMobil;
}
String ambilWarna(){
return warna;
}
int ambilTahunProduksi(){
return tahunProduksi;
}
}
public class KelasMobil1{
public static void main(String[] args){
Mobil mobilku=new Mobil();
//isi variabel instan
mobilku.isiData(“Merah”,2003);
//Tampilin isi variabel instan
System.out.println(“Warna :”+mobilku.ambilWarna());
System.out.println(“Tahun :”+mobilku.ambilTahunProduksi());
}
}
Kata kunci void didepan metode isiData() menyatakan
bahwa metode ini tidak mempunyai nilai balik.
Nilai balik adalah nilai yang diberikan oleh metode ketika
dipanggil.
Metode ambilWarna() digunakan untuk memperoleh isi
variabel instanwarna. Oleh karena itu didepan nama ambilWarna terdapat
kataString yang menyatakan nilai balik metode ini. Sedangkan
pernyataan dibawah ini,
return warna;
Merupakan pernyataan untuk memberikan nilai balik metode
ini. Dalam hal ini nilai pada warna lah yang menjadi nilai
baliknya, perlu diketahui, return menyebabkan ekseskusi terhadap metode segera
diakhiri.
Kata Kunci This
This dipergunakan pada pembuatan kelas dan digunakan untuk
menyatakan objek sekarang, contoh ;
class Mobil{
//variabel instan
String warna;
int tahunProduksi;
//metode
void isiData(String warna,int tahunProduksi){
this.warna = warna;
this.tahunProduksi = tahunProduksi;
}
}
public class KelasMobil2{
public static void main(String[] args){
Mobil mobilku=new Mobil();
//isi variabel instan
mobilku.isiData(“Merah”,2003);
//Tampilin isi variabel instan
System.out.println(“Warna :”+mobilku.warna);
System.out.println(“Tahun :”+mobilku.tahunProduksi);
}
}
Lingkup Variabel
Bila dalam suatu metode terdapat pemanggilan terhadap suatu
variabel, Java menggunakan konsep sebagai berikut ;
Mula-mula variabel akan dianggap berada pada lingkup blok
sekarang, jika tidak ada Java akan mencarikannya pada blok yang lebih luar,
begitu seterusnya. Berdasarkan lingkup variabel seperti ini, dimungkinkan untuk
membuat variabel yang bersifat lokal.
Contoh :
class Lingkup {
//variabel instan
String warna=”Merah”;
//metode
void infoLingkup(){
String warna=”Biru”;
System.out.println(“warna pada metode:”+warna);
System.out.println(“warna milik kelas:”+this.warna);
}
}
public class LingkupVariabel{
public static void main (String[] args){
Lingkup varx=new Lingkup();
varx.infoLingkup();
}
}
Perhatikan bahwa warna dideklarasikan pada kelas Lingkup sebagai
variabel instan maupun pada metode infoLingkup(). Pada keadaan seperti
ini, penyebutan warna pada infoLingkup() akan
diinterprestasikan sebagai variabel lokal pada metode tersebut.
Seandainya pada keadaan seperti itu dikehendaki untuk
menyebut variabel instan warna didalam metode infoLingkup(), yaitu
dengan menambahkan kata kunci this seperti berikut : this.warna
Penentu Akses : Private dan Public
Pada OOP akses terhadap suatu variabel instan diluar kelas,
biasanya tidak diperkenankan, sebagai penggantinya disediakan metode yang
diperlukan untuk mengakses variabel instan.
Berkaitan dengan boleh tideknya suatu variabel instan
diakses dari luar kelas, Java menyediakan penentu akses. Dua diantara penentu
akses yang tersedia adalah private dan public.
Ø Private berarti bahwa pengaksesan suatu variabel
instan atau metode hanya dapat dilakukkan didalam kelas (tidak bisa diakses
dari luar kelas)
Ø Public berarti bahwa pengaksesan suatu variabel
instan atau metode dapat dilakukkan dari luar kelas.
Contoh : pengambilan nama siswa baik melalui metode yang
disediakan untuk keperluan tersebut maupun variabel instan.
class Siswa{
//variabel instan
String nama;
//metode
void isiData(String nama){
this.nama=nama;
}
String ambilNama(){
return this.nama;
}
}
public class PenentuAkses{
public static void main(String[] args){
Siswa siswa1=new Siswa();
//isi variabel instan
siswa1.isiData(“Lia Damayanti”);
//menampilkan nama siswa melalui metode
System.out.println(“Nama:”+siswa1.ambilNama());
//menampilkan naa siswa melalui variabel
System.out.println(“Nama:”+siswa1.nama);
}
}
Sekarang kita gunakan private sebagai penentu akses
pada variabel instan nama. Yaitu dengan menambahkan kata kunci private didepan
deklarasi nama, sebagai berikut :
private String nama;
Selanjutnya simpanlah dan kemudian kompilasilah, maka akan
ada kesalahan seperti berikut :
C:\Documents and Settings\YAYA\My Documents\STTBI\Object
Oriented Programming\Materi Blog\PenentuAkses.java:27: nama has private access
in SiswaSystem.out.println(“Nama:”+siswa1.nama);
^
Begitulah cara perlu diterapkan kalau dikehendaki agar
pengaksesan terhadap variabel instan diluar kelas tidak diperkenankan. Dengan
demikian pengaksesan data harus dilakukkan melalui pemanggilan metode.
Bagaimana dengan public, untuk mengetahui efeknya
coba kita ubah dari private menggunakan public sehingga
pernyataan menjadi :
public String nama;
selanjutnya kompilasilah, kita tidak akan menemui kesalahan
seperti menggunakan private, lalu eksekusi program tersebut, kita akan
mendapatkan hasil sama seperti tidak menggunakan public.
Sekilas terlihat bahwa suatu variabel yang tidak diberi
penentu akses apapun, variabel tersebut memiliki sifat yang sama dengan kalau
diberi penentu kases public. Namun sebenarnya variabel tersebut
memiliki makna yang berbeda. Kita dapat melihat dibawah perbedaannya :
Perbedaan pubic, private dan tanpa penentu akses pada variabel
Ø Tanpa penentu akses, variabel dapat diakses oleh
kelas yang berada dalam paket yang sama
Ø Public, variabel dapat diakses pada semua kelas yang
menggunakan kelas yang berisi variabel tersebut
Ø Private, hanya dapat diakses oleh metode-metode dalam
kelas itu sendiri
Perbedaan pubic, private dan tanpa penentu akses pada metode
Ø Tanpa penentu akses, metode hanya dapat diakses oleh
metode dalam kelas itu sendiri ataupun metode pada kelas lain yang terletak
pada paket yang sama.
Ø Public, metode dapat diakses oleh sembarang kelas.
Ø Private, hanya dapat diakses oleh metode-metode dalam
kelas yang sama.
Metode Kelas
Contoh :
public class MetodeKelas {
public static void main(String[] args){
double akar=Math.sqrt(25); //sqrt() untuk menghitung
akar kuadrat
System.out.println(akar);
}
}
Program diatas tidak terdapat penciptaan objek. Math adalah
nama kelas yang tersedia pada Java yang berkaitan dengan penanganan sebagai
operasi matematika.
0 comments:
Post a Comment