Thursday, May 14, 2009

Pertama Kali, Menjuarai Lomba Tingkat Nasional

Malam ini saya mendapat kabar sangat menggembirakan dari sini:
http://asean.xmlsuperstar.com/web/guest/contestwinners.

Saya memenangi IBM ASEAN XML Superstar untuk kategori Query Challenge tingkat Indonesia. Masih kalah untuk tingkat ASEAN. Dalam lomba ini peserta ditantang untuk membuat SQL query untuk mendapatkan data yang diinginkan. Selain data yang diperoleh harus tepat, query yang dibuat juga harus efektif dan efisien sehingga waktu query-nya cepat. Software yang digunakan adalah IBM DB2. Dan database yang digunakan adalah database CIA World Factbook, sebuah database yang sangat besar berisi informasi penting negara-negara di seluruh dunia.

Friday, April 10, 2009

Menghapus Package yang Tidak Terpakai (Studi Kasus Fedora 10)

Ketika meng-install sebuah package sudah biasa kita harus meng-install juga package-package yang dibutuhkan (dependensi). Namun, ketika kita hendak menghapus (uninstall) package tersebut, package-package dependensinya tidak ikut terhapus. Jadi, terasa mubazir, package-package dependensi tersebut tidak terpakai.

Misalnya, kita install package kdeedu-kstars:

[hafni@localhost ~]$ su -c 'yum install kdeedu-kstars'
Password:
Loaded plugins: fastestmirror, refresh-packagekit
Loading mirror speeds from cached hostfile
* rpmfusion-nonfree-updates: astromirror.uchicago.edu
* rpmfusion-free-updates: astromirror.uchicago.edu
* rpmfusion-free: astromirror.uchicago.edu
* rpmfusion-nonfree: astromirror.uchicago.edu
Setting up Install Process
Parsing package install arguments
Resolving Dependencies
--> Running transaction check
---> Package kdeedu-kstars.x86_64 0:4.2.1-1.fc10 set to be updated
--> Processing Dependency: kdeedu-libs = 4.2.1-1.fc10 for package: kdeedu-kstars
--> Processing Dependency: libindi.so.0()(64bit) for package: kdeedu-kstars
--> Processing Dependency: libkdeeduui.so.4()(64bit) for package: kdeedu-kstars
--> Processing Dependency: libcfitsio.so.0()(64bit) for package: kdeedu-kstars
--> Running transaction check
---> Package cfitsio.x86_64 0:3.100-1.fc10 set to be updated
---> Package kdeedu-libs.x86_64 0:4.2.1-1.fc10 set to be updated
---> Package libindi.x86_64 0:0.6-4.fc10 set to be updated
--> Processing Dependency: libfli.so.1()(64bit) for package: libindi
--> Processing Dependency: libnova-0.12.so.1()(64bit) for package: libindi
--> Running transaction check
---> Package libfli.x86_64 0:1.7-4.fc10 set to be updated
---> Package libnova.x86_64 0:0.12.1-3.fc10 set to be updated
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
Package          Arch      Version            Repository                  Size
================================================================================
Installing:
kdeedu-kstars    x86_64    4.2.1-1.fc10       fedora-updates-handmade     10 M
Installing for dependencies:
cfitsio          x86_64    3.100-1.fc10       fedora-handmade            1.3 M
kdeedu-libs      x86_64    4.2.1-1.fc10       fedora-updates-handmade    345 k
libfli           x86_64    1.7-4.fc10         fedora-updates-handmade     38 k
libindi          x86_64    0.6-4.fc10         fedora-updates-handmade    700 k
libnova          x86_64    0.12.1-3.fc10      fedora-handmade            1.1 M

Transaction Summary
================================================================================
Install      6 Package(s)        
Update       0 Package(s)        
Remove       0 Package(s)        

Total download size: 14 M
Is this ok [y/N]: y
Downloading Packages:
(1/6): libfli-1.7-4.fc10.x86_64.rpm                           |  38 kB     00:00    
(2/6): kdeedu-libs-4.2.1-1.fc10.x86_64.rpm                    | 345 kB     00:00    
(3/6): libindi-0.6-4.fc10.x86_64.rpm                          | 700 kB     00:00    
(4/6): libnova-0.12.1-3.fc10.x86_64.rpm                       | 1.1 MB     00:00    
(5/6): cfitsio-3.100-1.fc10.x86_64.rpm                        | 1.3 MB     00:00    
(6/6): kdeedu-kstars-4.2.1-1.fc10.x86_64.rpm                  |  10 MB     00:01    
-------------------------------------------------------------------------------------
Total                                                4.2 MB/s |  14 MB     00:03    
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
 Installing     : cfitsio                                                        1/6
 Installing     : libfli                                                         2/6
 Installing     : kdeedu-libs                                                    3/6
 Installing     : libnova                                                        4/6
 Installing     : libindi                                                        5/6
 Installing     : kdeedu-kstars                                                  6/6

