BAB I PENDAHULUAN

1.1 Latar Belakang

Artificial Neural Network (ANN) merupakan metode pembelajaran mesin yang meniru mekanisme kerja jaringan saraf manusia. Metode ini menggunakan sejumlah neuron buatan yang saling terhubung untuk mengolah informasi dan mengenali pola dalam data. Jaringan ANN terdiri atas lapisan masukan (input layer), lapisan tersembunyi (hidden layer), dan lapisan keluaran (output layer). Setiap neuron mengolah informasi melalui bobot, fungsi aktivasi, dan proses pembelajaran untuk menghasilkan keluaran tertentu. Kemampuan tersebut menjadikan ANN sebagai metode yang dapat mempelajari hubungan kompleks dan pola nonlinier dalam suatu data (Gallego & Ríos Insua, 2022).

ANN dapat digunakan untuk menyelesaikan permasalahan regresi dan klasifikasi berdasarkan karakteristik variabel respons. Regresi bertujuan memprediksi nilai numerik atau kontinu berdasarkan hubungan antara variabel masukan dan keluaran. Klasifikasi bertujuan mengelompokkan data ke dalam kategori tertentu berdasarkan pola yang dipelajari selama proses pelatihan. Kedua pendekatan tersebut menggunakan proses pembelajaran jaringan saraf untuk memperoleh bobot optimal melalui pembaruan parameter secara bertahap. Perbedaan tujuan analisis menyebabkan kedua pendekatan menggunakan fungsi keluaran dan fungsi kesalahan yang berbeda (Stewart dkk., 2023).

Artificial Neural Network (ANN) untuk regresi dan klasifikasi dapat diimplementasikan menggunakan program R. Program R menyediakan paket neuralnet yang mendukung pembentukan jaringan saraf melalui algoritma backpropagation dan resilient backpropagation. Implementasi ANN melibatkan penentuan variabel masukan, jumlah neuron tersembunyi, fungsi aktivasi, dan metode pelatihan jaringan. Analisis regresi menggunakan keluaran numerik, sedangkan analisis klasifikasi menggunakan keluaran berdasarkan kategori yang ditentukan. Hasil pemodelan dapat digunakan untuk mengevaluasi kemampuan ANN dalam memprediksi nilai dan mengelompokkan data berdasarkan karakteristik variabel yang dianalisis (Fritsch dkk., 2026).

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 diperoleh dari penelitian ini adalah sebagai berikut:

  1. Bagi Penulis

    1. Menambah pengetahuan dan pemahaman mengenai metode Artificial Neural Network (ANN) untuk menyelesaikan permasalahan regresi dan klasifikasi.

    2. Meningkatkan kemampuan dalam menerapkan metode Artificial Neural Network (ANN) menggunakan program R serta mengevaluasi hasil pemodelan regresi dan klasifikasi.

  2. Bagi Pembaca

    1. Menambah wawasan mengenai konsep, struktur, mekanisme, dan penerapan metode Artificial Neural Network (ANN) dalam analisis regresi dan klasifikasi.

    2. Menjadi bahan referensi dan rujukan bagi penelitian selanjutnya yang berkaitan dengan penerapan Artificial Neural Network (ANN) untuk regresi dan klasifikasi.

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!

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 salah satu metode dalam bidang machine learning yang terinspirasi dari mekanisme kerja jaringan saraf manusia. ANN dirancang untuk mempelajari pola dan hubungan antarvariabel melalui sejumlah unit pemrosesan yang disebut neuron. Setiap neuron saling terhubung melalui bobot (weight) yang menentukan besarnya pengaruh suatu masukan terhadap keluaran jaringan (Madhiarasan dan Louzazn, 2022).

