kenapa MECE?

kalau ditanya soal judulnya, saya bisa cerita agak panjang, bikin bosan, mungkin teoretis, soal apa dan bagaimana konsep ini digunakan pada perusahaan konsultansi untuk keperluan problem solving dan seringnya diintegrasikan dalam peningkatan mutu prosesĀ terkait kegiatan bisnis…

atau bahwa topik kali ini adalah MECE, atau ‘mutually exclusive, collectively exhaustive‘, konsep yang diperkenalkan oleh para konsultan di McKinsey (and Co.) sekitar dekade lalu…

…atau, saya bisa menulis dengan gambar-gambar dan studi kasus yang lebih membumi saja. ya sudahlah ya.

ngomong-ngomong, ada yang pernah dengar tentang MECE? šŸ˜‰

.

baiklah, mari kita mulai. pertanyaan pertama: MECE itu apa, sih?

istilah ‘MECE’ di sini adalah singkatan dari ‘mutually exclusive, collectively exhaustive‘. pada dasarnya, MECE adalah pendekatan dalam mengklasifikasikan hal-hal ke dalam sebuah daftar yang komprehensif.

kalau diomongin kok bikin bingung, ya. mari kita lihat saja contoh di bawah. bayangkan diri anda sebagai sebuah pemilik bisnis toko cemilan sederhana. dan sebagai sebuah bisnis yang sewajarnya, toko anda punya daftar produk yang harus dijual. anda harus mengelompokkan produk apa masuk ke kelompok mana, dan kalau penjualannya seperti apa akan dicatatkan ke mana.

nah, MECE adalah tentang bagaimana anda menyusun daftar tersebut untuk bisnis anda.

 

contoh klasifikasi MECE. misalkan anda punya bisnis toko cemilan, produk harus diklasifikasikan supaya tidak sampai ada barang yang tidak masuk ke mana-mana atau satu barang ke lebih dari satu kategori.

 

MECE terdiri atas dua komponen, yaitu (1) mutually exclusive, dan (2) collectively exhaustive. nah, ini benda apa lagi sebenarnya? mari kita telusuri satu per satu.

pertama,Ā mutually exclusive. artinya, setiap item (bisa barang, atau konsep, atau apapun) dalam daftar pada berbagai level hirarki harus saling unik. dengan kata lain, tidak boleh ada anggota dalam daftar yang saling beririsan. kedua,Ā collectively exhaustive. yang artinya, apabila semua item digabungkan, maka kita akan mendapatkan sebuah daftar yang bersifat menyeluruh dan mengandung semua anggota himpunan.

contohnya, mari kita lihat diagram di atas. daftar ‘kue rebus’, ‘kue kukus’, ‘kue goreng’, danĀ ‘kue panggang’ di sini masing-masingnya adalahĀ mutually exclusive. kenapa begitu? karena masing-masing anggotanya tidak beririsan. pada saat yang sama, mengasumsikan semua jenis kue berada pada diagram, daftar tersebut jugaĀ collectively exhaustive. kenapa pula begitu? karena ketika jumlahan semua daftarĀ Ā ‘kue rebus’, ‘kue kukus’, ‘kue goreng’, danĀ ‘kue panggang’ digabungkan, kita memperoleh himpunan seluruh kue yang dijual di toko cemilan anda.

dari diagram di atas juga dapat diperhatikan bahwa masing-masing jenis kue terhubung pada tepat satu kelompok dalam daftar. masing-masing kelompok kemudian membentuk kelompok besar yang saling independen, namun ketika digabungkan jumlah kesatuannya meliputi seluruh kue yang dijual.

inti dari MECE adalah bahwa masing-masing kelompok dalam daftar harus saling independen pada berbagai level hirarki. jadi berdasarkan contoh toko cemilan anda tadi, daftar pada diagram berikut tidak memenuhi pendekatan MECE:

 

contoh klasifikasi non-MECE. produk yang diklasifikasikan diambil dari contoh kasus toko cemilan anda di atas tadi.

 

kenapa daftar di atas tidak memenuhi standar MECE?

pertama, daftar tersebut tidak mutually exclusive. karena ada satu item, yaitu kue lepet masuk ke kelompok yang menggunakan ketan. tapi pada saat yang sama, kue lepet tersebut juga masuk ke kelompok yang perlu dibungkus daun. ada overlap di sini.

kedua, daftar tersebut juga tidak collectively exhaustive. pada diagram, sebagai contoh kue bolu kukus tidak termasuk ke dalam kelompok mana-mana, padahal seharusnya termasuk dalam produk yang dijual toko anda. demikian juga ketika dijumlahkan seluruh gabungannya, daftar tersebut masih belum meliputi seluruh jenis kue yang dijual di toko cemilan anda.

kira-kira seperti itulah MECE: klasifikasi dan pendaftaran konsep dan barang-barang sedemikian hingga masing-masing kelompok independen dari yang lain, dengan penggabungan seluruh kelompok akan memberikan sebuah himpunan yang menyeluruh.

