Anda di halaman 1dari 23

MODUL 1

MEMBANGUN APLIKASI JAVA

1.1 Tujuan
Tujuan Pembelajaran dari materi ini adalah :
a. Mendeskripsikan konsep pada paket
b. Mendeskripsikan bagaimana membangun aplikasi
c. Mendeskripsikan secara komplit aplikasi java yang didalamnya terdapat database

1.2 Definisi Paket


Paket adalah kumpulan kelas Java.
Pikirkan sebuah paket sebagai folder pada harddisk.
Untuk menentukan paket, tentukan nama paket di baris pertama definisi kelas
menggunakan kata kunci paket.
Sebagai contoh:
package graphics; // Rectangle will be part of the graphics package
class Rectangle{ }

Menggunakan File Java yang Disimpan dalam Paket


Bila ingin program menggunakan file Java yang tersimpan dalam sebuah paket, pastikan
paket itu tercantum dalam pengaturan CLASSPATH, dengan cara ini file dapat
ditemukan dan digunakan, Sebuah kelas hanya bisa dalam satu paket.

Menamai sebuah Paket


Programmer di seluruh dunia menulis class dan interface/antarmuka dengan
menggunakan bahasa pemrograman Java, kemungkinan beberapa akan menggunakan
nama yang sama untuk jenis yang berbeda.

Pada, contoh sebelumnya tidak seperti diatas:


Ini mendefinisikan kelas Rectangle ketika sudah ada kelas Rectangle di paket java.awt.
Namun, compiler memungkinkan kedua kelas memiliki nama yang sama jika berada
dalam paket yang berbeda.

Nama paket dan nama paket lebih berkualitas


Nama yang memenuhi syarat masing-masing kelas Rectangle mencakup nama paket.
Nama kelas Rectangle yang memenuhi syarat dalam paket grafis adalah
graphics.Rectangle.
Nama lengkap kelas Rectangle yang memenuhi syarat dalam paket java.awt adalah
java.awt.Rectangle.
Ini bekerja dengan baik kecuali dua pemrogram independen menggunakan nama yang
sama untuk paket mereka. Namun, konvensi mencegah masalah ini.
Konvensi penamaan paket
 Nama paket ditulis dalam huruf kecil untuk menghindari konflik dengan nama
kelas atau antarmuka.
 Perusahaan menggunakan nama domain internet terbalik mereka untuk memulai
nama paket mereka.
- Sebagai contoh, com.example.mypackage untuk sebuah paket bernama
mypackage yang dibuat oleh programmer di example.com.
- Jika seorang programmer di code.org juga membuat sebuah paket bernama
mypackage, maka nama paketnya perlu org.code.mypackage untuk mengikuti
konvensi yang dibuat dan untuk menghindari tabrakan dengan
com.example.mypackage.

Untuk nama paket yang tabrakan yang terjadi dalam satu perusahaan perlu
ditangani oleh konvensi di dalam perusahaan itu.
Misalnya, sertakan wilayah atau nama proyek setelah nama perusahaan
(com.example.region.mypackage).

Paket dalam bahasa Java sendiri dimulai dengan java. atau javax

Bila Nama Domain Internet Tidak Valid


Dalam beberapa kasus, nama domain internet mungkin bukan nama paket
yang valid. Hal ini dapat terjadi jika:
• Nama domain berisi tanda hubung atau karakter khusus lainnya.
• Nama paket dimulai dengan digit atau karakter lain yang ilegal digunakan
sebagai permulaan nama Java.
• Nama paket berisi kata kunci Java yang dipesan, seperti "int".

Bila ini terjadi, konvensi yang disarankan adalah menambahkan garis bawah.

Nama paket yang dapat digunakan


Nama Domain Awalan nama domain Informasi Tentang
Konversi ke Nama
Paket
hyphenatedname.example.org org.example.hyphenated_ Tanda hubung di nama
name domain digantikan
dengan garis bawah
dalam nama paket
example.int int_.example Kata Int dalam nama
domain adalah kata
kunci sehingga diikuti
oleh garis bawah dalam
nama paket.
123name.example.com com.example._123name Nama dengan diawali
nomor itu diberikan
garis bawah dalam
nama paket.

Cara Menggunakan Paket


Untuk menggunakan anggota paket publik dari luar paketnya, Anda harus melakukan salah
satu dari yang berikut:

• Merujuk ke anggota dengan nama yang memenuhi syarat.

• Impor anggota paket.

• Impor seluruh paket anggota.

Paket yang diimpor untuk mendapatkan kelas tertentu untuk digunakan dalam program Anda.

• Anda dapat melewatkan mengimpor dan merujuk ke paket dengan nama yang memenuhi
syarat.

• Nama yang memenuhi syarat untuk kelas Rectangle yang dideklarasikan dalam paket grafis
pada contoh sebelumnya adalah:
graphics.Rectangle

