DVD + BUKU KOMPUTER!

EDISI 02/2008 | HARGA Rp40.000 [Luar Sumatra-Jawa-Bali: Rp44.000]

N E T W O R K I N G , S Y S T E M A D M I N I S T R AT I O N , A N D M O R E

www.infolinux.web.id

NEW DISTRO! INTERNETI

Miro 1.0 Menonton acara TV online lewat internet, lalu download

 Codec Buddy Media Support  Pulse Audio Sound System

KEUANGANI

Mjrz R1 0 27 Atur keuangan dengan cara mudah tanpa perlu belajar akuntansi SISTEMI

Ekstra Buku Komputer! Komputer! Berisi panduan setting berbagai macam perangkat jaringan di Linux

Sistem Pendeteksi IP Otomatis Ketahui lokasi pengunjung situs dengan memanfaatkan database GeoIP dari Maxmind dan skrip PHP [74]

NX Client 3.1.0-2 Remote desktop mudah dalam jaringan yang sama BACK-UPI

Q7Z 0.7.0 Back-up file Anda dengan kompresi tingkat tinggi berformat 7zip MULTIMEDIAI

Subsonic 3.3 Aplikasi streamer berbasis web yang mendukung banyak format

Merancang Aplikasi Portabel Aneka tip merancang aplikasi yang bersifat kompatibel dan dapat berjalan di berbagai macam distro Linux [28]

Multiuser Remote Desktop Detail konfigurasi VNC untuk dapat melakukan proses remote desktop secara multiuser [38] Cover LINUX_02_REG.indd 2

1/11/2008 7:40:33 PM

IKLAN

EDITORIAL PEMIMPIN UMUM Mario Alisjahbana

PEMIMPIN REDAKSI Rusmanto Maryanto

REDAK TUR SENIOR Anton R. Pardede, Effendy Kho

SIDANG REDAKSI Supriyanto (Koord.), Alexander P.H. Jularso, Bonafacius S. Ryanto, Denie Kristiadi, Rully Novrianto, Sasongko R.A. Prabowo, Suherman, Wawa Sundawa, Yanuar Ferdian

KONTRIBUTOR Budi Rahardjo, I Made Wiryana, Michael S. Sunggiardi Noprianto, Ria Canseria

PR A PRODUKSI Arie Ishami, Renny Fitriastuti

TATA L E TA K & D E S A I N G R A F I S Dhany Sudharmanto, Lely Yulaena, Mardiana

S E K R E TA R I AT R E D A K S I Evawani U. Putri

IKL AN Thomas H. Waskita (Manajer), Imam Ariyanto, Indran B. Sapto, Meladi Krisbiono

P E M A S A R A N , P R O M O S I & K E G I ATA N Setyo (Manajer)

SIRKUL ASI & DISTRIBUSI Purwaluyo (Manajer)

KEUANGAN Deetje Monoarfa (Manajer), Albert Sulistyo, Ngafiv, Tety Winarni, Untung

PERSONALIA & UMUM Ekawati (Koord.), Suhaedin, Supandi

PENERBIT PT InfoLINUX Media Utama

A L A M AT Gedung Warta Lt. 4 Jl. Kramat IV No. 11, Jakarta Pusat-10430 Telp: (021) 315-3731, Fax: (021) 315-3732

P E N C E TA K PT Dian Rakyat, Jakarta Semua tip yang ada di dalam majalah ini gunakan atas risiko Anda sendiri. Kami tidak bertanggung jawab atas segala kehilangan data atau kerusakan pada komputer, alat-alat, atau software yang Anda miliki ketika menggunakan tip atau saran tersebut. Linux merupakan trademark terdaftar dari Linus Torvalds. Linux di sini adalah pemendekan dari GNU/Linux. Semua trademark lainnya merupakan hak masing-masing pemiliknya.

InfoLINUX diterbitkan bulanan oleh Pinpoint Publications. Pinpoint Publications juga ikut menerbitkan majalah komputer bulanan PC Media, tabloid dwi-mingguan PC Mild, Buku Mini PC Media, dan Buku Mini InfoLINUX. Dilarang mereproduksi seluruh atau sebagian materi di media ini dalam bentuk dan dengan tujuan apapun. Pinpoint Publications tidak terafiliasi dengan perusahaan atau produk yang diuji coba di InfoLINUX. Seluruh staf InfoLINUX tidak memiliki investasi pada perusahaan atau produk yang diuji coba. Hasil uji coba produk yang dimuat di InfoLINUX tidak terkait dengan iklan atau hubungan bisnis perusahaan/produk tersebut dengan InfoLINUX. Kecuali disebutkan, uji coba dilakukan InfoLINUX pada produk dan layanan yang tersedia pada saat ini. Kami, di Pinpoint Publications, menjunjung tinggi nilai integritas. Untuk itu, dalam menjalankan tugasnya seluruh staf kami tidak dibenarkan menerima atau meminta imbalan dalam bentuk apapun dari relasi/narasumber.

KETERGANTUNGAN YANG MEREPOTKAN Jika Anda pernah menderita ketergantungan terhadap sesuatu, tentu merasakan sulit untuk menghindarinya, meski Anda tahu ketergantungan itu buruk. Demikian pula di bidang software komputer, Anda akan repot bila telah menderita ketergantungan terhadap software tertentu. Anda sadar salah, namun sulit menghindar karena satu dan lain hal. Salah satu penyebab ketergantungan adalah adanya pihak lain yang tidak memberi alternatif kepada Anda. Sekadar contoh, Anda nasabah yang merasakan baiknya pelayanan sebuah bank. Rusmanto Maryanto [[email protected]] Namun, setiap Anda akan mengakses layanan Internet banking bank itu, Anda harus menggunakan IE (Internet Explorer), alias Anda mengalami ketergantungan terhadap IE. Kami menemukan contoh pertama ini adalah https://www.permatanet.com. Contoh ketergantungan di atas masih dapat diatasi, misalnya dengan menjalankan IE melalui program perantara, Wine. Anda dapat men-download dan menginstal ies4linux untuk itu. Jika Wine dan IE gagal mengkases web-web itu, masih ada alternatif yang belum tentu mudah bagi Anda, yakni berganti langganan jasa bank. Ketergantungan menjadi sangat buruk jika benar-benar tidak ada alternatif. Contoh kasus ini adalah perusahaan yang ingin melaporkan pembayaran pajak dengan e-SPT. Saat ini, e-SPT hanya dapat dijalankan dengan MS Windows. Itu artinya pemerintah pembuat e-SPT memaksa perusahaan penggunanya membeli MS Windows, karena perusahaan yang baik pasti ingin membayar pajak dan tidak ingin menggunakan software secara tidak legal. Akhirnya bisa sangat merepotkan, misalnya Anda membeli lisensi MS Windows yang sangat mahal dibandingkan biaya mendapatkan Linux, atau Anda membuat laporan pajak tidak menggunakan komputer. Ketergantungan lainnya berhubungan dengan hardware. Misalnya Anda membeli printer yang hanya menyediakan driver untuk MS Windows. Jika distro Linux Anda tidak berhasil menggunakan printer itu, ada dua alternatif solusi. Pertama, membeli driver yang tidak open source, misalnya TurboPrint. Kedua, menukar tambah printer itu dengan printer yang "Linux Ready".

KONTAK REDAKSIONAL E-mail: [email protected], Telepon: (021) 315-3731 ext. 127-131 CD BERMASALAH E-mail: [email protected], Telepon: (021) 315-3731 ext. 127 BERKONTRIBUSI NASKAH [email protected] atau [email protected] ALAMAT ADVERTISING E-mail: [email protected], Telepon: (021) 315-3731 ext. 105-107 MAILING-LIST PEMBACA [email protected], Pendaftaran: [email protected] BERLANGGANAN ATAU PEMESANAN EDISI-EDISI SEBELUMNYA E-mail: [email protected], Telepon: (021) 4682-6816, 7079-6499, Faksimili: (021) 4682-8919

www.infolinux.web.id

INFOLINUX  02/2008

3

INDEKS [20] NetBeans 6.0

Game [22] TecnoballZ 0.92 [22] Tennix! 0.5.0

Buku

Edisi 02/2008

[23] Linux Firewall [23] Practical Ruby for System Administration [23] Pro Apache Tomcat 6

Software Pilihan [24] [25] [25] [25] [25] [26] [26] [26] [26] [27] [27] [27] [27]

Miro 1.0 Reconstructor 2.7 TCExam 5.1.001 Subsonic 3.3 NX Client 3.1.0-2 WikyBlog 1.5.7.2 Whaawmp 0.2.6 GpsDrive 2.10pre4 Mambo 4.6.3 Banjar 0.8 gLabels 2.2.0 Q7Z 0.7.0 Mjrz R1.0.27

28 Utama [28] Membangun aplikasi portabel

Solusi [36] Memperbaiki Grub yang Hilang

Praktik Instan

36

6

38

[38] Remote Desktop VNC Secara Multiuser [42]

Komunitas Warnux

42

48

74

[44] Daftar Warnet Berbasis Linux di Indonesia [45] Program Deepfreeze a la Linux

Tutorial [3] [4]

Indeks Aktual

[5] Protocol Freedom Information dari Samba [5] Kubuntu 8.04 Tidak Dirilis Sebagai LTS [5] Hasil Kerja Sama Ubuntu dengan Open VZ [6] Komitmen CEO Red Hat terhadap Open Source [6] Free Software di Dunia Pendidikan Polandia [7] 3000 PC Berbasis Debian di Sejum lah Seklah Brazil [7] Asterisk, Generasi Masa depan Du nia Telekomunikasi

4

Opini

Editorial

02/2008 n INFOLINUX

[8] I Made Wiryana: Hukum Moore vs Parkinson-Reiser [10] Budi Raharjo: Teknologi dan Budaya [12] Michael S. Sunggiardi: Komunitas Open Source [14]

[45] Program Deepfreeze a la Linux [48] Memeriksa Keabsahan File [54] Wajah Putih Bersih Berseri Mata Indah, Bening Bercahaya [58] Akses Internet Wireless [62] GTK+ dengan Berbagai Bahasa Pemrograman [70] Download Supercepat dengan aria2

Surat Anda Testilinux

[16] Studi Mandiri, Pemuas Dahaga Belajarku

Distro [19] Fedora 8 [19] MEPIS antiX 7.01

Software

Workshop [74] Deteksi IP Pengunjung Situs [76] MP3 File Server dengan Obsidi anMusic [78]

Info Harga

[80]

Kuis InfoLINUX

[82]

Edisi Mendatang

[20] Alice 2.0.7

www.infolinux.web.id

AKTUAL

Protocol Freedom Information dari Samba roject Samba kini telah menyediakan dokumentasi tentang protokol jaringan Windows. Dengan bantuan dari Software Freedom Law Center (SFLC) dan Free Software Foundation Europe (FSFE), Samba project telah menyetujui sebuah kesepakatan untuk membayar dokumentasi protocol jaringan Windows kepada Microsoft sebesar US$14,400, dan telah mengonfigurasi Protocol Freedom Information Foundation (PFIF) baru, agar dokumentasi ini dapat diakses oleh project free software yang lain. Bermula dari permintaan dokumentasi Microsoft Active Directory dari Sun Microsystems kepada Microsoft, untuk men-develop sebuah software yang dapat terhubung atau

P

“berkomunikasi” dengan Windows. Ketika pihak Microsoft menolak, Sun mengajukan komplain kepada Komisi Eropa yang kemudian melakukan investigasi selama lima tahun. Dari awal investigasi tersebut terlihat banyak mendapat perhatian dari grup free software, salah satunya adalah dari pihak Samba. Setelah mendapat reaksi yang keras dari komisi Eropa pada tahun 2004 karena dituduh melakukan monopoli, dan berulang-ulang pihak Microsoft melakukan banding, pada akhirnya Microsoft memberikan dua kemungkinan untuk memberikan dokumentasinya. Opsi pertama, seorang pemohon dapat membayar 10,000 (US$14,400) tanpa proteksi paten apapun, dan opsi kedua, bersifat fee

extra untuk sebuah per seat royalti dengan proteksi paten. Karena opsi kedua, yakni perseat royalti tidak sesuai dengan free software project, maka Samba project mengambil option kedua, yakni membayar kepada Microsoft sebesar 10,000. Menurut Allison, alokasi dana ini diambil dari biaya perjalanan dan anggaran belanja tim Samba project. Setelah membayar dokumentasi tersebut, tim Samba melakukan perubahan dan membuat PFIF baru.

Kubuntu 8.04 Tidak Dirilis Hasil Kerja Sama Ubuntu dengan OpenVZ Sebagai LTS ecara bertahap, Ubuntu, Kubuntu, dan varian Ubuntu lain yang dibuat oleh Canonical, akan dirilis dengan versi LTS (Long Time Support). Versi LTS ini memiliki dukungan selama 3 tahun untuk versi desktop, dan 5 tahun untuk versi server. Namun, akibat keterlambatan rilis KDE 4, pihak Canonical dan tim Kubuntu telah memutuskan kalau versi berikut dari distro Kubuntu, yakni Kubuntu 8.04, tidak akan dirilis sebagai LTS. Alasan mengenai hal ini dikarenakan waktu rilis KDE 4 sangat dekat dengan jadwal rilis Kubuntu 8.04,

S

www.infolinux.web.id

sehingga menggabungkan KDE 4 dalam Kubuntu amat berisiko menjadi prematur dan membuat sistem menjadi tidak stabil. Jalan keluar untuk masalah ini dapat dilihat pada pengumuman yang terdapat di mailing list Kubuntu. D a l a m pengumuman tersebut, para pengguna akan diberikan opsi untuk memilih antara KDE 3.5.8 dan KDE 4, namun tetap tidak akan menjadi versi LTS. Ubuntu 8.04 dengan fitur barunya, akan diluncurkan pada April 2008. Rilis ini diharapkan membawa sesuatu yang berbeda dengan rilis sebelumnya.

ihak Ubuntu bekerja sama dengan developer OpenVZ, akan merilis pre-built Ubuntu virtual machine, yang mempermudah seorang sistem administrator untuk membuat sistem Ubuntu yang sudah dispesifikasikan hanya dalam hitungan waktu beberapa menit saja. Menurut rencana, project pre-made virtual server dan desktop Ubuntu 7.10 berbasikan OpenVZ ini akan dirilis pada Januari 2008. Untuk mendapatkan virtual mesin tersebut, pengguna cukup mendownload sebuah template software Ubuntu dari situs OpenVZ yaitu di http:// openvz.org/download/ template. Dengan template ini, mereka dapat men-set-

P

up OpenVZ VMs (virtual machines) dari server atau desktop Ubuntu lainnya pada sebuah sistem Linux yang ada. Kir Kolyshkin, seorang manajer project OpenVZ mengatakan, pihaknya ingin memberikan cara yang mudah dan cepat bagi para pengguna untuk membangun Ubuntu dalam sebuah lingkungan virtual. Software ini merepresentasikan sebuah usaha dari kolaborasi Canonical, sebagai sponsor komersial Ubuntu untuk memudahkan para sistem administrator untuk membangun desktop atau server Ubuntu dengan cepat. INFOLINUX  02/2008

5

AKTUAL Avidemux Avidemux salah satu aplikasi video editor/ converter terbaik yang terdapat di Linux, telah merilis Avidemux 2.4 pada 4 Januari 2008. Meski bersifat free, aplikasi berbasis GTK+ ini memiliki cukup banyak fitur. Dengan menggunakan aplikasi ini, para penggunanya dapat mengonversi video ke sejumlah format, dan melakukan editing dari sejumlah format video.

LimeWire Aplikasi multi-platform Gnutela client yang memiliki banyak fitur, yakni LimeWire, telah merilis versi terbarunya LimeWire 4.1 4. Beberapa fitur yang dimiliki aplikasi ini, antara lain auto-connect, groups, browse host, multiple search, upload throttling, library management, dan sophisticated filtering. Karena berbasiskan Java, LimeWire dapat berjalan di berbagai platform.

Komitmen CEO Red Hat terhadap Open Source etelah terpilih menjadi Chief Executive Officer Red Hat yang baru, James Whitehurst mengatakan kalau Red Hat tetap akan melanjutkan untuk menjalankan model bisnis yang telah dijalankan sebelumnya, yakni software yang tersedia tidak dikenakan biaya, dan sumber pendapatan di peroleh dari jasa support kepada kalangan bisnis. James Whitehurst mengatakan, Red Hat tetap akan menjadi open source, dan akan menjadi pemimpin dalam dunia open source. Red Hat juga mengundang siapa saja untuk membantu dalam men-develop aplikasi mereka melalui Internet untuk saling berkolaborasi. Namun, pendekatan Red Hat dengan kolaborasi tersebut memungkinkan pihak lain untuk dapat menyalin dan menjual kembali produknya. Oracle Corp yang merupakan pembuat software nomor tiga dunia, mulai mendistribusikan versi copycat Red Hat Linux pada tahun 2006, dan menawarkan support dengan harga yang lebih murah daripada Red Hat. Menanggapi hal ini, Witehurst memberi penjelasan kalau memang mudah untuk menyalin apa yang sudah dikerjakan oleh pihak Red Hat. Namun Witehurst sangat optimis kalau Red Hat tetap akan memenangi persaingan, karena pihaknya menyediakan pelayanan dan nilai yang lebih baik.

S

Free Software di Dunia Pendidikan Polandia olish FLOSS Foundation bekerja sama dengan para kepala sekolah, dan didukung pemerintah setempat, merencanakan membuat seri untuk pembelajaran free software untuk kalangan pendidikan. Kampanye penggunaan free software ini akan dilakukan pada beberapa sekolah setingkat SMU di Polandia. Ide awal rencana ini telah ada sejak awal tahun 2007, dan datang dari seorang siswa berumur 15 tahun bernama Wojciech Ploszaj, yang berasal dari Malopolska, Polandia Selatan. Wojciech mulai mengadakan pertemuan pada sekolah-sekolah. Dalam kesempatan itu, dia selalu membicarakan keuntungan penggunaan Linux sebagai sistem operasi utama, dan juga penggunaan free software sebagai alternatif penggunaan proprietary software. Foundation for Free and Open-Source Software (FWIOO), sebuah lembaga untuk software berbasis free dan open source, bersama-sama dengan Jakilinux.

P

6

02/2008  INFOLINUX

org, setelah mendengar inisiatif dari Wojciech, segera membuat sebuah halaman wiki, di mana mereka dapat menjelaskan ide dari rencana aktivitas yang akan dilakukan dan memberikan semangat kepada kaum muda untuk bergabung sebagai pembicara pada event yang sama di semua negara. Lebih dari 200 sukarelawan telah bergabung pada minggu pertama. Dan jumlah tersebut sepertinya akan terus bertambah. Pada Juni 2007, kegiatan mulai terencana lebih baik, dan mulai mencoba untuk mendapatkan sponsor. Tadeusz Dziuba, seorang pemerintah setempat, merupakan orang yang kali pertama mendukung kegiatan ini. Setelah itu, para sponsor lainnya mulai berdatangan. Novell, Mandriva, Oracle, dan UX System, menawarkan produk mereka untuk di distribusikan dengan gratis pada sekolah pilihan. Pembagian CD gratis juga diberikan oleh komunitas Ubuntu lokal dan LinuxEduCD. www.infolinux.web.id

AKTUAL

3000 PC Berbasis Debian di Sejumlah Sekolah Brazil

RPM

ihak Departemen Pendidikan Brazil akan memberikan 3000 PC berbasis Debian kepada sejumlah sekolah yang terdapat di pedesaan Brazil. Semua PC tersebut akan memiliki printer yang kompatibel dengan Linux, dan layanan support selama 36 bulan. Beberapa bulan lalu, Departemen Pendidikan Brazil juga telah membeli 90.000 PC berbasis Debian GNU/Linux, dengan wireless card, dan printer laser yang kompatibel dengan Debian. Semua itu telah terinstal pada 9000 sekolah di Brazil. Departemen Pendidikan juga telah menggunakan situs virtual resmi pemerintah dengan tujuan untuk memberikan penawaran kepada para pre-qualified vendor untuk menyediakan permintaan PC berbasis Debian 4.0 Etch. Distro Debian 4.0 Etch yang terinstall di PC, memungkinkan pihak sekolah untuk mengubahnya sesuai kebutuhan. Selain itu, sudah tersedia juga distro Debian 4.0 yang sudah di kustomisasi pada situs Departemen Pendidikan Brazil untuk dapat digunakan oleh sekolah-sekolah di Brazil.

P

Pada 5 Januari 2008, telah dirilis versi terbaru dari RPM, yakni RPM 5.0.0. Para developer RPM telah berkerja selama tujuh bulan untuk membuat versi stable dari paket manajemen yang banyak digunakan oleh sejumlah distro ini. Pada versi terbarunya, RPM sudah mendukung format kompresi Bzip2 dan LZMA. Sejumlah fitur juga terdapat dalam pendefinisian file spec RPM.

Trixbox Distro Trixbox yang banyak digunakan untuk mempermudah proses konfigurasi VoIP Asterisk PBX, telah merilis Trixbox 2.4.0 pada 5 Januari 2008. Distro turunan CentOS 5.1 ini, telah memuat versi terbaru Asterisk, yakni Asterisk 1.4, serta FreePBX 2.3. Selain penyertaan sejumlah aplikasi terbaru, distro ini juga sudah menambah dukungan terhadap sejumlah hardware.

Asterisk, Generasi Masa Depan Dunia Telekomunikasi homas Howe merupakan seorang developer telekomunikasi dan konsultan yang sangat tertarik tentang aturan pada software open source dalam industri telepon. Dia mengatakan kalau open source sebagai generasi masa depan dari telekomunikasi, dan sangat berguna untuk perusahaan enterprise besar dalam membantu mereka mendesain sistem telepon yang berhubungan dengan alur bisnis mereka. Menurut Howe, hanya software open source yang dapat melakukan hal ini. Howe mengatakan open source adalah kunci untuk sistem telepon yang sesuai dengan keinginan setiap perusahaan. Dunia telekomunikasi biasanya merupakan lingkungan yang sangat tertutup. Dalam hal teknologi dan pembangunan, mereka mengontrol setiap aspek dari pengetahuan yang ada. Ide untuk membuat open dan memperbolehkan kustomer untuk memiliki kontrol tersebut merupakan ide yang tidak pernah terpikirkan. Asterisk merupakan dasar yang dipakai Howe untuk kebiasaan komunikasinya. Asterisk merupakan engine telepon open source penuh fitur yang telah diadopsi oleh banyak perusahaan sebagai pelarian dari sistem telepon berbayar dalam usaha menghemat dana perusahaan dan mengembangkan kontrol lebih pada infrastruktur mereka.

T

www.infolinux.web.id

Howe telah bekerja di dunia telekomunikasi sejak akhir tahun 80-an, dan untuk kali pertama dia mencoba software open source GNU C compiler (GCC). Selang beberapa tahun, dirinya percaya kalau open source memiliki kekuatan untuk merubah dunia telepon. Kini, Howe mengatakan kepada pelanggannya supaya jangan khawatir tentang solusi yang diberikannya open source atau bukan. Para pelanggannya hanya butuh solusi yang segera tersedia. Solusi telepon open source sangat fleksibel. Sebagai contoh, Howe mengambil secara bersamaan call center untuk sebuah perusahaan umum besar. Mereka memiliki 10 call center di seluruh dunia. Isu pertama yang ada adalah, jika salah satu call center dalam keadaan down karena kurang tenaga atau suatu masalah, mereka memiliki teknologi yang tersedia untuk meneruskan panggilan ke call center yang lainnya. INFOLINUX  02/2008

7

OPINI I Made Wiryana

Hukum Moore vs Parkinson-Reiser

P

ergantian tahun membuat blog posphere dipenuhi refleksi 2007 atau resolusi 2008. Tapi, saya lebih memilih dengan cara membaca-baca artikel bidang kom puter yang tergolong klasik, sembari menghubungkan dengan kondisi per kembangan teknologi komputer saat ini. Juga sembari mencoba teknologiteknologi lama, misal menjalankan ulang OpenGEM di atas FreeDOS. Membaca artikel "A Plea for Lean Software", Niklaus Wirth, IEEE Computer, 1995, mau tidak mau membawa pikiran saya ke upgrade sistem operasi yang sedang terjadi. Ketika saya upgrade dari OpenSUSE 10.2 ke 10.3 pada eyecandy, tetapi biaya akan kebutuhan perangkat keras yang diperlukan sangat meningkat sekali. Mau tidak mau humor yang dilontarkan Wirth pada paper ter sebut ada benarnya. Humor tersebut berkaitan dengan Hukum Moore yang sering digunakan orang untuk menunjukkan kemajuan kecepatan prosesor. Sayangnya, kecepatan pertumbuhan proses itu tidak dirasakan pengguna karena hambat an-hambatan hukum lainnya. Pertama hukum Parkinson, walau kapasitas memori saat ini juga bertambah, tetapi kecendurungannya perangkat lunak cenderung memiliki kebutuhan memory yang juga lebih

8

02/2008  INFOLINUX

