Welcome to HQ's Blog

Hello World! If you've visited this blog before, welcome back. Please help me what article do you like by give it a comment. But if you're new with this blog, please feel free to stay ahead for a shortwhile, to read my articles. I assure you will get something by read it carefully. Haha...

Ok ok... By the way, this blog belongs to me, Haqqi. Yeah, that is my nickname. If you want to know about me, please read the top sidebar titled "About Me". If you want to know MORE about me, please feel free to add my Messenger (xp_guitarist) and chat with me. I am Indonesian. My English is not so good, so please don't laugh if my 'syntax' is wrong. But sometimes I will post my blog in Bahasa Indonesia (I think most of them will).

The reason I create this blog is, I want to share everything I can share. From my experience, computer program I used, my algorithms and source codes, and some useful infos and tips. So, if you want to request something I can, feel free to ask. And if you also want to share me something, I always open my hand, haha. Anyway, WELCOME TO MY BLOG!

This site is best viewed with Mozilla Firefox with resolution 1024x800 or more

Page copy protected against web site content infringement by Copyscape

ANNOUNCEMENT!!!

This blog is dead!!! I moved it to my new blog in http://haqqi.net. Thank you for reading this blog. Hope you will read my new blog too.


Software Freedom Day 2009 - Ma Chung

Oct 7, 2009

Acara macos yang pertama

Software Freedom Day adalah sebuah perayaan internasional yang diadakan di seluruh dunia menyambut hari software gratis dan open source sedunia. Kegiatan ini dirancang khusus untuk mendidik masyarakat agar lebih memahami nilai-nilai software open source, serta mendorong penggunaannya baik dalam institusi seperti pendidikan, pemerintahan, maupun di skala yang lebih kecil.

Software Freedom Day merupakan acara tahunan yang secara global di koordinasikan oleh lembaga Software Freedom International. Berbagai Perguruan Tinggi maupun Sekolah Menengah Atas di Indonesia juga turut berpartisipasi merayakan acara ini. Kegiatan yang berlangsung dalam acara ini sangat bervariasi, bergantung pada kesepakatan dalam masing-masing institusi, misalnya berupa seminar, workshop, maupun diskusi.

Universitas Ma Chung sebagai salah satu perguruan tinggi di Indonesia juga turut berpartisipasi merayakan acara ini. Kegiatan yang disiapkan untuk acara ini adalah rangkaian seminar mengenai Free and Open Source Software(FOSS). Dengan adanya acara ini, Universitas dapat menjadi jembatan yang berkesinambungan dalam membentuk dan menyiapakan generasi-generasi yang berwawasan luas serta peka terhadap perkembangan teknologi.

Hanya dengan 5 RIBU RUPIAH bisa dapat:
1. Sertifikat
2. Snack
3. Door Prize
4. Pengetahuan mengenai Free and Open Source Software (FOSS) dan pemanfaatan (FOSS) untuk Enterpreneurship.
5. Workshop:
- Java Programming for desktop game
- Sun Solaris basic and features
- Ubuntu Linux for human being

"Melamar pekerjaan, membuka kesempatan untuk diri kita sendiri.
Membuka lapangan pekerjaan, membuka kesempatan baru bagi diri sendiri dan orang lain."

Pilihan ada di tangan anda

Mengenai langkah-langkah pendaftaran bisa dilihat pada link di bawah ini:
http://www.scribd.com/doc/20323050/Langkah-Langkah-Registrasi-SFD2009-Ma-Chung

Bagi yang tertarik mengikuti acara ini, harap menghubungi bagian informasi:
Anggita: 0857 555 636 14
Fahmy : 0856 465 826 36
Anindita: 0857 5555 77 90

Info lebih lanjut:
website
flyer
poster


added October 10th 2009
Untuk source code sesi demo pembuatan game Java desktop, bisa didownload di http://www.mediafire.com/?nqz41yvmy3i read more...

Ganti Template

Sep 19, 2009

Sekedar niat, nggak tau jadi apa nggak

Lama-lama, bosen juga sama template blog saya yang satu ini. Beberapa hari terakhir, tampilannya error lagi, entah kenapa. Sejenak, muncul keinginan untuk desain template baru. Buka-buka google, cari tutorial bikin template blogger. Ada banyak banget ternyata, tapi malah jadi bingung yang mana yang mau saya pakai. Rencananya, saya mau bikin template yang murni dari nol, dengan desain saya sendiri.

Tapi malah kepikiran hal lain. Kenapa gak langsung hosting sendiri aja? Bikin personal website, mumpung sekarang lagi waktunya personal branding. Dipikir-pikir bener juga sih. Tapi terus gimana nasib blog-ku yang ini? Apa semua posting-nya mau dipindah ke domain sendiri itu? Hm, rasanya nggak deh. Mending tetep aja tapi ntar di-redirect.

Oke, keputusannya berarti tetap dengan blog ini, dengan alamat ini, tapi dengan penambahan mask link. Rencananya setelah beli domain, langsung dihubungkan sama subdomain web personal saya. Itu berarti, saya harus desain ulang blog ini. Desain blog nggak bisa sehari langsung jadi, apalagi dengan pengetahuan saya tentang web programming yang nyaris nol. Harus benar-benar meluangkan waktu. Tapi kapan?

Semua butuh proses. Saya mau nyoba-nyoba dulu desain di blog dummy. Nanti kalau udah sukses, baru template-nya diintegrasi sama blog ini. Semoga berhasil.
read more...

Tutorial Java : Membuat Splash Screen

Sep 10, 2009

Lagi-lagi tutorial Java sederhana


Woi, ketemu lagi. Mumpung lagi semangat-semangatnya nulis tutorial nih. Kali ini saya akan memberikan tutorial sederhana, yaitu bagaimana cara membuat splash screen yang biasanya ditampilkan sebelum sebuah program dijalankan. Sebenarnya, jika Anda memakai NetBeans, sangat mudah sekali kalau ingin membuat splash screen. Tutorialnya ada di sini. Sedangkan yang saya buat, bisa diaplikasikan meski pakai text editor biasa.

Teknik ini memanfaatkan class JWindow dari package javax.swing dan peran sebuah thread untuk melakukan sleep. Anda bisa mengacak-acak (baca: mempelajari) source code di bawah ini.


/*
* DO NOT REMOVE THIS COPYRIGHT
*
* This source code is created by Muhammad Fauzil Haqqi
* You can use and modify this source code but
* you are forbidden to change or remove this license
*
* Nick : Haqqi
* YM : xp_guitarist
* Email : fauzil.haqqi@gmail.com
* Blog : http://fauzilhaqqi.blogspot.com
*/

import java.awt.Dimension;
import java.awt.image.BufferedImage;
import java.io.IOException;
import javax.imageio.ImageIO;
import javax.swing.ImageIcon;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JWindow;

/**
*
* @author Haqqi
*/
public class SplashScreen extends JWindow {
//*********************//
//*** Variable area ***//
//*********************//
private BufferedImage image;

//************************//
//*** Constructor area ***//
//************************//
public SplashScreen(BufferedImage image) {
this.image = image;
}

//*******************//
//*** Method area ***//
//*******************//
public void showSplash(int duration) {
// primary panel, get from frame's content pane
JPanel pane = (JPanel) getContentPane();
// set the size based on image size
int width = image.getWidth();
int height = image.getHeight();
pane.setPreferredSize(new Dimension(width, height));

// label to display the image
JLabel label = new JLabel(new ImageIcon(image));
pane.add(label);

pack();
// set window to center of the screen
setLocationRelativeTo(null);
setVisible(true);

// sleep for a while
try {
Thread.sleep(duration);
} catch (InterruptedException ex) {}

setVisible(false);
dispose();
}

public static void main(String[] args) {
BufferedImage image = null;
try {
image = ImageIO.read(SplashScreen.class.getResource("logo-banner.gif"));
} catch (IOException ex) {}
SplashScreen ss = new SplashScreen(image);
ss.showSplash(2000);
}
}

Satu class tersebut, bisa Anda manfaatkan untuk splash screen dengan gambar yang berbeda, terserah Anda. Anda cukup parsing URL yang tepat dari gambar Anda. Pada contoh di atas, file gambar terletak dalam satu folder dengan file java dari class SplashScreen. Jadi saya menggunakan method getResource() untuk mendapatkan URL-nya.

Selamat mencoba!!!
read more...

Tutorial Java : Game Sederhana - Snake HQ

Sep 9, 2009

1 jam coding sambil smsan


Rabu pagi, jam 00.10 saya tiba-tiba bangun entah kenapa. Seperti biasa, laptop saya masih menyala di atas kepala saya. Habis matiin laptop, ngecek sms di HP, eh ternyata ada balesan. Saya bales, ternyata dibales lagi. Akhirnya gak jadi ngelanjutin tidur, malah smsan. Nah, di posting ini, bukan itu intinya. Sambil smsan, saya bingung mau ngapain. Ya udah, langsung buka laptop lagi, niat ngelanjutin bikin artikel tentang membuat game Java. Kebetulan saya mau memasukkan source code sebuah rancangan game sederhana. Mau nggak mau ya saya buka NetBeans dan mulai coding.

Source code yang saya buat nggak sulit-sulit amat sih, dan nggak panjang-panjang amat, makanya saya posting di sini. Ini cuma rancangan sederhana game Snake HQ, game sejenis ular-ularan yang nanti makan apel dan jadi tambah panjang. Semoga tutorial di posting ini bisa membantu para pembaca yang pingin mulai belajar game Java.

Source code ini saya buat dengan menggunakan NetBeans 6.7.1 serta JDK 6u16. Pembuatannya di laptop saya, dengan OS Windows XP SP3.

Oke, kita mulai. Pertama-tama, kita tentukan sampai mana target rancangan ini diselesaikan. Kebetulan karena ini iseng-iseng, saya cuma berniat sampai animasi sederhana dan deteksi tepi area agar kalau ular tersebut sampai di tepi, bisa tembus di sisi lain. Ini belum sampai deteksi dabrakan dengan dinding, makanan (apel), maupun tabrakan antara kepala dan badan ular tersebut. Karena itu, class utama yang kita butuhkan hanya 2, yaitu untuk panel utama game dan ular yang akan berjalan. Class tambahan lain, akan dibahas kemudian.

Kita mulai dari class ular. Sementara ini, attribut yang kita butuhkan hanya koordinat ular, arah ular menghadap, dan panjang maksimal (bisa fleksibel nantinya). Sedangkan behaviour yang bisa dilakukan ular antara lain adalah mengubah arah menghadap, mengupdate koordinat seluruh anggota badan setiap berjalan, termasuk untuk tembus ke sisi lain saat menabrak tepi panel. Berikut source code-nya.


/*
* DO NOT REMOVE THIS COPYRIGHT
*
* This source code is created by Muhammad Fauzil Haqqi
* You can use and modify this source code but
* you are forbidden to change or remove this license
*
* Nick : Haqqi
* YM : xp_guitarist
* Email : fauzil.haqqi@gmail.com
* Blog : http://fauzilhaqqi.blogspot.com
*/

package snakehq;

import java.awt.Point;