Untuk merujuknya di program Anda tanpa mengimpor kelas atau paket:

graphics.Rectangle myRect = new graphics.Rectangle();

• Nama yang memenuhi syarat baik-baik saja untuk penggunaan yang tidak biasa.

• Bila sebuah nama digunakan berulang-ulang, bagaimanapun, mengetik nama berulang kali
menjadi membosankan dan kode menjadi sulit dibaca.

• Sebagai alternatif, Anda bisa mengimpor anggota atau paketnya dan kemudian menggunakan
nama sederhananya.

Mengimpor Anggota Paket


Untuk mengimpor anggota tertentu ke dalam file saat ini, masukkan pernyataan impor di awal
file sebelum definisi jenis apa pun kecuali setelah pernyataan paket, jika ada.

Sebagai contoh, berikut adalah bagaimana Anda akan mengimpor kelas Rectangle dari paket
grafis yang dibuat di bagian sebelumnya.

import graphics.Rectangle;

Untuk merujuk ke kelas Rectangle dengan nama yang sederhana dapat seperti contoh dibawah
ini :

Rectangle myRectangle = new Rectangle();


Impor Seluruh Paket

Jika Anda menggunakan banyak jenis dari sebuah paket, Anda harus mengimpor seluruh
paket. Untuk mengimpor semua jenis yang terdapat dalam paket tertentu, gunakan pernyataan
impor dengan karakter wildcard asterisk (*)

Import.graphics.*;

Sekarang Anda bisa merujuk ke kelas atau antarmuka dalam paket grafis dengan nama
sederhananya. Tanda asterisk dalam pernyataan impor hanya dapat digunakan untuk
menentukan semua kelas dalam satu paket

Circle myCircle = new Circle();

Rectangle myRectangle = new Rectangle();

Hierarki Paket
Pada awalnya, paket tampak hierarkis, tapi ternyata tidak. Sebagai contoh:

• Java API menyertakan paket java.awt, paket java.awt.color, paket java.awt.font, dan banyak
lainnya yang dimulai dengan java.awt.

• Namun, paket java.awt.color, paket java.awt.font, dan paket java.awt.xxxx lainnya tidak
termasuk dalam paket java.awt.

• Awalan java.awt (Java Abstract Window Toolkit) digunakan untuk sejumlah paket terkait untuk
membuat hubungan terbukti, namun tidak untuk menunjukkan inklusi.

Mengimpor Subpackages
Saat mengimpor paket, Anda hanya mendapatkan kelas pada tingkat paket itu. Sub paket
tidak disertakan dan perlu diimpor secara terpisah.

Importing java.awt.*

Mengimpor java.awt. * Mengimpor semua jenis paket java.awt, tapi tidak mengimpor
java.awt.color, java.awt.font, atau paket java.awt.xxxx lainnya.

Jika Anda berencana untuk menggunakan kelas dan jenis lainnya di java.awt.color dan juga di
java.awt, Anda harus mengimpor kedua paket dengan semua file mereka:

import java.awt.*;
import java.awt.color.*;

Mengembangkan Aplikasi
Akhirnya Anda siap untuk mengembangkan aplikasi Anda sehingga pengguna bisa
menjalankannya dari luar development environment (IDE).

Ada dua jenis teknologi mengembangkan yang tersedia di JavaTM 2 Standard Edition (J2SE)
untuk menerapkan aplikasi Java clientide di desktop:

• Java Plug-in

• Java Web Start

Plug-in Java
Java Plug-in:

• Adalah alat yang digunakan untuk mengembangkan applet Java yang berjalan di dalam
browser web.

• Browser web yang didukung meliputi: Internet Explorer, Mozilla Firefox, Google Chrome dan
Apple Safari.

• Menggunakan Web Start untuk menyebarkan aplikasi Java mandiri di desktop, menggunakan
JNLP (Java Network Launching Protocol).

Langkah-langkah untuk Menyebarkan Aplikasi


1. Kompilasi kode Java aplikasi Anda dan pastikan semua file dan sumber kelas seperti
gambar ada di direktori terpisah.

2. Buat file JAR yang berisi file dan sumber kelas aplikasi Anda dengan menjalankan perintah
baris perintah yang sesuai:

% cd path/to/classes

% jar cvf Sample.jar SampleCode

3. Membuat file JNLP yang menjelaskan bagaimana aplikasi / applet Anda harus dijalankan.

4. Buat halaman HTML dari mana aplikasi / applet Anda akan diluncurkan. Invoke Deployment
Toolkit berfungsi untuk mengembangkan aplikasi Java Web Start / applet. Sekali lagi lihat
situs pada Langkah 3 untuk contoh kode.

5. Letakkan file JAR aplikasi, file JNLP, dan halaman HTML di folder yang sesuai.

