Anda di halaman 1dari 16

LAPORAN TUGAS MATA KULIAH

SISTEM BERBASIS MIKROPORSESOR (SBM)


TIF21-22-47

“Parsing Partial Data from the Open Weather Map API


to Google Spreadsheet using Node-red and Google API-Service”

Disusun oleh:

1. Septian Eka Rahmadi 22/496732/TK/54442

PROGRAM STUDI TEKNOLOGI INFORMASI


DEPARTEMEN TEKNIK ELEKTRO DAN TEKNOLOGI INFORMASI
FAKULTAS TEKNIK
UNIVERSITAS GADJAH MADA
YOGYAKARTA
2024
1. Pendahuluan
a. Latar Belakang
Dalam era modern ini, kebutuhan akan data cuaca menjadi semakin penting seiring dengan pertumbuhan
urbanisasi, perubahan iklim global, dan aktivitas ekonomi yang semakin tergantung pada kondisi cuaca. Data
cuaca yang akurat dan real-time sangat vital bagi berbagai sektor, termasuk pertanian, transportasi, energi,
pariwisata, dan manajemen bencana. Dengan akses terhadap informasi cuaca yang tepat waktu dan terpercaya,
organisasi dapat mengoptimalkan operasi mereka, mengurangi risiko kerugian, merencanakan kegiatan
dengan lebih efisien, dan mempersiapkan langkah-langkah mitigasi terhadap dampak ekstrem dari perubahan
cuaca yang semakin tidak terduga.
Dalam konteks kebutuhan data cuaca di era modern, penggunaan API menjadi kunci dalam
mengumpulkan informasi cuaca secara efisien. Dengan API yang disediakan oleh layanan prakiraan cuaca
seperti AccuWeather, OpenWeatherMap, atau NOAA, pengguna dapat dengan mudah mengakses data cuaca
real-time, ramalan jangka panjang, dan informasi penting lainnya. API memungkinkan aplikasi dan sistem
untuk secara otomatis mengambil data cuaca terbaru dan mengintegrasikannya ke dalam platform mereka,
memungkinkan sektor-sektor seperti pertanian, pariwisata, dan transportasi untuk membuat keputusan yang
lebih tepat dan responsif terhadap perubahan cuaca yang cepat. Dengan demikian, penggunaan API dalam
mengumpulkan data cuaca merupakan langkah yang krusial untuk meningkatkan kualitas prediksi,
mengurangi risiko terkait dengan ketidakpastian cuaca, dan meningkatkan efisiensi operasional di berbagai
sektor.
Dalam konteks pengumpulan data cuaca, banyak cara yang dapat dilakukan. Dalam laporan ini, penulis
menggunakan Node-RED, Node-RED dapat digunakan sebagai alat integrasi yang kuat untuk
menghubungkan berbagai sumber data cuaca melalui API. Dengan memanfaatkan node-node yang tersedia
dalam Node-RED, pengguna dapat dengan mudah membuat aliran kerja (flow) yang mengambil data cuaca
dari berbagai layanan API cuaca seperti AccuWeather atau OpenWeatherMap. Node-RED dapat diprogram
untuk secara otomatis memperbarui data cuaca secara berkala, menyimpannya ke dalam database, atau
mengirimkan pemberitahuan jika kondisi cuaca ekstrem terdeteksi. Dengan demikian, penggunaan Node-RED
sebagai alat pengumpulan data cuaca memungkinkan integrasi yang fleksibel dan otomatis antara sumber data
cuaca dan sistem yang mengelola informasi cuaca tersebut, memperkuat kemampuan organisasi untuk
merespons dengan cepat terhadap perubahan cuaca yang signifikan.
Selanjutnya, data yang berhasil didapatkan melalui API, penulis merangkumnya kedalam sebuah file
Google Spreadsheet. Dalam konteks pencatatan data menggunakan spreadsheet yang dapat terupdate secara
real-time melalui Node-RED, dapat dikembangkan alur kerja (flow) yang memanfaatkan node-node untuk
melakukan integrasi antara jadwal yang telah disusun dan spreadsheet. Node "Inject" dalam Node-RED dapat
digunakan untuk memicu pembaruan data sesuai dengan jadwal yang telah ditentukan. Setiap kali peristiwa
injeksi terjadi, Node-RED dapat mengambil data terkini dari sumber data, misalnya data cuaca melalui API
seperti yang telah dibahas sebelumnya, dan menyimpannya ke dalam spreadsheet menggunakan node yang
sesuai. Dengan demikian, spreadsheet akan secara otomatis diperbarui sesuai dengan jadwal yang telah
ditetapkan, memastikan bahwa data yang tercatat selalu up-to-date dan relevan dengan kondisi terkini. Hal ini
memungkinkan pemantauan yang lebih efektif terhadap perubahan yang terjadi seiring waktu, serta
memfasilitasi analisis data yang lebih akurat dan responsif terhadap kondisi aktual yang terjadi.

