Lompat ke isi

MQTT

Dari Wiki Berbudi
Revisi sejak 24 November 2025 10.57 oleh Budi (bicara | kontrib) (←Membuat halaman berisi 'Message Queuing Telemetry Transport (MQTT) adalah protokol komunikasi ringan berbasis TCP/IP yang dirancang untuk mengirimkan pesan dengan overhead minimal. Protokol ini banyak digunakan dalam sistem Internet of Things (IoT) karena efisiensinya dalam menangani perangkat dengan sumber daya terbatas dan jaringan yang tidak stabil. MQTT bekerja menggunakan pola publish-subscribe, di mana klien dapat mengirim (publish) atau menerima (subscribe) pesan melalui...')
(beda) ← Revisi sebelumnya | Revisi terkini (beda) | Revisi selanjutnya → (beda)

Message Queuing Telemetry Transport (MQTT) adalah protokol komunikasi ringan berbasis TCP/IP yang dirancang untuk mengirimkan pesan dengan overhead minimal. Protokol ini banyak digunakan dalam sistem Internet of Things (IoT) karena efisiensinya dalam menangani perangkat dengan sumber daya terbatas dan jaringan yang tidak stabil. MQTT bekerja menggunakan pola publish-subscribe, di mana klien dapat mengirim (publish) atau menerima (subscribe) pesan melalui sebuah server pusat yang disebut broker. Protokol ini pertama kali dikembangkan pada tahun 1999 oleh Andy Stanford-Clark dari IBM dan Arlen Nipper dari Arcom, untuk memantau sistem pipa minyak melalui satelit.

Arsitektur Dasar

MQTT menggunakan arsitektur berbasis broker yang berfungsi sebagai perantara antara pengirim dan penerima pesan. Dalam arsitektur ini, klien MQTT tidak berkomunikasi langsung satu sama lain, melainkan mengirimkan pesan ke broker yang kemudian mendistribusikannya ke klien lain yang berlangganan topik tertentu. Broker bertanggung jawab untuk:

  1. Menerima semua pesan dari klien pengirim.
  2. Menyaring pesan berdasarkan topik.
  3. Mengirimkan pesan kepada klien yang berlangganan topik tersebut.
  4. Mengelola daftar klien dan topik yang mereka ikuti.

Pola Publish-Subscribe

Pola publish-subscribe pada MQTT memungkinkan pemisahan antara pengirim dan penerima pesan. Pengirim tidak perlu mengetahui siapa penerima pesannya, dan penerima tidak perlu mengetahui sumber pesan tersebut. Setiap pesan dikirim dengan topik tertentu yang menjadi kunci distribusi. Klien yang ingin menerima pesan akan melakukan "subscribe" pada topik tersebut, sedangkan yang ingin mengirim akan melakukan "publish". Broker memastikan pesan dari publisher sampai ke semua subscriber yang relevan.

Tingkat Kualitas Layanan

MQTT mendukung tiga tingkat Quality of Service (QoS) yang menentukan bagaimana pesan disampaikan:

  1. QoS 0 – "At most once": pesan dikirim satu kali tanpa konfirmasi.
  2. QoS 1 – "At least once": pesan dikirim setidaknya sekali dan memerlukan konfirmasi penerimaan.
  3. QoS 2 – "Exactly once": pesan dikirim tepat satu kali melalui mekanisme empat langkah handshake.

Pemilihan QoS mempengaruhi latensi, konsumsi bandwidth, dan keandalan pengiriman.

Format Pesan

Pesan MQTT memiliki struktur yang terdiri dari:

  1. Fixed header – bagian yang selalu ada dan berisi informasi kontrol.
  2. Variable header – bagian opsional yang berisi metadata seperti topik atau ID paket.
  3. Payload – data utama yang dikirimkan.

Format ini dirancang agar efisien dan mudah diproses oleh perangkat dengan kemampuan terbatas.

Kelebihan dan Kekurangan

Kelebihan MQTT antara lain:

  1. Ringan dan efisien untuk perangkat dengan sumber daya terbatas.
  2. Mendukung komunikasi asinkron.
  3. Fleksibel dalam pengaturan QoS.

Kekurangan MQTT meliputi:

  1. Membutuhkan broker tambahan.
  2. Kurang optimal untuk pengiriman file besar.
  3. Bergantung pada koneksi TCP/IP yang andal.

Keamanan

Keamanan dalam MQTT dapat dicapai dengan menggunakan Transport Layer Security (TLS) untuk enkripsi data antara klien dan broker. Selain itu, autentikasi klien dapat dilakukan menggunakan username dan password atau sertifikat digital. Namun, implementasi keamanan bervariasi tergantung kebutuhan dan sumber daya yang tersedia pada perangkat IoT.

Implementasi dan Pustaka

MQTT memiliki berbagai pustaka dan implementasi yang tersedia dalam beragam bahasa pemrograman seperti Python, Java, C dan JavaScript. Beberapa broker MQTT populer termasuk:

  1. Eclipse Mosquitto
  2. HiveMQ
  3. EMQX

Pustaka ini memudahkan pengembang untuk mengintegrasikan MQTT ke dalam aplikasi IoT.

MQTT dalam IoT

Pada ekosistem Internet of Things, MQTT digunakan untuk komunikasi antar sensor, aktuator, dan sistem backend. Contohnya, sensor suhu dapat mengirimkan data secara berkala ke broker, dan sistem pengendali AC berlangganan topik tersebut untuk menyesuaikan suhu ruangan sesuai data yang diterima.

Efisiensi Bandwidth

MQTT dirancang untuk meminimalkan penggunaan bandwidth. Protokol ini menggunakan overhead paket yang kecil dan memungkinkan pengiriman pesan dalam bentuk biner. Hal ini menjadikannya ideal untuk jaringan dengan keterbatasan kapasitas atau biaya tinggi, seperti jaringan satelit atau seluler.

Retained Messages

Fitur retained messages pada MQTT memungkinkan broker menyimpan pesan terakhir dari suatu topik dan mengirimkannya kepada klien baru yang berlangganan topik tersebut. Fitur ini berguna untuk memastikan klien menerima status terbaru tanpa menunggu pengiriman pesan berikutnya.

Last Will and Testament

MQTT memiliki fitur Last Will and Testament (LWT) yang memungkinkan klien mengatur pesan yang akan dikirim oleh broker jika klien tersebut terputus secara tak terduga. Pesan ini biasanya digunakan untuk memberi tahu klien lain tentang status offline dari perangkat tertentu.

Standarisasi

Protokol MQTT distandarkan oleh OASIS dan telah diterbitkan sebagai spesifikasi resmi. Versi yang umum digunakan adalah MQTT 3.1.1 dan MQTT 5.0. Standarisasi ini memastikan interoperabilitas antar perangkat dan implementasi dari berbagai vendor, sehingga memperkuat ekosistem IoT yang berkembang pesat.