SlideShare una empresa de Scribd logo
1 de 15
 


                                             09/03/2007 
                                                        




LAILI AIDI        PENGENALAN JAVA 
 




              PENGENALAN JAVA | Laili Aidi

     
 


                                                                                 LAILI AIDI

    Asisten Praktikum Java, Common Laboratory Teknik Informatika STTTELKOM, 2005-2006


1. Pemrograman Berorientasi Objek [MDLJV]
1.1 Object Oriented Vs Procedural
Beberapa pendekatan dalam pemrograman berorientasi procedural:
·Teknik Top-Down, tugas-tugas yang kompleks dipecah menjadi bagian yang lebih kecil,
    sampai sub tugas tersebut mudah diimplementasikan.
·Teknik Buttom-Up, membuat procedure-procedure untuk menyelesaikan tugas yang
    sederhana, kemudian menggabungkannya dalam procedure yang lebih kompleks,
    sampai fungsionalitas yang diinginkan tercapai.


Untuk menentukan procedure di dalam procedural programming sama dengan menentukan
sebuah method yang ada dalam OOP. Perbedaan OOP adalah memisahkan class-class,
menentukan    methode-methode      dalam   class   yang   dihubungkan   dengan   class   yang
bertanggung jawab untuk menjalankan suatu fungsi.


Dengan menggunakan class, fungsionalitas dari suatu class sudah di encapsulate di
dalamnya sehingga sangat membantu dalam membangun project. Seorang programmer
dapat menggunakan class yang sudah dibuat programmer lain, tanpa ia perlu tahu
bagaiman detailnya suatu class mengerjakan suatu operasi
Beberapa konsep penting OOP :
· Pengkapsulan(Encapsulation)
Pengkapsulan adalah proses pemaketan data object bersama method-methodnya. Manfaat
utama pengkapsulan bagi pemrogram, yaitu :
1. Penyembunyian informasi (information hiding)
Penyembunyian implementasi mengacu perlindungan implementasi internal objek. Objek
disusun dari antarmuka public dan bagian private yang merupakan kombinasi data dan
method internal. Manfaat utama adalah bagian internal dapat berubah tanpa mempengaruhi
bagian-bagian program yang lain.
2. Modularitas (Modularity)
Membuat objek dapat dikelola secara independent sehingga bebas melakukan modifikasi
tanpa menyebabkan masalah pada bagian lain. Manfaat ini mempermudah mendistribusikan
objek-objek di system.




      2  PENGENALAN JAVA | LAILI AIDI 
 
 


· Pewarisan (Inheritance)
Pewarisan adalah proses penciptaan class baru dengan mewarisi karakteristik class yang
telah ada, ditambah karakteristik unik class baru itu.. Pewarisan memungkinkan class
mewarisi fungsionalitas class yang telah ada dan mengorganisasi class.
Subclass mewarisi semua method dan variabel dari superclassnya. Secara praktis berarti
bahwa jika superclass telah mendefinisikan perilaku yang kita perlukan, maka kita tidak
perlu mendefinisi ulang perilaku itu, kita cukup membuat class yang merupakan subclass
dari superclass yang dimaksud
Contoh:
class SuperContohInheritance {
int iVar1,iVar2;
/** Creates a new instance of SuperContohInheritance*/
public SuperContohInheritance() {
}
int mSuperClass(){
iVar1 = iVar1 + iVar2;
System.out.println("nilai var1 + var2 = "+iVar1+" + "+iVar2+"= " +iVar1);
return iVar1;
}
}
public class SubContohInheritance extends SuperContohInheritance{
private int iVar3;
/** Creates a new instance of SubContohInheritance*/
public SubContohInheritance(int iVar1,int iVar2,int iVar3){
this.iVar1 = iVar1;
this.iVar2 = iVar2;
this.iVar3 = iVar3;
}
void mSubClass(){
System.out.println("nilai iVar3 di variabel instan adalah "+this.iVar3);
}
public static void main(String args[]){
SubContohInheritance objek1 = new SubContohInheritance(100,200,300);
objek1.mSuperClass();
objek1.mSubClass();
}
}


     3  PENGENALAN JAVA | LAILI AIDI 
 
 


Output :
D:>java SubContohInheritance
nilai var1 + var2 = 300 + 200= 300
nilai iVar3 di variabel instan adalah


·Polimorfisme (Polymorphism)
Polimorfisme berarti mempunyai banyak bentuk. Dua objek atau lebih dikatakan sebagai
polymorphic   bila   objek-objek   itu   mempunyai   antarmuka-antarmuka   identik   namun
mempunya perilaku-perilaku yang berbeda. Pada bahasa pemrograman fungsional yang
lain, untuk melengkapi dua pekerjaan yang berbeda diperlukan dua fungsi terpisah dengan
nama yang berbeda. Pada Polimorfisme memperbolehkan method memiliki beberapa
implementasi yang dipilih berdasarkan tipe objek yang dilewatkan pada pengerjaan method,
ini dikenal dengan overloading method.


· Pesan (Message)
Objek-objek memerlukan suatu tipe mekanisme komunikasi untuk saling berinteraksi.
Objek-objek saling berkomunikasi dan berinteraksi lewat message. Ketika berkomunikasi
objek mengirim pesan (memanggil method) untuk memberitahu agar objek lain melakukan
sesuatu yang diharapkan.. Seringkali pengiriman message juga disertai informasi untuk
memperjelas apa yang dikehendaki. Informasi yang dilewatkan beserta message adalah
parameter message.


1.2 Kelas (Class) dan Objek (Object)
Kelas merupakan bentuk logik dimana seluruh bahasa berorientasi objek dibangun. Kelas
mendefinisikan bentuk dan sifat/kelakuan/perilaku objek.Semua konsep/abstraksi yang kita
implementasikan di Java harus dikapsulkan/dikemas dalam class. Kelas adalah template
atau prototype yang mendefinisikan type objek, sarana pengkapsulan kumpulan data-data
dan method-method yang mengolah data-data tersebut, adalah cetakan objek, jadi objek
harus merupakan instant suatu kelas. Data dan method berguna untuk mendefinisikan isi
dan kemampuan objek.




     4  PENGENALAN JAVA | LAILI AIDI 
 
 


     Deklarasi Kelas
Classmodifier class namaclass [extends namasuperclass] [implements namainterface]
/* Mendefinisikan atribut */
Type instance-variabel1;
Type instance-variabel2;
Type instance-variabelN;
/* Mendefinisikan atribut */
Type instance-variabel1;
Type instance-variabel2;
Type instance-variabelN;
/* Mendefinisikan constructor */
[modifier] namaclass(parameterlist){
constructor body;
}
/*Mendefinisikan method*/
Type methodname1(parameterlist){
Methodbody;
}
Type methodname2(parameterlist){
Methodbody;
}
}
namaclass dan namasuperclass dapat berupa identifier apa saja yang berlaku. Kata kunci
extends digunakan untuk menunjukkan bahwa namaclass adalah subclass namasuperclass.
Di Java terdapat sebuah class object yang merupakan induk hirarki class Java. Jika kita
ingin langsung menurunkan class namaclass dari class object maka dapat menghilangkan
pertanyaan extends karena compiler secara otomatis akan memasukkanya.
Contoh :
class Switch {
private boolean isOn = false;
/** Creates new Switch */
public Switch() {
}
public void turnOn(){
isOn = true;
}
public void turnOff() {


     5  PENGENALAN JAVA | LAILI AIDI 
 
 


isOn = false;
}
public boolean isItOn() {
return isOn;
}
}
public class HomeSweetHome {
private Switch bedroomSwitch = new Switch();
private Switch hallWaySwitch = new Switch();
/** Creates a new instance of HomeSweetHome */
public HomeSweetHome() {
}
public void turnOnBedroomSw() {
bedroomSwitch.turnOn();
System.out.println("bedroom switch is now on");
}
public static void main(String[] arg){
HomeSweetHome obHouse = new HomeSweetHome();
System.out.println("now, I turn on the bedroom switch");
obHouse.turnOnBedroomSw();
}
}
Output :
D:>java HomeSweetHome
now, I turn on the bedroom switch
bedroom switch is now on