Installed:
 kdeedu-kstars.x86_64 0:4.2.1-1.fc10                                          

Dependency Installed:
 cfitsio.x86_64 0:3.100-1.fc10         kdeedu-libs.x86_64 0:4.2.1-1.fc10      
 libfli.x86_64 0:1.7-4.fc10            libindi.x86_64 0:0.6-4.fc10            
 libnova.x86_64 0:0.12.1-3.fc10      

Complete!

Dari meng-install kdeedu-kstars tersebut, kita harus meng-install 5 package lain, yaitu cfitsio, libfli, kdeedu-libs, libnova, dan libindi. Nah, ketika hendak menghapus package kdeedu-kstars, 5 package ini tidak ikut terhapus. Berikut ini buktinya:

[hafni@localhost ~]$ su -c 'yum remove kdeedu-kstars'
Password:
Loaded plugins: fastestmirror, refresh-packagekit
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package kdeedu-kstars.x86_64 0:4.2.1-1.fc10 set to be erased
--> Finished Dependency Resolution

Dependencies Resolved

=======================================================================================
Package                Arch            Version               Repository          Size
=======================================================================================
Removing:
kdeedu-kstars          x86_64          4.2.1-1.fc10          installed           21 M

Transaction Summary
=======================================================================================
Install      0 Package(s)        
Update       0 Package(s)        
Remove       1 Package(s)        

Is this ok [y/N]: N
Exiting on user Command
Complete!

Cara tergampang untuk turut serta menghapus package dependensinya, kita install salah satu plugin yum yang berguna untuk menghapusnya, yaitu yum-remove-with-leaves. Silakan install dulu:

[hafni@localhost ~]$ su -c 'yum install yum-remove-with-leaves'

Nah, setelah kita meng-install plugin tersebut, kita coba hapus package kdeedu-kstars:

[hafni@localhost ~]$ su -c 'yum remove kdeedu-kstars'
Password:
Loaded plugins: fastestmirror, refresh-packagekit, remove-with-leaves
Setting up Remove Process
Resolving Dependencies
--> Running transaction check
---> Package kdeedu-kstars.x86_64 0:4.2.1-1.fc10 set to be erased
--> Finished Dependency Resolution
removing kdeedu-libs-4.2.1-1.fc10.x86_64. It is not required by anything else.
removing libindi-0.6-4.fc10.x86_64. It is not required by anything else.
removing cfitsio-3.100-1.fc10.x86_64. It is not required by anything else.
removing libfli-1.7-4.fc10.x86_64. It is not required by anything else.
removing libnova-0.12.1-3.fc10.x86_64. It is not required by anything else.
--> Running transaction check
---> Package cfitsio.x86_64 0:3.100-1.fc10 set to be erased
---> Package kdeedu-libs.x86_64 0:4.2.1-1.fc10 set to be erased
---> Package libfli.x86_64 0:1.7-4.fc10 set to be erased
---> Package libindi.x86_64 0:0.6-4.fc10 set to be erased
---> Package libnova.x86_64 0:0.12.1-3.fc10 set to be erased
--> Finished Dependency Resolution

Dependencies Resolved

=======================================================================================
Package               Arch           Version                  Repository         Size
=======================================================================================
Removing:
cfitsio               x86_64         3.100-1.fc10             installed         3.7 M
kdeedu-kstars         x86_64         4.2.1-1.fc10             installed          21 M
kdeedu-libs           x86_64         4.2.1-1.fc10             installed         1.7 M
libfli                x86_64         1.7-4.fc10               installed          82 k
libindi               x86_64         0.6-4.fc10               installed         1.6 M
libnova               x86_64         0.12.1-3.fc10            installed         3.5 M

Transaction Summary
=======================================================================================
Install      0 Package(s)        
Update       0 Package(s)        
Remove       6 Package(s)        

Is this ok [y/N]: y
Downloading Packages:
Running rpm_check_debug
Running Transaction Test
Finished Transaction Test
Transaction Test Succeeded
Running Transaction
 Erasing        : libindi                                                         1/6
 Erasing        : libnova                                                         2/6
 Erasing        : cfitsio                                                         3/6
 Erasing        : kdeedu-kstars                                                   4/6
 Erasing        : kdeedu-libs                                                     5/6
 Erasing        : libfli                                                          6/6

Removed:
 cfitsio.x86_64 0:3.100-1.fc10             kdeedu-kstars.x86_64 0:4.2.1-1.fc10       
 kdeedu-libs.x86_64 0:4.2.1-1.fc10         libfli.x86_64 0:1.7-4.fc10                
 libindi.x86_64 0:0.6-4.fc10               libnova.x86_64 0:0.12.1-3.fc10            

Complete!

Dengan plugin yum-remove-with-leaves, package-package dependensi jadi ikut terhapus. Sekarang tidak ada lagi package yang tidak terpakai.

