BAB I PENDAHULUAN

1.1 Latar Belakang

Perkembangan teknologi penginderaan jauh, sistem informasi geografis (SIG), sensor Internet of Things (IoT), serta komputasi awan telah menghasilkan data spasial dalam jumlah besar, beragam, dan beresolusi tinggi. Data tersebut digunakan untuk memantau perubahan tutupan lahan, pertumbuhan perkotaan, kondisi lingkungan, bencana, sumber daya air, dan fenomena sosial-ekonomi. Dritsas & Trigka (2025) menjelaskan bahwa peningkatan volume, frekuensi, heterogenitas, dan dimensi data geospasial mendorong penggunaan machine learning dan artificial intelligence dalam analisis keruangan. Dalam konteks aplikasinya, Badapalli et al. (2026) menggunakan sepuluh variabel spasial yang berasal dari citra Landsat, Sentinel-2, SRTM, serta data lapangan untuk memetakan potensi air tanah. Hasil penelitian tersebut menunjukkan bahwa 62,08% wilayah studi berada pada kelas potensi air tanah sedang hingga sangat rendah, sedangkan model ANN menghasilkan nilai AUC sebesar 0,850. Temuan ini menunjukkan bahwa analisis spasial berbasis ANN dapat membantu mengidentifikasi pola keruangan yang kompleks dan mendukung pengambilan keputusan berbasis wilayah.

Meningkatnya kompleksitas data spasial juga menimbulkan persoalan metodologis. Data spasial tidak hanya terdiri atas nilai variabel dan lokasi pengamatan, tetapi juga memiliki ketergantungan spasial, heterogenitas spasial, perbedaan skala, serta kemungkinan adanya hubungan non-linier antarvariabel. Ketergantungan spasial berarti bahwa nilai pengamatan pada lokasi yang berdekatan cenderung memiliki hubungan tertentu, sehingga asumsi independensi yang umum digunakan dalam analisis statistik dapat menjadi tidak sesuai. Heterogenitas spasial juga menyebabkan hubungan antara variabel prediktor dan variabel respons dapat berubah dari satu wilayah ke wilayah lain. Nikparvar & Thill (2021) menyatakan bahwa karakteristik spasial sering kali diabaikan atau belum ditangani secara memadai dalam penerapan machine learning. Kesalahan dalam memperlakukan karakteristik tersebut dapat menyebabkan estimasi kinerja model menjadi terlalu optimistis, menghasilkan prediksi yang kurang akurat pada wilayah baru, serta memberikan dasar keputusan yang kurang tepat dalam perencanaan wilayah, pengelolaan lingkungan, dan mitigasi bencana.

Artificial Neural Network (ANN) menjadi salah satu pendekatan yang relevan untuk menangani permasalahan tersebut karena mampu mempelajari hubungan nonlinier antara variabel masukan dan variabel keluaran. Dalam analisis regresi, ANN dapat digunakan untuk memprediksi nilai kontinu, seperti suhu permukaan, tingkat pencemaran, hasil pertanian, risiko bencana, atau potensi air tanah. Dalam analisis klasifikasi, ANN dapat digunakan untuk mengelompokkan wilayah ke dalam kelas tertentu, seperti kelas tutupan lahan, tingkat kerawanan longsor, zona risiko banjir, atau kategori kualitas lingkungan. Goel et al. (2023) menjelaskan bahwa ANN dan metode machine learning dapat digunakan untuk menyelesaikan permasalahan klasifikasi, regresi, dan pengelompokan dengan memanfaatkan informasi variabel serta lokasi pengamatan. Selain itu, integrasi ANN dengan data penginderaan jauh dan SIG memungkinkan model memanfaatkan banyak lapisan informasi spasial sekaligus. Pada penelitian mengenai intensitas urban heat island di Da Nang, Hoang & Nguyen (2025) menggunakan 12 faktor spasial dan 5.000 titik sampel. Model deep neural network regression menghasilkan nilai \(R^{2}\)sebesar 0,88 pada data pengujian, yang menunjukkan kemampuan ANN dalam menjelaskan variasi spasial fenomena lingkungan.

Meskipun ANN telah banyak digunakan, penelitian terdahulu masih menyisakan beberapa keterbatasan. Pertama, sebagian penelitian lebih menekankan pencapaian akurasi pada wilayah dan dataset tertentu daripada menguji kemampuan generalisasi model pada wilayah atau periode yang berbeda. Kedua, penerapan ANN dalam analisis spasial sering kali hanya menggunakan koordinat atau variabel spasial sebagai masukan tambahan, tanpa menjelaskan secara memadai bagaimana ketergantungan dan heterogenitas spasial memengaruhi proses pembelajaran model. Nikparvar & Thill (2021) menunjukkan bahwa pendekatan yang secara langsung memasukkan karakteristik spasial ke dalam algoritma pembelajaran masih lebih sedikit dikaji dibandingkan pendekatan yang hanya menambahkan fitur spasial ke dalam matriks data. Ketiga, ANN cenderung dipandang sebagai metode black box karena proses pembentukan bobot dan hubungan antarvariabel sulit diinterpretasikan. Dritsas & Trigka (2025) menegaskan bahwa transparansi model, integrasi data, dan efisiensi komputasi masih menjadi tantangan penting dalam analisis geospasial berbasis AI. Keterbatasan tersebut menunjukkan perlunya kajian yang tidak hanya membandingkan kinerja ANN pada tugas regresi dan klasifikasi, tetapi juga memperhatikan validasi spasial, interpretasi model, pemilihan variabel, serta potensi overfitting.

Penelitian mengenai ANN untuk regresi dan klasifikasi spasial penting dilakukan karena dapat memperkuat pemahaman akademik mengenai penerapan metode statistik komputasional pada data yang memiliki struktur keruangan. Secara akademik, penelitian ini dapat memberikan kontribusi melalui evaluasi kemampuan ANN dalam memodelkan hubungan non-linier, membandingkan karakteristik ANN pada permasalahan regresi dan klasifikasi, serta mengkaji pengaruh pengolahan dan validasi data spasial terhadap kinerja model. Secara praktis, hasil penelitian dapat digunakan untuk menghasilkan prediksi dan klasifikasi wilayah yang lebih informatif bagi perencanaan tata ruang, pemantauan lingkungan, pengelolaan sumber daya alam, serta mitigasi risiko bencana. Oleh karena itu, penelitian ini diharapkan tidak hanya menghasilkan nilai akurasi model, tetapi juga memberikan informasi mengenai kondisi ketika ANN sesuai digunakan, faktor yang memengaruhi kinerjanya, dan cara menerapkan model tersebut secara bertanggung jawab dalam analisis spasial.

1.2 Rumusan Masalah

Berdasarkan latar belakang di atas dapat disimpulkan bahwa rumusan masalah sebagai berikut:

  1. Bagaimana mahasiswa mampu memahami konsep dan mengimplementasikan model Artificial Neural Network (ANN) untuk regresi dan klasifikasi menggunakan bahasa pemrograman R?

  2. Bagaimana mahasiswa mampu mengevaluasi performa model ANN menggunakan metrik evaluasi MSE dan MAPE untuk regresi, serta akurasi dan presisi untuk klasifikasi?

1.3 Tujuan Penelitian

Berdasarkan rumusan masalah di atas, tujuan penelitian yang dapat disimpulkan sebagai berikut:

  1. Mahasiswa dapat memahami konsep dan mengimplementasikan model Artificial Neural Network (ANN) untuk regresi dan klasifikasi menggunakan bahasa pemrograman R.

  2. Mahasiswa dapat mengevaluasi performa model ANN menggunakan metrik evaluasi MSE dan MAPE untuk regresi, serta akurasi dan presisi untuk klasifikasi.

