Portal dan PortalComponent merupakan kelas yang saya buat memudahkan user untuk membuat web-portal/start-up page layout. Kelas ini pula yang digunakan kelompok saya pada tugas PPL semester yang lalu. Sebagai contoh web-portal yang dapat dihasilkan, Anda dapat melihat situs seperti iGoogle, MyYahoo, PageFlakes, dan Netvibes.

Agar lebih mudah dipahami, dapat diibaratkan Portal merupakan “wadah” dan PortalComponent merupakan “pengisi wadah”-nya.

Bagaimana cara menggunakan class ini? Ikuti beberapa langkah berikut. Pada contoh ini, saya mengasumsikan Anda menggunakan Netbeans IDE 6.0 dengan plugin GWT4B sudah terinstall, dan framework GWT sudah terkonfigurasi dengan benar.

  1. Copy file Portal.java dan PortalComponent.java ke package client.
  2. Copy folder themes ke dalam folder Web Pages.
  3. Tambahkan kode
  4. <link rel="stylesheet" type="text/css" href="themes/portal-style.css">
    ke web host page di dalam tag <head></head>

  5. Pada Entry Point class, tambahkan kode berikut
  6. //Make layout composition consisted of three columns each 30% width
    //You can make less than 3 columns by setting "0" to the parameter
    public Portal portal = new Portal("30%", "30%", "30%");
    public PortalComponent portalComponent1 = new PortalComponent("Component 1",
    new HTML("This is content of Component 1"));
    public PortalComponent portalComponent2 = new PortalComponent("Component 2",
    new HTML("This is content of Component 2"));
    public PortalComponent portalComponent3 = new PortalComponent("Component 3",
    new HTML("This is content of Component 3"));
    public PortalComponent portalComponent4 = new PortalComponent("Component 4",
    new HTML("This is content of Component 4"));
    public PortalComponent portalComponent5 = new PortalComponent("Component 5",
    new HTML("This is content of Component 5"));
    public PortalComponent portalComponent6 = new PortalComponent("Component 6",
    new HTML("This is content of Component 6"));
    public PortalComponent portalComponentHeader = new PortalComponent("Header Component",
    new HTML("This is Header Component"));
    public PortalComponent portalComponentFooter = new PortalComponent("Footer Component",
    new HTML("This is Footer Component"));
    dan override method onModuleLoad menjadi sebagai barikut
    public void onModuleLoad() {
    RootPanel.get().add(portal);


    //Make portalComponent1 - 6 dragable
    portal.setDragable(portalComponent1);
    portal.setDragable(portalComponent2);
    portal.setDragable(portalComponent3);
    portal.setDragable(portalComponent4);
    portal.setDragable(portalComponent5);
    portal.setDragable(portalComponent6);

    //Add components to portal
    portal.addComponent(portalComponent1, DockPanel.WEST);
    portal.addComponent(portalComponent2, DockPanel.CENTER);
    portal.addComponent(portalComponent3, DockPanel.EAST);
    portal.addComponent(portalComponent4, DockPanel.WEST);
    portal.addComponent(portalComponent5, DockPanel.CENTER);
    portal.addComponent(portalComponent6, DockPanel.EAST);
    portal.addComponent(portalComponentHeader, DockPanel.NORTH);
    portal.addComponent(portalComponentFooter, DockPanel.SOUTH);

    //Make portalComponentHeader and footer's header not visible
    portalComponentHeader.setVisibleHeader(false);
    portalComponentFooter.setVisibleHeader(false);

    //Make portalComponent3 not closable
    portalComponent3.setClosable(false);
    }

Hasilnya, dapat Anda lihat pada Live-Demo, link alternatif: Live-Demo2

Download link:

  • Full example project (under construction)
  • Class files + stylesheet (under construction)

Berpikir Besar

Juni 11, 2008

Baik, saya akan memulai topik ini dengan sebuah cerita. Seorang guru sedang mengajarkan sesuatu kepada murid-muridnya. Dia mengambil sebuah wadah lalu dimasukkannya batu hingga wadah tersebut tidak dapat lagi menampung lebih banyak batu. Sang guru bertanya apakah wadah ini sudah penuh?

Kira-kira apa jawaban murid-muridnya? Mereka katakan bahwa wadah ini sudah penuh. Kemudian sang guru mengambil pasir dan menuangkannya ke dalam wadah hingga tidak dapat menampung lebih banyak pasir. Sang guru bertanya lagi apakah wadah ini sudah penuh?