cepat bertambah melebihi kecepatan penambahan memori. Kedua hukum Reiser, laju perangkat lunak men jadi lambat mengalahkan laju pe rangkat keras menjadi lebih cepat. Dengan kata lain perangkat lunak cenderung menjadi bloatware.

harus menerima begitu saja tanpa bisa memilih walau tidak meng gunakannya. Sangat berbeda den gan perangkat lunak open source, pengguna dapat memilih fitur mana yang digunakan, baik dengan cara mengonfigurasi sendiri atau me minta pihak ketiga melakukan hal itu. Sehingga tidak heran, upgrade dari OpenSUSE 10.2 ke 10.3 dapat berjalan baik dengan perangkat keras yang sama. Tentu saja Wirth tidak asal omong, karena dia tergolong ilmu wan yang juga turun ke lapangan. Dia telah membuktikan dalam kurun waktu 1986-1989 dan hanya berdua. Dia telah membuat sistem operasi, GUI, kompiler, sampai apli kasinya termasuk mendisain work station dari tingkat perangkat kerasnya. Termasuk dokumentasi untuk pengajaran. Hal itu dimung kinkan karena prinsip disain yang baik dan mempertimbangkan hal penting vs hal tambahan dilakukan dari awal. Apalagi sistem ini men jadi ringan karena tidak didisain untuk tertutup, sehingga tidak mem butuhkan lapisan-lapisan penutup yang membebani sistem. Saat ini industri komputer lebih berperan dalam menentukan apa yang dipelajari di kampus. Sering kali hal ini menyebabkan hasil riset tentang teknologi yang baik men jadi tidak populer hanya karena

“Sangat berbeda dengan perangkat lunak open source, pengguna dapat memilih fitur mana yang digunakan...„ Salah satu yang menyebabkan hal itu adalah dijejalkannya fitur dan eyecandy pada perangkat lu nak. Produsen perangkat lunak tidak memisahkan mana fitur yang wajib ada dan mana fitur yang "enak bila ada". Sehingga konsumen perangkat lunak (terutama produk closed source atau proprietary),

industri belum menerimanya atau merasa tidak menginginkannya. Ke beradaan program open source men jadikan semacam perlawanan tentang tekanan industri. Ini dapat dimulai oleh kaum akademisi terma suk dari negara berkembang yang memiliki keterbatasan dana untuk pembelian perangkat keras baru.

www.infolinux.web.id

IKLAN

OPINI Budi Rahardjo

Teknologi dan Budaya

J

aman dahulu kala (seperti dongeng sebelum tidur saja), katakanlah di zaman Yunani dahulu kala, pertukaran ilmu banyak dilakukan dengan cara lisan. Silang pendapat dilakukan dengan cara berdiskusi atau ber debat. Masing-masing pihak mem buat argumentasi secara runut dan menggunakan teknik orasi untuk meyakinkan pihak lawan bahwa opininya merupakan yang paling benar. Dunia tulis menulis, meskipun sudah ada (lihatlah warisan tulisan huruf Yunani dan angkanya yang nyleneh itu) kalah populer dengan lisan. Siapa yang mahir berbicara, dialah yang menang dalam argumentasi. Muncullah teknik orasi sebagai bagian dari ilmu yang dianggap penting. Penyebaran ilmu pada saat itu sangat lambat. Orang harus belajar dengan cara langsung mendengarkan seorang guru atau membaca naskah tulisan yang jumlahnya terbatas, karena harus ditulis oleh tangan. Belum lagi transportasi pada masa itu masih sangat primitif sehingga distribusi tulisan sangat terbatas. Muncullah teknologi percetakan. Buku kemudian dapat diproduksi secara massal dengan relatif cepat dan dengan biaya yang terjangkau. Mulailah orang bergegas untuk menu liskan idenya dalam bentuk tulisan. Teknologi transportasi juga sudah mulai berkembang sehingga penyebaran buku sudah lebih baik. Akibat dari teknologi ini orang

1 0 02/2008  INFOLINUX

mulai mendewakan metoda penye baran ilmu dengan menggunakan media tulisan. Ini masih berlaku sampai sekarang. Tulisan di jurnal lebih dihargai dari memberikan presentasi lisan. Jika Anda lihat, budaya “Barat” adalah budaya baca tulis maka bangsa kita masih belum beranjak

keterbatasan bandwidth, penye baran informasi yang dapat dilaku kan adalah dalam bentuk teks saja. Lagi-lagi, bangsa Barat-lah yang diuntungkan dengan adanya inter net karena budaya baca tulisnya. Teknologi telekomunikasi makin membaik sehingga bandwidth men jadi makin lebar dan (di beberapa tempat) harganya menjadi makin murah. Adanya bandwidth yang ma kin lebar ini memungkinan orang untuk bertukar informasi multi media, tidak sekadar teks saja. Situs YouTube.com merupakan salah satu contoh situs yang sangat haus akan bandwidth besar. Teknologi sekarang memung kinan untuk melakukan penye baran ilmu secara lisan (visual) kembali. Saya bisa mengikuti (potongan atau rekaman) kuliah atau pelajaran melalui Internet. Artinya pendidikan atau penye baran ilmu secara lisan tidak bisa lagi dikecilkan fungsinya. Untuk bangsa Indonesia yang tampaknya terhenti di dunia lisan, hal ini meru pakan sebuah karunia. Bangsa barat yang sudah ter lanjur terbiasa dengan budaya baca menulis mungkin harus belajar un tuk menggunakan paradigma baru ini. Sementara itu, seharusnya kita bisa lebih siap dalam meng optimalkan teknologi ini untuk

“...pendidikan atau penyebaran ilmu secara lisan tidak bisa lagi dikecilkan fungsinya.„ dari budaya lisan. Namun, jangan khawatir karena ternyata budaya lisan akan mendapat tempat yang layak kembali. Adanya perkembangan teknologi informasi dan telekomunikasi mela hirkan Internet yang mampu me nembus batas ruang (dan waktu?). Proses penyebaran ilmu dapat mengalir tanpa batas fisik lagi. Namun pada mulanya, karena

mencari solusi penyebaran ilmu yang lebih cocok dengan budaya lisan kita. Bagaimana melakukan pencari an kata dalam sebuah berkas yang berisi rekaman suara atau video? Apakah Anda bisa mengembangkan search engine yang bisa menelusuri isi sebuah berkas percakapan? Ini kesempatan Anda untuk membuat sejarah.

www.infolinux.web.id

IKLAN

OPINI Michael S. Sunggiardi

Komunitas Open Source

M

enarik juga jika kita semua mengetahui adanya satu organisasi yang melakukan peneraan terhadap programberbasis open source. Karena pada kenyataannya, dunia open source itu seperti sebuah gudang besar dan isinya segala macam dari yang bermanfaat sampai yang hanya ide dasar saja. Coverity's Scan membu at pemantauan keamanan dan perbaikan yang dilakukan produk open source. Peranti lunak tersebut dikelom pokkan oleh Scan ke dalam yang namanya RUNG, dan secara periodik mereka memberikan laporan ke masyarakat tentang peranti lunak yang sudah mencapai perbaikan yang tinggi dan aman dipakai. Di awal tahun 2008 ini, Scan mendaftarkan 11 peranti lunak open source sebagai yang aman dipakai, yaitu Amanda, NTP, OpenPAM, OpenVPN, Overdose, Perl, PHP, Postfix, Python, Samba, dan TCL. Peranti lunak yang sudah banyak dipakai seperti Apache, Firefox, FreeBSD, Squid, dan banyak lagi sudah masuk RUNG sebelumnya dan sudah aman dipakai. Setelah hampir dua tahun saya berusaha di bidang penerapan open source, memang terasa sekali bahwa yang dimaksud open source sebagai sebuah produk yang gratis dan dapat dipakai dengan enak, tidak selalu betul. Banyak kendala yang masih merupakan pertanyaan yang belum ada jawabannya. Misalnya kesulitan tenaga ahli di Indonesia yang ilmu nya tinggi, tetapi tidak memiliki da

1 2 02/2008  INFOLINUX

sar yang kuat, sehingga kalau ada perkembangan mereka hanya me ngerti potongan-potongan besar, dan akhirnya tidak mampu melaku kan perbaikan lebih lanjut. Yang menarik juga dari upaya yang dilakukan oleh Scan ini adalah terpampangnya beberapa pi ranti lunak di setiap RUNG atau pemantauan yang mereka lakukan, sehingga membuktikan bahwa peranti lunak berbasis open source

komunitas Indonesia, tetapi perkem bangannya belum optimal. Memang sudah banyak upaya pe nyempurnaan dan sosialisasi Linux di Indonesia, malah sampai tingkat menteri dan lebih dari lima depar temen bergabung untuk membuat gebrakan yang heboh, namun dalam kenyataannya tantangan berat di alami oleh pemakai yang memang belum mampu menjalankan dan me manfaatkan teknologi tersebut. Kesulitan penerapan open source di Indonesia kemungkinan disebab kan terbatasnya orang pinter yang mau berbagi ilmu di komunitas. Biasanya, begitu ada personal yang menonjol dari komunitas, maka yang bersangkutan langsung masuk ke dunia bisnis dan pada saat yang bersamaan, kita sudah kehilangan satu nara sumber, karena sudah dipastikan yang bersangkutan tidak mau lagi berkiprah di dunia bebas, apalagi kalau bisnisnya berkaitan erat dengan teknologi yang dikuasainya. Sebetulnya, kejadian ini bukan hanya terjadi di Indonesia saja, te tapi juga di negara lain atau negara yang sudah maju. Hanya saja jum lah tenaga ahli yang masuk ke ko munitas lebih banyak ketimbang yang keluar, sehingga satu produk atau komunitas tersebut tidak me rasa kehilangan, karena tetap ber jalan seperti biasanya. Saya sendiri sebetulnya merasa kan bagaimana susahnya bergaul di

“Kesulitan open source di Indonesia disebabkan terbatasnya orang yang mau berbagi ilmu...„ ini memang betul-betul suatu te robosan yang harus dengan upaya penyempurnaan dan perbaikan yang tidak pendek. Hal ini dapat dibuktikan dengan perkembangan sistem operasi Linux, yang sudah hampir sepuluh tahun beredar di

komunitas teknologi informasi Indonesia, karena kebanyakan orang keluar masuk dengan cepat sekali, dan yang keluar lebih banyak dari yang masuk, apalagi kualitas etikanya masih rata-rata di bawah standar.

www.infolinux.web.id

IKLAN

SURAT ANDA Punya opini, pendapat, kritik, atau saran yang terpendam untuk InfoLINUX? Sampaikan melalui surat ke Redaksi InfoLINUX, Jl. Kramat IV No. 11 Jakarta 10430 atau e-mail di [email protected].

Paket libraries di Linux

Tutorial Compiz Fusion

Saya mau menyampaikan sedikit usulan, dan mungkin banyak peng guna Linux di tanah air ini setuju dengan apa yang saya utarakan. Bagaimana jika InfoLINUX sebagai pionir majalah Linux di tanah air, dapat memberi penjelasan tentang apa kegunaan libraries/packages di masing-masing distro (cukup distrodistro yang popular saja). Apalagi cu kup banyak para pemula Linux yang bingung tentang bagaimana memain kan format multimedia yang umum, misal MP3, DVD, MPEG, AVI, 3GP, WMV, WMA, dan sebagainya. Akan lebih baik lagi, jika seandainya lib raries/packages tersebut dapat juga disertakan dalam bonus CD/DVD majalah InfoLINUX.

Saya mau request, nih. Bagaimana kalau InfoLINUX membahas secara tuntas mengenai Compiz Fusion, atau dibuat dalam sebuah buku khusus. Karena saya sangat tertarik melihat demo yang saya download dari Youtube mengenai Compiz Fusi on. Saya sudah mencoba Compiz Fusion, namun sampai saat ini be lum berhasil juga. Apakah diper lukan spesifikasi hardware tertentu, karena untuk komputer saya meng gunakan VGA yang share, tipe Mot herboard ASUS SGL-VM. Terimakasih atas bantuannya jika membalas request dari saya.

Bayu Patriatmanto - via e-mail

Terimakasih atas usulannya. Jika yang Anda maksud penjelasan ten tang kegunaan libraries atau paket adalah penjelasan tentang semua libraries atau paket yang terdapat di Linux, hal ini jelas tidak dapat kami lakukan mengingat banyaknya libraries dan paket yang terdapat di Linux. Sebagai pembanding, distro Debian saja memiliki lebih dari 14000 paket. Namun jika yang Anda maksud adalah bagaimana cara memainkan format multimedia seperti MP3, MPEG, DVD, dan sebagainya, pembahasan mengenai hal ini sudah sering kami ulas di majalah InfoLINUX. Sebagai referensi, coba baca kembali rubrik Workshop Distro InfoLINUX edisi 09/2007. Untuk paket codec video w32all yang berisi sejumlah codec multimedia yang restricted, juga dapat Anda temukan dalam bonus DVD InfoLINUX edisi ini.

1 4 02/2008  INFOLINUX

Setianto - via e-mail

Request Anda sudah kami penuhi. Silahkan lihat kembali tutorial "Efek 3D Desktop Canggih dengan Compiz Fusion" yang terdapat di majalah InfoLINUX edisi 01/2008. Beberapa distro, seperti Ubuntu 7.10, Fedora 8, dan Mandriva Power pack 2008, bahkan sudah menyer takan secara default paket Compiz Fusion yang dapat Anda gunakan secara mudah. Untuk persyaratan hardware agar dapat menjalankan Compiz Fusion, salah satunya adalah kebutuhan 3D VGA Card yang dapat berbasis ATI atau nVIDIA. Untuk mengetahui bera gam solusi permasalahan yang terja di saat menggunakan Compiz Fusion, silahkan akses url http://wi ki.compiz-fusion.org.

PDF InfoLINUX Saya masih newbie dalam mempe lajari Linux, dan kemarin saya membeli InfoLINUX edisi 12/2007. Setelah saya baca, pada InfoLINUX edisi 01/2008 akan disertakan

bonus PDF InfoLINUX. Berkaitan dengan hal tersebut, ada beberapa pertanyaan yang ingin saya sampai kan: 1. Bagaimana cara mendapatkan edisi InfoLINUX yang telah ter bit seperti bulan 01/2006 dan 01/2007? 2. Kalaupun tidak bisa menda patkan edisi awal tahun, bagai mana caranya agar saya dapat memperoleh file PDF InfoLINUX dari edisi pertama terbit sampai tahun 2007? 3. Saya ingin belajar jaringan un tuk pemula, seperti untuk rental komputer, atau usaha kecil lain nya. Bagaimana saya dapat mem peroleh informasi atau situs untuk belajar jaringan yang mu dah dan lengkap? Teguh - via e-mail

Langsung menjawab pertanyaan, 1. Untuk mendapatkan majalah InfoLINUX edisi yang telah ter bit, silahkan hubungi bagian Sirkulasi InfoLINUX dengan Bpk Hery di (021) 4682-6816, 7079-6499, atau email ke sirkula [email protected]. 2. File PDF InfoLINUX, saat ini hanya tersedia pada Bonus DVD InfoLINUX regular edisi 01/2007 dan 01/2008. Selain pada kedua edisi yang sudah terbit tersebut, untuk saat ini kami belum dapat memenuhi permintaan Anda. 3. Di Internet, cukup banyak situs yang dapat dijadikan rujukan belajar administrasi sistem di Linux. Salah satu situs yang cukup bagus untuk Anda jadikan rujukan belajar administrasi sistem di Linux adalah htt p://www.howtoforge.com.

www.infolinux.web.id

IKLAN

TESTILINUX

Studi Mandiri, Pemuas Dahaga Belajarku

L

ega rasanya, karena baru dua minggu belajar Linux saya sudah berhasil menginstal Linux. Yup, semuanya jadi mudah berkat bonus PCLinusOS 2007 dari LiveCD bonus InfoLINUX edisi 08/2007. Sudah lebih dari sepuluh tahun saya ingin mengerti dan menggunakan Linux, tapi percobaan instalasi pertama yang kala itu bermode teks dan membingungkan tidak berjalan mulus. Maka, keinginan untuk bergaul dengan Linux pun saya tunda dulu.

Perburuan Linux yang pertama: CentOS 4.3 Perjumpaan dengan Linux berawal dari perbincangan ringan saya dengan staf TI di perusahaan tempat saya bekerja, namanya Bayu. Dari majalah InfoLINUX di atas mejanya, saya membuka percakapan sekitar Linux. Saya mengemukakan permasalahan proses instalasi Linux yang sulit kepadanya, dan Bayu menyarankan saya mencoba menggunakan CentOS 4.3 yang sudah berhasil dia gunakan sebagai server SAP dan berjalan stabil. Akhirnya berbekal empat

“...pilihan distro yang banyak tanpa mengerti dasarnya justru menjadikan suatu kebingungan...„ 16 02/2008  INFOLINUX

buah CD Centos 4.3 darinya, saya mencoba menginstal ke komputer saya, dengan spesifikasi Pentium III-800, RAM 128 MB, yang memang saya persiapkan sebagai laboratorium uji Linux. Proses instalasi CentOS 4.3 akhirnya saya mulai. CD pertama saya masukkan ke perangkat CD-RW, dan tampil pilihan yang mudah untuk diikuti. Ada rasa deg-degan, kalau proses instalasi tidak berjalan mulus. Sambil dag-digdug, saya memperhatikan proses yang tampil di layar komputer saya. CD pertama OK, lalu di minta memasukkan CD ke-2, dan seterusnya, kurang lebih satu jam telah lewat dan hore! Instalasi Linux pertamaku berhasil. Pada percobaan kali ini saya cukup puas, karena tampilan desktop cukup mudah dimengerti.

Re-Install kedua: Ingin mencoba Ubuntu Meski sudah merasa puas menginstalasi CentOS 4.3, akan tetapi saya juga ingin mencoba Linux dari distro keluarga Ubuntu, namun Ubuntu menuntut spesifikasi hardware yang lebih tinggi. Padahal saya memiliki 3 versi CD Ubuntu 6.06 LTS (versi 64-bit, Mac, dan Intel) yang saya peroleh gratis dari situs Ubuntu. Sayangnya, versi ini membutuhkan persyaratan hardware yang tinggi, dan kebetulan tidak cocok dengan hardware yang saya miliki saat ini. Akhirnya saya menemukan Kubuntu 5.01 yang bisa saya instal. Proses instalasi kedua ini juga berhasil dengan baik.

Pasang dan copot aplikasi Sebagai pengguna komputer yang mudah tergelitik oleh aplikasi tambahan, saya ingin menambahkan sebuah program pengelola

Titus Permadi perpustakaan ke dalam sistem saya, karena diminta membantu kakak saya mencari program open source untuk perpustakaan. Pada saat itu saya menemukan OpenBiblio dan Senayan. Keduanya membutuhkan web server Apache, MySQL dan Php. Akhirnya, saya mulai mencari paket kombinasi ketiganya, dan berhasil menemukan LAMPP (Linux-Apache-MySQL-Php). Selain itu, saya juga mencoba menginstalasi aplikasi lain dari www.kde-apps.org, dan mulai muncul berbagai masalah paket dependensi saat akan menginstalasi. Kebingungan mulai muncul, karena terdapat beberapa macam paket aplikasi, mulai dari paket dari distro Debian GNU/Linux yang berakhiran *.deb, atau dari Red Hat Package Manager yang berakhiran *.rpm, serta aplikasi manajemen paket seperti Synaptic, APT, Kpackage. Pada problem paket dependensi, tidak semua aplikasi yang saya download dari www. kde-apps.org dapat saya instal. Barang kali ada yang salah dengan distro yang saya gunakan, begitu yang terdapat di benak saya. Mulailah saya mencari distro yang cukup memberi keleluasaan dan kemudahan bagi pemula seperti saya ini. Pencarian ini membawa saya menemukan distro berikutnya, PCLinuxOS 2007.

Re-Install ketiga: PCLinuxOS 2007 Dari pengalaman instalasi Linux, menurut saya yang paling interaktif dan mudah adalah PCLinuxOS-2007 karena bisa di jalankan dengan LiveCD. Setelah berhasil menginstal PCLinuxOS prioritas saya adalah menginstal Kpackage (dari http://linuxstation.net/pub/pclinuxos/apt/pc-

www.infolinux.web.id

TESTILINUX

Gambar 1. Menu aplikasi Ksnapshot di PCLinuxOS 2007.

linuxos/2007), karena Synaptic yang disertakan tidak bisa saya gunakan untuk menambah paket aplikasi dari CD/DVD. KPackage adalah manajemen paket dalam bentuk GUI untuk RPM, Debian, Slackware, dan BSD. KPackage merupakan bagian dari K Desktop Environment yang terintegrasi dengan KDE file manager. Dengan Kpackage, saya leluasa untuk melakukan pasang dan copot aplikasi tanpa harus terkoneksi ke Internet dan juga tanpa harus menggunakan Konsole.

Menjelajah PCLinuxOS kali pertama Setelah mantap dengan distro PCLinuxOS 2007, saya mulai mempelajari isinya. Inilah yang ingin saya cari. Pertama saya ingin mencari aplikasi yang dapat meng-capture tampilan screen dan dapat saya copy paste ke dalam OpenOffice.org Writer. Mulailah saya menelusur K Menu yang akan muncul bila Anda mengklik icon . Kmenu terdiri dari tiga bagian, paling atas nantinya akan berisi aplikasi terakhir yang paling sering Anda gunakan (Most Used Applications), All Applications – yang terdiri dari kelompok menu More Applications, Internet, Multimedia, Office, System, Others, sementara bagian ketiga Actions – terdiri atas Find, System Menu, Run Command, Switch User, Lock Session, Log Out. Satu hal yang menarik dari PCLinuxOS 2007 adalah adanya Konqueror, yakni sebuah aplikasi yang tri-fungsi untuk kebutuhan file manager, web browser, dan universal document viewer. Artinya dengan Konqueror kita dapat melakukan proses Copy, Cut, Move, Paste, Make/Delete Folder pada tab1, melakukan browsing Internet pada tab2, dan membaca dokumen

www.infolinux.web.id

Gambar 2. Menu aplikasi terminal di PCLinuxOS 2007.

dalam berbagai format, misal membaca file PDF pada tab3, dan seterusnya.

Linux dan Filosofi Belajar-praktik-mahir

XAMPP Sebagai pengganti LAMP

Saya mempunyai filosofi belajar “dengan setapakdemi setapak menjalani, berangsur-angsur lebih mengerti, manakala lengkap pengetahuan ini, terasa mudah mewujudkan keinginan hati”. Sebagai sebuah sistem open source, Linux bersifat sangat fleksibel sehingga dapat dikembangkan sesuai keperluan dan kreativitas penggunanya, sehingga mendorong munculnya berbagai distro yang bervariasi. Dampaknya bagi pemula, pilihan distro yang banyak tanpa mengerti dasardasarnya justru menjadikan suatu kebingungan dan resistensi untuk mempelajarinya. Namun dengan munculnya PCLinusOS 2007, sangat memudahkan pemula seperti saya untuk mempelajarinya dan makin penasaran untuk mendalami Linux. Keterbukaan dan fleksibilitas Linux adalah lingkungan yang tepat bagi pembelajar TI yang senang belajar secara otodidak dan mandiri. Ditambah dengan sumber dan referensi yang bertebaran di Internet, memberikan akses yang berlimpah untuk memperdalam pengetahuan. Tanpa harus sejalan dengan pendidikan formal dalam bidang TI, melalui Linux kita bisa mengerti tentang TI dan komputer, client–server, networking, dan lain sebagainya. Segeralah bermigrasi ke Linux. Saya menyebutnya Linux: Studi teknologi mandiri, pemuas dahaga belajarku.

Bagaimana menginstalasi LAMPP di PCLinuxOS 2007 dan membuat menu untuknya? Karena saya sering menggunakan Apache, MySQL, dan Php untuk aplikasi web baik HTML maupun berbasis CMS seperti Joomla, saya perlu menginstal LAMPP. Anda bisa men-download file source xampp-linux-1.6.4.tar.gz di http://www. apachefriends.org/en/xampp-linux.html. Apakah PCLinuxOS-2007 tidak menyertakannya? Sejauh penelusuran saya dengan Synaptic dan Kpackage, PCLinuxOS-2007 tidak secara otomatis menginstal web server Apache, MySQL, dan Php. Pilihan saya jatuh pada LAMPP karena untuk menginstallnya hanya membutuhkan satu baris perintah saja untuk diketik pada Terminal Program Super User Mode lalu setelah itu membuat Shortcut menu di K Menu agar tidak perlu masuk ke Terminal Program Super User Mode setiap kali akan menyalakan LAMPP.

OpenOffice.Org, cantik di lingkungan Linux Sudah cukup sering saya menggunakan aplikasi open source OpenOffice dalam platform Windows XP akan tetapi tampilan icon, warna dan tampilannya kurang menarik, membosankan tegasnya. Tetapi, ketika saya menggunakan PCLinuxOS-2007 tampilannya sungguh berbeda, cantik dan mudah digunakan. Artikel ini saya buat dengan menggunakan OpenOffice Writer.

Titus Permadi [[email protected]]