1.4 Manfaat Penelitian

Adapun manfaat yang didapatkan dari penelitian ini adalah sebagai berikut:

  1. Bagi penulis
    • Memberikan informasi dan pengetahuan mengenai konsep dan mengimplementasikan model Artificial Neural Network (ANN) untuk regresi dan klasifikasi menggunakan bahasa pemrograman R serta dapat mengevaluasi performa model ANN menggunakan metrik evaluasi MSE dan MAPE untuk regresi, serta akurasi dan presisi untuk klasifikasi.
    • Menerapkan ilmu atau wawasan baru mengenai konsep dan mengimplementasikan model Artificial Neural Network (ANN) untuk regresi dan klasifikasi menggunakan bahasa pemrograman R serta dapat mengevaluasi performa model ANN menggunakan metrik evaluasi MSE dan MAPE untuk regresi, serta akurasi dan presisi untuk klasifikasi.
  2. Bagi pembaca
    • Menambah ilmu pengetahuan mengenai konsep dan mengimplementasikan model Artificial Neural Network (ANN) untuk regresi dan klasifikasi menggunakan bahasa pemrograman R serta dapat mengevaluasi performa model ANN menggunakan metrik evaluasi MSE dan MAPE untuk regresi, serta akurasi dan presisi untuk klasifikasi.
    • Dapat menjadi rujukan bagi penelitian selanjutnya.

1.5 Batasan Masalah

Adapun batasan masalah pada penelitian ini yaitu, lakukan ANN Klasifikasi dengan Hidden Neuron=c(10, 20, 30) dengan data training 80% dan testing 20% serta data training 60% dan testing 40%, kemudian interpretasikan masing masing output dengan jelas!

Note: Menggunakan data Iris, Friedman, Breast Cancer, etc.

1.6 Sistematika Penulisan

Adapun sistematika penulisan dari praktikum ini adalah sebagai berikut:

BAB I PENDAHULUAN

Bab ini merupakan bab yang memuat latar belakang penelitian, rumusan masalah, tujuan dan manfaat penelitian, batasan masalah penelitian, dan sistematika penelitian.

BAB II TINJAUAN PUSTAKA

Bab ini merupakan bab yang memuat pengertian dari teori yang diperlukan untuk rancangan penelitian pada bab-bab berikutnya.

BAB III METODE PENELITIAN

Bab ini merupakan bab yang memuat uraian mengenai jenis dan sumber penelitian, variabel penelitian, dan analisis data.

BAB IV HASIL DAN PEMBAHASAN

Bab ini merupakan bab yang memuat hasil analisis, pembahasan dari hasil yang telah diperoleh, dan interpretasi.

BAB V KESIMPULAN DAN SARAN

Bab ini merupakan bab yang memuat rangkuman dari hasil keseluruhan dan saran yang diberikan oleh penulis terhadap hasil maupun analisis yang telah dilakukan.

DAFTAR PUSTAKA

BAB II TINJAUAN PUSTAKA

2.1 Artificial Neural Network

Artificial Neural Network (ANN) atau jaringan saraf tiruan merupakan metode machine learning yang terinspirasi dari cara kerja jaringan saraf biologis. ANN memproses informasi melalui sejumlah unit komputasi yang disebut neuron. Neuron-neuron tersebut tersusun dalam beberapa lapisan, yaitu lapisan masukan, lapisan tersembunyi, dan lapisan keluaran. Lapisan masukan menerima variabel prediktor, lapisan tersembunyi mempelajari pola hubungan antarvariabel, sedangkan lapisan keluaran menghasilkan nilai prediksi atau kelas hasil klasifikasi.

Secara umum, setiap neuron menerima sejumlah masukan yang dikalikan dengan bobot tertentu. Hasil perkalian tersebut dijumlahkan dengan nilai bias, kemudian diproses menggunakan fungsi aktivasi. Secara matematis, keluaran sebuah neuron dapat dituliskan sebagai:

\[z = \sum_{i = 1}^{p}{w_{i}x_{i} + b}\]

\[y = f(z)\]

Keterangan:

  • \(x_{i}\) adalah variabel masukan ke-\(i\);

  • \(w_{i}\) adalah bobot untuk variabel masukan ke-\(i\);

  • \(b\) adalah bias;

  • \(f(z)\) adalah fungsi aktivasi; dan

  • \(y\) adalah keluaran neuron.

Fungsi aktivasi memungkinkan ANN mempelajari hubungan non-linier. Beberapa fungsi aktivasi yang umum digunakan adalah fungsi sigmoid, hiperbolik tangen, dan ReLU. Pemilihan fungsi aktivasi bergantung pada jenis permasalahan dan struktur model. Pada keluaran regresi, lapisan keluaran umumnya menggunakan fungsi aktivasi linear. Pada klasifikasi biner, fungsi sigmoid dapat digunakan untuk menghasilkan probabilitas suatu observasi masuk ke kelas tertentu. Pada klasifikasi multikelas, fungsi softmax dapat digunakan untuk menghasilkan probabilitas pada setiap kelas.

ANN melakukan proses pembelajaran dengan menyesuaikan bobot dan bias berdasarkan kesalahan prediksi. Proses tersebut umumnya dilakukan melalui algoritma backpropagation dan optimasi menggunakan metode seperti gradient descent. Model menghasilkan prediksi, menghitung selisih antara prediksi dan nilai aktual, kemudian memperbarui bobot agar kesalahan pada iterasi berikutnya menjadi lebih kecil. Goel et al. (2023) menjelaskan bahwa ANN termasuk metode pembelajaran terawasi yang dapat digunakan untuk permasalahan klasifikasi maupun regresi.

Keunggulan utama ANN terletak pada kemampuannya dalam mempelajari hubungan kompleks dan non-linier. Kemampuan tersebut membuat ANN relevan untuk menganalisis fenomena spasial yang dipengaruhi oleh banyak variabel. Meskipun demikian, ANN memerlukan data pelatihan yang memadai, pemilihan arsitektur yang sesuai, serta pengaturan hiperparameter yang tepat. Model dengan struktur terlalu kompleks dapat mengalami overfitting, sedangkan model yang terlalu sederhana dapat mengalami underfitting. Selain itu, ANN sering dianggap sulit diinterpretasikan karena hubungan antara masukan dan keluaran tidak selalu dapat dijelaskan secara langsung.

2.2 ANN untuk Regresi

Regresi merupakan metode analisis yang digunakan untuk memprediksi variabel respons berbentuk numerik atau kontinu. Dalam regresi berbasis ANN, model mempelajari hubungan antara satu atau beberapa variabel prediktor dengan variabel respons. Contoh penerapannya dalam analisis spasial adalah prediksi curah hujan, suhu permukaan, kadar polutan, nilai indeks pembangunan manusia, potensi air tanah, dan tingkat produksi pertanian. ANN untuk regresi dapat dirumuskan sebagai fungsi:

\[\widehat{y} = f(X;\theta)\]

Keterangan:

  • \(\widehat{y}\) adalah nilai prediksi;

  • \(X\) adalah matriks variabel prediktor;

  • \(f\) adalah fungsi yang dibentuk oleh arsitektur jaringan saraf; dan

  • \(\theta\) adalah parameter model berupa bobot dan bias.

Pada penelitian regresi, fungsi kerugian yang digunakan dapat berupa mean squared error (MSE) atau mean absolute error (MAE). MSE menghitung rata-rata kuadrat selisih antara nilai aktual dan nilai prediksi, sedangkan MAE menghitung rata-rata nilai absolut selisih tersebut. Kinerja model regresi juga dapat dinilai menggunakan root mean square error (RMSE) dan koefisien determinasi \(R^{2}\).

