Java Design Pattern – Factory

Repost dari artikel saya di PC Mild 04/2011

Munculnya OOP (Object Oriented Programming) memberi banyak kemungkinan solusi untuk masalah-masalah pemrograman. Dalam masalah-masalah tersebut, ternyata ditemukan juga suatu pola penyelesaian yang bisa secara baku namun fleksibel digunakan dalam masalah lain yang serupa. Pola tersebut biasa disebut dengan “Design Pattern”.

Seperti yang telah dijelaskan pada edisi sebelumnya, dalam ilmu Software Engineering, design pattern adalah suatu pola solusi umum yang digunakan pada masalah-masalah yang sering muncul pada desain software (sumber: Wikipedia.org). Tetapi design pattern bukanlah solusi akhir dari suatu masalah yang spesifik. Design pattern hanyalah pola bagaimana menyelesaikan suatu masalah yang bisa digunakan dalam berbagai situasi.

Setelah penulis membahas design pattern Singleton di edisi sebelumnya, kali ini akan dijelaskan salah satu design pattern lain yang cukup sering dipakai di dunia software engineering, yaitu Factory Pattern.
Continue reading

Java Design Pattern – Singleton

Repost dari artikel saya di PC Mild 03/2011

Munculnya OOP (Object Oriented Programming) memberi banyak kemungkinan solusi untuk masalah-masalah pemrograman. Dalam masalah-masalah tersebut, ternyata ditemukan juga suatu pola penyelesaian yang bisa secara baku namun fleksibel digunakan dalam masalah lain yang serupa. Pola tersebut biasa disebut dengan “Design Pattern”.

Dalam ilmu Software Engineering, design pattern adalah suatu pola solusi umum yang digunakan pada masalah-masalah yang sering muncul pada desain software (sumber: Wikipedia.org). Tetapi design pattern bukanlah solusi akhir dari suatu masalah yang spesifik. Design pattern hanyalah pola bagaimana menyelesaikan suatu masalah yang bisa digunakan dalam berbagai situasi.

Design pattern pertama kali diperkenalkan oleh Erich Gamma, Richard Helm, Ralph Johnson, dan John Vlissides yang dikenal dengan “Gang of four”. Mereka mendapati di dalam kode program mereka, terdapat suatu pola yang sering muncul.
Continue reading

Dasar Grafis dan Animasi Java

Repost dari artikel saya di PC Mild 02/2011

Java menyediakan library untuk grafis dan multithreading sebagai modal untuk pembuatan animasi. Dengan menggunakan library tersebut, ditambah sedikit interaksi input mouse, Anda bisa membuat game sederhana. Namun artikel kali ini hanya akan membahas dasar-dasar penggunaan grafis, animasi, dan input sederhana saja. Anda bisa mengembangkannya sendiri lebih lanjut.

Hampir semua komponen grafis 2 dimensi Java terletak dalam package java.awt dan javax.swing. Bahkan untuk event dari mouse dan keyboard pun terletak dalam package java.awt.event. Sedangkan untuk threading, terletak pada package java.lang yang otomatis digunakan oleh seluruh program Java. Continue reading

Hello Java3D

Repost dari artikel saya di PC Mild 01/2011

Java 3D API adalah sebuah hirarki class yang menyediakan interface untuk sistem render grafis dan suara tiga dimensi yang kompleks. Sehingga dengan demikian programmer dapat bekerja pada konstruk level tinggi tanpa perlu mengetahui bagaimana proses berjalannya. API ini menyediakan lebih dari 100 class yang akan diproses sedemikian rupa oleh engine 3D tersebut.
Continue reading

Java – Menggunakan Collection Framework

Repost dari artikel saya di PC Mild 25/2010

Mengumpulkan banyak variable dengan tipe sama dalam sebuah array adalah hal yang mutlak dibutuhkan dalam bahasa pemrograman apa pun. Seiring dengan kebutuhan tersebut, banyak juga dibuat fungsi-fungsi untuk memanipulasi array. Dalam Java, Anda bisa memanfaatkan seluruh framework Collection yang akan bertindak seperti array dengan fungsi-fungsi powerful yang tersedia sesuai kebutuhan.

Diagram collection - klik untuk melihat versi besar

Sebuah collection adalah sebuah object yang merepresentasikan kumpulan object-object. Collection digunakan untuk menyimpan, mengambil, dan memanipulasi data-data. Salah satu collection paling sederhana adalah Array. Namun dalam Collection Framework, Java menawarkan berbagai bentuk lain dari Collection.
Continue reading

Java – Menggunakan Class Robot

Repost dari artikel saya di PC Mild 24/2010

