BAB II LANDASAN TEORI
2.14 Tools Pengembangan Perangkat Lunak
Figma adalah sebuah platform prototyping online dan kolaboratif. Figma seperti campuran Sketch dan Photoshop, hanya saja online. Figma menarik karena sumber daya kolaboratifnya secara real time. Designer dapat bekerja bersama dari jarak jauh. Programmer dapat menambah/menulis kode mereka sendiri dalam proyek yang terdapat dalam Figma (Maioli, 2018).
Menurut (Aniendra, 2019) Figma memiliki beberapa kelebihan dibandingkan dengan software UI design lain, yaitu:
70 1. Figma gratis untuk beberapa orang, namun untuk menggunakan bersama dengan tim ada biaya $12 per bulan per editor.
2. Siapa pun dapat membuka file Figma tanpa perlu melakukan instalasi. Mereka pun bisa langsung meninjau dan menulis komentar secara gratis.
3. Kecepatan dan performa bisa jauh lebih cepat saat mengedit dan melihat file.
4. Dapat dijalankan di sistem operasi dan browser apapun.
5. Kolaborasi bisa berjalan secara real-time, demikian juga ketika melakukan pembaruan file.
2.14.2 JavaScript
JavaScript adalah bahasa scripting kecil, ringan, berorientasi objek yang ditempelkan pada kode HTML dan di proses di sisi client. JavaScript digunakan dalam pembuatan website agar lebih interaktif dengan memberikan kemampuan tambahan terhadap HTML melalui eksekusi perintah di sisi browser. JavaScript dapat merespon perintah user dengan cepat dan menjadikan halaman web menjadi responsif. JavaScript memiliki struktur sederhana, kodenya dapat disisipkan pada dokumen HTML atau berdiri sebagai satu kesatuan aplikasi (Yatini, 2014).
71 Semakin berkembangnya JavaScript, kini bahasa pemrograman ini tidak hanya digunakan untuk keperluan pengembangan aplikasi berbasis web saja, namun sudah digunakan untuk pengembangan aplikasi mobile berbasis Android dan iOS dengan integrasi menggunakan framework React Native.
2.14.3 JavaScript Object Notation
JSON adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data (Saduddin, 2019).
Menurut website resmi JSON pada (Saduddin, 2019), JSON terdiri dari dua struktur :
1. Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan sebagai objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed list), atau associative array.
72 2. Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (sequence).
Struktur-struktur data ini disebut sebagai struktur data universal. Pada dasarnya, semua bahasa pemprograman modern mendukung struktur data ini dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian karena format data mudah dipertukarkan dengan bahasa-bahasa pemprograman yang juga berdasarkan pada struktur data ini (Saduddin, 2019).
Menurut website resmi JSON pada (Saduddin, 2019), JSON menggunakan bentuk sebagai berikut:
1. Objek. Objek adalah sepasang nama/nilai yang tidak terurutkan. Objek dimulai dengan { (kurung kurawal buka) dan diakhiri dengan } (kurung kurawal tutup). Setiap nama diikuti dengan : (titik dua) dan setiap pasangan nama/nilai dipisahkan oleh , (koma).
2. Larik. Larik adalah kumpulan nilai yang terurutkan. Larik dimulai dengan [ (kurung kotak buka) dan diakhiri dengan ] (kurung kotak tutup). Setiap nilai dipisahkan oleh , (koma).
3. Nilai. Nilai (value) dapat berupa sebuah string dalam tanda kutip ganda, atau angka, atau true atau false atau null, atau
73 sebuah objek atau sebuah larik. Struktur-struktur tersebut dapat disusun bertingkat.
4. String. String adalah kumpulan dari nol atau lebih karakter Unicode, yang dibungkus dengan tanda kutip ganda. Di dalam string dapat digunakan backslash escapes "\" untuk membentuk karakter khusus. Sebuah karakter mewakili karakter tunggal pada string. String sangat mirip dengan string C atau Java.
5. Angka. Angka pada JSON sangat mirip dengan angka di C atau Java, kecuali format oktal dan heksadesimal tidak digunakan.
2.14.4 React Native
React Native merupakan sebuah framework berbasis JavaScript untuk membuat aplikasi berbasis mobile, baik untuk sistem operasi android maupun iOS. React Native merupakan sekumpulan library berbasis JavaScript yang dikembangkan oleh Facebook. Sintaks React Native merupakan gabungan antara JavaScript dan XML yang dapat disebut JSX (Eisenman, 2016). React Native merupakan framework yang dikembangkan oleh Facebook pada tahun 2015. React Native dibuat dengan tujuan memudahkan web developer untuk membuat aplikasi berbasis mobile, baik itu Android maupun iOS. React Native memiliki kemiripan dengan React untuk web (ReactJS) (Masiello & Friedmann,
74 2017). Dapat disimpulkan bahwa React Native merupakan sebuah framework berbasis JavaScript yang dapat digunakan untuk membuat atau mengembangkan aplikasi berbasis mobile untuk sistem operasi android dan iOS.
2.14.5 Google Firebase
Menurut Evangelist pada (Sonita & Fardianitama, 2018), Firebase adalah penyedia layanan cloud dengan back-end sebagai layanannya. Perusahaan ini berbasis di San Fransisco, California. Firebase membuat sejumlah produk untuk pengembangan aplikasi mobile ataupun web. Firebase didirikan oleh Andrew Lee dan James Tamplin pada tahun 2011 dan diluncurkan dengan cloud database secara realtime di tahun 2012. Produk utama dari Firebase yakni suatu database yang menyediakan API (Application Programming Interface) yang memungkinkan pengembang menyimpan dan mensinkronisasi data melalui multiple client. Perusahaan ini diakusisi oleh Google pada Oktober 2014. Firebase memiliki banyak library yang memungkinkan untuk melakukan integrasi layanan dengan Android, iOS, JavaScript, Java, Objective-C dan NodeJS. Database Firebase juga bisa diakses melalui REST API. REST API tersebut menggunakan protokol Server-Sent Event dengan membuat koneksi HTTP untuk menerima push notification dari server. Pengembang menggunakan REST API untuk post data dalam Firebase client library yang sudah diterapkan pada aplikasi yang dibangun yang akan mengambil data secara realtime.
75 Menurut (Saduddin, 2019) Firebase Database merupakan penyimpanan basis data non-SQL yang memungkinkan pengembang untuk menyimpan beberapa tipe data. Tipe data itu antara lain String, Long, dan Boolean. Data pada Firebase Database disimpan sebagai objek JSON tree. Tidak seperti basis data SQL, tidak ada tabel dan baris pada basis data non-SQL. Ketika ada penambahan data, data tersebut akan menjadi node pada struktur JSON. Node merupakaan simpul yang berisi data dan bisa memiliki cabang-cabang berupa node lainnya yang berisi data pula. Proses pengisian suatu data ke Firebase database dikenal dengan istilah push.
Selain database, Firebase menyediakan beberapa layanan lainnya yang juga dimanfaatkan dalam pengembangan aplikasi ini. Layanan tersebut antara lain Authentication dan Storage. Layanan Firebase Storage memiliki konsep seperti sebuah penyimpanan awan atau cloud storage yang memungkinkan pengembang untuk mengunggah atau mengunduh sebuah berkas (Saduddin, 2019).
76 Gambar 2.7 Arsitektur Sistem Firebase (Sonita & Fardianitama, 2018)
Pengembang juga dapat menggunakan database ini untuk mengamankan data menggunakan server Firebase dengan fitur rules yang ada.