\[RMSE = \sqrt{\frac{1}{n}\sum_{i = 1}^{n}\left( y_{i} - {\widehat{y}}_{i} \right)^{2}}\]

\[MAE = \frac{1}{n}\sum_{i = 1}^{n}|y_{i} - {\widehat{y}}_{i}|\]

\[R^{2} = 1 - \frac{\sum_{i = 1}^{n}\left( y_{i} - {\widehat{y}}_{i} \right)^{2}}{\sum_{i = 1}^{n}\left( y_{i} - {\overline{y}}_{i} \right)^{2}}\]

Nilai RMSE dan MAE yang lebih kecil menunjukkan kesalahan prediksi yang lebih rendah. Sementara itu, nilai \(R^{2}\) yang lebih besar menunjukkan kemampuan model yang lebih baik dalam menjelaskan variasi variabel respons.

Hoang dan Nguyen (2025) menggunakan deep neural network regression untuk memodelkan intensitas urban heat island berdasarkan berbagai faktor spasial. Penelitian tersebut menggunakan 12 variabel prediktor dan 5.000 titik sampel dari wilayah perkotaan. Model DNNR menghasilkan nilai \(R^{2}\) sebesar 0,88 pada data pengujian. Hasil tersebut menunjukkan bahwa jaringan saraf dapat digunakan untuk mempelajari variasi spasial pada fenomena lingkungan. Namun, penelitian tersebut juga menunjukkan bahwa kinerja model perlu dievaluasi dengan membandingkannya terhadap metode lain dan dengan mempertimbangkan keterbatasan data, musim, serta karakteristik wilayah penelitian.

2.3 ANN untuk Klasifikasi

Klasifikasi merupakan proses pengelompokan suatu objek atau pengamatan ke dalam kelas tertentu berdasarkan karakteristik variabel prediktornya. Berbeda dari regresi yang menghasilkan nilai kontinu, klasifikasi menghasilkan label kategori. Klasifikasi dapat dibedakan menjadi klasifikasi biner dan klasifikasi multikelas. Klasifikasi biner hanya memiliki dua kelas, sedangkan klasifikasi multikelas memiliki lebih dari dua kelas.

Dalam analisis spasial, ANN untuk klasifikasi dapat digunakan untuk memetakan kelas penggunaan lahan, tingkat kerawanan bencana, kesesuaian lahan, kualitas lingkungan, atau zona potensi sumber daya alam. Variabel masukan dapat berupa data citra satelit, elevasi, kemiringan lereng, jarak dari sungai, kepadatan jalan, kepadatan penduduk, serta indikator lingkungan lainnya.

Untuk klasifikasi biner, keluaran ANN umumnya berupa probabilitas yang berada pada rentang 0 sampai 1. Nilai tersebut kemudian diubah menjadi kelas berdasarkan nilai ambang tertentu. Untuk klasifikasi multikelas, ANN dapat menggunakan fungsi softmax sehingga menghasilkan probabilitas untuk setiap kelas. Kelas dengan probabilitas tertinggi dipilih sebagai hasil klasifikasi.

Kinerja model klasifikasi dapat diukur dengan confusion matrix. Matriks tersebut membandingkan kelas aktual dan kelas hasil prediksi. Berdasarkan confusion matrix, beberapa ukuran evaluasi dapat dihitung, yaitu akurasi, presisi, recall, dan F1-score.

\[Accuracy = \frac{TP + TN}{TP + TN + FP + FN}\]

\[Precision = \frac{TP}{TP + FP}\]

\[Recall = \frac{TP}{TP + FN}\]

\[F1 = 2 \times \frac{Precision \times Recall}{Precision + Recall}\]

Keterangan:

  • \(TP\) adalah true positive;

  • \(TN\) adalah true negative;

  • \(FP\)  adalah false positive; dan

  • \(FN\) adalah false negative.

Akurasi menunjukkan proporsi prediksi yang benar dari seluruh pengamatan. Presisi menunjukkan ketepatan model ketika memprediksi suatu kelas. Recall menunjukkan kemampuan model dalam menemukan seluruh pengamatan yang sebenarnya termasuk ke dalam suatu kelas. Sementara itu, F1-score merupakan ukuran gabungan antara presisi dan recall.

Selain metrik tersebut, kurva ROC dan nilai AUC dapat digunakan untuk menilai kemampuan model dalam membedakan kelas. Badapalli et al. (2026) menerapkan ANN dan data geospasial untuk memetakan zona potensi air tanah. Model tersebut memperoleh nilai AUC sebesar 0,850 dan akurasi keseluruhan sebesar 87%. Penelitian tersebut juga menggunakan data sumur sebagai data validasi serta uji Moran’s I untuk memeriksa apakah residual prediksi masih menunjukkan pola spasial. Pendekatan ini menunjukkan bahwa evaluasi klasifikasi spasial tidak cukup hanya menggunakan akurasi, tetapi juga perlu memeriksa kesesuaian hasil prediksi dengan kondisi lapangan dan pola residualnya.

BAB III METODE PENELITIAN

3.1 Jenis dan Sumber Data

Jenis data pada penelitian ini adalah data numerik. Data numerik adalah jenis data yang terdiri dari angka dan dapat diukur atau dihitung secara kuantitatif. Data ini digunakan untuk merepresentasikan nilai atau ukuran tertentu dalam berbagai konteks, seperti sains, ekonomi, statistik, dan matematika. Data numerik sering digunakan untuk melakukan perhitungan, analisis, dan visualisasi data. Data berbentuk data tabular dan bersifat cross-sectional karena setiap baris merepresentasikan satu pasien atau satu observasi pada satu waktu pengamatan.

Dalam laporan ini sumber data yang digunakan adalah sumber data dalam wujud data sekunder, yaitu data yang telah dikumpulkan dan disusun oleh pihak lain di luar praktikan itu sendiri. Data pada praktikum ini yaitu dataset Breast Cancer (Wisconsin Breast Cancer Database) yang tersedia di R melalui paket mlbench.

3.2 Variabel Penelitian

Variabel adalah simbol, karakteristik, atau atribut yang dapat diukur atau diamati dalam sebuah penelitian atau eksperimen. Pada laporan ini terdapat 1 batasan masalah. Variabel respons dalam penelitian ini adalah Class, yang terdiri atas dua kategori, yaitu benign dan malignant. Variabel prediktor terdiri atas sembilan karakteristik sel, yaitu ketebalan gumpalan sel (Cl.thickness), keseragaman ukuran sel (Cell.size), keseragaman bentuk sel (Cell.shape), perlekatan marginal (Marg.adhesion), ukuran sel epitel tunggal (Epith.c.size), kondisi inti sel (Bare.nuclei), struktur kromatin (Bl.cromatin), bentuk nukleolus normal (Normal.nucleoli), dan mitosis (Mitoses). Variabel Id tidak digunakan dalam pemodelan karena hanya berfungsi sebagai identitas observasi. Data yang memiliki nilai hilang pada variabel Bare.nuclei dibersihkan sebelum digunakan dalam pembentukan model ANN.

3.3 Analisis Data

Langkah-langkah yang digunakan pada penelitian untuk batasan masalah adalah sebagai berikut:

  1. Memuat dataset BreastCancer dan paket yang diperlukan.
  2. Membersihkan data, menghapus Id, mengubah prediktor menjadi numerik, dan menghapus observasi yang memiliki nilai hilang (?).
  3. Membagi data dengan skenario 80% training-20% testing dan 60% training-40% testing.
  4. Membentuk ANN dengan hidden neuron 10, 20, dan 30 pada setiap skenario.
  5. Melakukan prediksi pada data testing dan menghitung confusion matrix serta metrik klasifikasi.
  6. Membuat visualisasi jaringan, bobot jaringan, dan variable importance.
  7. Membandingkan enam model dan menentukan model terbaik berdasarkan performa klasifikasi serta jumlah false negative.

