BAB I PENDAHULUAN

1.1 Latar Belakang Masalah

Artificial Neural Network (ANN) merupakan salah satu metode machine learning yang terinspirasi dari mekanisme kerja jaringan saraf manusia untuk mempelajari pola dan hubungan antarvariabel dalam data. ANN terdiri atas beberapa lapisan, yaitu lapisan masukan (input layer), lapisan tersembunyi (hidden layer), dan lapisan keluaran (output layer). Setiap neuron menerima masukan yang diproses menggunakan bobot (weight), bias, dan fungsi aktivasi untuk menghasilkan keluaran. Salah satu algoritma pembelajaran ANN adalah backpropagation yang digunakan untuk menyesuaikan bobot jaringan berdasarkan kesalahan prediksi melalui tahapan forward propagation, backward propagation, dan pembaruan bobot (Ikhsan dkk., 2022).

ANN dapat diterapkan untuk menyelesaikan permasalahan regresi maupun klasifikasi berdasarkan karakteristik variabel respons. ANN regresi digunakan untuk memprediksi nilai numerik kontinu, sedangkan ANN klasifikasi digunakan untuk mengelompokkan data ke dalam kategori tertentu. Proses pembelajaran kedua jenis ANN tersebut memerlukan pengaturan arsitektur jaringan, jumlah neuron pada hidden layer, fungsi aktivasi, serta parameter pembelajaran untuk memperoleh model yang sesuai. Penerapan ANN dengan algoritma backpropagation untuk memprediksi Indeks Pembangunan Manusia menunjukkan penggunaan metode ini dalam pemodelan hubungan antara variabel prediktor dan variabel respons (Supriana dkk., 2025).

Penerapan ANN untuk regresi dan klasifikasi memerlukan evaluasi untuk mengetahui kemampuan model dalam menghasilkan prediksi yang sesuai dengan nilai aktual. Evaluasi ANN regresi dapat menggunakan Mean Squared Error (MSE) dan Mean Absolute Percentage Error (MAPE) untuk mengukur tingkat kesalahan prediksi. Evaluasi ANN klasifikasi dapat menggunakan accuracy dan precision berdasarkan perbandingan antara kelas aktual dan kelas hasil prediksi melalui confusion matrix. Penerapan ANN dengan algoritma backpropagation untuk klasifikasi penilaian penjualan produk Blackmores di Tokopedia menunjukkan pemanfaatan jaringan saraf tiruan dalam menyelesaikan permasalahan klasifikasi (Aini dkk., 2023).

1.2 Rumusan Masalah

  1. Bagaimana memahami konsep dan mengimplementasikan model Artificial Neural Network (ANN) untuk regresi dan klasifikasi menggunakan bahasa pemrograman R?
  2. Bagaimana mengevaluasi performa model ANN menggunakan metrik Mean Squared Error (MSE) dan Mean Absolute Percentage Error (MAPE) untuk regresi serta accuracy dan precision untuk klasifikasi?

1.3 Tujuan

  1. Mahasiswa dapat memahami konsep dan mengimplementasikan model Artificial Neural Network (ANN) untuk regresi dan klasifikasi menggunakan bahasa pemrograman R.
  2. Mahasiswa dapat mengevaluasi performa model ANN menggunakan metrik Mean Squared Error (MSE) dan Mean Absolute Percentage Error (MAPE) untuk regresi serta accuracy dan precision untuk klasifikasi.

BAB II TINJAUAN PUSTAKA

2.1 Artificial Neural Network (ANN)

Artificial Neural Network (ANN) atau jaringan saraf tiruan merupakan metode komputasi yang terinspirasi dari cara kerja jaringan saraf manusia dalam mengolah informasi. Metode ini terdiri atas sejumlah neuron yang saling terhubung melalui bobot (weight) dan dilengkapi dengan bias. Setiap neuron menerima masukan, melakukan perhitungan, kemudian menghasilkan keluaran berdasarkan fungsi aktivasi yang digunakan. Kemampuan ANN dalam mempelajari pola hubungan antarvariabel menjadikannya dapat diterapkan pada berbagai permasalahan prediksi dan klasifikasi (Fransiska, 2026).

Struktur ANN umumnya terdiri atas tiga bagian, yaitu input layer, hidden layer, dan output layer. Input layer menerima variabel masukan, hidden layer memproses informasi melalui kombinasi bobot dan fungsi aktivasi, sedangkan output layer menghasilkan keluaran model. Jumlah lapisan tersembunyi dan neuron yang digunakan dapat disesuaikan dengan kompleksitas permasalahan yang dianalisis. Hubungan antara masukan dan keluaran neuron secara umum dapat dituliskan sebagai berikut (Ikhsan dkk., 2022).

\[ y = f\left(\sum_{i=1}^{p} w_i x_i + b\right) \]

