Bagi orang komputer, mungkin tidak ada peribahasa yang lebih tepat untuk menggambarkan fleksibilitas kemampuan programming dalam memecahkan persoalan. Kemarin malam, saat memberi les kepada satu-satunya murid les saya, ia mendemonstrasikan sebuah gaya berpikir baru yang betul-betul membuat saya terpana.

Semua orang yang pernah belajar programming mungkin pernah membuat program ini. Program untuk menampilkan segitiga siku2 yang terbuat dari karakter *. Misalnya input adalah angka 5, maka outputnya adalah


*
**
***
****
*****


Dalam tradisi belajar-mengajar programming, kita selalu diberi tahu kalau untuk mengerjakan soal di atas, dibutuhkan 2 buah For, yang pertama untuk membuat 5 baris ke bawah, yang kedua untuk menulis * ke samping.

Tapi pernahkah terpikir oleh anda bahwa soal tersebut sebenarnya bisa dipecahkan hanya dengan 1 for saja

Murid saya bisa. Beginilah cara dia mengerjakannya


a = to_integer(get_input())
b = '*'
c = ""
for i = 1 to a
  println b+c
  c=b+c
end


Source code-nya saya tulis dalam bentuk pseudocode, supaya dapat dimengerti dengan mudah

Bisa anda lihat, pendek dan efektif. Membuat saya terkagum-kagum padanya, hingga saya memutuskan untuk mengerjai dia sedikit.

Saya meminta dia untuk membalik output-nya, sehingga tampilannya jadi seperti di bawah ini


*****
****
***
**
*


Seperti dugaan saya, dia tidak bisa mengerjakannya. Bagi orang yang mengerti cara mengerjakan soal terdahulu dengan 2 for, mengubahnya menjadi seperti ini adalah kerjaan mudah. Namun tidak bagi orang yang tidak mengikuti cara pikir tersebut.

Karena itulah, saya sekalian menunjukkan padanya banyak jalan menuju Roma, tidak harus selalu mengikuti jalur berpikir 2 for yang melegenda itu.

Beginilah script yang saya buat


a = to_integer(get_input())
b = ""

for i = 1 to a
  b = b + '*'
end

repeat
  println b
  a = a-1
  b = left(b,a)
until a = 0


Tanggapannya ketika melihat code saya? Dia balik terkesan karena apa yang tadinya dia pikir begitu sulit ternyata dapat dikerjakan dengan mudah (anda yang bisa programming pasti setuju kalau apa yang saya lakukan ini jauh lebih mudah dibanding menggunakan 2 for).

Saya mendapat pelajaran yang sangat bermakna dari dia, dan saya balik memberikan pelajaran yang sama, yang ia berikan pada saya malam itu. Bagaimana dengan anda? Sudahkah anda menemukan jalan lain menuju Roma, yang pemandangan di sepanjang jalannya lebih indah untuk dinikmati? Kalau iya, berbagilah dengan yang lain

Terkadang, kita tidak bisa menghindar untuk menggunakan terminal di Linux, karena bagaimanapun juga terminal adalah bagian yang sangat vital dari system Linux.

Untuk itu saya ingin menuliskan sedikit perintah2 terminal menarik yang saya ketahui di sini, dengan tujuan kalau saya lupa saya bisa kembali ke blog ini untuk mencarinya :p

Selamat menyimak


man nama-program dapat digunakan untuk mengetahui opsi-opsi dari suatu program yang seringkali tidak kita ketahui. Namun bagaimana kalau yang tidak kita ketahui justru nama programnya? jawabannya adalah
$ man -k 'deskripsi'
perintah ini akan menampilkan semua nama program yang sesuai dengan deskripsi yang diberikan. Jadi jika ingin tahu program apa saja yang berhubungan dengan PDF, ketik saja $ man -k 'pdf'

