Anda di halaman 1dari 25

BAB I

Pendahuluan
Tujuan :

 Memahami bagaimana cara membandingkan obyek kelas, dan memakai wrapper class
 Memahami pemakaian static dan final
 Memahami abstract, interface, nested dan inner class.
 Memahami bagaimana cara membangun aplikasi berbasis GUI.

Uraian Teori :

Java adalah salah satu bahasa pemrograman yang bersifat open source yang
merupakan produk dari Sun Microsystem dan sekarang di pegang oleh oracle. Bahasa Java
adalah bahasa modern yang telah diterima masyarakat komputasi dunia. Hampir semua
perusahaan perangkat lunak dan komputer besar mendukung dan mengembangkan aplikasi
sistem berbasis Java.

Java adalah salah satu bahasa pemrogaman Multiplatform (Bisa berjalan di berbagai
macam sistem operasi) karena pada dasarnya java mempunyai Jre (java runtime
environment) atau dapat kita artikan sebagai mesin tersendiri untuk mengeksekusi binary
code hasil dari compilasi program yang telah kita buat, berbeda dengan bahasa
pemrograman vb, c++ yang memanfaatkan komponen sistem dalam Windows untuk
mengeksekusi binary code hasil kompilasi program.

Kali ini saya ingin menjelaskan beberapa hal tentang penggunaan dalam java. Wrapper
class adalah tipe data bawaan java yang berupa object, setiap tipe data primitif mempunyai
wrapper class, walaupun berupa class variable yang memegang objectnya bukanlah variable
reference. Static adalah variable atau method yang dideklarasikan dengan perintah static
dapat dipanggil langsung tanpa perlu membuat instance dari class tersebut. Final adalah

1
perintah final jika digunakan pada class maka class tersebut tidak bisa diturunkan dan bila
digunakan pada method maka tidak bisa dilakukan overriding pada method tersebut.
Abstract class adalah kelas yang terletak pada posisi tertinggi pada hierarki kelas. Kelas
ini digunakan sebagai basis bagi penurunan kelas lainnya, sehingga abstract class tidak dapat
diinstansiasi secara langsung menjadi object. Interface adalah kumpulan method yang hanya
memuat deklarasi dan struktur method, tanpa detail implementasinya. Nested Class adalah
class yang didefinisikan di dalam class lain. Nested class dibagi ke dalam dua kategori, static
dan non-static class. static class disebut dengan static nested class dan non-static class
disebut inner class. Inner class dapat diakses melalui objek dari outer class. contoh untuk
menciptakan objek dari sebuah inner class. Untuk penjelasan lebih lengkapnya, silahkan baca
lebih lanjut.

2
BAB II
Pemrograman Java

Kelas Lanjut 1

Wrapper Class

A. Pengertian
Wrapper class adalah tipe data bawaan java yang berupa object, setiap tipe data
primitif mempunyai wrapper class, walaupun berupa class variable yang memegang
objectnya bukanlah variable reference, artinya jika ada dua variable memegang nilai yang
sama, satu variable berubah maka nilai variable lain tidak ikut berubah yang disebut sifat
immutable.
Tipe Data Primitif Wrapper Class
byte Byte
short Short
int Integer
long Long
float Float
double Double
boolean Boolean
char Character
String String
selain String semua Wrapper Class tidak bisa langsung diberi nilai literal perlu proses
konversi.

 Interger x = new Integer(10);


 int i = x.intValue();
 long l = 100l;
 Long y = Long.valueOf(l);
 int i = Integer.parseInteger("100");

3
Konversi tipe data Wrapper tidak bisa dilakukan casting seperti tipe data primitif
karena Wrapper Class merupakan class. Casting dalam class hanya bisa dilakukan jika
ada hubungan inheritance di antara kedua class.

B. Contoh Program
Syntax:

Output:

Syntax:

Output:

4
Static dan Final Keyword

