Multithreading Pada Mikrokontroler

multithread sulhanMultithreading artinya mengerjakan banyak tugas atau thread sekaligus. Pembagian waktu adalah kuncinya. Thread yang banyak tidak bekerja terus-menerus, melainkan sering berada dalam kondisi menunggu. Biasanya, kondisi menunggu diwujudkan dengan loop yang panjang, yang disebut delay. Kebanyakan, program sederhana akan melewatkan
kondisi menunggu begitu saja tanpa melakukan apa-apa. Jika program berlaku seperti itu, sementara masih banyak pekerjaan lain yang belum selesai, maka “keputusan” tersebut menjadi sia-sia belaka.

Ada yang disebut teknik Sleep, ketika suatu thread hanya sedang menunggu. Thread tersebut menyerahkan jatah waktunya kepada thread lain yang membutuhkannya. Ada lagi teknik dinamis, ketika suatu thread dibutuhkan dan dibuat. Ketika sudah tidak dibutuhkan, thread akan dihapus. Masih ada banyak teknik lain yang dibahas dalam buku Teknik Pemrograman dan Multithreading Pada Mikrokontroler karya Sulhan Setiawan (klik disini untuk order).

Untuk siapa buku ini?

Saya sangat setuju dengan saran mas Sulhan terkait dengan untuk siapa buku ini, buku ini ditulis untuk Anda yang sudah memahami dasar-dasar mikrokontroler. Mengapa? Yach karena buku ini HANYA membahas teknik-teknik pemrograman mikrokontroler yang mengutamakan sisi algoritma. Bagi pemula saya sarankan untuk terlebih dulu membaca buku pendahuluan, antara lain

Apa saja yang dibahas?

Buku ini terdiri dari 4 bab saja… yup hanya 4 bab, dan bab yang paling panjang pembahasannya adalah bab 2, 3 dan 4. Loch? Iya karena bab 1 hanya memberikan pengantar atau pendahuluan terkait dengan apa yang akan dibahas pada bab-bab berikutnya, dan yang penting bahwa semua program dalam buku ini dituliskan dalam Bahasa Assembly! Hahaha… jangan kaget… karena buku saya yang warna oranye dan best seller itu juga ditulis dengan bahasa assembly!

Bab 2 membahas pengaturan beberapa tugas yang harus dijalankan mikrokontroler. Tujuannya supaya setiap tugas dapat berjalan dengan benar dan tidak saling mengganggu. Tidak sekedar itu, masih pada bab yang sama, pembahasan dilanjutkan tentang bagaimana tugas-tugas tersebut saling berinteraksi dan membagi waktu eksekusinya.

Bab 3 langsung membahas tentang multithread itu sendiri. Ada baiknya memang buku ini dibaca dari awal, karena pada Bab 3 ini didasarkan pembahasan tentang interupsi pewaktu (timer) yang dapat digunakan untuk memulai sub-program. Namun, setelah sub-program dijalankan, interupsi akan kembali lagi siaga untuk kemudian dapat dijalankan lagi walau sub-program yang dipanggil belum selesai.

Pada bab terakhir atau bab 4 membahas tentang interaksi dengan tombol dengan lebih mendalam dan detil. Diawali dengan pembahasan penanganan bouncing pada tombol, remote control, keyboard dan terminal sederhana

Kira-kira isinya seperti ini..

  1. Pendahuluan
  2. Manajemen Program
    • Pengaturan Loop Utama
    • Penggunaan Interupsi
  3. Multithread
    • Contoh Multithread
    • Multithread yang Lebih Canggih
    • Efisiensi Sistem pada Multithread
    • Delay Versus Sleep
    • Multithread dengan Kemampuan Sleep
    • Perbandingan Unjuk Kerja Multithread dengan Kemampuan Sleep dan Multithread tanpa Kemampuan Sleep
    • Thread Dinamis
    • Interupsi pada Multithread
  4. Interaksi dengan Tombol
    • Dua Tombol Tiga Fungsi
    • Satu Tombol Banyak Fungsi
    • Satu Tombol Banyak Fungsi dan Dapat Berulang
    • Remote Controller
    • Keyboard
    • Simple Terminal

Jarang ada buku seperti ini!

Mengapa? Karena dengan begitu sabarnya dalam uraian yang cukup jelas disertai contoh-contoh, mas Sulhan memberikan penjelasan-penjelasan terkait… awalnya bisa jadi bingung tapi lama kelamaan, seiring dengan membaca halaman demi halaman, Insya Allah akan menjadi makin jelas, artinya sebuah buku yang cocok untuk belajar sendiri atau otodidak… atau untuk buku acuan kuliah… khususnya kuliah yang membahas tentang RTOS atau Real-Time Operating System… fleksibel!

Oya… ada bonus CD-nya! Isinya ya listing program terkait dan disertai perangkat lunak kompailer dan simulator. Sayangnya jika dijalankan di laptop saya yang Core i5, simulatornya tidak menyesuaikan otomatis… berjalan eh running super fast, jadi malah nuansa multithread-nya tidak bisa diamati… hehehe…

Sementara itu aja dulu ulasan saya… lain kali bisa saya update artikel ini… Oke silahkan saja segera dipesan — klik disini!

This entry was posted in Mikrokontroler. Bookmark the permalink.

4 Responses to Multithreading Pada Mikrokontroler

  1. Terimakasih atas ulasannya pak Agfi.
    Iya pak, masalah simulasi belum saya sesuaikan kecepatannya, soalnya saya membuatnya pakai pentium 2 450 MHz😀
    Jadi, di komputer saya, walau tidak dilakukan penyesuaian juga malah terlalu lambat. Tetapi, jika di menu Option bagian Update Display diberi tanda centang, maka akan ada pilihan untuk mengatur kecepatan simulasi. Memang tidak akan menunjukkan waktu yang sesungguhnya, tapi lumayan untuk memperlambat.

    Insya Allah akan saya perbaiki kalau sudah punya komputer yang kecepatannya mendukung untuk mencoba😀

    • agfi68 says:

      terima kasih atas penjelasannya mas Sulhan… semoga segera punya PC/laptop yang diinginkan dan update software-nya

  2. mosleim says:

    ada sample implementasi dalam bahasa C tidak ini pak?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s