Professional Documents
Culture Documents
DATA PEMILIK
Foto 3 x 4
Nama Lengkap
: .......................................................................................................................
NIM
: .......................................................................................................................
Kelas
: .......................................................................................................................
Alamat
: .......................................................................................................................
.......................................................................................................................
.......................................................................................................................
No. Hp
: .......................................................................................................................
: .......................................................................................................................
:....................................................................................................................................
Alamat
:....................................................................................................................................
.....................................................................................................................................
.....................................................................................................................................
Telepon
:....................................................................................................................................
Handphone
:....................................................................................................................................
2015
KATA PENGANTAR
Puja dan puji syukur kami panjatkan ke hadirat Tuhan Yang Maha Esa, Yang Maha Pengasih dan
Penyayang, karena berkan karunia dan hidayah-Nya Buku Pegangan Praktikum Pemrograman
Berorientasi Objek ini dapat diselesaikan.
Pada kesempatan ini kami sampaikan terima kasih kepada semua pihak yang telah memberikan
konstribusinya, sehingga buku Pegengan Praktikum Pemrograman Berorientasi Objek ini dapat
diterbitkan.
Kami sadari dalam pembuatan buku Pegangan ini masih banyak kekurangan, karena itu kritik dan
saran sangat kami harapkan untuk perbaikan dimasa mendatang. Semoga buku ini dapat bermanfaat
begi pembaca.
Tim Penyusun
ii
2015
DAFTAR ISI
DATA PEMILIK ................................................................................................................................. i
KATA PENGANTAR ........................................................................................................................ii
DAFTAR ISI......................................................................................................................................iii
SAP PRAKTIKUM OBJECT ORIENTED PROGRAMMING ....................................................... iv
MODUL I OBJECT ORIENTED PROGRAMMING ...................................................................... 1
1.
2.
3.
2.
MODIFIER ........................................................................................................................... 12
3.
4.
MODUL III
POLYMORPHISM ................................................................................................... 21
1.
2.
MODUL IV
1.
2.
INTERFACE......................................................................................................................... 32
2.
STATEMENT IF .................................................................................................................. 36
3.
MODUL VI
iii
1.
2.
3.
2015
SAP PRAKTIKUM
OBJECT ORIENTED PROGRAMMING
Pert.
Materi
Topik
Modul 1
Pemrograman
Berorientasi
Objek
Sub Topik
1. Pengertian
Pemrograman Berorientasi
Objek (PBO)
2. Perbedaan
Pemrograman prosedural
dengan PBO
3. Hak akses dan tipe
data pada java
Bentuk
Pembelajaran
1. Memahami
konsep umum
Pemrograman
Berorientasi Objek
Praktikum
2. Memahami dasar dasar seperti hak
akses dan tipe data
dalam Pemrograman
Berorientasi Objek
4. Class, Package,
metode, constructor, kata
kunci "this"
6. Pengertian Konsep
Inheritance (Pewarisan)
pada Java
1. Memahami
konsep dasar dan
jenis-jenis
Inheritance
(Pewarisan) pada
Java
7. Macam-macam
pewarisan
2
Modul 2
Inheritance
(Pewarisan)
8. Override dan
Overload pada Java
9. Macam-macam
modifier class, method dan
access modifier dalam
pewarisan
Kompetensi
Praktikum
2. Memahami
perbedaan Override
dan Overload pada
Java
3. Memahami jenisjenis modifier pada
Java
iv
Modul 3
Polymorphism
Modul 4
Abstract Class
Dan Interface
Modul 5
Implementasi
Karakteristik
OOP I
Praktikum
15. Implementasi
Inheritance
16. Statement IF
17. Implementasi Array
2015
Memahami konsep
dan implementasi
Polymorphism pada
Java
Praktikum
2. Memahami
perbedaan antara
abstract class dan
interface
Memahami
karakteristikkarakteristik OOP
yang akan
Modul 6
Implementasi
Karakteristik
OOP II
2015
Praktikum
diimplementasikan
pada sebuah program
Memahami
karakteristikkarakteristik
OOP
yang
akan
diimplementasikan
pada sebuah program
yang lebih kompleks
MODUL I
OBJECT ORIENTED PROGRAMMING
A. TUJUAN PRAKTIKUM
1. Memahami konsep umum OOP.
2. Mengetahui perbedaan antara pemrograman prosedural dengan OOP.
3. Memahami class, package, method, constructor, kata kunci this, dan akses pada
pemrograman Java.
4. Mengetahui jenis-jenis pada Java.
B. PERANGKAT
1. PC yang sudah terinstall Java
2. Eclipse
C. DASAR TEORI
PENGERTIAN OOP (OBJECT ORIENTED PROGRAMMING)
OOP (Object Oriented Programming) adalah metode pemrograman yang berorientasi
kepada objek. Tujuan dari OOP diciptakan adalah untuk mempermudah pengembangan program
dengan cara mengikuti model yang telah ada di kehidupan sehari-hari. Jadi setiap bagian dari
suatu permasalahan adalah objek. Sekumpulan dari objek akan membuat class. Di mana objek
tersebut adalah bagian dari class. Sebagai contoh, ada sebuah ruangan yang diberi nama kamar
tidur. Kamar tidur bertindak sebagai class. Lalu di dalamnya terdapat tempat tidur dan lemari
yang bertindak sebagai objek. Di dalam sebuah kamar tidur (class) terdapat sebuah benda yang
mengisi ruangan tersebut (objek).
PERBEDAAN PEMROGRAMAN PROSEDURAL DENGAN OOP
Pemrograman terstruktur adalah suatu proses untuk mengimplementasikan urutan langkah
untuk menyelesaikan suatu masalah dalam bentuk program. Selain pengertian di atas,
pemrograman terstruktur adalah suatu aktivitas pemrograman dengan memperhatikan urutan
langkah-langkah perintah secara sistematis, logis, dan tersusun berdasarkan algoritma yang
sederhana dan mudah dipahami. Prinsip dari pemrograman terstruktur adalah jika suatu proses
telah sampai pada satu titik / langkah tertentu, maka proses selanjutnya tidak boleh mengeksekusi
langkah sebelumnya / kembali lagi ke baris sebelumnya, kecuali pada langkah-langkah untuk
proses perulangan. Dengan menggunakan OOP, maka dalam melakukan pemecahan suatu masalah
kita tidak melihat bagaimana cara menyelesaikan suatu masalah tersebut (terstruktur), tetapi objekobjek apa yang dapat melakukan pemecahan masalah tersebut. Sedangkan untuk pemrograman
terstruktur menggunakan prosedur / tata cara yang teratur untuk mengoperasikan dara struktur.
2015
Jenis Modifier
Default (tidak Dapat diakses oleh yang Diwarisi oleh subkelas di package yang
ada modifier)
satu package
Public
Protected
Dapat
dimanapun
dimanapun
Private
Aksebilitas
Default
Public
Protected
Private
Ya
Ya
Ya
Ya
Ya
Ya
Tidak
yang sama
Dari sembarang kelas di luar package
Tidak
Ya
Tidak
Tidak
Ya
Ya
Ya
Tidak
Tidak
Ya
Ya
Tidak
2015
2. Tipe Data
a. Integer (Bilangan Bulat)
Tipe data yang masuk menjadi bagian ini adalah byte, Short, int, long. Semua tipe
data ini bersifat signed, yaitu dapat mempresentasikan nilai positif dan negatif.
Tipe Data Ukuran (bit) Range
Byte
Short
16
Int
32
Long
64
32
Double
64
c. Char
Tipe data char merupakan tipe untuk menyatakan sebuah karakter.
d. Boolean
Tipe boolean adalah tipe data yang digunakan untuk menampung nilai logika,
yaitu nilai yang hanya memiliki dua buah kemungkinan (benar atau salah). Tipe ini
ditandai dengan kata kunci Boolean. Dalam bahasa Java, nilai benar dipresentasikan
dengan kata kunci true dan nilai salah dengan kata kunci false.
3.
Paket (package)
Paket tersebut digunakan untuk mengelompokkan class yang mempunyai kemiripan
fungsi (related class).
package namaPackage;
//contoh pada java : package transportasi;
2015
4.
Kelas (class)
Kelas merupakan inti dari pemrograman Java. Ini artinya setiap konsep atau kasus
pemrograman yang ingin implementasikan ke dalam Java, haruslah dibungkus ke dalam
sebuah class. Class dapat dikatakan sebagai blueprint atau kerangka yang
mendefinisikan variabel-variabel dan method dari objek tertentu.
//Cara mendeklarasikan sebuah class :
//1. Diawali dengan kata kunci "class",
//2. kemudian diikuti nama class
class namaKelas {
tipeData1 namaData1;
tipeData2 namaData2;
...
}
//Di bawah ini adalah contoh class dalam java :
class tumbuhan {
String nama_tumbuhan;
int jumlah_batang;
}
5.
Objek
Semua benda yang ada di dunia nyata dapat dianggap sebagai objek. Contoh: rumah,
mobil, dll. Setiap objek memiliki atribut sebagai status (state) dan memiliki tingkah laku
(behavior). Contoh: objek sepeda memiliki atribut (state) : pedal, roda, jeruji, warna,
jumlah roda. Memiliki tingkah laku (behavior) : kecepatannya menaik, kecepatannya
menurun, perpindahan gigi sepeda.
Untuk membuat objek baru dari tipe class yang telah didefinisikan, perlu dilakukan
dua tahap. Pertama, mendeklarasikan variabel yang digunakan sebagai referensi ke
objek dari class bersangkutan. Kedua, kita perlu menginstansiasi class dengan
menggunakan operator new dan memasukkan instance-nya ke dalam variabel referensi
yang baru saja kita deklarasikan
2015
6.
Method merupakan suatu bagian dari objek, di mana method akan mendeklarasikan
apa yang bisa dilakukan oleh objek tersebut. Dengan kata lain, method berisi suatu fungsi
dari objek. Method dibedakan menjadi dua, yaitu method tanpa nilai balikan, dan method
dengan nilai balikan. Untuk mendeklarasikan method caranya mudah, method harus ada
di dalam class. Sebagai contohnya sebagai berikut :
class MahasiswaInformatika{
public void berhitung(int p, int l){
//method ini menghitung luas persegi panjang
dengan panjang = p dan lebar = l, tipe data
keduanya adalah integer
int luas;
luas = p*l;
//lalu mencetaknya
System.out.println("luas persegi panjang
dengan panjang "+p+" dan lebar "+l+" adalah
"+luas);
}
}
2015
Jika kita ingin membuat method dengan sifat akses public, tipe kembalian void, dan
nama method adalah berhitung. Lalu parameter atau inputannya adalah nilai yang ingin
dihitung, maka cara pendeklarasiannya adalah sebagai berikut :
Method dengan nilai balikan :
//Format penulisan method dengan nilai balikan :
tipeVariabel namaMethod(){
return namaVariabel;
}
//Contoh method dengan nilai balikan
public int hitung_luas
return luas= p * l //(degan catatan variable luas,
p, dan l sudah terdefinisi diatas)
7.
Constructor
Constructor merupakan method khusus yang dideklarasikan di dalam class. Yang
membedakan constructor dengan method biasa adalah nama constructor sama dengan
nama class. Selain itu, constructor tidak mengembalikan data, dan tidak juga diawali
dengan kata kunci void. Fungsi dari constructor sendiri yaitu untuk menginisialisasi
nilai data-data yang ada di dalam class tersebut. Constructor akan dipanggil secara
otomatis, saat kita melakukan instansiasi objek. Jika constructor tidak dibuat, maka saat
Java Runtime akan secara otomatis membuat constructor kosong.
2015
Class login
{
Private string nama, paswd ;
Login() {
This.nama
This.paswd=
= ;
;
}
}
8.
3.
2.
void isiData(int
a, int Web
b) {
J2EE (Enterprise
Edition) : Berbasis
this.a = a;
this.b
= b;
Java
2 Platform
Enterprise Edition (J2EE) adalah salah satu Java Family Suite, yang
}
menjadiint
standar
penting {untuk mengembangkan Enterprises aplikasi multitier berbasis
tambah()
return c = a + b;
komponen.
Diantaranya adalah aplikasi untuk e-bussiness, e-commerce, dan web base
}
}
application.
2015
3.
4.
Javascript
Javascript adalah bahasa skrip yang populer di internet dan dapat bekerja di sebagian
besar penjelajah web populer seperti Internet Explorer, Mozilla Firefox, Netscape, dan
Opera. Kode Javascript dapat disisipkan dalam halaman web menggunakan tag SCRIPT.
2015
MODUL II
INHERITANCE
A. TUJUAN PRAKTIKUM
1. Mengenal dan memahami konsep Inheritance (pewarisan) pada Java.
2. Mengenal macam-macam Inheritance.
3. Memahami method override dan overload dalam pewarisan.
4. Mengenal macam-macam modifier class, method dan access modifier dalam Inheritance.
B. PERANGKAT
1. PC yang terinstall Java
2. Software Eclipse
C. DASAR TEORI
10
2015
}
Dari potongan program di atas Gajah extends Mamalia menunjukkan bahwa class
Gajah mewarisi sifat dari class Mamalia. Class Mamalia merupakan parentclass dan class
Gajah merupakan subclass.
Contoh implementasi inheritance
package main;
package main;
public class Pistol extends Senjata {
//dikosongkan karena class Pistol Langsung mewarisi seluruh atribut dan method yang terdapat
pada Class Senjata
}
package main;
public class M16 extends Senjata {
@override
public void tembak(){
System.out.println("Trrrrt ..... Trrrrrrt..... Trrrrrrrrrrrrrt");
}
}
Pada class Pistol tidak terdapat method apapun, karena class Pistol langsung
mewarisi method dari class Senjata yang menjadi parentclass. Sementara pada class M16
juga mewarisi seluruh atribut dan method dari class Senjata tapi memiliki deklarasi
output yang berbeda dengan class Senjata sehingga mendeklarasikan method-nya sendiri.
11
2015
package main;
public class Tester {
public static void main(String[] args) {
//membuat objek
Senjata senjata= new Senjata();
Pistol pistol= new Pistol();
M16 m16= new M16();
//memanggil method
pistol.tembak();
m16.tembak();
}
}
Maka outputnya :
Dor ... Dor ... Dor ...
Trrrrt ..... Trrrrrrt ...... Trrrrrrrrrrrrrt
MACAM-MACAM INHERITANCE
1.
Single Inheritance
Konsep inheritance yang ada di Java hanya memperkenankan adanya single
inheritance, yaitu satu subclass hanya dapat mempunyai satu parentclass.
2.
Multilevel Inheritance
Konsep multilevel inheritance yaitu suatu subclass perbolehkan untuk mempunyai
subclass lagi. Jadi terdapat pewarisan bertingkat.
3.
Multple Inheritance
Multiple inheritance adalah pewarisan ganda, di mana suatu class dapat mewarisi
berbagai class. Tetapi Java tidak mendukung multiple inheritance karena bisa
menimbulkan ambiguitas, (diamond problem). C++ mendukung multiple inheritance.
2.
MODIFIER
Modifier merupakan salah satu fasilitas yang digunakan untuk menentukan hak akses
suatu atribut ataupun method yang ada pada Java. Penggunaan modifier ini juga berfungsi
untuk melakukan langkah enkapsulasi (membungkus data) pada objek. Dengan
menggunakan modifier kita dapat menentukan siapa saja yang boleh menggunakan atau
mengakses ember dari suatu objek.
12
2015
package main;
class Mobil {
public void jenis(){
System.out.println("Jenis-jenis mobil");
}
}
Pada modul 2 akan dijelaskan tentang penggunaan kontrol akses atau modifier pada
class, method, dan sebagai aksesor.
1. Class Modifier
Modifier Keterangan
(default)
Class visible atau dapat digunakan hanya pada package yang sama
Public
Final
Contoh Program :
Public class Kendaraan{
...
}
13
2015
2.
Method Modifier
Modifier
Keterangan
(default)
Method visible atau dapat digunakan hanya pada package yang sama
Public
Private
Protected
Static
Final
Abstract
3.
14
2015
Modifier Class
Yang Sama
Package
Subclass
Class
Yang Sama
Package Lain
Manapun
Private
Ya
Default
Ya
Ya
Protected Ya
Ya
Ya
Public
Ya
Ya
Ya
Ya
Keterangan :
a.
Private : variabel atau atribut yang dideklarasikan Private hanya bisa diakses
oleh class yang mendeklarasikan variabel atau atribut tersebut.
b.
Default : merupakan jenis akses kontrol jika kita tidak menuliskan akses kontrol
secara eksplisit. Semua fitur class yang ada dalam satu package bisa diakes oleh
semua yang ada dalam package tersebut. Class di luar package boleh melakukan
subclass, tetapi subclass tersebut tidak bisa mengakses fitur superclass.
c.
Protected:
Private dan default. Fitur protected dari suatu class bisa diakses oleh semua class
dalam suatu package. Class diluar package boleh melakukan subclass, dan
subclass tersebut bisa mengakses fitur superclass.
d.
Public: dapat diakses oleh semua class dalam package yang sama maupun
berbeda.
15
2015
//nama method dengan modifier public dan parameter int x dan int y
this.x = x; this.y = y;
}
Point() { //method tanpa parameter
x = -1;
y = -1;
}
}
Override mendefinisikan method dengan nama yang sama, namu pada class
yang berbeda.
Ketika kita memanggil method tersebut dari objek subclass-nya maka yang akan
dijalankan adalah method yang berbeda di subclass tersebut.
Contoh :
class Kendaraan {
public void getJenis() {
System.out.println("Harga BBM naik");
}
}
16
2015
class Motor extends Kendaraan { //class Motor merupakan subclass dari class Kendaraan
public void getJenis() { //method yang di-override dari class Kendaraan
System.out.println("Harga BBM premium 4500 rupiah");
}
}
Kesimpulan :
Override method merupakan method yang nama method-nya sama persis dengan
method yang sudah ada di superclass-nya, biasanya perbedaannya adalah pada
implementasi (program body).
Overriding tidak bisa dilakukan dalam class itu sendiri.
Jadi overriding erat kaitannya dengan inheritance (pewarisan).
4.2 Overload
Overloading merupakan sebutan untuk method yang memiliki nama method yang
sama dan berada di dalam satu class yang sama. Method-nya hampir sama seperti
constructor yaitu memiliki nama yang sama dengan nama class-nya. Namun pada
overloading terdapat 2 method yang memiliki nama yang sama tetapi berbeda
parameternya. Poin-poin penting dari overload ini adalah sebagai berikut :
a.
Overload mendefinisikan method dengan nama yang sama dalam satu class.
b.
c.
untuk menghasilkan constructor alternatif yang membuat beberapa nilai default untuk
koordinat x dan y.
Contoh 1 :
class Point {
int x , y;
Point(int x, int y){
//nama method dengan parameter int x dan int y
this.x = x; this.y = y;
}
17
2015
class PointCreateAlt {
public static void main(String args[] ) {
Point p = new Point();
System.out.println("x = " + p.x +" y =" + p.y);
}
}
Maka outputnya :
X = -1, Y = -1
Maka outputnya :
X = 1, Y = 2
Contoh 2 :
class Segitiga {
public Segitiga(double panjang) {
System.out.println (\nVariabel = segitiganya sama sisi );
System.out.println (Panjang = +panjang);
Keliling(panjang);
Public Segitiga(double sisiMiring){
System.out.println (\n2Variabel = segitiganya
sama kaki);
System.out.println (Panjang = +panjang+ sisi miring = +sisiMiring);
Keliling (panjang, sisiMiring);
18
2015
Dapat dilihat pada contoh di atas bahwa terdapat 2 method dengan nama sama yaitu
contoh 1 : point dan contoh 2 : segitiga, tetapi memiliki parameter terbuka. Inilah
yang disebut overloading.
Contoh :
class Mobil{
String namaMobil;
String tahunKeluar;
void isiData ( String namaMobil, String tahunKeluar) {
this.namaMobil = namaMobil;
this.tahunKeluar = tahunKeluar;
}
public static void main ( String [ ] args){
Mobil mobilku = new Mobil( );
mobilku.isiData ("Taruna","2007");
2.
sebelumnya.
19
2015
package main;
public class Pistol extends Senjata {
public Pistol (){
System.out.println("Bunyinya adalah:");
super.tembak();
}
}
20
2015
MODUL III
POLYMORPHISM
A. TUJUAN PRAKTIKUM
1. Memahami konsep polymorphism pada program java.
2. Dapat mengimplementasikan konsep polymorphism pada program java.
B. PERANGKAT
1. PC yang terinstall Java
2. Software Eclipse
C. DASAR TEORI
1. KONSEP POLYMORPHISM
Polymorphism berasal dari kata Poly ( banyak) dan Morph ( bentuk ) yang
berarti banyak bentuk, dalam konsep polymorphism
memungkinkan sebuah
Overloading adalah penggunaan method lebih dari satu dalam sebuah class
dengan nama method yang sama tetapi memiliki perbedaan parameter.
Overriding adalah penggunaan method dari suatu parent / class dengan nama
sama namun memiliki isi program script method yang berbeda dari method
aslinya.
Untuk lebih jelas mengenai konsep polymorphism berikut analogi penggunaan
konsep polymorphism.
21
2015
2. CONTOH PROGRAM
2.1 Polymorphism Method Overloading
Contoh implementasi program polymorphism dengan methodoverloading
di mana di dalam sebauh classterdapat beberapa method dengan nama method
sama :
Sebuah method bernama Data() yang misalnya berfungsi menampilkan data
String, tentu tidak bisa menangani masukan berupa data numerik, boolean,
ataupun karakter, demikian juga sebaliknya. Solusi yang bisa dilakukan adalah
dengan menyediakan beberapa Method Data() yang akan menangani setiap tipe
data, sehingga data apapun yang diberikan sebagai parameter tetap bisa
diproses
Buat program dan simpan dengan nama TipeData.java, kemudian
inputkan code seperti di bawah ini :
22
2015
23
2015
Kemudian compile dan run program tersebut sehingga output dari program
tersebut adalah seperti ini :
implementasi
program
polymorphsim
dengan
Kemudain buat class baru dengan nama DemoPolymorphism dan buat source
code sebagai berikut:
24
2015
Kesimpulan :
Override method merupakan method yang sama persis dengan method yang
sudah ada di superclass-nya, biasanya perbedaannya adalah pada
implementasi (program body).
2015
Dengan ketentuan :
Luas Segiempat = panjang*lebar
Luas Segitiga = 0.5*alas*tinggi
Luas Lingkaran 3.14*(jari-jari)2
Pembahasan :
Class Shape dan class Segiempat :
Segi Empat
Subclass
Shape
Overriding Method
26
2015
Class Segitiga :
Shape
Segi Tiga
Class Lingkaran :
Lingkaran
Shape
27
2015
ClassPolymorphism:
Sehingga pada saat program dijalankan akan menghasilkan tampilan sebagai berikut :
28
2015
MODUL IV
ABSTRACT CLASS DAN INTERFACE
A. TUJUAN PRAKTIKUM
1. Mengenal dan memahami konsep abstract class dan interface pada java
2. Mengimplementasikan konsep abstract class dan interface dalam program
3. Memahami perbedaan abstract class dan interface
B.
PERANGKAT
1. PC yang terinstall Java
2. Software Eclipse
C. DASAR TEORI
1. ABSTRACT CLASS
Secara umum, abstract class adalah class yang tidak dapat diinstansiasi. Abstract
class biasanya berada pada hierarki tertinggi dalam PBO karena sering kali dijadikan
sebagai parent class. Abstract class bisa diturunkan dari abstract class lainnya. Abstract
class digunakan untuk mendeklarasikan karakteristik umum dari subclass. Didalam abstract
class
terdapat
method
abstract.
Suatu
method
abstract
didefinisikan
dengan
Analogi :
Jika terdapat class mobil yang mempunyai method injakPedalGas, maka tidak dapat
ditentukan mobil manakah yang akan di-injakPedalGas-nya (bisa saja Kijang, Avanza, dll),
method seperti inilah yang disebut method abstract. Dibutuhkan class turunan yang khusus
dan method override dari method abstract.
Bentuk umum :
29
2015
Method abstract adalah method yang tidak berisi kode program (tidak memiliki
implementasi). Method ini harus di override oleh subclass-nya. Jadi, kita hanya menulis
deklarasi method tanpa tubuh method dan memakai keyword abstract. Contohnya :
Object abstract class tidak dapat diciptakan menggunakan keyword new secara
langsung.
2.
Sebuah class dapat dideklarasikan sebagai abstract class walaupun tidak memiliki
method abstract, tetapi jika akan diciptakan method abstract maka harus berada di
class abstract.
3.
Object dengan tipe abstract class tetap bisa diciptakan, tetapi harus refer ke subclass
dari abstract class yang tentunya tidak abstract.
Contoh kasus :
Dibuatkan sebuah superclass yang bernama Mobil. Class ini memiliki method untuk
menginjak pedal gas dari mobil. Akan tetapi method tersebut tidak bisa digeneralisasi
karena tidak diketahui mobil apa yang akan diinjak pedal gasnya. Diperlukan subclass untuk
mengimplementasikan method yang ada pada superclass tersebut. Untuk membuat
superclass yang umum, bisa dengan cara membuat suatu superclass yang memiliki method
dengan implementasi dan juga tidak. Class ini disebut abstract class.
Mobil
Kijang
30
Abstract class
Avanza
2015
Contoh program :
//Membuat class abstract dengan nama Mobil
public abstract class Mobil {
//Membuat method abstarct
public abstract void injakPedalGas();
//method abstract tidak memiliki
implementasi (tidak memiliki isi)
}
//membuat sublass bernama Kijang untuk
mengimplementasikan method abstract pada class
mobil
public class Kijang extends Mobil{
//membuat implementasi method injakPedalGas yang
ada di class Mobil
public void injakPedalGas(){
System.out.println("Mobil melaju
dengan kecepatan 40km/jam");
}
}
31
2015
2. INTERFACE
Interface adalah class yang hanya mengandung deklarasi method tanpa memiliki
implementasi dan semua properti yang dimilikinya bersifat final. Interface menampung
konstanta dan method abstract. Interface mirip dengan abstract class, tetapi interface tidak
terikat dengan class hierarki.
Analogi :
Semua mobil mempunyai interface yang hampir sama meski masing-masing mobil
tersebut mempunyai mekanisme dan cara kerja yang berbeda. Interface yang biasanya
terdapat pada mobil adalah kemudi, pedal, gas, rem, dan tuas persneling. Dengan adanya
interface tersebut, seorang pengendara dapat mengendarai mobilnya. Namun, tidak semua
pengendara mengetahui cara kerja dan jenis mesin yang digunakan oleh mobil tersebut.
Walaupun begitu, dengan adannya kesamaan interface pengendara masih memungkinkan
mengendarai mobil yang berbeda dengan interface yang hampir sama meski mesin dan cara
kerjanya berbeda.
Ada beberapa komponen pembentuk interface, yaitu :
1.
Modifier
2.
Keyword interface
3.
4.
Bentuk umum :
public interface [interfaceName]{
//konstanta
//method tanpa body
}
Aturan pendeklarasian interface :
1.
Modifier yang digunakan harus public atau tidak sama sekali. Jika tidak menggunakan
modifier maka interface tersebut hanya dapat di akses dalam package yang sama.
2.
Semua variabel yang dideklarasikan dalam interface secara otomatis adalah static
final. Karena itu waktu pendeklarasian harus di berikan nilai.
3.
Semua method adalah abstract. Bedanya dengan abstract class adalah tidak perlu
menuliskan keyword abstract pada saat pendeklarasian method dalam interface.
4.
5.
Jika terdapat method yang sama dalam interface yang berbeda maka method yang
digunakan adalah method pada posisi pertama.
6.
Jika semua method yang ada pada interface tidak diimplementasikan, maka class
tersebut harus dideklarasikan sebagai abstract class.
32
2015
Pengimplementasian interface :
1.
2.
Dapat mengimplementasikan lebih dari satu interface dalam sebuah class dengan
memisahkan setiap interface dengan tanda koma.
3.
Semua method yang diimplementasikan harus public. Jika tidak, semua method akan
diimplementasikan
Seluruh method abstract yang ada pada interface harus dideklarasikan ulang didalam
class yang mengimplementasikannya.
Contoh program :
//membuat class interface dengan nama bangun2D
public interface bangun2D {
//membuat variable
double PHI = 3.14;
//membuat method hitungLuas
public double hitungLuas();
//membuat method hitungKeliling
public double hitungKeliling();
}
//membuat class turunan dari bangun2D
public class lingkaran implements bangun2D {
private double jari;
public lingkaran (double jari){
this.jari = jari;
}
public double hitungLuas(){
return (PHI * jari * jari);
}
public double hitungKeliling(){
return (2 * PHI * jari);
}
}
//membuat main class
public class testBangun2D {
public static void main(String[] args) {
lingkaran obj = new lingkaran(20);
obj.hitungLuas();
System.out.println("Luas lingkaran adalah
" +obj.hitungLuas());
obj.hitungKeliling();
System.out.println("Keliling lingkaran
adalah " +obj.hitungKeliling());
}
}
33
2015
Interface
Variabel
Bebas
Contructor
Tidak ada
Method
Bebas
Public, abstract
D. DAFTAR PUSTAKA
1. Java Interface. 23 Agustus 2015. http://awdie.blogspot.com/2012/06/java-interface.html
2. Interface, Class dan Object pada OOP Java . 23 Agustus 2015.
http://lastblogdotorg.wordpress.com/2012/10/15/interfaceclassobject/
3. Hakim, Rachmad., Sutarto. 2009. Mastering Java, Jakarta: Penerbit PT Elec Media
Komputindo
34
2015
MODUL V
IMPLEMENTASI KARAKTERISTIK OOP 1
A. TUJUAN PRAKTIKUM
1. Praktikan dapat mengimplementasikan karakteristik OOP yang telah dipelajari dari modul
sebelumnya dalam sebuah program yang kompleks.
2. Mereview kembali materi modul 1 sampai dengan modul 3 untuk karakteristik yang akan
digunakan dalam pembuatan program.
3. Praktikan dapat memahami fungsi array dalam sebuah program.
B.
PERANGKAT
1. PC yang terinstall java
2. Software Eclipse
C.
DASAR TEORI
Dari pembahasan dalam modul sebelumnya, perbedaan mendasar dari pemrograman
prosedural dan OOP adalah dalam pendeklarasian setiap objeknya. Dalam pemrograman
prosedural semua objek dibuat dalam satu halaman kerja sedangkan konsep OOP adalah
dipisahkan berdasarkan objeknya yang memiliki karakteristik yang sama. Dalam konsep oop
terdapat sebuah Package yang berfungsi untuk mengelompokkan setiap Class yang mempunyai
karakteristik yang sama. Selain itu dalam pemrograman berorientasi objek juga dikenal beberapa
konsep yang memiliki fungsi masing-masing.
35
2015
2. STATEMENT IF
Statement IF pada Java digunakan untuk membandingkan atau membuat pilihan pada
suatu nilai. Statetment IF dapat digunakan untuk membandingkan suatu bilangan ataupun
karakter atau kata, hanya saja ketika digunakan untuk membandingkan karakter atau kata bukan
menggunakan operator sebagai pembanding melainkan menggunakan statement equals.
Contoh untuk membandingkan suatu bilangan:
If (5 < 3) {
....
}
Contoh untuk membandingkan kata:
If ( inputan.equals(percabangan){
....
}
Contoh Implementasi:
import java.util.Scanner;
public class StatementIF {
public static void main(String[]args){
Scanner input = new Scanner(System.in);
int x;
System.out.print("Masukkan bilangan: ");
x = input.nextInt();
if(x % 2 == 0) {
System.out.println(x + " adalah bilangan genap");
}else
if(x % 2 != 0){
System.out.println(x + " adalah bilangan ganjil");
}
}
}
Contoh diatas membandingkan suatu bilangan, dengan ketentuan: Jika 4 dibagi dengan
2 sisa hasil baginya = 0 maka bilangan tersebut adalah bilangan positif, jika 4 dibagi dengan
2 sisa hasil baginya tidak sama dengan 0 maka bilangan tersebut bilangan negatif
36
2015
3. IMPLEMENTASI ARRAY
Array adalah tipe data terstruktur dimana didalamnya terdiri dari komponen-komponen
yang mempunyai tipe data yang sama. Manfaat dari penggunaan array adalah ketika akan
menginputkan data dalam jumlah yang banyak dan memiliki tipe yang sama maka tidak perlu
menggunakan variabel yang banyak. Misalkan untuk menginputkan nama-nama mahasiswa
maka cukup menggunakan satu variabel array.
Cara pendeklarasian array:
(Tipe array)[] (Nama array) = new (Tipe Array)[(jumlah maksimal inputan)];
Contoh:
String[] Nama = new String[10];
*angka 10 menunjukkan jumlah maksimal array yang dapat di inputkan.
import java.util.Scanner;
public class Array {
public static void main(String[]args){
String[] Nama = new String[10];
Scanner input = new Scanner(System.in);
int n;
37
2015
Jumlah array pada program tersebut adalah inputan dari user, setelah user menginputkan
nama sebanyak jumlah array yang ditentukan maka program akan langsung menampilkan
nama-nama yang diinputkan sebelumnya.
38
2015
MODUL VI
IMPLEMENTASI KARAKTERISTIK OOP II
A. TUJUAN PRAKTIKUM
1.
Praktikan dapat mengimplementasikan karakteristik OOP yang telah dipelajari dari modul
sebelumnya dalam sebuah program yang lebih kompleks.
2.
Mereview kembali materi modul 1 sampai dengan modul 4 untuk karakteristik yang akan
digunakan dalam pembuatan program.
B.
C.
PERANGKAT
1.
2.
Software Eclipse
DASAR TEORI
Lanjutan dari modul 5 sebelumnya, pada praktikum pada modul 6 ini mahasiswa diharapkan
mampu mengimplementasikan karakterstik-karakteristik OOP yang telah dipelajari dari modul 1
sampai dengan modul 4. Dalam pembuatan program yang panjang dan kompleks konsep OOP
sangatlah penting karena dengan mengimplementasikan konsep OOP ketika ada kesalahan pada
bagian objek tertentu dapat dengan mudah oleh kita untuk mencari kesalahannya berdasakan
objeknya. Berbeda dengan pemrograman prosedural yang jika terjadi error ketika compile maka
tidak akan diketahui bagian objek mana yang terjadi error. Oleh karena itu konsep OOP sangatlah
penting dalam pembuatan program yang panjang dan kompleks dengan cara mengelompokkan
setiap objeknya yang memiliki karakteristik yang sama dalam sebuah package. Pada dasar teori ini
akan di review kembali materi-materi pada modul sebelumnya yang akan digunakan dalam
pembuatan program pada jurnal modul 6.
39
2015
Didalam sebuah abstract class terdapat method abstrac. Method abstract adalah sebuah
method dalam abstract class yang tidak memiliki implementasi. Penggunaan method abstract
adalah dengan mendeklarasikannya pada class turunannya. Contoh pendeklarasian abstract
class adalah sebagai berikut:
public abstract void nama method ();
Beberapa hal yang harus diperhatikan dalam abstract class:
-
Abstract class tidak dapat di instanisasi menggunakan keyword new secara langsung
Sebuah class dapat dideklarasikan sebagai abstract class walaupun tidak memiliki
method abstract, tetapi jika akan diciptakan method abstract maka harus berada di
class abstract.
Object dengan tipe abstract class tetap bisa diciptakan, tetapi harus refer ke subclass
dari abstract class yang tentunya tidak abstract.
Contoh program:
public abstract class Hewan {
public void Jenis(){
System.out.println("Hewan Darat");
}
public abstract void JumlahKaki();
public abstract void Sayap();
}
40
2015
Untuk dapat memanggil method non abstract yang ada pada class abstract maka harus
menggunakan objek turunannya, karena class abstract tidak dapat di instanisasi secara langsung
menggunakan keyword new.
2.
IMPLEMENTASI OVERRIDE
Override adalah kondisi dimana class turunan dapat memodifikasi atau menambahkan
atribut pada method yang memiliki nama sama dengan method pada class induknya namun
memiliki impelementasi yang berbeda pada class turunannya. Lebih jelasnya sebagai berikut:
-
41
2015
Dalam contoh tersebut, class Siapa adalah turunan dari class Nama dimana class Siapa
ini mewarisi dan meng-override method Sapa() dari class Nama. Hasilnya dapat dilihat
pada gambar diatas bagian kanan.
3.
ss.Sapa memanggil method Sapa() pada class Siapa, outputnya adalah Steve Jobs.
nn.Sapa memanggil method Sapa() pada class Nama, outputnya adalah Bill Gates.
LOOP FOR
Perulangan adalah proses mengulang suatu blok program dengan suatu statement
perulangan sampai dengan batas yang ditentukan. Jika sudah sampai pada batas maka
perulangan akan berhenti. Contoh statement perulangan For adalah:
For ( i = 0; i < x ; i++) {
....
}
i = 0 adalah deklarasi nilai awal variabel, x adalah batas perulangan dan i++ proses
perulangan menuju batas. Sehingga jika i kurang dari x maka perulangan akan terus berjalan
sampai batas nilai i = x.
42
2015
Contoh implementasi :
import java.util.Scanner;
public class LoopFor {
public static void main(String[]args){
Scanner input = new Scanner(System.in);
int batas;
System.out.print("Masukkan batas perulangan: ");
batas = input.nextInt();
for(int i = 0; i < batas; i++){
System.out.println((i+1) + ". Loop For");
}
}
}
Pada program diatas, nilai variabel batas adalah sebagai batas perulangan yang di
inputkan dari user. Sebagai contoh pada program tersebut di inputkan nilai 5, maka setelah di
compile maka program tersebut akan mengulang kata Loop For sebanyak 5 kali.
43
2015