Friday, July 25, 2014

Linux Text Editor - Part 2

Ini adalah kesan pertama saya usai migrasi dari Windows ke Linux. Apa
yang biasa saya lakukan dalam hal mencatat memo di Windows, saya biasa
menggunakan aplikasi notepad++. Mengingat saya sudah merasa nyaman
dengannya, maka saya coba cari apakah notepad++ juga ada versi
Linux-nya? Ternyata tidak ada, jadi saya mencoba cari alternatif
lain.

Sewaktu awal menggunakan Linux, distro yang saya gunakan adalah
Ubuntu 6.06 dimana default desktopnya adalah gnome versi 2.x. Dan
bawaan GUI text editornya adalah gedit (gnome editor), rupanya
fitur-nya mirip dengan notepad++.

Kemudian sewaktu gnome 2.x berubah ke versi 3.x dimana ada perubahan
total dari tampilan GUI-nya, maka pada saat bersamaan, Ubuntu juga
melakukan perubahan GUI-nya dari gnome 2.x ke Unity. Dan diputuskan
Ubuntu tidak mengadopsi secara penuh implementasi gnome 3.x (atau
biasa dikenal dengan istilah gnome shell), akan tetapi mengembangkan
sediri GUI dengan dukungan gnome 3.x yang dikenal dengan unity.

Nah sewaktu Ubuntu merilis dengan GUI Unity, saya merasa tidak nyaman,
karena saya lebih prefer menggunakan gaya gnome 2.x. Nah oleh karena
itu, maka saya memutuskan untuk pindah ke distro lain. Sempat mencoba
OpenSuse, Debian dengan menggunakan lingkungan desktop xfce yang mirip
dengan gnome 2.x.

Nah disini mulai ada perubahan, mengingat xfce ternyata jauh lebih
ringan ketimbang gnome. Berkaitan dengan text editornya, default
programnya adalah leafpad yang amat sangat simple, seperti
notepad. Akan tetapi tidak bisa memenuhi keperluan saya yang memang
lebih suka gedit. Maka mau tidak mau, saya harus menginstal
gedit. Yang ternyata memiliki dependency yang cukup banyak.

Akhirnya tibalah saatnya saya migrasi ke Slackware. Mengapa bisa
memutuskan distro Slackware? Ini berkat saran my best friend, yang
mengatakan bahwa Slackware itu mbah-nya distro. Dan kalau mau belajar
Linux, maka gunakanlah Slackware.

Awal menggunakan Slackware, ya ada yang kurang, karena ia tidak
mendukung gnome. Jadi terpaksa saya move ke xfce, karena saya kurang
suka dengan KDE. Setelah di xfce, maka yang saya tambahkan instalasi
tentu gedit. Agar memenuhi keperluan saya itu.

Akan tetapi seiring dengan semakin tinggi jam terbang saya dalam
berkomputasi dengan Slackware, maka ternyata text editor yang asyik
itu ya yang berjalan di shell (text console), seperti nano, vi, atau
emacs. Dan sekarang yang menurut saya yang paling asyik ya emacs.

Kalau nano, itu mudah sekali. vi atau vim itu simple, dan tidak
neko-neko. Adapun emacs itu penuh misteri dan banyak keinginan saya
yang ternyata sudah disediakan oleh emacs.

Selain sebagai text editor, Emacs juga bisa menjadi editor
pemrograman, dan lebih jauh lagi, bisa mengkompilasi program C, C++
atau Java tanpa keluar dari Emacs. Bahkan bisa juga menjalankan hasil
kompilasi tersebut dari dalam Emacs. Hal itu dimungkinkan karena ada
fitur compile, shell command dari menu tools.

Lebih jauh lagi, Emacs juga bisa digunakan untuk menulis text dalam
mode auto-fill-mode. Jadi bisa diatur margin penulisan text kita. Dan
itu saya temukan di Emacs dengan cara menuliskan perintah M-x
auto-fill-mode.

Kuncinya adalah mau belajar dan mau mempelajari tutorial Emacs, maka
Anda akan merasa nyaman dengannya.

Dan yang paling penting, tulisan ini saya susun dengan menggunakan
Emacs tentu saja.

Thank you Richard M. Stallman :)

Friday, July 04, 2014

Linux Text Editor