.

nah, sampai di sini mungkin makes sense. tapi kemudian timbul pertanyaan: kenapa harus diklasifikasikan seperti itu? memangnya tidak bisa kalau tidak seperti itu? warung tetangga saya juga Ā jualan kue nggak pakai MECE kok!

pertanyaan bagus. dan jawabannya, ya memang bisa. tapi di sini keuntungan dalam penggunaan MECE justru bukan dari segi operasional atau pelaksanaan bisnis anda; keuntungan di sini baru terasa ketika anda perlu melakukan konsolidasi dan analisis terhadap proses yang sudah atau sedang berjalan.

misalnya, suatu ketika anda sebagai pemilik bisnis cemilan kepikiran pertanyaan berikut:

harga gula naik. eh, ini gimana nasib bisnis kue saya dong? saya harus ngapain?

mari kita lihat kembali diagram di atas. sekarang, misalnya, diberikan keterangan dengan data tambahan penggunaan bahan baku gula dan pendapatan dari masing-masing jenis kue. tentu saja data ini diperoleh berdasarkan pencatatan yang dilakukan untuk setiap transaksi dalam bisnis toko cemilan anda.

 

diagram pertama tadi, dengan tambahan data. MECE-wise, model konsumsi gula per jenis kue saling independen untuk memperoleh persentase keseluruhan toko. (angka untuk ilustrasi)

 

dengan klasifikasi model MECE, kita bisa melihat bagian-bagian mana saja dari bisnis kue yang menggunakan gula, bahan baku yang mengalami kenaikan harga. dan karena masing-masing jenis produk saling independen dan tidak ada overlap, kita bisa memperhitungkan dari skala 0-100% terkait dampak dari perubahan harga bahan baku untuk masing-masing jenis kue yang dijual di toko anda.

kalau dari diagram di atas, polanya langsung kelihatan:

oh, ternyata jenis kue kukus di sini yang memakai banyak gula. jumlah penjualan bagus, tapi tidak luar biasa seperti kue goreng model combro atau rengginang.

kalau begitu kurangi dulu beli gula, sementara ini kurangi produksi kue kukus. nanti kalau ada perubahan harga gula kita pikirkan lagi.

sampai di tahap ini, sebenarnya yang dilakukan dengan MECE adalah klasifikasi untuk melakukan isolasi terhadap variabel-variabel, sehingga pada proses analisis kita dapat memperkirakan bagian mana saja dari bisnis toko kue, misalnya, yang terimbas kenaikan harga bahan baku. sisanya tentu saja tergantung kepada proses analisis dan pencatatan, tapi di sini MECE berperan sebagai alat bantu yang memudahkan fungsi analisis.

nah, kemudian, setelah panjang lebar dan mungkin tidak selalu mudah dipahami tadi, mungkin ada juga komentar berikut:

“hah. ribet. dasarĀ mahasiswaĀ alumni kampus kebanyakan teori! memangnya saya nggak bisa mengambil keputusan bisnis soal toko saya tanpa pakai MECE, hah? HAH?!” šŸ˜†

nah, kalau yang ini sih sederhana saja, pertanyaan apa itu. ya tentu saja bisa dong ah. bisnis kan tentang apa yang anda lakukan dan pikirkan, bukan bagaimana anda melakukan dan memikirkan kegiatan bisnis anda. :mrgreen:

tapi di sini, bottom line-nya adalah bahwa seperti halnya banyak paradigma lain, pada dasarnya MECE cuma sebuah framework, alat bantu untuk memudahkan proses analisis dan pengambilan keputusan yang terstruktur.

tentu saja juga tidak berarti bahwa MECE adalah pendekatan yang selamanya applicable untuk segala hal atau bahkan tidak punya kekurangan. ada juga keadaan-keadaan di mana MECE sangat tidak applicable, tapi itu cerita lain untuk saat ini.

pendapat saya? MECE itu ya cuma bagian dari teknik dan alat bantu saja. cuma perlu digunakan pada saat yang tepat dengan cara yang tepat, itu saja kok. šŸ˜‰

service recovery paradox

ini adalah fenomena berupa paradoks yang, walaupun keberadaannya sudah saya curigai sejak beberapa tahun lalu, baru belakangan ini saya bisa agak sempat menulis soal ini. di sisi lain, mungkin juga berhubung hal ini terkait dengan ruang lingkup pekerjaan sehari-hari sebagai profesionalĀ di tempat kerja, fenomena ini menjadi perhatian tersendiri untuk saya.

perkenalkan service recovery paradox. atau, bagaimana kegagalan dari layanan yang tidak anda harapkan bisa meningkatkan kepuasan jangka panjang anda sebagai pelanggan. kok bisa?

 


gambaran umum service recovery paradox. perhatikan gap antara tingkat kepuasan pelanggan
dengan kegagalan servis dan pelanggan tanpa kegagalan servis.

 