A. Pengertian
Static adalah variable atau method yang dideklarasikan dengan perintah static dapat
dipanggil langsung tanpa perlu membuat instance dari class tersebut.
Final adalah perintah final jika digunakan pada class maka class tersebut tidak bisa
diturunkan dan bila digunakan pada method maka tidak bisa dilakukan overriding pada
method tersebut.
B. Contoh Program
Syntax:

Output:

Syntax:

Output:

5
Kelas Lanjut 2

Abstract Class

A. Pengertian
Abstract class adalah kelas yang terletak pada posisi tertinggi pada hierarki kelas. Kelas
ini digunakan sebagai basis bagi penurunan kelas lainnya, sehingga abstract class tidak dapat
diinstansiasi secara langsung menjadi object. Suatu abstract class bisa mengandung method
kongkrit dan/atau method abstract. Abstract method meruapakan suatu method yang tidak
mempunyai badan method. Hanya berupa nama method dan parameter inputan method.
Ketika suatu abstract class diturunkan/ di-extends, maka subclass harus
mengimplementasikan semua method abstract pada parent/ base class. Jika tidak
mengimplementasikan semua method abstract maka subclass harus dideklarasikan sebagai
abstract class.
Beberapa hal yang perlu diperhatikan adalah sebagai berikut:
1. Class abstrak tidak dapat dibuatkan instan atau objeknya menggunakan keyword new.
2. Sebuah class dapat dideklarasikan sebagai class abstrak walaupun tidak memiliki method
abstrak.
3. Variabel dengan tipe class abstrak tetap bisa diciptakan, tetapi harus refer ke subclass dari
class abtrak tersebut yang tentunya tidak abstrak.

6
B. Contoh program
Syntax:

7
Output :

Interfaces

A. Pengertian
Interface adalah kumpulan method yang hanya memuat deklarasi dan struktur method,
tanpa detail implementasinya. Sedangkan detail dari method berada pada class yang
mengimplementasikan interface tersebut. Interface digunakan bila Anda ingin
mengaplikasikan suatu method yang spesifik, yang tidak diperoleh dari proses inheritance.
Tipe data yang boleh pada interface hanya tipe data konstan.
Interface dibutuhkan karena alasan ini:
 Memecahkan bagian yang rumit dan spesifik. Dengan menggunakan class atau interface
oleh vendor maka dalam pembuatan perangkat lunak menjadi lebih cepat.
 Keterbatasan inheritance pada Java. Interface menjawab kebutuhan untuk melakukan
multiple inheritance.

8
B. Contoh Program
Syntax:

9
Output:

Beberapa perbedaan Abstract Class dan Interfaces :


Abstract Class Interfaces

Bisa mendefinisikan dan mengimplementasikan Hanya bisa mendefinisikan Method.


Method.
Boleh terdiri dari Field atau property. Tidak boleh terdiri dari Field atau property.
Abstract class boleh terdiri dari konstruktor dan Interface tidak boleh terdiri dari konstruktor
destructor. dan destructor.
Bisa berisi abstract dan non-abstract method. Hanya boleh berisi abstract method.
Tidak perlu menulis public abstract di depan
nama method. Karena secara implisit,
Kita harus menuliskan sendiri modifiernya.
modifier untuk method di interface
adalah public dan abstract.
Hanya bisa mendeklarasikan constant.
Bisa mendeklarasikan constant dan instance Secara implisit variable yang
variable. dideklarasikan di interface
bersifatpublic, static dan final.

Method boleh bersifat static dan final. Method tidak boleh bersifat static dan final.
Suatu abstact class hanya bisa meng-extend satu Suatu interface bisa meng-extend satu atau
abstract class dan meng-implement beberapa lebih interface lainnya dan tidak bisa meng-
interface. implement class atau interface lainnya.
Dapat memiliki tipe data dengan semua tipe
Tipe datanya hanya berupa konstanta.
data.

10
Nested dan Inner Class

A. Pengertian

