Kamis, 30 Oktober 2008

Apa Hebatnya Linux ?

Misalkan kita sedang punya proyek membangun aplikasi client-server. Biasanya sebagai software-engineer, pekerjaan kita akan meliputi:

* Membuat dokumentasi proyek (proposal, laporan, dll).
* Desain program.
* Implementasi program.
* Testing program.

Untuk mengerjakan hal-hal diatas, kita perlu tempat kerja yang lengkap, misalnya:

* Windows Desktop dengan MS Office untuk dokumentasi, dan CASE-tools untuk desain.
* Linux Desktop untuk membangun program, pakai JBuilder.
* Dua Linux Server untuk testing program client-server yang sedang kita buat.

Dengan kebutuhan seperti itu, paling tidak kita perlu empat komputer seperti diagram berikut.

Namun tunggu dulu. Apa maksudnya di diagram tersebut hanya satu komputer yang gelap, lainnya putih ? Jawabnya, karena yang putih adalah virtual. Hanya yang gelap komputer nyata dengan sistem operasi Linux. Yang putih adalah sistem operasi maya berupa User Mode Linux (UML) dan Win4Lin. Mari kita lihat ...

KOMPUTER

Menjalankan sistem berat seperti ini, kita perlu komputer lumayan. Di sini, komputer yang dipakai adalah:

* Pentium IV 2.4 GHz
* RAM 512 MB
* HD 40 GB + 20 GB. Di konfigurasi jadi RAID0 biar aman.
* Monitor 17" agar layarnya cukup luas.

Tidak murah memang, tapi jauh lebih murah dibanding beli 4 komputer plus network.

LINUX DESKTOP

Di atas komputer tersebut kita perlu Linux sebagai sistem operasi induk. Syarat yang perlu dipertimbangkan a.l:

* Stabil. Kalau tidak stabil, digenjot seperti ini pasti akan hung melulu.
* Minimalist. Tentu saja, dengan beban sebanyak ini, kita harus hemat memakai harddisk maupun memori.
* Kencang. Ini membuat hemat waktu CPU.
* Mudah dioprek. Apa boleh buat, mau gila-gilaan seperti ini pasti tangan harus kotor mengurusi instalasi, kompilasi dan konfigurasi.
* Punya GUI, dilengkapi dengan Windows Manager yang punya virtual screen.

Dengan alasan-alasan diatas, akhirnya sistem ini pakai Vector Linux 4.0 (sebelumnya sudah pakai Redhat lalu Slackware, tapi tidak memuaskan). Untuk sistem ini, Vector Linux 4.0 kemudian perlu ditambah:

* Win4Lin + Windows 98. Lalu didalam Win4Lini ini kita install aplikasi for Windows yang perlu yaitu MS Office dan Rose CASE Tools.
* User Mode Linux
* JBuilder (JDK included)

Setelah semua terpasang, kita bisa mulai bekerja. Di sini kita pakai GUI XFCE4 yang punya 4 virtual screen.

SCREEN 4: WIN4LIN

Di layar ini kita akan menulis dokumentasi dan mendesain program. Untuk itu kita luncurkan Win4Lin. Produk ini mampu menjalankan sistem operasi Windows lengkap di atas Linux. Dengan demikian kompatibilitas dan kestabilannya lebih tinggi dibanding wine atau crossover.

Lihat gambar, bagaimana ada satu desktop Windows 98 lengkap di situ. Di dalam Windows 98 virtual itu, kita bisa jalankan berbagai aplikasi for Windows yaitu MS Word dan CASE-Tool. Kita bisa copy-paste antar aplikasi Windows, bahkan juga ke/dari aplikasi Linux.

Win4Lin ini terhubung langsung ke network kampus. Jadi dia bisa akses Internet dan ikut Windows networking kampus sehingga bisa mencetak ke printer kampus.

SCREEN 3: JBuilder

Ini layar dimana kita melakukan pemrograman. Di sini nampak JBuilder sedang beraksi.

Kita bisa menulis program, kompilasi dan debugging seperti biasa. Aplikasi client yang pakai GUI (swing) bisa dijalankan langsung di sini. Sementara itu untuk aplikasi server, kompilasi saja di sini. Menjalankannya, kita pakai UML server seperti berikut.

SCREEN 2: UML SERVER 1 dan 2

Di layar ini kita akan luncurkan UML yang akan menjadi sistem operasi virtual kedua dan ketiga. Sistem UML server ini dipakai untuk testing program client-server Java. Yang jalan adalah:

* UML dengan rootfs pakai distro Vector Linux.
* Masing-masing UML sharing direktori Java dengan Linux Desktop pakai hostfs.
* Virtual network untuk komunikasi ke host, dikonfigurasi sebagai Intranet.
* IP Masquerading di Linux Desktop supaya UML server bisa dihubungi oleh Win4Lin.

Di dalam masing-masing UML kita bisa jalankan program Java yang berfungsi sebagai server. Mereka berkomunikasi dengan program client yang jalan di Linux Desktop. Dengan konfigurasi tersebut, kita bisa mensimulasikan kondisi network yang sesungguhnya.

SCREEN 1: KONTROL

Layar ini kita pakai untuk mengontrol seluruh sistem. Biasanya yang jalan adalah terminal root, terus kita lakukan monitoring (top) maupun konfigurasi dari sini. Juga mengatur server seperti SAMBA (file sharing) dan Apache (web server, diperlukan oleh Java RMI). Lalu tentu saja ... kan capek kerja terus, mari santai dengar musik dari XMMS dan nonton video di Xine seperti berikut.

Cakep kan (yang nyanyi).

Ok, sekarang rekap apa saja yang jalan di sistem ini:

* Banyak sistem operasi (mesin virtual). Kalau mau tambah tinggal luncurkan UML lagi.
* Network virtual, gampang diubah sesuka hati.
* Firewall dengan routing dan masquerading untuk mengatur komunikasi di network.
* Berbagai server: SSH, SAMBA, HTTP.
* Aplikasi Windows: MS Word, Visio, Rose CASE Tools, Internet Explorer.
* Aplikasi Linux: Terminal, Firebird, XMMS, XINE, GIMP (buat capture screen), Bluefish (yang sedang aku pakai nulis ini).
* Aplikasi Java: JBuilder, RMI server, dan program client-server yang sedang dibangun.

Semua itu cuma dalam 1 komputer dan satu monitor. Kita bisa kerja maksimal, tidak capek pindah sana-sini.
Nah, siapa yang masih bertanya "Apa hebatnya Linux (dibanding Windows) ?".

Copyleft : Kocil, 2004
License : GNU FDL
Posted to: www.benpinter.net, 04 Feb 2004.
Testbed : Vector Linux 4.0
Writepad : Vector Linux, Bluefish