ada banyak cara untuk mendeskripsikan grafik di atas, tapi saya lebih senang menggambarkannya secara sederhana: pada dasarnya konsumen akan senang, apabila ketika mereka mengalami problem dengan layanan anda, anda menyelesaikan masalah mereka dengan cepat, tepat, dan efisien.

sampai di sini, anda pembaca mungkin terpikir untuk segera menyanggah; ya iyalah, konsumen mungkin tidak senang kalau ada problem, tapi pelanggan manapun juga akan puas kalau problemnya selesai dengan cepat, kan. terus apa masalahnya?

nah, justru di sinilah letak paradoksnya. tingkat kepuasan pelanggan yang pernah mengalami problem dan diperbaiki dengan baik ternyata cenderung lebih tinggi daripada para pelanggan yang tidak pernah punya problem dengan layanan anda!

.

contoh kasusnya begini. saya adalah pelanggan ISP (= ‘internet service provider’) rumahan dengan kecepatan relatif-tinggi selama tiga tahun terakhir. kemudian pada suatu hari di tahun ketiga, misalnya, saya mengalami problem bahwa koneksi saya down. sudah tentu saya kecewa, dong. kalau pada grafik, ini adalah bagian nadir dari grafik kepuasan saya sebagai pelanggan.

tapi kemudian, kejutan terjadi. tim support dengan cepat menanggapi keluhan saya. dalam waktu kurang dari satu jam sejak saya melaporkan, rumah saya langsung didatangi teknisi. kemudian dalam waktu setengah jam koneksi saya kembali online, tanpa banyak basa-basi dan tanpa banyak tambahan biaya. tentu saja sebagai pelanggan, saya puas. dan dengan demikian, kepercayaan jangka panjang saya kepada ISP langganan pun terbentuk: oh, ternyata ISP langganan saya ini sangat responsif. saya tidak perlu kuatir lagi kalau misalnya ada problem!

pada dasarnya, sebagai pelanggan kemudian saya senang. baiklah, memang terjadi problem. tapi respons dan penyelesaiannya, luar biasa. dengan demikian, peningkatan poin kepuasan saya sebagai pelanggan. dan tambahannya, kepercayaan jangka panjang saya meningkat terhadap kemampuan ISP langganan saya dalam menangani kemungkinan-kemungkinan masalah saya sebagai pelanggan.

jadi, paradoksnya di sini adalah bahwa kepuasan umum pelanggan (dalam kasus ini saya) terhadap servis dari penyedia (di sini ISP langganan saya) meningkat, sementara selama tahun-tahun sebelumnya sebagai pelanggan kepuasan umum saya berada pada level biasa-biasa saja.

.

secara singkat, kira-kira seperti itulah service recovery paradox. kepuasan meningkat karena layanan pernah mengalami kegagalan, namun bisa diperbaiki dengan cepat dan tepat. tapi, ya, hanya ketika respons dan resolusi keluhan berada dalam taraf istimewa sampai luar biasa. kalau ISP saya tadi tidak responsif, misalnya, yang ada juga malah kepercayaan saya semakin rendah. gawat-gawatnya, saya malah bisa pindah ke penyedia layanan lain untuk kebutuhan ISP di tempat saya!

tentu saja, pada dasarnya fenomena ini adalah juga sebuah disonansi. kalau misalnya layanan sering mengalami problem, persepsi konsumen juga akan menurun. oleh karena itu, mengeksploitasiĀ service recovery paradox ini jelas bukan tindakan bijaksana untuk mengambil hati konsumen, khususnya ketika anda berperan sebagai pihak penyedia layanan. ya iyalah, mau secepat apapun anda bisa merespon dan menyelesaikan keluhan, kalau layanan anda tampak tidak stabil di mata konsumen, ujung-ujungnya ya akan sia-sia juga karena layanan anda akan dipersepsikan berkualitas rendah.

gampang-gampangnya sih, kalau menurut saya kira-kira begini. sebagai penyedia layanan, sebisa mungkin, usahakan jangan sampai terjadi problem dengan layanan anda. tapi kalau sampai terjadi problem —dan percayalah, pasti akan terjadi saja entah bagaimana caranya— lakukan dua hal saja: respon dengan segera, dan perbaiki dengan segera!

setelahnya, mungkin hal-hal baik akan terjadi. pelanggan juga bukan tidak bisa melihat kesungguhan anda, kok. šŸ˜‰

ternyata, harddisk notebook saya…

pembaca, masih ingat tentang cerita mengenai notebook saya yang mendadak bermasalah beberapa waktu yang lalu? ini kelanjutan ceritanya.

untuk anda yang masih belum nyambung, cerita ini berawal sejak beberapa waktu yang lalu, di mana notebook saya (aka: M-E-T-E-O-R-[1] ) mendadak bermasalah. di antara pekerjaan yang semakin menumpuk dan deadline yang masih belum bosan mengejar, notebook saya crash, mengakibatkan hilangnya sebagian besar data yang akhirnya tidak dapat di-recover.

