ABSTRAKSitus tanya-jawab Stack Overflow telah sering digunakan sebagai acuan oleh programmer. Informasi atau solusi dalam proses pengembangan perangkat lunak dapat dicari dengan bantuan mesin pencari pada situs. Namun, perbedaan dalam gaya penulisan, terutama pada penulisan identifier program, sering menyebabkan rekomendasi (pencarian) menjadi tidak sesuai dengan kebutuhan programmer. Beberapa programmer menulis identifier dalam bentuk singkatan sementara yang lain tidak sehingga menurunkan kinerja rekomendasi. Penelitian ini mengadopsi Lingua::IdSplitter untuk menormalkan identifier pada data diskusi Stack Overflow. Proses normalisasi dilakukan dengan memisahkan identifier yang terdiri atas komposisi term serta memperluas singkatan yang ada pada identifier ke bentuk penuh. Hasil penelitian menunjukkan bahwa normalisasi identifier menggunakan Lingua::IdSplitter secara umum mampu meningkatkan nilai median recall hasil rekomendasi hingga 13%.
Kata kunci: sistem rekomendasi, identifier, normalisasi, Stack Overflow
PENDAHULUANPerusahaan perangkat lunak yang baik seharusnya dapat menyediakan deliverable dengan waktu yang singkat dan dengan kualitas yang baik pula. Untuk mencapai hal tersebut, dibutuhkan manajemen serta kerja sama yang baik dari setiap pemangku kepentingan terutama programmer yang menjadi tulang punggung terciptanya perangkat lunak. Dengan demikian, performa programmer yang baik merupakan keniscayaan dalam menyukseskan proyek perangkat lunak.Dalam [1] disebutkan bahwa performa programmer dapat diukur berdasarkan kepribadian, kemampuan kognitif, serta tingkat kepercayaan terhadap nilai teoretis (theoretical value belief). Programmer yang selalu mencari pembuktian kebenaran terhadap hasil kerjanya, tidak asal-asalan dalam menyediakan solusi dalam bentuk kode program, cenderung memiliki performa yang baik dalam jangka panjang. Hal tersebut memaksa programmer, terutama programmer pemula, untuk menginvestasikan waktunya dalam meningkatkan kemampuan terkait pemahaman algoritma, cara memprogram, informasi-informasi pendukung, atau hal-hal lain yang berkaitan dengan perangkat lunak yang akan dibangun. Mendapatkan informasi dari anggota tim atau teman kerja menjadi