Perlu dipahami terlebih dahulu bahwa dalam lingkungan Linux dikenal
istilah: "everything is file". Maksudnya semua resource
yang ada dalam sebuah sistem komputer dengan OS Linux, akan
diberlakukan sebagai sebuah file. Termasuk node (titik koneksi) ke
sebuah device.

Oleh karena itu, maka text editor adalah aplikasi yang penting dalam
dunia Linux. Berikut adalah road map/jalan yang mungkin enak untuk
dipelajari terlebih dahulu untuk bisa memahami text editor berdasarkan
pengalaman saya.


(1) Gedit
Gedit adalah text editor yang masih berbasiskan GUI. Ini mirip sekali
dengan Notepad dalam lingkungan Windows. Gedit atau Gnome Edit,
merupakan project dari Gnome untuk text editor. Karena GUI, jadi kita
tinggal klak-klik klak-klik saja dengan menggunakan mouse. Mudah sekali.

(2) Nano
Nano adalah text editor yang berbasiskan text console. Akan tetapi bisa
juga dijalankan melalui terminal. Cara menggunakannya $ nano
Begitu masuk ke nano editor, langsung bisa mengetik text. Untuk
menyimpan, tulis Ctrl-O WriteOut. Nano adalah text editor yang
paling sederhana dalam modus text console.

(3) Vi/Vim
Vi/Vim (Vi improved) merupakan text editor klasik di Unix. Dan
ini merupakan text editor yang biasanya sudah ada saat kita melakukan
instalasi Linux. Mengingat default intalasi Linux itu biasanya sudah
ada aplikasi vi/vim, maka perlu kiranya untuk dipahami paling tidak
fungsi dasarnya. Text editor ini lazim dipakai oleh seorang installer
Linux. Dan oleh karenanya, maka vim menjadi text editor favorit
diantara Linux geek. Sedikit info yang bisa saya jelaskan disini
bahwa, begitu Anda masuk ke vi atau vim:
$ vim
maka, cara pertama adalah ketik huruf 'i' untuk masuk ke mode
--INSERT-- setelah itu. Baru setelah itu, bisa kita mulai
pengetikan. Untuk menyimpan file, :w enter (tekan Esc, lalu titik dua
dan huruf 'w', lalu enter). Untuk keluar dari vim ketik :q (ketik Esc,
titik dua, lalu q). Untuk yang lainnya, silakan pelajari sendiri dari
$ vimtutor. Vim ini bisa memiliki modus text console atau GUI.

(4) Emacs
Emacs bukan text editor biasa. Akan tetapi bisa juga digunakan
untuk keperluan lain, yang bisa disesuaikan dengan keperluan kita. Ada
penulisan diary, calendar, directory editor, dll. Untuk membuka ketik:
$ emacs
Untuk mempelajari tekan Ctrl-h t (notasi C-h t). Dalam tutorial ini,
saya sarankan Anda membacanya sampai selesai. Untuk membuka file:
C-x C-f. Untuk menyimpan file: C-x C-s. Kalau ingin keluar dari Emacs,
ketik: C-x C-c.
Perlu sedikit pemahaman dari kita, bila kita ingin nyaman dalam
menggunakan Emacs editor ini, yaitu dengan cara memahami terminologi
pemrograman, seperti echo, buffer, mini buffer, dll. Maklum saja, yang
membuat aplikasi ini memang dibuat oleh seorang programmer yang
genius.
Seperti halnya Vim, Emacs bisa dijalankan dalam modus text console
atau GUI. Akan tetapi bila kita jalankan dari terminal maka Emacs
akan masuk ke modus GUI. Modus text console hanya bisa dijalankan bila
kita ada di dalam shell prompt.

Konklusi
(1)
Urutan dalam mempelajari text editor Linux diatas adalah prefensi
berdasarkan pengalaman saya. Bila Anda langsung ke Vim atau Emacs,
maka Anda biasanya akan merasa aneh. Dan biasanya tidak betah, apalagi
sebelumnya Anda terbiasa menggunakan aplikasi text editor Notepad di
Windows. 

(2)
Semua text editor memiliki kelebihan dan kekurangannya masing-masing,
dan itu semua dikembalikan kepada Anda untuk memilihnya. Sungguh, itu
semua adalah anugerah dari free open source software (FOSS), yang
menawarkan taste/rasa yang berbeda. Jadi ada demokrasi dalam dunia
software. Which one is the best? All is up to you. Which one is
suitable with your purpose.