…bagusnya, tidak sampai ada masalah berarti gara-gara itu, sih. tapi untuk seterusnya sampai akhir semester, praktis saya meminimalkan penggunaan M-E-T-E-O-R- sampai waktu yang tidak ditentukan.

::

nah. itu cerita pengantarnya. silakan lihat link di bawah untuk detailnya kalau berminat. sekarang, saya akan menceritakan kelanjutannya.

insiden tersebut akhirnya baru bisa ditindaklanjuti setelah saya benar-benar punya waktu luang yang cukup layak. ya, ya, apa lagi kalau bukan liburan akhir semester!

…apa, service center? nanti dulu. itu pilihan terakhir, pembaca. :mrgreen:

1. observasi masalah…

observasi kali ini dilakukan terhadap M-E-T-E-O-R-, sebuah laptop alias notebook Acer TravelMate 4020NWLCi. memori SODIMM[2] DDR2 256 MB, prosesor Pentium M 715 1.5 GHz, harddisk 60 GB. tidak pernah jatuh, terinjak, apalagi sampai terbanting dari atas tempat tidur. sumpah, saya nggak bohong. :mrgreen:

gejalanya agak susah dideteksi, mengingat kemunculannya yang tidak menentu. kadang OS berjalan lancar untuk waktu yang lama, sebelum akhirnya terjadi blue screen. di lain kesempatan, komputer tidak bisa melakukan boot… tapi kemunculan gejala ini tidak memiliki pola yang jelas sehubungan dengan penggunaan aplikasi tertentu pada OS.

2. memori atau harddisk?

berhadapan dengan gejala berupa blue screen, kecurigaan langsung terarah ke dua komponen calon tersangka: memori, atau harddisk. berdasarkan pengalaman, masalah pada komponen lain (misalnya modem atau sejenisnya) paling parah hanya menyebabkan komputer hang dan tidak bereaksi terhadap input mouse atau keyboard. mungkin juga saya saja yang kurang pengalaman sih, tapi asumsi sementara adalah bahwa kemungkinan masalahnya berada di antara dua komponen tersebut.

[harddisk notebook]

ini harddisk notebook saya. covernya dua sisi, jadi isinya tidak bisa dilihat. ada juga yang covernya satu sisi, sih.

kecurigaan terhadap memori berkurang setelah ditemukan bahwa setiap kali proses boot, tidak ditemukan gejala berupa BIOS beep[3] untuk masalah memori. hal ini menyisakan kecurigaan terhadap harddisk yang kini menjadi tersangka utama.

kecurigaan semakin diperkuat oleh timbulnya gejala lain yang terlihat belakangan: pesan Delayed Write Failed[4] yang ditampilkan oleh OS. selanjutnya, pengecekan BIOS ketika boot gagal memastikan sumber masalah: harddisk tidak dikenali untuk setiap proses boot yang gagal.

sekarang, diketahui bahwa masalahnya ada pada komunikasi harddisk dengan komponen lain. tapi, di mana? fisik harddisk? sambungan ke board? atau yang lain?

3. pertolongan pertama

asumsi sementara, masalah terletak pada harddisk atau sambungannya dari atau ke board. ada tiga kemungkinan: masalah pada board (terutama pada port interface ke harddisk), masalah pada harddisk (fisik harddisk memang sudah menurun fungsinya), atau masalah pada sambungannya (kabel kurang kencang? mungkin saja). mengingat bahwa hanya kemungkinan terakhir yang bisa ditangani secara mandiri, maka notebook pun dibongkar. sambungan kabel diperkencang, dan pengujian dilakukan kembali.

setelah beberapa kali utak-atik, gejala serupa masih terjadi. meskipun demikian, penggunaan pengganjal kertas untuk menstabilkan dudukan harddisk ternyata mampu mengurangi jumlah kemunculan gejala secara cukup signifikan.

[mount hdd]

dudukan harddisk di notebook saya. pengganjal kertas dipasang di bawah dudukan, tidak kelihatan di gambar. tidak menyelesaikan masalah, tapi bisa meredakan gejala.

4. dan diagnosisnya adalah…

segera setelah urusan kabel dan sambungannya dipastikan beres, kecurigaan langsung terarah ke harddisk yang jadi korban. penggunaan ganjalan yang mengubah karakteristik gejala jelas bukan karena masalah di board. kemungkinan besar, masalahnya ada pada fisik harddisk: entah pada jarum, atau pelat magnetik, atau yang lain.

untuk yang ini, saya angkat tangan. jeroan harddisk sudah bukan mainan yang bisa dioprek sembarangan… untuk yang seperti ini, biasanya solusinya satu: ganti saja harddisknya! :mrgreen:

sayangnya, diagnosis ini tidak dapat dipastikan karena tidak adanya pemilik notebook lain yang mau merelakan notebooknya untuk dipreteli harddisk-nya bisa dicoba ke notebook saya.

5. akhirnya, service center

tadi saya menyebutkan soal ‘service center itu upaya terakhir’? benar sekali. akhirnya, saya memang pergi ke sana, pembaca. :mrgreen:

yah, akhirnya saya pergi ke service center untuk Acer, dengan tujuan utama untuk mengganti harddisk. pelayanannya oke, teknisinya lumayan ramah dan membumi (baca: tidak terkesan sombong atau sok tahu :mrgreen: ), dan saya pun menitipkan notebook saya… lengkap dengan obrolan mengenai perkiraan saya mengenai komponen yang mungkin rusak berikut gejala-gejala yang timbul.

akhirnya saya ditelepon, bahwa ternyata masalahnya terletak pada harddisk tersebut (sesuai perkiraan), tepatnya pada pembaca pelat magnetik yang memang sudah lemah (tuh kan) dan kenyataan bahwa harddisk saya harus diganti (sudah diduga).

6. akhirnya…

saya kembali mendatangi service center, kali ini dengan notebook saya sudah menggunakan harddisk baru. sekalian sambil jalan, sekeping SODIMM DDR2 sebesar 1 GB jadi penghuni baru notebook saya. harga memorinya sendiri cukup oke, tapi harddisk baru ini terpaksa agak mahal… sehubungan dengan kurs dolar AS yang memang sedang tinggi. tapi secara umum, harga yang ditawarkan masih masuk akal, sih. overall, untuk harga komponen tidak ada masalah.

dan bagian terakhirnya adalah… charge untuk jasa servis. ongkos sekian rupiah akhirnya dikeluarkan untuk sebuah jasa servis dari teknisi ofisial, dengan pemeriksaan sampai ke fisik komponen dan pemasangan komponen baru berikut instalasi ulang OS. sudah sewajarnya sih, tapi agak sayang juga… mengingat sebenarnya saya bisa membeli komponen baru saja tanpa urusan servis yang lain.

…tapi belakangan, saya jadi berpikir-pikir lagi. ternyata, skill saya itu mahal juga, ya? mungkin asyik juga kalau saya bisa kerja sambilan sebagai teknisi spesialis notebook. :mrgreen:

___

[1] Mobility-Enhanced, TFT-Equipped with Optimized Resource… entah kenapa, saya jadi agak-agak terbawa semangat singkatan ala Gundam di sini. :mrgreen:

[2] ini jenis memori yang biasa digunakan untuk notebook. dilihat sepintas, bentuknya agak lebih kecil daripada memori untuk desktop.

[3] kalau ada komponen yang tidak terpasang dengan benar, komputer akan mengeluarkan bunyi beep yang bervariasi, tergantung komponen yang bersangkutan. beep untuk memori berbeda dengan beep untuk video adapter, misalnya.

[4] Delayed Write Failed terjadi ketika OS tidak bisa menulis informasi ke harddisk. disebut ‘delayed write’ karena data tidak langsung ditulis ke disk, melainkan di-buffer dulu. alasannya sih demi efisiensi akses I/O, tapi mekanisme ini tergantung OS, sih.

___

baca juga:

11.03.07 | lag of update… due to some ‘accident’

.htaccess dan 406

beberapa hari terakhir ini, saya mencoba melakukan modifikasi terhadap beberapa option yang ada di engine WordPress yang digunakan oleh website ini. namanya juga iseng-iseng bongkar, kalau nggak rusak nggak belajar, kan? šŸ˜›

nah, salah satu ‘korban’ keisengan saya kali ini adalah feature permanent link yang disediakan oleh WordPress sejak saya melakukan upgrade engine beberapa waktu yang lalu[1]. yah, detailnya ada di salah satu entry di sini.

kalau anda memperhatikan, sebelumnya post yang saya tulis selalu menggunakan permanent link yang ‘tidak bersahabat’: hanya menggunakan ID dari post yang saya tulis sebagai parameternya, dengan angka-angka yang cenderung membingungkan. yah, begitulah pokoknya.

gampangnya begini. ini alamat untuk salah satu entry yang saya tulis beberapa waktu yang lalu.

http://yud1.csui04.net/?p=193

sekarang, jadi bisa seperti ini. tadinya sih nggak bisa, karena kustomisasi di engine lama tidak memungkinkan struktur seperti harapan saya[2]. whatever, pokoknya akhirnya bisa.

http://yud1.csui04.net/2007/08/26/back-on-the-rocks-at-last/

yang dilakukan oleh engine baru (dan tidak dilakukan engine lama) ini adalah menambahkan kemampuan untuk modifikasi file .htaccess[3] yang ada di server tempat engine ini di-deploy. cut the crap, akhirnya permanent link dari entry-entry yang ada di sini sekarang menggunakan bentuk yang (harusnya) lebih enak dipandang.

::

…sialnya, timbul masalah. setelah saya menggunakan bentuk permanent link yang baru, saya tidak bisa lagi menulis post di sini. saya bahkan tidak bisa menuliskan comment untuk melakukan comment-reply. aneh, pokoknya.

anehnya lagi, tiba-tiba saya menyadari hal yang tak kalah ‘absurd’: saya tidak bisa memasukkan pesan dengan metode POST[4], kalau saya memasukkan tag HTML dalam tulisan saya. setiap kali meng-klik ‘Submit’, saya hanya menemukan pesan berikut:

Error 406: Not Acceptable

aneh, padahal biasanya tidak ada masalah. file-nya masih ada, sebab kalau tidak seharusnya error 404: File Not Found. hal ini membingungkan, tapi dapat dipastikan bahwa gejala ini timbul setelah saya menambahkan file .htaccess berikut modifikasinya ke server.

selidik punya selidik (baca: main-main ke support WordPress.org, search di Google), akhirnya ditemukan kemungkinan bahwa hal tersebut disebabkan oleh security policy dari pihak penyedia hosting csui04.net. solusinya, coba modifikasi file .htaccess di server.

OK, mari kita coba. katanya sih, tambahkan code ini di .htaccess:

<ifmodule mod_security.c>
SecFilterInheritance Off
</ifmodule>

save .htaccess, lalu… voila. halaman error 406 tidak lagi muncul, dan saya bisa kembali menuliskan entry maupun comment dengan tag HTML.

OK, bagus. akhirnya masalah selesai.

…tapi anehnya, kenapa error 406 tadi cuma muncul kalau saya memasukkan tag HTML, yah?

___

[1] feature untuk kustomisasi permanent link ini sudah ada sejak lama. hanya saja, engine versi lama tidak bisa menyediakan kustomisasi seperti yang saya inginkan. saya baru bisa meng-kustomisasi sesuai keinginan sejak menggunakan WordPress 2.2.

[2] di engine lama, permanent link dengan struktur paling mendekati adalah

[alamat]/index.php/[tahun]/[bulan]/[tanggal]/[nama-post].

menurut saya ini nggak asyik, kelihatan bohongnya šŸ˜›

[3] file ini berada di server, digunakan untuk mengatur penanganan request sebuah halaman. bisa digunakan untuk berbagai keperluan, tapi saya sendiri jarang berhubungan dengan benda ini.

[4] salah satu metode untuk mengolah input pengguna dari sebuah form HTML. contoh sederhananya, misalnya untuk comment di blog atau membuat entry baru.

antara prosesor dan HSF

tulisan ini merupakan bagian dari pengalaman yang sempat ditulis di sini beberapa waktu yang lalu, dan sempat disinggung dalam salah satu post yang ada di sini. sebagai informasi, tulisan ini akan berhubungan erat dengan troubleshooting pada komputer, dan pengetahuan dasar akan hardware akan memudahkan anda dalam memahami apa yang akan saya tuliskan di sini.

jadi, untuk anda yang tertarik dan berminat dengan pembahasan mengenai troubleshooting, silakan melanjutkan membaca tulisan ini… lagipula, siapa yang perlu pergi ke service center kalau anda bisa menangani sendiri masalah pada komputer anda? =)

1. awalnya…

seorang pengguna yang bernama wiki mengeluhkan mengenai perilaku komputernya yang tiba-tiba mulai bersikap aneh: komputer menjadi sangat sering hang, khususnya ketika melakukan multitasking. fenomena hang ini meliputi seluruh komponen OS: proses berhenti berjalan, mouse menjadi tidak berfungsi, demikian juga input dari keyboard tidak dapat dikenali.

sebagai mahasiswi Informatics Engineering, beberapa asumsi langsung dipertimbangkan: serangan virus, atau error yang bersifat resident pada OS. proses instalasi ulang OS dilakukan, namun gejala yang timbul tidak juga hilang.

sebagai tambahan, beberapa orang rekan kuliah yang ditanyai pengguna menyatakan kemungkinan adanya kesalahan pada pemasangan hardware, namun hal ini belum dapat dipastikan. instalasi ulang OS format hard-disk tidak mampu menghilangkan gejala yang ada. utak-atik konfigurasi OS juga tidak membawa hasil, demikian juga utak-atik BIOS tidak berpengaruh.

ini bukan masalah untuk ditangani teknisi amatiran, maka Special Response Team (lagaknyaaa! =P ) untuk troubleshooting pun dipanggil dari Jakarta ke lokasi di Bandung untuk observasi.

2. observasi masalah!

setelah mendapatkan gambaran umum mengenai keadaan, observasi segera dilakukan di lokasi. masalah yang ada: PC sering hang dengan gejala seperti yang telah disebutkan.

proses boot berjalan tanpa masalah, demikian juga login ke OS. setelah beberapa lama, terjadilah gejala yang ditunggu: komputer hang tanpa syarat, tanpa blue screen dan tanpa peringatan. percobaan ulang dengan login ke OS dan menjalankan berbagai program secara multitasking memberikan hasil yang sama: komputer hang setelah beberapa saat, tanpa peringatan.

spesifikasi komputer terdiri atas prosesor Pentium4 @ 2.4 GHz, board dengan chipset Intel i865G, dan memori DDR-SDRAM PC-3200, 512 MB.

3. masalah memori?

