Tahapan Memulai Penelitian untuk Mahasiswa Galau
by Romi Satria Wahono
1. TENTUKAN BIDANG GARAPAN KITA (RESEARCH FIELD)
Banyak mahasiswa yang sampai detik-detik terakhir mau skripsi/tesis masih belum mengerti akan menggeluti bidang (field)
apa di disiplin ilmu computing. Ini agak mengherankan, karena ini
berarti mahasiswa tidak memahami isi mata kuliah yang 3-4 tahun dia
ikuti, sehingga akhirnya tidak mengerti minat dan ketertarikannya di
bidang (filed) apa. Ketika saya dulu mengikuti program undergraduate
(S1) di Saitama University, Jepang, semester 4-5 pun saya sudah bisa
menentukan minat dan ketertarikan saya kira-kira di bidang mana. Pada
semester 5, saya juga sudah harus menentukan akan masuk ke lab
penelitian apa (yang disusun berdasarkan bidang garapan (research field)).
Sebenarnya kalau kurikulum di kampus kita sudah benar, satu mata kuliah
itu menunjukkan satu cabang dari disiplin ilmu komputer, dan otomatis
menunjukkan bidang penelitian yang bisa kita garap. Cara lain untuk
melihat bidang garapan adalah dengan melihat journal ilmiah (transaction) yang ada di asosiasi bidang computing, contohnya adalah list transaction di ACM, dan IEEE Computer Society.
Beberapa bidang garapan di disiplin ilmu computing, misalnya adalah:
Software Engineering, Data Mining (Knowledge Discovery in Database),
Image Processing, Information Retrieval, Networking, Human Computer
Interaction, Soft Computing, Computational Intelligence, dsb. Sekarang
yang penting adalah segera tentukan mana bidang garapan anda.
Sebagai contoh, saya memutuskan bahwa ketertarikan saya adalah pada bidang software engineering. Saya lanjutkan gerakan saya ke tahap kedua, menentukan topik penelitian saya.
2. TENTUKAN TOPIK/TEMA PENELITIAN KITA (RESEARCH TOPIC)
Setelah bidang garapan ditentukan,
sekarang tentukan topik penelitian kita. Cara termudah menentukan topik
atau tema penelitian kita adalah dengan membaca buku, paper, artikel
yang berjudul “research trends on” dengan diikuti nama bidang yang kita
pilih. Contohnya gunakan keyword: “research trends on software
engineering”, kombinasi keyword pencarian selain itu adalah “research
challenge on”, “research topics on”, dsb. Dari beberapa paper yang kita
baca, kita akan ngerti tren penelitian di bidang yang kita garap apa
saja. Kita juga bisa menganalisa tren penelitian yang muncul di bidang
garapan kita dengan melihat issue (paling tidak sekitar 3 tahun
terakhir) dari journal/transaction yang berhubungan. Beberapa contoh
paper tentang research trend di suatu bidang ada di bawah:
-
Liao at al., Data Mining Techniques and Applications: a Decade Review from 2000 to 2011, Expert Systems with Applications 39 (2012)
-
Shafay Shamail and Malik Jahan Khan, Research Trends in Software Engineering, 2008
- Kitchenham et al., Systematic Literature Reviews in Software Engineering, Information and Software Technology 51 (2009)
Sebagai contoh, dari membaca series IEEE
Transaction on Software Engineering, dan saya perkuat dengan tulisan
Shafay Shamail dan Kitchenham di atas, saya memutuskan akan mengambil
topik penelitian tentang Software Defect/Fault Prediction. Saya lanjutkan gerakan saya ke tahap berikutnya yaitu, menentukan masalah penelitian dari topik penelitian yang saya pilih.
3. TENTUKAN MASALAH PENELITIAN KITA (RESEARCH PROBLEMS)
Setelah ketemu topik atau
tema penelitian, kita maju lagi lebih dalam, kita harus berhasil
menemukan masalah penelitian yang ingin kita angkat dari topik
penelitian tersebut. Ini tahapan yang paling sulit dalam penelitian, dan
paling memakan banyak waktu, tapi kalau masalah penelitian sudah
ketemu, jalan penelitian akan mulai terlihat. Bagaimana cara menentukan
masalah penelitian? Cara tercepat adalah membaca paper dari journal
ilmiah, dan mulai dari paper yg sifatnya review baru kemudian paper yg
sifatnya technical. Note that, paper di journal ada dua jenis. Jenis
yang pertama adalah “review paper”, yang membahas review atau
survey suatu topik penelitian. Jenis yang kedua adalah “technical
paper”, yang membahas aspek teknis dari perbaikan metode/algoritma (method improvement)
beserta hasil eksperimen dan evaluasi yang telah dilakukan. Mulailah
dengan membaca paper berjenis “review paper”, karena akan sangat
membantu kita dalam memahami topik penelitian kita secara mendalam dan
komprehensif.
Metode yang digunakan untuk mereview
penelitian dan merangkumkannya dalam “review paper” sudah mulai
distandardkan oleh para peneliti. Di bidang ilmu software engineering,
banyak peneliti yang merujuk ke metode Kitchenham dalam membuat “review
paper”, dan judul menggunakan terminologi yang sama yaitu “Systematic
Literature Review” atau disingkat SLR. Jadi kalau kita ingin menemukan
“review paper” yang bagus, coba searching dengan keyword: “systematic
literature review”, disamping tentunya tetap harus dicoba dengan
menggunakan keyword ”review on” atau “survey on”, atau lebih dalam ke
masalah penelitian dengan “research problem on” atau “research challenge
on”. Contoh “review paper” yang baik adalah seperti di bawah. Ketika
saya mengambil topik penelitian tentang software defect/fault prediction, maka paper pertama dari Hall et al. 2012 adalah paper yang wajib saya baca pertama kali.
-
Hall et al., A Systematic Literature Review on Fault Prediction Performance in Software Engineering, IEEE Transaction on Software Engineering, Vol. 38 No 6 (2012)
-
Wen et al., Systematic Literature Review of Machine Learning based Software Development Effort Estimation Models, Information and Software Technology 54 (2012)
- Yang & Wu, 10 Challenging Problems in Data Mining Research, International Journal of Information Technology & Decision Making, Vol. 5, No. 4 (2006)
- Liao et al., Intrusion Detection System: A Comprehensive Review, Journal of Network and Computer Applications 36 (2013)
- Breivold et al., A systematic review of software architecture evolution research, Information and Software Technology 54 (2012) 16
Jangan berhenti, kejar semua “technical
paper” yang ada di daftar referensi “review paper” di atas. Usahakan
konsentrasi ke paper yang diterbitkan dalam journal yang diindex oleh
ISI (thomson) atau SCOPUS (elsevier), supaya kita tidak pusing dengan
paper conference yang kadang dibuat asal-asalan. Masalah penelitian juga
kadang bisa kita temukan di bagian future work/research yang biasanya
diletakkan sebelum conclusion dari suatu paper. Masalah penelitian bisa
merupakan masalah baru, yang orang belum pernah mencoba memecahkannya
(originality di masalah penelitian), bisa juga masalah yang sudah dicoba
dipecahkan orang dengan cara dia, dan kita ingin memecahkan masalah
tersebut dengan cara kita (originality di metode untuk memecahkan
masalah) (Dawson, 2009).
Misalnya, bidang garapan saya adalah
software engineering, di mana topik penelitian saya adalah tentang
prediksi cacat software (software defect prediction). Dari
hasil studi literatur (baik review paper maupun technical paper),
masalah penelitian yang saya angkat ada dua, yaitu adanya masalah ”noisy
attributes” dan “class imbalance” pada data set, yang akhirnya
menyebabkan akurasi dan konsistensi (kehandalan) yang rendah pada
prediksi cacat software. Saya kemudian susun landasan referensi yang
memperkuat masalah penelitian yang saya angkat. Rangkuman masalah
penelitian (Research Problems (RP)) dan literatur yang mendukung (literature supports) adalah seperti di bawah. Dari rangkuman di bawah, terlihat bahwa masalah penelitian (research problem) yang saya angkat ada dua, saya rangkumkan dalam RP1 (Research Problem 1) dan RP2 (Research Problem 2).
4. RANGKUMKAN METODE-METODE YANG ADA (STATE-OF-THE-ART METHODS)
Lakukan studi literatur lagi, pelajari
semua penelitian yang tujuannya memecahkan masalah yang sama dengan yang
kita lakukan. Pahami metode/algoritma terkini yang mereka gunakan untuk
memecahkan masalah penelitian mereka (yang juga menjadi masalah
penelitian kita). Ini yang saya sebut dengan existing methods (metode-metode yang ada) atau state-of-the-art methods, pada artikel sebelumnya tentang kiat menyusun latar belakang masalah penelitian.
Dalam bidang computing, metode biasanya
berupa algoritma yang secara sistematis, logis dan matematis
menyelesaikan masalah. Setiap bidang penelitian (field) di computing
memiliki metode/algoritma yang khas untuk menyelesaikan masalah di
bidangnya, meskipun beberapa kadang bias digunakan secara bersama.
Contohnya pada bidang image processing, algoritma neural network
digunakan untuk melakukan pengenalan (recognition) wajah, sidik jari.
dsb. Note that identification process di image processing menganut
trilogi detection-segmentation-recognition. Pada bidang data
mining, algoritma neural network biasanya dipakai untuk proses estimasi
dan juga prediksi rentet waktu. Bidang data mining biasanya membagi
algoritma ke dalam 5 peran: estimasi, prediksi/forecasting, klasifikasi,
klastering dan asosiasi. Contoh lain tentang metode, ada di artikel: kiat menyusun latar belakang masalah penelitian.
5. TENTUKAN METODE YANG KITA USULKAN (PROPOSED METHOD)
Inilah kekuatan dari penelitian kita.
Kita harus bisa menentukan, membangun dan mengusulkan suatu metode/model
(proposed method/model), yg kita harapkan bisa lebih baik bila
dibandingkan dengan metode-metode yang ada saat ini. Dan keunggulan
metode yg kita usulkan tersebut harus dilandasi (reference), dibuktikan
secara matematis, dan secara empiris lewat hasil eksperimen dan
perbandingan dengan metode yang adas saat ini. Metode atau model yang
kita usulkan itu tidak harus benar-benar baru, dalam artian, bisa saja
dari state-of-the-art methods yang ada dan terakhir muncul
(secara publikasi adalah yang paling baru), kita kemudian “menambahkan”
sesuatu (algoritma, koefisien, formula, dsb), yang akhirnya ketika kita
bandingkan dengan metode original, metode kita lebih baik (lebih cepat,
lebih akurat, lebih konsisten, dsb). “Penambahan” yang kita lakukan dan
akhirnya membuat pemecahan masalah menjadi lebih baik itulah yang
disebut dengan kontribusi penelitian (contribution).
Setelah kita yakin dengan metode yang
kita usulkan (tentu harus dilandasi secara kokoh oleh literatur
terkini), maka kita susun Research Questions (RQ) dan Research Objective
(RO) dari penelitian kita. Penelitian yang baik dan terencana harus
tersusun sejak awal desain korelasi antara RP – RQ – RO. Contohnya, dari
RP di tahap 3, saya membuat desain penelitian saya (korelasi RP-RQ-RO)
seperti gambar di bawah. Untuk masalah “noisy attributes” saya mencoba
menjawab dengan mencari “metode (algoritma) attribute weighting apa yang
paling baik untuk prediksi cacat software?”, ini akan menjadi RQ1 saya .
Setelah saya berhasil membandingkan secara empiris berbagai metode
attribute weighting yang ada. Maka saya akan mengambil satu algoritma
(metode) yang terbaik/terkini/state-of-the-art tersebut, dan kemudian
mengusulkan improvement (perbaikan) dari algoritma tersebut. Sehingga
untuk RQ2 saya, saya desain menjadi “bagaimana pengaruh metode attribute
weighting yang saya usulkan (perbaiki) pada tingkat akurasi pada
prediksi cacat software?”. Sedangkan RO-nya sendiri akan menyesuaikan
dari RQ yang ada. Untuk RP2 juga secara umum mirip, hanya bukan masalah
akurasi yang saya selesaikan, tapi konsisten dan reliability
(kehandalan) dari classifier.
Jadi dapat disimpulkan bahwa desain
penelitian saya terdiri dari dua masalah penelitian (RP1 dan RP2), empat
pertanyaan penelitian (RQ1-RQ4) dan empat tujuan penelitian (RO1-RO4).
Desain penelitian ini akan menjaga konsistensi dan kesinkronan
penelitian kita, sehingga kita tidak bingung ketika merangkumkan
penelitian kita dalam bentuk skripsi/tesis/disertasi. Dimulai dari dua
masalah penelitian di RP1-RP2, ada 4 eksperimen yang kita lakukan untuk
menjawab RQ1-RQ4, dan ada 4 kesimpulan yang akan kita tarik dari hasil
penelitian yang kita lakukan.
Dilihat dari 5 tahapan memulai
penelitian di atas, kita harus banyak baca paper. Di mana sumber
literatur yang baik? Pertama coba ke google dan google scholar dulu. Untuk bidang komputer, berlangganan ACM plus dengan digital library yang berisi jutaan paper hanya 18USD/tahun. Silakan klik di link ini untuk jadi member. Terus, kira-kira berapa paper yang harus kita baca untuk menghasilkan penelitian yang baik? Patokan umum dan best practice
untuk melakukan penelitian yang benar, lurus dan berkualitas, untuk
level s1 kita paling tidak harus baca 20-70 paper, untuk level s2 kita
sebaiknya membaca 70-200 paper, dan untuk level s3 diperlukan literatur
sekitar 200-600 paper. Ini juga sekaligus menjawab pertanyaan mahasiswa
yang sering ngeluh, banyak baca paper kok malah tambah pusing? Silakan
ikuti best practice ini, maka kepala akan nyaman. Kepala jadi
pusing ternyata bukan karena kita banyak membaca, tapi karena yang kita
baca memang ”belum banyak”
Welcome to the jungle!
Comments