Sering blusukan di terminal untuk pergi ke folder-folder system? Saya juga. Payahnya, setelah saya mendarat di folder yang cukup dalam, saya butuh untuk kembali ke folder home user saya. Dan mengetikkan perintah $ cd /home/nama_user cukup menyebalkan. Untungnya kok ya yang buat terminal juga ngerti penderitaan saya. Ia memberikan shortcut yang mudah. cukup jalankan
$ cd
maka terminal akan berpindah ke folder home/nama_user

Pernah kebingungan mencari dimana letak program anda? Misalnya anda ingin tahu dimana letak file firefox? Jalankan perintah
$ whereis firefox
Terminal akan menampilkan letak program yang anda cari

Lupa dimana anda berada sekarang karena terlalu semangat blusukan di directory? Ketik
$ pwd
Terminal akan menampilkan lokasi anda sekarang. Dan kalau anda kesulitan menyambungkan pwd dengan letak directory anda (karena secara reflek kita menyingkat password sebagai pwd), ingatlah bahwa pwd berarti print working directory. Sekarang jadi cukup nyambung khan?

Bagi mereka yang bahasa Inggrisnya pas-pasan, membaca artikel dalam bahasa Inggris adalah hal yang melelahkan. Terutama jika banyak kata2 yang tidak diketahui artinya. Untuk membantu menerjemahkan, biasanya di Windows kita menggunakan program Linguist.

Bagi kita para pengguna linux, bersyukurlah karena ada orang-orang baek yang membuatkan kembarannya Linguist. Namanya gKamus. Program ini berfungsi sebagai kamus 2 arah, menerjemahkan bahasa Indonesia ke Inggris dan sebaliknya



Untuk mendapatkannya, silahkan download di gkamus.sourceforge.net

Saya sendiri memperolehnya dari majalah InfoLinux

Saran Instalasi

Saya menggunakan Ubuntu Hardy, dan file deb tidak bisa diinstall di tempat saya
jadi saya menggunakan file instalasi berekstensi tar.gz

Untuk melakukan instalasi dari file tar.gz, ikuti langkah berikut
1. Install dulu libgtk2.0-dev
2. Ekstrak file tar.gz
3. Buka terminal, masuk ke directory hasil ekstrak, jalankan 3 perintah keramat : ./configure, make, make install (sebaiknya sebagai super user / sudo)

Kalau masih gagal juga, lihat pesan error saat anda melakukan perintah ./configure
kemungkinan ada program lainnya yang perlu di install, seperti compiler c++ misalnya

Selamat mencoba, semoga membantu

Kalau ada satu fasilitas di Windows Explorer yang membuat saya merasa kangen saat memakai Ubuntu, itu adalah kemampuannya untuk melakukan klik-kanan->Search File. Untungnya rindu itu nggak berlangsung lama, karena saya menemukan cara untuk melakukan hal yang sama di Ubuntu.

Caranya adalah dengan menggunakan Nautilus-Script

gampangnya, simpanlah teks dalam quote berikut ini dalam sebuah file. Bagi yang get-lost, buka Text Editor, copy teks dibawah ini, paste di teks editor, simpan dan beri nama misalnya :
Cari File


#!/bin/bash