Wednesday, April 1, 2009

Nonton TV di Fedora Menggunakan TV Tuner Gadmei UTV330+

Pendahuluan

Sebenarnya sudah lama ingin menikmati TV di Fedora. Beli device ini tidak lama setelah aku membeli laptop. Kalau tidak salah bulan Oktober 2007. Sudah 1 tahun lebih.

Berulang kali laptop ini di-install Fedora. Setelah di-install biasanya hanya dipake sebentar, terus tidak pernah lagi boot Fedora. Tapi, mulai bulan Februari lalu aku serius mau sering pakai Fedora. Aku pun mendandani Fedora ini dengan berbagai macam software, termasuk berusaha untuk meng-install driver tv tuner ini.

Setelah googling, aku mendapatkan banyak tulisan mengenai cara meng-install-nya. Sebagian besar dari mereka menggunakan Ubuntu. Tapi karena sama-sama Linux ya intinya sama lah. Biasanya mereka mengarahkan kita untuk meng-install mercurial. Padahal, ini sama sekali tidak penting bagi kita sebagai end user.

Sebenarnya artikel di sini cukup terpercaya. Aku sempat mencoba cukup lama. Tapi karena kebodohanku saja, jadi tidak berhasil. Aku tidak tahu kalau yang dimaksud dengan

refit@gustaroska:$ gedit ./linux/drivers/media/video/em28xx/em28xx.h
itu source code-nya. Waktu itu bingung, ini file yang mana???!!. Bodoh banget kan. Padahal, tinggal ikuti petunjuknya dari awal, mungkin beres deh. Aku baru paham setelah baca tulisan Aisar ini.

Download driver

Download source code di http://linuxtv.org/hg/v4l-dvb/archive/tip.tar.gz. Walaupun di situ tertulis link-nya tip.tar.gz, file yang akan diunduh nanti jadi v4l-dvb-xxxxxxxxxxxx.tar.gz, contohnya v4l-dvb-4552dc2948e0.tar.gz. Mungkin ini file terbaru, aku tidak tahu persis.

Edit driver

Karena TV tuner Gadmei UTV330+ belum terdaftar di driver ini, kita perlu mengedit source code tersebut, yaitu mendaftarkannya dengan definisi sama persis dengan UTV330 (tanpa +) yang sudah terdaftar. Caranya:
  • Ekstrak dulu file yang diunduh tadi, misal hasilnya adalah direktori v4l-dvb-4552dc2948e0.
  • Masuk ke direktori hasil ekstraksi tersebut
  • Masuk lagi ke direktori linux/drivers/media/video/em28xx/
  • Edit file em28xx.h Cari Boards supported by driver. Pake Ctrl+F saja biar gampang kalo pake gedit ato semacamnya. Tambahkan di urutan terbawah definisi untuk UTV330+. Misal sebelumnya di urutan terbawah ada:
    #define EM2860_BOARD_KAIOMY_TVNPC_U2    63
    #define EM2860_BOARD_EASYCAP            64
    #define EM2820_BOARD_IODATA_GVMVP_SZ    65
    
    Setelah ditambahkan definisi baru, jadi:
    #define EM2860_BOARD_KAIOMY_TVNPC_U2    63
    #define EM2860_BOARD_EASYCAP            64
    #define EM2820_BOARD_IODATA_GVMVP_SZ    65
    #define EM2861_BOARD_GADMEI_UTV330      66
    
    Biarkan saja tidak ada tanda + di EM2861_BOARD_GADMEI_UTV330.
  • Edit file em28xx-cards.c Cari [EM2860_BOARD_GADMEI_UTV330]. Itu ada di bagian definisi struct em28xx_board em28xx_boards[]. Kemudian buat definisi baru [EM2861_BOARD_GADMEI_UTV330] dengan data sama dengan data pada [EM2860_BOARD_GADMEI_UTV330] kecuali name-nya ditambahi tanda +, sehingga akan jadi seperti ini:
    [EM2860_BOARD_GADMEI_UTV330] = {
        .name         = "Gadmei UTV330",
        .valid        = EM28XX_BOARD_NOT_VALIDATED,
        .tuner_type   = TUNER_TNF_5335MF,
        .tda9887_conf = TDA9887_PRESENT,
        .decoder      = EM28XX_SAA711X,
        .input        = { {
            .type     = EM28XX_VMUX_TELEVISION,
            .vmux     = SAA7115_COMPOSITE2,
            .amux     = EM28XX_AMUX_VIDEO,
        }, {
            .type     = EM28XX_VMUX_COMPOSITE1,
            .vmux     = SAA7115_COMPOSITE0,
            .amux     = EM28XX_AMUX_LINE_IN,
        }, {
            .type     = EM28XX_VMUX_SVIDEO,
            .vmux     = SAA7115_SVIDEO3,
            .amux     = EM28XX_AMUX_LINE_IN,
        } },
    },
    [EM2861_BOARD_GADMEI_UTV330] = {
        .name         = "Gadmei UTV330+",
        .valid        = EM28XX_BOARD_NOT_VALIDATED,
        .tuner_type   = TUNER_TNF_5335MF,
        .tda9887_conf = TDA9887_PRESENT,
        .decoder      = EM28XX_SAA711X,
        .input        = { {
            .type     = EM28XX_VMUX_TELEVISION,
            .vmux     = SAA7115_COMPOSITE2,
            .amux     = EM28XX_AMUX_VIDEO,
        }, {
            .type     = EM28XX_VMUX_COMPOSITE1,
            .vmux     = SAA7115_COMPOSITE0,
            .amux     = EM28XX_AMUX_LINE_IN,
        }, {
            .type     = EM28XX_VMUX_SVIDEO,
            .vmux     = SAA7115_SVIDEO3,
            .amux     = EM28XX_AMUX_LINE_IN,
        } },
    },
    
    Kemudian cari "struct usb_device_id em28xx_id_table[]". Tambahkan di dalamnya:
    { USB_DEVICE(0xeb1a, 0x50a6),
        .driver_info = EM2861_BOARD_GADMEI_UTV330 },
    