Adieu!

Thursday, July 03, 2014

Emacs, Bukan Text Editor Biasa

    "Tak kenal maka tak sayang."

Itu mungkin pepatah yang paling tepat untuk menyatakan kesan pertama
menggunakan text editor Emacs. Akan tetapi begitu Anda selesai membaca
tutorialnya, dengan cara mengetik: Ctrl-h t dalam emacs (lazim
disingkat dengan notasi C-h t), maka Anda baru akan memahami pola
pikir si pembuat text editor ini.



Untuk menggunakan emacs, cukup ketik:

$ emacs

Sedikit penjelasan menu yg muncul: 

Pada bagian bottom menu:

--:**--F1 nama-file All Lxx (Fundamental)

tanda ** : artinya file "nama-file" sedang diedit, dan
belum tersimpan. Kalau tersimpan, maka tanda ** akan hilang.

All : maksudnya semua text bisa dimuat dalam satu layar penuh. Kalau
tidak maka bisa berubah menjadi 'Top' atau 'Bot' (Bottom) atau nn%.

Baris kosong dibawah bottom menu adalah area echo. Ini merupakan

tempat komunikasi kita dengan emacs. 

Maklum yang membuat program ini adalah seorang programmer yang genius. Jadi terminologi yang digunakan adalah terminologi programmer, seperti echo, buffer, mini buffer, dll.
Jadi kalau ingin bisa menjadikan Emacs sebagai teman sendiri, maka
yang perlu dilakukan adalah mencoba mengerti pola pikir seperti
seorang programmer. Awalnya kita akan dikenalkan dengan istilah menu
extention dengan cara mengetik C-x (menekan tombol Ctrl dan huruf
'x'). Disana akan ada fungsi antara lain:

(1)
Untuk membuka file baru: C-x C-f (f = file)
Bila itu merupakan file baru, tulis termasuk path-nya. Karena kalau
langsung berupa nama file, maka file tsb akan tersimpan di current
working directory. misal file baru tsb ada di folder
~/Documents/filebaru.
Maka ketiklah secara penuh seperti itu. (Note: tanda ~ adalah tanda
itu home folder. Maksudnya, bila Anda login sebagai andri, maka lokasi
~ itu maksudnya adalah di folder /home/andri/. Dengan demikian, maka
lokasi filebaru tsb ada di /home/andri/Documents/filebaru).

Bila kita lupa dengan nama file apa yg akan kita buka, maka kita bisa
membuka folder dari emacs, tanpa keluar ke shell hanya untuk keperluan
itu. Cukup tulis folder-nya dan tekan enter maka folder tsb akan
terbuka. Misal Anda hanya ingat lokasinya itu di ~/Documents/; maka
cukup tulis seperti itu, lalu tekan enter, maka akan daftar file
dalam folder tsb akan ditampilkan, maka kita tinggal mencarinya. Kalau
sudah ketemu, tinggal tekan enter. Ini salah satu keunikan emacs.

(2)
Bila file sudah dibuka, maka filebaru itu akan disimpan dalam
buffer. Untuk selanjutnya file tsb sudah siap untuk diedit. Nah kalau
mau menyimpan-nya, tekan C-x C-s (save). Maka pada bagian echo, akan
muncul tulisan:
Wrote /home/andri/Documents/filebaru

(3)
Untuk keluar dari emacs, cukup tekan C-x C-c. Ini mirip perlakuan kita
kepada sebuah proses dalam shell yang menggunakan tombol
Ctrl-c. Begitu kita menekan C-x C-c, maka di area echo akan muncul
shell prompt, bila kita menggunakan mode text. Bila kita menggunakan
emacs gui, maka windows-nya akan menghilang.


Cukup untuk hari ini, next time will be continued.


Monday, May 26, 2014

Tool pm-suspend di Debian 7

Seperti yang sebelumnya pernah saya tulis di blog ini, bahwa kemungkinan ada bug pada tool pm-suspend pada distro Debian 7.0, dan berharap akan ada patch ke depannya. 