BAB IV HASIL DAN PEMBAHASAN

4.1 Library dan Import Data

library(nnet)
library(NeuralNetTools)
library(mlbench)

# Import Data
data(BreastCancer)
bc <- BreastCancer
bc$Id <- NULL

# Ubah prediktor (factor ordinal 1-10) menjadi numerik
for (j in 1:9) bc[, j] <- as.numeric(as.character(bc[, j]))

# Hapus missing value (16 baris pada Bare.nuclei)
bc <- na.omit(bc)
bc$Class <- factor(bc$Class, levels = c("benign", "malignant"))

head(bc)
##   Cl.thickness Cell.size Cell.shape Marg.adhesion Epith.c.size Bare.nuclei
## 1            5         1          1             1            2           1
## 2            5         4          4             5            7          10
## 3            3         1          1             1            2           2
## 4            6         8          8             1            3           4
## 5            4         1          1             3            2           1
## 6            8        10         10             8            7          10
##   Bl.cromatin Normal.nucleoli Mitoses     Class
## 1           3               1       1    benign
## 2           3               2       1    benign
## 3           3               1       1    benign
## 4           3               7       1    benign
## 5           3               1       1    benign
## 6           9               7       1 malignant

Fungsi head(bc) menampilkan enam baris pertama data Breast Cancer setelah variabel Id dihapus. Data terdiri atas sembilan variabel prediktor yang seluruhnya bernilai numerik pada skala 1 sampai 10 (Cl.thickness, Cell.size, Cell.shape, Marg.adhesion, Epith.c.size, Bare.nuclei, Bl.cromatin, Normal.nucleoli, dan Mitoses) serta satu variabel respons Class. Dari enam baris pertama, lima pengamatan berkelas benign dan satu pengamatan (baris keenam) berkelas malignant. Pengamatan malignant tersebut memiliki nilai karakteristik sel yang tinggi, misalnya Cell.size 10, Cell.shape 10, dan Bare.nuclei 10, sedangkan sebagian besar pengamatan benign bernilai rendah, yaitu 1 sampai 3. Namun, tidak semua pengamatan benign bernilai rendah, misalnya baris kedua memiliki Bare.nuclei 10 dan baris keempat memiliki Cell.size 8. Pola ini mengindikasikan bahwa semakin besar nilai karakteristik sel, semakin besar kecenderungan pengamatan tergolong malignant, tetapi hubungannya tidak sederhana sehingga perlu model nonlinier seperti ANN.

4.2 Statistika Deskriptif dan Distribusi Kelas

summary(bc)
##   Cl.thickness      Cell.size        Cell.shape     Marg.adhesion  
##  Min.   : 1.000   Min.   : 1.000   Min.   : 1.000   Min.   : 1.00  
##  1st Qu.: 2.000   1st Qu.: 1.000   1st Qu.: 1.000   1st Qu.: 1.00  
##  Median : 4.000   Median : 1.000   Median : 1.000   Median : 1.00  
##  Mean   : 4.442   Mean   : 3.151   Mean   : 3.215   Mean   : 2.83  
##  3rd Qu.: 6.000   3rd Qu.: 5.000   3rd Qu.: 5.000   3rd Qu.: 4.00  
##  Max.   :10.000   Max.   :10.000   Max.   :10.000   Max.   :10.00  
##   Epith.c.size     Bare.nuclei      Bl.cromatin     Normal.nucleoli
##  Min.   : 1.000   Min.   : 1.000   Min.   : 1.000   Min.   : 1.00  
##  1st Qu.: 2.000   1st Qu.: 1.000   1st Qu.: 2.000   1st Qu.: 1.00  
##  Median : 2.000   Median : 1.000   Median : 3.000   Median : 1.00  
##  Mean   : 3.234   Mean   : 3.545   Mean   : 3.445   Mean   : 2.87  
##  3rd Qu.: 4.000   3rd Qu.: 6.000   3rd Qu.: 5.000   3rd Qu.: 4.00  
##  Max.   :10.000   Max.   :10.000   Max.   :10.000   Max.   :10.00  
##     Mitoses             Class    
##  Min.   : 1.000   benign   :444  
##  1st Qu.: 1.000   malignant:239  
##  Median : 1.000                  
##  Mean   : 1.603                  
##  3rd Qu.: 1.000                  
##  Max.   :10.000
table(bc$Class)
## 
##    benign malignant 
##       444       239
nrow(bc)
## [1] 683
# Formula model
i <- names(bc)
form <- as.formula(paste("Class ~", paste(i[!i %in% "Class"], collapse = " + ")))
form
## Class ~ Cl.thickness + Cell.size + Cell.shape + Marg.adhesion + 
##     Epith.c.size + Bare.nuclei + Bl.cromatin + Normal.nucleoli + 
##     Mitoses

Hasil summary(bc) menunjukkan bahwa seluruh prediktor berada pada rentang 1 sampai 10. Rata-rata tertinggi dimiliki oleh Cl.thickness sebesar 4,442 dan terendah oleh Mitoses sebesar 1,603. Nilai median Cell.size, Cell.shape, Marg.adhesion, Bare.nuclei, Normal.nucleoli, dan Mitoses adalah 1, lebih kecil daripada rata-ratanya, sehingga distribusi variabel-variabel tersebut condong ke kanan (sebagian besar pengamatan bernilai rendah dan hanya sebagian kecil bernilai tinggi). Kondisi ini paling ekstrem pada Mitoses yang kuartil ketiganya masih bernilai 1 tetapi maksimumnya mencapai 10.

Distribusi kelas menunjukkan 444 pengamatan benign dan 239 pengamatan malignant dengan total 683 pengamatan setelah 16 baris yang memiliki nilai hilang pada Bare.nuclei dihapus. Proporsi benign sebesar 65,0% dan malignant sebesar 35,0%, sehingga data tergolong agak tidak seimbang tetapi belum ekstrem. Oleh karena itu, selain akurasi, sensitivitas dan spesifisitas tetap perlu diperhatikan agar kelas malignant yang lebih sedikit tidak terabaikan. Formula yang terbentuk adalah Class sebagai fungsi dari kesembilan prediktor, yang akan digunakan pada seluruh model ANN.

4.3 Fungsi ANN Klasifikasi

jalankan_ann <- function(prop_train, size, seed = 917) {
  set.seed(seed)
  index <- sample(1:nrow(bc), round(prop_train * nrow(bc)))
  train <- bc[index, ]
  test  <- bc[-index, ]
  
  set.seed(seed)
  nn <- nnet.formula(form, size = size, data = train,
                     maxit = 500, trace = FALSE, MaxNWts = 5000)
  
  pred <- factor(predict(nn, newdata = test, type = "class"),
                 levels = levels(bc$Class))
  tab  <- table(Aktual = test$Class, Prediksi = pred)
  
  TN <- tab["benign", "benign"];       FP <- tab["benign", "malignant"]
  FN <- tab["malignant", "benign"];    TP <- tab["malignant", "malignant"]
  
  hasil <- data.frame(
    Train = paste0(prop_train * 100, "%"),
    Test = paste0((1 - prop_train) * 100, "%"),
    Hidden = size,
    n_train = nrow(train), n_test = nrow(test),
    Akurasi = (TP + TN) / sum(tab),
    Sensitivitas = TP / (TP + FN),
    Spesifisitas = TN / (TN + FP),
    Presisi = TP / (TP + FP)
  )
  list(model = nn, tabel = tab, hasil = hasil)
}