Compile dan install driver

  • Buka Terminal.
  • Masuk ke direktori awal driver hasil ekstraksi, kalau kasus di sini yaitu v4l-dvb-4552dc2948e0. Misalnya:
    [hafni@localhost ~]$ cd tvtuner/v4l-dvb-4552dc2948e0/
  • Jalankan make. Ini butuh waktu cukup lama, sekitar 10 menit.
    [hafni@localhost v4l-dvb-4552dc2948e0]$ make
  • Jalankan make clean. Mungkin ini di-skip tidak masalah. Tapi pas aku coba, harus melalui ini dulu baru berhasil.
    [hafni@localhost v4l-dvb-4552dc2948e0]$ make clean
  • Jalankan make install.
    [hafni@localhost v4l-dvb-4552dc2948e0]$ make install
  • Restart komputer.
  • Sambungkan TV tuner ke komputer (usb beserta line in).
  • Periksa apakah driver sudah ter-install dengan baik dan benar.
    [hafni@localhost ~]$ dmesg | grep em28xx
    Kalau muncul pesan seperti di bawah ini berarti instalasi driver telah berhasil.
    em28xx: New device USB 2861 Device @ 480 Mbps (eb1a:50a6, interface 0, class 0)
    em28xx #0: Identified as Gadmei UTV330+ (card=66)
    em28xx #0: chip ID is em2860
    em28xx #0: i2c eeprom 00: 1a eb 67 95 1a eb a6 50 50 00 13 03 6a 22 00 00
    em28xx #0: i2c eeprom 10: 00 00 04 57 4e 03 00 00 00 00 00 00 00 00 00 00
    em28xx #0: i2c eeprom 20: 06 00 01 01 f0 10 01 00 4a 00 00 00 5b 00 00 00
    em28xx #0: i2c eeprom 30: 00 00 20 40 20 80 02 20 01 01 02 01 00 00 00 00
    em28xx #0: i2c eeprom 40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    em28xx #0: i2c eeprom 50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    em28xx #0: i2c eeprom 60: 00 00 00 00 00 00 00 00 00 00 22 03 55 00 53 00
    em28xx #0: i2c eeprom 70: 42 00 20 00 32 00 38 00 36 00 31 00 20 00 44 00
    em28xx #0: i2c eeprom 80: 65 00 76 00 69 00 63 00 65 00 00 00 00 00 00 00
    em28xx #0: i2c eeprom 90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    em28xx #0: i2c eeprom a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    em28xx #0: i2c eeprom b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    em28xx #0: i2c eeprom c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    em28xx #0: i2c eeprom d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    em28xx #0: i2c eeprom e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    em28xx #0: i2c eeprom f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
    em28xx #0: EEPROM ID= 0x9567eb1a, EEPROM hash = 0x695cfff2
    em28xx #0: EEPROM info:
    em28xx #0: AC97 audio (5 sample rates)
    em28xx #0: 500mA max power
    em28xx #0: Table at 0x04, strings=0x226a, 0x0000, 0x0000
    em28xx #0:
    em28xx #0: The support for this board weren't valid yet.
    em28xx #0: Please send a report of having this working
    em28xx #0: not to V4L mailing list (and/or to other addresses)
    saa7115' 2-0025: saa7113 found (1f7113d0e100000) @ 0x4a (em28xx #0)
    tuner' 2-0060: chip found @ 0xc0 (em28xx #0)
    em28xx #0: Config register raw data: 0x50
    em28xx #0: AC97 vendor ID = 0xffffffff
    em28xx #0: AC97 features = 0x6a90
    em28xx #0: Empia 202 AC97 audio processor detected
    em28xx #0: v4l2 driver version 0.1.1
    em28xx #0: V4L2 device registered as /dev/video1 and /dev/vbi0
    em28xx audio device (eb1a:50a6): interface 1, class 1
    em28xx audio device (eb1a:50a6): interface 2, class 1
    usbcore: registered new interface driver em28xx
    em28xx driver loaded
    
    Atau:
    [hafni@localhost v4l-dvb-4552dc2948e0]$ su -c 'tail -f /var/log/messages'
    Kalau muncul pesan seperti di bawah ini berarti instalasi driver telah berhasil.
    Mar 10 00:57:56 localhost kernel: em28xx #0: AC97 features = 0x6a90
    Mar 10 00:57:56 localhost kernel: em28xx #0: Empia 202 AC97 audio processor detected
    Mar 10 00:57:56 localhost kernel: em28xx #0: v4l2 driver version 0.1.1
    Mar 10 00:57:56 localhost kernel: em28xx #0: V4L2 device registered as /dev/video1 and /dev/vbi0
    Mar 10 00:57:56 localhost kernel: em28xx audio device (eb1a:50a6): interface 1, class 1
    Mar 10 00:57:56 localhost kernel: em28xx audio device (eb1a:50a6): interface 2, class 1
    Mar 10 00:57:56 localhost kernel: usbcore: registered new interface driver em28xx
    Mar 10 00:57:56 localhost kernel: em28xx driver loaded
    Mar 10 00:57:56 localhost kernel: usbcore: registered new interface driver snd-usb-audio
    Mar 10 00:57:58 localhost pulseaudio[2815]: alsa-util.c: Cannot find fallback mixer control "Mic".
    Mar 10 01:01:06 localhost kernel: CE: hpet increasing min_delta_ns to 15000 nsec
    

