Perkembangan teknologi informasi dan meningkatnya ketersediaan data mendorong penggunaan metode machine learning untuk menghasilkan prediksi yang akurat. Salah satu metode yang banyak digunakan adalah Artificial Neural Network (ANN) atau jaringan saraf tiruan. ANN merupakan metode pembelajaran mesin yang meniru cara kerja jaringan saraf manusia dalam mengenali pola melalui proses pembelajaran menggunakan bobot dan bias (Saragih & Huda, 2022).
ANN dapat diterapkan untuk menyelesaikan permasalahan regresi dan klasifikasi. Regresi digunakan untuk memprediksi nilai numerik atau kontinu, sedangkan klasifikasi digunakan untuk mengelompokkan data ke dalam kategori tertentu. Dalam proses pembelajarannya, ANN dapat menggunakan algoritma backpropagation untuk memperbarui bobot berdasarkan kesalahan prediksi Atmaja dkk., (2024).
Berdasarkan kemampuannya dalam mengenali pola dan mempelajari hubungan antarvariabel, ANN dapat digunakan sebagai metode untuk menyelesaikan berbagai permasalahan prediksi. Penerapan metode ini memungkinkan proses analisis dilakukan pada data dengan karakteristik yang berbeda, baik untuk memperkirakan nilai numerik maupun menentukan kategori suatu data (Ikhsan, Armansyah, dan Tamba, 2022). Oleh karena itu, praktikum ini dilakukan untuk memahami penerapan Artificial Neural Network pada regresi dan klasifikasi, mulai dari persiapan data, pembentukan arsitektur jaringan, proses pelatihan model, hingga evaluasi hasil prediksi menggunakan ukuran ketepatan yang sesuai.
Berdasarkan latar belakang tersebut, rumusan masalah dalam praktikum ini adalah sebagai berikut:
Tujuan yang ingin dicapai dalam praktikum ini adalah sebagai berikut:
Artificial Neural Network (ANN) atau jaringan saraf tiruan merupakan metode pembelajaran mesin yang terinspirasi dari sistem saraf biologis manusia. ANN bekerja dengan menghubungkan sejumlah neuron melalui bobot dan bias untuk mempelajari pola serta hubungan antarvariabel dalam data. Menurut Dasuki (2021), kemampuan jaringan saraf tiruan dalam melakukan pembelajaran dapat dimanfaatkan untuk menghasilkan prediksi berdasarkan informasi yang diberikan.
Arsitektur ANN terdiri atas tiga lapisan utama, yaitu input layer, hidden layer, dan output layer. Input layer berfungsi menerima data masukan, hidden layer melakukan pengolahan informasi melalui bobot dan fungsi aktivasi, sedangkan output layer menghasilkan keluaran berupa nilai prediksi atau hasil klasifikasi. Penentuan jumlah lapisan dan neuron menjadi salah satu bagian penting dalam pembentukan model ANN (Supriana dkk., 2025).
Fungsi aktivasi merupakan fungsi yang digunakan untuk menentukan keluaran neuron berdasarkan hasil penjumlahan input yang telah dikalikan dengan bobot dan ditambahkan bias. Fungsi aktivasi membantu jaringan mempelajari pola nonlinier dalam data. Beberapa fungsi aktivasi yang umum digunakan adalah sigmoid, tanh, dan ReLU (Lesmana, 2025).
Backpropagation merupakan algoritma pembelajaran pada ANN yang digunakan untuk menyesuaikan bobot jaringan berdasarkan kesalahan prediksi. Pada ANN regresi, proses pembelajaran bertujuan meminimalkan selisih antara nilai aktual dan nilai prediksi, misalnya menggunakan Mean Squared Error (MSE). Secara umum, proses ppembelajaran terdiri atas tiga tahap berikut (Fransiska, 2026):
Regresi merupakan metode yang digunakan untuk memprediksi nilai numerik berdasarkan satu atau lebih variabel prediktor. Pada ANN, regresi dilakukan dengan mempelajari pola hubungan antara variabel input dan output melalui proses pelatihan jaringan. Evaluasi model regresi dapat menggunakan beberapa ukuran berikut (Supriana dkk., 2025):
Klasifikasi merupakan metode yang digunakan untuk mengelompokkan data ke dalam kelas tertentu berdasarkan karakteristik variabel prediktor. Pada ANN, proses klasifikasi dilakukan dengan mempelajari pola dari data latih sehingga model mampu menentukan kelas pada data pengujian. Evaluasi model klasifikasi dapat menggunakan confusion matrix yang terdiri atas empat komponen yaitu, True Positive (TP), True Negative (TN), False Positive (FP), dan False Negative (FN). Beberapa ukuran evaluasi klasifikasi adalah sebagai berikut (Putri dan Suwanda, 2023):
Jenis data yang digunakan dalam praktikum ini adalah data kategorik. Data kategorik adalah tipe data yang merepresentasikan karakteristik atau atribut dari objek yang diklasifikasikan ke dalam kategori tertentu. Sumber data yang digunakan merupakan data sekunder, yaitu data yang telah tersedia dan diperoleh melalui sumber yang sudah ada. Data yang digunakan adalah dataset iris pada program R.
Variabel penelitian adalah segala sesuatu yang menjadi objek pengamatan dalam suatu penelitian. Variabel penelitian yang digunakan berasal dari dataset iris dengan jumlah 150 observasi dan 5 variabel. Variabel Petal.Width digunakan sebagai variabel respons, sedangkan empat variabel prediktor yang digunakan adalah Sepal.Length, Sepal.Width, Petal.Length, dan Species. Variabel Species terdiri dari tiga kategori, yaitu setosa, versicolor, dan virginica.
Berikut langkah-langkah analisis data pada penelitian ini:
Library yang digunakan pada praktikum ini adalah nnet, dan NeuralNetTools. data yang digunakan adalah menyediakan dataset iris yang digunakan dalam analisis AAN Regresi.
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5.0 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
## Sepal.Length Sepal.Width Petal.Length Petal.Width
## Min. :4.300 Min. :2.000 Min. :1.000 Min. :0.100
## 1st Qu.:5.100 1st Qu.:2.800 1st Qu.:1.600 1st Qu.:0.300
## Median :5.800 Median :3.000 Median :4.350 Median :1.300
## Mean :5.843 Mean :3.057 Mean :3.758 Mean :1.199
## 3rd Qu.:6.400 3rd Qu.:3.300 3rd Qu.:5.100 3rd Qu.:1.800
## Max. :7.900 Max. :4.400 Max. :6.900 Max. :2.500
## Species
## setosa :50
## versicolor:50
## virginica :50
##
##
##
Berdasarkan output summary(iris), variabel sepal.length memiliki nilai minimum 4,3, maksimum 7,9, rata-rata 5,843, dan median 5,8. Variabel Sepal.Width memiliki nilai minimum 2,0, maksimum 4,4, rata-rata 3,057, dan median 3,0. Selanjutnya, variabel Petal.Length memiliki nilai minimum 1,0, maksimum 6,9, rata-rata 3,758, dan median 4,35. Variabel petal.width memiliki nilai minimum 0,1, maksimum 2,5, rata-rata 1,199, dan median 1,3. Sementara itu, variabel species terdiri dari tiga jenis bunga, yaitu setosa, versicolor, dan virginica, dengan masing-masing sebanyak 50 observasi.
set.seed(918)
index <- sample(1:nrow(iris), round(0.8 * nrow(iris)))
# Membentuk data *training* dan *testing*
train <- iris[index, ]
test <- iris[-index, ]
nrow(train)## [1] 120
## [1] 30
i <- names(train)
form <- as.formula(
paste("Petal.Width ~",
paste(i[!i %in% "Petal.Width"],
collapse = " + "))
)
form## Petal.Width ~ Sepal.Length + Sepal.Width + Petal.Length + Species
Berdasarkan hasil pembagian data menggunakan set.seed(918), diperoleh 120 observasi (80%) sebagai data training dan 30 observasi (20%) sebagai data testing. Data training digunakan untuk membangun dan melatih model ANN, sedangkan data testing digunakan untuk mengevaluasi kemampuan prediksi model. Selanjutnya, formula yang terbentuk menunjukkan bahwa Petal.Width ditetapkan sebagai variabel respons, sedangkan Sepal.Length, Sepal.Width, Petal.Length, dan Species digunakan sebagai variabel prediktor dalam pemodelan ANN regresi.
# Menentukan kombinasi parameter
hidden <- c(10, 20, 30)
max_iter <- c(250, 500)
# Menyiapkan penyimpanan model
hasil_model <- list()
# Melakukan pemodelan berdasarkan kombinasi parameter
for (h in hidden) {
for (m in max_iter) {
nama <- paste0("Neuron_", h, "_Maxit_", m)
hasil_model[[nama]] <- nnet.formula(
form,
size = h,
data = train,
linout = TRUE,
maxit = m,
trace = FALSE
)
}
}
names(hasil_model)## [1] "Neuron_10_Maxit_250" "Neuron_10_Maxit_500" "Neuron_20_Maxit_250"
## [4] "Neuron_20_Maxit_500" "Neuron_30_Maxit_250" "Neuron_30_Maxit_500"
## $Neuron_10_Maxit_250
## a 5-10-1 network with 71 weights
## inputs: Sepal.Length Sepal.Width Petal.Length Speciesversicolor Speciesvirginica
## output(s): Petal.Width
## options were - linear output units
##
## $Neuron_10_Maxit_500
## a 5-10-1 network with 71 weights
## inputs: Sepal.Length Sepal.Width Petal.Length Speciesversicolor Speciesvirginica
## output(s): Petal.Width
## options were - linear output units
##
## $Neuron_20_Maxit_250
## a 5-20-1 network with 141 weights
## inputs: Sepal.Length Sepal.Width Petal.Length Speciesversicolor Speciesvirginica
## output(s): Petal.Width
## options were - linear output units
##
## $Neuron_20_Maxit_500
## a 5-20-1 network with 141 weights
## inputs: Sepal.Length Sepal.Width Petal.Length Speciesversicolor Speciesvirginica
## output(s): Petal.Width
## options were - linear output units
##
## $Neuron_30_Maxit_250
## a 5-30-1 network with 211 weights
## inputs: Sepal.Length Sepal.Width Petal.Length Speciesversicolor Speciesvirginica
## output(s): Petal.Width
## options were - linear output units
##
## $Neuron_30_Maxit_500
## a 5-30-1 network with 211 weights
## inputs: Sepal.Length Sepal.Width Petal.Length Speciesversicolor Speciesvirginica
## output(s): Petal.Width
## options were - linear output units
Berdasarkan hasil pemodelan, terbentuk enam model ANN dengan kombinasi 10, 20, dan 30 hidden neuron serta maxit 250 dan 500. Setiap model menggunakan 5 input, yaitu tiga variabel numerik dan dua variabel dummy dari Species, serta satu output, yaitu Petal.Width. Model dengan 10 hidden neuron memiliki 71 bobot, 20 hidden neuron memiliki 141 bobot, dan 30 hidden neuron memiliki 211 bobot. Seluruh model menggunakan output linear karena bertujuan memprediksi nilai numerik kontinu.
# Menyiapkan penyimpanan hasil prediksi
hasil_prediksi <- data.frame(
Aktual = test$Petal.Width
)
# Melakukan prediksi menggunakan seluruh model
for (nama in names(hasil_model)) {
model <- hasil_model[[nama]]
prediksi <- predict(
model,
newdata = test,
type = "raw"
)
hasil_prediksi[[nama]] <- as.numeric(prediksi)
}
# Menampilkan hasil prediksi
hasil_prediksi## Aktual Neuron_10_Maxit_250 Neuron_10_Maxit_500 Neuron_20_Maxit_250
## 1 0.2 0.2084812 0.2442119 0.2370158
## 2 0.2 0.1653693 0.2160458 0.2130506
## 3 0.2 0.2513020 0.2511167 0.2382813
## 4 0.1 0.1597906 0.1703343 0.2882511
## 5 0.4 0.3043029 0.2229785 0.3243759
## 6 0.3 0.3415432 0.3451777 0.3698021
## 7 0.2 0.2307574 0.2691911 0.2459254
## 8 0.2 0.4235147 0.2543505 0.3422264
## 9 0.1 0.3214676 0.2459772 0.2794592
## 10 0.3 0.4097277 -0.5088021 0.4207246
## 11 1.5 1.8068383 1.7960057 1.8919110
## 12 1.4 1.6817579 1.6066902 1.5244260
## 13 1.5 1.4076033 1.3612699 1.3570103
## 14 1.4 1.4405313 1.3995727 1.4661363
## 15 1.2 1.1714711 1.1442030 1.0990959
## 16 1.3 1.2795289 1.2622887 1.3110630
## 17 1.3 1.3320399 1.2020958 1.2286234
## 18 1.3 1.2949772 1.2947969 1.2527122
## 19 1.7 4.6661697 1.4861221 1.3624089
## 20 1.8 1.8431765 2.0066935 1.9774713
## 21 1.8 1.5509005 1.7848771 1.7976944
## 22 2.2 2.1184661 1.9293971 3.1905414
## 23 1.5 1.6945055 1.6734067 1.2718416
## 24 1.9 2.0014782 2.0958036 2.1629547
## 25 2.0 2.0518531 1.8826946 2.5193225
## 26 2.4 2.3654191 2.1988832 2.7303157
## 27 1.8 1.8744896 1.8137210 1.7020830
## 28 2.3 2.2979926 2.2653317 2.1322697
## 29 1.9 1.7250819 1.6949793 1.3890447
## 30 2.3 2.3346010 2.0085618 2.3966073
## Neuron_20_Maxit_500 Neuron_30_Maxit_250 Neuron_30_Maxit_500
## 1 0.2623098 0.2274376 0.26541341
## 2 0.2253691 0.2532872 0.17234962
## 3 0.2215385 0.2630279 0.19883531
## 4 0.1838760 0.3652026 0.01970593
## 5 0.2276231 0.2225126 0.38351390
## 6 0.3113670 0.5196102 0.29992655
## 7 0.2778624 0.2319404 0.27488091
## 8 0.2711058 0.2824842 0.40608352
## 9 0.2571350 0.2705725 0.22818846
## 10 -0.4604729 0.1625750 -0.22661701
## 11 1.4624112 1.8359823 0.91641575
## 12 1.3716383 1.6832673 1.26262302
## 13 1.4943156 1.4895643 1.72849548
## 14 1.4182085 1.4088224 1.40546535
## 15 1.1974154 1.2023342 1.01778699
## 16 1.2497202 1.1731117 1.68219941
## 17 1.3356857 1.4091751 1.55484738
## 18 1.2686540 1.2313421 1.09701802
## 19 3.1135819 4.2192277 7.74485039
## 20 2.5997364 1.8949219 2.04870746
## 21 3.9252789 1.7364444 1.75162953
## 22 2.2079124 1.9220933 1.86347581
## 23 1.7433388 1.8223377 1.48664317
## 24 1.7526574 2.0358384 2.05343274
## 25 0.7338000 1.8343059 2.07847455
## 26 3.3269445 2.3146446 2.12648383
## 27 1.6592080 1.8794733 1.57314945
## 28 2.7261939 2.3078065 2.31973341
## 29 1.9651659 1.7957970 1.50896224
## 30 2.5489682 2.2081800 2.32855839
Berdasarkan hasil prediksi terhadap 30 observasi data testing, diperoleh enam model ANN dengan kombinasi jumlah hidden neuron sebanyak 10, 20, dan 30 serta maxit sebesar 250 dan 500. Hasil prediksi menunjukkan bahwa nilai yang dihasilkan setiap model berbeda-beda dibandingkan nilai aktual Petal.Width. Sebagian prediksi mendekati nilai aktual, seperti pada observasi pertama dengan nilai aktual 0,2 dan hasil prediksi berkisar antara 0,2085 hingga 0,2654. Namun, terdapat pula prediksi yang memiliki selisih cukup besar, seperti pada observasi kesembilan belas dengan nilai aktual 1,7, sedangkan hasil prediksi berkisar antara 1,3624 hingga 7,7449. Selain itu, beberapa model menghasilkan prediksi negatif, meskipun nilai aktual Petal.Width tidak negatif. Hal ini menunjukkan bahwa perubahan jumlah hidden neuron dan maxit menghasilkan perbedaan kemampuan prediksi pada setiap model.
# Menyiapkan penyimpanan nilai evaluasi
hasil_evaluasi <- data.frame()
# Menghitung MAE dan RMSE setiap model
for (nama in names(hasil_model)) {
prediksi <- hasil_prediksi[[nama]]
error <- hasil_prediksi$Aktual - prediksi
mae <- mean(abs(error))
rmse <- sqrt(mean(error^2))
hasil_evaluasi <- rbind(
hasil_evaluasi,
data.frame(
Model = nama,
MAE = mae,
RMSE = rmse
)
)
}
# Menampilkan tabel evaluasi
hasil_evaluasi## Model MAE RMSE
## 1 Neuron_10_Maxit_250 0.1897637 0.5560109
## 2 Neuron_10_Maxit_500 0.1419825 0.2084061
## 3 Neuron_20_Maxit_250 0.1862775 0.2747399
## 4 Neuron_20_Maxit_500 0.3154869 0.5952350
## 5 Neuron_30_Maxit_250 0.2040726 0.4850784
## 6 Neuron_30_Maxit_500 0.3655810 1.1266267
Berdasarkan hasil evaluasi, diperoleh nilai MAE dan RMSE yang berbeda pada setiap kombinasi parameter. Model dengan 10 hidden neuron dan maxit 250 menghasilkan MAE sebesar 0,1898 dan RMSE sebesar 0,5560. Model dengan 10 hidden neuron dan maxit 500 menghasilkan MAE sebesar 0,1420 dan RMSE sebesar 0,2084. Model dengan 20 hidden neuron dan maxit 250 menghasilkan MAE sebesar 0,1863 dan RMSE sebesar 0,2747, sedangkan pada maxit 500 menghasilkan MAE sebesar 0,3155 dan RMSE sebesar 0,5952. Selanjutnya, model dengan 30 hidden neuron dan maxit 250 menghasilkan MAE sebesar 0,2041 dan RMSE sebesar 0,4851, sedangkan pada maxit 500 menghasilkan MAE sebesar 0,3656 dan RMSE sebesar 1,1266.
# Mengurutkan model berdasarkan RMSE terkecil
hasil_evaluasi <- hasil_evaluasi[
order(hasil_evaluasi$RMSE),
]
# Menampilkan hasil pengurutan
hasil_evaluasi## Model MAE RMSE
## 2 Neuron_10_Maxit_500 0.1419825 0.2084061
## 3 Neuron_20_Maxit_250 0.1862775 0.2747399
## 5 Neuron_30_Maxit_250 0.2040726 0.4850784
## 1 Neuron_10_Maxit_250 0.1897637 0.5560109
## 4 Neuron_20_Maxit_500 0.3154869 0.5952350
## 6 Neuron_30_Maxit_500 0.3655810 1.1266267
# Menentukan model terbaik
model_terbaik <- hasil_evaluasi$Model[1]
# Menampilkan nama model terbaik
model_terbaik## [1] "Neuron_10_Maxit_500"
Berdasarkan hasil tersebut, model dengan 10 hidden neuron dan maxit 500 merupakan model terbaik, karena menghasilkan nilai MAE terkecil sebesar 0,1420 dan RMSE terkecil sebesar 0,2084. Hal ini menunjukkan bahwa model tersebut memiliki tingkat kesalahan prediksi paling rendah dibandingkan kelima model lainnya dalam memprediksi nilai Petal.Width pada data testing.
Berdasarkan hasil visualisasi jaringan saraf, model ANN terbaik memiliki struktur 5-10-1, yaitu terdiri dari 5 neuron input, 10 neuron pada hidden layer, dan 1 neuron output. Lima neuron input berasal dari variabel Sepal.Length, Sepal.Width, Petal.Length, Speciesversicolor, dan Speciesvirginica, sedangkan neuron output menghasilkan prediksi Petal.Width. Selain itu, terdapat bias pada lapisan tersembunyi (B1) dan lapisan output (B2) yang membantu proses pembelajaran jaringan.
## $struct
## [1] 5 10 1
##
## $wts
## $wts$`hidden 1 1`
## [1] -19.8073684 11.8565906 -13.2294639 -0.8785283 -6.4813272 -13.4218448
##
## $wts$`hidden 1 2`
## [1] 28.586368 -10.567471 11.273978 -3.415771 13.589054 25.155061
##
## $wts$`hidden 1 3`
## [1] -13.009757 6.579847 -8.313100 1.632478 -7.459525 -14.026935
##
## $wts$`hidden 1 4`
## [1] 6.152936 -7.857481 -11.754735 14.826971 14.679275 -9.218191
##
## $wts$`hidden 1 5`
## [1] 3.9837638 2.0589259 -9.9060048 0.3026675 3.0762202 0.2990468
##
## $wts$`hidden 1 6`
## [1] 0.3968412 -1.4720140 -1.0268484 -0.5856492 0.1734303 -0.5146272
##
## $wts$`hidden 1 7`
## [1] -5.3884506 0.4349884 -0.8126814 0.5952758 3.6491563 2.9547711
##
## $wts$`hidden 1 8`
## [1] -6.2609260 -0.1038894 0.2363819 2.8388443 -0.7402586 1.1543386
##
## $wts$`hidden 1 9`
## [1] 0.09802547 -6.71572662 15.92124558 1.82164585 -1.70500753 6.80172068
##
## $wts$`hidden 1 10`
## [1] 15.888410 -10.398585 4.835074 8.028692 12.366291 3.236944
##
## $wts$`out 1`
## [1] -0.7342717 1.3665621 -2.6284306 -5.3450907 -0.2463549 4.5789814
## [7] -0.1292734 6.2134073 0.9516348 3.4665698 -3.2016362
Berdasarkan hasil neuralweights(nn_terbaik), bobot bias pada lapisan output sebesar -0,7343, sedangkan bobot koneksi dari neuron H1 hingga H10 secara berurutan adalah 1,3666, -2,6284, -5,3451, -0,2464, 4,5790, -0,1293, 6,2134, 0,9516, 3,4666, dan -3,2016. Sementara itu, bobot pada lapisan tersembunyi juga memiliki nilai yang bervariasi, misalnya neuron H1 memiliki bobot -19,8074, 11,8566, -13,2295, -0,8785, -6,4813, dan -13,4218, sedangkan neuron H10 memiliki bobot 15,8884, -10,3986, 4,8351, 8,0287, 12,3663, dan 3,2369. Nilai bobot positif dan negatif menunjukkan arah kontribusi masing-masing koneksi dalam proses perhitungan jaringan.
## Warning: `label` cannot be a <ggplot2::element_blank> object.
Berdasarkan grafik tingkat kepentingan variabel menggunakan metode Olden, diketahui bahwa Sepal.Length memiliki nilai kepentingan tertinggi sebesar 32,9, diikuti Speciesvirginica sebesar 26,9. Sementara itu, Sepal.Width memiliki nilai sebesar -10,7, Petal.Length sebesar -16,2, dan Speciesversicolor sebesar -18,0. Nilai kepentingan positif menunjukkan kontribusi variabel yang searah terhadap hasil prediksi, sedangkan nilai negatif menunjukkan kontribusi yang berlawanan arah. Dengan demikian, Sepal.Length merupakan variabel yang memiliki kepentingan paling besar dalam model ANN, sedangkan Speciesversicolor memiliki nilai kepentingan paling rendah. Hasil ini menunjukkan bahwa setiap variabel prediktor memberikan kontribusi yang berbeda dalam memprediksi nilai Petal.Width.
Artificial Neural Network (ANN) merupakan metode pembelajaran mesin yang terinspirasi dari sistem saraf biologis manusia dan bekerja dengan menghubungkan neuron melalui bobot, bias, serta fungsi aktivasi untuk mempelajari pola hubungan antarvariabel. ANN memiliki tiga lapisan utama, yaitu input layer, hidden layer, dan output layer. Proses pembelajarannya dapat dilakukan menggunakan algoritma backpropagation yang terdiri atas forward propagation, backward propagation, dan pembaruan bobot untuk meminimalkan kesalahan prediksi. Fungsi aktivasi seperti sigmoid, tanh, dan ReLU digunakan untuk membantu jaringan dalam mengenali pola data, termasuk pola nonlinier.
Penerapan ANN dapat digunakan untuk menyelesaikan permasalahan regresi maupun klasifikasi. Pada regresi, ANN digunakan untuk memprediksi nilai numerik dengan mengevaluasi ketepatan hasil prediksi menggunakan MSE dan RMSE. Sementara itu, pada klasifikasi, ANN digunakan untuk mengelompokkan data ke dalam kelas tertentu dengan mengevaluasi kinerja model melalui confusion matrix, accuracy, precision, recall, dan F1-score. Dengan demikian, ANN dapat menjadi salah satu metode dalam pemodelan prediksi dan klasifikasi karena kemampuannya mempelajari pola data berdasarkan proses pelatihan jaringan.
Berdasarkan hasil ANN regresi menggunakan dataset iris, diperoleh model dengan Petal.Width sebagai variabel respons dan Sepal.Length, Sepal.Width, Petal.Length, serta Species sebagai variabel prediktor. Data dibagi menjadi 80% data training sebanyak 120 observasi dan 20% data testing sebanyak 30 observasi. Pemodelan dilakukan menggunakan enam kombinasi jumlah hidden neuron yaitu 10, 20, dan 30 serta maxit yaitu 250 dan 500. Berdasarkan evaluasi MAE dan RMSE, model terbaik diperoleh pada 10 hidden neuron dan maxit 500 dengan nilai MAE sebesar 0,1420 dan RMSE sebesar 0,2084, yang menunjukkan tingkat kesalahan prediksi paling rendah dibandingkan model lainnya. Model terbaik memiliki struktur jaringan 5-10-1 dengan 71 bobot pada lapisan input dan tersembunyi serta output. Dengan demikian, kombinasi 10 hidden neuron dan maxit 500 memberikan kinerja prediksi terbaik dalam memodelkan nilai Petal.Width pada data testing dibandingkan lima kombinasi parameter lainnya.
Atmaja, B. A., Gultom, G. S., Manurung, J. H., & P., V. A. E. (2024). Penerapan metode backpropagation dalam jaringan saraf tiruan untuk meningkatkan prediksi produksi kentang di Sumatera. INSOLOGI: Jurnal Sains dan Teknologi, 3(6), 674–683.
Dasuki, M. (2021). Optimasi nilai bobot algoritma Backpropagation Neural Network dengan algoritma genetika. JUSTINDO (Jurnal Sistem dan Teknologi Informasi Indonesia), 6(1), 38-44.
Fransiska, H. (2026). Modul Praktikum Machine Learning and Modern Prediction. Laboratorium Matematika Universitas Bengkulu.
Ikhsan, M., Armansyah, & Tamba, A. A. (2022). Implementasi jaringan syaraf tiruan backpropagation pada klasifikasi grade teh hitam. Jurnal Sistem Komputer dan Informatika (JSON), 4(2), 387–395.
Lesmana, D. (2025). Pengaplikasian deep learning dengan desain arsitektur JST untuk tugas regresi dan klasifikasi. Elektronika Sistem Senjata, 6(1), 1-17.
Putri, L. A., & Suwanda. (2023). Implementasi metode Artificial Neural Network (ANN) algoritma Backpropagation untuk klasifikasi kualitas udara di Provinsi DKI Jakarta Tahun 2021. Bandung Conference Series: Statistics, 3(2), 184-191.
Saragih, T. H., & Huda, N. (2022). Jaringan syaraf tiruan backpropagation dengan adaptive moment estimation untuk klasifikasi penyakit COVID-19 di Kalimantan Selatan. EPSILON: Jurnal Matematika Murni dan Terapan, 16(2), 162-172.
Supriana, I. W., Prana, G. D. W., Prana, G. D. W., & Jayadita, I., K. A. (2025). Implementasi Artificial Neural Network menggunakan Backpropagation pada prediksi Indeks Pembangunan Manusia. JELIKU (Jurnal Elektronik Ilmu Komputer Udayana), 13(4), 875–882.