# Fungsi untuk menampilkan seluruh output satu skenario
tampilkan_skenario <- function(out) {
  cat("Tabel klasifikasi (confusion matrix):\n")
  print(out$tabel)
  
  cat("\nMetrik evaluasi:\n")
  print(round(out$hasil[, 6:9], 4))
  
  cat("\nJumlah bobot jaringan:", length(out$model$wts), "\n")
  cat("\nBobot jaringan (9 bobot pertama pada hidden neuron 1):\n")
  w <- neuralweights(out$model)$wts[[1]]
  print(w[1:min(9, length(w))])
  
  cat("\nKepentingan variabel (Olden):\n")
  print(olden(out$model, bar_plot = FALSE))
}

Fungsi jalankan_ann() membagi data secara acak sesuai proporsi training dengan set.seed(917) agar hasil dapat direproduksi, kemudian membentuk ANN satu hidden layer menggunakan nnet dengan jumlah hidden neuron sesuai argumen size, iterasi maksimum 500, dan tanpa weight decay. Prediksi kelas diperoleh dengan ambang probabilitas 0,5, dan kelas malignant diperlakukan sebagai kelas positif. Berdasarkan confusion matrix, akurasi dihitung sebagai (TP + TN) / total, sensitivitas sebagai TP / (TP + FN), spesifisitas sebagai TN / (TN + FP), dan presisi sebagai TP / (TP + FP). Pada konteks diagnosis kanker, sensitivitas menjadi ukuran yang sangat penting karena false negative berarti kasus ganas yang terprediksi jinak. Fungsi tampilkan_skenario() digunakan untuk menampilkan confusion matrix, metrik evaluasi, jumlah bobot, bobot jaringan, dan nilai kepentingan variabel metode Olden pada setiap skenario.

4.4 Skenario 1: Training 80%, Testing 20%, Hidden Neuron = 10

out1 <- jalankan_ann(0.8, 10)
tampilkan_skenario(out1)
## Tabel klasifikasi (confusion matrix):
##            Prediksi
## Aktual      benign malignant
##   benign        90         3
##   malignant      2        42
## 
## Metrik evaluasi:
##   Akurasi Sensitivitas Spesifisitas Presisi
## 1  0.9635       0.9545       0.9677  0.9333
## 
## Jumlah bobot jaringan: 111 
## 
## Bobot jaringan (9 bobot pertama pada hidden neuron 1):
## [1] -112.0528168   29.2895999   12.2748305    2.8059773    0.1077392
## [6]   -8.4170399    7.8109917  -10.7603476    6.5840727
## 
## Kepentingan variabel (Olden):
##                 importance
## Cl.thickness     -5118.933
## Cell.size         1981.528
## Cell.shape        9351.952
## Marg.adhesion     5522.208
## Epith.c.size     -5069.188
## Bare.nuclei       7018.447
## Bl.cromatin       8688.271
## Normal.nucleoli  -4324.778
## Mitoses          -2869.309
plotnet(out1$model)

olden(out1$model)
## Warning: `label` cannot be a <ggplot2::element_blank> object.

Pada skenario ini terdapat 546 data training dan 137 data testing (93 benign dan 44 malignant). Confusion matrix menunjukkan 90 pengamatan benign terklasifikasi benar (TN), 3 pengamatan benign salah diprediksi malignant (FP), 2 pengamatan malignant salah diprediksi benign (FN), dan 42 pengamatan malignant terklasifikasi benar (TP). Dengan demikian, model benar pada 132 dari 137 pengamatan sehingga akurasi sebesar 96,35%. Sensitivitas sebesar 95,45% berarti 42 dari 44 kasus ganas berhasil dikenali, spesifisitas sebesar 96,77% berarti 90 dari 93 kasus jinak dikenali dengan benar, dan presisi sebesar 93,33% berarti dari 45 prediksi malignant terdapat 42 yang benar-benar ganas.

Diagram jaringan memperlihatkan arsitektur 9-10-1, yaitu 9 neuron masukan (I1 sampai I9), 10 neuron pada satu hidden layer (H1 sampai H10), dan 1 neuron keluaran (O1), ditambah neuron bias (B1 dan B2). Total parameter sebanyak 111 bobot, yaitu (9 + 1) × 10 pada lapisan tersembunyi dan (10 + 1) × 1 pada lapisan keluaran. Garis hitam menunjukkan bobot positif dan garis abu-abu menunjukkan bobot negatif, dengan ketebalan garis sebanding dengan besarnya bobot. Bobot pada hidden neuron pertama tergolong besar, misalnya bias sebesar −112,05 dan bobot Cl.thickness sebesar 29,29. Nilai yang besar ini wajar karena prediktor tidak distandardisasi dan model tidak menggunakan weight decay, namun juga mengisyaratkan jaringan yang cukup fleksibel sehingga berpotensi overfitting.

Berdasarkan metode Olden, variabel dengan kontribusi positif terbesar terhadap peluang kelas malignant adalah Cell.shape (9.352), Bl.cromatin (8.688), Bare.nuclei (7.019), dan Marg.adhesion (5.522), disusul Cell.size (1.982). Sebaliknya, Cl.thickness (−5.119), Epith.c.size (−5.069), Normal.nucleoli (−4.325), dan Mitoses (−2.869) bernilai negatif. Nilai negatif pada metode Olden tidak serta-merta berarti variabel tersebut menurunkan risiko keganasan secara medis, melainkan menggambarkan arah pengaruh dalam model ini yang dapat dipengaruhi oleh korelasi antarprediktor. Interpretasi sebaiknya difokuskan pada urutan besarnya kontribusi, bukan pada nilai absolutnya.

4.5 Skenario 2: Training 60%, Testing 40%, Hidden Neuron = 10

out2 <- jalankan_ann(0.6, 10)
tampilkan_skenario(out2)
## Tabel klasifikasi (confusion matrix):
##            Prediksi
## Aktual      benign malignant
##   benign       180         6
##   malignant     14        73
## 
## Metrik evaluasi:
##   Akurasi Sensitivitas Spesifisitas Presisi
## 1  0.9267       0.8391       0.9677  0.9241
## 
## Jumlah bobot jaringan: 111 
## 
## Bobot jaringan (9 bobot pertama pada hidden neuron 1):
## [1]  5.1555592 -0.8084398 -2.3828910 -2.7442571  7.9770148 -7.1451457  4.1714190
## [8]  5.8757021 -0.6986356
## 
## Kepentingan variabel (Olden):
##                  importance
## Cl.thickness      -56.13463
## Cell.size       -2426.30912
## Cell.shape       1179.63096
## Marg.adhesion    1717.49825
## Epith.c.size      915.96826
## Bare.nuclei      1416.44795
## Bl.cromatin      2199.62795
## Normal.nucleoli  1118.62502
## Mitoses          -559.20327
plotnet(out2$model)

olden(out2$model)
## Warning: `label` cannot be a <ggplot2::element_blank> object.

Skenario ini menggunakan 410 data training dan 273 data testing (186 benign dan 87 malignant). Confusion matrix menunjukkan TN = 180, FP = 6, FN = 14, dan TP = 73, sehingga 253 dari 273 pengamatan terklasifikasi benar dengan akurasi 92,67%. Spesifisitas sebesar 96,77% dan presisi sebesar 92,41% masih tinggi, tetapi sensitivitas hanya 83,91%, artinya 14 dari 87 kasus ganas tidak terdeteksi. Jumlah false negative ini jauh lebih banyak dibandingkan Skenario 1 (2 kasus). Kelemahan model pada kasus ganas merupakan hal yang paling perlu diwaspadai pada konteks diagnosis, sehingga konfigurasi ini kurang disarankan meskipun akurasinya masih di atas 90%.