ANN memiliki tiga komponen utama, yaitu arsitektur jaringan yang menggambarkan pola hubungan antar neuron, algoritma pembelajaran yang digunakan untuk menyelesuaikan bobot jaringan, serta fungsi aktivasi yang menentukan keluaran setiap neuron. Neuron-neuron tersebut tersusun dalam lapisan dan saling terhubung melalui bobot sesuai dengan arsitektur jaringan yang digunakan. Secara matematis, proses pengolahan informasi pada suatu neuron dapat dinyatakan sebagai (Fransiska, 2026): \[ y = f\left(\sum_{i=1}^{p} w_i x_i + b\right) \] dengan \(x_i\) merupakan masukan ke-\(i\), \(w_i\) bobot yang menghubungkan masukan ke-\(i\) dengan neuron, \(b\) adalah bias, \(f\) merupakan fungsi aktivasi, dan \(y\) adalah keluaran neuron.

2.2 Artificial Neural Network untuk Regresi

Artificial Neural Network (ANN) untuk regresi adalah metode pemodelan berbasis jaringan saraf tiruan yang digunakan untuk memprediksi nilai numerik atau kontinu berdasarkan hubungan antara variabel prediktor dan variabel respons. Metode ini bekerja dengan memproses data melalui beberapa lapisan neuron, yaitu input layer, hidden layer, dan output layer (Nicodemus, 2022). Setiap neuron melakukan perhitungan menggunakan bobot (weight), bias, dan fungsi aktivasi untuk mempelajari pola hubungan antarvariabel, termasuk hubungan nonlinier. Proses pembelajaran dilakukan dengan menyesuaikan bobot dan bias secara berulang menggunakan algoritma backpropagation sehingga kesalahan prediksi dapat diminimalkan. Pada permasalahan regresi, lapisan keluaran umumnya menggunakan fungsi aktivasi linear agar menghasilkan prediksi berupa nilai kontinu (Jiang et al., 2022).

Evaluasi Evaluasi ANN regresi dilakukan dengan membandingkan nilai aktual dan nilai hasil prediksi. Beberapa ukuran yang umum digunakan adalah Mean Squared Error (MSE), Root Mean Squared Error (RMSE), dan koefisien determinasi (\(R^2\)) (Fransiska, 2026) \[ MSE = \frac{1}{n}\sum_{i=1}^{n}(y_i-\hat{y}_i)^2 \]

\[ MAPE = \frac{1}{n}\sum_{i=1}^{n}\left|\frac{y_i-\hat{y}_i}{y_i}\right|\times 100\% \]

2.3 Artificial Neural Network untuk Klasifikasi