/**
* Snake class, a representation of a snake
*
* @author Haqqi
*/
public class Snake {
//*********************//
//*** Variable area ***//
//*********************//
// coordinates of body
private Point[] body;
// facing
private int face;

// maximum snake's length
private final int maxLength = 10;

// orientation
public static final int NORTH = 0;
public static final int EAST = 1;
public static final int SOUTH = 2;
public static final int WEST = 3;

// snake pixel size
public static final int SNAKE_SIZE = 10;

//************************//
//*** Constructor area ***//
//************************//
public Snake() {
body = new Point[maxLength];
for(int i = 0; i < maxLength; i++) {
body[i] = new Point(20 - i, 15);
}
face = EAST;
}

//*******************//
//*** Method area ***//
//*******************//
public Point[] getBody() {
return body;
}

public void moveEast() {
if(face != WEST)
face = EAST;
}

public void moveWest() {
if(face != EAST)
face = WEST;
}

public void moveNorth() {
if(face != SOUTH)
face = NORTH;
}

public void moveSouth() {
if(face != NORTH)
face = SOUTH;
}

public void update() {
// update body
for(int i = body.length - 1; i > 0; i--) {
body[i].x = body[i-1].x;
body[i].y = body[i-1].y;
}
// update head
Point head = body[0];
if(face == NORTH) {
if(head.y <= 0)
head.y = Panel.AREA_HEIGHT - 1;
else
head.y--;
}
else if(face == EAST) {
if(head.x >= Panel.AREA_WIDTH - 1)
head.x = 0;
else
head.x++;
}
else if(face == SOUTH) {
if(head.y >= Panel.AREA_HEIGHT - 1)
head.y = 0;
else
head.y++;
}
else if(face == WEST) {
if(head.x <= 0)
head.x = Panel.AREA_WIDTH - 1;
else
head.x--;
}
}
}

Pembuatan class Snake ini tidaklah sulit. Bagian terpenting dari game sederhana ini adalah kerangka game yang berupa panel. Berikut source code-nya.

/*
* DO NOT REMOVE THIS COPYRIGHT
*
* This source code is created by Muhammad Fauzil Haqqi
* You can use and modify this source code but
* you are forbidden to change or remove this license
*
* Nick : Haqqi
* YM : xp_guitarist
* Email : fauzil.haqqi@gmail.com
* Blog : http://fauzilhaqqi.blogspot.com
*/

package snakehq;

import java.awt.Dimension;
import java.awt.Graphics;
import java.awt.Graphics2D;
import java.awt.Point;
import java.awt.RenderingHints;
import java.awt.event.KeyAdapter;
import java.awt.event.KeyEvent;
import javax.swing.JFrame;
import javax.swing.JPanel;
import javax.swing.SwingUtilities;

/**
* Panel class, the skeleton of the game
*
* @author Haqqi
*/
public class Panel extends JPanel {
//*********************//
//*** Variable area ***//
//*********************//
private Snake snake;
private Thread animation;

public static final int PANEL_WIDTH = 400;
public static final int PANEL_HEIGHT = 300;
public static final int AREA_WIDTH =
PANEL_WIDTH / Snake.SNAKE_SIZE;
public static final int AREA_HEIGHT =
PANEL_HEIGHT / Snake.SNAKE_SIZE;

//************************//
//*** Constructor area ***//
//************************//
public Panel() {
setPreferredSize(new Dimension(
PANEL_WIDTH, PANEL_HEIGHT));
snake = new Snake();
initThread();
addKeyListener(new KeyManager());
setFocusable(true);
requestFocusInWindow();
animation.start();
}

//*******************//
//*** Method area ***//
//*******************//
@Override
protected void paintComponent(Graphics g) {
super.paintComponent(g);
Graphics2D g2 = (Graphics2D) g;
g2.addRenderingHints(new RenderingHints(
RenderingHints.KEY_ANTIALIASING,
RenderingHints.VALUE_ANTIALIAS_ON));
drawSnake(g2);
}

// render the snake
private void drawSnake(Graphics2D g2) {
Point[] s = snake.getBody();
int pixel = Snake.SNAKE_SIZE;
// fill the head
g2.fillOval(s[0].x * pixel, s[0].y * pixel,
pixel,pixel);
// draw body outline
for(int i = 0; i < s.length; i++) {
g2.drawOval(s[i].x * pixel, s[i].y * pixel,
pixel, pixel);
}
}

// initiate animation thread
private void initThread() {
animation = new Thread(new Runnable() {
public void run() {
while(true) {
try {
// sleep a while for animation
Thread.sleep(300);
} catch (InterruptedException ex) {}
snake.update();
SwingUtilities.invokeLater(
new Runnable(){
public void run() {
repaint();
}
});
}
}
});
}

// Keyboard handler of the game
private class KeyManager extends KeyAdapter {
@Override
public void keyPressed(KeyEvent e) {
super.keyPressed(e);
int c = e.getKeyCode();
switch(c) {
case KeyEvent.VK_RIGHT:
snake.moveEast();
break;
case KeyEvent.VK_LEFT:
snake.moveWest();
break;
case KeyEvent.VK_UP:
snake.moveNorth();
break;
case KeyEvent.VK_DOWN:
snake.moveSouth();
break;
}
}
}

/**
* Main method that run firstly when the program starts
* @param args the command line arguments
*/
public static void main(String[] args) {
// TODO code application logic here
SwingUtilities.invokeLater(new Runnable() {
public void run() {
JFrame f = new JFrame("Snake HQ");
f.setDefaultCloseOperation(
JFrame.EXIT_ON_CLOSE);
f.add(new Panel());
f.pack();
f.setResizable(false);
f.setLocationRelativeTo(null);
f.setVisible(true);
}
});
}
}

Panel ini hanya mempunyai 2 atribut/object penting. Yang pertama, jelas adalah si ular. Yang kedua, adalah thread yang digunakan untuk mengatur animasi. Proses animasi itu sendiri diatur dalam method initThread(). Coba saja pelajari apa yang dilakukan program dalam thread tersebut. Bagian lain yang penting adalah private class KeyManager. Class ini digunakan untuk menangkap event yang terjadi pada keyboard.

Untuk rendering, semua diatur dalam override method paintComponent(). RenderingHints di-set agar tampilan lebih lembut. Setelah itu, lakukan penggambaran seluruh badan ular. Kembali ke thread animation. Yang membuat ular seperti berjalan, adalah penghentian program selama beberapa milisecond, kemudian badan ular di-update sesuai method update dari class Snake tersebut. Terakhir, panel diletakkan dalam sebuah JFrame (window), yang diconstruct dalam method main.

Source code bisa didownload di:
http://haqqilibrary.googlecode.com/files/SnakeHQ.zip

Selamat mencoba!!!
read more...

Dari Perfeksionis Menjadi Idealis

Sep 6, 2009

Tentang hidup saya lagi, semoga memberi inspirasi

Sekali lagi, ada cewek yang bilang kalau saya ini perfeksionis. Mungkin dia menangkap dari pola pikir saya, pandangan hidup saya, dan radikalisme saya, yang bisa dilihat waktu saya ngobrol sama dia. Kalau saya dibilang perfeksionis waktu dulu, saya terima pendapat itu. Tapi kalau sekarang, saya mendeklarasikan diri bahwa saya nggak perfeksionis.

Ya, saya bisa mulai menikmati hidup setelah saya menemukan kembali dunia saya. Sejak saat itu, saya merasa hidup ini adalah anugerah yang luar biasa.

Nah, kenapa saya tiba-tiba nulis topik ini? Hm, berawal dari perkataan cewek itu, dan acara buka bersama bareng temen-temen SMA. Ada perasaan yang beda antara buber tahun ini dengan tahun kemarin, waktu saya masih menjadi saya yang lama. Rasanya, buber tahun ini lebih ada taste. Nggak cuma buber sih, semua yang saya jalani saat ini memang lebih berasa. Tapi perbedaan itu benar-benar saya rasakan semalam (waktu buber).

Di perjalanan pulang, saya berpikir mengapa bisa demikian. Memang secara garis besar karena saya sudah berubah. Tapi apa yang mendasari perubahan taste itu?

Alasan itu, mengembalikan tulisan ini pada topik, tentang ke-perfeksionis-an saya. Semenjak orang terpenting dalam hidup saya meninggal di saat yang tidak tepat, dialah target perfeksionis saya. Karena pola pikir saya waktu itu, secara nggak sadar saya membikin suatu kotak pembatas sendiri. Akibatnya, sangat fatal. Saya menjadi nggak bersyukur atas apa yang menjadi "lingkungan" saya. Saya merasa nggak bisa menemukan "lingkungan" yang sama dengan yang dulu. Akibatnya, saya sering berpindah-pindah lingkungan dan malah menyebabkan saya jadi merasa sendirian. Parahnya, keperfeksionisan saya malah semakin menjadi-jadi. Hidup saya jadi terasa suram, nggak ada rasanya, dan nggak berisi.

Sebuah kejadian membuat saya membuang keperfeksionisan saya yang sangat rumit, menjadi sesuatu yang lebih sederhana. Tapi tetap, idealisme yang merupakan bagian dari perfeksionisme, melekat di diri saya. Meskipun demikian, hidup saya sekarang jadi lebih berasa. Saya jadi bisa lebih bersyukur dengan apa yang ada di lingkungan saya. Saya sadar, di sekitar saya ada banyak teman-teman yang bisa mengisi hidup saya, meskipun nggak ada yang bisa menggantikan F. Tapi beneran nih, saya benar-benar enjoy dengan pola hidup saya yang sekarang.

Nikmatilah hidup hari ini, karena kita nggak bisa mengulang yang lalu.

Sekarang saya jadi senyum-senyum sendiri. Kenapa saya dulu bisa segitu bodohnya menyia-nyiakan hidup saya dengan pola pikir saya. Saya jadi nggak bisa memiliki kenangan masa-masa SMA yang bahagia. Saya stuck di tempat saya berdiri. Nggak ada kenangan, nggak ada impian. Itu semua karena mengharapkan kesempurnaan semu.

Sudahlah, yang berlalu biarlah berlalu. Sekarang hidup saya sudah menjadi lebih baik, lebih berasa. Menikmati dan mensyukuri pemberian Tuhan saat ini, akan menambah nikmat di kemudian hari. Tapi saya tekankan, idealisme yang tetap melekat ini, semata-mata demi membuat saya agar tidak keluar jalur dari impian saya. Kalau nggak gitu, saya nggak akan jadi seperti sekarang ini. Sebab idealisme saya lebih mengarah ke prinsip.

Dalam hal prinsip, tegarlah seperti karang
Dalam hal selera, mengalirlah seperti air

Sekian posting artikel kali ini. Sekali lagi, blogging adalah free-writing. Nggak ada niat untuk menyombongkan diri. Saya hanya menuangkan hasrat menulis saya. Dan semoga tulisan ini bisa memberikan inspirasi bagi pembaca.
read more...

PPS

Sep 5, 2009

Post Power Syndrome? Masa sih?

Jabatan Ketua Himpunan Mahasiswa Prodi Teknologi Informasi sudah nggak lagi melekat di tubuh saya. Jabatan anggota BPMU, secara otomatis lepas juga karena peraturan baru. Banyak yang tanya ke saya, gimana rasanya? Udah mengalami post power syndrome (PPS)?

Sebelum lanjut, apa sih PPS itu? PPS katanya sih penyakit yang muncul sebelum dan sesudah hilangnya jabatan struktural yang melekat pada seseorang. Gejalanya, orang tersebut masih merasa memegang jabatannya dan menganggap orang lain tetap menjadi bawahannya.

Saya menderita PPS? Nggak tuh.

Selepas jabatan saya, saya malah merasa lebih bebas. Saya pastinya akan punya banyak waktu untuk mengembangkan sayap saya. Ketua HMP yang baru pun saya rasa bisa menjalankan tugas lebih baik daripada saya. Saya juga ikut membantunya sih, tapi hanya dari bagian konsep. Dan lepasnya jabatan saya ini, merupakan rencana yang sudah sejak awal saya plot. Jadi, nggak akan ada penyesalan.

