"Berpikir seperti insinyur, berkarya seperti seniman. Inovasi lahir dari keberanian untuk mencoba dan gagal. Jangan tunggu sempurna untuk memulai, mulailah untuk menjadi sempurna. Setiap baris kode adalah langkah kecil menuju perubahan besar. Kreativitas tanpa aksi hanyalah imajinasi.”

Saturday, July 30, 2022

Mengenal Teknologi 4.0 - Internet of Things

 

  1. Dasar Internet of Things

Internet of Things (IoT) digunakan untuk mengoperasikan atau memperoleh data dari suatu perangkat secara jarak jauh. IoT adalah suatu konsep transfer data yang dilakukan oleh suatu objek dengan objek lainnya dengan menggunakan koneksi internet. Objek yang dimaksud bisa mesin maupun manusia sebagai user. Internet of things dapat diterapkan untuk mengidentifikasi, melacak, menemukan, memantau objek, dan memicu event terkait secara otomatis dan realtime secara jarak jauh. Bahkan penggunaan IoT dapat dilakukan dimanapun dengan syarat terkoneksi internet. 

  1. Struktur Internet of Things untuk Kendali Robot Jarak Jauh

Sistem IoT dibentuk oleh dua arsitektur manajemen, yaitu berbasis kejadian dan berbasis waktu. Berbasis kejadian berarti data akan dikirim ketika terjadi aktifitas/perubahan data pada sensor. Sedangkan berdasarkan waktu berarti data dikirim secara terus menerus berdasarkan interval yang telah ditentukan (Aleksandrovičs, 2016:78). Arsitektur manajemen tersebut dapat berjalan apabila struktur IoT terpenuhi. Struktur IoT dapat dilihat pada gambar berikut.

Struktur Internet of Things

Thing Device merupakan objek yang berfungsi untuk mendapatkan data dari sensor yang dimilikinya. Data yang diperoleh kemudian dikirimkan menuju cloud melalui jaringan internet. Selain memperoleh dan mengirim data, suatu thing device juga dapat didesian dengan dilengkapi aktuator yang dapat dikendalikan menggunakan internet. Pengendalian dilakukan melalui perangkat yang digunakan sebagai user interface. 

Gateway adalah perangkat yang digunakan untuk menghubungkan antara sensor, perangkat, dan aplikasi yang digunakan pada suatu sistem IoT. Gateway pada IoT dibentuk oleh platform sistem operasi, hardware, application, connectivy, security, dan manageability. 

Cloud merupakan teknologi yang menyimpan dan mengolah data dengan menggunakan server di internet. Teknologi ini memungkinkan penggunakan data secara bersamaan kapan saja dan dimana saja.Cloud dimanfaatkan pada IoT untuk menyimpan data yang dikirim oleh mesin.

Analytics adalah proses mengolah data untuk memperoleh hasil yang digunakan untuk membuat keputusan. Internet of things memerlukan analisis data untuk membuat keputusan secara otomatis. Proses analytics dapat dikembangkan menjadi sebuah kecerdasan buatan/artificial Intelligence.

User Interface atau antarmuka pengguna digunakan oleh user untuk berkomunikasi dengan objek/mesin. User Interface berbentuk tampilan grafis yang berisi tampilan data dari mesin atau tampilan tombol yang berisi perintah pada mesin. Tampilan tersebut dapat menggunakan aplikasi android, website, atau perangkat komputer.

  1. Prinsip Internet of Things (IoT)

Istilah “Internet of Things” terdiri atas dua bagian utama yaitu Internet yang mengatur konektivitas dan Things yang berarti objek atau perangkat. Secara sederhana, kamu memiliki “Things” yang memiliki kemampuan untuk mengumpulkan data dan mengirimkannya ke Internet. Data ini dapat diakses oleh “Things” lainnya juga. Ada sekitarnya tujuh prinsip dasar yang menopang IoT. Yuk simak penjelasan singkat masing-masing prinsip di bawah ini.

  1. Big Analog Data