6. Buka halaman HTML aplikasi di browser untuk melihat aplikasi / applet. Periksa log Java
Console untuk pesan error dan debugging
Dua Arsitektur Tier dan Three Tier
Sampai saat ini, Anda telah menulis program yang merupakan satu sistem arsitektur tier.

Satu sistem arsitektur tier:

• Berjalan di satu komputer sekaligus.

• Lebih kompleks untuk diprogram saat Anda menambahkan lapisan dan fungsionalitas.

• Jenis fungsi mungkin termasuk:

- Proses server dan klien.

- Penyimpanan dan pengambilan basis data.

Arsitektur Tier
Konsep tingkatan menyediakan cara mudah untuk mengelompokkan berbagai kelas arsitektur
komputer.

• Jika aplikasi Anda berjalan pada satu komputer, itu memiliki arsitektur satu tingkat.

• Jika aplikasi Anda berjalan di dua komputer, seperti aplikasi server web biasa yang berjalan
pada browser Web (klien) dan server Web, maka ada dua tingkatan

Dua dan Tiga Sistem Tier


Dalam sistem two tier, Anda memiliki program klien dan program server.

• Server merespons permintaan dari berbagai klien.

• Klien biasanya memulai permintaan informasi dari satu server.

Aplikasi tiga tingkat menambahkan program ketiga ke dalam campuran, seperti database, di
mana server menyimpan datanya.

Penyusunan Arsitektur Dua Tingkat


Sistem dua tingkat biasanya terdiri dari klien dan program server.

• Program server berjalan pada server web.

• Program klien bisa berupa applet yang berjalan melalui halaman web html.

• Applet akan berkomunikasi dengan program server untuk mendapatkan instruksi


Dua Contoh Penerapan Arsitektur Tier
Contoh arsitektur two tier adalah permainan catur dua pemain.

• Setiap pengguna akan mengakses aplikasi klien, namun aplikasi server akan dibutuhkan
untuk menangani komunikasi antara klien dan menentukan permainan game.

• Untuk menerapkan sistem seperti itu, seseorang perlu mengatur aplikasi server agar otomatis
dijalankan di server web dan meminta applet Java berkomunikasi dengan server melalui
protokol http.

Contoh Penerapan Tiga Tier Architecture


Untuk mengubah permainan catur menjadi sistem tiga tingkat, kita bisa menambahkan
database untuk menyimpan hasil permainan catur untuk kemudian mendapatkan peringkat
dan pengambilan informasi pengguna.

• Java menggunakan konektivitas JDBC untuk berkomunikasi dengan berbagai database.

• Untuk menerapkan implementasi ini:

- Database perlu dijalankan di server.

- Aplikasi server Java harus memiliki konektivitas dengan menggunakan driver JDBC dan port
yang sesuai untuk mengakses database.

Latihan :

1. Gunakan kode java berikut dan letakkan ke dalam sebuah paket bernama greeting :
public class MyName {
private String name = "Jane";
public getName() {
return name;
}
public setName(String name) {
this.name = name;
}
public sayHello() {
System.out.println(“Hi” + this.name);
}
}
2. Anda memiliki program yang perlu menggunakan metode sayHello. Apa yang perlu
Anda sertakan dalam program java untuk mendapatkan sesuatu agar bekerja?
3. Bagaimana Anda bisa memanggil setName dalam sebuah program tanpa
menggunakan pernyataan impor untuk paket itu?
4. Ambil salah satu Program Java Anda sebelumnya dan ikuti langkah-langkahnya untuk
menyiapkannya untuk penempatan. Uji coba agar pengguna bisa menjalankannya
dari luar IDE
MODUL 2
Bekerja dengan kode Pre-Written

2.1 Tujuan
Tujuan dari pembelajaran materi ini adalah :
• Membaca dan memahami program Java pre-written yang terdiri dari kelas dan objek yang
berinteraksi
• Menerapkan konsep pewarisan dalam pemecahan masalah
• Menguji kelas dalam isolasi
• Menjelaskan kapan lebih tepat menggunakan ArrayList dari pada sebuah Array

2.2. Mengubah Program yang Ada

Bila Anda memprogram dalam skenario dunia nyata, seperti untuk perusahaan, Anda akan
sering mempertahankan dan memodifikasi program yang ada.
• Dalam banyak kasus, masalah bisnis yang Anda selesaikan akan terkait dengan program
yang ada yang ditulis oleh pemrogram lain.
• Mampu memodifikasi program yang ada adalah keterampilan berharga yang harus Anda
terapkan dalam sebagian besar peran pemrograman

Skenario Kode Pra-Tertulis


Bayangkan sebuah aplikasi perbankan.
• Apa yang harus dilakukan aplikasi perbankan?
- Izinkan pengguna untuk:
Buat akun, deposit di akun, tarik dari akun,
tampilkan saldo akun, dan hitung bunga.
• Apa saja komponen aplikasi perbankan?
- Akun
• Apa yang harus dilakukan masing-masing komponen?
- Buat, deposit, dan withdraw.

