Penerapan Machine Learning dalam IoT untuk Predictive Maintenance

Pengantar Predictive Maintenance dan Peran IoT serta Machine Learning
Predictive maintenance (pemeliharaan prediktif) adalah pendekatan proaktif untuk memprediksi kapan peralatan akan mengalami kegagalan, sehingga pemeliharaan bisa direncanakan sebelum kerusakan terjadi. Dalam konsep ini, sensor IoT mengumpulkan data operasi mesin (seperti getaran, suhu, arus, suara) secara real-time, kemudian model machine learning (ML) menganalisis data tersebut untuk mendeteksi pola yang mengindikasikan kegagalan mendekat. Dengan demikian pemeliharaan dilakukan sebelum kerusakan parah, minimalkan downtime, menurunkan biaya pemeliharaan, dan memperpanjang masa pakai peralatan. Misalnya, perubahan kecil pada getaran motor atau peningkatan suhu yang abnormal dapat dipelajari oleh ML untuk memprediksi potensi kegagalan sebelum benar-benar rusak. Pendekatan ini menggantikan model reaktif atau preventif tradisional dan menawarkan banyak keuntungan seperti mengoptimalkan waktu perawatan agar gangguan operasi seminimal mungkin.
Internet of Things (IoT) memainkan peran penting dalam ekosistem predictive maintenance karena menghubungkan sensor-sensor fisik ke jaringan dan ke cloud. Sensor IoT yang ditanam pada mesin akan mentransmisikan data ke edge device atau server melalui koneksi nirkabel. Data besar (big data) hasil pengukuran ini kemudian dianalisis menggunakan teknik ML untuk pengambilan keputusan pemeliharaan. Menurut Chuang et al., teknik predictive maintenance dapat menentukan kondisi peralatan untuk menilai kapan sebaiknya pemeliharaan dilakukan, sehingga mengurangi waktu mati tak terduga, biaya perawatan, dan memperpanjang masa hidup peralatan. Dengan kombinasi IoT dan ML, perusahaan dapat merencanakan pemeliharaan lebih efisien dan mengurangi gangguan produksi.
Komponen Utama Sistem IoT untuk Pemeliharaan Prediktif
Sistem IoT untuk predictive maintenance terdiri dari beberapa komponen penting yang saling terintegrasi:
No | Materi | Tanggal | Waktu | Harga | Lokasi | View | Action |
---|---|---|---|---|---|---|---|
1 | IOT PLC SCADA Siemens | 7-8 Juni 2025 | 08.00 - 16.00 | 2000000 | Surabaya | Silabus | Daftar Sekarang |
2 | IOT PLC SCADA Omron | 14 - 15 Juni 2025 | 08.00 - 16.00 | 2000000 | Surabaya | Silabus | Daftar Sekarang |
3 | IOT PLC SCADA Schneider | 21-22 Juni 2025 | 08.00 -16.00 | 2000000 | Surabaya | Silabus | Daftar Sekarang |
4 | IOT PLC SCADA Allen Bradley | 28-29 Juni 2025 | 08.00-16.00 | 2000000 | Surabaya | Silabus | Daftar Sekarang |
- Sensor IoT: Perangkat fisik yang mengukur parameter mesin. Contohnya adalah sensor getaran (accelerometer), sensor suhu, sensor tekanan, sensor arus listrik, dan mikrofon. Sebuah IoT Predictive Maintenance Sensor umum bahkan dapat mencakup sensor getaran 3-aksis, termokopel (suhu), sensor arus AC, dan sensor suhu ambient. Data mentah yang dihasilkan sensor inilah yang menjadi bahan baku analisis ML.
- Raspberry Pi (Edge Device): Raspberry Pi adalah Single Board Computer (SBC) yang sering digunakan sebagai edge node pada sistem IoT karena biayanya murah dan fleksibel. Pi dapat terhubung ke berbagai sensor melalui GPIO, I2C, SPI, atau USB, dan memiliki konektivitas Wi-Fi/Bluetooth untuk komunikasi. Contohnya, Pi Zero W memiliki prosesor ARM 1Â GHz serta antarmuka wireless LAN, sementara Pi 3/4 memiliki CPU ARM Cortex yang lebih kuat. Dengan GPIO 40-pin, Raspberry Pi dapat ditambahkan modul sensor khusus (HAT) seperti modul getaran, sensor suara, atau kamera. Karena bersifat edge computing, Raspberry Pi dapat menjalankan pemrosesan data ringan dan algoritma ML sederhana secara lokal, mengurangi beban transfer data ke cloud.
- Komunikasi Data: Untuk mengirim data sensor ke server/cloud, IoT umumnya menggunakan protokol ringan seperti MQTT, HTTP/REST, atau TCP/IP. Misalnya, data sensor dari Raspberry Pi dapat dikirim via MQTT ke platform IoT seperti ThingsBoard atau InfluxDB. Protokol MQTT populer karena overheadnya kecil dan cocok untuk koneksi nirkabel pada bandwidth terbatas. Alternatifnya, data bisa dikirim lewat HTTP POST ke server. Chuang et al. mencatat bahwa pada platform percobaan, informasi sensor dikirim melalui Raspberry Pi menggunakan protokol TCP/IP dan disimpan sebagai urutan waktu untuk analisis lebih lanjut.
- Penyimpanan dan Infrastruktur Cloud: Data yang terkumpul perlu disimpan dan dianalisis. Penyimpanan bisa bersifat lokal (misalnya file CSV, database SQLite) atau di cloud (misalnya InfluxDB, ThingsBoard, ThingSpeak, atau layanan IoT komersial seperti AWS IoT/Azure IoT). InfluxDB (database time-series) sering digunakan karena dioptimalkan untuk data sensor. ThingsBoard dan ThingSpeak menyediakan antarmuka ready-made untuk menerima data MQTT dan menampilkannya di dashboard. Beberapa sistem menggunakan platform analitik khusus untuk preprocessing dan pemodelan ML secara terpusat. Secara umum, sensor mengirim data ke Raspberry Pi, lalu Pi meneruskan ke cloud atau server database. Data kemudian dianalisis (menggunakan ML) dan hasilnya dikembalikan ke pengguna melalui dashboard visual atau sistem notifikasi.
Rangkuman komponen: Ringkasnya, sistem predictive maintenance melibatkan (sensor) → (edge device Raspberry Pi) → (jaringan) → (server/cloud penyimpanan dan analisis ML) → (sistem peringatan). Arsitektur ini memungkinkan pemantauan kondisi mesin secara real-time dan penerapan model ML untuk prediksi kegagalan.
Jenis Data IoT dan Penggunaannya untuk Machine Learning
Data yang dikumpulkan oleh sensor IoT umumnya berupa time-series numerik (deret waktu) yang meliputi berbagai parameter mesin. Misalnya, sensor getaran tiga sumbu menghasilkan tiga nilai akselerasi (X, Y, Z) pada setiap waktu, sensor suhu menghasilkan nilai °C, sensor arus menghasilkan arus listrik (Ampere), dan mikrofon/sensor suara merekam sinyal audio. Data ini sering kali sangat besar (frekuensi sampling tinggi) dan terus berkembang seiring mesin beroperasi. Contohnya, Chuang et al. mencatat bahwa kondisi peralatan dicatat sebagai data berurutan untuk kemudian dianalisis dengan ML.
Data mentah biasanya perlu diproses lebih lanjut sebelum digunakan sebagai input ML. Proses pra-pemrosesan (data preprocessing) dapat mencakup normalisasi (skala data), pengisian nilai hilang, dan pengurangan noise. Selain itu, fitur-fitur penting sering diekstraksi dari sinyal mentah. Misalnya, pada data getaran kita dapat menghitung mean, RMS (root mean square), atau spektrum frekuensi sinyal (menggunakan FFT) sebagai fitur statis untuk model ML. MATLAB Example mengilustrasikan bahwa fitur seperti nilai rata-rata, RMS, dan power spectral density dari data getaran dapat digunakan untuk klasifikasi kondisi mesin. Secara umum, fitur-fitur statistik dan spektral ini kemudian menjadi masukan untuk algoritma ML.
Berikut adalah contoh skema data sensor sederhana yang sering digunakan dalam PdM:
Waktu (Timestamp) | Getaran X (m/s²) | Getaran Y (m/s²) | Getaran Z (m/s²) | Suhu (°C) | Arus (A) | Status Mesin |
2025-06-18 08:00:00 | 0.02 | 0.01 | 0.00 | 45.0 | 2.1 | Normal |
2025-06-18 08:00:01 | 0.03 | 0.00 | -0.01 | 45.2 | 2.0 | Normal |
… | … | … | … | … | … | … |
2025-06-18 09:15:30 | 0.50 | 0.45 | 0.40 | 80.0 | 5.0 | Fault |
Pada tabel di atas, setiap baris merepresentasikan snapshot kondisi mesin pada waktu tertentu, dengan kolom Status Mesin menunjukkan hasil label (misalnya Normal atau Fault). Data semacam ini dapat dilatih oleh model supervised ML untuk memprediksi Status Mesin berdasarkan fitur getaran, suhu, dan arus. Setelah model terlatih, saat data baru terkumpul, kita dapat melakukan prediksi kapan mesin akan mengalami kegagalan.
Dalam praktek, data yang dikumpulkan bisa sangat bervariasi tergantung sensor dan domain. Chuang et al. menyebut penggunaan multivariate analysis (analisis multivariat) untuk mendapatkan informasi lebih banyak mengenai status peralatan sebelum terjadinya anomali. Dengan data sensor yang kaya, sistem PdM dapat lebih akurat memprediksi kegagalan dan memberikan rekomendasi perawatan yang tepat waktu.
Model Machine Learning untuk Predictive Maintenance
Berbagai model machine learning dapat digunakan untuk predictive maintenance, tergantung jenis tugas yang diinginkan:
- Regresi: Model regresi (misalnya regresi linier) digunakan jika kita ingin memprediksi nilai kontinu seperti Remaining Useful Life (RUL) atau tingkat keausan. Tujuan regresi adalah memberikan estimasi sisa umur pakai komponen mesin. Salah satu studi bahkan menitikberatkan pada estimasi RUL menggunakan model machine learning.
- Decision Tree (Pohon Keputusan): Pohon keputusan adalah algoritma yang mudah dipahami dan dapat digunakan untuk klasifikasi kondisi (misalnya normal vs gagal). Model ini membagi data berdasarkan fitur secara berulang (misal jika getaran > ambang tertentu, kemudian cek suhu, dll). Keuntungan pohon keputusan adalah interpretabilitasnya – kita dapat mengikuti aturan keputusan hingga hasil.
- Random Forest: Merupakan ensemble (himpunan) dari beberapa pohon keputusan. Random Forest sering lebih akurat daripada satu pohon karena menggabungkan banyak pohon acak. Seperti Dwi Kusumaningrum et al. temukan, Random Forest memberikan performa lebih baik dibandingkan SVM dalam mengklasifikasikan kondisi mesin dan memperkirakan RUL. Random Forest tahan terhadap overfitting dan dapat menangani data yang lebih kompleks dengan fitur yang banyak.
- Neural Network: Termasuk model yang terdiri dari lapisan neuron tersambung, mampu menangkap pola non-linear yang kompleks. Neural network bisa digunakan untuk klasifikasi (misal Multi-layer Perceptron) atau regresi (Deep Neural Networks). Untuk data time-series atau sinyal sensor, arsitektur khusus seperti LSTM (Long Short-Term Memory) atau CNN (Convolutional Neural Network) juga sering digunakan. Misalnya, CNN dapat menganalisis grafik spektral dari sinyal getaran, sedangkan LSTM dapat memahami tren temporal.
Pendekatan ML lainnya yang kadang digunakan meliputi Support Vector Machine (SVM), K-Nearest Neighbors, atau algoritma anomaly detection (misalnya autoencoder, clustering) untuk menemukan kelainan pada data tanpa label. Namun yang populer dalam literatur PdM adalah pohon keputusan, Random Forest, dan neural network. Penggunaan model khusus (regresi vs klasifikasi) disesuaikan dengan tugas: klasifikasi jika menandai status (baik/jelek), regresi jika memprediksi nilai RUL. Dalam praktik Python, model-model ini dapat diimplementasikan menggunakan pustaka seperti scikit-learn (untuk tree, RF, SVM, regresi) dan TensorFlow/Keras atau PyTorch (untuk neural network) serta pustaka khusus seperti Edge Impulse untuk perangkat IoT.
Langkah-Langkah Membangun Pipeline Machine Learning
Proses predictive maintenance berbasis ML melalui beberapa tahapan berikut:
- Pengumpulan Data (Data Collection): Mengumpulkan data sensor dari mesin secara terus-menerus. Data bisa diperoleh melalui pembacaan langsung oleh Raspberry Pi dari sensor (seperti mengukur getaran setiap detik) atau melalui data historis yang tersimpan. Contoh: Raspberry Pi membaca data sensor tiap 2 detik dan mengirimnya via MQTT ke server.
- Pra-pemrosesan Data (Preprocessing): Membersihkan dan mempersiapkan data sebelum pelatihan. Ini meliputi penghapusan nilai yang hilang, penormalan (misalnya skala 0–1), dan penghalusan (filter noise). Selain itu, ekstraksi fitur adalah bagian penting – misalnya menghitung rata-rata, RMS, peak frequency dari sinyal getaran. Jika data sinyal sangat besar (frekuensi tinggi), sering dilakukan agregasi atau pemilihan fitur statistik. Chuang et al. menyebut penggunaan platform analisis statistik untuk preprocessing dan pemodelan data.
- Pelatihan Model (Training): Setelah data siap, pisahkan data ke dalam set pelatihan (training set) dan pengujian (test set). Kemudian pilih model ML dan latih dengan data pelatihan. Contoh kode sederhana dengan scikit-learn (Random Forest) sebagai berikut:
from sklearn.ensemble import RandomForestClassifier # Misal X_train berisi fitur sensor, y_train berisi label kondisi mesin rf = RandomForestClassifier(n_estimators=100, random_state=42) fit(X_train, y_train)
Kode di atas melatih model Random Forest dengan data sensor. Pada Python, langkah ini dapat diulangi untuk berbagai model (Decision Tree, SVM, Neural Network, dsb.) dengan parameter yang berbeda.
- Evaluasi Model (Evaluation): Uji model yang telah terlatih dengan data pengujian untuk mengevaluasi kinerjanya. Gunakan metrik seperti akurasi (untuk klasifikasi), precision/recall, atau MAE/MSE (untuk regresi RUL). Misalnya, kita dapat melakukan prediksi menggunakan rf.predict(X_test) dan menghitung akurasi dengan accuracy_score(y_test, y_pred). Hasil evaluasi menentukan seberapa baik model memprediksi kegagalan. Dalam studi nyata, bandingkan beberapa model untuk memilih yang terbaik.
- Deployment Model: Setelah dipilih model terbaik, model tersebut disimpan dan diterapkan di lingkungan produksi. Ini bisa di Pi (edge) atau di cloud. Misalnya, model scikit-learn yang terlatih disimpan dengan joblib dan dijalankan di Raspberry Pi untuk melakukan inferensi real-time terhadap data sensor yang masuk. Pendekatan edge computing sangat berguna di sini karena pemrosesan data dilakukan dekat sumbernya, mengurangi latensi komunikasi. Dengan deployment di edge, Raspberry Pi dapat segera memberi sinyal peringatan bila model memprediksi kegagalan (selanjutnya detail di bagian integrasi). Jika menggunakan cloud, data sensor dikirim ke server dimana model ML dijalankan, dan hasil prediksi dikirim balik ke aplikasi pengguna. Edge vs cloud bisa dipilih sesuai kebutuhan performa dan infrastruktur.
Secara ringkas, rangkaian pipeline ML dapat digambarkan sebagai Pengumpulan → Preprocessing → Pelatihan → Evaluasi → Deployment. Setiap tahap saling berkaitan dan proses diulang terus menerus (feedback loop), terutama jika model perlu diperbarui dengan data baru. Chuang et al. mencatat bahwa modul pengumpulan data, preprocessing dan pemodelan adalah komponen penting untuk pengambilan keputusan pemeliharaan yang efektif.
Studi Kasus: Implementasi Predictive Maintenance di Raspberry Pi
Desain Sistem dan Alur Kerja
Sebagai contoh implementasi, pertimbangkan skema berikut: sebuah sensor getaran ditempelkan pada motor industri, terhubung ke Raspberry Pi Zero W. Pi membaca data getaran dan kemudian mengirimkannya ke server cloud menggunakan MQTT. Di server tersebut, data disimpan dan dianalisis oleh model ML. Jika model memprediksi kondisi berisiko (misal fault), server dapat mengirim peringatan balik (atau Pi langsung memicu alarm lokal). Sistem juga dapat menyertakan elemen fisik: Pi dapat mengontrol buzzer dan LED sebagai alarm lokal jika mendeteksi potensi kegagalan.
Contoh skema sederhana:
- Sensor: misalnya modul accelerometer (SW-420) atau IMU (Sense HAT) yang mengukur getaran.
- Raspberry Pi: menerima data sensor setiap detik, melakukan sedikit pemrosesan awal.
- Komunikasi: Pi terhubung ke Wi-Fi, mengirim data via MQTT ke cloud (contoh ThingsBoard atau server MQTT pribadi).
- Server/Cloud: menyimpan data dalam database time-series, menjalankan analisis ML.
- Output: Jika model ML memprediksi kegagalan, aktivasi peringatan (via Pi buzzer/LED) atau kirim email/SMS ke teknisi. Selain itu, dashboard cloud menampilkan status dan grafik data sensor untuk pemantauan.
Diagram blok sederhana pada sistem ini mencakup: Sensor → Raspberry Pi → MQTT Broker (Cloud) → Database/ML → Aplikasi Peringatan.
Contoh Skrip Python: Pembacaan Sensor dan Pengiriman Data
Berikut adalah contoh skrip Python yang dijalankan di Raspberry Pi untuk membaca sensor suhu DHT22 dan mengirim datanya ke platform ThingsBoard via MQTT. (Skrip serupa dapat disesuaikan untuk sensor getaran atau lainnya.)
import Adafruit_DHT, paho.mqtt.client as mqtt, json, time SENSOR = Adafruit_DHT.DHT22 PIN = 4Â # GPIO pin tempat sensor terhubung THINGSBOARD_HOST = 'demo.thingsboard.io' ACCESS_TOKEN = 'YOUR_ACCESS_TOKEN'Â # Ganti dengan token perangkat # Inisialisasi MQTT client client = mqtt.Client() client.username_pw_set(ACCESS_TOKEN) client.connect(THINGSBOARD_HOST, 1883, 60) client.loop_start() while True: humidity, temperature = Adafruit_DHT.read_retry(SENSOR, PIN) if humidity is not None and temperature is not None: data = {'temperature': round(temperature, 2), 'humidity': round(humidity, 2)} client.publish('v1/devices/me/telemetry', json.dumps(data), 1) print(f"Data terkirim: {data}") time.sleep(2)
Kode di atas menampilkan konsep utama: Pi terhubung ke sensor DHT22, membaca suhu dan kelembapan, lalu mengirim data berbentuk JSON ke ThingsBoard via MQTT setiap 2 detik. Hal serupa dapat dilakukan untuk sensor getaran: setelah membaca akselerasi, kita masukkan ke payload dan kirim. Library paho.mqtt memudahkan koneksi MQTT, dan Adafruit_DHT untuk modul DHT22. Dengan sedikit modifikasi, skrip ini dapat mengirim data ke server atau cloud IoT manapun.
Contoh Pelatihan Model Machine Learning
Misalkan kita telah mengumpulkan dataset yang mencakup fitur dari sensor getaran dan label kondisi mesin (0=Normal, 1=Fault). Contoh langkah pelatihan model Random Forest di Python bisa seperti berikut:
from sklearn.ensemble import RandomForestClassifier from sklearn.model_selection import train_test_split from sklearn.metrics import accuracy_score # Misal 'features' adalah DataFrame dengan fitur sensor, 'labels' berisi status mesin X_train, X_test, y_train, y_test = train_test_split(features, labels, test_size=0.2, random_state=42) model = RandomForestClassifier(n_estimators=100, random_state=42) model.fit(X_train, y_train)Â # Latih model dengan data training # Evaluasi y_pred = model.predict(X_test) print("Akurasi:", accuracy_score(y_test, y_pred))
Pada skrip di atas, kita membagi data menjadi train dan test, melatih model Random Forest, lalu menghitung akurasinya. Untuk keperluan pemeliharaan prediktif, selain akurasi, sering dilihat matriks kebingungan (confusion matrix) dan metrik lainnya untuk memeriksa misalnya false positive/negative. Jika hasilnya memuaskan (contoh RF mendapatkan akurasi tinggi dibanding SVM), model siap digunakan. Kode Python ini dapat dijalankan di PC atau cloud dengan pustaka scikit-learn. Setelah selesai, model disimpan misalnya dengan joblib.dump(model, ‘rf_model.pkl’).
Integrasi Prediksi ke Sistem Peringatan
Langkah terakhir adalah memanfaatkan hasil model untuk memberikan peringatan atau tindakan. Misalnya, setelah model ter-deploy di Raspberry Pi, setiap kali data sensor baru masuk, kita lakukan prediksi dan cek hasilnya:
# Misal ‘model’ sudah di-load dengan joblib.load
current_data = get_sensor_features()Â # Fungsi imajiner baca sensor dan ekstrak fitur prediction = model.predict([current_data])[0] if prediction == 1:Â # Jika model memprediksi fault (1)
# Contoh respon: Aktifkan buzzer dan LED
import RPi.GPIO as GPIO GPIO.setmode(GPIO.BCM) GPIO.setup(BUZZER_PIN, GPIO.OUT) GPIO.setup(LED_PIN, GPIO.OUT) GPIO.output(BUZZER_PIN, GPIO.HIGH) GPIO.output(LED_PIN, GPIO.HIGH)
# atau kirim sinyal peringatan via MQTT/HTTP ke sistem lain
Pada blok kode ini, jika prediction == 1 (fault), Raspberry Pi mengaktifkan buzzer dan LED yang terhubung ke pin GPIO sebagai alarm visual-audio. (Konfigurasi pin dan logika disesuaikan hardware yang digunakan.) Selain itu, Pi atau server bisa mengirim notifikasi elektronik (email/SMS) ke teknisi. Desain ini memperlihatkan integrasi hasil ML ke perangkat nyata. Sebagai catatan, modul seperti AIY Voice Bonnet (untuk pengolahan suara) dan buzzer dicantumkan dalam persyaratan hardware contoh sistem predictive maintenance. Dengan demikian, output model ML langsung menggerakkan perangkat peringatan sehingga intervensi dapat dilakukan dengan cepat.
Penutup dan Saran Pengembangan Selanjutnya
Penggabungan IoT dan machine learning pada predictive maintenance memberikan solusi kuat untuk meningkatkan efisiensi operasional. Tutorial ini telah membahas konsep dasar, komponen sistem, jenis data sensor, model ML, hingga contoh implementasi dengan Raspberry Pi dan Python. Perlu diingat bahwa keakuratan PdM sangat bergantung pada kualitas data dan pemilihan model yang tepat. Tantangan yang umum ditemui meliputi data sensornya yang noisy, integrasi sistem lama, serta kebutuhan komputasi dan penyimpanan besar untuk big data.
Ke depan, beberapa pengembangan bisa dipertimbangkan: misalnya edge computing yang lebih maju agar inferensi ML dijalankan secara real-time tanpa bergantung koneksi internet. Penggunaan model AI lanjutan seperti Convolutional Neural Network untuk analisis sinyal atau Reinforcement Learning untuk optimasi jadwal maintenance dapat meningkatkan akurasi prediksi. Hybrid model yang menggabungkan hasil deteksi anomali dengan model supervised juga potensial untuk memperkuat sistem PdM. Selain itu, integrasi cloud computing memudahkan kolaborasi data dan analisis berskala besar. Sistem dashboard visual dan automasi notifikasi yang kaya (misal integrasi dengan sistem ERP atau supply chain) dapat menambah nilai.
Secara ringkas, penerapan IoT + ML pada predictive maintenance merupakan tren penting di era Industri 4.0. Dengan terus mengembangkan hardware sensor, algoritma AI, serta infrastruktur edge/cloud, kita dapat membangun sistem pemeliharaan cerdas yang meningkatkan keandalan peralatan, menghemat biaya, dan mengurangi downtime. Tutorial ini diharapkan menjadi langkah awal bagi pengembang dan insinyur dalam mengimplementasikan solusi predictive maintenance berbasis Raspberry Pi dan Python.