Jangan tanya kenapa.. soalny kenapa itu bkn bhasa baku.. coba tny mengapa, psti aq jwb.. hahaha.. *glek so nice*
kleeeee, klo bs aq bnting kasurku, aq bnting dh.. rmbut yg aq rawat, rmbut yg aq ikat, rmbut yg aq kriwel2in, rmbut yg aq bw kmna2, smuany tb2 gk ada menarik2nya krna mnjdi kelinci percobaan obat pelurus rmbut..
huf, udh dch, sgtu aja.. makasi :'(
tik.tok
Senin, 13 Agustus 2012
Sabtu, 19 Mei 2012
PBO (KONSEP INTERFACE)
7. Konsep Interface
Interface adalah jenis khusus dari blok yang hanya
berisi method signature (atau constant). Interface mendefinisikan
sebuah(signature) dari sebuah kumpulan method tanpa tubuh. Interface
mendefinisikan sebuah cara standar dan umum dalam menetapkan sifat-sifat dari
class-class. Mereka menyediakan class-class, tanpa memperhatikan lokasinya
dalam hirarki class, untuk mengimplementasikan sifat-sifat yang umum. Dengan
catatan bahwa interface-interface juga menunjukkan polimorfisme, dikarenakan
program dapat memanggil method interface dan versi yang tepat dari method yang
akan dieksekusi tergantung dari tipe object yang melewati pemanggil method
interface – from J.E.N.I
Untuk memahami lebih mudah, interface sekumpula dari
method-method yang dibuat tapi belum ada operasi di dalam tubuh method
tersebut, interface ini bisa diturunkan atau diwariskan kepada class yang ingin
memakai method yang ada dalam masing-masing interface tersebut dengan keyword extends
[interface yang didefinisikan]. Dan juga sebuah class mengimplementasi 1
interface yang sudah dibuat dengan keyword implements.
Ciri-ciri dari interface adalah sebagai berikut..
- Method interface tidak punya tubuh, sebuah interface hanya dapat mendefinisikan konstanta dan interface tidak langsung mewariskan hubungan dengan class istimewa lainnya, mereka didefinisikan secara independent.
- Tidak bisa membuat instance atau objek baru dari sebuah interface.
- Ciri umum lain adalah baik interface maupun class dapat mendefinisikan method. Bagaimanapun, sebuah interface tidak punya sebuah kode implementasi sedangkan class memiliki salah satunya.
public interface [InterfaceName]
{
//beberapa method tanpa isi
}
Seperti penggunaan interface pada salah satu class interface berikut.
public interface RemoteAllInOne {
public void
pindahChannel(int channel);
public void
perbesarVolume(int kpsts);
public void
perkecilVolume(int kpsts);
public void
perkecilZoom(int kpsts);
public void
perbesarZoom(int kpsts);
}
Setelah itu kita menggunakan class yang akan mengimplementasi setiap method yang ada pada class interface RemoteAllInOne.
public class BenQ implements RemoteAllInOne {
String[]
menuTV = {"ANTV", "INDOSIAR", "TRANS-TV",
"TPI", "RCTI", "SCTV", "GLOBAL-TV"};
public void pindahChannel(int
channel) {
System.out.println("LCD BENQ Pindah
Channel ke - " + this.menuTV[channel]);
}
public void
perbesarVolume(int kpsts) {
System.out.println("LCD BENQ Perbesar Vol
: " +kpsts);
}
public void
perkecilVolume(int kpsts) {
System.out.println("LCD
BENQ Pekecil Vol : " + kpstss);
}
public void
perkecilZoom(int kpsts) {
System.out.println("LCD BENQ Pekecil Zoom
: " + kpsts);
}
public void
perbesarZoom(int kpsts) {
System.out.println("LCD BENQ Pebesar Zoom
: " + kpsts);
}
}
Setelah itu kita membuat class yang berfungsi sebagai perantara pemanggil method sebelum kita masuk ke class main, atau pembuatan instance baru sebuah objek supaya dapat digunakan setiap interface yang dibuat tadi.
public class MyRemoteAllInOne {
public void
sendRequest(int aksi, RemoteAllInOne rmt, int tombol){
switch(aksi){
case 1:
rmt.pindahChannel(tombol);
break;
case 2 :
rmt.perkecilVolume(tombol);
break;
case 3 :
rmt.perbesarVolume(tombol);
break;
case 4 :
rmt.perkecilZoom(tombol);
break;
case 5 :
rmt.perbesarZoom(tombol);
break;
}
}
}
Dan berikut adalah class main yang dipakai waktu pengeksekusian program.
public class Tester {
/**
* @param args
the command line arguments
*/
public static
void main(String[] args) {
Ephson ep =
new Ephson();
BenQ bq = new
BenQ();
Mitshubishi mt
= new Mitshubishi();
MyRemoteAllInOne my = new MyRemoteAllInOne();
my.sendRequest(1, mt, 4);
my.sendRequest(1, ep, 5);
my.sendRequest(1, bq, 6);
my.sendRequest(2, mt, 4);
}
}
PBO (ABSTRACT CLASS)
6. Abstract Class
abstract class / kelas abstrak, sesuai namanya adalah
kelas yang belum jelas spesifikasinya contohnya adalah gambar berikut 

dapat dilihat jenis kelas diatas, kelas paling atas
adalah kelas Bangun datar lalu turunan dari kelas bangun datar adalah kelas
persegi, segitiga, persegi panjang. nah.. dapat diketahui kelas bangun datar
adalah kelas Abstraknya, kenapa ? karena belum jelas.. hehe misalkan sebuah
kelas memiliki method, maka dapat diperkirakan method dari bangun datar
adalah hitungLuas() atau hitungKeliling(). dapatkah anda menjelaskan dengan
spesifik seperti apa perhitungan luas dari kelas BangunDatar ?? tentu anda akan
bertanya , ya bangun datar apa dulu ?? nah method yang belum jelas
seperti itu bisa disebut method abstrak. dan sebuah kelas jika ada 1 saja
method yang abstrak, maka dia akan menjadi kelas abstrak.
lalu perhatikan kelas persegi, jika kelas persegi
memiliki method hitungLuas() apakah anda bisa mengisi detai kode nya ? oh tentu
saja bisa ini adalah contohnya
hitungLuas(int sisi){
int luas = 0;
luas = sisi*sisi;
System.out.println(luas);
}
nah, anda sudah mengerti kan, apa itu kelas abstrak ? jika kelas
BangunDatar adalah abstrack, maka kelas Persegi karena sudah jelas dapat
disebut sebagai kelas kongkret. kelas abstrak digunakan untuk membuat sebuah
kelas yang memiliki method yang belum jelas implementasinya. berikut ini aturan
nya :
- jika sebuah kelas memiliki method abstrak maka kelas itu harus menjadi kelas abstrak.
- sebuah kelas abstrak dapat saja memiliki method yang tidak abstrak.
- jika sebuah kelas abstrak diturunkan menjadi kelas konkret, maka semua method abstrak dari kelas abstrak haruslah ditulis ulang / dibuat ulang di kelas konkretnya dan diberi detail dari methodnya.
- jika method abstrak di turunkan dan kelas turunannya adalah kelas abstrak, maka tidak perlu menulis ulang method yang abstrak.
sementara itu dulu aturan yang harus dipahami ketika
anda membuat kelas abstrak dan menggunakan kelas abstrak, aturan – aturan lain
akan anda temui ketika anda mulai membuatnya.
jika kelas BangunDatar kita buat kodenya kira – kira
akan menjadi seperti ini
public abstract class abstrack {
abstract int hitungLuas();
}
lalu kita akan membuat kelas turunannya yaitu Persegi
class Persegi extends abstrack{
int sisi;
public Persegi(int s){
this.sisi = s;
}
public int hitungLuas() {
//method ini harus diberi implementasi
int luas = sisi*sisi;
return luas;
}
public static void main(String[]
args){
Persegi p = new Persegi(5);
int luas = p.hitungLuas();
System.out.println(luas);
}
}
yaa
seperti itulah contohnya, silahkan anda buat untuk luas persegi panjang dan
juga segitiga, termasuk kelilingnya
PBO (OBJECT & CLASS)
1. Object dan Class
Class adalah tipe yang
berisi atribut (variabel) dan fungsi (fungsi pada class seringkali disebut
method).
Misalnya kita mempunyai
class Mahasiswa. Class ini memiliki atribut nama, alamat, tanggal lahir dan
method menghitung umur. Class ini dapat
diinstansiasi atau dicreate menjadi objek, misalnya objek mahasiswa Budi,
Ahmad, Elfan dan seterusnya. Dapat dianggap class adalah pola atau “pencetak” objek.
Satu class umumnya disimpan
dalam satu file. Nama file harus sama
dengan nama class (termasuk huruf besar dan kecilnya!). Satu project di Java umumnya terdiri atas
beberapa class.
Di Java, akses terhadap
method, menggunakan simbol titik. Misalnya budi.nama, budi.alamat,
budi.getUmur() dan seterusnya.
Sekarang kita akan membuat
class Mahasiswa. Pilih File - New - Class (atau melalui klik kanan di project explorer)
Beri nama class Mahasiswa.
Standard penamaan class di Java diawali dengan huruf besar, berbeda dengan
variabel atau method yang diawali huruf kecil.
Ketik code berikut, class ini memiliki tiga atribut: nim, nama,
tglLahir dan satu method: getUmur. Semua atribut ini diset public, artinya boleh
diakses secara langsung. Misalnya budi.nim, budi.nama.
Konvensi penamaan method
mengikuti penamaan variabel, diawali huruf kecil.
Cobalah contoh berikut,
perhatikan bagaimana class Mahasiswa didefinisikan, bagaimana objek dibuat dan
cara mengaakses atribut dan method.
public class
Mahasiswa {
String nama;
//atribut
public void salam() { //method
System.out.println("halo,
nama saya " + nama);
}
public static void
main(String[] args) {
//create objek dari class Mahasiswa
Mahasiswa mhsObjek = new Mahasiswa();
mhsObjek.nama = "Budi"; // isi atribut
mhsObjek.salam(); //
panggil atribut
}
}
Terlihat bahwa penggunaan Object mirip dengan
penggunaan variabel. Class sama dengan
type dan object sama dengan variabel.
Saat menjalankan sebuah
class, Java secara otomatis akan mencari method main(String args[]) untuk dijalankan pertama kali (coba
lihat-lihat contoh code sebelumnya, selalu ada method main).
Method main ini cocok untuk digunakan sebagai alat untuk memeriksa apakah class yang dibuat
telah sesuai dengan keinginan.
Perhatikan bahwa method getUmur
menghasilkan type int. Jika method tidak
menghasilkan keluaran, maka gunakan keyword void. Contoh method yang returnnya
void adalah method main.
Selanjutnya kita akan
membuat class MatakuliahKontrak. Class ini menyimpan matakuliah yang dikontrak
mahasiswa beserta nilainya (kode matakuliah, tahun, semester dan nilai). Class
ini memiliki method untuk menghitung mutu (4 untuk nilai A, 3 untuk nilai B dan
seterusnya).
Pilih File - New -Class, lakukan hal yang sama seperti saat membuat
file Mahasiswa.
Sehingga dalam project
sekarang terdapat dua class:
public class MatakuliahKontrak {
public String kodeMatakuliah;
public int sem;
public int tahun;
public String nilai;
public int sks;
public double getMutu() {
int mutu;
if (nilai.equals("A")) {
mutu = 4;
} else if (nilai.equals("B")) {
mutu = 3;
} else if (nilai.equals("C")) {
mutu = 2;
} else {
mutu = 1;
}
return mutu;
}
public static void main(String args[]) {
//testing class
MatakuliahKontrak mk = new MatakuliahKontrak();
mk.kodeMatakuliah="IL111";
mk.nilai="A";
mk.sem=1;
mk.tahun=2008;
System.out.println(mk.kodeMatakuliah
+ " mutunya "+ mk.getMutu());
}
Perhatikan bahwa method
getMutu menghasilkan type double.
Dapat kita lihat hubungan
antara Siswa dan MatakuliahKontrak. Satu siswa dapat memiliki lebih dari
MatakuliahKontrak.
Sekarang kita perlu merubah
class Mahasiswa untuk menyimpan matakuliah yang dikontrak mahasiswa tersebut.
Pada class Mahasiswa ditambahkan variabel array untuk
menyimpan matakuliah yang
dikontrak mahasiswa. Ditambahkan juga dua method. Pertama method untuk
menambahkan matakuliah dan kedua method untuk mencetak matakuliah yang telah
diambil siswa.
Bagian yang di-bold adalah
tambahan.
public class Mahasiswa {
public String nim;
public String nama;
private MatakuliahKontrak[] daftarMK = new MatakuliahKontrak[10];
private int pos=0; //posisi terakhir di array
public void
tambahMatakuliah (MatakuliahKontrak mk) {
//tambah matakuliah ke array
daftarMK[pos]=mk;
pos++;
}
public void printMatakuliah(){
//mencetak isi array daftar
matakuliah
System.out.println("KODE-MK;SEM;TAHUN;NILAI;MUTU");
MatakuliahKontrak mk;
for (int i=0;i
mk = daftarMK[i]; //bisa
juga langsung, misalnya daftarMK[i].sem
System.out.println( mk.kodeMatakuliah+";"+mk.sem+";"+mk.tahun+";"+mk.nilai+";"+mk.getMutu());
}
}
public static void
main(String[] args) {
//testing class ini
Mahasiswa budi = new Mahasiswa(); //create objek budi
budi.nama = "Budi
Martami"; //akses atribut
budi.nim =
"1111";
MatakuliahKontrak mk1 = new MatakuliahKontrak();
mk1.kodeMatakuliah="IK111";
mk1.nilai="A";
mk1.sem=1;
mk1.sks=3;
mk1.tahun=2008;
budi.tambahMatakuliah(mk1);
MatakuliahKontrak mk2 = new MatakuliahKontrak();
mk2.kodeMatakuliah="MA222";
mk2.nilai="C";
mk2.sem=1;
mk2.sks=3
mk2.tahun=2008;
budi.tambahMatakuliah(mk2);
budi.printMatakuliah();
}
}
Dapat dilihat bahwa class
Mahasiswa menggunakan class MatakuliahKontrak. Tidak diperlukan import karena
kedua class berada di satu package.
Konstruktur
Constructor adalah method
khusus yang dipanggil saat object di-create.
Contoh:
Mahasiswa mhs = new
Mahasiswa();
Pada code diatas, maka akan
dipanggil constructor Mahasiswa() yang
merupakan constructor default.
Karakteristik constructor:
- Nama method constructor harus sama dengan nama Class.
- Satu class dapat memiliki lebih dari satu constructor (dengan parameter yang berbeda-beda).
- Constructor tidak memiliki return
- Constructor dipanggil dengan new.
Apa kegunaan constructor?
Constructor dapat digunakan untuk menginisialisasi object.
Sebagai contoh code berikut
menambahkan constructor sehingga nim, nama langsung diisi pada saat object
dicreate.
public
class Mahasiswa {
public String nim;
public String nama;
private MatakuliahKontrak[] daftarMK = new
MatakuliahKontrak[10];
private int pos=0;
public Mahasiswa(String vNim, String
vNama) {
nim = vNim;
nama = vNama;
}
// … yang lain sama
}
Perhatikan penggunaan
variabel vNim, Vnama. Penamaan ini untuk membedakan nama variabel dengan
atribut method. Alternatif lain adalah dengan menggunakan keyword this. Contoh:
public
class Mahasiswa {
public String nim;
public String nama;
private MatakuliahKontrak[] daftarMK = new
MatakuliahKontrak[10];
private int pos=0;
public Mahasiswa(String nim, String nama)
{
this.nim = nim;
this.nama = nama;
}
// … yang lain sama
}
Sedangkan contoh
penggunaannya:
Mahasiswa budi = new
Mahasiswa("1111","Budi Martami");
Static Method
Static method adalah method
dapat dipanggil langsung melalui class-nya dan tidak memerlukan object. Contoh
method Math.pow tidak memerlukan create object bertipe Math terlebih dulu.
Contoh berikut akan
menghasilkan error, karena getUmur bukan static method yang dapat dijalankan
pada class Mahasiswa langsung.
Mahasiswa.getUmur();//<--error:getUmur tdk dapat dijalankan pada
class!
Contoh yang dapat dilakukan:
Mahasiswa budi = new
Mahasiswa();
…
budi.getUmur(); // ß bisa, getUmur dijalankan pada objek.
Contoh static method yang
selama ini kita gunakan adalah method main(String[] args). Perhatikan
deklarasinya:
public static void main(String[] args)
Mengapa method main static?
karena pada saat Java menjalankan class tersebut, belum ada object yang dicreate.
Static method tidak
diperbolehkan mengakses atribut atau method non static pada class tersebut
(mengapa?). Perhatikan walaupun method main berada di dalam class mahasiswa,
tapi di dalam method ini kita tidak dapat mengakses atribut.
Class Mahasiswa {
string nama;
public
static void main(String[] args) {
nama = "Budi"; //error! atribut tdk dpt dipanggil oleh // method static
}
}
PBO (POLYMORPHISM)
5. Pengertian Polymorphism
Polymorphism adalah suatu aksi yang memungkinkan
pemrogram menyampaikan pesan tertentu keluar dari hirarki obyeknya, dimana
obyek yang berbeda memberikan tanggapan/respon terhadap pesan yang sama sesuai
dengan sifat masing-masing obyek.
Atau Polymorphic dapat berarti banyak bentuk, maksudnya yaitu kita dapat
menimpa (override), suatu method, yang berasal dari parent class (super class)
dimana object tersebut diturunkan, sehingga memiliki kelakuan yang berbeda.
Contoh
program java nya :Simpan
public
class CoolMahasiswa extends Mahasiswa{
public void
printNama(){
System.out.println(“Hallo,
saya Mahasiswa yang baik”);
Super.printNama();
}
}
Simpan dengan
nama Main.java
public
class Main{
public
static void main(String[] args]) {
CooltMahasiswa
mhs = new CoolMahasiswa();
mhs.setNim(“09530518”);
mhs.setNama(“Nadia
Kharisma Ulfah”);
mhs.printNim();
mhs.printNama();
}
}
PBO (INHERITANCE)
4. Pengertian Inheritance
Inheritance (penurunan sifat / pewarisan), ini
merupakan ciri khas dari OOP yang tidak terdapat pada pemrograman prosedural
gaya lama. Dalam hal ini, inheritance bertujuan membentuk obyek baru yang
memiliki sifat sama atau mirip dengan obyek yang sudah ada sebelumnya
(pewarisan). Obyek turunan dapat digunakan membetuk obyek turunan lagi dan
seterusnya. Setiap perubahan pada obyek induk, juga akan mengubah obyek
turunannya. Susunan obyek induk dengan obyek turunannya disebut dengan hirarki
obyek.Atau Inheritance yaitu pewarisan sifat-sifat suatu object kepada object
turunannya.
Contoh
program javanya :
Public
class SmartMahasiswa extends Mahasiswa{
}
Simpan
dengan nama Main.java
public
class Main{
public
static void main(String[] args]) {
SmartMahasiswa
mhs = new SmartMahasiswa();
mhs.setNim(“09530518”);
mhs.setNama(“Nadia
Kharisma Ulfah”);
mhs.printNim();
mhs.printNama();
}
}
PBO (ENCAPTULATION)
3.
Pengertian Encaptulation
Enkapsulasi adalah pembungkus, pembungkus disini dimaksudkan untuk
menjaga suatu proses program agar tidak dapat diakses secara sembarangan atau
di intervensi oleh program lain. Konsep enkapsulasi sangat penting dilakukan
untuk menjaga kebutuhan program agar dapat diakses sewaktu-waktu, sekaligus
menjaga program tersebut.
Dalam kehidupan sehari hari enkapsulasi dapat dimisalkan sebagai arus
listrik pada generator, dan sistem perputaran generator untuk menghasilkan arus
listrik. Kerja arus listrik tidak mempengaruhi kerja dari sistem perputaran
generator, begitu pula sebaliknya. Karena didalam arus listrik tersebut, kita
tidak perlu mengetahui bagaimana kinerja sistem perputaran generator, apakah
generator berputar kebelakang atau ke depan atau bahkan serong. Begitu pula
dalam sistem perputaran generator, kita tidak perlu tahu bagaimana arus
listrik, apakah menyala atau tidak.Enkapsulasi akan melindungi sebuah program
dari akses ataupun intervensi dari program lain yang mempengaruhinya. Hal ini
sangat menjaga keutuhan program yang telah dibuat dengan konsep dan rencana
yang sudah ditentukan dari awal.
Contoh
dalam program
Belajar.Java
class
belajar{
public
String x =”Pintar”;
private
String y = “Java”;
}
Pintar.Java
public
class Pintar{
public
static void main(String[]args){
Coba
panggil = new Belajar();
System.out.println(“Panggil
X : “+panggil.x);
System.out.println(“Panggil
Y : “+panggil.y);
}}
Tipe
public dan private mempunyai fungsi yang berbeda. Fungsi public yang terdapat
dalam class Coba pada variable x, memungkinkan nilai dari variable x dapat
diakses oleh class Belajar. Sedangkan variable y yang menggunakan fungsi
private tidak dapat dipanggil didalam class Belajar
PBO (ABSTRACTION)
2.
Pengertian Abstraction
Class Abstrak tidak berbeda
dengan class – class lainnya yaitu memiliki class members (method dan
variabel). Sebuah class adalah abstrak jika salah satu methodnya dideklarasikan
abstrak. Method abstrak adalah method yang tidak memiliki implementasi.
Contoh deklarasi method abstrak:
abstract public void cetak();
Beberapa hal yang perlu diperhatikan adalah sebagai
berikut:
- Class abstrak tidak dapat dibuatkan instan atau objeknya menggunakan keyword new.
- Sebuah class dapat dideklarasikan sebagai class abstrak walaupun tidak memiliki method abstrak.
- Variabel dengan tipe class abstrak tetap bisa diciptakan, tetapi harus refer ke subclass dari class abtrak tersebut yang tentunya tidak abstrak.
Perhatikan contoh class abstrak di bawah ini.
abstrak public class Mobil {
public void injakPedalGas();
public void injakRem(){
System.out.println(“Mobil berhenti!”);
}
}
public class Kijang extends Mobil{
public void injakPedalGas(){
System.out.println("Mobil Melaju dengan kecepatan 80 Km/jam...");
}
}
public class BMW extends Mobil {
public void injakPedalGas(){
System.out.println("Mobil Melaju dengan kecepatan 100 Km/jam...");
}}
Objek
class abtrak tidak dapat diciptakan menggunakan keyword new secara langsung.
Apabila kita terpaksa ingin menciptakan object class abtrak tanpa membuat
subclass kongkritnya, maka kita harus mengimplementasikan method – method
abstraknya secara langsung saat deklarasi. Perhatikan contoh di bawah ini.
public class TestMobil {
public static void main(String[ ]args){
Mobil mobil = new Mobil(){
public void injakPedalGas(){
System.out.println("Mobil berjalan...");
}
};
Kijang kijang = new Kijang();
Escudo escudo = new Escudo();
BMW bmw = new BMW();
mobil.injakPedalGas();
mobil = kijang;
mobil.injakPedalGas();
mobil = escudo;
mobil.injakPedalGas();
mobil = bmw;
mobil.injakPedalGas();
}
}
Langganan:
Postingan (Atom)