Akan tetapi setelah saya mencoba Debian 7 dengan menggunakan komputer yang lain, yang lebih up to date. Ternyata tidak ada masalah di komputer yang terbaru tersebut. Jadi bisa disimpulkan bahwa tool pm-suspend tersebut tidak ada bug di dalamnya. Dan mengingat komputer yang terbaru itu sudah menggunakan microprocessor intel i3, sedangkan yang saya temukan bug itu terjadi pada komputer dengan microprocessor AMD Athlon. Dari sini bisa disimpulkan bahwa tool pm-suspend tersebut comply dengan hardware yang terbaru. 

Ini membuktikan bahwa software (dalam hal ini tool pm-suspend) selalu up to date sejauh masih ada daya kreatifitas dan inovasi dari programmer tersebut.

Perlu diketahui bahwa pm-suspend adalah tool di Linux yang digunakan untuk keperluan power management (disingkat pm), yang akan men-suspend komputer Anda. Dan hal tersebut lazim dilakukan pada shell bash, dengan otoritas root, sbb:

#pm-suspend

Tools ini sama dengan tool sleep di Windows atau Mac. 

Demikian.

Tuesday, May 13, 2014

Pewangi Ruangan Alami



Ada pengalaman menarik yang pernah saya alami, yaitu kamar pribadi saya kok tumben ada bau yang kurang sedap ya? Setelah saya tanyakan ke Ibu, beliau menyarankan untuk menaruh beberapa kuntum bunga melati dalam sebuah piring kecil di kamar. Ternyata apa yang Ibu sarankan itu adalah kebiasaan beliau yang selalu menaruh beberapa kuntum bunga melati di kamar beliau. 

Alhasil setelah saya coba, ternyata benar juga tuh. Hilang-lah bau yang kurang sedap tersebut. Yang selama ini mengganggu aktivitas saya. Akhirnya menjadi kebiasaan deh, tiap pagi saya petik tuh bunga melati yang memang ada di halaman. Rata-rata wangi bunga melati itu tahan selama 2 hari. Akan tetapi memang jenis bunga ini musiman. Jadi kalau saat bukan musimnya, ya nggak keluar tuh bunganya. 

It’s a natural one. And it’s free, because I take them from my garden.
Thanks God for these beautiful flowers :)




Monday, January 27, 2014

Friday, October 11, 2013

Memahami E-mail

Siang ini (artikel ini aslinya ditulis 29 Sep 2013), saya sudah berjanji untuk menjelaskan apa dan bagaimana e-mail itu ke teman baik saya. And it's my way ...
 
Penjelasan saya awali dengan konsep dasar sebuah komputer.

(A) Apa itu Komputer?

Kata "komputer" dalam bahasa Indonesia, berasal dari bahasa Inggris "computer". Adapun "computer" itu berasal dari kata dasar "to compute" yang berarti "menghitung". Dari sisi sejarah, pada awalnya pengertian komputer didefinisikan sebagai sebuah peralatan (piranti) yang berfungsi untuk menghitung. Sebagai contoh: sempoa, yang bermetamorfosis menjadi kalkulator, atau bahkan alat hitung /mesin hitung kuno yang dibikin oleh Charles Babage; yang merupakan cikal bakal sempoa.

Nah, dalam perkembangannya, kemampuan komputer diperluas dengan menambahkan kemampuan lain, yaitu kemampuan dalam mengolah data. Baik data berupa text, gambar, maupun suara, seperti yang kita kenal sekarang ini.

(B) Komponen Penyusun Komputer

Pada dasarnya, sebuah komputer terdiri dari 2 (dua) bagian, yaitu perangkat keras dan perangkat lunak. Bila diibaratkan dengan seorang manusia, yang memiliki badan dan nyawa. maka komputer terdiri dari 2 hal tadi, yaitu perangkat keras /badan dan perangkat lunak /nyawa.


Adapun istilah perangkat keras dalam dunia komputer (IT), disebut dengan istilah "hardware" (h/w) dan perangkat lunak lazim disebut dengan software (s/w).

(*) Hardware

Perangkat keras Komputer terdiri dari:

(1) Piranti masukan (Input Device)
(2) Unit Pemroses Pusat (Central Processing Unit / CPU)
(3) Piranti keluaran (Output Device)
(4) Piranti Penyimpan (Storage Device)
(5) Piranti Komunikasi (Communication Device)

:: Penjelasan