Dari awal target saya untuk aktif di Lembaga Kemahasiswaan hanya sampai tahun kedua ini. Di tahun ketiga, orientasi saya sudah berubah. Saya berencana mengisi Curriculum Vitae saya dengan berbagai aktivitas positif lainnya, yang berhubungan dengan spesialisasi saya di dunia IT. Apa aja?

Banyak sekali yang ingin saya kejar tahun ini. Sebagai mahasiswa, saya mau bayar hutang mata kuliah yang memang sengaja nggak saya ambil di semester kemarin. Sebagai penulis, akan saya lanjutkan dengan tetap membuat tutorial-tutorial seputar keahlian saya. Sebagai anak band, hm... kayaknya nggak terlalu besar targetnya. Tetap nge-band lah intinya. Sebagai pencari uang (sebelum dicari uang), saya harus menyelesaikan project yang saya dapatkan. Saya juga berencana membuat usaha sendiri dengan dibantu oleh penasehat yang luar biasa.

Saya mulai menyadari kekuatan network. Dengan adanya network, saya bisa jadi lebih besar. Van Deventer kemarin menjadi salah satu asset yang besar di masa depan. Sekarang, nggak terlalu muluk-muluk. Saya akan mulai dari komunitas open source bernama OSUM. Kebetulan saya yang menjadi Leader di group kampus saya. Dan rencananya, tanggal 3 Oktober 2009 ini akan ada perayaan SFD2009 dengan saya menjadi ketua panitianya. Pertama kali jadi ketua panitia beneran nih. Biasanya jadi Steering Committee soalnya. Hehe... Moga-moga acara ini sukses dan saya bisa memperbanyak kenalan lewat OSUM ini.

Balik ke topik, apa saya menderita PPS? Jelas sekali, TIDAK. Saya semakin enjoy dengan kehidupan saya saat ini, dimana saya bisa mengejar semua impian saya. Semoga semua impian saya terwujud. Amien.
read more...

Efek 1 sks Setara 6 sks

Aug 25, 2009

Opini saya tentang mata kuliah bahasa mandarin di kampus saya

Semester 5 udah dimulai tanggal 24 Agustus 2009 kemarin. Diawali dengan pergantian kurikulum prodi saya yang cukup mengagetkan semua mahasiswa. Cukup merepotkan memang, dan sedikit mengecewakan karena ada beberapa mata kuliah yang dihapuskan dari daftar mata kuliah wajib. Tapi saya salut, justru itu yang saya inginkan dari dulu, tentang kejelasan konsentrasi di prodi saya. Saya pun jadi harus mengatur lagi rencana studi saya di prodi Teknik Informatika Universitas Ma Chung. Yang niatnya nyantai-nyantai, jadi harus lebih niat untuk mengejar hutang mata kuliah wajib yang baru muncul.

Sebagai mahasiswa pecinta Teknologi Informasi, saya sih enjoy-enjoy aja menikmati kuliah, berapapun sks-nya. Lha emang "suka" sama apa yang saya pelajari. Bahkan "kalau murni" mahasiswa TIf (Teknik Informatika), 24 sks pun bukan masalah buat saya. KRS-an pun sudah saya atur, meski belum validasi karena belum valid.

Tapi, permasalahan utamanya bukan disitu. Buat yang belum tahu, lulusan kampus saya harus mempunyai profil kemampuan trilingual. Bahasa Indonesia, English, dan Mandarin. Karena alasan itu, dibuatlah suatu sistem atas perintah yayasan untuk mewajibkan mahasiswa mengambil mata kuliah Mandarin selama 8 semester. "Untungnya", tiap semester hanya dibebani 1 sks "saja". Kalau emang dengan keadaan "normal", tambahan itu nggak terlalu berpengaruh buat masa kelulusan maupun aktifitas studi saya. Tapi yang terjadi berbeda dari "normal" itu. Lha gimana "kenyataannya"?

Karena "kebijakan" yayasan dan orang-orang di atas, mandarin yang hanya berbeban 1 sks itu, dijadwalkan tatap muka 6 sks. Apa maksudnya? Untuk beban finansial, mahasiswa cukup membayar 1 sks (Rp150rb). Tapi jadwal kelasnya, setara 6 sks. Mau nggak mau itu juga berdampak pada waktu luang tiap mahasiswa. Coba lihat gambar di bawah ini, rancangan studi saya (yang belum tervalidasi) kalau nggak ambil mandarin.

Lihat, masih banyak waktu luang kan buat ngerjain lainnya? Padahal itu ngambil 23 sks. Ditambah 1 sks mandarin "kalau normal" kan nggak terlalu ngefek. Tapi coba lihat, kalau saya harus mengambil mandarin setara 6 sks.

Wuah, waktu luang saya jadi hilang. Coba lihat lebih teliti di hari kamis jam 3 sore. Ada kegiatan wajib di kampus saya untuk semua mahasiswa. Gratis sih emang, tapi cukup membebani waktu 2 sks. Dan itu akan terus berlangsung sampai lulus. Aneh bukan?

Banyak mahasiswa mengeluhkan "kebijakan" ini. Tapi tetap saja, pihak atas nggak bergeming. Kalau nggak ambil mata kuliah itu, takut nggak mampu waktu ujian kelulusan bahasa mandarin ntar. Repot kan? CB 5, itu wajib dan akan jalan sampai CB 8, dan termasuk syarat kelulusan. Haduh... Secara umum, waktu luang tiap mahasiswa jadi berkurang. Akibatnya, mereka nggak bisa melakukan aktifitas luar kuliah yang biasa mereka jalani. Contoh, kalau biasanya aktif di organisasi sosial di luar kampus, kan jadi kehilangan waktu mereka untuk itu. Masa' mahasiswa Ma Chung mau jadi pinter mandarin sendiri, tapi nggak bagus dalam sosialisasi?

Belum lagi buat yang membiayai kuliah pakai uang sendiri hasil kerja. Kan jadi nggak bisa nyambi lagi. Apalagi buat yang sudah inisiatif kerja part time. Mana ada waktu? Sudah gini, mana bisa mikir waktu refreshing. Ya nggak?

Dari sisi saya, akibat yang saya rasakan adalah saya benar-benar merasakan "penjajahan waktu". Memang niat "mereka" baik, memberikan 5 sks gratisan dengan dosen native dari Cina. Tapi itu akan menyita waktu saya yang seharusnya bisa saya pakai untuk belajar tentang TIf. Belum lagi tugas-tugas dari dosen mandarin yang load-nya melebihi tugas mata kuliah lain. Huft.

Perlu diketahui, sebagai mahasiswa semester 5 keatas, apalagi anak TIf, tentu sudah banyak orientasi untuk mulai kerja. Saya sendiri, sedang mengerjakan beberapa projek bikin software. Itu perlu waktu yang sangat banyak. Saya pikir, kalau nggak ada mandarin, bisa nyambi di sela-sela kuliah. Tapi kenyataannya kan nggak gitu.

Saya juga anak band. Gara-gara padatnya jadwal saya (akibat mandarin juga), intensitas saya main band pun mau nggak mau jadi berkurang. Niatnya mau selesaikan lagu dalam waktu singkat, jadi molor lagi bakalan. Dunia sosial, sudah nggak perlu dipertanyakan. Saya jadi jarang main-main sama teman-teman luar kampus, apalagi teman-teman komunitas band.

Terlebih lagi, tugas TIf sekarang udah mulai banyak project. Butuh waktu banyak buat selesaikan itu semua. Gimana coba? Niat saya buat rutin nulis di PC Media tiap bulan jadi agak terganggu. Mana sempat meluangkan waktu buat nulis, kalau nggak punya waktu luang. Aaarrgghhhh!!!! Pokoknya, ini semua bikin saya emosi. Untung aja saya udah nggak menjabat di Lembaga Kemahasiswaan. Tinggal membereskan sisa-sisa tugas periode lalu.

Niat saya juga untuk belajar berbagai macam hal tentang IT juga terancam. Banyak ebook sudah didownload, tapi bakalan nggak sempat baca. Nah, mau gimana lagi? Buat pembaca yang satu universitas sama saya, apa pendapat Anda???
read more...

Tentang IIS09

Aug 16, 2009

Pertama kali datang ke seminar internasional

Seperti yang sudah saya tulis di posting sebelumnya, hari Jumat kemarin saya berangkat menuju Yogyakarta. Sedikit flashback, saya diajak seminar ini oleh dosen saya, dengan sebuah syarat. Syaratnya, pokoknya kami (saya dan teman saya) sama sekali nggak boleh tanya tentang biaya dan gak boleh keluar uang sama sekali, selain buat oleh-oleh. Intinya, GRATIS. Ya saya terima aja, meski nggak tahu sama sekali tentang apa yang jadi materi seminar ataupun gimana sistemnya. Pokoknya karena yang ngajak dosen saya sendiri, saya asumsikan bahwa seminar ini layak untuk diikuti.

Kita serombongan berangkat hari Jumat, dengan rencana awal berangkat jam 1 siang. Tapi karena berbagai hal, mobil jemputan baru sampai rumah saya jam 3an. Haha. Satu mobil diisi 7 orang, dari depan ada supir yang biasa kita panggil Pak Di, kemudian ada 4 dosen. Karena takut menyinggung, saya tulis aja inisialnya. Ada Pak R, Pak W, Pak S, dan Pak H. Mahasiswa yang ikut ya cuma saya dan teman saya. Berangkat lewat jalur kota Batu ke arah Yogyakarta.

Di daerah payung, karena ada panggilan alam, terpaksa berhenti. Ternyata perhentian ini berakibat tidak tenangnya kita waktu perjalanan. Kenapa? Ikuti ceritanya. Hoho...

Yah, seperti perjalanan biasa ke luar kota yang jauh, pasti banyak berhentinya. Masuk kota Yogya, sekitar jam 1. Tapi jadi muter-muter nggak karuan gara-gara tersesat nyari hotel. Akhirnya masuk hotel jam 2 pagi, di Hotel Kusuma.

Paginya, kita siap-siap dan langsung berangkat ke UIN, tempat seminar diadakan. Ternyata seminar ini adalah seminar internasional call for paper, dengan nama THE INTERNATIONAL INDUSTRIAl INFORMATICS SEMINAR 09. Buat yang belum tahu, seminar internasional ini beda sistemnya dengan seminar biasa. Di seminar biasa, kan cuma ada pembicara yang diundang, terus audience mendengarkan. Biasanya pun seminar biasa memakai topik-topik yang umum.

Tapi beda dengan seminar internasional. Secara umum, sistem seminar internasional ini seperti ini. Seminar internasional memiliki topik yang lebih dalam tentang suatu bidang. Di sesi awal, ada beberapa keynote speaker yang berbicara tentang beberapa hal yang menyangkut topik seminar. Biasanya keynote speaker ini adalah figur-figur yang luar biasa. Di sesi berikutnya, adalah presentasi dari pemakalah yang ikutan call for paper. Maksudnya, beberapa bulan sebelumnya, panitia membuka pendaftaran bagi orang-orang yang ingin mengirimkan jurnal ilmiah ke seminar tersebut. Jurnal-jurnal itu diseleksi, lalu yang lolos akan menjadi pemakalah di sesi tersebut. Pak R, Pak S, dan Pak H adalah salah satu pemakalah yang lolos seleksi.