Artificial Neural Network (ANN) untuk klasifikasi merupakan metode pembelajaran mesin (machine learning) yang digunakan untuk mengelompokkan data ke dalam kategori atau kelas tertentu berdasarkan pola dan karakteristik variabel masukan. ANN bekerja dengan mempelajari hubungan antara variabel prediktor dan label kelas melalui jaringan neuron yang saling terhubung. Proses pembelajaran dilakukan dengan menyesuaikan bobot (weight) dan bias berdasarkan kesalahan prediksi yang dihasilkan selama pelatihan. ANN merupakan salah satu metode machine learning yang banyak digunakan untuk menyelesaikan permasalahan klasifikasi, baik pada data tabular maupun pengolahan citra. Penerapannya mencakup berbagai bidang, seperti kesehatan, perbankan, dan pengenalan objek (Mustaqim et al. (2023).

Evaluasi ANN Klasifikasi dilakukan dengan membandingkan kelas aktual dan kelas hasil prediksi. Hasil perbandingan tersebut dapat disajikan dalam confusion matrix (Fransiska, 2026). Confusion matrix merupakan tabel yang digunakan untuk mengevaluasi kinerja model klasifikasi dengan membandingkan hasil prediksi model terhadap kelas aktual. Matriks ini menunjukkan jumlah data yang diklasifikasikan dengan benar maupun salah ke dalam setiap kelas. Pada klasifikasi biner, confusion matrix terdiri atas empat komponen, yaitu True Positive (TP), True Negative (TN), False Positive (FP), dan False Negative (FN). Keempat komponen tersebut digunakan untuk menghitung ukuran evaluasi seperti accuracy, precision, recall, dan F1-score (Rainio et al., 2024).

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.

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 untuk analisis Artificial Neural Network (ANN).
  2. Membersihkan data dengan menghapus variabel Id, mengubah variabel prediktor menjadi numerik, dan menghapus observasi yang memiliki nilai hilang.
  3. Membagi data menjadi dua skenario, yaitu 80% data training dan 20% data testing, serta 60% data training dan 40% data testing.
  4. Membentuk model Artificial Neural Network (ANN) dengan variasi jumlah hidden neuron sebanyak 10, 20, dan 30 pada setiap skenario pembagian data.
  5. Melakukan prediksi terhadap data testing, kemudian menghitung confusion matrix dan metrik evaluasi klasifikasi.
  6. Membuat visualisasi jaringan ANN, bobot jaringan, dan variable importance untuk mengetahui struktur jaringan serta kontribusi setiap variabel prediktor.
  7. Membandingkan hasil keenam model ANN 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

Intepretasi Hasil 4.1

Penggunaan paket nnet, NeuralNetTools, dan mlbench bertujuan untuk mendukung pembentukan model jaringan saraf tiruan, visualisasi jaringan, serta penyediaan dataset yang digunakan dalam analisis. Dataset BreastCancer terdiri atas informasi karakteristik sel yang berkaitan dengan kondisi kanker payudara. Variabel Id dihilangkan karena hanya berfungsi sebagai identitas pengamatan dan tidak digunakan sebagai prediktor dalam pemodelan. Selanjutnya, sembilan variabel penjelas dikonversi menjadi numerik agar dapat diproses oleh algoritma ANN, sedangkan data yang memiliki nilai kosong dihapus melalui fungsi na.omit(). Setelah proses pembersihan dilakukan, variabel Class ditetapkan sebagai faktor dengan kategori benign dan malignant. Tampilan enam observasi pertama memperlihatkan bahwa setiap pengamatan memiliki kombinasi karakteristik sel yang berbeda. Beberapa data dengan kategori benign juga menunjukkan nilai prediktor yang cukup tinggi, sehingga diperlukan pemodelan yang mampu mengenali pola gabungan dari seluruh variabel, bukan hanya berdasarkan satu karakteristik.

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

Intepretasi Hasil 4.2

Berdasarkan hasil statistika deskriptif, kesembilan variabel prediktor memiliki nilai minimum 1 dan maksimum 10. Variabel Cl.thickness mempunyai rata-rata paling tinggi, yaitu 4,442, sedangkan Mitoses memiliki rata-rata paling rendah sebesar 1,603. Beberapa variabel mempunyai median sebesar 1 meskipun nilai maksimumnya mencapai 10. Hal tersebut memperlihatkan bahwa sebagian besar data terkonsentrasi pada nilai rendah, sementara terdapat sejumlah pengamatan dengan nilai yang jauh lebih tinggi. Hasil pengelompokan kelas menunjukkan bahwa terdapat 444 data benign dan 239 data malignant dari keseluruhan 683 pengamatan. Dengan demikian, kelas benign mencakup sekitar 65% data, sedangkan kelas malignant sebesar 35%. Perbedaan jumlah tersebut menunjukkan adanya ketidakseimbangan kelas, sehingga penilaian model perlu mempertimbangkan kemampuan mengenali kedua kategori. Sementara itu, formula yang terbentuk menempatkan Class sebagai variabel respon dengan sembilan karakteristik sel sebagai variabel prediktor yang digunakan dalam proses klasifikasi.

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))
}

Intepretasi Hasil 4.3