(1) Piranti masukan (Input Device) itu adalah piranti/alat yang digunakan untuk menerima masukan dari luar kepada sebuah sistem komputer. 
Itu ibarat fungsi telinga kita untuk mendengar, mata kita untuk melihat, lidah kita untuk merasakan pahit, manisnya makanan yang kita makan, dll.
Pada sistem komputer, hal ini diwujudkan pada piranti seperti keyboard (papan ketik) untuk memasukkan data text /tulisan, mouse untuk menggerakkan kursor di monitor, layar sentuh (touch screen) sebagai pengganti mouse tadi, dan lain sebagainya.

(2) Unit Pemroses Pusat (Central Processing Unit) atau yang biasa disingkat dengan CPU; adalah merupakan unit pemrosesan pusat (sentral) dari data yang masuk tadi, misalnya kita mengetik huruf "a" pada keyboard, maka untuk selanjutnya data text tadi akan diproses pada bagian CPU ini.
Pada kasus ini, bila kita analogikan (ibaratkan) dengan manusia, maka hal itu dapat diilustrasikan sbb: misalnya kita mencicipi sebuah masakan, maka apa yang kita lakukan? Biasanya kita akan mengambil sedikit masakan tadi ke lidah kita, untuk kemudian otak kita akan memprosesnya. Untuk kemudian, mulut kita akan berbicara: "Oh.. masakannya enak.", misalnya.

Nah otak manusia itu-lah yang dinamakan CPU. Atau dengan kata lain, CPU merupakan otaknya sebuah sistem komputer.

(3) Piranti keluaran (Output Device)
Pada kasus diatas; mulut kita yang berbicara tadi, maka dalam dunia komputer diwujudkan sebagai piranti keluaran (output device). Yaitu dalam kasus ini, maka, huruf "a" yang tadi kita ketik di keyboard, akan diproses oleh CPU, untuk kemudian ditampilkan pada layar komputer.

.: Dari ilustrasi sederhana ini, semoga bisa dimengerti bagaimana konsep kerja sebuah komputer dengan menggunakan 3 (tiga) hardware tadi.

Adapun dua komponen dasar yang lain, yaitu -- Piranti Penyimpan (Storage Device) dan Piranti Komunikasi (Communication Device) -- penjelasannya adalah sebagai berikut ...

(4) Piranti Penyimpan (Storage Device) dapat dipahami dengan ilustrasi berikut: 
Ibu guru meminta muridnya untuk menghafalkan kapan terjadi perang Pangeran Diponegoro yang terjadi pada tahun 1825-1835, misalnya.

Maka biasanya apa yang dilakukan si murid tadi adalah mencoba untuk menghafal atau "menempelkan" hafalan tadi kedalam ingatannya atau memorinya.
Inilah yang disebut dengan istilah memori dalam dunia komputer.

Untuk selanjutnya agar supaya tidak lupa, maka biasanya apa yang dilakukan oleh si murid tadi adalah menuliskan tahun 1825-1835 tadi kedalam buku catatannya. 
Nah buku catatan dalam dunia komputer itu lazim disebut sebagai sebuah "disk", antara lain: hard disk, flash disk, compact disc (CD), dan lain sebagainya.

(5) Piranti Komunikasi (Communication Device).
Penjelasannya dapat dimengerti dengan ilustrasi berikut:
Misalnya ada sebuah seminar dalam sebuah gedung, maka pada umumnya ada pengeras suara yang digunakan agar suara di pembicara bisa didengar dengan baik, oleh peserta yang duduknya di bangku paling belakang.

Nah piranti pengeras suara tadi, dalam dunia komputer dinamakan sebagai piranti komunikasi (Communication Device); yaitu sebuah alat yang memungkinkan satu komputer berkomunikasi dengan komputer yang lain.

Salah satu piranti komunikasi tersebut adalah modem. Yaitu piranti yang memungkinkan kita terhubung dengan komputer lain.

Semoga penjelasan saya berkenaan dengan hardware bisa dimengerti. Sekarang kita masuk ke perangkat lunak / software ...

(**) Software

Seorang manusia tanpa nyawa, tentu tidak dapat kita sebut sebagai manusia. Akan tetapi lebih dikenal sebagai mayat. Demikian juga halnya dengan sebuah komputer tanpa software ia hanya berupa sebuah mesin belaka.