Yang kita kecewakan di awal, kita masuk UIN aja tersesat. Sama sekali nggak ada banner atau penanda yang jelas dimana seminar diadakan. Yang ada cuma satu petunjuk dari kertas HVS bertuliskan IIS09 ke arah kanan. Sampe 2 kali muter-muter UIN, baru ketemu gedungnya. Di depan gedungnya pun nggak ada spanduk selamat datang. Huft...

Oiya, semua presentasi disampaikan dengan bahasa Inggris. Wajar kan, seminar internasional yang dihadiri pemakalah dari luar negeri juga.

Di sesi pertama, yang bisa saya ikuti cuma presentasi pertama. Setelah itu, topiknya terlalu dalam bagi saya. Apalagi malamnya kurang tidur, jadi ngantuk berat. Untung masih ketolong sama kopi yang diminum waktu coffee break awal. Setelah sesi pertama selesai, ada makan siang prasmanan yang siam kita santap. Uenak tenan...

Awalnya, saya dan teman saya pikir bahwa sesi kedua (dari jam 1 sampai 5) akan berjalan sesuai jadwal beserta pemakalahnya. Pemakalah dipisah ke 8 ruangan yang masing-masing memiliki topik sendiri. Karena kita pikir jadwal akan teratur, kita sudah mentarget mana saja pemakalah yang bakal kita datangi. Tapi ternyata benar-benar diluar dugaan. Dasar seminar internasional indonesia, banyak banget pemakalah yang nggak datang. Akibatnya beberapa pemakalah jadwalnya dimajukan. Jadinya nggak bisa menikmati sesi-sesi yang kita targetkan. Kita cuma terkurung di ruangan nomor 2 yang isinya cuma pemakalah + kita (2orang). Lucu juga, jadi pemakalah saling mempresentasikan ke rekan sejawat. Kalo kita, rasanya masih belum nyampek. Topiknya benar-benar lebih dalam dari otak saya.

Seminar jadi selesai lebih awal, jam 3 sore. Kita jadi bisa pulang lebih awal. Karena nggak punya wewenang sama sekali, saya jadi nggak berani usul untuk jalan-jalan dulu. Akhirnya cuma beli oleh-oleh 1 dus bakpia patok dan sebangasanya. Untungnya makan malam di salah satu rumah makan di Sragen sangat nikmat (dan nggak lupa, gratis).

Perjalanan yang cukup berkesan. Saya jadi ingin ikutan ngirim jurnal ke seminar internasional call for paper (tapi nggak ke seminar yang nggak jelas kayak gini). Berikutnya, saya coba untuk menulis dengan bimbingan dosen-dosen saya. Ngomong-ngomong masalah dosen, 3 hari perjalanan 1 mobil dengan para dosen, bikin saya jadi tahu karakter sebenarnya dosen-dosen itu. Yang paling kontras adalah Pak S, yang di kampus kesannya cool, waktu kumpul-kumpul gitu jadi rame dan malah paling banyak ketawanya.

Yang beda lagi, kalo kita jalan-jalan sama keluarga atau teman main biasa, lewat desa dan pegunungan, pasti ngobrol-ngobrol gimana indahnya pemandangan. Tapi kalau sama mereka, lihat gemercik air terjun kecil aja, omongannya udah gini: "Wah, itu bisa dikasih generator buat ngasih listrik beberapa rumah. Lumayan tuh, banyak banget energi yang belum dimanfaatkan di sini". Benar-benar obrolan para ilmuwan. Nggak cuma itu, pokoknya enak banget jalan-jalan sama orang-orang hebat kayak dosen-dosen yang luar biasa ini. Moga-moga berikutnya bisa pergi-pergi bareng kayak gini lagi. Ganbatte!!!
read more...

Pentingnya Mimpi

Aug 9, 2009

Mimpi, adalah kunci... Untuk kita, menaklukkan dunia...

Emang gak salah lirik lagu Laskar Pelangi itu. Tanpa mimpi, kita nggak akan jadi apa-apa. Kita hanya akan berputar di satu titik dan tidak akan mengetahui tujuan kita. Serius nih, berdasarkan pengalaman pribadi. Baik yang tanpa mimpi maupun yang sudah bermimpi dan bervisi seperti sekarang.

Saya mengalami dunia tanpa mimpi itu waktu sebelum lulus SMA. Wuih, bener-bener saya nggak ngerasa hidup. Ngelakuin segala sesuatu seperti nggak ada rasanya. Rutinitas tetap dijalani sih, nggak ngerasa bosan, tapi juga nggak ngerasa asyik. Datar. Itu intinya. Nggak ada yang berkesan yang mengisi memori otak saya tentang kehidupan masa lalu, selain rasa menyesal karena menyia-nyiakan hidup.

Kehidupan saya serasa berubah, saat saya mulai mempunyai mimpi, tujuan hidup, dan yang terpenting adalah mengerti arti hidup bagi diri saya. Oiya, saya jadi pingin posting ini gara-gara baru sms sama seseorang dan ngomongin mimpi. Dari bercanda, kebawa ke obrolan serius deh. Intinya, saya jadi teringat lagi tentang pentingnya mimpi, tujuan, visi, atau apapun itu namanya.

Tapi, proses menemukan "mimpi" itu ternyata gak gampang. Perlu juga hasil kecil-kecilan yang mendukung kita agar menjadi bersemangat dan yakin akan mimpi kita yang sebelumnya samar-samar. Proses yang nggak singkat pun harus dilalui. Saya nggak bisa menjelaskan gimana proses tersebut, karena saya bukan pakarnya. Lebih baik beli aja buku-buku motivasi yang banyak, tapi jangan lupa dibaca dan dipahami. Pokoknya kalau kita sudah punya mimpi, kita jadi bisa lebih menghargai hidup kita. Setahun, sebulan, sehari, sejam, semenit, bahkan sedetik dari tiap waktu kita, untuk mewujudkan mimpi itu.

Mau tahu apa mimpi saya? Ah, jangan. Saya lebih suka menyimpan mimpi saya ini dalam selembar kertas dan menempelkannya di kamar saya. Setiap kali saya melihat lembaran kertas itu, saya akan teringat mimpi saya dan saya akan terus berusaha mengejar impian itu.

Seperti kata Law of Attraction, impian kita harus kita gambarkan sejelas mungkin dalam pikiran kita. Semakin sering kita melihat gambaran tersebut, semakin kita fokus ke impian kita.
read more...

LC 05 - And the Mistery of the 6th Bungalow

Aug 8, 2009

Sumbangan dari Ferdy Maengkom

Jangan ketipu ama judulnya... Postingnya pake bahasa indo kok... masih seputar LC 05 Puntondo, fokusnya ke bungalow 6 (selanjutnya disingkat B6).

Pada suatu hari di bulan agustus (lupa tanggalnya?) Penduduk asrama dipindahkan ketempatnya yang baru,yaitu bungalow. Beberapa orang memilih untuk bergabung di bungalow 5 (tidak akan diceritakan dalam kisah kali ini), dan yang sisa, karena alasan privasi dan berbagai alasan bersama lainnya, memilih untuk bergabung dengan B6. Berikut adalah kisah kami, penduduk Bungalow 6.

B6 memang merupakan tempat misteri. Bahkan sejak di awal kedatangan kami, ada sambutan yang cukup menegangkan dari seekor 'toke' yg berukuran lumayan menegangkan pula. 3 orang dari tim toke-buster berkutat beberapa menit untuk mengusir mahluk tersebut. Akhirnya Toke tersebut menyerah, dan merelakan bungalownya untuk kami invasi. Dari situlah misteri ini bermulai. Malam pertama di bungalow itu, kami melakukan rapat konsolidasi, atau lebih tepatnya, obrolan sebelum tidur.

Entah kenapa, topiknya telah beralih ke makanan, dan kemudian lebih detail, makanan 'unik'. Sejak malam itu, isu sumanto-pun mulai bergulir. Istilah khusus berupa 'tikus' pun sering terdengar di kalangan bungalow 6. 'Tikus' merupakan salah satu makanan favorit dari salah satu penghuni (red;6th). Selain ular, keong, batman, belalang, dll, mungkin, termasuk manusia. Oleh karena itu, si '6th' disebut2 sebagai cikal-bakal sumanto, karena selera makannya yang unik.

Tapi, karena kebersamaan kami, isu tentang si '6th' tersebut kami jaga untuk tetap menjadi misteri. Keesokan harinya, kami terbangun untuk olahraga pagi. Saat itu kami tersadar, telah terjadi sebuah misteri lagi. Kami terkejut ketika melihat tempat tidur salah seorang penghuni bungalow-6 (red;14th), porak poranda, seperti habis diserang oleh pesawat sukhoi. Menurut salah seorang saksi mata, itu terjadi karena kasur yang terbuat dari 'kapuk' (dan konon tidak terasa saking tipisnya) dialih-fungsikan menjadi bantal peluk oleh si '14'.

Pemandangan kasur yang porak-poranda tersebut, serta rahasia gaya tidur si 14 tetap menjadi pemandangan yang misterius selama kami di B6. Itu hanya sebagian dari misteri yang ada di B6. Ada juga misteri tentang 2 penghuni bungalow-6 inisial '8th' dan '18th' yang sempat menunjukkan kemesraan mereka dimuka umum, dengan berpelukan. Ini merupakan kelanjutan dari kisah kasih '6' dan '8' dan juga beberapa pelopor 3some lainnya ketika di asrama, dimana kami sering butuh sebuah pelukan ketika tidur, dan juga setelah menimbang bahwa persaingan cukup ketat dimana populasi wanita hanya 5 dibandingkan dengan pria 10.

Maka sebagian memilih untuk merubah orientasi atau dalam hal ini mengalah untuk menang. Bahkan, karena jumlah yang ganjil maka sebagian berpikir untuk mencari solusi '3some'. Namun, dibalik semua misteri yang ada di bungalow-6, Misteri yang paling besar, ada pada isi tas salah seorang penghuni bungalow-6 sebut saja inisial si '1st'. hal ini bahkan sempat membuat sebagian besar penghuni PPLH Puntondo penasaran dan ingin mengetahui apa dibalik isi tas merah tua tersebut.

Beberapa usaha sempat dilakukan untuk membongkar misteri tersebut. Mulai dari menggunakan siasat penitipan, yaitu berpura-pura menitipkan buku Anjas, lalu berusaha mengintip apa yang ada di dalam tas tersebut, sampai usaha terang-terangan merampas tas tersebut ketika si '1' lengah. Contohnya sesaat setelah exercise pagi, pertandingan all star indo vs MU, Ferdy berlari berusaha membuka tas tersebut, tapi dihadang dengan cepat oleh si '1'. Hingga kini, apa yang ada di dalam tas merah tua tersebut, tetap menjadi misteri terbesar di bungalow 6. (to be continued)
read more...

Anugerah Terindah yang Pernah Kumiliki

Aug 7, 2009

Berbagai macam anugerah di tahun ini

Nggak kerasa, liburan semester ini sudah hampir berakhir. Banyak sekali yang saya dapat dari awal tahun 2009 sampai sekarang. Saya harus bersyukur kepada Allah SWT atas segala karunia yang diberikan kepada saya. Mungkin di posting kali ini, hanya kejadian yang sangat berkesan saja yang saya tulis. Tapi sebenarnya masih banyak cerita indah yang mengisi hidup saya, yang nggak cukup kalau ditulis di posting ini. Dan tujuan utama tulisan ini bukan untuk bersombong dan bercongkak ria. Tapi untuk mengingatkan diri saya sendiri bahwa saya ini telah diberi anugerah luar biasa oleh Allah SWT, yang mungkin nggak didapatkan oleh setiap orang di dunia ini, atau paling nggak oleh orang-orang di sekitar saya.