Keterangan:

  • \(y\) = keluaran neuron.
  • \(f\) = fungsi aktivasi.
  • \(w_i\) = bobot pada masukan ke-\(i\).
  • \(x_i\) = nilai masukan ke-\(i\).
  • \(b\) = bias.
  • \(p\) = jumlah variabel masukan.

Proses pembelajaran ANN dilakukan melalui algoritma backpropagation yang bertujuan memperoleh bobot dan bias terbaik agar selisih antara hasil prediksi dan nilai aktual semakin kecil. Proses tersebut terdiri atas forward propagation, yaitu tahap menghitung keluaran jaringan, dan backward propagation, yaitu tahap menghitung kesalahan serta memperbarui bobot berdasarkan gradien kesalahan. Pembaruan parameter dilakukan secara berulang hingga mencapai jumlah iterasi yang ditentukan atau kriteria penghentian tertentu. Fungsi aktivasi seperti sigmoid, tanh, dan ReLU digunakan untuk membantu jaringan mempelajari hubungan yang bersifat nonlinier (Fransiska, 2026).

2.2 Artificial Neural Network 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) 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.
  2. Mean Absolute Percentage Error (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.2 Artificial Neural Network 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) merupakan ukuran yang digunakan untuk mengetahui persentase jumlah prediksi yang benar dibandingkan dengan seluruh data yang diuji.
  2. Presisi (Precision) 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 Sumber Data

Data yang digunakan dalam penelitian ini merupakan data sekunder yang diperoleh dari dataset iris yang tersedia secara bawaan pada perangkat lunak R. Dataset tersebut terdiri atas 150 observasi dengan empat variabel prediktor dan satu variabel respons. Variabel respons berupa jenis bunga Iris yang terbagi menjadi tiga kategori, yaitu Setosa, Versicolor, dan Virginica, dengan masing-masing kategori terdiri atas 50 observasi.

3.2 Variabel Penelitian

Variabel yang digunakan dalam penelitian ini terdiri atas empat variabel prediktor dan satu variabel respons. Variabel prediktor meliputi Sepal.Length yang menunjukkan panjang kelopak bunga, Sepal.Width yang menunjukkan lebar kelopak bunga, Petal.Length yang menunjukkan panjang mahkota bunga, dan Petal.Width yang menunjukkan lebar mahkota bunga. Sedangkan, variabel respons yang digunakan adalah Species, yaitu jenis bunga Iris yang terdiri atas tiga kategori, yaitu Setosa, Versicolor, dan Virginica. Keempat variabel prediktor digunakan sebagai masukan dalam pembentukan model Artificial Neural Network (ANN), sedangkan variabel respons digunakan sebagai target dalam proses klasifikasi.

3.3 Langkah-langkah Analisis

Langkah-langkah analisis klasifikasi menggunakan metode Artificial Neural Network (ANN) pada dataset Iris adalah sebagai berikut:

  1. Persiapan data.
  2. Membagi data menjadi data training dan data testing dengan proporsi 80%:20% dan 60%:40%..
  3. Membentuk model ANN dengan jumlah hidden neuron sebanyak 10, 20, dan 30.
  4. Melakukan pelatihan model ANN menggunakan data training.
  5. Melakukan prediksi klasifikasi menggunakan data testing.
  6. Mengevaluasi kinerja model menggunakan confusion matrix, akurasi, dan presisi.
  7. Visualisasi dan eksplorasi model ANN.
  8. Perbandingan hasil model ANN untuk menentukan model klasifikasi terbaik.
  9. Kesimpulan dan interpretasi.

BAB IV HASIL DAN PEMBAHASAN

Pada batasan masalah, diminta untuk melakukan analisis klasifikasi menggunakan metode Artificial Neural Network (ANN) pada dataset Iris dengan variasi jumlah hidden neuron sebesar 10, 20, dan 30, serta dua proporsi pembagian data, yaitu 80% data training dan 20% data testing, serta 60% data training dan 40% data testing. Selanjutnya, dilakukan evaluasi kinerja model menggunakan confusion matrix dan accuracy untuk mengetahui kemampuan ANN dalam mengklasifikasikan jenis bunga Iris.

4.1 Persiapan Data

Tahap persiapan data dilakukan dengan memanggil library nnet dan NeuralNetTools, kemudian input dataset iris. Selanjutnya, dilakukan pemeriksaan struktur data dan distribusi variabel respons untuk mengetahui jumlah pengamatan pada setiap kategori.

Sintaks yang digunakan adalah sebagai berikut:

# Persiapan Data
library(nnet)
library(NeuralNetTools)

data(iris)

nrow(iris)
## [1] 150
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 ...
# Distribusi variabel respons
table(iris$Species)
## 
##     setosa versicolor  virginica 
##         50         50         50
prop.table(table(iris$Species))*100
## 
##     setosa versicolor  virginica 
##   33.33333   33.33333   33.33333