Arsitektur jaringan tetap 9-10-1 dengan 111 bobot karena jumlah hidden neuron sama dengan Skenario 1. Perbedaan hasil semata-mata berasal dari berkurangnya data training dari 546 menjadi 410 pengamatan dan bertambahnya data testing. Bobot pada hidden neuron pertama (bias 5,16; Cl.thickness −0,81; Cell.size −2,38; Cell.shape −2,74; Marg.adhesion 7,98) berukuran jauh lebih kecil dibandingkan Skenario 1, yang menunjukkan bahwa bobot hasil pelatihan sangat bergantung pada data dan inisialisasi acak yang digunakan.

Menurut metode Olden, variabel yang paling berpengaruh secara absolut adalah Cell.size (−2.426), diikuti Bl.cromatin (2.200), Marg.adhesion (1.717), Bare.nuclei (1.416), dan Cell.shape (1.180), sedangkan Cl.thickness (−56) hampir tidak berkontribusi. Urutan kepentingan ini berbeda dari Skenario 1, terutama pada Cell.size yang berubah dari kontribusi positif kecil menjadi negatif besar. Perbedaan tersebut menunjukkan bahwa kepentingan variabel pada ANN tidak stabil antarmodel sehingga perlu ditafsirkan dengan hati-hati.

4.6 Skenario 3: Training 80%, Testing 20%, Hidden Neuron = 20

out3 <- jalankan_ann(0.8, 20)
tampilkan_skenario(out3)
## Tabel klasifikasi (confusion matrix):
##            Prediksi
## Aktual      benign malignant
##   benign        91         2
##   malignant      5        39
## 
## Metrik evaluasi:
##   Akurasi Sensitivitas Spesifisitas Presisi
## 1  0.9489       0.8864       0.9785  0.9512
## 
## Jumlah bobot jaringan: 221 
## 
## Bobot jaringan (9 bobot pertama pada hidden neuron 1):
## [1] -35.718007  21.653152 -35.076846  18.576114  -1.448047  -4.454150 -13.112425
## [8]  41.975199  12.455097
## 
## Kepentingan variabel (Olden):
##                  importance
## Cl.thickness      -23.11357
## Cell.size        -496.04114
## Cell.shape       1878.72066
## Marg.adhesion   -1955.20940
## Epith.c.size     3855.09571
## Bare.nuclei      -291.28375
## Bl.cromatin      4919.00806
## Normal.nucleoli  1502.28409
## Mitoses          5327.37649
plotnet(out3$model)

olden(out3$model)
## Warning: `label` cannot be a <ggplot2::element_blank> object.

Pada skenario ini data terbagi menjadi 546 data training dan 137 data testing, sama seperti Skenario 1, tetapi hidden neuron ditambah menjadi 20. Confusion matrix menunjukkan TN = 91, FP = 2, FN = 5, dan TP = 39, dengan akurasi 94,89% (130 dari 137 benar). Spesifisitas meningkat menjadi 97,85% dan presisi menjadi 95,12% karena false positive turun dari 3 menjadi 2, tetapi sensitivitas turun menjadi 88,64% karena false negative naik dari 2 menjadi 5. Jadi penambahan neuron dari 10 menjadi 20 pada proporsi ini tidak meningkatkan kinerja keseluruhan, bahkan model lebih sering melewatkan kasus ganas.

Diagram jaringan berarsitektur 9-20-1 dengan 221 bobot, yaitu (9 + 1) × 20 + (20 + 1) × 1. Jumlah parameter yang meningkat hampir dua kali lipat dibandingkan Skenario 1 membuat jaringan lebih kompleks sementara jumlah data training tetap 546, sehingga risiko overfitting bertambah. Bobot pada hidden neuron pertama masih relatif besar (bias −35,74; Cell.size −35,10; Bl.cromatin 42,01 pada daftar bobot yang ditampilkan).

Pada metode Olden, kontribusi positif terbesar dimiliki Mitoses (5.335), Bl.cromatin (4.926), Epith.c.size (3.861), Cell.shape (1.881), dan Normal.nucleoli (1.505), sedangkan kontribusi negatif terbesar dimiliki Marg.adhesion (−1.959). Cl.thickness (−23) dan Bare.nuclei (−292) hampir tidak berpengaruh. Urutan ini kembali berbeda dari dua skenario sebelumnya, misalnya Mitoses yang sebelumnya negatif kini menjadi variabel paling berpengaruh, sehingga konsistensi kepentingan variabel antarmodel tergolong rendah.

4.7 Skenario 4: Training 60%, Testing 40%, Hidden Neuron = 20

out4 <- jalankan_ann(0.6, 20)
tampilkan_skenario(out4)
## Tabel klasifikasi (confusion matrix):
##            Prediksi
## Aktual      benign malignant
##   benign       179         7
##   malignant     12        75
## 
## Metrik evaluasi:
##   Akurasi Sensitivitas Spesifisitas Presisi
## 1  0.9304       0.8621       0.9624  0.9146
## 
## Jumlah bobot jaringan: 221 
## 
## Bobot jaringan (9 bobot pertama pada hidden neuron 1):
## [1] -4.4163210 -1.4745072 -4.1884216  6.1693567  1.3594741  0.3669770  0.8589219
## [8]  4.2396686  7.4250116
## 
## Kepentingan variabel (Olden):
##                 importance
## Cl.thickness     469.11629
## Cell.size       2128.29572
## Cell.shape      -256.95626
## Marg.adhesion    -59.59444
## Epith.c.size     592.47308
## Bare.nuclei     2149.66897
## Bl.cromatin     1228.20786
## Normal.nucleoli -890.15996
## Mitoses         1652.75143
plotnet(out4$model)

olden(out4$model)
## Warning: `label` cannot be a <ggplot2::element_blank> object.

Skenario ini menggunakan 410 data training dan 273 data testing. Confusion matrix menunjukkan TN = 179, FP = 7, FN = 12, dan TP = 75 sehingga akurasi sebesar 93,04% (254 dari 273 benar). Sensitivitas sebesar 86,21%, spesifisitas sebesar 96,24%, dan presisi sebesar 91,46%. Dibandingkan Skenario 2 (10 neuron), akurasi naik tipis sebesar 0,37 poin persentase dan sensitivitas naik dari 83,91% menjadi 86,21% karena false negative turun dari 14 menjadi 12, namun false positive naik dari 6 menjadi 7. Selisih ini sangat kecil (setara satu atau dua pengamatan), sehingga penambahan neuron dari 10 menjadi 20 belum memberikan perbaikan yang berarti. Sensitivitas 86,21% masih rendah untuk keperluan deteksi kasus ganas.

Arsitektur jaringan adalah 9-20-1 dengan 221 bobot. Karena data training hanya 410 pengamatan, rasio jumlah parameter terhadap data lebih besar dibandingkan Skenario 3 sehingga model lebih rentan terhadap overfitting. Bobot pada hidden neuron pertama relatif kecil (bias −4,42; Cell.size −4,19; Cell.shape 6,17; Normal.nucleoli 7,43), lebih kecil daripada Skenario 3.

