Piala Dunia dan Kenangan yang Dibawanya Padaku

Posted by: on Jun 8, 2006 | 2 Comments

Sehari lagi, ajang empat tahunan Piala Dunia 2006 digelar. Media sudah siap sedia menyambut gelaran besar ini, para gibol-gibol pun sudah menyiapkan diri sebaik-baiknya untuk melahap pertandingan demi pertandingan yang digelar di Jerman. Entah beli kopi satu kardus, entah menyiapkan camilan, beli receiver atau televisi baru, dll.

Aku sebenarnya bukan penggila sepak bola. Tapi aku jadi ingat, ajang piala dunia selalu bersamaan dengan masa-masa transisi penentuan masa depan. Piala Dunia 1998 adalah transisi dari SMP 2 ke Smuboy, piala dunia 2002 adalah yang paling kritis, karena itu adalah transisi dari Smuboy ke Teknik Informatika, dan yang sekarang adalah masa-masa akhir tugas akhirku sebelum aku maju sidang Juli nanti.

Well, Piala Dunia 2002 digelar pada saat hot-hotnya persiapan menghadapi SPMB 2002. Meskipun sedang semedi di kamar tidak pernah keluar namun aku tidak melewatkan event ini dengan menonton siaran langsung yang ditayangkan RCTI. Diagram jadwal pertandingan yang kusobek dari koran Jawa Pos aku pasang di dinding sebelah televisi, dengan jago Brazil sebagai juara dunia. Dan yang menarik, partai final digelar hanya berselang 3 hari sebelum genderang perang SPMB. Akankah partai final harus terlewatkan?

Teman-temanku sudah banyak yang berangkat jauh-jauh hari ke tempat ujian SPMB. Aku yang ujian di Universitas Negeri Malang (UM) memilih berangkat agak terlambat. Aku menonton pertandingan final Brazil versus Jerman yang berakhir dengan kemenangan Brazil dengan mutlak. Keesokan harinya, pagi-pagi, aku berangkat ke Malang menuju Jalan Jombang 10 (nomer rumahnya aku udah lupa), kos-kosanku untuk menginap di Malang selama SPMB. Siangnya sampai sana, setelah merasakan angin dan air Malang yang dingin, aku berangkat melihat-lihat lokasi tempat aku ujian. Kalo nggak salah ingat aku ujian di Fakultas Ekonomi.

Besoknya pagi-pagi sekali aku sudah menyiapkan seluruh jiwa raga untuk menghadapi event yang amat menentukan masa depan itu. Pilihan ada pada hari itu, apakah aku akan di dunia IT (Informatics), ekonomi (Depkeu STAN), ataukah nganggur dan mengulang tahun depan? Dan memang akhirnya aku sekarang ada di sini, sedang menulis blog, di dalam gemerlap dunia IT, Informatics ITS, dan sedang menunggu event Piala Dunia 2006 yang mungkin juga menjadi saksi masa transisi… ^_^

Upload File di Java Servlet

Posted by: on Jun 3, 2006 | 3 Comments

Pada aplikasi berbasis web, terkadang saya perlu mendapatkan input dari user berupa file yang harus ia upload melalui web. Bagaimana melakukannya di aplikasi berbasis Java? Panduan singkat ini akan menerangkannya.

Saya menggunakan servlet sebagai basis aplikasinya — sebenarnya tidak penting kita memakai basisnya, bisa servlet, bisa JSP biasa, atau struts, spring, JSF, whatever lah. Kemudian, saya akan menggunakan library Apache Software Foundation sebagai bantuan. Library yang akan kita perlukan adalah Jakarta Commons File Upload dan Jakarta Commons IO. Silakan download rilis terbaru dari kedua situs tersebut dan masukkan dalam CLASSPATH / library aplikasi web Anda.

Kemudian, langkah selanjutnya sederhana, menulis code. Pertama adalah menulis form yang akan diberikan kepada user, jangan lupa tipe form-nya adalah multipart/form-data. Kemudian lemparkan form tersebut pada servlet pemroses. Pada servlet pemroses itu, olah file yang diupload dengan class-class milik Jakarta Commons. Paling sederhana seperti di bawah ini:



FileItemFactory factory = new DiskFileItemFactory();

ServletFileUpload upload = new ServletFileUpload( factory );

try {

List items = upload.parseRequest( request );

Iterator it = items.iterator();

if( it.hasNext() ) {

DiskFileItem item = ( DiskFileItem ) it.next();

if( item.isFormField() ) {

processForm( item );

}

else {

processFileUpload( item );

}

}

}

catch( FileUploadException e ) {

e.printStackTrace();

}