Big Analog Data bisa didapatkan dari berbagai macam sumber yang sifatnya alami seperti cahaya, sinyal radio, getaran, suhu, dan sebagainya, serta bisa dihasilkan oleh peralatan mekanis atau elektronik.

Big Analog Data adalah tipe Big Data yang terbesar dan tercepat jika dibandingkan dengan tipe-tipe Big Data lainnya. Sehingga, dalam banyak hal, Big Data Analog perlu diperlakukan secara khusus.

  1. Perpetual Connectivity

Perpetual Connectivity merupakan konektivitas yang terus-menerus menghubungkan perangkat ke Internet. IoT yang selalu terhubung dan aktif dapat memberikan tiga manfaat utama seperti:

  • Monitor: Pemantauan berkelanjutan yang memberikan pengetahuan berisi informasi real time tentang penggunaan suatu produk atau pengguna di lingkungan industri.

  • Maintain: Pemantauan berkelanjutan memungkinkan kita untuk melakukan peningkatan atau tindakan-tindakan tertentu sesuai dengan kebutuhan.

  • Motivate: Konektivitas yang konstan dan berkelanjutan dengan konsumen atau pekerja memungkinkan pelaku usaha atau pemilik organisasi untuk memotivasi orang lain membeli produk, mengambil tindakan, dan sebagainya.

  1. Really Real Time

Definisi real time untuk IoT berbeda dari definisi real time pada umumnya. Real time sebenarnya dimulai dari sensor atau saat data diperoleh. Real time untuk IoT tidak dimulai ketika data mengenai switch jaringan atau sistem komputer.

  1. The Spectrum of Insight

Spectrum of Insight” berasal dari data IoT yang berkaitan dengan posisinya dalam lima fase data flow yaitu real timein motion (bergerak), early lifeat rest (saat istirahat), dan arsip.

Masih berhubungan dengan poin sebelumnya tentang real time pada IoT, real time diperlukan untuk menentukan respons langsung dari sistem kontrol.

Di ujung lain dari spektrum, data yang diarsipkan di pusat data atau cloud dapat diambil untuk analisis komparatif terhadap data yang lebih baru.

  1. Immediacy Versus Depth

Dengan berbekal komputer dan solusi IoT di era digital ini, akan ada pertukaran antara kecepatan dan kedalaman yang kita dapatkan. Artinya, seseorang bisa langsung mendapatkanTime-to-Insight” pada analitik yang belum sempurna seperti perbandingan suhu atau transformasi Fourier cepat untuk menentukan apakah memutar roda pada trem akan menyebabkan kecelakaan. Time (waktu) di sini dibutuhkan untuk mendapatkan insight (wawasan) yang mendalam tentang suatu data. Data yang dikumpulkan membutuhkan waktu yang lama untuk dianalisis dan sejumlah besar perangkat komputer back-end.

  1. Shift Left

Seperti yang sudah dijelaskan di poin sebelumnya, untuk mendapatkan wawasan yang cepat dan menyeluruh tergolong sangat sulit. Namun, beberapa insinyur berhasil mengatasi kesulitan itu dan mendapatkannya. Fenomena  ini disebut dengan “The Genius of the AND”. Drive untuk mendapatkan wawasan tersebut akan menghasilkan komputasi dan analisis data canggih yang biasanya disediakan untuk cloud atau pusat data.

  1. The Next V

Big Data biasanya ditandai dengan “V” yaitu Volume, Velocity, Variety, dan Value. The next V yang dimaksud adalah Visibility. Ketika data dikumpulkan, para ilmuwan data di seluruh dunia harus bisa melihat dan mengaksesnya sesuai kebutuhan. Visibilitas menawarkan kemudahan yang menjadikan pengguna tidak harus mentransfer sejumlah besar data ke orang atau lokasi yang jauh.

  1. Manfaat Internet of Things (IoT)