Fungsi jalankan_ann() dibuat untuk mempermudah pelaksanaan pemodelan dengan beberapa kombinasi proporsi data dan jumlah neuron tersembunyi. Pembagian data dilakukan secara acak berdasarkan persentase training dan testing, sedangkan penggunaan set.seed(917) menjaga agar pembagian data serta proses pembentukan model dapat diulang dengan hasil yang konsisten. Model dibangun menggunakan fungsi nnet.formula() dengan satu lapisan tersembunyi, iterasi maksimum sebanyak 500, dan jumlah neuron yang ditentukan melalui parameter size. Setelah pelatihan selesai, model digunakan untuk memperkirakan kategori pada data pengujian. Hasil prediksi kemudian dibandingkan dengan kategori sebenarnya melalui confusion matrix untuk memperoleh nilai akurasi, sensitivitas, spesifisitas, dan presisi. Selain evaluasi klasifikasi, fungsi tampilkan_skenario() juga menyajikan jumlah bobot jaringan, sebagian nilai bobot, serta tingkat kepentingan prediktor berdasarkan metode Olden.proses pengujian enam kombinasi model dapat dilakukan secara lebih terstruktur dan hasilnya lebih mudah dibandingkan.

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.

Intepretasi Hasil 4.4

Hasil pengujian pada skenario pertama memperlihatkan bahwa dari 137 data pengujian, sebanyak 132 data berhasil diklasifikasikan dengan tepat dan hanya 5 data yang mengalami kesalahan. Berdasarkan confusion matrix, terdapat 90 data benign yang diprediksi benar, 3 data benign yang keliru dikategorikan sebagai malignant, 2 data malignant yang diprediksi sebagai benign, serta 42 data malignant yang berhasil dikenali. Perolehan akurasi sebesar 96,35%, sensitivitas 95,45%, spesifisitas 96,77%, dan presisi 93,33% menunjukkan bahwa model mampu membedakan kedua kategori dengan baik. Arsitektur jaringan yang terbentuk adalah 9-10-1 dengan jumlah keseluruhan 111 bobot. Visualisasi plotnet() memperlihatkan hubungan antara sembilan neuron input, sepuluh neuron tersembunyi, dan satu neuron output yang dihubungkan oleh bobot jaringan. Hasil analisis Olden menunjukkan bahwa Cell.shape memiliki kontribusi positif paling besar sebesar 9.352, kemudian diikuti Bl.cromatin sebesar 8.688 dan Bare.nuclei sebesar 7.019. Sementara itu, Cl.thickness mempunyai kontribusi negatif sebesar −5.119. Hasil tersebut menggambarkan bahwa setiap karakteristik sel memberikan kontribusi yang berbeda dalam proses pengenalan kelas oleh jaringan.

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.

Intepretasi Hasil 4.5

Pada skenario kedua, penggunaan 60% data untuk pelatihan menghasilkan 410 pengamatan training dan 273 pengamatan testing. Dari keseluruhan data pengujian, sebanyak 253 pengamatan berhasil diklasifikasikan secara tepat, sedangkan 20 pengamatan lainnya mengalami kesalahan. Nilai akurasi yang diperoleh sebesar 92,67%, dengan sensitivitas 83,91%, spesifisitas 96,77%, dan presisi 92,41%. Hasil tersebut memperlihatkan bahwa kemampuan model dalam mengenali kelas benign masih cukup tinggi, tetapi pengenalan terhadap kelas malignant mengalami penurunan. Hal ini terlihat dari adanya 14 kasus malignant yang salah dikategorikan sebagai benign. Jaringan yang terbentuk tetap memiliki susunan 9-10-1 dengan 111 bobot karena jumlah neuron tersembunyi tidak mengalami perubahan. Berdasarkan perhitungan Olden, Cell.size mempunyai kontribusi negatif terbesar sebesar −2.426, sedangkan Bl.cromatin memberikan kontribusi positif sebesar 2.200. Perubahan urutan kepentingan variabel dibandingkan skenario pertama memperlihatkan bahwa hasil pembelajaran jaringan dapat dipengaruhi oleh jumlah data yang digunakan dalam pelatihan.

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.

Intepretasi Hasil 4.6

