Anda di halaman 1dari 74

A.

Peta Konsep Pemrograman Berorientasi Objek

Gambar 1 Peta Konsep Pemrograman Berorientasi Objek

1
BAB I KONSEP PE MROGR AMAN BERO RIENT ASI O BJEK

KONSEP PEMROGRAMAN BERORIENTASI OBJEK

A. Tujuan Pembelajaran
Setelah mengikuti pembelajaran ini peserta didik diharapkan:
 Memahami konsep metodologi berorientasi objek.
 Menerapkan keyword pemrograman berorientasi objek.
 Memahami perangkat lunak pemrograman berorientasi objek.
 Melakukan praktek instalasi perangkat lunak Java sebagai pemrograman berorientasi
objek.

B. Uraian Materi
1. Metodologi Berorientasi Objek
Metodologi berorientasi objek adalah suatu strategi pembangunan perangkat lunak yang
mengorganisasikan perangkat lunak sebagai kumpulan objek yang berisi data dan operasi
yang diberlakukan terhadapnya. Metodologi berorientasi objek merupakan suatu cara
bagaimana sistem perangkat lunak dibangun melalui pendekatan objek secara sistematis.
Metode berorientasi objek didasarkan pada penerapan prinsip-prinsip pengelolaan
kompleksitas. Metode berorientasi objek meliputi rangkaian aktivitas analisis berorientasi
objek, perancangan berorientasi objek, pemrograman berorientasi objek. dan pengujian
berorientasi objek.
Pada saat ini, metode berorientasi objek banyak dipilih karena metodologi lama banyak
menimbulkan masalah seperti adanya kesulitan pada saat mentransformasi hasil dari satu
tahap pengembangan ke tahap berikutnya, misalnya pada metode pendekatan terstruktur,
jenis aplikasi yang dikembangkan saat ini berbeda dengan masa lalu. Aplikasi yang
dikembangkan pada saat ini sangat beragam (aplikasi bisnis, real-time,utility, dan
sebagainya) dengan platform yang berbeda-beda, sehingga menimbulkan tuntutan
kebutuhan metodologi pengembangan yang dapat mengakomodasi ke semua jenis aplikasi
tersebut.

2
Pendekatan berorientasi objek merupakan suatu teknik atau cara pendekatan dalam melihat
permasalahan dan sistem (sistem perangkat lunak, sistem informasi, atau sistem lainnva).
Pendekatan berorientasi objek akan memandang sistem yang akan dikembangkan sebagai
suatu kumpulan objek yang berkorespondensi dengan objek- objek dunia nyata. Ada banvak
cara untuk mengabstraksikan dan memodelkan objek tersebut, mulai dan abstraksi Objek,
class,hubungan sampai abstraksi sistern. Saat mengabstraksikan dan memodelkan objek,
data dan proses-proses Yang dipunyai oleh objek dienkapsulasi (dibungkus) menjadi satu
kesatuan.
Dalam rekayasa perangkat lunak, konsep pendekatan berorientasi objek dapat
diterapkan pada tahap analisis, perancangan, pemrograman, dan pengujian perangkat
lunak. Ada berbagai teknik yang dapat digunakan pada masing-masing tahap tersebut,
dengan aturan dan alat bantu pemodelan tertentu. Sistem berorientasi objek merupakan
sebuah sistem yang dibangun dengan berdasarkan metode berorientasi yang komponennva
dibungkus (dienkapsulasi) menjadi kelompok data dan fungsi. Setiap komponen dalam
sistem tersebut dapat mewarisi atribut dan sifat dan komponen lainnya. dan dapat
berinteraksi satu sama lain.
Keuntungan menggunakan metodologi berorientasi objek adalah:
a. Meningkatkan Produktivitas
Karena class dan objek Yang ditemukan dalam suatu masalah masih dapat dipakai ulang
untuk masalah lainnva yang mleibatkan objek tersebut (reusable).
b. Kecepatan Pengembangan
Karena sistem yang dibangun dengan baik dan benar pada saat analisis dan
perancangan akan menyebabkan berkurangnya kesalahan pada saat pengkodean.
c. Kemudahan Pemeliharaan
Karena dengan model objek, pola-pola yang cenderung tetap dan stabil dapat
dipisahkan dan pola-pola yang mungkin sering berubah-ubah.
d. Adanya Konsistensi
Karena sifat pewarisan dan penggunaan notasi yang sama pada saat analisis,
perancangan maupun pengkodean.
e. Meningkatkan Kualitas Perangkat Lunak

3
Karena pendekatan pengembangan lebih dekat dengan dunia nyata dan adanya
konsistensi pada saat pengembangannva, perangkat lunak yang dihasilkan akan mampu
memenuhi kebutuhan pemakai serta mempunyai sedikit kesalahan.

2. Keyword Dalam Pemrograman Berorientasi Objek


a. Class
Class adalah kumpulan objek-objek dengan karakteristik yang sama. Class merupakan
definisi statik dan himpunan objel yang sama yang mungkin lahir atau diciptakan dan
class tersebut. Sebuah class akan mempunvai sifat (atribut), kelakuan (operasi/metode),
hubungan (relationship) dan arti suatu class dapat diturunkan dan class yang lain,
dimana atribut dan class semula dapat diwariskan ke class yang baru
Secara teknis, class adalah sebuah struktur tertentu dalam pernbuatan perangkat lunak.
Class merupakan bentuk struktur pada kode program yang menggunakan metodologi
berorientasi objek. Ilustrasi dari sebuah class dapat dilihat pada Gambar 2.

Gambar 2 ILustrasi Class dengan Class Diagram Pustaka dan File Java Pustaka.java

Class secara fisik adalah berkas atau file yang berisi kode program, di mana kode
program merupakan semua hal yang terkait dengan nama class yaitu Pustaka.java.
b. Object
Objek adalah abstraksi dan sesuatu yang mewakili dunia nyata seperti benda, manusia,
satuan organisasi, tempat, kejadian, struktur, status, atau hal-hal lain yang bersifat
abstrak. Objek merupakan suatu entitas yang mampu menyimpan informasi (status) dan
mempunvai operasi (kelakuan) yang dapat diterapkan atau dapat berpengaruh pada

4
status objeknya. Objek mempunyai siklus hidup yaitu diciptakan, dimanipulasi, dan
dihancurkan.

Secara teknis, sebuah class saat program dieksekusi maka akan dibuat sebuah objek.
Objek dilihat dari segi teknis adalah pada saat runtime yang akan diciptakan, elemen
dimanipulasi, dan dihancurkan saat eksekusi sehingga sebuah objek hanya ada saat
sebuah program dieksekusi, jika masih dalam bentuk kode, disebut sebagai class jadi
pada saat runtime (saat sebuah program dieksekusi), yang kita punya adalah objek, di
dalam teks program yang kita lihat hanyalah class. Ilustrasi class dan objek dapat dilihat
pada Gambar 3.

Gambar 3 Alur Kerja Class dan Object


Rosa A.S, Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek, Informatika Bandung, 2013

c. Method
Operasi atau metode atau method pada sebuah class hampir sama dengan fungsi atau
prosedur pada metodologi struktural. Sebuah class boleh memiliki lebih dari satu metode
atau operasi. metode atau operasi yang berfungsi untuk memanipulasi objek itu sendiri.
Operasi atau metode merupakan fungsi atau transformasi yang dapat dilakukan
terhadap objek atau dilakukan oleh objek.
Metode atau operasi dapat berasal dari event, aktivitas atau aksi keadaan, fungsi, atau
kelakuan dunia nyata. Contoh metode atau operasi misalnya Read, Write, Move, Copy,
dan sebagainya. Class sebaiknya memiliki metode get dan set untuk setiap atribut agar
konsep enkapsulasi tetap terjaga. Metode get digunakan untuk memberikan akses class

5
lain dalam mengakses atribut, dan set adalah metode yang digunakan untuk mengisi
atribut, agar class lain tidak mengakses atribut secara langsung.
d. Attribute
Atribut dari sebuah class adalah variabel global yang dimiliki sebuah class. Atribut dapat
berupa nilai atau elemen-elemen data yang dimiliki oleh Objek dalam class objek. Atribut
dipunyai secara individual Oleh sebuah objek, misalnya berat, jenis, nama, dan
sebagainya. Atribut sebaiknya bersifat privat untuk menjaga konsep enkapsulasi.
e. Abstraction
Prinsip untuk merepresentasikan dunia nyata yang kompleks menjadi satu bentuk model
yang sederhana dengan mengabaikan aspek-aspek lain yang tidak sesuai dengan
permasalahan.
f. Encapsulation
Pembungkusan atribut data dan layanan (operasi-operasi) yang dipunyai objek untuk
menyembunyikan implementasi dan objek sehingga objek lain tidak mengetahui cara
kerjanya.
g. Inheritance
Mekanisme yang memungkinkan satu objek mewarisi sebagian atau seluruh definisi dan
objek lain sebagai bagian dan dirinya.
h. Interface
Antarmuka atau interface sangat mirip dengan class, tapi tanpa atribut class dan
memiliki metode yang dideklarasikan tanpa isi. Deklarasi metode pada sebuah interface
dapat diimplementasikan oleh class lain. Sebuah class dapat mengimplementasikan lebih
dari satu antarmuka dimana class ini akan mendeklarasikan metode pada antarmuka
yang dibutuhkan oleh class itu sekaligus mendefinisikan isinya pada kode program class
itu. Metode pada antarmuka yang diimplementasikan pada suatu class harus sama persis
dengan yang ada pada antarmuka. Antarmuka atau interface biasanya digunakan agar
class yang lain tidak mengakses langsung ke suatu class, mengakses antar mukanya.
i. Reusabilily
Pemanfaatan kembali objek yang sudah didefinisikan untuk suatu permasalahan pada
permasalahan lainnya yang melibatkan objek tersebut. Misalkan dalam sebuah aplikasi
peminjaman buku diperlukan class Anggota, maka ketika membuat aplikasi penyewaan

6
VCD, class anggota ini bisa digunakan kembali dengan sedikit perubahan untuk aplikasi
penyewaan VCD tanpa harus membuat dari awal kembali.
j. Generalisasi dan Spesialisasi
Menunjukkan hubungan antara class dan objek yang umum dengan class dan objek
yang khusus. Misalnya class yang lebih umum (generalisasi) adalah kendaraan darat dan
class khususnya (spesialisasi) adalah mobil, motor, dan kereta.
k. Komunikasi Antar Objek
Komunikasi antar-objek dilakukan lewat pesan (message)
yang dikirim dan satu objek ke Objek lainnya.
l. Polimorfisme (polymorphism)
Kemampuan suatu Objek untuk digunakan di banyak tujuan berbeda dengan nama yang
sama sehingga menghemat baris program.
m. Package
Package adalah sebuah kontainer atau kemasan yang dapat untuk mengelompokkan
class-class sehingga beberapa class yang bernama sama disimpan package yang sama.
Ilustrasi dari sebuah package dapat dilihat pada Gambar 3.

Gambar 4 Ilustrasi Sebuah Package

3. Pemodelan Berorientasi Obyek


Desain berorientasi objek atau Object Oriented Design (OOD) adalah tahapan perantara
untuk memetakan spesifikasi atau kebutuhan sistem yang akan dibangun dengan konsep
berorientasi objek ke desain pemodelan agar lebih mudah diimplementasikan dengan
pemrograman berorientasi objek. Ilustrasi OOD dapat dilihat pada gambar berikut.

7
Gambar 5 Ilustrasi Object Oriented Design
Rosa A.S, Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek, Informatika Bandung, 2013

Pemodelan berorientasi objek biasanya dituangkan dalam dokumentasi perangkat lunak


dengan menggunakan perangkat pemodelan berorientasi objek, di antaranya adalah UML
(Unified Modeling Language). Kendala dan permasalahan pembangunan sistem berorientasi
objek biasanya dapat dikenali dalam tahap ini. OOA dan OOD dalam proses yang berulang-
ulang seringnya memiliki batasan yang samar, sehingga kedua tahapan ini sering juga
disebut OOAD (object oriented analysis and design) atau dalam bahasa Indonesia berarti
Analisis dan Desain Berorientasi Objek.
Object oriented disign yang digunakan dalam pemrograman berorientasi objek pada class
XI ini, menggunkan Class Diagram dan Objek Diagram.

4. Perangkat Lunak Pemrograman Berorientasi Obyek


Saat ini sudah banyak bahasa pemrograman berorientasi objek. Banyak orang berpikir
bahwa pemrograman berorientasi objek identik dengan bahasa Java. Memang bahasa Java
merupakan bahasa yang paling konsisten dalam mengimplementasikan paradigm
pemrograman berorientasi objek. Namun sebenarnya bahasa pernrograman yang
mendukung pemrograman berorientasi objek tidak hanya bahasa Java.