Java memiliki sebuah class yang dapat mengontrol jalannya keyboard dan mouse. Dengan class ini, event mouse dan keyboard dapat di-generate melalui program. Pada contoh kali ini akan dijelaskan bagaimana class tersebut bisa mengetik layaknya keyboard, menggerakkan mouse, serta mengambil screenshot layar.

Caranya adalah menggunakan class Robot. Class ini terletak dalam package java.awt, yang mayoritas digunakan untuk keperluan aplikasi berbasis grafis. Tapi pada dasarnya class ini digunakan untuk meng-generate event native input untuk keperluan otomasi tes, demo yang berjalan sendiri, dan aplikasi lain yang membutuhkan kontrol dari mouse dan keyboard.
Continue reading

Menggunakan MongoDB dengan Java

Repost dari artikel saya di PC Mild 23/2010

Database menjadi bagian penting dalam sebuah aplikasi. Kegunaan utamanya adalah menyimpan berbagai data dinamis dari aplikasi tersebut. Salah satu kendala dalam penggunaan RDBMS (Relational Database Management System) seperti MySql dan SQL Server adalah kesulitannya dalam membuat struktur penyimpanan data yang tidak tabular dan dengan field yang mudah berubah.

Beberapa kendala lain yang ditemukan dalam RDBMS membuat para developer menciptakan suatu DBMS yang tidak bergantung pada struktur tabel dan syntax SQL. MongoDB adalah salah satu DBMS NoSQL berbasis document-oriented yang sedang berkembang pesat saat ini, karena juga berbasis open source. Untuk lebih jelasnya bisa mengunjungi website resminya di http://www.mongodb.org.
Continue reading

Membatasi Karakter pada JTextField

Repost dari artikel saya di PC Mild 22/2010

Bermain dengan package Swing memang tidak ada habisnya. Paradigma pemrograman berorientasi object yang digunakan memberikan ruang berkreasi yang semakin besar. Setiap komponen dapat dibuat bentuk modifikasinya dengan cara membuat turunan dari komponen yang ingin dimodifikasi. Salah satunya adalah menurunkan JTextField untuk membuat komponen yang otomatis membatasi jumlah karakter yang masuk.

Logo Java

Secara default, JTextField tidak menyediakan property ataupun method untuk membatasi jumlah karakter yang dimasukkan. Namun Anda bisa membuat sendiri fungsi tersebut. Memang ada banyak cara untuk melakukannya. Hal yang paling sering dilakukan adalah mencegat event pada saat pengetikan pada keyboard. Ada wacana bahwa melakukan hal tersebut kurang efisien, karena mengakibatkan seluruh proses pengetikan harus melewati mekanisme tersebut. Selain itu, cara tersebut dapat ditembus dengan mengcopy-paste teks ke textfield tersebut.
Continue reading

Membuat, Menulis, dan Membaca File Teks

Repost dari artikel saya di PC Mild 21/2010

Salah satu aktivitas yang paling sering dilakukan oleh sebuah program adalah berurusan dengan file. Hal paling mendasar dalam memanipulasi file adalah yang berkaitan dengan file teks. Karena itu, mengerti bagaimana membuat, menulis, dan membaca file teks menjadi salah satu dasar pemrograman Java yang harus dimiliki.

Logo Java

Dalam sebuah program kompleks, barangkali ada lebih dari ratusan baris yang akan berurusan dengan file. Akan sangat merepotkan jika ketika setiap baris tersebut Anda harus menuliskan prosesnya secara manual satu-persatu. Karena itu, alangkah baiknya jika membuat sebuah class bantuan yang berurusan dengan file.
Continue reading

Membuat Icon Dengan Efek Refleksi Kaca

Repost dari artikel saya di PC Mild 20/2010

Swing adalah salah satu package Java yang cukup menarik dan banyak sekali dipakai untuk pemrograman grafis. Tidak hanya mudah digunakan, tetapi juga mudah dimodifikasi. Bagian yang cukup menarik untuk dimodifikasi adalah tentang tampilannya.

Untuk menampilkan icon, biasanya cukup dengan menggunakan class jLabel, dengan sebuah gambar PNG ukuran tertentu. Dari sisi desain, sebenarnya pembuatan icon tersebut bisa dimodifikasi sehingga tampilan menjadi lebih menarik dengan efek pantulan kaca seperti ini.

Hasil pembuatan icon refleksi kaca

Modifikasi dilakukan dengan membuat turunan dari class jLabel. Konsep dasarnya adalah melakukan penggambaran ulang dari image yang digunakan sebagai icon, dengan menggunakan Java 2D API.
Continue reading