Beberapa manfaat IoT mungkin tidak terlalu kentara, tetapi bukan berarti tidak bisa dirasakan. Di bawah ini adalah tiga manfaat utama yang akan kamu dapatkan langsung dari IoT:

  1. Konektivitas

Di era digital ini, kamu bisa mengucapkan selamat tinggal pada era pengoperasian perangkat secara manual. Dengan IoT, kamu bisa mengoperasikan banyak hal dari satu perangkat, misalnya smartphone.

  1. Efisiensi

Dengan adanya peningkatan pada konektivitas, berarti terdapat penurunan jumlah waktu yang biasanya dihabiskan untuk melakukan tugas yang sama. Misalnya, asisten suara seperti Apple's Homepod atau Amazon's Alexa dapat memberikan jawaban atas pertanyaan tanpa kamu perlu mengangkat telepon atau menghidupkan komputer.

  1. Kemudahan

Perangkat IoT seperti smartphone kini mulai menjadi perangkat yang biasa dimiliki oleh sebagian besar orang. Misalnya smart refrigerator dan Amazon Dash Button yang memudahkan kamu untuk menyusun ulang item dengan hanya satu atau dua tindakan yang menunjukkan persetujuan kamu.

  1. Contoh Perangkat IoT

Saat ini, produksi dan penggunaan perangkat Internet of Things meningkat sangat pesat. Perangkat IoT pada dasarnya meliputi laptop, smartphone, smart gadget, smartwatch, dan banyak lagi.Berikut ini adalah contoh perangkat IoT lain yang sudah banyak digunakan di era digital.

  1. Nest Smart Thermostat

Nest Termostat

Nest adalah termostat yang terhubung ke internet. Nest mampu mempelajari rutinitas kamu dan secara otomatis akan menyesuaikan suhu ketika kamu berada di rumah atau di luar, bangun atau tidur, panas atau dingin. Nest akan membuat rumah kamu lebih efisien dan membantu kamu menghemat tagihan pemanas dan pendingin. Aplikasi seluler memungkinkan kamu untuk mengedit jadwal, mengubah suhu ketika kamu sedang tidak di rumah.

  1. August Smart Lock

Smartlock

Dengan perangkat smart lock, kamu tidak perlu lagi sebuah kunci karena kunci akan terbuka secara otomatis ketika kamu tiba di rumah dan mengunci ketika kamu menutup pintu. Kamu juga bisa memberikan kunci tamu kepada teman atau asisten rumah tangga dan mengatur waktu expire ketika kamu tidak lagi ingin memberikan akses ke rumah kamu.




  1. Automatic Car Tracking Adapter

Automatic Car Tracking Adapter

Automatic Car Tracking Adapter bisa melacak informasi tentang mobil kamu dengan menggunakan adaptor dalam mobil. Perangkat ini melacak jarak tempuh, penggerak jam, biaya bahan bakar, efisiensi bahan bakar, lokasi, dan sebagainya. Kamu bisa menghubungkannya dengan aplikasi lain untuk mendapatkan manfaat lebih. Banyak kendaraan di era ini yang sudah memiliki kemampuan IoT sehingga pemilik bisa memantau lebih lanjut.


Langkah-langkah Membuat Aplikasi Android di MIT APP Inventor yang Terhubung ke Google Firebase

 Berikut ini adalah langkah-langkah untuk membuat aplikasi Android di MIT APP Inventor yang terhubung ke Google Firebase

  1. Buka  http://ai2.appinventor.mit.edu/. Apabila belum masuk akun google maka masuk ke akun google terlebih dahulu.

  2. Klik My Project - Klik Start New Project – Beri nama project sesuai keinginan.

  1. Berikut ini adalah tampilan desain pada situs MIT APP INVENTOR

  1. Pada palatte klik Layout – Klik tahan dan tarik ke menu layar VerticalArrangement


  1. Berikut ini adalah tampilan dari VerticalArrangement.

  1. Klik grup User Interface – Klik tahan dan drag Button. Masukkan dua tombol di dalam VerticalArrangement.


  1. Klik Screen 1 pada Components. Pada AlignHorizontal pilih Center. 

  1. Selanjutnya, klik Button1 pada components, pada kolom properties klik Image untuk mengatur gambar tombol – klik upload file. 



  1. Klik Choose File

  1. Pilih icon tombol yang akan digunakan, klik open

  1. Klik Button 1 hapus nama tombol

  1. Ganti tombol yang kedua dengan langkah yang sama seperti di atas.

  1. Klik Experimental – Masukkan firebase pada project, klik firebase pada komponen, atur firebase token dan firebase URL sesuai alamat firebase yang sudah dibuat.

  1. Masuk tampilan blocks, buat program seperti berikut untuk mengirim data saat tombol ditekan