Hasil distribusi variabel respons adalah sebagai berikut:

Tabel 4.1 Distribusi Variabel Respons

Kategori Species Frekuensi Persentase
Setosa 50 33,33%
Versicolor 50 33,33%
Virginica 50 33,33%
Total 150 100%

Berdasarkan Tabel 4.1, masing-masing jenis bunga Iris memiliki jumlah pengamatan yang sama, yaitu sebanyak 50 data atau sebesar 33,33% dari keseluruhan dataset. Hal ini menunjukkan bahwa distribusi variabel respons bersifat seimbang karena setiap kategori memiliki proporsi yang sama.

4.2 Pembagian Data Training dan Testing

Pembagian data dilakukan untuk memisahkan pengamatan yang digunakan dalam proses pelatihan dan pengujian model. Analisis ini menggunakan dua proporsi pembagian data, yaitu 80% untuk training dan 20% untuk testing, serta 60% untuk training dan 40% untuk testing. Proses pengambilan sampel dilakukan secara acak menggunakan set.seed(917).

Sintaks yang digunakan adalah sebagai berikut:

# Pembagian Data Training dan Testing
prop_train <- c(0.8, 0.6)

for (p in prop_train) {
  set.seed(917)

  index <- sample(1:nrow(iris),
                  round(p*nrow(iris)))

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

  cat("Proporsi Training:", p*100, "%\n")
  cat("Jumlah Data Training:", nrow(train), "\n")
  cat("Jumlah Data Testing:", nrow(test), "\n")
}
## Proporsi Training: 80 %
## Jumlah Data Training: 120 
## Jumlah Data Testing: 30 
## Proporsi Training: 60 %
## Jumlah Data Training: 90 
## Jumlah Data Testing: 60

Diperoleh hasil pembagian data sebagai berikut:

Tabel 4.2 Pembagian Data Training dan Testing

Proporsi Training:Testing Data Training Data Testing Total
80%:20% 120 30 150
60%:40% 90 60 150

Berdasarkan Tabel 4.2, pembagian data 80%:20% menghasilkan 120 pengamatan untuk pelatihan dan 30 pengamatan untuk pengujian. Sementara itu, pembagian data 60%:40% menghasilkan 90 pengamatan untuk pelatihan dan 60 pengamatan untuk pengujian.

4.3 Pembentukan Model Artificial Neural Network

Pembentukan model ANN dilakukan menggunakan package nnet dengan pendekatan klasifikasi multikelas. Variabel Species digunakan sebagai respons, sedangkan 4 karakteristik bunga Iris digunakan sebagai variabel prediktor.

Penelitian ini menggunakan 3 variasi jumlah neuron pada lapisan tersembunyi, yaitu 10, 20, dan 30 neuron. Kombinasi ketiga variasi tersebut dengan dua proporsi pembagian data menghasilkan 6 model ANN yang akan dibandingkan. Setiap model dilatih dengan jumlah iterasi maksimum sebanyak 500.

# Pembentukan Model ANN
hidden <- c(10, 20, 30)
prop_train <- c(0.8, 0.6)

model_simpan <- list()

for (p in prop_train) {

  set.seed(917)
  index <- sample(1:nrow(iris),
                  round(p*nrow(iris)))

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

  # Membentuk formula ANN
  i <- names(train)
  form <- as.formula(paste(
    "Species ~",
    paste(i[!i %in% "Species"],
          collapse = " + ")
  ))

  for (h in hidden) {

    set.seed(917)

    nn <- nnet.formula(
      form,
      size = h,
      data = train,
      maxit = 500,
      MaxNWts = 10000,
      trace = FALSE
    )

    nama <- paste0("p", p*100, "_h", h)
    model_simpan[[nama]] <- nn
  }
}

# Menampilkan struktur jaringan
sapply(model_simpan, function(x) {
  paste(neuralweights(x)$struct, collapse = "-")
})
##  p80_h10  p80_h20  p80_h30  p60_h10  p60_h20  p60_h30 
## "4-10-3" "4-20-3" "4-30-3" "4-10-3" "4-20-3" "4-30-3"

Sintaks tersebut digunakan untuk membentuk 6 model ANN berdasarkan kombinasi proporsi data dan jumlah hidden neuron. Argumen size digunakan untuk menentukan jumlah neuron pada lapisan tersembunyi, sedangkan maxit = 500 menunjukkan batas maksimum iterasi selama pelatihan. Setiap model disimpan menggunakan nama yang menunjukkan proporsi data dan jumlah neuron.

Tabel 4.3 Model Artificial Neural Network

