BAB I PENDAHULUAN

1.1 Latar Belakang

Perkembangan teknologi informasi menyebabkan jumlah data yang tersedia semakin meningkat sehingga diperlukan metode analisis yang mampu mengolah data dan menghasilkan prediksi secara tepat. Salah satu pendekatan yang dapat digunakan adalah Artificial Neural Network (ANN), yaitu model yang mengikuti cara kerja jaringan saraf biologis untuk mempelajari pola dan hubungan dalam data melalui neuron-neuron yang saling terhubung. Regresi linear berganda dengan metode ordinary least square (OLS) memerlukan asumsi klasik yang sering tidak terpenuhi pada data. ANN dapat menjadi alternatif karena tidak memerlukan asumsi tertentu mengenai bentuk data (Aryanti, 2023).

ANN banyak digunakan untuk memprediksi variabel respons numerik (regresi) dan umumnya dilatih dengan algoritma backpropagation, yang terdiri atas tahap perambatan maju dan perambatan mundur untuk memperbarui bobot jaringan. Kinerja ANN dipengaruhi oleh konfigurasi jaringan, seperti jumlah hidden neuron dan jumlah iterasi pelatihan. Jumlah hidden neuron yang terlalu banyak, terutama pada data berukuran kecil, dapat menyebabkan overfitting, yaitu model terlalu menyesuaikan diri dengan data training sehingga kurang baik pada data testing. Model dengan neuron yang terlalu sedikit dapat mengalami underfitting, sehingga jumlah neuron perlu dipilih dengan membandingkan beberapa konfigurasi (Senin dkk., 2026).

ANN dengan algoritma backpropagation juga dapat digunakan untuk klasifikasi, misalnya memprediksi kategori jurusan peminatan mahasiswa. Evaluasi pada klasifikasi dilakukan menggunakan confusion matrix yang menghasilkan akurasi, presisi, recall, dan specificity, sedangkan pada regresi digunakan ukuran kesalahan prediksi seperti MSE, MAE, dan RMSE. Perbedaan jumlah neuron pada hidden layer juga menghasilkan akurasi yang berbeda (Raihan dkk., 2024).

1.2 Rumusan Masalah

Berdasarkan latar belakang tersebut, rumusan masalah pada penelitian ini adalah sebagai berikut.

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

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

1.3 Tujuan

Berdasarkan rumusan masalah, tujuan pada penelitian ini adalah sebagai berikut:

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

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

BAB II TINJAUAN PUSTAKA

2.1 Artificial Neural Network (ANN)

Artificial Neural Network (ANN) atau jaringan saraf tiruan merupakan model komputasi yang meniru cara kerja jaringan saraf biologis, yaitu mempelajari pola dan hubungan dalam data melalui sejumlah neuron yang saling terhubung. ANN terdiri atas lapisan masukan (input layer), lapisan tersembunyi (hidden layer), dan lapisan keluaran (output layer), dengan setiap lapisan memuat satu atau lebih neuron yang memiliki bobot dan bias tertentu. ANN tidak memerlukan asumsi tertentu mengenai bentuk data, sehingga dapat menjadi alternatif regresi linear berganda dengan metode ordinary least square (OLS) ketika asumsi klasik tidak terpenuhi (Aryanti, 2023).

ANN memiliki tiga komponen utama, yaitu arsitektur jaringan yang menggambarkan pola hubungan antarneuron, algoritma pembelajaran yang menyesuaikan bobot jaringan, serta fungsi aktivasi yang menentukan keluaran setiap neuron. Setiap neuron menerima masukan yang dikalikan dengan bobot, ditambah bias, lalu diproses melalui fungsi aktivasi. Secara matematis, proses ini dinyatakan sebagai berikut (Supriyanto dkk., 2022):