8
Java merupakan bahasa pemrograman dalam konsisten paling yang paradigma
mengimplementasikan pemrograman berorientasi objek. Berikut beberapa contoh bahasa
pemrograman yang mendukung pemrograman berorientasi objek:
a. Bahasa Pemrograman Smalltalk
Smalltalk merupakan salah satu bahasa pemrograman yang dikembangkan untuk
mendukung pemrograman berorientasi objek mulai tahun 1978. Smalltalk memiliki
berbagai versi, versi dikenal adalah Smalltalk-80 yang dibuat pada tahun 1980.
b. Bahasa Pemrograman Eiffel
Eiffel merupakan Bahasa pemrograman yang dikembangkan untuk mendukung
pemrograman berorientasi objek mulai tahun 1985 oleh Bertand Meyer dan compiler
Eiffel selesai dibuat pada tahun 1987.Eiffel memiliki sintaks mirip dengan sintak pada
pemrograman Pascal.Eiffel merupakan baha pemrograman objek murni karena semua
kode programnya dibungkus didalam class
c. Bahasa Pemrogrman C++
Bahasa pemrograman C++ merupakan pengembangan lebih lanjut dari Bahasa
pemrograman C untuk mendukung pemrograman berorientas objek.Keterkaitan antara
Bahasa C dan C++ dapat dilihat pada Gambar 5.

Gambar 6 Keterkaitan Bahasa Pemrograman C dan C++

d. Bahasa Pernrograman (web) PHP


PHP dibuat pertama kali oleh seorang perekayasa perangkat lunak (software
engineering) yang bernama Rasmus Lerdoff.Rasmus Lerdoff membuat halaman web
PHP pertamanya pada tahun 1994. PHP4 dengan versi-versi akhir menuju PHP5 sudah

9
mendukung pemrograman berorientasi objek PHP merupakan bahasa pemrograman
yang digunakan untuk pemrograman web.
e. Bahasa Pemrograman Java
Java dikembangkan oleh perusahaan Sun Microsystem. Java menurut definisi dari Sun
Microsystem adalah nama untuk sekumpulan teknologi untuk membuat dan
menjalankan perangkat lunak pada komputer standalone ataupun pada lingkungan
jaringan. Java 2 adalah generasi kedua dari Java platform.
Java berdiri di atas sebuah mesin interpreter yang diberi nama Java Virtual Machine
(JVM). JVM inilah yang akan membaca bytecode dalam file .class dari suatu program
sebagai representasi langsung program yang berisi bahasa mesin. Oleh karena itu
bahasa Java disebut sebagai Bahasa pemrograman yang portable karena dapat
dijalankan pada berbagai sistem operasi, asalkan pada sistem operasi tersebut terdapat
JVM.
Java merupakan bahasa pemrograman objek murni karena semua kode programnya
dibungkus dalam class. Saat ini Sun Microsystem sudah diakuisisi Oracle Corporation
sehingga Pengembangan Java diteruskan oleh Oracle Corporation.

5. Arsitektur Teknologi Java


Java adalah suatu teknologi di dunia software komputer, yang merupakan suatu
bahasa pemrograman, dan sekaligus suatu platform. Sebagai sebuah bahasa
pemrograman, Java dapat membuat seluruh bentuk aplikasi, desktop, web dan lainnya,
sebagaimana dibuat dengan menggunakan bahasa pemrograman konvensional yang
lain. Sebagai sebuah platform, Java terdiri atas dua bagian utama, yaitu: Java Virtual
Machine (JVM) dan Java Application Programming Interface (JavaAPI). Arsitektur Java
dibagi membagi tiga bagian besar, yaitu:
 Enterprise Java (J2EE) untuk aplikasi berbasis web, aplikasi sistem tersebar dengan
beraneka ragam klien dengan kompleksitas yang tinggi. Merupakan superset dari
Standar Java
 Standar Java (J2SE), ini adalah yang biasa dikenal sebagai bahasa Java.
 Micro Java (J2ME) merupakan subset dari J2SE dan salah satu aplikasinya
yang banyak dipakai adalah untuk wireless device / mobile device.

10
Gambar 7 Arsitektur Java Development Kit 8
https://www.oracle.com/technetwork/java/javase/tech/index.html

Gambar 6 merupakan arsitketur JDK 8 adalah superset dari JRE 8, dan berisi semua yang
ada di JRE 8, ditambah tool seperti compiler dan debugger yang diperlukan untuk
mengembangkan java applet dan java aplikasi. JRE 8 menyediakan library, Java Virtual
Machine (JVM), dan komponen lain untuk menjalankan applet dan aplikasi yang ditulis
dalam bahasa pemrograman Java.
Java bersifat neutral architecture, karena Java Compiler yang digunakan untuk
mengkompilasi kode program Java dirancang untuk menghasilkan kode yang netral
terhadap semua arsitektur perangkat keras yang disebut sebagai Java Bytecode. Proses
pengembangan perangkat lunak berbasis java disajikan dalam Gambar 6.

Gambar 8 Proses Pengembangan Perangkat Lunak Berbasis Jawa


https://docs.oracle.com/javase/tutorial/getStarted/intro/definition.html

Bahasa pemrograman Java semua source code ditulis pertama kali dalam file teks

11
biasa yang diakhiri dengan ekstensi .java. File-file sumber tersebut kemudian
dikompilasi menjadi file .class oleh compiler javac. File .class tidak mengandung
kode yang asli kode program tetapi berisi bytecode dalam bahasa Java Virtual
Machine (Java VM). Selanjutnya java launcher tool dari Java Virtual Machine akan
menjalankan aplikasi pada komputer.
Java adalah bahasa pemrograman yang berorientasi objek (OOP) dan dapat
dijalankan pada berbagai platform system operasi. Perkembangan Java tidak hanya
terfokus pada satu sistem operasi, tetapi dikembangkan untuk berbagai sistem
operasi dan bersifat open source. Gambar 7 menunjukkan cara kerja Java VM
tersedia pada banyak sistem operasi yang berbeda, file class yang sama dapat
berjalan pada Microsoft Windows, Sistem Operasi Solaris ™ (Solaris OS), Linux, atau
Mac OS. Beberapa mesin virtual, seperti Java SE HotSpot secara sekilas, melakukan
langkah-langkah tambahan saat runtime untuk memberi aplikasi berjalan dengan
baik.

Gambar 9 Cara Kerja Java Virtual Machine (JVM)


https://docs.oracle.com/javase/tutorial/getStarted/intro/definition.html

12
C. Praktikum
1. Instalasi Java Development Kit (JDK 8) dengan Integrated Development Environtment
(IDE) NetBeans 8.2.
IDE NetBeans adalah sebuah lingkungan pengembangan - sebuah kakas untuk
pemrogram menulis, mengompilasi, mencari kesalahan dan menyebarkan program.
Netbeans IDE ditulis dalam Java - namun dapat mendukung bahasa pemrograman lain.
Terdapat banyak modul untuk memperluas Netbeans IDE. Netbeans IDE adalah sebuah
produk bebas dengan tanpa batasan bagaimana digunakan.
a. Instalasi JDK-8
 Download file jdk-8u181-windows-x64.exe pada url sebagai berikut :
https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-
2133151.html. Silahkan memilih file yang sesuai dengan jenis sistem operasi.
 Proses instalasi dengan melakukan double click pada file jdk-8u181-windows-
x64. Lakukan tahapan-tahapan dengan menekan button Next sampai proses
instalasi selesai.

Gambar 10 Proses Instalasi JDK-8

 Mengecek keberhasilan instalasi JDK-8 dengan cara sebagai berikut pada


Command Prompt ketik : java -version sehingga akan menampilkan seperti
Gambar 10.

13
Gambar 11 JDK-8 telah Terinstal dengan Menampilkan Java Verison

b. Instalasi IDE NetBeans 8.2


 Download file netbeans-8.2-windows.exe pada url sebagai berikut :
https://netbeans.org/downloads/. Silahkan memilih file yang sesuai dengan jenis sistem
operasi.
 Proses instalasi dengan melakukan double click pada file netbeans-8.2-
windows. Lakukan tahapan-tahapan dengan menekan button Next sampai
proses instalasi selesai.

Gambar 12 Proses Instalasi IDE NetBeans 8.2

c. Pembuatan Project Baru pada IDE NetBeans 8.2


 Jalankan IDE NetBeans dengan melakukan double click pada icon NetBeans, Klik
File → New Project → Isi nama project : Bab2, Project Location bisa
diarahkan pada directory yang diinginkan. Uncheck pada Create Main Class.

14
Gambar 13 Pembuatan Nama Project Baru

 Pembuatan File baru atau Class baru, Klik Kanan pada project baru pilih New
→ Java Class → Isi Nama Class : HaloSMK → Finish

Gambar 14 Pembuatan Class Baru

 Menulis kode program pada class baru: HaloSMK.java

15
Gambar 15 Menulis Kode Program Pada Class Baru

 Meng-compile dan run class HaloSMK.java. dapat dilakukan dengan beberapa


cara :
 Klik kanan pada file atau class HaloSMK.java pilih Run
 Pilih menu Run → Pilih Run Project(Bab2)

Gambar 16 Hasil Compile dan Run Class HaloSMK.java

2. Instalasi Class Diagram pada IDE NetBeans 8.2


easyUML adalah tool diagram UML untuk NetBeans yang menyediakan fitur untuk
memudahkan dalam membuat diagram Class Diagram UML. Fitur yang tersedia saat ini
hanya mendukung pembuatan Class Diagram dengan menyediakan editor visual drag-and-
drop untuk menggambar diagram. Selain itu bisa digunakan untuk men-generate Class
Diagram menjadi kode program java, atau sebelaliknya bisa melakukan 'reverse
engineering' untuk membuat Class Diagram dari kode program java.
a. Instalasi plugin easyUML
 Download zif file 1499813117_easyuml pada url sebagai berikut :
http://plugins.netbeans.org/plugin/55435/easyuml

16
 Ekstrak file 1499813117_easyuml untuk mendapatkan file yang ber-extention
.nbm (Plugin distribution files).
 Buka IDE NetBeans 8.2 pilih menu Tools → Plugins → Download → Add Plugins
→ Open
 Pada menu Plugins pilih semua komponen easyUML → Next
 Persetujuaan IDE NetBeans Installer pilih License Agreement OK
 Langkah terakhir restart IDE NetBeans.

Gambar 17 Proses Instalasi easyUML

17
b. Pembuatan Class Diagram dengan Tool easyUML
 Buku IDE NetBeans , pilih File → New Project → UML → UML Diagram Project
→ Poject Name : UMLBab2

Gambar 18 Pembuatan Project Baru UML Class Diagram

 Pembuatan Class Diagram baru klik kanan pada Class Diagram → New → Class
Diagram → Name : UMLBab2 → Finish

Gambar 19 Pembuatan Class Diagram Baru

18
 Pembuatan Class Diagram melalui proses drag and draw pilih Class tambahkan
attibut ( nis, nama, class ) dan method (getNis() dan infoSiswa())dalam Class
Diagram : SiswaSMK

Gambar 20 Proses Drag and Draw Pembuatan Sebuah Class

 Generate Class Diagram SiswaSMK menjadi kode program SiswaSMK.java.


Persiapkan Project Baru → Java Aplication → Project Name : Bab2
 Pilih Class diagram klik kanan → UMLBab2.cdg → easyUML generate code →
Java project → Bab2 → Generate code. Perhatikan secara otomatis class
SiswaSMK sudah dibuatkan lengkap dengan deklarasi atribut dan methode-nya.

19
Gambar 21 Generate Code Tool easyUML

D. Rangkuman
Pengembangan berorientasi objek merupakan cara pikir baru tentang perangkat lunak
berdasarkan abstraksi yang terdapat dalam dunia nyata. Dalam konteks pengembangan
menunjuk pada bagian awal dari siklus hidup pengembangan sistem, yaitu survei, analisis,
desain, implementasi, dan pemeliharaan sistem. Object adalah gabungan antara beberapa
data dan fungsi yang masing-masing bekerja bersama-sama dan tidak dapat dipisahkan.
Gabungan dari data dan fungsi tersebut akan membentuk suatu object-object yang aktif.
Dari kumpulan beberapa object yang sama akan membentuk struktur baru yang disebut
class.
Bahasa pemrograman java berdiri di atas sebuah mesin interpreter yang diberi nama Java
Virtual Machine (JVM). JVM inilah yang akan membaca bytecode dalam file .class dari
suatu program sebagai representasi langsung program yang berisi bahasa mesin. Oleh
karena itu bahasa Java disebut sebagai Bahasa pemrograman yang portable karena dapat
dijalankan pada berbagai sistem operasi, asalkan pada sistem operasi tersebut terdapat
JVM.

20
IDE NetBeans adalah sebuah lingkungan pengembangan - sebuah kakas untuk
pemrogram menulis, mengompilasi, mencari kesalahan dan menyebarkan program.
Netbeans IDE ditulis dalam Java - namun dapat mendukung bahasa pemrograman lain.
Terdapat banyak modul untuk memperluas Netbeans IDE. Netbeans IDE adalah sebuah
produk bebas dengan tanpa batasan bagaimana digunakan. Sedangkan easyUML adalah
tool diagram UML untuk NetBeans yang menyediakan fitur untuk memudahkan dalam
membuat diagram Class Diagram UML. Fitur yang tersedia saat ini hanya mendukung
pembuatan Class Diagram dengan menyediakan editor visual drag-and-drop untuk
menggambar diagram. Selain itu bisa digunakan untuk men-generate Class Diagram
menjadi kode program java, atau sebelaliknya bisa melakukan 'reverse engineering' untuk
membuat Class Diagram dari kode program java.