Saya nulisnya nggak urut nih, soalnya sudah lupa waktu kejadiannya. Oke, diawali dengan kehidupan kuliah. Dari segi nilai sih, saya rasa biasa aja meskipun tetap masuk jajaran IP atas. Yang merupakan keistimewaan, saya dan salah seorang teman saya, mutiara, diminta menjadi perwakilan prodi dalam acara Forkomil (Forum Komunikasi Ilmiah) yang diadakan setiap hari Selasa di kampus saya. Padahal acara itu biasanya untuk dosen-dosen, tapi ada sesi dimana setiap prodi mewakilkan mahasiswanya untuk menjadi pembicara. Yang spesial, sang pembicara harus menggunakan bahasa Inggris. Suatu kebanggaan saya bisa bicara di depan para dosen. Topik yang saya angkat adalah tentang penggunaan CMS untuk membuat website.

Berikutnya, saya senang sekali karena artikel pertama saya terbit di PC Media seri 5-7. Cerita tentang artikel itu sudah saya posting sebelumnya. Tentu dengan terbitnya artikel itu, saya bisa mendapat penghasilan tambahan yang salah satunya saya pakai beli ampli gitar. Bersamaan dengan artikel itu, berita tentang lolosnya buku tulisan saya di BSNP menambah rasa gembira. Itu artinya buku pelajaran Teknologi Informasi kelas 8 penerbit PT Perca bisa diterbitkan, meskipun sedikit terlambat. Nah, berarti juga bakal dapat royalti sebagai penghasilan tambahan. Alhamdulillah.

Masih berhubungan dengan dunia IT saya. Meskipun nggak ada kelanjutan dari proyek desain baju, saya dapat tawaran dari seorang teman untuk mengerjakan Sistem Informasi Swalayan. Wow, suatu tantangan baru untuk saya karena saya belum pernah mengerjakan itu. Saya jadi merasa bersemangat untuk belajar Java lagi. Kita langsung bikin tim yang terdiri dari 3 orang IT, semuanya satu angkatan. Meskipun akhirnya kewalahan dan memanggil bala bantuan dari Akuntansi.

Berkat itu juga, secara nggak langsung saya jadi dekat dengan cewek yang saya sukai. Entah dia menganggap sebagai teman biasa, atau sudah sadar kalau saya ada rasa lain. Yang penting bagi saya, dia sudah nggak merasa canggung lagi dengan saya. Ugh, tapi entah kenapa rasanya masih ruwet aja sama dia. Sumpah, urusan perasaan kayak gini bukan keahlian saya. Masalahnya lagi, dia orangnya juga pendiam seperti saya. Udahlah, let it flow aja lah. Tapi ada juga teman saya yang bilang kalau saya ini terlalu banyak mikir. Banyak yang menyarankan, sekali-kali beraksi gila gitu loh, nekat dan nggak usah mikir panjang. Ok, akan saya coba turuti.

Kekagetan saya memuncak saat saya dinobatkan sebagai Student of the Year 2009 di kampus saya. Wow, padahal saya nggak pernah mengejar target itu, dan saya ngerasa saya nggak ngelakuin apa-apa, tapi ternyata terpilih. Predikat yang waktu Dies Natalis pasti disebut belakangan, bersamaan dengan "of the year" yang lain (lecturer, staff, and prodi). Itu berarti saya dapat beasiswa tambahan yang cukup untuk biaya kuliah setahun, disamping beasiswa yang saya dapatkan dari VDMS. Lagi-lagi, alhamdulillah. *dan itu berarti saya bisa minta dibelikan sepeda motor sendiri. Hoho...

Selain itu, di Dies Natalis kedua itu saya juga mendapat award tambahan yang dialokasikan untuk biaya penyelesaian tugas akhir. Saya dapat 2 award, yaitu karena menjadi finalis di lomba Arkavidia, dan karena tulisan saya dimuat di PC Media. Besarnya, lumayan lah untuk sekedar penyelesaian tugas akhir. Oiya, ingat Arkavidia, di tahun ini juga saya untuk pertama kalinya menginjakkan kaki di Bandung, datang sebagai finalis lomba. Gratis loh, soalnya dengan biaya dari kampus. Hitung-hitung vacation di tengah waktu kuliah.

Urusan liburan semester, kali ini benar-benar berbeda. Sebelumnya, kalau nggak main game di rumah ya sibuk ngurusi acara di kampus. Tapi liburan kali ini, benar-benar vacation. Diawali dengan rekreasi ke Bali bersama rombongan dari kantor mama saya selama 4 hari (mungkin, saya lupa). Besoknya, diteruskan dengan nginep di villa batu, dalam acara gathering dan evaluasi Lembaga Kemahasiswaan Universitas Ma Chung. Saya pikir, 2 acara tersebut sudah cukup untuk sekedar vacation. Tapi ternyata yang namanya rejeki nggak kemana-mana.

Tepat sebelum Dies Natalis kemarin, pengumuman siapa saja yang lolos seleksi Leadership Conference ke Makassar diumumkan. Dan ternyata, saya termasuk sebagai peserta yang lolos. Itu berarti saya bakan berangkat ke Makassar untuk pelatihan leadership selama 9 hari, dan GRATIS. Semuanya dibiayai oleh yayasan pemberi beasiswa saya, VDMS. Rasanya seperti rejeki nomplok deh. Habis pengumuman kelolosan seleksi, saya dinobatkan jadi Student of the Year. Untuk berita acara dari Makassar, sudah saya tulis di posting sebelumnya.

Saya pikir, vacation saya berakhir setelah dari makassar. Audisi pengisi band di acara kampus nggak lolos, berati tinggal konsen ke kerjaan aja. Mau nyoba audisi yang akustik, saya pikir nggak usah lah. Terlalu banyak waktu saya yang terpakai untuk musik. Saya mau balik lagi konsen ke IT lagi. Mulai dari nulis artikel sampai nyelesaikan proyek dan memikirkan langkah cemerlang selanjutnya. Tapi sekali lagi Allah berkehendak lain. Tanggal 14, 15, dan 16 Agustus minggu depan, saya dan teman saya, Arlingga, diajak dosen saya untuk ikut acara seminar internasional di Jogja. Wuah, ternyata vacation lagi, dan gratis lagi. Senangnya...

Ok deh, berarti sebelum berangkat ke Jogja, saya harus ngebut ngerjain artikel dan proyek saya. Supaya saya bisa menarik hal positif lagi dari semesta, seperti Law of Attraction. Tapi tentu dengan tetap berdoa kepada Allah SWT. Saya juga harus memikirkan rencana besar saya tentang software house yang terpikirkan waktu di Puntondo. Oiya, dan juga saya mau mulai mencari-cari kriteria pendamping hidup saya nantinya, hoho. Siapa tahu yang saya dekati sekarang cocok, siapa tahu juga nggak. Tapi moga-moga aja yang sekarang ini sudah cocok, amiin. Doakan yah semua!!! Sukses!!! I can because I believe I can!!!
read more...

Buku Harian LC 05 VDMS - PPLH Puntondo

Cerita tentang pelatihan 9 hari di Makassar

Huft, akhirnya mulai nulis juga. Setelah mengurusi segala urusan yang ditinggalkan gara-gara acara 9 hari ke Makassar itu, sekarang waktunya nulis tentang pengalaman selama LC bersama teman-teman yang luar biasa. Untuk pengantar, bisa baca di posting sebelumnya. Dan semua yang ada di posting ini, adalah buku harian mini yang mencatat awal dari dari perjalanan 15 orang leader Indonesia.

Hari pertama: Jumat, 24 Juli 2009
Habis makan siang pertama di Puntondo, kita istirahat bentar. Sekitar jam setengah 4 langsung diminta kumpul di ruang seminar. Di sana ketemu lagi sama rombongan yang sudah datang duluan. Hm, seperti biasanya kalo acara ketemu teman baru gini pasti ada ice breaking. Permainan pertama dimulai dengan menghafal nama dan sebuah kata yang diambil dari huruf depan nama itu sendiri. Misal, nama saya Haqqi, dan saya memilih nickname Hitman. Semua bergiliran sebut nama dan nickname orang sebelumnya. Yah, yang paling sial sudah pasti yang terakhir.

Setelah itu, istirahat bentar, terus makan malam bareng-bareng. Ah, saya udah lupa suasana "malam pertama" waktu itu. Kalo gak salah sih masih canggung buat ngomong satu sama lain. Kalo udaranya, pokoknya buat orang Malang kayak saya ini, di sana ngerasa kepanasan. Padahal malam-malam loh. Oiya, baru ingat kalo malam pertama hujan gerimis. Habis itu kita langsung masuk sesi english warming up yang difasilitatori oleh Mas Kus. Bisa ditebak akhirnya, sesi ini dibuat dalam bentuk debat. Topiknya adalah, siapakah orang yang berhak diselamatkan dengan sekoci waktu titanic tenggelam. Tuan Presiden? Ibu hamil? Atau presiden hamil? Haha... Sampe beberapa hari setelahnya pun masih dibahas.

Selesai sesi, peserta dipersilahkan masuk ke kamar. Yang 5 orang cewek di Bungalow, yang 10 orang cowok di asrama. Yang bikin gak betah nih, gak ada colokan listrik sama sekali di asrama. Mau nge-charge HP gak bisa, mau buka laptop baterainya gak tahan lama. Kamar mandi ada di bawah asrama, dengan air yang berwarna kekuningan (tapi katanya sih bersih). Di asrama ini udah mulai sesi perkenalan budaya.

Oiya, ini daftar peserta LC 05 VDMS di PPLH Puntondo, Makassar (urut berdasarkan list dari panitia):
1. Ezar Chandra Sunarwan
2. Tersiana Maria Bawengan
3. Mukhradis Hadi Kusuma Jaya
4. Asriadi Masnar
5. Nurman Syafar Manompo
6. Silvani Merlin Tasik
7. Chelly Sintia Arifin
8. Boby Iryawan
9. Heribertus Rianghepat
10. Pungky Andriyani
11. Wendy Tommy R.K.Kindangen
12. Muhammad Fauzil Haqqi
13. Indrawati Kesuma
14. I Gede Putu Aditya A.BF
15. Ferdy Maengkom

Hari kedua: Sabtu, 25 Juli 2009
Pagi pertama di Makassar, jadwal jam 6 adalah morning exercise, atau bahasa manusianya "olahraga pagi". Yah, seperti biasa lah, pemanasan gitu. Hitung 2 kali 8 dengan gerakan-gerakan sewajarnya. Permainan di morning exercise hari pertama itu adalah "gobak sodor" yang gak jelas. Jadi ingat permainan masa SD nih, masa-masa kejayaan olimpiade gobak sodor, haha... Setelah itu lanjut individual activities. Ada yang mandi, ada yang langsung sarapan.

Sesi pertama dimulai jam 9. Materi kali ini adalah penjelasan tentang tema acara, "Creating Sustainable Society". Sesi berakhir jam 1 siang dan dilanjutkan makan siang sampai jam 2, setelah itu sesi berikutnya. Sesi kedua adalah tentang "Mind Map", diakhiri jam 6 sore. Sebenarnya materi mind map ini sudah pernah saya dapatkan sebelumnya di kampus saya. Persis, materi dan pengajarnya, Pak Edwin Kisman. Sesi terakhir yaitu self-reflection dimulai jam setengah 8 malam setelah makan. Para peserta diminta menggambar suatu benda yang dapat melambangkan "Knowledge", "Skill", dan "Value".