b. Analisis Permasalahan
Data cuaca menjadi salah satu data yang diperlukan oleh masyarakat luas dalam menunjang rencana
keseharian mereka. Namun, data cuaca yang biasa diambil dari salah satu API penyedia layanan cuaca sering
kali hanya data mentah yang sulit untuk dipahami. Selain itu, dalam hal mengambil data dari suatu API tidak
mudah juga dipelajari dan dilakukan oleh orang awam karena proses dibelakangnya yang cukup rumit. Oleh
karena itu, dalam laporan ini penulis akan berusaha menyelesaikan permasalahan itu dengan menggunakan
Node-RED yang mana data cuaca akan diambil dari API Open Weather Map dan akan disajikan melalui
Google Spreadsheet agar dapat lebih mudah untuk dipahami dan dimengerti oleh masyarakat. Selain itu,
penulisan laporan ini juga sebagai sarana pembelajaran bagi penulis untuk dapat lebih bisa banyak belajar
mengenai tools-tools yang digunakan dalam laporan ini
c. Tujuan
Dalam perihal memperoleh data menggunakan API, seringkali terdapat beberapa data yang sejatinya
kurang begitu penting bagi orang pada umumnya. Selain itu, data yang diperoleh dari API haruslah mampu
diolah dan disajikan dengan baik agar orang banyak dapat lebih menerima infomasi tersebut dengan lebih
berkualitas. Oleh karena itu, dalam laporan ini penulis memilih untuk mensortir 3 data penting terkait cuaca,
yaitu kondisi cuaca terkini, suhu udara, dan juga kecepatan angin yang akan disajikan melalui bantuan Google
Spreadsheet agar dapat lebih mudah dipahami, dimengerti, dan dipelajari bagaimana perilaku cuaca pada saat
pengerjaan laporan ini dibuat. Selain itu, laporan ini merupakan sebuah penugasan dari mata kuliah Sistem
Berbasis Mikroprosesor yang diampu oleh penulis pada semester 4 program studi S1 Teknologi Informasi di
Fakultas Teknik, Universitas Gadjah Mada.

2. Pembahasan dan Penyelesaian


a. Langkah Penyelesaian
Dalam penyusunan laporan ini, penulis menggunakan tiga tools utama guna melakukan penyelesaiaan akan
permasalahan yang ada yaitu Node-RED, Open Weather Maps API, dan Google Cloud-API Service. Oleh karena
itu, dalam langkah penyelesaian berikut akan dibagi kedalam beberapa bagian yang akan menjelaskan secara
detail penggunaan dari tiga tools utama tersebut.
1. Konfigurasi Node-Red
Langkah pertama yang dilakukan penulis ada melakukan konfigurasi Node-RED sebagai tools
penghubung antar tools lainnya. Node-RED juga digunakan sebagai tools untuk membuat flow sistem dalam
bekerja agar mampu menyelesaikan permasalahan. Melalui perangkat komputer yang dimiliki oleh penulis,
hal pertama yang dilakukan adalah mengaktifkan Node-RED melalui Command Promt Windows dengan
mengetik syntax node-red seperti pada gambar dibawah ini.

Gambar 1: Menaktifkan Node-RED melalui CMD


(sumber: tangkapan layar komputer penulis)

