1 Lancard, 2 IP

Beberapa waktu lalu, saya sempat menanyakan hal ini kepada rekan-rekan di milis id-ubuntu. Sebenarnya semenjak saya mendapatkan jawabannya, saya ingin langsung mempostingkannya di sini untuk berbagi ilmu. Tapi ternyata saya malas dan lupa :p

Alkisah kantor saya memiliki jaringan komputer dengan konfigurasi yang rada nyeleneh. Untuk intranet, kantor saya perlu mengakses server LAMP (Linux Apache Mysql PHP) pada IP 192.168.0.99. Sementara untuk konek ke internet, komputer harus berada di IP 192.168.1.*

Hal ini sebenarnya dimaksudkan agar karyawan yang tidak berhak mengakses internet tidak bisa melakukannya sambil kerja (karena IP-nya beda). Sedangkan yang berhak mengakses internet kebetulan sekali tidak perlu bekerja dengan server LAMP. Sehingga konfigurasi ini menjadi ideal, kecuali bagi saya si administrator

Sebagai admin, saya harus bisa mengecek intranet sambil browsing2 internet. Pusing karena harus ganti2 IP terus, saya memutuskan untuk meng-google. Ternyata di Linux ada caranya. Semacam virtual Lancard gitu deh. Waktu di coba, gagal.

Akhirnya saya melempar pertanyaan ini ke milist id-ubuntu. Berbekal jawaban dari kawan2, saya coba2 menyesuaikan petunjuk mereka dengan kondisi di kantor saya.

Ternyata, yang perlu dilakukan hanyalah mengedit file /etc/network/interfaces dengan benar. Dan beginilah hasil editan saya

auto lo
iface lo inet loopback

auto eth0
iface eth0 inet static
address 192.168.1.105
network 192.168.1.0
netmask 255.255.255.0
broadcast 192.168.1.255
gateway 192.168.1.1
#kalo mau multi ip
auto eth0:1
iface eth0:1 inet static
address 192.168.0.105
network 192.168.0.0
netmask 255.255.255.0
broadcast 192.168.0.255


Dengan cara ini, saya tidak perlu pusing2 pindah2 IP lagi. Kini komputer saya bisa langsung mengakses keduanya, baik jaringan intranet maupun internet. Senangnya :D

Berikut adalah code snippet ruby yang berguna untuk meringankan beban hidup kita para programmer :)

Mengecek apakah sebuah string berupa bilangan bulat (integer)

num = Integer( variable_yang_dicek ) rescue raise 'error' end


Mengecek apakah sebuah string berupa bilangan pecahan (float)
num = Float( variable_yang_dicek ) rescue raise 'error' end


Mengubah String menjadi Tanggal
time = Time.parse( string_tanggal )

Ruby, Pembuka

Saya sudah banyak sekali mencicipi yang namanya bahasa programming. Ada Pascal, Foxpro Delphi, VB, VB.NET, PHP, Gambas, Python, Java, Ruby dan lainnya yang saya tidak ingat lagi. Berbagai bahasa program itu saya gunakan untuk keperluan yang berbeda pula. Ada yang sekedar untuk belajar, kuliah, sampai membuat aplikasi serius seperti Point of Sales dan Company Profile. Beberapa diantaranya sudah harus masuk museum, banyak lagi yang terabaikan karena kurang saya sukai sedangkan sedikit dari mereka benar2 masuk kategori bagus menurut saya. Dan diantara semuanya, Ruby benar2 berbeda.

Ruby adalah sebuah bahasa scripting. Mirip seperti PHP, hanya saja Ruby lebih general purpose. Mirip seperti Python, hanya saja Python lebih menyebalkan. Ruby mendukung Pemrograman Berorientasi Obyek dengan sangat baik, dengan syntax yang sangat bersih hingga sulit dipercaya, gaya programming yang fleksibel namun tertata baik, disertai modul2 dasar dengan fungsi2 yang bisa membuat programmer bahasa lain iri. Ruby praktis bisa digunakan untuk apa saja, membuat program CLI (Command line interface), Program Web, maupun Program Desktop. Dengan bantuan modul2 tambahan tentunya.

Untuk CLI, Ruby bisa langsung digunakan. Untuk web, belakangan ini di dunia gempar dengan kehadiran RubyOnRails, sebuah framework yang dapat membuat aplikasi web dalam waktu singkat. Konon janjinya apa yang bisa dikerjakan dengan Java Strut dalam waktu bulanan, dapat dikerjakan di Rails dalam hitungan minggu. Saya sendiri tidak mempelajari Ruby untuk web karena secara de facto PHP adalah penguasa daerah ini (baca : mencari hosting Ruby sulit sekali).

Sedangkan untuk Desktop, Ruby dapat memanfaatkan beberapa GUI Library ternama seperti GTK, QT, dan WxWidget. Hanya saja tidak mudah bagi programmer karena tidak tersedia Visual Editor seperti layaknya VB.NET atau Delphi. Namun saya sendiri menemukan cara untuk membuat program desktop dengan cara yang mudah dan cepat menggunakan Ruby dan WxWidget.

Saat ini saya sendiri sedang membuat program dengan menggunakan Ruby, WxWidget untuk GUI, dan Postgresql untuk database. Saya berharap saya akan punya waktu untuk memposting artikel2 mengenai bahasan ini, sekaligus berjaga2 siapa tahu kalau saya membutuhkannya lagi saya bisa membuka blog ini dan melihatnya :)