Install tvtime

Langsung install dari repositori resmi.

[hafni@localhost ~]$ su -c 'yum install tvtime'

Konfigurasi tvtime

  • Scan channel
    [hafni@localhost ~]$ tvtime-scanner --norm=PAL
  • Jika laptop punya webcam Buka file /etc/tvtime/tvtime.xml. Harus dengan user root.
    [hafni@localhost ~]$ su -c 'gedit /etc/tvtime/tvtime.xml'
    Cari <option name="V4LDevice" dan ganti value-nya dengan /dev/video1.
  • Ganti standar tv menjadi PAL. Cari <option name="Norm" dan ganti value-nya dengan PAL.

Jalankan tvtime

Kalau dari panel, ada di Applications > Sound & Video > TVtime Television Viewer.

Suara tidak keluar?

Ini karena front mic dibisukan (alias mute). Agar bisa berbicara, buka Volume Control. Bisa klik kanan tanda speaker (biasanya di pojok kanan atas [macam partai aja]), terus klik Open Volume Control. Atau di System > Preferences > Hardware > Volume Control. Setelah terbuka jendela Volume Control, di bagian Device pilih device utama yang ada di komputer, harusnya sih yang paling atas, misalnya kalau di laptopku HDA NVidia (Alsa mixer). Terus unmute Front Mic dan atur-aturlah volumenya. Ini gambarnya:

Selamat menikmati.

Friday, February 27, 2009

Melancong ke Polban

Hari ini dari pagi jam 9.00 hingga jam 16.15 aku harus berada di Polban untuk memenuhi tugas sebagai instruktur pelatihan VB .NET dari ComLabs. Lagi-lagi tidak ditemani asisten. Berangkat dari ComLabs jam 8.30 bersama salah seorang staf ComLabs. Sampai di sana jam 8.50. Ternyata jauh juga, aku kira di sekitaran KPAD. Karena tugasnya sudah selesai, dia pun kembali lagi ke ITB. Wah..., terasa sendirian di lingkungan yang asing. Memasuki ruang pelatihannya (di Jurusan Teknik Komputer), suasana hati dan pikiran jadi ga enak, apalagi setelah satu per satu peserta berdatangan. Masalahnya, mereka semua adalah dosen. Wuiihhh. Kalau masalahnya cuma itu mungkin ga terlalu stress. Persiapanku juga belum beres. Slide yang sudah diedit baru 1 dari 4 slide. Terakhir utak-atik Visual Studio juga kayanya sudah lama. Dan malamnya aku baru tidur sekitar jam 0.30. Karena mereka dosen dan sudah mahir pemrograman (hanya saja katanya mereka belum mengenal .NET), aku semakin tertekan. Pertanyaan-pertanyaan mereka (pertanyaan yang tidak pernah aku dapatkan di pelatihan reguler di ComLabs) yang membuatku seperti itu. Aku jadi lemah. Alhamdulillah, diselingi sholat Jumat. Cukuplah untuk istirahat. Setelah sholat, makan dong. Setelah itu, pelatihan dimulai lagi. Dan suasana masih sama, aku masih tertekan. Surabi dan jus jambu pun belum cukup untuk menenangkanku. Waktu pun terus berlalu hingga jam menunjukkan pukul 16.15. Pelatihan harus diakhiri. Lalu aku bergegas menuju ke ComLabs karena ada pelatihan website programming jam 17. Sampai di ComLabs jam 17 kurang 7 menit. Istirahat dulu sembari buka webmail IF dan Kolaborasi ComLabs. Setelah itu wudhu untuk sholat asar. Setelah wudhu, aku diberi tahu bahwa instruktur kali ini diganti mengingat aku sudah lelah. Lagi-lagi tanpa asisten. Terus aku sholat dan masuk ke ruang pelatihan untuk menginformasikan kepada peserta bahwa instruktur kali ini diganti dan tidak ada asisten lagi. Sungguh pelajaran yang sangat berharga. Dilaporkan langsung dari ruang asisten ComLabs dengan kepala masih pusing.

