6 Mar 2013

J a v a S w i n g






1.          Swing Make Over Java
Swing Java
adalah salah satu pemograman berbasis GUI(Graphical User Interface) di Java. Sesungguhnya di Java terdapat dua macam pemrograman berbasis GUI(Graphical User Interface) yaitu : AWT dan Swing.

Namun dalam perkembangannya AWT sudah tidak dianjurkan untuk digunakan dikarenakan faktor keamanan. Banyak sekali fitur yang terdapat di Swing, namun dalam kesempatan ini kita hanya akan mengganti icon saja.

Walaupun Swing jarang di gunakan di
aplikasi desktop base, karena kebanyakan developer lebih memilih menggunakan VB, Delphi ataupun .NET yang lebih ringan dan tidak makan banyak resource memory karena sifatnya yang native.
Namun penggunaan java bisa untuk lintas platform sehingga kita tidak perlu membuat aplikasi dua kali.











Java SwingMakeOver
merupakan teknik memanipulasi tampilan User Interfaces (Java Swing). Teknik ini dilakukan dengan menggunakan penggambaran agar tampilan komponen-komponen Java Swing seperti TextField, Button dan lain-lain menjadi kelihatan lebih cantik . 


Jadi tampilan komponen-komponen Java Swing tidak monoton seperti itu saja , yang bentuknya selalu persegi panjang atau pun persegi . namun jika kita menggunakan Swing Makeover nanti tampilan komponen-komponen pada Java Swing akan lebih cantik dan menarik . Di bawah ini adalah contoh tampilan project yang menggunakan Java Swing Make Over. Ada juga yang menyebut SwingMakeover dengan sebutan SwingX











Kelebihannya antara lain adalah sebagai berikut :

  •   Terdapat  fungsi addHighlighter() yang digunakan untuk memberi highlight pada sel tertentu (bisa berupa warna background berbeda dan sebagainya).

  •  SwingX juga menawarkan komponen baru, seperti JXDatePicker. Ini adalah contoh komponen yang sering dibutuhkan oleh aplikasi, tetapi tidak disediakan oleh Swing secara langsung.
  • SwingX juga memiliki kotak dialog siap pakai, seperti JXTipOfTheDay, yang umum dipakai untuk menampilkan tips di program.



2.          Konsep MVC dan Framework pada JAVA!

MVC

adalah arsitektur aplikasi yang memisahkan kode-kode aplikasi dalam tiga lapisan, Model, View dan Control. MVC termasuk dalam arsitektural design pattern yang menghendaki organisasi kode yang terstruktur dan tidak bercampur aduk. Ketika aplikasi sudah sangat besar dan menangani struktur data yang kompleks, harus ada pemisahan yang jelas antara domain model, komponen view dan kontroler yang mengatur penampilan model dalam view.
Arsitektur MVC ini memungkinkan adanya perubahan dalam
domain model tanpa harus mengubah code untuk menampilkan domain model tersebut. Hal ini sangat bermanfaat ketika aplikasi mempunyai domain model dan view komponen sangat besar dan
kompleks.

Menurut arsitektur MVC, semua modul perangkat lunak terpisah menjadi tiga bagian yang berbeda: model, view, dan controller.

 

Model
adalah representasi dari object yang sedang diolah oleh aplikasi, dalam Java, model ini
biasanya direpresesentasikan sebagai Java Bean. Java Bean adalah class Java biasa atau
POJO (Plain Old Java Object). Syarat sebuah POJO dianggap sebagai Java Bean adalah :
 1. Mempunyai constructor default, constructor yang tidak mempunyai parameter.
2. Semua field-field yang bisa diakses dilengkapi dengan getter dan setter method

Pendekatan terbaik adalah memisahkan kode untuk melakukan akses sumber data ke dalam
lapisan tersendiri, lapisan ini biasanya disebut sebagai service. Service diimplementasikan
dalam bentuk class-class yang disebut sebagai manager, misalnya SQLManager,
PrintManager, ReportManager, XMLManager, WebServiceManager dan seterusnya. Dengan
begitu kode akan menjadi lebih rapi dan terstruktur. Manfaat paling terasa adalah kemudahan
pencarian kesalahan dan penambahan modul-modul baru tidak harus merombak seluruh
struktur aplikasi.

View
adalah komponen untuk merepresentasikan Model dalam bentuk visual. Semisal komponen
swing, seperti : JTable, JList, JComboBox dan sebagainya. View juga bertanggung jawab untuk
menangkap interaksi user terhadap sistem, semisal : klik mouse, penekanan tombol keyboard,
barcode scanning dan sebagainya.

