"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

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.

Fitur Yang Terdapat Pada Database Google Firebase

        

Firebase memiliki cukup banyak fitur yang bisa kita gunakan untuk mengembangkan aplikasi baik Android, iOS, Web, dan lainnya. Adapun fitur-fitur tersebut di antaranya adalah :

Develop

Saat mengembangkan aplikasi pertama kali dan ingin menggunakan Firebase kita bisa menggunakan beberapa fitur seperti dibawah ini, yaitu :

  • Authentication : Sekarang sebagian besar aplikasi ingin mengetahui identitas penggunanya sehingga nanti aplikasi dapat menyimpan data pengguna secara aman di cloud dan memberikan pengalaman personal yang sama di setiap perangkat pengguna. Fitur ini menyediakan layanan backend dengan SDK yang mudah dan siap digunakan untuk mengautentikasi pengguna ke aplikasi anda. Jadi dengan menggunakan fitur ini kita bisa membuat login menggunakan gmail, facebook, twitter dan lainnya.

  • Hosting : Firebase Hosting yaitu layanan hosting konten web yang berkelas produksi untuk para pengembang aplikasi. Kita bisa menerapkan aplikasi web serta menyajikan konten statis ataupun dinamis ke CDN global secara cepat hanya dengan satu perintah saja.

  • Cloud Storage : Fitur ini dibuat untuk para pengembang aplikasi yang ingin menyimpan dan menampilkan konten buatan pengguna seperti image dan video.

  • Realtime Database : Fitur Firebase Realtime Database yaitu database yang di host di cloud. Nantinya data akan disimpan sebagai JSON kemudian disinkronkan secara realtime ke setiap client yang sudah terhubung. Saat kita membuat aplikasi lintas platform dengan SDK Android, IOS, maupun JavaScript, semua client akan berbagi sebuah instance realtime database lalu menerima update data terbaru secara otomatis.

Stabilitas

Untuk menstabilkan aplikasi kita yang sudah menggunakan layanan Firebase kita juga bisa menggunakan fitur-fitur dibawah ini, antara lain :

  • Crashlytics : Fitur ini bisa melaporkan kerusakan yang ringan dan bekerja secara realtime untuk membantu developer melacak, memprioritaskan, dan memperbaiki masalah pada aplikasi yang sudah dibuat. Dengan menggunakan fitur ini kita bisa menghemat waktu pemecahan masalah.

  • Performance Monitoring : Dengan fitur ini kita bisa memperoleh laporan tentang seberapa baguskah performa aplikasi Android atau iOS yang sudah kita buat.

  • Test Lab : Fitur ini digunakan untuk pengujian aplikasi berbasis cloud. Dengan satu operasi saja kita bisa menguji aplikasi di berbagai perangkat dan konfigurasi perangkat.

 

Grow

Setelah aplikasi stabil dan ingin menumbuhkan pengguna atau berlanjut ke sistem bisnis kita bisa menggunakan fitur-fitur untuk grow dari firebase, diantaranya :

  • In App Messaging : Fitur ini membantu mempertahankan pengguna aktif aplikasi yang sudah kita publish dengan mengiriman pesan. Misalnya kita bisa mengirimkan pesan agar pengguna menonton video, membeli barang, dan lainnya.

  • Google Analytics : Fitur ini adalah solusi gratis dan tidak terbatas untuk menganalisi aplikasi kita. Firebase sendiri telah menyediakan pelaporan hingga 500 peristiwa dan tak terbatas. Dengan menggunakan fitur ini kita bisa paham bagaimana perilaku user secara rinci, jadi kita bisa mengambil keputusan untuk memasarkan aplikasi secara optimal.

  • A/B Testing : Fitur ini berfungsi untuk membantu developer mengoptimalkan pengalaman aplikasi dengan menjadikannya mudah dijalankan, dianalisis, juga mengukur eksperimen produk dalam hal marketing. Disini kita bisa menguji perubahan UI, fitur, dan kampanye interaksi.

  • Cloud Messaging : Fitur ini disebut juga Firebase Cloud Messaging (FCM) merupakan fitur yang berfungsi untuk pengiriman pesan lintas platform yang memungkinkan kita bisa mengirimkan pesan dengan terpercaya dan tanpa biaya sepeserpun.

Remote Config : Fitur ini merupakan layanan cloud yang bisa kita gunakan untuk mengubah perilaku dan tampilan aplikasi tanpa harus pengguna mendownload update aplikasi.

Friday, July 29, 2022

Struktur Pembangun Robot

     Struktur robot dapat dikelompokkan menjadi beberapa bagian. Menurut warasih (2008), struktur mobile robot dapat dibagi menjadi empat bagian. Bagian tersebut adalah sistem mekanik, sistem pengendali pergerakan, sistem sensor, dan sistem pengetahuan. Menurut Jaya (2016:19), sistem pada robot terdiri dari sensor, sistem kontrol, aktuator, dan mekanik. Sistem pada robot dapat dilihat pada gambar 1.

Sistem Robot

  1. Sistem Kontrol

Sistem kontroler adalah rangkaian prosesor yang berisi sekumpulan prinsip-prinsip algoritma. Menurut Jaya (2016:19) Sistem kontroler adalah rangkaian elektronik yang terdiri dari rangkaian prosesor (CPU, memori, dan komponen interface input dan output). Signal conditioning untuk sensor (analog, dan atau digital), dan driver untuk aktuator. Rangkaian kontroler berfungsi untuk memproses data masukan sesuai dengan program yang telah ditentukan sehingga menghasilkan keluaran berupa keputusan atau instruksi untuk melakukan suatu tindakan.

  1. Sistem Mekanik

Sistem mekanik merupakan bagian yang meliputi bentuk dasar, pergerakan, dan susunan steering sensor. Sistem mekanik robot setidaknya memiliki satu degree of freedom.  Degree of freedom (DOF) adalah titik sumbu gerakan mekanik robot. Gerak mekanik robot terdiri dari dua jenis yaitu gerak translasi dan gerak rotasi. 

Gerak translasi adalah gerakan suatu benda dimana setiap titik benda menempuh lintasan yang bentuk dan panjangnya sama. Lintasan gerak translasi dapat berbentuk garis lurus maupun garis melengkung. Gerak translasi terdiri dari gerak vertikal dan gerak horizontal. Gerak vertikal yaitu gerak yang arah gerakannya tegak lurus dengan garis horizontal. Sedangkan gerak horizontal adalah gerak yang arah gerakannya sejajar dengan garis horizontal. .

Lintasan Gerak Translasi

Gerak rotasi adalah pergerakan suatu benda dimana setiap titik benda selain titik sumbu putar memiliki lintasan berbentuk lingkaran. Menurut Ilham (2020) gerak rotasi merupakan gerakan memutar suatu benda terhadap titik tertentu. .

Lintasan Gerak Rotasi

  1. Aktuator

        Aktuator merupakan komponen elektromekanik yang menghasilkan tenaga gerakan. Menurut Gunarta (2011) aktuator/penggerak dapat mengubah tenaga listrik menajadi tenaga mekanis sebagai proses lanjutan dari data keluaran suatu sensor atau kontroler.Aktuator dapat dirancang dari sistem motor listrik (Motor DC, Motor servo, brushless, dll), sistem pneumatik, dan sistem hidrolik.