Proses pada gambar diatas dapat dilakukan dengan membuka terlebih dahulu CMD (Command
Prompt) yang tersedia pada Windows dengan cara membuka menu Start, lalu mencari pada daftar aplikasi
yang ada pada komputer. Atau dengan melakukan pencarian secara langsung melalui menu Search yang
tersedia dengan mengetikkan kata kunci CMD. Setelah command prompt terbuka, pengguna dapat langsung
mengetikkan syntax untuk mengaktifkan Node-RED yaitu node-red. Lalu mengklik Enter dan akan berjalan
dengan sendirinya hingga muncul suatu alamat web yang akan digunakan sebagai interface dari Node-RED
itu sendiri. Dalam percobaan yang dilakukan oleh penulis, alamat web tersebut adalah http://127.0.0.1:1880/.

Langkah berikutnya adalah melakukan penginstal-an beberapa package pendukung yang akan
digunakan dalam aplikasi Node-RED seperti node-red-node-openweathermap dan node-red-contrib-google-
sheets seperti pada gambar dibawah ini. Beberapa package lainnya merupakan package yang sudah terlebih
dahulu terinstal pada komputer penulis, dan tidak begitu diperlukan dalam penyelesaiaan masalah kali ini.
Gambar 2: Node-RED package yang digunakan
(Sumber: tangkapan layar komputer penulis)

Penambahan package Node-RED tersebut, dilakukan melalui salah satu fitur yang disediakan oleh
Node-RED itu sendiri sebagai tools utama yang digunakan dalam laporan ini. Hal tersebut dapat dilakukan
dengan cara masuk pada menu tambahan pada Hamburger Button yang terletak dipojok kanan atas tampilan
awal Node-RED. Lalu masuk kedalam menu Manage Package > Install kemudian mencari package-package
tersebut sesuai dengan namanya masing-masing yang dapat diketikkan pada kolom pencarian yang tersedia.

Gambar 3: Node-RED Open Wather Map Package