Kirim Naskah Anda memiliki pengalaman menarik selama menggunakan Linux?Jika ingin berbagi pengalaman menarik selama menggunakan Linux, silakan kirimkan file naskah sebanyak 9000 karakter, beserta dengan file foto dan file gambar, melalui e-mail ke [email protected]. Tersedia suvenir menarik untuk kiriman naskah yang dimuat.

INFOLINUX  02/2008

17

TES&REVIEW INDEX

Inovasi Fedora

Distro Fedora 8 MEPIS antiX 7.01

19 19

Software Alice 2.0.7 NetBeans 6.0

20 20

Game TecnoballZ 0.92 Tennix! 0.5.0

22 22

Buku Linux Firewall Practical Ruby for System Administration Pro Apache Tomcat 6

19

23 23 23

22

Definisi Label “On the Disc” Sebuah software yang memperoleh label “On the Disc”, berarti Anda dapat menemukan paket software tersebut dalam bonus Disc InfoLINUX edisi kali ini.

20

23

Prosedur “Linux Ready” edora selalu menawarkan suatu inovasi baru yang berikutnya banyak digunakan oleh distro lain. Setelah fitur SELinux security framework dan AIGLX graphics kali pertama diperkenalkan oleh Fedora, banyak distro besar lain yang memasukan fitur ini ke dalam versi terbaru distronya. Kejadian yang hampir mirip, mungkin akan berlaku juga pada rilis Fedora 8 kali ini. Pada versi terbarunya, Fedora memperkenalkan suatu theme baru yang memiliki nama ‘Nodoka’. Theme terbaru dari Fedora ini memiliki kemampuan untuk berganti warna wallpaper secara otomatis sesuai dengan waktu yang terdapat pada sistem komputer. Fedora 8 juga memperkenalkan suatu audio daemon baru bernama Pulse Daemon. Dengan menggunakan Pulse Dae-

F

18

02/2008  INFOLINUX

mon, Anda tidak perlu lagi dipusingkan dengan penggunaan beragam output seperti ALSA, ESD, atau artsd. Semuanya cukup di kontrol dari sebuah panel. Untuk merasakan fitur yang ada pada distro Fedora 8, silakan instalasikan sendiri DVD Fedora 8 yang disertakan dalam bonus DVD InfoLINUX edisi ini. Beralih ke rubrik lain pada edisi ini. Pada rubrik “Software”, InfoLINUX mengulas dua aplikasi berbasis Java. Pertama adalah NetBeans, sebuah IDE berbasis Java yang memiliki banyak fitur, dan cukup powerful. Yang kedua adalah Alice. Aplikasi ini dapat menjadi bahan pembelajaran programming yang baik kepada para pelajar, karena proses pembelajaran yang terdapat pada aplikasi ini menggunakan metode visual.

Sebuah PC atau notebook yang mendapatkan predikat “Linux Ready”, berarti semua peripheral standar seperti adapter jaringan LAN maupun WLAN dapat berfungsi sebagaimana mestinya, mulai dari proses instalasi sebuah distro Linux dilakukan hingga instalasi driver hardware tersebut. Distro Linux yang digunakan dalam pengujian “Linux Ready” adalah, Ubuntu 7.10, Fedora 8, dan openSUSE 10.3.

Supriyanto [[email protected]]

www.infolinux.web.id

DISTRO DESKTOP/SERVER

LIVE CD/DESKTOP

Fedora 8

MEPIS antiX 7.01

PEMBUAT Fedora Project SITUS http://fedoraproject.org KERNEL 2.6.23.1 DESKTOP GNOME 2.20.1, KDE 3.5.7 OFFICE OpenOffice.org 2.3.0 GRAPHICS GIMP 2.4.0, GThumb 2.10.7 MULTIMEDIA Totem 2.20.1, Rhythmbox 0.11.2, Sound Juicer 2.20.1 INTERNET Firefox 2.0.0.8, Evolution 2.12.1, Pidgin 2.2.2-1

PEMBUAT MEPIS SITUS http://antix.mepis.org KERNEL 2.6.22 DESKTOP IceWM 1.2.33, Fluxbox 1.0.0 OFFICE Abiword 2.4.6, Gnumeric 1.6.3 GRAPHICS mtPaint 3.11 MULTIMEDIA XMMS 1.2.10, MPlayer 1.0, Grip 3.3.1 INTERNET Iceweasel 2.0.0.10, XChat 2.8.2, Pidgin 2.2.2

T

EPIS antiX 7.01 dengan code name Lysistrata, merupa kan distro versi light weight yang diturunkan dari SimplyMEPIS 7.0. Karena sifat desktop-nya yang ringan, tak heran jika distro ini sangat cocok digunakan untuk para pemilik PC sekelas Pentium II, dengan mini mal RAM 64 MB. Saat kali pertama di jalankan, LiveCD MEPIS antiX akan mencari reso lusi yang sesuai dengan monitor yang digunakan. Setelah masuk ke layar halaman GDM login, Anda dapat memilih akan masuk ke windows manager IceWM atau Fluxbox dengan mene kan tombol F1. Setelah itu, Anda da pat segera login ke hala man desktop-nya dengan memasukkan kalimat "de mo" pada kotak user name dan password.

epat berselang enam bulan setelah rilis Fe dora 7, tim Fedora Project kembali merilis Fedora 8 dengan code na me werewolf. Seperti biasa, setiap rilis terbaru dari distro Fedora pasti memperkenalkan suatu fitur baru yang dihadir kan oleh distro ini. Beberapa teknologi ba ru yang diperkenalkan Fedora 8, di antaranya, penggunaan theme Nodo ka yang dapat berganti wallpaper secara otoma tis sesuai perubahan wak tu, audio daemon baru bernama Pulse Audio, ser ta penyertaan Codec Bud dy untuk mendukung suatu restricted audiovideo format. Sejumlah aplikasi ter baru, juga sudah diserta kan pada distro ini. Sebut saja desktop GNO ME 2.20.1 dan KDE 3.5.7 OpenOffice.org 2.3, GIMP 2.4.0, dan Firefox 2.0.0.8.

www.infolinux.web.id

M

Kebutuhan Hardware Processor : Kelas Pentium IV Harddisk : 10 GB Memory : 256 MB

Jika menginginkan paket desktop KDE 4, Anda da pat menginstalasikan da ri repositori paket Fe dora Project. Selain itu, versi Fedora Spins juga diperkenalkan pada Fedora 8. Fedora Spins merupakan distro varian Fedora 8 yang ber isi paket software untuk kebutuhan yang spesifik. Saat ini, para developer Fedora sudah menyedia kan tiga distro Spins dari Fedora 8, yakni Gamers, Developer, dan Electronic Lab.Sup Hasil Pengujian Fungsionalitas (20%) Fitur (40%) Kemudahan (30%) Dokumentasi (10%)

: 9.0 : 9.5 : 9.0 : 9.5

RATING 0

2

4

6

8

10

9,5

Kebutuhan Hardware Processor : Kelas Pentium II Harddisk : 2 GB Memory : 64 MB

Untuk menginstalasi MEPIS antiX ke dalam harddisk, Anda dapat menggunakan menu Ad min/Tools > Mepis Admin > Install, dari window manager Fluxbox. Jika ditanya password, masukkan dengan kata "root". Setelah itu, Anda dapat mengikuti wizard yang diberikan untuk melakukan proses instala si. Menariknya lagi, se jumlah restricted audiovideo format sudah didu kung secara default oleh distro ini.Sup Hasil Pengujian Fungsionalitas (20%) Fitur (40%) Kemudahan (30%) Dokumentasi (10%)

: 7.0 : 7.5 : 8.0 : 7.0

RATING 0

2

4

6

8

10

7,5 INFOLINUX  02/2008

19

SOFTWARE PROGRAMMING/EDUCATION

PROGRAMMING/IDE

Alice 2.0.7

NetBeans 6.0

PEMBUAT Caitlin Kelleher SITUS www.alice.org LISENSI GPL MULTIPLATFORM Yes HARGA Gratis DUKUNGAN SUPPORT Baik DEPENDENSI Sun JDK >= 1.5

PEMBUAT Sun Microsystems SITUS www.netbeans.org LISENSI CDDL/GPL2 MULTIPLATFORM Yes HARGA Gratis DUKUNGAN SUPPORT Sangat baik DEPENDENSI Sun JDK >= 1.5

B

B

elajar pemrograman itu sulit? Mungkin jawabnya ya, kalau yang terbersit dalam piki ran hanya proses merang kai source code yang panjang. Untuk menangani hal ini, ada baiknya Anda mengenal aplikasi berna ma Alice ini. Alice merupakan apli kasi pemrograman yang didesain untuk kalangan pelajar yang ingin mempelajari bahasa pem rograman berorientasi ob ject. Dengan Alice, para pelajar dapat mengenal dasar pemrograman keti ka membuat project ga me sederhana. Untuk dapat menjalan kan aplikasi ini, Anda perlu menginstalasi pa ket Sun JDK terlebih dahulu. Setelah itu, Anda dapat langsung menja lankan program run-alice untuk memulai Alice. Pada menu awal, akan terdapat empat pilihan

2 0 02/2008  INFOLINUX

Kebutuhan Hardware Processor : Kelas Pentium III Harddisk : 150 MB Memory : 512 MB

tutorial yang dapat Anda pilih untuk mengenal ca ra penggunaan Alice. Pada tutorial tersebut, Anda dituntun untuk me mahami apa itu method, object, maupun kode yang menyusun suatu ani masi secara menyenang kan. Ikuti satu per satu tahapan yang diberikan pada tiap tutorial ter sebut. Setelah memahami tutorial yang diberikan, Anda dapat langsung membuka beberapa con toh project yang telah di sertakan.Sup Hasil Pengujian Fungsionalitas (30%) Fitur (30%) Dokumentasi (20%) Kemudahan (20%)

: 9.0 : 9.0 : 8.0 : 7.5

RATING 0

2

4

6

8

10

8,5

agi sebagian besar programer Java, Net Beans merupakan sa lah satu IDE favorit yang banyak digunakan. Pada Desember 2007, Sun Mic rosystem telah merilis versi terbarunya, ,yakni NetBeans 6.0. Pada versi terbarunya ini, NetBeans mening katkan dukungan yang sudah ada untuk Java EE, termasuk dukungan Java Persistence, EJB 3, Struts, JSP, JAX-RPC, JAXP, dan JAX-WS. Seperti versi se belumnya, NetBeans su dah mendukung penuh proses development untuk semua tipe aplikasi ber basis Java, baik itu J2SE, web, EJB, maupun J2ME. NetBeans juga memi liki sejumlah IDE Packs dan Add-Ons yang dapat menambah fungsionalitas NetBeans. Beberapa ba hasa pemrograman dan tools seperti Ruby, C/C++, SOA, dan UML, juga su

Kebutuhan Hardware Processor : Kelas Pentium IV Harddisk : 1 GB Memory : 512 MB

dah didukung oleh Net Beans. Selain itu, Net Beans juga mendukung project sistem berbasis kan Ant, control version system, dan refactoring. Untuk dapat mengins talasikan NetBeans, pas tikan paling tidak paket Sun JDK 5.0 Update 12, atau JDK 6.0, sudah ter instalasi dengan baik pada sistem Anda. Selan jutnya, Anda cukup men jalankan file installer netbeans-6.0-linux.sh un tuk memulai proses insta lasi NetBeans.Sup Hasil Pengujian Fungsionalitas (30%) Fitur (30%) Dokumentasi (20%) Kemudahan (20%)

: 9.0 : 9.0 : 10. : 7.5

RATING 0

2

4

6

8

10

9,0 www.infolinux.web.id

IKLAN

GAME ARCADE

SPORT

TecnoballZ 0.92

Tennix! 0.5.0

PEMBUAT Bruno Ethvignot SITUS http://linux.tlk.fr/games/TecnoballZ/ LISENSI GPL HARGA Gratis TINGKAT KESULITAN Medium MULTIPLAYER GAME No DEPEDENSI SDL >= 1.2, SDL-mixer >= 1.2, libmikmod2 >= 3.1.11

PEMBUAT Thomas Perl SITUS http://icculus.org/tennix LISENSI GPL HARGA Gratis TINGKAT KESULITAN Medium MULTIPLAYER GAME No DEPEDENSI SDL >= 1.2, SDL-image >= 1.2, SDL-mixer >= 1.2

T

alah satu cabang olah raga yang cukup ban yak memiliki pengge mar adalah tennis. Di Li nux, terdapat salah satu game yang mengangkat Tennis sebagai tema per mainan, yakni Tennix! Tennix! merupakan ga me berbasis bahasa C yang menggunakan Sim ple DirectMedia Layer (SDL). Selain dapat di mainkan dalam mode single player, game ini juga dapat dimainkan dalam mode two player. Setelah masuk ke da lam permainan, untuk player 1 Anda dapat menggunakan shortkey w untuk bergerak ke atas, s untuk bergerak ke ba wah, dan d untuk meng gerakan raket. Untuk player 2, shortkey yang digunakan adalah o, l, dan k. Untuk bermain dalam modus Full Scree n, Anda dapat menekan tombol f.

ecnoballZ merupakan game breakout, yang terdiri atas 50 level game dan 11 spesial level game. Inti dari game ini adalah menghancurkan semua blok yang terda pat pada setiap level permainan. Untuk menghancur kan semua blok, Anda ha rus dapat memantulkan bola dengan tepat menu ju ke blok yang ingin dihancurkan. Harap ber siaga pula dalam meng gerakan pemantul yang Anda miliki, agar bola tidak sampai melewati garis permainan. Jika semua bola yang Anda miliki keluar dari garis, maka nyawa Anda akan berkurang satu. Secara default, jika Anda menghabiskan 5 nyawa, maka permainan akan berakhir. Saat permainan ber langsung, pada blok yang terkena pantulan bola, se

22

02/2008  INFOLINUX

S

Kebutuhan Hardware Processor : Kelas Pentium III Harddisk : 20 MB Memory : 256 MB

lain bonus uang biasanya juga terdapat bonus lain. Bonus yang diberikan dapat berupa ekstra bola, ekstra senjata, ekstra pe mantul, ataupun ekstra penambahan ukuran bola menjadi lebih besar. Man faatkan dengan baik bonus ini untuk mem percepat kemenangan. Jika bonus yang Anda terima sudah mencukupi, Anda juga dapat berbe lanja senjata maupun bo la tambahan, yang ditawarkan pada setiap akhir level permainan.Sup Hasil Pengujian Grafik (30%) Fitur (40%) Kompabilitas (20%) Dokumentasi (10%)

: 7.0 : 8.0 : 6.5 : 8.0

RATING 0

2

4

6

8

10

7,5

Kebutuhan Hardware Processor : Kelas Pentium III Harddisk : 1 MB Memory : 256 MB

Ada beberapa tip un tuk memenangkan per mainan dalam game ini. Beberapa di antaranya yaitu, gerakan raket An da setelat mungkin untuk mempercepat arah pe ngembalian bola. Laku kan juga servis awal se cepat mungkin ke tempat yang sulit terjangkau oleh lawan. Tip terakhir, jika la wan berada di posisi bawah lapangan, kem balikan bola secepat mungkin ke posisi atas la pangan.Sup Hasil Pengujian Grafik (30%) Fitur (40%) Kompabilitas (20%) Dokumentasi (10%)

: 7.0 : 6.5 : 7.5 : 8.0

RATING 0

2

4

6

8

10

7,0 www.infolinux.web.id

BUKU SYSTEM ADMINISTRATION

SYSTEM ADMINISTRATION

SYSTEM ADMINISTRATION

Linux Firewall

Practical Ruby for System Administration

Pro Apache Tomcat 6

PENGARANG Michael Rash PENERBIT No Starch Press TERBIT September 2007 HARGA US$49.95 (336 halaman) ISBN 1-5932-7141-7 BONUS -

PENGARANG Andre Ben Hamou PENERBIT Apress TERBIT Juni 2007 HARGA $44.99 (239 halaman) ISBN 1-5905-9821-0 BONUS -

PENGARANG Matthew Moodie PENERBIT Apress TERBIT Maret 2007 HARGA US$39.99 (325 halaman) ISBN 1-5905-9785-0 BONUS -

A

uby merupakan bahasa pem rograman berorientasi objek yang mulai banyak digemari.. Ruby juga mulai banyak diguna kan untuk berbagai tugas adminis trasi sistem. Buku berjudul Practical Ruby for System Admi nistration, menjelaskan beragam aspek tentang pemrograman Ruby untuk administrasi sistem. Dalam buku ini, selain pemba hasan artikel, Anda juga akan menemukan contoh kode Ruby yang berkenaan dengan admi nistrasi sistem. Pembahasan awal dimulai dengan pengenalan dasar Ruby sebagai bahasa pemrograman berorientasi objek. Pembahasan berlanjut kepada beragam topik yang berhubungan dengan administrasi sistem, se perti manipulasi dan penyimpanan data, penanganan tugas, dan moni toring jaringan. Untuk topik administrasi sistem kelas enter prise, terdapat topik seperti meng hubungkan Ruby ke LDAP server, koneksi database dan XML, dan monitoring bandwitdh.Sup

R

pache Tomcat dikenal sebagai web server yang banyak di gunakan untuk menjalankan aplikasi Java berbasis web. Buku berjudul Pro Apache Tomcat 6 ter bitan Apress ini menjelaskan ber bagai aspek yang berhubungan dengan Apache Tomcat. Penjelasan dalam buku ini ha nya berkutat pada konfigurasi Apache Tomcat 6. Buku ini berisi banyak petunjuk praktis cara instalasi, termasuk file sistem, database, web server, dan tips meningkatkan performa di Apache Tomcat 6. Pembahasan setiap Bab berki sar mengenai proses instalasi, kon figurasi, authentikasi, security, dan cara terhubung ke web server lain. Setahap demi setahap, Matthew Moodie menjelaskan isi file konfi gurasi Apache Tomcat 6, seperti security, auto-deployment, remote deployment, dan data source. Se lain itu, buku ini juga menjelas kan penggunaan Java atau JSP, dan cara menghubungkannya ke Apache Tomcat 6.Sup

plikasi iptables dapat menjadi aplikasi firewall yang dapat diandalkan. Buku berjudul Linux Firewalls: Attack Detection and Response with iptables, psad, and fwsnort, menjelaskan cara membuat sistem keamanan yang baik secara mendalam. Pembahasan buku ini, banyak berhubungan dengan cara peng gunaan iptables untuk mekanisme keamanan. Selain iptables, buku ini juga membahas cara mengom binasikan iptables dengan paket aplikasi PSAD dan fwsnort. Pada Bab awal, dijelaskan se cara singkat mengenai iptables. Untuk para sistem administrator yang sudah ahli, pada Bab 5-7 dijelaskan teknik menggunakan aplikasi PSAD atau iptables log processor yang berguna untuk membuat kebijakan firewall ber dasarkan log yang dihasilkan oleh firewall. Buku ini juga membahas teknik penggunaan Snort In trusion Detection System dan me nerjemahkan hasilnya ke iptables dengan menggunakan fwsnort.Sup

www.infolinux.web.id

A

INFOLINUX  02/2008

23

SOFTWARE PILIHAN DVD/CD sertaan terdiri dari berbagai macam aplikasi gratis, shareware, maupun demo. Susunan kategori selalu berubah, tergantung pada tren aplikasi yang tengah berlaku. Beberapa kategori selalu ada di tiap edisi.

INDEX ON THE DISC DVD

/Komunikasi

DISC BOOT





Skype 1.4.0

Fedora 8 /Multimedia

[ INTERNET ]

Miro 1.0

/Backup



Subsonic 3.3



Fog 0.08



Whaawmp 0.2.6



Q7z 0.7.0-1 /Networking 

/Browser 

Firefox 3.0b2



Opera 9.25

Banjar 0.7

/Pendidikan 

Tcexam 5.1.001

/Codec 

/Plugins

Video



Flash Player 9

/Development 

JDK 6u3

/Printing 

Glabels 2.2.0

/Download 

ada masa mendatang dunia Internet akan menjadi kebutuhan primer. Kecenderungan mendapatkan hiburan dari Internet semakin besar. Bahkan dengan semakin mudahnya membuat saluran Internet TV, setiap orang dapat membuat layanan Internet TV sendiri dari komputer pribadinya. Miro merupakan aplikasi untuk menonton Internet TV/video dari beragam sumber secara streaming. Hal ini sama mudahnya seperti menonton dari layar televisi terrestrial biasa. Aplikasi ini juga mendukung Bittorrent RSS aggregator dengan video playback yang sudah terintegrasi. Anda mesti menambahkannya terlebih dahulu. Miro merupakan bagian dari platform Democracy Internet TV, yang menyertakan publikasi via news aggregator atau Broadcast Machine, dan dari daftar video

P

24 02/2008  INFOLINUX

bookmark yang terdapat pada situs Videobomb.com. Dalam aplikasi Miro, sudah terdapat sub-directory TV yang memudahkan penggunaan Internet TV bagi para pengguna pemula sekalipun. Aplikasi ini dapat menampilkan channel TV yang dibuat oleh Broadcast Machine, sama baiknya dangan beragam layanan video lain yang terdapat di Internet. Miro juga terintegrasi dengan dua komponen utama dari platform Democracy, yakni Channel Guide untuk mempromosikan channel dan Video Bomb untuk memudahkan end-user mempromosikan kembali suatu video yang dirasanya bagus, kepada pengguna lainnya.Su PEMBUAT: Participatory Culture Foundation SITUS: www.getmiro.com LISENSI: GPL DEPEDENSI: BitTorrent, libXine REQUIREMENT: -

/Rubrik

Azureus 3.0



Games

/Driver



Software



VGA-Card



Tutorial



WLAN



Workshop

/Email

/Sistem





Thunderbird

NX-Client 3.1.0-2

2.0.0.9 /Utiliti /Internet



Gpsdrive 2.10pre4



Mambo 4.6.3



Ndiswrapper 1.51



Miro 1.0



Reconstructor 2.7



Wikyblog 1.5.7.2  : On The DVD Regular  : On The DVD Ekonomis  : Disc Boot

/Keuangan 

Mjrz 1.0.27

DISC RUSAK? Apabila disc yang diterima tidak terbaca atau rusak dan ingin menggantinya, kirimkan disc yang rusak tersebut kepada kami, Tim Disc InfoLINUX, Jl. Kramat IV No. 11, Jakarta 10430. Agar dapat kami kirimkan disc penggantinya.

www.infolinux.web.id

SOFTWARE PILIHAN Reconstructor 2.7 [UTILITI]

[MULTIMEDIA]

Subsonic 3.3

Membuat distro sendiri dan tidak ingin mengalami berbagai macam kesulitan? Coba saja aplikasi Reconstructor gratis yang satu ini. Dengan menggunakan aplikasi ini, Anda dapat dengan mudah membuat distro Live CD berbasiskan Ubuntu Linux. Aplikasi ini menggunakan Ubuntu Linux Live CD sebagai pondasi pembuatan distro Live CD. Lalu, Anda tinggal melakukan remastering. Dengan Reconstructor, para pengguna dapat mengubah tampilan boot screens (usplash), set-

TCExam 5.1.001

ting gnome, serta menambah atau mengurangi paket software, yang terdapat pada Live CD Ubuntu. Setelah semua hal yang diinginkan pada distro ciptaan Anda selesai dilakukan, Anda dapat langsung membuat file iso. Distro Anda siap untuk di sebar-luaskan ke sesama pengguna Linux.Su

Ingin berbagi koleksi musik? Coba gunakan Subsonic. Aplikasi ini merupakan aplikasi media streamer berbasis web, yang menyediakan akses ke koleksi musik yang Anda miliki. Subsonic mendukung konversi secara on-the-fly dan proses streaming dari format audio lain seperti wma, flac, dan ape.Su

PEMBUAT: Reconstructor Team SITUS: http://reconstructor.aperantis.com LISENSI: GPL DEPEDENSI: Python REQUIREMENT: -

PEMBUAT: Sindre Mehus SITUS: http://subsonic.sourceforge.net LISENSI: GPL DEPEDENSI: X Windows REQUIREMENT: -

[PENDIDIKAN]

[SISTEM]

NX Client 3.1.0-2

Selain mendukung project green peace karena bersifat paperless, eexam juga lebih bersifat fleksibel karena dapat dilakukan dari mana saja. Salah satu aplikasi yang dapat Anda gunakan untuk membuat layanan seperti ini adalah TCExam. TCExam merupakan aplikasi berbasis web yang dapat menghasilkan dan memanajemen tes dan ujian secara online. Dengan menggunakan TCExam, Anda dapat membuat sejumlah nomor untuk tes, topik, pertanyaan, dan jawaban. Aplikasi ini

www.infolinux.web.id

juga dapat menghasilkan skor dari setiap tes ataupun ujian yang telah dilakukan oleh peserta tes. Fitur lain, aplikasi ini dapat menghasilkan laporan dalam format XHTML atau PDF, mendukung multiple-answer question dan free-answer question, dan memiliki opsi untuk mengatur lamanya waktu ujian.Su

Jika Anda ingin melakukan remote desktop ke PC lain dalam suatu jaringan, coba gunakan NoMachine NX Client. Aplikasi ini merupakan terminal server yang cepat untuk sistem berbasiskan protocol X11. Saat ini, NX juga dapat ditranslasikan dan di embed ke protocol MS Windows Terminal Server dan VNC menggunakan X/NX.Su