Apakah hubungan class dengan objek? Class adalah blue print dari objek, ini berarti bahwa
kita dapat membuat banyak objek dari satu macam class. Kita tidak dapat melakukan
sesuatu dengan/terhadap class (kecuali untuk data dan method static), kita hanya dapat
melakukan sesuatu terhadap objek yang diinstan dari sebuah class. Instants atau objek
adalah suatu salinan pola class, dengan kumpulan datanya sendiri yang disebut variable
instans. Setiap instantsnull yang merupakan referensi untuk tipe object, sehingga tipenya
cocok dengan semua class lain. dapat juga dirujuk sebagai objek. Jika kita mendeklarasikan
tipe suatu variabel sebagai suatu class, maka dia memiliki nilai awal
Objek null tidak memiliki nilai, seperti contoh di bawah ini :
Classname p;

      6  PENGENALAN JAVA | LAILI AIDI 
 
 


Disini variabel p memiliki nilai null, kita hanya melakukan reference variabel p dengan tipe
objek Classname. untuk membuat objek sebenarnya atau mengalokasikan objek Classname
terhadap variabel p maka kita akan gunakan operator new.


Operator new menghasilkan instans tunggal dari suatu class dan menghasilkan referensi ke
objek tersebut, seperti contoh dibawah ini :
p = new Classname();


Di sini kita telah menciptakan instant/objek dengan tipe/class Classname dan diberikan ke
variabel p. Variabel p mengacu atau bertindak sebagai reference ke objek tersebut.
Penggunaan objek dilakukan dnegna mengirimkan pesan ke objek atau dnegna kata lain,
mamanggil method yang terdapat dalam objek tersebut.


Penghancuran objek dalam Java tidak perlu dilakukan karena Java menyediakan Garbage
Collecotor yang mendeteksi dan memusnahkan objek yang saling tidak di acu oleh objek
lain yang masih digunakan oleh program