Nested Class adalah class yang didefinisikan di dalam class lain. Nested class dibagi ke
dalam dua kategori, static dan non-static class. static class disebut dengan static nested class
dan non-static class disebut inner class. Class yang mendefinisikan nested class
disebut Outer class. Nested class merupakan anggota dari Outer class. Sama seperti method()
dan variable, sebuah nested class dapat di deklarasikan sebagai private, protected, default,
atau public. Tidak seperti Outer class yang hanya dapat di deklarasikan sebagai default
atau public saja, sehingga penggunaan nested class dapat meningkatkan enkapsulasi pada
class.
Mengakses Nested Class:

 static nested class: untuk mengakses static nested class dilakukan dengan cara
memanggil nama dari class luar (Outer class).
 inner class: inner class dapat diakses melalui objek dari outer class. contoh untuk
menciptakan objek dari sebuah inner class, pertama kita harus menciptakan objek
dari outer class, kemudian buat objek inner class menggunakan objek dari outer
class.
B. Contoh Program
Syntax:

11
Output:

Syntax:

12
Output:

13
Membangun Aplikasi GUI

AWT Component

A. Pengertian

AWT (Abstract Window Toolkit) adalah GUI Toolkit pertama pada bahasa pemrograman
Java, sayang-nya AWT ini sangat-sangat kekurangan komponen yang biasa digunakan untuk
membangun sebuah aplikasi desktop secara lengkap (komponen tabel saja tidak ada )
Terlepas dari kurang-nya komponen GUI yang terdapat pada AWT (Abstract Window
Toolkit), aplikasi yang dibangun menggunakan AWT (Abstract Window Toolkit) akan
tampak seperti aplikasi native. Maksudnya yaitu, jika aplikasi yang dibangun menggunakan
AWT (Abstract Window Toolkit) ini dijalankan pada Sistem Operasi Windows. Maka
aplikasi ini akan terlihat seperti aplikasi Windows pada umum-nya, dan begitu juga jika
dijalankan pada Sistem Operasi Mac ataupun GNU/Linux. Kenapa ini bisa terjadi, karena
AWT (Abstract Window Toolkit) ini benar-benar memanggil native subrutin untuk
menggambar setiap komponen-nya ke layar.
AWT atau Abstract Window Toolkit adalah salah satu platform-independent Java untuk
windowing, graphics, dan user-interface widget toolkit. Saat ini, AWT sudah termasuk ke
dalam bagian dari Java Foundation Classes (JFC), yaitu standar API untuk pemrograman
Java berbasis GUI. AWT merupakan GUI toolkit untuk beberapa profile Java ME, seperti
konfigurasi alat yang terhubung meliputi Java runtimes pada mobile telephone untuk
mendukung AWT.
Ketika Java pertama kali dirilis oleh Sun Microsystems pada tahun 1995, komponen
AWT memberikan tingkat abstraksi yang tipis yang mendasari interface pengguna.
Contohnya, menciptakan checkbox AWT akan menyebabkan pemanggilan langsung
subroutine yang mendasari pembuatan checkbox. Program GUI yang ditulis dengan
menggunakan AWT tampak seperti aplikasi asli ketika dijalankan pada sistem operasi yang
menjalankan aplikasi tersebut.
Komponen yang berfungsi sebagai kontainer, yaitu yang dapat mengandung komponen
lain, diturunkan dari kelas java.awt.Container. Container sendiri diturunkan dari
java.awt.Component.

14
a. Kekurangan AWT
· Bersifat heavyweight.
· Bersifat Opaque (tidak transparan)
b. Kelebihan AWT
· Didukung oleh browser kuno maupun baru, karena paket ini telah diimplementasikan
sejak lama.
Beberapa Contoh Kompenen AWT yang berada dalam di dalam package javax.awt
Komponen Keterangan
Tombol yang jika ditekan akan
java.awt.Button
mengerjakan instruksi tertentu
Tombol berbentuk kotak yang dapat
java.awt.CheckBox
di-check atau n-check
Menu yang terdiri dari beberapa
java.awt.Choice
pilihan
Untuk meletakkan teks statis dan
java.awt.Label
tidak dapat diedit
Untuk menyajikan beberapa pilihan
java.awt.List teks dalam satu daftar yang dapat di-
scroll (gulung)
Menyediakan space untuk
java.awt.Panel meletakkan komponen atau panel
lainnya
Untuk memilih nilai dalam range
java.awt.Scrollbar
tertentu
Untuk menampilkan teks multi-line
java.awt.TextArea
dan dapat diedit.

