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. Kelaskelas 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
3. ANALISA DATA BAB III 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