1.3 Konstruktor (Constructor)
Konstruktor digunakan untuk melakukan inisialisasi variable-variabel instan class serta
melakukan persiapan-persiapan yang diperlukan oleh suatu objek untuk dapat beroperasi
dengan baik.
Format umum pendeklarasian dan pendefinisian constructor adalah :
· Nama constructor sama dengan nama class.
· Sebelum itu dapat diberi access modifier untuk mengatur visibility constructor.
Dalam suatu Class dapat lebih dari satu constructor, masing-masing harus mempunyai
parameter yang berbeda sebagai penandanya. Hal seperti ini disebut Overloading
terhadap constructor.
Deklarasi Konstruktor :
[modifier] namaclass(parameter1){
Body constructor;
}
[modifier] namaclass(parameter1,parameter2){
Body constructor;
}
[modifier] namaclass(parameter1,parameter2,…,parameterN){
Body constructor;

      7  PENGENALAN JAVA | LAILI AIDI 
 
 


}
Contoh:
public class ContohConstructor {
int iVar;
/** Creates a new instance of ContohConstructor */
public ContohConstructor(int iVar){
System.out.println("Ditampilkan ketika objek diciptakan");
this.iVar = iVar;
}
public ContohConstructor(int iParam,String sParam){
System.out.println(sParam);
iVar = iParam;
}
int mTambah(){
iVar = iVar + 10;
return iVar;
}
public static void main(String args[]){
ContohConstructor obConst1 = new ContohConstructor(100);
ContohConstructor obConst2 = new ContohConstructor(200,"ditampilkan lagi
ketika objek2 diciptakan");
System.out.println("nilai dari parameter inputan untuk constructor objek1
"+obConst1.mTambah());
System.out.println("nilai dari parameter inputan untuk constructor objek2
"+obConst2.mTambah());
}
}
Output :
D:>java ContohConstructor
Ditampilkan ketika objek diciptakan
ditampilkan lagi ketika objek2 diciptakan
nilai dari parameter inputan untuk constructor objek1 110
nilai dari parameter inputan untuk constructor objek2 210




     8  PENGENALAN JAVA | LAILI AIDI 
 
 


1.4 Metod (Methode) dan Atribut (atribut)
Method dikenal dengan fungsi dan procedure. Dalam OOP, Method digunakan untuk
memodularisasi program melalui pemisahan tugas dalam suatu kelas. Pemanggilan method
menspesifikasikan nama method dan menyediakan informasi (parameter) yang diperlukan
untuk melaksanakan tugasnya. 2 Teknik pelewatan parameter (parameter passing) :
· Pelewatan dengan nilai (Pass By Value) dimana parameter dilewatkan melalui pengkopian
nilai argumen, sehingga perubahan terhadap parameter tidak berpengaruh terhadap
argument
· Pelewatan dengan Acuan (Pass By Reference) dimana yang dilewatkan adalah objek,
sehingga perubahan terhadap parameter akan berlaku untuk variabel yang dilewatkan ke
metode
Deklarasi method untuk yang mengembalikan nilai (fungsi) :
[modifier]Type-nilai_kiriman namamethod (parameter1, parameter2,..., parameterN){
Deklaras-deklarasi dan proses;
return nilai_kembalian;
}
Deklarasi method untuk yang tidak mengembalikan nilai (procedure) :
[modifier] void namamethod(parameter1,parameter2,…,parameterN){
Deklaras-deklarasi dan proses;
}
Contoh :
class Test {
int iVar1, iVar2, iVar3;
Test(int iVar1, int iVar2, int iVar3) {
this.iVar1 = iVar1;
this.iVar2 = iVar2;
this.iVar3 = iVar3;
}
/*Overidding method dengan pass by value */
void Calculate(int iCal1, int iCal2) {
iCal1 = iCal1 * 10;
iCal2 = iCal2 / 2;
}
/* Overidding method dengan pass by reference */
void Calculate(Test obTest) {
obTest.iVar1 = obTest.iVar1 * 10;


      9  PENGENALAN JAVA | LAILI AIDI 
 
 


obTest.iVar2 = obTest.iVar2 / 2;
}
/*Overidding method yang mengembalikan nilai*/
int OverMethod(int iAngka){
iVar3 = iVar3 + iAngka;
System.out.println("Tulisan ini bukan dari parameter inputan");
System.out.print("iVar3 + iAngka = "+iVar3+" + "+iAngka+" = ");
return (iVar3+iAngka);
}
/*Overidding method yang tidak mengembalikan nilai*/
void OverMethod(int iAngka, String sComment){
System.out.println(sComment);
System.out.println("iVar3 + iAngka = "+iVar3+" + "+iAngka+" = "+(iVar3 +
iAngka));
}
}
public class ContohMethod{
/** Creates a new instance of ContohMethod*/
public ContohMethod() {
}
public static void main(String[] argv) {
int iParam1, iParam2;
String sKalimat ="Tulisan ini dikirim dari parameter inputan ";
Test obTestParam = new Test(50,100,500);
iParam1 = 10;
iParam2 = 20;
System.out.println("Nilai sebelum pass by value");
System.out.println("iParam1 = "+iParam1);
System.out.println("iParam2 = "+iParam2);
/* pemanggilan method dengan pass by value*/
obTestParam.Calculate(iParam1,iParam2);
System.out.println("Nilai setelah pass by value");
System.out.println("iParam1 = "+iParam1);
System.out.println("iParam2 = "+iParam2);
/*-------------------------------------------------*/
System.out.println("Nilai sebelum pass by reference");
System.out.println("obTestParam.iVar1 = "+obTestParam.iVar1);
System.out.println("obTestParam.iVar2 = "+obTestParam.iVar2);

    10  PENGENALAN JAVA | LAILI AIDI 
 
 


/* pemanggilan method dengan pass by reference*/
obTestParam.Calculate(obTestParam);
System.out.println("Nilai setelah pass by reference");
System.out.println("obTestParam.iVar1 = "+obTestParam.iVar1);
System.out.println("obTestParam.iVar2 = "+obTestParam.iVar2);
/* pemanggilan method yang mengembalikan nilai */
System.out.println(obTestParam.OverMethod(500));
/* pemanggilan method yang tidak mengembalikan nilai */
obTestParam.OverMethod(500,sKalimat);
}
}
Output:
D:>java ContohMethod
Nilai sebelum pass by value
iParam1 = 10
iParam2 = 20
Nilai setelah pass by value
iParam1 = 10
iParam2 = 20
Nilai sebelum pass by reference
obTestParam.iVar1 = 50
obTestParam.iVar2 = 100
Nilai setelah pass by reference
obTestParam.iVar1 = 500
obTestParam.iVar2 = 50


1.5 Modifier 1.5 Modifier
Modifier memberi dampak tertentu pada class, interface, method dan variabel. Java
modifier terbagi menjadi kelompok berikut:
1. Access modifier / Visibility Modifier berlaku untuk class, method, variable dan interface,
meliputi modifier Public, Protected, Private, dan Default (tak ada modifier). Modifier ini
berguna untuk menentukan kontrol terhadap member class tersebut.
      Modifier      Class dan Interface                 Method dan Variabel
    Default (tak   Tampak di Paketnya        Diwarisi oleh subclassnya di paket yang
    ada                                      sama dengan classnya. Dapat diakses oleh
    modifier)                                method-method di class-class yang
                                             sepaket.

     11  PENGENALAN JAVA | LAILI AIDI 
 
 


     Public        Tampak di manapun            Diwarisi oleh semua subclassnya.
                                                Dapat diakses dimanapun.
     Protected     Tidak dapat diterapkan       Diwarisi oleh semua subclassnya.
                                                Dapat diakses oleh method-method di
                                                class-class yang sepaket.
     Private       Tidak dapat diterapkan       Tidak diwarisi oleh subclassnya
                                                Tidak dapat diakses oleh class lain.
2. Final modifier berlaku untuk class,variabel dan method, meliputi modifier final.
3. Static modifier berlaku untuk variabel dan method, meliputi modifier static.
4. Abstrac modifier berlaku untuk class dan method, meliputi modifier abstract.
5. Syncronized modifier berlaku untuk method, meliputi modifier syncronized .
6. Native modifier berlaku untuk method, meliputi modifier native.
7. Storage modifier berlaku untuk variabel, meliputi transient dan volatile.
      Modifier          Class        Interface              Method                Variabel
    Abstract        Class dapat     Optional         Tidak ada badan          Tidak dapat
                    berisi method   untuk            method yang              diterapkan.
                    abstract.       diberikan di     didefinisikan. Method
                    Class tidak     interface        memerlukan class
                    dapat           karena           kongkret yang
                    diinstantiasi   interface        merupakan subclass
                    Tidak           secara           yang akan
                    mempunyai       inheren          mengimplementasikan
                    constructor     adalah           method abstract
                                    abstract.
    Final           Class           Tidak dapat      Method tidak dapat       Berperilaku
                    menjadi tidak   diterapkan.      ditimpa oleh method      sebagai
                    dapat                            di subclass-             konstanta
                    digunakan                        subclassnya
                    untuk
                    menurunkan
                    class yang
                    baru.
    Static          Tidak dapat     Tidak dapat      Mendefinisikan           Mendefinisikan
                    diterapkan.     diterapkan.      method (milik) class.    variable milik
                                                     Dengan demikian          class. Dengan

      12  PENGENALAN JAVA | LAILI AIDI 
 
 


                                                  tidak memerlukan         demikian,
                                                  instant object untuk     tidak
                                                  menjalankanya.           memerlukan
                                                  Method ini tidak dapat   instant object
                                                  menjalankan method       untuk
                                                  yang bukan static        mengacunya.
                                                  serta tidak dapat        Variabel ini
                                                  mengacu variable         dapat
                                                  yang bukan static.       digunakan
                                                                           bersama oleh
                                                                           semua instant
                                                                           objek.
    synchronized    Tidak dapat     Tidak dapat   Eksekusi dari method     Tidak dapat
                    diterapkan.     diterapkan.   adalah secara mutual     diterapkan
                                                  exclusive diantara       pada
                                                  semua thread. Hanya      deklarasi.
                                                  satu thread pada satu    Diterapkan
                                                  saat yang dapat          pada instruksi
                                                  menjalankan method       untuk
                                                                           menjaga haya
                                                                           satu thread
                                                                           yang mengacu
                                                                           variable pada
                                                                           satu saat.
    Native          Tidak dapat     Tidak dapat   Tidak ada badan          Tidak dapat
                    diterapkan.     diterapkan.   method yang              diterapkan.
                                                  diperlukan karena
                                                  implementasi
                                                  dilakukan dengan
                                                  bahas lain.
    transient       Tidak dapat     Tidak dapat   Tidak dapat              Variable tidak
                    diterapkan.     diterapkan.   diterapkan.              aka
                                                                           diserialisasi
    Volatile        Tidak dapat     Tidak dapat   Tidak dapat              Variabel
                    diterapkan.     diterapkan.   diterapkan.              diubah secara


      13  PENGENALAN JAVA | LAILI AIDI 
 
 


                                                                                asinkron.
                                                                                Kompilator
                                                                                tidak pernah
                                                                                melakukan
                                                                                optimasi
                                                                                atasnya.


1.6 This
Java memasukkan suatu besaran referensi khusus yang disebut this, yang digunakan
didalam method yang dirujuk untuk objek yang sedang berlaku. Nilai this merujuk pada
objek dimana method yang sedang berjalan dipanggil.


Terdapat 2 cara dalam penggunan this yaitu secara Eksplisit dan Implisit. Pemanggilan
Eksplisit biasanya digunakan untuk mengatasi penamaan yang sama. Sedangkan pada
pemanggilan Implisit, karena tidak ada pertentangan maka tidak harus menulis kata kunci
this secara eksplisit. Bilapun ditulis akan mempunyai efek yang sama. Namun sebenarnya
kompilator akan menambahkan kata kunci this untuk pengacuan ke lokasi yang tepat di
objek itu secara otomatis.


Pada program ContohConstructor terlihat parameter di constructor yaitu iVar yang memiliki
kesamaan    nama    dengan   variabel    instant   iVar   di   class   ContohConstructor,    untuk
mengatasinya maka digunakan this yang mengacu variabel instant milik objek.
Potongan program ContohConstructor :
public class ContohConstructor {
……
/* ini merupakan penerapan dari Pemanggilan Eksplisit */
public ContohConstructor(int iVar){
System.out.println("Ditampilkan ketika objek diciptakan");
this.iVar = iVar;
}
/* ini merupakan penerapan dari Pemanggilan Implisit */
public ContohConstructor(int iParam,String sParam){
System.out.println(sParam);
iVar = iParam;
}
……

     14  PENGENALAN JAVA | LAILI AIDI 
 
 


                                    DAFTAR PUSTAKA
[FSW] Wiryasantika, Faisal. faisal@winwinfaisal.info
[MDLJV] Modul Praktikum Java. 2005. Program Studi D3 Jurusan Teknik Informatika.
           STTTelkom : Bandung (Tidak Diterbitkan)


*Copyright : Diperbolehkan mengutip keseluruhan atau sebahagian dari isi dokumen ini
dengan atau tanpa ijin penulis dengan tetap menyajikan kredit penulis.


 




     15  PENGENALAN JAVA | LAILI AIDI 
 

Más contenido relacionado

La actualidad más candente

Modul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekModul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekWahyu Widodo
 
Network Programming 2 - Dasar Pemrograman Java
Network Programming 2 - Dasar Pemrograman JavaNetwork Programming 2 - Dasar Pemrograman Java
Network Programming 2 - Dasar Pemrograman JavaLia Rusdyana Dewi
 
Pert 4. class dan objek
Pert 4. class dan objekPert 4. class dan objek
Pert 4. class dan objekradar radius
 
Network programming 03- Pemrograman Java Lanjutan
Network programming 03- Pemrograman Java LanjutanNetwork programming 03- Pemrograman Java Lanjutan
Network programming 03- Pemrograman Java LanjutanLia Rusdyana Dewi
 
Class dan object
Class dan objectClass dan object
Class dan objectHardini_HD
 
[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collection[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collectionrizki adam kurniawan
 
Laporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis ObjekLaporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis ObjekKuncara Laksana
 
Konsep Inheritance
Konsep InheritanceKonsep Inheritance
Konsep InheritanceRiski_kiki
 
Laporan PBO Pratikum 3
Laporan PBO Pratikum 3Laporan PBO Pratikum 3
Laporan PBO Pratikum 3rahmi wahyuni
 
Tugas Praktikum Pemrograman Berorientasi Objek
Tugas Praktikum Pemrograman Berorientasi ObjekTugas Praktikum Pemrograman Berorientasi Objek
Tugas Praktikum Pemrograman Berorientasi ObjekPungkas Soebarkah
 
Pemrograman Berorientasi Objek "Pengenalan JAVA"
Pemrograman Berorientasi Objek "Pengenalan JAVA"Pemrograman Berorientasi Objek "Pengenalan JAVA"
Pemrograman Berorientasi Objek "Pengenalan JAVA"Asnita Meydelia C K
 
Modul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objekModul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objekimam arifin
 
Materi pelatihan java_fundamental
Materi pelatihan java_fundamentalMateri pelatihan java_fundamental
Materi pelatihan java_fundamentalLaode ADB Ali
 
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan hermawanawang
 

La actualidad más candente (19)

Modul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi ObjekModul Pemrograman Berorientasi Objek
Modul Pemrograman Berorientasi Objek
 
Network Programming 2 - Dasar Pemrograman Java
Network Programming 2 - Dasar Pemrograman JavaNetwork Programming 2 - Dasar Pemrograman Java
Network Programming 2 - Dasar Pemrograman Java
 
Pert 4. class dan objek
Pert 4. class dan objekPert 4. class dan objek
Pert 4. class dan objek
 
Modul praktikum PBO
Modul praktikum PBOModul praktikum PBO
Modul praktikum PBO
 
Network programming 03- Pemrograman Java Lanjutan
Network programming 03- Pemrograman Java LanjutanNetwork programming 03- Pemrograman Java Lanjutan
Network programming 03- Pemrograman Java Lanjutan
 
Class dan object
Class dan objectClass dan object
Class dan object
 
[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collection[PBO] Pertemuan 10 - Generic Programming & Collection
[PBO] Pertemuan 10 - Generic Programming & Collection
 
Laporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis ObjekLaporan Modul 1 Praktikum Pemrograman Berbasis Objek
Laporan Modul 1 Praktikum Pemrograman Berbasis Objek
 
Konsep Inheritance
Konsep InheritanceKonsep Inheritance
Konsep Inheritance
 
Laporan PBO Pratikum 3
Laporan PBO Pratikum 3Laporan PBO Pratikum 3
Laporan PBO Pratikum 3
 
Tugas Praktikum Pemrograman Berorientasi Objek
Tugas Praktikum Pemrograman Berorientasi ObjekTugas Praktikum Pemrograman Berorientasi Objek
Tugas Praktikum Pemrograman Berorientasi Objek
 
Pemrograman Berorientasi Objek "Pengenalan JAVA"
Pemrograman Berorientasi Objek "Pengenalan JAVA"Pemrograman Berorientasi Objek "Pengenalan JAVA"
Pemrograman Berorientasi Objek "Pengenalan JAVA"
 
Laporan PBO Modul 4
Laporan PBO Modul 4Laporan PBO Modul 4
Laporan PBO Modul 4
 
Materi delphi
Materi delphiMateri delphi
Materi delphi
 
Modul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objekModul praktikum java pemrograman berorientasi objek
Modul praktikum java pemrograman berorientasi objek
 
Blog.yuna
Blog.yuna Blog.yuna
Blog.yuna
 
Materi pelatihan java_fundamental
Materi pelatihan java_fundamentalMateri pelatihan java_fundamental
Materi pelatihan java_fundamental
 
Materi pelatihan java fundamental
Materi pelatihan java fundamentalMateri pelatihan java fundamental
Materi pelatihan java fundamental
 
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
Pelajaran oop java ii pengertian method dan cara pembuatan method by hermawan
 

Similar a MDLJV

JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdfJENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdfJurnal IT
 
Jeni Intro2 Bab01 Review Konsep Dasar Dalam Java
Jeni Intro2 Bab01 Review Konsep Dasar Dalam JavaJeni Intro2 Bab01 Review Konsep Dasar Dalam Java
Jeni Intro2 Bab01 Review Konsep Dasar Dalam JavaIndividual Consultants
 
Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6ゴースト アノン
 
T1 - Konsep Pemrograman Berorientasi Obyek.ppt
T1 - Konsep Pemrograman Berorientasi Obyek.pptT1 - Konsep Pemrograman Berorientasi Obyek.ppt
T1 - Konsep Pemrograman Berorientasi Obyek.pptxirplsmksa
 
Object Oriented Programming Concept
Object Oriented Programming Concept Object Oriented Programming Concept
Object Oriented Programming Concept EsterLumba
 
Modul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATIONModul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATIONrahmantoyuri
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Rakhmat Dedi Gunawan
 
Basic Java Application - Sesi 5
Basic Java Application - Sesi 5Basic Java Application - Sesi 5
Basic Java Application - Sesi 5Rudi Hartono
 
516206149-Solid-Principle-Dan-Design-Pattern.pptx
516206149-Solid-Principle-Dan-Design-Pattern.pptx516206149-Solid-Principle-Dan-Design-Pattern.pptx
516206149-Solid-Principle-Dan-Design-Pattern.pptxAdityaSuryani1
 
Part 8 - Object Oriented Programming
Part 8 - Object Oriented ProgrammingPart 8 - Object Oriented Programming
Part 8 - Object Oriented ProgrammingRolly Yesputra
 
Modul oop with java application mauludin
Modul oop with java application   mauludinModul oop with java application   mauludin
Modul oop with java application mauludinMauludin Ahmad
 
Tugas 4 (individu) rekayasa web 0316
Tugas 4 (individu) rekayasa web 0316Tugas 4 (individu) rekayasa web 0316
Tugas 4 (individu) rekayasa web 0316septianarul
 
PRAKTIKUM PBO PERTEMUAN 5 (3).pptx
PRAKTIKUM PBO PERTEMUAN 5 (3).pptxPRAKTIKUM PBO PERTEMUAN 5 (3).pptx
PRAKTIKUM PBO PERTEMUAN 5 (3).pptxannikarimatulf
 

Similar a MDLJV (20)

JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdfJENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
JENI-Intro1-Bab09-Bekerja Dengan Java Class Library.pdf
 
5475 1 review konsep pbo
5475 1 review konsep pbo5475 1 review konsep pbo
5475 1 review konsep pbo
 
Jeni Intro2 Bab01 Review Konsep Dasar Dalam Java
Jeni Intro2 Bab01 Review Konsep Dasar Dalam JavaJeni Intro2 Bab01 Review Konsep Dasar Dalam Java
Jeni Intro2 Bab01 Review Konsep Dasar Dalam Java
 
Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6Pemograman berorientasi obyek kelompok 6
Pemograman berorientasi obyek kelompok 6
 
T1 - Konsep Pemrograman Berorientasi Obyek.ppt
T1 - Konsep Pemrograman Berorientasi Obyek.pptT1 - Konsep Pemrograman Berorientasi Obyek.ppt
T1 - Konsep Pemrograman Berorientasi Obyek.ppt
 
Object Oriented Programming Concept
Object Oriented Programming Concept Object Oriented Programming Concept
Object Oriented Programming Concept
 
Modul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATIONModul pratikum pbo - ENCAPSULATION
Modul pratikum pbo - ENCAPSULATION
 
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
Modul PBO Bab-07 - Enkapsulasi (Encapsulation)
 
mf488_10_092649.ppt
mf488_10_092649.pptmf488_10_092649.ppt
mf488_10_092649.ppt
 
Basic Java Application - Sesi 5
Basic Java Application - Sesi 5Basic Java Application - Sesi 5
Basic Java Application - Sesi 5
 
13216 3 enkapsulasi
13216 3 enkapsulasi13216 3 enkapsulasi
13216 3 enkapsulasi
 
28431 3 enkapsulasi
28431 3 enkapsulasi28431 3 enkapsulasi
28431 3 enkapsulasi
 
516206149-Solid-Principle-Dan-Design-Pattern.pptx
516206149-Solid-Principle-Dan-Design-Pattern.pptx516206149-Solid-Principle-Dan-Design-Pattern.pptx
516206149-Solid-Principle-Dan-Design-Pattern.pptx
 
Part 8 - Object Oriented Programming
Part 8 - Object Oriented ProgrammingPart 8 - Object Oriented Programming
Part 8 - Object Oriented Programming
 
Modul oop with java application mauludin
Modul oop with java application   mauludinModul oop with java application   mauludin
Modul oop with java application mauludin
 
31322 2 class & object
31322 2 class & object31322 2 class & object
31322 2 class & object
 
Tugas 4 (individu) rekayasa web 0316
Tugas 4 (individu) rekayasa web 0316Tugas 4 (individu) rekayasa web 0316
Tugas 4 (individu) rekayasa web 0316
 
Jeni konsep oop
Jeni   konsep oopJeni   konsep oop
Jeni konsep oop
 
Tugas resum
Tugas resumTugas resum
Tugas resum
 
PRAKTIKUM PBO PERTEMUAN 5 (3).pptx
PRAKTIKUM PBO PERTEMUAN 5 (3).pptxPRAKTIKUM PBO PERTEMUAN 5 (3).pptx
PRAKTIKUM PBO PERTEMUAN 5 (3).pptx
 

Más de Laili Aidi

Mobile Music Business Models in Asia's Emerging Markets
Mobile Music Business Models in Asia's Emerging MarketsMobile Music Business Models in Asia's Emerging Markets
Mobile Music Business Models in Asia's Emerging MarketsLaili Aidi
 
Stream Control Transmission Protocol (SCTP) - Introduction
Stream Control Transmission Protocol (SCTP) - IntroductionStream Control Transmission Protocol (SCTP) - Introduction
Stream Control Transmission Protocol (SCTP) - IntroductionLaili Aidi
 
Internet of Things
Internet of ThingsInternet of Things
Internet of ThingsLaili Aidi
 
Study Abroad in the Land of Nobel
Study Abroad in the Land of NobelStudy Abroad in the Land of Nobel
Study Abroad in the Land of NobelLaili Aidi
 
Go International: Challenges and Opportunities
Go International: Challenges and OpportunitiesGo International: Challenges and Opportunities
Go International: Challenges and OpportunitiesLaili Aidi
 
Master Thesis Report: Business Models for Mobile Broadband Media Services – C...
Master Thesis Report: Business Models for Mobile Broadband Media Services – C...Master Thesis Report: Business Models for Mobile Broadband Media Services – C...
Master Thesis Report: Business Models for Mobile Broadband Media Services – C...Laili Aidi
 
Paper - Competing or Aligning? Assessment for Telecom Operator's strategy to ...
Paper - Competing or Aligning? Assessment for Telecom Operator's strategy to ...Paper - Competing or Aligning? Assessment for Telecom Operator's strategy to ...
Paper - Competing or Aligning? Assessment for Telecom Operator's strategy to ...Laili Aidi
 
Master Thesis Presentation: Business Models for Mobile Broadband Media Servic...
Master Thesis Presentation: Business Models for Mobile Broadband Media Servic...Master Thesis Presentation: Business Models for Mobile Broadband Media Servic...
Master Thesis Presentation: Business Models for Mobile Broadband Media Servic...Laili Aidi
 
Abstract - Competing or Aligning? Assessment for Telecom Operator's strategy ...
Abstract - Competing or Aligning? Assessment for Telecom Operator's strategy ...Abstract - Competing or Aligning? Assessment for Telecom Operator's strategy ...
Abstract - Competing or Aligning? Assessment for Telecom Operator's strategy ...Laili Aidi
 
Music Service Monetization 2.0
Music Service Monetization 2.0Music Service Monetization 2.0
Music Service Monetization 2.0Laili Aidi
 
Master Thesis Proposal Presentation: Business Models for Mobile-broadband Med...
Master Thesis Proposal Presentation: Business Models for Mobile-broadband Med...Master Thesis Proposal Presentation: Business Models for Mobile-broadband Med...
Master Thesis Proposal Presentation: Business Models for Mobile-broadband Med...Laili Aidi
 
Master Thesis Proposal: Business Models for Mobile-broadband Media Services –...
Master Thesis Proposal: Business Models for Mobile-broadband Media Services –...Master Thesis Proposal: Business Models for Mobile-broadband Media Services –...
Master Thesis Proposal: Business Models for Mobile-broadband Media Services –...Laili Aidi
 
Steganography Tool & Steganography Detection Tool - Presentation
Steganography Tool & Steganography Detection Tool - PresentationSteganography Tool & Steganography Detection Tool - Presentation
Steganography Tool & Steganography Detection Tool - PresentationLaili Aidi
 
Delay Tolerant Network - Presentation
Delay Tolerant Network - PresentationDelay Tolerant Network - Presentation
Delay Tolerant Network - PresentationLaili Aidi
 
Delay Tolerant Network - Journal
Delay Tolerant Network - JournalDelay Tolerant Network - Journal
Delay Tolerant Network - JournalLaili Aidi
 
Dimensioning and Cost Structure Analysis of Wide Area Data Service Network - ...
Dimensioning and Cost Structure Analysis of Wide Area Data Service Network - ...Dimensioning and Cost Structure Analysis of Wide Area Data Service Network - ...
Dimensioning and Cost Structure Analysis of Wide Area Data Service Network - ...Laili Aidi
 
Analysis of WiMAX regulation in South Korea and Indonesia - Presentation
Analysis of WiMAX regulation in South Korea and Indonesia - PresentationAnalysis of WiMAX regulation in South Korea and Indonesia - Presentation
Analysis of WiMAX regulation in South Korea and Indonesia - PresentationLaili Aidi
 
SNMP Project: SNMP-based Network Anomaly Detection Using Clustering
SNMP Project: SNMP-based Network Anomaly Detection Using ClusteringSNMP Project: SNMP-based Network Anomaly Detection Using Clustering
SNMP Project: SNMP-based Network Anomaly Detection Using ClusteringLaili Aidi
 
Sweden’s Telecom Markets, Actors & Roles - Presentation
Sweden’s Telecom Markets, Actors & Roles - PresentationSweden’s Telecom Markets, Actors & Roles - Presentation
Sweden’s Telecom Markets, Actors & Roles - PresentationLaili Aidi
 
Condroid KTH Summer CSD 2011 - Final Report
Condroid KTH Summer CSD 2011 - Final ReportCondroid KTH Summer CSD 2011 - Final Report
Condroid KTH Summer CSD 2011 - Final ReportLaili Aidi
 

Más de Laili Aidi (20)

Mobile Music Business Models in Asia's Emerging Markets
Mobile Music Business Models in Asia's Emerging MarketsMobile Music Business Models in Asia's Emerging Markets
Mobile Music Business Models in Asia's Emerging Markets
 
Stream Control Transmission Protocol (SCTP) - Introduction
Stream Control Transmission Protocol (SCTP) - IntroductionStream Control Transmission Protocol (SCTP) - Introduction
Stream Control Transmission Protocol (SCTP) - Introduction
 
Internet of Things
Internet of ThingsInternet of Things
Internet of Things
 
Study Abroad in the Land of Nobel
Study Abroad in the Land of NobelStudy Abroad in the Land of Nobel
Study Abroad in the Land of Nobel
 
Go International: Challenges and Opportunities
Go International: Challenges and OpportunitiesGo International: Challenges and Opportunities
Go International: Challenges and Opportunities
 
Master Thesis Report: Business Models for Mobile Broadband Media Services – C...
Master Thesis Report: Business Models for Mobile Broadband Media Services – C...Master Thesis Report: Business Models for Mobile Broadband Media Services – C...
Master Thesis Report: Business Models for Mobile Broadband Media Services – C...
 
Paper - Competing or Aligning? Assessment for Telecom Operator's strategy to ...
Paper - Competing or Aligning? Assessment for Telecom Operator's strategy to ...Paper - Competing or Aligning? Assessment for Telecom Operator's strategy to ...
Paper - Competing or Aligning? Assessment for Telecom Operator's strategy to ...
 
Master Thesis Presentation: Business Models for Mobile Broadband Media Servic...
Master Thesis Presentation: Business Models for Mobile Broadband Media Servic...Master Thesis Presentation: Business Models for Mobile Broadband Media Servic...
Master Thesis Presentation: Business Models for Mobile Broadband Media Servic...
 
Abstract - Competing or Aligning? Assessment for Telecom Operator's strategy ...
Abstract - Competing or Aligning? Assessment for Telecom Operator's strategy ...Abstract - Competing or Aligning? Assessment for Telecom Operator's strategy ...
Abstract - Competing or Aligning? Assessment for Telecom Operator's strategy ...
 
Music Service Monetization 2.0
Music Service Monetization 2.0Music Service Monetization 2.0
Music Service Monetization 2.0
 
Master Thesis Proposal Presentation: Business Models for Mobile-broadband Med...
Master Thesis Proposal Presentation: Business Models for Mobile-broadband Med...Master Thesis Proposal Presentation: Business Models for Mobile-broadband Med...
Master Thesis Proposal Presentation: Business Models for Mobile-broadband Med...
 
Master Thesis Proposal: Business Models for Mobile-broadband Media Services –...
Master Thesis Proposal: Business Models for Mobile-broadband Media Services –...Master Thesis Proposal: Business Models for Mobile-broadband Media Services –...
Master Thesis Proposal: Business Models for Mobile-broadband Media Services –...
 
Steganography Tool & Steganography Detection Tool - Presentation
Steganography Tool & Steganography Detection Tool - PresentationSteganography Tool & Steganography Detection Tool - Presentation
Steganography Tool & Steganography Detection Tool - Presentation
 
Delay Tolerant Network - Presentation
Delay Tolerant Network - PresentationDelay Tolerant Network - Presentation
Delay Tolerant Network - Presentation
 
Delay Tolerant Network - Journal
Delay Tolerant Network - JournalDelay Tolerant Network - Journal
Delay Tolerant Network - Journal
 
Dimensioning and Cost Structure Analysis of Wide Area Data Service Network - ...
Dimensioning and Cost Structure Analysis of Wide Area Data Service Network - ...Dimensioning and Cost Structure Analysis of Wide Area Data Service Network - ...
Dimensioning and Cost Structure Analysis of Wide Area Data Service Network - ...
 
Analysis of WiMAX regulation in South Korea and Indonesia - Presentation
Analysis of WiMAX regulation in South Korea and Indonesia - PresentationAnalysis of WiMAX regulation in South Korea and Indonesia - Presentation
Analysis of WiMAX regulation in South Korea and Indonesia - Presentation
 
SNMP Project: SNMP-based Network Anomaly Detection Using Clustering
SNMP Project: SNMP-based Network Anomaly Detection Using ClusteringSNMP Project: SNMP-based Network Anomaly Detection Using Clustering
SNMP Project: SNMP-based Network Anomaly Detection Using Clustering
 
Sweden’s Telecom Markets, Actors & Roles - Presentation
Sweden’s Telecom Markets, Actors & Roles - PresentationSweden’s Telecom Markets, Actors & Roles - Presentation
Sweden’s Telecom Markets, Actors & Roles - Presentation
 
Condroid KTH Summer CSD 2011 - Final Report
Condroid KTH Summer CSD 2011 - Final ReportCondroid KTH Summer CSD 2011 - Final Report
Condroid KTH Summer CSD 2011 - Final Report
 

MDLJV

  • 1.   09/03/2007    LAILI AIDI  PENGENALAN JAVA    PENGENALAN JAVA | Laili Aidi  
  • 2.   LAILI AIDI Asisten Praktikum Java, Common Laboratory Teknik Informatika STTTELKOM, 2005-2006 1. Pemrograman Berorientasi Objek [MDLJV] 1.1 Object Oriented Vs Procedural Beberapa pendekatan dalam pemrograman berorientasi procedural: ·Teknik Top-Down, tugas-tugas yang kompleks dipecah menjadi bagian yang lebih kecil, sampai sub tugas tersebut mudah diimplementasikan. ·Teknik Buttom-Up, membuat procedure-procedure untuk menyelesaikan tugas yang sederhana, kemudian menggabungkannya dalam procedure yang lebih kompleks, sampai fungsionalitas yang diinginkan tercapai. Untuk menentukan procedure di dalam procedural programming sama dengan menentukan sebuah method yang ada dalam OOP. Perbedaan OOP adalah memisahkan class-class, menentukan methode-methode dalam class yang dihubungkan dengan class yang bertanggung jawab untuk menjalankan suatu fungsi. Dengan menggunakan class, fungsionalitas dari suatu class sudah di encapsulate di dalamnya sehingga sangat membantu dalam membangun project. Seorang programmer dapat menggunakan class yang sudah dibuat programmer lain, tanpa ia perlu tahu bagaiman detailnya suatu class mengerjakan suatu operasi Beberapa konsep penting OOP : · Pengkapsulan(Encapsulation) Pengkapsulan adalah proses pemaketan data object bersama method-methodnya. Manfaat utama pengkapsulan bagi pemrogram, yaitu : 1. Penyembunyian informasi (information hiding) Penyembunyian implementasi mengacu perlindungan implementasi internal objek. Objek disusun dari antarmuka public dan bagian private yang merupakan kombinasi data dan method internal. Manfaat utama adalah bagian internal dapat berubah tanpa mempengaruhi bagian-bagian program yang lain. 2. Modularitas (Modularity) Membuat objek dapat dikelola secara independent sehingga bebas melakukan modifikasi tanpa menyebabkan masalah pada bagian lain. Manfaat ini mempermudah mendistribusikan objek-objek di system. 2  PENGENALAN JAVA | LAILI AIDI   
  • 3.   · Pewarisan (Inheritance) Pewarisan adalah proses penciptaan class baru dengan mewarisi karakteristik class yang telah ada, ditambah karakteristik unik class baru itu.. Pewarisan memungkinkan class mewarisi fungsionalitas class yang telah ada dan mengorganisasi class. Subclass mewarisi semua method dan variabel dari superclassnya. Secara praktis berarti bahwa jika superclass telah mendefinisikan perilaku yang kita perlukan, maka kita tidak perlu mendefinisi ulang perilaku itu, kita cukup membuat class yang merupakan subclass dari superclass yang dimaksud Contoh: class SuperContohInheritance { int iVar1,iVar2; /** Creates a new instance of SuperContohInheritance*/ public SuperContohInheritance() { } int mSuperClass(){ iVar1 = iVar1 + iVar2; System.out.println("nilai var1 + var2 = "+iVar1+" + "+iVar2+"= " +iVar1); return iVar1; } } public class SubContohInheritance extends SuperContohInheritance{ private int iVar3; /** Creates a new instance of SubContohInheritance*/ public SubContohInheritance(int iVar1,int iVar2,int iVar3){ this.iVar1 = iVar1; this.iVar2 = iVar2; this.iVar3 = iVar3; } void mSubClass(){ System.out.println("nilai iVar3 di variabel instan adalah "+this.iVar3); } public static void main(String args[]){ SubContohInheritance objek1 = new SubContohInheritance(100,200,300); objek1.mSuperClass(); objek1.mSubClass(); } } 3  PENGENALAN JAVA | LAILI AIDI   
  • 4.   Output : D:>java SubContohInheritance nilai var1 + var2 = 300 + 200= 300 nilai iVar3 di variabel instan adalah ·Polimorfisme (Polymorphism) Polimorfisme berarti mempunyai banyak bentuk. Dua objek atau lebih dikatakan sebagai polymorphic bila objek-objek itu mempunyai antarmuka-antarmuka identik namun mempunya perilaku-perilaku yang berbeda. Pada bahasa pemrograman fungsional yang lain, untuk melengkapi dua pekerjaan yang berbeda diperlukan dua fungsi terpisah dengan nama yang berbeda. Pada Polimorfisme memperbolehkan method memiliki beberapa implementasi yang dipilih berdasarkan tipe objek yang dilewatkan pada pengerjaan method, ini dikenal dengan overloading method. · Pesan (Message) Objek-objek memerlukan suatu tipe mekanisme komunikasi untuk saling berinteraksi. Objek-objek saling berkomunikasi dan berinteraksi lewat message. Ketika berkomunikasi objek mengirim pesan (memanggil method) untuk memberitahu agar objek lain melakukan sesuatu yang diharapkan.. Seringkali pengiriman message juga disertai informasi untuk memperjelas apa yang dikehendaki. Informasi yang dilewatkan beserta message adalah parameter message. 1.2 Kelas (Class) dan Objek (Object) Kelas merupakan bentuk logik dimana seluruh bahasa berorientasi objek dibangun. Kelas mendefinisikan bentuk dan sifat/kelakuan/perilaku objek.Semua konsep/abstraksi yang kita implementasikan di Java harus dikapsulkan/dikemas dalam class. Kelas adalah template atau prototype yang mendefinisikan type objek, sarana pengkapsulan kumpulan data-data dan method-method yang mengolah data-data tersebut, adalah cetakan objek, jadi objek harus merupakan instant suatu kelas. Data dan method berguna untuk mendefinisikan isi dan kemampuan objek. 4  PENGENALAN JAVA | LAILI AIDI   
  • 5.   Deklarasi Kelas Classmodifier class namaclass [extends namasuperclass] [implements namainterface] /* Mendefinisikan atribut */ Type instance-variabel1; Type instance-variabel2; Type instance-variabelN; /* Mendefinisikan atribut */ Type instance-variabel1; Type instance-variabel2; Type instance-variabelN; /* Mendefinisikan constructor */ [modifier] namaclass(parameterlist){ constructor body; } /*Mendefinisikan method*/ Type methodname1(parameterlist){ Methodbody; } Type methodname2(parameterlist){ Methodbody; } } namaclass dan namasuperclass dapat berupa identifier apa saja yang berlaku. Kata kunci extends digunakan untuk menunjukkan bahwa namaclass adalah subclass namasuperclass. Di Java terdapat sebuah class object yang merupakan induk hirarki class Java. Jika kita ingin langsung menurunkan class namaclass dari class object maka dapat menghilangkan pertanyaan extends karena compiler secara otomatis akan memasukkanya. Contoh : class Switch { private boolean isOn = false; /** Creates new Switch */ public Switch() { } public void turnOn(){ isOn = true; } public void turnOff() { 5  PENGENALAN JAVA | LAILI AIDI   
  • 6.   isOn = false; } public boolean isItOn() { return isOn; } } public class HomeSweetHome { private Switch bedroomSwitch = new Switch(); private Switch hallWaySwitch = new Switch(); /** Creates a new instance of HomeSweetHome */ public HomeSweetHome() { } public void turnOnBedroomSw() { bedroomSwitch.turnOn(); System.out.println("bedroom switch is now on"); } public static void main(String[] arg){ HomeSweetHome obHouse = new HomeSweetHome(); System.out.println("now, I turn on the bedroom switch"); obHouse.turnOnBedroomSw(); } } Output : D:>java HomeSweetHome now, I turn on the bedroom switch bedroom switch is now on Apakah hubungan class dengan objek? Class adalah blue print dari objek, ini berarti bahwa kita dapat membuat banyak objek dari satu macam class. Kita tidak dapat melakukan sesuatu dengan/terhadap class (kecuali untuk data dan method static), kita hanya dapat melakukan sesuatu terhadap objek yang diinstan dari sebuah class. Instants atau objek adalah suatu salinan pola class, dengan kumpulan datanya sendiri yang disebut variable instans. Setiap instantsnull yang merupakan referensi untuk tipe object, sehingga tipenya cocok dengan semua class lain. dapat juga dirujuk sebagai objek. Jika kita mendeklarasikan tipe suatu variabel sebagai suatu class, maka dia memiliki nilai awal Objek null tidak memiliki nilai, seperti contoh di bawah ini : Classname p; 6  PENGENALAN JAVA | LAILI AIDI   
  • 7.   Disini variabel p memiliki nilai null, kita hanya melakukan reference variabel p dengan tipe objek Classname. untuk membuat objek sebenarnya atau mengalokasikan objek Classname terhadap variabel p maka kita akan gunakan operator new. Operator new menghasilkan instans tunggal dari suatu class dan menghasilkan referensi ke objek tersebut, seperti contoh dibawah ini : p = new Classname(); Di sini kita telah menciptakan instant/objek dengan tipe/class Classname dan diberikan ke variabel p. Variabel p mengacu atau bertindak sebagai reference ke objek tersebut. Penggunaan objek dilakukan dnegna mengirimkan pesan ke objek atau dnegna kata lain, mamanggil method yang terdapat dalam objek tersebut. Penghancuran objek dalam Java tidak perlu dilakukan karena Java menyediakan Garbage Collecotor yang mendeteksi dan memusnahkan objek yang saling tidak di acu oleh objek lain yang masih digunakan oleh program 1.3 Konstruktor (Constructor) Konstruktor digunakan untuk melakukan inisialisasi variable-variabel instan class serta melakukan persiapan-persiapan yang diperlukan oleh suatu objek untuk dapat beroperasi dengan baik. Format umum pendeklarasian dan pendefinisian constructor adalah : · Nama constructor sama dengan nama class. · Sebelum itu dapat diberi access modifier untuk mengatur visibility constructor. Dalam suatu Class dapat lebih dari satu constructor, masing-masing harus mempunyai parameter yang berbeda sebagai penandanya. Hal seperti ini disebut Overloading terhadap constructor. Deklarasi Konstruktor : [modifier] namaclass(parameter1){ Body constructor; } [modifier] namaclass(parameter1,parameter2){ Body constructor; } [modifier] namaclass(parameter1,parameter2,…,parameterN){ Body constructor; 7  PENGENALAN JAVA | LAILI AIDI   
  • 8.   } Contoh: public class ContohConstructor { int iVar; /** Creates a new instance of ContohConstructor */ public ContohConstructor(int iVar){ System.out.println("Ditampilkan ketika objek diciptakan"); this.iVar = iVar; } public ContohConstructor(int iParam,String sParam){ System.out.println(sParam); iVar = iParam; } int mTambah(){ iVar = iVar + 10; return iVar; } public static void main(String args[]){ ContohConstructor obConst1 = new ContohConstructor(100); ContohConstructor obConst2 = new ContohConstructor(200,"ditampilkan lagi ketika objek2 diciptakan"); System.out.println("nilai dari parameter inputan untuk constructor objek1 "+obConst1.mTambah()); System.out.println("nilai dari parameter inputan untuk constructor objek2 "+obConst2.mTambah()); } } Output : D:>java ContohConstructor Ditampilkan ketika objek diciptakan ditampilkan lagi ketika objek2 diciptakan nilai dari parameter inputan untuk constructor objek1 110 nilai dari parameter inputan untuk constructor objek2 210 8  PENGENALAN JAVA | LAILI AIDI   
  • 9.   1.4 Metod (Methode) dan Atribut (atribut) Method dikenal dengan fungsi dan procedure. Dalam OOP, Method digunakan untuk memodularisasi program melalui pemisahan tugas dalam suatu kelas. Pemanggilan method menspesifikasikan nama method dan menyediakan informasi (parameter) yang diperlukan untuk melaksanakan tugasnya. 2 Teknik pelewatan parameter (parameter passing) : · Pelewatan dengan nilai (Pass By Value) dimana parameter dilewatkan melalui pengkopian nilai argumen, sehingga perubahan terhadap parameter tidak berpengaruh terhadap argument · Pelewatan dengan Acuan (Pass By Reference) dimana yang dilewatkan adalah objek, sehingga perubahan terhadap parameter akan berlaku untuk variabel yang dilewatkan ke metode Deklarasi method untuk yang mengembalikan nilai (fungsi) : [modifier]Type-nilai_kiriman namamethod (parameter1, parameter2,..., parameterN){ Deklaras-deklarasi dan proses; return nilai_kembalian; } Deklarasi method untuk yang tidak mengembalikan nilai (procedure) : [modifier] void namamethod(parameter1,parameter2,…,parameterN){ Deklaras-deklarasi dan proses; } Contoh : class Test { int iVar1, iVar2, iVar3; Test(int iVar1, int iVar2, int iVar3) { this.iVar1 = iVar1; this.iVar2 = iVar2; this.iVar3 = iVar3; } /*Overidding method dengan pass by value */ void Calculate(int iCal1, int iCal2) { iCal1 = iCal1 * 10; iCal2 = iCal2 / 2; } /* Overidding method dengan pass by reference */ void Calculate(Test obTest) { obTest.iVar1 = obTest.iVar1 * 10; 9  PENGENALAN JAVA | LAILI AIDI   
  • 10.   obTest.iVar2 = obTest.iVar2 / 2; } /*Overidding method yang mengembalikan nilai*/ int OverMethod(int iAngka){ iVar3 = iVar3 + iAngka; System.out.println("Tulisan ini bukan dari parameter inputan"); System.out.print("iVar3 + iAngka = "+iVar3+" + "+iAngka+" = "); return (iVar3+iAngka); } /*Overidding method yang tidak mengembalikan nilai*/ void OverMethod(int iAngka, String sComment){ System.out.println(sComment); System.out.println("iVar3 + iAngka = "+iVar3+" + "+iAngka+" = "+(iVar3 + iAngka)); } } public class ContohMethod{ /** Creates a new instance of ContohMethod*/ public ContohMethod() { } public static void main(String[] argv) { int iParam1, iParam2; String sKalimat ="Tulisan ini dikirim dari parameter inputan "; Test obTestParam = new Test(50,100,500); iParam1 = 10; iParam2 = 20; System.out.println("Nilai sebelum pass by value"); System.out.println("iParam1 = "+iParam1); System.out.println("iParam2 = "+iParam2); /* pemanggilan method dengan pass by value*/ obTestParam.Calculate(iParam1,iParam2); System.out.println("Nilai setelah pass by value"); System.out.println("iParam1 = "+iParam1); System.out.println("iParam2 = "+iParam2); /*-------------------------------------------------*/ System.out.println("Nilai sebelum pass by reference"); System.out.println("obTestParam.iVar1 = "+obTestParam.iVar1); System.out.println("obTestParam.iVar2 = "+obTestParam.iVar2); 10  PENGENALAN JAVA | LAILI AIDI   
  • 11.   /* pemanggilan method dengan pass by reference*/ obTestParam.Calculate(obTestParam); System.out.println("Nilai setelah pass by reference"); System.out.println("obTestParam.iVar1 = "+obTestParam.iVar1); System.out.println("obTestParam.iVar2 = "+obTestParam.iVar2); /* pemanggilan method yang mengembalikan nilai */ System.out.println(obTestParam.OverMethod(500)); /* pemanggilan method yang tidak mengembalikan nilai */ obTestParam.OverMethod(500,sKalimat); } } Output: D:>java ContohMethod Nilai sebelum pass by value iParam1 = 10 iParam2 = 20 Nilai setelah pass by value iParam1 = 10 iParam2 = 20 Nilai sebelum pass by reference obTestParam.iVar1 = 50 obTestParam.iVar2 = 100 Nilai setelah pass by reference obTestParam.iVar1 = 500 obTestParam.iVar2 = 50 1.5 Modifier 1.5 Modifier Modifier memberi dampak tertentu pada class, interface, method dan variabel. Java modifier terbagi menjadi kelompok berikut: 1. Access modifier / Visibility Modifier berlaku untuk class, method, variable dan interface, meliputi modifier Public, Protected, Private, dan Default (tak ada modifier). Modifier ini berguna untuk menentukan kontrol terhadap member class tersebut. Modifier Class dan Interface Method dan Variabel Default (tak Tampak di Paketnya Diwarisi oleh subclassnya di paket yang ada sama dengan classnya. Dapat diakses oleh modifier) method-method di class-class yang sepaket. 11  PENGENALAN JAVA | LAILI AIDI   
  • 12.   Public Tampak di manapun Diwarisi oleh semua subclassnya. Dapat diakses dimanapun. Protected Tidak dapat diterapkan Diwarisi oleh semua subclassnya. Dapat diakses oleh method-method di class-class yang sepaket. Private Tidak dapat diterapkan Tidak diwarisi oleh subclassnya Tidak dapat diakses oleh class lain. 2. Final modifier berlaku untuk class,variabel dan method, meliputi modifier final. 3. Static modifier berlaku untuk variabel dan method, meliputi modifier static. 4. Abstrac modifier berlaku untuk class dan method, meliputi modifier abstract. 5. Syncronized modifier berlaku untuk method, meliputi modifier syncronized . 6. Native modifier berlaku untuk method, meliputi modifier native. 7. Storage modifier berlaku untuk variabel, meliputi transient dan volatile. Modifier Class Interface Method Variabel Abstract Class dapat Optional Tidak ada badan Tidak dapat berisi method untuk method yang diterapkan. abstract. diberikan di didefinisikan. Method Class tidak interface memerlukan class dapat karena kongkret yang diinstantiasi interface merupakan subclass Tidak secara yang akan mempunyai inheren mengimplementasikan constructor adalah method abstract abstract. Final Class Tidak dapat Method tidak dapat Berperilaku menjadi tidak diterapkan. ditimpa oleh method sebagai dapat di subclass- konstanta digunakan subclassnya untuk menurunkan class yang baru. Static Tidak dapat Tidak dapat Mendefinisikan Mendefinisikan diterapkan. diterapkan. method (milik) class. variable milik Dengan demikian class. Dengan 12  PENGENALAN JAVA | LAILI AIDI   
  • 13.   tidak memerlukan demikian, instant object untuk tidak menjalankanya. memerlukan Method ini tidak dapat instant object menjalankan method untuk yang bukan static mengacunya. serta tidak dapat Variabel ini mengacu variable dapat yang bukan static. digunakan bersama oleh semua instant objek. synchronized Tidak dapat Tidak dapat Eksekusi dari method Tidak dapat diterapkan. diterapkan. adalah secara mutual diterapkan exclusive diantara pada semua thread. Hanya deklarasi. satu thread pada satu Diterapkan saat yang dapat pada instruksi menjalankan method untuk menjaga haya satu thread yang mengacu variable pada satu saat. Native Tidak dapat Tidak dapat Tidak ada badan Tidak dapat diterapkan. diterapkan. method yang diterapkan. diperlukan karena implementasi dilakukan dengan bahas lain. transient Tidak dapat Tidak dapat Tidak dapat Variable tidak diterapkan. diterapkan. diterapkan. aka diserialisasi Volatile Tidak dapat Tidak dapat Tidak dapat Variabel diterapkan. diterapkan. diterapkan. diubah secara 13  PENGENALAN JAVA | LAILI AIDI   
  • 14.   asinkron. Kompilator tidak pernah melakukan optimasi atasnya. 1.6 This Java memasukkan suatu besaran referensi khusus yang disebut this, yang digunakan didalam method yang dirujuk untuk objek yang sedang berlaku. Nilai this merujuk pada objek dimana method yang sedang berjalan dipanggil. Terdapat 2 cara dalam penggunan this yaitu secara Eksplisit dan Implisit. Pemanggilan Eksplisit biasanya digunakan untuk mengatasi penamaan yang sama. Sedangkan pada pemanggilan Implisit, karena tidak ada pertentangan maka tidak harus menulis kata kunci this secara eksplisit. Bilapun ditulis akan mempunyai efek yang sama. Namun sebenarnya kompilator akan menambahkan kata kunci this untuk pengacuan ke lokasi yang tepat di objek itu secara otomatis. Pada program ContohConstructor terlihat parameter di constructor yaitu iVar yang memiliki kesamaan nama dengan variabel instant iVar di class ContohConstructor, untuk mengatasinya maka digunakan this yang mengacu variabel instant milik objek. Potongan program ContohConstructor : public class ContohConstructor { …… /* ini merupakan penerapan dari Pemanggilan Eksplisit */ public ContohConstructor(int iVar){ System.out.println("Ditampilkan ketika objek diciptakan"); this.iVar = iVar; } /* ini merupakan penerapan dari Pemanggilan Implisit */ public ContohConstructor(int iParam,String sParam){ System.out.println(sParam); iVar = iParam; } …… 14  PENGENALAN JAVA | LAILI AIDI   
  • 15.   DAFTAR PUSTAKA [FSW] Wiryasantika, Faisal. faisal@winwinfaisal.info [MDLJV] Modul Praktikum Java. 2005. Program Studi D3 Jurusan Teknik Informatika. STTTelkom : Bandung (Tidak Diterbitkan) *Copyright : Diperbolehkan mengutip keseluruhan atau sebahagian dari isi dokumen ini dengan atau tanpa ijin penulis dengan tetap menyajikan kredit penulis.   15  PENGENALAN JAVA | LAILI AIDI