Langkah-langkah untuk Menginstal Studi Kasus JavaBank


1. Pindahkan file JavaBank.jar.zip ke lokasi yang nyaman di komputer Anda.
Jangan unzip file.
2. Jalankan Eclipse.
3. Pilih lokasi ruang kerja dan jalankan WorkBench.
Langkah-langkah untuk Impor File Kode ke Workspace
1. Klik File, lalu Import.
2. Buka folder General.
3. Pilih Proyek yang Ada ke dalam Workspace.
4. Klik Next.

5. Klik Pilih file folder dan klik Browse dan cari file JavaBank.jar.zip. Klik open.
6. Pastikan keempat proyek (JavaBank (bin), JavaBank, JavaBankList, dan
JavaBankListDel) ada.
7. Klik Finish.
8. Klik Yes to All bila diminta untuk menimpa file.

Menjalankan JavaBank
Untuk menjalankan JavaBank, kompilasi dan jalankan aplikasi JavaBank.java. Jendela
JavaBank akan muncul.

Saat Anda menjalankan program yang ditulis oleh orang lain, biasanya ada panduan
pengguna. Tidak ada panduan pengguna yang tersedia karena terserah pada Anda
untuk bereksperimen dengan aplikasi ini
Bereksperimen dengan JavaBank

Jalankan programnya.
• Anda harus menyimpan jurnal eksplorasi Anda dan mencatat perilaku aplikasi.
• Catat fitur yang menurut Anda harus ditambahkan.
• Ini akan membantu pemahaman Anda saat Anda mulai menyelidiki kode yang
mendasarinya

Memeriksa Kode Pre-Written

Saat Anda menerima program seperti JavaBank, dan Anda tidak terbiasa dengan kode
ini, penting bagi Anda untuk bereksperimen dengan aplikasi ini sebelum memeriksa
kode yang mendasarinya.

Anda telah mencoba menggunakan aplikasi dan mencatat perubahan dan fungsi
tambahan yang ingin Anda tambahkan. Sekarang periksa kode yang mendasari untuk
menjadi terbiasa dengan bagaimana aplikasi bekerja.

Pertimbangan Saat Memeriksa Kode


Saat memeriksa kode, perhatikan hal berikut ini:

• Carilah komentar di kode


// Komentar baris tunggal didahului dengan garis miring ganda

/* Komentar yang mencakup lebih dari satu baris diliputi oleh garis miring terbalik
dan tanda bintang */

• Identifikasi kelas. Periksa setiap kelas dan baca komentar terkait untuk mendapatkan
pemahaman tentang struktur program.

Kelas adalah cetak biru untuk sebuah objek. Sebuah kelas menggambarkan apa yang
diketahui dan dilakukan objek.

Teknik Saat Memeriksa Kode


Berikut adalah beberapa teknik lain untuk mencoba saat membaca kode:
• Jalankan ulang aplikasi.
• Pelajari struktur kode tingkat tinggi dan kemudian temukan titik masuk dan bagaimana
cabangnya dari sana.
• Memahami konstruksi.
• Lakukan beberapa pengujian.

Jika Anda masih memiliki masalah dalam memahami kodenya, mintalah orang lain
untuk memikirkannya. Jangkau programmer lain di forum pemrogram.

Kelas Account
Periksa kelas Account dan catatlah jumlah:
• Konstruktor
• Metode
- Berapa banyak metode yang diakses?
- Berapa banyak metode yang mutator?

Accessor adalah metode yang dapat mengakses isi objek namun tidak memodifikasi
objek tersebut.
Sebuah mutator adalah metode yang bisa memodifikasi suatu objek.

Konstruktor di Kelas Account


Kelas Account memiliki dua konstruktor:
• Account konstruktor default () menetapkan Nama Akun menjadi "KOSONG", Nomor
Rekening ke 0 dan Saldo ke 0.
• Akun konstruktor yang kelebihan muatan (nama String, int num, int amt) mengambil
nilai sebagai parameter dan tetapkan nilai ini ke instance Akun yang sedang dibuat.

Metode dalam Account Class


simpanan void publik (int amt)
Memperbarui saldo dengan jumlah deposit.
public void withdraw (int amt)
Memperbarui saldo dengan jumlah penarikan. public void setaccountname (nama
String) Mengatur nilai nama akun. public void setaccountnum (int num) Mengatur nilai
nomor akun. public void setbalance (int num) Menetapkan nilai saldo akun. public
String getaccountname () Mengembalikan nilai nama akun. public int getaccountnum
() Mengembalikan nilai nomor rekening. public int getbalance () Mengembalikan nilai
saldo akun.
cetak void publik ()
Mencetak nama akun, nomor rekening dan nilai saldo akun. Ini termasuk untuk
mengakomodasi pengujian isolasi.

