Modul Machine Learning

Download as pdf or txt
Download as pdf or txt
You are on page 1of 20

MODUL

“MACHINE LEARNING”

UNIVERSITAS TEKNOLOGI SUMBAWA

Disusun Oleh Kelompok 2 :


Mar’i Yustiardin 20.01.013.009
Muhammad Fiqar Ramadhan 20.01.013.034
Azrul Rochmad Rifa’i 20.01.013.036
Ulfa Novianda 20.01.013.042
Fathiya Rohali 20.01.013.051

FAKULTAS REKAYASA SISTEM

PROGRAM STUDI INFORMATIKA

SUMBAWA MEI 2023


KATA PENGANTAR

Puji syukur kami panjatkan kepada Allah SWT yang Maha Pengasih dan Maha
Penyayang atas nikmat kesehatan, kesempatan serta hikmat dan anugrah-Nya kami dapat
menyelesaikan Modul Pembelajaran ini dengan judul “MACHINE LEARNING“.
Dalam Modul ini Kami menyadari bahwa pada penulisannya masih terdapat banyak
kekurangan karena keterbatasan ilmu pengetahuan serta kemampuan yang ada dalam diri
kami masing-masing. Pada kesempatan ini kami ingin berterimakasih yang sebesar-besarnya
kepada dosen pembimbing kami yaitu Bapak Eri Sasmita, S.Kom.,M.Kom yang telah
memberikan bimbingan, nasehat serta saran sehingga Modul ”MACHINE LEARNING” ini
dapat kami selesaikan.
Semoga Allah SWT selalu memberikan rahmat yang melimpah dan anugrah-Nya
kepada Bapak pembimbing yang telah membantu kami dalam menyusun modul ini. Kami
berharap semoga modul ini dapat bermanfaat bagi semua pihak yang membutuhkannya.

Sumbawa Besar, 24 Mei 2023

Penulis

i
Modul Machine Learning
DAFTAR ISI

MODUL 1 ................................................................................................................................. 1

A. Pengantar Machine Learning .......................................................................................... 1

B. Taksonomi Teknik Learning ........................................................................................... 1

C. Perkembangan Dan Masa Depan Machine Learning...................................................... 4

D. Risiko Dan Keuntungan Machine Learning ................................................................... 6

MODUL 2 Penerapan Algoritma K-Means Clustering Pada Arduino .............................. 8

MODUL Penerapan Algoritma Convlutional Neural Network (CNN) Pada Arduino ... 13

MODUL Penerapan Algoritma K-Nearest Neighbor (KNN) Pada Arduino ................... 16

ii
Modul Machine Learning
MODUL 1
A. Pengantar Machine Learning
Machine Learning atau dikenal dengan pembelajaran mesin adalah ilmu
computer yang bisa bekerja tanpa diprogram secara eksplisit. Banyak peneliti berpikir
bagaimana cara untuk membuat kemajuan AI terhadap tingkat manusia. Machine
Learning ini merupakan kecerdasan buatan yang mempelajari bagaimana membuat
data. Machine learning ini biasa disingkat dengan ML, ini dibutuhkan untuk
menerapkan teknik yang cepat dan kuat menemukan masalah baru.
Secara definisi, machine learning merupakan ilmu atau studi yang
mempelajari tentang algoritma dan model statistic yang digunakan oleh sistem
computer untuk melakukan task tertentu tanpa instruksi eksplisit. Machine learning
bergantung pada pola dan kesimpulan, untuk mendapatkan pola dan kesimpulan
tersebut, algoritma machine learning menghasilkan model matematika yang didasari
dari data sampel yang sering disebut dengan ‘training data’.
Machine learning juga dapat didefinisikan sebagai ilmu yang mempelajari
bagaimana membuat sebuah program yang dapat menghasilkan pengetahuan baru dari
pengetahuan yang sudah ada (disebut experience, atau data) di luar pengetahuan yang
“diprogram” secara langsung pada program. Istilah lebih umumnya adalah bagaimana
membuat computer yang dapat belajar dari lingkungan sekitar sehingga memiliki
“pengetahuan” yang berkembang.
Pemakaian teknik ini berkaitan dengan pembelajaran mesin dan AI. Mesin ini
membuktikan kepada algoritma atau program yang berjalan dikomputer. Oleh karena
itu, jika kita ingin belajar machine learning, pastikan terus berinteraksi dengan data.
Semua pengetahuan machine learning passti akan melibatkan data.
B. Taksonomi Teknik Learning
Taksonomi adalah sistem klasifikasi atau pengelompokan yang digunakan
untuk mengorganisir dan menyusun informasi ke dalam hierarki yang terstruktur.
Taksonomi teknik learning adalah taksonomi yang digunakan untuk
mengklasifikasikan dan mengelompokkan berbagai teknik pembelajaran (learning
techniques) yang digunakan dalam konteks pembelajaran mesin (machine learning).
Berikut adalah materi lengkap tentang taksonomi teknik learning:

1
Modul Machine Learning
1. Supervised Learning (Pembelajaran Terpandu)
 Regresi (Regression): Teknik untuk memprediksi nilai kontinu berdasarkan
data latihan.
 Klasifikasi (Classification): Teknik untuk memprediksi kelas atau label
berdasarkan data latihan yang diberikan.
 Naive Bayes: Metode statistik yang menggunakan teorema Bayes untuk
klasifikasi probabilitas.
 Decision Tree (Pohon Keputusan): Struktur pohon yang menggambarkan
keputusan dan konsekuensi berdasarkan fitur-fitur data.
 Random Forest: Penggabungan banyak pohon keputusan yang digunakan
untuk klasifikasi atau regresi.
 Support Vector Machines (SVM): Metode pembelajaran yang digunakan
untuk klasifikasi atau regresi dengan mencari hyperplane terbaik yang
memisahkan kelas data.

2. Unsupervised Learning (Pembelajaran Tanpa Pengawasan)


 Clustering: Teknik untuk mengelompokkan data berdasarkan kemiripan atau
pola-pola tertentu.
a) K-means: Algoritma yang mengelompokkan data ke dalam K
kelompok berdasarkan jarak antara titik data.
b) Hierarchical Clustering (Pengelompokan Hirarkis): Metode yang
membangun hirarki kelompok yang berjenjang.
 Dimensi Reduction (Reduksi Dimensi): Teknik untuk mengurangi jumlah fitur
atau dimensi dalam data.
a) Principal Component Analysis (PCA): Metode statistik yang mengubah
ruang fitur menjadi ruang dimensi yang lebih rendah.
b) Singular Value Decomposition (SVD): Metode aljabar linier untuk
memperoleh representasi terbaik dalam dimensi lebih rendah.
 Association Rules (Aturan Asosiasi): Teknik untuk menemukan hubungan dan
pola asosiasi antara item dalam dataset.

2
Modul Machine Learning
3. Reinforcement Learning (Pembelajaran Penguatan)
 Markov Decision Process (MDP): Framework matematis yang digunakan
untuk model pembelajaran penguatan.
 Q-Learning: Algoritma yang digunakan untuk mempelajari kebijakan optimal
dalam MDP.
 Deep Q-Network (DQN): Jaringan saraf tiruan yang digunakan dalam
pembelajaran penguatan.

4. Semi-Supervised Learning (Pembelajaran Semi Terpandu)


 Teknik pembelajaran yang menggunakan kombinasi data latihan yang berlabel
dan tidak berlabel.
 Teknik ini memanfaatkan informasi yang terdapat pada data tidak berlabel
untuk meningkatkan kinerja model.

5. Transfer Learning (Pembelajaran Transfer)


 Teknik yang menggunakan pengetahuan atau pengalaman dari satu tugas ke
