SinauDewe JavaSE “Hey, belajar sendiri itu mudah!” Bikin Gampang Coding GUI-Mu Dengan 'Java GUI Builder' Tutorial ini bebas untuk dicopy / disebarluaskan secara gratis. Dilarang menggunakan sebagian / keseluruhan isi untuk tujuan komersial tanpa seijin penulis! Non Commercial use only. Copyright 2011. Sinau Jigloo http://sinaudw.wordpress.com G U I GUI a.k.a Graphical User Interface mungkin sudah tidak asing di telinga kita. GUI merupakan tampilan antarmuka yang digunakan pengguna untuk berkomunikasi dengan program. Istilah GUI digunakan karena dahulu komputer belum menggunakan grafis atau masih berbasis text. Dengan model text ini pengguna harus menghafalkan setiap perintahnya. Karena tidak mudah bagi orang awam untuk mengingat setiap perintah tersebut, maka dibuatlah OS dengan berbasis GUI. DID YOU KNOW ! Siapakah yang memperkenalkan teknologi GUI didalam Operating System untuk pertama kalinya? “Apple?? ataukah Microsoft Windows??” Ternyata bukan, yang pertama kali membuat OS GUI adalah Xerox PARC. Konon menurut cerita OS GUI yang telah dibuat tidak disetujui para petinggi Xerox, “Apakah kamu ingin Xerox menggunakan alat aneh yang bernama mouse ini?”. Karena itulah OS GUI ini tidak pernah dikenalkan ke publik, sampai akhirnya Steve Job datang mengambilnya. Sumber : Pirates of Silicon Valley Dengan semakin populernya OS berbasis GUI akhirnya diikuti pula dengan lahirnya bahasa­bahasa pemrograman yang berbasis GUI, termasuk diantaranya Java. Pada veris awal 1.0 Java menggunakan AWT (Abstract Window Toolkit) dan Applet (GUI untuk web) sebagai perkakas GUI nya. Kemudian setelah Java 1.2 munculah Swing dan yang baru­baru ini SWT (Standard Widget Toolkit) buatan IBM. 1 Sinau Jigloo http://sinaudw.wordpress.com Swing Java GUI Swing merupakan perkakas / API yang termasuk didalam JFC (Java Foundation Class), yang digunakan untuk membangun aplikasi berbasis GUI. Swing dikembangkan untuk menyediakan perkakas GUI yang lebih canggih dari pendahulunya AWT. Berbeda dengan AWT Swing menyediakan tampilan look 'n feel yang lebih native, pun begitu Swing juga men­ support tampilan look 'n feel yang pluggable yang membuat aplikasi terlihat tidak terikat dengan tampilan theme didalam OS. MENGAPA BISA DIBERI NAMA “SWING” ? Cerita berawal ketika tim pengembang sedang pergi ke Hobees untuk makan siang. Mereka sedang memperbincangkan tentang nama toolkit yang sedang mereka buat. Saat itu kode namanya adalah KFC, yang dipilih oleh Rick Levenson (dia tahu nama itu ilegal karena sudah dimiliki Kentucky Fried Chicken) sebagai cara untuk memastikan bahwa tim akan datang dengan nama yang lebih baik. Mereka pun bingung akan diberi nama apa. Beberapa nama yang diusulkan tim nampak kurang bagus. Akhirnya setelah makan siang, ketika sedang kembali ke kantor SUN salah satu anggota tim Amy Fowler bertanya kepada George Saab “Hey George, apa yang sekarang sedang naik daun di San Francisco?”, “Dansa Swing nampak semakin tumbuh besar” jawab George. Dari celetukan inilah Swing akhirnya diambil sebagai nama API Java GUI. Hampir sama dengan cerita diatas, maskot Java “Duke” diambil dari nama Duke Ellington. Sumber : http://blogs.sun.com/thejavatutorials/entry/why_is_swing_called_swing Dahulu sewaktu notepad masih menjadi editor andalan, membuat tampilan Swing terasa begitu melelahkan. Apalagi bagi orang awam yang baru mengenal Java akan terasa sangat kesulitan, ditambah lagi dengan banyaknya konsep yang harus dipelajari (component, layout, listener, dll). Saya selalu berpikir akan lebih baik kalau ada sebuah editor yang mampu membantu membuatkan tampilan dengan mudah, jadi kita tidak perlu lagi memikirkan koding tampilan, jadi kita bisa fokus untuk algoritma program. 2 Sinau Jigloo http://sinaudw.wordpress.com Akhirnya setelah mengarungi samudera google akhirnya saya menemukan yang namanya IDE (Integrated Development Environment). Dari sekian banyak IDE Java (Netbeans, Eclipse, Intellij IDEA, JDeveloper, JCreator, dll) waktu itu hanya Netbeans yang membuat saya sangat tertarik. Bukan karena ringannya (ehem, maaf saya pakai RAM dengan kapasitas diatas rata­rata jadi tidak begitu terasa :D) tapi karena Matisse­nya yang telah membius saya dengan segala kemudahannya. 3 Sinau Jigloo http://sinaudw.wordpress.com Netbeans + Matisse = Cool Matisse merupakan project untuk membuat GUI Builder didalam Netbeans. Saya kurang tau kapan pertama kali Netbeans mulai mengadopsi Matisse. Seingat saya waktu pertama kali mengenal Netbeans saat itu versi 4.0 Matisse sudah ada didalam Netbeans. Gambar 1: Netbeans Matisse Keunggulan Matisse • Mudah digunakan. • Memudahkan pemula yang ingin mempelajari struktur program dari Swing. • Fitur drag 'n drop sangat membantu membuat tampilan dengan mudah. 4 Sinau Jigloo http://sinaudw.wordpress.com Kekurangan Matisse • Terasa begitu berat ketika dijalankan, apalagi jika tidak didukung dengan kapasitas RAM yang kurang memadai. • Hanya mendukung Swing. • Menyimpan konfigurasinya sebagai xml, yang membuat kurang fleksibel. Artinya tidak dapat mengenali program GUI yang dikoding dari luar. • Beberapa kode tertentu yang telah digenerate tidak dapat diedit manual. 5 Sinau Jigloo http://sinaudw.wordpress.com Eclipse + Jigloo = Awesome Satu lagi IDE yang membuat saya terkesan adalah Eclipse. Eclipse menurut saya sangat ringan dan bagus. Sangat cocok bagi yang kurang suka dengan wizard. Bagi beberapa pengguna tertentu terlalu banyaknya wizard malah dirasa sangat mengganggu, berat dan kurang bebas. Selama ini pengguna Eclipse merasa kurang nyaman ketika koding Swing. Semuanya harus diketik manual, selain harus disibukkan dengan koding algoritma atau inti dari program juga harus disibukkan dengan mendesain tampilan. Tentu saja hal ini menjadi kurang produktif, mengingat rumitnya membuat tampilan yang bagus hanya bermodalkan tangan kosong. Lalu yang jadi pertanyaan “Adakah plugin Eclipse yang dapat mempermudah pekerjaan ini?”. Ada, namun manakah yang bagus dan gratis? :D Dari sekian banyak plugin Eclipse untuk GUI Builder, hanya satu yang paling menarik perhatian saya “Jigloo”. Jigloo berlisensi “free for non­commercial use”, artinya selama bukan ditujukan untuk komersial kita dapat menggunakannya dengan gratis. Lumayan bersahabat bila dibandingkan dengan plugin GUI Builder Eclipse lain yang kebanyakan berbayar. Sangat cocok, memenuhi kriteria seperti yang kita cari. Tapi apa bagusnya Jigloo? Coba dan bandingkan, nanti kalian pasti akan tau. 6 Sinau Jigloo http://sinaudw.wordpress.com Install Jigloo Sebelum mencoba Jigloo harus kita download dahulu paketnya, search di http://marketplace.eclipse.org/ dengan kata kunci “jigloo”. Setelah didownload akan tampak seperti pada gambar dibawah ini. Gambar 2: File download jigloo Untuk menginstall Jigloo kedalam Eclipse caranya cukup mudah. Ekstrak file Jigloo yang sudah didownload. Kemudian copy semua isi folder “features” dan paste ke dalam folder “features” yang terdapat di dalam Eclipse, setelah itu copy semua isi folder “plugins” dan paste ke dalam folder “plugins” yang ada di dalam Eclipse. Setelah itu jalankan Eclipse­nya dan Jigloo siap untuk digunakan. Mencoba Jigloo Seperti biasa seperti saat menggunakan Netbeans, kita harus membuat project dahulu. Karena yang akan kita coba adalah Swing, maka saat membuat project baru kita pilih “Java Project”. Setelah jadi misalnya kita beri nama projectnya “TestJigloo”, kemudian kita mulai membuat file baru. Caranya ikuti langkah­langkah yang ada pada gambar dibawah ini. 7 Sinau Jigloo http://sinaudw.wordpress.com Gambar 3: Eclipse Create New File Gambar 4: Eclipse New JFrame 8 Sinau Jigloo http://sinaudw.wordpress.com Gambar 5: Eclipse Class Name Gambar 6: Eclipse Jigloo 9 Sinau Jigloo http://sinaudw.wordpress.com Keunggulan Jigloo • Free untuk tujuan Non­Commercial. • Cukup bersahabat dengan plugin Eclipse yang lain (tidak bermasalah saat disandingkan dengan plugin yang lain). • Selain Swing mendukung GUI Builder untuk SWT. • Tidak seperti Matisse yang menyimpan konfigurasi sebagai xml, Jigloo dapat membaca program yang dikoding dari luar (sangat fleksibel dan memudahkan). • Kode hasil generate dapat diedit manual dengan mudah dan secara otomatis akan langsung dikenali. Kekurangan Jigloo • Harus membayar lisensi bila ingin digunakan secara komersial. • Sangat sensitif terhadap setiap perubahan didalam program, yang menyebabkan sedikit agak berat ketika program sudah mulai membesar. • Kode program hasil generate tidak serapi Netbeans. 10 Sinau Jigloo http://sinaudw.wordpress.com Kesimpulan Netbeans & Eclipse hanyalah sebuah tools, punya kelebihan dan kekurangan masing­ masing. Pastikan gunakan yang memenuhi kriteria resource komputer yang kita miliki. Janganlah menggunakan fasilitas drag 'n drop secara berlebihan, karena seorang programmer yang baik dituntut untuk dapat membuat program dengan atau tanpa drag 'n drop (mampu membuat program meskipun hanya menggunakan console dan text editor biasa). Sebetulnya masih banyak tools lain (JDeveloper, Intellij IDEA, dll), namun karena keterbatasan tidak bisa saya bahas semua (keterbatasan bandwidth dan resource komputer =_='). Sekian sinau kali ini, sampai jumpa lagi disinau selanjutnya dan jangan pernah takut untuk sinaudewe karena “belajar sendiri itu mudah!”. 11