Metohd Deskripsi
public void deposit(int amt) Memperbarui saldo dengan
jumlah deposit.
public void withdraw(int amt) Memperbarui saldo dengan
jumlah penarikan
public void setaccountname(String Mengatur nilai nomor akun
name)
public void setaccountnum(int num) Menetapkan nilai saldo akun
public void setbalance(int num) Mengembalikan nilai nama
akun
public String getaccountname ( ) Mengembalikan nilai nama
akun
public int getaccountnum ( ) Mengembalikan nilai nomor
rekening
public int getbalance ( ) Mengembalikan nilai saldo
akun
public void print( ) Mencetak nama akun,
nomor rekening dan nilai
saldo akun

Pengujian Kelas dalam Isolasi

Saat membuat kelas, ada baiknya berlatih kelas secara mandiri sebelum mengujinya
dalam aplikasi untuk mendeteksi masalah pada kode tersebut. Ini dikenal sebagai
pengujian isolasi atau pengujian unit.

Tujuan utama pengujian unit adalah untuk memverifikasi bahwa unit individu (kelas, di
Java) bekerja dengan benar sebelum digabungkan dengan komponen lain dalam
sistem. Setelah membuat kelas, ujilah secara terpisah dengan membuat program kecil
yang memanggil konstruktor, pengubah, dan pengakses.

Contoh Uji Program Unit


Contoh program uji unit di bawah ini memiliki instance utama dan membuat instance
dari kelas Akun.

Contoh Pengujian Kelas dalam isolation

public class testAccount {


public static void main(String[] args) {
// Instantiate account using constructor with values
Account A1 = new Account("Irma",123456,300);
// Instantiate account using default constructor
Account A2 = new Account();
Account A3 = new Account();
A2.setaccountname("Nadia");
A2.setaccountnum(22338);
A2.setbalance(500);
A3.setaccountname("Ilya Mustafana");
A3.setaccountnum(44559);
A3.setbalance(1000);
// Print accounts
A1.print();
A2.print();
A3.print();
}
}

Metohd Deposito
Berikut adalah kode untuk metode deposit.

public void deposit(int amt) {


balance=balance+amt;
}

Bila metode ini dipanggil, nilai dari kotak edit dilewatkan sebagai amt dan ditambahkan
ke saldo instance akun saat ini. Tindakan serupa dilakukan dengan metode withdrawal
dan setaccountname, setaccountnum dan setbalance.

Method Getaccountname
Dibawah ini koding untuk method getaccountname

public String getaccountname ( )


{
return accountname;
}

Bila metode ini dipanggil, nilai nama akun instance akun saat ini dikembalikan ke
metode pemanggilan. Tindakan serupa dilakukan dengan metode getaccountnum dan
getbalance.

Method Getaccountname

Dibawah ini kode untuk method getaccountname.

public String getaccountname ( )


{
return accountname;
}

Bila metode ini dipanggil, nilai accountname instance saat ini dikembalikan ke metode
pemanggilan. Tindakan serupa dilakukan dengan metode getaccountnum dan
getbalance

Pewwarisan/Inheritance

Pewarisan adalah ketika Anda memiliki satu kelas yaitu kelas induk (disebut kelas
super) dan kelas lain yaitu kelas anak (disebut sub kelas). Kelas anak dikatakan
berasal dari kelas induk.

Alasan untuk memiliki kelas anak adalah menjaga agar informasi tetap terpisah. Anak
bisa mewarisi semua metode dan bidang dari induknya, tapi kemudian bisa bertindak
mandiri.

Menggunakan kata kunci extend

Gunakan kata kunci extend saat membuat subkelas baru untuk menghubungkan kelas
yang ada.
• Ini akan menghubungkan kelas Akun sebagai Rekening Kredit yang memiliki perilaku
yang sama dengan akun standar namun akan menambahkan kemampuan untuk
menetapkan batas kredit.
• Kelas CreditAccount akan mewarisi semua metode dari kelas Account.
public class CreditAccount extends Account{
}

ArrayList atau Array?

Aplikasi JavaBank menggunakan Array untuk menyimpan data di akun.

Metode create, withdraw, deposit, dan display memanipulasi data dalam array untuk
menghasilkan hasil yang diinginkan.

Di Java, sebuah Array memiliki panjang tetap.


• Setelah array dibuat, programmer perlu mengetahui panjang Array karena ukuran
tidak dapat tumbuh atau menyusut.
• Jika Anda memiliki situasi di mana Anda tidak dapat memprediksi jumlah objek yang
akan Anda simpan, maka alih-alih menggunakan Array, Anda bisa menggunakan
ArrayList.

Operasi ArrayList