Model Training:Testing Input Neuron Hidden Neuron Output Neuron Arsitektur
1 80%:20% 4 10 3 ANN (4–10–3)
2 80%:20% 4 20 3 ANN (4–20–3)
3 80%:20% 4 30 3 ANN (4–30–3)
4 60%:40% 4 10 3 ANN (4–10–3)
5 60%:40% 4 20 3 ANN (4–20–3)
6 60%:40% 4 30 3 ANN (4–30–3)

Berdasarkan Tabel 4.3, 6 model menggunakan 4 input neuron dan 3 output neuron. Perbedaan konfigurasi terletak pada jumlah neuron tersembunyi dan proporsi pembagian data. Variasi tersebut digunakan untuk mengetahui perubahan kinerja klasifikasi berdasarkan struktur jaringan dan jumlah data yang digunakan selama proses pelatihan.

4.4 Hasil Klasifikasi dan Evaluasi Model

Evaluasi model ANN dilakukan dengan membandingkan hasil prediksi terhadap kelas aktual pada data testing. Perbandingan tersebut disajikan dalam bentuk confusion matrix untuk mengetahui jumlah pengamatan yang berhasil dan gagal diklasifikasikan. Metrik evaluasi yang digunakan adalah accuracy, yaitu perbandingan antara jumlah prediksi yang benar dan seluruh data pengujian.

4.4.1 Hasil Klasifikasi dengan Training 80% dan Testing 20%

Sintaks yang digunakan adalah sebagai berikut:

set.seed(917)
index80 <- sample(1:nrow(iris), round(0.8*nrow(iris)))

test80 <- iris[-index80,]

# Confusion Matrix Hidden Neuron = 10
pred_80_10 <- predict(model_simpan[["p80_h10"]],newdata=test80, type="class")
tabel_80_10 <- table(Aktual=test80$Species,Prediksi=factor(pred_80_10,levels=levels(iris$Species)))
tabel_80_10
##             Prediksi
## Aktual       setosa versicolor virginica
##   setosa          8          0         0
##   versicolor      0         10         0
##   virginica       0          1        11
# Confusion Matrix Hidden Neuron = 20
pred_80_20 <- predict(model_simpan[["p80_h20"]],newdata=test80, type="class")
tabel_80_20 <- table(Aktual=test80$Species,Prediksi=factor(pred_80_20, levels=levels(iris$Species)))
tabel_80_20
##             Prediksi
## Aktual       setosa versicolor virginica
##   setosa          8          0         0
##   versicolor      0         10         0
##   virginica       0          3         9
# Confusion Matrix Hidden Neuron = 30
pred_80_30 <- predict(model_simpan[["p80_h30"]],newdata=test80, type="class")
tabel_80_30 <- table(Aktual=test80$Species,Prediksi=factor(pred_80_30,levels=levels(iris$Species)))
tabel_80_30
##             Prediksi
## Aktual       setosa versicolor virginica
##   setosa          8          0         0
##   versicolor      0          8         2
##   virginica       0          1        11

Pada pembagian data 80%:20%, model ANN dilatih menggunakan 120 data dan diuji menggunakan 30 data. Hasil confusion matrix dari ketiga variasi hidden neuron dilihat sebagai berikut.

Tabel 4.4 Confusion Matrix Model ANN (80%:20%)

Hidden Neuron = 10

Aktual / Prediksi Setosa Versicolor Virginica
Setosa 8 0 0
Versicolor 0 10 0
Virginica 0 1 11

Hidden Neuron = 20

Aktual / Prediksi Setosa Versicolor Virginica
Setosa 8 0 0
Versicolor 0 13 0
Virginica 0 3 9

Hidden Neuron = 30

Aktual / Prediksi Setosa Versicolor Virginica
Setosa 8 0 0
Versicolor 0 8 2
Virginica 0 1 11

Berdasarkan tabel diatas, model ANN dengan 10 hidden neuron berhasil mengklasifikasikan 29 data dengan benar dan menghasilkan 1 kesalahan klasifikasi, yaitu satu data Virginica diprediksi sebagai Versicolor. Pada model dengan 20 hidden neuron, terdapat 30 data yang berhasil diklasifikasikan dengan benar dan 3 kesalahan klasifikasi, yaitu 3 data Virginica diprediksi sebagai Versicolor. Sementara itu, model dengan 30 hidden neuron menghasilkan 27 klasifikasi benar dan 3 kesalahan klasifikasi, yaitu 2 data Versicolor diprediksi sebagai Virginica dan 1 data Virginica diprediksi sebagai Versicolor. Seluruh data Setosa berhasil diklasifikasikan dengan benar oleh ketiga model. Hasil tersebut menunjukkan bahwa kesalahan klasifikasi terutama terjadi antara kelas Versicolor dan Virginica.

4.4.2 Hasil Klasifikasi dengan Training 60% dan Testing 40%