tugas lain yang terkait.
 Model yang telah dilatih pada tugas terkait dapat digunakan sebagai awal yang
baik untuk tugas baru.

6. Deep Learning (Pembelajaran Dalam)


 Neural Networks (Jaringan Saraf): Struktur yang terinspirasi oleh jaringan
saraf manusia untuk memproses informasi.
 Convolutional Neural Networks (CNN): Jaringan saraf yang dirancang khusus
untuk pengolahan data grid seperti gambar atau citra.
 Recurrent Neural Networks (RNN): Jaringan saraf yang dirancang untuk
memproses urutan data seperti teks atau waktu.
 Generative Adversarial Networks (GAN): Jaringan saraf yang terdiri dari
model generatif dan model diskriminatif yang saling bersaing.
 Deep Reinforcement Learning: Kombinasi antara pembelajaran penguatan dan
deep learning.
Itu adalah beberapa contoh teknik pembelajaran yang termasuk dalam taksonomi

3
Modul Machine Learning
teknik learning. Setiap teknik memiliki karakteristik dan aplikasi yang berbeda
dalam konteks pembelajaran mesin. Penting untuk memahami taksonomi ini agar
dapat memilih teknik yang sesuai dengan permasalahan yang dihadapi dan
mencapai hasil yang diinginkan dalam pembelajaran mesin.

C. Perkembangan Dan Masa Depan Machine Learning


Sebelumnya, kita sudah mengetahui bahwa sebuah IA dapat dikatakan cerdas
jika ia dapat meningkatkan performanya dengan belajar. Lebih tepatnya, model AI di
dalam IA adalah bagian yang belajar dan menyimpan knowledge di dalamnya. ML
adalah bidang ilmu yang mempelajari cara membuat model AI dapat belajar.
Umumnya, model AI ini disebut sebagai model ML, yaitu model algoritma komputasi
yang mampu menyimpan serta mengubah knowledge yang ia miliki melalui proses
pembelajaran dari data. Model ML adalah salah satu jenis model AI yang paling
banyak digunakan di era 4.0, baik untuk data berupa tabel, teks, suara, dan
sebagainya.
Machine learning telah mengalami perkembangan yang pesat dalam beberapa
tahun terakhir dan diperkirakan akan terus berkembang di masa depan. Berikut adalah
beberapa perkembangan dan tren yang mungkin akan mempengaruhi machine
learning di masa mendatang:

1. Deep Learning: Deep learning adalah cabang dari machine learning yang
menggunakan neural networks yang dalam untuk mempelajari pola dan fitur
yang kompleks. Deep learning telah menghasilkan kemajuan yang signifikan
dalam berbagai bidang, seperti pengenalan wajah, pengenalan suara, dan
bahasa alami. Di masa depan, diharapkan akan ada pengembangan lebih lanjut
dalam arsitektur dan algoritma deep learning yang memungkinkan
pembelajaran yang lebih efisien dan akurat.

2. Pembelajaran Tanpa Pengawasan (Unsupervised Learning): Metode


pembelajaran tanpa pengawasan memungkinkan sistem untuk mempelajari
pola dan struktur dalam data tanpa adanya label atau pengawasan manusia.
Teknik-teknik seperti k-means clustering, autoencoders, dan generative
adversarial networks (GANs) telah membuka pintu bagi pengembangan model

4
Modul Machine Learning
yang dapat menemukan informasi tersembunyi dalam data. Di masa depan,
kita dapat melihat perkembangan lebih lanjut dalam metode pembelajaran
tanpa pengawasan untuk memahami data yang lebih kompleks dan
menghasilkan pemodelan yang lebih baik.

3. Interpretabilitas dan Keamanan: Salah satu tantangan dalam machine learning