Belajar Membuat Aplikasi Android di MIT APP Inventor


 



Kloss (2012: 6) menjelaskan bahwa
MIT App Inventor merupakan perangkat lunak inovatif yang dibuatoleh Google dan kemudian dikembangkan oleh Masachusetts Institute of Technology (MIT). Perangkat lunak ini digunakan untuk membuat maupun mengembangkan aplikasi Android berbasis Webpage dan Java interface. Salah satu karakteristik utama dari App Inventor ini bahwa pengguna tidak perlu memenuhi persyaratan khusus untuk dapat membuat maupun mengembangkan aplikasi Android dari yang paling sederhana hingga pada pembuatan aplikasi yang rumit. Keduanya, dari aplikasi yang sederhana hingga yang terlihat rumit, dapat dibangun dengan mudah dan menyenangkan dengan merakit pemrograman blok tanpa harus menulis satu baris kode Java. Kode blok atau pemrograman blok digunakan untuk mengatur jalannya program dari aplikasi. Contoh penggunaan kode blok dapat dilihat pada Gambar berikut.


Contoh Pemrograman Blok MIT App Inventor 2
(Sumber: Wolber, Abelson, Spertus, dan Looney: 2015, 30)


Menurut Wolber, Abelson, Spertus, dan Looney (2015: 3), “App Inventor is a cloud computing tool, meaning that your app is storage on an online server as you work.” Sehingga, apabila pengguna menutup App Inventor, aplikasi yang dibuat akan tetap tersimpan di dalam perangkat lunak tersebut. Pengguna tidak perlu menyimpan file apapun pada komputer seperti halnya menyimpan file Microsoft Word. Berikut ini adalah tampilan awal dari Program MIT APP Inventor.


Tampilan Website APP Inventor

Setelah membuat project baru tampilan website akan menuju ke tampilan Design view. Halaman ini digunakan untuk mengatur tampilan dan mengatur komponen apa saja yang digunakan dalam aplikasi. Design View memiliki lima komponen untuk membangun sebuah aplikasi, yaitu:


  • Palatte: Pallate terdiri dari objek apa saja yang bisa digunakan ke dalam aplikasi. Pallate terdiri dari beberapa grup, semuanya dikelompokkan ke dalam satu grup jika tema/fungsinya sama.

tampilan palatte grup lay out

  • Viewer: berupa tampilan layar telepon seluler dan tata letak dari komponen yang kita masukan. Komponen-komponen yang dimasukan dapat di klik untuk diubah settingannya.

tampilan viewer

  • Component: terdiri dari daftar komponen apa saja yang telah ditambahkan ke dalam projek. Tampilan komponen berupa susunan daftar yang memudahkan untuk mengatur komponen atau melihat apa saja yang berbentuk direktori.

Tampilan Components

  • Media: kolom media berada di bawah kolom Components. Media digunakan untuk mengatur semua media untuk mendukung aplikasi. File yang dapat digunakan dapat berupa gambar, clip art, musik, dan video. Besar media yang diupload tidak boleh melebihi 5 MB.

Tampilan Kolom Media

  • Properties: Kolom properti berisi perintah untuk mengatur bagaimana komponen berinteraksi dengan pengguna atau dengan komponen lain dan bagaimana tampilannya.

Tampilan Kolom Properties

