Salah satu penyakit mematikan penyebab kematian terbesar secara global adalah kanker. Kematian akibat kanker dapat diredam melalui deteksi dini terhadap kanker dengan memanfaatkan teknologi microarray. Namun teknologi ini memiliki kekurangan, yaitu jumlah gen (fitur) yang terlalu banyak. Kekurangan tersebut dapat diatasi dengan melakukan seleksi fitur terhadap data microarray. Salah satu algoritma seleksi fitur yang dapat digunakan adalah Binary Particle Swarm Optimizationi (BPSO). Pada penelitian ini, dilakukan seleksi fitur dengan BPSO pada data microarray dan klasifikasi menggunakan Distance Weighted KNN (DWKNN). Kemudian akan dilihat perbandingan hasil akurasi, presisi, recall, dan f1-score antara DWKNN dan BPSO-DWKNN. Seleksi fitur dan klasifikasi (BPSO-DWKNN) pada dataset Leukemia menghasilkan akurasi, presisi, recall, dan f1-score tertinggi beturut-turut sebesar 93,12%, 94,39%, 95,92%, dan 94,8%. Pada dataset Lung Cancer diperoleh akurasi, presisi, recall, dan f1-score tertinggi beturut-turut sebesar 98,36%, 98,77%, 99,35%, dan 99,03%. Pada dataset Prostate Cancer diperoleh akurasi, presisi, recall, dan f1-score tertinggi beturut-turut sebesar 86,81%, 89,13%, 88,04%, dan 88,07%. Pada dataset Diffuse Large B-Cell Lymphome diperoleh akurasi, presisi, recall, dan f1-score tertinggi beturut-turut sebesar 85,8%, 93,21%, 88,1%, dan 89,76%. Hasil perbandingan menunjukkan peningkatan akurasi, presisi, recall, dan f1-score pada algoritma DWKNN dengan seleksi fitur BPSO dibandingkan dengan algoritma DWKNN tanpa seleksi fitur BPSO.