Rangkuman Modul Praktikum Pemrograman Berorientasi Objek
NAMA : Muhammad Shihabbuddin
Kelas : Informatika 3/B1
NIM : 181080200293
KELOMPOK : 14
MODUL
I
ELEMEN DASAR JAVA
PENDAHULUAN
Pada pokok bahasan ini berisi penjelasan disertai
contoh mengenai pengenalan type data, veriabel, dan identitas array yang
menjadi pemahaman dasar bagi mahasiswa sebelum mempelajari Pemrograman
Berorienatasi Objek dengan membuat program java sederhana menggunakan elemen
dasar tersebut, diharapkan mahasiswa dapat :
a.
Memahami
instalasi java
b.
Mengenali tipe
data, variable dan identitas dan array
c.
Menggunakan
elemen dasar java pada pembuatan program
d.
Membuat
program java sederhana dengan menggunakan elemen dasar
PENYAJIAN (TUTORIAL)
A. Instalasi Java
Instal aplikasi
Java SDK pada komputer. Berikut langkah-langkah untuk instalasi java :
a.
Jalankan installer Java SDK
b.
Ikuti semua proses sampai selesai
c.
Set variabel system path pada
komputer.
Cobalah Java Anda, buka command line
Ketikkan java<<enter>>
Ketikkan javac<<enter>>
Kalau kedua sintaks di atas tidak menemukan pesan
error, maka instalasi berhasil
B. Konsep Dasar Pemrograman
Berorientasi Objek
Java adalah salah satu bahasa
pemograman yang menggunakan paradigma pemograman berorientasi obyek.Pemograman
berorientasi obyek menjadikan object dan class sebagai konsep sentralnya.
C. Konsep Dasar Variabel
Variabel adalah satuan yang dipakai
oleh program sebagai basis untuk penyimpanan
data.Penggunaan variable harus terlebih dahulu dideklarasikan nama dan tipenya.
Tipe dasar (primitive) dalam java
adalah sebagai berikut ;
Short
Tipe
variable short adalah bilangan bulat 16 bit yang mempunyai jangkauan nilai dari
-215 sampai dengan 215-1 atau dari -32768 sampai dengan ±32767.
Long
Tipe
variable long adalah bilangan bulat 64 bit dengan jangkauan nilai dari -263sampai
dengan 263-1.
Byte
Type
variable byte adalahbilanganbulat 8 bit yang mempunyai jangkauan nilai dari 27sampai
dengan 27-1 ataudari -128 sampai dengan +127.
Float
Float
adalah bilangan real (pecahan, dengan format floating point yang menggunakan
tempat penyimpanan 32 bit.Tipe float mempunyai jangkaun nilai dari 3.4e-038
sampai dengan 3.4e+038. Ketelitian float sampai 10 angka dibelakang koma.
Contoh
: Float f1 ;
Float
f2 = 0.13f;
Float
f3 = 0.34f;
Perhatikan
bahwa angka float ditambah suffix huruf f yang berarti float. Hal ini
diperlukan karena notasi default untuk tipe variable double.
Double
Dobel
adalah bilangan real (pecahan) dengan presisi 2 kali lebih baik dari variable
float. Dobel membutuhkan 64 bit untuk penyimpanannya yang mempunyai jangkauan
nilai dari 1.7e-308 sampai dengan 1.7e+308.
Char
Tipe
variable char menyimpan kode Unicode (karakter internasional), karena itu
membutuhkan 16 bit
Contoh:
Char c;
Char c1=’c’;
Char c5=’\t’;
Boolean
Variable
Boolean berisi dua nilai, yaitu true dan false.Variabel Boolean
dapat
diperoleh dari operasi logika seperti perbandingan dua bilangan,
perbandingan
dua string, dan lain – lain;
Casting
Casting
adalah teknik konversi suatu data tipe ke data tipe yang lain secara
eksplisit. Yang menerangkan kepada compiler bahwa terjadi perubahan tipe variable, sehingga hasilnya harus dikonversi ke tipe variable tersebut.
eksplisit. Yang menerangkan kepada compiler bahwa terjadi perubahan tipe variable, sehingga hasilnya harus dikonversi ke tipe variable tersebut.
Contoh
:
Int
I;
Double
d;
Byte b;
I = 250;
D = I; // tidak terjadi kesalahan,
penyesuain otomatis
B = I; // terjadi kesalahan, tipe tidak
compatible
B = (byte); //tidak terjadi kesalahan,
casting dari integer ke byte
D. Konsep Dasar Array
Array
adalah sekumpulan data yang sama tipenya. Isi array dapat diakses melalui index
yang dimulai dari 0 sampai dengan jumlah_elemen_array-i.
Tipe_variabel
nama_array[];
Contoh
IntMyArr[];
E. Kerangaka Program Java
Progam
dalam java dibagi- bagi menjadi class-class.Oleh karena itu program dalam java
dimulai dengan kata kunci class atau
public class.
MODUL
II
OPERATOR,
CONTROL FLOW DAN STRING
PENDAHULUAN
Pada pokok
bahasan ini akan dibahass mengenai pendeklarasian variable, baik instance
variable, class variable, maupun local variable, serta membahas fungus dari
masing – masing symbol operator dan control flow. Sehingga setelah mempelajari
bab ini diharapkan mahasiswa mampu :
a. Mendeklarasikan instance variable, class variable ,
maupun local variable
b. Mengakses instance variable, class variable, mupun
local variable
c. Memahami fungsi dari masing – masing symbol operator
d. Memahami control flow
e. Mahasiswa mampu membuat program yang berkaitan
dengan string
f. Mahasiswa mampu memahami pinsip penggunaaan String
PENYAJIAN
(TUTORIAL)
Operator dan Control Flow adalah jantung
dari program Control Flow mempunyai kemampuan untuk mengendalikan jalan dari
program. Tanpa Operator dan Control Flow, program tidak akan mampu melakukan
banyak hal. Ada beberapa jenis Operator dan Control Flow dalam Java, yaitu:
1.
Aritmatika
Operator
Java mempunyai
operator aritmatika seperti + (penjumlahan), - (pengurangan) ,*(perkalian) , /
(pembagian) dan % (modulo). Operator – operator ini berlaku seperti dalam
operasi aritmatika
2.
Logika
Operator
Ada
tiga logika Operator dalam java yaitu:
&& Logika /nd
|| LogikaOr
| LogikaNot
Ketiga
operator tersebut dioperasikan terhadap Boolean data tipe yang menghasilkan
bolean data type juga (true atau false)
3.
Bit
per bit operator
Variabel
bertipe long, int, short, byte dan char dapat mempunyai operator yang
dioperasikan langsung kesusunan binernya (bit atau bit).
Tabel 2.1 Tabel Bit Per Bit Operator
Operator
|
Nama
|
Keterangan
|
~
|
NOT
|
Mengubah
0 menjadi 1 dan 1 menjadi 0
|
&
|
AND
|
1
& 1 = 1 selain itu hasilnya selalu 0
|
|
|
OR
|
0|0
= 0 selain itu hasilnya selalu 1
|
^
|
XOR
|
0^0
= 0, 1^1 = 0 selain itu hasilnya 1
|
>>
|
SHIFT
RIGT
|
Dorong
1 bit kekanan termasuk tanda minus
|
>>>
|
SHIFT
RIGT
|
Dorong
1 bit ke kanan isi bit paling kiri dengan 0
|
<<
|
SHIFT
LEFT
|
Dorong
1 bit kekiri
|
Seperti
halnya aritmatika operator, Bit per bit operator juga bias dilakukan
Penyederhanaan
penulisannya.
4. Relasional
Operator
relasional digunakan untuk membandingkan dua nilai. Hasil dari perbandingan
tersebut adalah data tipe Boolean (true atau false).
Tabel 2.2 Tabel Operator Relasional
Operator
|
Keterangan
|
>
|
Lebih
Besar
|
<
|
Lebih
kecil
|
>=
|
Lebih
besar atau sama dengan
|
<=
|
Lebih
keci latau sama dengan
|
!=
|
Tidak
sama dengan
|
=
=
|
Sama
dengan
|
Tipe
variable di java seperti short, int, long, float, double, Boolean, dan
character dapat dibandingkan satu dengan yang lainnya .
5. Prioritas
Setiap
operator mempunyai prioritas sendiri – sendiri, sehingga perhitungan matematika
dilakukan sesuai prioritasnya .Lihat contoh dibawah ini :
C = a + b*d;
Akan
dijalankan sesuai prioritas yaitu *,+,=
Dibawah
ini diberikan table prioritas dari operator, urutan prioritas dari atas ke
bawah.Operator yang
sama prioritasnya akan dioperasikan dari kanan ke kiri.
Tabel 2.3 Tabel
Operator Prioritas
Operator
|
(
) [ ]
|
++
-- ~!
|
*/
%
|
+
-
|
>>>>><<
|
>>= <<=
|
==
! =
|
&
|
^
|
|
|
&&
|
||
|
?:
|
=
|
6.
Pernyataan
if
Pernyataan
if
adalah control flow yang paling sederhana Pernyataan ini mengevaluasi
suatu ekspresi. Jika ekspresi benar (true) maka blok pernyataan akan
dijalankan. Sebaliknya computer akan melompati blok pernyataan tersebut.
7. Pernyataan if-else
Pernyataan if-else
mengevaluasi suatu ekspresi. Jika ekspresi benar (true) maka blok
pernyataan dijalankan. Sebaliknya computer akan menjalankan blok pernyataan
yang lain.
8. Pernyataan switch, case dan break
Switch
digunakan untuk percabangan (seleksi) lebih dari dua. Ini digunakan untuk
menghindari pergunaan if-else yang berlapis-lapis.
9. Pengulangan(Loop)
Pengulangan dengan while
Alur
program blok while akan dilakukan berulang-berulang selama ekspresi benar
(true) Sintaks dari pengulangan while adalah sbb
MODUL
III
CLASS
PENDAHULUAN
Pada pokok bahasan ini akan dibahasa
mengenai objek dan class, serta penggunaannya dalam sebuah program java
sederhana. Setelah mempelajari materi ini diharapkan mahasiswa mampu untuk :
a.
Mengetahui pengertian dari objek dan
class
b.
Dapat membuat program sederhana dari
java dengan menggunakan objek dan class
PENYAJIAN
(TUTORIAL)
Class merupakan bagian pokok dari
Pemrograman Berorientasi Obyek (Object Oriented Programming). Class merupakan
cara merakit data-data dan menentukan semua metode yang diperlukan untuk
mengakses, menggunakan dan mengubah data-data tersebut. Dalam java class juga
bisa dianggap sebagai type dari object.
Setiap class memiliki dua hal utama.
Yang pertama adalah yang kita sebut state/atribut/property. State dalam obyek
tidak lain adalah nilai dari setiap variable. Bagian yang kedua adalah tool
atau method yang menentukan utility yang dimiliki oleh class.
1.
Pendeklarasian class
modifier menentukan
bagaimana class dapat ditangani pada fase development berikutnya. Ada tiga
jenis modifier dalam class yaitu public,
final, abstract dan friendly.
2. Konstruktur
Konstruktur adalah method dengan
property yang unik dan untuk keperluan inialisasi pada saat obyek diciptakan.
Jadi konstruktur digunakan memberikan niali kepada attribute tertentu pada saat
obyek diciptakan.Kontruktor didefinisikan dengan nama yang sama dengan nama
class. Konstruktor tidak perlu return_type sebab konstruktur secara aktual
dipanggil sebagai method. Konstruktur ini dipanggil pada saat kita memberikan
perintah new.
3.
Inherintance (Pewarisan)
Inheritance (Pewarisan) adalah suatu
mekanisme yang memungkinkan satu class mewarisi (memiliki) attribute dan method
dari class lain. Mekanisme pewarisan ini diperlukan untuk mengembangkan
class-class yang sudah ada tanpa harus membuka source code dari class-class
tersebut. Class yang mewarisi disebut subclass sedangkan calss yang diwarisi
disebut super class. Pewarisan class dalam java menggunakan sintaks:
modifier<NamaSubClass>extends<NamaSuperCalss> {
}
4. Kata Kunci this
this
adalah referensi yang menunjuk pada obyek aktual. Nilai this ini menunjukkan
bahwa obyek yang dimaksud adalah obyek yang sedang aktif itu sendiri. Contoh
penggunaan dari this adalah sbb:
5. Overriding Method
Overriding
method adalah suatu mekanisme pewarisan class di mana subclass mendefinisikan
ulang satu atau lebih method (fungsi) yang ada di supper class. Dalam
overriding ini subclass bisa mendefinisikan method (fungsi) yang di-override
dengan fungsi yang baru sama sekali, atau menambahi method (fungsi) yang
di-override yang sudah ada dengan fungsinal-fungsinal yang lain. Contoh class
yang menggunakan mekanisme overriding :
PENDAHULUAN
Pada
pokok bahasan ini akan dibahas mengenai threads. Setelah mempelajari bab ini
diharapkan mahasiswa mampu :
a. Mahasiswa
dapat membuat treads dengan menggunakan pemrograman java
b. Mahasiswa
dapat menjelaskan kegunaan treads
PENYAJIAN (TUTORIAL)
Property unik dari java adalah bahwa Java
memberi suport adanya threads. Threads memperbolehkan kita melakukan banyak hal
pada waktu yang bersamaan. Threads adalah komponen java yang memungkinkan kita
untuk membuat program yang bersifat multitasking programming. Sebenarnya setiap
program dalam java selalu menggunakan paling tidak satu thread
Kita bisa membuat aplikasi dan class berjalan
dalam threads yang terpisah dengan dua cara, yaitu :
·
Mengembangkan dari class Thread (extending
class Thread)
·
Mengimplementasikan Runnable interface
Mengembangkan
Class Thread
Dengan menggunakan extends Thread, mekanisme
Thread dapat diaplikasikan dengan membuat fungsi run ( )
Untuk melihat concurrency (multitasking) pada
program tersebut tambahkan method sleep ( ) untuk actual Thread (current
Thread). Method sleep ( ) hanya dapat dilakukan dengan menangkap sinyal
Method yang
berhubungan dengan Thread
start( )
Mengaktifkan Thread Obyek Thread kemudian akan
menjalankan method run( ).
stop( )
Menghentikan Thread yang sedang aktif.
sleep(
int delta)
Menunda aktifitas Thread untuk delta
millisecond.
Mengimplementasikan
Runnable interface
Pada contoh di atas Thread digunakan dengan
mengembangkan class Thread, yang mana berarti bahwa Subclass Thread hanya dapat
mewarisi sifat-sifat dari Thread. Pengikatan Class ini dapat dihindari dengan
menggunakan konsep interface. Dengan mengimplementasikan Runnable interface.
Interface Runnable ini hanya berisi satu method yang harus diimplementasikan,
yaitu run().
Konstruktor Thread adalah :
Thread(Runnable
ThreadObject)
Atau
Thread(Runnable
ThreadObject, String nama Thread)
ThreadObject pada contoh di atas adalah this, yang merupakan Obyek itu sendiri
yang mengimplementasikan Runnable.
Method
is Active( ) akan memberikan nilai true jika Thread actual aktif, dan false
jika tidak aktif.
PENDAHULUAN
Setelah
mempelajari bab ini diharapkan mahasiswa mampu :
a. Memahami
perbedaan antara kode
program java yang memanfaatkan Exception Handling dan yang
tidak memanfatkan.
b. Mahasiswa mampu mengimplementasikan
kata kunci try,
catch, dan throw dan throws.
PENYAJIAN
(TUTORIAL)
Eksepsi adalah mekanisme yang memungkinkan
program untuk menangkap kondisi-kondisi tertentu yang membutuhkan penanganan
khusus. Eksepsi dapat berupa kesalahan yang terjadi dalam program pada saat run
time. Format eksepsi adalah :
Try {
// blok program
. . . . . .
} catch (EksepsiTipe1 e) {
// blok program untuk EksepsiTipe1
. . . . . .
} catch (EksepsiTipe2 e) {
// blok program untuk EksepsiTipe2
. . . . . .
} catch (EksepsiTipe3 e) {
// blok program untuk EksepsiTipe3
. . . . . .
} finally {
// blok program
. . . . . . }
try menyatakan
bahwa dalam blok try dapat terjadi suatu ekspresi dan bila ekspresi terjadi,
maka aktifkan program yang berada dalam kelompok (blok) catch sesuai dengan tipe ekspresinya.
Object e
dari tipe ekspresi dapat digunakan sebagai referensi penanganan eksepsi
aktual.
finally menyatakan bahwa apapun jenis tipe
ekspresinya, maka program dalam blok ini harus tetap dijalankan.
Dengan menangkap eksepsi program tidak langsung
berhenti dan melaporkan kesalahan tersebut, melainkan membelokkan dengan
program pengaman tertentu.
Pada saat run time, jika java menemukan
kesalahan dan melempar pesan ke program. Dengan pesan ini, program akan
melakukan suatu aksi tertentu. Mekanisme melempar ini disebut juga sebagai throw, alur program akan dihentikan,
kemudian program pengendali (exception handling) akan diaktifkan.
throw
Throw digunakan secara eksplisit untuk membuang
sebuah eksepsi. Contoh berikutnya, TestThrow mendefinisikan Obyek Eksepsi
“NullPointerException” pada sebuah variabel t.
Dengan instruksi throw, program Eksepsi untuk
kemudian ditangkap oleh instruksi catch. Namun tentunya yang ditangkap harus
sesuai degan tipe eksepsi yang dilemparkan. Dalam hal ini program
throws
Eksepsi selalu ditangkap dengan catch pada blok dimana eksepsi tersebut
dilempar. Tanpa catch, program tidak
akan dikompilasi. Program dibawah ini menghilangkan try dan catch pada
subroutine demo( ), namun dengan menggunakan tambahan kata kunci throws Exception.
Tabel 6.1 Common Jaxa Exceptions
Exceptions
|
Description
|
Arithmeticexception
|
Disebabkan oleh error secara matematika
seperti pembagian dengan nol
|
ArrayIndexOutOfBouns Exception
|
Disebabkan oleh array index yang salah
|
ArrayStoreException
|
Disebabkan ketika program mencoba menyimpan
file data yang salah
|
FileNotFoundException
|
Disebabkan oleh usaha mengakses file yang
tidak ada
|
IOException
|
Disebabkan oleh general I/O failures, seperti
kegagalan membaca file
|
NullPointException
|
Disebabkan oleh mereferensi obyek null
|
NumberFormatException
|
Disebabkan ketika konversi antara string dan
bilangan gagal
|
OutOfMemoryException
|
Disebabkan ketika tidak cukup memory untuk
alokasi obyek
|
SecurityException
|
Disebabkan ketika sebuah applet mencoba
melakukan aksi yang tidak diperbolehkan oleh setting security browser
|
StackOverflowException
|
Disebabkan ketika sistem run melebihi
kapasitas stack
|
StringIndexOutOfBoundsException
|
Disebabkan ketika program mencoba mengakses
posisi karakter yang tidak ada di dalam string
|
TUJUAN
1.
Mahasiswa memahami dan menguasai
pembuatan java GUI
2.
Mahasiswa memahami konsep dasar
pembuatan java GUI menggunakan Swing
3.
Mahasiswa memahami Komponen dasar user
interface dengan swing
PENYAJIAN(TUTORIAL)
Graphical User Interface
Graphical
User Interface merupakan antar muka grafis yang memfasilitasi interaksi antara
pengguna dengan program aplikasi. Salah
satu komponen dalam bahasa pemrograman Java untuk membangun GUI adalah Swing.
Komponen ini didefinisikan di dalam paket javax.swing. Swing diturunkan dari Abstract
Windowing Toolkit dalam paket java.awt. Hirarki dari komponen Swing adalah
:
java.swing.Jcomponent à java.awt.Container à java.awt.Component à Java.Lang. Object
JComponent
adalah superclass dari semua komponen Swing. Sebagian besar fungsionalitas
komponen diturunkan dari superclass ini. Beberapa komponen utama dalam
GUI adalah:
1.
Containers: merupakan wadah yang
berfungsi untuk menempatkan komponen-komponen lain di dalamnya.
2.
Canvas.: merupakan komponen GUI
yang berfungsi untuk menampilkan gambar atau untuk membuat program grafis.
Dengan canvas, kita bisa menggambar berbagai bentuk seperti lingkaran,
segitiga, dll.
3.
User Interface (UI) components:
contohnya adalah buttons, list, simple popup menus, check boxes, text fields,
dan elemen lain
4.
Komponen pembentuk window: seperti
frames, menu bars, windows, dan dialog boxes.
Komponen-komponen
Dasar User Interface dengan Swing
Berikut
adalah beberapa komponen dasar antarmuka pengguna (user interface) yang disediakan
oleh Swing:
1.
Top level containers: adalah container dasar untuk meletakkan komponen-komponen lain.
Contohnya adalah JFrame, JDialog, dll.
2.
Intermediate level containers: merupakan container perantara. Umumnya digunakan hanya untuk
meletakkan atau mengelompokkan komponen-komponen yang digunakan, baik itu
container atau berupa atomic component. Contoh dari Intermediate level
container adalah JPanel (panel).
3.
Atomic component: merupakan komponen yang memiliki fungsi khusus. Umumnya pengguna
langsusng berinteraksi dengan komponen ini. Contohnya adalah JButton (tombol),
JLabel (label), JTextField, JTextArea (area untuk menulis teks), dll.
4.
Layout Manager Berfungsi untuk mengatur bagaiman tata letak/posisi dari komponen yang
akan diletakkan, satu sama lain di dalam suatu container. Secara default ada 6 buah layout : BorderLayout, BoxLayout, FlowLayout,
CardLayout, GridBagLayout & GridLayout
5.
Event Handling : Menangani event yang dilakukan oleh user
seperti menekan tombol, memperbesar
atau memperkecil ukuran frame, mengklik mouse, mengetik sesuatu dengan
keyboard, dll.
Konstruktor
untuk membentuk JFrame adalah JFrame() atau JFrame(String NamaFrame). Salah
satu method yang sering digunakan di kelas JFrame adalah setDefaultCloseOperation(int
ops). Method ini berfungsi untuk mengatur apa yang akan dilakukan oleh program
ketika tombil close di klik. Parameter method tersebut di antaranya adalah:
1.
JFrame.DO_NOTHING_ON_CLOSE: tidak
ada satu aktivitas pun yang dilakukan secara otomatis apabila frame ditutup.
2.
JFrame.HIDE_ON_CLOSE: frame hanya
disembunyikan, namun secara fisik frame masih ada di memori sehingga dapat
dimunculkan kembali. Merupakan aktivitas default.
3.
JFrame.DISPOSE_ON_CLOSE:
mengilangkan tampilan frame dari layar, menghilangkannya dari memori, dan
membebaskan resource yang dipakai.
4.
JFrame.EXIT_ON_CLOSE: menghentikan
eksekusi program.
Top
level container yang lain adalah JDialog. Berbeda dengan JFrame, JDialog tidak
dibuat berdiri sendiri, melainkan dibuat bersama-sama dengan frame sebagai parent-nya.
Jika frame parent-nya ditutup, maka dialog akan dihapus dari memori.
Kemunculan dialog akan membuat semua input terhadap frame parent-nya
akan terblokir sampai dialog tersebut ditutup.
Layout
Management
Untuk mengatur
layout dari setiap komponen-komponen GUI yang diletakkan pada container,
digunakan layout manager.Setiap pane secara default pasti memiliki layout
manager. Jika ingin mengubah layout-nya, gunakan void
setLayout(LayoutManager mgr) Java menyediakan 6 buah class standar yang
dapat digunakan sebagai layout manager yang terdapat dalam package java.awt, yaitu
1.
FlowLayout,
2.
GridLayout
3.
BorderLayout
4.
CardLayout
5.
GridBagLayout
6.
BoxLayout
Komentar
Posting Komentar