PEMBUAT: Tecnick.com S.r.l. SITUS: www.tecnick.com LISENSI: GPL DEPEDENSI: Apache, PHP, MySQL REQUIREMENT: -

PEMBUAT: NoMachine SITUS: www.nomachine.com LISENSI: GPL DEPEDENSI: X Windows, NX Server REQUIREMENT: -

INFOLINUX  02/2008

25

SOFTWARE PILIHAN [INTERNET]

GpsDrive 2.10pre4 [UTILITI]

WikyBlog 1.5.7.2

PEMBUAT: Josh Schmidt SITUS: www.wikyblog.com LISENSI: GPL DEPEDENSI: Apache, PHP, MySQL REQUIREMENT: -

Salah satu aplikasi GPS yang dapat Anda gunakan secara free adalah GpsDrive. Aplikasi ini dapat menampilkan posisi Anda, dari perangkat GPS yang mendukung NMEA, pada tampilan peta yang dapat di zoom. File peta yang ditampilkan, akan terpilih secara otomatis berdasarkan posisi dan skala yang diinginkan. Peta yang dipilih akan ditampilkan berdasarkan resolusi terbaik, dan dapat di-download melalui Internet. GpsDrive juga dapat dikombinasikan dengan aplikasi

[MULTIMEDIA]

Mambo 4.6.3 [INTERNET]

Pada platform Linux, sudah terdapat sejumlah aplikasi yang dapat digunakan untuk membuat blog. WikyBlog menawarkan kelebihan dari sekedar membuat blog. Selain blog, aplikasi ini juga menggabungkan fungsi Wiky yang menyerupai MediaWiki.Su

festival, untuk menghasilkan output koordinat dalam bentuk suara. Untuk hardwarenya sendiri, GpsDrive dapat digunakan oleh hampir semua perangkat penerima GPS dari Garmin yang mendukung output serial, maupun perangkat penerima GPS merk lain yang sudah mendukung protocol NMEA.Su PEMBUAT: Fritz Ganter SITUS: www.gpsdrive.de LISENSI: GPL DEPEDENSI: GTK+ 2.2 REQUIREMENT: -

Whaawmp 0.2.6

Whaaw! Media Player merupakan audio/video player yang menggunakan framework gstreamer. Aplikasi ini sudah mendukung modus full screen. pencarian, dan merubah setting warna video. Selain itu, aplikasi ini menyerupai aplikasi Totem media player.Su PEMBUAT: Jeff Bailes SITUS: http://home.gna.org/whaawmp LISENSI: GPL DEPEDENSI: GTK+ 2.8, GSstreamer-Python REQUIREMENT: -

26 02/2008  INFOLINUX

Mambo merupakan aplikasi Content Management System (CMS) yang memiliki banyak fitur. CMS yang sudah banyak menerima penghargaan ini, sudah digunakan oleh lebih dari 6 juta website. Apalagi Mambo bersifat open source dan bebas digunakan tanpa perlu membayar. Dengan menggunakan Mambo, seorang user tidak perlu memiliki pengetahuan mengenai HTML ataupun kode pemrograman PHP untuk membuat atau mengelola website yang dimilikinya. Aplikasi ini sudah

menyediakan halaman konfigurasi yang cukup friendly, di mana para penggunanya cukup melakukan point dan klik konfigurasi yang diinginkan untuk website-nya, berikut isi yang akan ditampilkan pada website. Setelah itu, website instant berbasiskan Mambo siap untuk di tampilkan ke Internet.Su PEMBUAT: Mambo Foundation SITUS: http://source.mambo-foundation.org LISENSI: GPL DEPEDENSI: Apache, PHP, MySQL REQUIREMENT: -

www.infolinux.web.id

SOFTWARE PILIHAN Banjar 0.8 [NETWORKING]

[BACKUP]

Q7Z 0.7.0

Pengaturan maupun pembatasan bandwidth, dapat Anda atur dengan menggunakan aplikasi tc dan iptables. Jika dirasa masih sulit karena berbasiskan command line, coba gunakan Banjar. Bandwidth justification for administrator atau yang disingkat Banjar, merupakan aplikasi manajemen banwidth berbasiskan web sebagai front-end untuk tc dan iptables, yang ditujukan untuk kalangan warung Internet maupun small-medium network administrator. Dengan menggunakan Banjar,

para pengguna dapat membuat sekumpulan rule untuk membatasi penggunaan bandwidth ke International bandwith atau IIX bandwidth. Anda juga dapat membuat sekumpulan rule dengan iptables pada aplikasi ini. Menariknya lagi, Banjar merupakan aplikasi buatan dalam negeri!Su

7Zip diklaim memiliki kompresi lebih baik dari format zip. Untuk mempermudah penggunaan 7Zip di Linux, gunakan saja front-end yang bernama Q7Z. Front-end untuk aplikasi 7Zip ini, dibuat berbasiskan QT4, dan PyQT4. Dengan Q7Z, urusan back-up dengan 7Zip menjadi mudah dilakukan.Su

PEMBUAT: Anton Raharja SITUS: http://banjar.sourceforge.net LISENSI: GPL DEPEDENSI: tc, iptables REQUIREMENT: -

PEMBUAT: Chris Giles SITUS: http://k7z.sourceforge.net LISENSI: GPL DEPEDENSI: Qt4, PyQt4, P7Zip REQUIREMENT: -

gLabels 2.2.0 [PRINTING]

[KEUANGAN]

Mjrz R1.0.27

Apakah Anda sering membuat label surat, business card, atau label CD/DVD? Jika ya, aplikasi gLabels dapat menjadi aplikasi yang tepat untuk Anda gunakan. gLabels merupakan aplikasi untuk membuat label dan business card yang dibuat berbasiskan desktop GNOME. Project ini didesain untuk dapat bekerja dengan berbagai macam laser/inkjet peel-off label dan berbagai kertas business card, yang dapat dengan mudah Anda temukan di toko yang menyediakan kebutuhan kantor.

www.infolinux.web.id

Pada pilihan new label dan business card yang disediakan, sudah terdapat puluhan tipe label dan business card yang dapat Anda pilih. Mulai dari label untuk disket, surat, cover CD/DVD, kartu nama, filling label, dan microtube label. Setelah itu, tinggal sesuaikan isinya dengan kebutuhan Anda.Su

Pusing mengatur keuangan pribadi? Coba gunakan Mjrz. Aplikasi personal finance ini dapat Anda gunakan untuk mengelola keuangan. Mjrz di desain untuk pengguna yang tidak familiar dengan prinsip akutansi seperti single atau double entry accounting. Meskipun pada dasarnya aplikasi ini berbasiskan double entry accounting.Su

PEMBUAT: Jim Evins SITUS: http://glabels.sourceforge.net LISENSI: GPL DEPEDENSI: GTK+ 2.2 REQUIREMENT: -

PEMBUAT: Mjrz SITUS: www.mjrz.net LISENSI: The Apache License 2.0 DEPEDENSI: JRE 1.6 REQUIREMENT: -

INFOLINUX  02/2008

27

UTAMA Noprianto

A

kan lebih bagus apabila kita membangun aplikasi yang bisa berjalan

di banyak sistem dengan cara semudah mungkin. Simak pembahasannya.

MEMBANGUN APLIKASI PORTABEL PORTABEL Sebagian besar developer aplikasi, dari sisi teknikal, umumnya mengharapkan aplikasi yang dibangunnya bisa berjalan di banyak sistem sekaligus, dengan perubahan minimal. Masalahnya adalah tidak semua sistem memiliki karakteristik yang sama dan tidak semua aplikasi dikembangkan dengan proses yang sama, dengan tool yang memiliki kemampuan yang sama. Bahkan, untuk aplikasi web saja, kita masih harus menjumpai masalah web browser yang berbeda-beda. Tulisan ini sepenuhnya difokuskan pada pembahasan teknikal. Artinya, kita tidak membahas dari sisi bisnis atau asumsi-asumsi program/ platform default yang digunakan. Tujuannya pembahasan ini adalah membahas berbagai ulasan, tip, dan trik untuk menjadikan aplikasi seportable mungkin. Mari kita bahas lebih lanjut is-

28 02/2008  INFOLINUX

tilah portabel. Yang pertama, kita ingin agar binary program yang kita bangun bisa berjalan pada banyak sistem Linux sekaligus tanpa mengharuskan user menginstal pustakapustaka tambahan. Tentu saja, sistem target setidaknya harus memenuhi syarat dasar, seperti harus memiliki GUI. Seperti kita ketahui bersama, saat ini terdapat ratusan distribusi Linux dengan puluhan di antaranya aktif dan digunakan oleh cukup banyak pihak. Dari puluhan distro tersebut, versi pustaka yang digunakan bisa sangat berbeda. Ketersediaan pustaka juga menjadi masalah lain yang harus dihadapi. Idealnya, kita ingin aplikasi kita bisa di-copy-kan begitu saja dan jalan. Kalau perlu, bisa langsung dijalankan dari USB flash disk. Bagaimana dengan ide agar user bisa melakukan kompilasi sendiri? Seperti yang ditemukan pada dunia

open source saat ini? Kita, tentu saja tidak menentang ide tersebut. Inilah yang kita miliki di dunia open source. Yang kita lakukan adalah, kita ingin agar program kita semudah mungkin dijalankan oleh user, yang mungkin tidak peduli dengan urusan kompilasi. Yang kedua, kita ingin agar program yang kita bangun bisa dibangun ulang dan dijalankan pada sistem operasi lain dengan perubahan minimal pada kode. Tentu saja, program yang dimaksud adalah program yang tidak berhubungan secara low level dengan sistem secara sangat spesifik. Katakanlah, kita membangun program GUI untuk entri data. Bukan program untuk bekerja dengan proses di Linux. Apabila memungkinkan, kita ingin mendukung sebanyak mungkin sistem operasi, seperti Windows, Mac OS X, dan LINUX/UNIX clone lain.

www.infolinux.web.id

UTAMA interpreter-nya. Sebagai contoh, seorang developer bisa memilih bahasa C dan compiler GCC. Atau, seorang developer bisa memilih bahasa Pascal dan memilih Free Pascal Compiler sebagai compilernya. Atau, seseorang bisa memilih Python dengan interpreter dari python.org. Atau, memilih PHP, dengan implementasi dari php.net. Ketika kita menjatuhkan pilihan, maka kita akan menerima sejumlah konsekuensi, seperti:  Karakteristik compiler/interpreter.  Karakteristik bahasa pemrograman.  Pustaka standar yang digunakan.  Ketersediaan pustaka tambahan.  Dan lain sebagainya.

Di tulisan ini, kita lebih menyoroti pembahasan untuk program lokal (text-based dan GUI) dan tidak akan membahas program berbasis web. Pembahasan akan mencakup sisi teknikal seperti bahasa pemrograman dan pustaka standar sampai budaya seorang developer. Isu-isu lain seperti masalah distribusi program juga akan dibahas. Semua ini kami persembahkan untuk developer agar dapat menghadirkan program yang dapat berjalan di banyak sistem. Juga untuk semua pihak yang terlibat agar suatu saat kita tidak harus terikat pada sistem tertentu. Selamat membaca!

Sebagai contoh, ketika kita memilih menggunakan bahasa C, kita mungkin akan berhadapan dengan beberapa konsekuensi berikut:  Tersedia banyak compiler. Asumsikan kita menggunakan GCC. GCC memiliki sejumlah fitur yang mungkin tidak dimiliki oleh compiler lain. Atau, GCC mungkin tidak memiliki fitur yang dimiliki compiler lain.  Tersedia banyak pustaka tambahan yang siap pakai.  Bahasa C relatif lebih susah namun lebih compact dan fleksibel.

Atau, ketika kita memilih menggunakan Python, maka kita mungkin akan berhadapan dengan:  Tersedia cukup banyak pustaka standar, namun tidak selengkap yang tersedia ketika kita menggunakan C.  Bahasa python relatif lebih mudah, namun pada saat runtime, kita harus membutuhkan interpreter python (asumsikan kita tidak menggunakan tool semacam standalone excutable freezer). Di dalam pembahasan ini, berbagai konsekuensi seperti waktu pengembangan dan biaya lain pengembangan software akan kita abaikan. Mari kita fokuskan pada compiler/interpreter, pustaka standar dan linking. Contoh bahasa pemrograman yang akan dibahas adalah:  C (compiler GCC).  Python (python.org). Contoh program yang akan dibangun adalah sebuah program helloworld yang berjalan pada modus teks. Program helloworld akan mencetak sebaris Hello World ke standard output.

Bahasa C Berikut ini adalah source code hello. c:

BAHASA PEMROGRAMAN DAN PUSTAKA STANDAR Ketika seorang developer ingin membangun program, maka developer tersebut akan memilih bahasa pemrograman dan kemudian compiler/

www.infolinux.web.id

Situs web GCC.

INFOLINUX  02/2008

29

UTAMA

Situs web Python.

Situs web FreePascal.

kan dengan perintah berikut:

#include

$ gcc -static -o hello hello.c

print ‘Hello World’

Strip yang tidak diperlukan:

$ chmod +x hello.py

Berikanlah hak akses executable:

int main(int agrc, char *argv[]) { fprintf (stdout, “Hello World\n”); $ objcopy --strip-unneeded hello

Beberapa informasi tentang binary yang dihasilkan:  Ukuran binary (bisa berbeda di sistem Anda).

return 0; };

Linking dinamis Kompilasi dan linking bisa dilakukan dengan perintah berikut: $ gcc -o hello hello.c

$ ls -al hello -rwxr-xr-x 1 nop users 500228 2007-12-16 16:10 hello*

Beberapa informasi tentang binary yang dihasilkan:  Ukuran binary (bisa berbeda di sistem Anda). $ ls -al hello

Ukuran yang dihasilkan jauh lebih besar (78 kali lipat lebih besar), namun kita tidak membutuhkan pustaka C: $ ldd hello

-rwxr-xr-x 1 nop users 6402 2007-

not a dynamic executable

12-16 16:04 hello*

 Kebutuhan pustaka. $ ldd hello linux-gate.so.1 =>

(0xffffe000)

libc.so.6 => /lib/libc.so.6 (0xb7e14000) /lib/ld-linux.so.2 (0xb7f69000)

Bisa kita lihat, program kita membutuhkan GNU Libc yang juga dibutuhkan oleh program lain Ketika mendistribusikan program hello, kita tidak perlu memikirkan tentang pustaka-pustaka sistem lain yang harus tersedia, namun, kita harus memikirkan versi pustaka GNU Libc.

Linking statis Kompilasi dan linking bisa dilaku-

30 02/2008  INFOLINUX

Mudah dan cepat. Karena kita hanya menggunakan pustaka standar, maka selama Python berjalan di sistem target, distribusi akan mudah sekali dilakukan. Walau demikian, pastikan Anda menyadari bahwa:  Tidak semua sistem terinstall Python.  Walaupun terinstal Python, Anda mungkin membutuhkan python versi tertentu, tergantung pada fitur yang digunakan.

Dengan demikian, kita bisa mengcopy-kan program hello kita ke berbagai sistem Linux saat ini. Hanya, perhatikanlah bahwa proses linking statis tidaklah semudah yang dibayangkan, terutama kalau program yang kita bangun sudah cukup besar dan membutuhkan sejumlah besar pustaka. Permasalahan ini belum selesai ketika kita harus memikirkan tentang versi pustaka/ proses upgrade. Selain itu, ruang kosong yang diperlukan mungkin akan bertambah ketika semua dilink secara statis.

Bahasa Python Berikut ini adalah source code hello. py: #!/usr/bin/python

Oleh karena itu, beberapa pihak menyiasati permasalahan tersebut dengan “membekukan” script sehingga dapat berjalan secara standalone. Beberapa proyek yang bisa dipergunakan:  Freeze, yang datang bersama Python. Freeze memaketkan interpreter python dan porsi besar runtime python bersama script Anda. Cara singkat melakukan freeze:  Jalankan python . bisa ditemukan umumnya di sitepackages/freeze/freeze.py relatif terhadap direktori python Anda.  Lakukan kompilasi dengan menjalankan make.  Contoh informasi program yang dihasilkan: $ ls -al hello-rwxr-xr-x 1 nop

www.infolinux.web.id

UTAMA

Situs web GTK+. users 3073343 2007-12-16 16:33 hello*

$ ldd hello linux-gate.so.1 => (0xffffe000) libpthread.so.0 => /lib/ libpthread.so.0 (0xb7f93000) libdl.so.2 => /lib/libdl.so.2 (0xb7f8f000) libutil.so.1 => /lib/libutil.

Situs web Qt.

(bahkan di arsitektur komputer yang sama) dan biaya pengembangan. InfoLINUX sudah pernah membahas assembly di Linux. Dan, pembahasan ini selalu menarik. Bandingkan ukuran executable yang di link secara statik dari C dan yang di-assemble dengan nasm. Berikut ini adalah source code hello.asm:

libc.so.6 => /lib/libc.so.6

/lib/ld-linux.so.2 (0xb7fbd000)

 Bisa kita lihat, ukuran hasil