Sintaks yang digunakan adalah sebagai berikut:

set.seed(917)
index60 <- sample(1:nrow(iris), round(0.6*nrow(iris)))

test60 <- iris[-index60,]

# Confusion Matrix Hidden Neuron = 10
pred_60_10 <- predict(model_simpan[["p60_h10"]],newdata=test60, type="class")
tabel_60_10 <- table(Aktual=test60$Species,Prediksi=factor(pred_60_10,levels=levels(iris$Species)))
tabel_60_10
##             Prediksi
## Aktual       setosa versicolor virginica
##   setosa         17          0         0
##   versicolor      0         23         1
##   virginica       0          2        17
# Confusion Matrix Hidden Neuron = 20
pred_60_20 <- predict(model_simpan[["p60_h20"]],newdata=test60, type="class")
tabel_60_20 <- table(Aktual=test60$Species,Prediksi=factor(pred_60_20,levels=levels(iris$Species)))
tabel_60_20
##             Prediksi
## Aktual       setosa versicolor virginica
##   setosa         17          0         0
##   versicolor      0         23         1
##   virginica       0          2        17
# Confusion Matrix Hidden Neuron = 30
pred_60_30 <- predict(model_simpan[["p60_h30"]],newdata=test60, type="class")
tabel_60_30 <- table(Aktual=test60$Species,Prediksi=factor(pred_60_30,levels=levels(iris$Species)))
tabel_60_30
##             Prediksi
## Aktual       setosa versicolor virginica
##   setosa         17          0         0
##   versicolor      0         24         0
##   virginica       0          3        16

Pada pembagian data 60%:40%, model ANN dilatih menggunakan 90 data dan diuji menggunakan 60 data. Hasil confusion matrix dari ketiga variasi hidden neuron dilihat sebagai berikut.

Tabel 4.5 Confusion Matrix Model ANN (60%:40%)

Hidden Neuron = 10

Aktual / Prediksi Setosa Versicolor Virginica
Setosa 22 0 0
Versicolor 0 17 0
Virginica 0 1 20

Hidden Neuron = 20

Aktual / Prediksi Setosa Versicolor Virginica
Setosa 22 0 0
Versicolor 0 17 0
Virginica 0 1 20

Hidden Neuron = 30

Aktual / Prediksi Setosa Versicolor Virginica
Setosa 22 0 0
Versicolor 0 17 0
Virginica 0 1 20

Berdasarkan hasil tabel diatas, model dengan 10 hidden neuron menghasilkan 56 klasifikasi benar dan 4 kesalahan klasifikasi. Pada model dengan 20 hidden neuron, jumlah klasifikasi benar meningkat menjadi 58 data dengan 2 kesalahan, sedangkan model dengan 30 hidden neuron menghasilkan 57 klasifikasi benar dan 3 kesalahan. Seluruh pengamatan Setosa berhasil diklasifikasikan dengan benar oleh model 20 dan 30 neuron. Hasil tersebut menunjukkan bahwa model dengan 20 hidden neuron menghasilkan jumlah kesalahan paling sedikit pada pembagian data 60%:40%.

Berdasarkan hasil tabel di atas, ketiga model ANN dengan 10, 20, dan 30 hidden neuron menghasilkan jumlah klasifikasi benar yang sama, yaitu sebanyak 59 data dengan 1 kesalahan klasifikasi dari total 60 data testing. Seluruh 22 data Setosa dan 17 data Versicolor berhasil diklasifikasikan dengan benar pada ketiga model. Sementara itu, dari 21 data Virginica, sebanyak 20 data berhasil diklasifikasikan dengan benar dan 1 data salah diklasifikasikan sebagai Versicolor. Ketiga model menghasilkan tingkat akurasi yang sama, yaitu sebesar 98,33%. Hasil tersebut menunjukkan bahwa penambahan jumlah hidden neuron dari 10 menjadi 20 dan 30 tidak memberikan peningkatan akurasi klasifikasi pada pembagian data 60%:40%.

4.4.3 Perbandingan Hasil Evaluasi Model ANN

Perbandingan hasil evaluasi model dilakukan untuk menentukan konfigurasi ANN yang menghasilkan kinerja klasifikasi terbaik berdasarkan nilai akurasi yang diperoleh.

Sintaks yang digunakan adalah sebagai berikut:

# Evaluasi keenam model ANN
hasil <- data.frame()

