BAB I PENDAHULUAN

1.1 Latar Belakang Masalah

Perkembangan teknologi informasi menyebabkan semakin banyaknya data yang dihasilkan dalam berbagai bidang. Data tersebut dapat dimanfaatkan untuk memperoleh informasi dan membantu proses pengambilan keputusan. Namun, data dengan pola hubungan yang kompleks membutuhkan metode analisis yang mampu mempelajari pola tersebut. Salah satu metode yang dapat digunakan adalah Artificial Neural Network (ANN) atau jaringan saraf tiruan (Lesmana, 2025).

Artificial Neural Network (ANN) merupakan metode komputasi yang meniru cara kerja jaringan saraf manusia dalam mengolah informasi melalui neuron-neuron yang saling terhubung. ANN dapat digunakan untuk menyelesaikan berbagai permasalahan, seperti prediksi dan klasifikasi. Penelitian Az Zahra dkk (2024) menerapkan ANN untuk memprediksi Southern Oscillation Index, sedangkan penelitian Musdar dkk (2024) menerapkan ANN untuk mengklasifikasikan tingkat kesegaran wortel.

Penerapan ANN untuk regresi bertujuan menghasilkan prediksi berupa nilai numerik, sedangkan pada klasifikasi bertujuan mengelompokkan data ke dalam kategori tertentu. Untuk mengetahui kemampuan model dalam menghasilkan prediksi, digunakan metrik evaluasi Mean Squared Error (MSE) dan Mean Absolute Percentage Error (MAPE). Sementara itu, performa model klasifikasi dapat dievaluasi menggunakan akurasi dan presisi (Huda dan Handayani, 2023).

1.2 Rumusan Masalah

Berdasarkan latar belakang, rumusan masalah yang dapat disimpulkan adalah:

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

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

1.3 Tujuan Penelitian

Berdasarkan rumusan masalah, tujuan yang dapat disimpulkan adalah:

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

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

1.4 Manfaat Penelitian

Adapun manfaat pada penelitian ini, yaitu:

  1. Bagi penulis
    1. Mengembangkan dan menerapkan wawasan ilmu yang diperoleh dalam bidang statistika khususnya tentang Artificial Neural Network (ANN) untuk regresi dan klasifikasi.
    2. Dapat memberikan informasi tentang Artificial Neural Network (ANN) untuk regresi dan klasifikasi.
  2. Bagi pembaca
    1. Menambah ilmu pengetahuan dan pemahaman yang berkaitan tentang Artificial Neural Network (ANN) untuk regresi dan klasifikasi.
    2. Menjadi rujukan bagi peneliti selanjutnya

1.5 Batasan Masalah

Adapun batasan masalah pada laporan praktikum pertemuan ini adalah lakukan ANN Regresi dengan Hidden Neuron=c(10,20,30) dengan data training 80% dan testing 20%. kemudian coba buat dengan maxit=(250, 500). kemudian interprestasikan output dengan jelas! Menggunakan data Iris, Friedman, Breast Cancer, etc.

1.6 Sistematika Penulisan

Adapun sistematika penulisan dari praktikum ini adalah:

BAB I PENDAHULUAN Bab I terdiri dari latar belakang, rumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, dan sistematika penulisan.

BAB II TINJAUAN PUSTAKA Bab tinjauan pustaka ini meliputi landasan teori yang berisi tentang pembahasan teori yang digunakan dalam penelitian.

BAB III METODE PENELITIAN Bab ini terdiri dari analisis jenis dan sumber data, variabel penelitian, algoritma penelitian, dan diagram alur.

BAB IV HASIL DAN PEMBAHASAN Bab ini merupakan tahapan pencapaian hasil yang diperoleh dari analisis data yang dilakukan serta penjelasan dari hasil tersebut di bagian pembahasan.

BAB V KESIMPULAN DAN SARAN Bab ini merupakan bagian penutup dalam laporan ini berupa penarikan kesimpulan mengenai hasil analisis dari penelitian serta penyampaian saran oleh penulis.

DAFTAR PUSTAKA

LAMPIRAN

BAB II TINJAUAN PUSTAKA