Gambar yang muncul pun berbagai macam. Ada Ferrari, rumah, kapal, bahkan lilin. Saya sendiri, menggambar sebuah neraca, yang disisi kanan adalah Skill, di sisi kiri adalah Knowledge, dan tiang penyangganya adalah Value. Silahkan dipikir sendiri artinya apa, haha. Di gambar tersebut, masing-masing peserta diminta menuliskan apa saja yang didapatkan selama sehari, dan itu akan terus berlangsung sampai acara selesai.


Hari ketiga: Minggu, 26 Juli 2009
Hari ini nggak ada morning exercise, karena jadwal hari ini adalah observasi dan analisis sosial ke desa Laikang, tempat PPLH Puntondo berada. Kita dibagi menjadi 3 tim, ada tim Megalithicum, Modern, dan saya sendiri tim 2222. Pokoknya semua nama yang nggak jelas. Tim saya ditugaskan untuk menganalisis fasilitas umum di desa tersebut. Hm, cerita lengkapnya, akan saya tulis lagi di posting lain. Setelah kembali ke PPLH, kita diminta presentasi tentang hasil analisis kita. Kegiatan rutin lain seperti makan, individual activities, dan self-reflection berjalan seperti biasa.

Hari keempat: Senin, 27 Juli 2009
Di hari keempat ini, saya menjadi petugas piket disiplin waktu bersama Wendy dan Tersi. Permainan yang kami adakan waktu morning exercise, permainan yang pernah kita lakukan waktu diklat LK di Baung Camp, yaitu permainan tupai loncat. Selesai morning exercise kalo nggak salah kita semua langsung sarapan bareng di restoran PPLH.

Mungkin sesi hari keempat ini adalah yang paling berkesan (bagi sebagian besar peserta). Sebab pembicara kali ini adalah yang paling menarik (bagi sebagian besar peserta). Yup, fasilitator kali ini adalah Mas Sampoerna, atau biasa dipanggil Mas Sam. Bagi saya sih, memang saya akui menarik, tapi sedikit lebay. Terlebih lagi sebagian materi sudah pernah saya dapatkan. Ugh, ini nih gak enaknya terlalu sering ikut pelatihan leadership. Jadinya nggak terlalu menarik lagi. Seharian seluruh sesi diisi oleh Mas Sam. Tapi sayang sekali ada beberapa game yang tidak dilaksanakan karena terbatasnya waktu.

Hari kelima: Selasa, 28 Juli 2009
Nah, ini hari yang ditunggu-tunggu, sesi outbound. Untuk outbound, peserta dibagi menjadi 2 tim, yaitu tim Kucing dan Serigala. Saya ada di tim kucing dengan yel-yel yang cukup aneh. Sesi outbound pertama adalah spider web. Yah, seperti spider web biasanya, ini sulit dipecahkan dengan tim yang baru dibentuk. Sebab pasti timnya nggak kompak sama sekali. Parahnya, disini saya dapat sial. Gara-gara salah posisi waktu ngangkat teman, punggung saya jadi terkilir. Rasanya luar biasa sakit. Sampe saya posting artikel ini pun, kalo dibuat lari, punggung saya masih nggak mau kompromi.

Outbound kedua adalah horizontal web. Sama seperti spiderweb pada umumnya, tapi kali ini jaring-jaring diletakkan secara horizontal. Di sini juga terjadi "kekerasan". Cewek-cewek terlempar dan terjerembap ke tanah, gara-gara kesadisan cowok-cowok. Haha, maaf ya teman... Di sesi kedua ini lagi-lagi tim saya gagal.

Sesi ketiga adalah menjinakkan bom berupa galon kosong yang diletakkan ditengah-tengah ban mobil. Berkat ide salah satu anggota tim, rintangan kali ini bisa kita lewati. Sukses! Sesi keempat juga menjinakkan bom, tapi kali ini caranya adalah mengeluarkan bola pingpong dari dalam pipa yang ditaruh tegak. Kali ini, tim saya juga sukses melewati rintangan.

Sesi kelima adalah berjalan sebaris dengan menutup mata. Hanya satu orang yang menjadi guide untuk mengambil bendera yang disebar di pantai. Kebetulan saya yang jadi guide. Yah, berjalan seperti biasa sih, nggak ada kesan yang berlebih. Sesi keenam, mengambil bola di lumpur dengan 4 orang menjadi pengambil (ditutup matanya), dan 4 orang jadi guide untuk masing-masing pengambil. Sesi ini bisa terlewati sebelum waktu berakhir. Sayangnya terjadi sedikit kecelakaan kecil gara-gara terperosok ke lumpur.

Sesi ketujuh adalah sesi paling basah, pipa bocor. Saya pikir, panitia ini keterlaluan. Masa 8 orang pipanya bocor segudang. Jadi gak penuh-penuh deh. Akhirnya jadi kalah sama tim lawan dengan berbasah-basahan. Sesi terakhir adalah mengangkat ember kecil yang ditaruh di atas kursi 4 kaki, yang diikat dengan tali sejumlah peserta outbound. Dalam sekali coba, sesi ini dapat kita pecahkan semua.

Satu comment dari saya, cuaca di makassar dan outbound itu, benar-benar menambah pigmen gosong di kulit saya. Ugh, jadi tambah item deh. Sial.

Hari keenam: Rabu, 29 Juli 2009
Sesi motivasi dan finance sustainability dari mantan dosen Ma Chung, Pak Jimmy Dimas. Yah, sedikit bosan dengan sesi yang sudah pernah saya dapatkan sih, tapi saya banyak mendapatkan inspirasi dari sini. Saya jadi punya beberapa rencana tentang software house saya. Saya putuskan Pak Jimmy menjadi konsultan saya, sebab beliau sendiri berjanji akan membantu dengan gratis, khusus buat peserta LC ini. Seperti biasa, sesi Pak Jimmy diakhiri dengan sesi memecahkan teh botol sosro. Sungguh perjuangan yang panjang, ada beberapa peserta yang sampai jam setengah 8 pun belum bisa memecahkan (mulai sesi memecahkan jam setengah 6an). Sampai-sampai ada peserta yang nangis gara-gara nggak bisa-bisa. Tapi dengan perjuangan yang begitu keras, sampai membuat tangan sakit, akhirnya terselesaikan juga. Saya sih dalam beberapa kali nyoba udah bisa, tapi jadi iri sama mereka yang berhasil dengan perjuangan keras. Tentunya mereka merasa sangat puas sekali, berbeda dengan saya yang merasa biasa.

Hari ketujuh: Kamis, 30 Juli 2009
Sesi yang cukup membuat ngantuk gara-gara kelelahan dan fasilitator adalah langsung Pak Edwin. Sudah ngomong pake bahasa inggris, intonasi nggak mendukung mata, jadi banyak yang ngantuk. Tapi memang materinya sangat berguna, tentang workshop bagaimana membuat presentasi yang efektif. Malam itu adalah malam yang panjang dengan ditemani tugas membuat presentasi tentang analisis masalah yang akan dipresentasikan besoknya. Untung saya bagian konseptor, setelah memberikan konsep saya bisa istirahat. Habis benar-benar capek sih waktu itu.


Hari kedelapan: Jumat, 31 Juli 2009
Yup, hari efektif terakhir yang akan diisi dengan presentasi kelompok dan action plan individu. Ugh, saya yang kebagian presentasi di kelompok saya. Tapi saya sih enjoy aja soalnya saya sudah terbiasa presentasi sih. Untuk action plan, saya berencana menulis tentang LC 05 dan yang paling penting tentang keindahan Puntondo serta PPLH, yang akan saya post di blog ini. Rencana lain adalah mengembangkan software house saya.

Malamnya, ada closing ceremony dan pembagian sertifikat. Setelah itu, ada sesi makan malam penutup bersama yang diadakan langsung dibawah langit malam Puntondo. Menunya, aneka masakan cumi yang nikmat, hoho... Di kegelapan malam yang ditemani api unggun, kita rame-rame ngobrol dan ada perform dari tiap perwakilan area LC. Saya sih, malah nyanyi lagu arema, haha... Nggak lama, masing-masing balik ke kamar.

Sialnya, di malam terakhir yang pingin istirahat dengan tenang, malah saya terkena musibah. Bungalow saya diserang semut yang entah mencari apa. Saya terbangun jam 1 pagi, karna kasur saya yang diserang duluan. Nggak lama saya tunggu sambil FB-an di HP, teman di sebelah saya diserang. Ya saya bangunkan deh. Kita sepakat pindah tidur di luar. Sulit bener buat terlelap di tengah kedinginan pagi itu. Begitu enak-enak tidur, jam setengah 4 terbangun lagi gara-gara diserang semut lagi. Ugh, gila amat nih semut. Akhirnya seisi bungalow jadi bangun semua gara-gara semut sudah menyebar. Sial. Jadi langsung mandi dan pergi ke restoran buat nyalain laptop deh. Nggak bisa tidur lagi.

Hari terakhir, kesembilan: Sabtu, 1 Agustus 2009
Akibat serangan semut, saya jadi bangun kepagian. Saya pikir saya yang paling pagi. Eh ternyata, ada teman yang nggak bisa tidur. Kelihatannya sih, seperti depresi gara-gara mau berpisah (iya nggak Ferdy?). Katanya sih, sampe menyendiri dan nangis-nangis juga. Akibatnya sekarang dia jadi punya julukan, "wajah sangar hati melankolis". Haha, peace Ferdy!!

Selesai sarapan, kita langsung berangkat ke kota makassar, dengan tujuan nyari oleh-oleh. Nggak banyak yang bisa dibeli karena nggak bisa kemana-mana. Tapi paling nggak, udah tahu tentang kota makassar, mall yang ada di bawah tanah lapangan bola, fort rotterdam, pantai losari, dan Universitas Hassanudin. Sampe di bandara, kita nunggu bentar dan mengucapkan salam perpisahan buat semua. Naik Batavia Air lagi, dengan perjalanan 1 jam 20 menit, akhirnya sampe juga di Surabaya. Dijemput mobil kampus, tapi tetap aja kejebak macet di Porong. Tapi jadi bisa sms-an sama seseorang, hoho.. Setelah itu, sepanjang jalan pulang saya ketiduran di mobil.

Comment
Selesailah perjalanan panjang saya selama 9 hari di Makassar. Komentar saya terhadap LC ini, benar-benar luar biasa. Saya dapat banyak teman-teman dari berbagai latar belakang, dapat menikmati keindahan pantai Puntondo, jadi tahu berbagai macam kebudayaan teman-teman, dan tentunya masih banyak lagi yang nggak bisa ditulis disini. Buat teman-teman LC yang mbaca posting ini, silahkan menambahkan atau sekedar comment di blog ini. Mungkin ada beberapa sesi menarik yang lupa saya tulis disini, bisa ditambahkan di halaman comment. Saya bertekad pasti datang lagi ke Makassar untuk menikmati Trans Studio yang masih dibangun. Kerja dulu, dapet duit, terus minta dianterin teman-teman LC yang ada di Makassar. Hoho...


Setelah ini, saya berniat menulis tentang keindahan Puntondo beserta PPLH-nya. Itu salah satu action plan saya untuk membuat Puntondo lebih dikenal di Indonesia ini, mengingat potensi Puntondo yang begitu besar. Ok, see ya!!!
read more...

Menuju LC 05 VDMS - PPLH Puntondo

Prolog