#Search file in selected dir of nautilus.
##########################################################################
# Nautilus "Search" Script #
##########################################################################
# #
# Created by Xinyu Du #
# Emails: glacier_05@yahoo.com.cn #
##########################################################################
if [ "$1" = "" ];then
wdir=${NAUTILUS_SCRIPT_CURRENT_URI#file://}
wdir=${wdir//%20/ }
else
filetype=$(file "$1")
filetype=${filetype##*: }

if [ "$filetype" = "directory" ];then
wdir=${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS%%$1*}
wdir=$wdir/$1
else
wdir=${NAUTILUS_SCRIPT_SELECTED_FILE_PATHS%%$1*}
fi
fi
gnome-search-tool --path="$wdir"


sekarang copy file tersebut ke dalam folder /home/nama_user_anda/.gnome2/nautilus-scripts
bagi yang tidak bisa menemukan folder .gnome2, pada file manager klik menu view lalu pilih Show Hidden Files. Dan sekarang anda akan bisa menemukan folder .gnome2

Setelah itu, klik kanan file "Cari File", pilih properties
Masuk ke tab Permission, pastikan Allow Executing File As Program di centang.

Sekarang, jika anda klik kanan di file manager, akan muncul menu baru bernama Scripts. Tunjuk Scripts dan sub-menu "Cari File" akan muncul (sesuai dengan nama file yang anda buat)

Sekarang kita bisa mencari file dimana saja dengan klik-kanan->scripts->cari file


Tambahan Tips

Nautilus Script adalah fasilitas untuk memperluas fungsi Nautilus (file manager Ubuntu). Ada banyak sekali nautilus-script yang beredar di internet sono. Fungsinya pun bermacam2. Beberapa yang saya rasakan berguna adalah :
- enqueue lagu di Audacious
- mengubah file menjadi executable
- send to (mirip send to flashdisk-nya windows)
- show md5 (untuk mengecek ke-valid-an file yang didownload dari internet)

Selamat mencoba

Kangen sama tombol Super+E untuk memanggil file manager?
Atau sama tombol Ctrl+Alt+PgDown untuk mengganti lagu di winamp?

Kemampuan semacam ini disebut global hotkey. Dengan menggunakan global hotkey ini, kita dapat mengontrol program lain tanpa harus mengakses program itu. Misalnya kita dapat mengganti lagu di Winamp selagi mengetik di Word tanpa harus berpindah ke winamp.

Secara default di Ubuntu memang ga ada fasilitas itu. Tapi bukan berarti Ubuntu tidak bisa melakukan itu. Kita bisa mendapatkan fasilitas yang sama dengan sedikit bantuan dari program bernama Ubuntu Tweak.

Download Ubuntu Tweak di sini.

Download aja versi Deb-nya. Memang aslinya sih untuk Jaunty, tapi sudah saya coba di Hardy tetep jalan baik2 aja kok. Jadi cuex aja.

Setelah dapet, install (bagi yang ga tau, double click aja tuh file). Selesai install, di Main Menu bagian System Tools akan ada menu baru bernama... Ubuntu Tweak tentu saja

Sekarang jalankan Ubuntu Tweak, dan petualangan kita di mulai disini

Ada banyak menu di bagian kiri window Ubuntu Tweak, silahkan bongkar sendiri sesukanya (tanpa garansi, resiko ditanggung penumpang). Jika sudah puas melihat-lihat, sekarang mari kita setting global hotkey-nya.

Klik menu Personal, lalu pilih Shortcut.
Sekarang di bagian kanan akan tampil tabel yang di kolom paling kiri (ID) tertulis Command1, Command2 dst. Jika anda melihat tabel yang saya maksud, anda berada di tempat yang tepat. Dan sekarang mari kita mulai menciptakan global hotkey

Super+e untuk memanggil file manager
diasumsikan di baris Command1
klik di kolom Command, ketikkan nautilus
klik di kolom Key, akan muncul window dengan tulisan "Please press the new key combination", sekarang tekan Super+e

Sekarang coba tekan Super+e, maka nautilus (file manager default Ubuntu) akan muncul

Dengan mengikuti cara diatas kita dapat menyetting perintah sebagai global hotkey, dengan catatan semua perintah yang di setting harus bisa dijalankan lewat terminal

berikut beberapa perintah yang saya gunakan di global hotkey
Super+t = gnome-terminal (maklum, terkadang merasa butuh)
Super+spasi = gnome-do

Sekedar saran, kombinasi Ctrl+spasi sebaiknya dihindari karena banyak dipake di editor pemrograman untuk fitur auto-complete.

OK, sekian dulu. Selamat mencoba