asumsi pertama adalah bahwa gejala yang timbul disebabkan oleh hardware, bukan dari OS yang dipergunakan. instalasi ulang OS telah dilakukan, dan tidak menghilangkan gejala yang ada. jelas masalahnya bukan di OS. sasaran kecurigaan pertama adalah memori, yang terdiri atas satu keping DDR-SDRAM 512 MB. kemungkinan, dudukan memori yang tidak stabil mengakibatkan sistem hang di tengah jalan.

 11307.jpg

slot memori DDR: asumsi awal, pemasangan memori pada slot kurang tepat. meskipun demikian, tidak ada tanda-tanda kesalahan pemasangan memori dari BIOS

langkah pertama yang dilakukan adalah mencoba penggantian slot memori yang digunakan. percobaan di semua slot tetap tidak menghilangkan gejala, demikian juga tidak ada sinyal mengenai kesalahan pemasangan memori dari BIOS. selain itu, proses boot selalu berhasil tanpa masalah, demikian juga dengan sinyal POST dari BIOS.

kesimpulan sementara, masalah bukan disebabkan oleh kesalahan pemasangan memori.

4. penggunaan hardware monitor

setelah memori dinyatakan bebas dari dakwaan, kecurigaan beralih pada komponen lain. tapi, yang mana? sementara itu, penyebab hang belum dapat dipastikan. maka, digunakanlah tool yang hampir selalu disisipkan dalam setiap pembelian mainboard: sebuah paket hardware monitor yang meliputi kontrol terhadap suhu prosesor, board, dan putaran CPU fan serta chassis fan.

tool ini belum sempat di-install oleh pengguna, hal yang wajar sehubungan dengan penggunaannya yang memang lebih banyak dilakukan oleh power user. instalasi hardware monitor akhirnya dilakukan, dan uji ketahanan kembali dimulai. berbagai program dijalankan secara multitasking, mulai dari image editor sampai compiler dan audio player.

dan masalah-pun terdeteksi: komputer selalu hang setelah peringatan dari hardware monitor karena suhu prosesor melewati batas: 760 C, jauh di atas suhu prosesor Pentium4 pada umumnya yang berkisar antara 400 – 450 C.

5. HSF yang tidak berfungsi

setelah dipastikan bahwa tingkah komputer yang aneh ini disebabkan oleh suhu prosesor yang terlalu tinggi, masalah menjadi lebih sempit. jelas masalahnya ada pada distribusi panas yang tidak berjalan lancar dari prosesor ke sistem pendinginan yang membawa aliran udara panas keluar.

kecurigaan terarah kepada satu buah fan yang tidak tersambung pada power supply. pemasangan kabel power dari power supply ke fan dilakukan, namun ternyata suhu prosesor masih tetap tinggi, tidak ada perubahan signifikan. jelas, masalah ini tidak ada hubungannya dengan fan yang tidak menyambung.

akar masalah ditemukan setelah meletakkan board pada posisi horizontal. pencahayaan yang lebih baik dari sinar lampu langsung menunjukkan penyebabnya: kipas pada HSF berjalan normal, namun celah-celah pada HSF yang tersambung ke prosesor tertutup debu, mengakibatkan aliran udara yang digerakkan oleh HSF tidak sampai ke prosesor. ini dia masalahnya!

 image011.jpg

HSF pada Pentium4: celah-celah horizontal di bawah kipas berfungsi sebagai jalur perpindahan udara panas dari prosesor. tertutupnya celah dapat mengakibatkan panas terperangkap di prosesor.

6. akhirnya…

masalah dibereskan dengan menggunakan sikat gigi bekas (barang yang sangat murah, kalau dibandingkan dengan pergi ke service center), dan debu yang menumpuk disapu bersih dari HSF. untuk lebih memastikan, knop HSF pada prosesor dilonggarkan terlebih dahulu (lihat dua knop berwarna putih di atas fan? itu… =) ), dan debu dibersihkan.

setelah bebas-debu dan knop dikencangkan kembali, masalah-pun menghilang. suhu prosesor kembali berada di level normal 420 C, dan percobaan berikutnya dengan login ke OS dan pengujian dengan multitasking berjalan lancar tanpa masalah.

::

overall, masalah yang di-troubleshoot kali ini memang bukan masalah yang bisa diatasi oleh sembarang orang dengan sekali jalan. kalau anda membawa komputer dengan masalah seperti ini ke service center, kemungkinan komputer anda akan disuruh ‘menginap’ paling tidak semalam… lengkap dengan pemeriksaan menyeluruh dan cross-checking antar komponen, berikut fee untuk teknisi yang memperbaiki komputer anda.

..tapi kalau bisa melakukannya sendiri, buat apa pergi ke service center? :mrgreen:

printStackTrace()

percayakah anda, bahwa hal yang kelihatannya sepele kadang-kadang bisa meningkatkan coding speed? saya sih percaya. apalagi kalau hal tersebut berkaitan dengan ‘menemukan salah apa di mana’ dalam program yang panjangnya bisa sampai ratusan baris (atau bahkan bisa ribuan, kalau dihitung dari semua file yang ada). yah, pokoknya program yang bisa berlembar-lembar kalau di-print semuanya.

