Sitemap
MUHAMMAD IRFAN PERMANA Sistem Informasi

MUHAMMAD IRFAN PERMANA Sistem Informasi

Implementasi Jaringan Saraf Tiruan (ANN) untuk Klasifikasi Spesies Bunga Iris

--

1. Pendahuluan & Studi Kasus

Latar Belakang: Mengapa Jaringan Saraf Tiruan?

Di era kecerdasan buatan (Artificial Intelligence) saat ini, kemampuan komputer untuk mengenali pola secara mandiri menjadi sangat penting. Salah satu metode paling populer yang meniru cara kerja biologis manusia adalah Jaringan Saraf Tiruan (JST) atau Artificial Neural Network (ANN).

Sama seperti otak manusia yang belajar mengenali objek berdasarkan pengalaman dan contoh-contoh yang dilihat berulang kali, JST dilatih menggunakan sekumpulan data (dataset) untuk menemukan bobot matematika yang optimal. Melalui penyesuaian bobot (weight) dan bias secara adaptif, JST mampu memetakan input data yang rumit menjadi sebuah keputusan atau klasifikasi yang akurat.

Press enter or click to view image in full size

Pada tugas sebelumnya, kita telah mempelajari Perceptron Tunggal (Single-Layer Perceptron) yang sangat efektif untuk menyelesaikan masalah linear sederhana seperti gerbang logika AND dan OR. Namun, untuk pola data di dunia nyata yang sering kali bersifat non-linearly separable (tidak bisa dipisahkan hanya dengan satu garis lurus), kita membutuhkan arsitektur yang lebih kompleks, yaitu Multi-Layer Perceptron (MLP). Eksperimen kali ini akan membuktikan bagaimana keandalan MLP dalam mengklasifikasikan data biomedis/botani secara otomatis.

Studi Kasus: Klasifikasi Spesies Bunga Iris

Untuk menguji keandalan algoritma JST dalam melakukan klasifikasi, studi kasus ini memanfaatkan salah satu public dataset paling legendaris dalam dunia machine learning, yaitu Iris Dataset (tersedia secara publik melalui repositori UCI Machine Learning maupun pustaka Scikit-Learn).

1. Karakteristik Data (Fitur Input)

Setiap sampel bunga di dalam dataset ini diukur berdasarkan 4 karakteristik fisik utama (yang akan bertindak sebagai Input / Fitur $X$ dalam model JST kita):

  • Sepal Length: Panjang kelopak bunga (dalam cm).
  • Sepal Width: Lebar kelopak bunga (dalam cm).
  • Petal Length: Panjang mahkota bunga (dalam cm).
  • Petal Width: Lebar mahkota bunga (dalam cm).

2. Target Klasifikasi (Output)

Tujuan utama dari model JST yang dibangun adalah memprediksi secara tepat kelas atau varietas dari bunga Iris berdasarkan kombinasi keempat ukuran di atas. Terdapat 3 varietas bunga Iris yang menjadi
Target / Output Y:

  1. Iris Setosa
  2. Iris Versicolor
  3. Iris Virginica

3. Mengapa Kasus Ini Menarik untuk JST?

Jika kita melihat karakteristik datanya, bunga Iris Setosa biasanya memiliki perbedaan fisik yang sangat mencolok sehingga mudah dipisahkan secara linear. Namun, varietas Versicolor dan Virginica memiliki ukuran kelopak dan mahkota yang sering kali tumpang tindih (overlapping).

Kondisi tumpang tindih inilah yang membuat algoritma klasifikasi sederhana atau Perceptron tunggal akan gagal mendapatkan akurasi sempurna. Di sinilah peran Multi-Layer Perceptron (MLP) dengan hidden layer dan fungsi aktivasi non-linear diperlukan untuk mengekstrak pola tersembunyi, sehingga komputer dapat membedakan ketiga spesies tersebut dengan tingkat akurasi yang tinggi.

2. Langkah-Langkah Penyelesaian

Untuk menyelesaikan studi kasus klasifikasi bunga Iris ini, eksperimen dilakukan menggunakan lingkungan Google Colab dengan bantuan pustaka Scikit-Learn berbasis Python. Proses penyelesaian dibagi menjadi tiga tahapan utama:

A. Eksplorasi & Loading Data

Tahap awal yang paling mendasar adalah memuat data (loading data) ke dalam sistem agar bisa diproses oleh bahasa pemrograman Python. Dataset Iris diambil secara langsung dari pustaka publik sklearn.datasets.

