BAB I PENDAHULUAN

1.1 Latar Belakang

Artificial Neural Network (ANN) merupakan salah satu metode kecerdasan buatan yang meniru cara kerja jaringan saraf manusia dalam mengolah informasi melalui hubungan antarneuron. Metode ini memiliki kemampuan untuk mempelajari pola hubungan yang kompleks dan tidak linier sehingga dapat diterapkan dalam berbagai permasalahan analisis data, baik regresi maupun klasifikasi. Pada kasus regresi, ANN digunakan untuk memperkirakan nilai numerik berdasarkan variabel masukan, sedangkan pada kasus klasifikasi digunakan untuk mengelompokkan data ke dalam kategori tertentu. Fleksibilitas tersebut menjadikan ANN sebagai salah satu metode yang dapat digunakan untuk menyelesaikan permasalahan prediksi dan pengelompokan data (Huda & Handayani, 2023).

Penerapan ANN dapat dibedakan menjadi dua jenis permasalahan, yaitu regresi dan klasifikasi. Regresi digunakan untuk memodelkan hubungan antarvariabel dengan output berupa nilai numerik, sedangkan klasifikasi digunakan untuk mengelompokkan data ke dalam kategori tertentu berdasarkan karakteristik yang dimiliki. Dalam penerapannya, ANN memiliki beberapa komponen utama, yaitu input layer, hidden layer, dan output layer yang saling terhubung melalui bobot. Proses pembelajaran dilakukan dengan menyesuaikan bobot jaringan berdasarkan kesalahan prediksi sehingga model dapat menghasilkan keluaran yang sesuai dengan pola data.

Proses pembelajaran dilakukan dengan menyesuaikan bobot jaringan berdasarkan kesalahan prediksi sehingga model dapat menghasilkan keluaran yang sesuai dengan pola data. Dalam membangun model ANN, diperlukan perangkat lunak yang mampu mendukung proses pengolahan data, pembentukan arsitektur jaringan, pelatihan model, hingga evaluasi hasil pemodelan. Salah satu perangkat lunak yang dapat digunakan adalah bahasa pemrograman R karena menyediakan lingkungan komputasi statistik dan berbagai paket yang mendukung analisis data serta pemodelan machine learning. Implementasi ANN menggunakan R memungkinkan proses analisis dilakukan secara sistematis, mulai dari persiapan data, pembagian data menjadi data pelatihan dan pengujian, penentuan struktur jaringan, hingga proses prediksi. Dengan demikian, penggunaan R dapat membantu memahami tahapan implementasi ANN baik untuk permasalahan regresi maupun klasifikasi.

1.2 Rumusan Masalah

Berdasarkan latar belakang di atas, adapun rumusan masalah yang dapat disimpulkan sebagai berikut:

  1. Bagaimana konsep dan implementasi model Artificial Neural Network (ANN) untuk kasus regresi dan klasifikasi dengan menggunakan bahasa pemrograman R?
  2. Bagaimana performa model ANN yang dievaluasi menggunakan metrik MSE dan MAPE pada kasus regresi, serta akurasi dan presisi pada kasus klasifikasi?

1.3 Tujuan Penelitian

Adapun tujuan penelitian ini yaitu:

  1. Praktikan dapat memahami konsep dan mengimplementasikan model Artificial Neural Network (ANN) untuk regresi dan klasifikasi menggunakan bahasa pemrograman R.
  2. Praktikan dapat mengevaluasi performa model ANN menggunakan metrik evaluasi MSE dan MAPE untuk regresi, serta akurasi dan presisi untuk klasifikasi.

1.4 Manfaat Penelitian

Adapun manfaat yang didapatkan dari penelitian ini adalah sebagai berikut: 1. Bagi penulis: a. Dapat memberikan informasi serta pengetahuan tentang model Artificial Neural Network (ANN) untuk kasus regresi dan klasifikasi. b. Menerapkan ilmu atau wawasan baru mengenai program R-Studio. 2. Bagi pembaca: a. Menambah ilmu pengetahuan dan pemahaman tentang model Artificial Neural Network (ANN) untuk kasus regresi dan klasifikasi. b. Menjadi rujukan bagi peneliti selanjutnya.

1.5 Batasan Masalah

Adapun batasan masalah pada penelitian ini yaitu lakukan ANN regresi dengan hidden neuron = c(10, 20, 30) dengan data training 80% dan testing 20%. Kemudian buat dengan maxit = (250, 500). Kemudian interprestasikan output dengan jelas. Gunakan data Iris, Friedman, Breast Cancer, dan lain-lain.