link dinamis adalah sekitar 3 MB. Ini berarti 480 kali lipat dibandingkan program sejenis yang dibangun dengan C. Dan kebutuhan pustaknya pun lebih besar.  cx_freeze (http://python.net/crew/ atuining/cx_Freeze/).  bbfreeze (http://pypi.python.org/ pypi/bbfreeze).

_start: mov eax, 4 mov ebx, 1 mov ecx, msg mov edx, len int 80h

mov eax, 1 mov ebx, 0 int 80h

section .data

msg: db ‘Hello World!’, 10

Pendekatan ekstrim Jadi, Anda merasa C masih terlalu besar dengan binary statis 500 KB? Anda ingin maksimal 1 KB saja dan ini harus statis? Maka, Anda bisa menggunakan assembler. Ini adalah pendekatan super ekstrim yang umumnya tidak akan digunakan di dunia nyata. Pengorbanannya terlalu besar apabila dibandingkan dengan portabilitas

www.infolinux.web.id

16 16:48 hello*

$ ldd hello not a dynamic executable

Binary statis yang dihasilkan hanya 440 byte. Ini berarti 1136 kali lebih kecil daripada yang dibangun dengan C.

PUSTAKA TAMBAHAN global _start

(0xb7f64000)

(0xb7e21000)

-rwxr-xr-x 1 nop users 440 2007-12-

section .text

so.1 (0xb7f8b000) libm.so.6 => /lib/libm.so.6

$ ls -al hello

len: equ $ - msg

Lakukanlah proses dengan perintah:

assembling

nasm -f elf hello.asm

Dan, lakukanlah proses linking dengan perintah: $ ld -s -o hello hello.o

Kemudian, perhatikanlah ukuran executable:

Adalah hampir tidak mungkin kalau Anda hanya menggunakan pustaka standar C. Bahkan, dengan python yang sudah begitu kaya pustaka, Anda mungkin masih membutuhkan pustaka lain. Contoh yang paling nyata adalah ketika Anda ingin bekerja dengan GUI atau ingin memroses gambar dengan format tertentu. Seperti kita ketahui bersama, terdapat ratusan sampai ribuan pustaka yang ada di dunia free/open source. Jumlah ini bisa terus bertambah. Dan pastinya, tidak semua distribusi Linux memaketkan pustaka-pustaka tersebut. Akhirnya, ketika program ingin didistribusikan, berbagai permasalahan soal ketergantungan pustaka pun akan muncul. Bukan yang kita inginkan, bukan? Bicara soal penggunaan pustaka tambahan, hal tersebut rasanya wajar saja. Apalagi kalau tersedia bebas dan bisa digunakan dengan mudah. Kalau bisa dipakai, kenapa tidak pakai saja? Sayangnya, kalau kita tidak memiliki batasan yang jelas tentang

INFOLINUX  02/2008

31

UTAMA

Situs web Fltk.

penggunaan pustaka. Beberapa hal berikut ini mungkin akan terjadi:  Proses kompilasi source code yang kita distribusikan akan menjadi sangat merepotkan karena berbagai pustaka nonstandar yang dibutuhkan. Apalagi kalau kita mengharuskan penggunaan fungsi terbaru, sementara sistem target telah memiliki versi lebih lama. Ketika pustaka versi baru ingin diinstal, pustaka tersebut membutuhkan lagi versi baru pustaka lain yang telah terinstal. Merepotkan sekali, bukan?  User yang ingin menjalankan script kita yang dibangun dengan python akan sangat kerepotan karena script kita membutuhkan wrapper ke salah satu pustaka GUI. Pustaka GUI tersebut membutuhkan pustaka lain. Pustaka lain tersebut membutuhkan pustaka lainnya. Repot sekali, bukan? Dan, ingatlah bahwa kita tetap berjalan pada koridor di mana kita ingin menjadikan program kita semudah mungkin dijalankan oleh user. Bukan sematamata menerbitkan sejumlah dependency list dan meminta user membangun sendiri. Dalam menggunakan pustaka tambahan, beberapa pendekatan berikut ini mungkin bisa digunakan:  Pilihlah pustaka yang bisa berjalan pada berbagai sistem/platform. Kita tidak ingin dikunci pada satu sistem/platform terten-

32 02/2008  INFOLINUX

Situs web Fox-toolkit.

tu hanya karena pustaka tersebut bukan? Pengorbanannya tidaklah sebanding.  Untuk pustaka GUI, pastikan pustaka tersebut tersedia luas di distribusi Linux yang datang dengan GUI. Pastikan pustaka tersebut memiliki kompatibilitas ABI yang besar dengan versi-versi lain. Apabila Anda harus menggunakan pustaka GUI yang tidak umum, lakukanlah link secara statis. Beberapa pustaka GUI seperti fltk dan fox toolkit bisa di-link statis dengan relatif mudah. Contoh pustaka GUI yang umum ditemukan adalah GTK+ dan Qt. Untuk binding bahasa pemrograman lain, sebagai contoh, pengguna Python bisa mempergunakan PyGTK atau PyQt. Pengguna PHP, apabila ingin membangun aplikasi desktop GUI standalone, bisa mempergunakan PHP-GTK. Walau demikian, tidak semuanya tersedia luas. Sebagai contoh GTK+ mungkin tersedia, tapi PyGTK mungkin tidak.  Pastikan Anda tidak menggunakan pustaka untuk tugas-tugas trivial yang bisa dikerjakan sendiri. Akan terlihat konyol apabila Anda membutuhkan pustaka libprima—sebagai contoh—untuk bekerja dengan bilangan prima (dan kemudian membutuhkan pustaka tersebut pada saat runtime).  Kebalikan dari sebelumnya, Anda selalu bisa menggunakan pustaka yang tersedia kalau memang berada di luar skop aplikasi Anda.

Jangan lakukan pendekatan ekstrim dengan bekerja langsung dengan Xlib ketika Anda membutuhkan GUI. Gunakan saja GTK+ atau Qt. Atau, jangan buat sendiri fungsi untuk bekerja dengan file PNG kalau Anda bisa menggunakan libpng.  Gunakanlah pustaka yang lebih umum. Semakin umum suatu pustaka, semakin besar peluang binary aplikasi kita dijalankan di berbagai sistem.  Apabila Anda menggunakan pustaka yang berkembang secara cepat, apabila memungkinkan, gunakanlah versi yang lebih stabil dari pada versi baru/testing yang mungkin segudang pustaka versi baru lain. Sekali lagi, penulis pribadi mencoba untuk tidak mengambil pendekatan ekstrim: pakai semua modul yang ada atau bangun sendiri semuanya. Fokus kita tetap harus pada fungsionalitas utama program.

KARAKTERISTIK SISTEM/ PLATFORM TARGET Merupakan tindakan yang kurang bijaksana apabila kita selalu memiliki asumsi sistem target dan bekerja menurut asumsi tersebut. Sebagai contoh, untuk kita selalu mengasumsikan bahwa akan ada file tertentu di file sistem, atau selalu mengasumsikan bahwa path separator adalah /. Setiap sistem memiliki karakteristik sendiri yang mungkin berbeda

www.infolinux.web.id

UTAMA

Situs web bbfreeze.

jauh dengan sistem lain. Antara sistem Linux satu dan sistem Linux lain saja sudah cukup beraneka ragam. Bahkan, versi terbaru suatu distro saja berbeda dengan versi sebelumnya (dan perubahan ini terkadang terjadi dengan sangat cepat). Apalagi kalau dibandingkan dengan sistem operasi lain, yang bisa berbeda begitu jauh. Seperti disebutkan sebelumnya, salah satu contoh yang paling sering terjadi adalah masalah file sistem. Terkadang, suatu program menghardcode path separator dengan karakter /. Padahal, Windows menggunakan \. Contoh lain adalah ketika program mencoba untuk menjalankan program tertentu dan meng-hardcode path-nya. Misal, program mencoba menjalankan /usr/bin/md5sum. Padahal, katakanlah, ada sistem yang menggunakan /bin/md5sum. Contoh lain yang lebih berat adalah ketika suatu program akhirnya menggunakan fitur yang tidak dimiliki oleh sistem operasi lain. Sebagai contoh, suatu program membuat beberapa anak proses dengan system call fork(), yang tidak ditemukan di Windows. Bekerja lintas sistem/platform adalah sesuatu yang tidak mudah. Namun, kita selalu bisa berjaga-jaga dengan beberapa pendekatan berikut:  Mengulang pembahasan sebelumnya, gunakanlah pustaka yang multiplatform. Akan lebih baik lagi kalau pustaka tersebut sangat memperhatikan fitur sistem target sehingga fitur yang tidak tersedia

www.infolinux.web.id

Situs web cx_freeze.

mungkin bisa diemulasikan.  Percayakan kepada pustaka untuk hal-hal yang bersifat lintas platform seperti path separator. Jangan meng-hardcode sesuatu yang mungkin berbeda dengan sistem lain.  Apabila Anda membangun aplikasi untuk end user, pastikan Anda tidak menggunakan fitur yang terlalu spesifik ke satu sistem.  Jangan gunakan fitur tertentu apabila memang tidak perlu. Kalau tidak perlu menggunakan multithreading, maka jangan gunakan.  Apabila kita tidak yakin dengan fungsionalitas tertentu, selalulah lakukan pemeriksaan sebelum menggunakan kode tertentu. Pemeriksaan bisa dilakukan pada

saat kompilasi ataupun runtime.  Usahakan untuk mendapatkan informasi dari lingkungan kerja sistem, apabila bisa dipercaya dan memungkinkan.  Beberapa pustaka, bahasa pemrograman, atau developer menggunakan prinsip hanya akan menggunakan fitur tertentu yang tersedia pada semua sistem/platform target. Contoh: apabila satu di antara sistem target tidak memiliki fungsionalitas tray icon untuk desktop, maka tray icon tidak digunakan. Prinsip ini bisa kita ikuti atau tidak karena memiliki plus/minus masing-masing. Fitur yang terdapat pada semua sistem umumnya merupakan fitur standar.

Situs web nasm.

INFOLINUX  02/2008

33

UTAMA

Situs web InstallJammer.

Bekerja lintas platform memang sesuatu yang tidak mudah karena setiap sistem bisa berbeda-beda. Namun, ini bukanlah sesuatu yang mustahil. Banyak interpreter bisa bekerja multiplatform. Banyak pustaka yang juga berjalan multiplatform. Mereka yang lebih rumit bisa, maka tentunya kita pun berpeluang bisa.

SISI DEVELOPER: BUDAYA DAN KETERGANTUNGAN Developer-lah yang memilih bahasa pemrograman yang akan digunakan. Juga developer-lah yang membangun program. Jangan lupa bahwa masing-masing developer memiliki budaya lain dan mungkin akan ada ketergantungan tertentu. Hal tersebut sangat menusiawi dan dalam beberapa hal memang tidak bisa disalahkan begitu saja. Sebagai contoh, dalam membangun GUI, developer umumnya menginginkan adanya GUI builder/designer yang sangat mudah digunakan. Merancang GUI kemudian bisa dilakukan dengan cepat dan mudah. Dan, siapa yang bisa menyalahkan hal tersebut? Siapa yang mau menghabiskan waktu sampai dua hari hanya untuk merancang sebuah form utama dan beberapa form anak? Contoh lainnya adalah, kita mungkin lebih suka untuk menggunakan bahasa pemrograman yang mudah digunakan. Apalagi kalau memiliki fitur yang lebih kurang sama. Kalau bisa memilih, kita mungkin akan memilih Python daripada C.

34 02/2008  INFOLINUX

Situs web PHP.

Jangan sepelekan juga ketergantungan akan tool pendukung, seperti IDE dan front end untuk debugger. Oleh karena itu, terkadang tidak bisa disalahkan juga apabila seorang developer condong kepada produk tertentu. Namun, hal ini bisa menjadi masalah kalau produk tersebut tidak tersedia dengan fitur dan fungsionalitas yang sama untuk setiap platform. Demi portabilitas, terkadang memang ada trade off yang harus dilakukan. Misal, untuk menggunakan tool yang mudah, kita harus membayar ribuan USD. Atau, tool yang mudah hanya berjalan pada satu atau dua platform mayor. Atau, tool yang mudah “memaksa” Anda menggunakan pustaka-pustaka tertentu.

Berikut ini adalah beberapa pendekatan yang mungkin bisa dilakukan sehubungan dengan budaya developer:  Jangan pernah tergantung pada tool tertentu, di luar skop pengembangan program. Kita harus bisa bertahan hidup tanpa GUI designer. Kita juga harus bisa bertahan hidup tanpa IDE yang super canggih. Membangun program adalah menulis kode dengan teks editor dan melakukan kompilasi/linking dengan program bersangkutan. Walau demikian, ini bukanlah latihan perang. Jadi, kalau memang ada tool yang bisa dipergunakan untuk hasil terbaik, gunakanlah. Hanya, jangan tergantung.  Tidak ada pilihan sempurna un-

Situs web PyGTK.

www.infolinux.web.id

UTAMA

Situs web PyQt.









tuk semua tugas, dalam konteks pengembangan program. Susah sekali menemukan satu bahasa/ compiler/interpreter yang bisa melakukan segalanya dengan efisien dan mudah. Anda mencari pustaka yang paling top, datang dengan semua fitur namun bisa digunakan dengan super mudah? Rasanya susah sekali. Ketahui batasan tugas, pilih tool yang benar. Akan lebih membantu apabila kita bisa menggunakan lebih dari satu bahasa pemrograman dan beberapa pustaka. Buat penelitian yang cukup sebelum memutuskan. Jangan berpindah setiap saat hanya karena kita salah memilih atau terburu-buru. Keputusan yang cepat memang diperlukan. Tapi, ini bukan soal hidup mati di medan perang. Bangunlah fungsionalitas yang belum disediakan di waktu luang Anda. Percayalah, ini akan membantu. Dalam hitungan hari atau minggu mungkin belum terlalu terasa. Ini akan terasa setelah Anda bekerja selama bertahun-tahun, melewati masa-masa sulit. Teruslah belajar dan kerja keras. Hasilnya mungkin tidak akan instan. Tapi, kernel Linux juga tidak bisa melakukan banyak hal ketika berumur satu tahun. GNOME dan KDE tidak dibangun dalam waktu satu tahun. Jangan terapkan budaya instan di dalam pemrograman.

www.infolinux.web.id

Situs web PHP-GTK.

DILEMA: SI KURUS ATAU SI GENDUT Pernahkah Anda menjumpai program portabel yang datang dengan file-file pendukung sampai berukuran 20 MB? Ketika diperiksa, rupanya program tersebut datang dengan juga interpreter bahasa Python. Hal tersebut memang dilematis. Dalam kasus tersebut. Percaya ke interpreter python yang ada di sistem target atau bawa sendiri? Percaya berarti harus menghadapi kemungkinan interpreter python tidak terinstall di sistem target atau versinya terlalu kuno atau modern. Tidak percaya berarti harus menambahkan puluhan MB ke dalam distribusi. Si Kurus, yang dalam hal ini adalah program yang mempercayakan semua pendukung ke sistem target, memiliki plus dan minus sendiri. Begitu juga dengan Si Gendut, yang memiliki semuanya sendiri. Apa yang perlu kita lakukan? Pendekatan berikut bisa dilakukan:  Apabila Anda memang membutuhkan secara spesifik tool versi tertentu, maka sertakanlah tool tersebut. Kalau memang Anda tidak membutuhkan secara spesifik versi tertentu, Anda selalu bisa mempercayakan ke sistem target apabila tool tersebut umum ditemukan. Konteks pembahasan kita adalah aplikasi portabel.  Ada beberapa contoh kasus di mana beberapa tool disertakan untuk berjaga-jaga, namun ketika sistem target memenuhi per-

syaratan, kita bisa menggunakan apa yang disediakan sistem target.  Si Gendut, dalam hal ini berpeluang menambahkan redundansi file/pustaka. Ini adalah trade off. Kita selalu harus bisa menentukan yang mana yang lebih penting.

ISU PADA PACKAGING Ini bukan isu utama mengingat kita sangat menginginkan aplikasi kita bisa berjalan langsung dari USB flash disk. Tapi, bagaimana kalau kemudian user ingin menginstalnya agar bisa diakses secara permanen dari harddisk? Packaging tetap disarankan untuk menggunakan package management sistem target. Packager tool seperti InstallJammer hanya digunakan apabila program kita tidak berhubungan dengan sistem secara langsung dan package management sistem target tidak bisa digunakan. Hanya, perhatikanlah pembahasan-pembahasan sebelumnya juga agar aplikasi kita tetap bisa diinstal pada berbagai sistem target tanpa harus membutuhkan dependency. Packaging juga tetap disarankan untuk menuliskan daftar dependency secara benar alih-alih menggunakan prinsip Si Gendut, apabila memungkinkan. Membangun aplikasi portabel memang bukan hal yang mudah di Linux. Berbeda dengan di Windows. Tapi, ini bukanlah masalah yang tidak terpecahkan. Selama kita mau berusaha, pasti akan ada jalan. Selamat mencoba! INFOLINUX  02/2008

35

SOLUSI

Memperbaiki Grub yang Hilang

S

aat menginstalasi distro lain atau menjalankan perintah fixmbr

untuk me-recover mbr Windows XP, mungkin grub yang telah terinstal pada mbr akan hilang. Bagaimana cara memperbaiki kembali grub yang hilang ini? Untuk menangani hal ini, gunakan langkah berikut: 1. Siapkan LiveCD distro untuk dapat masuk ke terminal. Dalam contoh ini, InfoLINUX menggunakan System Rescue CD. 2. Dari terminal System Rescue CD, ketikan perintah grub untuk masuk ke konsole grub.

Gunakan System Rescue CD atau Live-CD lain untuk memperbaiki kembali menu Grub yang hilang.

distro Linux yang terdapat pada partisi /dev/hda6 atau (hd0,6). 5. Berikutnya, beritahu kepada grub letak file stage1 yang telah terdeteksi dan ingin digunakan. grub> root (hd0,6)

6. Lanjutkan dengan menginstalasi grub ke mbr, lalu keluar dari menu grub.

% grub

grub> setup (hd0)

grub>

grub> quit

3. Setelah masuk ke menu utama grub, ketikkan perintah berikut untuk mendapatkan informasi file stage1 yang terdapat pada komputer Anda. Grub membutuhkan file stage1 untuk men-setup grub. grub> find /boot/grub/stage1 (hd0,4) (hd0,5)

Catatan: Perintah setup (hd0), dapat Anda ganti dengan menggunakan perintah setup (hdX,Y), dimana X adalah harddisk, dan Y adalah partisi harddisk yang ingin menggunakan grub. 7. Pada kasus lain, mungkin Anda mendapatkan pesan ini saat akan menginstalasi grub yang hilang.

(hd0,6)

grub> find /boot/grub/stage1

(hd0,7)

Error 15: File not found

4. Dalam contoh di atas, terdeteksi empat file stage1 yang terdapat pada empat distro Linux yang terdapat di sistem. Grub yang dihidupkan kembali adalah grub

36 02/2008  INFOLINUX

grub> setup (hd0, 6) Error 11: Unrecognized device string

8. Untuk mengatasi hal ini, Anda dapat memount proc subsystem

dan udev di dalam partisi Linux yang ingin Anda perbaiki grubnya. Dalam kasus ini, kita masih menggunakan partisi distro Ubuntu 7.04 yang terdapat di /dev/hda7. Mount terlebih dahulu partisi /dev/hda7 ke suatu direktori, misal /mnt/root. % mount -t ext3 /dev/hda7 /mnt/ root

10. Berikutnya, mount proc subsystem dan udev didalam /mnt/root. % mount -t proc none /mnt/root/ proc % mount -o bind /dev /mnt/root/ dev

11. Pindah ke sistem Linux yang telah di-mount ke partisi /mnt/root dengan menggunakan perintah chroot. % chroot /mnt/root /bin/bash

12. Setelah masuk ke lingkungan sistem Linux tersebut, Anda dapat menggunakan langkah 3 sampai 7 untuk menginstalasi grub ke dalam sistem. Supriyanto [[email protected]]

www.infolinux.web.id

IKLAN

PRAKTIK INSTAN

Remote Desktop VNC Secara Multiuser Jika pembahasan yang lalu kita hanya membahas remote desktop VNC dengan satu user saja, kali ini kita menggunakan lebih! Pada pembahasan dua edisi lalu, remote desktop VNC pada Linux kita lakukan dengan memanfaatkan GNO ME remote desktop (Vino). Kali ini, kita akan mengguna kan remote desktop VNC server, sehingga remote desktop bisa dilakukan secara multi-user.

Persiapan instalasi VNC Sebelumnya, pastikan apakah paket VNC sudah terinsta lasi pada sistem Fedora 8 Anda. Untuk memastikan hal ini bisa menggunakan perintah (lihat Gambar 1): # rpm -qa | grep vnc

vnc-server-4.1.2-23.fc8 gtk-vnc-0.2.0-4.fc8 ...

Jika perintah tersebut menghasilkan keluaran seperti di atas, maka paket VNC sudah terinstalasi pada sistem Fedora 8 Anda. Namun, jika tampilan keluarannya seper ti ini (lihat Gambar 2): # rpm -qa | grep vnc #

Berarti paket VNC belum terinstalasi. Lakukan insta lasi dengan memasukkan DVD instalasi Fedora 8, kemu

Panduan Gambar 1

Memeriksa instalasi paket-paket VNC.

2

3 8 02/2008  INFOLINUX

Menu untuk menjalankan program Terminal.

Tampilan jika paket-paket VNC belum terinstalasi.

5

4

Masuk ke direktori dalam DVD instalasi Fedora 8.

3

Instalasi paket-paket VNC dari DVD instalasi Fedora 8.

6

Link menu Firewall pada Fedora.

www.infolinux.web.id

PRAKTIK INSTAN dian buka program Terminal (lihat gambar 3). Setelah program Terminal sudah terbuka, pindahlah ke direktori dalam DVD instalasi Fedora 8 dengan (lihat Gambar 4): # cd /media/Fedora\ 8\ i386\ DVD/Packages/ #

Kemudian lakukan instalasi paket-paket VNC de ngan (lihat gambar 5): # rpm -ivh vnc-server-4.1.2-23.fc8.i386.rpm gtk-vnc0.2.0-4.fc8.i386.rpm gtk-vnc-python-0.2.04.fc8.i386.rpm vnc-libs-4.1.2-23.fc8.i386.rpm vnc-4.1.223.fc8.i386.rpm virt-viewer-0.0.2-2.fc8.i386.rpm virtmanager-0.5.2-2.fc8.i386.rpm python-virtinst-0.300.13.fc8.noarch.rpm ...

Proses instalasi VNC sudah selesai.

Konfigurasi Firewall VNC Namun, agar desktop Linux Anda dapat di-remote mela lui jaringan, pastikan port-port yang digunakan VNC da lam keadaan bebas alias terbuka. Dan juga tentukan jumlah user yang diperbolehkan melakukan remote des ktop ke server VNC Anda. Jika Anda berencana membe rikan akses kepada 3 user, maka port-port yang harus dibuka, yaitu port-port 5801-5803 dan port-port 59015903. Jika Anda berencana memberikan akses kepada 4 user, berarti port-port yang harus dibuka, yaitu portport 5801-5804 dan port-port 5901-5904.

Untuk membuka port-port tersebut, lakukan langkahlangkah: 1. Buka menu 'System' > 'Administration' > 'Firewall' (lihat Gambar 6). Masukkan password “root” jika di minta (lihat Gambar 7). 2. Setelah jendela 'Firewall Configuration' muncul (li hat Gambar 8), pilih opsi 'Other Ports' pada kolom se belah kiri (lihat Gambar 9). Klik tombol '+ Add'. 3. Pada jendela 'Add Port' (lihat gambar 10), klik opsi 'User Defined', kemudian pada kolom 'Port / Port Range' ketik “5801-5803” jika Anda memberikan ak ses remote desktop VNC untuk 3 user (lihat gambar 11). Kemudian, jendela 'Firewall Configuration' akan terlihat seperti gambar 12. Ulangi langkah yang sama untuk port-port 5901-5903 (lihat gambar 13). Tera khir, tampilan jendela 'Firewall Configuration' akan terlihat seperti Gambar 14. 4. Setelah port-port tersebut ditambahkan, pada tampil an jendela 'Firewall Configuration', klik tombol 'App ly' untuk mengaktifkan konfigurasi yang baru saja dilakukan. Pada tampilan peringatan seperti pada Gambar 15, klik tombol 'Yes' untuk menyetujui. 5. Tutup jendela 'Firewall Configuration' untuk menga khiri.

Konfigurasi VNC Setiap User

IKLAN

7

Jendela meminta password root.

www.infolinux.web.id

9

8

Jendela Firewall Configuration.

Tampilan tabulasi Other Ports pada Firewall Configuration.

11

10

Tampilan jendela Add Port.

Setelah port-port yang akan digunakan VNC sudah dibu ka, sekarang setiap user yang ingin dapat memperoleh

Menambahkan port-port 5801-5803.

12

Tampilan setelah port-port VNC ditambahkan.

INFOLINUX  02/2008

39

PRAKTIK INSTAN akses melakukan remote desktop VNC, harus melakukan inisiasi awal VNC. Adapun langkah-langkah inisiasi awal ini yaitu: 1. Buat file-file konfigurasi VNC client dengan menja lankan perintah (lihat Gambar 16):

yang berisi seperti di bawah ini (lihat Gambar 21): #!/bin/sh # Uncomment the following two lines for normal desktop: # unset SESSION_MANAGER # exec /etc/X11/xinit/xinitrc

$ vncserver :1

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup

You will require a password to access your desktops.

[ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources

Password:

xsetroot -solid grey

Verify:

vncconfig -iconic &

Masukkan password yang akan digunakan untuk mengakses remote desktop VNC (lihat Gambar 17). Sete lah berhasil akan memperlihatkan hasil seperti di ba wah ini (lihat Gambar 18). New 'kdesktop.gadingmediterania.apt:1 (wiryadi)' desk top is kdesktop.gadingmediterania.apt:1 Creating default startup script /home/wiryadi/.vnc/xs tartup

xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Des ktop" & twm &

Ubah baris terakhir yang berisi “twm &” dengan: unset SESSION_MANAGER gnome-session &

Sehingga file .vnc/xstartup menjadi seperti di bawah ini (lihat Gambar 22):

...

#!/bin/sh

Setelah berhasil, untuk mengakhiri lakukan perintah:

# Uncomment the following two lines for normal desktop:

$ vncserver -kill :1

# unset SESSION_MANAGER

Killing Xvnc process ID 3721

# exec /etc/X11/xinit/xinitrc

2. Ubah konfigurasi desktop yang diinginkan, karena VNC secara default hanya memberikan tampilan des ktop standar (lihat gambar 20). Tampilan dapat di ganti dengan tampilan desktop GNOME yang memberikan penampilan lebih baik dengan. Pertama, pada direktori home Anda, buka file .vnc/xstartup

[ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & xterm -geometry 80x24+10+10 -ls -title "$VNCDESKTOP Des ktop" &

Panduan Gambar 14

13

Menambahkan port-port 5901-5903.

4 0 02/2008  INFOLINUX

Pesan untuk menyetujui perubahan pada konfigurasi Firewall.

Tampilan akhir setelah port-port VNC ditambahkan.

17

16

Menjalankan perintah vncserver.

15

Memasukkan password untuk mengakses VNC.

18

Tampilan setelah konfigurasi VNC untuk user selesai.

www.infolinux.web.id

PRAKTIK INSTAN unset SESSION_MANAGER

VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp -noht

gnome-session &

tpd -localhost"

Demikian langkah-langkah inisiasi awal VNC bagi user. Langkah-langkah inisiasi awal VNC ini harus dila kukan setiap user yang akan diberikan akses remote des ktop VNC.

Pengaktifan Server VNC Sebelum server VNC dapat digunakan, root harus meng konfigurasi server VNC agar dapat diakses oleh setiap user. Pertama, buka file /etc/sysconfig/vncserver yang akan berisi seperti di bawah ini (lihat Gambar 23): # The VNCSERVERS variable is a list of display:user pa irs. #

VNCSERVERARGS[3]="-geometry 800x600 -nolisten tcp -noht tpd -localhost"

Ubah resolusi menjadi seperti yang Anda inginkan ba gi user yang bersangkutan. Setelah konfigurasi server VNC sudah dilakukan. Sekarang aktifkan service server VNC dengan (lihat Gambar 24): # /etc/init.d/vncserver start

Sekarang, server VNC sudah aktif dan dapat diakses secara remote melalui jaringan. Sebelumnya, pastikan di client Linux Anda sudah terinstalasi paket VNC client. Kemudian, untuk me-remote desktop Linux pada server VNC jalankan perintah: $ vncviewer [Alamat IP Dektop Linux yang dituju]:X

# Uncomment the lines below to start a VNC server on display :2 ... ...

Pada bagian terakhir, yang mengandung: # VNCSERVERS="2:myusername" # VNCSERVERARGS[2]="-geometry 800x600 -nolisten tcp nohttpd -localhost"

hilangkan tanda komentar “#” dan masukkan konfigu rasi untuk masing-masing user. Misalkan menjadi: VNCSERVERS="1:wiryadi 2:supriyanto 3:lely" VNCSERVERARGS[1]="-geometry 800x600 -nolisten tcp -noht

Huruf “X” di atas ganti yang sesuai dengan user yang bersangkutan. Misalnya user supriyanto, dan pada konfi gurasi di atas user supriyanto menggunakan VNCSER VER 2, maka perintah tersebut menjadi: $ vncviewer [Alamat IP Dektop Linux yang dituju]:2

Ketika diminta password, ketikkan password yang te lah ditetapkan pada konfigurasi setiap user di atas. Yang menarik dari memanfaatkan server VNC ini ada lah, user tetap dapat melakukan login pada server VNC dan menggunakan desktop yang ada tanpa terganggu oleh user-user yang melakukan remote desktop VNC ke server tersebut. Menarik, bukan?

tpd -localhost"

Ena Wiryadi Salim [[email protected]]

19

Mematikan vncserver yang diaktifkan sebelumnya.

www.infolinux.web.id

Tampilan file .vnc/xstartup awal.

Tampilan desktop VNC standar.

22

Tampilan file .vnc/xstartup setelah dirubah.

21

20

23

Tampilan file /etc/sysconfig/vncserver awal.

24

Mengaktifkan server VNC.

INFOLINUX  02/2008

41

Daftar KPLI yang Diketahui Saat Ini

KOMUNITAS

KPLI Kediri Adakan Seminar Joomla

Bali BALINUX Situs: http://bali.linux.or.id

Bandung khir 2007 lalu KPLI Kediri Jawa Timur menyelenggarakan seminar tentang membuat situs interaktif menggunakan CMS (Content Management System) Joomla. Seminar berlangsung meriah, dengan dihadiri oleh 300 peserta dari berbagai kalangan, mayoritas dari dunia pendidikan. Ini merupakan seminar ketujuh kali yang diadakan KPLI Kediri. Seminar yang disponsori oleh vendor laptop Axioo ini juga didukung oleh beberapa toko komputer, stasiun radio, dan koran lokal Kediri. Seminar yang mengupas kemudahan instalasi Joomla ini diharapkan mampu membangkitkan minat peserta dalam mempelajari Joomla dan beberapa CMS lainnya yang berbasis software open source. Pada sesi akhir acara peserta berebut untuk meng-copy program Joomla dan fitur pendukung lainnya. Yang menjadi “artis” pembicara seminar adalah para aktivis KPLI Kediri. Empat orang pakar Joomla KPLI Kediri diturunkan

A

untuk acara kali ini, yakni Hartono Wibowo, Andri Wiratmono, Ari Hadi, dan Shindu Setiawan. Sebagai moderator adalah Puguh Budi Suwasono, guru sebuah SMK (Sekolah Menengah Kejuruan) yang sangat peduli dengan perkembangan Linux di Kediri. Seminar ini juga bertujuan menjaring minat para peserta untuk menjadi anggota KPLI. Tidak kurang 150 orang peserta mendaftar sebagai anggota baru KPLI Kediri. Alamat web KPLI Kediri adalah http://kediri.linux.or.id.Rus

K

Batam BLUG Situs: http://batam.linux.or.id

Bogor BULUX Situs: http://bogor.linux.or.id

Gorontalo GoLA Situs: http://gorontalo.linux.or.id

Jakarta KPLI Jakarta Situs: http://jakarta.linux.or.id

Madiun KPLI Madiun Situs: http://madiun.linux.or.id

Makassar LUGU Situs: http://makassar.linux.or.id

Malang Maling (MAlang LINux user Group) Situs: http://malang.linux.or.id

Manado LUG Manado Situs: http://manado.linux.or.id Seminar KPLI Kediri Jawa Timur.

Medan KPLI Medan Situs: http://medanlinux.com

KPLI Tegal Resmi Berdiri egiatan komunitas Linux di Tegal Jawa Tengah cukup semarak selama tahun 2007 lalu. Salah satu pendorongnya adalah kegiatan bisnis yang tidak ingin menggunakan software bajakan, seperti juga terjadi di berbagai kota lain di Jawa Tengah dan Jawa Timur. Mayoritas aktivis komunitas Linux Tegal adalah pengusaha warnet serta usaha kecil dan menengah lainnya. Setelah mendirikan Awali (Asosiasi Warnet Linux dan Open Source) Jawa Tengah, para aktivis Linux di Tegal dan kota-kota kecil sekitarnya di Jawa Tengah mendirikan KPLI Tegal. KPLI Tegal terbentuk pada Rabu, 28 November 2007, pukul 22.05 WIB, bertempat di rumah Bapak Eko Prasetyo, Jl. Samadikun No. 388 RT 04/03 Debong Kulon – Kota Tegal. Melalui musyawarah yang akrab dan penuh kekeluargaan, terpilih ketua pertama KPLI Tegal adalah Yun Setiawan, ditemani sekretaris Yulistya Agung Indarto. Pengurus KPLI Tegal dilengkapi dengan

KLUB Situs: http://bandung.linux.or.id

Padang KPLI Padang Situs: http://padang.linux.or.id

tiga divisi. Divisi Pendidikan dan Pelatihan dikoordinasi oleh Sekhidin dengan anggota Muannas dan Ainun Naiem. Divisi Riset dan Pengembangan dikoordinasi oleh Wahyudi dengan anggota Dedi Santoso dan M. Fatkhurrosyidin. Divisi Humas dikomandani oleh salah satu tokoh Awali Jawa Tengah, Romi Muharyono, dengan anggota Eko Prasetyo dan Sujatmiko. Alamat kontak pengurus KPLI Tegal dan Awali Jawa Tengah adalah [email protected] atau http://jateng.awali.or.id.Rus

Palembang MINUX Situs: http://palembang.linux.or.id

Pekanbaru KPLI Pekanbaru Situs: http://pekanbaru.linux.or.id

Semarang ATLAS Situs: http://jateng.linux.or.id

Serang KPLI Serang Situs: http://serang.linux.or.id

Sidoarjo KPLI Sidoarjo Situs: http://sidoarjo.linux.or.id

Solo KPLI Solo Situs: http://solo.linux.or.id

Surabaya KLAS Situs: http://surabaya.linux.or.id

Surabaya KPLITS Situs: http://its-sby.linux.or.id

Tangerang KPLI Tangerang Situs: http://kpli-tangerang.net

Pendirian KPLI Tegal Jawa Tengah.

Yogyakarta 42 02/2008  INFOLINUX

www.infolinux.web.id

KPLI Yogyakarta Situs: http://jogja.linux.or.id

IKLAN

WARNUX

DKI - Jakarta  Dexternet, Jl. Meruya Utara No. 33, Jakarta Barat  Cozy Planet, Jl. Bendungan Jago No. 1 Kemayoran, Jakarta Pusat  MUARA Info, Jl. Kramat Jaya Baru Blok G.V No. 476 Johar Baru, Jakarta Pusat  Kazenet, Lebak Bulus, Jakarta Selatan  Aanet, Plumpang, Tanjung Priok, Jakarta Utara  Kawan Setia, Jl. Ganggeng Raya No.2a (depan Polsek) Tanjung Priok, Jakarta Utara

Jawa Barat dan Banten  GBM Net, Jl. Babakan Loa No. 57 Cimahi, depan Politeknik Gizi Bandung  HeroesNet, Jl. Borobudur Ruko 3C, Cibaduyut, Bandung  Amsterdam Internet Cafe, Jl. Raya Kodau (samping Alfamaret), Jatirahayu, Pondok Melati, Bekasi  Deja Vu Internet Cafe, Jl. Raya Hankam No. 92-94 Pondok Gede, Bekasi  Mynett, Jl. Nangka Raya No. 3D Perumnas I Kranji, Bekasi  Taz@net, Pondok Surya Mandala Blok P No. 7 Bekasi Selatan, Bekasi  Data Prima Comp, Cileungsi, Bekasi  Globalnet, Jl. Jababeka Raya Blok B No. 23 Belakang Ruko BCA, Cikarang, Bekasi  Azoebs Linux Corners, Jl. Babakan Tengah No. 23 Dramaga, Bogor  Dev-Net, Jl. Raya Kranggan No. 1 Citeureup Cibinong, Bogor  Game House, Jl. Songgi Raya No. 5, Bogor  F&D INTERNET, Jl. Salak II Pondok Cina (belakang BSI Margonda), Depok  Majao Computer, Pondok Petir, Sawangan, Depok  [email protected], Jl. Mahakam Raya No. 39 Depok Timur, Depok  Waskita.Net, Jl. Sawo No. 24A Pondok Cina (belakang Stasiun UI), Depok  Warnet Ngenet, Jl. G. Sahari VIII / 11A Gg. Senggol, FKM UI, Depok  O’net Cafe, Jl. Surya Darma 34 Sewan, Tangerang  Starnet, Cimone, Tangerang

Jawa Tengah dan Yogyakarta  My-Net, Jl. Menteri Supeno 3C (Gedung Perbain lt.1) Sokaraja, Banyumas  Tracert Cyber Station, Jl. Raya Jepara Kudus, Pecangan Kulon RT 03/02, Jepara  ICT Net 2, Jl. A. Yani No. 68 Kauman, Batang  Gifa Net, Jl. Raya No. 148 Cepiring, Kendal  Fuji Warnet, Jl. Raya Timur Jatibarang Kidul, Brebes  FOSS net, Kantor Puskud Kab. Brebes  Lestari Net, Jl. Hj. Siti Aminah No. 23

44 02/2008  INFOLINUX

Dukuhturi Bumiayu, Brebes  [email protected], Jl. Kh. Noor Hadi No. 34 B (Samping Asrama Akper Muhammadiyah), Kudus  WWCE, Jl. Untung Suropati 33 Tayu, Pati  Aidea.net, Jl. S. Parman No. 4, Purbalingga  KiosNet LiPI Linux, Jl. Bugenvil Rt.06/07 Purwoharjo Comal, Pemalang  88.Net, Jl. Jend. Sudirman Timur 172 Berkoh, Purwokerto  Dago7 Net, Jl. Dr. Soeparno No. 12, Purwokerto  Andromeda.Net, Jl. Tanjungsari No. 4, Semarang  CafeNet69, Jl. Tlogosari Raya 1/69, Semarang  Exsanet, Jl. Jati Raya Blok Ck3 Ruko Banyumanik, Semarang  GankbuntU WarungInternet, Jl. Purwoyoso Ic No.30, Semarang  GrandNet - 1, Jl. Sirojudin No. 5 Tembalang, Semarang  GrandNet - 2, Jl. Thamrin No. 12 Sebelah Pertamina, Semarang  HitNet (GrandNet - 3), Wonodri Baru No. 31 Belakang RS Roemani, Semarang  Homenet, Jl. Majapahit 281A, Semarang  IdolaNet, Jl. Indraprasta, dekat SPBU, Semarang  Infoesia.Net, Jl. Gusti Putri II/No. 40, Semarang  Starcomp, Jl. Karanglo Pedurungan, Semarang  Star@net, Jl. Karanglo I No. 64, Semarang  TrendNet, Jl Tirto Agunbg no 13 Banyumanik, Semarang  WSI Net, Jl. Prof. Sudharto, Tembalang (samping Cafe Tugu), Semarang  Zulinet, Jl. Plamongan Sari Raya 3A, Semarang  PoiNTER Multimedia, JL. Gatot Subroto 151, Ungaran  A Ha 7 Comp, Jl. Raya Balamoa – Banjaran 20 Pangkah, Tegal  Bintang Net, Jl. Raya Kajen No.115 Talang, Tegal  BIXnet, Jl. A.R. Hakim No. 189, Tegal  BONeX, Jl. H. Samanhudi No. 33 Trayeman Slawi, Tegal  Buana Net, Jl. Pala Raya No. 300 Mejasem, Tegal  Era Net, Jl. Moh. Yamin Slawi, Tegal  Fantasy Net, Ruko Slawi Blok 3 No. 35 Slawi, Tegal  Fudu Net, Jl. Pala Raya No. 45 Mejasem, Tegal  Graficia Warnet, Jl. Srigunting No. 41, Tegal  Prima Net, Jl. Gatot Subroto (Slawi Pos) Slawi, Tegal  Queen Warnet, Jl. Werkudoro, Tegal  RedMouse, Jl. Werkudoro No. 162, Tegal

 SD Net, Jl. Werkudoro, Tegal  Super Net, Jl. Raya Singkil No. 22 Adiwerna, Tegal  Tecra Net, Jl. Setia Budi No. 35, Tegal  Jo.Net, Jl. Bantul KM 8,5, Yogyakarta

Jawa Timur dan Bali  F@S Warnet, Jl. Durian No. 281, Bangil, Pasuruan  Biroe Warnet, Perum Telang Indah Persada Blok C No. C5 Kamal, Bangkalan, Madura  XNET, Ruko Pesona Jawa B-3, Hi-Tech Square, Jember  Warnet Galaxy, Jl. A. Yani 03 (depan SMA 1), Blitar  Warnet Mitra, Jl. Lawu No. 71, Blitar  Zencafe i-Net, Jl. Kartini 1A, Banyu Biru, Jombang  Arnet, Jl. Welirang, Kediri  At Taqwa, Madrasah Aliyah Negeri 3, Kediri  Orange Net, Ruko Stadion Brawijaya A3, Kediri  Warnet Bima, Kediri  Warnet Bina, Kediri  Warnet Evo, Kediri  Warnet FastNet, Kediri  Warnet PoS Kediri, Jl. Mayjen Sungkono 32, Kediri  Warnet Putra Surya Computer, Kediri  SAGA-NET, Jl. dr. Wahidin SH No. 620, Gresik  TlogoNet, Jl. Raya Tlogomas No. 59, Malang  Warnet Mandiri, Jl. R. Wijaya 5 (Depan Stadion Gajah Mada) Mojosari, Mojokerto  ARFnet, Jl. Dharmawangsa No. 56B, Surabaya  Ciber Net, Jl. Simo Kwagean No. 72, Surabaya  RC Net, Jl. Siwalankerto I/66, Surabaya  Shinobi.Net, Jl. Mulyorejo 174, Surabaya  Warnet Smart Office, Karang Menjangan 72, Surabaya  Warnet Pacarkembang, Gang 3 No. 36, Surabaya  PROMPT Net, Sidokare Asri Ai/9, Sidoarjo  Core.Net, JL. Basuki Rahmat 37, Situbondo  Liberty Cyber, Jl. Gn. Rinjani IXC No. 8 Denpasar, Bali

Sulawesi  @mAy-Net, Jl. Abd. Silondae No. 127 C (samping BCA), Kendari, Sulawesi Tenggara  Toraja.Net, Ruko O3, Jl. Perintis Kemerdekaan KM 12, Makassar, Sulawesi Selatan  Zenith Internet Cafe, Jl. Kumala No. 43 A, Makassar, Sulawesi Selatan  Kirei Net, Jl. Sam Ratulangi 159 (depan BCA), Manado, Sulawesi Utara

www.infolinux.web.id

WARNUX

Program Deepfreeze a la Linux

T

idak hanya Windows, Linux pun butuh perlakuan mirip program Deepfreeze agar aman digunakan untuk warnet. Deepfreeze ini seperti autorecovery, yang dapat dijalankan setiap berganti pengguna warnet. Dengan membuat skrip kecil, kita dapat membuat sendiri aplikasi yang mirip dengan Deepfreeze.

Warnet adalah tempat yang dikunjungi orang dari berbagai kalangan. Sebagai tempat publik, komputer yang ada di warnet sangat rentan terhadap virus, spyware, kerusakan aplikasi, dan perubahan konfigurasi. Walaupun untuk masalah virus sampai saat ini warnet Linux bisa dibilang tempat yang aman dan nyaman bagi pengguna warnet yang terbiasa menggunakan Pendrive/Flashdisk, tidak ada salahnya Anda melakukan deepfreeze atau serupa di Linux agar aplikasi dan konfigurasi di komputer warnet tidak berubah. Untuk warnet pengguna distro Linux Zencafe, tentunya sudah tidak asing dengan autorecovery-nya yang mirip Windows dengan Deepfreezenya. Bagaimana dengan warnet yang menggunakan distro Linux selain Zencafe? Secara garis besar, kita tidak tahu persis bagaimana cara kerja Deepfreeze yang ada di Windows karena ini adalah “resep rahasia” perusahaan Faronics pembuat Deepfreeze. Karena Deepfreeze bukanlah software open source yang kita bisa tahu isi source code-nya. Namun, tidak perlu berkecil hati, kita bisa membuat program yang memiliki kemampuan sejenis deepfreeze di Linux tanpa tools apapun selain tools yang sudah tersedia di semua distro Linux, yaitu Bash, Xdialog, dan Terminal. Walaupun kita tidak tahu per-

www.infolinux.web.id

sis bagaimana program Deepfreeze berkerja, tapi kita bisa membayangkannya sebagai berikut. Deepfreeze ala Linux adalah sebuah program yang akan membuat file back-up dari semua konfigurasi dan folder di Linux terutama yang ada di folder Home. Karena rata-rata kita berkerja menggunakan folder Home, setelah komputer di-restart folder Home akan dihapus dan file back-up yang telah kita buat sebelumnya akan diextract ke dalam folder Home tersebut. Simpel, bukan? Berikut adalah contoh sederhana pembuatan program a la Deepfreeze dengan menggunakan Bash. Buat file dengan nama deepfreeze.

Anda bisa menggunakan editor teks vi, mcedit, atau editor teks lainnya yang biasa Anda gunakan. Isi file deepfreeze sebagai berikut: #!/bin/sh # Deepfreeze ala Linux # Backup before use, Use At Your Own Risk. # Copyleft 2007 by A. Hardiena

Xdialog --title “Deepfreeze ala Linux” \ --menubox “Selamat datang di Deepfreeze ala Linux.” 17 65 3 \ “Install”

“Install

Deepfreeze dari komputer” \ “Hapus”

“Hapus Deepfreeze

dari komputer” \

Gambar 1. Tampilan awal Deepfreeze.

INFOLINUX  02/2008

45

WARNUX

Gambar 3. Tampilan proses yang sukses.

Gambar 2. Pemilihan home folder.

“Batal” “Batalkan program Deepfreeze” 2>/tmp/checklist.tmp.$$

# Deepfreeze System cd /home/

sed -i “/# Deepfreeze/d” /etc/ #

Deepfreeze do not manual editing choice=`cat /tmp/checklist.tmp.$$`

this line

rm -f /tmp/checklist.tmp.$$

rm -rf /home/$direktori

rc.d/rc.local rm /home/$direktori.tar.gz ;;

#

esac

Deepfreeze do not manual editing case $choice in “Install”)

Catatan:

this line tar -xvzf $direktori.tar.gz

#

Deepfreeze do not manual editing tanya=`mktemp -q /tmp/menu.XXXXXX`

this line

header=”Deepfreeze ala Linux”

# Deepfreeze has ended here

size=”9 60”

EOF

content=”Nama folder home yang diproteksi.”

# Check if autorecovery has error if [ $? = 0 ]; then

Xdialog --title “$header” -inputbox “$content” $size 2> $tanya if [ ! $? = 0 ]; then

content=”Deepfreeze home $direktori sukses.”

content=”Deepfreeze home $direktori gagal.” fi

direktori=`cat $tanya` check=`cat /etc/rc.d/rc.local | grep ‘# Deepfreeze System’` temporary=”# Deepfreeze System”

Xdialog --title “$header” --msgbox “$content” $size ;; Hapus)

if [ “$check” == “$temporary” ]; then sed -i “/# Deepfreeze/d” /etc/ rc.d/rc.local rm /home/$direktori.tar.gz fi # Proses deepfreeze dan letakkan

tanya=`mktemp -q /tmp/menu.XXXXXX` header=”Deepfreeze ala Linux” size=”9 60” content=”Nama folder home yang diproteksi.” Xdialog --title “$header” -inputbox “$content” $size 2> $tanya

di /etc/rc.d/rc.local cd /home/

if [ ! $? = 0 ]; then

rm $direktori.tar.gz tar -cf $direktori.tar $direktori

exit 0 fi

gzip --best $direktori.tar cat << EOF >> /etc/rc.d/rc.local

46 02/2008  INFOLINUX

# chmod +x deepfreeze

else

exit 0 fi

Untuk distro Linux yang menggunakan init.d, dan bukan rc.d, Anda bisa mengubah letak file rc.local dari /etc/rc.d/ ke direktori lain5 yang digunakan distro tersebut. Setelah selesai, simpan file deepfreeze dan chmod +x deepfreeze atau ubah permissionnya agar dapat dieksekusi.

direktori=`cat $tanya`

Untuk mengaktifkannya, cukup mendobel klik ikon file deepfreeze, atau mengetikkan “sh deepfreeze” melalui Terminal dengan menggunakan akun root. Gambar-gambar menunjukkan tampilan program deepfreeze. Gambar 1 adalah menu pilihan ketika pertama menjalankan deepfreeze. Jika Anda memilih instal, Anda diminta menuliskan folder di bawah /home milik akun user yang akan diproteksi seperti Gambar 2. Gambar 3 menunjukkan proses deepfreeze yang sukses. Anda dapat menvariasikan deepfreeze ini sesuai kebutuhan, misalnya dengan menyelipkan baris untuk menghapus folder /tmp dan variasi lain yang Anda butuhkan. Selamat mengelola warnet Linux dengan lebih nyaman! A. Hardiena [[email protected]]

www.infolinux.web.id

IKLAN

TUTORIAL FILE

Memeriksa Keabsahan File

P

ernah men-download file berukuran besar, sudah menghabiskan waktu yang cukup lama dan uang yang tidak sedikit, dan menemukan bahwa file tersebut tidak bisa dibuka dengan baik? Pastinya akan sangat kesal sekaligus menyesal, apalagi kalau file tersebut sangat dibutuhkan, sementara, men-

download lagi akan menghabiskan usaha yang tidak sedikit. Atau, pernahkan Anda menyimpan file back-up yang telah berusia bertahun-tahun, namun ternyata rusak ketika dibuka beberapa waktu kemudian? Padahal, Anda sudah menghabiskan ruang harddisk yang cukup besar hanya untuk menyimpan file yang rusak tersebut. Dalam menyimpan file, kita mungkin bisa memastikan kualitas media penyimpanan yang digunakan. Namun, terkadang, karena satu dan lain hal (hardware, software, ataupun kesalahan sendiri), file tersebut menjadi rusak. Atau, yang paling sering ditemukan, file rusak karena proses transfer yang tidak sempurna. Ada baiknya kalau kita lebih berhati-hati ketika bekerja dengan file. Paling tidak, apabila kita men-download, pastikan file yang di-download tidak rusak. Apabila kita mendistribusikan file, pastikan file kita tidak rusak sehingga orang lain mendapatkan file yang benar. Beberapa file mungkin tidak terlalu sensitif apabila kehilangan/rusak satu atau dua byte. Namun, sebagian lagi sangat sensitif. Untuk memeriksa keutuhan atau keabsahan suatu file, kita bisa menggunakan berbagai program yang menyediakan pemeriksaan checksum pada file tersebut, menggunakan ber-

48 02/2008  INFOLINUX

bagai algoritma yang telah dikenal luas dan telah terbukti bisa diandalkan. Selama hasil checksum benar (dengan algoritma yang terbukti), maka file tersebut dipastikan sama dengan file sumber. Pemeriksaan file jelas tidak hanya berdasarkan ukuran file saja. Di tulisan ini, kita akan membahas beberapa program yang bisa dipergunakan, lengkap dengan contoh penggunaan. Di akhir tulisan, kita juga akan membangun program GUI sederhana untuk memudahkan pemeriksaan checksum file. Semua contoh tulisan ini dibangun di atas Linux Singkong 1.0 (http://noprianto.com/singkong. php), namun dapat diterapkan tanpa masalah pada sistem lainnya.

Algoritma dan program Beberapa program berikut ini bisa digunakan untuk memeriksa checksum sebuah file:  sum (1), memeriksa checksum dan menghitung jumlah blok dalam file.  cksum (1), memeriksa checksum CRC dan menghitung ukuran file.  md5sum (1), menghitung dan memeriksa message diget MD5 (128-bit).

 sha1sum (1), menghitung dan memeriksa message diget SHA1 (160-bit).  sha224sum (1), menghitung dan memeriksa message diget SHA224 (224-bit).  sha256sum (1), menghitung dan memeriksa message diget SHA256 (256-bit).  sha384sum (1), menghitung dan memeriksa message diget SHA384 (384-bit).  sha512sum (1), menghitung dan memeriksa message diget SHA512 (512-bit). Dari sekian banyak algoritma dan program tersebut, MD5 sangat umum digunakan. Walau demikian, di program ini, kita akan membahas semua program tersebut. Penekanan lebih pada MD5 akan dilakukan. Dalam membahas berbagai algoritma tersebut, kita akan menggunakan program contoh ls (di-copykan dari /bin/ls) dan ls2, di-copy-kan dari /bin/ls dan dirusak (dengan cara diedit dengan vi dan menghapus satu karakter bagian tengah tubuh program), namun berukuran tetap sama. Ketika ls2 dijalankan, segfault akan dihasilkan: $ ./ls2

www.infolinux.web.id

TUTORIAL FILE Segmentation fault

Informasi ls dan ls2:

ls2: $ sum ls ls2

$ ls -al ls ls2

52454

80 ls

-rwxr-xr-x 1 nop users 81820 2007-

29496

80 ls2

12-14 18:41 ls* -rwxr-xr-x 1 nop users 81820 2007-

$ sum -s ls ls2

12-14 18:41 ls2*

24005 160 ls 23931 160 ls2

Sum

sering digunakan dalam hash function untuk kriptografi. MD5 juga merupakan standar internet (RFC 1321). Dalam penggunaan seharihari, md5 banyak digunakan untuk memeriksa integritas file. Contoh penggunaan: $ echo | md5sum 68b329da9893e34099c7d8ad5cb9c940

Program sum akan memeriksa checksum dan menghitung blok dalam file dalam dua algoritma: BSD (opsi -r) ataupun system V (opsi -s). Contoh penggunaan:

Program cksum akan memeriksa CRC checksum dan menghitung ukuran file dalam satuan byte. Contoh penggunaan:

$ echo “Halo Apa Kabar” | md5sum fa7509b480340fc9450a223933a82a53

$ cksum /bin/l*

a9fc601d93aa58abe01e1daa43a52d87

64901

13 /bin/link

376866433 13072 /bin/link

/bin/link

48097

24 /bin/ln

889217852 23992 /bin/ln

a8c9c4eb2e859dbb86bf551fff48f263

41295

74 /bin/loadkeys

4039519244 75564 /bin/loadkeys

/bin/ln

10482

44 /bin/login

2691098678 44788 /bin/login

773dbba620b8d072d3c68e3b3ebddad6

46093

13 /bin/logname

1311955907 12756 /bin/logname

/bin/loadkeys

52454

80 /bin/ls

422757473 81820 /bin/ls

2a0084179d3392350609e7bd3e133f73

3707414784 5812 /bin/lsmod

/bin/login

6 /bin/lsmod

$ sum -s /bin/l* 8140 26 /bin/link 12642 47 /bin/ln 6940 148 /bin/loadkeys

Kolom pertama adalah CRC checksum dan kolom kedua adalah ukuran file. Contoh pemeriksaan pada ls dan ls2:

48095 88 /bin/login

$ cksum ls ls2

45458 25 /bin/logname

422757473 81820 ls

24005 160 /bin/ls

255082481 81820 ls2

0910f6aee230b6319dbf9e431e3c9e0e /bin/logname a7d0f168866236756bafed5357e7e039 /bin/ls e1f75136471b965ba1d40def5989e66a /bin/lsmod

Contoh pemeriksaan pada ls dan ls2: $ md5sum ls ls2

56330 12 /bin/lsmod

Kolom pertama adalah checksum dan kolom kedua adalah jumlah blok yang digunakan oleh file. Contoh pemeriksaan pada ls dan

-

$ md5sum /bin/l*

$ sum /bin/l*

60073

-

cksum

md5sum

a7d0f168866236756bafed5357e7e039

Program ini akan menghitung dan memeriksa message digest MD5 (Message Digest Algorithm 5) yang

ef5fcf8f556c264495b16e20659f9b1d

ls

ls2

Kolom pertama, yang merupakan MD5 hash, berukuran 32 karakter heksadesimal. Dalam mendistribusikan file, sebagai contoh linux-1.iso, kita bisa pula menyertakan file linux-1.iso.md5, dimana yang terakhir bisa dibuat dengan meredireksi standar output keluaran program md5sum. Contoh pada program ls: $ md5sum ls a7d0f168866236756bafed5357e7e039

ls

$ md5sum ls > ls.md5

$ cat ls.md5 a7d0f168866236756bafed5357e7e039

Nofe-md5sum.py.

www.infolinux.web.id

ls

Apabila kita mendistribusikan banyak file sebagai satu kumpulan/ kelompok, kita bisa pula menggunakan satu file md5 yang berisikan

INFOLINUX  02/2008

49

TUTORIAL FILE hash dari banyak file. Cara ini umum digunakan oleh pembuat distro ketika mendistribusikan sistemnya. Umumnya, kita menemukan file semacam packages.md5 di media CD/DVD distro. Cara serupa dengan sebelumnya bisa digunakan: $ md5sum /bin/l* > bin.l.star.md5

$ cat bin.l.star.md5

2c53

/bin/lsmod

Contoh pemeriksaan pada ls dan ls2: $ sha1sum ls ls2 d6d640df7f4be30159d4145642114fb46d6 fe875

ls

digunakan dalam algoritma adalah: +,and,or,xor,shr,rotr. Gunakanlah redireksi stdout seperti contoh pada pembahasan md5sum untuk membuat file yang berisikan hash, sehingga dapat diperiksa lebih lanjut.

12b6f086c1d0ce71e78190d56a8b5dcbc03

$ sha256sum /bin/l*

35c14

ea7f2d1ef86a54ce8b328fac846a445f

ls2

Kolom pertama, yang merupakan SHA1 hash, berukuran 40 karakter heksadesimal.

1af7928f285232879a9cfabbf16dd929 /bin/link ad2d051e08340b1897c7829d48346d2c dcc6ec6104e4799027e9250a883b3508

a9fc601d93aa58abe01e1daa43a52d87 /bin/link

Sha224sum

/bin/ln

a8c9c4eb2e859dbb86bf551fff48f263

Program ini akan menghitung dan memeriksa message digest SHA224 (224-bit). SHA224 terkadang disebut pula sebagai SHA2. Operasi yang digunakan dalam algoritma adalah: +,and,or,xor,shr,rotr. Gunakanlah redireksi stdout seperti contoh pada pembahasan md5sum untuk membuat file yang berisikan hash, sehingga dapat diperiksa lebih lanjut. Contoh penggunaan:

e01688865f6e9cc23d4ce18b4afa0eac373d

/bin/ln 773dbba620b8d072d3c68e3b3ebddad6 /bin/loadkeys 2a0084179d3392350609e7bd3e133f73 /bin/login 0910f6aee230b6319dbf9e431e3c9e0e /bin/logname a7d0f168866236756bafed5357e7e039 /bin/ls e1f75136471b965ba1d40def5989e66a /bin/lsmod

$ sha224sum /bin/l*

059ee57d8ea4b0729e5ba4a62c06

/bin/

loadkeys 778a267fa19b605f166d21ce3848a896 253223f8528b42d061a98523c9b917b8 /bin/login 8cb8d60ff8de997d9aa5e58a5eaee2ec0a19 de48c995540334148a9835df6423

/bin/

logname 0e13b7ffc9d3a9197435181b49e2a4c9 3ee04063f1b3971e67d0021730fe8071 /bin/ls

d652932db2b63e10b3286186882a4c6ffd62

77a5261a78a16b1498db32bc618e94cd

sha1sum

d5dfd23883d1a247c8dc

f219f7658096aad79f801f34b587fa34

Program ini bisa digunakan untuk menghitung dan memeriksa message digest SHA1 (160-bit). SHA merupakan singkatan dari Secure Hash Algorithm. SHA umumnya digunakan dalam berbagai aplikasi keamanan seperti TLS, SSL, PGP, SSH, S/MIME, dan Ipsec. Operasi yang digunakan dalam algoritma adalah: +,and,or,xor,rotl. Gunakanlah redireksi stdout seperti contoh pada pembahasan md5sum untuk membuat file yang berisikan hash, sehingga dapat diperiksa lebih lanjut. Contoh penggunaan:

42fb88b572708edacfcb3b4756d89e9db57c 80e08ec41e5bf3565991

/bin/link

/bin/ln

a0fc2fd5eb314277821e46644b4ff90667e1 601b1bf011527b1aec94

/bin/loadkeys

0e13b7ffc9d3a9197435181b49e2a4c93ee0 4063f1b3971e67d0021730fe8071

/bin/login

3afa3dd0d4a6e379b37ab9b01289ced20f1b

de8429b2830ee2627fe7

1df7095ac20552008869ec54f0bc

/bin/logname

2a6ff5466ca8b3bdab8b8242a92480672791 ca4c1ace316bbc2d09dc

/bin/ls

bbef6c573baa1d9bf35261fd77ddc13248b2 ed4468a0b3f7750f35cb

2a6ff5466ca8b3bdab8b8242a92480672791 ca4c1ace316bbc2d09dc

ls

f4cfbd17d1a3018ca90c70dfd5dc97667550

f6df47d9ed17850134f143ac4dcce703637b

0722

bce8ca4e23032cfc594c

/bin/loadkeys

ff6a62f9de34bbea0e027b2f195cbdfe0c60 2dce

ls2

Kolom pertama, yang merupakan SHA224 hash, berukuran 56 karakter heksadesimal.

/bin/login

ea3d43b97e844b1341180f3fb4e7203e65dc

Sha256sum

5e0c

Program ini akan menghitung dan memeriksa message digest SHA256 (256-bit). SHA256 terkadang disebut pula sebagai SHA2. Operasi yang

/bin/logname

d6d640df7f4be30159d4145642114fb46d6f e875

/bin/ls

311abedede5b82a86325e977cd54ac1db1e6

50 02/2008  INFOLINUX

ls2

Kolom pertama, yang merupakan SHA256 hash, berukuran 64 karakter heksadesimal.

/bin/lsmod

Contoh pemeriksaan pada ls dan ls2:

869c

e936

ls

eb0de9aab1395b9da46214fab93008261e0e

1bc04677f39a91f07ebb427f2b057797f703

/bin/ln

$ sha256sum ls ls2

1ffa061fcf2f4faf014f

$ sha224sum ls ls2

b4957a3e8ad3c1c026d96889fca0904cf713

Contoh pemeriksaan pada ls dan ls2:

5baae3354b94e95dc1bd4504429cb7661174

$ sha1sum /bin/l*

/bin/link

/bin/lsmod

Sha384sum Program ini akan menghitung dan memeriksa message digest SHA384 (384-bit). SHA384 terkadang disebut pula sebagai SHA2. Operasi yang digunakan dalam algoritma adalah: +,and,or,xor,shr,rotr. Gunakanlah redireksi stdout seperti contoh pada pembahasan md5sum untuk membuat file yang berisikan hash, sehingga dapat diperiksa lebih lanjut. Contoh penggunaan: $ sha384sum /bin/l* 6d12dbc1b93243325105a3842baf6dedb307 96b47be51c4f9def7e809e1fccc10d397659 14b3a0f3be966f294fe3e200

/bin/link

www.infolinux.web.id

TUTORIAL FILE 3f87141269a3313069eafdfbf9019722d32f bd8b0cdde0c9f3dc5de6256189ed77e7be02 ccb37c52a04822c28a0f0739

SHA512 hash, berukuran 128 karakter heksadesimal.

e6fedb3841acaf5917fb34aff49006f37f 70d38b9aecaaf86b45ba776f347

/bin/

loadkeys 819789cbaa1c95632bff89529bf62c35a10b edf70b392875a1cbb5ac0689e6a01e01e0ec d8a543c12d31b1790bd10692

/bin/login

e264618f9e7c77dec26cb91e7610fcf59eb 9afaba970e980d7f7579b25c41f48e39c1 b4a2fc4e47230757c07c0d625cf

/bin/

logname 55b1595dbdc45ff9e251bdc4564e3277041b fa22b124c399178766ab2906ab4da6d039d1 f82f90aa84c7d5d85dbd5fb0

/bin/ls

583a1a848bc4a90dbc3ea07fa1acba9c2f30 a93b9623cda09efab3abdd4de95e6c26d744 51bcd2c7f23117df4c862f38

/bin/lsmod

Contoh pemeriksaan pada ls dan ls2:

Contoh file yang berisikan hash: $ sha1sum /bin/l* > bin.l.star.sha1

/bin/ln

4f5e08b5abac5bb8777184eca709a77acff

sha1sum

Memeriksa file Pemeriksaan file dengan beberapa program yang telah dibahas di atas bisa dilakukan dengan dua cara:  Manual, yaitu dengan membandingkan checksum/hash file yang dimiliki dengan file sumber.  Otomatis, di mana program akan langsung memeriksa, membandingkan dan melaporkan checksum/hash dengan file hash yang telah di-download sebelumnya. Tidak semua program yang dibahas sebelumnya menyediakan fasilitas ini (sehingga harus kita lakukan dengan bantuan shell script). Program md5sum, sha*sum menyediakannya, sementara sum dan cksum tidak menyediakannya.

$ sha384sum ls ls2

Pemeriksaan bisa dilakukan dengan opsi -c: $ sha1sum -c bin.l.star.sha1 /bin/link: OK /bin/ln: OK /bin/loadkeys: OK /bin/login: OK /bin/logname: OK /bin/ls: OK /bin/lsmod: OK

Sama seperti contoh sebelumnya, kesalahan juga akan dilaporkan: $ sha1sum -c bin.l.star.sha1 /bin/link: FAILED /bin/ln: OK /bin/loadkeys: OK /bin/login: OK /bin/logname: OK /bin/ls: OK /bin/lsmod: OK

55b1595dbdc45ff9e251bdc4564e3277041b fa22b124c399178766ab2906ab4da6d039d1 f82f90aa84c7d5d85dbd5fb0

ls

7f0d6c8bcbc20d6ca8ce35f61feed7319209 1f83071a6f2baeb264996120518dbf0a2aad b83571178e4136f62b0a155f

ls2

Kolom pertama, yang merupakan SHA386 hash, berukuran 96 karakter heksadesimal.

Untuk cara kedua, pastikan kita memiliki file hash yang umumnya disediakan oleh pihak distributor file, yang dapat dibuat dengan meredireksi standard output program-program yang dibahas sebelumnya ke file.

Md5sum Contoh file yang berisikan hash: $ md5sum /bin/l* > bin.l.star.md5

Sha512sum Program ini akan menghitung dan memeriksa message digest SHA512 (512-bit). SHA512 terkadang disebut pula sebagai SHA2. Operasi yang digunakan dalam algoritma: +,and,or,xor,shr,rotr. Gunakan redireksi stdout seperti contoh pada pembahasan md5sum untuk membuat file yang berisikan hash, hingga dapat diperiksa lebih lanjut. Contoh penggunaan ls dan ls2:

Pemeriksaan bisa dilakukan dengan opsi -c:

sha1sum: WARNING: 1 of 7 computed checksums did NOT match

cksum cksum tidak menyediakan fasilitas seperti md5sum dan sha1sum yang telah dibahas sebelumnya. Namun, dengan bantuan shell script, kita bisa melakukannya. Pertama-tama, redireksilah stdout cksum ke file, seperti kedua pembahasan sebelumnya: $ cksum /bin/l* > bin.l.star.cksum

$ md5sum -c bin.l.star.md5

$ cat bin.l.star.cksum

/bin/link: OK

376866433 13072 /bin/link

/bin/ln: OK

889217852 23992 /bin/ln

/bin/loadkeys: OK

4039519244 75564 /bin/loadkeys

/bin/login: OK

2691098678 44788 /bin/login

/bin/logname: OK

1311955907 12756 /bin/logname

/bin/ls: OK

422757473 81820 /bin/ls

/bin/lsmod: OK

3707414784 5812 /bin/lsmod

Apabila terdapat file yang tidak sah, kesalahan juga akan dilaporkan:

Buat shell script bernama cksumcheck.sh:

$ sha512sum ls ls2

$ md5sum -c bin.l.star.md5

9a975e09f3021e15f4f38e62db2d78c3e3

/bin/link: FAILED

c3cb74c496cdac0ad4d2996c45c31e1cb99b

/bin/ln: OK

#check using cksum

57103a12b882e3169e6d7958cc3f7a3c5f84

/bin/loadkeys: OK

#(c) Noprianto, 2007

3cc96aca85b4c552e496a3

/bin/login: OK

#GPL

ls

#!/bin/sh

6c578f53e9d9ef6fcd0e65bba0c74dec9c

/bin/logname: FAILED

968db8dee174d6e2d8a3ebea77e3f75092b0

/bin/ls: OK

if [ -z “$1” ]

1005b8c1ebde9dc100f464789d7d3328704d

/bin/lsmod: OK

then

d12c45ff6cdcb5e45ee3da

md5sum: WARNING: 2 of 7 computed

echo “usage: $0

checksums did NOT match

exit 1

ls2

Kolom pertama, yang merupakan

www.infolinux.web.id

INFOLINUX  02/2008

51

TUTORIAL FILE fi

/bin/lsmod: OK

INPUT=”$1”

Bila terdapat checksum yang tidak sesuai: $ sh cksum-check.sh bin.l.star.cksum

if [ ! -r “$INPUT” ]

/bin/link: FAILED

then

/bin/ln: OK

echo “Couldn’t read $INPUT”

/bin/loadkeys: OK

exit 2

/bin/login: FAILED

fi

/bin/logname: OK /bin/ls: FAILED /bin/lsmod: OK

F_COUNT=$(cat $INPUT | wc -l)

cksum: WARNING: 3 of 7 checksums did

FAILED=0

NOT match

for i in $(seq 1 $F_COUNT) do LINE=$(head -n$i $INPUT | tail n1) CKSUM=$(echo $LINE | awk ‘{print $1}’) FILENAME=$(echo $LINE | awk ‘{print $3}’)

nofe-md5sum.py Ingin pemeriksaan hash MD5sum lebih mudah dilakukan? Mari bangun front end untuk md5sum -c dengan bantuan pygtk. Berikut ini adalah source code nofe-md5sum. py:

self.treeview.append_column(self. column1) self.treeview.append_column(self. column2)

self.cell0 = gtk. CellRendererPixbuf() self.cell1 = gtk. CellRendererText() self.cell2 = gtk. CellRendererText()

self.cell1.set_property(‘cellbackground’, ‘white’) self.cell2.set_property(‘cellbackground’, ‘red’)

self.column1.pack_start(self.

#!/usr/bin/python

cell0, False)

#front end for md5sum -c

cell1, True)

self.column1.pack_start(self. RECHECK=$(cksum $FILENAME | awk ‘{print $1}’) if [ ! “$CKSUM” = “$RECHECK” ]

#(c) Noprianto, 2007 #GPL

self.column2.pack_start(self. cell2, True)

then echo “$FILENAME: FAILED”

import pygtk

FAILED=$(($FAILED+1))

import gtk

else

import commands

echo “$FILENAME: OK” fi done

self.column1.set_attributes(self. cell0, stock_id=1) self.column1.set_attributes(self. cell1, text=0)

class MainWindow: def __init__(self):

self.column2.set_attributes(self. cell2, text=2,cell_background_set=3)

self.appname = “nofe-md5sum” if [ $FAILED -ne 0 ]

self.version = “0.1a” self.scrolled_win = gtk.

then echo “cksum: WARNING: $FAILED of $F_COUNT checksums did NOT match”

self.window = gtk.Window(gtk. WINDOW_TOPLEVEL) self.window.set_title (self.

fi

appname + “ version “ + self. exit 0

Contoh penggunaan: $ sh cksum-check.sh usage: cksum-check.sh

version) self.window.set_size_request

self.window.connect(“destroy”,

$ sh cksum-check.sh INVALID

/bin/link: OK

/bin/login: OK /bin/logname: OK /bin/ls: OK

52 02/2008  INFOLINUX

self.scrolled_win.add (self. treeview)

self.fchooser = gtk. FileChooserButton (“Choose MD5 hash file”)

self.treeview = gtk. TreeView(self.liststore)

/bin/ln: OK /bin/loadkeys: OK

AUTOMATIC)

self.liststore = gtk. ListStore(str, str, str, ‘gboolean’)

$ sh cksum-check.sh bin.l.star.cksum

self.scrolled_win.set_policy (gtk.POLICY_AUTOMATIC, gtk.POLICY_

(600,400)

self.destroy)

Couldn’t read INVALID

ScrolledWindow()

self.btn_about = gtk.Button (“_About”) self.btn_check = gtk.Button (“_Check”)

self.column1 = gtk.TreeViewColumn (‘Filename’)

self.btn_quit = gtk.Button (“_Quit”)

self.column2 = gtk. TreeViewColumn(‘Status’)

self.btn_quit.connect

www.infolinux.web.id

TUTORIAL FILE (“clicked”, self.destroy) self.btn_check.connect

check_output_split = check_ output.split (“\n”)

(“clicked”, self.check_md5, self. liststore)

data.clear()

self.btn_about.connect (“clicked”, self.show_about, self. window)

for i in check_output_split: filename = i.split (“:

self.hbox_action = gtk.HBox

“)[0]

(True, 5) self.hbox_action.pack_start

status = i.split (“: “)[1]

(self.btn_about)

if status == “OK”:

self.hbox_action.pack_start (self.btn_check)

temp = [filename, gtk. STOCK_NEW, ‘OK’, False]

self.hbox_action.pack_start

data.append (temp)

(self.btn_quit)

elif status == “FAILED”: temp = [filename, gtk.

self.table = gtk.Table (10, 1,

STOCK_NEW, ‘FAILED’, True]

False)

data.append (temp)

self.table.set_row_spacings (5) self.table.set_col_spacings (5)

def show_about (self, widget, data=None):

self.table.attach (self. fchooser, 0, 1, 0, 1) self.table.attach (self. scrolled_win, 0, 1, 1, 9) self.table.attach (self.hbox_

dialog = gtk.MessageDialog (data, gtk.DIALOG_MODAL, gtk. MESSAGE_INFO, gtk.BUTTONS_OK, self. appname + “ version “ + self. version)

action, 0, 1, 9, 10) dialog.format_secondary_text self.window.add(self.table)

(“(c) Noprianto, 2007. GPL.”) dialog.set_title (“About”)

self.window.show_all()

dialog.run() dialog.destroy()

def destroy (self, widget, data=None):

def main (self): gtk.main()

gtk.main_quit()

def check_md5 (self, widget, data=None): md5_filename = self.fchooser. get_filename() if not md5_filename: dialog = gtk.MessageDialog (self.window, gtk.DIALOG_MODAL, gtk.MESSAGE_ERROR, gtk.BUTTONS_OK, “Choose MD5 hash file first”) dialog.set_title (“Error”) dialog.run() dialog.destroy() else: cmd = “md5sum -c “ + md5_ filename check_output = commands. getoutput (cmd)

www.infolinux.web.id

if __name__ == “__main__”: mainwindow = MainWindow() mainwindow.main()

Jalankanlah nofe-md5sum.py: $ python nofe-md5sum.py

Untuk menggunakan, pilihlah file yang mengandung hash MD5, kemudian kliklah tombol Check. Unutk pemeriksaan gagal, kita akan mewarnai background sel dengan warna merah dan menuliskan FAILED. Untuk pemeriksaan yang berhasil, kita akan menuliskan OK. Untuk penjelasan source code, bacalah tulisan tentang python dan GTK+ di edisi yang sama.  Noprianto [[email protected]]

INFOLINUX  02/2008

53

TUTORIAL GIMP

Wajah Putih Bersih Berseri Mata Indah, Bening Bercahaya Bagian 3 dari 4 Tulisan

P

ada artikel kali ini, penulis akan mencoba membahas bagaimana mendandani kedua bola mata agar mendapatkan hasil yang cukup memuaskan. Dengan melakukan sedikit proses editing pada bagian mata, akan didapatkan hasil bola mata yang indah, bening, dan bercahaya.

Meski pada dasarnya bola mata hanya terdiri dari dua warna, yaitu bagian hitam dan bagian putih, tetapi kita tidak bisa hanya berdasar pada pengolahan kedua warna itu saja untuk mencoba mendandani kedua bola mata ini. Bisa-bisa kesan yang diperoleh bukannya mata yang indah, bening dan bercahaya seperti yang diharapkan. Melainkan, menjadi terkesan sebagai gambar datar hitam putih dari bola mata yang hanya ditempelkan pada potret wajah. Banyak teknik yang dipergunakan untuk retouching bagian mata ini, ada yang menggunakan teknik burning & dodging, ada yang menggunakan teknik kontras, ada juga yang menggunakan teknik level dan curves. Tetapi dalam teknik yang coba disajikan penulis kali ini, penulis hanya akan mencoba menjabarkan teknik temuan penulis sendiri, yang terbilang sangat sederhana, yaitu memanfaatkan White Balance dan Mode Blending pada layer. 1. Membuka Foto Wajah Seperti biasa, langkah pertama yang harus Anda lakukan adalah membuka file foto wajah yang ingin Anda perindah kedua bola matanya. Bukalah foto dengan cara meng klik menu File > Open. Setelah foto wajah terbuka, lakukanlah Zoom, agar mudah

54 02/2008  INFOLINUX

terlihat bagian bola mata yang hendak di-retouching. Setelah selesai, foto siap diproses lebih lanjut.



Anda dapat memilih menggunakan Lasso Tool. Pilih seleksi seputar mata kiri, kemudian tekan tombol shift, lanjutkan dengan melakukan seleksi seputar bola mata sebelah kanan.

Gambar 1. Membuka file foto wajah.

2. Lakukan Seleksi terhadap Kedua Bola Mata Untuk melakukan proses retouching terhadap kedua bola mata, maka area bola mata perlu diisolasi terlebih dahulu agar memungkinkan optimalnya pemrosesan. Banyak cara untuk melakukan isolasi ini, sedangkan cara yang biasa digunakan oleh penulis adalah dengan:  Seleksi area seputar bola mata.  Mendetailkan seleksi, menggunakan layer mask. Sedangkan, rincian dari masingmasing langkah tersebut, di antaranya:  Seleksi Area Seputar Bola Mata  Pilih tool seleksi, agar seleksi dapat dilakukan secara bebas,

Gambar 2. Seleksi area sekitar mata.

3. Menyalin Hasil Seleksi ke dalam Layer Baru  Lakukan peng copy-an dengan menekan tombol Ctrl+C.  Tempelkan hasil peng copy-an tersebut dengan menekan tombol Ctrl+V.  Anda akan mendapatkan sebuah floating layer.  Agar floating layer tersebut dapat menjadi sebuah layer, lakukan pilihan terhadap floating layer tersebut dengan melakukan klik.  Pada panel Layers, pilih perintah

www.infolinux.web.id

TUTORIAL GIMP Anchor atau New Layer, maka floating layer yang terpilih akan dimantapkan menjadi sebuah layer baru, secara default layer ini bernama Pasted Layer.

Gambar 8. Hasil seleksi yang lebih akurat menggunakan teknik masking.

Gambar 5. Menambahkan layer mask pada layer mata.

simbol mata yang terletak pada sebelah kiri layer Background.

Gambar 3. Meng copy ke floating layer, dan memantapkan floating layer dengan perintah Anchor atau New Layer.

 Klik kanan pada layer baru tersebut (Pasted Layer), pada menu yang muncul, pilih pada menu perintah: Edit Layer Attribut.  Pada kotak dialog yang muncul, ketikkan nama baru agar layer mudah dikenali. Ketikkan: Mata sebagai nama baru dari layer tersebut.

Gambar 6. Menonaktifkan layer Background.

 Sekarang Anda dapat hanya berkonsentrasi pada area terseleksi di sekitar kedua bola mata.

5. Menyesuaikan White Balance untuk Mendapatkan Bola Mata yang Bersih Pilih pada layer Mata, kemudian pilih dan klik pada menu: Color > Level. Maka kotak dialog Levels akan ditampilkan. Perhatikan pada tiga buah Color Picker yang terletak di atas tombol OK pada kanan bawah kotak dialog. Ketiga tombol tersebut yang akan kita pergunakan untuk mengatur ulang White Balance dari layer Mata. Sedangkan masing-masing fungsi dari ketiga tombol tersebut adalah:  Tombol paling kiri adalah tombol untuk menentukan area warna gelap maksimum hingga merepresentasikan hitam pekat.  Tombol paling kanan adalah tombol untuk menentukan area terang maksimum hingga merepresentasikan putih terang.  Sedangkan tombol yang di tengah adalah tombol untuk menentukan area netral, yaitu area kepekatan warna yang berada di tengah-tengah antara hitam dan putih.

Gambar 7. Tampilan image setelah layer Background nonaktif.

Gambar 4. Mengganti nama layer baru hasil penempelan (paste).

4. Masking untuk Memperhalus Seleksi  Klik kanan pada layer Mata, pada floating menu yang muncul, pilih pada menu perintah: Add Layer Mask.  Pastikan bahwa warna foreground adalah hitam sedangkan warna background adalah putih.  Matikan tampilan dari layer Background, dengan cara klik pada

www.infolinux.web.id

 Klik pada lambang layer Mask yang terdapat pada sebelah kanan layer Mata. Sehingga layer mask sekarang menjadi layer yang aktif.  Sekarang lakukan masking dengan menggunakan Air Brush Tool atau Paint Brush Tool. Untuk contoh kali ini, gunakan Air Brush Tool.  Terapkan parameter Brush sebagai berikut:  Radius : Menyesuaikan kebutuhan.  Tekanan (pressure) : 50 sampai dengan 75.  Lakukan masking, hingga didapat seleksi bola mata yang lebih akurat.

Gambar 9. Tool 3 Color Picker untuk mengatur ulang White Balance.

Sedangkan langkah-langkah yang harus dilakukan untuk menyesuaikan White Balance dari Layer Mata ini adalah sebagai berikut:  Menentukan area hitam pekat.  Klik pada tombol color picker

INFOLINUX  02/2008

55

TUTORIAL GIMP untuk warna hitam pekat, kemudian klik pada layer mata, tentukan bagian mana dari mata yang seharusnya Anda kehendaki menjadi hitam pekat.  Setelah Anda menentukan area hitam, maka seluruh layer Mata akan menyesuaikan diri.  Menentukan area putih terang.  Klik pada tombol color picker untuk warna putih terang, kemudian klik pada layer mata, tentukan bagian mana dari mata yang seharusnya Anda kehendaki menjadi putih terang.  Setelah Anda menentukan area terang, maka seluruh layer Mata akan menyesuaikan diri. Sekarang Anda telah mendapatkan mata yang bening, tajam bercahaya, tetapi terasa ada yang janggal. Apa itu? Sekarang, munculkan kembali Layer Background, dengan mengaktifkan tanda mata di sebelah kiri layer. Sekarang Anda dapat menyaksikan, bahwa kedua bola mata tersebut menempel secara tidak alami pada potret wajah. Perlu pembenahan lebih lanjut, agar “Mata Indah, Bening Bercahaya” itu dapat menempati posisinya tanpa mengurangi kesan alami dari potret keseluruhan, agar tetap terjaga keterpaduan foto. 6. Mengubah Mode Blending (layar/ screen) agar Tampak Lebih Bening dan Bercahaya Seperti biasanya, untuk melakukan “pencampuran” antara nukilan foto mata pada Layer Mata dengan foto potret wajah secara keseluruhan pada layer Background, dapat tampil lebih alami, yang perlu diperhatikan adalah penggunaan teknik pencampuran layer (mode blending) yang tepat. Pertama, kita ingin mendapatkan mata yang bening bercahaya, namun dengan tampilan yang lebih alami. Mode blending yang dapat dipergunakan untuk mendapatkan efek tersebut adalah penggunaan mode blending: layar/screen. Nah, sekarang ubah mode blending layer Mata, dari Normal menjadi Layar/Screen.

56 02/2008  INFOLINUX

Gambar 9. Potret wajah setelah layer mata diubah mode blending-nya menjadi layar (screen).

7. Menyalin dan Mengubah Mode Blending (Overlay) agar Tampak lebih Kontras dan Tajam Sekarang kita sudah mendapatkan mata yang bening bercahaya, dengan tampilan yang lebih alami. Namun demikian, kekontrasan dan ketajaman mata jadi berkurang dengan terjadinya peningkatan cahaya sorot mata. Salah satu cara untuk meningkatkan kembali kekontrasan dan ketajaman mata, salah satu caranya kita bisa menyalin layer Mata dan mengubah mode Blending-nya, menjadi overlay. Salin layer Mata, kemudian ubah mode Blending-nya dari semula dengan mode Layar/Screen, ubah menjadi mode Overlay.

Gambar 10. Potret wajah setelah layer mata disalin dan diubah mode blending-nya menjadi overlay.

8. Mengubah Opacity Layer agar Tampak Lebih Alami Jika hanya mengandalkan pada penggunaan Layer Mata dengan mode blending Screen/Layar, walaupun sekarang tampilan sudah menjadi lebih alami, tetapi tetap kurang alami karena sorot mata terlalu bercahaya. Sebaliknya, dengan penambahan layer Mata dengan Mode blending

Overlay, kita dapat memperoleh kembali kekontrasan mata yang baik dan ketajamannya. Namun dengan demikian, kejernihan dan cahaya mata jadi jauh berkurang, juga mata terasa terlalu kontras dan tajam. Untuk mengatasi hal tersebut, kita dapat mengaturnya dengan cara pengaturan Opacity dari kedua Layer Mata tersebut. Sedangkan, langkahlangkahnya adalah sebagai berikut:  Mengatur Opacity Layer dengan Blending Mode Screen/Layar  Pilih Layer Mata yang Menggunakan mode blending Screen/ Layar.  Ubah nilai Opacity dari layer tersebut, pertahankan agar nilainya cukup tinggi. Sekitar nilai 45-75 adalah nilai yang cukup optimal.  Pada contoh kasus ini, pergunakan nilai Opacity: 50%.  Mengatur Opacity Layer Teratas (Dengan Blending Mode Overlay)  Pilih Layer Mata teratas, yaitu layer yang menggunakan mode blending Overlay.  Ubah nilai Opacity dari layer tersebut, pertahankan agar nilainya cukup kecil. Sekitar 25-45, adalah nilai yang cukup optimal.  Pada contoh kasus kali ini, pegunakan nilai Opacity sebesar 30%. Sekarang Anda telah mendapatkan sepasang mata yang indah, bening, dan bercahaya. Namun tetap menjaga detail-detail pada mata, sehingga tetap berkesan alami.

Gambar 11. Mata indah bening bercahaya.

Suwondo [[email protected]]

www.infolinux.web.id

IKLAN

TUTORIAL WIRELESS

Akses Internet Wireless

U

ntuk terkoneksi secara mobile, sudah tersedia beragam pilihan akses Internet

secara wireless. Di antaranya dengan menggunakan hotspot, GSM, dan CDMA. Untuk terkoneksi, Anda dapat menggunakan peralatan wireless di Linux melalui USB, PCMCIA, PCI/onboard, atau Bluetooth.

Setiap Anda memasang peralatan baru seperti kartu wireless, GSM, atau CDMA, ketikkan perintah lspci untuk mengetahui apakah peralatan itu sudah dikenali oleh Linux Anda: [root@support ~]# lspci ... 02:00.0 Ethernet controller: Atheros Communications, Inc. AR5211 802.11ab

Tampilan di layar itu menunjukkan bahwa peralatan Anda adalah wireless 802.11ab dengan nama chipset Atheros. Driver wireless Atheros biasanya dapat digunakan dengan menginstal paket driver dari madwifi. Alternatif lainnya adalah menggunakan driver untuk Windows yang disertakan dalam CDROM dari pabrik pembuat peralatan wireless. Program Linux untuk menginstal driver wireless Windows di Linux adalah ndiswrapper. Jika driver telah bekerja baik di Linux biasanya dikenali sebagai ath0, atau eth1, atau wlan0, tergantung pada nama chipset dan drivernya. Peralatan GSM dan CDMA dengan kabel USB biasanya dikenali sebagai /dev/ttyUSB0. Sedangkan, peralatan GSM/CDMA yang menggunakan bluetooth biasanya membutuhkan setting khusus dan akan dikenali sebagai /dev/rfcomm0.

58 02/2008  INFOLINUX

Menginstal Driver Wireless Anda tidak perlu menginstal driver jika peralatan wireless telah berfungsi baik, misalnya ditunjukkan dengan perintah “iwlist scan” atau “iwconfig”. Namun jika Linux Anda tidak langsung dapat mengaktifkan peralatan wireless, Anda dapat mencoba menginstal ndiswrapper. Ndiswrapper berguna untuk menginstal driver yang sebenarnya ditujukan untuk Windows. File yang dibutuhkan untuk menginstal driver Windows ke Linux berekstensi .inf. Kadang Linux juga membutuhkan file firmware yang berekstensi .bin. Berikut ini contoh perintah menginstal driver wireless rt61.inf dan meng-copy file firmware ke direktori /lib/firmware:

nama jaringan access point atau essid “rw05”.

Mengakses Hotspot dengan Command Jika Anda tidak tahu nama access point atau essid, jalankan perintah “iwlist scan” untuk melihat apakah ada access point atau peralatan yang menyediakan akses jaringan wireless. Berikut ini contoh perintah dan hasilnya: # iwlist scan ath0 Scan completed : Cell 01 - Address: 00:18:39: A1:69:94 ESSID:”rw05” Mode:Master Frequency:2.432 GHz (Channel 5)

# ndiswrapper -i rt61.inf # ndiswraper -m

Quality=25/70 level=-70 dBm

# cp rt2661.bin /lib/firmware/

Setelah driver wireless berfungsi, Anda dapat menggunakannya untuk mengakses Hotspot atau jaringan wireless yang ada di kantor, perumahan, mall, bandara, dan tempat umum lainnya. Ada beberapa cara mengakses hotspot, antara lain melalui command line (terminal atau konsol) dan melalui menu di GUI (X Window). Contoh berikut ini menggunakan kartu/USB wireless dengan chipset Atheros dan hotspot dengan

Signal

Noise level=-95 dBm

Encryption key:on ...

Hasil “iwlist scan” menunjukkan bahwa interface wireless ath0 mengenali ada sebuah access point (Cell 01) dengan nama jaringan atau ESSID “rw05” dan Encription key “on”. Artinya, Anda harus menggunakan password untuk menghubungkan Linux dengan access point “rw05”. Address dan Frequency dapat digunakan untuk memastikan Anda tidak mengakses access point dengan

www.infolinux.web.id

TUTORIAL WIRELESS nama “rw05” lainnya (kalau ada). Pemberian essid dan key bisa dilakukan melalui terminal/konsole dengan menggunakan perintah iwconfig. Contoh berikut ini untuk mengakses essid “rw05” dengan password “1234abcdef” dan mode “Managed” sebagai default. Mode Managed di Windows biasanya disebut mode infrastructure. Password atau key heksadesimal ini dapat menggunakan angka antara 0 hingga 9 dan huruf a hingga f, huruf kecil atau besar sama saja. # iwconfig ath0 essid “rw05” key “1234abcdef”

Jalankan perintah iwconfig tanpa opsi beberapa kali untuk melihat apakah komputer Anda sudah terhubung dengan jaringan wireless “rw05”. Jika sudah berhasil, akan ada alamat hardware (MAC address) dari access point dengan nama essid “rw05” tersebut. # iwconfig wlan0 IEEE 802.11b

ESSID:”rw05”

Nickname:”” Mode:Managed

Frequency:2.432 GHz

Access Point: 00:18:39:A1:69:94 ...

Hotspot biasanya menyediakan juga server DHCP, sehingga Anda cukup menjalankan sebaris perintah berikut ini untuk setting alamat IP, gateway, dan DNS: [root@support ~]# dhclient ath0

Gunakan perintah ifconfig untuk melihat alamat IP yang diterima, kemudian “route -n” untuk melihat alamat gateway, dan “cat /etc/ resolv.conf” untuk melihat alamat server DNS. # ifconfig # route -n # cat /etc/resolv.conf

Jika tidak ada fasilitas DHCP, berikan alamat IP komputer, gateway, dan DNS dengan tiga baris perintah berikut ini (contoh alamat IP 192.168.1.250, gateway 192.168.1.1, dan DNS 202.134.0.155): # ifconfig ath0 192.168.1.250 # route add default gw 192.168.1.1 # echo “nameserver 202.134.0.155” > /etc/resolv.conf

www.infolinux.web.id

Mengakses Hotspot dengan GUI Berikut ini langkah-langkah setting wireless dan IP melalui menu di GUI (X Window) pada distro Linux Ubuntu atau turunannya seperti BlankOn 2. 1. Klik menu System > Administration > Network. 2. Pilih Wireless connection yang telah dikenali, lalu klik Properties. 3. Klik “Anable roaming mode” jika Anda akan berhubungan dengan access point yang tidak menutup ESSID dan tidak memerlukan password. 4. Kosongkan Anable jika ESSID harus diisi secara manual dan atau membutuhkan password. Isikan ESSID, Password type, dan Network password atau key. Pada bagian “Connection Setting” pilih Configuration: Automatic configuration (DHCP), jika access point menyediakan akses ke server DHCP (Lihat Gambar 1). 5. Sebaliknya, jika Anda ingin memberikan alamat IP secara manual, pilih Configuration: Static IP address (Lihat Gambar 2). Masukkan alamat IP sesuai yang tersedia di jaringan Anda, misalnya 192.168.1.250, Sub netmask misalnya 255.255.255.0, dan gateway misalnya 192.168.1.1, lalu klik OK. 6. Untuk mengaktifkan konfigurasi yang baru Anda ubah, beri tanda cek [V] pada pilihan “Wireless Connection”. Tunggu beberapa saat hingga tanda mencari akses telah berhasil atau gagal (diam). 7. Coba hasilnya dengan mengakses alamat web di Internet. Jika belum berhasil, cek kembali setting wireless, lalu reboot Linux untuk memastikan Linux telah otomatis mengakses jaringan wireless di hotspot.

ttyS0 atau /dev/ttyS1. Jika Anda menggunakan kabel data USB yang tidak bermasalah di Linux, misalnya dengan kode MA (Moblie Action) dan DKU-5, Linux akan mengenalinya sebagai /dev/ttyUSB0 atau yang serupa. Untuk menguji apakah kabel USB untuk ponsel GSM atau CDMA dapat digunakan untuk mengakses Internet melalui GPRS/3G/CDMA, jalankan program bernama wvdialconf. Berikut ini contoh perintah wvdialconf dan hasilnya: # wvdialconf /etc/wvdial.conf Editing `/etc/wvdial.conf’. Scanning your serial ports for a modem. ... ttyUSB0<*1>: Speed 57600: AT -- OK ttyUSB0<*1>: Speed 115200: AT – OK ...

Hasil di atas menunjukkan Anda dapat menggunakan internet wireless dengan GSM/CDMA melalui antarmuka /dev/ttyUSB0. Agar memudahkan setting selanjutnya, buatlah soft link atau short cut /dev/ ttyUSB0 menjadi /dev/modem. # ln -sf /dev/ttyUSB0 /dev/modem

Berikut ini contoh isi file konfigurasi (/etc/wvdial.conf) untuk mengakses internet melalui GPRS Indosat Matrix: [Dialer Defaults] Modem = /dev/ttyUSB0 Init1 = ATZ Init3 = AT+CGDCONT=1,”IP”,”sateli ndo gprs.com”,””,0,0 Stupid Mode = 1

Setting modem GSM/CDMA Jika Anda menggunakan kartu PCMCIA sebagai modem dialup, GSM, atau CDMA, Linux biasanya mengenali sebagai port serial /dev/

Gambar 1. Wireless dengan key dan DHCP.

INFOLINUX  02/2008

59

TUTORIAL WIRELESS Phone = *99***1# ISDN = 0 Username = wap Password = wap123 Baud = 115200

Lanjutan isi file konfigurasi ini untuk mengakses internet melalui CDMA Telkom Flexi: [Dialer flexi] Modem = /dev/ttyUSB0 Init = AT+crm=1 Init3 = AT+cso=33 Modem Type = Analog Modem Phone = #777 ISDN = 0 Username = telkomnet@flexi Password = telkom Baud = 115200

Cara mengaktifkan melalui terminal adalah dengan perintah wvdial (Defaults ke Matrix) atau wvdial flexi (ke Telkom Flexi). Untuk memutuskan, tekan Ctrl+C. # wvdial # wvdial flexi

Jika tidak suka dengan wvdial, Anda dapat menggunakan menu System – Administration – Network, dengan langkah-langkah berikut ini. Contoh ini menggunakan GPRS Indosat Matrix: 1. Pada menu General, pilih Modem Connection, lalu pada jendela ppp0 properties pilih Enable this connection. Masukkan telephone number dengan *99***1#, Username wap, dan Password wap123. Angka 1 pada nomor *99***1# menyesuaikan dengan konfigurasi di ponsel. Lihat Gambar 3. 2. Pindah ke menu Modem, isi Modem port dengan /dev/modem atau nama lain sesuai sambungan peralatan ke komputer. Pilih Dial type Tone, dan atur Volume suara modem sesuai kesukaan Anda. Lihat Gambar 4. 3. Pindah ke menu Options, lalu pilih Set modem as default route to internet, use the internet service provider nameservers, dan biarkan kosong Retry if the connection breaks or fails to start. Lihat Gambar 5.

60 02/2008  INFOLINUX

4. Klik OK. Untuk mengaktifkan konfigurasi baru, beri tanda cek [V] pada kotak pilihan Modem Connection. Tunggu beberapa saat, kemudian coba dengan cara mengakses alamat web site di Internet.

Setting Bluetooth Anda dapat menggunakan fasilitas bluetooth yang tersedia di ponsel untuk mengakses Internet melalui PC atau laptop. Dengan Bluetooth dan GSM/ CDMA, komputer Anda benar-benar dapat mengakses Internet tanpa kabel, seperti mengakses Wi-Fi hotspot. Jika komputer Anda belum dilengkapi bluetooth, dapat membeli USB bluetooth dongle yang harganya antara Rp50.000 hingga Rp100.000. Berikut ini contoh cara setting bluetooth untuk koneksi Internet melalui ponsel GSM, dengan Linux Ubuntu 7.10 atau BlankOn 2: 1. Pastikan paket gnome-blue sudah terinstal, atau lakukan instal dengan perintah berikut: # apt-get install gnomebluetooth

KY-BT100 Bluetooth Adapter ...

3. Gunakan teks editor apa saja, misalnya gedit untuk mengedit file /etc/bluetooth/hcid.conf. # gedit /etc/bluetooth/hcid.conf

Pada bagian Options, ganti “security user” menjadi “security auto”. Ganti angka 1234 pada “passkey 1234” menjadi angka lain sebagai password untuk mengakses bluetooth Anda. ... security auto; ... passkey 0208; ...

4. Restart bluetooth dengan perintah berikut ini: # /etc/init.d/bluetooth restart

5. Nyalakan ponsel untuk melakukan pairing bluetooth, dan masukkan password sama dengan passkey. 6. Cari alamat hardware (MAC address) bluetooh handphone dengan perintah “hcitool scan”. # hcitool scan Scanning …

2. Pasang USB bluetooth dongle, lalu cek apakah berhasil dikenali Linux dengan perintah lspci atau lsusb. # lsusb

00:0E:07:52:1E:03 T610

7. Cari nomor channel dial-up networking (DUN) dengan perintah “sdptool searh DUN”.

...

# sdptool search DUN

Bus 002 Device 006: ID 1131:1001

Inquiring …

Integrated System Solution Corp.

Searching for DUN on

Gambar 2. Setting Static IP.

Gambar 3. Setting nomor telepon, username, dan password.

www.infolinux.web.id

TUTORIAL WIRELESS ISDN = 0 Phone = *99***3# Username = “xlgprs” Password = “proxl”

[Dialer tsel] Modem = /dev/rfcomm0 Baud = 460800 Init1 = ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0 Init3 = at+cgdcont=4,”ip”,”telk Gambar 4. Setting modem.

Gambar 5. Setting options.

omsel”

00:0E:07:52:1E:03 …

eli

Modem Type = Analog Modem

Service Name: Dial-up Networking

ndogprs.com”

ISDN = 0

...

Modem Type = Analog Modem

Phone = *99***4#

Channel: 1

ISDN = 0

Username = “wap”

...

Phone = *99***1#

Password = “wap123

Username = “wap”

8. Edit file /etc/bluetooth/rfcomm. conf untuk memasukkan MAC address dan channel DUN, sehingga contoh isinya sebagai berikut: rfcomm0 { bind yes; device 00:0E:07:52:1E:03; channel 1; comment “Bluetooth PPP Connection”; }

9. Jalankan perintah berikut ini untuk mengaktifkan device rfcomm dengan nilai bind 0, MAC address 00:0E:07:52:1E:03, dan channel 1 sesuai hasil perintah-perintah sebelumnya.

Password = “wap123”

11. Jika Anda menggunakan nama GSM lain, misalnya IM3, XL, atau Telkomsel, ganti angka 1 pada baris Init3 dan Phone sesuai dengan setting di ponsel Anda, juga Username dan Password sesuai dengan ketentuan masingmasing operator GSM. Berikut ini contoh konfigurasi untuk ponsel penulis dan ketiga operator tersebut: [Dialer im3] Modem = /dev/rfcomm0 Baud = 460800 Init1 =ATZ Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0

# rfcomm bind 0 00:0E:07:52:1E:03

Init3 = at+cgdcont=2,”ip”,”indos

1

atgprs” Modem Type = Analog Modem

10. Untuk koneksi dial-up ke Internet dengan wvdial, edit file /etc/ wvdial.conf untuk memasukkan device /dev/rfcomm0, dan kode init sesuai operator GPRS. Dalam contoh di bawah ini menggunakan GSM Matrix.

ISDN = 0 Phone = *99***2# Username = “indosat” Password = “indosat”

[Dialer xl]

# wvdial matrix # wvdial im3 # wvdial xl # wvdial tsel

13.Untuk menghentikan koneksi, tekanlah Ctrl-C pada terminal yang menjalankan wvdial. 14. Jika koneksi sering putus sendiri, edit file /etc/ppp/options, dengan mengubah “lcp-echo-failure 4” menjadi “lcp-echo-failure 0”, dan hapus baris “lcp-echo-interval 30” atau beri pagar (#) di depannya. 15. Jika Anda berganti ponsel, lakukan ulang mulai langkah “hcitool scan” dan “sdptool search DUN” untuk mengedit isi file /etc/bluetooth/rfcomm.conf. Lalu jalankan “rfcomm bind release 0” sebelum “rfcomm bind 0 ”. Ganti dan sesuai hasil perintah hcitool dan sdptool.

Modem = /dev/rfcomm0

[Dialer matrix]

Baud = 460800

Modem = /dev/rfcomm0

Init1 = ATZ

Baud = 460800

Init2 = ATQ0 V1 E1 S0=0 &C1 &D2

Init1 =ATZ

+FCLASS=0

Init2 = ATQ0 V1 E1 S0=0 &C1 &D2

Init3 = at+cgdcont=3,”ip”,”www.

+FCLASS=0

xlgprs.net”

Init3 = at+cgdcont=1,”ip”,”sat

Modem Type = Analog Modem

www.infolinux.web.id

12.Untuk memulai koneksi ke internet, jalankan perintah “wvdial nama-dialer”, misalnya:

Untuk mencoba hasilnya, jalankan browser web untuk mengakses sebuah website di internet. Jika belum berhasil, cek alamat IP dan DNS dengan perintah ifconfig dan cat /etc/resolv.conf. Rusmanto [[email protected]]

INFOLINUX  02/2008

61

TUTORIAL GTK+

GTK+ dengan Berbagai Bahasa Pemrograman Bagian 2 dari 3 Tulisan

G

TK+ adalah salah satu GUI toolkit populer di Linux. Banyak sekali program GUI

yang telah dibangun dengan GTK+. Beberapa contoh populer adalah GNOME, Xfce, dan GIMP. Di edisi sebelumnya, kita sudah membahas penggunaan GTK+

dengan bahasa C dan membahas beberapa widget dasar, container, dan signal. Di edisi ini, kita akan membahas penggunaan GTK+ dengan bahasa Python. Bagi Anda yang mengikuti pembahasan sebelumnya, bisa melihat bahwa penggunaan GTK+ dan bahasa C terkadang cukup merepotkan. Casting dilakukan di mana-mana dan untuk beberapa tugas sederhana, kita harus menuliskan kode yang cukup panjang. Bagi Anda yang enggan menggunakan C, salah satu alternatif yang bisa diandalkan adalah penggunaan GTK+ dengan bahasa python, menggunakan proyek pygtk (http://www. pygtk.org). Python, seperti yang kita ketahui bersama adalah bahasa berorientasi objek dengan sintaks yang jelas, kaya modul dan relatif mudah dipahami. Python juga digunakan oleh berbagai perusahaan besar seperti Red Hat dan Google. Dengan mengombinasikan GTK+ dan Python, kita bisa membangun aplikasi GUI multiplatform yang kaya dengan relatif mudah dan cepat. Seperti pada pembahasan sebelumnya, kita akan mulai membahas berbagai widget dasar, container, dan signal. Jumlah widget yang kita bahas sedikit lebih banyak apabila dibandingkan dengan pembahasan sebelumnya. Semua contoh yang kita bahas adalah free software dan dilisensikan di bawah GPL. Semua contoh yang

62 02/2008  INFOLINUX

ada dibangun di atas distribusi Linux singkong 1.0 (http://noprianto.com/ singkong.php), kompatibel dengan Slackware 12, namun seharusnya bisa diterapkan pada distribusi lain tanpa masalah. Versi GTK+ yang digunakan adalah 2.10.23 dan versi Glib yang digunakan adalah 2.12.12. Versi pygtk yang digunakan adalah 2.10.6. Secara default, pygtk sudah disertakan di dalam distribusi Linux Singkong. Untuk cara instalasi di sistem lain, bacalah dokumentasi pygtk. Di dalam pembahasan, penjelasan akan dibahas paling banyak pada contoh-contoh pertama dan selanjutnya, hanya pembahasan spesifik contoh akan dilakukan.

Hello World Contoh pertama yang kita bangun adalah program GUI yang terdiri dari satu window top level dengan title Hello World. Berikut ini adalah source code helloworld.py. Pembahasan akan dilakukan setelah source code: #!/usr/bin/python

import pygtk import gtk

class MainWindow: def __init__ (self):

self.window = gtk.Window (gtk. WINDOW_TOPLEVEL) self.window.set_title (“Hello World”) self.window.show()

def main (self): gtk.main()

if __name__ == “__main__”: mainwindow = MainWindow() mainwindow.main()

Kita bisa menjalankan tersebut dengan perintah:

script

python

Recommend Documents

No documents