Laporan Ppp Uas

12
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

description

kjkjkjk

Transcript of Laporan Ppp Uas

  • 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