Wednesday, February 25, 2009

Ngajar Pelatihan Bikin Website

Alhamdulillah, baru saja mengawali pelatihan website programmer term 1 - 2009 di ComLabs ini (situsnya ga up-to-date, jadi ga aku link) dengan cukup baik. Baru kali ini jadi instruktur di sesi awal-awal (sesi 2). Seperti biasa, aku diberi tahu mau jadi instruktur beberapa jam sebelum pelatihan dimulai. Posisiku sebenarnya hanya asisten, jadi ga perlu nyiapin macem-macem, tinggal datang dan beraksi (sebenarnya salah ga sih begini, tapi mau nyiapin apa?). Instruktur aslinya menyatakan bahwa untuk term ini tidak akan jadi instruktur lagi, jadi aku naik jadi instruktur dan asisten kedua jadi asisten pertama. Masalah datang lagi, karena asisten kedua tidak bisa di jadwal hari Rabu. Ada yang mau gantiin? Awalnya, jam 15 kurang beberapa menit tadi, di sela-sela jadwal kuliyah, aku diberi tahu dari seorang staf ComLabs via tilpun bahwa si instruktur mulai sesi ini hingga selesai (term ini) tidak akan ngisi lagi. Cukup terkejut mendengarnya. Otomatis aku diminta untuk menggantikannya. Aku pun tidak bisa menolak (maklum lah wong Jawa [dudu Jowo koyo Letto]). Gimana siap-siapnya padahal jam 15 sampe 17 ada kuliyah. Alhasil, aku hanya mencari slide materi yang akan digunakan dan alhamdulillah ada di komputer ini. Terus aku kirim SMS ke asisten satunya lagi mengenai hal ini. Dan, dia ga bisa untuk hari Rabu. Wah, berarti hari ini main single. Waktu terus berlalu ... (kaya Element aja di lagunya, Rahasia Hati, yang populer pas jaman aku SMA). Pelatihan terlambat dimulai. Ternyata direktori (alias folder) materinya yang aku salin dari komputer ke flesdis salah. Aku harus nyalin lagi dari komputer. Pelatihan baru dimulai setelah lewat 15 menit dari jadwal sebenarnya. ... Akhirnya jam sudah menunjukkan pukul 19 dan aku harus mengakhiri semuanya (halah...). Tak lupa aku beri tugas buat peserta dan mengingatkan mereka untuk mengisi umpan balik (alias feedback). Ini dia umpan baliknya: 167.205.xx.yyy cukup. 167.205.xx.yyy cukup menyenangkan 167.205.xx.yyy cukup puas.......... 167.205.xx.yyy Lebih bagus..lebih jelas dan interaktif 167.205.xx.yyy ... 167.205.xx.yyy bagussss... 167.205.xx.yyy Semangit tertarik ma php... wheheh 167.205.xx.yyy Mas bisa nanya2 langsung ke emailnya gak? Trim's [alamat_email] 167.205.xx.yyy Materinya banyak ya.. 167.205.xx.yyy OK Pada kesempatan-kesempatan sebelumnya aku biasa dapat komentar yang negatif (cuma sebagian sih, ga semua peserta). Tapi kali ini, alhamdulillah, tidak ada yang memojokkan. Walaupun baru sesi 2, tapi cukup menenangkan perasaan dan pikiranku. Semoga ke depannya bisa lebih baik lagi. Kalau ga, rugi/celaka-lah aku.

Wednesday, February 18, 2009

Konfigurasi Jaringan Fedora 10

