Teknik Informatika Universitas Wijaya Kusuma Surabaya · Sistem Informasi Peminjaman Buku...
Embed Size (px)
Transcript of Teknik Informatika Universitas Wijaya Kusuma Surabaya · Sistem Informasi Peminjaman Buku...

TUGAS POLA-POLA PERANCANGAN
Sistem Informasi Peminjaman Buku
(Implementasi factory method pada JInternalFrame Java)
Nama Kelompok :
Erfan Rachmat Santosa ( 09120073 )
Untari Kristina ( 09120065 )
Teknik Informatika
Universitas Wijaya Kusuma Surabaya
2012

BAB I
1. PENDAHULUAN
1.1 LATAR BELAKANG
Umumnya pada sebuah aplikasi dapat menghadirkan berbagai macam bentuk
form kepada penggunanya.Misalnya, spesifikasi form tersebut (contoh kami adalah
classobject) dapat diperoleh secara dinamis.
1.2 BATASAN MASALAH
Batasan masalah pada sistem informasi peminjaman buku adalah :
1. Proses Transaksi peminjaman buku tidak diimplementasikan
2. Implementasi factory method pada component Jinternal Frame

BAB II
2. DASAR TEORI
2.1 DESAIN PATTERN
Design patterns adalah unsur-unsur rancangan yang sering kali muncul pada
berbagai sistem yang berbeda. Setiap kemunculan ini menguji pattern tersebut di
berbagai situasi. Semakin terujinya suatu unsur rancangan berarti semakin matangnya
unsur tersebut sehingga beberapa dapat dikatakan sebagai best practices dalam
perancangan sistem.
2.2 FACTORY METHODE
Factory Method Pattern Mendefinisikan sebuah antarmuka untuk menciptakan
objek, tetapi membiarkan subclass untuk menentukan kelas untuk instantiate dan
Mengacu pada objek yang baru dibuat melalui interface umum.
Penggunaan Umum Factory Method Pattern Sama dengan Singleton Pattern, Pattern ini
yang paling sering digunakan.
UML Class Diagram
Factory Method Pattern digunakan bila:
Kerangka kerja mendelegasikan penciptaan benda yang berasal dari superclass
umum untuk factory
Kelas factory dasar tidak tahu apa kelas beton akan diperlukan untuk membuat -
delegasi ke subclass penciptaan benda-benda konkret

Pabrik subclass subclass menyadari kelas beton yang harus instantiate
Penerapan & Contoh Factory Method Pattern
- ketika kelas tidak dapat mengantisipasi jenis objek yang bertujuan untuk
menciptakan
- ketika kelas ingin subclass untuk menjadi orang-orang untuk spesifik jenis objek
yang baru dibuat.
Contoh - Dokumen lamaran.
Mempertimbangkan kerangka untuk aplikasi desktop. Aplikasi ini dimaksudkan untuk
bekerja dengan dokumen. Sebuah kerangka kerja untuk aplikasi desktop mengandung
definisi untuk operasi seperti membuka, membuat dan menyimpan dokumen. Kelas-
kelas dasar yang abstrak, bernama Aplikasi dan Dokumen, klien mereka harus membuat
subclass dari mereka dalam rangka untuk menentukan aplikasi mereka sendiri. Untuk
menghasilkan sebuah aplikasi menggambar, misalnya, mereka harus menentukan
DrawingApplication dan kelas DrawingDocument. Kelas Aplikasi mempunyai tugas
mengelola dokumen, mengambil tindakan atas permintaan klien (misalnya, ketika
pengguna memilih membuka atau menyimpan bentuk perintah menu).
Karena kelas Dokumen yang perlu instantiated adalah khusus untuk aplikasi, kelas
Application tidak tahu itu di muka, sehingga tidak tahu apa yang harus instantiate, tapi
itu tidak tahu kapan harus instantiate itu. Kerangka kerja ini perlu instantiate kelas
tertentu, tetapi hanya tahu kelas abstrak yang tidak dapat instantiated.
Factory Method Desain Pattern ini memecahkan masalah dengan menempatkan semua
informasi yang berkaitan dengan kelas yang perlu instantiated menjadi obyek dan
menggunakan mereka di luar kerangka, seperti di bawah ini

2.3 ABSTRACT FACTORY METHODE
Abstract Factory Pattern merupakan salah satu jenis Creational Pattern yang
menangani mekanisme penciptaan object secara adaptif Abstract Factory menyediakan
sebuah interface untuk menciptakan keluarga yang terkait atau object yang tergantung
tanpa menentukan concrete class mereka.
UML Class Diagram
Abstract Factory Pattern digunakan ketika:
Sebuah sistem harus dikonfigurasi untuk bekerja dengan keluarga beberapa produk
Sebuah sistem harus independen dari cara kerjanya dengan produk yang dibuat.
keluarga Produk yang sama harus digunakan bersama-sama, produk dari keluarga
yang berbeda tidak digunakan bersama-sama dan kendala ini harus dipastikan.
Penciptaan perpustakaan produk yang dibutuhkan, yang relevan hanya antarmuka,
bukan implementasi (implementasi tetap tersembunyi kepada klien).
Penggunaan Umum Dari Abstract Factory Pattern:
- java.awt.Toolkit - superclass abstrak semua implementasi aktual dari Toolkit Jendela
Abstrak. Subclass dari Toolkit yang digunakan untuk mengikat berbagai komponen
untuk implementasi tertentu toolkit asli (Java AWT).
- javax.swing.LookAndFeel - pabrik ayunan abstrak untuk swithct antara tampilan dan
nuansa untuk beberapa komponen yang ditampilkan (Java Swing).