Pengujian ketiga menggunakan pembagian data yang sama dengan skenario pertama, tetapi jumlah neuron pada lapisan tersembunyi ditingkatkan menjadi 20. Hasil klasifikasi menunjukkan bahwa 130 dari 137 data pengujian berhasil diprediksi dengan benar. Model memperoleh akurasi sebesar 94,89%, sensitivitas 88,64%, spesifisitas 97,85%, dan presisi 95,12%. Jika dibandingkan dengan penggunaan 10 neuron pada proporsi data yang sama, penambahan neuron menghasilkan spesifisitas dan presisi yang lebih tinggi, tetapi akurasi serta sensitivitas mengalami penurunan. Arsitektur jaringan berubah menjadi 9-20-1 dengan total 221 bobot, sehingga jumlah parameter yang harus dipelajari jaringan menjadi lebih banyak. Kondisi ini menunjukkan bahwa peningkatan jumlah neuron tidak selalu diikuti oleh peningkatan kemampuan klasifikasi. Berdasarkan metode Olden, Mitoses menjadi variabel dengan kontribusi positif tertinggi sebesar 5.335, diikuti Bl.cromatin sebesar 4.926 dan Epith.c.size sebesar 3.861. Adapun Marg.adhesion memberikan kontribusi negatif terbesar sebesar −1.959. Hasil tersebut menunjukkan adanya perubahan pola kontribusi prediktor ketika struktur jaringan dibuat lebih kompleks.

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.

Intepretasi Hasil 4.7

Pada skenario keempat, model menggunakan 410 data pelatihan dan 273 data pengujian dengan jumlah neuron tersembunyi sebanyak 20. Hasil confusion matrix memperlihatkan bahwa 179 data benign dan 75 data malignant berhasil diklasifikasikan secara benar. Sementara itu, terdapat 7 data benign yang diprediksi sebagai malignant dan 12 data malignant yang diprediksi sebagai benign. Berdasarkan hasil tersebut, diperoleh akurasi 93,04%, sensitivitas 86,21%, spesifisitas 96,24%, dan presisi 91,46%. Dibandingkan skenario kedua yang menggunakan 10 neuron, penambahan jumlah neuron menghasilkan peningkatan akurasi dan sensitivitas, meskipun peningkatannya relatif kecil. Struktur jaringan memiliki 221 bobot dengan susunan 9-20-1. Hasil perhitungan Olden menunjukkan bahwa Bare.nuclei mempunyai kontribusi positif terbesar sebesar 2.150, disusul Cell.size sebesar 2.128 dan Mitoses sebesar 1.653. Sebaliknya, Normal.nucleoli mempunyai kontribusi negatif sebesar −890. Hasil ini memperlihatkan bahwa peningkatan jumlah neuron dapat mengubah besarnya kontribusi masing-masing variabel dalam proses klasifikasi.

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.

Intepretasi Hasil 4.8

Skenario kelima menghasilkan performa klasifikasi paling tinggi dibandingkan skenario lainnya. Dari 137 data pengujian, sebanyak 134 data berhasil diklasifikasikan dengan benar, yang terdiri atas 92 data benign dan 42 data malignant. Kesalahan klasifikasi hanya ditemukan pada 3 pengamatan, yaitu 1 data benign yang diprediksi sebagai malignant dan 2 data malignant yang diprediksi sebagai benign. Hasil evaluasi menghasilkan akurasi sebesar 97,81%, sensitivitas 95,45%, spesifisitas 98,92%, dan presisi 97,67%. Model menggunakan arsitektur 9-30-1 dengan total 331 bobot jaringan. Hasil tersebut menunjukkan bahwa kombinasi proporsi pelatihan 80% dan 30 neuron tersembunyi mampu memberikan hasil klasifikasi yang sangat baik pada data pengujian. Berdasarkan analisis Olden, Marg.adhesion mempunyai kontribusi positif paling besar sebesar 641, kemudian diikuti Bare.nuclei sebesar 450 dan Cl.thickness sebesar 353. Sementara itu, Epith.c.size menunjukkan kontribusi negatif sebesar −176. Dengan demikian, konfigurasi ini memberikan hasil terbaik berdasarkan seluruh ukuran evaluasi yang digunakan, meskipun kinerjanya tetap perlu diuji menggunakan pembagian data lain untuk memastikan kestabilannya.

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.