saat ini adalah interpretasi dan keamanan model yang kompleks. Banyak
model machine learning, seperti neural networks, sulit untuk diinterpretasikan
dan menjelaskan alasan di balik keputusan mereka. Di masa depan, akan ada
peningkatan dalam pengembangan metode dan alat yang memungkinkan
interpretasi yang lebih baik dari model yang kompleks. Selain itu, keamanan
dan privasi data juga akan menjadi fokus yang lebih besar untuk melindungi
model dan data pelatihan dari serangan dan penyalahgunaan.

4. Federated Learning: Federated learning adalah pendekatan di mana model


machine learning dikembangkan di sejumlah perangkat yang terdistribusi
secara geografis, dan pembaruan model terjadi secara terdistribusi. Pendekatan
ini memungkinkan pembaruan model tanpa mengungkapkan data pengguna
secara langsung, menjaga privasi data. Federated learning dapat berguna
dalam skenario di mana data sensitif harus dipertahankan di perangkat lokal,
seperti dalam aplikasi kesehatan atau keuangan. Di masa depan, federated
learning diperkirakan akan semakin populer dan menjadi bagian integral dari
sistem machine learning yang lebih luas.

5. Percepatan Perangkat Keras (Hardware Acceleration): Untuk mengatasi


tuntutan komputasi yang tinggi dari model machine learning yang semakin
besar dan kompleks, diperlukan perangkat keras yang dapat mempercepat
proses pembelajaran dan inferensi. Perkembangan dalam teknologi seperti unit
pemrosesan grafis (GPU), tensor processing units (TPU), dan field-
programmable gate arrays (FPGAs) telah membawa kecepatan dan efisiensi
yang lebih tinggi dalam menjalankan model machine learning. Di masa depan,
kita dapat melihat perkembangan lebih lanjut dalam perangkat keras khusus
yang dioptimalkan untuk tugas-tugas machine learning, serta integrasi yang

5
Modul Machine Learning
lebih erat antara perangkat keras dan perangkat lunak.

Perkembangan dan masa depan machine learning dipengaruhi oleh inovasi dan
penelitian yang terus berlanjut. Dengan adanya kemajuan teknologi, peningkatan
dalam pemahaman kita tentang metode pembelajaran mesin, dan peningkatan
ketersediaan data, kita dapat mengharapkan perkembangan yang lebih lanjut dalam
bidang ini di masa depan.

D. Risiko Dan Keuntungan Machine Learning


Machine learning memiliki berbagai resiko dan keuntungan yang perlu
dipertimbangkan. Berikut ini adalah beberapa resiko dan keuntungan umum yang
terkait dengan penggunaan machine learning:

Resiko Machine Learning:


1. Ketidaktepatan: Jika model machine learning tidak dilatih dengan baik atau
menggunakan data yang tidak representatif, maka hasil prediksinya mungkin
tidak akurat. Kesalahan prediksi ini bisa memiliki konsekuensi serius terutama
jika digunakan dalam pengambilan keputusan penting seperti di bidang
kesehatan atau keuangan.

2. Bias dan diskriminasi: Model machine learning cenderung mencerminkan bias


dan diskriminasi yang ada dalam data pelatihannya. Jika data pelatihan
mengandung bias tertentu terhadap kelompok tertentu, maka model tersebut
dapat mengambil keputusan yang tidak adil atau diskriminatif.

3. Ketergantungan pada data: Kinerja model machine learning sangat tergantung


pada data yang digunakan untuk pelatihan. Jika data tersebut tidak mencakup
semua kasus yang relevan atau tidak cukup representatif, maka model tersebut
mungkin tidak dapat menghasilkan prediksi yang baik saat dihadapkan pada
situasi baru atau data yang tidak pernah dilihat sebelumnya.

4. Kerentanan terhadap serangan: Model machine learning dapat rentan terhadap


serangan seperti manipulasi data atau serangan peretasan. Jika seorang

6
Modul Machine Learning
penyerang berhasil memanipulasi data yang digunakan untuk pelatihan, model
tersebut dapat menghasilkan prediksi yang salah atau dapat disalahgunakan.