Dalam Array, Anda perlu mengetahui panjang dan jumlah elemen saat ini yang
tersimpan.

Dalam ArrayList Anda dapat menggunakan perilaku yang telah ditetapkan untuk
melakukan operasi ini.
• IsEmpty: Mengembalikan nilai true jika daftar ini tidak berisi elemen.
• ukuran: Mengembalikan jumlah elemen dalam daftar ini

Operasi ArrayList Deskripsi


add Tambahkan ke akhir daftar ini.

clear Hapus semua elemen dari daftar ini.


contains berisi Returns true jika daftar ini berisi
elemen yang ditentukan.
get dapatkan kembali elemen pada posisi
yang ditentukan dalam daftar ini.
remove Hapus Menghapus elemen dalam
daftar ini
set Menggantikan elemen pada posisi
yang ditentukan dalam daftar ini
TrimToSize Potong kapasitas instance ArrayList
ini menjadi ukuran daftar saat ini

ArrayList di JavaBank
Dalam aplikasi JavaBank, Anda dapat menggunakan ArrayList menggantikan Array
myAccounts ke:
• Secara dinamis menyimpan akun.
• Simpan rekening tabungan dan kredit.
• Gunakan operasi ArrayList untuk menambahkan, menghapus, mencari, dan
sebagainya.
• Kurangi jumlah kode yang diperlukan

Latihan

Jika Anda tidak menginstal Studi Kasus JavaBank selama pelajaran, ikuti langkah-
langkah ini. Untuk menginstal JavaBank:
• Unzip file JavaBank.jar.zip dan pindahkan ke lokasi yang nyaman di komputer Anda.
• Di Eclipse, pilih File → New → Java Project.
• Pilih "Buat proyek dari sumber yang ada".
• Klik Browse. • Pilih folder proyek pertama dari lokasi yang telah Anda download dan
mengekstrak file JavaBank.jar.zip.
• Klik OK. • Klik Finish.
• Di jendela Package Explorer, pilih proyek.
• Dari menu, pilih Project → Properties. • Klik Java Build Path.
• Pilih tab Libraries. • Klik tombol Add External JARs ....
• Arahkan ke folder yang berisi Banking.jar. Pilih file Banking.jar.
• Klik tanda + di sebelah Paket Default dan jalankan aplikasi Banking.java

2. Periksa kode di JavaBankList untuk melihat bagaimana cara mendeklarasikan dan


menggunakan ArrayList Accounts.

// ArrayList to store Account details


ArrayList<Account>
Accounts = new ArrayList<Account>();
replaces
// Array to store Account details static Account myAccounts[] = new
Account[MaxAccounts];
3. Uji kode di JavaBankList untuk melihat bagaimana kode dibuat pada akun
menggunakan ArrayList.

//add a new account to the list using the Account constuctor


Accounts.add(new Account(Name,Accountnum,Balance));

//Set a temp Account for display purposes


Account tempAccount = (Account)Accounts.get(noAccounts);

//Display tempAccount
displayJTextArea.setText(tempAccount.getaccountname() + " " +
tempAccount.getaccountnum() + " " + tempAccount.getbalance());

4. Periksa kode di JavaBankArrayList untuk melihat bagaimana kode untuk membuat


deposit atau withdrawal digunakan.
5. Amandemen program JavaBankArrayList untuk menghapus akun dengan
menggunakan operasi hapus. Petunjuk: Ini serupa dengan operasi yang ditetapkan
untuk transaksi.
6. Unit menguji kode baru Anda.
7. Jelajahi JavaBank. Catat pengamatan Anda dan jawaban atas pertanyaan berikut di
jurnal Anda.
• Apa yang terjadi saat Anda:
◦ Tampilkan Akun
◦ Buat Akun
◦ Hapus Akun
◦ Buat Transaksi Penarikan
◦ Lakukan Transaksi Deposito
• Dapatkah Anda menampilkan akun sebelum ada yang dibuat?
• Dapatkah Anda membuat akun tanpa memasukkan apapun di kolom?
• Dapatkah Anda melakukan transaksi penarikan dengan jumlah di kolom Withdrawal?
• Dapatkah Anda melakukan transaksi deposit tanpa jumlah di bidang Deposito?
• Pertanyaan lain apa yang Anda miliki tentang aplikasi JavaBank?
• Perubahan apa yang akan Anda buat pada aplikasi saat ini agar fungsinya lebih baik?
• Penambahan apa yang akan Anda lakukan pada aplikasi saat ini untuk meningkatkan
fungsinya?