for (p in c(0.8, 0.6)) {

  set.seed(917)
  index <- sample(1:nrow(iris),
                  round(p*nrow(iris)))
  test <- iris[-index,]

  for (h in c(10, 20, 30)) {

    nama <- paste0("p", p*100, "_h", h)
    nn <- model_simpan[[nama]]

    # Hasil prediksi
    pred <- predict(nn, newdata=test, type="class")

    # Confusion matrix
    tab <- table(
      Aktual = test$Species,
      Prediksi = factor(
        pred, levels=levels(iris$Species)
      )
    )

    # Accuracy
    akurasi <- sum(diag(tab))/sum(tab)

    # Menyimpan hasil
    hasil <- rbind(hasil, data.frame(
      Training = paste0(p*100, "%"),
      Testing = paste0((1-p)*100, "%"),
      Hidden_Neuron = h,
      Akurasi = round(akurasi*100, 2)
    ))
  }
}

print(hasil)
##   Training Testing Hidden_Neuron Akurasi
## 1      80%     20%            10   96.67
## 2      80%     20%            20   90.00
## 3      80%     20%            30   90.00
## 4      60%     40%            10   95.00
## 5      60%     40%            20   95.00
## 6      60%     40%            30   95.00

Hasil yang diperoleh dapat dilihat pada Tabel 4.6, sebagai berikut:

Tabel 4.6 Perbandingan Akurasi Model ANN Klasifikasi

Training Testing Hidden Neuron Prediksi Benar Akurasi
80% 20% 10 29 dari 30 96,67%
80% 20% 20 27 dari 30 90,00%
80% 20% 30 27 dari 30 90,00%
60% 40% 10 57 dari 60 95,00%
60% 40% 20 57 dari 60 95,00%
60% 40% 30 57 dari 60 95,00%

Berdasarkan Tabel 4.6, model ANN dengan pembagian data 80% training dan 20% testing menghasilkan akurasi tertinggi sebesar 96,67% pada 10 hidden neuron, dengan 29 dari 30 data pengujian berhasil diklasifikasikan dengan benar. Sementara itu, model dengan 20 dan 30 hidden neuron menghasilkan akurasi sebesar 90,00%, dengan masing-masing 27 klasifikasi benar. Pada pembagian data 60% training dan 40% testing, ketiga model menghasilkan akurasi yang sama, yaitu 95,00%, dengan 57 dari 60 data berhasil diklasifikasikan dengan benar. Hasil tersebut menunjukkan bahwa model dengan 10 hidden neuron pada pembagian data 80%:20% memiliki kinerja terbaik berdasarkan nilai akurasi tertinggi. Selain itu, penambahan jumlah hidden neuron tidak selalu meningkatkan akurasi klasifikasi.

4.5 Eksplorasi Struktur Jaringan ANN

Eksplorasi struktur jaringan ANN dilakukan untuk mengetahui susunan neuron dan bobot yang terbentuk selama proses pelatihan. Model yang digunakan dalam eksplorasi ini adalah model dengan 10 hidden neuron pada proporsi pembagian data 80%:20%, karena konfigurasi tersebut menghasilkan akurasi sebesar 96,67% dan menunjukkan kinerja yang konsisten pada kedua skenario pembagian data.

4.5.1 Visualisasi Struktur Jaringan ANN

Visualisasi struktur jaringan dilakukan menggunakan fungsi plotnet() dari package NeuralNetTools. Fungsi tersebut digunakan untuk menampilkan hubungan antara neuron pada input layer, hidden layer, dan output layer.

Sintaks yang digunakan adalah sebagai berikut:

# Memilih model dengan 10 hidden neuron
nn_terpilih <- model_simpan[["p80_h10"]]

# Menampilkan plot Neural Network
plotnet(nn_terpilih)

Berdasarkan gambar di atas, arsitektur Artificial Neural Network (ANN) terdiri atas tiga lapisan utama, yaitu input layer, hidden layer, dan output layer. Lapisan input memiliki 4 neuron yang mewakili variabel Sepal.Length, Sepal.Width, Petal.Length, dan Petal.Width. Selanjutnya, lapisan tersembunyi terdiri atas 10 hidden neuron yang berfungsi mengolah informasi dari variabel input melalui bobot dan fungsi aktivasi. Lapisan output memiliki 3 neuron yang mewakili kategori Setosa, Versicolor, dan Virginica. Garis-garis penghubung antarneuron menunjukkan bobot hubungan, dengan ketebalan garis menggambarkan besarnya nilai absolut bobot, sedangkan perbedaan warna menunjukkan arah bobot positif atau negatif. Selain itu, B1 dan B2 merupakan bias pada lapisan tersembunyi dan lapisan output. Secara keseluruhan, visualisasi ini menunjukkan bahwa model ANN menggunakan arsitektur 4–10–3 untuk melakukan klasifikasi spesies bunga Iris berdasarkan empat karakteristik pengukuran bunga.

4.5.2 Hasil Bobot Jaringan ANN

Nilai bobot jaringan dapat ditampilkan menggunakan fungsi neuralweights(). Fungsi tersebut memberikan informasi mengenai struktur jaringan serta bobot dan bias yang dihasilkan selama pelatihan.

