Object Oriented Programming Dengan JAVA

Senin, 20 September 2010

Pemrograman Berorientasi Objek merupakan paradigma baru dalam dunia pemrograman. Pemrograman ini mempertinggi kualitas dan produktifitas pengembangan software. Program pengembangannya dilakukan dengan pendekatan building block. Setiap block, disebut object, bersifat independen dan mampu berjalan sendiri atau saling kunci dengan object lain dengan mudah dan otomatis. Object-object berinteraksi dengan saling memberikan informasi satu terhadap yang lainnya. Masing-masing object harus berisikan informasi mengenai dirinya sendiri (encapsulation) dan object yang dapat dikaitkan (inheritance).

Pemrograman Berorientasi Objek lebih menitikberatkan pada konsep objek sebagai elemen dasar dari suatu program. Objek tersebut dikarakterisasi oleh property dan behavior.
Untuk lebih memahami konsep Pemrograman Berorientasi Objek ada beberapa istilah yang harus dipahami yaitu :
1. Class & Object.
2. Enkapsulasi.

Class : Diasumsikan sebagai template, sebuah prototype dari object dan merupakan struktur dasar OOP. Ibaratkan sebuah rancangan rumah yang digunakan untuk membangun ratusan rumah. Rumah yang dibangun tersebut adalah objek dari kelas rancangan rumah.

Object : terdiri dari kumpulan data (property), berupa variabel yang menentukan karakteristik sebuah object dan beberapa method (behavior) yang menjelaskan bagaimana bentuk object. Jadi dapat dikatakan bahwa Objek adalah Instance dari Class. Objek dalam dunia nyata bisa kita gambarkan sebagai apa yang berwujud nyata seperti mobil, sepeda motor, orang.

Enkapsulasi : Method untuk menyembunyikan beberapa method tertentu dari implementasi Class tertentu. Dengan menempatkan batasan di sekitar property dan method object kita, perubahan variabel program melalui cara yang tidak diinginkan dapat dihindari.

Bahasa Pemrograman yang mendukung konsep ini adalah JAVA, dikembangkan oleh Sun Microsystems sejak tahun 1991. Bahasa ini dikembangkan dengan model yang mirip dengan bahasa C++ dan Smalltalk, namun dirancang agar lebih mudah dipakai dan ¬platform independent, yaitu dapat dijalankan di berbagai jenis sistem operasi dan arsitektur komputer (Write Once & Run Everywhere).

Berikut ini adalah contoh program berorientasi objek dengan JAVA untuk aplikasi perpustakaan sederhana berbasis teks (Text Based) :

1. Membuat Class
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package OOP2;