8. Periksa file kode dan catat jawaban atas pertanyaan berikut di Journal Anda.
• Berapa banyak file kode yang ada?
• Dimana kode utama?
• Apa panggilan utama?
• Apa yang dipanggil saat Anda mengklik tombol create?
• Pertanyaan lain apa yang Anda miliki tentang aplikasi JavaBank?
• Perubahan apa yang akan Anda buat pada aplikasi saat ini agar fungsinya lebih baik?
• Tambahan apa yang akan Anda buat pada aplikasi untuk meningkatkan fungsinya?
9. Jalankan JavaBank dan lakukan tindakan berikut:
Aksi Nama Nasabah Nomor Rekening Saldo
Create Ade Irma 11556 300
Create Nadia 22338 500
Create Dhani 44559 1000

Tampilkan akun untuk memastikannya telah dibuat.

10.Performasikan transaksi berikut dan tampilkan akun untuk memastikan semuanya


telah selesai.

Aksi Nama Nasabah Nomor Rekening Saldo

Penarikan Ade Irma 11556 100


Simpanan Nadia 22338 200
Penarikan Andi S 44559 700

• Apa saja metode accessor di kelas akun?


• Prosedur mana yang memanggil accessors ini?
• Apa metode modifikatornya?
• Prosedur manakah yang memanggil pengubah ini?
MODUL 3
Perancangan Kelas Java

3.1 Tujuan
Pelajaran ini mencakup topik-topik berikut:
• Membuat model masalah bisnis menggunakan kelas Java
• Membuat kelas tidak berubah
• Bandingkan tingkat akses default dan publik
• Gunakan instanceof operator untuk membandingkan tipe objek
• Menggunakan metode virtual doa
• Gunakan gips ke atas dan ke bawah

3.2 Kelas (class)

Kelas Java adalah template yang mendefinisikan fitur satu atau lebih objek.
• Sebuah kelas dapat dianggap sebagai kategori yang digunakan untuk mendefinisikan
kelompok benda.
• Kelas:
- Menentukan dan menerapkan metode.
- Melaksanakan metode dari antarmuka yang diterapkan

Kelas apa yang bisa dan tidak bisa saya lakukan


Kelas dapat:
• Menyatakan konstanta dan variabel.
• Mewarisi metode dari kelas lain.
• Tentukan dan implementasikan metode.
• Menggantikan metode yang diwariskan bila metode ini bersifat publik atau dilindungi
Kelas dapat:
• Jadilah instantiated oleh:
- Konstruktor publik atau yang dilindungi.
- Metode statis atau statis yang dilindungi atau dilindungi.

Kelas tidak bisa:


• Mengganti metode yang diwariskan bila metodenya sudah final

Bila Kelas Bisa Dikelompokkan atau Dikenakan Kelas bisa dikelompokkan bila:
• Kelas tidak dinyatakan final.
• Metodenya bersifat publik atau dilindungi.

Kelas bisa tidak berubah dengan:


• Membuatnya final.
• Membatasi instantiasi ke konstruktor kelas.
• Menghilangkan metode yang mengubah variabel contoh

super () Metode Call


Panggilan metode super () memungkinkan Anda memanggil kelas induk dalam hirarki
kelas. Dalam kasus ini, kelas bersarang statis memperluas perilaku kelas yang
bersangkutan.

Kelas bersarang statis juga menyediakan sarana untuk memberi instantiasi kelas yang
terkandung saat konstruktornya dikonfigurasi sebagai akses pribadi. Ini adalah cara
kedua untuk memberi instantiate kelas yang memiliki kualifikasi akses terbatas atau
pribadi untuk konstruktor kelasnya.

Interface
Antarmuka adalah konstruk Java yang membantu menentukan peran yang dapat
diasumsikan oleh suatu objek. Ini diimplementasikan oleh kelas atau diperluas oleh
antarmuka lain.
• Antarmuka menentukan koleksi metode terkait tanpa implementasi.
• Semua metode dalam antarmuka Java bersifat abstrak

Kemungkinan Antarmuka
Antarmuka memberi pengembang dua kemungkinan:
• Mereka dapat mengembangkan kelas konkret yang hanya mengimplementasikan
antarmuka dan kemudian menggunakan kelas itu dengan menciptakan variabel tipe itu.
- Ini berarti kelas yang merupakan salinan kelas dan memiliki perilaku melalui agregasi.
- Agregasi hanyalah proses mendapatkan akses terhadap perilaku tipe objek saat Anda
mendeklarasikan variabel tipe itu di kelas.
• Mereka dapat mengembangkan kelas beton yang mengimplementasikan satu atau
banyak antarmuka

Apa Antarmuka yang Dapat Anda Lakukan


Antarmuka:
• Dapat mengumumkan konstanta publik.
• Mendefinisikan metode tanpa implementasi.
• Hanya bisa mengacu pada konstanta dan metode yang didefinisikan.
• Dapat digunakan dengan instance dari operator

Sementara kelas hanya bisa mewarisi superclass tunggal, kelas bisa


mengimplementasikan lebih dari satu antarmuka
public class className implements interfaceName {
...class implementation...}