Menurut metode Olden, variabel dengan kontribusi terbesar adalah Bare.nuclei (2.150), Cell.size (2.128), Mitoses (1.653), dan Bl.cromatin (1.228), sedangkan kontribusi negatif terbesar dimiliki Normal.nucleoli (−890). Marg.adhesion (−60) dan Cell.shape (−257) memberi pengaruh kecil. Pada skenario ini Bare.nuclei dan Cell.size menempati posisi teratas, yang secara substantif masuk akal karena kedua karakteristik tersebut memang berkaitan dengan morfologi sel ganas.

4.8 Skenario 5: Training 80%, Testing 20%, Hidden Neuron = 30

out5 <- jalankan_ann(0.8, 30)
tampilkan_skenario(out5)
## Tabel klasifikasi (confusion matrix):
##            Prediksi
## Aktual      benign malignant
##   benign        92         1
##   malignant      2        42
## 
## Metrik evaluasi:
##   Akurasi Sensitivitas Spesifisitas Presisi
## 1  0.9781       0.9545       0.9892  0.9767
## 
## Jumlah bobot jaringan: 331 
## 
## Bobot jaringan (9 bobot pertama pada hidden neuron 1):
## [1] -1.4030661  2.7537795 -2.4267894  0.6349852  4.2972836  3.5397161 -1.5666015
## [8]  2.5561584  0.7231256
## 
## Kepentingan variabel (Olden):
##                 importance
## Cl.thickness     352.55581
## Cell.size        144.22270
## Cell.shape       308.58904
## Marg.adhesion    641.31648
## Epith.c.size    -175.86734
## Bare.nuclei      450.14159
## Bl.cromatin      181.40618
## Normal.nucleoli   50.20407
## Mitoses           96.79762
plotnet(out5$model)

olden(out5$model)
## Warning: `label` cannot be a <ggplot2::element_blank> object.

Skenario ini menggunakan 546 data training dan 137 data testing dengan 30 hidden neuron. Confusion matrix menunjukkan TN = 92, FP = 1, FN = 2, dan TP = 42, sehingga hanya 3 dari 137 pengamatan yang salah diklasifikasikan dan akurasi mencapai 97,81%. Sensitivitas sebesar 95,45% (42 dari 44 kasus ganas terdeteksi), spesifisitas sebesar 98,92% (92 dari 93 kasus jinak benar), dan presisi sebesar 97,67% (42 dari 43 prediksi ganas benar). Seluruh nilai ini merupakan yang tertinggi di antara enam skenario, kecuali sensitivitas yang sama dengan Skenario 1.

Arsitektur jaringan adalah 9-30-1 dengan 331 bobot. Berbeda dari skenario sebelumnya, bobot pada hidden neuron pertama berukuran kecil (bias −1,40; Cl.thickness 2,75; Cell.size −2,43; Marg.adhesion 4,30), dan nilai Olden juga berada pada kisaran ratusan, bukan ribuan. Hal ini menunjukkan jaringan konvergen ke solusi dengan bobot yang lebih moderat sehingga lebih stabil.

Pada metode Olden, delapan dari sembilan variabel berkontribusi positif terhadap kelas malignant, dengan kontribusi terbesar dari Marg.adhesion (641), Bare.nuclei (450), Cl.thickness (353), Cell.shape (309), dan Bl.cromatin (181). Hanya Epith.c.size yang bernilai negatif (−176). Pola dominan positif ini sejalan dengan temuan pada Subbab 4.1 bahwa nilai karakteristik sel yang lebih tinggi berasosiasi dengan kelas malignant, sehingga hasil model pada skenario ini paling mudah diinterpretasikan.

4.9 Skenario 6: Training 60%, Testing 40%, Hidden Neuron = 30

out6 <- jalankan_ann(0.6, 30)
tampilkan_skenario(out6)
## Tabel klasifikasi (confusion matrix):
##            Prediksi
## Aktual      benign malignant
##   benign       176        10
##   malignant      5        82
## 
## Metrik evaluasi:
##   Akurasi Sensitivitas Spesifisitas Presisi
## 1  0.9451       0.9425       0.9462  0.8913
## 
## Jumlah bobot jaringan: 331 
## 
## Bobot jaringan (9 bobot pertama pada hidden neuron 1):
## [1] -2.7226124  1.5562991 -8.4432602 -0.7811029 -3.2108353  2.7221558  2.4157656
## [8]  4.7509451  6.0261145
## 
## Kepentingan variabel (Olden):
##                 importance
## Cl.thickness     248.17246
## Cell.size        -53.18459
## Cell.shape        55.27080
## Marg.adhesion    498.49406
## Epith.c.size     -46.15911
## Bare.nuclei       68.75030
## Bl.cromatin       33.15129
## Normal.nucleoli  124.03564
## Mitoses          423.75799
plotnet(out6$model)

olden(out6$model)
## Warning: `label` cannot be a <ggplot2::element_blank> object.

Pada skenario ini terdapat 410 data training dan 273 data testing. Confusion matrix menunjukkan TN = 176, FP = 10, FN = 5, dan TP = 82, sehingga akurasi sebesar 94,51% (258 dari 273 benar). Sensitivitas sebesar 94,25% merupakan yang tertinggi pada proporsi 60:40 karena false negative turun menjadi 5 kasus, tetapi false positive naik menjadi 10 kasus sehingga spesifisitas turun menjadi 94,62% dan presisi menjadi 89,13%, yang merupakan nilai presisi terendah di antara seluruh skenario. Artinya, model lebih “berhati-hati” mendeteksi kasus ganas namun dengan konsekuensi lebih banyak kasus jinak yang diprediksi ganas. Dalam konteks diagnosis, kesalahan jenis ini umumnya lebih dapat diterima daripada melewatkan kasus ganas karena masih dapat dikoreksi melalui pemeriksaan lanjutan.

Arsitektur jaringan adalah 9-30-1 dengan 331 bobot. Bobot pada hidden neuron pertama berukuran moderat (bias −2,72; Cell.size −8,44; Bl.cromatin 4,75; Normal.nucleoli 6,03), dan nilai Olden berada pada kisaran puluhan hingga ratusan, mirip Skenario 5. Kontribusi positif terbesar dimiliki Marg.adhesion (498) dan Mitoses (424), diikuti Cl.thickness (248) dan Normal.nucleoli (124), sedangkan Cell.size (−53) dan Epith.c.size (−46) bernilai negatif dengan besaran kecil. Seperti pada Skenario 5, mayoritas variabel berkontribusi positif terhadap kelas malignant.

4.10 Ringkasan Perbandingan Seluruh Skenario

semua <- list(out1, out2, out3, out4, out5, out6)
ringkasan <- do.call(rbind, lapply(semua, function(x) x$hasil))
ringkasan[, 6:9] <- round(ringkasan[, 6:9], 4)
ringkasan
##   Train Test Hidden n_train n_test Akurasi Sensitivitas Spesifisitas Presisi
## 1   80%  20%     10     546    137  0.9635       0.9545       0.9677  0.9333
## 2   60%  40%     10     410    273  0.9267       0.8391       0.9677  0.9241
## 3   80%  20%     20     546    137  0.9489       0.8864       0.9785  0.9512
## 4   60%  40%     20     410    273  0.9304       0.8621       0.9624  0.9146
## 5   80%  20%     30     546    137  0.9781       0.9545       0.9892  0.9767
## 6   60%  40%     30     410    273  0.9451       0.9425       0.9462  0.8913