Setelah selesai mengatur tampilan dan komponen pada Desain View, selanjutnya yaitu membuat code blocks. Code Blocks digunakan untuk membuat perintah yang mengatur jalannya program. 

tampilan Blocks View

Code Blocks terdiri dari beberapa grup yang memiliki fungsi berbeda-beda. Grup tersebut yaitu:

  • Control Blocks: Code bloks pada grup ini digunakan unruk mengatur bagaimana alur aplikasi yang dibuat berjalan.

Code Blocks pada grup Control

  • Logic Blocks: Berisi suatu fungsi yang berhubungan dengan kebenaran suatu nilai dan operator. Jadi logic Blocks biasanya berhubungan dengan if else dan while. 

Code Blocks pada Grup Logic

  • Math Blocks: digunakan untuk memanipulasi dan memasukkan angka

Code Blocks pada Grup Math.

  • Text Blocks: digunakan untuk memanipulasi, mengolah dan menyeleksi argumen dalam bentuk text.

Code Blocks pada grup Text

  • List Blocks: Code Block yang berada dalam grup ini digunakan unruk memanipulasi, mengolah, dan menyeleksi list atau kumpulan dari suatu nilai.

Code Blocks pada grup List Blocks

  • Colors Blocks: digunakan untuk mengatur dan memanipulasi warna

Code Blocks pada grup Colors

  • Variables Blocks: digunakan uruk memanipulasi dan mengolah variabel

Code Blocks pada grup Varianles


  • Procedure Blocks: Block yang berada pada grup ini digunakan unruk membuat dan memanggil procedure, jadi tidak perlu menulis ulang kode yang sama.

Tutorial Membuat Database di Google Firebase

 Berikut ini adalah langkah-langkah membuat database di Google Firebase:

  1. Buka  https://console.firebase.google.com/ . Berikut ini tampilan halaman awal apabila sudah log in ke akun google.


Apabila belum log in, silakan login menggunakan akun google terlebih dahulu. 

  1. Langsung klik "Tambahkan Proyek" maka akn muncul pop up seperti gambar di bawah ini. Isi Nama aplikasi > scroll ke bawah > jangan lupa centang persetujuan > dan klik "Buat Proyek"





  1. Klik "Lanjutkan" maka temen-temen akan dibawa ke dalam sebuah halaman "Overview", scrol kebawah dan klik bagian "Database", perhatikan gambar di bawah ini.



  1. Setelah di klik, amak selanjutnya akan masuk ke halaman baru dan klik "Buat Database", perhatikan gambar di bawah ini.



  1. Setelah selesai maka akan muncul halaman  "Database", perhatikan gambar di bawah ini. klik menu yang berada di dalam kotak warna merah dan pilih "Realtime Database"


  1. Pada halaman "Realtime Database", silahkan copy alamat database yang berada di dalam kotak berwarna merah. Alamat ini digunakan untuk mengisi FirebaseURL Pada kegiatan belajar selanjutnya.
    perhatikan gambar di bawah ini.

  1. Klik menu dengan logo "Roda Gergigi" di sebelah kanan tulisan "Project Overview" yang berada di dalam kotak berwarna merah, perhatikan gambar di bawah ini.

  1. Maka akan muncul halaman "Database Secret", masuk ke bagian "Akun Layanan" > Pilih "Rahasia Database" > disana terdapat kode yang belum di tampilkan, silahkan tampilkan dengan klik bagian "Tampilkan" perhatikan gambar di bawah ini.

  1. Copy kode tersebut dan simpan pada notepad. Kode tersebut akan dimasukkan ke dalam kolom "Firebase" bagian "FirebaseToken" di App Inventor pada kegiatan belajar selanjutnya.

Mengenal Database Google Firebase

 

Logo Googe Firebase