euh… anda yang tidak atau kurang familiar dengan programming mungkin agak bingung dengan judulnya yang ‘aneh’. jadi sebelumnya, mari kita bicarakan dulu apa yang akan saya tulis di sini.

dalam programming, seorang programmer menuliskan perintah-perintah dalam sebuah file. anggap saja file ini kayak daftar perintah yang harus dikerjakan oleh komputer, jadi sang komputer ini bisa bertindak sesuai kemauan kita. bahasa-bahasa yang digunakan bisa dibilang ‘kaku’ dan ‘aneh’ untuk ukuran manusia ‘normal’, jadi sebaiknya tidak usah dipikirkan kalau anda memang tidak berkepentingan dengan hal tersebut =P.

jadi, dalam program yang jumlahnya bisa sampai ratusan atau ribuan baris (yang sekarang sedang gw kerjakan sih 800an baris, dan ada file lain 200an baris, dan masih ada beberapa file lagi yang lain, jadi kayaknya 1000 baris lewat tuh =P), perlu ada suatu pengecekan per bagian: ada yang salah nggak sih?

nah, kadang-kadang, sebagian (besar?) programmer lebih suka untuk (atau secara tidak sadar) melakukan pengecekan error yang tidak menjelaskan error-nya ada di mana, misalnya dengan penggunaan kata-kata seperti “salah tuh” atau “hoiii” yang dicetak ke layar. atau ketika ada kesalahan query dalam input ke database, pesan error-nya hanya “query-nya salah tuh”.

dan sejujurnya, gw termasuk yang demikian juga… kadang-kadang =).

dan gw berakhir dengan bingung sendiri, karena akhirnya harus sering-sering ctrl+F (ini fungsi find , tahu kan, misalnya untuk mencari kata tertentu di notepad atau sejenisnya) untuk mencari kesalahan pada program yang sedang gw kerjakan.

yah, gw sih merasa lebih terbantu kalau misalnya query database yang bermasalah ditampilkan ke layar (soalnya mungkin saja gw kurang tanda kutip atau sejenisnya, jadi kan salah tuh).

dan yang lebih mengganggu lagi, kalau anda menggunakan try-catch dalam Java (ini salah satu bahasa pemrograman, banyak kok yang lain =) ). hal yang menyebalkan bisa terjadi, misalnya sebagai berikut.

try {

//…blok program

} catch (Exception e) { }

ada masalah kecil. ketika ada exception (yang biasanya terjadi karena kesalahan dalam programming, walaupun tidak selalu) yang terjadi di program tersebut. kenapa? jelas, kan. ketika terjadi exception, tidak ada pesan yang ditampilkan! mau NumberFormatException, IOException, atau NullPointerException juga akan terasa baik-baik saja… kecuali sebegitu fatalnya sampai program yang dibuat menjadi crash.

jadi mungkin ada baiknya kalau pesan yang diberikan lebih jelas. kalau query-nya salah, tuliskan query yang salah itu apa-adanya. kalau ada percabangan, tuliskan dengan jelas status dan variabel yang ada. pokoknya apapun yang ada sejelas mungkin, sehingga rekan programmer anda cukup terbantu untuk memperbaiki program yang anda kerjakan.

dan yang jelas, sebagai programmer, dengan demikian anda akan menguntungkan rekan anda yang bertugas untuk membenahi program yang anda buat. iyalah, rekan anda mungkin masih harus belajar dulu mengenai istilah “hoii” “wahh” atau “lewat sini” yang anda buat. dan percayalah, rekan anda mungkin akan sedikit frustrasi kalau harus membolak-balik ratusan baris program demi mengetahui arti dari ‘kata-kata sakti’ yang anda tuliskan =).

kembali ke contoh tadi, sebenarnya lebih efisien dengan menggunakan printStackTrace(). iyalah, dengan demikian anda langsung tahu anda salah apa, di mana, bahkan sampai ke baris berapa. jauh lebih informatif dibandingkan dengan contoh pertama tadi.

try {

//…blok program

} catch (Exception e) { e.printStackTrace(); }

jadi sebenarnya, hidup itu bisa dibuat mudah. setidaknya, lebih mudah untuk rekan anda yang mungkin masih harus memperbaiki program yang masih harus di-debug, dengan atau tanpa ‘kata-kata sakti’ yang anda tuliskan.

___

footnote:

  • bug – kesalahan pada program, mengakibatkan hasil yang dikerjakan komputer tidak sesuai harapan programmer.
  • query – perintah yang dimasukkan pada database, misalnya untuk mencari data dengan kriteria yang diinginkan.
  • exception – hal yang terjadi karena perintah yang tidak dapat di-handle oleh komputer, misalnya input alfabet atau huruf untuk variabel yang diolah secara numerik.

___

pengalaman pribadi. mari kita budayakan programming yang bertenggang-rasa =)