\[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 Arsitektur Jaringan ANN

Arsitektur ANN dapat dibedakan menjadi Single Layer Perceptron (SLP) dan Multi-Layer Perceptron (MLP) (Supriyanto dkk., 2022).

Arsitektur Fungsi
Single Layer Perceptron (SLP) Jaringan tanpa lapisan tersembunyi yang digunakan untuk mempelajari hubungan linear dan menyelesaikan klasifikasi yang dapat dipisahkan secara linear.
Multi-Layer Perceptron (MLP) Jaringan dengan satu atau lebih lapisan tersembunyi yang mampu mempelajari hubungan nonlinear untuk pemodelan regresi dan klasifikasi.

2.3 ANN Regresi

ANN regresi digunakan untuk memprediksi variabel respons berupa nilai numerik kontinu. Lapisan keluaran umumnya menggunakan fungsi aktivasi linear agar jaringan dapat menghasilkan nilai prediksi sesuai dengan rentang variabel respons. Proses pembelajarannya bertujuan meminimalkan selisih antara nilai aktual dan nilai prediksi (Fransiska, 2026).

Backpropagation merupakan algoritma pembelajaran pada ANN yang digunakan untuk menyesuaikan bobot jaringan berdasarkan kesalahan prediksi. Secara umum, proses pembelajaran terdiri atas tiga tahap berikut (Senin dkk., 2026):

  1. Forward propagation, yaitu menghitung keluaran jaringan berdasarkan masukan, bobot, dan fungsi aktivasi.

  2. Backward propagation, yaitu menghitung gradien kesalahan terhadap bobot jaringan.

  3. Pembaruan bobot, yaitu memperbarui bobot berdasarkan gradien untuk mengurangi kesalahan prediksi.

Pembaruan bobot menggunakan gradient descent dapat dituliskan sebagai berikut(Aryanti, 2023):

\[w_{ij}^{(t+1)} = w_{ij}^{(t)} - \eta \frac{\partial L}{\partial w_{ij}}\]

dengan \(\eta\) adalah laju pembelajaran (learning rate) dan \(L\) adalah fungsi kerugian. Seiring bertambahnya iterasi, kesalahan pada data training menurun secara bertahap. Proses ini diulang sampai kondisi berhenti terpenuhi, yaitu jumlah iterasi maksimum tercapai atau kesalahan telah mencapai target.

Fungsi aktivasi digunakan untuk menentukan keluaran neuron dan membantu jaringan mempelajari pola nonlinear. Beberapa fungsi aktivasi yang dapat digunakan dalam ANN regresi disajikan pada tabel berikut (Fransiska, 2026):

Fungsi Rumus Karakteristik
Sigmoid \(f(z)=\dfrac{1}{1+e^{-z}}\) Keluaran bernilai 0 sampai 1 dengan \(f'(z)=f(z)[1-f(z)]\). Umum digunakan pada hidden layer
Hyperbolic tangent (Tanh) \(f(z)=\dfrac{1-e^{-2z}}{1+e^{-2z}}=\tanh(z)\) Keluaran bernilai -1 sampai 1 dengan \(f'(z)=1-\tanh^2(z)\).
Rectified Linear Unit (ReLU) \(f(z)=\max(0,z)\) Membantu mengatasi nonlinearitas dan mengurangi masalah vanishing gradient
Linear \(f(z)=z\) Digunakan pada output layer untuk regresi.

Evaluasi ANN regresi dilakukan dengan membandingkan nilai aktual dan nilai prediksi. Ukuran yang umum digunakan adalah Mean Squared Error (MSE), Root Mean Squared Error (RMSE), MAE, dan koefisien determinasi (\(R^2\)). Secara matematis, rumus dapat dituliskan sebagai berikut (Fransiska, 2026):

\[MSE = \frac{1}{n}\sum_{i=1}^{n}(y_i - \hat{y}_i)^2\]

\[RMSE = \sqrt{MSE}\]

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

\[R^2 = 1 - \frac{\sum_{i=1}^{n}(y_i - \hat{y}_i)^2}{\sum_{i=1}^{n}(y_i - \bar{y})^2}\]

2.4 ANN Klasifikasi

ANN klasifikasi digunakan untuk memprediksi variabel respons berupa kategori. Pada klasifikasi biner, lapisan keluaran umumnya memakai satu neuron dengan fungsi sigmoid untuk menghasilkan probabilitas antara 0 dan 1. Pada klasifikasi multikelas, lapisan keluaran umumnya memakai fungsi softmax yang menghasilkan probabilitas tiap kelas dengan jumlah seluruh probabilitas sama dengan 1 (Raihan dkk., 2024):

\[\hat{y}_k = \frac{e^{z_k}}{\sum_{j=1}^{K} e^{z_j}}\]

Pembelajaran dilakukan dengan meminimalkan fungsi kerugian cross-entropy. Pada klasifikasi biner digunakan binary cross-entropy, sedangkan multikelas digunakan categorical cross-entropy (Raihan dkk., 2024):

\[BCE = -\frac{1}{n}\sum_{i=1}^{n}\left[y_i \ln(\hat{p}_i) + (1-y_i)\ln(1-\hat{p}_i)\right]\]

\[CCE = -\frac{1}{n}\sum_{i=1}^{n}\sum_{k=1}^{K} y_{ik}\ln(\hat{y}_{ik})\]

Evaluasi ANN klasifikasi menggunakan confusion matrix (Raihan dkk., 2024):

Prediksi Positif Prediksi Negatif
Aktual Positif True Positive (TP) False Negative (FN)
Aktual Negatif False Positive (FP) True Negative (TN)

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

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

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

\[Specificity = \frac{TN}{TN + FP}\]

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

BAB III METODE PENELITIAN

3.1 Sumber Data

Jenis data yang digunakan dalam praktikum ini adalah data kuantitatif, yaitu data berbentuk angka yang dapat diolah dan dianalisis secara statistik. Data yang digunakan merupakan data sekunder, yaitu dataset iris yang tersedia pada Program R. Variabel respon yang digunakan pada penelitian ini adalah Petal.Width, sedangkan variabel prediktor yaitu Sepal.Length, Sepal.Width, Petal.Length, dan Petal.Width.

3.2 Variabel Penelitian

Variabel penelitian adalah segala sesuatu yang menjadi objek pengamatan dalam suatu penelitian. Dataset iris terdiri atas 150 observasi dan 5 variabel. Berikut variabel yang digunakan dalam penelitian:

No Variabel Keterangan Skala
1 Petal.Width Lebar kelopak bunga (respon) Numerik (cm)
2 Sepal.Length Panjang kelopak penutup (sepal) Numerik (cm)
3 Sepal.Width Lebar kelopak penutup (sepal) Numerik (cm)
4 Petal.Length Panjang kelopak bunga (petal) Numerik (cm)
5 Species Spesies bunga: setosa, versicolor, virginica Kategorik

3.3 Analisis Data

Berikut adalah analisis data pada penelitian:

  1. Input data iris dan package yang diperlukan.

  2. Eksplorasi data.

  3. Pembagian data training (80%) dan testing (20%).

  4. Pembentukan model ANN regresi.

  5. Prediksi data testing.

  6. Evaluasi model (MAE dan RMSE).

  7. Pemilihan model terbaik berdasarkan RMSE terkecil.

  8. Visualisasi pada model terbaik.

  9. Interpretasi hasil dan penarikan kesimpulan.

3.4 Diagram Alir Penelitian

Berdasarkan analisis data, diagram alir yang digunakan adalah sebagai berikut:

Gambar 1. Diagram alir penelitian

4.1 Input Data dan Eksplorasi Data

library(nnet)
library(NeuralNetTools)
library(knitr)
data(iris)
head(iris)
##   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
summary(iris)
##   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 hasil summary data, diperoleh hasil statistik deskriptif bahwa variabel Sepal.Length dan Sepal.Width memiliki rata-rata yang hampir sama dengan median sehingga sebarannya relatif simetris. Variabel Petal.Length dan Petal.Width memiliki rata-rata di bawah median dan rentang kuartil yang lebar, yang menunjukkan keragaman ukuran kelopak yang besar dan diduga berkaitan dengan perbedaan spesies. Variabel Species terdiri dari setosa, versicolor, dan virginica dengan jumlah masing-masing 50 pengamatan sehingga proporsi kategorinya seimbang.

4.2 Pembagian Data Training dan Testing

Pembagian data training 80% dan testing 20%

set.seed(22)
nrow(iris)
## [1] 150
# Mengambil secara acak 80% data sebagai training
index <- sample(1:nrow(iris), round(0.8 * nrow(iris)))
train <- iris[index, ];  nrow(train)
## [1] 120
test  <- iris[-index, ]; nrow(test)
## [1] 30

Berdasarkan pembagian data, diperoleh 120 pengamatan untuk data training yang digunakan membangun model ANN regresi dan 30 pengamatan untuk data testing yang digunakan menguji kemampuan prediksi model pada data baru. Penggunaan set.seed membuat pembagian data bersifat acak tetapi tetap dapat direproduksi, sehingga hasil analisis akan sama jika dijalankan ulang.

4.3 Pemodelan Awal ANN Regresi

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 di atas, model ANN regresi yang dibentuk menggunakan Petal.Width sebagai variabel respons dan Sepal.Length, Sepal.Width, Petal.Length, serta Species sebagai variabel prediktor. Variabel Species merupakan variabel kategorik sehingga diubah secara otomatis menjadi dua variabel dummy, yaitu Speciesversicolor dan Speciesvirginica, dengan setosa sebagai kategori pembanding. Dengan demikian, input layer pada model terdiri atas 5 neuron, yaitu tiga variabel numerik dan dua variabel dummy, sedangkan output layer terdiri atas 1 neuron yang menghasilkan prediksi Petal.Width. Model ini digunakan untuk memprediksi lebar petal berdasarkan ukuran sepal, panjang petal, dan jenis spesies bunga iris.

4.4 Pembentukan Model ANN Regresi

hidden <- c(10, 20, 30)
iter   <- c(250, 500)

hasil <- data.frame()
model_list <- list()

for (h in hidden) {
  for (m in iter) {

    # bobot awal dibuat sama agar perbandingan adil
    set.seed(22)

    nn <- nnet.formula(form, size = h, data = train, linout = TRUE,
                       maxit = m, trace = FALSE)

    # hasil prediksi
    predict_regresi <- predict(nn, newdata = test, type = "raw")

    # hasil evaluasi
    error <- test$Petal.Width - as.numeric(predict_regresi)
    MAE   <- mean(abs(error))
    RMSE  <- sqrt(mean(error^2))

    hasil <- rbind(hasil, data.frame(Hidden_Neuron = h, Maxit = m,
                                     MAE = round(MAE, 4), RMSE = round(RMSE, 4)))
    model_list[[paste0("h", h, "_it", m)]] <- nn

  }
}

hasil
##   Hidden_Neuron Maxit    MAE   RMSE
## 1            10   250 0.1529 0.2846
## 2            10   500 0.1514 0.3043
## 3            20   250 0.1528 0.2249
## 4            20   500 0.2065 0.4066
## 5            30   250 0.2210 0.3663
## 6            30   500 0.4480 0.9068
hasil[order(hasil$RMSE), ]
##   Hidden_Neuron Maxit    MAE   RMSE
## 3            20   250 0.1528 0.2249
## 1            10   250 0.1529 0.2846
## 2            10   500 0.1514 0.3043
## 5            30   250 0.2210 0.3663
## 4            20   500 0.2065 0.4066
## 6            30   500 0.4480 0.9068

Berdasarkan tabel di atas, diperoleh bahwa model ANN terbaik adalah 20 hidden neuron dengan maxit 250, dengan RMSE terkecil sebesar 0,2249 dan MAE sebesar 0,1528. Sebaliknya, penambahan menjadi 30 hidden neuron dan peningkatan maxit menjadi 500 justru menaikkan error, dengan RMSE tertinggi sebesar 0,9068 pada kombinasi 30 hidden neuron dan maxit 500, yang mengindikasikan terjadinya overfitting. Dengan demikian, model yang lebih sederhana sudah cukup untuk memprediksi Petal.Width pada data iris.

4.5 Model Terbaik

best <- hasil[which.min(hasil$RMSE), ]; best
##   Hidden_Neuron Maxit    MAE   RMSE
## 3            20   250 0.1528 0.2249
nn <- model_list[[paste0("h", best$Hidden_Neuron, "_it", best$Maxit)]]

predict_regresi <- predict(nn, newdata = test, type = "raw")
error <- test$Petal.Width - predict_regresi
abs(error)
##             [,1]
## 3   0.0012834236
## 5   0.0377979150
## 7   0.1298051191
## 17  0.1272539808
## 18  0.0390847445
## 22  0.1349160469
## 26  0.0240457675
## 35  0.0057919264
## 36  0.0005338932
## 43  0.0511721298
## 47  0.0580691788
## 54  0.3288389056
## 69  0.0262490766
## 71  0.3486055903
## 73  0.2664682184
## 76  0.0325063376
## 78  0.2482840578
## 81  0.0615534705
## 82  0.0106117488
## 97  0.0811507836
## 99  0.5072238307
## 100 0.0300134032
## 102 0.1371267120
## 118 0.0239595689
## 123 0.6045931217
## 131 0.4094885420
## 141 0.3176183750
## 145 0.3875632939
## 148 0.0119251163
## 149 0.1402886288
MAE  <- mean(abs(error)); MAE
## [1] 0.1527941
RMSE <- sqrt(mean((test$Petal.Width - as.numeric(predict_regresi))^2)); RMSE
## [1] 0.2248724

Berdasarkan hasil di atas, model terbaik adalah ANN dengan 20 hidden neuron dan maxit 250, dengan MAE sebesar 0,1528 dan RMSE sebesar 0,2249. Hal ini menunjukkan bahwa rata-rata prediksi Petal.Width memiliki error sekitar 0,15 cm dari nilai sebenarnya. Sebagian besar data diprediksi dengan sangat baik, namun ada beberapa data, seperti data ke-123 dan ke-99, yang error-nya cukup besar.

4.6 Plot

plotnet(nn)

neuralweights(nn)
## $struct
## [1]  5 20  1
## 
## $wts
## $wts$`hidden 1 1`
## [1]  7.867881 -2.277301  1.556267  1.614204 -2.419815 -5.021498
## 
## $wts$`hidden 1 2`
## [1]  1.7141475 -0.9878727 -2.4836283 -0.5609557  0.8684841 -3.1954128
## 
## $wts$`hidden 1 3`
## [1] -4.751652  2.884740  9.460614 -8.487874  5.669275  5.666257
## 
## $wts$`hidden 1 4`
## [1]  2.500053  3.503992 -6.070705 -4.395472 -2.346056  3.292904
## 
## $wts$`hidden 1 5`
## [1]  1.1556331  4.3561572  2.5473509  1.0569421 -0.3972515 -0.5672530
## 
## $wts$`hidden 1 6`
## [1] 12.315131 -7.837416  8.190260  2.825511 15.374250  6.735179
## 
## $wts$`hidden 1 7`
## [1] -0.72675464 -4.46052142 -4.54032946 -0.05277497  0.62382951  0.29702648
## 
## $wts$`hidden 1 8`
## [1] -0.36391474 -2.24618125 -1.29194268 -0.70739802 -0.53601125 -0.08551831
## 
## $wts$`hidden 1 9`
## [1]  0.9453762 -1.5007644 -3.5265747  2.9824461 -5.7219106 -1.3024283
## 
## $wts$`hidden 1 10`
## [1] -21.4701203   6.1637404  -4.5459689  -0.4152369  -1.0139121  -3.0334054
## 
## $wts$`hidden 1 11`
## [1] -14.178854   3.436269  -3.501050   3.156377  -2.417701  -7.633278
## 
## $wts$`hidden 1 12`
## [1]  9.8054948 -3.4999316  2.6014011 -0.1975262 -2.9023390  2.8674155
## 
## $wts$`hidden 1 13`
## [1] -0.13157190 -0.38462635 -5.49599408 -0.01774436  3.05700852 -0.32145241
## 
## $wts$`hidden 1 14`
## [1]  0.9382612 -1.6558008 -0.2372593 -1.3234722  0.8956773 -0.5675191
## 
## $wts$`hidden 1 15`
## [1] -0.1331507 -2.4451499  5.0900349  2.0385507 -1.7454767  1.7074172
## 
## $wts$`hidden 1 16`
## [1] 12.6819057 -6.0160825  5.6665949  0.5045159  5.2252559  0.2968547
## 
## $wts$`hidden 1 17`
## [1]  1.787588  1.692702  8.889952 -4.945818  4.690752 -4.559890
## 
## $wts$`hidden 1 18`
## [1] -4.195469  1.904417 -3.481121  1.321202  2.866245 -5.442438
## 
## $wts$`hidden 1 19`
## [1] -5.9155948  4.1481360 -4.5037231 -1.3985415 -0.9122165 -1.4996123
## 
## $wts$`hidden 1 20`
## [1]  0.2861994  2.1593238 -1.4693964  4.4712199 -0.7092537  1.5841294
## 
## $wts$`out 1`
##  [1] -3.5789601  3.6313060  2.3304357 -1.0741417 -4.7246521 -3.8344333
##  [7] -3.9864890 -0.7046702  0.4409892 -2.3619361  2.5140229  4.7965267
## [13] -0.9907069  8.0828379  3.4320888  4.1891209  2.9568315  1.4142347
## [19] -4.4912963  1.0094886  1.3867491
olden(nn)
## Warning: `label` cannot be a <ggplot2::element_blank> object.

Berdasarkan hasil di atas, arsitektur jaringan model terbaik terdiri dari 5 variabel input, 20 hidden neuron, dan 1 output yaitu Petal.Width. Berdasarkan grafik Olden, variabel yang paling berpengaruh terhadap Petal.Width adalah Species virginica dengan nilai importance negatif terbesar, sedangkan Petal.Length menjadi satu-satunya variabel yang berpengaruh positif. Hal ini menunjukkan bahwa semakin panjang petal, semakin besar pula prediksi lebar petal, sedangkan variabel lainnya berpengaruh negatif dengan besar yang berbeda-beda.

BAB V KESIMPULAN

5.1 Kesimpulan

Artificial Neural Network (ANN) merupakan model komputasi yang meniru cara kerja jaringan saraf biologis, terdiri atas input layer, hidden layer, dan output layer yang saling terhubung melalui bobot, bias, dan fungsi aktivasi. Proses pembelajaran ANN dilakukan dengan algoritma backpropagation, yaitu perambatan maju untuk menghitung keluaran, perambatan mundur untuk menghitung gradien kesalahan, dan pembaruan bobot untuk mengurangi kesalahan prediksi. ANN regresi digunakan untuk memprediksi variabel respons numerik kontinu dengan fungsi aktivasi linear pada output layer, sedangkan ANN klasifikasi digunakan untuk memprediksi variabel respons kategori dengan fungsi sigmoid pada klasifikasi biner atau softmax pada klasifikasi multikelas. Pada bahasa pemrograman R, model ANN dapat diimplementasikan menggunakan paket nnet dengan mengatur jumlah hidden neuron melalui argumen size dan jumlah iterasi maksimum melalui argumen maxit, serta divisualisasikan menggunakan paket NeuralNetTools. Pemilihan jumlah hidden neuron dan iterasi perlu diperhatikan karena jumlah yang berlebihan dapat menyebabkan overfitting.

Performa model ANN dievaluasi dengan membandingkan nilai aktual dan nilai prediksi pada data testing. Pada regresi digunakan Mean Squared Error (MSE) dan Mean Absolute Percentage Error (MAPE), dengan nilai yang semakin kecil menunjukkan prediksi yang semakin mendekati nilai aktual. Pada klasifikasi digunakan confusion matrix untuk menghitung akurasi, yaitu proporsi seluruh prediksi yang benar, dan presisi, yaitu proporsi prediksi positif yang benar, dengan nilai yang semakin besar menunjukkan kemampuan model yang semakin baik. Dengan demikian, model ANN yang baik adalah model yang menghasilkan kesalahan prediksi kecil pada regresi serta akurasi dan presisi tinggi pada klasifikasi, tanpa mengalami overfitting pada data training.

Berdasarkan hasil analisis ANN regresi dengan data training 80% dan testing 20%, diperoleh bahwa model terbaik adalah 20 hidden neuron dengan maxit 250, dengan MAE sebesar 0,1528 dan RMSE sebesar 0,2249. Penambahan menjadi 30 hidden neuron dan peningkatan maxit menjadi 500 justru menaikkan error, dengan RMSE tertinggi sebesar 0,9068, yang mengindikasikan overfitting. Berdasarkan grafik Olden, Petal.Length menjadi satu-satunya variabel yang berpengaruh positif terhadap Petal.Width, sedangkan Speciesvirginica memiliki nilai importance negatif terbesar.

5.2 Saran

Penggunaan program R, khususnya RMarkdown, sebaiknya disertai panduan yang lebih jelas, terutama mengenai penulisan chunk kode yang harus diawali dan diakhiri dengan benar serta urutan menjalankan kode, karena kesalahan kecil seperti kurung kurawal atau penutup chunk yang hilang dapat menyebabkan error. Selain itu, sebaiknya menggunakan set.seed yang sama agar hasil dapat dibandingkan dan direproduksi, serta mencoba lebih banyak kombinasi parameter agar pemahaman terhadap overfitting menjadi lebih mendalam.

DAFTAR PUSTAKA

Aryanti, W. (2023). Penerapan Artificial Neural Network dengan algoritma backpropagation untuk memprediksi harga saham. Jurnal Riset Statistika, 3(2), 107–118.

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

Raihan, M. I., Budiman, S. N., & Mawaddah, U. (2024). Implementasi backpropagation untuk rekomendasi jurusan peminatan mahasiswa Program Studi Teknik Informatika di Universitas Islam Balitar. Jurnal Ilmiah Sistem Informasi dan Teknik Informatika (JISTI), 7(2), 218–230.

Senin, S. F., Mohamad Zamri, N. N., Rohim, R., Yusuff, A., Chan, H. B., & Marzuki, N. A. (2026). Shear capacity estimation of reinforced concrete deep beam with vertical bar using artificial neural network and small datasets. ESTEEM Academic Journal, 22, 1–16.

Supriyanto, Sunardi, & Riadi, I. (2022). Pengaruh nilai hidden layer dan learning rate terhadap kecepatan pelatihan jaringan syaraf tiruan backpropagation. JIKO (Jurnal Informatika dan Komputer), 6(1), 27–33.