Keuntungan Machine Learning:


1. Kemampuan prediktif: Machine learning dapat menghasilkan prediksi yang
akurat dan berharga berdasarkan analisis data yang kompleks. Hal ini
memungkinkan penggunaan machine learning dalam berbagai bidang seperti
kesehatan, keuangan, pemasaran, dan lainnya.

2. Pengotomatisan tugas: Dengan machine learning, beberapa tugas yang


biasanya membutuhkan waktu dan usaha manusia dapat diotomatisasi.
Misalnya, pengenalan pola, pengelompokan data, atau pengambilan keputusan
berdasarkan pola-pola yang tersembunyi dalam data.

3. Skalabilitas: Model machine learning dapat diaplikasikan pada volume data


yang sangat besar dan dapat memprosesnya dengan cepat. Ini memungkinkan
analisis data yang lebih efisien dan dapat mengungkapkan pola yang tidak
dapat ditemukan dengan metode tradisional.

4. Pembelajaran dari data yang dinamis: Machine learning dapat digunakan


untuk memperbarui model secara otomatis saat ada data baru yang tersedia.
Dengan demikian, model dapat terus belajar dari data yang dinamis dan
meningkatkan kinerjanya seiring waktu.

5. Pengambilan keputusan yang lebih baik: Dengan analisis data yang mendalam
dan kemampuan prediksi yang akurat, machine learning dapat membantu
manusia dalam pengambilan keputusan yang lebih baik dan berdasarkan bukti.

Namun, penting untuk diingat bahwa penggunaan machine learning harus


dilakukan dengan hati-hati dan bertanggung jawab, dengan memperhatikan resiko
yang terkait dan memastikan integritas, keamanan, dan etika penggunaannya.

7
Modul Machine Learning
MODUL 2
Penerapan Algoritma K-Means Clustering Pada Arduino

K-Means clustering adalah algoritma unsupervised learning yang dipakai


untuk mengelompokkan dataset yang belum dilabel ke dalam kluster yang berbeda.
Simbol K pada K-means clustering menandakan jumlah kluster yang digunakan.

Kluster mengacu pada kumpulan titik data yang dikumpulkan bersama karena
kesamaan tertentu. Jika K = 2, maka akan ada 2 kluster, dan jika K = 3 maka terdapat
3 kluster, begitu seterusnya.
Dengan demikian K-means clustering dapat didefinisikan sebagai algoritma
iteratif yang membagi kumpulan data (dataset) yang tidak berlabel menjadi k kluster
yang berbeda sedemikian rupa sehingga setiap kumpulan data hanya dimiliki oleh
satu kelompok yang memiliki properti serupa.
Penerapan algoritma K-Means Clustering pada Arduino memungkinkan untuk
melakukan analisis pengelompokan data secara real-time menggunakan
mikrokontroler Arduino. K-Means Clustering adalah algoritma yang populer dalam
dunia analisis data dan machine learning untuk mengelompokkan data menjadi
beberapa kelompok berdasarkan kesamaan fitur atau atribut.

Berikut adalah langkah-langkah umum untuk menerapkan algoritma K-Means


Clustering pada Arduino:
1. Persiapkan perangkat keras: akan membutuhkan Arduino board, sensor atau

