Showing posts with label Technology. Show all posts
Showing posts with label Technology. Show all posts

Android SDK for Offline Installation

Hi there. Long time not see you here :). This time I will talk about Android, a mobile operating system made by Google which is using modified Linux kernel. I knew this thing years ago, but I made Android apps just for fun, which only runnable in the emulator (Android gadget was not available yet at that time). Anyway, lately I get back my curiosity on Android development because of its good prospect (I think) and my brand new Android phone, hoho :). Hopefully in the following month I will publish some free Android apps for all of you :)


Let's get into the main point. If we want to develop Android-based application, at least we need to have:
  1. Android SDK and its components
  2. Eclipse
  3. ADT Plugin for Eclipse

Android Robot

We can download Android SDK at http://developer.android.com/sdk. Google provides Android SDK for 3 platforms: Windows, Mac OSX, and Linux. Just download it and extract the .zip or .tgz. After that, we can read the fine manual and start using AVD manager or "SDK Setup.exe" to perform online installation: download and install its components/packages, such as Android Platform, documentation, Google API, etc.

Anyway, if we want to perform offline installation, we need to download it components manually. Actually, Google doesn't provide any hard link for those, but we can use folder http://dl-ssl.google.com/android/repository/ and file http://dl-ssl.google.com/android/repository/repository.xml for reference. So, here it is a list of download link for some Android SDK components (for other version of API, check the xml file above).

After that, we just need to extract those components in the correct folders. See the following structure (for example, if you extract the SDK in the C:\android)
android/
|-- add-ons/
    |-- google_apis-8_r02/
        |-- docs/
        |-- images/
        |-- libs/
        |-- samples/
|-- docs/
|-- platforms/
    |-- android-2.2_r02-windows/
        |-- data/
        |-- images/
        |-- skins/
        |-- templates/
        |-- tools/
        |-- android.jar
|-- samples
|-- tools
|-- usb_driver
    |-- amd64
    |-- i386
|-- SDK Setup.exe
Next, download the ADT Plugin for Eclipse manually (for offline installation) from http://dl.google.com/android/ADT-0.9.7.zip (for version 0.9.7) and read the fine manual how to use it in Eclipse. In the end, take a look at HelloWorld application to see if your installation works perfectly. Happy coding! ;)

How To Sync Google Contacts with SyncML

Some days ago I lost all my cell phone contacts due to silly factory reset. Unfortunately, I did backup my contacts 1.5 years ago. Yeah, it's been so long time, but it's better than no backup at all, rite. To prevent this silly thing happen in the future, I should backup my cell phone contacts regularly.

There are two major ways to do backup your cell phone contacts: offline backup and online backup. Offline backup means you store your phone contacts in a file located on your phone memory card or your PC. Your cell phone usually has this feature (to backup contacts to memory card). Otherwise, you can use cable data (or bluetooth) and your phone PC suite to sync your contacts to your PC.

Another method is online backup. You can store your phone contacts in the cloud. I prefer Google Contacts for this purpose, because I use Gmail for my primary email. Actually Google has a service called Google Sync, which is using Exchange ActiveSync technology, that implemented in recent smartphones, such as BlackBerry, iPhone, Windows Mobile phone, Nokia S60. For "not-so-classic phones" user, like me with my LG KU380, you can still use Google Sync service by using SyncML, which is platform-independent information synchronization standard. Here I will describe how to sync your cell phone contacts (in my case: LG KU380) with Google Contacts using SyncML:
  1. LG KU380
    On your cellphone, go to menu [0] Connectivity → [2] Server sync → [3] Server synch. centre. You may find it on another menu if you use different phone.
  2. Add new server synch. centre
    • Profile name: Google
    • Host address: https://m.google.com/syncml
    • Username: <your gmail address>
    • Password: <your gmail password>
    • Contacts: On
    • Contact name: contacts
    • Sync type: Normal
    • Access point: <your cellphone APN>
  3. Prepare your Google Contacts, especialy "My Contacts" group, because only this group that will be synchronized with your cell phone contacts.
  4. Synchronize your contacts
    • Go to menu [8] Contacts → [8] Settings → [2] Synchronize contact, or
    • Go to menu [0] Connectivity → [2] Server sync → [1] Connect