- java.sql.Connection – sebuah pabrik abstrak yang membuat Laporan,
PreparedStatements, CallableStatements, ... untuk setiap rasa database.
Contoh Abstract Factory Pattern adalah contoh yang paling umum. Misalnya, kerangka
GUI harus mendukung tampilan dan nuansa beberapa tema, seperti Motif dan tampilan
Windows. Gaya masing-masing mendefinisikan penampilan yang berbeda dan perilaku
untuk setiap jenis kontrol: Tombol dan Edit box. Untuk menghindari hardociding untuk
setiap jenis kontrol kita mendefinisikan LookAndFeel kelas abstrak. Ini panggilan akan
instantiate, tergantung pada parameter konfigurasi dalam satu aplikasi dari pabrik beton:
WindowsLookAndFeel atau MotifLookAndFeel. Setiap permintaan untuk objek baru
akan didelegasikan ke pabrik beton instatiated yang akan mengembalikan kontrol dengan
aroma spesifik
Contoh UML Class Diagram Look & Feel

BAB III
3. ANALISA DATA
3.1 Class Diagram
UML Class Diagram

Keterangan :
- FormAbstrack : Kelas abstrak umum sebagai template dari antarmuka
- Master_Buku_Form_JFrame : Kelas yang mengimplementasikan dari FormAbstrack
- Master_Peminjam_Form_Jframe : Kelas yang mengimplementasikan dari
FormAbstrack
- FormAbstrakCreator : Kelas abstrak sebagai template dari kelas
Concrete_FormAbstrakCreator.
- Concrete_FormAbstrakCreator : Kelas yang mengimplementasikan dari
FormAbstrackCreator dan memiliki method dengan keluaran type data FormAbstrack

BAB IV
4. IMPLEMENTASI
4.1 Desain
Pertama-tama menentukan bentuk abstraksi umum dari aplikasi form
public abstract class FormAbstrak extends javax.swing.JInternalFrame{
public abstract void Initialisasi();
public abstract void Load();
public abstract void Insert();
public abstract void Update();
public abstract void Delete();
}
Sebuah creator class bertanggung jawab (dengan bantuan dari concrete subclass) untuk
membuat instant dari subclass FormAbstrak. Abstraksi dari kelas creator diberikan dalam
class FormAbstrakCreator
public abstract class FormAbstrakCreator {
public abstract FormAbstrak createEntryForm(Class c)
throws Exception;
}
Kita buat contoh dengan membuat 2 kelas yang mengimplementasikan dari FormAbstrak.
Perbedaan diantara form tersebut dapat terletak pada jumlah field, button, dll.
public class Master_Buku_Form_JFrame extends FormAbstrak{
public abstract void Initialisasi(); { /* Code omitted. */ }
public void Load();{ /* Code omitted. */ }
public void Insert();{ /* Code omitted. */ }

public void Update();{ /* Code omitted. */ }
public void Delete();{ /* Code omitted. */ }
}
public class Master_Peminjam_Form_Jframe extends FormAbstrak {
public abstract void Initialisasi(); { /* Code omitted. */ }
public void Load();{ /* Code omitted. */ }
public void Insert();{ /* Code omitted. */ }
public void Update();{ /* Code omitted. */ }
public void Delete();{ /* Code omitted. */ }
}
Sebuah concrete subclass dapat menciptakan segala bentuk form yang berbasis dari tipe
kelas FormAbstrak
public class Concrete_FormAbstrakCreator extends FormAbstrakCreator{
@Override
public FormAbstrak createEntryForm(Class c) throws Exception {
return (FormAbstrak) c.newInstance();
}
}
Client (User) yang akan menginstanisasi object Concrete_FormAbstrakCreator secara run
time.
Contoh pada Form Menu Pengguna dan Menu Buku.
factory_method.FormAbstrak form_pattern=null;
factory_method.FormAbstrakCreator fc=new factory_method.Concrete_FormAbstrakCreator();
form_pattern=fc.createEntryForm(factory_method.Master_Peminjam_Form_Jframe.class);

4.2 Tampilan Interface Aplikasi
4.2.1 Login
4.2.2 Menu Utama

4.2.3 Form Master Peminjam (yang menggunakan konsep factory
method)
4.2.4 Form Master Buku