Study Kasus K-Means Clustering Pengelompokan Tekanan Darah Sistolik dan Diastolik Dengan Perhitungan
Manual
Taufik Hidayat1
Program Study Sistem Informasi Fakultas Teknologi Informatika Universitas Matha’ul Anwar Banten
Email: 1[email protected]
Abstrak. Dalam data mining, pendekatan K-Means Clustering adalah metode yang digunakan untuk mengelompokkan data menjadi kumpulan data.[1]
Penelitian ini bertujuan untuk mengimplementasikan algoritma K-Means secara manual dilakukan untuk mengelompokkan pasien berdasarkan tingkat tekanan darah. Langkah ini dicapai dengan menghitung manual K-Means melalui beberapa iterasi hingga diperoleh pusat cluster yang stabil. Hasil ini mengelompokkan dataset menjadi tiga cluster, di antaranya: tekanan darah tinggi, tekanan darah normal, dan tekanan darah rendah.
Kata kunci: k-means clustering; manual calculation; tekanan darah; pengelompokan;
centroid
1 Pendahuluan
Pengelompokan data (clustering) merupakan teknik penting dalam data mining yang bertujuan untuk mengelompokkan data ke dalam beberapa kelompok yang memiliki karakteristik serupa. Salah satu algoritma yang sering digunakan dalam proses pengelompokan adalah algoritma K-Means.
"Algoritma K-Means pertama kali diperkenalkan oleh Stuart Lloyd pada tahun 1984."[2] "Prinsip kerja algoritma ini adalah membagi data ke dalam k partisi yang masing-masing diwakili oleh sebuah pusat (centroid)."[3] "Data yang terdekat dengan centroid akan membentuk sebuah klaster."[3] "Algoritma K- Means termasuk dalam metode unsupervised learning karena tidak memerlukan label data." [3] Dalam pengelompokan dengan K-Means, setiap data akan dihitung jaraknya ke pusat cluster dan akan ditempatkan pada cluster yang memiliki jarak terdekat.
Metode K-Means banyak digunakan dalam berbagai bidang, seperti pengelompokan pelanggan, segmentasi pasar, pengolahan citra, hingga pengelompokan data medis. Salah satu manfaat penting dari metode ini adalah
Diterima ________, Direvisi _________, Diterima untuk publikasi __________
kemampuannya dalam menemukan pola tersembunyi pada data yang belum terkelompok. "Kelebihan algoritma ini adalah sederhana dan mudah diimplementasikan, sedangkan kelemahannya sensitif terhadap pemilihan titik centroid awal." [4]
Pada penelitian ini, data tekanan darah sistolik dan diastolik pasien dikelompokkan dengan algoritma hasil K-Means secara manual. Penelitian ini dilakukan untuk melihat bagaimana proses perhitungan manual K-Means yang berjalan dan membentuk cluster yang stabil memisahan berdasarkan tekanan darah yang mereka miliki. Dari pengelompokan tersebut diharapkan dapat memberikan sebuah gambaran sederhana bagaimana penerapan K-Means secara manual diterapkan pada klasifikasi data medis.
2 Metode Penelitian
Penelitian ini menggunakan metode studi pustaka dan simulasi untuk menguji implementasi algoritma K-Means Clustering.
2.1 Algoritma K-Means
1) Menyiapkan dataset yang akan dikelompokan.
2) Menentukan jumlah klaster (K).
3) Memilih titik sejumlah klaster (K) secara acak sebagai nilai pusat klaster (centroid) awal.
4) Memilih titik sejumlah klaster (K) secara acak sebagai nilai pusat klaster (centroid) awal.
d ( x , y )=¿
i=¿n√∑(x i−y i)2¿¿ Dimana :• d (x,y) adalah jarak antara data x ke data y (centroid)
• xi adalah data resting ke-i
• yi adalah data centroid ke-i
5) Mengelompokan data berdasarkan jarak terdekat , sehingga terbentuk K buah kluster.
6) Memperbaharui nilai pusat klaster (centroid) dengan persamaan.
µk =
1 N
k∑
i=1 nk
x i
Dimana :
• µk adalah titik centroid dari klaster ke-K
• Nk adalah banyaknya data pada klaster ke-K
• Xi adalah data ke-I pada klaster ke-k
7) Ulangi langkah 4 sampai 6 nilai dari titik centroid tidak lagi berubah.
2.2 Dataset Tekanan Darah
Dataset yang digunakan pada perhitungan manual adalah dataset pengamatan tekanan darah sistolik dan diastolik, yang disajikan pada Tabel. Dataset tersebut akan dikelompokan menjadi 3 kelompok (cluster).
Diharapkan setiap data akan mengelompok sesuai dengan kategori tekanan darah tinggi, normal dan sedang.
Tabel 1. Tabel kategori
No Sistolik (mmHg) Diastolik (mmHg) Kategori
1 > 120 > 80 Tinggi
2 90 – 120 60 – 80 Normal
3 < 90 < 60 Rendah
3 Hasil dan pembahasan
1) Menentukan jumlah klaster (K).
Tabel 2. Dataset tekanan darah sistolik dan diastolik
Pasien ke- Sistolik (mmHg) Diastolik (mmHg)
1 90 60
2 125 82
3 110 75
4 85 63
5 130 90
6 128 80
7 113 68
8 78 56
9 132 95
10 87 68
11 75 60
12 105 82
13 113 76
14 86 64
15 126 89
2) Memilih kandidat / titik jumlah klaster
Dari dataset tersebut akan dibagi menjadi 3 (tiga) kelompok sehingga nilai perhitungan adalah 3
3) Menentukan jumlah klaster (K).
Karena perhitungan dibagi menjadi 3 (tiga) maka titik klasater yang akan digunakan 3 titik ( C1 = data ke 3, C2 = data ke 4, dan C3 = data ke 5
Tabel 3. Tabel pusat data klaster (tabel titik awal centroid) Pasien ke- Sistolik (mmHg) Diastolik (mmHg)
3 110 75
4 85 63
5 130 90
4) Menghitung jarak dari semua titik yang ada di dataset dengan titik centroid tiap klaster.
• Data ke - 1
Jarak ke C1 =
√
(90−110)2+(60−75)2=25Jarak ke C2 =
√
(90−85)2+(60−63)2=5,83Jarak ke C3 =
√
(90−130)2+(60−90)2=124,66• Data ke - 2
Jarak ke C1 =
√
(125−11)2+(82−75)2=16,55Jarak ke C2 =
√ (125−85)2+(82−63)2=44,28
Jarak ke C3 =
√
(125−130)2+(82−90)2=9,43• Data ke - 3
Jarak ke C1 =
√
(110−110)2+(75−75)2=0Jarak ke C2 =
√
(110−85)2+(75−63)2=27,73Jarak ke C3 =
√ ( 110−130 )2+(75−90 )2=25
• Data ke - 4
Jarak ke C1 =
√ ( 85 − 110 )2+( 63 − 75 )2= 27 , 73
Jarak ke C2 =
√ ( 85−85 )2+( 63−63 )2=0
Jarak ke C3 =
√ ( 85 − 130 )2+( 63 − 90 )2= 52 , 47
• Data ke - 5
Jarak ke C1 =
√ ( 130−110 )2+( 90−75 )2=26
Jarak ke C2 =
√ ( 130−85 )2+( 90−63 )2=52 , 47
Jarak ke C3 =
√ ( 130−130 )2+( 90−90 )2=0
• Data ke - 6
Jarak ke C1 =
√ ( 128−110 )2+( 80−75 )2=18 , 68
Jarak ke C2 =
√ ( 128 − 85 )2+( 80 − 63 )2= 46 ,23
Jarak ke C3 =
√ ( 128−130 )2+( 80−90 )2=10 ,19
• Data ke - 7
Jarak ke C1 =
√ ( 113 − 110 )2+( 68 − 75 )2= 37 , 89
Jarak ke C2 =
√ ( 113−85 )2+( 68−63)2=28 ,44
Jarak ke C3 =
√ ( 113 − 130 )2+( 68 − 90 )2= 27 ,8
• Data ke - 8
Jarak ke C1 =
√ ( 78−110 )2+(56−75 )2=29 , 73
Jarak ke C2 =
√ 78 − 85 )2+( 56 − 63 )2= 9 , 89
Jarak ke C3 =
√ 78−130 )2+( 56−90 )2=62 ,12
• Data ke - 9
Jarak ke C1 =
√ ( 132 − 110 )2+( 95 − 75 )2= 29 ,73
Jarak ke C2 =
√ ( 132−85 )2+( 95−63 )2=56 , 85
Jarak ke C3 =
√ ( 132 − 130 )2+( 95 − 90 )2= 5 , 38
• Data ke - 10
Jarak ke C1 =
√ ( 87−110 )2+( 68−75 )2=24 , 04
Jarak ke C2 =
√ ( 87−85 )2+( 68−63 )2=5 , 38
Jarak ke C3 =
√ ( 87 − 130 )2+( 68 − 90 )2= 48 ,3
• Data ke - 11
Jarak ke C1 =
√ ( 75 − 110 )2+( 60 − 75 )2= 38 , 07
Jarak ke C2 =
√ ( 75−85 )2+( 60−63 )2=10 , 44
Jarak ke C3 =
√ ( 75−130 )2+( 60−90 )2=62 , 64
• Data ke - 12
Jarak ke C1 =
√ ( 105−110 )2+( 82−75 )2=8 , 6
Jarak ke C2 =
√ ( 105 − 85 )2+( 82 − 63 )2= 27 , 58
Jarak ke C3 =
√ ( 105−130 )2+( 82−90 )2=26 , 24
• Data ke - 13
Jarak ke C1 =
√ ( 113 − 110 )2+( 76 − 75 )2= 2
Jarak ke C2 =
√ ( 113−85 )2+( 76−63 )2=30 , 87
Jarak ke C3 =
√ ( 113 − 130 )2+( 76 − 90 )2= 22 , 02
• Data ke - 14
Jarak ke C1 =
√ ( 86−110 )2+( 64−75 )2=26 , 4
Jarak ke C2 =
√ ( 86 − 85 )2+( 64 − 63 )2= 1 ,41
Jarak ke C3 =
√ ( 86−130)2+( 64−90 )2=5 , 38
• Data ke - 15
Jarak ke C1 =
√ ( 126−110 )2+( 89−75 )2=21 , 26
Jarak ke C2 =
√ ( 126−85 )2+( 89−63 )2=48 ,54
Jarak ke C3 =
√ ( 126 − 130 )2+( 89 − 90 )2= 4 , 13
5) Mengelompokan data berdasar jarak terdekat, sehingga terbentuk K Klaster
Tabel 4. Hasil pengelompokan data iterasi pertama
Pasien ke-
Sistolik (mmHg)
Diatolik
(mmHg) C1 C2 C3 Klaster
1 90 60 25 5,83 124,6
6
C2
2 125 82 16,55 44,28 9,43 C3
3 110 75 0 27,73 25 C1
4 85 63 27,73 0 52,47 C2
5 130 90 26 52,47 0 C3
6 128 80 18,68 46,23 10,19 C3
7 113 68 7,61 28,44 27,8 C1
8 78 56 37,21 9,89 62,12 C2
9 132 95 29,73 56,85 5,38 C3
10 87 68 24,04 5,38 48,3 C2
11 75 60 38,07 10,44 62,64 C2
12 105 82 8,6 27,68 26,24 C1
13 113 76 2 30,87 22,02 C1
14 86 64 26,4 1,41 51,1 C2
15 126 89 21,26 48,54 4,12 C3
6) Memperbaharui nilai pusat klaster (centroid)
Titik centroid 1 baru itersai 1 :
X
baru= X 3+ X 7+ X 12+ X 13 jumlahC 1 X
baru= 110 +113 +105 +113
4 =110 ,25
Y
baru= Y 3+Y 7 +Y 12+Y 13 jumlahC 1 Y
baru= 75+68 + 82+76
4 =75 ,25
Titik centroid 2 baru itersai 1 :
X
baru= X 1+ X 4 + X 8 + X 10+ X 11+ X 14 jumlahC 2
X
baru= 90 +85 +78 +87 +75 +86
6 = 83 ,5
Y
baru= Y 1+Y 4 +Y 8 +Y 10+Y 11+Y 14
jumlahC 2
Y
baru= 60+63+56 +68+60+64
6 = 61 ,83
Titik centroid 3 baru itersai 1 :
X
baru= X 2 + X 5 + X 6 + X 9 + X 15 jumlah C 3
X
baru= 125 + 130 + 128 + 132 + 126
5 =128 ,2
Y
baru= Y 2 + Y 5 + Y 6 + Y 9 + Y 15 jumlah C 3
Y
baru= 82+90+80+95+89
5 = 87 , 2
Tabel 5. Pusat klaster (centroid) baru pada iterasi pertama Pasien ke- Sistolik (mmHg) Diastolik (mmHg)
3 110,25 75,25
4 83,5 61,83
5 128,2 87,2
7) Menghitung kembali jarak dari semua titik yang ada di dataset dengan titik centroid tiap klaster pada iterasi ke dua.
• Data ke - 1
Jarak ke C1 =
√ ( 90−110 , 25 )2+( 60−75 , 25 )2=¿ 25,35
Jarak ke C2 =
√ ( 90−83 , 5 )2+( 60−61 ,83 )2=¿ 6,75
Jarak ke C3 =
√ ( 90 − 128 , 2 )2+( 60 − 87 ,2 )2=¿ 46,89
• Data ke - 2
Jarak ke C1 =
√ ( 125 − 110 , 25 )2+( 82 − 75 , 25 )2=¿ 16,22
Jarak ke C2 =
√ ( 125 − 83 , 5 )2+( 82 − 61 , 83 )2= 46 , 14
Jarak ke C3 =
√ ( 125−128 , 2 )2+( 82−87 , 2)2=6 , 1
• Data ke - 3
Jarak ke C1 =
√ ( 110 − 110 , 25 )2+( 75 − 75 , 25 )2=¿ 0,35
Jarak ke C2 =
√ ( 110−83 , 5)2+(75−61 , 83 )2=29 , 59
Jarak ke C3 =
√ ( 110 − 128 , 2 )2+( 75 − 87 , 2 )2= 14 , 1
• Data ke - 4
Jarak ke C1 =
√ ( 85−110 , 25 )2+( 63−75 , 25 )2=28 , 06
Jarak ke C2 =
√ ( 85 − 83 ,5 )2+( 63 − 61 , 83 )2= 1 , 9
Jarak ke C3 =
√ ( 85−128 ,2 )2+( 63−87 ,2 )2=¿ 49,51
• Data ke - 5
Jarak ke C1 =
√ ( 130 − 110 ,25 )2+( 90 − 75 ,25 )2= 24 ,65
Jarak ke C2 =
√ ( 130−83 ,5 )2+( 90−61 , 83 )2=54 , 36
Jarak ke C3 =
√ ( 130 − 128 , 2 )2+( 90 − 87 , 2 )2= 3 , 32
• Data ke - 6
Jarak ke C1 =
√ ( 128−110 ,25 )2+( 80−75 ,25 )2=18 ,37
Jarak ke C2 =
√ ( 128 − 83 ,5 )2+( 80 − 61 , 83 )2= 48 , 06
Jarak ke C3 =
√ ( 128−128 ,2 )2+( 80−87 , 2 )2=7 ,2
• Data ke - 7
Jarak ke C1 =
√ ( 113−110 , 25 )2+( 68−75 , 25 )2=7 , 75
Jarak ke C2 =
√ ( 113−83 , 5)2+( 68−61 , 83 )2=68 , 5
Jarak ke C3 =
√ ( 113−128 , 2 )2+( 68−87 , 2 )2=24 , 48
• Data ke - 8
Jarak ke C1 =
√ ( 78 − 110 , 25 )2+( 56 − 75 , 25 )2= 37 , 55
Jarak ke C2 =
√ 78−83 , 5 )2+( 56−61 , 83 )2=8 , 01
Jarak ke C3 =
√ 78 − 128 , 2 )2+( 56 − 87 , 2 )2= 59 , 1
• Data ke - 9
Jarak ke C1 =
√ ( 132−110 ,25 )2+( 95−75 , 25 )2=29 ,37
Jarak ke C2 =
√ ( 132−83 , 5 )2+( 95−61 , 83)2=33 , 38
Jarak ke C3 =
√ ( 132 − 128 , 2 )2+( 95 − 87 , 2 )2= 8 , 67
• Data ke - 10
Jarak ke C1 =
√ ( 87 − 110 , 25 )2+( 68 − 75 ,25 )2= 24 ,35
Jarak ke C2 =
√ ( 87−83 , 5 )2+( 68−61 ,83 )2=7 , 09
Jarak ke C3 =
√ ( 87−128 , 2)2+( 68−87 ,2 )2=45 , 45
• Data ke – 11
Jarak ke C1 =
√ ( 75−110 ,25 )2+( 60−75 ,25 )2=38 , 4
Jarak ke C2 =
√ ( 75 − 83 , 5 )2+( 60 − 61 , 83 )2= 8 , 69
Jarak ke C3 =
√ ( 75−128 ,2 )2+( 60−87 , 2)2=59 , 75
• Data ke - 12
Jarak ke C1 =
√ ( 105 − 110 , 25 )2+( 82 − 75 , 25 )2= 8 , 55
Jarak ke C2 =
√ ( 105−83 , 5 )2+( 82−61 , 83 )2=29 , 48
Jarak ke C3 =
√ ( 105 − 128 ,2 )2+( 82 − 87 , 2 )2= 23 , 77
• Data ke - 13
Jarak ke C1 =
√ ( 113−110 , 25 )2+( 76−75 , 25 )2=2 , 85
Jarak ke C2 =
√ ( 113 − 83 , 5 )2+( 76 − 61 , 83 )2= 32 ,72
Jarak ke C3 =
√ ( 113−128 ,2 )2+( 76−87 ,2 )2=18 ,88
• Data ke - 14
Jarak ke C1 =
√ ( 86−110 , 25 )2+( 64−75 , 25 )2=26 ,73
Jarak ke C2 =
√ ( 86−83 , 5 )2+( 64−61 , 83 )2=3 , 31
Jarak ke C3 =
√ ( 86 − 128 , 2 )2+( 64 − 87 , 20 )2= 48 , 15
• Data ke - 15
Jarak ke C1 =
√ ( 126 − 110 , 25 )2+( 89 − 75 , 25 )2= 20 , 9
Jarak ke C2 =
√ ( 126−83 , 5 )2+( 89−61 , 83 )2=50 , 44
Jarak ke C3 =
√ ( 126−128 ,2 )2+( 89−87 ,25 )2=¿ 2,84
Tabel 6. Hasil pengelompokan data iterasi kedua Pasien
ke- Sistolik
(mmHg) Diatolik
(mmHg) C1 C2 C3 Klaster
1 90 60 25,35 6,75 46,89 C2
2 125 82 16,22 46,14 6,1 C3
3 110 75 0,35 29,59 14,1 C1
4 85 63 28,06 1,9 49,51 C2
5 130 90 24,65 54,36 3,32 C3
6 128 80 18,37 48,06 7,2 C3
7 113 68 7,75 68,5 24,48 C1
8 78 56 37,55 8,01 59,1 C2
9 132 95 29,37 33,38 8,67 C3
10 87 68 24,35 7,09 45,45 C2
11 75 60 38,4 8,69 59,75 C2
12 105 82 8,55 29,48 23,77 C1
13 113 76 2,85 32,72 18,88 C1
14 86 64 26,73 3,31 48,15 C2
15 126 89 20,9 50,44 2,84 C3
8) Memperbaharui nilai pusat klaster (centroid) pada iterasi ke dua.
Titik centroid 1 baru itersai 2 :
X
baru= X 3+ X 7+ X 12+ X 13 jumlahC 1 X
baru= 110 +113 +105 +113
4 =110 ,25
Y
baru= Y 3+Y 7 +Y 12+Y 13 jumlahC 1 Y
baru= 75+68 + 82+76
4 =75 ,25
Titik centroid 2 baru itersai 2 :
X
baru= X 1+ X 4 + X 8 + X 10+ X 11+ X 14
jumlahC 2
X
baru= 90 + 85 + 78 + 87 + 75 + 86
6 = 83 ,5
Y
baru= Y 1 + Y 4 + Y 8 + Y 10 + Y 11 + Y 14 jumlahC 2
Y
baru= 60 + 63 + 56 + 68 + 60 + 64
6 = 61 ,83
Titik centroid 3 baru itersai 2 :
X
baru= X 2+ X 5 + X 6 + X 9+ X 15 jumlahC 3
X
baru= 125+130+128+132+126
5 =128 ,2
Y
baru= Y 2+ Y 5+ Y 6 +Y 9+ Y 15 jumlah C 3
Y
baru= 82+90+80+95+89
5 =87 , 2
Tabel 7. Pusat klaster (centroid) baru pada iterasi pertama Pasien ke- Sistolik (mmHg) Diastolik (mmHg)
3 110,25 75,25
4 83,5 61,83
5 128,2 87,2
Berdasarkan hasil perhitungan nilai titik centroid, iterasi pertama dan kedua memiliki nilai yang sama. Sehingga iterasi bisa dihentikan dan setiap data dapat dikelompokan kedalam klasternya masing-masing.
Tabel 8. Hasil klasterisasi dataset tekanan darah sistolik dan diastolik Pasien
ke-
Sistolik (mmHg)
Diatolik
(mmHg) Klaster
3 110 75 C1
7 113 68 C1
12 105 82 C1
13 113 76 C1
1 90 60 C2
4 85 63 C2
8 78 56 C2
10 87 68 C2
11 75 60 C2
14 86 64 C2
2 125 82 C3
5 130 90 C3
6 128 80 C3
9 132 95 C3
15 126 89 C3
Dari hasil pengelompokan data tekanan darah sistolik dan diastolik, pasien terbagi menjadi tiga kelompok. Kelompok pertama (C1) diisi oleh pasien dengan tekanan darah tinggi, yaitu pasien nomor {3, 7, 12, 13,}. Kelompok kedua (C2) berisi pasien yang punya tekanan darah normal, yaitu pasien {1, 4, 8, 10, 11, 14}.
Kelompok ketiga (C3) berisi pasien dengan tekanan darah normal, anggotanya adalah pasien {2, 5, 6, 9, 15}.
4 Kesimpulan
Berdasarkan hasil penelitian yang telah dilakukan, dapat disimpulkan bahwa algoritma K-Means dengan perhitungan manual mampu mengelompokkan data tekanan darah sistolik dan diastolik pasien ke dalam tiga klaster, yaitu kelompok dengan tekanan darah tinggi, tekanan darah normal, dan tekanan darah rendah.
Proses iterasi perhitungan manual yang dilakukan menghasilkan pusat klaster (centroid) yang stabil pada iterasi kedua, sehingga pengelompokan dapat dianggap optimal. Penggunaan perhitungan manual ini memberikan pemahaman yang lebih jelas mengenai langkah-langkah sistematis dalam algoritma K-Means, mulai dari pemilihan centroid awal, perhitungan jarak Euclidean, hingga evaluasi konvergensi. Hasil pengelompokan ini menunjukkan bahwa metode K-Means secara manual dapat diterapkan secara efektif untuk memisahkan data medis sederhana seperti tekanan darah, serta dapat digunakan sebagai langkah awal dalam mendukung pengambilan keputusan di bidang kesehatan
5 Daftar Pustaka
[1] E. A. Saputra and Y. Nataliani, “Analisis Pengelompokan Data Nilai Siswa untuk Menentukan Siswa Berprestasi Menggunakan Metode Clustering K-Means,” J. Inf. Syst. Informatics, vol. 3, no. 3, pp. 424–
439, 2021, doi: 10.51519/journalisi.v3i3.164.
[2] A. K. Jain, “Data Clustering: 50 Years Beyond K-Means,” Pattern Recognition Letters, vol. 31, no. 8.
[3] dan J. P. J. Han, M. Kamber, “Data Mining: Concepts and Techniques,”
Morgan Kaufmann, San Francisco.
[4] T. K. et Al., “An Efficient k-Means Clustering Algorithm: Analysis and Implementation,” IEEE Transactions on Pattern Analysis and Machine Intelligence, vol. 24, no. 7.