Voilà! Your phone contacts is synchronized with Google contacts. Now you can add/update/delete contacts through your cellphone or Google, then sync it later. If your cell phone doesn't have feature for autosync, then you should sync it manually and regularly.
    Just my another $0.02. Cheers! :)

    Review Singkat Ubuntu 9.04

    Bulan lalu, Ubuntu kembali merilis sistem operasi versi terbarunya yakni Ubuntu 9.04, yang diberi codename Jaunty Jackalope (JJ). Sebagai pengguna Ubuntu yang up-to-date, saya telah menunggu-nunggu rilis ini berharap ada kejutan yang menarik dari versi Ubuntu terbaru ini. Akhirnya setelah dirilis juga pada tanggal 23 April, saya segera mendownload file iso-nya dari releases.ubuntu.com untuk sekedar dikoleksi. Lalu, beberapa hari kemudian saya lakukan upgrade via jaringan untuk mengubah Ubuntu 8.10 (Intrepid Ibex) saya ke Jaunty Jackalope.


    Upgrade via jaringan ini sangat mudah, yang dibutuhkan hanyalah koneksi internet yang reliable dan kesabaran ^ ^. Caranya adalah sebagai berikut:
    $ sudo gedit /etc/apt/sources.list
    tekan ctrl+H, ubah "intrepid" menjadi "jaunty", lalu simpan
    $ sudo apt-get update
    $ sudo apt-get dist-upgrade
    Oya, repository yang saya gunakan adalah repository kambing. Waktu yang diperlukan untuk mengupgrade melalui repository tersebut sekitar 12 jam dengan menggunakan koneksi Telkomnet Hotspot (3 jam pertama), lalu disambung IM2 Broom Unlimited. Jadi, harap maklum kalau lama :P.

    Beberapa hal baru dari Ubuntu 9.04 yang menarik buat saya antara lain:
    • Waktu booting lebih cepat
      Banyak pengguna lain yang mengklaim waktu booting kurang dari 20 detik, bahkan ada yang kurang dari 10 detik (setelah fresh install). Sedangkan waktu booting saya masih sekitar 45 detik (dari grub sampai ke login screen), tambah 15 detik lagi dari login sampai desktop siap kerja (sampai cpu usage-nya stabil). Mungkin ini karena sudah banyak sekali aplikasi dan service yang terinstall di laptop saya ;D.
    • Tampilan baru
      • Desktop theme baru
        Ada 3 theme baru yang disertakan di JJ, yakni Dust, Dust Sand, dan New Wave. Theme favorit saya adalah Dust, lumayan lah untuk sejenak menggantikan theme Mac4Lin saya yang sudah lama menghiasi layar desktop.
      • Notifikasi baru
        Semua notifikasi tergabung menjadi satu di kanan atas, dari mulai volume, batere, sampai notifikasi pidgin. Menarik sih.. tapi sayangnya, kita tidak bisa mengaturnya, misalnya tidak memasukkan pidgin ke notifikasi itu, soalnya sudah ada guification dari pidgin yang menurut saya lebih bagus.
      • Usplash baru
        Progress baru pada usplash baru ini dibuat lebih tipis, selain ukuran tulisan "Ubuntu" jadi lebih kecil. Saya rasa ini menambah kesan bahwa waktu booting lebih cepat.
      • Login Screen baru
        Tapi, masih banyak di GNOME Look yang lebih bagus.
    • Lain-lain:
      • Menggunakan kernel Linux 2.6.28, yang mana sudah mendukung jenis partisi Ext4
      • Memasukkan OpenOffice.org 3 (*basbang*)
      • Software baru: Computer Janitor
        Meskipun hanya ada tombol "Cleanup", bukan berarti ini adalah software optimizer seperti yang sering ada di WinXP. "Cleanup" ini akan meng-uninstall program-program yang dianggapnya tidak lagi diperlukan. Karena tidak baca dengan teliti, saya sempat tertipu dan kehilangan beberapa program yang sudah terinstall. = ='
    Itu adalah beberapa fitur baru yang ada di Ubuntu 9.04. Tidak ada perubahan yang terlalu drastis dibandingkan dengan versi sebelumnya. Mungkin karena waktu rilisnya yang dipaksakan setiap 6 bulan, membuat Ubuntu kurang maksimal dalam setiap versi barunya.

    Nah, software versi baru berarti... ada permasalahan baru.. >.< Berikut ini adalah beberapa permasalahan yang saya temui setelah mengupgrade Intrepid ke Jaunty:
    • Compiz tidak berfungsi
      Apa lagi yang bisa dipamerkan dari Linux jika Compiz tidak berfungsi? Bagi user awam, Compiz adalah hal utama yang membuat Linux kelihatan lebih unggul karena menyajikan desktop effects yang luar biasa. Sayangnya karena si driver baru X untuk VGA Intel tampaknya malah bermasalah, secara default Compiz tidak akan bisa berfungsi.
      • Solusi:
        $ sudo gedit /usr/bin/compiz-manager
        tambahkan:
        SKIP_CHECKS = yes
    • Amarok tidak mengeluarkan suara 
      • Solusi:
        $ sudo apt-get install phonon-backend-xine
    • Applet system monitor untuk network tidak berfungsi
      Jika koneksi jaringan yang digunakan adalah dialup (ppp), applet system monitor tidak akan menunjukkan grafik network resources. Tapi kalau kita klik applet tersebut, grafik network muncul dan berfungsi di tab resources.
    • Ubuntu 9.04 sering freeze!!
      Ini dia bug yang membuat saya jengkel setengah mati dan menyimpulkan bahwa Ubuntu 9.04 .. sux!! Untuk pertama kalinya sejak saya menggunakan sistem operasi apapun, baru kali ini lah menemukan bug paling menjengkelkan. Layar tiba-tiba hang, tapi pointer mouse masih bisa digerakkan meskipun tidak ada efek apa-apa jika kita klikkan. Semua tombol jadi tidak berfungsi kecuali tombol power :|. Kejadian ini awalnya muncul beberapa detik setelah saya menyalakan Amarok, sehinggal awalnya saya mengambil kesimpulan mungkin Ubuntu JJ ini kurang bersahabat dengan KDE versi terbaru. Dan akhirnya saya buang semua program yang berbasiskan KDE yang terinstall. Setelah itu, ternyata bug ini masih ada tapi munculnya secara intermittent, tiba-tiba dan tidak bisa ditentukan kapan waktunya. Selama 3 jam mungkin muncul bug ini 1 kali. Setelah diselidiki, ternyata ini adalah bug driver X untuk VGA Intel. Setelah beberapa jam menjelajahi Launchpad, ketemu juga informasi bahwa masalah ada pada package xserver-xorg-video-intel. 
      • Solusi:
        Download dan install versi terbaru xserver-xorg-video-intel (saat tulisan ini ditulis, sudah ada versi 2:2.6.3-0ubuntu9.2). Thanks to Mr. Bryce :).
    Fiuh.. semoga tidak ada lagi bug yang ditemukan. Jadi, moral ceritanya adalah.. jangan terburu-buru untuk mengupgrade sistem operasi. Pastikan dulu tidak ada masalah berarti pada sistem operasi baru yang bisa mengganggu kinerja Anda.

    Have a nice day!~

    Install StarUML di Ubuntu

    Kemarin Paul mengirimi saya beberapa file rancangan suatu sistem untuk keperluan proyek yang sedang kami kerjakan. Di antara file tersebut ada file berekstensi .uml, yang mana merupakan file luaran program StarUML. StarUML merupakan perangkat lunak open source yang cukup populer untuk membuat desain UML. Sayangnya, StarUML hanya bisa dijalankan di platform Win32, tidak ada versi untuk platform lainnya termasuk Linux (Ubuntu) seperti yang saya gunakan.

    StarUML versi Linux tidak tersedia, tidak berarti kita tidak bisa menggunakannya di Linux :). Yang pertama terlintas di pikiran saya adalah dengan menginstalnya di platform Win32 yang ada di atas Virtualbox 2.1.0 baru saya. Tapi setelah dipikir-pikir hasilnya nanti jadi tidak praktis, akhirnya saya pun mencoba menginstallnya dengan Wine, seperti dulu saya pernah menginstal Office 2007 di Ubuntu saya :).

    Adapun langkah-langkah menginstall StarUML di Linux (Ubuntu) adalah sebagai berikut:

    1. Install Wine
    $ sudo apt-get install wine
    2. Download winetricks,
    $ wget http://www.kegel.com/wine/winetricks
    lalu
    $ winetricks mfc42 msxml4 
    3. Download dan install Windows Script Control
    $ wget http://download.microsoft.com/download/winscript56/Install/1.0/W982KMeXP/EN-US/sct10en.exe
    $ wine sct10en.exe
    4. Terakhir, install StarUML.
    $ wine /path/to/StarUML/staruml-5.0-with-cm.exe

    Semoga bermanfaat.. :)

    Pelatihan OpenOffice.org

    Kemarin, 13-14 Desember 2008, saya dan Roland berkesempatan untuk menjadi trainer di pelatihan OpenOffice.org. Pelatihan yang diselenggarakan di Laboratorium Dasar Informatika ITB oleh POSS ITB ini, diikuti oleh lebih dari 40 peserta. Pada kesempatan ini, saya mengajarkan tentang penggunaan Writer (termasuk Math) dan Calc, sedangkan Roland mengajarkan tentang Draw dan Impress.

    Peserta pelatihan ini datang dari berbagai kalangan, kebanyakan dari mereka adalah guru dari sekolah-sekolah di Bandung. Latar belakang kemampuan komputernya pun beragam, ada yang sudah mahir menggunakan MS Office, ada yang tidak terlalu mahir, dan bahkan ada yang sangat awam terhadap komputer (kalau gak mau dicurigai belum pernah mengoperasikan komputer ;). Saat memberikan pelatihan ini, saya jadi teringat ketika dulu menjadi asisten kuliah TIK bagi mahasiswa jalur  bridging (Kemitraan Nusantara) ITB 2008. Saat itu latar belakang calon mahasiswanya pun beragam karena asal daerah mereka berbeda-beda, ada yang dari kota besar dan tak sedikit yang dari kota kecil di pelosok negeri ini, yang mana masih asing dengan komputer. Begitu pula saat memberikan pelatihan ini, bukan tidak mungkin ada yang baru mulai belajar aplikasi perkantoran :). Satu hal yang bikin saya kagum dari peserta pelatihan kemarin adalah kemauan mereka untuk terus belajar di usia yang tidak terlalu muda lagi :).

    Mengenai aplikasi OpenOffice.org 3, menurut saya ini adalah salah satu aplikasi open source terbaik yang pernah ada. Setidaknya ada 3 alasan kenapa saya bilang OpenOffice.org 3 ini sangat recommended:
    1. Gratis! Anda tidak perlu mengeluarkan uang sebesar US$ 150 - 680 untuk mendapatkan aplikasi perkantoran yang lengkap. Terlebih penting lagi, Anda tidak perlu melakukan pembajakan software jika tidak punya uang. ;)
    2. Semua kebutuhan umum aplikasi perkantoran (yang biasa dikerjakan di MS Office) bisa dikerjakan di OpenOffice. Isu layout yang kacau saat membuka .doc dari MS Office di OpenOffice pun sudah diperbaiki secara drastis, meskipun belum sempurna.
    3. Ada fitur "Export to PDF" ... dan Anda pun akan menghemat uang (lagi) sebesar US$449 :).
    Belum punya OpenOffice? Langsung saja unduh installer-nya di sini atau di sini (mirror Indonesia ;).

    cheers...

    Tips Migrasi ke Open Source

    Setelah mengetahui keuntungan yang ditawarkan oleh open source, kini saatnya untuk migrasi ke open source, terutama untuk menggantikan software bajakan yang biasa digunakan. Jika Windows Anda bajakan, kini saatnya untuk menggantinya dengan Linux (atau terpaksa membeli lisensi aslinya :). 

    Proses migrasi ini biasanya akan terasa lebih sulit dari yang dibayangkan karena kita sudah terbiasa dengan lingkungan software lama selama bertahun-tahun (terjebak dalam zona nyaman). Adaptasi seringkali tidak mengenakkan, tapi sebenarnya yang dibutuhkan hanyalah kesabaran dan kemauan untuk belajar.

    Berikut ini beberapa tips untuk migrasi dari software proprietary ke open source (Windows ke Linux) dengan pendekatan personal.

    1. Sebelum mengganti sistem operasi (Windows ke Linux), gunakan dulu software-software open source versi Windows. Software-software open source di Linux biasanya juga memiliki versi Windows atau versi Mac OSX. Untuk itu, Anda bisa membuat daftar software yang biasa Anda gunakan, cari software open source alternatifnya, lalu download dan instal software open source versi Windowsnya. Hal ini ditujukan supaya mempermudah hidup Anda jika kelak harus migrasi sistem operasi.

    2. Periksa kecocokan tipe data yang dihasilkan software proprietary dengan software open source. Contoh, default-nya Microsoft Word 2007 menghasilkan file .docx, sedangkan OpenOffice Writer menghasilkan file .odt. Meskipun demikian, kedua software tersebut sama-sama bisa membaca dan menghasilkan file .doc. Nah, karena itu kita tidak perlu kuatir saat migrasi total ke open source, asalkan data hasil Word 2007 disimpan dalam bentuk .doc, yang bisa dibaca oleh OpenOffice Writer. Begitu pula untuk setiap software lainnya.
    Jika ada software yang alternatif open source-nya tidak Anda temukan, cobalah cari tau apakah Wine bisa membuat software Anda yang hanya bisa berjalan di Windows itu bisa berjalan di Linux. Wine adalah program yang mengemulasikan lingkungan Windows di Linux.
    Dan jika Wine-pun tidak bisa menjalankan software tersebut di Linux, ehm... tampaknya Anda tidak bisa migrasi total, sebaiknya dual-boot saja.

    3. Kalau Anda sekedar ingin coba-coba Linux, gunakan LiveCD atau Virtual Machine. Beberapa distro Linux menyediakan LiveCD atau LiveDVD, sehingga kita bisa menjalankan sistem operasi Linux tanpa harus menginstallnya terlebih dahulu. Jika distro yang ingin Anda coba tidak menyediakan LiveCD atau Anda ingin lebih serius dari sekedar LiveCD, Anda bisa menggunakan software virtual machine, untuk membuat seolah-olah ada komputer baru di dalam komputer Anda. Contoh software virtual machine ini adalah Virtualbox, salah satu software open source juga.

    4. Untuk permulaan migrasi, installah Linux tanpa menghapus Windows (dual-boot). Siapa tahu suatu saat nanti Anda ingin menjalankan program yang hanya bisa berjalan di Windows, misalnya untuk bermain DotA, atau ada hardware tertentu yang driver-nya cuma ada untuk Windows. Jadi, meskipun saya pemegang prinsip monogami untuk selamanya, untuk urusan sistem operasi saya sarankan untuk "poligami" dulu saja (*nyambung ga ya*) ;D .. Dan jangan lupa untuk mengeset default dari bootloader ke sistem operasi yang open source ;).

    5. Bergabung di komunitas open source. Dari sekarang mulailah berbaik-baik terhadap teman-teman Anda yang lebih dulu menggunakan Linux. Bergabung ke milis komunitas open source juga pilihan yang baik. Jadi, kalau kelak ada masalah, Anda tahu ke mana harus bertanya.

    6. Take action! Buang software-software bajakan Anda yang sudah bisa digantikan perannya dengan software open source.

    Selamat menikmati software legal dengan biaya terjangkau, atau bahkan tanpa biaya :).

    Cheers!

    Kekurangan Linux

    Saya hanya berusaha seobjektif mungkin dalam mengulas suatu teknologi, sehingga tidak terkesan seperti salesman yang hanya bisa memaparkan kelebihan produknya 😁

    Tiada gading yang tak retak. Selain memiliki berbagai keunggulan yang bermanfaat untuk pribadi maupun korporat, software open source (dalam hal ini, sistem operasi Linux) juga memiliki kekurangan. Adapun kekurangan dari Linux (jika dibandingkan dengan Windows) adalah sebagai berikut:

    1. GAME

    Belum ada perusahaan game sekelas Blizzard, EA Sports, dsb yang menyediakan gamenya dalam versi non-Windows. Mereka seolah-olah hanya mengenal satu sistem operasi, Windows. Hal ini bisa dimaklumi karena pasar sistem operasi sekarang masih dikuasai oleh Microsoft. Oleh karena itu, jika Anda adalah seorang gamer mania, saya pikir Anda tidak bisa migrasi total ke Linux. Meskipun demikian, hal ini bukan berarti tidak ada game di Linux. Ada banyak game yang bisa dimainkan di Linux, bahkan ada yang open source, meskipun mungkin tidak semenarik yang bisa dimainkan di Windows.

    Solusi: Jika Anda tetap ingin migrasi ke Linux, coba jalankan game tersebut dengan Wine, yakni software yang bisa mengemulasikan lingkungan Windows di Linux. Ada banyak software Windows-based yang bisa dijalankan di Linux. Di sana disebutkan bahwa Warcraft III pun bisa dimainkan di Linux, meski sayangnya belum bisa DotA. Btw, apakah game Anda legal, bukan bajakan? 🙈

    2. HARDWARE

    Hampir semua vendor hardware menyediakan driver untuk Windows. Hal ini lah yang membuat Windows kompatibel dengan berbagai hardware. Dengan market share Windows yang luas, vendor hardware akan out of business jika tidak membuat driver untuk Windows. Sayangnya, belum berlaku hal yang sama jika mereka tidak membuat driver yang cocok dengan kernel Linux. Meskipun demikian, saat ini sudah makin banyak vendor hardware yang membuat driver untuk Linux.

    Solusi: Tukar-tambahkan saja hardware Anda dengan hardware yang sudah didukung Linux, atau belilah lisensi Windows asli. Silakan lakukan perhitungan yang cermat, mana yang lebih menguntungkan? 😁

    3. BELUM BANYAK PENGGUNA

    Dengan Windows, saat Anda mengalami masalah, Anda bisa langsung bertanya siapapun apakah pernah mengalami masalah yang sama. Hal ini dikarenakan hampir semua orang di bumi ini tahu dan menggunakan Windows.

    Solusi: Jika ada masalah, silakan cari solusinya di forum-forum diskusi Linux, milis Linux, atau channel IRC tertentu. Saat ini sudah banyak grup, baik di dunia maya maupun di dunia nyata, yang akan dengan senang hati membantu Anda mengalami masalah dengan Linux.

    Semoga bermanfaat 🙏🏽


    Mitos Seputar Open Source

    Mungkin saat ini Anda mulai tertarik dengan software open source, tapi Anda kembali ragu karena ada isu negatif terkait open source? Berikut ini beberapa mitos negatif seputar software open source beserta penjelasannya.

    1. Open source hanya untuk ahli IT
    Mitos ini mungkin terkait dengan anggapan orang awam bahwa Linux itu njelimet, rumit, bikin hidup susah, dan lain sebagainya padahal ia sama sekali belum pernah mencobanya. Atau, pernah mencobanya sekali-sekali, merasa "kok nggak sama kayak yang biasa gue pake yah", dan lalu meninggalkan tanpa pernah mau sedikit beradaptasi. Jadi, inti persoalannya adalah masalah ADAPTASI. Lagipula, open source bukanlah sebatas Linux. Dengan menggunakan Firefox untuk browsing, maka Anda telah menggunakan software open source, begitu halnya untuk software-software open source lainnya. Nah, open source bukan untuk ahli IT saja kan :).

    2. Software open source susah didapat
    Wah, ini sih masalah ketidaktahuan saja. Hampir semua pembuat software pasti menyediakan sebuah alamat web agar pengguna bisa men-download softwarenya, termasuk open source. Mungkin mitos ini maksudnya "Saya pakai Linux, lalu di mana saya bisa mencari software yang saya butuhkan? Kok saya tidak menemukannya di mall X atau di pinggir jalan Y (refers to penjual cd program bajakan :)." Nah, kalau ini maksudnya, Anda tetap bisa men-download software yang Anda butuhkan di web resmi software tersebut. Atau, Anda bisa memanfaatkan repository dari distro Linux yang Anda gunakan, baik melalui Internet maupun melalui DVD Repository. Murah loh, hanya dengan 5-6 DVD Repository, Anda sebenarnya sudah memiliki ratusan software open source :). DVD Repository ini bisa Anda pesan dari organisasi-organisasi pendukung open source, seperti POSS, Klub Linux, kambing.ui.edu, dll.

    3. Tidak cocok untuk perusahaan/bisnis
    Banyak perusahaan yang menganggap software open source itu tidak cocok untuk dijalankan di skala enterprise, entah karena gengsi atau dianggap murahan. Hal ini jelas-jelas salah. Dengan strategi IT yang cermat, open source bisa menguntungkan perusahaan. Bahkan, ada perusahaan pengamat pasar yang mengatakan bahwa 85% perusahaan besar menggunakan open source.

    4. Open source tidak reliable
    Tahukah Anda bahwa infrastruktur Internet yang kita gunakan sekarang ini dibangun oleh software open source? DNS (Domain Name System), sistem yang memberi penamaan pada alamat IP, menggunakan software open source: BIND, yang mana merupakan salah satu program paling critical di dunia. Lalu, untuk urusan web server, software open source pun mendominasinya (lebih dari 60% website di dunia), yakni Apache, yang biasa juga dijalankan di atas sistem operasi open source, baik FreeBSD maupun Linux. Dan masih banyak software open source yang mendukung teknologi Internet sejak awal kelahiran Internet. Kalau Anda pikir open source tidak reliable, berarti Internet juga tidak reliable dong. Masih berpikir open source tidak reliable ? :)

    Nah, dengan penjelasan di atas, saya rasa kita tidak perlu lagi mempermasalahkan mitos-mitos tentang software open source di atas. Semoga bermanfaat... :)

    Open Source, Solusi di Masa Krisis

    Saat ini dunia sedang mengalami krisis ekonomi global. Hampir semua perusahaan di seluruh dunia terkena imbas dari krisis ini. Krisis keuangan biasanya menyebabkan suatu perusahaan terpaksa melakukan penyesuaian di seluruh bagian perusahaan tersebut, termasuk di bidang teknologi sistem informasi yang digunakan.

    Bagaimanakah peran software open source dalam menghadapi krisis ekonomi global?

    Dalam kondisi ekonomi seperti ini setiap perusahaan pasti akan berusaha melakukan penghematan. Perusahaan tentu akan memilih software open source daripada software proprietary yang akan menguras kas perusahaan. Alasannya sederhana, software open source jauh lebih menghemat uang! Perusahaan bisa mencari software serupa di repository, seperti SourceForge atau Google Code, lalu melakukan modifikasi terhadap aplikasi yang didapat (jika diperlukan).

    Penghematan bisa juga dilakukan dengan melakukan migrasi dari software proprietary ke open source. Contoh penghematan dengan cara migrasi misalnya dengan menggunakan perangkat lunak berikut:
    • OpenOffice ($0), sebagai ganti Microsoft Office 2007 ($110 untuk Home & Student Edition atau $315 untuk Standard Edition)
    • Mozilla Thunderbird ($0), sebagai ganti Outlook 2007 ($90) -- atau gunakan Evolution ($0)
    • GnuCash ($0), sebagai ganti Quicken ($30 untuk Starter Edition), sebuah aplikasi akuntansi
    • Alfresco ($0), sebagai ganti SharePoint ($5000 hanya untuk 5 user ... WOW!!) *sudah termasuk harga SQL Server dan Windows Server 2008 yang digunakan untuk menjalankan SharePoint
    • Linux ($0), sebagai ganti Windows ($ ??), belum termasuk Norton Internet Security 2009 ($50) -- dan doa pengusir virus :)

    Daftar penghematan di atas masih bisa ditambah lagi apabila perusahaan melakukan migrasi untuk aplikasi-aplikasi proprietary lainnya dan beralih ke aplikasi open source alternatifnya.

    Masih belum yakin bahwa open source bisa menghemat keuangan perusahaan? Mari kita ambil sebuah contoh kasus (dari Sun Microsystem, yang (konon katanya) merupakan perusahaan penyumbang kode open source terbesar). Misalkan, ada sebuah perusahaan, dengan kira-kira 1000 pegawai, menjalankan bisnisnya dengan 20 dual-core server aplikasi dan 10 dual-core server basis data. Jika perusahaan tersebut menggunakan aplikasi proprietary (dalam hal ini WebLogic Enterprise & Oracle Enterprise), maka perusahaan tersebut akan mengeluarkan dana sebesar U$3,237,000 selama 3 tahun. Sedangkan jika perusahaan mengunakan aplikasi open source (dalam hal ini Glassfish Enterprise Server & MySQL Enterprise Gold), maka perusahaan tersebut hanya akan mengeluarkan dana sebesar US$240,000. Detail perhitungan bisa dilihat di sini. Jadi, pada kasus di atas open source bisa menghemat anggaran perusahaan sebesar US$ 2,997,000 dalam 3 tahun!

    Dengan aplikasi open source, perusahaan akan hanya mengeluarkan biaya untuk deployment, support, atau subscription saja. Hal ini juga terjadi jika perusahaan memilih untuk menggunakan aplikasi proprietary. Bedanya, aplikasi open source tidak membutuhkan biaya lisensi.

    Jadi, jawaban untuk pertanyaan pembuka tulisan ini adalah: Open source bisa menjadi solusi di masa krisis karena bisa membantu penghematan finansial. Nah, ngapain juga buang-buang uang kalau ada pilihan lain yang menghemat banyak uang? ;)

    Cheers!

    Software Open Source Alternatif

    Perangkat lunak open source sering kali diidentikkan dengan Linux, dan Linux sering kali diidentikkan dengan sistem operasi yang kurang "manusiawi". Karena itu, orang-orang sering menganggap bahwa semua perangkat lunak open source tidaklah sebagus perangkat lunak komersial. Apakah benar demikian?

    Untuk pernyataan yang kedua, Linux kurang "manusiawi", saya rasa tulisan saya sebelumnya, "Kenapa Linux?", sudah menjawabnya dengan kesimpulan bahwa Linux merupakan sistem operasi yang ramah-pengguna. Nah, untuk pernyataan pertama, perangkat lunak open source diidentikkan dengan Linux, hal ini tidaklah tepat. Perangkat lunak open source itu tidak sebatas pada sistem operasi Linux, dan tidak hanya aplikasi-aplikasi yang berjalan di atas Linux. Ada banyak perangkat lunak open source yang bisa berjalan di sistem operasi komersial, seperti Windows atau Mac OSX. Kualitas perangkat lunak open source pun tidak kalah dengan yang komersial, bahkan ada yang lebih baik.

    Berikut ini adalah beberapa perangkat lunak open source sebagai alternatif dari perangkat lunak komersial yang biasa kita gunakan sehari-hari.

    KOMERSIAL OPEN SOURCE
    Perkantoran
    Microsoft Office OpenOffice
    Microsoft Project OpenProj, Open Workbench
    Adobe Acrobat Profesional PDF Creator
    Internet
    Internet Explorer Mozilla Firefox
    Microsoft Outlook Evolution, Mozilla Thunderbird
    Total Commander gFTP
    MSN Messenger, YM, ICQ, .. Pidgin
    mIRC XChat, Pidgin
    Microsoft IIS Apache
    Microsoft Exchange Server Zimbra
    Multimedia
    Winamp, Apple iTunes Amarok, Songbird
    Windows Media Player VLC Media Player
    Adobe Soundbooth Audacity, Ardour
    Keamanan
    Norton, Kaspersky, AVG ClamWin, ClamAV
    PGP Desktop GnuPG
    Grafis
    Adobe Photoshop GIMP, Gimpshop
    CorelDraw, Adobe Illustrator Inkscape
    3ds Max, Maya Blender
    AutoCAD BRL CAD, Archimedes
    ACD See F-Spot
    MovieMaker, Adobe Premier Kino
    Kakas Pengembangan
    Borland JBuilder, IntelliJ IDEA Eclipse, Netbeans
    Borland Delphi Lazarus
    Microsoft Visio DIA, StarUML, ArgoUML
    Basis Data
    Oracle Database, SQL Server PostgreSQL, MySQL
    Microsoft Access OpenOffice Base, SQLite
    Numerik
    MATLAB Octave, Scilab
    Maple Maxima, Sage
    Lain-Lain
    Partition Magic Gparted
    Nero Burning Rom Brasero, K3B
    VMware Virtualbox
    Winzip, Winrar 7-Zip
    Flight Simulator X Flight Gear

    Daftar di atas merupakan perangkat lunak yang dekat dengan kehidupan kita sehari-hari. Aplikasi open source alternatif yang dituliskan di atas merupakan aplikasi yang direkomendasikan karena merupakan aplikasi yang sudah banyak dipakai (termasuk oleh saya) dan kinerjanya cukup memuaskan.

    Adakah aplikasi komersial pada daftar di atas yang versi bajakannya sering Anda gunakan?? Kalau ada (dan pasti ada kan :), mari kita pakai open source software =).

    OSGX, Linuxnya Anak ITB

    Mungkin judul di atas sedikit berlebihan, terkesan menggeneralisasi bahwa semua distribusi Linux yang digunakan oleh civitas akademik ITB adalah OSGX. Perlu diperhatikan, bahwa distro Linux yang digunakan oleh warga ITB saat ini ada bermacam-macam, antara lain: Ubuntu, Fedora, PCLinuxOS, dll. Kata-kata "Linuxnya Anak ITB" di atas merupakan tagline yang saya berikan untuk OSGX, sebuah distro Linux yang pernah saya dan teman-teman kembangkan. Tulisan berikut akan mengulas tentang OSGX sebagai sistem operasi open source alternatif yang patut diperhitungkan, khususnya oleh civitas akademik ITB.

    Apa itu OSGX?

    OSGX merupakan distro Linux untuk pendidikan di Indonesia, khususnya ITB. OSGX merupakan sistem operasi yang dilengkapi dengan berbagai aplikasi yang dibutuhkan oleh civitas akademik, baik perkuliahan maupun kebutuhan lainnya.

    Distro Linux?

    Saat pertama mendengar kata "distro" yang terlintas di pikiran kita mungkin adalah sebuah factory outlet yang kini sedang menjamur di kota Bandung. Sesungguhnya, yang dimaksud dengan distro Linux di sini sangat jauh artinya dari distro factory outlet tersebut. Linux sebenarnya hanyalah sebuah kernel, yakni inti level rendah dari sebuah sistem operasi yang diimplementasikan secara bebas (gratis) yang serupa dengan UNIX. Sedangkan distribusi Linux (atau distro Linux) adalah sebuah bundel sistem operasi yang terdiri dari kernel dan aplikasi-aplikasi lainnya.

    Mengapa OSGX?

    Saat ini sudah ada banyak distro Linux yang sangat populer, seperti Ubuntu, Fedora, PCLinuxOS, dll. Lantas, mengapa saya dan teman-teman malah membuat distro Linux lagi? Sebelum menjawabnya, saya ingin sedikit berbagi cerita.

    Saya pertama kali mengenal Linux tahun 2004 ketika baru menjadi mahasiswa. Saat itu asisten mewajibkan praktikum harus di atas Linux (Fedora). Beberapa waktu kemudian, saya ingin menginstal Linux di komputer rumah dan kebetulan saat itu saya memiliki CD Ubuntu. Setelah berhasil menginstalnya, saya kecewa karena tidak bisa meng-compile program seperti yang biasa saya lakukan di lab. Akhirnya saya pindah haluan ke Fedora (distro yang diinstal di lab) dan urusan meng-compile program pun beres. Lalu, ada keinginan untuk mendengarkan musik atau menonton film sambil coding, dan ternyata Fedora tidak bisa memenuhinya karena codec-nya belum didukung. Begitu juga untuk meng-compile Pascal atau Java, ternyata secara default Fedora belum mendukungnya.

    Dulu saya tidak tahu di mana saya bisa men-download aplikasi-aplikasi yang saya perlukan karena ada begitu banyak dependensi pada aplikasi-aplikasi yang berjalan di Linux. Setelah men-download installer suatu aplikasi, ternyata aplikasi tersebut tidak bisa diiinstal karena butuh aplikasi lainnya, begitulah masalah dependensi di Linux. Beberapa waktu kemudian, saya akhirnya tahu bahwa ternyata distro-distro Linux pada umumnya menyediakan suatu server repository, di mana pengguna bisa men-download, menginstal, atau meng-upgrade aplikasi melalui sistem repository tersebut dengan sangat mudah dan tentunya gratis. Sayangnya, menghubungkan komputer di rumah dengan server repository tersebut adalah hal yang sulit karena keterbatasan akses Internet yang saya miliki (koneksi saya masih dialup GPRS).

    Nah, beranjak dari situ kami berempat (saya, Wisnu, Paul, Ahmy) yang memiliki pengalaman yang tidak jauh beda, berinisiatif untuk membuat sebuah distro Linux yang lengkap dengan seluruh aplikasi yang dibutuhkan oleh target pengguna. Karena target pengguna OSGX adalah civitas akademik ITB, maka OSGX berisi aplikasi-aplikasi untuk perkuliahan sesuai dengan masing-masing jurusan. Dengan demikian, pengguna cukup menginstal distro Linux ini dan seluruh aplikasi yang dibutuhkannya sudah tersedia, tanpa perlu memikirkan bagaimana dan dari mana men-download aplikasi yang diperlukan di dalamnya. Software yang dibundel di dalam OSGX merupakan free/open source software (FOSS) alternatif dari proprietary software yang biasa digunakan oleh pengguna.

    Dengan demikian, OSGX bisa menjawab 2 masalah utama pengguna Linux awam pada umumnya, yakni: isu sulitnya mencari software yang dibutuhkan (karena tidak tahu ada repository), dan infrastruktur Internet tidak memadai untuk men-download dari repository.

    Fitur OSGX?

    Dalam mengembangkan OSGX ini, kami mengadakan survey ke calon pengguna. Dari survey tersebut didapatkan bahwa kebutuhan utama pengguna OSGX adalah akademik, hiburan, dan internet. Dari situ, kami menyusun program-program apa saja yang harus dimasukkan ke dalam OSGX. Hasilnya, untuk saat ini sudah tersedia 3 versi OSGX, yakni:
    1. OSGX 1.0 Basic, mendukung multimedia dan kebutuhan umum lainnya, tapi belum ada aplikasi penunjang akademik yang spesifik untuk program studi tertentu.
    2. OSGX 1.0 Informatics, untuk program studi Teknik Informatika, kebanyakan berisi development tools yang open source.
    3. OSGX 0.8 Full, untuk semua program studi di ITB.

    Adapun daftar perangkat lunak yang terkandung di dalamnya, bisa dilihat secara lengkap di sini. Penasaran? Langsung saja download, dan silakan menginstalnya atau gunakan DVD tersebut sebagai LiveCD. LiveCD artinya menggunakan OSGX tanpa menginstalnya ke harddisk dan tanpa kuatir akan mempengaruhi data Anda di harddisk.

    Bagaimana memperoleh OSGX?

    OSGX bisa Anda peroleh secara gratis yakni dengan cara men-download berkas .iso nya di sini, lalu silakan Anda burn ke dalam DVD, dan mulai menggunakannya, serta membagi-bagikannya. Selain itu, kami juga membagi-bagikan DVD-nya secara gratis pada acara-acara tertentu, seperti pada acara seminar "Open Source, A New Way in Education" yang lalu. Ada kemungkinan bulan depan kami membagi-bagikan DVD OSGX gratis lagi loh :).



    Ingin berkontribusi di OSGX?

    Silakan saja langsung bergabung di osgx community. Kami akan senang hati jika Anda mau bergabung bersama kami, baik dalam tim development maupun tim artwork. Alangkah bagusnya jika ada edisi OSGX khusus untuk program studi / fakultas Anda, misalnya OSGX Science, OSGX Industrial, dll :), hal ini saya pikir lebih baik dibandingkan OSGX Full Edition.

    Akhir kata, pengembangan OSGX ini adalah contoh nyata keunggulan software open source. Jika kita merasa tidak cocok dengan software open source yang ada, kita bisa dengan legal memodifikasinya untuk kebutuhan kita. Hal ini lah yang tidak akan bisa kita dapatkan jika kita menggunakan software proprietary. :)

    [update 2010] Karena kesibukan masing-masing pengembang, project OSGX ini terpaksa kami discontinue :(. Jika ingin menanyakan hal-hal berkaitan tentang OSGX, silakan tinggalkan komentar di bawah ini. Terima kasih.

    Kenapa Linux?

    Saat ini Linux sudah menjadi sistem operasi utama saya. Setiap kali saya menyalakan laptop, secara default dia akan menjalankan sebuah sistem operasi yang sifatnya free dan open source, Linux. Distro Linux yang saya gunakan saat ini adalah Ubuntu 8.10 (untuk laptop), selain OSGX 1.0 Informatics tentunya (untuk komputer di rumah :).

    Belum banyak orang menggunakan Linux sebagai sistem operasi utamanya. Berikut ini adalah beberapa alasan kenapa saya berani menggunakan Linux sebagai sistem operasi utama saya.

    1. Free

    Gratis..tis..tis.. Kita bisa mengunduh, menduplikasi, membagi-bagikan, dan menggunakan sistem operasi Linux secara bebas, tanpa kuatir kita akan melakukan pelanggaran HAKI. Dengan demikian setidaknya ada 2 manfaat dari hal tersebut:

    a. Menghemat uang sebanyak ratusan US$, yang mana sebagian besar uang tersebut akan masuk ke negara lain, tidak akan beredar di Indonesia. Semoga saja uang tersebut tidak digunakan untuk menjajah bangsa kita di bidang ekonomi.

    b. Menghormati HAKI dengan tidak melakukan pembajakan. Saya rasa hal ini akan mengurangi dosa dan membawa pahala :).

    2. Open Source

    Tidak puas dengan distro Linux yang sekarang ada? Kita bisa memodifikasi Linux semaunya, lalu membagi-bagikannya ke teman-teman Anda. Hal ini legal! Mau dinamai dengan nama yang anehjuga boleh, misalnya JamuPegeLinux :P. Hal memodifikasi distro Linux ini pernah saya lakukan bersama teman-teman saya, yang akhirnya menghasilkan OSGX, sebuah distro Linux buat civitas akademik ITB :).

    3. Tampilan Keren

    Banyak orang yang berpikir bahwa Linux identik dengan sebuah layar hitam dengan baris-baris kode bagai di film The Matrix, yang hanya akan dimengerti oleh orang-orang nerd :P. Hahaha,,, kalau itu maksudnya Terminal/Console, yeah that's an art on Linux :P, but fortunately it's not only for nerd :). Tapi tahukah Anda, bahwa Linux itu juga memiliki tampilan yang sangat manusiawi :). Dengan dukungan desktop environment, seperti GNOME atau KDE, Linux tidak akan semengerikan yang Anda bayangkan. Bahkan dengan dukungan dari Compiz Fusion, saya jamin tampilan Linux lebih bagus dari Windows!! Bahkan tampilan Linux tidak akan kalah dari Mac OSX yang selama ini diagung-agungkan karena tampilannya yang mempesona :D. Compiz Fusion rocks!!







    4. Bebas virus

    Hari gini masih kena virus :P. Virus komputer merupakan hal yang paling dibenci oleh pengguna komputer, apalagi jika virus tersebut menyerang berkas-berkas penting kita atau menyerang di saat deadline menghadang. Beruntung, sistem operasi utama saya sebelum Linux adalah Win98, yang mana beberapa virus malah bingung itu makhluk apaan :P. Fyi, saya masih memakai Win98 sampai akhir tahun 2007, hohoho so oldies XD. Meskipun sekarang banyak juga antivirus canggih yang beredar, tetap saja virus sudah ada sebelum antivirusnya ada. Lagipula, coba cek task manager Anda, berapa % CPU & Memory yang dikonsumsi oleh antivirus Anda?? :D. Kabar baiknya, tidak ada virus di Linux!* :)

    5. Biar gaya!

    Ini mungkin alasan saya yang paling subjektif. Menurut saya, menggunakan Linux itu bikin lebih gaya :D. Seperti pengguna Macbook yang akan terkesan stylish, karena desainnya yang dinilai elegan (meskipun kebanyakan gagap juga saat menggunakan Mac OSX), begitu juga menurut saya pengguna Linux akan terkesan techie atau geek :).

    Tertarik dengan Linux? Anda bisa mulai menginstallnya pada komputer Anda, sehingga memiliki dual OS (dua sistem operasi pada satu komputer). Apapun sistem operasinya, yang penting legal! ;)

    Tulisan ini ditujukan supaya pembaca memiliki ketertarikan pada Linux, sehingga Linux bisa menjadi sistem operasi alternatif yang patut diperhitungkan. :)

    YM Bible

    Ladies and gentlemen, let me introduce my simple project, YM Bible :)


    YM Bible is Yahoo messenger bot for auto-replying Bible verse request. If you are online and want to read any verse from Bible, but you don't bring your Bible, just send a message to YM Bible, then it will give you the verse. And of course, this service is free to use :).

    To use YM Bible,
    1. (Optionally) Add ym_bible as your friend on your Yahoo messenger.
    2. Send a message to ym_bible, for example: "Yohanes 3 : 16", then you'll receive the verse :)


    Today it only supports bible in Bahasa Indonesia (Terjemahan Baru). I still gave "Beta" for its released version, so please give me feedback after you use it.

    [Update 2009] Sorry.. since I graduated from my college, I have no access to any server for YM Bible hosting. This service is not available for now.

    Install MS Office 2007 di Ubuntu

    Fiuh.. sempat-sempatnya ngeblog di saat deadline sidang TA semakin mendekat.. T_T

    Ceritanya, Tugas Akhir saya tuh diimplementasikan di atas sistem operasi Ubuntu. Sayangnya, file laporan Tugas Akhir saya berekstensi docx karena dibuat di Word 2007. Nah, karena penasaran, saya coba saja install Office 2007 di Ubuntu 8.04 saya. :)


    Caranya:

    1. Install wine
    $ sudo apt-get install wine
    2. Ubah konfigurasi wine
    $ winecfg
    Lalu pada tab Applications, ubah Windows version ke Vista.

    3. Download winetricks, lalu..
    $ sh winetricks msxml3 dotnet20 gdiplus riched20 riched30 vcrun2005sp1
    4. Hack rpcrt4.dll
    • Rename ~/.wine/drive_c/windows/system32/rpcrt4.dll menjadi rpcrt4.bak
    • Download rpcrt4.dll, letakkan di folder system32 tersebut.
    • Buka winecfg. Pada tab Libraries, masukkan rpcrt4.dll pada field New override for library. OK
    5. Install MS Office 2007
    $ wine /path/to/office2007installer/setup.exe
    6. Kembalikan rpcrt4.dll
    • Hapus rpcrt4.dll di folder system32
    • Rename rpcrt4.bak ke rpcrt4.dll
    • Buka winecfg. Pada tab Libraries, hapus rpcrt4 yang tadi di-override. Pada tab Applications, kembalikan Windows version ke XP.
    7. Buka menu Applications -> Wine -> Programs -> Microsoft Office

    Selamat menikmati Office 2007 di Ubuntu...  :)
    Saatnya ngoding TA lagi.. >_<

    ps: jangan terlalu banyak berharap loh ya :P

    [updated:10/09/08]
    uninstall wine, install virtualbox.. >:) huahaha..

    Tips Internet GPRS

    Internet sepertinya sudah menjadi kebutuhan primer sebagian masyarakat dunia termasuk saya. Saat sedang melakukan kesibukan di depan komputer, rasanya ada yang kurang kalau tidak bisa berkomunikasi dengan teman-teman melalui messenger. Apalagi di saat sedang coding mengerjakan suatu proyek sambil mengeksplorasi teknologinya, Google bisa menjadi rekan kerja yang sangat membantu. Karena itu, dengan bermodal Siemens C60 antik saya ^^' plus kabel datanya, saya coba menghubungkannya ke PC dan mengutak-atiknya, lalu tada.. connected! :) Saya pun resmi mempunyai koneksi internet di rumah meskipun berupa GPRS saja, yang penting kan kebutuhan terpenuhi. :D

    Tips 1 : Volume-based atau Time-based

    Seperti koneksi Internet lainnya, layanan GPRS yang disediakan provider GSM bisa dibagi menjadi 2 macam: volume-based dan time-based. Dengan layanan volume-based, kita akan dikenai biaya sesuai seberapa besar kita melakukan transfer data via Internet. Sedangkan dengan layanan time-based, kita akan dikenai biaya sesuai seberapa lama kita terhubung dengan internet. Jika operator GSM kamu mendukung keduanya, seperti IM3, silakan berganti-ganti jenis koneksi sesuai kebutuhan. :)

    Pilih volume-based jika ingin: chatting atau browsing informasi tekstual. Pilih time-based jika ingin: download atau browsing informasi multimedia.

    Tips 2 : Firewall

    Firewall default bawaan sistem operasi saja (dalam hal ini, Windows) tidak cukup karena tidak mudah bagi kita untuk mengetahui daftar koneksi yang sedang bekerja pada komputer kita. Firewall ini kita perlukan untuk menyaring aplikasi mana saja (dan port mana saja) yang diperbolehkan atau dilarang untuk mengakses Internet. Selain untuk menghemat biaya, penggunaan firewall ini juga membantu kita mengamankan komputer kita dari bahaya spyware atau malicious program lainnya. Rekomendasi: Comodo Firewall

    Tips 3 : Matikan auto-update

    Kamu tentunya tidak ingin kan kalau pulsamu tiba-tiba habis karena Windows melakukan auto-update dengan mendownload berjuta-juta byte padahal kamu tidak menginginkannya. Setuju? :) 

    Dari Control Panel buka Automatic Updates, lalu pilih saja "Notify me but don't automatically download or install them." Dengan demikian, koneksi yang dilakukan Windows (svchost -- ini harus allowed oleh firewall) hanya akan mengecek apakah sistem kita perlu diupdate atau tidak. Kalau ternyata memang penting untuk diupdate, catat saja linknya lalu pergi ke kampus atau warnet untuk mendownloadnya. ;D

    Matikan fitur auto-update pada browser. Pada Firefox, kamu bisa menemukannya di Tools -> Options -> Advanced -> Update.

    Tips 4 : Amati traffic jaringan

    Dengan mengetahui traffic koneksi Internet, kita bisa tahu berapakah kecepatan akses Internet kita secara real time. Jika tiba-tiba ada lonjakan grafik traffic jaringan padahal aplikasi yang kamu buka harusnya tidak melibatkan data sebesar itu, segera cek daftar koneksi di firewall kamu, siapa tahu ternyata ada program lain yang tidak diinginkan sedang bekerja di belakang layar >.< Rekomendasi: GPRS Counter

    Tips 5 : Messenger hemat bandwidth

    Salah satu messenger paling populer saat ini adalah Yahoo! Messenger (YM). Sayangnya, YM kurang bersahabat bagi pengguna volume-based, karena mengandung iklan dan plugin gak penting, serta "polling rate"-nya cukup tinggi. Untungnya, ada messenger lain yang kompatibel dengan protokol YM dan tentunya lebih hemat. Rekomendasi: Pidgin, atau jika ingin lebih ekstrem hematnya gunakan Miranda. (tapi Pidgin tetap the best lah :)

    Tips 6 : Optimalkan browser

    Gunakan browser yang cepat dalam mendownload halaman Web. Rekomendasi: Firefox + plugin Fasterfox. Jika kamu hanya ingin mencari informasi yang sifatnya tekstual, disable saja fitur menampilkan images dari browser, sehingga browser tidak akan mendownload dan menampilkan images tersebut. Dengan demikian, data yang diterima akan jauuuh lebih hemat. Gunakan fitur "Work Offline" jika kamu akan membaca suatu halaman Web dalam waktu yang cukup lama, akibatnya fitur auto-refresh dari halaman Web tersebut (jika ada) tidak akan bekerja.

    Tips 7 : Tarif termurah

    Tips yang paling sederhana, cari mana operator GSM yang menyediakan layanan GPRS dengan tarif termurah. Saya rasa tidak susah untuk menentukan mana yang menawarkan tarif paling bersahabat. Namun, jika harus dibandingkan dengan kualitas layanannya terhadap kebutuhan kita, kita harus lebih jeli dalam menentukan pilihan. Rekomendasi: AXIS (Rp 0,1 /KB untuk 10MB per harinya, dan Rp 1 /KB untuk lebihnya)

    Ok, demikian beberapa tips berinternet dengan GPRS dari saya. Punya ide lain yang lebih menarik, silakan tambahkan tips-tips baru :). Daripada pulsa Internet terbuang sia-sia untuk hal yang tidak diinginkan, mendingan kan dipakai untuk eksplorasi teknologi baru.

    Cheers!

    Install NS2 on Ubuntu 8.04 Hardy

    This semester I got an assignment from Wireless/Mobile Computing lecture. It's all about NS2, the most popular network simulator. Today I tried to install it on my Ubuntu 8.04. And, here is the story :)

    1. Download ns-allinone-2.33.tar from here.

    2. Place it in somewhere, e.g. /home/programmer, then extract it.
    $ cd /home/programmer
    $ tar -xvf ns-allinone-2.33.tar

    3. Download & install some packages from repository :)
    $ sudo apt-get install build-essential autoconf automake libxmu-dev

    4. Install the ns2
    $ cd ns-allinone-2.33
    $ ./install

    5. Edit some paths ==a
    $ gedit ~/.bashrc

    Put these lines on that file. Off course, you might change /home/programmer for it depends on where you extract ns-allinone-2.33.tar.
    # LD_LIBRARY_PATH
    OTCL_LIB=/home/programmer/ns-allinone-2.33/otcl-1.13
    NS2_LIB=/home/programmer/ns-allinone-2.33/lib
    X11_LIB=/usr/X11R6/lib
    USR_LOCAL_LIB=/usr/local/lib
    export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$OTCL_LIB:$NS2_LIB:$X11_LIB:$USR_LOCAL_LIB

    # TCL_LIBRARY
    TCL_LIB=/home/programmer/ns-allinone-2.33/tcl8.4.18/library
    USR_LIB=/usr/lib
    export TCL_LIBRARY=$TCL_LIB:$USR_LIB

    # PATH
    XGRAPH=/home/programmer/ns-allinone-2.33/bin:/home/programmer/ns-allinone-2.33/tcl8.4.18/unix:/home/programmer/ns-allinone-2.33/tk8.4.18/unix
    NS=/home/programmer/ns-allinone-2.33/ns-2.33/
    NAM=/home/programmer/ns-allinone-2.33/nam-1.13/
    export PATH=$PATH:$XGRAPH:$NS:$NAM

    6. Validate it
    $ cd ns-2.33
    $ ./validate

    7. (Optionally) Create a symlink, so that ns can be called from everywhere
    $ sudo ln -s /home/programmer/ns-allinone-2.33/ns-2.33/ns /usr/bin/ns

    8. Try to run it (and pray :)
    $ ns

    Cheers!

    void *

    Pre-requisite: Ngerti apa itu pointer pada C.

    Pernah gak di saat ngoding (dengan bahasa C) kamu butuh suatu variabel yang mungkin bisa jadi apa saja? Misalnya, variabel itu mungkin jadi integer, char, array, string, list of list, atau bahkan list of list of list, dan sebagainya di mana kita belum tahu apa tipenya saat didefinisikan. Kalau pernah, mungkin trik di bawah ini bisa membantu :)

    Di C ada sesuatu yang namanya: void *, yang merupakan pointer ke sesuatu yang belum didefinisikan. Nah, karena void * ini menunjuk ke sesuatu yang belum didefinisikan, maka kita bisa membuat si void * ini menunjuk ke sesuatu yang bisa kita definisikan sesuka kita. Bagaimana caranya? Mungkin program kecil di bawah ini bisa membantu :)

    #include <stdio.h>
    #include <stdlib.h>
    
    int main(int argc, char *argv[])
    {
    // the mistery of void *
    void * P;
    
    // void * casted to char *
    P = (char*) malloc (sizeof(char));
    *(char*)P = 'A';
    printf("P = %c\n",*(char*)P);
    free(P);
    
    // void * casted to int **
    P = (int**) malloc (2 * sizeof(int*));
    ((int**)P)[0] = (int*) malloc (sizeof(int));
    ((int**)P)[1] = (int*) malloc (sizeof(int));
    *((int**)P)[0] = 1;
    *((int**)P)[1] = 2;
    printf("P[0] = %d\n",*((int**)P)[0]);
    printf("P[1] = %d\n",*((int**)P)[1]);
    free(P[0]); free(P[1]); free(P);
    
    // void * casted to float ***
    P = (float***) malloc (sizeof(float**));
    ((float***)P)[0] = (float **) malloc (sizeof(float*));
    ((float***)P)[0][0] = (float *) malloc (sizeof(float));
    *((float***)P)[0][0] = 1.23;
    printf("P[0][0] = %f\n",*((float***)P)[0][0]);
    free(P[0][0]); free(P[0]); free(P);
    
    return 0;
    }
    

    Sebagaimana yang kita tahu (or at least, yang gue tau :P), fungsi malloc merupakan fungsi yang mengembalikan void *. Dengan menggunakan trik casting hasil malloc seperti pada contoh di atas (menambahkan (tipe_tujuan) di depan malloc), kita bisa mendapatkan tipe apapun yang kita mau pada variabel void * kita.

    Lalu, jika kamu ingin mengakses atau meng-assign variabel void * itu, jangan lupa lakukan casting, dengan menambahkan (tipe_tujuan) di depan variable void *.

    Oke, sekarang silakan mencoba ^_^. Semoga menjawab kebutuhan kamu. Happy coding!

    Vigenère Cipher dengan Modifikasi Fibonacci

    Algoritma Vigenère cipher bisa dikembangkan sedemikian rupa sehingga menjadi lebih susah untuk dipecahkan. Salah satunya adalah dengan cara menggunakan kunci yang acak dan yang panjangnya sama dengan panjang plainteks (pendekatan OTP). Kunci yang acak ini bisa dibentuk dari kunci masukan (kunci dari pengguna) ditambah dengan deretan karakter yang dibangkitkan dengan persamaan tertentu terhadap kunci masukan.


    Pada algoritma Vigenère cipher dengan modifikasi Fibonacci ini, pembangkitan deretan karakter dilakukan dengan memanfaatkan sifat deret bilangan Fibonacci. Seperti yang kita ketahui, deret Fibonacci (0,1,1,2,3,5,8,13,…) memiliki sifat sebagai berikut:


    Un = Un − 1 + Un – 2 

    di mana: 

    Un = karakter kunci ke-n 

    Pada algoritma ini, sifat di atas dimodifikasi menjadi: 

    Un = Un – k + Un – k + m 

    di mana: 

    k = panjang kunci masukan 

    m = 1 + ( ∑ (karakter_tiap_kunci) mod (k-1) ) 

    Contoh: 

    Kunci Masukan: INIKUNCI 

    k = 8 
    m = 1 + ((8+13+8+10+20+13+2+8) mod 7) = 6 

    U9 = U1 + U7 = I (8) + C (2) = K (10 mod 26) 
    U10 = U2 + U8 = N (13) + I (8) = V (21 mod 26) 
    U11 = U3 + U9 = I (8) + K (10) = S (18 mod 26) 
    U12 = U4 + U10 = K (10) + V (21) = F (31 mod 26) 
    … 

    P : SAYASUKAKRIPTOGRAFI 
    K : INIKUNCIKVSFMSOAYVQ 
    C : ANGKMHMIUMAUFGURYAY


    Dengan algoritma di atas, Vigenère cipher menjadi lebih susah untuk dikriptanalisis, baik dengan analisis frekuensi, known-plaintext attack, maupun serangan lainnya.


    [updated: download my paper]