Monday, February 24, 2014

The Art of Problem Determination

Dalam bukunya, Self-service Linux: The Art of Problem determination, Mark Wilding dan Dan Behman mengusulkan empat fasa investigasi yang akan membangun skill problem solving. There are four phases of problem investigation that, when combined, will both build your skills and solve problems quickly and effectively. Keempat fase tersebut adalah sebagai berikut:
  1. Initial investigation using your own skills,
  2. Search for answers using the Internet or other resource,
  3. Begin deeper investigation,
  4. Ask a subject matter expert for help.
Sampul buku "the art of problem determination"


Studi Kasus: Cannot Enter Ubuntu Session

Beberapa hari yang lalu saya mendapati masalah pelik untuk laptop saya yang terinstal Ubuntu 14.04 Trusty Tahr. Tiba-tiba saja setelah boot melalui grub, si Ubuntu meminta saya memasukkan password login, padahal password login sudah saya by-pass dengan autogin. Janggal, dan memang setelah saya ketikkan passwordnya dengan benar saya tidak bisa masuk Ubuntu-session. Awalnya saya bertanya-tanya, ada apa gerangan dengan laptop saya? Saya tidak melakukan install/remove program, hanya update-upgrade saja.

1. Initial investigation using your own skill
Meksi gagal masuk xwindow (gui), saya tetap bisa masuk terminal (tty1-7) lewat Ctrl+Alt+F1. Saya coba update dan upgrade, masih gagal terus. Kebetulan wifi sudah connect. Saya reconfigure lightdm-nya, dan tanda-tanda penerahan mulai terlihat. Terminal mengatakan bahwa tidak ada lightdm ataupun gdm yang berjalan.
$ sudo dpkg-reconfigure lightdm
no lightdm is running
Disini saya mulai mengetahui error laptop saya, tidak bisa masuk lightdm ataupun gdm yang merupakan display manager untuk menampilkan gui aplikasi-aplikasi yang berjalan.

2. Googling
Dari problem tersebut, di hari kedua saya mulai googling "Ubuntu 14.04 login problem" dan semisalnya. Saya coba melacak file log-nya (di Linux, semua aktivitas terdokumentasi dengan baik pada logbook), namun saya malah tidak tahu file log mana yang bisa memberitahu kesalahan sistem saya ada dimana. Pada home directory saya ketikkan saja,
ls *.log
dan hasilnya ada banyak file berekstensi .log yang banyak (pidxxxx.log) namun kesemuanya tidak memberi informasi yang berarti buat saya. Akhirnya saya google lagi "log file Ubuntu" dan saya lansung menemukan jawabannya! logfile ada di /var/log, lebih spesifik untuk lightdm berada di /var/log/lightdm/lightdm.log dan disitu jawabannya jelas sekali "failed to load ubuntu-session." Segera saya googling dengan kata kunci tersebut.

3. Deeper Investigation
Dengan hint dari file log teresebut saya memulai deeper investigation, ada beberapa opsi, berpindah ke gdm dan menginstall ulang ubuntu-dekstop. Saya coba reconfigure gdm dan berhasil masuk gnome-session Ubuntu. Dengan asumsi ini, harusnya yang saya butuhnya hanya mengintal ubuntu-session lewat sudo apt-get install ubuntu-session, namun saya mengikuti saran dari askubuntu.com untuk mengintall ulang ubuntu-desktop. Dan setelah saya install ulang ubuntu-desktop, whoalla! laptop saya kembali seperti sedia kala.

4. Ask the expert
Ya, jalan terakhir adalah dengan bertanya pada ahlinya. Dan kebetulan sekali, untuk Ubuntu Linux ada www.askubuntu.com, tempat bertanya dan menjawab, a one stop solution for your ubuntu problem. Malu bertanya sesat di jalan, begitu kata pepatah. Namun sebelum bertanya pastikan permasalahan anda sudah ditanyakan orang lain dan anda tetap buntu. Geek sangat mudah sekali mengulurkan tangannya memberi bantuan, namun mereka pada dasarnya tetap tidak mau direpoti dengan permasalahn sepele yang sudah ditanyakan ada dibahas di forum-forum lain.

Konsep problem determination di atas, yang dibahas pada  buku mastering the art of problem determination tidak hanya berlaku untuk menangani permasalahan pada sistem Linux, namun bisa kita aplikasikan pda kehidupan sehari-hari. Initialize --> Googling --> Investigate --> Ask! Ingat, proses tersebut harus sekuensial. Artinya, kita tidak perlu sampai langkah kedua bila langkah pertama bisa menyelesaikan masalah. Kita tidak perlu "bertanya" bila langkah 1-3 mampu menyelesaikan masalah dengan tepat. Beginilah hidup juga semestinya.

Lebih detail lagi, keempat fasa tersebut dapat dijabarkan lagi menjadi langkah-langkah seperti di bawah ini.
  1. Initial investigation using your own skills.
    1. The exact time the problem occurred
    2. What you were doing when the problem
    3. A problem description
    4. Anything that may have triggered the problem.
    5. Any evidence that may be relevant
  2. Search for answers using the Internet or other resource.
    1. Googling with precise keywords
    2. Forum
    3. Mailing list
  3. Begin deeper investigation.
    1. Collect relevant information when the problem occurs.
    2. Keep a log of what you’ve done and what you think the problem
      might be.
    3. Be detailed and avoid qualitative information.
    4. Challenge assumptions until they are proven
    5. Narrow the scope of the problem.
    6. Work to prove or disprove theories about the problem.
  4. Ask a subject matter expert for help.
    1. Ask website (askubuntu.com and the similar)
    2. Man to man discussion
    3. Giving back to the community

Intinya, dalam menghadapi problem, hadapilah dengan tenang, dengan kepala dingin. Bukan malah lari dari persoalan. Katanya Rinso, tidak ada noda ya tidak belajar. Masalah menjadikan kita belajar untuk naik ke level selanjutnya. Keep calm. Think algorithmically, solve efficiently!
Related Posts Plugin for WordPress, Blogger...