Sekarang, menurut Anda apa jawaban murid-muridnya? Sudah penuhkan? Sang guru kemudian menuangkan air hingga tidak bisa menampung lebih banyak air.

Apa hikmahnya? Baca entri selengkapnya »

Di kampus, khususnya di Gamais di mana saya banyak beraktifitas, kirim SMS ke banyak (biasanya disebut nge-jarkom gurita) merupakan cara yang paling efektif dan efisien untuk memberitahukan informasi ke seluruh kader.

Kalau jumlah penerimanya hanya puluhan, mungkin masih bisa efektif menggunakan jarkom tangga/ular atau menggunakan fitur send to many dari handphone. Tapi kalau jumlahnya ratusan bahkan mendekati angka 1000? Cara seperti itu tidak lagi efektif.

Untuk itu, dikembangkanlah (sebenarnya bisa saja menggunakan aplikasi open source seperti Gammu, tapi emang niatnya ngoprek sih^^) sebuah aplikasi SMS yang dapat mengirim SMS ke banyak nomor hanya dengan satu kali klik. Aplikasi tersebut terakhir diberi nama ATCommander. Sebenarnya rencana awalnya ATCommander dikembangkan untuk program Tahajjud Call. Namun, karena beberapa kendala, belum dapat diimplementasi sepenuhnya.

Aplikasi ini dikembangkan menggunakan Delphi dan berjalan pada sistem operasi Windows. Perangkat keras yang dibutuhkan adalah handphone yang dapat mengirim SMS beserta kabel datanya, serta sebuah PC/Laptop.

Nomor penerima dapat diinput langsung atau disimpan dalam file teks dengan separator bebas. Jadi, langkah-langkah penggunaan aplikasi untuk SMS adalah seperti ini.

  1. Sambungkan handphone dengan PC
  2. Set port yang sesuai lewat menu “Port Setting”, lalu “Open Port”.
  3. Ketik konten SMS dan set SMS Center sesuai provider.
  4. Masukkan nomor penerima baik langsung maupun dari file teks.
  5. Klik “Send to List”, maka program akan mengirimkan SMS tersebut ke semua nomor dalam list.

Referensi dalam mengembangkan aplikasi ini:

Kerja Praktek Day #3

Juni 11, 2008

Hari ini berjalan tidak jauh berbeda dengan dua sebelmnya. Hanya saja hari ini, teman sekelompok kami, Abhi sudah mulai bergabung di kantor. Dia datang bersama orang tuanya tadi pagi.

Yang lainnya, kami mencoba tempat makan baru di lantai 2, di SGU Longue. Di sana, ada orang mirip Aldi (ketua angkatan aka kentang IF05 pertama!), tapi entahlah apa benar dia atau bukan.

Pulang kantor malam lagi, mengeksploitasi internet gratis (walau tidak cepat) untuk eksplorasi sesuatu.

Cinta Cantik

Juni 11, 2008

Teman : “Dit, aya pantun bagus!”

Temannya Teman : ???

Teman : “Bukanlah titik yang menjadikan tinta, tapi tinta yang menjadikan titik.”

Temannya Teman : “terus?”

Teman : “Bukanlah cantik yang menjadikan cinta, tapi cinta yang menjadikan cantik.”

Temannya Teman : *Nyengir* “Bagus juga pantunnya 😀 (dalam hati: ‘bener gak ya?’)”

Kerja Praktek Day #2

Juni 11, 2008

Pagi

Bangun sekitar pukul 2.30, tahajjud, tilawah, habis itu sempat menyaksikan Belanda mempermalukan Italia dengan skor 3-0 :D. Setelah itu saya buka laptop dan mengerjakan beberapa hal, termasuk menulis blog ^^. Terdengar sayup-sayup adzan shubuh berbunyi, tapi saya tak begitu mendengar. Untung saja Apri mengajak ke mesjid jadi masih sempat masbuk di rakaat kedua. Wah, ini shalat berjamaah pertama di mesjid sejak menginjakkan kaki di BSD 🙂 secara di kantor ga ada mesjid dan jauh dari mesjid.