AWT menyediakan dua tingkat API, yaitu :


1. Interface umum antara Java dengan sistem asli, digunakan untuk windowing, layout
manager. API ini merupakan inti dari pemrograman Java GUI dan juga digunakan oleh
Swing dan Java 2D yang berisi :

15
a. Interface antara sistem windowing asli dan aplikasi Java.
b. Inti dari event subsistem GUI.
c. Beberapa layout manager.
d. Interface untuk perangkat input seperti mouse dan keyboard.
e. Paket java.awt.datatransfer untuk digunakan dengan clipboard dan Drag and Drop.
2. Satu set dasar komponen GUI seperti button, textbox, dan menu juga menyediakan
interface dasar AWT, yang memingkinkan librari reader dikompilasi ke kode asli untuk
langsung menarik ke AWT canvas permukaan objek gambar.
AWT juga membuat beberapa fungsionalitas tinggi yang tersedia untuk aplikasi, seperti :
a. Akses ke sistem tray pada sistem pendukung.
b. Kemampuan untuk meluncurkan beberapa fasilitas aplikasi desktop seperti browser
web dan klien email dari aplikasi.
Baik AWT ataupun Swing secara inherent aman, karena kode yang meng-update GUI
harus dijalankan pada thread event pengirim. Kegagalan untuk mengatasi masalah inni, kelas
utilitas bernama SwingWorker memingkinkan aplikasi untuk melakukan tugas-tugas yang
memakan waktu mengikuti acara-interaksi pengguna di thread acara pengirim.
B. Contoh Program
Syntax :

16
Output:

Syntax:

17
Output:

Pembuatan Menu, Menubar, Menu item

A. Pengertian
Menu merupakan sebuah daftar dalam sebuah aplikasi yang menyediakan pilihan untuk
dapat digunakan sesuai dengan yang diinginkan oleh pengguna. Melalui menu, anda dapat
dengan mudah menjalankan atau menggunakan aplikasi yang sudah berisi daftar menu
pilihan. Maka dari itu, tentu saja pembuatan menu menjadi bagian yang cukup penting dalam
pembuatan sebuah aplikasi.

Berikut saya akan tunjukkan pembuatan menu secara sederhana, dengan memanfaatkan
constructor JMenuBar, JMenu, serta JMenuItem. JFrame Form adalah form yang dapat
berdiri tunggal. maksudnya ketika dipanggil, icon JFrame akan tampil tersendiri pada bagian
running app di TaskBar. DefaultCloseOperation yang dimiliki JFrame adalah Exit On Close
yang artinya dapat melakukan exit pada aplikasi jika dilakukan close pada JFrame tersebut.
JDialog Form dimiliki oleh form yang memanggilnya. bisa dikatakan, JDialog itu seperti
form anak dari form yang memanggilnya. kita tidak bisa kembali pada form sebelumnya,
jika JDialog yang kita panggil belum di Close. DefaultCloseOperation yang dimiliki oleh
JDialog adalah Dispose. artinya hanya melakukan close pada dirinya sendiri, sehingga
aplikasi tetap berjalan sebagai mana mestinya.

18
B. Contoh Program
Syntax:

Output:

19
Pembuatan Aplikasi berbasis GUI

A. Pengertian

Java menyediakan API untuk membuat aplikasi GUI (Graphic User Interface). GUI
merupakan suatu aplikasi pada Java yang berbasis grafik. Pertimbangan untuk menggunakan
aplikasi GUI ini antara lain adalah tampilan yang lebih menarik dan kemudahan dalam
penggunaannya. Tampilan yang atraktif akan menarik orang untuk menggunakannya,
sedangkan dari segi kemudahan akan membuat konsumen merasa nyaman dalam
menggunakan program yang telah dibuat. Ada tiga package yang disediakan Java dalam
pembuatan aplikasi GUI, yaitu AWT ,SWT dan Swing.

