Penelitian ini bertujuan untuk mengoptimalkan algoritma Constrained K-Means dengan reduksi dimensi dataset menggunakan Principal Component Analysis (PCA) pada pengelompokan siswa Rekayasa Perangkat Lunak di SMKN 2 Kraksaan. Masalah utama yang dihadapi adalah efektivitas dan efisiensi proses klasterisasi pada dataset berdimensi tinggi serta adanya keterbatasan tertentu yang harus dipatuhi, seperti batasan pada ukuran klaster atau hubungan antar data. Algoritma K-Means konvensional tidak dirancang untuk menangani kendala-kendala ini sehingga diperlukan pendekatan yang lebih efektif. Penelitian ini menggunakan metode kuantitatif dengan pendekatan eksperimental. Data yang digunakan adalah hasil tes uji kemampuan akademik siswa kelas X yang mencakup atribut nilai deret, matematika, figural, mengingat, dan analogi. Tahapan penelitian meliputi seleksi data, pembersihan data, reduksi dimensi dengan PCA, dan klasterisasi menggunakan algoritma Constrained K-Means. Evaluasi hasil klasterisasi dilakukan menggunakan Silhouette Score. Hasil penelitian menunjukkan bahwa kombinasi PCA dan Constrained K-Means Clustering efektif dalam mengelompokkan siswa ke dalam tiga klaster yang seimbang. Reduksi dimensi menggunakan PCA meningkatkan kinerja algoritma klasterisasi baik dari segi kecepatan maupun akurasi. Hasil klasterisasi menunjukkan adanya tiga kelompok utama yaitu siswa dengan kemampuan tinggi, sedang, dan rendah. Evaluasi dengan Silhouette Score menunjukkan nilai tertinggi pada pengurangan dimensi hingga satu komponen PCA, yang menghasilkan klasterisasi paling optimal.