Meskipun main language di pelatihan vdms pake english, posting pengalaman Leadership Conference (LC) pake bahasa indonesia aja yah. Ada banyak sekali yang mau saya ceritakan. Mulai dari berangkat, sampai nanti pulang. Kenapa saya nulis "sampai nanti pulang? Karena tulisan ini saya post setelah pulang ke malang. Tapi saya mulai nulis ini waktu pertengahan LC pake HP, jadi mungkin agak aneh sama posting-posting setelah ini.

Ok, saya start dari apa itu LC. Soalnya teman-teman kampus saya aja banyak yang nggak tahu saya ngapain ke Makassar. LC itu adalah semacam pelatihan leadership yang diadakan Van Deventer, lembaga yang ngasih saya beasiswa untuk 3 tahun ini. LC yang saya ikuti ini sudah angkatan ke-5. Prosesnya untuk bisa ikut sih, nggak asal pilih. Dari 10 orang penerima beasiswa di kampusku, 2 orang sudah pernah ikut sebelumnya, jadi nggak boleh ikut. 8 orang sisanya diseleksi melalui tulisan tentang sustainibility dan tentang motivasi.

Awalnya hanya akan dipilih 2 orang dari kampus saya. Karena mendadaknya pengumuman adanya seleksi, dari 8 orang itu yang mendaftar hanya 6 orang. Tapi ternyata, yang lolos seleksi itu ada 3 orang, lebih 1 orang dari yang ditentukan di awal: wendy, pungky, dan saya. Kita bakal bertemu dengan 12 orang lain dari seluruh penjuru indonesia di makassar.

Pelatihan ini murni free of charge, alias gratis. Dari biaya pelatihan, akomodasi, sampai transport. Bahkan urusan transport nggak menyangkut tiket pesawat aja, tapi juga biaya dari tempat tinggal ke bandara. Sungguh mulia hati penyelenggara LC ini. Kita dijadwalkan berangkat tanggal 24 Juli sampai pulang tanggal 1 Agustus. Jadi selama 9 hari (7 efektif) itu, kita bakal digempur dengan pelatihan-pelatihan yang tentunya akan memberikan suatu pelajaran bagi saya.

Setiap peserta mendapatkan list seluruh anggota yang ikut di LC ini. Wajarnya orang IT, saya langsung search ke om google, semua nama yang tertera di situ. Dan yang saya dapati adalah hasil yang cukup mencengangkan. Memang beberapa nggak tercantum di google. Tapi ada beberapa orang yang luar biasa, salah satunya duta bahasa di tempat dia. Wah, berati nih orang-orang hebat. Apalagi bahasa utama yang digunakan adalah bahasa inggris. Bisa jadi saya yang paling bodoh urusan komunikasinya nih.

Sip, info dasar sudah, searching tentang PPLH Puntondo sudah, googling map udah, packing udah, siap-siap berangkat.

---

Ok, kita rombongan berangkat dari kampus jam setengah 5 pagi, buat mencegah supaya nggak kena macetnya surabaya pagi. Diantar mobil kampus, kita janjian sama rombongan dari Surabaya. Anyway, ini pertama kalinya saya naik pesawat komersial. Ingat, pesawat ko-mer-si-al. Soalnya kalo pesawat militer sih pernah. Kita naik Batavia Air dengan nomor penerbangan 7P-725 yang dijadwalkan berangkat jam 9.05am WIB dari bandara juanda surabaya. Tapi sampainya di sana ternyata kepagian, jadi nunggu lama deh. Sekitar jam 8an, kita ketemu rombongan dari surabaya. Mereka dari Universitas Wijaya Kusuma dan Petra. Kenalan di awal, nama panggilan mereka Indra, Anjas, dan Bobby. Kita nunggu check in ruang tunggu bareng-bareng.

Lucunya, saya ngerasa penerbangan ini cepat sekali. Yang saya lihat, awalnya jadwal boarding jam 9.05 dan sampe jam 11.30. Padahal pesawat telat sekitar 20 menit, tapi sampai di bandara Hassanudin di Makassar saya lihat jam saya masih jam 11 kurang. Loh, kok cepat banget? Kenapa hayo? Ternyata, saya nggak lihat daerah waktunya. Departure jam 9.05 WIB dan landing jam 11.30 WITA. Ow, pantes aja kok kerasa cepat. Jadi terbangnya sebenernya cuma 1 jam setengahan. Anggapannya, badan udah prepare buat menghadapi perjalanan 2 jam 20 menit, tapi ternyata ngerasain perjalanan cuma 1 jam 20 menit.

Sampai di bandara Hassanudin, saya tercengang. Wuah, bandara ini lebih megah daripada Juanda, tapi tetap menjunjung tinggi "ke-simpel-an". Hebat bener makassar ini. Kita cari bagasi masing-masing, terus keluar. Sampai di tempat penjemputan, saya ditelepon panitia. Katanya ada 8 orang dari pesawat saya. Loh, kita cuma berenam kan. Mana yang 2 lagi? Eh, ternyata ada satu lagi peserta yang ternyata dari bandara juanda udah merhatiin kita, namanya Heri. Dan satu lagi, seorang ibu-ibu yang ternyata dari bandara juga merhatiin kita, namanya Bu Rosa. Mereka ragu mau nyapa soalnya nggak tahu anak VDMS atau bukan.

Kita dijemput panitia pakai 2 mobil, dan langsung meluncur ke PPLH Puntondo. Perjalanan yang panjang. Dari bandara butuh waktu lebih dari 2 jam sampai ke Kabupaten Laikang. Ok, gak masalah sih, di awalnya. Paling nggak bisa sambil tidur di perjalanan. Tapi ternyata, di saat-saat terakhir, justru kalo tidur malah bikin kepala "kejeduk". Jalanan super nggak rata. Jadi bingung, nih aspal apa batu yang disusun sih. Beruntungnya pemandangan di perjalanan cukup layak untuk dinikmati. Jalan di tepi pantai, bau laut, tapi juga bau kotoran sapi. Wahaha.

Beberapa puluh menit tersiksa sepanjang jalan, akhirnya sampai juga di PPLH Puntondo. Kesan pertama, wow... tempat yang luar biasa, sampe-sampe nggak bisa dijelasin dengan kata-kata. Datang-datang langsung makan siang dengan menu masakan laut. Ketemu beberapa teman baru, dan bersantai sejenak sebelum mulai sesi pemanasan. Itu berarti waktunya foto-foto dunk. Hoho... Habis itu langsung sesi warming up, meski terlambat beberapa jam dari jadwal. (to be continued)


read more...

Tutorial Java : Wrap Text into JLabel

Jul 18, 2009

Here is one of my source code

Now I'm writing for my next article in PC Media. In my program, I need to read a text file, and then parse it to JLabel to display the text. It is a long text file that contain not only a single sentence, but complex text with paragraf formatted. If I easily parse the text into the JLabel, its width will be as long as the text, can you imagine? So, I need to know how to wrap text in my JLabel. After browsing on the internet, I only found some basic method, and I rearrange it to be more suited for my program. And I think you can use this idea too.

Before you start to learn this post, make sure you have read the previous article that tell about reading a file. Using that method, I can get Array of String of my text file. After that, I need to wrap that Array of String into JLabel. So, I create this static method. I put it into a class named LabelUtil. One more thing, you have to define the container of the JLabel. If not, this method will return error.

It's easy to do that. You can just create a JPanel and add the JLabel into that panel, so that panel will be JLabel's container. You have to call setSize(int, int); of the container firstly.

Here is the method:


import java.awt.Container;
import java.awt.FontMetrics;
import java.text.BreakIterator;
import javax.swing.JLabel;
import javax.swing.SwingUtilities;

public class LabelUtil {
/**
* Make the text automatically wrap into JLabel
* @param label JLabel
* @param text Array of String
*/
private void wrapLabelText(JLabel label,
String[] text) {
// measure the length of font in swing component
FontMetrics fm = label.getFontMetrics(
label.getFont());
// size of parent container
Container container = label.getParent();
int containerWidth = container.getWidth();
// to find the word separation
BreakIterator boundary = BreakIterator
.getWordInstance();
// main string to be added
StringBuffer m = new StringBuffer("<html>");
// loop each index of array
for(String str : text) {
boundary.setText(str);
// save each line
StringBuffer line = new StringBuffer();
// save each paragraph
StringBuffer par = new StringBuffer();
int start = boundary.first();
// wrap loop
for(int end = boundary.next();
end != BreakIterator.DONE;
start = end, end = boundary.next()) {
String word = str.substring(start,end);
line.append(word);
// compare width
int trialWidth = SwingUtilities
.computeStringWidth(
fm, line.toString());
// if bigger, add new line
if(trialWidth > containerWidth) {
line = new StringBuffer(word);
par.append("<br>");
}
par.append(word);
}
// add new line each paragraph
par.append("<br>");
// add paragraph into main string
m.append(par);
}
// closed tag
m.append("</html>");
label.setText(m.toString());
}
}


Suppose that my text file is like this:

VT Alpha - Program Pemilihan
http://fauzilhaqqi.blogspot.com - 2009

Programmer : Muhammad Fauzil Haqqi

Program ini adalah program untuk pemilihan dengan metode voting. Cara pembuatan program ini telah ditulis dalam bentuk artikel pada majalah PC Media. Source code program ini bebas untuk dipakai, diubah, maupun disebarkan secara gratis.

Programmer tidak memberikan garansi jika nantinya ada kesalahan yang terjadi selama penggunaan program ini. Programmer juga tidak bertanggung jawab terhadap penyalahgunaan program ini dalam aplikasi nyatanya.

Jika Anda memiliki saran maupun pertanyaan tentang program ini, silahkan menghubungi programmer melalui alamat blog di atas.


So, after I get the Array of String of my text file by using static method FileUtil.fileRead();, I just parse the Array to method wrapLabelText();. So easy, isn't it???

I use this code to display a dialog into my frame:

JPanel pane = new JPanel();
pane.setBorder(BorderFactory
.createEtchedBorder());
pane.setSize(270, 0);
// filepath
String[] text = FileUtil.fileRead(
FileUtil.setFile("data/about.vta"));
JLabel label = new JLabel();
pane.add(label);
LabelUtil.wrapLabelText(label, text);
JOptionPane.showMessageDialog(this, pane,
"Tentang Kami",
JOptionPane.PLAIN_MESSAGE);

After do everything I can do, this is the displayed dialog:

read more...

Tutorial Java : File Read and Write

Jul 17, 2009

Useful Java file I/O class

Studying Java is an exciting thing. I really love coding and I am really happy to share that. After writing the Devilish Children, I was confused when writing the next game. One thing that is so important is File Input and Output. I mean, I need to know the easiest way to read and write text file using Java. After searching for the sollution, I found some easy way to do that. I just have to create a FileUtil class that has static method to read and write file. Actually, I get this code from a Game Engine called GTGE. Because GTGE is an open source project, I modified it to fulfill my requirement, added some comments, and write it to this blog.

Here is the source code of FileUtil.java class:


import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.ArrayList;