Habis shalat, dzikir sebentar terus tidur lagi 😀 setengah jam. Bangun, nonton berita, lalu lari pagi keliling komplek. Tiap lewat depan rumah yang ada anjingnya, pasti di-“teriaki” (aduh, apa ya basa Indonesia yg benernya?) sama anjingnya. Habis itu sarapan, mandi, dan berangkat ke kantor nailk sepeda. Kali ini giliran saya naik sepeda yang kecil. Lebih capek ternyata…

Siang – Malam

Hari ini kami makan siang di depan gerbang gedung German Centre (yang di dalamnya ada kantor Sigma). Ini yang paling murah ^^. Harga mahasiswa lah 😀

Sorenya, barulah kami mendapatkan tugas pertama dari supervisor, yaitu membuat mockup HTML aplikasi Internet Banking salah satu bank swasta untuk keperluan marketing. Tugasnya tidak terlalu sulit karena sama sekali tidak ada programming. Tapi jumlah halamannya banyak sekali.. Deadlinenya 4 hari dihitung mulai keesokan harinya, jadi jatuhnya Senin.

Karena malas membawa tugas ke kosan, saya kerjakan di kantor sampai malam, jam 21.30an. Malah tadinya saya mau pulang lebih malam lagi, mumpung bisa pakai internet juga :D, tapi karena Apri dah mau pulang aja, akhirnya saya ikut pulang.

Sampai di kosan, kami minta disambungkan dengan jaringan internet di kosan. Setelah diberi tahu network key-nya, akhirnya kami bisa internet-an dengan kecepatan lebih cepat daripada di kantor. Sayang terbatas kuota 1 GB 😦

Kerja Praktek Day #1

Juni 11, 2008

Pagi – Siang

Hari Senin 9 Juni 2008 adalah pertama saya ngantor. Saya dan Apri datang pagi-pagi, jam 8, dari tempat kosan ke German Centre lantai 5 naik sepeda punya ibu kos (bike to work nieh..), kantor PT. Sigma Karya Sempurna. Kantornya unik, desain interiornya dominan kayu, seperti di desa. Makanya dinamakan Desa Sigma.

Sampai di sana, kami disuruh menunggu di ruang tunggu. Tak lama, datang Iqbal, Paw, dan Shena. Lalu seorang mbak2 datang meminta kami menandatangani surat perjanjian. Kemudian kami dipersilakan untuk menunggu di ruang meeting (saya lebih suka menyebutnya “saung” meeting^^). Tak lama, Alsa, Ibun, dan Anggi datang bergabung.

Project Manager (PM) kelompoknya Paw dkk. kemudian datang dan menjemput mereka, kemudian PM-nya Alsa dkk. juga datang. Tinggal saya dan Apri yang tersisa di sana.

Mbak2nya datang lagi dan KRING..KRING.. telpon di saung itu berdering. Katanya itu dari PM kami. Apri yang angkat telpon, dan ditanya apakah bisa kerja praktek 4 bulan? Wew, lama banget! Udah kuliah itu mah..
Detik demi detik, menit demi menit, jam demi jam berlalu… Yang ditunggu tak kunjung datang. Untung saja di tempat itu ada kabel LAN nganggur dan colokan listrik. Jadi saya buka laptop dan colok deh sana-sini^^ Sampai tiba waktunya istirahat siang, akhirnya bapak yang tadi telpon datang juga. Tetapi berhubung orang yang harusnya “menangani” kami katanya sedang berada di tempat client, kami pun menunggu lagi.
Saat istirahat, kami shalat di mushalla dan makan di kafetaria lantai dasar.

Siang – Malam

Pekerjaan menunggu pun berlanjut sambil YM-an, nulis blog, browsing, ngerjain proyek pribadi, mengusahakan supaya Abhi bisa sekelompok dengan kami (dan berhasil!), pokonya apa pun deh biar waktu gak terbuang percuma. Sudah jam 17.30, kami pamit untuk pulang. Katanya besoknya akan ada briefing soal project-nya. Kalau pun harus menulis activity log untuk hari itu, paling isinya: busy waiting dan menulis activity log.

Malamnya kami jalan-jalan ke ITC beli sesuatu, setelah itu makan ayam panggang, kue putu, dan beli martabak durian di Taman Jajan. Pas lagi jalan pulang, di jalan ketemu dengan ibu kos sama anak-anaknya lagi naik mobil. Diajak pulang bareng deh. Alhamdulillah, hari ini beruntung sekali^^