Intepretasi Hasil 4.9

Pada skenario keenam, jumlah neuron tersembunyi ditingkatkan menjadi 30 dengan proporsi pelatihan sebesar 60% dan pengujian sebesar 40%. Hasil pengujian menunjukkan bahwa 258 dari 273 pengamatan berhasil diklasifikasikan dengan benar, sedangkan 15 pengamatan lainnya mengalami kesalahan prediksi. Model memperoleh akurasi sebesar 94,51%, sensitivitas 94,25%, spesifisitas 94,62%, dan presisi 89,13%. Nilai sensitivitas yang cukup tinggi menunjukkan bahwa sebagian besar data dengan kategori malignant dapat dikenali oleh model, yaitu sebanyak 82 dari 87 pengamatan. Namun, terdapat 10 data benign yang salah diprediksi sebagai malignant, sehingga nilai presisinya lebih rendah dibandingkan skenario lainnya. Jaringan yang terbentuk mempunyai susunan 9-30-1 dengan jumlah 331 bobot. Berdasarkan hasil metode Olden, Marg.adhesion memiliki kontribusi positif terbesar sebesar 498, diikuti Mitoses sebesar 424 dan Cl.thickness sebesar 248. Sementara itu, Cell.size dan Epith.c.size masing-masing mempunyai kontribusi negatif sebesar −53 dan −46. Hasil ini menunjukkan bahwa penggunaan 30 neuron pada pembagian data 60:40 mampu meningkatkan kemampuan mendeteksi kelas malignant, tetapi masih menghasilkan sejumlah kesalahan dalam mengenali kelas benign.

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

Intepretasi Hasil 4.10

Hasil perbandingan keenam skenario menunjukkan bahwa proporsi pembagian data dan jumlah neuron tersembunyi memberikan hasil klasifikasi yang berbeda. Pada pembagian data 80:20, akurasi yang diperoleh untuk 10, 20, dan 30 neuron masing-masing sebesar 96,35%, 94,89%, dan 97,81%. Sementara itu, pada pembagian data 60:40, akurasi masing-masing mencapai 92,67%, 93,04%, dan 94,51%. Hasil tersebut memperlihatkan bahwa penggunaan 80% data pelatihan memberikan akurasi lebih tinggi dibandingkan penggunaan 60% data pelatihan pada setiap konfigurasi neuron. Selain itu, penambahan jumlah neuron tidak selalu menghasilkan peningkatan akurasi secara berurutan karena performa jaringan juga dipengaruhi oleh proses pembelajaran dan kompleksitas model. Berdasarkan keseluruhan hasil evaluasi, Skenario 5 dengan proporsi training 80%, testing 20%, dan 30 hidden neuron merupakan konfigurasi terbaik. Model tersebut menghasilkan akurasi 97,81%, sensitivitas 95,45%, spesifisitas 98,92%, dan presisi 97,67%, dengan hanya tiga kesalahan klasifikasi. Sebaliknya, akurasi terendah diperoleh pada Skenario 2, yaitu sebesar 92,67%, dengan sensitivitas 83,91%. Oleh karena itu, konfigurasi Skenario 5 dapat dipilih sebagai model terbaik berdasarkan hasil pengujian yang dilakukan karena mampu memberikan ketepatan klasifikasi tertinggi sekaligus menghasilkan keseimbangan yang baik dalam mengenali kelas benign dan malignant.

BAB V KESIMPULAN DAN SARAN

5.1 Kesimpulan

Model Artificial Neural Network (ANN) dapat dipahami sebagai metode pembelajaran mesin yang meniru cara kerja jaringan saraf manusia dengan menghubungkan beberapa neuron untuk menghasilkan prediksi. Implementasi ANN menggunakan bahasa pemrograman R dilakukan dengan membangun jaringan saraf yang dapat digunakan untuk menyelesaikan permasalahan regresi maupun klasifikasi. Pada regresi, ANN digunakan untuk memprediksi nilai numerik, sedangkan pada klasifikasi digunakan untuk mengelompokkan data ke dalam kategori tertentu.