/**
* This class has been written by Haqqi. You can
* freely use, modify, and distribute it.
* @author Haqqi
*/
public class FileUtil {
/**
* Private constructor to prevent the object creation
*/
private FileUtil() {}
/**
* Set the file based on relative path
* @param filePath Path of the file
* @return Generated file
*/
public static File setFile(String filePath) {
// create new file object
File file = null;
// getting the path from working directory
// you can check the directory by printing it
String path = System.getProperty("user.dir")
+ File.separatorChar + filePath;
try {
// construct the file based on the path
file = new File(path);
}
catch(Exception e) {
e.printStackTrace();
}
// if file is not found, then throw exception
if (file == null) {
throw new RuntimeException();
}
return file;
}
/**
* Write an Array of String into a file. The written
* file will be just like a text file.
* @param text Array of String that want to be written
* @param file File
* @return true if success and false if not
*/
public static boolean fileWrite(String[] text,
File file) {
try {
// create buffer
BufferedWriter out = new BufferedWriter(
new FileWriter(file));
PrintWriter writeOut = new PrintWriter(out);
// writing text to file
for (int i = 0; i < text.length; i++) {
writeOut.println(text[i]);
}
// close the writer
writeOut.close();
return true;
}
catch (IOException e) {
e.printStackTrace();
return false;
}
}
/**
* Read file from a file
* @param file
* @return
*/
public static String[] fileRead(File file) {
try {
// buffered reader
BufferedReader readIn = new BufferedReader(
new FileReader(file));
// ArrayList to store the string each line
ArrayList list = new ArrayList();
// Temporarily object
String data;
// Read each line until end of line
while ((data = readIn.readLine()) != null) {
list.add(data);
}
// closing reader
readIn.close();
// return as Array of String
return (String[])list.toArray(new String[0]);
}
catch (IOException e) {
e.printStackTrace();
return null;
}
}
}

The constructor is modified to be private to prevent the object creation, since all the methods is static method. Before you use fileWrite and fileRead method, you can easily set the file by using setFile method. You just need to set the relative path of the file from working directory. For example, if your woring directory is "D:\\My Java Project\TheProject", and your file is inside folder "data" and titled "My Files.my", so you just call setFile("data/My Files.my"); to get the file. Use the set file in method fileRead and FileWrite. Remember that fileRead returns an Array of String. Each index for 1 line in the file.

Ok, I hope this post will be very helpful for you. Please be free to leave a comment.
read more...

Student of the Year 2009

Jul 9, 2009

Sebuah cerita dari sebuah acara

Hari Selasa kemarin, di kampus saya ada acara tahunan, tepat setiap tanggal 7 bulan 7. Yup, acara dies natalis Universitas Ma Chung yang kedua. Berbeda dengan Dies Natalis yang pertama, di acara kemarin saya dapat kejutan yang... hm... sebenarnya nggak terlalu mengejutkan. Tapi, tetap aja kejutan itu memberikan suatu rasa bangga buat diri saya. Ok ok, saya akan cerita dari awal.

Beberapa hari sebelumnya, saya nerima sms dari staf direktorat kemahasiswaan dan alumni. Isi sms-nya, intinya nyuruh saya buka email kampus, terus cepet-cepet ngisi dokumen yang di attach dengan judul "biodata", terus harus dikumpulkan paling lambat besoknya jam 12 siang. Wah, dasar otak saya yang mikirnya selalu macem-macem, saya udah ngerasa ada sesuatu nih. Apalagi yang dikirimin email hanya beberapa mahasiswa yang termasuk "jajaran atas". Tapi, yah untuk sementara saya isi aja selengkap-lengkapnya.

Acara Dies Natalis kali ini, saya juga wajib hadir karena saya termasuk penerima beasiswa Van Deventer, yang masa berlakunya 3 tahun. Itu berarti sampai saya lulus kuliah. Dan itu berarti juga setiap acara Dies Natalis di kampus saya, saya wajib datang karena anggapannya saya mendapat beasiswa tersebut setiap tahunnya. Berarti, wajar kalau saya ada di acara sampai acara selesai, terutama sesi penghargaan. Lagian saya penasaran siapa yang bakal jadi Student, Lecturer, Staff, dan Prodi of the Year 2009 ini.

Saya juga wajib hadir karena saya penerima award berupa dana penyelesaian tugas akhir atau skripsi. Award itu saya dapatkan dari 2 catatan kegiatan saya. Yang pertama, saya berhasil jadi finalis di lomba pemrograman Arkavidia. Yang kedua, karena saya berhasil membuat publikasi tulisan di PC Media. Besarnya, nggak berani saya sebutkan di sini. Tapi lumayan cukup lah untuk dana skripsi. Jadi, ditambah dengan alasan ini kehadiran saya di acara Dies Natalis semakin "wajar". Nggak ada yang perlu dipertanyakan. Saya juga nggak ambil pusing dengan alasan lain.

Ok, sesi pertama, penerima beasiswa maju ke depan. Saya ditunjuk sebagai perwakilan untuk nerima beasiswa secara simbolis. Nah, ini yang lucu. Sekitar seminggu sebelumnya saya baru aja berlibur ke Bali. Di Bali, saya ngelukis tatto temporer dengan harga 25ribu. Tatto itu saya sengaja minta lukiskan di pergelangan tanggan kiri, sampai memanjang ke jari telunjuk dan jari manis, dengan maksud biar bisa dilihat orang (dikit pamer nih). Kata yang ngelukis, normalnya tatto itu hilang dalam waktu 2 minggu. Saya sih enjoy-enjoy aja soalnya masuk kuliah kan masih lama. Saya lupa sama sekali dengan acara Dies Natalis. Hari-hari menjelang Dies, saya pake segala cara untuk menghilangkannya, tapi nggak berhasil. Sempat kepikiran pakai sarung tangan, tapi nggak jadi lah. Malah kelihatan aneh.

Giliran kemarin maju ke depan, apa lagi gara-gara pemberinya pindah ke sebelah kanan, otomatis tangan kiri saya jadi menghadap penonton. Penonton yang baris depannya isinya orang-orang besar kayak Sugeng Hendarto, Teguh Kinarto, dan Mochtar Riyadi. Gila aja, kalo kelihatan tatto saya, meski cuma temporer ya gak lucu donk. Bak trik pesulap, saya nerima map sertifikat sambil membelokkan tangan ke bawah map, biar nggak kelihatan. Haha... Masalahnya, saya nggak cuma maju sekali. Maju kedua kalinya ya waktu nerima award. Untungnya bukan saya yang jadi perwakilan. Jadi sedikit tenang berdiri sambil tetap menyembunyikan tangan bertatto. Benar-benar nggak nyaman banget.

Saya pikir giliran saya selesai di situ. Acara berikutnya pengumuman pemenang lomba bisnis plan di kampus saya. Juaranya teman dekat sendiri sih, tapi ngelihat mereka udah berdiri di depan sana, dengan menggenggam hadiah modal sebesar 20 juta rupiah, saya jadi ngerasa sedikit iri sama mereka yang udah selangkah lebih maju menuju kesuksesan wira usaha. Selamat deh buat juaranya, Mutiara dan Arlingga. Tapi memang saya sengaja nggak mau ikutan di event ini sih. Ya mau gimana lagi. Yang pasti di sesi ini saya nggak maju ke depan.

Sesi berikutnya, penghargaan buat semua yang terbaik. Mulai dari 5 peraih IP tertinggi se-Universitas, yang diambil semua anak Akuntansi. Dilanjutkan dengan peraih IPK tertinggi di setiap prodi. Masih lanjut lagi sama peraih penghargaan extra-ordinary student (elamat yah buat Umi Habibah). Dan yang terakhir, yang paling ditunggu-tunggu, yaitu Student, Lecturer, Staff, dan Prodi of the Year 2009.

Panggilan pertama ditujukan buat peraih gelar Student of the Year 2009. Tahun lalu, peraih gelar ini adalah teman saya di lembaga kemahasiswaan, Welliam Cung. Tahun ini, semua bertanya-tanya siapa yang bakal meraih gelar itu. Dengan suasana tegang, MC bacain pelan-pelan, "Student of the Year tahun ini, diraih oleh...." Jreng jreng jreng... (bayangkan layaknya cara bicara MC kalau urusan gini), "oleh.... Muhammad Fauzil Haqqi !!!".

Loh?? saya langsung disalami teman-teman di dekat tempat duduk saya. Gila aja, saya juga bingung kenapa tiba-tiba nama saya yang disebut. Tapi sedikit nggak kaget juga sih. Langsung saya maju ke depan, sekali lagi dengan tangan bertatto. MC melanjutkan dengan 3 peraih gelar Lecturer of the Year, 3 gelar Staff of the Year, dan terakhir gelar Prodi of the Year. Di tengah-tengah proses itu, saya ngelihat ke arah salah satu staff direktorat kemahasiswaan, dan saya langsung diwanti-wanti dengan isyarat, "awas loh tattonya!!!". Di pikiran saya, "hahaha... iya bu, tau... ini aja susah payah nyembunyiin".

Nggak cuma itu, Prodi of the Year 2009 dipegang oleh Prodi saya, Information Technology. Kata anak-anak, "wah perfect nih IT, ada yang jadi Student of the Year, dan prodinya jadi Best Prodi of the Year". Langsung begitu MC bacain pemenangnya, anak-anak IT kompak sorak-sorak, " Go IT go IT go!!! Go IT go IT go!!!" Wah, saya sebagai mantan ketua HMP bangga punya teman-teman yang kompak kayak gini. Teruskanlah wahai penerus bangsa!!! Tetap kompak yah anak IT!!!

---

Wah, jadi Student of the Year 2009, merupakan suatu berkah tapi juga suatu beban tersendiri buat saya. Kenapa? soalnya saya ngerasa di tahun ini saya nggak banyak melakukan sesuatu yang berarti, terutama di mata teman-teman saya. Sebagian kerjaan saya sebagai lembaga kemahasiswaan juga nggak saya lakukan dengan all out, gara-gara waktu itu sedang ada masalah. Pikiran saya, saya pasti bukan apa-apa di mata teman-teman yang lain. Meskipun, saya seorang anggota BPM Universitas Ma Chung. Meskipun saya jadi Steering Committee di MaC-Maple 2009. Meskipun saya jadi ketua HMP Teknologi Informasi. Meskipun tulisan saya terbit di PC Media. Meskipun semuanya. Tapi saya nggak ngerasa ngelakuin apa-apa di tahun ini.

Oiya, kenapa saya nggak ngerasa terlalu kaget nerima kejutan itu? Soalnya saya udah menebak kalau email yang dikirim itu ada apa-apanya sama suatu penghargaan, dan itu yang paling mungkin adalah penghargaan Student of the Year. Cuma saya nggak terlalu berharap. Eh, ternyata kejadian beneran. Lumayan lah, kalau dihitung-hitung dengan beasiswa yang sudah saya dapat sebelumnya, biaya kuliah saya sampai lulus (kalau normal 8 semester), udah sisa 2 jutaan aja. Lumayan buat meringankan beban kuliah yang ditanggung orang tua saya. Ya, penghargaan kali ini diikuti dengan beasiswa di dalamnya. Nggak seperti gelar Student of the Year 2007 yang saya dapatkan, yang cuma di atas kertas sertifikat tanpa ada yang mengikuti. Hehe... Lha bukan resmi dari yayasan kok, cuma dari sebuah event yang saya sendiri nggak jelas maksudnya apa.

Tapi, jadi Student of the Year 2009 harus menjadi suatu kebanggaan tersendiri. Berarti selama ini performa saya ada yang melihatnya. Sesuatu yang buat saya nggak terlalu berarti jika dilakukan, jadi sebuah penilaian tersendiri bagi orang lain untuk saya. Terima kasih buat semua orang yang selama ini mendoakan saya, mendukung saya, menemani saya, memberi peluang saya, membantu saya, pokoknya semua orang yang nggak menyulitkan saya. Saya nggak ada niat untuk mempertahankan gelar ini, karena masih ada orang lain yang lebih berhak. Orientasi saya tahun ini sudah berubah ke usaha masa depan. Anyway, THANKS FOR ALL!!!!

Nih, fotonya sementara baru bisa dapat yang kualitas pas-pasan dari facebook...

read more...