Perkembangan teknologi informasi mendorong penggunaan metode pembelajaran mesin (machine learning) untuk mengolah data dan menghasilkan prediksi secara lebih akurat. Salah satu metode yang dapat digunakan adalah Artificial Neural Network (ANN), yaitu metode komputasi yang meniru cara kerja jaringan saraf manusia dalam mengenali pola dan hubungan antarvariabel. ANN memiliki kemampuan untuk menyelesaikan berbagai permasalahan, baik dalam bentuk regresi maupun klasifikasi (Putri et al., 2023).
Dalam penerapannya, ANN untuk regresi digunakan untuk memprediksi nilai numerik, sedangkan ANN untuk klasifikasi digunakan untuk mengelompokkan data ke dalam kategori tertentu. Implementasi ANN dapat dilakukan menggunakan bahasa pemrograman R dengan tahapan meliputi persiapan data, pembentukan arsitektur jaringan, pelatihan model, dan pengujian model. Penggunaan ANN dalam kedua jenis permasalahan tersebut memungkinkan proses analisis data dilakukan secara sistematis dan terukur (Huda & Handayani, 2023).
Untuk mengetahui kemampuan model dalam menghasilkan prediksi, diperlukan evaluasi menggunakan metrik yang sesuai dengan jenis permasalahan. Pada regresi, performa model dapat diukur menggunakan Mean Squared Error (MSE) dan Mean Absolute Percentage Error (MAPE), sedangkan pada klasifikasi dapat dievaluasi menggunakan akurasi dan presisi. Oleh karena itu, pemahaman mengenai konsep, implementasi, dan evaluasi ANN diperlukan agar model yang dibangun dapat menghasilkan prediksi dan klasifikasi yang baik (Septasari & Aziz, 2024).
Berdasarkan latar belakang di atas, masalah yang dapat disimpulkan adalah:
Apa yang dimaksud dengan konsep dan mengimplementasikan model Artificial Neural Network (ANN) untuk regresi dan klasifikasi menggunakan bahasa pemrograman R?
Bagaimana mengevaluasi performa model ANN menggunakan metrik evaluasi MSE dan MAPE untuk regresi, serta akurasi dan presisi untuk klasifikasi?
Berdasarkan rumusan masalah pada penelitian ini, tujuan yang dapat disimpulkan adalah:
Mahasiswa dapat memahami konsep dan mengimplementasikan model Artificial Neural Network (ANN) untuk regresi dan klasifikasi menggunakan bahasa pemrograman R.
Mahasiswa dapat mengevaluasi performa model ANN menggunakan metrik evaluasi MSE dan MAPE untuk regresi, serta akurasi dan presisi untuk klasifikasi.
Artificial Neural Network (ANN) atau Jaringan Saraf Tiruan merupakan metode komputasi yang meniru cara kerja jaringan saraf manusia dalam mengolah informasi. ANN memiliki beberapa lapisan, yaitu input layer, hidden layer, dan output layer yang saling terhubung melalui bobot (weight) dan bias. Metode ini mampu mengenali pola data yang kompleks serta diterapkan untuk permasalahan regresi dan klasifikasi (Huda & Handayani, 2023).
Dalam penerapannya, ANN untuk regresi digunakan untuk memprediksi nilai numerik, sedangkan klasifikasi digunakan untuk mengelompokkan data ke dalam kategori tertentu. Proses pembelajaran dilakukan menggunakan algoritma backpropagation dengan memperbarui bobot untuk meminimalkan kesalahan prediksi. Secara umum, keluaran neuron dirumuskan sebagai berikut (Putri et al., 2023).
\[ y=f\left(\sum_{i=1}^{n}w_ix_i+b\right) \] Arsitektur ANN dapat dibedakan menjadi dua jenis yaitu (Fransiska, 2026):
Single Layer Perceptron (SLP): Jaringan tanpa lapisan tersembunyi yang digunakan untuk mempelajari hubungan linier dan menyelesaikan klasifikasi yang dapat dipisahkan secara linier
Multi-Layer Perceptron (MLP): Jaringan dengan satu atau lebih lapisan tersembunyi yang mampu mempelajari hubungan nonlinier untuk pemodelan regresi dan klasifikasi.
Artificial Neural Network (ANN) untuk regresi merupakan metode jaringan saraf tiruan yang digunakan untuk memprediksi nilai numerik berdasarkan hubungan antara variabel input dan output. Model ini memiliki lapisan input layer, hidden layer, dan output layer yang memproses data melalui bobot, bias, serta fungsi aktivasi untuk menghasilkan prediksi. Proses pembelajaran dilakukan dengan algoritma backpropagation untuk memperbarui bobot sehingga kesalahan prediksi semakin kecil (Putri et al., 2023).
Evaluasi model dilakukan dengan membandingkan nilai aktual dan nilai prediksi. Ukuran evaluasi yang digunakan adalah:
Mean Squared Error (MSE) merupakan metrik evaluasi yang digunakan untuk mengukur rata-rata kuadrat selisih antara nilai aktual dan nilai prediksi. MSE memberikan penalti lebih besar terhadap kesalahan prediksi yang bernilai besar. Semakin kecil nilai MSE, semakin baik kemampuan model dalam menghasilkan prediksi (Putri et al., 2023).
\[ MSE = \frac{1}{n}\sum_{i=1}^{n}(y_i-\hat{y}_i)^2 \]
Mean Absolute Percentage Error (MAPE) merupakan metrik evaluasi yang mengukur rata-rata persentase kesalahan absolut antara nilai aktual dan nilai prediksi. MAPE menunjukkan seberapa besar rata-rata kesalahan prediksi dalam bentuk persentase sehingga lebih mudah diinterpretasikan. Semakin kecil nilai MAPE, semakin akurat hasil prediksi model (Huda & Handayani, 2023).
\[ MAPE=\frac{100\%}{n}\sum_{i=1}^{n} \left|\frac{y_i-\hat{y}_i}{y_i}\right| \]
Jenis data pada penelitian ini adalah data kuantitatif dan data kualitatif. Data kuantitatif merupakan data atau informasi yang didapatkan dalam bentuk angka atau numerik. Data kuantitatif dapat diproses menggunakan rumus matematika atau dapat juga dianalisis dengan sistem statistik. Data kualitatif adalah suatu data yang tidak bisa diukur dengan angka. Data kualitatif adalah data yang dinyatakan dalam bentuk deskriptif atau naratif, bukan dalam bentuk angka.
Sumber data yang digunakan oleh penulis merupakan data sekunder. Data sekunder adalah sumber data yang diperoleh secara tidak langsung atau melalui media perantara. Data yang digunakan pada batasan masalah laporan ini merupakan data BreastCancer yang diperoleh langsung dari program R.
Variabel penelitian adalah karakter atau segala sesuatu yang menjadi perhatian dalam suatu penelitian. Pada laporan ini terdapat 9 variabel yang digunakan pada data. Variabel tersebut, yaitu Cl.thickness, Cell.size, Cell.shape, Marg.adhesion, Epith.c.size, Bl,cromatin, Normal.nucleoli, Mitoses sebagai variabel prediktor, dan Bare.nuclei sebagai variabel respon. Variabel ID dihapus karena hanya berfungsi sebagai identitas observasi, sedangkan Class tidak digunakan karena merupakan variabel kategorik.
Percobaan dilakukan menggunakan enam model ANN regresi yang berasal dari kombinasi tiga jumlah hidden neuron dan dua nilai maxit. Pembagian data dilakukan dengan proporsi 80% training dan 20% testing.
| Model | Hidden Neuron | Maxit | Training | Testing |
|---|---|---|---|---|
| Model 1 | 10 | 250 | 80% | 20% |
| Model 2 | 10 | 500 | 80% | 20% |
| Model 3 | 20 | 250 | 80% | 20% |
| Model 4 | 20 | 500 | 80% | 20% |
| Model 5 | 30 | 250 | 80% | 20% |
| Model 6 | 30 | 500 | 80% | 20% |
Input data.
Preprocessing data.
Pembagian data training dan data testing.
Melakukan standardisasi pada variabel prediktor dan respon berdasarkan data training.
Membentuk enam model ANN berdasarkan kombinasi hidden neuron dan maxit.
Melakukan prediksi menggunakan data testing.
Menghitung metrik evaluasi.
Membandingkan performa model dan menentukan model terbaik.
Output dan interpretasi.
Langkah pertama yang dilakukan adalah memanggil library dan meng-import data
packages <- c("mlbench", "nnet", "caret", "dplyr",
"ggplot2", "knitr", "tidyr")
for (p in packages) {
if (!requireNamespace(p, quietly = TRUE)) {
install.packages(p, repos = "https://cloud.r-project.org")
}
}
library(mlbench)
library(nnet)
library(caret)## Loading required package: ggplot2
## Loading required package: lattice
##
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
library(ggplot2)
library(knitr)
library(tidyr)
data("BreastCancer", package = "mlbench")
bc <- BreastCancer
# Menghapus variabel identitas dan target kategorik
bc$Id <- NULL
bc$Class <- NULL
# Mengubah seluruh variabel menjadi numerik
bc[] <- lapply(bc, function(x) {
as.numeric(as.character(x))
})
# Menghapus nilai hilang
bc <- na.omit(bc)
# Menentukan variabel target dan prediktor
target <- "Bare.nuclei"
prediktor <- setdiff(names(bc), target)
ringkasan_data <- data.frame(
Keterangan = c(
"Jumlah observasi setelah pembersihan",
"Jumlah variabel prediktor",
"Jumlah variabel respon",
"Jumlah nilai hilang"
),
Nilai = c(
nrow(bc),
length(prediktor),
1,
sum(is.na(bc))
)
)
kable(ringkasan_data,
caption = "Ringkasan Dataset untuk ANN Regresi")| Keterangan | Nilai |
|---|---|
| Jumlah observasi setelah pembersihan | 683 |
| Jumlah variabel prediktor | 8 |
| Jumlah variabel respon | 1 |
| Jumlah nilai hilang | 0 |
Berdasarkan hasil statistik deskriptif pada dataset BreastCancer, diperoleh sebanyak 683 observasi dengan 9 variabel awal yang terdiri atas 8 variabel prediktor dan 1 variabel respon, yaitu Bare.nuclei. Variabel ID dan Class dihapus karena tidak digunakan dalam pemodelan ANN regresi. Kemudian seluruh variabel diubah menjadi numerik dan dilakukan penghapusan observasi yang memiliki missing value, sehingga tidak terdapat nilai yang hilang pada data akhir.
set.seed(234)
indeks_train <- sample(
seq_len(nrow(bc)),
size = floor(0.80 * nrow(bc))
)
train <- bc[indeks_train, , drop = FALSE]
test <- bc[-indeks_train, , drop = FALSE]
tabel_split <- data.frame(
Data = c("Training", "Testing"),
Jumlah = c(nrow(train), nrow(test)),
Persentase = c("80%", "20%")
)
kable(tabel_split,
caption = "Pembagian Data Training dan Testing")| Data | Jumlah | Persentase |
|---|---|---|
| Training | 546 | 80% |
| Testing | 137 | 20% |
Berdasarkan hasil pembagian data BreastCancer, diperoleh sebanyak 546 observasi sebagai data training (80%) dan 137 observasi sebagai data testing (20%) dari total 683 observasi. Data training ini digunakan untuk membangun model Artificial Neural Network (ANN) regresi, sedangkan data testing digunakan untuk mengevaluasi kinerja model. Penggunaan satu pembagian data yang sama pada seluruh model bertujuan agar perbandingan kinerja berdasarkan jumlah hidden neuron dan maxit dapat dilakukan secara konsisten.
# ------------------------------------------------
# A. STANDARDISASI DATA
# ------------------------------------------------
x_train <- train[, prediktor, drop = FALSE]
x_test <- test[, prediktor, drop = FALSE]
y_train <- train[[target]]
y_test <- test[[target]]
# Parameter standardisasi X dari data training
mean_x <- sapply(x_train, mean)
sd_x <- sapply(x_train, sd)
sd_x[is.na(sd_x) | sd_x == 0] <- 1
x_train_sc <- scale(
x_train,
center = mean_x,
scale = sd_x
)
x_test_sc <- scale(
x_test,
center = mean_x,
scale = sd_x
)
# Standardisasi Y berdasarkan data training
mean_y <- mean(y_train)
sd_y <- sd(y_train)
if (is.na(sd_y) || sd_y == 0) {
sd_y <- 1
}
y_train_sc <- (y_train - mean_y) / sd_y
# ------------------------------------------------
# B. KOMBINASI HIDDEN NEURON DAN MAXIT
# ------------------------------------------------
hidden_neuron <- c(10, 20, 30)
maxit_values <- c(250, 500)
kombinasi <- expand.grid(
Hidden_Neuron = hidden_neuron,
Maxit = maxit_values
)
# Tempat menyimpan model dan hasil prediksi
model_ann <- list()
hasil_prediksi <- list()
hasil_evaluasi <- list()
# ------------------------------------------------
# C. FUNGSI EVALUASI REGRESI
# ------------------------------------------------
evaluasi_regresi <- function(aktual, prediksi) {
mse <- mean((aktual - prediksi)^2)
mape <- mean(
abs((aktual - prediksi) / aktual)
) * 100
data.frame(
MSE = mse,
MAPE = mape
)
}
# ------------------------------------------------
# D. PEMBENTUKAN ENAM MODEL ANN
# ------------------------------------------------
set.seed(234)
for (i in seq_len(nrow(kombinasi))) {
h <- kombinasi$Hidden_Neuron[i]
m <- kombinasi$Maxit[i]
nama_model <- paste0(
"ANN_Hidden", h,
"_Maxit", m
)
model <- nnet::nnet(
x = as.matrix(x_train_sc),
y = y_train_sc,
size = h,
linout = TRUE,
maxit = m,
decay = 0.01,
rang = 0.1,
MaxNWts = 20000,
trace = FALSE
)
# Prediksi pada data testing
prediksi_sc <- predict(
model,
newdata = as.matrix(x_test_sc)
)
# Mengembalikan prediksi ke skala asli
prediksi <- as.numeric(prediksi_sc) * sd_y + mean_y
# Evaluasi model
evaluasi <- evaluasi_regresi(
aktual = y_test,
prediksi = prediksi
)
model_ann[[nama_model]] <- model
hasil_prediksi[[nama_model]] <- data.frame(
Aktual = y_test,
Prediksi = prediksi
)
hasil_evaluasi[[nama_model]] <- data.frame(
Model = nama_model,
Hidden_Neuron = h,
Maxit = m,
evaluasi,
Konvergensi = model$convergence
)
}
# Menggabungkan seluruh hasil
tabel_hasil <- bind_rows(hasil_evaluasi)
kable(
tabel_hasil,
digits = 4,
caption = "Hasil Evaluasi Enam Model ANN Regresi"
)| Model | Hidden_Neuron | Maxit | MSE | MAPE | Konvergensi |
|---|---|---|---|---|---|
| ANN_Hidden10_Maxit250 | 10 | 250 | 7.0147 | 58.3884 | 1 |
| ANN_Hidden20_Maxit250 | 20 | 250 | 9.6053 | 72.2299 | 1 |
| ANN_Hidden30_Maxit250 | 30 | 250 | 11.7000 | 65.5713 | 1 |
| ANN_Hidden10_Maxit500 | 10 | 500 | 8.2978 | 49.3228 | 0 |
| ANN_Hidden20_Maxit500 | 20 | 500 | 10.8589 | 76.4082 | 1 |
| ANN_Hidden30_Maxit500 | 30 | 500 | 11.3735 | 65.8518 | 1 |
Standardisasi dilakukan agar variabel prediktor memiliki skala yang seragam sehingga proses pembelajaran jaringan lebih stabil, dengan parameter standardisasi dihitung berdasarkan data training dan diterapkan pada data testing. Variabel respon juga distandardisasi selama proses pelatihan, kemudian hasil prediksi dikembalikan ke skala asli sebelum dievaluasi. Pembentukan model ANN regresi dilakukan menggunakan enam kombinasi hidden neuron sebanyak 10, 20, dan 30 serta maxit sebesar 250 dan 500.
for (nm in names(hasil_prediksi)) {
cat("\n\n### Model ", nm, "\n\n", sep = "")
# Menampilkan hasil prediksi
data_pred <- hasil_prediksi[[nm]]
print(
knitr::kable(
head(data_pred, 10),
digits = 4,
caption = paste("Sepuluh Hasil Prediksi", nm)
)
)
# Menampilkan evaluasi
met <- tabel_hasil %>%
filter(Model == nm)
print(
knitr::kable(
met,
digits = 4,
caption = paste("Evaluasi Model", nm)
)
)
cat(
"\nModel ", nm,
" menghasilkan nilai MSE sebesar ",
sprintf("%.4f", met$MSE),
" dan MAPE sebesar ",
sprintf("%.4f", met$MAPE),
"%. Semakin kecil nilai MSE dan MAPE, semakin dekat hasil prediksi terhadap nilai aktual.\n\n",
sep = ""
)
}# Mengubah data ke format long
tabel_long <- tabel_hasil %>%
pivot_longer(
cols = c(MSE, MAPE),
names_to = "Metrik",
values_to = "Nilai"
)
# Menampilkan tabel perbandingan
kable(
tabel_hasil,
digits = 4,
caption = "Perbandingan Kinerja Enam Model ANN Regresi"
)| Model | Hidden_Neuron | Maxit | MSE | MAPE | Konvergensi |
|---|---|---|---|---|---|
| ANN_Hidden10_Maxit250 | 10 | 250 | 7.0147 | 58.3884 | 1 |
| ANN_Hidden20_Maxit250 | 20 | 250 | 9.6053 | 72.2299 | 1 |
| ANN_Hidden30_Maxit250 | 30 | 250 | 11.7000 | 65.5713 | 1 |
| ANN_Hidden10_Maxit500 | 10 | 500 | 8.2978 | 49.3228 | 0 |
| ANN_Hidden20_Maxit500 | 20 | 500 | 10.8589 | 76.4082 | 1 |
| ANN_Hidden30_Maxit500 | 30 | 500 | 11.3735 | 65.8518 | 1 |
# Membuat grafik perbandingan
ggplot(
tabel_long,
aes(
x = factor(Hidden_Neuron),
y = Nilai,
group = factor(Maxit),
linetype = factor(Maxit)
)
) +
geom_point(size = 2.5) +
geom_line() +
facet_wrap(~ Metrik, scales = "free_y") +
labs(
title = "Perbandingan Kinerja ANN Regresi",
x = "Jumlah Hidden Neuron",
y = "Nilai Evaluasi",
linetype = "Maxit"
) +
theme_minimal()Berdasarkan tabel dan grafik perbandingan, kinerja enam model ANN dapat diamati melalui nilai MSE dan MAPE. Kedua metrik tersebut digunakan untuk mengetahui seberapa besar kesalahan prediksi yang dihasilkan oleh masing-masing konfigurasi. Perubahan jumlah hidden neuron dan nilai maxit dapat menghasilkan perbedaan nilai kesalahan karena setiap konfigurasi memiliki kemampuan pembelajaran yang berbeda. Model dengan nilai kesalahan paling rendah menunjukkan hasil prediksi yang lebih mendekati nilai aktual.
# Mengurutkan model berdasarkan MSE dan MAPE
peringkat_model <- tabel_hasil %>%
arrange(MSE, MAPE)
# Menampilkan peringkat model
kable(
peringkat_model,
digits = 4,
caption = "Peringkat Model ANN Regresi"
)| Model | Hidden_Neuron | Maxit | MSE | MAPE | Konvergensi |
|---|---|---|---|---|---|
| ANN_Hidden10_Maxit250 | 10 | 250 | 7.0147 | 58.3884 | 1 |
| ANN_Hidden10_Maxit500 | 10 | 500 | 8.2978 | 49.3228 | 0 |
| ANN_Hidden20_Maxit250 | 20 | 250 | 9.6053 | 72.2299 | 1 |
| ANN_Hidden20_Maxit500 | 20 | 500 | 10.8589 | 76.4082 | 1 |
| ANN_Hidden30_Maxit500 | 30 | 500 | 11.3735 | 65.8518 | 1 |
| ANN_Hidden30_Maxit250 | 30 | 250 | 11.7000 | 65.5713 | 1 |
# Menentukan model terbaik
model_terbaik <- peringkat_model[1, ]
nama_terbaik <- as.character(model_terbaik$Model)
# Menampilkan informasi model terbaik
cat(
"\nModel ANN regresi terbaik adalah ",
nama_terbaik,
" dengan hidden neuron sebanyak ",
model_terbaik$Hidden_Neuron,
" dan maxit sebesar ",
model_terbaik$Maxit,
". Model tersebut menghasilkan MSE sebesar ",
sprintf("%.4f", model_terbaik$MSE),
" dan MAPE sebesar ",
sprintf("%.4f", model_terbaik$MAPE),
"%. Model dipilih berdasarkan nilai MSE terkecil dengan MAPE sebagai pertimbangan berikutnya.",
sep = ""
)##
## Model ANN regresi terbaik adalah ANN_Hidden10_Maxit250 dengan hidden neuron sebanyak 10 dan maxit sebesar 250. Model tersebut menghasilkan MSE sebesar 7.0147 dan MAPE sebesar 58.3884%. Model dipilih berdasarkan nilai MSE terkecil dengan MAPE sebagai pertimbangan berikutnya.
Berdasarkan hasil pemodelan Artificial Neural Network (ANN) regresi, diperoleh enam kombinasi model dengan variasi hidden neuron sebanyak 10, 20, dan 30 serta maxit sebesar 250 dan 500. Hasil evaluasi menunjukkan bahwa model dengan 10 hidden neuron dan maxit 250 menghasilkan nilai MSE terendah sebesar 7,0147, sedangkan nilai MAPE terendah sebesar 49,3228% diperoleh pada model dengan 10 hidden neuron dan maxit 500. Dengan demikian, model 10 hidden neuron dan maxit 250 memiliki kinerja terbaik berdasarkan nilai MSE dan MAPE sebagai pertimbangan berikutnya.
# Mengambil hasil prediksi model terbaik
prediksi_terbaik <- hasil_prediksi[[nama_terbaik]]
# Membuat grafik aktual dan prediksi
ggplot(
prediksi_terbaik,
aes(x = Aktual, y = Prediksi)
) +
geom_point(alpha = 0.7) +
geom_abline(
intercept = 0,
slope = 1,
linetype = "dashed"
) +
labs(
title = paste("Aktual dan Prediksi Model", nama_terbaik),
x = "Nilai Aktual",
y = "Nilai Prediksi"
) +
theme_minimal()Berdasarkan grafik, terlihat bahwa pada model 10 hidden neuron dan maxit 250 nilai prediksi model ANN cenderung mengikuti pola peningkatan nilai aktual, tetapi masih terdapat beberapa titik prediksi yang menyimpang cukup jauh dari garis diagonal. Hal ini menunjukkan bahwa model sudah mampu menangkap pola hubungan antara nilai aktual dan prediksi, tetapi ketepatan prediksi pada beberapa pengamatan masih belum optimal. Penyimpangan tersebut menunjukkan bahwa model masih perlu ditingkatkan agar dapat menghasilkan prediksi yang lebih mendekati nilai aktual.
metode Artificial Neural Network (ANN) dapat digunakan untuk menyelesaikan permasalahan regresi dan klasifikasi dengan memanfaatkan jaringan neuron yang saling terhubung. Implementasi ANN menggunakan bahasa pemrograman R dilakukan melalui tahapan persiapan data, pembentukan model, pelatihan, dan prediksi. Penggunaan ANN memungkinkan pemodelan hubungan antara variabel prediktor dan variabel respon, baik untuk data numerik maupun kategorik.
Evaluasi performa model ANN dilakukan menggunakan metrik yang disesuaikan dengan jenis permasalahan yang dianalisis. Pada regresi, MSE dan MAPE digunakan untuk mengukur tingkat kesalahan prediksi, sedangkan pada klasifikasi digunakan akurasi dan presisi untuk mengukur ketepatan hasil pengelompokan. Hasil evaluasi tersebut dapat digunakan untuk mengetahui kemampuan model dalam menghasilkan prediksi yang baik.
Berdasarkan hasil analisis dapat disimpulkan bahwa variasi jumlah hidden neuron dan maxit menghasilkan kinerja prediksi yang berbeda. Model terbaik berdasarkan nilai MSE adalah model dengan 10 hidden neuron dan maxit 250, yaitu sebesar 7,0147 dengan MAPE 58,3884%. Secara keseluruhan, model mampu mengikuti pola nilai aktual, meskipun masih terdapat beberapa hasil prediksi yang menyimpang sehingga ketepatan model belum optimal.
Fransiska, H. (2026). Modul Praktikum Machine Learning dan Modern Prediction. Laboratorium Matematika Fakultas Matematika dan Ilmu Pengetahuan Alam Universitas Bengkulu.
Putri, A. D., Fitria, D., Amalita, N., & Zilrahmi. (2023). Implementation of Backpropagation Artificial Neural Network on Forecasting Export of Palm Oil in Indonesia. UNP Journal of Statistics and Data Science, 1(5), 473–479. https://doi.org/10.24036/ujsds/vol1-iss5/123
Huda, D. N., & Handayani, S. (2023). Prediksi Nilai Ujian dengan Artificial Neural Network. Remik, 7(1), 157–165. https://doi.org/10.33395/remik.v7i1.11983
Septasari, D., & Aziz, RZ. A. (2024). Perbandingan Metode Artificial Neural Network (ANN) dan Classification And Regression Tree (CART) Dalam Menentukan Penerima Bantuan Program Keluarga Harapan (PKH). Jurnal Algoritma, 21(2), 437–448. https://doi.org/10.33364/algoritma/v.21-2.1794