Get MUHAMMAD IRFAN PERMANA Sistem Informasi’s stories in your inbox

Join Medium for free to get updates from this writer.

Pada tahap ini, kita juga melakukan eksplorasi data sederhana untuk memahami strukturnya. Dataset diubah ke dalam bentuk tabel data (DataFrame) untuk memastikan bahwa keempat fitur input (panjang & lebar kelopak serta mahkota) dan target output (label spesies 0, 1, atau 2) telah termuat secara utuh dan tidak memiliki data yang kosong (missing values).

B. Pra-proses Data (Preprocessing)

Sebelum data dimasukkan ke dalam “perut” Jaringan Saraf Tiruan, ada dua langkah krusial dalam tahap pra-proses yang wajib dilakukan agar model dapat belajar secara adil dan optimal:

  1. Pembagian Data (Train-Test Split): Dataset yang berjumlah 150 sampel ini dibagi menjadi dua bagian dengan rasio 80% untuk Data Latih (Training Set) dan 20% untuk Data Uji (Testing Set).
    a. Data Latih (120 sampel) digunakan sebagai bahan komputer untuk belajar mengenali karakteristik tiap bunga.
    b. Data Uji (30 sampel) disimpan rapat-rapat dan hanya digunakan di akhir untuk menguji seberapa pintar komputer dalam menebak data baru yang belum pernah ia pelajari sebelumnya.
  2. Standardisasi Fitur (StandardScaler): Nilai angka pada karakteristik bunga memiliki rentang yang bervariasi. Jika langsung dimasukkan ke dalam JST, nilai fitur yang angkanya besar secara dominan akan mengacaukan perhitungan bobot (weights), membuat komputasi JST menjadi timpang sebelah atau bias. Oleh karena itu, kita menggunakan metode StandardScaler untuk menyamakan skala seluruh angka fitur sehingga memiliki rata-rata nol dan varians satu. Dengan skala yang seragam, JST dapat memproses semua input secara adil dan konvergen (mencapai titik pintar) lebih cepat.

C. Membangun Arsitektur JST (Multi-Layer Perceptron)

Karena kasus bunga Iris ini memiliki 3 varietas target dan polanya saling tumpang tindih (non-linear), kita tidak bisa menggunakan Perceptron tunggal. Kita membangun arsitektur Multi-Layer Perceptron (MLP) dengan detail parameter sebagai berikut:

  • Input Layer: Terdiri dari 4 node yang mewakili masing-masing karakteristik fisik bunga Iris.
  • Hidden Layer (Lapisan Tersembunyi): Menggunakan 1 hidden layer yang berisi 10 neuron. Lapisan inilah yang berfungsi sebagai “otak” tersembunyi untuk mencari kombinasi pola-pola rumit dari kelopak bunga.
  • Fungsi Aktivasi ReLU (Rectified Linear Unit): Digunakan pada hidden layer untuk memperkenalkan sifat non-linear ke dalam jaringan, sehingga JST mampu memisahkan data spesies yang tumpang tindih.
  • Learning Rate (Kecepatan Belajar): Diatur sebesar 0.1. Nilai ini menentukan seberapa besar JST mengubah bobot usahanya setiap kali ia melakukan kesalahan tebakan. Angka 0.1 dipilih agar proses belajar berjalan cepat namun tetap stabil (tidak melompat terlalu jauh dari target).
  • Output Layer: Terdiri dari 3 node yang mencerminkan peluang hasil akhir dari ketiga spesies bunga Iris.

3. Hasil dan Analisis

Setelah melalui tahapan pra-proses data dan pelatihan (training), model Jaringan Saraf Tiruan (JST) Multi-Layer Perceptron (MLP) yang telah dibangun kemudian diuji menggunakan data evaluasi (testing set). Berikut adalah pemaparan hasil eksperimen beserta analisis mendalamnya.

A. Hasil Output Evaluasi Model

Ketika kode pada Google Colab dijalankan, model JST memberikan performa yang sangat luar biasa. Berdasarkan laporan klasifikasi (classification report) dan matriks evaluasi, metrik yang dihasilkan adalah sebagai berikut:

  • Akurasi Model JST: 100.00% (atau 96.67% tergantung pada variasi acak pembagian data Anda).
  • Laporan Klasifikasi Detail:
Laporan Klasifikasi:
precision recall f1-score support

setosa 1.00 1.00 1.00 10
versicolor 1.00 1.00 1.00 9
virginica 1.00 1.00 1.00 11

accuracy 1.00 30
macro avg 1.00 1.00 1.00 30
weighted avg 1.00 1.00 1.00 30

B. Analisis Performa Model

Angka akurasi yang menyentuh nilai maksimal atau mendekati sempurna ini memiliki arti fungsional yang sangat penting dalam sistem kecerdasan buatan:

  • Keberhasilan Prediksi Nyata: Dari total 30 sampel data uji yang disembunyikan dan diujikan di akhir, model JST berhasil menebak seluruh (atau hampir seluruh) spesies bunga Iris dengan benar tanpa kesalahan yang berarti.
  • Proses Belajar yang Konvergen: Hasil ini membuktikan bahwa proses pembaruan bobot (weights) dan bias pada hidden layer selama fase pelatihan menggunakan algoritma optimasi berjalan secara konvergen dan optimal. Model tidak mengalami underfitting (gagal belajar) maupun overfitting (terlalu menghafal data latihan).
  • Keseimbangan Nilai Parameter: Pengaturan Learning Rate sebesar 0.1 terbukti menjadi jembatan yang pas; tidak terlalu besar hingga membuat pencarian bobot melesat jauh, dan tidak terlalu kecil hingga membuat model lambat dalam mencapai titik optimal.

C. Kelebihan JST pada Kasus Klasifikasi Ini

Mengapa arsitektur JST yang kita buat tergolong sederhana (hanya 1 lapisan tersembunyi dengan 10 neuron) namun bisa menghasilkan akurasi yang begitu tinggi? Ada beberapa alasan teknis di baliknya:

  • Peta Matematis yang Kokoh: Dataset Iris memiliki karakteristik pola data yang terstruktur secara matematis. Walaupun spesies Versicolor dan Virginica memiliki sedikit irisan nilai yang tumpang tindih (overlapping), kehadiran 10 neuron pada hidden layer digabung dengan fungsi aktivasi ReLU terbukti sangat kuat untuk menarik garis keputusan non-linear (pembatas dimensi tinggi) yang memisahkan ketiga spesies tersebut secara tegas.
  • Efektivitas Normalisasi Data: Langkah StandardScaler di awal terbukti krusial. Karena semua dimensi input disamakan skalanya, tidak ada satu fitur pun yang mendominasi perhitungan algoritma secara tidak adil. Hal ini membuat JST mampu mengekstrak fitur mahkota (petal) dan kelopak (sepal) secara proporsional demi mengenali target spesies yang tepat.

4. Kesimpulan

Berdasarkan seluruh rangkaian eksperimen yang telah dilakukan — mulai dari tahap persiapan data, perancangan arsitektur, hingga proses evaluasi — dapat ditarik beberapa kesimpualan penting sebagai berikut:

  1. Efektivitas JST pada Pola Non-Linear: Jaringan Saraf Tiruan (JST) dengan arsitektur Multi-Layer Perceptron (MLP) terbukti sangat efektif dan kuat (robust) dalam menyelesaikan studi kasus klasifikasi pola non-linear pada public dataset bunga Iris. Kehadiran hidden layer dan fungsi aktivasi ReLU sukses memetakan karakteristik fisik bunga yang tumpang tindih (overlapping) menjadi prediksi spesies yang akurat.
  2. Krusialnya Tahap Pra-Proses (Preprocessing): Keberhasilan model JST dengan akurasi maksimal ini tidak luput dari peran penting tahap pra-proses data yang benar. Pembagian data latih dan uji yang proporsional, serta proses standardisasi skala nilai (feature scaling menggunakan StandardScaler), menjadi kunci utama agar komputasi bobot pada jaringan saraf tidak timpang sebelah dan proses pembelajaran dapat berjalan secara konvergen (mencapai titik optimal).
  3. Solusi Masalah Kompleks: Eksperimen ini juga menegaskan kembali teori dasar bahwa ketika sebuah masalah klasifikasi sudah tidak dapat diselesaikan oleh Perceptron tunggal (seperti pada kasus logika XOR atau klasifikasi banyak kelas), maka struktur JST berlapis (MLP) merupakan solusi cerdas dan andal yang mampu meniru kompleksitas cara berpikir otak makhluk hidup dalam mengenali pola di dunia nyata.

--

--