Saturday, September 6, 2014

Pengertian OOP CONCEPT

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