5 BAB II
JENIS – JENIS PERANGKAT LUNAK PADA SISTEM NOTIFIKASI PEMANTAU
2.1 Google Maps Application Programming Interface
Google Maps Application Programming Interface (API) adalah suatu fitur layanan yang memiliki fungsi untuk menampilkan halaman peta pada tampilan suatu sistem. Google Maps API memiliki suatu library yang berbentuk JavaScript yang berguna untuk memodifikasi peta yang ada di Google Maps sesuai kebutuhan pengembang [5]. Beberapa tujuan dari penggunaan fitur Google Maps adalah untuk menampilkan peta berdasarkan lokasi pengguna tongkat berada, mencari alamat, mencari rute terdekat antar dua tempat, dan lain-lain.
Layanan Google Maps API memiliki 2 versi, yaitu versi open source (gratis) dan ada yang versi bisnis (berbayar). Perbedaan kedua versi tersebut terletak pada fitur yang tersedia pada layanan Google Maps API. Dimana untuk versi yang open
source, fitur yang tersedia hanya dapat menampilkan sebuah titik koordinat yang
meliputi latitude dan longitude, serta menampilkan berupa marker location (penanda lokas) dari pengguna. Kemudian untuk versi yang bisnis, fitur yang tersedia pada layanan Google Maps API dapat digunakan sepuasnya oleh pengembang. Adapun beberap fitur yang tersedia ketika sudah berlangganan menggunakan Google Maps API, yaitu dapat menampilkan alamat lokasi pengguna, tampilan direction (petunjuk arah), mencari rute terdekat antar dua tempat, dan lain-lain. Adapun tampilan halaman ketika API key telah berhasil dibuat terlihat pada Gambar 2.1.
6 2.2 Cloud Server
Cloud server atau yang diartikan sebagai komputasi awan merupakan suatu server
komputasi yang di hosting dan berisikan suatu data informasi yang akan diolah dan disimpan kedalam database sebelum data tersebut akan ditampilkan ke dalam aplikasi smartphone. Layanan cloud server berfungsi sebagai media penyimpanan data, agar data tersebut dapat diakses kapan saja dengan syarat terhubung dengan menggunakan jaringan internet. Adapun prinsip kerja dari cloud server/cloud
computing dapat dilihat pada Gambar 2.2.
Gambar 2.2 Prinsip kerja dari cloud server.
Gambar 2.2 menggambarkan suatu ilustrasi bagaimana cloud server bekerja. Sistem
cloud server bekerja menggunakan jaringan internet sebagai server dalam
mengolah data. Sistem cloud memudahkan pengguna untuk login melalui internet agar dapat mendapatkan akses untuk menjalakan program atau aplikasi yang dibutuhkan tanpa harus menginstall aplikasi tersebut. Karena tidak perlu melakukan install pada aplikasi, maka untuk media penyimpanan data dari pengguna juga disimpan secara virtual, sehingga tidak akan terbebani dengan penggunaan memori atau tempat penyimpanan pada komputer pengguna. Perintah yang telah digunakan oleh pengguna tadi, akan dikirim melalui jaringan internet untuk dilanjutkan ke server aplikasi. Setelah perintah tersebut diterima di server
7
aplikasi maka data akan diproses yang akhirnya pengguna akan ditampilkan ke halaman yang telah diperbarui sesuai dengan perintah yang diterima sebelumnya.
Salah satu contoh dari penggunaan cloud server adalah menggunakan Gmail. Data di beberapa server akan diintergrasikan secara global tanpa harus melakukan
download software untuk menggunakannya. Pengguna hanya memerlukan koneksi
internet dan semua data akan dikelola langsung oleh Google. Semua perintah akan terhubung secara langsung melalui sistem cloud (komputer yang terhubung dalam jaringan internet). Adapun beberapa jenis macam cloud yang dapat digunakan sebagai pengguna dapat dilihat pada Tabel 2.1 [6].
Tabel 2.1 Jenis-jenis cloud server berdasarkan fungsinya.
Jenis Cloud Fungsi
Private Cloud Private cloud berfungsi hanya dapat digunakan dalam suatu
organisasi tertentu saja secara privat, dan tidak dibagi ke pengguna/organisasi lain. Metode ini digunakan untuk melakukan interaksi semacam intra-bisnis, dimana cloud dapat diatur dan dioperasikan oleh organisasi tertentu saja.
Community Cloud Community cloud dapat digunakan dalam suatu komunitas,
institusi atau organisasi. Pada tipe cloud ini, cloud server dapat dikelola oleh internal maupun eksternal, sehingga dapat meminimalisir biaya pembayaran yang ditanggung oleh kedua belah pihak.
Public Cloud Public cloud berfungsi sebagai layanan yang menggunakan
model publik, sehingga semua pengguna dapat mengakses layanan cloud tersebut. Seperti contohnya adalah Gmail, Google Drive, Youtube, dan lain-lain.
Hybrid Cloud Hybrid cloud merupakan gabungan tipe cloud dari layanan
tipe private cloud dan tipe public cloud. Layanan tipe cloud ini memiliki interaksi, yaitu Business to Business (B2B) atau Business to Counsumer (B2C). Selain itu, tipe hybrid
cloud dapat digunakan pada komputasi yang terikat secara
8 2.3 Firebase Database
Firebase Database merupakan layanan media penyimpanan basis data non SQL.
Jenis tipe data yang dapat digunakan pada Firebase, yaitu string, boolean, dan berbagai jenis tipe data lainnya. Data yang tersimpan dalam Firebase Database menggunakan jenis file JavaScript Object Notation. JSON berfungsi sebagai format data yang digunakan untuk menyimpan informasi terstruktur dan sering digunakan untuk mengirimkan data antar server dengan client. Dalam pembuatan sistem aplikasi TERA, ada beberapa jenis plug in yang digunakan, yaitu Firebase
Authenthication, Firebase Realtime Database, dan Firebase Storage. Adapun
jenis-jenis Firebase diatas memiliki fungsi masing-masing yang dapat dilihat pada Tabel 2.2 [7].
Tabel 2.2 Jenis-jenis Firebase berdasarkan fungsinya.
Jenis Firebase Fungsi
Firebase
Authentication.
Firebase Authentication merupakan salah satu fitur layanan yang berfungsi melakukan integrasi beberapa metode login ke aplikasi pengguna secara manual. Firebase
Authentication mendukung autentikasi menggunakan
nomor telepon, sandi, ataupun identitas gabungan populer, seperti Email, Google Sign-In, Facebook Login, dan lain-lain. Adapun tampilan pada jenis Firebase Authentication dapat dilihat pada Gambar 2.3.
Firebase Realtime
Database.
Firebase Realtime Database merupakan salah satur fitur layanan database yang disimpan di dalam host cloud. Data yang tersimpan dalam Firebase Realtime Database menggunakan jenis file JavaScript Object Notation (JSON). Selain itu, Firebase Realtime Database memiliki sifat yang responsif ketika dalam kondisi offline, dikarenakan data tersebut tersimpan langsung kedalam drive lokal. Setelah koneksi perangkat terhubung kembali dengan internet,
Realtime Database akan menyinkronkan perubahan data
lokal yang terjadi selama kondisi pengguna mengalami
9
Jenis Firebase Fungsi
digabungkan. Adapun tampilan pada jenis Firebase
Realtime Database dapat dilihat pada Gambar 2.4.
Firebase Storage. Firebase Storage merupakan fitur layanan yang dapat menyimpan data pengguna seperti gambar, audio, dan
video. Adapun tampilan pada jenis Firebase Storage dapat
dilihat pada Gambar 2.5.
Gambar 2.3 Tampilan jenis Firebase Authentication.
10
Gambar 2.5 Tampilan jenis Firebase Storage.
2.4 Android Studio
Android Studio merupakan tools yang bisa digunakan untuk membuat aplikasi berbasis Android (Native) [8]-[9]. Dalam perangkat Android Studio, pengembang dapat merancang suatu aplikasi yang ingin dibuat secara custom berdasarkan keinginan pengembang. Perangkat Android Studio dapat diakses secara open
source yang berfungsi untuk mempermudah pengembang dalam melakukan sistem
perancangan. Adapun bahasa pemrograman yang digunakan dalam tools Android
Studio adalah Java, Kotlin, serta eXtensible Markup Language (XML).
Selain sebagai editor kode, Android Studio menawarkan beragam fitur lebih banyak untuk meningkatkan produktivitas dalam membuat aplikasi Android, seperti: 1. Sistem versi berbasis gradle yang fleksibel;
2. Emulator yang cepat dan memiliki beragam fitur;
3. Lingkungan yang menyatu untuk pengembangan bagi semua perangkat Android;
4. Instant run untuk mendorong perubahan ke aplikasi yang berjalan tanpa membuat APK terbaru;
5. Template kode dan integrasi GitHub dapat membantu untuk membuat fitur aplikasi umum dan mengimpor kode sampel;
11
7. Fitur lint untuk merekam performa, kegunaan, kompatibilitas versi, dan masalah lainnya;
8. Dukungan C++ dan NDK;
9. Dukungan bawaan untuk Google Cloud Platform, yang memudahkan integrasi Google Cloud Messaging dan App Engine.
2.5 Heroku
Heroku merupakan suatu layanan cloud platform yang dapat digunakan untuk melakukan konfigurasi aplikasi yang ingin di deploy kedalam project aplikasi yang telah dibuat. Heroku dapat dikatakan juga sebagai web hosting yang berfungsi sebagai tempat media penyimpanan data, dimana nantinya server akan mendorong data yang berjalan secara local host untuk disimpan ke server online [10]. Adapun tampilan laman pengguna app information dan link deploy pada Heroku ditunjukkan pada Gambar 2.6.
Gambar 2.6 Tampilan halaman pengguna app information dan link deploy pada Heroku.
12
Adapun skenario penggunaan Heroku dapat dijelaskan sebagai berikut:
1. Sebelum melakukan debug dibagian terminal visual studio code, unggah dan
install terlebih dahulu Heroku CLI dan Heroku GIT. Setelah berhasil di install,
kemudian jalankan pada new terminal di visual studio code;
2. Masukkan perintah heroku login pada new terminal di visual studio code; 3. Create a new git repository initialize. Dengan cara menginisialisasi repositori
git dalam direktori baru atau yang telah ada dengan masukkan perintah git init
dan heroku git:remote -a “name project” pada bagian terminal;
4. Masukkan perintah heroku git:remote -a “name project” yang bertujuan untuk meremote git;
5. Setelah berhasil create a new git repository initialize. Selanjutnya yang harus dilakukan adalah deploy project ke Heroku. Ada beberapa perintah yang harus dimasukkan diantaranya, yaitu git add, git commit -am "initial", dan git push
heroku master pada bagian terminal;
6. Masukkan perintah git commit -am “initial” yang bertujuan untuk merekam perubahan yang terjadi;
7. Masukkan perintah git push heroku master yang bertujuan untuk mendorong kode/aplikasi ke Heroku. Dengan kata lain, mendorong sesuatu file, app, dan lain-lain yang dimiliki secara lokal ke server online.
2.6 Domain
Domain adalah nama unik yang diberikan untuk mengidentifikasi nama server komputer seperti server web atau server surel di jaringan komputer ataupun internet. Pada dasarnya Domain terbagi menjadi 3 jenis, yaitu Top Level Domain (TLD), Second Level Domain (SLD), dan Third Level Domain (TLD). Ketiganya memiliki pengertian yang berbeda tetapi masih tetap menjadi satu kesatuan. Sebagai contoh penamaan Domain pada “tongkatcerdas.herokuapp.com”. Berdasarkan contoh diatas, yang menjadi Top Level Domain adalah Domain dengan ekstensi “.com”. Nama Domain “tongkatcerdas” merupakan Second Level Domain. Kemudian nama “herokuapp” berperan sebagai Third Level Domain. Adapun jenis-jenis Domain memiliki fungsinya masing-masing yang dapat dilihat pada Tabel 2.3 [11].
13
Tabel 2.3 Jenis-jenis Domain berdasarkan fungsinya.
Jenis Domain Fungsi
Top Level
Domain.
Top Level Domain adalah struktur awal dari sebuah Domain Name Server (DNS). Contoh dari top level Domain, yaitu
.com, .id, .org, .net, .gov dan lain-lain. Namun, jenis Top
Level Domain masih terbagi menjadi 3, yaitu Country Code Top Level Domain (CCTLD), Generic Top Level Domain
(GTLD), dan New Generic Top Level Domain (NgTLD).
Second Level
Domain.
Second Level Domain merupakan turunan dari TLD yang
bertujuan untuk digunakan lebih spesifik lagi. Contoh dari
Second Level Domain adalah seperti pada nama sebuah website, yaitu “tongkatcerdas.herokuapp.com”, maka Second Level Domainnya adalah “tongkatcerdas”.
Third Level
Domain.
Third Level Domain dikenal dengan sebutan subdomain.
Subdomain merupakan tipe domain turunan yang biasanya digunakan oleh situs-situs besar untuk memudahkan pengunjung mengakses konten tertentu yang lebih spesifik. Subdomain biasanya terletak diawal domain utama dengan dipisahkan tanda dot (.), contoh dari Third Level Domain adalah seperti pada nama sebuah website, yaitu “tongkatcerdas.herokuapp.com”, maka Third Level