/**
*
* @author Seagate
*/
public class Perpustakaan {
int harga,lama,denda,sewa;

void hargaSewa(int kategori,int tglPinjam,int tglKembali){

switch(kategori){
case 1:
harga = 3000;
break;
case 2:
harga = 1000;
break;
case 3:
harga = 2000;
break;
}
lama = tglKembali - tglPinjam;
if (lama>7){
denda = (lama - 7)*500;
} else {
denda = 0;
}
sewa = harga + denda;
System.out.println("");
System.out.println("PERINCIAN : ");
System.out.println("===================================");
System.out.println("Harga Sewa buku = "+harga);
System.out.println("Lama Sewa = "+lama + " hari");
System.out.println("Denda sewa = "+denda);
System.out.println("-----------------------------------");
System.out.println("Total Biaya Sewa = "+sewa);
System.out.println("-----------------------------------");
System.out.println(" ***Terima kasih***");
}


2. Membuat Object
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package OOP2;

/**
*
* @author Seagate
*/

public class PerpustakaanBeraksi {
public static void main(String[]args){
int kategori=0;String lanjut="T";

String[]kamus ={"Kamus Inggris-Indonesia","Kamus Jerman-Indonesia","Kamus Jepang-Indonesia"};
String[]majalah ={"Majalah PC Media","Majalah Gadis","Majalah Hai"};
String[]textbook ={"Metode Numerik","Sistem Informasi Manajemen",
"Object Oriented Programming","Akuntansi Perpajakan"};

Perpustakaan Perpustakaanku = new Perpustakaan();
System.out.println("*****************************************");
System.out.println("* Welcome to : *");
System.out.println("* Perpustakaan : MARI MEMBACA *");
System.out.println("* @By : Haris Triono Sigit *");
System.out.println("*****************************************");
System.out.println("");
System.out.print("Lanjutkan ke Menu Utama? [Y/T] : ");
lanjut = InputKeyboard.inputString();

if (lanjut.equalsIgnoreCase("T")){
System.exit(0);
}
while(true){
System.out.println("--------------------------");
System.out.println(" Menu Utama ");
System.out.println("--------------------------");
System.out.println("1. Lihat Katalog Buku");
System.out.println("2. Peminjaman Buku");
System.out.println("3. Keluar/Exit Menu");
System.out.println("--------------------------");

System.out.print("Pilih Menu [1/2/3]: ");
String dataPilihan = InputKeyboard.inputString();
int pilihan = Integer.parseInt(dataPilihan);

switch(pilihan){
case 1:
System.out.println("---------------------------------------------");
System.out.println(" No Kategori Judul ");
System.out.println("---------------------------------------------");
for(int i=0; i
System.out.println(" "+(i+1)+" Kamus "+kamus[i]);
for(int i=0; i
System.out.println(" "+(i+4)+" Majalah "+majalah[i]);
for(int i=0; i
System.out.println(" "+(i+7)+" Teks Book "+textbook[i]);
System.out.println("---------------------------------------------");
//Membuat pilihan untuk kembali ke menu utama atau langsung masuk menu peminjaman
System.out.println("");
System.out.println("Pilihan Menu Selanjutnya : ");
System.out.println("------------------------");
System.out.println("1. Pinjam Buku");
System.out.println("2. Kembali ke Menu Utama");
System.out.println("------------------------");
System.out.print("Pilih (1 atau 2): ");
String subDataPilihan = InputKeyboard.inputString();
int subPilihan = Integer.parseInt(subDataPilihan);
if(subPilihan==2){break;}
case 2:
System.out.println("");
System.out.print("Masukkan Nomor Anggota : ");
String nomorAnggota = InputKeyboard.inputString();
System.out.print("Masukkan Nama Anggota : ");
String namaAnggota = InputKeyboard.inputString();
System.out.print("Jumlah buku yang akan dipinjam : ");
String stringJmlPinjam = InputKeyboard.inputString();
int jmlPinjam = Integer.parseInt(stringJmlPinjam);
System.out.print("Pilih Nomor Judul Buku : ");
String dataJudul = InputKeyboard.inputString();
int judul = Integer.parseInt(dataJudul);

switch(judul){
case 1:
case 2:
case 3:
kategori=1;
System.out.println("Judul Buku: "+kamus[judul-1]);
break;
case 4:
case 5:
case 6:
kategori=2;
System.out.println("Judul Buku: "+majalah[judul-4]);
break;
case 7:
case 8:
case 9:
case 10:
kategori=3;
System.out.println("Judul Buku: "+textbook[judul-7]);
break;
}
System.out.print("Tanggal Pinjam : ");
String dataTglPinjam = InputKeyboard.inputString();
int tglPinjam = Integer.parseInt(dataTglPinjam);

System.out.print("Tanggal Kembali : ");
String dataTglKembali = InputKeyboard.inputString();
int tglKembali = Integer.parseInt(dataTglKembali);

Perpustakaanku.hargaSewa(kategori, tglPinjam, tglKembali);

System.out.print("Tekan tombol Enter untuk melanjutkan!");
String lanjutkan = InputKeyboard.inputString();

break;
case 3:
System.exit(0);
break;
default:
System.out.println("");
System.out.println("Pilih hanya nomor 1,2, atau 3");
break;
}
}
}
}

0 komentar:

Posting Komentar