Controller
sebenarnya hanya sekumpulan kode-kode untuk mensinkronisasi keadaan Model dan View.
Jika ada perubahan data dari Model, Controller harus mengupdate tampilan View. Dan
sebaliknya jika user memberikan event terhadap View, Controller harus mengupdate Model
sesuai dengan hasil interaksi user terhadap View.
Model dalam Komponen Swing

Sebagaian besar komponen swing mempunyai model. JButton mempunyai model yaitu
ButtonModel yang memegang ‘state’ dari JButton – apa keyboard mnemonicnya, apakah
JButton tersebut sedang dipilih atau tidak dan seterusnya. Ada pula komponen swing yang
mempunyai lebih dari satu model. JList mempunyai ListModel yang memegang isi dari JList dan
ListSelectionModel untuk mencatat item JList yang sedang dipilih. Pada banyak kasus normal
kita tidak perlu pusing memikirkan model ini. Semisal kita tidak perlu memikirkan model dari
JButton karena pada kasus umum kita tidak perlu memodifikasi model dari JButton.

Keuntungan dari MVC 
Fleksibilitas dan reuseability.

  Hubungan dinamis antara potongan-potongan model dan view yang memungkinkan  
      untuk perubahan yang terjadi pada saat run-time daripada selama kompilasi. 
Pemisahan program ke modul memungkinkan untuk masalah yang harus dihadapi    
lebih mudah. 
Merancang bagian dari program tersebut secara terpisah pada saat runtime dapat 
       membantu modifikasi dan pengelolaan
  Masa depan perubuhan dapat dilakukan lebih mudah dengan mengubah segmen
    program.

MVC and Java Swing
MVC diimplementasikan di Java pada komponen Swing UI kelas JFC.
Java menggunakan view yang berbeda dari pola MVC. Di sini, bagian model yang  
     tetap sementara bagian view dan controler digabungkan menjadi satu komponen.
Semua komponen di Java Swing telah didefinisikan model data. Ini dapat berupa
   built-in kelas atau kelas yang ditetapkan pengguna.

Keuntungan MVC in Java
Menerapkan pola MVC dalam Java untuk pembentukan sebuah toolkit pengguna higly 
               fleksibel antarmuka.
Oleh karena itu, komponen Swing seperti tombol, tabel atau scrollbar dapat   
   dimodifikas secara bersamaan saat mereka sedang digunakan.

Beberapa alasan pokok mengapa model MVC menjadi sangat bermanfaat yaitu :
  • ü Penggunaan ulang komponen-komponen antarmuka pengguna.
  • ü Kemampuan untuk mengembangkan aplikasi dengan antarmuka pengguna secara terpisah.
  • ü Kemampuan untuk melakukan pewarisan dari berbagai bagian yang berbeda pada suatu hierarki kelas.
  • ü Kemampuan untuk mendefinisikan kelas-kelas pengaturan tampilan yang menyediakan fitur-fitur umum secara terpisah dengan bagimana fitur-fitur itu akan ditampilkan oleh aplikasi yang kita kembangkan.


FRAMEWORK
Framework biasanya bersifat object-oriented dan merupakan suatu desain sistem yang dapat digunakan kembali .Tujuannya untuk mengurangi pembuatan kembali kode yang sama sehingga programmer dapat lebih fokus mengerjakan bagian lain .
Keuntungan menggunakan framework :
·       Menggunakan kembali kode yang telah dibuat dan diuji sehingga meningkatkan keandalan dari aplikasi baru dan mengurangi  programming dan usaha pengujian .
·       Framework membantu menciptakan latihan pemrograman yang lebih baik dan penggunaan pola desain yang sesuai serta alat pemrograman yang baru .

Kekurangan framework:
·       Membuat sebuah framework tidaklah mudah dan memakan waktu serta biaya
·       Seiring berjalannya waktu , framework yang dibuat dapat menjadi lebih kompleks

Beberapa framework JAVA :
  • ü Hibernate
Merupakan framework yang bekerja pada bagian model (sebagai penghubung antara model dengan database).  Hibernate merupakan framework Object Relational Mapping, dimana dengan framework ini kita bisa lebih mudah melakukan proses Persistence.

  • ü JPA <Java Persistent Api>
  • ü  EJB <Enterprise JavaBeans>
  • ü Struts1 dan Struts2
