LANDASAN
TEORI
A. Pemrograman
Berorientasi Objek
Pemrograman
berorientasi objek adalah sebuah konsep pemrograman untuk membuat kode program
yang lebih terstruktur, terkelompok berdasarkan objek-objek yang terlibat
sehingga bagian-bagiannya dapat digunakan untuk pembuatan aplikasi lain.
Pemrograman berorientasi objek membagi-bagi kode program menjadi kelas-kelas
yang dibuat berdasarkan objek-objek yang terlibat dalam pengembangan program.
Prosedur dan fungsi dikelompokan berdasarkan jenis objek atau benda yang
dikenai proses ditambah dengan sebuah kelas untuk menampung program utama.
Kelas-kelas yang dibuat akan digunakan oleh kelas utama karena kelas utama
adalah kelas yang akan pertama kali dijalankan ketika program dijalankan (running). Prosedur dan fungsi pada
pemrograman berorientasi objek disebut
dengan metode (method). Ide
pemrograman berorientasi objek muncul agar kode program yang sudah dibuat untuk
sebuah program berorientasi objek dapat digunakan untuk program lain, misalnya
kode program kelas anggota yang disimpan disebuah file pada kasus penyewaan VCD dapat digunakan untuk program lain
yang sama-sama melibatkan objek anggota, misalnya program perpustakaan (hanya
dengan menyalin file kelas anggota).
Syarat umum bahasa yang mendukung
pemrograman berorientasi objek :
§ Enkapsulasi
(encapsulation)
Mampu
membungkus atribut dan metode-metode dalam sebuah kelas dan dapat mencegah pengaksesan
langsung atribut dan metode-metode yang ingin dilindungi didalam sebuah kelas,
misalkan membungkus (mengkapsulasi)metode-metode
yang terkait dengan VCD ke dalam kelas VCD.
§ Pewarisan
(inheritance)
Memungkinkan
adanya pendifinisian kelas baru yang memiliki sifat-sifat turunan dari kelas
lain.
§ Polimorfisme
(polymorphism)
Memungkinkan
pembuatan pengaksesan metode-metode dengan nama yang sama namun berbeda
parameter masukan atau berbeda kelas.
B. Objek
dan kelas
Pada dasarnya ada beberapa aturan dasar
cara menentukan pembuatan kelas, apa saja yang harus dibuat kelas dan yag
bukan. Secara logika kelas dalam dunia pemrograman dapat kita bayangkan seperti
halnya kelas-kelas yang ada di sekolah dasar. Kelas digunakan untuk
mengelompokan komponen-komponen dengan kriteria tertentu yang hampir sama
dimiliki semua anggota kelas. Misal kelas 1 pada sekolah dasar adalah anak-anak
yang memiliki usia 6 sampai tahun. Dalam
dunia pemrograman biasanya digunakan untuk mengelompokan benda dan proses yang
terkait dengan aplikasi komputer yang akan dibuat (benda dan proses). Oleh
karena itu sebelum merancang kelas-kelas apa saja yang dibutuhkan perlu
dipelajari, bagaimana merancang data mengenai benda-benda yang terkait dan juga
proses-proses yang terkait pada aplikasi komputer yang akan dibuat.
Sebuah
kelas menyerupai sebuah struktur pada pemrograman prosedural ditambah dengan
metode-metode yang diperlukan, misalkan tipe data titik yang terdiri koordinat
x dan y memiliki metode-metode translasiTitik, rotasiTitik dan lain sebagainya.
Metode pada pemrograman berorientasi objek mirip dengan prosedur atau fungsi
pada pemrograman prosedural. Perbedaan sebuah kelas dengan sebuah struktur (tipe bentukan/tipe terstruktur) pada
pemrograman prosedural adalah sebuah kelas dapat berdiri sendiri dan dapat
dipergunakan untuk berbagai keperluan
kelas-kelas yang lain, sedangkan sebuah struktur (tipe bentukan/ tipe terstruktur) tidak dapat
berdiri sendiri (tergabung dalam unit, header
, atau bahkan pada program utama).
Kelas
adalah tulisan kode program kelas yang ditulis oleh programer sedangkan objek
adalah kelas yang telah dieksekusi dan dijalankan menjadi program komputer yang
sudah siap digunakan. Kita bisa melihat kelas sebagai sebuah file yang berisi kode program, sedangkan
objek tidak dapat kita lihat bentuknya karena objek dijalankan di dalam proses
komputer mengeksekusi program berorientasi objek. Objek adalah elemen pada saat
runtime yang akan diciptakan,
dimanipulasi, dan dihancurkan saat eksekusi sehingga sebuah objek hanya ada
saat sebuah program dieksekusi, jika masih dalam bentuk kode, disebut sebagai
kelas jadi pada saat runtime (saat
sebuah program dieksekusi), yang kita punya adalah objek, didalam teks program
yang kita lihat hanyalah kelas.
Sebuah
file dapat terdiri dari beberapa
kelas, namun biasanya pada bahasa pemrograman Java sebuah file hanya terdiri dari satu kelas yang disimpan dengan nama kelas,
misal file List.java berisi kelas List , namun jika kelas yang dibuat
misalnya (dalam bahasa pemrograman Java):
Public class
nama_kelas{
........................
}
maka
kelas itu harus disimpan dalam satu file
hanya untuk satu kelas. Setelah dilakukan kompilasi maka pada Java akan ada
sebuah file .class yang berisi bytecode dari setiap kelas. Jika sebuah file terdiri dari dua kelas maka setelah
dikompilasi akan dihasilkan dua buah file
.class yang nantinya akan dibaca oleh interpreter
Java saat program dieksekusi. Setiap kelas sebaiknya memang disimpan dalam satu
file agar mudah diambil jika akan
digunakan pada program lain yang membutuhkan kelas itu.
Dalam bahasa Java program utama dapat juga dibungkus dalam sebuah kelas. Java merupakan bahasa pemrograman berorientasi objek murni sehingga program utamanya pun dibungkus didalam kelas.
Dalam bahasa Java program utama dapat juga dibungkus dalam sebuah kelas. Java merupakan bahasa pemrograman berorientasi objek murni sehingga program utamanya pun dibungkus didalam kelas.
C. Enkapsulasi
Enkapsulasi dapat dianggap sebagai
sebuah bungkusan. Enkapsulasi inilah yang diimplementasikan dalam sebuah kelas
di mana di dalam sebuah kelas terdiri dari atribut dan metode yang dibungkus
dalam suatu kelas. Enkapsulasi pada sebuah kelas bertujuan untuk melindungi
atribut dan metode-metode yang ada di dalam kelas agar tidak sembarangan
diakses oleh kelas lain.
D. Atribut
(attribute) dari sebuah kelas adalah
variabel global yang dimiliki sebuah kelas. Misalkan pada kelas sebagai
berikut:
Class
Buku
Private judul : string
Private pengarang : string
Buku()
{ end constructor }
{
end class }
makajuduladalah atribut
dari kelas Buku yang bertipe string
dan pengarang adalah atribut dari kelas Buku yang bertipe string . Atribut pada sebuah kelas memiliki izin akses jika kelas
digunakan oleh kelas lain.
a. Atribut
Privat
Izin
akses private pada sebuah atribut biasanya digunakan oleh sebuah kelas untuk
melindungi atribut-atributnya agar tidak dapat diakses oleh kelas lain. Sebuah
atribut yang dinyatakan sebagai private hanya dapat diakses secara langsung
oleh kelas yang membungkusnya sedangkan kelas lainnya tidak dapat mengakses
atribut ini secara langsung.
b. Atribut
Public
Izin
akses public sebuah atribut biasanya digunakan oleh sebuah kelas jika sebuah
atribut diperbolehkan diakses secara langsung oleh kelas lain. Sebuah atribut
yang dinyatakan sebagai public dapat diakses secara langsung oleh kelas lain di
luar kelas yang mebungkusnya.
c. Atribut
Protected
Izin
akses protected sebuah atribut biasanya digunakan oleh sebuah kelas jika sebuah
atribut diperbolehkan diakses secara langsung oleh kelas lain yang merupakan
kelas turunannya (inheritance).
Sebuah atribut yang dinyatakan sebagai protected dapat diakses secara langsung
oleh kelas lain di luar kelas yang mebungkusnya kecuali kelas yang mengaksesnya
adalah kelas turunan dari kelas yang membungkusnya.
E. Kontrukstor
adalah salah jenis method khusus yang memiliki karakteristik sebagai berikut:
1. Memiki
nama yang sama dengan kelas yang membawahinya
2. Tidak memiliki tipe return
3. Otomatis
dipanggil saat new instance atau objek dari kelas terbentuk, oleh karena itu
disebut konstruktor.
4. Konstruktor
mengandung code inisialisasi dari setiap objek, seperti memberi nilai default
kepada fields.
Konstruktor digunakan
melakukan instasiasi sebuah object yang menggunakan kelas yang bersangkutan.
Melakukan instansiasi adalah mengalokasikan sejumlah memori darikomputer,
sesuatu kebutuhan struktur data yang digunakan.Keberadaan konstruktor dalam
sebuah kelas Java bersifat opsional,
karena kelas abstrak misalnya tidak membutuhkan konstruktor karena tidak bisa
diinstansiasi menjadi sebuah objek.
F. Metode
(Method)
Method adalah bagian dari tubuh
program yang mengimplementasikan suatu action sehingga class atau object dapat
bekerja. Method diimplementasikan didalam class dan menyediakan informasi
tambahan yang mana class tidak dapat menangani sendiri.
Method dapat didefinisikan lagi,
yaitu :
1. Method
yang memiliki parameter kosong atau memiliki beberapa parameter.
2. Method
dapat mengembalikan nilai (kecuali yang bersifat VOID)
3. Method
Static : Hanya dapat
diakses dari class.
4. Method
Non Static : Dapat diakses
melalui instances.
G. Overloading
Overloading merupakan bentuk
polimorfisme yaitu beberapa metode dapat memiliki nama yang sama dengan isi dan
parameter yang berbeda di dalam sebuah kelas. Overloading dapat dilakukan pada Method
dan Constructor.
LISTING
PROGRAM & RUN PROGRAM
Class pertama
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package tugas1a;
import java.util.Scanner;
/**
*
* @author Selvi_M_V_
*/
public class Tugas1a {
/**
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
Scanner masuk = new Scanner (System.in);
System.out.print("Masukan bil
pertama : \t");
int x = masuk.nextInt();
System.out.print("Masukan bil
kedua : \t");
int y = masuk.nextInt();
System.out.print("Hasil");
Hitung akhir = new Hitung (x, y);
System.out.println("pengurangan
:"+ akhir.getPengurangan());
System.out.println("penambahan
:"+akhir.getPenambahan());
System.out.println("pembagian
:"+akhir.getPembagian());
}
}
Class Kedua
/*
* To change this template, choose Tools |
Templates
* and open the template in the editor.
*/
package tugas1a;
/**
*
* @author Selvi_M_V_
*/
public class Hitung {
public Hitung (int awal, int akhir) {
this.awal = awal;
this.akhir = akhir;
}
private int awal;
private int akhir;
private int pengurangan;
private int penambahan;
private int pembagian;
/**
* @return the pengurangan
*/
public int getPengurangan() {
return awal-akhir;
}
/**
* @return the penambahan
*/
public int getPenambahan() {
return awal+akhir;
}
/**
* @return the pembagian
*/
public int getPembagian() {
return awal/akhir;
}
}
Outputan
:
DAFTAR
PUSTAKA
Posting Komentar