Ini dilakukan jika kita sering pindah-pindah jaringan yang tidak pakai DHCP, pokoknya ngeset IP statik. Masuk ke System > Administration > Network. Edit device eth0, centang Controlled by NetworkManager. Yang wlan0 diedit juga boleh. Aku belum bisa konek wi-fi nih, kayanya harus tahu nama access point-nya. Tapi aku coba tetap tidak bisa. Padahal, awalnya sudah senang Broadcom terdeteksi saat instalasi (di Fedora versi sebelumnya kan harus instal sendiri driver-nya), tapi tetap belum bisa dimanfaatkan. Untuk membuat konfigurasi baru (tidak pakai DHCP), ikuti langkah berikut ini. Klik kanan tanda koneksi jaringan yang terletak di bagian kanan toolbar (sebelah kiri jam), klik Edit Connections, buatlah koneksi baru, isi sesuai konfigurasi jaringan. Nah, manfaat dari semua di atas adalah kita bisa milih mau pakai konfigurasi yang mana tanpa harus mengubah konfigurasi lagi. Kalau di Windows kan cuma ada satu konfigurasi, jadi kita harus mengubah satu-satunya konfigurasi tersebut. Jadi, setelah kita pasang kabel LAN, terus kita pilih deh konfigurasi mana yang akan dipakai, System eth0 untuk DHCP atau lainnya sesuai jaringan yang tersambung. Jika jaringan kita menggunakan proxy, biasanya di kantor atau kampus, silakan edit proxy sistem. Belum tahu manfaatnya buat apa (kalau di ITB), soale pas instal atau update paket secara online bisa tanpa proxy. Paling, proxy Firefox diset ke proxy sistem. Caranya: Masuk ke System > Preferences > Network Proxy. Isi konfigurasi proxy. Kalau pakai autentikasi, jangan lupa isi username dan password di Details. Sekarang coba tes koneksi dengan ping, buka situs via Firefox, atau lainnya.

Sunday, February 15, 2009

Internetan dengan Fedora 10 + SE K800i

Tulisan ini diposting dengan menggunakan komputer bersistem operasi Fedora 10 yang disambungkan ke internet melalui ponsel SE K800i sebagai modem. Caranya gampang sekali. Tinggal sambungkan kedua perangkat ini dengan kabel data USB dan aktifkan USB internet (tentu USB data accounts-nya telah diset dengan benar sesuai provider). Langsung deh konek tanpa basa-basi seperti di Windows Vista. Koneksinya pun lebih stabil/lancar dibandingkan dengan di Windows. Walaupun kecepatannya tidak tinggi, maklumlah GPRS, tapi ya lumayan. Kalau di Windows, koneksinya sering jadi local only.

Saturday, February 14, 2009

Instalasi Linux (dan Mempertahankan Windows)

Kamu belum pernah mencoba Linux? Komputer kamu masih menggunakan Windows? Kamu ingin mencoba Linux tanpa menghapus Windows? Kalau kamu belum tahu banyak tentang Linux, belum tahu keunggulan-keunggulan Linux (terutama dibandingkan dengan Windows), cari tahu dulu deh, googling aja. Kalau kamu ingin mendapatkan CD/DVD Linux, silakan hubungi aku. Berikut ini cara aman instalasi Linux. Buatlah partisi hard disk untuk Linux terlebih dulu melalui software partisi di Windows. Kalau di Windows Vista sudah ada tools-nya, jadi tidak perlu pakai tools pihak ketiga. Sebenarnya bisa saja membuat partisi saat akan instalasi Linux, tapi biar lebih aman kita partisi dulu aja lewat Windows. Sediakan minimal 7 GB untuk partisi tersebut. Tidak usah terlalu banyak karena kita masih bisa mengakses partisi Windows (biasanya NTFS) dari Linux. Jangan diformat/dialokasikan dulu partisinya. Kemudian masukkan CD atau DVD instalasi ke dalam CD/DVD drive dan restart komputer. Untuk selanjutnya, aku hanya akan beri petunjuk yang penting untuk diperhatikan. Pilihan partisi mana yang akan dipakai untuk Linux Pilihlah partisi yang kosong (free/unallocated partition) dan centang 'Review and modify partitioning layout', klik 'Next'. Edit volume yang bertipe swap. Saat ini sudah jamak memory berkapasitas besar (>= 1 GB). Kurangi aja ukuran volume swap tersebut menjadi 512 MB, 256 MB, 128 MB, atau terserah yang penting total memory ditambah swap minimal 1 GB (sudah cukup rasanya 1 GB). Kenapa ukurannya dikurangi? Karena swap hanya digunakan bila memory komputer kita sudah tidak cukup menampung resource lagi. Karena swap dikurangi, maka akan ada sisa space. Berikan saja space itu untuk volume ext3. Jika sudah, klik 'Next'. Instalasi GRUB boot loader Biarkan default, yaitu diinstal di Master Boot Record. Di tengah-tengah ada tabel sistem operasi yang ada di komputer. Silakan edit seperlunya. Biasanya sistem operasi Windows diberi nama Other, jadi ganti saja biar sesuai namanya. Terus, pilihlah sistem operasi default yang akan dipakai. Clock settings Pilih time zone yang sesuai, misalnya untuk Waktu Indonesia Barat pilih Asia/Jakarta. Hapus tanda centang System clock uses UTC. Kalau tidak dihapus, nanti tidak sinkron antara jam Windows dengan jam Linux. Root account Root itu superuser atau administrator di Linux. Akun ini digunakan untuk melakukan administrasi komputer seperti meng-install dan menghapus software. Software yang akan di-install Untuk pengguna rumahan atau pengguna baru, pilih Office and Productivity saja. Pilih 'Customize now' jika ingin mengubah lebih detail software apa saja yang akan di-install. Kalau sudah, lanjutkan hingga proses instalasi selesai dan komputer restart/reboot. Konfigurasi saat pertama kali booting Jika ada tulisan Booting Windows ... karena Grub boot loader diset default untuk Windows, tekan sembarang tombol untuk menghentikannya dan pilihlah Linux yang akan dijalankan. Setelah itu, utnuk pengguna rumahan/baru biarkan konfigurasi apa adanya (default). Terakhir, buatlah user untuk pemakaian reguler/standar (bukan administrator). Finish dan komputer akan reboot kembali.