Sintaks yang digunakan adalah sebagai berikut:

# Menampilkan bobot jaringan
neuralweights(nn_terpilih)
## $struct
## [1]  4 10  3
## 
## $wts
## $wts$`hidden 1 1`
## [1]  7.169818 41.224811 16.356507 32.701727  9.981863
## 
## $wts$`hidden 1 2`
## [1] -1.770717 -4.778936 -4.556577  3.306599  1.341234
## 
## $wts$`hidden 1 3`
## [1]  69846.74  15337.22  17220.58 -33083.65 -31284.31
## 
## $wts$`hidden 1 4`
## [1] -0.13719739  2.34225555  1.56985503  0.07872238  0.66923921
## 
## $wts$`hidden 1 5`
## [1]   2.773370   3.647873  14.693767 -27.166511 -13.288376
## 
## $wts$`hidden 1 6`
## [1]  147.0233   48.8413 -107.3870  107.5460 -407.6691
## 
## $wts$`hidden 1 7`
## [1] 1.191369 4.814613 2.699559 2.419712 1.023875
## 
## $wts$`hidden 1 8`
## [1]  52.754075 -22.849384  16.756984   4.176676  13.079041
## 
## $wts$`hidden 1 9`
## [1] 1.449401 5.022240 1.787742 2.994866 1.667018
## 
## $wts$`hidden 1 10`
## [1]   83.76293 1737.95463  933.94913  815.52393 1141.02420
## 
## $wts$`out 1`
##  [1] -113.391046 -113.969899   -8.680701 5769.988144 -112.983353 5818.116901
##  [7]    0.521013 -109.598297    7.072335 -114.395085 -111.678096
## 
## $wts$`out 2`
##  [1]    43.808741    42.682528     3.932973 13417.863223    43.343680
##  [6] -5804.517833    80.322517    41.261141    10.382521    45.728645
## [11]    32.667594
## 
## $wts$`out 3`
##  [1]     70.755302     72.488606      4.125059 -19188.604933     69.438861
##  [6]    -13.855415    -81.814286     67.155814    -17.490480     69.354725
## [11]     79.061373
# Jumlah seluruh parameter jaringan
length(nn_terpilih$wts)
## [1] 83

Tabel 4.7 Ringkasan Parameter Jaringan ANN

Hubungan Antarlapisan Jumlah Parameter
Input layer ke hidden layer 50
Hidden layer ke output layer 33
Total 83

Berdasarkan Tabel 4.7, model ANN dengan arsitektur 4–10–3 memiliki total 83 parameter yang terdiri atas bobot hubungan dan bias. Sebanyak 50 parameter terdapat pada hubungan input layer ke hidden layer, sedangkan 33 parameter terdapat pada hubungan hidden layer ke output layer. Hasil neuralweights() menunjukkan bahwa bobot yang terbentuk memiliki nilai positif maupun negatif dengan besaran yang bervariasi. Beberapa bobot memiliki nilai yang relatif besar, terutama pada neuron tersembunyi ketiga dan kesepuluh.

4.6 Visualisasi Kepentingan Variabel Menggunakan Metode Olden

Analisis kepentingan variabel dilakukan menggunakan metode Olden untuk mengetahui kontribusi relatif variabel prediktor terhadap setiap keluaran jaringan ANN. Dalam klasifikasi data Iris, terdapat tiga kelas output, yaitu Setosa, Versicolor, dan Virginica. Oleh karena itu, analisis kepentingan variabel dapat dilakukan terhadap masing-masing kelas secara terpisah.

# Variable importance kelas Setosa
olden(nn_terpilih, out_var="setosa")

# Variable importance kelas Versicolor
olden(nn_terpilih, out_var="versicolor")

# Variable importance kelas Virginica
olden(nn_terpilih, out_var="virginica")

Berdasarkan ketiga grafik metode Olden, terlihat bahwa setiap variabel memiliki arah dan besaran kontribusi yang berbeda terhadap hasil klasifikasi spesies bunga Iris. Pada kelas Setosa, variabel Petal.Length dan Petal.Width menunjukkan kontribusi negatif dengan magnitudo terbesar, sedangkan Sepal.Length dan Sepal.Width memberikan kontribusi positif, dengan Sepal.Width memiliki kontribusi positif yang lebih besar.

Pada kelas Versicolor, variabel Petal.Length dan Petal.Width juga menunjukkan kontribusi negatif, sementara Sepal.Length dan Sepal.Width memberikan kontribusi positif. Variabel Petal.Length memiliki magnitudo kontribusi negatif terbesar, sedangkan Sepal.Width memiliki kontribusi positif terbesar.