8
Modul Machine Learning
perangkat yang dapat menghasilkan data, seperti sensor suhu atau sensor jarak.
Pastikan Arduino terhubung dengan komputer melalui kabel USB.
2. Instalasi perangkat lunak Arduino: Unduh dan instal perangkat lunak Arduino
IDE dari situs resmi Arduino (https://www.arduino.cc/en/software). Pastikan
memilih versi yang sesuai dengan sistem operasi.
3. Buat program Arduino: Buka Arduino IDE dan buat program yang akan
membaca data dari sensor dan menerapkan algoritma K-Means Clustering.
Perlu menggunakan bahasa pemrograman C++ yang didukung oleh Arduino
IDE.
Berikut adalah contoh sederhana program Arduino yang menggunakan
algoritma K-Means Clustering untuk mengelompokkan data suhu:

#include <Wire.h>

#include <Adafruit_MLX90614.h>

#include <SoftwareSerial.h>

#include <TinyMLShield.h>

#include <TINYGPT.h>

#include <TinyTrainable.h>

#include <Adafruit_Sensor.h>

#include <Adafruit_BME280.h>

#include <Wire.h>

#include <TinyMLShield.h>

#include <TINYGPT.h>

#include <TinyTrainable.h>

#include <Adafruit_Sensor.h>

#include <Adafruit_BME280.h>

#include <Wire.h>

9
Modul Machine Learning
Adafruit_BME280 bme;

#define NUM_CLUSTERS 3

float centroids[NUM_CLUSTERS] = {25.0, 30.0, 35.0};

void setup() {

Serial.begin(9600);

Wire.begin();

bme.begin(0x76);

void loop() {

float temperature = bme.readTemperature();

int cluster = findCluster(temperature);

Serial.print("Temperature: ");

Serial.print(temperature);

Serial.print(" Cluster: ");

Serial.println(cluster);

delay(1000);

int findCluster(float data) {

float minDistance = abs(data - centroids[0]);

int cluster = 0;

10
Modul Machine Learning
for (int i = 1; i < NUM_CLUSTERS; i++) {

float distance = abs(data - centroids[i]);

if (distance < minDistance) {

minDistance = distance;

cluster = i;

return cluster;

4. Unggah program ke Arduino: Sambungkan Arduino Anda ke komputer


menggunakan kabel USB. Pilih board dan port yang sesuai pada Arduino IDE.
Kemudian, unggah program yang telah Anda buat ke Arduino dengan
mengklik tombol "Upload".
5. Uji coba: Setelah program diunggah, Arduino akan membaca data dari sensor
suhu secara periodik dan mengelompokkan data tersebut ke dalam salah satu
cluster yang telah ditentukan. Anda dapat memantau hasil keluaran melalui
Serial Monitor pada Arduino IDE.

Perlu diingat bahwa Arduino memiliki keterbatasan sumber daya, termasuk


memori dan kecepatan pemrosesan. Oleh karena itu, Anda perlu memperhatikan skala
data dan kompleksitas algoritma yang digunakan agar dapat berjalan dengan baik
pada perangkat Arduino.

Penerapan algoritma K-Means Clustering pada Arduino memungkinkan Anda


untuk melakukan analisis pengelompokan data secara real-time dengan sumber daya
terbatas. Namun, perlu diingat bahwa Arduino lebih cocok untuk tugas-tugas
pemrosesan sederhana. Jika Anda memerlukan analisis data yang lebih kompleks atau
kinerja yang lebih tinggi, lebih disarankan untuk menggunakan komputer atau

11
Modul Machine Learning
platform yang lebih kuat secara komputasional.

12
Modul Machine Learning
MODUL 3
Penerapan Algoritma Convlutional Neural Network (CNN) Pada Arduino
Convolutional Neural Networks, yang dikenal sebagai CNN, adalah kategori
Neural Networks yang menggunakan multilayer variasi perceptron yang dirancang
untuk pra-pemrosesan minimal. Convolutional Neural Network digunkaan untuk
mengklasifikasikan data yang terlabel dengan menggunakan metode supervised
learning, yang mana cara kerja dari supervised learning adalah terdapat data yang
dilatih dan terdapat variabel yang ditargetkan sehingga tujuan dari metode ini adalah
mengelompokan suatu data ke data yang sudah ada.
Algoritma ini dirancang khusus untuk memproses data piksel dan citra visual.
Algoritma Convolutional Neural Network memiliki neuron yang didesain untuk
bekerja layaknya lobus frontal, khususnya area visual cortex pada otak manusia dan
hewan.Visual cortex yaitu area yang bertanggung jawab untuk memproses informasi
dalam bentuk rangsangan visual. Hal ini yang membuat CNN cukup efektif digunakan
dalam pemrosesan gambar dibanding algoritma neural network sejenis. Kata
convolution pada CNN yaitu sebuah operasi matematika pada dua buah fungsi yang
kemudian menghasilkan fungsi ketiga. Fungsi ini menggabungkan 2 buah himpunan
informasi dan menunjukkan bagaimana bentuk satu fungsi dimodifikasi oleh fungsi
lainnya.
CNN menggunakan convolution sebagai pengganti perkalian matriks umum.
Operasi ini digunakan paling tidak pada satu lapisannya. Neural network yang umum
biasanya mengubah input dengan meletakkannya melalui rangkaian hidden layer.
Setiap layer terdiri dari sekumpulan neuron, dimana setiap layer terhubung secara
penuh dengan semua neuron pada layer sebelumnya. Terakhir, lapisan yang sudah
terhubung sepenuhnya (output layer) digunakan untuk mewakili prediksi.
Tidak seperti neural network biasa, lapisan pada algoritma CNN memiliki
neuron yang diatur dalam 3 dimensi: width, height, dan depth. Dimensi depth
mengacu pada dimensi ketiga dari fungsi aktivasi, bukan kedalaman neural network
atau jumlah total layer dalam jaringan. Neuron-neuron dalam satu layer tidak
terhubung ke semua neuron di layer berikutnya tetapi hanya ke sebagian kecil saja.
Terakhir, hasil akhir akan direduksi menjadi satu vektor skor probabilitas, yang diatur
sepanjang dimensi depth.
Penerapan algoritma Convolutional Neural Network (CNN) pada Arduino

13
Modul Machine Learning
menjadi tantangan karena keterbatasan sumber daya perangkat keras Arduino yang
relatif terbatas, terutama dalam hal daya komputasi dan memori.
Namun, meskipun Arduino adalah platform yang terbatas dalam hal daya
pemrosesan dan memori dibandingkan dengan komputer yang lebih kuat, seperti PC
atau server, Anda masih dapat mengimplementasikan algoritma Convolutional Neural
Network (CNN) pada Arduino untuk tugas pemrosesan citra yang sederhana.
Namun, perlu diingat bahwa implementasi CNN pada Arduino akan
memerlukan beberapa kompromi. Anda mungkin harus membatasi kompleksitas
jaringan, mengurangi ukuran dan resolusi citra yang diolah, dan menggunakan teknik
optimasi untuk menjaga agar pemrosesan tetap efisien.
Berikut adalah langkah-langkah umum yang diperlukan untuk
mengimplementasikan CNN pada Arduino:
1. Persiapan Dataset: Anda perlu menyiapkan dataset citra yang akan digunakan
untuk melatih dan menguji jaringan CNN. Pastikan citra-citra tersebut sesuai
dengan keterbatasan sumber daya Arduino, seperti ukuran dan resolusi yang
lebih kecil.
2. Perancangan Model CNN: Anda perlu merancang arsitektur CNN yang sesuai
dengan tugas yang akan dilakukan. Gunakan layer konvolusi, pooling, dan
fully connected layer sesuai dengan kebutuhan. Pastikan juga bahwa jumlah
parameter model tidak terlalu besar untuk kapasitas memori Arduino.
3. Pelatihan Model: Gunakan dataset yang telah Anda siapkan untuk melatih
model CNN. Proses ini akan memerlukan perangkat komputasi yang lebih
kuat, seperti PC atau server. Anda dapat menggunakan library atau framework
deep learning yang mendukung pelatihan model pada komputer dan
menyimpan parameter yang telah dilatih.
4. Konversi Model ke Format Arduino: Setelah melatih model CNN, Anda perlu
mengonversi parameter model ke format yang dapat dipahami oleh Arduino.
Anda dapat menggunakan alat seperti TensorFlow Lite untuk mengonversi
model menjadi format yang lebih efisien dan cocok untuk mikrokontroler
seperti Arduino.
5. Implementasi pada Arduino: Transfer model yang telah dikonversi ke Arduino
dan implementasikan kode yang memungkinkan mikrokontroler untuk
memuat model, melakukan inferensi pada citra, dan menghasilkan output yang

14
Modul Machine Learning
diinginkan.
Perlu diingat bahwa performa CNN pada Arduino akan terbatas dibandingkan
dengan perangkat komputasi yang lebih kuat. Oleh karena itu, perlu dilakukan
optimasi lebih lanjut, seperti mengurangi kompleksitas model, menggunakan teknik
kompresi model, atau menggunakan strategi pemrosesan citra yang lebih efisien untuk
mencapai hasil yang memadai.
Selain itu, pastikan Anda memiliki pengetahuan yang memadai tentang
pemrograman Arduino dan implementasi CNN sebelum mencoba
menggabungkannya. Implementasi ini bisa menjadi tugas yang rumit dan
membutuhkan pemahaman yang baik tentang kedua domain tersebut.

15
Modul Machine Learning
MODUL 4
Penerapan Algoritma K-Nearest Neighbor (KNN) Pada Arduino
Algoritma K-Nearest Neighbor (KNN) adalah salah satu metode yang populer
dalam pengenalan pola dan pembelajaran mesin yang termasuk dalam kategori
algoritma penggolongan (classification). KNN digunakan untuk memprediksi label
atau kelas dari suatu data berdasarkan data latihan yang memiliki label atau kelas
yang sudah diketahui.
Pada Arduino, implementasi algoritma KNN dapat dilakukan dengan
mengikuti langkah-langkah berikut:
1. Persiapan Data Latih:
Siapkan data latih yang terdiri dari contoh-contoh dengan label yang diketahui. Setiap
contoh harus direpresentasikan sebagai vektor fitur numerik. Catat label atau kelas
yang sesuai dengan setiap contoh.
2. Hitung Jarak:
Implementasikan fungsi untuk menghitung jarak antara dua vektor fitur. Ada
beberapa metode yang dapat digunakan, seperti Euclidean distance atau Manhattan
distance. Jarak antara vektor fitur baru dengan setiap contoh data latih perlu dihitung.
3. Tentukan Tetangga Terdekat:
Urutkan contoh-contoh data latih berdasarkan jarak dari yang terdekat hingga yang
terjauh. Pilih k contoh terdekat sebagai tetangga terdekat.
4. Lakukan Voting:
Hitung frekuensi setiap kelas dari tetangga terdekat. Kelas dengan frekuensi tertinggi
akan dipilih sebagai hasil klasifikasi.
5. Kelasifikasi:
Gunakan hasil voting untuk mengklasifikasikan vektor fitur baru ke dalam salah satu
kelas.
Implementasi algoritma KNN pada Arduino memerlukan kemampuan
pemrosesan yang cukup, terutama dalam menghitung jarak dan melakukan sorting.
Oleh karena itu, pada beberapa model Arduino dengan sumber daya terbatas,
implementasi algoritma ini mungkin tidak praktis.
Namun, jika memiliki Arduino yang lebih canggih atau ingin menggunakan
Arduino dengan modul eksternal seperti sensor jarak atau sensor suhu, dapat
mengimplementasikan algoritma KNN dengan menggunakan bahasa pemrograman

16
Modul Machine Learning
Arduino dan memanfaatkan fungsi dan perangkat keras yang ada untuk memproses
data dan melakukan klasifikasi.
Pastikan untuk memahami batasan dan kemampuan Arduino yang Anda
gunakan, serta mempertimbangkan kompleksitas algoritma KNN sebelum
mengimplementasikannya pada perangkat keras Arduino.

17
Modul Machine Learning

You might also like