Database adalah sekumpulan data yang disimpan secara sistematis. Database pada IoT digunakan untuk menyimpan data yang dikirimkan oleh user ataupun mesin. Salah satu contoh database online adalah firebase realtime database. Firebase realtime database adalah sebuah platform layanan database buatan google yang dapat dibaca dan disinkronkan kapan saja secara realtime. Layanan ini menyediakan pengembang aplikasi API yang memungkinkan data aplikasi di sinkronisasi di klien dan disimpan di cloud firebase. Firebase memiliki library untuk berbagai platform sehingga memungkinkan integrasi dengan android, iOS, JavaScript, Java, Objective-C, dan Node (Tanone, 2018:398)

Firebase Realtime Database di-host di cloud. Data disimpan sebagai JSON dan disinkronkan secara realtime ke setiap klien yang terhubung. Ketika Anda mem-build aplikasi lintas platform dengan Android SDK, iOS SDK, dan JavaScript SDK, semua klien Anda akan berbagi sebuah instance Realtime Database dan menerima update data terbaru secara otomatis.

Kemampuan Utama:

Realtime

Sebagai ganti permintaan HTTP biasa, Firebase Realtime Database menggunakan sinkronisasi data—setiap kali data berubah, semua perangkat yang terhubung akan menerima update dalam waktu milidetik. Memberikan pengalaman yang kolaboratif dan imersif tanpa perlu memikirkan kode jaringan.

Offline

Aplikasi Firebase tetap responsif bahkan saat offline karena SDK Firebase Realtime Database menyimpan data ke disk. Setelah konektivitas pulih, perangkat klien akan menerima setiap perubahan yang terlewat dan melakukan sinkronisasi dengan status server saat ini.

Dapat Diakses dari Perangkat Klien

Firebase Realtime Database dapat diakses secara langsung dari perangkat seluler atau browser web; server aplikasi tidak diperlukan. Keamanan dan validasi data dapat diakses melalui Aturan Keamanan Firebase Realtime Database yang merupakan kumpulan aturan berbasis ekspresi dan dijalankan ketika data dibaca atau ditulis.

Menskalakan di beberapa database

Dengan Firebase Realtime Database pada paket harga Blaze, Anda dapat mendukung kebutuhan data aplikasi Anda pada skala tertentu dengan membagi data Anda di beberapa instance database di project Firebase yang sama. Menyederhanakan autentikasi dengan Firebase Authentication pada project Anda dan mengautentikasi pengguna di instance database Anda. Mengontrol akses ke data di tiap database dengan Aturan Firebase Realtime Database khusus untuk tiap instance database.


Firebase Realtime Database memungkinkan Anda untuk mem-build aplikasi kolaboratif dan kaya fitur dengan menyediakan akses yang aman ke database, langsung dari kode sisi klien. Data disimpan di drive lokal. Bahkan saat offline sekalipun, peristiwa realtime terus berlangsung, sehingga pengguna akhir akan merasakan pengalaman yang responsif. Ketika koneksi perangkat pulih kembali, Realtime Database akan menyinkronkan perubahan data lokal dengan update jarak jauh yang terjadi selama klien offline, sehingga setiap perbedaan akan otomatis digabungkan.

Realtime Database menyediakan bahasa aturan berbasis ekspresi yang fleksibel, atau disebut juga Aturan Keamanan Firebase Realtime Database, untuk menentukan metode strukturisasi data dan kapan data dapat dibaca atau ditulis. Ketika diintegrasikan dengan Firebase Authentication, developer dapat menentukan siapa yang memiliki akses ke data tertentu dan bagaimana mereka dapat mengaksesnya.

Realtime Database adalah database NoSQL, sehingga memiliki pengoptimalan dan fungsionalitas yang berbeda dengan database relasional. API Realtime Database dirancang agar hanya mengizinkan operasi yang dapat dijalankan dengan cepat. Hal ini memungkinkan Anda untuk mem-build pengalaman realtime yang luar biasa dan dapat melayani jutaan pengguna tanpa mengorbankan kemampuan respons. Oleh karena itu, perlu dipikirkan bagaimana pengguna mengakses data, kemudian buat struktur data sesuai dengan kebutuhan tersebut.