2.1 Artificial Neural Network (ANN)

Artificial Neural Network (ANN) atau jaringan saraf tiruan merupakan metode komputasi yang meniru cara kerja jaringan saraf manusia dalam memproses informasi. ANN terdiri atas neuron-neuron yang saling terhubung dan memiliki bobot untuk mempelajari pola dari data. Secara umum, ANN memiliki tiga lapisan utama, yaitu input layer sebagai penerima data masukan, hidden layer sebagai pengolah informasi, dan output layer sebagai penghasil keluaran (Supriyanto dkk, 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 (Fransiska, 2026).

2.2 ANN untuk Regresi

Regresi merupakan metode yang digunakan untuk memodelkan hubungan antara variabel prediktor dan variabel respons yang memiliki nilai numerik. ANN untuk regresi bekerja dengan mempelajari pola hubungan antarvariabel sehingga dapat menghasilkan prediksi berupa nilai kontinu (Az Zahra dkk, 2024).

Evaluasi ANN untuk regresi dapat dilakukan menggunakan dua metrik berikut:

  1. Mean Squared Error (MSE)

MSE merupakan ukuran yang digunakan untuk menghitung rata-rata kuadrat selisih antara nilai aktual dan nilai prediksi. Semakin kecil nilai MSE, semakin kecil kesalahan prediksi yang dihasilkan model.

  1. Mean Absolute Percentage Error (MAPE)

MAPE merupakan ukuran yang digunakan untuk menghitung rata-rata persentase kesalahan antara nilai aktual dan nilai prediksi. Semakin kecil nilai MAPE, semakin baik kemampuan model dalam menghasilkan prediksi.

2.3 ANN untuk Klasifikasi

Klasifikasi merupakan metode yang digunakan untuk mengelompokkan data ke dalam kelas atau kategori tertentu berdasarkan karakteristik yang dimiliki. ANN untuk klasifikasi bekerja dengan mempelajari pola dari data pelatihan, kemudian menggunakan pola tersebut untuk menentukan kelas pada data pengujian (Musdar dkk, 2024).

Evaluasi ANN untuk klasifikasi dapat dilakukan menggunakan dua metrik berikut:

  1. Akurasi (Accuracy)

Akurasi merupakan ukuran yang digunakan untuk mengetahui persentase jumlah prediksi yang benar dibandingkan dengan seluruh data yang diuji.

  1. Presisi (Precision)

Presisi merupakan ukuran yang digunakan untuk mengetahui ketepatan model dalam memprediksi kelas positif dibandingkan dengan seluruh data yang diprediksi sebagai kelas positif.

BAB III METODE PENELITIAN

3.1 Jenis dan Sumber Data

Jenis data yang digunakan di dalam penelitian ini berupa data kuantitatif. Data kuantitatif merupakan data atau informasi yang didapatkan dalam bentuk angka atau numerik. Data yang digunakan merupakan data sekunder berupa dataset Iris yang tersedia dalam program RStudio. Dataset Iris terdiri atas 150 pengamatan dengan lima variabel, yaitu Sepal.Length, Sepal.Width, Petal.Length, Petal.Width, dan Species. Dalam analisis ini, metode Artificial Neural Network (ANN) regresi diterapkan dengan menggunakan variasi jumlah neuron pada lapisan tersembunyi, yaitu 10, 20, dan 30 neuron, serta jumlah iterasi (maxit) sebanyak 250 dan 500. Kombinasi parameter tersebut digunakan untuk mengetahui perbedaan kinerja model ANN dalam memprediksi nilai Petal.Width.

3.2 Variabel Penelitian

Variabel penelitian adalah karakter atau segala sesuatu yang menjadi perhatian dalam suatu penelitian. Pada penelitian ini terdapat 4 variabel prediktor dan 1 variabel respon. Variabel prediktor meliputi Sepal.Length (panjang kelopak bunga), Sepal.Width (lebar kelopak bunga), Petal.Length (panjang mahkota bunga), dan Species (jenis bunga Iris). Sementara itu, variabel respon adalah Petal.Width (lebar mahkota bunga), yang digunakan sebagai variabel yang akan diprediksi menggunakan metode ANN regresi.

3.3 Langkah-langkah Analisis

Berikut adalah algoritma untuk menyelesaiankan batasan masalah:

  1. Memanggil package yang diperlukan dan memuat dataset iris.

  2. Melakukan pemeriksaan dan analisis deskriptif terhadap data.

  3. Menentukan variabel prediktor dan variabel respon.

  4. Membagi data menjadi data training dan testing.

  5. Membentuk model ANN regresi.

  6. Melakukan prediksi menggunakan model yang telah dibentuk.

  7. Mengevaluasi dan membandingkan kinerja model berdasarkan nilai MSE dan MAPE.

  8. Menentukan model ANN terbaik berdasarkan hasil evaluasi.

  9. Melakukan analisis hasil prediksi, visualisasi arsitektur jaringan, dan tingkat kepentingan variabel.

BAB IV HASIL DAN PEMBAHASAN

4.1 Library dan Statistik Deskriptif

# Data Iris
library(nnet)
library(NeuralNetTools)

# 2. INPUT DATA
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
str(iris)
## 'data.frame':    150 obs. of  5 variables:
##  $ Sepal.Length: num  5.1 4.9 4.7 4.6 5 5.4 4.6 5 4.4 4.9 ...
##  $ Sepal.Width : num  3.5 3 3.2 3.1 3.6 3.9 3.4 3.4 2.9 3.1 ...
##  $ Petal.Length: num  1.4 1.4 1.3 1.5 1.4 1.7 1.4 1.5 1.4 1.5 ...
##  $ Petal.Width : num  0.2 0.2 0.2 0.2 0.2 0.4 0.3 0.2 0.2 0.1 ...
##  $ Species     : Factor w/ 3 levels "setosa","versicolor",..: 1 1 1 1 1 1 1 1 1 1 ...
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  
##                 
##                 
## 

Penelitian ini menggunakan dataset Iris yang tersedia dalam paket datasets pada software R. Dataset terdiri atas 150 observasi dengan lima variabel, yaitu Sepal.Length, Sepal.Width, Petal.Length, Petal.Width, dan Species. Variabel Sepal.Length, Sepal.Width, Petal.Length, dan Species digunakan sebagai variabel prediktor, sedangkan Petal.Width digunakan sebagai variabel respons.

Berdasarkan hasil statistik deskriptif, variabel Sepal.Length memiliki nilai minimum 4,3, maksimum 7,9, dan rata-rata 5,843. Variabel Sepal.Width memiliki nilai minimum 2,0, maksimum 4,4, dan rata-rata 3,057. Selanjutnya, Petal.Length memiliki nilai minimum 1,0, maksimum 6,9, dan rata-rata 3,758, sedangkan Petal.Width memiliki nilai minimum 0,1, maksimum 2,5, dan rata-rata 1,199. Variabel Species terdiri atas tiga kategori, yaitu setosa, versicolor, dan virginica, dengan masing-masing sebanyak 50 observasi.

4.2 Pembagian Data Training dan Testing

# 4. MEMBAGI DATA TRAINING DAN TESTING
set.seed(918)

n <- nrow(iris)
n
## [1] 150
# Data training 80% dan testing 20%
index <- sample(1:n, round(0.8*n))

train <- iris[index, ]
test  <- iris[-index, ]

# Melihat jumlah data
cat("Jumlah seluruh data :", n, "\n")
## Jumlah seluruh data : 150
cat("Jumlah data training:", nrow(train), "\n")
## Jumlah data training: 120
cat("Jumlah data testing :", nrow(test), "\n")
## Jumlah data testing : 30

Dataset dibagi menjadi data training dan testing dengan perbandingan 80:20. Dari total 150 observasi, sebanyak 120 observasi digunakan sebagai data training, sedangkan 30 observasi digunakan sebagai data testing. Data training digunakan untuk membangun model ANN melalui proses pembelajaran pola hubungan antara variabel prediktor dan respons. Sementara itu, data testing digunakan untuk mengevaluasi kemampuan model dalam memprediksi nilai Petal.Width pada data yang tidak digunakan selama proses pelatihan.

4.3 Pembentukan Model Artificial Neural Network (ANN) Regresi

# 5. MEMBENTUK FORMULA ANN
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
# 6. MEMBANGUN MODEL ANN
# Hidden Neuron = 10, 20, 30
# Maxit = 250, 500

hidden_neuron <- c(10, 20, 30)
max_iterasi <- c(250, 500)

# Menyiapkan penyimpanan model dan hasil
model_ann <- list()
hasil <- data.frame()

# Melakukan kombinasi seluruh parameter
for (h in hidden_neuron) {
  
  for (m in max_iterasi) {
    
    set.seed(918)
    
    nama_model <- paste0("Neuron_", h, "_Maxit_", m)
    
    cat("\n====================================\n")
    cat("MODEL:", nama_model, "\n")
    cat("====================================\n")
    
    # Membentuk model ANN regresi
    nn <- nnet(
      form,
      data = train,
      size = h,
      linout = TRUE,
      maxit = m,
      trace = FALSE,
      MaxNWts = 10000
    )
    
    # Menyimpan model
    model_ann[[nama_model]] <- nn
    
    # 7. MELAKUKAN PREDIKSI
    prediksi <- predict(
      nn,
      newdata = test,
      type = "raw"
    )
    
    prediksi <- as.numeric(prediksi)
    
    aktual <- test$Petal.Width
    
    # 8. MENGHITUNG EVALUASI MODEL
    error <- aktual - prediksi
    
    MSE <- mean(error^2)
    
    MAPE <- mean(abs(error / aktual)) * 100
    
    # Menyimpan hasil evaluasi
    hasil <- rbind(
      hasil,
      data.frame(
        Model = nama_model,
        Hidden_Neuron = h,
        Maxit = m,
        MSE = MSE,
        MAPE = MAPE
      )
    )
    
    # Menampilkan hasil evaluasi
    cat("MSE  :", MSE, "\n")
    cat("MAPE :", MAPE, "%\n")
  }
}
## 
## ====================================
## MODEL: Neuron_10_Maxit_250 
## ====================================
## MSE  : 0.1668192 
## MAPE : 31.18822 %
## 
## ====================================
## MODEL: Neuron_10_Maxit_500 
## ====================================
## MSE  : 0.3038733 
## MAPE : 31.0177 %
## 
## ====================================
## MODEL: Neuron_20_Maxit_250 
## ====================================
## MSE  : 0.06929488 
## MAPE : 29.32002 %
## 
## ====================================
## MODEL: Neuron_20_Maxit_500 
## ====================================
## MSE  : 3.622783 
## MAPE : 158.082 %
## 
## ====================================
## MODEL: Neuron_30_Maxit_250 
## ====================================
## MSE  : 0.06346016 
## MAPE : 32.62768 %
## 
## ====================================
## MODEL: Neuron_30_Maxit_500 
## ====================================
## MSE  : 0.9252316 
## MAPE : 56.88047 %
# 9. TABEL PERBANDINGAN HASIL ANN
cat("\nHASIL PERBANDINGAN SELURUH MODEL\n")
## 
## HASIL PERBANDINGAN SELURUH MODEL
print(hasil)
##                 Model Hidden_Neuron Maxit        MSE      MAPE
## 1 Neuron_10_Maxit_250            10   250 0.16681919  31.18822
## 2 Neuron_10_Maxit_500            10   500 0.30387334  31.01770
## 3 Neuron_20_Maxit_250            20   250 0.06929488  29.32002
## 4 Neuron_20_Maxit_500            20   500 3.62278269 158.08197
## 5 Neuron_30_Maxit_250            30   250 0.06346016  32.62768
## 6 Neuron_30_Maxit_500            30   500 0.92523163  56.88047
#GRAFIK PERBANDINGAN MSE
barplot(
  hasil$MSE,
  names.arg = hasil$Model,
  las = 2,
  col = "skyblue",
  main = "Perbandingan MSE ANN Regresi",
  ylab = "Nilai MSE",
  cex.names = 0.7
)

#GRAFIK PERBANDINGAN MAPE
barplot(
  hasil$MAPE,
  names.arg = hasil$Model,
  las = 2,
  col = "orange",
  main = "Perbandingan MAPE ANN Regresi",
  ylab = "Nilai MAPE (%)",
  cex.names = 0.7
)

Evaluasi kinerja model dilakukan menggunakan dua ukuran, yaitu Mean Squared Error (MSE) dan Mean Absolute Percentage Error (MAPE). MSE digunakan untuk mengukur rata-rata kuadrat kesalahan antara nilai aktual dan prediksi, sedangkan MAPE mengukur rata-rata persentase kesalahan prediksi terhadap nilai aktual. Semakin kecil nilai kedua ukuran tersebut, semakin rendah tingkat kesalahan prediksi model.

Berdasarkan perbandingan nilai MSE, terlihat bahwa model dengan 20 hidden neuron dan 500 iterasi menghasilkan nilai MSE tertinggi sebesar 3,622783. Sementara itu, nilai MSE terendah diperoleh model dengan 30 hidden neuron dan 250 iterasi sebesar 0,063460. Model dengan 10 neuron menghasilkan MSE sebesar 0,166819 dan 0,303873, sedangkan model dengan 20 neuron menghasilkan MSE sebesar 0,069295 dan 3,622783 untuk masing-masing 250 dan 500 iterasi. Hasil ini menunjukkan bahwa penambahan jumlah iterasi tidak selalu menghasilkan kinerja yang lebih baik karena nilai MSE justru meningkat pada seluruh konfigurasi ketika iterasi ditambah menjadi 500.

Berdasarkan perbandingan nilai MAPE, nilai MAPE tertinggi diperoleh model dengan 20 hidden neuron dan 500 iterasi sebesar 158,082%, sedangkan nilai terendah diperoleh model dengan 20 hidden neuron dan 250 iterasi sebesar 29,320%. Model dengan 30 neuron dan 250 iterasi menghasilkan MAPE sebesar 32,628%. Hasil tersebut menunjukkan bahwa model dengan MSE terkecil tidak selalu menghasilkan MAPE terkecil karena kedua ukuran evaluasi memiliki dasar perhitungan yang berbeda. Selain itu, nilai aktual Petal.Width yang relatif kecil dapat menyebabkan persentase kesalahan menjadi lebih besar.

4.4 Penentuan, Prediksi, dan Evaluasi Model ANN Terbaik

# 10. MENENTUKAN MODEL TERBAIK
# Model terbaik berdasarkan MSE terkecil

indeks_terbaik <- which.min(hasil$MSE)

hasil_terbaik <- hasil[indeks_terbaik, ]

nama_terbaik <- as.character(hasil_terbaik$Model)

model_terbaik <- model_ann[[nama_terbaik]]

cat("\nMODEL ANN TERBAIK\n")
## 
## MODEL ANN TERBAIK
print(hasil_terbaik)
##                 Model Hidden_Neuron Maxit        MSE     MAPE
## 5 Neuron_30_Maxit_250            30   250 0.06346016 32.62768
# 11. PREDIKSI MODEL TERBAIK
prediksi_terbaik <- predict(
  model_terbaik,
  newdata = test,
  type = "raw"
)

prediksi_terbaik <- as.numeric(prediksi_terbaik)

hasil_prediksi <- data.frame(
  Aktual = test$Petal.Width,
  Prediksi = prediksi_terbaik,
  Error = test$Petal.Width - prediksi_terbaik
)

cat("\nHASIL PREDIKSI MODEL TERBAIK\n")
## 
## HASIL PREDIKSI MODEL TERBAIK
print(hasil_prediksi)
##    Aktual  Prediksi        Error
## 1     0.2 0.2368096 -0.036809641
## 2     0.2 0.2428996 -0.042899604
## 3     0.2 0.2038977 -0.003897670
## 4     0.1 0.3244066 -0.224406609
## 5     0.4 0.2961567  0.103843335
## 6     0.3 0.2307644  0.069235632
## 7     0.2 0.2516208 -0.051620825
## 8     0.2 0.4015409 -0.201540930
## 9     0.1 0.2775795 -0.177579484
## 10    0.3 0.6254398 -0.325439813
## 11    1.5 1.8510242 -0.351024151
## 12    1.4 1.7112809 -0.311280877
## 13    1.5 1.3074107  0.192589327
## 14    1.4 1.4352312 -0.035231176
## 15    1.2 1.0251877  0.174812266
## 16    1.3 1.3969131 -0.096913136
## 17    1.3 1.1770225  0.122977473
## 18    1.3 1.2418063  0.058193725
## 19    1.7 2.4021727 -0.702172684
## 20    1.8 1.8330100 -0.033010028
## 21    1.8 1.2715333  0.528466691
## 22    2.2 2.4796153 -0.279615312
## 23    1.5 1.5887818 -0.088781810
## 24    1.9 2.2085536 -0.308553581
## 25    2.0 2.5911761 -0.591176127
## 26    2.4 2.3420407  0.057959340
## 27    1.8 1.8828931 -0.082893114
## 28    2.3 2.2977623  0.002237652
## 29    1.9 1.7640154  0.135984583
## 30    2.3 2.3641929 -0.064192853
# 12. GRAFIK PERBANDINGAN NILAI AKTUAL DAN PREDIKSI
plot(
  hasil_prediksi$Aktual,
  hasil_prediksi$Prediksi,
  main = "Aktual vs Prediksi ANN Regresi",
  xlab = "Nilai Aktual",
  ylab = "Nilai Prediksi",
  pch = 19
)

abline(
  a = 0,
  b = 1,
  lty = 2,
  lwd = 2
)

Berdasarkan hasil evaluasi keenam kombinasi model, diperoleh bahwa model dengan 30 hidden neuron dan 250 iterasi merupakan model terbaik. Model tersebut menghasilkan nilai MSE sebesar 0,06346016 dan MAPE sebesar 32,62768%. Pemilihan model didasarkan pada nilai MSE terkecil dibandingkan lima kombinasi lainnya. Selanjutnya, model terbaik digunakan untuk melakukan prediksi, visualisasi arsitektur jaringan, dan analisis tingkat kepentingan variabel.

Berdasarkan hasil, sebagian besar titik pengamatan berada di sekitar garis diagonal putus-putus yang menunjukkan kesesuaian antara nilai aktual dan prediksi. Hal ini menunjukkan bahwa model ANN mampu menangkap pola hubungan antara variabel prediktor dan respons. Namun, masih terdapat beberapa titik yang memiliki jarak cukup jauh dari garis diagonal, seperti pada nilai aktual 1,7 dengan prediksi sekitar 2,40 dan nilai aktual 1,8 dengan prediksi sekitar 1,27. Dengan demikian, model telah mampu menghasilkan prediksi yang cukup baik, meskipun masih terdapat perbedaan antara nilai aktual dan prediksi pada beberapa pengamatan.

4.5 Visualisasi Arsitektur Jaringan ANN Terbaik

# 15. PLOT JARINGAN ANN TERBAIK
plotnet(model_terbaik)

# 16. MELIHAT BOBOT NEURON
neuralweights(model_terbaik)
## $struct
## [1]  5 30  1
## 
## $wts
## $wts$`hidden 1 1`
## [1] -0.1786128 -0.2587088 -0.3828873  0.1366628 -3.9700213 -4.2570865
## 
## $wts$`hidden 1 2`
## [1]  0.3280516  0.5359028  0.8189374  0.2416695  1.3978345 -0.4129718
## 
## $wts$`hidden 1 3`
## [1]  0.68724729 -1.10000625 -1.56865987  1.27933084  0.08689473 -2.27637666
## 
## $wts$`hidden 1 4`
## [1]  5.320826  2.249436 -3.879214  0.131728 -2.374169 -6.990249
## 
## $wts$`hidden 1 5`
## [1] 12.999900 -2.711132 -1.080452  2.024516 -2.381983  2.170214
## 
## $wts$`hidden 1 6`
## [1]   6.916005  -8.386953 -12.154951  15.451479  10.632041  -2.007864
## 
## $wts$`hidden 1 7`
## [1] -1.6606806  0.4385162 -1.9880245 -0.4763811 -2.2298210  0.4903220
## 
## $wts$`hidden 1 8`
## [1] -1.417630105  1.514560911  0.828909627  2.117979293 -1.632326798
## [6]  0.002771052
## 
## $wts$`hidden 1 9`
## [1] -2.271657 -1.771242 -1.925230  3.691431 -6.211007 -1.870504
## 
## $wts$`hidden 1 10`
## [1]  -9.782284   3.800647  -7.572019   3.139038  -4.529014 -12.176449
## 
## $wts$`hidden 1 11`
## [1]  0.51467884  0.47045307  0.16381360  0.93806513 -0.33248423  0.02645952
## 
## $wts$`hidden 1 12`
## [1]  3.1878079 -0.9927887  0.2754876 -1.0305506  2.5734909 -0.4470469
## 
## $wts$`hidden 1 13`
## [1] -7.0443791  1.2923065  1.7236547 -3.7983486 -2.0754559 -0.2471452
## 
## $wts$`hidden 1 14`
## [1]  1.77263119 -1.47520755 -1.52133518  0.74703572 -0.06744959  3.94771046
## 
## $wts$`hidden 1 15`
## [1] -0.64474571 -0.60527363 -0.03557766  0.01401888 -0.72241621  0.28753321
## 
## $wts$`hidden 1 16`
## [1] -1.1224121 -0.7529779  3.7215351  0.4778265  0.4482092 -0.7232360
## 
## $wts$`hidden 1 17`
## [1] -6.35385982  1.18566943  0.02661173  0.05740986 -0.13003213 -2.43120579
## 
## $wts$`hidden 1 18`
## [1]  1.523314 -1.750384  3.135864  4.059823 -2.347567  1.893789
## 
## $wts$`hidden 1 19`
## [1]  0.09216925  3.20895694  1.41133953  2.22718673 -0.42300393 -0.01936184
## 
## $wts$`hidden 1 20`
## [1] -0.88315570 -2.87351895 -1.30310482 -1.60602302  0.90192442  0.06707104
## 
## $wts$`hidden 1 21`
## [1] -1.7862249  0.6301109  0.5504862  1.1545113 -0.9471433 -0.3329527
## 
## $wts$`hidden 1 22`
## [1]  1.382221057  1.682817328 -0.555529619  0.004671466  0.774789733
## [6] -0.106312134
## 
## $wts$`hidden 1 23`
## [1] -0.3804383 -4.6232562  6.5998403 -2.9902452  2.9889620 -2.4843394
## 
## $wts$`hidden 1 24`
## [1] -2.4739164 -1.6458988  0.7462424  5.6852606  2.6506685 -2.2021608
## 
## $wts$`hidden 1 25`
## [1] -0.2361252 -0.6174705 -0.2045790 -0.1057401  0.1520090 -0.7395101
## 
## $wts$`hidden 1 26`
## [1]   3.3177054 -11.0512640  11.8531641   8.4199431  -0.5113468   9.3629521
## 
## $wts$`hidden 1 27`
## [1] 1.6652218 3.4161241 0.2345085 1.0451532 2.0680522 0.6073725
## 
## $wts$`hidden 1 28`
## [1] -3.4353332  3.4243095 -3.8754275 -2.0114677 -0.8014202  0.1395674
## 
## $wts$`hidden 1 29`
## [1]  0.5167701 -1.1474844 -2.1870697  1.5588682  3.8857900  7.8723220
## 
## $wts$`hidden 1 30`
## [1] -0.3169308 -3.4474089 -2.8350747 -1.1199210  0.4209773  0.4914055
## 
## $wts$`out 1`
##  [1]  1.75333740  0.75328540  0.77531817 -0.20300920 -1.80755666 -1.17356272
##  [7]  0.63672212 -6.65809786 -2.47744047 -1.05195837 -1.24558140 -0.72820420
## [13]  4.68787416 -2.91591978  2.58650712  0.41978261 -1.97704898  4.01810603
## [19] -1.32550805  2.33561669  0.05078949 -2.47525597  1.62423733 -0.74707847
## [25] -1.71683559  1.04514615  0.86475608  4.09502831  1.00379462  2.93999642
## [31]  1.15198233

Berdasarkan plot, arsitektur jaringan ANN terdiri atas lima neuron input, 30 neuron pada lapisan tersembunyi (hidden layer), dan satu neuron output. Lima neuron input berasal dari tiga variabel numerik, yaitu Sepal.Length, Sepal.Width, dan Petal.Length, serta dua variabel dummy dari Species, yaitu Speciesversicolor dan Speciesvirginica. Setiap neuron input terhubung dengan neuron pada lapisan tersembunyi melalui bobot jaringan, kemudian diteruskan menuju neuron output untuk menghasilkan prediksi Petal.Width. Dengan demikian, struktur jaringan yang terbentuk adalah 5-30-1.

4.6 Variable Importance Model Terbaik

# 17. MELIHAT VARIABLE IMPORTANCE
olden(model_terbaik)
## Warning: `label` cannot be a <ggplot2::element_blank> object.

Berdasarkan hasil, variabel Speciesvirginica memiliki nilai kepentingan tertinggi, yaitu sekitar 78, diikuti oleh Speciesversicolor sekitar 58. Selanjutnya, Petal.Length memiliki nilai kepentingan positif sekitar 6, sedangkan Sepal.Length dan Sepal.Width memiliki nilai negatif. Hasil tersebut menunjukkan bahwa variabel Species memberikan kontribusi relatif paling besar dalam proses prediksi Petal.Width, khususnya kategori virginica. Sementara itu, nilai kepentingan yang negatif pada variabel Sepal.Length dan Sepal.Width menunjukkan arah kontribusi berdasarkan bobot jaringan, bukan berarti kedua variabel tersebut tidak berperan dalam proses prediksi.

BAB V KESIMPULAN

5.1 Kesimpulan

Berdasarkan hasil dapat disimpulkan bahwa metode Artificial Neural Network (ANN) regresi dapat digunakan untuk memodelkan hubungan antara variabel Sepal.Length, Sepal.Width, Petal.Length, dan Species terhadap Petal.Width pada dataset Iris. Dari enam kombinasi model yang dibentuk, model dengan 30 neuron pada lapisan tersembunyi dan 250 iterasi memperoleh kinerja terbaik berdasarkan nilai MSE terendah sebesar 0,06346, dengan nilai MAPE sebesar 32,62768%. Hasil tersebut menunjukkan bahwa pemilihan jumlah neuron dan iterasi berpengaruh terhadap kinerja model ANN dalam menghasilkan prediksi.

DAFTAR PUSTAKA

Az Zahra, F. S., Sumargo, B., Siregar, D., & Fathya, A. Y. (2024). The Application of the Artificial Neural Network (ANN) Method for Forecasting the Southern Oscillation Index (SOI). Jurnal Statistika dan Aplikasinya, 8(2), 179–192.

Fransiska, H. (2026). Modul Praktikum Machine Learning and Modern Prediction. Laboratorium Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Bengkulu.

Huda, D. N., & Handayani, S. (2023). Prediksi Nilai Ujian dengan Artificial Neural Network. REMIK: Riset dan E-Jurnal Manajemen Informatika Komputer, 7(1), 157–165.

Lesmana, D. (2025). Pengaplikasian Deep Learning dengan Desain Arsitektur JST untuk Tugas Regresi dan Klasifikasi. Elektronika Sistem Senjata, 6(1).

Musdar, D. M. J., Eriyani, N. S., Azis, S., Kaswar, A. B., & Sasmita, S. (2024). Implementasi Jaringan Saraf Tiruan Backpropagation untuk Klasifikasi Tingkat Kesegaran Wortel Berbasis Pengolahan Citra Digital Disertai Operasi Morfologi. JIPI (Jurnal Ilmiah Penelitian dan Pembelajaran Informatika), 9(3), 1518–1533.

Supriyanto, S., Sunardi, S., & Riadi, I. (2022). Pengaruh Nilai Hidden Layer dan Learning Rate Terhadap Kecepatan Pelatihan Jaringan Saraf Tiruan Backpropagation. JIKO (Jurnal Informatika dan Komputer), 6(1), 27–33.