Merupakan framework yang bekerja pada bagian controller.
  • ü JSF <Java Server Faces>
  • ü Spring
 Merupakan framework yang menghubungkan antara bagian model dengan view.  Framework ini memperkenalkan konsep IoC (Injection of Controll) adan dikenal dengan nama Dependency Injection. selain itu Spring juga terus berkembang sampai2 Spring bisa dibilang framework Enterprise, karena bisa ditempatkan dimana saja dan dapat diintegrasikan dengan berbagai framework seperti Hibernate contohnya

  • ü Apache Wicket
Merupakan implementasi dari JMS paling populer di jagad raya. Activemq sangat bagus jika kita membangun aplikasi yang membuatuhkan fasilitas JMS. Namun jika kita menggunakan Enterprise Server seperti GlassFish, JBoss, Geronimo, Websphere. ActiveMQ jadi tidak perlu digunakan, tapi jika kita akan membangun sebuah sistem yang perlu JMS tanpa menggunakan Enterprise Server, ActiveMQ wajib dipake.


1.          SPRING





1.       Definisi Spring
Spring adalah framework pengembangan aplikasi ysang dikembangkan oleh Rod Johnson, muncul karena spesifikasi EJB yang memaksakan pengembangan komponen harus mengikuti aturan EJB agar dapat berjalan dalam aplikasi server SJAS dan Jboss. Dengan Spring, pengembangan komponen dapat dilakukan dengan teknik pemrograman yang lebih sederhana.

2.    Sejarah Spring
Spring merupakan open source framework yang diciptakan oleh Rod Johnshon, Pada akhir tahun 1996, Sun menerbitkan spesifikasi Java Beans 1.00A. spesifikasi ini menjelaskan tentang peraturan – peraturan coding java yang memperbolehkan suatu objek yang bisa menjadi komponen yang bisa dipakai berulang – ulang ke dalam suatu aplikasi java yang lebih kompleks. selanjutnya pada tahun 1998, Sun kembali menerbitkan policiesnya tentang EJB(Enterprise Java Beans) yang merupakan elemen yang reusable namun dengan kelebihan – kelebihan seperti server side dan menyediakan banyak kemampuan untuk enterprise service. EJB dibuat tentunya untuk mempermudah para developer untuk membuat aplikasi enterprise, namun para developer merasa tidak demikian. EJB sulit dan sangat rumit sehingga justru membuat para developer justru kehilangan minat terhadap EJB ini.
Untungnya sekarang pemrograman JAVA lebih berkembang, seperti adanya AOP(Aspect Oriented Programming) dan IoC(Inversion of Control) sehingga memberikan Java Beans kekuatan yang lebih, dibandingkan EJB yang sangat rumit.

3.    Keuntungan Spring
·       IoC
Sebagai sebuah framework, spring menawarkan loosely coupling dengan teknik yang dinamakan IoC. jadi dengan menggunakan IoC, objek memberikan dependenciesnya saat pembuatan dengan menggunakan entity luar yang mengkoordinir setiap objek di system. Untuk lebih jelasnya akan dijelaskan pada bagian Dependency Injection.

·       AOP
      AOP merupakan salah satu paradigma pemrograman dengan tujuan untuk meningkatkan modularitas dengan memfokuskan pada pemisahan-pemisahan modul dengan tujuan-tujuan khusus yang biasa disebut dengan "Crosscutting Concerns".

·       Bersifat Container
Spring juga merupakan sebuah Container yang mengatur daur hidup dan konfigurasi dari objek. Dalam spring Anda dapat mendeklarasi bagaimana setiap objek tersebut seharusnya dibuat, bagaimana seharusnya di konfigurasikan dan bagaimana objek tersebut dapat berasosiasi dengan yang lain.

·       Lightweight container
Beberapa container aplikasi seperti, EJB Container memaksa kita mengikuti suatu aturan (EJB-spec) untuk membuat komponen interface atau model. EJB merupakan standar pengembangan komponen dalam java yg berjalan disisi server dengan suatu kontrak terhadap aplikasi server seperti SJAS dan JBoss. Namun dengan konsep lightweight tidak diperlukan lagi suatu spesifikasi khusus dalam pembuatan komponen (POJO), berikut ciri lightweight container :
-      POJO
-      Life-cycle management
-      Dependency Injection
-      Consistent Configuration
-      Service Attachment