Evaluasi performa model ANN dilakukan dengan menggunakan metrik yang disesuaikan dengan jenis permasalahan. Pada kasus regresi, MSE digunakan untuk mengukur rata-rata kuadrat kesalahan prediksi, sedangkan MAPE menunjukkan rata-rata persentase kesalahan prediksi. Sementara itu, pada klasifikasi, akurasi digunakan untuk mengetahui proporsi prediksi yang benar dan presisi untuk mengukur ketepatan model dalam memprediksi suatu kelas. Melalui metrik tersebut, kinerja model ANN dapat dinilai dan konfigurasi model dengan hasil terbaik dapat ditentukan.

Berdasarkan hasil analisis, metode Artificial Neural Network (ANN) dapat diterapkan untuk melakukan klasifikasi data BreastCancer dengan menggunakan sembilan variabel prediktor dan satu variabel respon, yaitu Class. Hasil pengujian menunjukkan bahwa pembagian data dan jumlah neuron pada hidden layer menghasilkan tingkat akurasi yang berbeda-beda. Skenario terbaik diperoleh pada pembagian data 80:20 dengan 30 neuron, yang menghasilkan akurasi sebesar 97,81%, sensitivitas 95,45%, spesifisitas 98,92%, dan presisi 97,67%. Selain itu, analisis Olden menunjukkan bahwa setiap variabel memiliki kontribusi yang berbeda dalam proses klasifikasi. Dengan demikian, ANN mampu mengklasifikasikan data ke dalam kategori benign dan malignant dengan performa yang baik, meskipun pemilihan konfigurasi jaringan tetap perlu diperhatikan untuk memperoleh hasil klasifikasi yang optimal.

5.2 Saran

Penulis menyarankan agar ketepatan sintaks program R selalu diperhatikan untuk menghindari kesalahan dalam proses analisis. Penggunaan bahasa perlu disesuaikan dengan kaidah KBBI. Aturan penulisan huruf tebal juga perlu diperhatikan agar laporan tersusun secara sistematis, rapi, dan sesuai dengan kaidah penulisan ilmiah.

DAFTAR PUSTAKA

Beck, M. W. (2018). NeuralNetTools: Visualization and analysis tools for neural networks. Journal of Statistical Software, 85(11), 1–20. https://doi.org/10.18637/jss.v085.i11

Belman-López, C. E., Jiménez-García, J. A., & Vázquez-López, J. A. (2021). Comparative analysis of the prediction and classification accuracy of artificial neural networks with respect to traditional statistical methods. International Journal of Combinatorial Optimization Problems and Informatics, 12(2), 7–15.

Fransiska, H. (2026). Modul praktikum machine learning. Universitas Bengkulu.

Jiang, C., Jiang, C., Chen, D., & Hu, F. (2022). Densely connected neural networks for nonlinear regression. Entropy, 24(7), 876.

Leisch, F., & Dimitriadou, E. (2026). mlbench: Machine learning benchmark problems (R package version 2.1-7). CRAN. https://CRAN.R-project.org/package=mlbench

Madhiarasan, M., & Louzazni, M. (2022). Analysis of artificial neural network: Architecture, types, and forecasting applications. Journal of Electrical and Computer Engineering, 2022, Article 5416722.

Nicodemus, E. R. (2022). A methodology to assess and improve the physics consistency of an artificial neural network regression model for engineering applications. Advanced Modeling and Simulation in Engineering Sciences, 9, Article 11.

Rainio, O., Teuho, J., & Klén, R. (2024). Evaluation metrics and statistical tests for machine learning. Scientific Reports, 14, Article 6086.

Venables, W. N., & Ripley, B. D. (2002). Modern applied statistics with S (4th ed.). Springer.