Tabel ringkasan membandingkan enam model ANN. Pada proporsi 80:20, akurasi berturut-turut adalah 96,35% (10 neuron), 94,89% (20 neuron), dan 97,81% (30 neuron), dengan rata-rata 96,35%. Pada proporsi 60:40, akurasi berturut-turut adalah 92,67%, 93,04%, dan 94,51%, dengan rata-rata 93,41%. Dengan demikian, proporsi training 80% menghasilkan kinerja yang lebih baik daripada 60% pada setiap jumlah hidden neuron, yang konsisten dengan pandangan bahwa data training yang lebih banyak memberi model lebih banyak informasi untuk mempelajari pola. Sensitivitas pada proporsi 60:40 (83,91% sampai 94,25%) juga lebih rendah dan lebih bervariasi dibandingkan proporsi 80:20 (88,64% sampai 95,45%).

Pengaruh jumlah hidden neuron tidak sepenuhnya monoton. Pada proporsi 60:40, akurasi naik seiring bertambahnya neuron (92,67%, 93,04%, 94,51%). Pada proporsi 80:20, akurasi turun saat neuron ditambah dari 10 ke 20 (96,35% menjadi 94,89%) lalu naik kembali pada 30 neuron (97,81%). Ketidakmonotonan ini wajar karena hasil ANN dipengaruhi oleh inisialisasi bobot acak, dan perbedaan antarmodel pada data testing 137 pengamatan hanya setara beberapa observasi (misalnya selisih 97,81% dan 96,35% hanya berasal dari 2 pengamatan). Karena itu, perbedaan kecil antarskenario sebaiknya tidak diinterpretasikan sebagai perbedaan yang pasti.

Model terbaik adalah Skenario 5 (training 80%, testing 20%, 30 hidden neuron) dengan akurasi 97,81%, sensitivitas 95,45%, spesifisitas 98,92%, dan presisi 97,67%, serta hanya 3 kesalahan klasifikasi (1 false positive dan 2 false negative). Skenario 1 memiliki jumlah false negative yang sama (2 kasus), tetapi memiliki 3 false positive sehingga akurasi dan presisinya lebih rendah. Model terburuk adalah Skenario 2 (training 60%, 10 neuron) dengan akurasi 92,67% dan 14 false negative (sensitivitas 83,91%).

BAB V KESIMPULAN DAN SARAN

5.1 Kesimpulan

Artificial Neural Network (ANN) merupakan metode machine learning yang meniru mekanisme kerja jaringan saraf melalui hubungan antara input layer, hidden layer, dan output layer. ANN mampu mempelajari pola yang kompleks dan hubungan nonlinear antara variabel prediktor dan variabel respons. Kinerja ANN dipengaruhi oleh beberapa komponen, seperti jumlah neuron pada hidden layer, fungsi aktivasi, jumlah iterasi, algoritma pembelajaran, dan pembagian data training serta testing. Penambahan jumlah neuron dapat meningkatkan kemampuan model dalam mengenali pola, tetapi jumlah neuron yang terlalu banyak dapat meningkatkan kompleksitas dan risiko overfitting.

Evaluasi ANN perlu dilakukan secara menyeluruh menggunakan confusion matrix dan metrik klasifikasi, seperti accuracy, sensitivity, specificity, precision, F1-score, dan balanced accuracy. Setiap metrik memberikan informasi yang berbeda mengenai kemampuan model dalam mengklasifikasikan data. Oleh karena itu, model terbaik tidak cukup ditentukan berdasarkan accuracy saja, tetapi juga perlu mempertimbangkan kemampuan model dalam mengenali setiap kelas serta keseimbangan antara kesalahan klasifikasi. Perbandingan jumlah hidden neuron dan proporsi data training-testing dapat digunakan untuk mengetahui konfigurasi ANN yang memberikan kinerja klasifikasi paling baik.

Berdasarkan hasil analisis ANN klasifikasi pada data Breast Cancer yang terdiri atas 683 pengamatan (444 benign dan 239 malignant) setelah 16 baris bernilai hilang dihapus, enam model dibentuk dari kombinasi proporsi data training-testing 80:20 dan 60:40 dengan jumlah hidden neuron 10, 20, dan 30. Seluruh model menghasilkan akurasi di atas 92%, dengan rentang 92,67% sampai 97,81%. Model terbaik adalah ANN dengan 30 hidden neuron pada proporsi 80:20, yang menghasilkan akurasi 97,81%, sensitivitas 95,45%, spesifisitas 98,92%, dan presisi 97,67%, dengan hanya 3 kesalahan klasifikasi dari 137 data testing (1 false positive dan 2 false negative). Model dengan kinerja terendah adalah ANN dengan 10 hidden neuron pada proporsi 60:40, yang menghasilkan akurasi 92,67% dan sensitivitas 83,91% karena terdapat 14 kasus malignant yang terprediksi benign.

Proporsi data training 80% memberikan hasil yang lebih baik daripada 60% pada setiap jumlah hidden neuron, dengan rata-rata akurasi 96,35% berbanding 93,41%. Pengaruh jumlah hidden neuron tidak selalu meningkat seiring penambahan neuron. Pada proporsi 60:40, akurasi meningkat dari 92,67% ke 93,04% dan 94,51%, sedangkan pada proporsi 80:20 akurasi menurun dari 96,35% ke 94,89% pada 20 neuron sebelum naik menjadi 97,81% pada 30 neuron. Selisih antarmodel yang kecil pada data testing yang terbatas perlu ditafsirkan secara hati-hati karena hasil ANN dipengaruhi oleh inisialisasi bobot acak dan pembagian data tunggal. Berdasarkan metode Olden, variabel yang berkontribusi besar terhadap klasifikasi kelas malignant berbeda-beda antarmodel. Pada model terbaik, Marg.adhesion, Bare.nuclei, Cl.thickness, dan Cell.shape memberikan kontribusi positif terbesar, sehingga urutan kepentingan variabel tidak stabil dan tidak dapat dianggap sebagai ukuran pengaruh yang pasti.

5.2 Saran

Praktikan dapat melakukan pembelajaran lebih lanjut mengenai Machine Learning and modern prediction serta cara interpretasinya agar semakin paham. Dapat dilakukan melalui sumber-sumber belajar lainnya. Dalam penulisan laporan praktikan juga diharapkan untuk selalu teliti dan memperhatikan tata cara penulisan yang baik. Penulis juga berharap kritik dan saran kepada pembaca dan asisten praktikum guna membuat laporan ini menjadi lebih baik.

DAFTAR PUSTAKA

Badapalli, P. K., Nakkala, A. B., Pujari, P. S., Gugulothu, S., Kottala, R. B., Mannala, P., Alkhuraiji, W. S., Thamaga, K. H., & Zhran, M. (2026). Integration of geospatial techniques and artificial neural networks for groundwater potential zonation in India. Scientific Reports, 16(1). https://doi.org/10.1038/s41598-025-31640-8

Fransiska, H. (2026). Modul Praktikum Machine Learning. Universitas Bengkulu

Dritsas, E., & Trigka, M. (2025). Remote Sensing and Geospatial Analysis in the Big Data Era: A Survey. In Remote Sensing (Vol. 17, Number 3). https://doi.org/10.3390/rs17030550

Goel, A., Goel, A. K., & Kumar, A. (2023). The role of artificial neural network and machine learning in utilizing spatial information. In Spatial Information Research (Vol. 31, Number 3). https://doi.org/10.1007/s41324-022-00494-x

Hoang, N. D., & Nguyen, Q. L. (2025). Geospatial Analysis and Machine Learning Framework for Urban Heat Island Intensity Prediction: Natural Gradient Boosting and Deep Neural Network Regressors with Multisource Remote Sensing Data. Sustainability (Switzerland), 17(10). https://doi.org/10.3390/su17104287

Nikparvar, B., & Thill, J. C. (2021). Machine learning of spatial data. In ISPRS International Journal of Geo-Information (Vol. 10, Number 9). https://doi.org/10.3390/ijgi10090600