Dua baris teratas, objek FileItemFactory dan ServletFileUpload adalah dua objek yang dibuat untuk mempersiapkan penangkapan file yang diupload. Kemudian, method parseRequest membaca setiap input form yang dikirimkan tidak hanya input yang tipe-nya file saja. Itulah sebabnya, baris berikutnya adalah blok percabangan yang jika tipe input form adalah file atau jika bukan file atau hanya form field biasa.

Method processFileUpload berisi proses yang mengurusi file yang telah diupload lebih lanjut. Objek yang memegang file yang diupload tersebut adalah DiskFileItem. Objek ini memiliki method-method yang sangat berguna seperti misalnya,



String fieldName = item.getFieldName(); <-- mendapatkan nama input form

String fileName = item.getName(); <-- mendapatkan nama file

String contentType = item.getContentType(); <-- mendapatkan tipe file

boolean isInMemory = item.isInMemory(); <-- mendapatkan status

long sizeInBytes = item.getSize(); <-- mendapatkan ukuran file

Simple, sederhana saja. Terima kasih untuk Apache Software Foundation yang telah membuat library yang sangat berguna ini. Have a happy coding!

Bla Bla Bla for Windows

Posted by: on Jun 2, 2006 | 11 Comments

Ironis sekali sebenarnya jika aku hingga kini masih tetap pakai Windows. Bukan karena Windows-ku mbajak — legal jeh — tetapi karena aplikasi yang kugunakan sebenarnya aplikasi yang aselinya untuk Unix/Linux kemudian diporting ke Windows. Aku tidak bisa atau masih berat meninggalkan Windows karena dua hal, Adobe Photoshop dan Macromedia Dreamweaver yang sama sekali tidak bisa tergantikan oleh software-software open source.

Dreamweaver sebenarnya bisa diganti oleh NVU, sebuah editor HTML yang WYSIWYG. NVU cukup memuaskan jika melihat versinya yang masih bayi, dan aku berharap banyak supaya suatu hari aku bisa menggunakannya sebagai ganti Dreamweaver untuk pekerjaan sehari-hari. Demikian juga Adobe Photoshop, software open source yang paling dekat adalah GIMP. Tapi coba tanyakan kepada desainer grafis, bisakah mereka menggunakan GIMP seproduktif mereka menggunakan Photoshop? Aku, yang masih punya kekerabatan dekat dengan Linux, akan menjawab tidak bisa. Apalagi mereka yang tidak mengenal OS selain Windows.

Menurutku, kelemahan utama GIMP adalah user interface-nya yang sangat tidak nyaman. Aku tidak mengerti kenapa user interface GIMP tidak meniru kemapanan Photoshop seperti yang dilakukan Open Office terhadap Microsoft Word. Ah, orang juga bisa beradaptasi kan? Mungkin ya jika kasusnya bukan di dunia desain grafis. Dalam dunia desain grafis, semakin desainer nyaman dan akrab dengan perkakas yang dipakainya, semakin dalam dan artistik pula hasil karyanya. Apalagi orang-orang desain grafis kebanyakan adalah nyentrik, jadi susah jika disuruh pindah ke perkakas lain.

Wupss… jadi agak menyimpang dari judul. Kembali ke permasalahan. Sekarang, mari kita lihat aplikasi-aplikasi yang awalnya untuk Unix ataupun yang sebenarnya jalan lancar di Unix yang kugunakan:

  • Oracle JDeveloper: IDE Java
  • Apache Jakarta Tomcat
  • Apache Webserver
  • MySQL
  • Mozilla Firefox (browser, sorry, I’m not using IE exactly)
  • Mozilla Thunderbird (email client)
  • Netbeans
  • Nvu
  • Oracle Database 10 Express Edition
  • Toolkit for Oracle
  • Frozen Bubble for Windows (aduh..)
  • Tail -f for Windows (tambah parah…)

Sedangkan software Windows selain Photoshop dan Dreamweaver, aku sudah bisa menemukan penggantinya yang nyaman di Unix/Linux, misalnya Winamp dengan XMMS, Yahoo Messenger dengan GAIM, FlashGet dengan WGet, dan tentu saja Microsoft Office dengan OpenOffice.org

Pertanyaannya sekarang, kenapa tidak pindah ke Linux, Galih? Hmm.. aku masih mengerjakan Tugas Akhir yang mayoritas menggunakan software-software Windows yang tidak mungkin tergantikan, yaitu MS Visual Studio C++, MatLab, dan Microsoft Word! Persoalannya bukan karena aku tidak mau beradaptasi, tetapi karena aku harus sering konsultasi dengan dosen pembimbing, dan kami harus memiliki perkakas yang sama untuk berdiskusi, dalam hal ini adalah MatLab dan Visual Studio C++ serta Microsoft Word untuk pengetikan buku.

^__^

Switch to our mobile site