Sementara itu, pada kelas Virginica, variabel Petal.Length dan Petal.Width menunjukkan kontribusi positif, dengan Petal.Length sebagai variabel yang memiliki kontribusi terbesar. Sebaliknya, Sepal.Length dan Sepal.Width menunjukkan kontribusi negatif.

Secara keseluruhan, hasil analisis menunjukkan bahwa variabel petal dan sepal memiliki pola kontribusi yang berbeda pada setiap kelas. Namun, karena nilai kontribusi yang dihasilkan sangat besar, interpretasi metode Olden lebih difokuskan pada arah dan perbandingan relatif kontribusi variabel, bukan sebagai ukuran pengaruh langsung terhadap hasil klasifikasi.

BAB V KESIMPULAN

5.1 Kesimpulan

Artificial Neural Network (ANN) merupakan metode pembelajaran mesin yang meniru cara kerja jaringan saraf dengan menghubungkan neuron melalui bobot dan bias untuk menghasilkan prediksi. Dalam klasifikasi, ANN digunakan untuk mengelompokkan suatu pengamatan ke dalam kelas tertentu berdasarkan pola hubungan antara variabel prediktor dan variabel respons. Proses pembentukan model melibatkan lapisan masukan (input layer), lapisan tersembunyi (hidden layer), dan lapisan keluaran (output layer) yang bekerja melalui proses forward propagation dan backpropagation untuk memperoleh bobot jaringan yang sesuai.

Evaluasi performa model ANN dilakukan untuk mengetahui kemampuan model dalam menghasilkan prediksi dan mengklasifikasikan data secara tepat. Pada regresi, evaluasi menggunakan Mean Squared Error (MSE) untuk mengukur rata-rata kuadrat selisih antara nilai aktual dan prediksi, serta Mean Absolute Percentage Error (MAPE) untuk mengukur rata-rata persentase kesalahan prediksi. Semakin kecil nilai MSE dan MAPE, semakin baik kemampuan model dalam melakukan prediksi. Sementara itu, pada klasifikasi, evaluasi dilakukan menggunakan akurasi (accuracy) untuk mengukur proporsi keseluruhan prediksi yang benar dan presisi (precision) untuk mengukur ketepatan model dalam memprediksi suatu kelas positif. Semakin tinggi nilai akurasi dan presisi, semakin baik performa model dalam melakukan klasifikasi.

Berdasarkan hasil analisis klasifikasi menggunakan metode Artificial Neural Network (ANN) pada dataset Iris dengan variasi jumlah hidden neuron sebanyak 10, 20, dan 30 serta proporsi pembagian data training dan testing sebesar 80%:20% dan 60%:40%, diperoleh tingkat akurasi yang berkisar antara 90,00% hingga 96,67%. Pada proporsi 80%:20%, model dengan 10 hidden neuron menghasilkan akurasi tertinggi sebesar 96,67%, sedangkan model dengan 20 dan 30 hidden neuron masing-masing memperoleh akurasi sebesar 90,00%. Sementara itu, pada proporsi 60%:40%, ketiga model dengan 10, 20, dan 30 hidden neuron menghasilkan akurasi yang sama, yaitu 95,00%. Hasil tersebut menunjukkan bahwa model dengan 10 hidden neuron memberikan kinerja terbaik berdasarkan nilai akurasi tertinggi yang diperoleh. Berdasarkan confusion matrix, sebagian besar spesies bunga Iris berhasil diklasifikasikan dengan benar, dengan kesalahan klasifikasi terutama terjadi antara kelas Versicolor dan Virginica, sedangkan kelas Setosa cenderung dapat diklasifikasikan dengan tepat. Selain itu, hasil analisis kontribusi variabel menggunakan metode Olden menunjukkan bahwa variabel petal dan sepal memiliki arah serta besaran kontribusi yang berbeda pada setiap kelas keluaran. Secara keseluruhan, metode ANN mampu menghasilkan klasifikasi yang baik pada dataset Iris, serta menunjukkan bahwa penambahan jumlah hidden neuron tidak selalu meningkatkan akurasi model.

DAFTAR PUSTAKA

Aini, D. H. N., Kurniasari, D., Nuryaman, A., & Usman, M. (2023). Implementation of artificial neural network with backpropagation algorithm for rating classification on sales of Blackmores in Tokopedia. Jurnal Teknik Informatika (JUTIF), 4(2), 365–372. https://doi.org/10.52436/1.jutif.2023.4.2.539

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. https://doi.org/10.21009/JSA.08205

Fransiska, H. (2026). Modul Praktikum Machine Learning and Modern Prediction. Laboratorium Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam 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. https://doi.org/10.30865/json.v4i2.5312

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. https://doi.org/10.29100/jipi.v9i3

Supriana, I. W., Prana, G. D. W., & Jayaditya, 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. https://doi.org/10.24843/JLK.2025.v13.i04.p14