1. AWT (Abstract Window Toolkit)


Abstract Window Toolkit adalah GUI Toolkit pertama pada bahasa pemrograman Java,
sayang-nya AWT ini sangat-sangat kekurangan komponen yang biasa digunakan untuk
membangun sebuah aplikasi desktop secara lengkap (komponen tabel saja tidak ada )
Terlepas dari kurang-nya komponen GUI yang terdapat pada AWT (Abstract Window
Toolkit), aplikasi yang dibangun menggunakan AWT (Abstract Window Toolkit) akan

20
tampak seperti aplikasi native. Maksudnya yaitu, jika aplikasi yang dibangun menggunakan
AWT (Abstract Window Toolkit) ini dijalankan pada Sistem Operasi Windows. Maka
aplikasi ini akan terlihat seperti aplikasi Windows pada umum-nya, dan begitu juga jika
dijalankan pada Sistem Operasi Mac ataupun GNU/Linux. Kenapa ini bisa terjadi, karena
AWT (Abstract Window Toolkit) ini benar-benar memanggil native subrutin untuk
menggambar setiap komponen-nya ke layar.
2. SWING
SWING adalah package lainnya dalam JAVA yang dapat digunakan untuk membuat
aplikasi berbasis grafik. Swing mempunyai beberapa komponen untuk pembuatan aplikasi
GUI antara lain button, checkbox, textfield, radio button, progress bar, tabel, menu, dan text
area.
Komponen swing bersifat lightweight, yaitu komponen dapat ditampilkan sama pada
sistem operasi multi-platform. Semua komponen pada Swing diawali dengan huruf “J”,
misalnnya Jbutton, JtextArea, Jlabel. Semua class pada Java Swing diambil dari package
javax.swing.
Beberapa Contoh Kompenen Swing yang berada dalam di dalam package javax.swing
Component Keterangan
javax.swing.JButton Push-Button atau tombol yang
jika ditekan akan mengerjakan
instruksi tertentu
javax.swing.JRadioButton Button untuk menampilkan
keadaaan select atau deselect
javax.swing.JCheckBox Tombol berbentuk kotak yang
dapat di-check atau n-check
javax.swing.JLabel Untuk meletakkan teks atau
image
javax.swing.JTextField Untuk mengedit satu baris teks
javax.swing.JTextArea Untuk menampilkan teks multi-
line dan dapat diedit oleh user.
javax.swing.JMenuBar Untuk menapilkan menu dalam

21
frame
java.swing.JTabel Menampilkan dan mengedit tabel

3. Standard Widget Toolkit (SWT)


Standard Widget Toolkit adalah toolkit bersaing yang awalnya dikembangkan oleh IBM
dan kini dikelola oleh komunitas Eclipse. Implementasi SWT yang memiliki lebih banyak
kesamaan dengan komponen kelas AWT. SWT merupakan pemecahan masalah yang
terdapat pada rangka kerja AWT dan Swing.
Ada beberapa blok penyusun aplikasi SWT, yaitu :
1. Display
Display bertugas untuk mengatur perulangan event (dari keyboard atau mouse) dan
mengatur komunikasi antara thread UI dan thread lainnya.
2. Shell
Shell adalah jendela di mana aplikasi berjalan. Setiap aplikasi SWT memiliki paling tidak
satu Display dan satu atau lebih instansi Shell.

 Memiliki 2 constructor, yaitu :


 JFrame() atau JFrame(String): judul title
 Method yang ada dalam class ini adalah :
 setTitle(String): judul title
 setSize(int, int) : panjang dan lebar kotak
 Default frame ketika dibuat adalah invisible, maka setelah selesai di set, selanjutnya
frame di displaykan dengan method : show() atau setVisible(true)
 Normal behavior dari frame ketika ditekan tombol close adalah “keep running the
application” .
 Untuk merubahnya, digunakan method setDefaultCloseOperation() dengan pilihan
