Implementasi Sistem Embedded Real-Time Multitasking Menggunakan Arduino Berbasis Cooperative Scheduling
Kata Kunci:
Arduino, Cooperative Scheduler, Embedded System, Multitasking, Real-Time System.Abstrak
Perkembangan sistem embedded menuntut mikrokontroler mampu menjalankan beberapa tugas secara bersamaan dengan respons yang cepat dan efisien. Namun, Arduino Uno maupun Arduino Nano belum dilengkapi Real-Time Operating System (RTOS), sehingga sebagian besar aplikasi masih menggunakan fungsi delay() yang bersifat blocking dan menyebabkan penurunan responsivitas sistem. Penelitian ini bertujuan mengimplementasikan algoritma Real-Time Multitasking berbasis Cooperative Scheduler menggunakan fungsi millis() untuk menjalankan beberapa task secara simultan tanpa RTOS. Sistem yang dikembangkan terdiri atas lima task, yaitu pengendalian LED, pembacaan sensor DHT11, pembaruan tampilan OLED SSD1306, pengaktifan buzzer, dan komunikasi Serial Monitor. Pengujian dilakukan dengan membandingkan metode Cooperative Scheduler terhadap metode berbasis delay() menggunakan parameter response time, task latency, dan stabilitas sistem. Hasil penelitian menunjukkan bahwa Cooperative Scheduler mampu menjalankan seluruh task secara periodik tanpa saling menghambat, dengan rata-rata response time sebesar 2,8 ms dan task latency sebesar 1,4 ms, jauh lebih baik dibandingkan metode delay(). Selain meningkatkan responsivitas, algoritma ini juga memiliki kebutuhan memori yang rendah sehingga sesuai diterapkan pada Arduino dengan sumber daya terbatas. Penelitian ini memberikan solusi sederhana dan efektif untuk implementasi multitasking pada sistem embedded yang digunakan dalam aplikasi monitoring, otomasi, robotika, dan Internet of Things.
