Implementasi Quality of Service pada Protokol Message Queue Telemetry Transport – Sensor Network (MQTT-SN) Berbasis Arduino dan NRF24L01

  Vol. 2, No. 6, Juni 2018, hlm. 2131-2140 http://j-ptiik.ub.ac.id

  

Implementasi Quality of Service pada Protokol Message Queue Telemetry

Transport

  • – Sensor Network (MQTT-SN) Berbasis Arduino dan NRF24L01
  • 1 2 3 Sofi Hanifah , Sabriansyah Rizqika Akbar , Kasyful Amron

      Program Studi Teknik Informatika, Fakultas Ilmu Komputer, Universitas Brawijaya 1 3 Email: hanifah.sofi@gmail.com, kasyful@ub.ac.id

      

    Abstrak

    Message Queue Telemetry Transport - Sensor Network (MQTT-SN) merupakan protokol komunikasi

      turunan dari protokol Message Queuing Telemetry Transport (MQTT) yang diterapkan pada jaringan sensor. Untuk menerapkan MQTT-SN dibutuhkan Quality of Service (QoS), yang merupakan metode pengukuran tentang seberapa baik jaringan dan merupakan suatu usaha untuk mendefinisikan karakteristik dan sifat dari suatu servis sehingga pesan diterima. Penerapan QoS pada MQTT-SN sangatlah penting untuk menjamin diterimanya data. Penelitian ini mengimplemenetasikan mekanisme QoS pada Arduino Nano dengan komunikasi wireless NRF24L01 menggunakan format pesan MQTT- SN. Pada penelitian ini dilakukan pengujian dengan level QoS yang berbeda, sehingga didapat hasil yang berbeda tiap level QoS. MQTT-SN dengan QoS level 0, memungkinkan paket tidak sampai pada

      

    gateway karena publisher terus melakukan publish tanpa adanya timbal balik dari gateway, sehingga

    publisher tidak mengetahui pesan sampai pada tujuan atau tidak dan rata-rata pesan diterima sebanyak

      70%. Sedangkan MQTT-SN dengan QOS level 1, gateway tidak dapat membedakan data publish saat pertama kali dan data publish yang dikirim ulang oleh publisher sehingga terjadi duplikasi pesan sebanyak 30%. MQTT-SN dengan QoS level 2, pesan diterima tepat satu kali disebabkan adanya penyimpanan data sementara pada gateway yang akan mengabaikan data yang tidak diperlukan secara acak dan rata-rata pesan diterima 100%.

      Kata kunci: MQTT-SN, QoS, publisher, gateway

    Abstract

      

    Message Queue Telemetry Transport - Sensor Network (MQTT-SN) is a communication protocol

    derived from the Message Queuing Telemetry Transport (MQTT) protocol that applied to the sensor

    network. To apply MQTT-SN requires Quality of Service (QoS). QoS is a method of measuring the

    quality of network and an attempt to define the characteristics and properties of a service so that

    messages are received. The Application of QoS in MQTT-SN is very important to ensure the receipt of

    data. This research implies QoS mechanism on Arduino Nano with NRF24L01 wireless communication

    using MQTT-SN message format. In this research is tested with different QoS level to get different result

    in each level of QoS. MQTT-SN with QoS level 0 allows packets not to reach the gateway because

    publishers contin ue to publish without any reciprocity from the gateway that make publishers don’t

    know wether the message is delivered to the destination or not, and average accepted message 70%.

    While MQTT-SN with QOS level 1 the gateway can not distinguish publish data at the first time and

    next so duplicated messages can be happen until 30%. MQTT-SN with QoS level 2, the message is

    received exactly once due to temporary data storage on the gateway that make protocol will ignore data

    that is not needed and average accepted message 100%.

      Keywords: MQTT-SN, QoS, publisher, gateway

      protokol Message Queuing Telemetry Transport 1.

       PENDAHULUAN (MQTT) yang menerapkan konsep publish dan subscribe , namun diterapkannya pada jaringan Message Queue Telemetry Transport -

      sensor (Stanford-Clark, 2013). Publish

      Sensor Network (MQTT-SN) merupakan

      merupakan suatu proses menghasilkan informasi protokol komunikasi dengan desain mirip seperti untuk dikirimkan ke sebuah broker, perangkat

      Fakultas Ilmu Komputer Universitas Brawijaya

    2131 yang melakukan publish disebut publisher. Sedangkan mekanisme subscribe yaitu ketika

      client meminta atau mendapat informasi dari broker , perangkat yang melakukan subscribe

      2.1 MQTT-SN Message Queue Telemetry Transport for Sensor Networks (MQTT-SN) merupakan suatu

      2.2 QoS

      Gambar 1 Arsitektur Protokol MQTT-SN Sumber : Andy Standford-Clark (2013)

      wireless yang digunakan sebagai perantara pada jaringan sensor node dengan MQTT. Sehingga pada node gateway menerapkan dua protokol untuk berkomunikasi yaitu MQTT-SN dan MQTT. Protokol tersebut digunakan untuk meneruskan data dari lingkungan jaringan sensor menuju MQTT Broker.

      gateway . Gateway merupakan sebuah node

      Protokol ini diterapkan pada beberapa jaringan sensor, sehingga diperlukannya sebuah

      Protokol ini diutamakan digunakan pada jaringan wireless yaitu seperti jaringan sensor dengan bandwidth terbatas, resource terbata, serta pemrosesan yang rendah.

      publish-subscribe .

      protokol yang berkerja pada jaringan sensor dengan komunikasi tidak langsung menggunakan metode

      2. DASAR TEORI

      tersebut disebut dengan subscriber. Broker merupakan sebuah perantara publisher dan

      Penelitian ini bertujuan untuk mengimplementasikan QoS dengan level 0, level 1, dan level 2 pada protokol MQTT-SN sebagai metode pengukuran tentang seberapa baik jaringan sehingga pesan diterima menggunakan modul komunikasi NRF24L01. Diharapkan penelitian ini mampu memberikan gambaran terhadap kinerja pengiriman dan penerimaan data pada jaringan sensor sesuai dengan QoS yang digunakan.

      MQTT-SN pada mulanya diciptakan khusus untuk diimplementasikan ke perangkat Xbee yang merupakan modul komunikasi yang memanfaatkan gelombang frekuensi radio 2.4 Ghz. Namun selain Xbee dapat juga diimplementasikan pada NRF24L01 karena memiliki frekuensi radio yang sama yaitu 2.4 Ghz. Selain memiliki frekuensi yang sama, modul ini juga memiliki konsumsi daya rendah yaitu 22uA dan juga harga yang lebih murah dibandingkan dengan Xbee (Nordic, 2014).

      metode pengukuran tentang seberapa baik jaringan dan merupakan suatu usaha untuk mendefinisikan karakteristik dan sifat dari suatu servis sehingga pesan diterima (Ferguson & Huston, 1998). MQTT-SN dapat menerapkan tiga level QoS yaitu level 0, level 1, dan level 2. QoS level 0, hanya mengirim pesan satu kali tanpa adanya konfirmasi. QoS level 1, pesan dikirim setidaknya satu kali dengan adanya konfirmasi. QoS level 2, pesan diterima tepat satu kali dengan empat pesan yang dikirimkan dari publisher ke gateway secara sekuensial, yaitu publish, publish receive, publish release, dan publish complete (Peeples, 2015).

      Quality of Service (QoS) yang merupakan

      publisher dan gateway berkomunikasi, terdapat

      gateway dan diterima pula oleh gateway. Ketika

      Protokol MQTT-SN terdiri atas publisher dan gateway, publisher pada MQTT-SN memiliki fungsi yang sama seperti publisher pada MQTT, sedangkan gateway pada MQTT- SN berfungsi yang sama seperti broker namun juga dapat berfungsi sebagai subscriber (Stanford-Clark, 2013). Sehingga data yang dihasilkan oleh publisher dapat dikirim menuju

      Namun yang membedakan antara MQTT dengan MQTT-SN yaitu MQTT-SN dituliskan dengan format pesan yang lebih sederhana dibandingkan MQTT.

      subscriber yang bertugas menerima pesan dari publisher dan meneruskan pesan ke subscriber.

      QoS didefinisikan sebagai suatu pengukuran tentang seberapa baik jaringan dan merupakan suatu usaha untuk mendefinisikan karakteristik dan sifat dari suatu layanan (Ferguson & Huston, 1998). Kinerja jaringan komputer dapat bervariasi, misalnya dalam masalah QoS yang mengacu pada kemampuan jaringan untuk menyediakan layanan yang lebih baik pada trafik jaringan tertentu melalui teknologi yang berbeda. Tujuan dari QoS yaitu untuk memenuhi kebutuhan layanan yang berbeda dengan menggunakan infrastruktur yang sama. Pada level 0, pesan hanya dikirim satu kali, pesan yang terkirim tergantung dari keberadaan jaringan. Pada level 1, pesan dikirimkan setidaknya satu kali, sehingga client setidaknya akan menerima pesan satu kali, jika subscriber tidak meng-acknowledge maka gateway akan mengirimkan pesan sampai publisher menerima status pengakuan pesan dari client. Pada level 2, pesan dikirimkan tepat satu kali melalui proses

      four-step-handshake

      data yang disimpan di penyimpan sementara ke

      Terdapat sedikit perbedaan dengan MQTT- SN publisher level 0, berikut merupakan mekanisme pada sistem MQTT-SN publisher QoS level 1 dipaparkan dalam sebuah diagram alir algoritma sistem pada Gambar 4.

      Gambar 3 Diagram Alir Publisher QoS 0

      Penelitian ini menerapkan tiga level QoS pada tiga sistem perangkat lunak publisher, yaitu tiap sistem menerapkan level QoS yang berbeda. Berikut mekanisme pada sistem MQTT-SN publisher dengan QoS level 0 dipaparkan dalam sebuah diagram alir algoritma sistem pada Gambar 3 berikut:

      3.2 Publisher

      gateway .

      sementara. Kemudian gateway mengirim validasi data yang disimpan di penyimpan sementara ke publisher dengan mengirim pubcomp , yang menandakan data sudah lengkap. Apabila waktu timeout dan publisher tidak mendapat pubcomp, dilakukan pubrel ulang ke

      publisher mengirim validasi berupa pubrel ke gateway dan data pubrel masuk ke penyimpanan

      apabila terdapat data masuk lagi salah satu akan diabaikan secara acak. Setelah mendapat pubrec,

      gateway , digunakan untuk mengirim validasi,

      data masuk ke penyimpanan sementara. Data yang masuk ke penyimpanan sementara pada

      pubrec , dilakukan publish ulang ke gateway dan

      waktu timeout dan publisher tidak mendapat

      publisher dengan mengirim pubrec. Apabila

      step-handshake , yaitu publisher mengirim pesan publish , kemudian gateway mengirim validasi

      yaitu pesan

      Sedangkan mekanisme QoS 2 menerapkan four-

      publisher tidak mendapatkan puback hingga timeout , maka akan dilakukan publish ulang.

      Mekanisme QoS 0, publisher mengirimkan pesan publish ke gateway tanpa adanya konfirmasi dari gateway. Mekanisme pada QoS 1, publisher mengirim pesan publish dengan menerima puback dari gateway. Apabila

      Gambar 2 Mekanisme QoS pada MQTT-SN

      agar dapat menerima pesan dari publisher melalui komunikasi wireless. Mekanisme QoS yang diterapkan pada MQTT-SN ditunjukkan Gambar 2.

      gateway , sistem diterapkan mekanisme tertentu

      dengan mekanisme tertentu agar sistem mampu mengakuisisi data sensor dan mengirimkan pesan menggunakan protokol MQTT-SN melalui komunikasi wireless. Sedangkan pada

      gateway. MQTT-SN publisher diterapkan

      Gambaran sistem ini menjelaskan tahapan perancangan dan implementasi publisher dan

      3.1 Gambaran Umum Sistem

      IMPLEMENTASI

      secara sekuensial.

      publish, pubrec, pubrel , dan pubcomp yang dikirim

    3. PERANCANGAN DAN

      publisher membuat koneksi dengan gateway,

      pesan publish berfungsi saat MQTT-SN

      publisher melakukan publish data, sedangkan

      pesan pubrel berfungsi mengklarifikasi ulang mengenai data yang dipublish oleh publisher ke

      gateway dan pesan pubrel ini hanya digunakan

      pada QoS 2. Berikut format pesan connect ditunjukkan pada Gambar 6, format pesan

      publish ditunjukkan pada Gambar 7, dan format pesan pubrel ditunjukkan pada Gambar 8.

      MsgType ProtocolId ClientId (oktet 0) (oktet 1) (oktet 2) Gambar 6 Format pesan connect pada MQTT-SN

      QoS TopicI MsgId MsgT Data Topic (oktet d (oktet yp (oktet Type 0) (oktet 2) (oktet 4) (oktet 1) 3) 5)

      Gambar 7 Format pesan publish pada MQTT-SN MsgTyp TopicId MsgId Returncode (oktet 0) (oktet 1) (oktet 2) (oktet 3)

      Gambar 4 Diagram Alir publisher Qos 1 Gambar 8 Format pesan pubrel pada MQTT-SN

      Berbeda dengan MQTT-SN publisher level 0 dan MQTT-SN publisher level 1, berikut

      3.3 Gateway

      merupakan mekanisme pada sistem MQTT-SN Dalam mekanisme perancangan sistem

      publisher QoS level 2 dipaparkan dalam sebuah

      diperlukan diagram alir berupa algoritma kerja diagram alir algoritma sistem pada Gambar 5. sistem. Dengan diterapkan algoritma tersebut, maka gateway dapat bekerja sesuai fungsinya sebagai receiver. Penelitian ini menerapkan tiga level QoS pada tiga sistem perangkat lunak

      gateway , yaitu tiap sistem menerapkan level

      QoS yang berbeda. Berikut merupakan mekanisme pada sistem MQTT-SN gateway dengan QoS level 0 dipaparkan dalam sebuah diagram alir algoritma sistem pada Gambar 9.

      Gambar 5 Diagram Alir publisher QoS 2

      Setelah metode pengiriman ditentukan, kemudian dilakukan perancangan pesan yang dikirim sesuai dengan format pesan MQTT-SN.

      Gambar 9 Diagram Alir Gateway QoS 0

      Pada publisher terdapat 3 format pesan yang akan dikirim yaitu pesan connect, publish, dan Terdapat sedikit perbedaan dengan diagram

      pubrel . Pesan connect berfungsi saat MQTT-SN

      alir MQTT-SN gateway pada level 0, berikut merupakan diagram alir MQTT-SN gateway kali gateway menerima publish dari MQTT-SN level 1 ditunjukkan pada Gambar 10. publisher dan pesan puback ini hanya digunakan pada QoS level 1 untuk memenuhi kebutuhan sistem. Pesan pubrec berfungsi sebagai klarifikasi bahwa data publish yang diterima sesuai dengan data publish yang dikirim oleh MQTT-SN publisher . Sedangkan pesan

      pubcomp berfungsi untuk memverifikasi bahwa

      pesan telah sampai dengan lengkap. Pesan dan pesan pubcomp tersebut digunakan

      pubrec

      untuk memenuhi kebutuhan sistem pada QoS level 2. Format pesan connack dengan menggunakan protokol MQTT-SN ditunjukkan pada Gambar 12. Sedangkan pesan puback,

      pubrec , dan pubcomp yang digunakan pada

      protokol MQTT-SN ditunjukkan pada Gambar 13.

      Gambar 10 Diagram Alir Gateway QoS 1 MsgTyp (oktet 0) ReturnCode (oktet 1)

      Berbeda dengan diagram alir MQTT-SN

      Gambar 12 Format pesan connack pada MQTT-SN gateway pada level 0 dan level 1, berikut

      merupakan digram alir MQTT-SN gateway pada

      MsgTyp TopicTyp MsgId ReturnCode (oktet 0) (oktet 1) (oktet 2) (oktet 3)

      level 2 ditunjukkan pada Gambar 11.

      Gambar 13 Format pesan puback, pubrec, dan pubcomp pada MQTT-SN

      Pada gateway juga terdapat perancangan penerimaan dan pembacaan pesan yang diterima dari MQTT-SN publisher yaitu pesan connect, pesan publish, dan pesan pubrel. Pembacaan pesan connect digunakan untuk mengetahui apabila MQTT-SN publisher meminta koneksi untuk saling terhubung. Pembacaan pesan

      publish dan pesan pubrel digunakan untuk

      menentukan benar atau tidak suatu pesan yang diterima. Namun pada pesan publish data akan dapat diteruskan menuju MQTT publisher. Mengenai format pesan tersebut telah ditunjukkan pada perancangan perangkat lunak

      publisher .

      4. PENGUJIAN

      4.1 Pengujian MQTT-SN QoS 0 dengan Gambar 11 Diagram Alir Gateway QoS 2 noise 1 detik Noise ini digunakan untuk mengetahui

      Sedangkan untuk dapat menerapkan protokol pengaruh dalam pengiriman pesan pada MQTT- MQTT-SN, diperlukan perancangan tiap pesan

      SN. Berikut merupakan hasil pengujian dari yang akan dikirim sesuai dengan format MQTT- pengiriman pesan publish pada publisher dengan

      SN. Pada sistem ini digunakan 4 format pesan QoS level 0 ditunjukkan pada Gambar 14. yang akan dikirim yaitu pesan connack, puback,

      pubrec , dan pubcomp. Pesan connack berfungsi

      saat gateway melakukan konfirmasi dengan MQTT-SN publisher bahwa koneksi sudah terhubung. Pesan puback berfungsi sebagai balasan atau konfirmasi bahwa pesan yang setiap

      4.2 Pengujian MQTT-SN QoS 0 dengan noise 12 detik

      Berikut merupakan hasil pengujian dari pengiriman pesan publish pada publisher dengan QoS level 0 ditunjukkan pada Gambar 16.

      Gambar 14 Pengujian publisher QoS level 0 noise 1 detik

      Setelah program gateway selesai upload pada Arduino IDE, maka hasil pengujian MQTT-SN

      Gambar 16 Pengujian publisher QoS level 0 gateway dapat dilihat dari serial monitor COM5

      Kemudian untuk mengetahui pengaruh noise seperti ditunjukkan pada Gambar 15. pada QoS, pengujian ini dilakukan dengan memberi delay pada gateway ditunjukkan Gambar 17. Pemberian delay ini menjadi noise karena pesan sampai ke gateway menjadi terlambat.

      Gambar 17 Pemberian delay

      Berikut merupakan hasil pengujian gateway menerima pesan publish dengan adanya noise ditunjukkan pada Gambar 18.

      Gambar 15 Pengujian gateway QoS 0 noise 1 detik

      MQTT-SN gateway berfungsi sebagai integrasi antara MQTT-SN dan MQTT pada jaringan lokal. Agar data sensor dapat diterima oleh MQTT subscriber, MQTT-SN gateway akan meneruskan data menuju MQTT publisher.

      Gambar 18 Pengujian gateway QoS 0 noise 12

      Media komunikasi yang digunakan gateway dan

      detik

      MQTT publisher adalah port serial yang sama, Pengujian pengiriman data ke gateway sehingga untuk mengakses keduanya harus dengan noise 12 detik dilakukan sebanyak 10 bergiliran. kali dengan mengirimkan topik suhu dan lembab

      Pengujian pengiriman data ke gateway secara bergantian. Hasil pengiriman dan dengan noise 1 detik dilakukan sebanyak 10 kali kesesuaian data ditunjukkan pada dengan mengirimkan topik suhu dan lembab secara bergantian. Hasil pengiriman dan

      Tabel 2 Hasil pengujian QoS 0 dengan noise 12 kesesuaian data ditunjukkan pada detik

      

    Tabel 1 Hasil pengujian QoS 0 dengan noise 1 detik Data Data Data Topik Data Data

    Data Data Data Topik Data Data ID Publisher Gateway dikirim diterima 2 3 1 25 86 25 25 Suhu v v 86 Lembab v v 25 Suhu v v ID Publisher Gateway dikirim diterima 1 3 4 2 86 25 25 86 86 Lembab 86 Lembab 25 Suhu 25 Suhu V V V V V V V V 4 86 86 Lembab v v 6

      5 86 25 Suhu - V V X - X 5 25 25 Suhu v v 7 25 Lembab V X - 6 86

    • - 86 Lembab v v
    • 8 86 Suhu V 7 25 25 Suhu v v 9 Suhu 25 Lembab V -

        X - 8 86 86 Lembab v v 10 86 Lembab V X 10 9 86 25 86 Lembab v v 25 Suhu v v

        X Pengujian pengiriman data ke gateway dengan noise 1 detik dilakukan sebanyak 10 kali dengan mengirimkan topik suhu dan lembab secara bergantian. Hasil pengiriman dan kesesuaian data ditunjukkan pada

      4.3 Pengujian MQTT-SN QoS 1 dengan

        Gambar 21 Pengujian gateway QoS 1 noise 1 detik

        dapat dilihat dari serial monitor COM13 seperti ditunjukkan pada Gambar 23.

        gateway didapatkan. Hasil dari pengujian sistem

        Setelah program gateway selesai upload pada Arduino IDE, maka hasil pengujian MQTT-SN

        Pesan puback merupakan pesan konfirmasi yang dikirim MQTT-SN gateway bahwa pesan yang dikirim oleh MQTT-SN publisher telah diterima.

        Gambar 22 didapatkan bahwa pengujian MQTT-SN publisher dengan QOS level 1 pada serial monitor yang menampilkan pesan publish protokol MQTT-SN berhasil dikirim. Pesan tersebut dikirim secara bergantian sesuai topik yang telah diregister sebelumnya. Pesan tersebut dinyatakan berhasil dikirim dan diterima oleh MQTT-SN gateway dengan adanya pesan puback yang diterima MQTT-SN publisher.

        Gambar 22 Pengujian Publisher QoS 1 noise 12 detik

        Berikut hasil pengujian MQTT-SN publisher dapat dilihat dari serial monitor COM15 seperti ditunjukkan pada Gambar 22.

        4.4 Pengujian MQTT-SN QoS 1 dengan noise 12 detik

        10 86 86 Lembab v v

        4 86 86 Lembab v v 5 25 25 Suhu v v 6 86 86 Lembab v v 7 25 25 Suhu v v 8 86 86 Lembab v v 9 25 25 Suhu v v

        Tabel 3 Hasil pengujian QoS 1 dengan noise 1 detik Data ID Data Publisher Data Gateway Topik Data dikirim Data diterima 1 25 25 Suhu v v 2 88 88 Lembab v v 3 25 25 Suhu v v

        noise 1 detik Publisher mengirim pesan publish dan

        mendapatkan pesan puback , jika pesan konfirmasi berstatus diterima maka program akan menampilkan status puback pada serial monitor yang merupakan hasil dari pengujian ditunjukkan Gambar 19.

        Gambar 20 delay 1 detik pada QoS 1

        yang digunakan adalah 10 detik atau 10000ms sebagai timeout ditunjukkan Gambar 20.

        gateway digunakan delay 1 detik karena interval

        Untuk menguji QoS 1 dalam best case, pada

        puback yang diterima publisher.

        level 1 pada serial monitor yang menampilkan pesan publish protokol MQTT-SN berhasil dikirim. Pesan tersebut dikirim secara bergantian sesuai topik yang telah diregister sebelumnya. Pesan tersebut dinyatakan berhasil dikirim dan diterima oleh gateway dengan adanya pesan

        X MQTT-SN publisher dengan QoS

        pengujian

        X hasil

        Gambar 19 menunjukkan bahwa

        Gambar 19 Pengujian publisher QoS 1 noise 1 detik

        Berikut merupakan hasil pengujian gateway menerima pesan publish dengan adanya noise ditunjukkan pada Gambar 21.

        Gambar 23 Pengujian Gateway QoS 1 noise 12 detik

        merupakan rangkaian proses sekuensial hingga mencapai diterimanya pesan ke MQTT-SN

        Setelah program gateway selesai upload pada Arduino IDE, maka hasil pengujian MQTT-SN

        Gambar 26 Hasil Pengujian publisher QoS level 2

        Berikut hasil pengujian MQTT-SN publisher dapat dilihat dari serial monitor COM15 seperti ditunjukkan pada Gambar 26.

        4.6 Pengujian MQTT-SN QoS 2 dengan noise 12 detik

        10 88 88 Lembab v v

        4 88 88 Lembab v v 5 25 25 Suhu v v 6 88 88 Lembab v v 7 25 25 Suhu v v 8 88 88 Lembab v v 9 25 25 Suhu v v

        Tabel 5 Hasil pengujian QoS 2 dengan noise 1 detik Data ID Data Publisher Data Gateway Topik Data dikirim Data diterima 1 25 25 Suhu v v 2 88 88 Lembab v v 3 25 25 Suhu v v

        Pengujian pengiriman data ke gateway dengan noise 12 detik dilakukan sebanyak 10 kali dengan mengirimkan topik suhu dan lembab secara bergantian. Hasil pengiriman dan kesesuaian data ditunjukkan pada

        seperti penjelasan di atas.

        gateway . Empat pesan tersebut adalah publish, pubrec, pubrel , dan pubcomp yang berjalan

        publish berhasil dikirim dan diterima oleh gateway dengan berhasilnya four-step- handshake pada sistem. Four-step-handshake

        Pengujian pengiriman data ke gateway dengan noise 12 detik dilakukan sebanyak 10 kali dengan mengirimkan topik suhu dan lembab secara bergantian. Hasil pengiriman dan kesesuaian data ditunjukkan pada

        Gambar 24 dan Gambar 25 menyatakan

        1 detik

        Gambar 25 Pengujian MQTT-SN Gateway QoS 2 delay

        Kemudian hasil pengujian di sisi gateway dapat dilihat dari serial monitor seperti ditunjukkan pada Gambar 25.

        Gambar 24 menunjukkan bahwa hasil pengujian publisher dengan QoS level 2 pada serial monitor yang menampilkan pesan publish protokol MQTT-SN berhasil dikirim. Pesan tersebut dikirim secara bergantian sesuai topik yang telah diregister sebelumnya.

        Gambar 24 Pengujian publisher QoS 2 delay 1 detik

        Hasil dari pengujian dengan noise 1 detik dapat dilihat dari serial monitor seperti ditunjukkan pada Gambar 24 dan Gambar 25.

        noise 1 detik

        3 25 25 Suhu v v

        2 88 88 Lembab v v 3 25 25 Suhu v v 3 25 25 Suhu v v 3 25 25 Suhu v v 3 25 25 Suhu v v 3 25 25 Suhu v v

        Tabel 4 Hasil pengujian QoS 1 dengan noise 12 Data detik ID Data Publisher Data Gateway Topik Data dikirim Data diterima 1 25 25 Suhu v v 1 25 25 Suhu v v 2 88 88 Lembab v v

      4.5 Pengujian MQTT-SN QoS 2 dengan

        gateway didapatkan. Hasil dari pengujian sistem

        publisher tidak mengetahui pesan sampai

        dikirimkan benar. Gateway menerima pesan pubrel dan setiap data pubrel yang diterima gateway disimpan ke penyimpanan sementara kemudian data divalidasi dengan pesan pubcomp, yaitu konfirmasi bahwa data telah lengkap dan sampai pada penerima. Publisher akan mengirim pubrel ulang jika belum mendapat pesan pubcomp dan gateway akan terus menerima pesan pubrel. Penerapan QoS level 2, pesan diterima tepat satu kali disebabkan adanya penyimpanan data sementara pada gateway yang akan

        gateway , yaitu konfirmasi bahwa data yang

        diterima gateway disimpan ke penyimpanan sementara, lalu data akan divalidasi secara acak dengan pesan pubrec, yaitu suatu konfirmasi validasi data yang dikirim oleh publisher . Publisher mengirimkan publish ulang jika belum medapatkan pesan pubrec sehingga gateway akan terus membaca publish. Setelah publisher menerima pesan pubrec akan mengirimkan pesan pubrel ke

        publish dan setiap data publish yang

        Kemudian gateway menerima pesan

        4. MQTT-SN dengan QoS level 2, publisher mengirim pesan publish ke gateway.

        yang dikirim ulang oleh publisher sehingga terjadi duplikasi pesan. Prosentase data sesuai dan diterima pada QoS 1 berdasarkan pengujian dengan noise 1 detik dan noise 12 detik adalah 100% dan 100% dengan rata- rata pesan diterima 100% serta duplikasi pesan sebanyak 30%.

        gateway tidak dapat membedakan data publish saat pertama kali dan data publish

        mendapat pesan puback (timeout) maka dilakukan publish ulang ke gateway. Gateway terus membaca pesan publish sampai MQTT-SN publisher mendapat pesan puback. Penerapan QoS level 1,

        publisher dalam selang waktu tertentu tidak

        3. MQTT-SN dengan QoS level 1, publisher mengirimkan pesan publish dan menerima pesan puback dari gateway. Apabila

        pada tujuan atau tidak. Prosentase data sesuai dan diterima pada QoS 0 berdasarkan pengujian dengan noise 1 detik dan noise 12 detik adalah 100% dan 40% dengan rata- rata pesan diterima 70%.

        adanya timbal balik dari gateway, sehingga

        dapat dilihat dari serial monitor COM13 seperti ditunjukkan pada Gambar 27.

        publisher terus melakukan publish tanpa

        tidak sampai pada gateway karena

        gateway . Gateway hanya menerima pesan publish dan tidak memberi balasan ke publisher . Hal ini memungkinkan paket

        2. MQTT-SN dengan QoS level 0, publisher hanya mengirimkan pesan publish menuju

        Protokol MQTT-SN dapat diterapkan pada modul wireless NRF24L01 mengggunakan mikrokontroler Arduino Nano dengan library mirf.

        Berdasarkan hasil perancangan, implementasi, pengujian dan analisis, maka dapat menyimpulkan sebagai berikut : 1.

         KESIMPULAN

        8 86 86 Lembab v v 88 9 25 25 Suhu v v 24 10 86 86 Lembab v v 86 5.

        5 25 25 Suhu v v 24 6 86 86 Lembab v v 88 7 25 25 Suhu v v 25

        2 88 88 Lembab v v 88 3 25 25 Suhu v v 25 4 86 86 Lembab v v 86 86

        Tabel 6 Hasil pengujian QoS 2 dengan noise 12 Data detik ID Data Publisher Data Gateway Topik Data dikirim Data diterima 1 25 25 Suu v v 25

        dengan noise 12 detik dilakukan sebanyak 10 kali dengan mengirimkan topik suhu dan lembab secara bergantian. Hasil pengiriman dan kesesuaian data ditunjukkan pada

        Gambar 27 Hasil Pengujian Gateway QoS level

      2 Pengujian pengiriman data ke gateway

        mengabaikan data yang tidak diperlukan Protocol Messaging System For Wireless secara acak. Prosentase data sesuai dan Sensor Communication. s.l.:s.n. diterima pada QoS 2 berdasarkan pengujian dengan noise 1 detik dan noise 12 detik adalah 100% dan 100% dengan rata-rata pesan diterima 100% tepat satu kali.

      DAFTAR PUSTAKA

        Anon., t.thn. Internetworking Technologies

        Handbook. Fourth penyunt. s.l.:Cisco Press.

        Arduino, t.thn. Arduino Board Nano. [Online] Available at: https://www.arduino.cc/en/Main/Arduino BoardNano

        Azzahidin, M. A., 2016. Implementasi Wireless Sensor Network Publisher Menggunakan Protokol Message Queue Telemetry Transport - Sensor Network (MQTT-SN).

        Ferguson, P. & Huston, G., 1998. Quality of Service. s.l.:John Willwy & SOns Inc. Govindan, K., 2015. ENd-to -end Assurance in IoT MQTT-SN. Khalil, N., 2014. Wireless Sensor Network for Internet of Things. Kupwade Patil, H. & Szygenza, S. A., 2013.

        Security for Wireless Sensor Networks Using Identity-Based Cryptography. New

        York: CNC Press. Nordic, S., 2014. Difference between NRF24L01, Xbee and RF. s.l.:s.n.

        Peeples, K., 2015. Internet of Things MQTT

        Quality of Service Levels. [Online]

        Available at: https://dzone.com/articles/internet-things- mqtt-quality [Diakses Desember 2017].

        Salman, T., 2015. Networking Protocols and

        Standarts for Internet of Things. [Online]

        Available at: http://www.cse.wustl.edu/~jain/cse570- 15/ftp/iot_prot [Diakses 1 Oktober 2016].

        Stanford-Clark, A., 2013. MQTT For Sensor

        Networks (MQTT-SN) Protocol Specification. 1.2.3rd penyunt.

        s.l.:International Business Machines Corporation (IBM). Weiss, B. et al., 2013. A Publish/Subscribe