21
BAB II ATURAN D AS AR PEMR OGR AM AN BERORIE NTASI OBJEK

ATURAN DAN DASAR PEMROGRAMAN BERORIENTASI OBJEK

A. Tujuan Pembelajaran
Setelah mengikuti pembelajaran ini peserta didik diharapkan:
 Memahi templete program Java
 Menganalisis perbedaan syntax error dan runtime error
 Menerapkan Java literal, keyword, tipe data dasar, dan tipe variabel dalam kode bahasa
pemrograman Java.
 Melakukan praktikum penerapan aturan dan dasar konsep pemrograman berorientasi
objek menggunakan bahasa pemrograman Java

B. Uraian Materi
1. Templete Program Java
 Package
Perintah java yang digunakan untuk memberitahukan bahwa suatu class adalah anggota
dari package, sedangkan namaPackage dapat berupa susunan direktori tempat dimana
file class disimpan atau nama folde.
<nama package>.<nama class>
 Import
Perintah import digunakan untuk memberitahukan kepada program untuk mengacu pada
class-class yang terdapat pada package tersebut dan bukan menjalankan class-class
tersebut. Dalam program, dapat diimport class-class tertentu saja dan dapat pula
mengimport semua class yang terdapat pada package.
import . <nama package> . *

 Class
Merupakan bentuk logis yang menjadi landasan bangun seluruh bahasa pemograman
berorientasi object. Class mendefinisikan bentuk dan perilaku object. Class merupakan
contoh abstrak dari sebuah object yang telah terbentuk dari proses penyederhanaan.

22
Dengan kata lain class merupakan cikal bakal dari object. Kemudian contoh nyata atau
perwujudan dari sebuah object dinamakan instance.
class <nama class> {

<deklarasi anggota class>

Anggota class adalah:


