How to Install and Configure Apache and PHP in Ubuntu
Posted: May 21, 2012 Filed under: Geek-Stuff | Tags: computer science, database, kuliah, linux, programming, ubuntu, webservice Leave a comment »Untuk instalasi dapat dilihat di sini.
Untuk konfigurasi dapat dilihat di sini.
How to Install and Configure PostgreSQL in Ubuntu
Posted: May 21, 2012 Filed under: Geek-Stuff | Tags: basis data, computer science, database, Fasilkom UI, kuliah, linux, programming, ubuntu Leave a comment »Dapat dilihat di sini.
Atau di sini.
The D-day is TODAY!
Posted: May 2, 2012 Filed under: Uncategorized | Tags: concert, l'arc en ciel, music, world tour Leave a comment »Setelah menanti sekitar 5 bulan sejak pembelian tiketnya, akhirnya tiba juga saat yang berbahagia. Tadi siang gw dan temen-temen gw sudah menukarkan vouchernya dengan tiket. Hari ini adalah hari H-nya. Tugas kuliah sudah diselesaikan. Strategi sudah diatur. Suara juga sudah dipersiapkan.
L’Arc~en~Ciel’s 20th Anniversary WORLD TOUR 2012
Jakarta, May 2, 2012, Lapangan D Senayan
HERE I COME!
Musique as Music Player Alternative in Ubuntu
Posted: April 10, 2012 Filed under: Geek-Stuff | Tags: alternative, linux, music, musique, ubuntu Leave a comment »Setelah sekian lama pakai Rhythmbox, ternyata ada beberapa kekurangan yang gw rasakan. Salah satunya adalah setelah beberapa lama memutar lagu tiba-tiba Rhythmbox-nya jadi not responding tanpa alasan yang jelas. Dan kejadian itu sering sekali terjadi. Akhirnya gw pun mencoba mencari alternatif untuk Rhythmbox. Setelah mencari-cari cukup lama, ketemulah sebuah music player namanya Musique. Nah, Musique ini menurut gw cukup bagus dan menurut teman gw yg pernah pakai iTunes, Musique ini mirip iTunes. Dan yang membuat gw sekarang beralih ke Musique adalah karena Musique pun mendukung scrobbling ke Last.fm.
Nah sekarang gw mau berbagi bagaimana cara “meng-install” Musique di Ubuntu khususnya 11.10
- Buka terminal dengan cara favorit Anda. Kalau gw sih Ctrl + Alt + T
-
Masuk ke direktori tempat Anda ingin menyimpan direktori Musique-nya. Untuk mempermudah, misalnya saja di home Anda
$ cd
-
Download archive Musique-nya
$ wget http://flavio.tordini.org/files/musique/musique-linux.tar.gz
-
Ekstrak file tersebut
$ tar xvf musique-linux.tar.gz
Sebuah direktori baru bernama musique akan muncul.
-
Masuk ke direktori musique tersebut
$ cd musique
-
Install dependencies-nya
$ sudo apt-get install libqtgui4 libqt4-xml libqt4-network libqt4-dbus libqt4-sql-sqlite libtag1c2a phonon-backend-gstreamer gstreamer0.10-ffmpeg gstreamer0.10-plugins-bad
-
Musique sudah bisa dijalankan!
$ ./musique
Namun, Musique hanya bisa dijalankan lewat terminal saja kalau seperti ini. Dan kalau Anda tidak sedang berada di direktori tempat executable file musique disimpan, perintahnya jadi lebih panjang
$ ~/musique/musique
Nah, berikut ini langkah-langkah untuk membuat launcher Musique
- Buka terminal (Ctrl + Alt + T)
-
Ketikkan perintah
$ sudo ln -s ~/musique/musique /bin
Dengan perintah ini, kita telah membuat symbolic link di direktori /bin bernama musique yang merujuk ke executable file ~/musique/musique
-
Kita sudah bisa menjalankan Musique dari direktori manapun hanya dengan perintah
$ musique
- Untuk membuat launcher-nya, tutup terminal dan buka aplikasi Main Menu.
- Klik pada kategori menu Sound & Video yang ada di kolom sebelah kiri. Lalu klik pilihan New Item
- Akan muncul kotak dialog untuk membuat sebuah launcher. Isikan type dengan Application serta Command dengan musique. Name dan Comment isikan sesuka hati saja.
- Klik pada icon launcher default di sebelah kiri kotak dialog untuk memberi icon Musique pada launcher kita. Browse ke direktori ~/musique/data dan pilih icon sesuai ukuran yang diinginkan pada direktori masing-masing. Misalnya kalau ingin ukuran 512×512 maka browse ke direktori ~/musique/data/512×512/musique.png
- Setelah selesai klik OK dan launcher Musique pun berhasil dibuat! Musique sudah bisa dijalankan dengan launcher yang kita buat tadi, tidak perlu lewat terminal lagi.
Sekarang tinggal dieksplor sendiri Musique-nya! Happy listening!
Feel free to report any bugs!
(sumber: sini dan pengalaman pribadi)
Add Separator Between Commands in Terminal
Posted: March 29, 2012 Filed under: Geek-Stuff | Tags: linux, ubuntu Leave a comment »Gw dapet tips keren dari sini. Intinya kita bisa ngasih separator di antara command-command kita di terminal. Selain itu, command yang kita ketik juga jadi lebih bold jadi kita bisa lebih ngebedain yang mana yang command dan yang mana yang output. Caranya begini:
-
Salin kode ini ke sebuah file di dalam direktori /home/username/ Anda
# Fill with minuses # (this is recalculated every time the prompt is shown in function prompt_command): fill="--- " reset_style='\[33[00m\]' status_style=$reset_style'\[33[0;90m\]' # gray color; use 0;37m for lighter color prompt_style=$reset_style command_style=$reset_style'\[33[1;29m\]' # bold black # Prompt variable: PS1="$status_style"'$fill \t\n'"$prompt_style"'${debian_chroot:+($debian_chroot)}\u@\h:\w\$'"$command_style " # Reset color for command output # (this one is invoked every time before a command is executed): trap 'echo -ne "\e[0m"' DEBUG function prompt_command { # create a $fill of all screen width minus the time string and a space: let fillsize=${COLUMNS}-9 fill="" while [ "$fillsize" -gt "0" ] do fill="-${fill}" # fill with underscores to work on let fillsize=${fillsize}-1 done # If this is an xterm set the title to user@host:dir case "$TERM" in xterm*|rxvt*) bname=`basename "${PWD/$HOME/~}"` echo -ne "33]0;${bname}: ${USER}@${HOSTNAME}: ${PWD/$HOME/~}07" ;; *) ;; esac } PROMPT_COMMAND=prompt_commandNamai saja file tersebut dengan .bash_ps1
-
Tambahkan kode ini pada file .bashrc di dalam direktori /home/username Anda
if [ -f "$HOME/.bash_ps1" ]; then . "$HOME/.bash_ps1" fi - Restart terminal dan rasakan sendiri bedanya!
Oh iya, selain buat Linux, cara ini bisa juga buat Mac OS kok. Selamat mencoba
Feel free to report any bugs!
Make Your Terminal Greets You!
Posted: March 23, 2012 Filed under: Geek-Stuff | Tags: computer science, linux, programming, shell, terminal Leave a comment »Bagi pengguna Linux, bekerja dengan terminal memang sangat menyenangkan. Salah satu hal yang menyenangkan itu adalah kita bisa membuat terminal “menyapa” kita saat pertama kali terminal itu dijalankan. Caranya mudah sekali. Gw akan menjelaskan caranya untuk Ubuntu 11.10. Bagi Linux distro lain mungkin bisa menyesuaikan.
Dalam direktori /home/username terdapat file bernama .bashrc. File ini, kalau gw gak salah memahami, adalah sebuah script yang akan dijalankan setiap kali terminal (atau shell?) dijalankan. Jadi kita bisa menambah perintah-perintah bash didalamnya sehingga terminal kita bisa “menyapa” kita saat dibuka.
Langkah-langkahnya sebagai berikut:
-
Buka terminal dan pindah ke direktori /home/username Anda.
$ cd /home/$USERNAME
atau
$ cd
-
Edit file .bashrc dengan editor kesayangan Anda. (karena file .bashrc adalah hidden file maka meng-edit-nya mau nggak mau pakai editor seperti vi, vim, dan sebagainya). Misalnya tambahkan perintah
echo "Hai $USERNAME, selamat datang!"
- Simpan perubahan dan restart terminal. Anda akan menemukan bahwa terminal Anda kini bisa “menyapa”!
Selamat mencoba dan semoga bermanfaat yaaa. Silakan bereksperimen dengan perintah-perintah yg lebih kompleks, misalnya saat terminal dimulai, ada script buatan Anda sendiri yang dijalankan terlebih dahulu, dll.
Feel free to report any bugs!
Modify Audio Files’ Tags in Ubuntu
Posted: March 20, 2012 Filed under: Geek-Stuff | Tags: audio, linux, mp3, music, ubuntu Leave a comment »Untuk memodifikasi tags dari audio files di Linux, khususnya Ubuntu, bisa menggunakan EasyTAG. Cara install-nya mudah cukup gunakan perintah
$ sudo apt-get install easytag
Setelah EasyTAG ter-install, tinggal dijalankan. Pilih folder yang berisi audio files (MP3, FLAC, Ogg Vorbids, dll). Secara otomatis EasyTAG akan mendeteksi adanya audio files. Selanjutnya tinggal modifikasi tags-nya: judul, artist, tahun dirilis, album, track number, bahkan “menanamkan” cover album ke dalam audio files kita (file-nya tetap audio files namun icon-nya jadi gambar dari cover albumnya). Audio files kita jadi lebih cantik dan rapi
Ada bug yang sering gw hadapi. Seusai “menanamkan” cover album ke seluruh file dalam satu folder album, ketika gw buka folder tersebut, icon dari file-file-nya masih belum berubah. Salah satu cara adalah dengan me-rename semua file tersebut. Cara lain adalah dengan me-rename foldernya. Namun, jika nama dari file/folder-nya dikembalikan lagi seperti semula (sebelum di-rename) maka icon dari file-file tersebut akan kembali seperti saat belum “tertanam”. Entah bagaimana mengatasi bug ini selain dengan me-rename file atau foldernya
Feel free leave any comments!
Pumping Lemma – Part 2
Posted: March 14, 2012 Filed under: Geek-Stuff | Tags: computer science, kuliah, pumping lemma, teori bahasa 2 Comments »Sekarang gw akan coba jelaskan bagaimana contoh pembuktian menggunakan Pumping Lemma yang sebelumnya sudah dibahas pada Pumping Lemma – Part 1.
Buktikan bahwa bahasa
adalah bahasa non-reguler.
Solusi 1 (hasil diskusi dengan Raja Oktovin):
Misalkan adalah bilangan reguler. Maka terdapat suatu FA M dengan
buah state yang menerima
. Misalkan
. Jelas bahwa
dan
serta menurut Pumping Lemma, terdapat string-string
,
, dan
sedemikian hingga
yang memenuhi kondisi 1-3 pada Pumping Lemma.
Kondisi (1) menyatakan bahwa sehingga
dengan
dan
. Kemudian, kondisi (2) menyatakan bahwa
sehingga
dengan
. Sekarang harus ditunjukkan bahwa kondisi (3) berlaku, yaitu untuk setiap
berlaku bahwa
.
Perhatikan bahwa . Harus ditunjukkan bahwa
untuk setiap
, atau dengan kata lain, harus ditunjukkan bahwa
merupakan bilangan kuadrat sempurna untuk setiap
. Namun hal ini tidak mungkin terjadi karena
merupakan suatu barisan aritmatika menaik dan tak berhingga. Tidak mungkin ada suatu barisan demikian yang seluruh suku-sukunya merupakan bilangan kuadrat sempurna. (bukti bisa dilihat di sini). Kontradiksi. Berarti tidak mungkin bahasa
merupakan bahasa reguler. Jadi, terbukti bahwa
adalah bahasa non-reguler.
Solusi 2:
Misalkan dapat diterima oleh sebuah FA M dengan
buah state. Pilih
. Berdasarkan Pumping Lemma,
untuk suatu string
yang memenuhi kondisi 1-3. Dari kondisi 1 dan 2 didapat
. Oleh karena itu:
Ini adalah kontradiksi karena kondisi 3 mengatakan bahwa haruslah merupakan kuadrat sempurna namun tidak ada kuadrat sempurna di antara dua bilangan kuadrat sempurna berurutan
dan
. Jadi, terbukti bahwa
adalah bahasa non-reguler.
(sumber: Martin, John. 2011. Introduction to Languages and the Theory of Computation 4th ed. New York: McGraw-Hill Companies)
Buktikan bahwa bahasa
dengan
adalah bilangan prima bukan merupakan bahasa reguler.
Solusi:
Misalkan adalah bahasa reguler. Maka terdapat FA M dengan state sebanyak
yang menerima
. Misalkan
dengan
adalah bilangan prima dan
. Jelas bahwa
dan
maka berdasarkan Pumping Lemma,
dan
memenuhi kondisi 1-3. Karena
(kondisi 1) maka dapat disimpulkan bahwa
dengan
. Akibatnya
. Kemudian, karena
(kondisi 2), maka
dengan
. Kondisi 3 menyaratkan bahwa
untuk setiap
. Perhatikan bahwa
Maka haruslah merupakan bilangan prima untuk setiap
. Namun, hal ini tidak terjadi karena jika kita ambil
maka didapat
Ternyata ruas kiri dapat dinyatakan sebagai perkalian dua bilangan yang keduanya tidak sama dengan 1 maupun ruas kiri itu sendiri. Akibatnya ruas kiri bukanlah bilangan prima. Kontradiksi. Jadi, permisalan kita bahwa adalah bahasa reguler adalah salah. Maka terbukti bahwa
bukanlah bahasa reguler.
Terlihat kan bahwa dari kedua contoh di atas, pembuktiannya tidak pernah dengan memisalkan ,
,
, maupun
dengan sembarang contoh? Semoga penjelasannya mudah dipahami yaa.
Feel free to report any bugs!
Pumping Lemma – Part 1
Posted: March 13, 2012 Filed under: Geek-Stuff | Tags: computer science, kuliah, pumping lemma, teori bahasa Leave a comment »Pada kuliah Teori Bahasa dan Automata, terdapat suatu lemma penting (karena masuk bahan UTS :p) yang bernama Pumping Lemma. Lemma ini berkaitan dengan bahasa-bahasa yang dapat diterima oleh suatu FA (finite automaton), yaitu bahasa reguler. Lemma ini biasanya digunakan untuk membuktikan bahwa suatu bahasa tidak reguler. Bunyi lemmanya seperti ini:
Misalkan
adalah bahasa atas simbol
. Jika
diterima oleh suatu FA
dan jika
adalah banyaknya state dari
, maka untuk semua
yang memenuhi
terdapat string
sedemikian hingga
dan ketiga kondisi dibawah ini terpenuhi:
- Untuk setiap
string
Oke, gw akan mencoba menjelaskan beberapa hal penting mengenai pembuktian menggunakan lemma ini.
Jadi, lemma ini mengatakan bahwa jika ada suatu bahasa yang bisa diterima oleh suatu FA (i.e. bahasa reguler) maka untuk setiap string yang merupakan elemen bahasa tersebut, dengan panjang tidak kurang dari banyaknya state dari FA yang dapat menerima bahasa tadi, selalu dapat kita “belah” menjadi 3 bagian: ,
, dan
, dan ketiganya memenuhi kondisi 1-3.
Pumping Lemma digunakan untuk membuktikan bahwa suatu bahasa bukan merupakan suatu bahasa reguler. Caranya adalah dengan menggunakan teknik proof by contradiction. Jadi, asumsikan dulu bahasa yang akan dibuktikan merupakan bahasa reguler. Kemudian tunjukkan bahwa bahasa tersebut tidak memenuhi Pumping Lemma, i.e. ada suatu string
yang memenuhi
dan
tetapi ada kondisi dari kondisi 1-3 yang tidak terpenuhi. Jika ini berhasil ditunjukkan maka asumsi bahwa
adalah bahasa reguler adalah salah. Akibatnya terbukti bahwa
merupakan bahasa non-reguler.
Perhatikan bahwa pemilihan string itulah yang paling menentukan. Jika kita tidak tepat dalam memilih
maka dimungkinkan kita tidak akan mendapatkan kontradiksi sehingga pembuktian gagal dilakukan. Pemilihan
juga tidak boleh semena-mena karena harus melibatkan
. Tidak bisa seenaknya kita nyatakan bahwa
karena tidaklah beralasan menyatakan bahwa
karena kita tidak tahu berapa banyak state yang dimiliki oleh
(FA yang menerima
) dan karena tujuan dari pembuktian ini adalah membuktikan bahwa
tidak mungkin ada. Pemilihan
yang baik misalnya
atau lainnya, tergantung dari
.
Kemudian perhatikan bahwa jika kita telah menemukan string yang demikian, Pumping Lemma menyatakan bahwa ada suatu cara untuk mempartisi string tersebut menjadi string
yang lebih pendek yang memenuhi kondisi 1-3. Pumping Lemma tidak mengatakan apakah string
tersebut namun hanya menyatakan bahwa ketiganya memenuhi kondisi 1-3. Jadi misalkan
kita tidak boleh memisalkan
,
, dan
. Tidaklah cukup membuktikan bahwa untuk beberapa pilihan
terjadi kontradiksi. Kita harus tunjukkan bahwa kontradiksi pasti terjadi apapun
selama ketiganya memenuhi kondisi 1-3.
Semoga penjelasannya bisa dimengerti ya. Feel free to report any bugs!
(sumber: Martin, John. 2011. Introduction to Languages and the Theory of Computation 4th ed. New York: McGraw-Hill Companies)
Free Software vs Open-Source Software
Posted: March 10, 2012 Filed under: Geek-Stuff | Tags: computer science, free software, open-source 1 Comment »Banyak orang yang salah memahami apa itu free software dan apa itu open-source software. Salah satu pemahaman yang seringkali diutarakan oleh orang-orang yang pernah gw temui adalah bahwa free software itu software yang gratis, yang mana seseorang tidak perlu membayar lisensi untuk menggunakan software tersebut, dan open-source software adalah software yang kode sumbernya (source code) bebas untuk dilihat, dimodifikasi, dll. Pemahaman ini pula yang sekian lama melekat di pikiran gw sampai akhirnya pada pertemuan pertama kelas OS, gw dan teman-teman gw sekelas cukup terkejut mendengar penjelasan dari dosen gw bahwa free software dan open-source software sebenarnya sama saja. Sulit dipercaya memang, tapi ini faktanya. Gw juga awalnya gak percaya, tapi dosen gw ga mungkin ngarang tanpa ada dasarnya. Beliau adalah salah satu founder dari Indonesian Linux Motivator Foundation. (Hayo tebak yang mana hayo?)
Jadi, pada awalnya hanya ada gerakan free software di dunia ini. Lalu karena satu dan lain hal, muncul gerakan open-source dimana penggagasnya pun merupakan orang-orang dari gerakan free software. Terlihat kan bahwa keduanya berasal dari “rumpun” yang sama? Sekarang, free software dan open-source sebenarnya merujuk pada dua gerakan yang berbeda tujuan dan nilai. Seperti yang dijelaskan di sini:
The fundamental difference between the two movements is in their values, their ways of looking at the world. For the Open Source movement, the issue of whether software should be open source is a practical question, not an ethical one. As one person put it, “Open source is a development methodology; free software is a social movement.” For the Open Source movement, non-free software is a suboptimal solution. For the Free Software movement, non-free software is a social problem and free software is the solution.
Jadi yang ada ya perbedaan dari kedua gerakan tersebut dimana keduanya punya sudut pandang berbeda.
Terus apa sih definisi dari free software itu sendiri? Free software adalah software yang memenuhi keempat syarat berikut ini:
- Bebas digunakan untuk kepentingan apa saja.
- Bebas dipelajari sehingga free software selalu dirilis beserta source code-nya.
- Bebas diedarkan dalam bentuk aslinya maupun modifikasinya.
- Bebas dimodifikasi menjadi lebih baik atau canggih.
Lebih lengkapnya bisa dilihat di sini.
Ternyata, open-source software pun punya definisinya sendiri. Karena definisinya tidak sesedikit free software, silahkan lihat sendiri di sini.
Semoga setelah membaca tulisan ini jadi pada tau yah apa sebenarnya free software dan open-source software itu ![]()
Feel free to report any bugs!