BAB II TINJAUAN PUSTAKA

2.1 Machine Learning dan Pemodelan Prediktif

Machine learning merupakan cabang kecerdasan buatan yang berfokus pada pengembangan algoritma dan model yang memungkinkan komputer untuk belajar dari data, mengenali pola, serta membuat prediksi atau keputusan tanpa pemrograman langsung (Farhan, Puspasari, & Gasim, 2025). Secara umum, algoritma machine learning dikategorikan ke dalam supervised learning, unsupervised learning, dan reinforcement learning, dengan supervised learning sebagai pendekatan utama untuk tugas klasifikasi dan regresi karena menggunakan data berlabel. Dalam konteks supervised learning, tujuan utamanya adalah memodelkan fungsi yang mendasari hubungan statistik antara variabel fitur dan variabel target, seperti yang diformulasikan pada Persamaan (2.1) (Rashidi dkk., 2023).

\[ Y = f(X) + \varepsilon \tag{2.1} \] ## 2.2 Artificial Neural Network (ANN)

Artificial Neural Network (ANN) atau jaringan saraf tiruan merupakan salah satu metode dalam machine learning yang terinspirasi dari mekanisme kerja jaringan saraf biologis manusia. ANN dirancang untuk mempelajari pola dan hubungan antara variabel input dan output melalui proses pembelajaran berdasarkan data. Metode ini memiliki kemampuan dalam mengenali pola, memodelkan hubungan yang kompleks, serta menangani hubungan nonlinier yang sulit dijelaskan menggunakan pendekatan statistik konvensional (Lesmana, 2025).

ANN bekerja dengan menghubungkan sejumlah neuron buatan yang saling berinteraksi melalui bobot (weight) dan bias. Setiap neuron menerima masukan, melakukan perhitungan matematis, kemudian menghasilkan keluaran melalui fungsi aktivasi. Proses tersebut berlangsung secara berulang selama pelatihan hingga jaringan mampu mengenali pola data yang diberikan. Dengan mekanisme pembelajaran tersebut, ANN dapat digunakan untuk berbagai keperluan, seperti prediksi nilai numerik, peramalan, pengenalan pola, dan pengelompokan kategori (Huda & Handayani, 2023).

Proses pengolahan informasi pada suatu neuron secara matematis dapat dinyatakan sebagai berikut (Fransiska, 2026):