 Atribut dan Methode
Data merupakan identitas yang berupa variabel yang menjelaskan properti dari
class. Metoda adalah sekumpulan instruksi untuk menjalankan data yang diberi
nama dan dapat dipanggil dari manapun di dalam program dengan menuliskan
nama metoda tersebut.
 Deklarasi methode
<modifier> <return type> <nama methode> ( parameter ) {

<body methode>

 Program utama
Salah satu metoda yang paling penting di dalam bahasa Java adalah metoda main.
Metoda main harus dideklarasikan sendiri oleh programmer di dalam sebuah class.
Class yang mempunyai metoda main disebut dengan class main (main class), akan
tetapi tidak semua class Java harus mempunyai metoda main. Interpreter Java akan
meminta metoda main saat program aplikasi dieksekusi.

23
Gambar 22 Metode Utama Dalam Bahasa Pemrgraman Java

Secara lengkap template program Java ditunjukkan pada Gambar 22, kita dapat mengikuti
template ini dalam menuliskan program Java.

Package
Digunakan untuk memberitahukan bahwa
suatu class adalah anggota dari package

Import
Pengurutan perintah-
perintah import

Class
Pendeskripsian nama class

Statemen
Urutan perintah-perintah

Gambar 23 Template Program Java

24
Berikut adalah contoh program Java berdasarkan template di atas, yang tersaji dalam
Gambar 23.

Gambar 24 Class HaloSMK.java

Aturan Penulisan Kode Program


1. Nama package harus menggunkan huruf kecil.
2. Nama class harus diawali mengunakan huruf kapital.
3. Nama atibut/variabel diawali menggunkan huruf kecil, jika terdapat 2 kata awal huruf
ke-2 menggunakan huruf kapital contoh namaSiswa
4. Nama methode menggunakan huruf kecil, jika terdapat 2 atau lebih kata awal huruf
ke-2 menggunakan huruf kapital contoh setNamaSiswa()

2. Perbedaan Syntax Error dan Runtime Error


 Syntax Error
Syntax Error biasanya terjadi karena kesalahan penulisan. Mungkin kekurangan sebuah
perintah di Java atau lupa untuk menulis tanda titik koma pada akhir pernyataan. Java
mencoba untuk megisolasi error tersebut dengan cara menunjukkan baris dari kode dan
terlebih dahulu karakter yang salah dalam baris tersebut. Bagaimanapun juga, error
belum tentu berada pada titik yang ditunjuk.
Kesalahan umum lainnya adalah dalam kapitalisasi, ejaan, penggunaan dari karakter
khusus yang tidak benar, dan penghilangan dari pemberian tanda baca yang sebenarnya.
Mari kita mengambil contoh pada program HelloSMK.java, dimana dengan sengaja kita

25
menghilangkan titik koma pada akhir pernyataan dan juga mencoba untuk mengetikkan
ejaan yang salah pada sebuah perintah.
Lihatlah pesan error yang ditampilkan setelah peng-compile-an program dilanjutkan.
Pesan error yang pertama memberitahu bahwa di program dijalankan. Pada error yang
pertama memberitahu bahwa di program terdapat error pada baris 6. Hal itu menunjuk
pada kata setelah static, dimana seharusnya dieja sebagai static. Pada error yang kedua
memberitahukan bahwa pada program tersebut kehilangan titik-koma setelah
pernyataan.
 Runtime Error
Sebuah program yang berhasil dikompile belum tentu berhasil di jalankan. Inilah yang
dinamakan Run time error, kesalahan ini tidak akan ditampilkan sampai kita menjalankan
program tersebut. Hal ini bisa saja terjadi misalnya dikarenakan struktur yang di buat
programmer tidak jelas atau mungkin tidak logis.

3. Java Keyword, Literal, Tipe Data Dasar, dan Tipe variabel


 Java Keywords
Kata-kunci (keywords) dari sebuah bahasa pemrograman adalah kata-kata yang
didefinisikan secara khusus yang hanya dimengerti oleh compiler bahasa pemrograman
tersebut, dan tidak dapat digunakan sebagai identitas variabel. Di bawah ini ditampilkan
semua kata-kunci (Java Keywords) :
Tabel 1 Java Keyword

Abstract Default If private This


Boolean Do Implements protected Throw
Break Double Import public Throws

Byte Else Instanceof return Transient


Case Extends Int Short Try

Catch Final Interface Static Void


Char Finaly Long strictfp Volatile
Class Float Native Super While

Const For New switch


Continue Goto Package synchronized Assert

26
Catatan
true, false, dan null bukan termasuk kata kunci akan tetapi termasuk kata-kata
khusus, jadi tidak dapat digunakan sebagai nama variabel pada kode program.

 Java Literals
Literals adalah tanda bahwa tidak terjadi perubahan atau konstan. Macam-macam
literals dalam Java adalah : Integer Literals, Floating-Point Literals, Boolean
Literals, Character Literals dan String Literals.
a. Integer Literals
Integer literals dibedakan dalam beberapa format yang berbeda: desimal
(berbasis 10), heksadesimal (berbasis 16), and oktal (berbasis 8). Dalam
penggunaan tipe data integer pada program, kita harus mengikuti aturan
penggunaan beberapa notasi khusus.Untuk angka desimal, kita tidak memerlukan
notasi khusus. Kita hanya menulis angka desimal seperti apa adanya. untuk
angka heksadesimal, hal itu harus ditandai oleh “0x” atau “0X”. untuk oktal,
ditandai oleh“0”. Sebagai contoh, mewakili angka 12. Penulisan dalam bentuk
desimalnya adalah 12, Sementara dalam heksadesimal, menjadi 0xC, dan dalam
oktal, nilai tersebut sama dengan 014.
Default tipe data untuk integer literals adalah int. Int adalah signed 32-bit
value. Pada kasus-kasus tertentu Anda dapat berharap untuk memaksa integer
literal untuk menjadi tipe data long dengan menambahkan karakter “l” or “L”.
tipe data long ditandai oleh ditampilkannya data dalam 64-bit.
b. Floating-Point Literals
Floating point literals mewakili bentuk desimal dengan bagian yang terpisah.
Sebagai contoh adalah 3.1415. Floating point literals dapat dinyatakan dalam
notasi standard atau scientific. Sebagai contoh, 583.45 dinyatakan dalam notasi
standard, Sementara 5.8345e2 dinyatakan dalam notasi scientific. Default Floating
point literals mempunyai tipe data double yang dinyatakan dalam 64-bit. Untuk
menggunakan ketelitian yang lebih kecil (32-bit) float, hanya dengan menambahkan
karakter “f” atau “F”.
c. Boolean Literals

27
Boolean literals hanya memiliki dua nilai, true atau false.
d. Character Literals
Character Literals diwakili oleh karakter single Unicode. Karakter Unicode adalah
16-bit character set yang menggantikan 8-bit ASCII character set. Unicode
memungkinkan pengunaan simbol dan karakter khusus dari bahasa lain. Untuk
menggunakan character literals, karakter tersebut di dalam tanda single pute
(' ') (single quote delimiters). Sebagai contoh huruf a, diwakili sebagai ‘a’. Untuk
menggunakan karakter khusus seperti karakter baris baru, backslash digunakan
diikuti dengan karakter kode. Sebagai contoh,‘\n’ untuk karakter baris baru
atau ganti baris, ‘\r’ untuk menyatakan nilai balik (carriage return), ‘\b’ untuk
backspace.
e. String Literals
String literals mewakili beberapa karakter dan dinyatakan dalam tanda double
pute(“ ”)( double quotes). Sebagai contoh string literal adalah, “Hello World”.
 Tipe Data Primitif
Bahasa pemrograman Java mendefinisikan delapan tipe data primitive yaitu
diantaranya adalah boolean (untuk bentuk logika), char (untuk bentuk tekstual),
byte, short, int, long (integral), double and float (floating point).
Tabel 2 Tipe Data Primitif

Grup Type Size


Min Value Max Value
Data
Integral byte 8 bits -128 128
short 16 bits -32768 32768

int 32 bits -2147483648 2147483648


long 64 bits -9223372036854775808 9223372036854775808
Real float 32 bits ± 1.40239846E-45 ±3.40282347E+8

double 64 bits ±4.94065645841246544E-324 ±1.79769313486231570E+3


08
Karakter char 16 bits \u0000 \uFFFF
Boolean boolean n/a true atau false

28
 Variabel Reference dan Variabel Primitif
Dua tipe variabel yang dimiliki oleh program Java adalah variabel reference dan
variabel primitif .Variabel primitif adalah variabel dengan tipe data primitif.
Mereka menyimpan data dalam lokasi memori yang sebenarnya dimana variabel
tersebut berada.
Variabel Reference adalah variabel yang menyimpan alamat dalam lokasi
memori. Yang menunjuk ke lokasi memori dimana data sebenarnya berada. Ketika
Anda mendeklarasikan variabel padaclass tertentu, Anda sebenarnya
mendeklarasikan reference variable dalam bentuk objek dalam classnya tersebut.
Sebagai contoh, Apabila kita mempunyai dua variabel dengan tipe data int dan
String.
int n =10;
String nama = “SMK”

Dimisalkan ilustrasi yang ditunjukkan Gambar adalah memori yang ada pada
komputer Anda, dimana Anda memiliki alamat dari setiap sel memorinya, nama
variabel dan datanya terbentuk sebagai berikut.

Gambar 25 ILustrasi Perbedaan Variabel Reference dengan Variabel Primitif

29
4. Standar Output
Ketika sebuah program menghitung hasil, kita memerlukan cara untuk menampilkan hasil
ini kepada pengguna program. Salah satu cara paling umum untuk melakukan ini di Java
adalah menggunakan jendela konsol. Jendela konsol juga disebut jendela keluaran standar.
System.out.println adalah pernyataan Java yang mencetak argumen yang dilewatkan, ke
dalam System.out.

Gambar 26 Ilustrasi Perintah Output System.out.println()

Perhatikan kode program di bawah ini,


System.out.println( “ Halo Siswa SMK RPL, Apa kabar ?” );
akan menampilkan teks “ Halo Siswa SMK RPL, Apa kabar ” pada layar. Perintah
System.out.println(), menampilkan teks yang diapit oleh tanda doublepute ( “ “ ) pada layar.

5. Standar Input
System.out digunakan untuk menampilkan data, sedangkan teknik untuk memasukkan data
menggunakan input standar yaitu System.in. Data dari keyboard diterima oleh System.in.
Penggunaan System.in untuk input sedikit lebih rumit daripada menggunakan System.out
untuk output. System.in adalah instance dari class InputStream yang hanya menyediakan
fasilitas untuk memasukkan 1 byte pada satu waktu dengan metode terbaca. Namun,
beberapa byte diperlukan untuk mewakili jenis data umum seperti string. Class Scanner
merupakan package dari java.util menyediakan fasilitas input yang diperlukan untuk
mengakomodasi berbagai data masukan.
Untuk memasukkan data dari input standar dengan menggunakan objek Scanner, pertama-
tama kita ciptakan objek dengan melewatkan parameter System.in pada constructor sebagai
berikut:

30
import java.util.*;
...
Scanner inp;
inp = new Scanner(System.in);
Setelah kita memiliki objek Scanner, maka kita dapat memasukkan satu kata dengan
menggunakan metode berikutnya. Ini kode untuk memasukkan nama pertama seseorang:
Scanner inp = new Scanner(System.in);
String nama;
System.out.print(“ Masukkan nama Anda : “);
nama = inp.nextLine();
System.out.println(“ Senang bertemu Anda “ + nama);
Interaksi pengguna dari kode contoh ini ditunjukkan pada Gambar 2.16. Dalam diagram,
karakter yang dimasukkan oleh pengguna ditampilkan di jendela konsol saat karakter
tersebut diketikkan, sehingga pengguna dapat melihat apa yang telah dimasukkan.
Mencetak nilai yang baru saja dimasukkan disebut pencetakan gema. Input string diproses
sampai tombol Enter (atau Return) ditekan, sehingga kita dapat menghapus karakter
dengan menekan tombol Backspace saat memasukkan data.

System.out.print( Masukkan nama Anda : );


nama = inp.nextLine();
System.out.println( Senang bertemu Anda + nama);

Masukkan nama Anda : Eljava


Senang bertemu Anda Eljava

Ini dimasukkan oleh pengguna dan echo Ikon ini menunjukkan penekanan
dicetak oleh sistem. Untuk membedakan tombol Enter (Return).
input dan output dalam diagram, input
ditampilkan dalam warna yang berbeda.

Gambar 27 Contoh Interaksi menggunakan System.in dengan Scanner dan


System.out.Keyboard input echo ditampilkan pada Console.

Untuk nilai input numerik, menggunakan metode setara yang sesuai dengan tipe data dari
nilai yang dimasukkan. Misalnya, untuk memasukkan nilai int, menggunakan metode
nextInt. Berikut ini contoh memasukkan usia seseorang:
Scanner inp = new Scanner(System.in);
int umur;
System.out.print("Masukkan umur Anda: ");

31
umur = inp.nextInt( );
Selain tipe data int, ada lima metode input yang sesuai dengan tipe data numerik lainnya.
Keenam metode input untuk tipe data numerik primitif tercantum dalam Tabel 3.6.
Tabel 3 Metode Untuk Memasukkan Enam Tipe Data Numerik

Metode Contoh
nextByte( ) byte b = inp.nextByte( );
nextDouble( ) double d = inp.nextDouble( );
nextFloat( ) float f = inp.nextFloat( );
nextInt( ) int i = inp.nextInt( );
nextLong( ) long l = inp.nextLong( );
nextShort( ) short s = inp.nextShort( );

6. Operator
Dalam Java, ada beberapa tipe operator. Ada operator aritmatika, operator relasi, operator
logika, dan operator kondisi. Operator ini mengikuti bermacam-macam prioritas yang pasti
sehingga compilernya akan tahu yang mana operatoruntuk dijalankan lebih dulu dalam kasus
beberapa operator yang dipakai bersama-sama dalam satu pernyataan.
a. Operator Aritmatika
Tabel 4 berikut ini adalah dasar operator aritmatik yang dapat digunakan untuk
membuat suatu program Java,
Tabel 4 Operator Aritmatika

Operator Penggunaan Keterangan

+ op1+ op2 Menambahkan op1 dengan op2

* op1*op2 Mengalikan op1 dengan op2

/ op1/op2 Membagi op1 dengan op2

Menghitung sisa dari pembagian op1


% op1%op2
dengan op2

- op1-op2 Mengurangkan op2 dari op1

Operand dalam ekspresi aritmatika dapat berupa konstanta, variabel, pemanggilan

32
metode, atau ekspresi aritmatika lainnya, yang memungkinkan juga menggunakan tanda
kurung. Perhatikan contoh dalam ekspresi berikut,
operand operator operand
x + 7
Dalam ekspresi x + 7 memiliki satu operator tambahan dan dua operan yaitu variabel
x dan konstanta 7. Operator penjumlahan disebut operator biner karena beroperasi
pada dua operan. Semua operator aritmatika lainnya kecuali minus juga biner. Operator
minus dan plus dapat berupa biner dan unary. Operator unari beroperasi pada satu
operan seperti pada –x.
Perhatikan ekspresi berikut,
x + 3 * y
operator penjumlahan (+) bertindak pada operan x dan 3 * y. Operan kanan untuk
operator penjumlahan itu sendiri merupakan ekspresi. Seringkali ekspresi bersarang
disebut subekspresi. Subekspresi 3 * y memiliki operan 3 dan y. Diagram berikut
mengilustrasikan hubungan ini disajikan dalam Gambar

Gambar 28 Ilustrasi Relasi dalam Ekpresi


C.Thomas Wu, (2010). An Introduction to Object-Oriented Programming with Java, Fifth Edition.

Ketika dua atau lebih operator terdapat dalam sebuah ekspresi, urutan evaluasi
ditentukan dengan mengikuti aturan yang diutamakan. Misalnya, perkalian memiliki
prioritas yang lebih tinggi dari pada penjumlahan. Oleh karena itu, dalam ekspresi x +
3 * y, operasi perkalian dievaluasi terlebih dahulu, dan operasi penjumlahan dievaluasi
berikutnya. Tabel 6 merangkum aturan prioritas untuk operator aritmatika,
Tabel 5 Aturan Prioritas Operator Aritmatika

Order Grup Operator Aturan


High Sub-ekspresi () Sub-ekspresi dievaluasi terlebih
dahulu. Jika tanda kurung

33
disarangkan, sub-ekspresi terdalam
akan dievaluasi terlebih dahulu. Jika
dua atau lebih pasang tanda kurung
berada pada tingkat yang sama,
maka mereka dievaluasi dari kiri ke
kanan.
Unary operator -, + Unari minus dan plus dievaluasi
kedua.
Multiplikasi operator *, / , % Operator multiplikatif dievaluasi
ketiga. Jika dua atau lebih operator
perkalian dalam ekspresi, maka
mereka dievaluasi dari kiri ke kanan.
Aditip operator +, - Operator aditif dievaluasi terakhir.
Jika dua atau lebih operator aditif
berada dalam ekspresi, maka mereka
dievaluasi dari kiri ke kanan.
Low

Contoh berikut mengilustrasikan aturan prioritas yang diterapkan ke ekspresi aritmatika


kompleks,

Gambar 29 Ilustrasi Aturan Prioritas dama Ekspresi Aritmatika


C.Thomas Wu, (2010). An Introduction to Object-Oriented Programming with Java, Fifth Edition.

Ketika ekspresi aritmatika terdiri dari variabel dan konstanta dari tipe data yang sama,
maka hasil dari ekspresi akan menjadi tipe data juga. Sebagai contoh, jika tipe data a
dan b adalah int, maka hasil dari ekspresi,
a * b + 2
juga merupakan int. Ketika tipe data variabel dan konstanta dalam ekspresi aritmatika
adalah tipe data yang berbeda, maka konversi casting akan berlangsung. Konversi
Acasting, atau typecasting, adalah proses yang mengubah nilai dari satu tipe data ke

34
tipe data lain. Dua jenis konversi casting di Java bersifat implisit dan eksplisit ditunjukkan
dalam Tabel 7.
Tabel 6 Aturan Tipe Operator

Tipe Operator Aturan


Unary 1. Jika operan bertipe byte atau pendek, maka dikonversi ke int.
2. Jika tidak, operan tetap jenis yang sama.
Binary 1. Jika operand bertipe double, maka operan yang lain dikonversi
menjadi dobel.
2. Sebaliknya, jika operand adalah tipe float, maka operan yang
lain dikonversi menjadi float.
3. Sebaliknya, jika operand adalah tipe panjang, maka operan
yang lain dikonversi ke panjang.
4. Jika tidak, kedua operand dikonversi menjadi int.

Konversi implisit yang disebut numeric promotion diterapkan ke operan operator


aritmatika. Promosi ini didasarkan pada aturan yang tercantum pada Tabel 5. Konversi
ini disebut promotion karena operand dikonversi dari yang lebih rendah ke presisi yang
lebih tinggi. Daripada mengandalkan konversi implisit, konversi eksplisit dapat digunakan
untuk mengonversi operan dari satu tipe data ke tipe data lainnya. Konversi eksplisit
diterapkan ke operan dengan menggunakan operator typecast. Misalnya, untuk
mengonversi variabel int x dalam ekspresi
x / 3
Untuk tipe data float sehingga hasilnya tidak terpotong, diterapkan operator typecast
(float) sebagai,
( float ) x / 3
Sintak penulisan dalam kode program adalah
( <tipe data> ) ekspresi

Operator typecast adalah operator unary dan memiliki prioritas lebih tinggi dari operator
biner manapun. Tanda kurung digunakan untuk typecast subekspresi; misalnya,
ekspresi,
a + (double)( x + y * z )
akan menghasilkan subeksprei x + y * z typecast untuk tipe data double.
Dengan asumsi variabel x adalah int, maka pernyataan penugasan
x = 2 * (14343 / 2344);

35
akan menetapkan hasil integer dari ekspresi ke variabel x. Namun, jika tipe data x selain
int, maka konversi implisit akan terjadi sehingga tipe data dari ekspresi menjadi sama
dengan tipe data dari variabel. Konversi adalah konversi implisit lain yang terjadi ketika
variabel dan nilai ekspresi dalam pernyataan penugasan bukan dari tipe data yang sama.
Konversi hanya terjadi jika jenis data dari variabel memiliki presisi yang lebih tinggi
daripada tipe data dari nilai ekspresi. Sebagai contoh,
double number;
number = 25;
adalah valid, sedangkan
int number;
number = 17.25;
adalah tidak valid.
Dalam menulis program, menaikkan atau menurunkan nilai variabel dengan jumlah
tertentu sering dilakukan. Misalnya, untuk meningkatkan nilai penjumlahan sebesar 9,
ditulis dengan,
jumlah = jumlah + 9;
Kita dapat menulis ulang pernyataan ini tanpa mengulang variabel yang sama di sisi kiri
dan kanan simbol penugasan dengan menggunakan operator penentu singkat:
jumlah += 5;
Operator shorthand assignment ini memiliki prioritas yang lebih rendah daripada
operator aritmatika lainnya misalnya,
jumlah *= a + b;
pernyataan itu setara dengan,
jumlah = jumlah * (a + b)
Tabel 8 daftar lima operator shorthand assignment yang tersedia di pemrograman Java.
Tabel 7 Operator Shorthand Assignment

Operator Penggunaan Arti


+= a += b a=a+b
-+ a -= b a=a–b
*= a *= b a=a*b
/= a /= b a=a/b
%= a %= b a=a%b

b. Operator Increment dan Decrement

36
Dari sisi operator dasar aritmatika, Java juga terdiri atas operatorunary increment (++)
dan operator unary decrement (--).Operator increment dan decrement menambah dan
mengurangi nilai yang tersimpan dalam bentuk variabel angka terhadap nilai 1.
Sebagai contoh, pernyataan,
count = count + 1;
atau
count++;

Tabel 8 Operator Decrement dan Increment

Operator Penggunaan Keterangan

Menambahkan nilai 1 pada


++ op++ op; mengevaluasi nilai op
sebelum diincrementasi/ ditambahkan
Menambahkan nilai 1 pada
++ ++op op; mengevaluasi nilai op
setelah diincrementasi/ ditambahkan
Mengurangkan nilai 1 pada
-- op-- op; mengevaluasi nilai op
sebelum didecrementasi/ dikurangkan
Mengurangkan nilai 1 pada
-- --op op; mengevaluasi nilai op
setelah didecrementasi/ dikurangkan

Operator increment dan decrement dapat ditempatkan sebelum atau sesudah operand.
Ketika digunakan sebelum operand, akan menyebabkan variabel di-increment atau di-
decrement dengan nilai1, dan kemudian nilai baru digunakan dalam pernyataan dimana
ditambahkan. Sebagai contoh, variabel k pada baris terakhir adalah 14.
int i =10;
int j = 3;
int k = 0;
k = ++j + i;
Ketika operator increment dan decrement ditempatkan setelah operand, nilai variabel
yang lama akan digunakan lebih dulu dioperasikan lebih dulu terhadap pernyataan
dimana dia ditambahkan. Sebagai contoh, variabel k pada baris terakhir adalah 13.
int i =10;
int j = 3;
int k = 0;
k = j++ + i;

37
7. Lingkup Variabel
Variabel harus memiliki tipe data dana nama, selain itu suatu variabel juga mempunyai
jangkauan. Jangkauan ini menentukan kemampuan program dalam mengakses variable.
Jangkauan ini juga menentukan siklus hidup dari suatu variable atau berapa lama variable
itu berada dalam memori. Jangkauan ini ditentukan oleh letak pendeklarasian variabel di
dalam program. Untuk memudahkan anda mengenai jangkauan variabel, kita bedakan
variabel yang terletak di dalam kurawal {.....}. Blok kode yang terdapat di luar kurung
kurawal bisa disebut juga dengan blok luar, dan blok kode yang terletak di dalam kurung
kurawal disebut dengan blok dalam.
Jika kamu mendeklarasikan variabel di blok luar, variabel akan dapat dipakai oleh blok
bagian dalam. Lain halnya jika kamu mendeklarasikan variabel di blok dalam, kamu tidak
bisa harapkan blok terluar untuk menggunakan variabel tersebut. Jadi dapat disimpulkan,
suatu jangkauan variable dapat terletak di dalam blok dimana variabel tersebut sudah di
deklarasikan, dimulai dari tempat dimana variable itu di dklarasikan dan di blok-blok bagian
dalam.

Gambar 30 Jangkaun Variabel Dalam Sebuah Class

38
Kode yang kita miliki disini mempunyai lima jangkauan yang ditandai oleh baris dan
keterangan yang mewakili jangkauan itu, dengan variable i,j,k,m dan n, dan 5 jangkauan
A,B,C,D dan E, kita mempunyai beberapa jangkauan variable berikut:
Jangkauan variable i adalah A.
Jangkauan variable j adalah B.
Jangkauan variable k adalah C.
Jangkauan variable m adalah D.
Jangkauan variable n adalah E.
8. Konstanta
Ketika sebuah program berjalan, nilai yang berbeda dapat diberikan ke suatu variabel pada
waktu yang berbeda (dengan demikian nama variabel, karena nilai yang dikandungnya
dapat bervariasi), tetapi dalam beberapa kasus kita tidak ingin ini terjadi. Dengan kata lain,
dapat "mengunci" nilai yang ditetapkan sehingga tidak ada perubahan yang dapat terjadi.
Jika kita menginginkan suatu nilai tetap tetap, maka digunakan konstanta. Konstanta
dideklarasikan dengan cara yang mirip dengan variabel tetapi dengan tambahan akhir kata
cadangan. Konstanta harus diberi nilai pada saat deklarasinya. Berikut contoh
mendeklarasikan empat konstanta:
final double PI = 3.14159;
final short FARADAY_CONSTANT = 23060;
final double CM_PER_INCH = 2.54;
final int MONTHS_IN_YEAR = 12;
Konvensi Java standar untuk menamai konstanta, menggunakan huruf besar dan garis
bawah. Penggunaan konstanta yang sesuai dengan standar membuat program lebih mudah
dibaca.
Konstanta PI disebut konstanta konstan atau konstanta symbolic. Acuan konstanta symbolic
dengan identifier seperti PI dan FARADAY_CONSTANT. Konstanta jenis kedua disebut
konstanta literal, dengan menggunakan nilai yang sebenarnya. Misalnya, pernyataan berikut
mengandung tiga konstanta literal:

39
Gambar 31 Konstanta Literal

C. Praktikum
IDE Netbeans 8.2 digunakan untuk menulis kode program Java, langkah pertama membuat
project baru dengan cara:
File → New Project → Project Name: Bab3
Klik Kanan → Bab3 → New → Java Class

Latihan 1. Class Name : UjiAritmatika


Latihan 2. Class Name : UjiPrioritasOperator
Latihan 3. Class Name : UjiIncrementDecrement
Latihan 4. Class Name : UjiInput

Latihan 1 UjiAritmatika.java

Analisa Program
class UjiAritmatika dimulai dari tanda kurung kurawal buka { pada baris 1 dan
diakhiri tanda kurung kurawal tutup pada baris ke-14 yang di dalamnya juga terdapat
metode utama yaitu public static void main(String[] args) yang dimulai
dengan tanda kurung kurawal { dari baris ke-2 sampai dengan kurung kurawal } pada
baris ke-13. Deklarasi variabel x, y, dan z sekaligus inisialisasi dilakukan pada baris ke-

40
3,ke-4, dan ke-5. System.out.println( ) adalah standar output untuk menampilkan
data ke monitor. Pada baris ke-6 adalah perintah untuk mencetak informasi di antara
tanda doublepute “Penjumlahan x + y = ”, sedangkan perintah (x*y) adalah operand
x dan operand y dijumlahkan melalui operator (+) sehingga menghasilkan bilangan 17.
Demikian seterusnya compiler akan menterjemahkan setiap baris sampai pada baris ke-
14, sehinggan menghasilkan tampilan output seperti berikut ini.
Keluaran Program
Penjumlahan x + y = 17
Pengurangan x - y = 3
Perkalian x * y = 70
Pembagian x / y = 1
Pembagian x / z = 2.857142857142857
Sisa bagi x /% z = 3

Latihan 2 UjiPrioritasOperator.java

Analisa Program
class UjiPrioritasOperator dimulai dari tanda kurung kurawal buka { pada baris
1 dan diakhiri tanda kurung kurawal tutup } pada baris ke-12 yang di dalamnya juga
terdapat metode utama yaitu public static void main(String[] args) yang
dimulai dengan tanda kurung kurawal { dari baris ke-2 sampai dengan kurung kurawal }
pada baris ke-11. System.out.println( ) pada baris ke-3 akan menampilkan data
di antara tanda doublepute “ Hasil ekspresi 3 + 5 /7 adalah ”, sedangkan
perintah +(3 + 5 / 7) melakukan pembagian terlebih dahulu yaitu 5/7 menghasilkan
0,714 kemudian dijumlahkan dengan 3, sehingga nilai keluaran terakhir adalah 3 karena
secara implisit semua data bertipe integer. Demikian seterusnya compiler akan

41
menterjemahkan setiap baris sampai pada baris ke-11, sehingga menghasilkan tampilan
output seperti berikut ini.
Keluaran Program
Hasil ekspresi 3 + 5 / 7 adalah 3
Hasil ekspresi 3 * 3 + 3 % 2 adalah 10
Hasil ekspresi 3+2/5 + -2 * 4 adalah -5
Hasil ekspresi 2*(1 + -(3/4)/2) * (2-6%3) adalah 4

Latihan 3 UjiIncrementDecrement.java

Analisa Program
class UjiIncrementDecrement dimulai dari tanda kurung kurawal buka { pada baris
1 dan diakhiri tanda kurung kurawal tutup } pada baris ke-17 yang di dalamnya juga
terdapat metode utama yaitu public static void main(String[] args) yang
dimulai dengan tanda kurung kurawal { dari baris ke-2 sampai dengan kurung kurawal }
pada baris ke-16. Baris ke-3 sampai ke-5 merupakan deklarasi dan inisialisasi variabel
i,a,b,c,d,k1,k2. Pada baris ke-6 proses pengerjaan ekspresi ++a + i * 2,yang
dikerjakan pertama proses operator increment ++a sehingga nilai a menjadi 4, proses
berikutnya adalah pengerjaan operator perkalian terhadap operand i dan operand 2
menghasilkan nilai 20, proses teakhir dari ekpresi ini adalah operator penjumlahan
terhadap operand 4 dan operand 20, dengan demikian hasilnya adalah 24 yang disimpan

42
pada variabel k1. Selajutnya pada baris ke-9 melalui perintah System.out.println()
akan menampilkan informasi Hasil ++a + i * 2 adalah 24.Demikian seterusnya
compiler akan menterjemahkan setiap baris sampai pada baris ke-15, sehingga
menghasilkan tampilan output seperti berikut ini.
Keluaran Program
Uji INCREMENT
Hasil ++a + i * 2 adalah 24
Hasil b++ + i * 2 adalah 23
Uji DECREMENT
Hasil --c + i * 2 adalah 22
Hasil d-- + i * 2 adalah 23

Latihan 4 UjiIncrementDecrement.java

Analisa Program

43
class UjiInput dimulai dari tanda kurung kurawal buka { pada baris 1 dan diakhiri
tanda kurung kurawal tutup } pada baris ke-30 yang di dalamnya juga terdapat metode
utama yaitu public static void main(String[] args) yang dimulai dengan
tanda kurung kurawal { dari baris ke-2 sampai dengan kurung kurawal } pada baris ke-
29.Baris ke-4 adalah sebuah perintah untuk mengunakan class Scanner dengan mebuat
sebuah objek yang bernama inp fungsinya adalah untuk membaca data dari keyboard
yang dimasukkan oleh pengguna. Baris ke-5 sampai ke-7 merupakan deklarasi variabel
b,d,f,i,l,s, dan str. Pada baris ke-8 melalui perintah System.out.println()
akan menampilkan informasi Masukkan data byte :123.Selanjutnya baris-9 adalah
proses pembacaan data dari keyboard melalui perintah inp.nextByte(), kemudian
data masukkannya disimpan dalam variabel b. Baris ke-10 sampai baris ke-21 adalah
proses pembacaan data dari keyboard dengan menggunakan metode yang disediakan
oleh class Scanner yang sesuai dengan tipe data yang digunakan. Selajutnya pada baris
ke-22 melalui perintah System.out.println() akan menampilkan informasi Yang
dimasukkan dalam d byte adalah 123. Demikian seterusnya compiler akan
menterjemahkan setiap baris sampai pada baris ke-28, sehingga menghasilkan tampilan
output seperti berikut ini.
Keluaran Program
Masukkan data byte : 123
Masukkan data double : 12345678,9
Masukkan data float : 1234567,89
Masukkan data integer : 123456789
Masukkan data long : 1234567890
Masukkan data short : 1234
Masukkan data String : Hisyam
Yang dimasukkan dalam byte adalah 123
Yang dimasukkan dalam double adalah 1.23456789E7
Yang dimasukkan dalam float adalah 1234567.9
Yang dimasukkan dalam integer adalah 123456789
Yang dimasukkan dalam long adalah 1234567890
Yang dimasukkan dalam short adalah 1234
Yang dimasukkan dalam String adalah Hisyam

44
D. Tugas

Buatlah program Java dengan menggunakan IDE NetBeans 8.2 dengan membuat
package baru pada projek Bab3, dengan cara:
Klik Kanan → Bab3 → New → Java Package → Package Name:tugas

Tugas 1 ( Program level 1 )


Tulis program yang menerima berat badan seseorang dan tampilkan jumlah kalori yang
dibutuhkan seseorang dalam satu hari. Seseorang membutuhkan 19 kalori per pon berat
badan, sehingga rumus yang dinyatakan di Java adalah
kalori = beratBadan * 19;

Nama File CalculatorKalori.java

Tugas 2( Program level 1 )


Tulis sebuah program yang memasukkan suhu dalam derajat Celcius dan mencetak suhu
dalam derajat Fahrenheit dan sebaliknya. Rumus untuk mengubah derajat Celsius ke
derajat Fahrenheit adalah
Fahrenheit = 1.8 X Celsius + 32
Sedangkan rumus untuk mengubah derajat Fahrenheit ke derajat Celsius adalah
Celcius = 5/9 X ( Fahrenheit – 32 )

Nama File KonversiSuhu.java


Petunjuk Gunakan tipe data float atau double untuk
variabel fahrenheit, dan tipe data integer
untuk variabel celcius

45
Tugas 3( Program level 2 )
Ketika Anda mengatakan Anda berusia 18 tahun, Anda benar-benar mengatakan bahwa
Bumi telah mengitari Matahari 18 kali. Karena planet lain mengambil lebih sedikit atau
lebih hari dari Bumi untuk mengelilingi Matahari, usia Anda akan berbeda di planet lain.
Anda dapat menghitung berapa usia Anda di planet lain berdasarkan rumus,

di mana x adalah usia di Bumi, y adalah usia di planet Y, dan d adalah jumlah hari Bumi
yang dibutuhkan planet Y untuk mengelilingi Matahari. Buatlah program yang meminta
pengguna memasukkan usia Bumi dan cetak usianya di Merkurius, Venus, Jupiter, dan
Saturnus. Nilai untuk d tercantum dalam tabel berikut,

Planet Jumlah hari di bumi Kelilingi Matahari


(d)
Merkurius 88
Venus 225
Jupiter 4.380
Saturnus 10.767

Nama File UsiaOnPlanet.java


Petunjuk Gunakan tipe data float atau double untuk
variabel x, y, dan d.

Tugas 4( Program level 3 )


MyJava Coffee Outlet menjalankan bisnis katalog. Ini hanya menjual satu jenis biji kopi,
dipanen secara eksklusif di daerah terpencil Irian Jaya. Perusahaan menjual kopi hanya
dalam 2-lb bags, dan harga satu kantong 2-lb adalah $ 5,50. Ketika pelanggan memesan,
perusahaan mengirimkan pesanan dalam kotak. Kotak-kotak itu terdiri dari tiga ukuran:
kotak besar berisi 20 kantong 2 lb, 10 tas sedang, dan 5 tas kecil. Biaya kotak besar
adalah $ 1,80; kotak sedang, $ 1,00; dan kotak kecil, $ 0,60. Pesanan dikirim dengan
cara yang paling murah.

46
Misalnya, pesanan 52 tas akan dikirim dalam empat kotak: dua besar, satu sedang, dan
satu kecil. Aturan pengepakan adalah untuk mengisi kotak besar dan menengah
sepenuhnya; yaitu, kotak itu penuh sesak. Hanya kotak kecil yang bisa memiliki ruang
kosong. Misalnya, untuk mengirim 52 tas, Anda bisa menggunakan 3 kotak besar, tetapi
itu akan membuat kotak ketiga tidak sepenuhnya dikemas. Kembangkan program yang
menghitung total biaya pesanan.

Nama File MyJavaCafe.java


Format Output Jumlah paket pesanan: 52 - $ 286.00
Box yang dibutuhkan:
2 Large - $3.60
1 Medium - $1.00
1 Small - $0.60
Biaya total adalah: $ 291.20

E. Rangkuman
Variabel adalah lokasi memori untuk menyimpan nilai.Sebuah variabel memiliki nama dan
tipe data.Variabel harus dideklarasikan sebelum kami dapat menetapkan nilai untuk itu.Ada
enam tipe data numerik di Java: byte, short, int, long, float, dan double.Nama objek identik
dengan variabel yang isinya adalah alamat memori. Tipe data numerik disebut tipe data
primitif, dan objek disebut tipe data referensi.Aturan diutamakan menentukan urutan
mengevaluasi ekspresi aritemetik.Konstanta simbolik menyimpan nilai sama seperti variabel,
tetapi tidak dapat mengubah nilainya.
Operator yang digunakan dalam Java antara lain operator aritmatika, operator relasi,
operator logika, dan operator kondisi. Operator ini mengikuti bermacam-macam prioritas,
operator aritmatika umumnya digunakan untuk operasi matematika seperti pembagian,
perkalian, dan lain-lain. Operator Increment dan Decrement berfungsi untuk menambah dan
mengurangi nilai yang tersimpan, operasi relasi digunakan untuk membandingkan dua nilai
untuk menentukan keterhubungan diantara nilai-nilai tersebut. Operator logika memiliki
lebih dari satu operand boolean yang menghasilkan nilai boolean true dan false. Operator
kondisi bersifat ternary, jadi operator ini membawa tiga argumen yang membentuk suatu
ekspresi bersyarat. Operator Precedence berfungsi sebagai alat evaluasi terhadap operator
untuk mengajukan perintah dengan hasil yang tidak ambigu atau hasil yang jelas.

47
BAB III CLASS D AN O BJECT

CLASS DAN OBJECT

A. Tujuan Pembelajaran
Setelah mengikuti pembelajaran ini peserta didik diharapkan:
 Memahami konsep class, objek, class diagram, dan objek class diagram
 Menganalisis data member atribut atau properti dan metode yang dibutuhkan sebuah
class
 Menerapkan constructor dalam class
 Menganalisis penggunaan tipe data reference dengan membuat objek bertipe array
 Melakukan praktikum membuat class, membuat consructor, dan menciptakan objek
dengan bahasa pemrograman Java

B. Uraian Materi
1. Class dan Objek
Dua konsep yang paling penting dalam pemrograman berorientasi objek adalah class dan
objeknya. Dalam istilah terluas, objek adalah benda, baik yang nyata maupun tidak nyata,
yang dapat kita bayangkan. Perhatikan Gambar... merupakan ilustrasi class animal dengan
dua objek yaitu dog dan shape.

Gambar 32 Ilustrasi Class dan Objek


http://w3programmers.com/bangla/php-oop-basics/

48
Pada dunia perangkat lunak, sebuah obyek adalah sebuah komponen perangkat lunak yang
stukturnya mirip dengan obyek pada dunia nyata. Setiap obyek dibangun dari sekumpulan
data (atribut) yang disebut variabel untuk menjabarkan karakteristik khusus dari obyek, dan
juga terdiri dari sekumpulan method yang menjabarkan tingkah laku dari obyek. Bisa
dikatakan bahwa obyek adalah sebuah perangkat lunak yang berisi sekumpulan variable dan
method yg berhubungan.Variabel dan method dalam obyek Java secara formal diketahui
sebagai variabel instance dan method instance.
Class adalah sturktur dasar dari pemrograman berorientasi objek. Class terdiri dari dua tipe
dari anggota dimana disebut dengan field (attribut/properti) dan method. Field merupakan
tipe data yang didefinisikan oleh class, sementara metode merupakan operasi. Sebuah
obyek adalah sebuah instance (keturunan) dari class.
 Perbedaan Class dan Object
Untuk dapat membedakan antara class dan obyek, mari kita mendiskusikan beberapa
contoh berikut ini. Kita memiliki sebuah class mobil dimana dapat digunakan untuk
medefinisikan beberapa obyek mobil. Pada tabel dibawah, mobil A dan mobil B adalah
obyek dari class mobil. Class memiliki field nomor, plat, warna, manufaktur dan
kecepatan yang diisi dengan nilai pada obyek mobil A dan mobil B. Mobil juga dapat
berakselerasi, berbelok dan melakukan rem.
Tabel 9 Class Mobil dan Objeknya

Class Mobil Obyek mobilA ObyekMobilB


Nomor Plat ABC111 XYZ123
Warna Biru Merah
Variabel Manufaktur Mitsubishi Toyota
Instance Kecepatan 50km/h 100km/h
Method Akselerasi
Method
Method Belok
Instance
Method Rem

Ketika diinisialisi, setiap obyek mendapat satu set variabel yang baru. Bagaimanapun,
implementasi dari method dibagi diantara obyek pada class yang sama.Class
menyediakan keuntungan dari reusability. Programmer perangkat lunak dapat
menggunakan sebuah class beberapa kali untuk membuat banyak obyek.

49
2. Class Diagram
Class Diagram menggambarkan struktur sistem dari segi pendefinisian class-class yang akan
dibuat untuk membangun sistem. Class memiliki apa yang disebut atribut dan metode atau
operasi. Atribut merupakan variabel-variabel yang dimiliki oleh suatu class operasi atau
metode adalah fungsi-fungsi yang dimiliki oleh suatu Class.
Class Diagram class dibuat agar pembuat program atau programmer membuat class-class
sesuai rancangan di dalam diagram class agar antara dokumentasi perancangan dan
perangkat lunak sinkron.
Pembuatan class diagram melalui tool plugin easyUML yang terintegrasi denga IDE
NetBNeans 8.2, contoh class diagramnya disajikan dalam Gambar 32.

Atribut
- private
# protected
+ public

Constructor
Untuk membuat objek
Metode
void : tanpa nilai balik
int : nilai balik integer
String : nilai balik String

Gambar 33 Struktur Class Diagram

Simbol-simbol yang ada digunakan dalam class diagram disajikan dalam Tabel 11.
Tabel 10 Simbol-Simbol Dalam Class Diagram

Simbol Deskripsi
Antarmuka/infterface Sama dengan konsep interface dalam
pemrograman berorientasi objek

Asosiasi berarah / Directed association Relasi antar class dengan makna class yang
satu digunakan oleh class yang lain, asosiasi
biasanya juga disertai dengan multiplicity

Generalisasi / Inheritas Relasi antarclass dengan makna generalisasi-


spesialisasi (umum khusus)

50
Kebergantungan/dependency Relasi antar class dengan makna
kebergantungan antar class

Agregasi/aggregation Relasi antarclass dengan makna semua-bagian


(whole-part)

3. Objek Diagram
Diagram objek menggambarkan struktur sistem dari segi penamaan objek dan jalannya
objek dalam sistem. Pada diagram objek harus dipastikan semua class yang sudah
didefinisikan pada diagram class harus dipakai objeknya, karena jika tidak, pendefinisian
class itu tidak dapat dipertanggungjawalbkan. Diagram objek juga berfungsi untuk
mendefinisikan contoh nilai atau isi dari atribut tiap class. Hubungan link pada diagram objek
merupakan hubungan memakai dan dipakai dimana dua buah objek akan dihubungkan oleh
link jika ada objek yang dipakai oleh objek lainnya.

<nama objek>

Persegi panjang untuk mewakili suatu


objek dengan memberi nama yang
digarisbawahi

Gambar 34 Representasi Objek Diagram

Simbol-simbol yang ada pada dobjek diagram disajikan dalam Tabel 12.
Tabel 11 Simbol-Simbol Objek Diagram

Simbol Deskripsi
Objek Objek dari class yang berjalan saat system
dijalankan

Link Relasi antar objek

51
4. Pembuatan Instance Variabel Class
Sintaks untuk deklarasi atribut atau data anggota class adalah
<modifier> <tipe data> <nama>;
dimana <modifier> menunjukkan karakteristik yang berbeda dari data anggota, <tipe
data> merupakan tipe data primitif, dan <nama> data anggota. Berikut ini sintaks umum
sesuai dengan deklarasi aktual:

private int noPlat ;

Gambar 35 Deklarasi Atribut atau Data Anggota Classs

Dalam contoh ini, atribut memiliki satu modifier bernama private. Modifier ini disebut
modifier aksesibilitas, atau modifier visibilitas, dan membatasi siapa yang dapat memiliki
akses langsung ke anggota data ini. Jika modifikator bersifat private, maka hanya metode
yang didefinisikan di class dapat mengaksesnya secara langsung.
Modifier menentukan level pengaksesan sebuah method. Hal ini menentukan apakah sebuah
variabel anggota class biasa diakses oleh objek lain, objek anak, objek dalam satu package
atau tidak dapat diakses oleh suatu object sama sekali berikut adalah beberapa jenis level
akses dalam Tabel 13.
Tabel 12 Hak Akses Modifier Pada Variabel dan Metode

Modifier Hak Akses


Private Menunjukan bahwa variabel atau method tidak dapat diakses
oleh class lain
Protected Menunjukan bahwa variabel atau method bisa diakses oleh class
lain dalam satu paket dan hanya class lain yang merupakan
subclass nya pada paket yang berbeda.
Public Menunjukan bahwa variabel atau method dapat diakses oleh
class lain
Default (tanpa modifier) Menunjukan bahwa method dapat diakses oleh class lain dalam
paket yang sama

Jika kita telah menuliskan seluruh atribut yang akan diisikan pada class, selanjut nya kita
akan menuliskannya pada kode. Jika kita menginginkan bahwa atribut–atribut tersebut

52
adalah unik untuk setiap object (dalam hal ini untuk setiap siswa), maka kita harus
mendeklarasikannya sebagai instance variable.
private int noPlat;
protected String warna;
public String manufactur;
public double kecepatan;

5. Pembuatan Metode
Sebuah metode adalah bagian-bagian kode yang dapat dipanggil oleh class, badan program
atau method lainnya untuk menjalankan fungsi yang spesifik di dalam class. Secara
umum method dalam java adalah sebuah fungsi.
Berikut adalah karakteristik dari method :
 Dapat mengembalikan / melaporkan nilai balikkan (return value) atau tidak (void)
 Dapat diterima beberapa parameter yang dibutuhkan atau tidak ada parameter sama
sekali. Parameter bisa juga disebut sebagai argumen dari fungsi. Parameter berguna
sebagai nilai masukkan yang hendak diolah oleh fungsi.
 Setelah method telah selesai dieksekusi, dia akan kembali pada method yang
memanggilnya.
Menggunakan method memiliki beberapa keuntungan, yaitu :
 Method membuat program lebih mudah dibaca dan mudah untuk dipelihara / dimaintain.
 Method membuat proses pengembangan dan perawatan ( maintenance ) menjadi lebih
cepat.
 Method merupakan dasar untuk melakukan membuat software yang reusable. Method
memungkinkan obyek-obyek yang berbeda untuk berkomunikasi dan untuk
 mendistribusikan beban kerja yang dipikul oleh program.
a. Metode Tanpa Nilai Balik ( Metode Void )
Sintaks untuk mendeklarasikan metode dalam class adalah
<modifiers> <return type> <method name> ( <parameters> )
{
<statements>
}
Diagram berikut menunjukkan sintaks umum dalam pembuatan sebuah metode
setNoPlat():

53
public void setNoPlat ( int np ) {

noPlat = np ;

}
Me-refer pada
Me-refer pada
instance variabel
parameter np
noPlat

Gambar 36 Pembuatan Metode Void

Metode yang tidak mengembalikan nilai, seperti metode setNoPlat() ini, dinyatakan
sebagai metode void. Modifier aksesibilitas untuk metode setNoPlat() dinyatakan
sebagai publik. Ini berarti class lain dapat mengakses, atau memanggil, metode ini.
Adalah mungkin dan dapat bermanfaat untuk menyatakan suatu metode sebagai
private. Jika metode dinyatakan sebagai private, maka tidak dapat dipanggil dari dari
class yang lain. Itu hanya bisa dipanggil dari metode lain dari class yang sama.

b. Metode Dengan Nilai Balik ( Metode Return Value)


Diagram berikut menunjukkan dalam sintaks umum dalam pembuatan metode
getNoPlat ( ):

public int getNoPlat ( ) {

return noPlat ;

}
Me-refer pada
instance variabel
noPlat

Gambar 37 Pembuatan Metode Dengan Return Value

54
Metode getNoPlat() adalah metode dengan pengembalian nilai. Ketika metode ini
dipanggil, mengembalikan nilai ke pemanggil. Metode getNoPlat()mengembalikan
nilai int ke nilai instance variable noPlat tipe data kembalianya dinyatakan sebagai
int. Format pengembalian Metode dengan return value sebagai berikut,
return <ekspresi>;
Tipe data <ekspresi> harus kompatibel dengan tipe pengembalian yang dinyatakan
dari metode. Misalnya, jika jenis kembalinya int, maka tipe data dari nilai yang
dikembalikan harus kompatibel dengan tipe data integer (tipe data short, dan byte).
Metode yang mengembalikan informasi tentang suatu objek disebut sebagai metode
assesor. Metode getNoPlat() adalah assesor. Inversi dari metode assesor yang
mengatur properti dari suatu objek disebut sebagai mutator. Metode setNoPlat()
adalah sebuah mutator. Assesor dan mutator umumnya disebut metode “setergeter”.
c. Metode Statik
Sintaks untuk mendeklarasikan metode class adalah
<modifiers> <static> <return type> <method name> ( <parameters>
)
{
<statements>
}
Sebuah method static dapat diakses tanpa harus melakukan instantiasi terlebih dahulu.
Pemanggilan method static dilakukan dengan format :
< Nama class >.namaMetode();

6. Constructor
Constructor adalah suatu metode yang pertama kali dijalankan pada saat pembuatan suatu
objek. Constrctor mempunyai ciri-ciri sebagai berikut:
 mempunyai nama yang sama dengan nama class,
 tidak mempunyai return type (seperti void, int, double, dan lain-lain).
 boleh mempunyai parameter biasanya digunakan untuk inisilisasi (menyiapkan) data
untuk class.

55
Bentuk secara umum sintak constructor sebagai berikut,
public <nama class > ( <parameters> ) {
<statements>;
}
<nama class> merupakan nama class dimana constructor ini berada. Diagram berikut
menunjukkan sintaks umum dalam prmbuatan constructor class Mobil:

public Mobil ( ) {

noPlat = 0 ;

Gambar 38 Diagram Pembuatan Constructor

Setiap class yang dibuat secara implisit, sudah disiapkan oleh Java sebuah default
constructor sebagai berikut,
public <nama class > () {

7. Pembuatan Objek ( Instansiasi Class )


Bentuk secara umum sintak pembuatan objek sebagai berikut,
<nama class> <nama objek> = new <constructor>;
Operator new digunakan untuk melakukan instansiasi class, selain itu operator ini juga
mengalokasikan memori untuk objek yang telah dibuat dan mengembalikan alamat dari
sebuah memori. Arti instansiasi sama artinya dengan membuat objek. Ketika dibuat objek
berarti menginstance sebuah class atau instansiasi class. Contoh instansiasi dari sebuah
class dapat dilihat di bawah ini,
Mobil m1 = new Mobil();
Operator new diatas membutuhkan argumen postfix tunggal yaitu memanggil constructor.
Untuk contoh class Mobil diatas, tidak mendefinisikan customer secara eksplisit, akan tetapi
Java telah membuatkan default constructor dari class ini.

56
Gambar 37 adalah urutan diagram state-of-memory yang menggambarkan cara kerja ketika
membuat objek dengan menggunakan default constructor dan penggunaan metode
setNoPlat() dari class Mobil.
m1
Mobil m1;

Mobil m1; .
m1

m1 = new Mobil();
Mobil

noPlat=0

Mobil m1; .
m1

m1 = new Mobil();
Mobil
setNoPlat(12345);
noPlat =12345

Gambar 39 Ilustrasi Urutan Pembuatan Objek Pada Class Mobil

8. Tipe Data Reference


Kelebihan pemrograman berorientasi objek adalah dapat mendefinisikan tipe data baru yang
merupakan objek dari class tertentu. Tipe data ini digunakan untuk mereferensikan objek
atau class tertentu, seperti tipe data String. Tanda " ", mengindikasikan bahwa itu adalah
tipe data String.
 Variabel referensi digunakan dengan menggunakan constructor dari class, dan
digunakan untuk mengakses objek. Variabel ini dideklarasikan untuk menjadi tipe
spesifik yang tidak bisa diubah.
 Class objek dan berbagai tipe array termasuk dalam tipe data referensi.
 Nilai default dari variabel referensi apapun adalah null.
 Suatu variabel referensi dapat digunakan untuk mengacu pada objek apapun dari tipe
yang dideklarasikan atau tipe apapun yang kompatibel.
Bentuk secara umum sintak pembuatan objek bertipe variabel reference sebagai berikut,

57
<nama class>[] <nama objek> = new <constructor>[];
Contoh pembuatan objek array dengan tipe data reference dapat dilihat di bawah ini,

Mobil[] mbl = new Mobil[5];


Pernyataan di atas akan membuat array yang dapat mereferensikan dari sepuluh objek dari
class Mobil. Namun, pernyataan ini tidak membuat objek dari class itu sendiri. Objek-objek
ini harus dibuat secara terpisah menggunakan constructor dari class Mobil.
Array mbl akan memiliki lima ruang memori dimana lima objek dari class itu akan disimpan.
mbl adalah variabel referensi dari objek PersegiPanjang. Jadi ketika anda membuat array
objek dari class Mobil tersebut, sebenarnya anda lakukan adalah membuat objek bertipe
array dari variabel referensi. Perlu diingat bahwa ketika array dari objek-objek tersebut
dibuat, menggunakan operator new, maka setiap elemen dalam array adalah merupakan
variabel referensi objek dengan nilai defaultnya adalah null.
Mobil[] mbl = new Mobil[5];
Kode program dibawah ini adalah contoh pembuatan objek array,
1 import java.util.Scanner;
2 public class Mobil {
3 public String warna;
4 public int tahun;
5 Scanner inp = new Scanner(System.in);
6 Mobil[] mbl = new Mobil[2];
7 public void inputDataMobil() {
8 for (int i = 0; i < mbl.length; i++) {
9 mbl[i] = new Mobil();
10 System.out.println("------Data mobil ke-" + (i + 1) + "------");
11 System.out.print("Warna\t\t:");
12 mbl[i].warna = inp.next();
13 System.out.print("Tahun\t\t:");
14 mbl[i].tahun = inp.nextInt();
15 System.out.println("---------------------------");
16 }
17 }
18 public void infoMobil() {
19 System.out.printf("%s\t\t%s\t\n", "No.", "WARNA", "TAHUN");
20 System.out.println("---------------------------");
21 for (int i = 0; i < mbl.length; i++) {
22 System.out.printf("%s\t\t%s\t\n", (i + 1), mbl[i].warna, mbl[i].tahun);
23 }
24 System.out.println("---------------------------");
25 }

58
26 public static void main(String[] args) {
27 Mobil m1 = new Mobil();
28 m1.inputDataMobil();
29 m1.infoMobil();
30 }
31 }
Keluaran Program
------Data mobil ke-1------
Warna :Abu-Abu
Tahun :2014
---------------------------
------Data mobil ke-2------
Warna :Merah
Tahun :2017
---------------------------
No. WARNA
---------------------------
1 Abu-Abu
2 Merah
---------------------------

C. Praktikum
IDE Netbeans 8.2 digunakan untuk menulis kode program Java dan easyUML digunakan
untuk menggambar class diagram. Langkah pertama membuat project baru dengan cara:
File → New Project → Project Name: Bab4
Klik Kanan → Bab4 → New → Java Class

Latihan 1 PEMBUATAN OBJEK


Deskripsi Pembuatan tiga objek class Lingkaran melalui
metode setRadius()dan metode getLuas() untuk
menampilkan luas lingkaran dengan menggunakan
PI bertipe final double. Sedangkan class
UjiLingkaran untuk mengujicoba fungsionalitas
class.
Class Diagram dan Objek Diagram

59
Nama File Lingkaran.java
1 public class Lingkaran {
2 final double PI = 3.14159;
3 double radius;
4 public void setRadius(double r) {
5 this.radius = r;
6 }
7 public double getRadius(){
8 return radius;
9 }
10 public double getLuas() {
11 double luas=0;
12 luas = 2 * PI * radius * radius;
13 return luas;
14 }
15 public double getKeliling() {
16 return 2 * PI * radius;
17 }
18 }
Nama File UjiLingkaran.java
1 public class UjiLingkaran {
2 public static void main(String[] args) {
3 double totalKeliling;
4 Lingkaran l1 = new Lingkaran();
5 Lingkaran l2 = new Lingkaran();
6 Lingkaran l3 = new Lingkaran();
7 l1.setRadius(10);
8 l2.setRadius(25);

60
9 l3.setRadius(125);
10 System.out.println("Luas lingkaran dengan Radius :”
+l1.getRadius()+ " adalah "+l1.getLuas());
11 System.out.println("Luas lingkaran dengan Radius:"
+l2.getRadius()+ " adalah "+l2.getLuas());
12 System.out.println("Luas lingkaran dengan Radius:"
+l3.getRadius()+ " adalah "+l3.getLuas());
13 totalKeliling =
(l1.getKeliling()+l2.getKeliling()+l3.getKeliling());
14 System.out.format("Total 3 keliling lingkaran :
%.3f%n",totalKeliling);
15 }
16 }
Analisa Program
Program memuat dua class.Yang pertama, classa UjiLingkaran sebagai class utama.
Satu-satunya tujuan class ini adalah untuk menguji class Lingkaran. Ketika program ini
dijalankan system runtime JAVA akan memanggil metode main() dalam class
UjiLingkaran. Class utama memuat metode main (baris 2) yang mencipatakan tiga
objek. Sama seperti menciptakan suatu array, operator new digunakan untuk
menciptakan suatu objek pada baris 4, 5 dan 6. Ketiga objek (yang direferensikan oleh
l1, l2, dan l3) memiliki data yang berbeda tetapi metode yang sama. Pemberian data
instan variabel radius melalui metode setRadius(10), setRadius(25), dan
setRadius(125) pada baris ke-7 sd 9. Luas lingkaran dhitung menggunaan metode
getLuas(). Data apat diakses melalui refrensi objek l3.getRadius(). Objek dapat
memanggil metodenya lewat refrensi objek menggunakan l1.getLuas(),l2.getLuas(),
dan l3.getLuas(). Pada baris ke-13 variabel totalKeliling melakukan penjumlahan
terhadap keliling ketiga lingkaran melalui tiga objek yaitu dengan cara l1.getKeliling() +
l2.getKeliling() + l3.getKeliling() . Pada baris ke-14 adalah salah satu cara untuk
menampilkan bilangan riil dengan tiga angka dibelakang koma sekaligus dengan
melakukan pembulatan ” Total 3 keliling lingkaran : 1005.309”

Keluaran Program RUN > UjiLingkaran.java


Luas lingkaran dengan Radius :10.0 adalah 628.318
Luas lingkaran dengan Radius :25.0 adalah 3926.9874999999997
Luas lingkaran dengan Radius :125.0 adalah 98174.68749999999
Total 3 keliling lingkaran : 1005.309

61
Latihan 2 DEFINISI CLASS DAN OBJEK
Deskripsi Pembuatan instan variabel, metode mutator,
metode asessor, constructor, dan pembuatan
objek dari class Mobil, sedangkan class
RegistrasiMobil berisi metode main() yang
digunakan membuat objek dan implemetasi alur
program.
Class Diagram

Nama File Mobil.java


1 public class Mobil {
2 int noPlat;
3 String warna;
4 String manufaktur;
5 int tahun;
6 void Mobil() {
7 }
8 public void setNoPlat(int no) {
9 noPlat = no;
10 }
11 public int getNoPlat() {
12 return noPlat;
13 }

62
14 public void setWarna(String w) {
15 warna = w;
16 }
17 public String getWarna() {
18 return warna;
19 }
20 public void setManufaktur(String m) {
21 manufaktur = m;
22 }
23 public String getManufaktur() {
24 return manufaktur;
25 }
26 public void setTahun(int t) {
27 tahun = t;
28 }
29 public int getTahun() {
30 return tahun;
31 }
32 }
Nama File RegistrasiMobil.java
1 public class RegistrasiMobil {
2 public static void main(String args[]) {
3 Mobil m1 = new Mobil();
4 m1.setNoPlat(12345);
5 m1.setWarna("Abu-Abu Metalik");
6 m1.setManufaktur("SUZUKI");
7 m1.setTahun(2015);
8 System.out.println("----------DATA MOBIL----------");
9 System.out.println("No Plat :"+m1.getNoPlat());
10 System.out.println("Warna Mobil:"+m1.getWarna());
11 System.out.println("Mrk Mobil :"+m1.getManufaktur());
12 System.out.println("Tahun :"+m1.getTahun());
13 System.out.println("------------------------------");
14 }
15 }
Analisa Program
class Mobil mempunyai data atau atribut yang dideklarasikan mulai baris ke-2 sampai
dengan baris ke-5. Semua atributnya mempunyai modifier private sehingga hanya bisa
diakses oleh class Mobil saja. Default constructor dideklarasikan dari baris ke-6 sampai
baris ke-7. Metode mutator dan assesor dideklarasikan mulai dari baris ke-8 sampai baris

63
ke-31. Sebagai contoh metode mutator adalah pada baris ke-8 sd. Baris ke-10 public
void setNoPlat(int no)dan metode assesor pada baris ke-11 sd. baris ke-13 yaitu
public int getNoPlat().
class RegistrasiMobil dimulai dari baris ke-1 sampai dengan baris ke-15, yang di
dalamnya juga terdapat metode utama yaitu public static void main(String[]
args) sehingga compilier menjalankan aplikasi atau kode program dimulai dari baris ke-
3 yaitu pembuatan sebuah objek dari class Mobil yang bernama m1. Selanjutnya melalui
objek m1, metode-metode pada class Mobil dapat diakses. Misalnya, pada baris ke-4
objek m1 memanggil metode setNoPlat(12345) sehingga data 12345 akan dikirim ke
instan variabel noPlat pada class Mobil. Demikian seterusnya objek m1 bekerja dengan
cara yang sama untuk metode mutator yang tersedia. Pada baris ke-9 melalui standar
output objek m1 metode getNoPlat() dapat menampilkan informasi No Plat
:12345.Demikian seterusnya compiler akan menterjemahkan setiap baris sampai pada
baris ke-15, sehinggan menghasilkan tampilan output seperti berikut ini.

Keluaran Program RUN > RegistrasiMobil.java


-------------DATA MOBIL--------------
No Plat :12345
Warna Mobil :Abu-Abu Metalik
Mrk Mobil :SUZUKI
Tahun :2015
-------------------------------------

Latihan 3 PEMBUATAN MULTI CLASS DAN MULTI OBJEK


Deskripsi Program ini membuat multi objek dari class
Mobil dengan menggunakan objek yang bertipe
array.
Class Diagram

64
Nama File Mobil.java
1 import java.util.Scanner;
2 public class Mobil {
3 public int noPlat;
4 public String warna;
5 public String manufaktur;
6 public int tahun;
7 Scanner inp = new Scanner(System.in);
8 int n;
9 Mobil[] mbl;
10 Pelanggan pl = new Pelanggan("Eljava", 12345);
11 public void inputDataMobil() {
12 System.out.print("Masukan Jumlah Mobil : ");
13 n = inp.nextInt();
14 mbl = new Mobil[n];
15 for (int i = 0; i < mbl.length; i++) {
16 mbl[i] = new Mobil();
17 System.out.println("----Data mobil ke-" + (i + 1)
+ "-----");
18 System.out.print("Nomor Plat\t:");
19 mbl[i].noPlat = inp.nextInt();
20 System.out.print("Warna\t\t:");
21 mbl[i].warna = inp.next();
22 System.out.print("Manufaktur\t:");
23 mbl[i].manufaktur = inp.next();
24 System.out.print("Tahun\t\t:");

65
25 mbl[i].tahun = inp.nextInt();
26 System.out.println("--------------------------");
27 }
28 }
29 public void infoMobil() {
30 for (int i = 0; i < n; i++) {
31 System.out.printf("%s\t\t%s\t%s\t\t%s\n",
32 mbl[i].noPlat, mbl[i].warna,
33 mbl[i].manufaktur, mbl[i].tahun);
34 }
35 }
36 public void cekMobil() {
37 for (int i = 0; i < n; i++) {
38 if (mbl[i].noPlat == pl.getKode()) {
39 pl.infoPelanggan();
40 System.out.printf("adalah pemilik Mobil %s
Warna %s\n", mbl[i].manufaktur
,mbl[i].warna);
41 }
42 }
43 }
Nama File Pelanggan.java
1 public class Pelanggan {
2 public String nama;
3 public int kode;
4 public Pelanggan(String nm , int kd){
5 this.nama = nm;
6 this.kode = kd;
7 }
8 public void infoPelanggan(){
9 System.out.printf("Nama:%s dengan Kode Pelangan :
%s\n",nama,kode);
10 }
11 }
Nama File RegistrasiMobil.java
1 public class RegistrasiMobil {
2 public static void main(String args[]) {
3 Mobil m1 = new Mobil();
4 m1.inputDataMobil();
5 System.out.println("--------DATA MOBIL------------");
6 System.out.printf("%s\t\t%s\t%s\t%s\t\n", "No.PLAT",
"WARNA", "PABRIKAN", "TAHUN");

66
7 System.out.println("------------------------------");
8 m1.infoMobil();
9 System.out.println(“------------------------------");
10 System.out.println("Proses Identifikasi....");
11 m1.cekMobil();
12 System.out.println("--------Terima Kasih----------");
13 }
14 }
Analisa Program
class Pelanggan mempunyai data atau atribut yang dideklarasikan mulai baris ke-2
sampai dengan baris ke-3. Semua atributnya mempunyai modifier private sehingga hanya
bisa diakses oleh class Pelanggan saja. Constructor Pelanggan mempunyai dua parameter
nama dan kode dan sebuah metode infoPelanggan digunakan untuk menampilkan data
nama dan kode yang dikirim melalui constructor Pelanggan().
Pada class Mobil memerlukan Class Scanner yang digunakan untuk membaca
data dari keyboard sehinggan diperlukan import java.util.Scanner.Class
Mobil mempunyai data atau atribut yang dideklarasikan mulai baris ke-2 sampai dengan
baris ke-5. Semua atributnya mempunyai modifier private sehingga hanya bisa diakses
oleh class Mobil saja. Pembuatan sebuah objek pl pada baris ke-10 Pelanggan pl =
new Pelanggan("Eljava", 12345),digunakan untuk melakukan verifikasi data
pada metode cekMobil() pada baris ke-36 sampai baris 42.
class RegistrasiMobil dimulai dari baris ke-1 sampai dengan baris ke-14, yang di
dalamnya juga terdapat metode utama yaitu public static void main(String[]
args) sehingga compilier menjalankan aplikasi atau kode program dimulai dari baris ke-
3 yaitu pembuatan sebuah objek dari class Mobil yang bernama m1. Selanjutnya melalui
objek m1, metode-metode pada class Mobil dapat diakses. Misalnya, pada baris ke-4
objek m1 memanggil metode inputDataMobil() yang memerlukan interaksi dengan
pengguna melalui keyboard. Demikian seterusnya objek m1 memanggil metode
infoMobil() kemudian memanggil metode cekMobil().Demikian seterusnya compiler akan
menterjemahkan setiap baris sampai pada baris ke-14, sehinggan menghasilkan tampilan
output seperti berikut ini.

Keluaran Program RUN > RegistrasiMobil.java


Masukan Jumlah Mobil : 2

67
------Data mobil ke-1------
Nomor Plat :12345
Warna :Abu-Abu
Manufaktur :Suzuki
Tahun :2014
---------------------------
------Data mobil ke-2------
Nomor Plat :67891
Warna :Hitam
Manufaktur :Toyota
Tahun :2017
---------------------------
------------------DATA MOBIL-------------------
No.PLAT WARNA PABRIKAN TAHUN
-----------------------------------------------
12345 Abu-Abu Suzuki 2014
67891 Hitam Toyota 2017
-----------------------------------------------
Proses Identifikasi....
Nama : Eljava dengan Kode Pelangan : 12345
adalah pemilik Mobil Suzuki Warna Abu-Abu
-----------------Terima Kasih-----------------

D. Tugas

Buatlah program Java dengan menggunakan IDE NetBeans 8.2 dengan membuat
package baru pada projek Bab4, dengan cara:
Klik Kanan → Bab4 → New → Java Package → Package Name:tugas

Tugas Projek1
Desainlah suatu class bernama CPU, Monitor, dan Printer yang memuat :
 Class CPU mempunyai data String merk dan int kecepatan dan gunakan
metode mutator dan asesor, selain itu juga mempunyai metode dispSpecCPU()

68
yang bertipe void untuk menampilkan data membernya. Gunakan constructor
CPU dengan dua parameter untuk membuat sebuah objek class CPU.
 Class Monitor mempunyai data String merk dan int resolusi dan gunakan
metode mutator dan asesor, selain itu juga mempunyai metode
dispSpecMonitor() yang bertipe void untuk menampilkan data membernya.
Gunakan constructor Monitor dengan dua parameter untuk membuat sebuah
objek class Monitor.
 Class Printer mempunyai data String merk dan String tipePrinter dan
gunakan metode mutator dan asesor, selain itu juga mempunyai metode
dispSpecPrinter() yang bertipe void untuk menampilkan data membernya.
Gunakan constructor Printer dengan dua parameter untuk membuat sebuah
objek class Printer.
 Suatu bidang data privat double bernama radius yang menentukan radius kipas
(nilai default 5)
Buatlah suatu program uji yang menciptakan satu tiga objek dari masing-masing class
CPU, Monitor, dan Printer. Tampilkan ketiga objek dengan memanggil metode
dispSpecCPU(), dispSpecMonitor(), dan dispSpecPrinter().

Class Diagram

cu : CPU mn : Monitor pr : Printer

69
Nama File CPU.java
Monitor.java
Printer.java
Komputer.java

E. Rangkuman
Class adalah sturktur dasar dari pemrograman berorientasi objek. Class terdiri dari dua tipe
dari anggota dimana disebut dengan field (attribut/properti) dan method. Field merupakan
tipe data yang didefinisikan oleh class, sementara metode merupakan operasi.
Objek merupakan suatu entitas yang mampu menyimpan informasi (status) dan mempunvai
operasi (kelakuan) yang dapat diterapkan atau dapat berpengaruh pada status objeknya.
Objek mempunyai siklus hidup yaitu diciptakan, dimanipulasi, dan dihancurkan.
Class Diagram class dibuat agar pembuat program atau programmer membuat class-class
sesuai rancangan di dalam diagram class agar antara dokumentasi perancangan dan
perangkat lunak sinkron.
Sebuah metode adalah bagian-bagian kode yang dapat dipanggil oleh class, badan program
atau method lainnya untuk menjalankan fungsi yang spesifik di dalam class.
Constructor adalah suatu metode yang pertama kali dijalankan pada saat pembuatan suatu
objek. Constrctor mempunyai ciri-ciri sebagai berikut: mempunyai nama yang sama dengan
nama class,tidak mempunyai return type (seperti void, int, double, dan lain-lain).boleh
mempunyai parameter biasanya digunakan untuk inisilisasi (menyiapkan) data untuk class.
Operator new digunakan untuk melakukan instansiasi class, selain itu operator ini juga
mengalokasikan memori untuk objek yang telah dibuat dan mengembalikan alamat dari
sebuah memori. Kelebihan pemrograman berorientasi objek adalah dapat mendefinisikan
tipe data baru yang merupakan objek dari class tertentu
Variabel referensi digunakan dengan menggunakan constructor dari class, dan digunakan
untuk mengakses objek. Variabel ini dideklarasikan untuk menjadi tipe spesifik yang tidak
bisa diubah

70
PENULIS

Eko Subiyantoro adalah widyaiswara di BBPPMPV BOE-VEDC Malang di


Departemen Teknologi Informasi. Lahir di Banyuwangi pada tahun 1975.
Pendidikan SD, SMP, dan STM (sekarang SMK)
diselesaikan di kota kelahirannya. Selanjutnya ia
menyelesaikan S1 di Program Studi Pendidikan Teknik
Elektronika FPTK IKIP Yogyakarta (sekarang UNY) pada
tahun 1998. Sarjana Sains Terapan (SST) diperolehnya
melalui program beasiswa Dikmenjur (sekarang Direktorat
Pembinaan Sekolah Menengah Kejuruan) di PENS ITS
Surabaya pada tahun 2002 pada Prodi Teknologi Informasi
dengan predikat cum laude. Magister Teknik diperolehnya
melalui program beasiswa unggulan BPKLN di ITS
Surabaya Program Studi Teknik Elektro konsentrasi Jaringan Cerdas Multimedia
pada tahun 2009 juga dengan predikat cum laude. Doktor diperolehnya juga
melalui beasiswa unggulan bagi pegawai Kemdikbud di Prodi S3 Ilmu Komputer
FMIPA Universitas Gadjah Mada.
Pengalaman luar negeri diperolehnya melalui program Inwent dari pemerintah
Jerman pada tahun 2003 dalam program Advance Automation Training. Selain itu,
pada tahun 2006 mengikuti Expert Program Maintenance and Repair di Abha
College Kingdom of Saudi Arabia (KSA). Selanjutnya pada tahun 2013 melalui IGI
kerja sama Indonesia–Jerman diikutkan dalam program Modern Management
School di Kassel Jerman.
Penulis memiliki pengalaman kerja di PPPPTK BOE/VEDC Malang sebagai Kepala
Departemen Teknologi Informasi selama 2 periode 2010–2013 dan 2013–2015.
Selain itu juga sebagai tim pengembang Java Education Network Indonesia (JENI),
sebuah sistem yang diinisiasi BPKLN Kemdikbud dalam kurun waktu tahun 2007–
2009. Sertifikasi yang diperoleh dalam bidang pemrograman adalah Sun Certified
Java Programmer (SCJP) pada tahun 2008.
Eko Subiyantoro dapat dihubungi melalui alamat e-mail ekovedc@gmail.com

71
DAFTAR PUSTAKA

Budi Laksaono Putro dkk, Pemrograman Berorientasi Obyek. Politeknik Telkom


Christian Musnter, Java 2 JDK 5 –Grundlagen , Herdt – Verlag forbildungsmedien Gagh,
Bodenheilm, 2006
C. Thomas wu, An Introduction to Object- Oriented Programming with Java, McGraw
Hill 2001
Deitel, Java : How to Program , Prentice Hall, New jersey, 2002
Joyce Avestro , Introduction Programming 1, Java Education Development Initiatif, 2003
Joyce Avestro , Introduction Programming 2, Java Education Development Initiatif, 2003
Patric Noughton , The Java Handbook, McGrawHill, Inc, 2006
R.H.Sianipar , Teori dan Implementasi Java, Informatika Bandung, 2013
Yusril Maulidan Raji dkk, Modul Praktikum Objek Oriented Programming, Telkom
University

72
73

Anda mungkin juga menyukai