Nyawa untuk sebuah komputer itu disebut sebagai OS (Operating System), yaitu sistem yang memungkinkan sebuah komputer untuk dioperasikan atau dijalankan.

Oleh karena itu kita kenal dengan istilah Windows, Linux, Mac OS X, dan yang lainnya dengan beragam jenis turunannya.

Nah, lalu mengapa itu kemudian ada istilah MS Word, Excel, Firefox, Internet Explorer, dan yang lain-lain yang membuat pusing kepala? 

Kalau yang barusan disebutkan, itu adalah software yang bukan kategori OS; akan tetapi masuk kategori aplikasi. Yaitu sebuah software yang memiliki fungsi khusus.

Sebagai contoh: MS Word adalah sebuah aplikasi khusus untuk menulis menjadi sebuah dokumen. MS Word merupakan aplikasi word processing (pengolah kata).

Lalu MS Excel itu berfungsi untuk mengolah data-data, untuk kemudian kita mendapatkan tabel-tabel. Atau dalam dunia komputer diistilahkan dengan spreadsheet application.

Nah, kedua aplikasi barusan itu adalah produk keluaran Microsoft, makanya didepannya ada embel-embel MS yang merupakan "singkatan" dari Microsoft.

Akan tetapi jangan terjebak dengan itu saja, masih ada aplikasi word processing yang lain, seperti Open Office atau LibreOffice/Writer dari dunia open source, Word Perfect dari Corel, dan masih banyak lagi yang lain.

Adapun Firefox, Internet Explorer, Chrome, dan yang lainnya itu masuk kategori software aplikasi yang disebut dengan browser. Atau sebuah software aplikasi untuk keperluan browsing internet.

Nah apa lagi tuh internet? Kok jadi tambah cumleng aku? ..

(C) Internet

Dari modem, kita bisa berkomunikasi dari komputer kita ke komputer orang lain. Bila komunikasi yang kita lakukan itu melibatkan semua orang di seluruh dunia, maka itulah yang disebut dengan "internet".

Jadi sederhananya, internet itu terdiri dari dua kata "inter" dan "net" yang merupakan singkatan dari "networking" atau jaringan. 

Bila kita berkomunikasi dengan satu teman misalnya si A, maka kita memiliki jaringan dengan si A. Adapun si A kemudian berteman dengan si B, maka disitu terjadi jaringan antara si A dan si B. 
Yang mana pada kasus ini, kita bisa berkenalan dengan si B atas rekomendasi dari si A (karena kita kenal dengan si A).

Nah jaringan-jaringan inilah yang memungkinkan kita bisa berkomunikasi dengan semua orang di dunia. Dan inilah yang disebut dengan istilah "internet.

(1) Browser
Ilustrasinya adalah sebagai berikut ...

Bila kita ingin keliling dunia, maka alat yang kita butuhkan adalah sebuah kendaraan, bisa naik pesawat terbang, kapal laut, mobil, motor, bahkan bersepeda-pun juga bisa.

Nah kendaraan inilah yang kita sebut dengan browser tadi.

Ok, lalu apa lagi tuh yang disebut dengan e-mail, aku kok isih mumet?

/// E-mail ///

Dalam dunia nyata, bila kita ingin berkirim surat ke saudara kita di negara Belanda misalnya, maka lazimnya apa yang kita lakukan adalah menulis surat, kemudian memasukkannya ke dalam amplop. Dan lalu kita tuliskan nama dan alamat tujuan, demikian juga dengan nama dan alamat kita.

Lalu kita tempelkan perangko, dan untuk selanjutnya oleh pak pos dikirimkan ke alamat tujuan.

E-mail = electronic mail. Mail = surat. Jadi e-mail adalah surat elektronik. Pada hakekatnya sama dengan ilustrasi yang barusan saya jelaskan tadi. Gampang tho?

Nah lalu praktek-e piye? 

"Hm...Ini orang kok tanya terus yo? Dadi ketularan cumleng aku. If it is so, please read my last statement as follows:

Insya Allah, bagi Anda yang ingin mendapatkan penjelasan selanjutnya, silakan berkomentar pada blog saya ini. Nanti akan saya bagikan free e-book penjelasan lengkapnya. Jazakumullah .. "