\[ y = f\left(\sum_{i=1}^{p} w_{i}x_{i} + b\right) \tag{2.2} \] dengan \(x_i\) merupakan masukan ke-\(i\), \(w_i\) adalah bobot yang menghubungkan masukan ke-\(i\) dengan neuron, \(b\) adalah bias, \(f\) merupakan fungsi aktivasi, dan \(y\) adalah keluaran neuron. Persamaan ini menunjukkan bahwa neuron menghitung kombinasi linier dari seluruh masukannya, menambahkan bias, lalu menerapkan fungsi aktivasi untuk menghasilkan keluaran. Beberapa fungsi aktivasi yang umum digunakan dalam ANN antara lain sebagai berikut (Fransiska, 2026):

  1. Sigmoid Biner: Sigmoid biner dirumuskan \[f(z)=\frac{1}{1+e^{-z}}\tag{2.3}\] dengan turunan \[f'(z)=f(z)\left[1-f(z)\right]\tag{2.4}\] yang digunakan pada hidden layer untuk menghasilkan nilai antara 0 dan 1.
  2. Hyperbolic Tangent (Tanh): Hyperbolic tangent dirumuskan \[f(x)=\frac{1-e^{-2x}}{1+e^{-2x}}=\tanh(x)\tag{2.5}\] dengan turunan \[f'(x)=1-\tanh^{2}(x)\tag{2.6}\] yang digunakan pada hidden layer dengan keluaran -1 dan 1.
  3. Rectified Linear Unit (ReLU): ReLU dirumuskan \[f(x)=\max(0,x)\tag{2.7}\] yang digunakan pada hidden layer untuk mempelajari pola non-linier dan mempercepat konvergensi.

Pemilihan fungsi aktivasi pada lapisan keluaran disesuaikan dengan jenis permasalahan yang dihadapi, misalnya fungsi linear untuk regresi dan fungsi sigmoid atau softmax untuk klasifikasi (Fransiska, 2026).

2.3 Proses Pembelajaran ANN

Pembelajaran dilakukan dengan menggunakan data pelatihan, di mana jaringan secara iteratif mengubah parameter-parameternya untuk meminimalkan kesalahan prediksi. Algoritma yang umum digunakan untuk melatih jaringan feedforward adalah backpropagation (Lusia dkk., 2025). Pembaruan bobot dan bias dilakukan berdasarkan gradien yang telah dihitung dengan menggunakan algoritma optimasi (Maszeri dkk., 2025). Secara umum, pembaruan bobot menggunakan gradient descent dapat dituliskan sebagai berikut (Fransiska, 2026):

\[ w_{ij}(t+1) = w_{ij}(t) - \eta \frac{\partial L}{\partial w_{ij}} \tag{2.8} \] dengan \(w_{ij}(t)\) adalah bobot pada iterasi ke-\(t\), \(\eta\) adalah laju pembelajaran (learning rate) yang menentukan seberapa besar perubahan bobot pada setiap iterasi, dan \(\frac{\partial L}{\partial w_{ij}}\) adalah gradien fungsi kerugian terhadap bobot tersebut. Persamaan ini menunjukkan bahwa bobot diperbarui ke arah yang berlawanan dengan gradien untuk meminimalkan nilai kerugian.

2.4 ANN untuk Regresi dan Klasifikasi

ANN digunakan untuk menyelesaikan dua jenis permasalahan utama, yaitu regresi dan klasifikasi, yang dibedakan berdasarkan bentuk keluarannya. Pada regresi, ANN memprediksi variabel respons berupa nilai numerik kontinu dan umumnya menggunakan fungsi aktivasi linear pada lapisan keluaran agar nilai prediksi sesuai dengan rentang variabel respons. Pada klasifikasi, ANN memprediksi variabel respons berupa kategori, apabila klasifikasi biner menggunakan satu neuron dengan fungsi sigmoid, sedangkan klasifikasi multikelas menggunakan fungsi softmax dengan jumlah probabilitas seluruh kelas sama dengan 1 (Fransiska, 2026).

2.5 Evaluasi Performa Model

Evaluasi performa model merupakan tahap penting untuk mengukur sejauh mana model mampu memprediksi data dengan benar, dan ukuran evaluasi harus disesuaikan dengan jenis permasalahan, yaitu ukuran galat untuk data numerik dan ukuran ketepatan klasifikasi untuk data kategorik. Pada permasalahan regresi, evaluasi dilakukan dengan membandingkan nilai aktual dan nilai hasil prediksi menggunakan metrik yang mengukur besarnya deviasi prediksi. Salah satu metrik yang umum digunakan adalah Mean Squared Error (MSE) yang dihitung sebagai rata-rata kuadrat selisih antara nilai aktual dan nilai prediksi (Rashidi dkk., 2023). MSE dirumuskan sebagai berikut:

\[ MSE = \frac{1}{n}\sum_{i=1}^{n}\left(y_{i} - \hat{y}_{i}\right)^{2} \tag{2.9} \] dengan \(y_i\) adalah nilai aktual observasi ke-\(i\), \(\hat{y}_i\) adalah nilai prediksi observasi ke-\(i\), dan \(n\) adalah jumlah observasi. Nilai MSE yang semakin kecil menunjukkan bahwa prediksi model semakin mendekati nilai aktual, sehingga model dinilai semakin baik. Selain MSE, Mean Absolute Percentage Error (MAPE) juga digunakan untuk mengukur galat prediksi dalam bentuk persentase, yang dirumuskan sebagai berikut (Fransiska, 2026):

\[ MAPE = \frac{1}{n}\sum_{i=1}^{n}\left|\frac{y_{i} - \hat{y}_{i}}{y_{i}}\right| \times 100\% \tag{2.10} \] dengan \(y_i\) adalah nilai aktual, \(\hat{y}_i\) adalah nilai prediksi, dan \(n\) adalah jumlah observasi. MAPE menyatakan galat relatif terhadap nilai aktual sehingga memudahkan interpretasi tingkat akurasi prediksi dalam satuan persen.

BAB III METODE PENELITIAN

3.1 Jenis dan Sumber Data

Jenis data yang digunakan dalam penelitian ini adalah data numerik, yaitu data yang menunjukkan nilai pengukuran dalam bentuk angka. Seluruh variabel pada data tersebut, baik variabel respons maupun variabel prediktor, bertipe numerik. Data yang digunakan berasal dari hasil pembangkitan data simulasi Friedman yang disajikan dalam bentuk angka.

Sumber data yang digunakan dalam penelitian ini adalah data sekunder. Data sekunder merupakan data yang telah tersedia dari pihak lain dan dapat dimanfaatkan kembali untuk keperluan penelitian. Dataset Friedman diperoleh dari package mlbench pada perangkat lunak R. Dataset tersebut terdiri atas 500 observasi.

3.2 Variabel Penelitian

Variabel merupakan karakteristik atau atribut yang dapat diukur maupun diamati dalam suatu penelitian. Penelitian ini menggunakan sebelas variabel, yaitu \(X_1\), \(X_2\), \(X_3\), \(X_4\), \(X_5\), \(X_6\), \(X_7\), \(X_8\), \(X_9\), \(X_{10}\), dan \(y\). Variabel \(y\) berperan sebagai variabel respons yang bertipe numerik. Sepuluh variabel lainnya berperan sebagai variabel prediktor yang bertipe numerik dengan skala 0 sampai 1.

3.3 Analisis Data

Berikut merupakan algoritma penelitian pada batasan masalah:

  1. Input data.
  2. Statistik deskriptif.
  3. Normalisasi variabel.
  4. Pembagian data training dan testing.
  5. Penentuan kombinasi hidden neuron.
  6. Bentuk model ANN regresi pada data training.
  7. Prediksi data testing.
  8. Evaluasi model.
  9. Pemilihan model terbaik.
  10. Visualisasi jaringan dan bobot model terbaik.
  11. Analisis variable importance.
  12. Output.
  13. Interpretasi.

BAB IV HASIL DAN PEMBAHASAN

4.1 Library

# Memanggil library
library(nnet)
library(NeuralNetTools)
library(mlbench)

Pada tahap awal analisis dilakukan pemanggilan beberapa library yang diperlukan dalam proses implementasi Artificial Neural Network (ANN) menggunakan bahasa pemrograman R. Library nnet digunakan untuk membangun dan melatih model jaringan saraf tiruan, baik untuk permasalahan regresi maupun klasifikasi. Selanjutnya, library NeuralNetTools digunakan untuk membantu visualisasi dan interpretasi struktur jaringan saraf, seperti hubungan antar-neuron dan bobot jaringan yang terbentuk. Sementara itu, library mlbench digunakan untuk menyediakan dataset yang dapat dimanfaatkan dalam proses pembelajaran dan pengujian model. Pemanggilan ketiga library tersebut bertujuan untuk mendukung seluruh tahapan analisis, mulai dari penyediaan data, pembentukan model ANN, hingga visualisasi hasil pemodelan.

4.2 Statistik Deskriptif

# Membangkitkan dan mengeksplorasi data
set.seed(30)
friedman <- mlbench.friedman1(500, sd = 1)
friedman <- data.frame(friedman$x, y = friedman$y)

head(friedman)
##           X1        X2        X3        X4        X5          X6        X7
## 1 0.09878282 0.2337198 0.8134364 0.2166913 0.1648171 0.129914033 0.3524098
## 2 0.48823179 0.4146609 0.5733046 0.1702545 0.9194502 0.374660176 0.6136658
## 3 0.36403673 0.8958963 0.8568022 0.9256487 0.7059385 0.307438324 0.2934860
## 4 0.42061913 0.4226774 0.3797753 0.9379595 0.6445702 0.457480700 0.5718492
## 5 0.30096439 0.2268191 0.1342575 0.8008052 0.5857520 0.497444816 0.2342272
## 6 0.14763513 0.7056860 0.3146560 0.2459586 0.9210742 0.003689917 0.3407659
##          X8         X9        X10         y
## 1 0.2300168 0.07910943 0.03245699  6.131172
## 2 0.3131174 0.90087988 0.55327314 12.476395
## 3 0.3992220 0.63464270 0.04383683 23.027661
## 4 0.7831769 0.89313336 0.47230876 18.675205
## 5 0.1832471 0.54873081 0.07798014 15.987934
## 6 0.5749358 0.11233936 0.39338890  9.874722
summary(friedman)
##        X1                 X2                  X3                 X4          
##  Min.   :0.001377   Min.   :0.0001353   Min.   :0.002613   Min.   :0.002803  
##  1st Qu.:0.199486   1st Qu.:0.2368477   1st Qu.:0.248252   1st Qu.:0.224867  
##  Median :0.450658   Median :0.5074854   Median :0.471229   Median :0.495703  
##  Mean   :0.473834   Mean   :0.5006868   Mean   :0.491370   Mean   :0.494514  
##  3rd Qu.:0.729503   3rd Qu.:0.7551165   3rd Qu.:0.755294   3rd Qu.:0.759337  
##  Max.   :0.999493   Max.   :0.9998430   Max.   :0.996637   Max.   :0.998739  
##        X5                 X6                 X7                 X8          
##  Min.   :0.003269   Min.   :0.001808   Min.   :0.001806   Min.   :0.003325  
##  1st Qu.:0.232835   1st Qu.:0.262993   1st Qu.:0.251932   1st Qu.:0.238626  
##  Median :0.495492   Median :0.533648   Median :0.475157   Median :0.502035  
##  Mean   :0.483932   Mean   :0.512196   Mean   :0.484222   Mean   :0.504746  
##  3rd Qu.:0.735052   3rd Qu.:0.750860   3rd Qu.:0.721226   3rd Qu.:0.762835  
##  Max.   :0.998573   Max.   :0.999912   Max.   :0.998182   Max.   :0.999145  
##        X9                X10                 y         
##  Min.   :0.003881   Min.   :0.001582   Min.   : 1.681  
##  1st Qu.:0.281453   1st Qu.:0.260162   1st Qu.:10.355  
##  Median :0.492720   Median :0.486876   Median :13.971  
##  Mean   :0.500908   Mean   :0.502648   Mean   :13.938  
##  3rd Qu.:0.720268   3rd Qu.:0.754341   3rd Qu.:17.731  
##  Max.   :0.999320   Max.   :0.998455   Max.   :29.243
nrow(friedman)
## [1] 500

Pada tahap ini dilakukan pembangkitan data menggunakan fungsi mlbench.friedman1() dari paket mlbench dengan jumlah sebanyak 500 pengamatan dan standar deviasi sebesar 1. Penggunaan set.seed(30) bertujuan agar data yang dibangkitkan menghasilkan nilai yang konsisten ketika proses dijalankan kembali. Data yang dihasilkan kemudian diubah menjadi bentuk data frame dengan variabel prediktor X1 hingga X10 dan variabel respons y. Berdasarkan hasil eksplorasi menggunakan fungsi head() dan summary(), diketahui bahwa dataset terdiri atas 10 variabel prediktor dan 1 variabel respons. Seluruh variabel prediktor memiliki nilai minimum mendekati 0 dan maksimum mendekati 1, dengan nilai rata-rata yang berada di sekitar 0,5. Sementara itu, variabel respons y memiliki nilai minimum sebesar 1,681, maksimum sebesar 29,243, dan rata-rata sebesar 13,938. Berdasarkan fungsi nrow(), diketahui bahwa jumlah keseluruhan data adalah 500 pengamatan. Dengan demikian, dataset Friedman1 memiliki struktur data numerik yang dapat digunakan untuk membangun model Artificial Neural Network (ANN) pada kasus regresi.

4.3 Normalisasi dan Pembagian Data

# Menormalisasi variabel prediktor dengan min-max
normalisasi <- function(x) (x - min(x)) / (max(x) - min(x))

prediktor <- setdiff(names(friedman), "y")
friedman[prediktor] <- lapply(friedman[prediktor], normalisasi)

# Membagi data menjadi data latih (80%) dan data uji (20%)
set.seed(30)
index <- sample(1:nrow(friedman), round(0.8 * nrow(friedman)))

train <- friedman[index, ]
nrow(train)
## [1] 400
test <- friedman[-index, ]
nrow(test)
## [1] 100

Pada tahap ini dilakukan normalisasi terhadap seluruh variabel prediktor menggunakan metode Min-Max Normalization. Normalisasi bertujuan untuk menyamakan skala nilai setiap variabel prediktor ke dalam rentang 0 hingga 1 sehingga proses pembelajaran model ANN dapat berjalan lebih optimal. Fungsi normalisasi diterapkan pada variabel X1 hingga X10, sedangkan variabel respons y tidak dilakukan normalisasi. Selanjutnya, dataset dibagi menjadi data training dan data testing dengan proporsi 80% dan 20%. Pembagian data dilakukan menggunakan fungsi sample() dengan set.seed(30) agar hasil pembagian data tetap konsisten ketika program dijalankan kembali. Berdasarkan hasil pembagian, diperoleh sebanyak 400 pengamatan sebagai data latih dan 100 pengamatan sebagai data uji dari total 500 pengamatan. Data latih digunakan untuk membangun dan melatih model ANN, sedangkan data uji digunakan untuk mengevaluasi kemampuan model dalam melakukan prediksi terhadap data yang tidak digunakan selama proses pelatihan.

4.4 Model ANN Regresi

# Menentukan formula ANN regresi
i <- names(train)

form <- as.formula(
  paste(
    "y ~",
    paste(i[!i %in% "y"], collapse = " + ")
  )
)

# Menentukan kombinasi hidden neuron dan maxit
neuron_set <- c(10, 20, 30)
maxit_set  <- c(250, 500)

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

# Membangun model ANN regresi untuk setiap kombinasi
for (n in neuron_set) {
  for (m in maxit_set) {
    
    set.seed(30)
    nn <- nnet.formula(
      form,
      size = n,
      data = train,
      linout = TRUE,
      maxit = m,
      trace = FALSE,
      MaxNWts = 5000
    )
    
    # Melakukan prediksi pada data uji
    predict_regresi <- predict(
      nn,
      newdata = test,
      type = "raw"
    )
    
    # Menghitung error prediksi
    error <- test$y - as.numeric(predict_regresi)
    
    # Evaluasi model menggunakan MSE dan MAPE
    MSE  <- mean(error^2)
    MAPE <- mean(abs(error / test$y)) * 100
    
    hasil <- rbind(hasil, data.frame(
      Hidden_Neuron = n,
      Maxit = m,
      MSE = round(MSE, 4),
      MAPE = round(MAPE, 4)
    ))
    
    model_list[[paste0("size", n, "_maxit", m)]] <- nn
  }
}

Pada tahap ini dilakukan pembentukan model Artificial Neural Network (ANN) untuk kasus regresi menggunakan paket nnet pada bahasa pemrograman R. Pemodelan diawali dengan menentukan formula yang terdiri atas variabel respons y dan variabel prediktor X1 hingga X10. Selanjutnya, dilakukan percobaan menggunakan kombinasi jumlah hidden neuron sebanyak 10, 20, dan 30 neuron serta jumlah iterasi maksimum (maxit) sebanyak 250 dan 500 iterasi sehingga diperoleh enam kombinasi model ANN. Proses pelatihan dilakukan menggunakan fungsi nnet.formula() dengan parameter linout = TRUE yang menunjukkan bahwa model digunakan untuk memprediksi nilai numerik. Setelah proses pelatihan selesai, model digunakan untuk memprediksi 100 data pengujian. Hasil prediksi kemudian dibandingkan dengan nilai aktual untuk memperoleh nilai kesalahan. Evaluasi performa setiap model dilakukan menggunakan metrik Mean Squared Error (MSE) dan Mean Absolute Percentage Error (MAPE). Seluruh hasil evaluasi disimpan dalam objek hasil, sedangkan model yang terbentuk disimpan dalam model_list untuk memudahkan perbandingan dan penentuan kombinasi arsitektur ANN dengan tingkat kesalahan prediksi paling rendah.

4.5 Evaluasi Performa Model

# Menampilkan perbandingan seluruh model
hasil
##   Hidden_Neuron Maxit     MSE    MAPE
## 1            10   250  1.3440  7.7310
## 2            10   500  1.4750  8.1948
## 3            20   250 22.7449 37.2492
## 4            20   500 22.7449 37.2492
## 5            30   250 14.1214 17.7962
## 6            30   500 17.8284 17.1441
# Menentukan model terbaik berdasarkan MSE terkecil
terbaik <- hasil[which.min(hasil$MSE), ]
terbaik
##   Hidden_Neuron Maxit   MSE  MAPE
## 1            10   250 1.344 7.731
nn_terbaik <- model_list[[paste0("size", terbaik$Hidden_Neuron,
                                 "_maxit", terbaik$Maxit)]]

Pada tahap ini dilakukan perbandingan terhadap seluruh kombinasi model ANN regresi berdasarkan nilai MSE dan MAPE yang telah diperoleh sebelumnya. Pemilihan model terbaik dilakukan dengan mempertimbangkan nilai MSE terkecil sebagai kriteria utama. Berdasarkan hasil evaluasi, diperoleh model terbaik dengan jumlah hidden neuron sebanyak 10 dan iterasi maksimum (maxit) sebanyak 250. Model tersebut menghasilkan nilai MSE sebesar 1,344 dan MAPE sebesar 7,731%. Selanjutnya, model terbaik disimpan dalam objek nn_terbaik untuk digunakan pada tahap analisis berikutnya. Dengan demikian, kombinasi 10 hidden neuron dan 250 iterasi dipilih sebagai model ANN regresi terbaik berdasarkan nilai MSE terkecil.

4.6 Visualisasi Jaringan dan Bobot

# Visualisasi jaringan saraf tiruan
plotnet(nn_terbaik)
Gambar 4.1 Arsitektur ANN model terbaik

Gambar 4.1 Arsitektur ANN model terbaik

# Menampilkan bobot jaringan saraf
neuralweights(nn_terbaik)
## $struct
## [1] 10 10  1
## 
## $wts
## $wts$`hidden 1 1`
##  [1] -7.80407461  3.97295491  3.90657000 -0.17396073 -0.78351109 -0.06593324
##  [7] -0.49037317  0.27819712 -0.29358838  0.19766728 -0.16585979
## 
## $wts$`hidden 1 2`
##  [1]  -5.096052  50.530500  -8.537806  -4.836132  22.589075 -23.204094
##  [7] -56.893822 -28.349058 -80.967380 -68.763807 -68.400139
## 
## $wts$`hidden 1 3`
##  [1] -2.108907615 -0.684835751 -0.533478304  2.072070884  0.491185102
##  [6]  0.128283359 -0.228118865  0.006764879 -0.068352883  0.025990380
## [11]  0.027273642
## 
## $wts$`hidden 1 4`
##  [1]  0.38305935 -0.58508541 -0.86674031 -2.30429779  0.28034844  0.15636053
##  [7] -0.31855706  0.09950462 -0.21328695  0.15220661  0.10857648
## 
## $wts$`hidden 1 5`
##  [1] -3.65939476  3.09534195  2.66895382  0.28950093  0.38776621  0.37857588
##  [7]  0.41802565 -0.13315090  0.02139233 -0.17443405 -0.17106942
## 
## $wts$`hidden 1 6`
##  [1] -19.628609  -9.424175  -7.961362   9.175944   1.360703  -5.978203
##  [7]   8.810297  -2.111998   2.272506   5.880087  -9.060686
## 
## $wts$`hidden 1 7`
##  [1] -4.3488225 13.1119051  1.1995530  1.9186722  0.1667808 -0.3011422
##  [7]  2.3145486 -0.6424809  1.5695887 -0.3176131 -0.9521594
## 
## $wts$`hidden 1 8`
##  [1] -1.6381979 -2.6205101  7.7149223  1.3584583  0.3721878  0.4652638
##  [7]  1.7469109 -0.0192204  1.1701574 -0.9991334  0.1094388
## 
## $wts$`hidden 1 9`
##  [1] -22.908856 -28.724249  -5.424186  10.100647  30.317514  47.092379
##  [7] -55.946561  34.093638  22.317970  43.845995 -26.338034
## 
## $wts$`hidden 1 10`
##  [1]  -6.458966  29.668200 -22.979148  11.242072   5.615700 -48.325822
##  [7]  -9.465050   2.933432 -68.675193 -59.971086 -68.102589
## 
## $wts$`out 1`
##  [1] -31.1746167 -43.6368970  72.8824550  47.3022718  49.8953592  30.1049526
##  [7]  -7.6468565   5.4420428   8.5658348   0.9493977  29.6052564

Gambar 4.1 memperlihatkan struktur arsitektur model ANN terbaik yang memiliki 10 neuron pada lapisan input, 10 neuron pada satu lapisan tersembunyi, dan 1 neuron pada lapisan output. Susunan jaringan tersebut ditunjukkan melalui keluaran $struct dengan struktur 10-10-1. Model ini memiliki total 121 bobot, yang terdiri atas 110 bobot penghubung dari lapisan input ke lapisan tersembunyi dan 11 bobot dari lapisan tersembunyi ke lapisan output, termasuk bobot bias. Selanjutnya, keluaran neuralweights menunjukkan nilai bobot pada masing-masing neuron tersembunyi, dengan elemen pertama sebagai bias dan sepuluh elemen berikutnya sebagai bobot yang berasal dari variabel X1 hingga X10. Bobot yang dihasilkan memiliki rentang nilai cukup besar, yaitu sekitar -185 hingga 190. Beberapa neuron, khususnya neuron pertama, ketiga, kedelapan, kesembilan, dan kesepuluh, memiliki nilai bobot relatif besar dibandingkan neuron lainnya. Kondisi tersebut mengindikasikan adanya kemungkinan beberapa neuron mengalami saturasi pada fungsi aktivasi sehingga perlu diperhatikan dalam interpretasi perilaku model.

4.7 Variable Importance

# Visualisasi tingkat kepentingan variabel
olden(nn_terbaik)
Gambar 4.2 *Variable importance* model terbaik

Gambar 4.2 Variable importance model terbaik

Variable importance menggambarkan besarnya peran masing-masing variabel prediktor dalam menghasilkan prediksi model. Fungsi olden digunakan untuk menghitung tingkat kepentingan setiap prediktor berdasarkan kombinasi bobot koneksi antara lapisan input, lapisan tersembunyi, dan lapisan output. Semakin tinggi batang variabel yang ditampilkan pada Gambar 4.2, semakin besar kontribusi variabel tersebut terhadap hasil prediksi model.

BAB V PENUTUP

5.1 Kesimpulan

Artificial Neural Network (ANN) merupakan salah satu metode pembelajaran mesin yang dapat digunakan untuk menganalisis hubungan antara variabel prediktor dan variabel respons, baik dalam permasalahan regresi maupun klasifikasi. Oleh karena itu, diperlukan pemahaman mengenai konsep, tahapan penerapan, serta implementasi metode ANN menggunakan perangkat lunak R. Selain itu, evaluasi kinerja model juga perlu dilakukan untuk mengetahui kemampuan model dalam menghasilkan prediksi, dengan menggunakan ukuran evaluasi MSE dan MAPE pada regresi serta accuracy dan precision pada klasifikasi.

Berdasarkan seluruh tahapan analisis yang telah dilakukan, penerapan metode Artificial Neural Network (ANN) menggunakan R diawali dengan pembentukan data simulasi Friedman1 sebanyak 500 pengamatan yang terdiri atas 10 variabel prediktor dan satu variabel respons. Selanjutnya, dilakukan normalisasi data prediktor menggunakan metode Min-Max serta pembagian data menjadi 80% data training dan 20% data testing. Pemodelan ANN dilakukan dengan mengombinasikan variasi jumlah neuron pada lapisan tersembunyi dan jumlah iterasi (maxit) sehingga diperoleh enam model yang kemudian dievaluasi menggunakan nilai MSE dan MAPE. Berdasarkan hasil evaluasi, model terbaik diperoleh pada kombinasi 10 neuron dan 250 iterasi dengan nilai MSE sebesar 1,344 dan MAPE sebesar 7,731%. Model tersebut memiliki arsitektur jaringan 10-10-1 dengan total 121 bobot, termasuk bobot bias. Selain itu, analisis variable importance menggunakan fungsi olden dilakukan untuk mengetahui kontribusi masing-masing variabel prediktor terhadap hasil prediksi. Dengan demikian, metode ANN dapat diterapkan untuk pemodelan regresi serta mampu menghasilkan prediksi dengan tingkat kesalahan yang dapat dievaluasi melalui nilai MSE dan MAPE.

5.2 Saran

Laporan praktikum ini melakukan pemograman R. Dalam hal ini perlu memahami sintak yang diperlukan dalam hal pengerjaannya ini agar tidak terjadi error pada programnya. Dan juga sangat perlu memahami tentang metode Artificial Neural Network.

DAFTAR PUSTAKA

Farhan, M., Puspasari, S., & Gasim, G. (2025). Analisis Sentimen Supporter Sriwijaya FC Berbasis Manchine Learning. Jurnal Algoritme, 6(1), 37–49. https://doi.org/10.35957/algoritme.v6i1.11288

Fransiska, H. (2026). Modul Praktikum Machine Learning and Modern Prediction. Bengkulu: 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), 1–17.

Lusia, D. A., Semathea, K., Sumarminingsih, E., & Efendi, A. (2025). PERBANDINGAN METODE JARINGAN SARAF TIRUAN, FUZZY, DAN ANFIS PADA PERAMALAN DATA INFLASI INDONESIA. Jurnal Teknologi Informasi dan Ilmu Komputer, 11(3), 653–660.

Maszeri, Mokhlis, Shohibuddin, M., Badriyah, K., Qomaruddin, Utami, T. H., Shohir, Hamdani, Rafiuddin, Fahmi, A. S., Listiana, H., Munawwarah, F., Mahendra, Y., Timamah, I., Jannah, F., & Permatasari, I. D. (2025). DEEP LEARNING DALAM PENDIDIKAN DAN ARTIFICIAL INTELLEGENCE. Yayasan Putra Adi Dharma.

Rashidi, H. H., Albahra, S., Robertson, S., Tran, N. K., & Hu, B. (2023). Common statistical concepts in the supervised Machine Learning arena. Frontiers in Oncology, 13(1), 1–14. https://doi.org/10.3389/fonc.2023.1130229