·       Merupakan Framework
Spring merupakan sebuah framework, maksudnya spring memungkinkan untuk membangun dan mengkonfigurasi sebuah aplikasi yang kompleks dari komponen-komponen yang sederhana. Dalam Spring, objek didefinisikan dalam file XMLFitur inti dari Spring Framework dapat digunakan oleh setiap aplikasi Java, tetapi ada ekstensi untuk membangun aplikasi web di atas platform Java EE. Meskipun Spring Framework tidak memaksakan model pemrograman tertentu,menjadi populer di Java Community sebagai alternatif, pengganti, atau bahkan selain model Enterprise JavaBean (EJB).

Fitur-fitur dari Spring Framework :

Transaction Management :
Spring framework menyediakan sebuah layer abstrak yang generik untuk manajemen transaksi, sehingga memudahkan para developer dalam melakukan manajemen transaksi.

JDBC Exception Handling :
layer abstrak JDBC menawarkan exception yang bersifat hierarki sehingga memudahkan penanganan error.

Integration with Hibernate, JDO, and iBatis :
Spring menawarkan layanan integrasi terbaik dengan Hibernate, JDO dan iBatas

AOP Framework :
Spring merupakan framework AOP Terbaik yang pernah ada.

MVC Framework :
Spring hadir dengan framework aplikasi web MVC, yang dibangun di atas inti Spring. Spring merupakan framework yang sangat fleksibel dalam pengaturan strategi interface, dan mengakomodasi beberapa teknologi view seperti JSP, Velocity, Tiles, iText, dan POI

Arsitektur Spring :

Spring AOP
Salah satu komponen utama Spring adalah AOP Framework,
AOP framework digunakan untuk :
ü Untuk menyediakan layanan Enterprise, terutama sebagai pengganti EJB. Layanan terpenting dalam layanan ini adalah untuk mendekralitf manajemen transaksi, yang telah disediakan dalam abstraksi spring transaction.
ü  Untuk memungkinkan pengguna dalam menerapkan AOP dalam penggunaan OOP.

Spring ORM
Spring ORM berhubungan dengan akses database dan menyediakan lapisan layer terintegrasi dengan ORM yang populer termasuk JDO, Hibernate dan iBatis.

Spring Web
Merupakan bagian dari modul pengembangan Web Spring termasuk Spring Web MVC.

Spring DAO
DAO (Data Access Object) mendukung standarisasi akses data yang menggunakan teknologi seperti JDBC, Hibernate dan JDO.

Spring Context
Paket ini didasari pada paket beans untuk menambah dukungan sumber pesan dan untuk pola desain Observer, dan kemampuan untuk mendapatkan sumber daya yang konsisten dengan menggunakan API.
Spring Web MVC
Menyediakan implementasi MVC untuk aplikasi web.


Spring Core
Paket Spring Core ini merupakan komponen paling penting dari Spring Framework. Komponen ini menyediakan fitur Dependency Injection. BeanFactory memisahkan dependensi seperti inisialisasi, pembentukan dan akses object dari logika program anda

4.             KESIMPULAN

Sebenarnya penerapan Swing Make Over ini tidak terlalu rumit. Hanya agar membuat suatu tampilan program yang kita buat lebih menarik.
Swing Make Over / Swing X sendiri memiliki keunggulan dibandingkan Swing sendiri, misalnya: adanya tampilan untuk membuat tanggal, dan tampilan tanggal ini juga cukup lumayan menarik.
Dalam JAVA juga ada yang namanya Framework, yang jenisnya cukup banyak, dan salah satunya yaitu SPRING, yang punya kelebihan : Mudah dipelajari, Tidak terlalu invasif,Helper class yang banyak, Mendukung AOP, Menyediakan integrasi dengan framework lain. Dengan adanya framework ini, maka programer akan lebih mudah untuk memaintain programnya.



Manfaat Framework
Beberapa manfaat yang dapat kita peroleh dengan menggunakan framework dalam pengembangan aplikasi :

#> Penggunaan komponen-komponen reusable, waktu pengembangan lebih singkat penerapan design patterns memudahkan dalam rancangan, pengembangan dan pemeliharaan sistem.
#> Stability dan reliability, aplikasi yang kita bangun lebih stabil dan handal karena berbasis pada framework yang sudah teruji stabilitas dan kehandalannya.
#> Coding style konsisten, memudahkan dalam membaca kode dan dalam menemukan bugs.
#> Security concern, framework mengantisipasi dan memasang perisai terhadap adanya berbagai masalah keamanan yang mungkin timbul.
#> Dokumentasi, framework dapat mendisiplinkan kita untuk menulis dokumentasi untuk apa yang kita tulis.
                                  
 


Tidak ada komentar:

Posting Komentar