(Sumber : https://flows.nodered.org/node/node-red-node-openweathermap)

Package diatas merupakan salah satu Node-Red Package yang digunakan dalam laporan ini. Paket
OpenWeatherMap pada Node-RED menyediakan serangkaian fitur yang memungkinkan pengguna untuk
mengakses informasi cuaca secara mudah dan terintegrasi dalam alur kerja (flow) mereka. Fitur-fitur ini
mencakup node-node yang memungkinkan pengguna untuk mengambil data cuaca aktual berdasarkan lokasi
geografis, ramalan cuaca jangka pendek dan panjang, serta informasi suhu, kelembaban, kecepatan angin, dan
lainnya. Selain itu, paket ini memungkinkan pengguna untuk memperoleh informasi tentang cuaca historis,
memberikan akses ke peta cuaca interaktif, dan memungkinkan pengguna untuk menyesuaikan permintaan
API mereka sesuai kebutuhan spesifik. Dengan demikian, fitur-fitur yang disediakan oleh paket
OpenWeatherMap pada Node-RED memberikan fleksibilitas dan kemudahan akses terhadap data cuaca yang
penting bagi pengembangan berbagai jenis aplikasi dan sistem berbasis Node-RED.
Gambar 4: Node-RED Google Sheet Package
(Sumber: https://flows.nodered.org/node/node-red-contrib-google-sheets)

Selain Open Weather Map Package, dalam penyelesaiaan masalah ini juga dibutuhkan Node-RED
Contribution Google Sheet Package yang akan berperan sebagai penghubung antara API-Service yang
diberikan oleh Google yang dalam hal ini akan menggunakan Google Spreadsheet. Paket Google Sheet pada
Node-RED menyediakan sejumlah fitur yang memungkinkan pengguna untuk berinteraksi dengan
spreadsheet Google Sheets secara langsung dari alur kerja (flow) Node-RED mereka. Fitur-fitur ini termasuk
node-node yang memungkinkan pengguna untuk membaca, menulis, dan memperbarui data dalam
spreadsheet Google Sheets dengan mudah. Pengguna dapat mengintegrasikan aliran kerja mereka dengan
spreadsheet yang ada atau membuat spreadsheet baru secara dinamis berdasarkan data yang diterima dari
sumber lain dalam alur kerja mereka. Selain itu, paket ini menyediakan kemampuan untuk memformat data
dengan berbagai cara, termasuk penggunaan format teks dan tanggal, serta kemampuan untuk menambahkan
atau menghapus baris dan kolom sesuai kebutuhan. Dengan fitur-fitur ini, paket Google Sheet pada Node-
RED memberikan fleksibilitas dalam mengelola dan menganalisis data secara kolaboratif melalui platform
Google Sheets yang populer dan terpercaya.
2. Penghimpunan Data Open Weather Map API
Tahapan dalam menghimpun data melalui Open Weather Map API dimulai dengan pendaftaran dan
pengambilan kunci API dari situs Open Weather Map. Setelah itu, pengguna dapat menggunakan kunci API
tersebut untuk mengakses berbagai layanan cuaca yang disediakan oleh Open Weather Map, termasuk data
aktual, ramalan cuaca, dan informasi cuaca historis. Dalam Node-RED, pengguna dapat menambahkan node-
node yang sesuai dengan permintaan API yang ingin mereka lakukan, seperti node "OpenWeatherMap
Current" untuk mendapatkan data cuaca aktual atau node "OpenWeatherMap Forecast" untuk mendapatkan
ramalan cuaca. Setelah konfigurasi node-node tersebut dengan kunci API dan parameter lain yang dibutuhkan,
pengguna dapat menjalankan alur kerja (flow) mereka, yang akan mengirimkan permintaan ke Open Weather
Map API dan menerima data cuaca yang diminta. Data tersebut kemudian dapat digunakan dalam alur kerja
Node-RED untuk analisis lebih lanjut, tampilan visual, atau integrasi dengan sistem lain. Langkah pertama
untuk mendapatkan kunci akses API adalah melakukan registasi akun OpenWeather Map seperti gambar
berikut.

Gambar 5: Masuk ke akun Open Weather Map


(Sumber: https://home.openweathermap.org/users/sign_in)
Setelah masuk ke halaman utama dari website https://home.openweathermap.org, langkah berikutnya
untuk mendapatkan kunci akses adalah masuk ke menu hamburger button > account menu > API Key.

Gambar 6: Menu utama website Open Weather Map


(Sumber https://openweathermap.org/)

Gambar 7: API Keys Open Weather Map


(Sumber : https://home.openweathermap.org/api_keys)

Kunci akses tersebut akan digunakan ketika melakukan konfigurasi sistem menggunakan Node-RED
agar dapat memperoleh data-data cuaca yang hendak kita pakai dalam penyelesaiaan masalah kali ini.
3. Penggunaan Google Cloud – API & Service
Selain mengambil data melalui Open Weather Maps API, hal yang perlu dilakukan juga adalah
mengumpulkan atau menyajikan data yang dalam hal ini akan menggunakan Google Spreadsheet. Oleh
karena itu, langkah pertama yang harus dilakukan adalah membuat projek baru pada Google Cloud seperti
gambar dibawah ini.
Gambar 8: Tampilan muka Google Cloud
(Sumber : https://console.cloud.google.com/projectselector2/iam-
admin/serviceaccounts?_ga=2.184919274.-
272657095.1578084478&supportedpurview=project&authuser=3)

Selanjutnya ketika project sudah dibuat, misal dalam hal ini penulis memakai project dengan nama
Parsing Data Cuaca. Selanjutnya adalah melakukan setting project tersebut akan dapat digunakan untuk
Spreadsheet, dengan mengaktifkan layanan Google Sheet API dengan cara Search Google Sheet API >
Mengaktifkan seperti yang terdapat pada gambar berikut

Gambar 9: Google Sheet API


(Sumber :
https://console.cloud.google.com/marketplace/product/google/sheets.googleapis.com?q=search&referrer=se
arch&authuser=3&orgonly=true&project=parsing-data-cuaca&supportedpurview=organizationId)

Langkah berikutnya adalah memperoleh kunci akses Google Cloud projek yang sudah kita buat,
dengan cara kembali ke halaman Service Account > Select Email > Key > Add Key dan setelahnya akan
otomatis tergenerate API Keys yang dapat kita gunakan sekaligus terdapat file unduhan bertipe JSON. File
unduhan tersebut akan digunakan dalam Node yang akan digunakan ketika melakukan konfigurasi sistem
menggunakan Node-RED nantinya. Selain itu, email Google Cloud pada projek yang telah kita buat akan
digunakan juga untuk memberikan akses pada Google Spreadsheet.
Gambar 10: Halaman Service Account Google Cloud
(Sumber: https://console.cloud.google.com/iam-
admin/serviceaccounts?authuser=3&orgonly=true&project=parsing-data-
cuaca&supportedpurview=organizationId)

Gambar 11: Halaman Service Account Google Cloud untuk mendapatkan API Keys
(Sumber: https://console.cloud.google.com/iam-
admin/serviceaccounts/details/114950488737481035646/keys?authuser=3&orgonly=true&project=parsing-
data-cuaca&supportedpurview=organizationId)

Gambar 12: File unduhan bertipe JSON ketika melakukan generate API Key pada Google Cloud
(Sumber: Tangkapan layar komputer penulis)

Ketika semua langkah konfigurasi Google Cloud – API Service sudah dilakukan, maka selanjutnya
akan melakukan konfigurasi pada Google Spreadsheet yang akan digunakan sebagai tempat penyajian data
cuaca yang akan kita kumpulkan nantinya.
4. Konfigurasi Google Spreadsheet
Sebelum masuk ke langkah terakhir yaitu konfigurasi sistem pada Node-RED guna melakukan
integrasi antara data yang diperoleh dari Open Weather Map API masuk ke Google Spreadsheet, perlu
dilakukan konfigurasi terlebih dahulu terhadap file Google Spreadsheet yang akan kita gunakan. Langkah
pertama yang harus dilakukan adalah generete file Google Spreadsheet dengan akun yang sama ketika
melakukan konfigurasi pada Google Cloud – API Service, lalu membuat template kolom-baris sederhana
tempat data akan diparsing seperti pada gambar berikut.

Gambar 13: Template Google Spreadsheet yang akan diisi data


(Sumber: Tangkapan Layar Google Spreadsheet penulis)

Setelah template sheet dibuat, selanjutnya adalah melakukan setting akses terhadap file tersebut
dengan memberikan izin akses pada email projek yang sebelumnya sudah dibuat dengan Google Cloud dengan
cara masuk ke menu Bagikan > Tambahkan orang, grup, dan acara kalender > Paste email projek >
Ubah akses menjadi Editor seperti yang tertampil pada gambar berikut

Gambar 14: Akses file Google Spreadsheet


(Sumber: Tangkapan layar file Google Spreadsheet penulis)

Ketika konfigurasi Google Spreadsheet sudah selesai dilakukan, maka konfigurasi untuk semua tools
pembantu juga selesai. Langkah berikutnya adalah melakukan konfigurasi pada Node-RED untuk dapat
mengintegrasikan seluruh tools tersebut sehingga dapat melalukan penyelesaian masalah dalam laporan ini.
5. Konfigurasi Sistem menggunakan Node-red
Langkah penyelesaiaan yang terakhir adalah melakukan konfigurasi sistem pada Node-RED yang akan
mengintegrasikan Open Weather Maps API dengan Google Spreadsheet. Node-RED dapat digunakan sebagai
alat untuk mengintegrasikan API ke dalam spreadsheet karena fleksibilitas dan kemudahannya dalam
menghubungkan berbagai sumber data dan layanan secara visual dan intuitif. Dengan Node-RED, pengguna
dapat dengan mudah menambahkan node-node yang sesuai untuk berinteraksi dengan API yang diinginkan,
misalnya, node-node yang dapat mengirim permintaan HTTP atau HTTPS ke API, dan kemudian
memanipulasi dan mengelola data yang diterima sebelum menyimpannya ke dalam spreadsheet. Selain itu,
Node-RED menyediakan node khusus untuk berinteraksi dengan spreadsheet, seperti node "Google Sheets"
atau "CSV", yang memungkinkan pengguna untuk membaca, menulis, dan memperbarui data dalam
spreadsheet tanpa perlu menulis kode secara manual. Dengan menggunakan alat ini, proses integrasi antara
API dan spreadsheet menjadi lebih cepat, lebih efisien, dan lebih mudah dipahami oleh pengguna tanpa
keahlian pemrograman yang mendalam.
Pertama, adalah menyusun Node pada Node-RED sesuai dengan konfigurasi berikut.

Gambar 15: Konfiguras Node yang digunakan dalam Node-RED


(Sumber : Tangkapan layar penulis)

Fungsi Inject pada Node-RED adalah untuk memicu atau memulai alur kerja (flow) dengan
menyuntikkan peristiwa atau data tertentu ke dalam aliran tersebut. Node Inject digunakan untuk memulai
aliran kerja secara manual atau otomatis dengan waktu atau pola tertentu. Pengguna dapat mengatur waktu
kapan peristiwa akan disuntikkan, baik itu sekali atau berulang, serta menentukan jenis data yang akan
disertakan dalam peristiwa tersebut. Misalnya, dengan menggunakan node Inject, pengguna dapat memicu
aliran untuk mengambil data dari API cuaca setiap jam, mengirimkan pemberitahuan setiap hari pada waktu
tertentu, atau memulai aliran kerja secara manual ketika diperlukan. Dengan demikian, node Inject
memungkinkan pengguna untuk mengontrol dan mengatur aliran kerja Node-RED mereka sesuai dengan
jadwal atau kebutuhan spesifik.
Pada laporan ini, penulis melakukan setting pada node inject dengan melakukan loop sesuai interval yaitu
15 menit. Oleh karena itu, node inject akan berjalan 15 menit sekali dan otomatis terus mengumpulkan data
secara berkala seperti yang ada pada gambar berikut

Gambar 16: Konfigurasi node inject


(Sumber: Tangkapan layar penulis)
Node selanjutnya adalah Node Open Weather Map API yang digunakan sebagai gerbang data masuk
kedalam sistem yang kali ini digunakan. Dalam melakukan konfigurasi node ini, diperlukan kunci akses
yang sebelumnya sudah digenerate melalui website Open Weather Map API lalu paste ke setting an node
tersebut seperti gambar berikut.

Gambar 17: Konfigurasi pada node Open Weather Map


(Sumber: Tangkapan layar komputer penulis)

Node selanjutnya yang akan digunakan adalah node function yang akan digunakan untuk mensortir data
yang didapatkan dari open weather map API. Data yang diperoleh oleh Open Weather Map sangat banyak,
meliputi Dengan menggunakan API OpenWeatherMap, berikut adalah beberapa objek data yang umumnya
diperoleh:
1. ID (Identifier) 9. Cloudiness (Kerawan)
2. Weather (Cuaca) 10. Sunrise (Matahari Terbit)
3. Temp (Temperature) 11. Sunset (Matahari Terbenam)
4. Feels Like (Terasa Seperti) 12. Timezone (Zona Waktu)
5. Humidity (Kelembaban) 13. Visibility (Jarak Pandang)
6. Pressure (Tekanan Udara) 14. Rainfall (Curah Hujan)
7. Wind Speed (Kecepatan Angin) 15. Snowfall (Curah Salju)
8. Wind Direction (Arah Angin) 16. UV Index (Indeks UV)

Oleh karena data tersebut banyak, perlu disortir beberapa data yang penting saja atau diperlukan sehingga
memerlukan fungsi tambahan untuk melakukan mensortiran data dengan konfigurasi seperti berikut.

Gambar 18: Syntax function untuk mensortir data


(Sumber: Tangkapan layar komputer penulis)
Gambar 19: Funtion Syntax to merger semua object
(Sumber: Tangkapan layar komputer penulis)

Setelah melakukan sortir data dari open weather map API, langkah berikutnya adalah membuat fungsi
tambahan untuk menggabungkan seluruh object data tadi kedalam suatu variabel tertentu lagi untuk dapat
diparsing menuju Google Spreadsheet seperti yang tertera pada gambar ke-19 diatas. Pada fungsi tersebut juga
ditambahkan sebuah variabel yang akan mendeskripsikan timestamp, yang juga akan digabungkan pada
variabel dataToSend agar dapat ditampilkan di Google Spreadsheet.

// Membuat objek data untuk dikirim ke Google Sheets dengan menggunakan rumus SPLIT
var dataToSend = {
formula: "=SPLIT(\"" + dataString + "\"; \";\")"
};

Fungsi diatas dibuat dengan formula Google Spreadsheet, agar ketika data masuk langsung berupa
formula yang akan diekskusi secara mandiri oleh Google Spreadsheet untuk membagi data ke dalam kolom-
kolom lain pada baris yang sama. Formula SPLIT memungkinkan pengguna untuk memisahkan teks menjadi
beberapa bagian berdasarkan pemisah yang ditentukan. Misalnya, pengguna dapat memisahkan teks berupa
kalimat atau string dengan menggunakan spasi sebagai pemisah, sehingga memungkinkan untuk mengakses
bagian-bagian individu dari teks tersebut.

Gambar 20: Fungsi yang digunakan untuk parsing data ke Google Spreadsheet
(Sumber: Tangkapan layar komputer penulis)
Node selanjutnya adalah node yang akan mengintegrasikan sistem yang dibuat pada Node-RED pada
Google Spreadsheet yang sebelumnya sudah dibuat. Hal-hal yang perlu dipersiapkan adalah file unduhan
JSON yang sebelumnya sudah terunduh ketika generate API-Key dan akan dimasukkan pada menu creds,
lalu spreadsheet ID yang diperoleh dari link spreadsheet tersebut. Konfigurasinya seperti berikut

Gambar 21: Konfigurasi pada Google Sheet Node pada Node-RED


(Sumber: Tangkapan layar komputer penulis)

Gambar 21: Konfigurasi Creds pada Google Sheet Node yang diperoleh dari file unduhan JSON
Google Cloud – API Service
(Sumber: Tangkapan layar komputer penulis)

Gambar 22: Link Google Spreadsheet untuk mendapatkan spreadsheet ID


(Sumber: tangkapan layar komputer penulis)

https://docs.google.com/spreadsheets/d/1Vmd4w8NfSDSEsE5boWYiNFn- CyY9FajcUAsAqbMEhhw/edit#gid=0
Gambar 23: Spreadsheet ID
(Sumber: Link Google Spreadsheet)
Gambar 24: Debug setting Node-RED
(Sumber: tangkapan layar komputer penulis)

Gambar 25: Hasil debug tanpa adanya error yang terjadi


(Sumber: tangkapan layar komputer penulis)
b. Pembahasan Sistem

Gambar 26: Flow Sistem pada node-RED


(Sumber: Node-RED tangkapan layar komputer penulis)

Dalam penyelesaian masalah pada laporan ini menggunakan Node-Red sebagai gerbang yang menintegrasikan
tools lain yang digunakan meliputi API Open Weather Map, dan Google Spreadsheet menggunakan Google Cloud –
API Service. Gambar diatas menunjukkan flow bagaimana sistem bekerja, mula-mula data mentah akan diperoleh dari
API Open Weather Map menggunakan Node-OpenWeatherMap yang telah disediakan oleh package yang sebelumnya
diinstal. Lalu data mentah tersebut akan disortir, dan diambil data-data yang diperlukan menggunakan function bernama
Sortir Data mengambil data Weather, Temperature dalam Celcius, dan Windspeed (kecepatan angin). Selanjutnya,
function bernama Merge to One Object akan menyatukan seluruh objek data yang sudah disortir tadi kedalam satu
variabel baru bernama dataToSend yang akan menjadikannya satu objek saja untuk dikeluarkan dan diparsing ke Google
Spreadsheet. Setelah data telah dijadikan satu, variabel dataToSend akan mengirimkan data yang berupa formula
Spreadsheet tadi menuju Node bernama Parse to Google Sheet yang sebelumnya telah ditambahkan dan merupakan
bagian dari package Google-Sheet yang sebelumnya sudah diinstal. Data yang berhasil diparsing ke Google Sheet akan
berupa formula Spreadsheet menggunakan syntax SPLIT guna membagi data tersebut kedalam kolom-kolom yang
sudah ada pada template yang sebelumnya telah dibuat. Data akan dibagi secara otomatis oleh Google Spreadsheet
sehingga terjadi dengan rapih pada kolom-kolom tersebut. Fase atau flow tersebut akan berulang terus menerus dalam
15 menit sekali karena pada sistem node-Inject di set agar dapat melakukan loop tersebut.

3. Penutup
a. Hasil
Berikut adalah tangkapan layar data yang telah berhasil di-parsing ke Google Spreadsheet. Terdapat 4 data yang
dioper ke Google Spreadsheet, meliputi Timestamp (kapan data tersebut direcord), lalu data weather, temperature, dan
windspeed yang diperoleh dari Open Weather Map API yang telah disortir 3 data tersebut saja.

Gambar 27: Hasil parsing data ke Google Spreadsheet


(Sumber: https://docs.google.com/spreadsheets/d/1Vmd4w8NfSDSEsE5boWYiNFn-
CyY9FajcUAsAqbMEhhw/edit?usp=sharing)
Temperature Windspeed
Timestamp Weather
(C) (km)
26/02/2024 21:12:59 Clouds 25.6 0.26
26/02/2024 21:27:59 Clouds 25.6 0.26
26/02/2024 21:42:59 Clouds 25.5 0.66
26/02/2024 21:57:59 Clouds 25.5 0.66
26/02/2024 22:12:59 Clouds 25.5 0.66
26/02/2024 22:27:59 Clouds 25.5 0.66
26/02/2024 22:42:59 Clouds 25.3 01.06
26/02/2024 22:57:59 Clouds 25.3 01.06
26/02/2024 23:12:59 Clouds 25.3 01.06
26/02/2024 23:27:59 Clouds 25.3 01.06
26/02/2024 23:42:59 Clouds 25.2 0.83
26/02/2024 23:57:59 Clouds 25.2 0.83
27/02/2024 14:28:00 Rain 32.7 3.22
27/02/2024 13:43:00 Clouds 32.7 3.22
27/02/2024 2:42:59 Clouds 25 1.12
27/02/2024 0:12:59 Clouds 25.2 0.83
27/02/2024 0:27:59 Clouds 25.2 0.83
27/02/2024 0:42:59 Clouds 25.2 0.79
27/02/2024 0:57:59 Clouds 25.2 0.79
27/02/2024 1:12:59 Clouds 25.2 0.79
27/02/2024 1:27:59 Clouds 25.2 0.79
27/02/2024 1:42:59 Clouds 24.9 1.15
27/02/2024 1:57:59 Clouds 24.9 1.15
27/02/2024 2:13:00 Clouds 24.9 1.15
27/02/2024 2:27:59 Clouds 25.1 0.8
Gambar 28: Contoh beberapa data yang berhasil direcord dan disajikan ke Google Spreadsheet
(Sumber: https://docs.google.com/spreadsheets/d/1Vmd4w8NfSDSEsE5boWYiNFn-
CyY9FajcUAsAqbMEhhw/edit?usp=sharing)
b. Kesimpulan
Kesimpulan dari penjelasan sistem di atas adalah bahwa penggunaan Node-RED sebagai gerbang
integrasi data memiliki beberapa keuntungan yang signifikan. Pertama, Node-RED memungkinkan pengguna
untuk mengintegrasikan berbagai alat dan layanan seperti API Open Weather Map dan Google Spreadsheet
dengan mudah dan efisien, menghasilkan alur kerja yang fleksibel dan terstruktur. Integrasi ke Google
Spreadsheet menggunakan Google Cloud API Service memungkinkan pengguna untuk secara otomatis
memperbarui dan memformat data dalam spreadsheet sesuai dengan kebutuhan mereka, memberikan
keterbacaan yang lebih baik dan memudahkan analisis data. Penggunaan fitur-fitur Node-RED seperti node
Inject memungkinkan pengguna untuk mengatur loop alur kerja untuk menjalankan operasi secara terjadwal,
menjadikannya solusi yang sangat efektif untuk pemantauan dan pembaruan data secara berkala. Dengan
demikian, penggunaan Node-RED dalam skenario ini tidak hanya memungkinkan integrasi yang mulus antara
berbagai alat dan layanan, tetapi juga meningkatkan efisiensi dan keakuratan dalam mengelola dan
menganalisis data.

Anda mungkin juga menyukai