Menerapkan kata kunci di Jawa yang digunakan saat kelas mewarisi sebuah antarmuka

Metode Antarmuka (Interface)

Metode antarmuka:
• Dalam sebuah antarmuka, setiap metode bersifat publik meskipun Anda lupa
mendeklarasikannya sebagai publik.
• Secara implisit abstrak tapi Anda juga bisa menggunakan kata kunci abstrak
Latihan
1. Buat sebuah antarmuka bernama Chassis:
• String konstan publik yang diberi nama chassis dengan nilai "Chassis".
• Definisi metode getChassisType publik yang mengembalikan sebuah instance dari
Chassis.
• Definisi dari setChassisType publik yang menerima sebuah string bernama
vehicleFrameType dan mengembalikan sebuah kekosongan.
1. Buat sebuah antarmuka Engine dengan daftar definisi metode umum berikut yang
mengembalikan kekosongan:

setEngineCylinders(int engineCylinders);
setEngineManufacturedDate(Date date);
setEngineManufacturer(String manufacturer);
setEngineMake(String engineMake);
setEngineModel(String engineModel);
setDriveTrain(String driveTrain);
setEngineType(String fuel);
setEngineType (String fuel);

2. Buat kelas beton naned VehicleChassis yang mengimplementasikan antarmuka Chassis dengan
berikut:
• Buat String bernama chassisName instance variable.
• Konstruktor default publik dan konstruktor kelebihan muatan dengan nilai berikut:
◦ String dengan nilai parameter chassisName
◦ Tetapkan variabel instance chassisName di keduanya, gunakan "Unibody"
sebagai nilai String default.
• Metode publik bernama getChassisType yang tidak memiliki parameter formal dan mengembalikan
instance dari antarmuka Chassis (petunjuk yang akan menjadi salinan kelas ini).
• Metode publik setChassisType yang mengambil parameter String vehicleChassis dan
mengembalikan sebuah kekosongan. Ini harus mengatur variabel instance chassisName.
• Metode toString publik yang mengembalikan hal berikut:
Chassis Name : Chassis

• Tuliskan metode utama statis yang menciptakan dua objek, satu dengan konstruktor default dan
yang lainnya dengan konstruktor dengan parameter. Berikan data sampel untuk parameternya.
1. Buat kelas beton bernama VehicleFrame yang mengimplementasikan antarmuka Chassis dengan
berikut:
• Buat variabel instance instance vehicleFrameType bernama String.
• Konstruktor default publik dan konstruktor kelebihan muatan dengan nilai berikut:
String dengan nilai parameter vehicleFrameType ◦ Tetapkan instance instance vehicleFrameType
di keduanya, gunakan "Unibody" sebagai nilai String default. • Metode publik bernama
getChassisType yang tidak memiliki parameter formal dan mengembalikan instance dari
antarmuka Chassis (petunjuk yang akan menjadi salinan kelas ini). • Metode publik
setChassisType yang mengambil parameter String vehicleChassis dan mengembalikan sebuah
kekosongan. Ini harus mengatur variabel instance chassisName. • Metode toString publik yang
mengembalikan hal berikut:
Chassis : Chassis
Vehicle Frame : Unibody
• Tuliskan metode utama statis yang menguji dua skenario: ◦ Salah satu yang mencetak semua
nilai bahan bakar, seperti:
Chassis : Chassis
Vehicle Frame : Unibody
◦ Salah satu yang mencetak nilai yang ditetapkan oleh satu nilai string
Vehicle Frame : Unibody
MODUL 4
Generic dan Koleksi

4.1 Tujuan
Pelajaran ini mencakup topik berikut:
• Membuat kelas generik sesuai kebutuhan
• Menggunakan tipe antarmuka diamond untuk membuat objek
• Membuat koleksi tanpa menggunakan generik
• Membuat koleksi dengan menggunakan generik

4.2 Kelas Generik


Kelas Generik
Kelas generik adalah kelas khusus yang mengasosiasikan satu atau lebih tipe Java yang tidak
ditentukan berdasarkan instantiasi.

Berikut adalah contoh bagaimana menginisialisasi kelas generik dengandua tipe java
public class Example<Type1, Type2>{
private Type1 t1;
private Type2 t2;
//You may include methods that set each of the types to the types that are initiated when a new
object of this class is created

Jenis Antarmuka Berlian


Intan antarmuka jenis memungkinkan Anda membuat metode generik seperti metode biasa,
tanpa menentukan jenis di antara kurung siku sudut.
• <Type1, Type2> adalah tipe antarmuka berlian untuk contoh pada slide sebelumnya.
Mengapa berlian?
- Kurung sudut sering disebut sebagai berlian <>.
- Biasanya jika hanya ada satu jenis di dalam berlian, kita menggunakan <T> di mana T singkatan
untuk Type.

Anda mungkin juga menyukai