Wednesday, February 11, 2009

... Tetapi Kebanyakan Manusia Tidak Bersyukur (QS Al-Baqarah [2]: 243)

Kemarin malam aku nonton acara tv yang membicarakan petani tembakau di Temanggung, Jawa Tengah. Acara itu lebih banyak menyingkap sisi glamor para petani. Hah...? Serius nih petani bisa glamor, royal dalam membelanjakan uangnya? Apa hanya petani tembakau saja? Jangan salah sangka dulu. Petani di Jawa Tengah sebenarnya sudah cukup mapan, kecuali yang belum. Dalam acara itu, terungkap bahwa petani tembakau di sana memperoleh hasil yang melimpah setiap kali panen, kecuali kalau gagal panen tentunya. Tapi sayangnya, hasil ini membuat para petani terbuai kehidupan duniawi. Hasil panen pun mereka tukarkan dengan kendaraan bermotor atau barang elektronik seperti TV dan DVD player. Mungkin memang begitulah cara mereka bersyukur. Di akhir acara, Bupati Temanggung berkata bahwa tak banyak dari mereka yang bisa menahan nafsu duniawinya dan menabung sebagian uang hasil jerih payahnya. Tapi begitulah kehidupan. Allah berfirman dalam surat Al-Baqarah (2) ayat 243, yang terjemahannya:
Sesungguhnya Allah mempunyai karunia terhadap manusia, tetapi kebanyakan manusia tidak bersyukur.
Juga dalam surat Yunus (10) ayat 60, yang terjemahannya:
Sesungguhnya Allah benar-benar mempunyai karunia (yang dilimpahkan) atas manusia, tetapi kebanyakan mereka tidak mensyukuri(nya).
Jadi, masihkah kamu akan mengikuti kebanyakan orang? Hanya ikut-ikut kebanyakan orang? Padahal banyak disebutkan dalam Al-Quran bahwa golongan kebanyakan malah yang "salah", salah dua contohnya adalah dua ayat yang disebutkan di atas. Nah, alhamdulillah banget, ayahku, yang juga petani (bukan tembakau, melainkan tebu), tidak termasuk orang yang royal dalam membelanjakan uangnya. Bahkan, sampai saat ini pun tidak ada barang yang khusus untuk menonton video macam DVD player di rumahku (kalau komputer kan beda). Katanya, dulu waktu mengawali karir sebagai petani tebu ya biasa saja. Dimulai dari menyewa sejengkal tanah untuk ditanami tebu. Hasil panennya yang sedikit tentu sangat tidak arif untuk dibelanjakan semuanya. Sebagiannya harus dijadikan modal untuk menyewa tanah lebih luas lagi dengan harapan hasil yang dicapai akan berlipat ganda. Bola itu bundar. Bumi pun tidak kotak. Apa sih...? Panen tebu pun tidak selalu berhasil. Acapkali terjadi gagal panen. Penyebab gagal panen tebu biasanya sih kebakaran. Kayanya ini yang paling parah, karena tebu benar-benar tidak bisa disulap jadi gula. Kalau tebu tumbuh tidak sehat kan masih bisa diperas jadi gula walaupun hasilnya kurang baik. Di balik kesuksesan sebagian petani ada sebagian lagi yang kurang beruntung. Dulu kita pernah menjadi macan Asia. Gerindra! .... (Lupa lanjutannya) Sekarang zamannya aku. Aku yang saat ini sudah mendapatkan uang dari kerja serabutan belum bisa memanfaatkan uang yang ada untuk diputar kembali sebagai modal untuk usaha. Aku hanya bisa menabungnya sedikit demi sedikit dan jika sudah cukup banyak aku tukarkan dengan emas. Sampai saat ini sih baru punya satu batang emas 10 g. Insya Allah sebentar lagi bisa membeli beberapa keping koin dinar. Kenapa emas? Ya gampang saja, karena saya berharap harta saya tidak turun nilainya.