argument dan operasi sbb :
 EXIT_ON_CLOSE : Keluardari program
 DISPOSE_ON_CLOSE :Close & Dispose frame, tetapi aplikasi tetap berjalan
 DO_NOTHING_ON_CLOSE :Frame tetap terbuka & aplikasi tetap berjalan
 HIDE_ON_CLOSE : Frame ditutup &aplikasi tetap berjalan

22
 Jika frame tersebut bertindak sebagai user interface utama, maka perilaku yang umumnya
diharapkan adalah EXIT_ON_CLOSE

B. Contoh Program

Syntax:

Output:

23
BAB III
Penutup

A. KESIMPULAN
Dari pembahasan pada BAB II, penarik menarik kesimpulan bahwa :
1. Kelas Lanjut 1 terdiri dari :
 Wrapper class adalah tipe data bawaan java yang berupa object, setiap tipe data
primitif mempunyai wrapper class, walaupun berupa class variable yang memegang
objectnya bukanlah variable reference.
 Static adalah variable atau method yang dideklarasikan dengan perintah static dan
Final adalah perintah final jika digunakan pada class maka class tersebut tidak bisa
diturunkan.
2. Kelas Lanjut 2 terdiri dari :
 Abstract class adalah kelas yang terletak pada posisi tertinggi pada hierarki kelas.
Kelas ini digunakan sebagai basis bagi penurunan kelas lainnya, sehingga abstract
class tidak dapat diinstansiasi secara langsung menjadi object.
 Interface adalah kumpulan method yang hanya memuat deklarasi dan struktur
method, tanpa detail implementasinya. Interface digunakan bila Anda ingin
mengaplikasikan suatu method yang spesifik, yang tidak diperoleh dari proses
inheritance.
 Nested class merupakan class yang ada di dalam class induk dan Inner Class adalah
kelas yang disisipkan di dlam kelas yang lain. fungsi kelas sisipan ini adalah
mendukung suatu proses yang akan dijalankan oleh suatu kelas utamanya.
3. Membangun aplikasi GUI terdiri dari :
 AWT (Abstract Windows Toolkit) ini adalah GUI Toolkit pertama pada bahasa
pemrograman java, jika aplikasi yang dibangun menggunakan AWT ini dijalankan
pada Sistem Operasi Windows, maka aplikasi ini akan terlihat seperti aplikasi
Windows pada umunya, itu dikarenakan AWT ini benar-benar memanggil native
subrutin untuk menggambar setiap komponennya ke layar. komponen AWT

24
memberikan tingkat abstraksi yang tipis yang mendasari interface pengguna. Program
GUI yang ditulis dengan menggunakan AWT tampak seperti aplikasi asli ketika
dijalankan pada sistem operasi yang menjalankan aplikasi tersebut.
 Menu merupakan sebuah daftar dalam sebuah aplikasi yang menyediakan pilihan
untuk dapat digunakan sesuai dengan yang diinginkan oleh pengguna. Melalui menu,
anda dapat dengan mudah menjalankan atau menggunakan aplikasi yang sudah berisi
daftar menu pilihan.
 GUI merupakan suatu aplikasi pada Java yang berbasis grafik. Pertimbangan untuk
menggunakan aplikasi GUI ini antara lain adalah tampilan yang lebih menarik dan
kemudahan dalam penggunaannya. Ada tiga package yang disediakan Java dalam
pembuatan aplikasi GUI, yaitu AWT ,SWT dan Swing.

B. SARAN
Dikarenakan cukup rumitnya bahasa pemrograman Java dan semakin banyaknya
pesaing yang berkompetisi di bidang pemrograman Java, maka kami menyarankan kepada
pembaca (khususnya pemula), untuk sejak dini mempelajari bahasa pemrograman dan
juga untuk selalu bisa mencari referensi luas tidak hanya berpaku dengan apa yang di
ajarkan oleh dosen. Semoga teman-teman cukup bisa memahami dengan makalah yang
kami tulis dan bisa membantu teman-teman dalam membuat pemrograman tersebut.

25