Dalam perkuliahan, mahasiswa akan menjalani beberapa rangkaian mata kuliah, secara umum prodi akan menyiapkan daftar mata kuliah baik yang bersifat wajib dan pilihan. Prodi telah menyiapkan kurikulum yang berlaku dalam bentuk silabus, namun tidak jarang mahasiswa ragu dalam mengambil keputusan mata kuliah pilihan apa yang akan mereka ambil, terlebih lagi pada awal menentukan konsentrasi keminatan prodi. Hal ini dapat berakibat kurang maksimalnya perolehan nilai mata kuliah mahasiswa hingga mundurnya masa studi. Penelitian terdahulu telah melakukan pendekatan sistem pakar dan data mining untuk menentukan rekomendasi mata kuliah sesuai bakat dan kemampuan individu. Namun dalam implementasinya, tidak jarang mata kuliah yang direkomendasikan terlalu luas dan kurang sesuai dengan profil pengguna, dengan demikian perlu adanya metode optimalisasi rekomendasi untuk meningkatkan akurasi rekomendasi dengan meminimalisir keluarnya rekomendasi mata kuliah yang kurang sesuai dengan profil data uji. Dalam penelitian ini, sistem rekomendasi akan dibangun dengan pendekatan collaborative filtering menggunakan metode jaccard, euclidean distance, cosine similiarity, dan pearson correlation. Setelah itu, k-means clustering digunakan untuk mengoptimalisasi nilai akurasi dari sistem rekomendasi dengan . Dari penelitian yang dilakukan, pendekatan collaborative filtering menggunakan metode cosine similiarity menghasilkan nilai akurasi 64.76%, euclidean distance menghasilkan nilai akurasi 62.04%, jaccard menghasilkan nilai akurasi 53.66%, dan pearson correlation menghasilkan nilai akurasi 43.71%. Optimalisasi akurasi rekomendasi menggunakan k-means clustering juga berhasil meningkatkan performa nilai akurasi hingga 9.92%.