Upload
others
View
0
Download
0
Embed Size (px)
Citation preview
6
BAB II
LANDASAN TEORI
2.1. Konsep Dasar Program
Konsep dasar program ini berfungsi sebagai dasar terhadap rumusan masalah
yang diajukan. Dalam bab ini penulis menjelaskan beberapa teori yang berkaitan
dengan permasalahan yang akan dibahas sebagai dasar dalam pembuatan aplikasi.
2.1.1. Program
Menurut Sutarman dalam Maarif (2017) menjelaskan bahwa “program adalah
barisan perintah atau intruksi yang disusun sehingga dapat dipahami oleh
komputer dan kemudian dijalankan sebagai barisan perhitungan numeric,
dimana barisan perintah tersebut berhingga, berakhir, dan menghasilkan output.
Sekumpulan instruksi yang diwujudkan dalam bentuk bahasa, kode skema,
ataupun bentuk lain, yang apabila digabungkan dengan media yang yang dapat
dibaca dengan komputer akan mampu membuat komputer bekerja untuk
melakukan fungsi-fungsi khusus termasuk persiapan dalam merancang
instruksi-instruksi tersebut”.
Berikut ini beberapa langkah yang harus diperhatikan oleh pemrogram sebelum
mengimplementasikan suatu permasalahan dalam program adalah:
a. Mendefinisikan masalah
b. Mencari solusi masalah
c. Memilih Teknik pemecahan masalah dan algoritma
d. Menulis program
e. Melakukan testing debugging
f. Melakukan dokumentasi
2.1.2. Aplikasi
Pengertian Aplikasi Menurut Kamus Kamus Besar Bahasa Indonesia (1998:52)
adalah penerapan dari rancang sistem untuk mengolah data yang menggunakan
7
aturan atau ketentuan bahasa pemrograman tertentu. Aplikasi adalah suatu program
komputer yang dibuat untuk mengerjakan dan melaksanakan tugas khusus dari
pengguna.
Penggunaan aplikasi dimaksudkan untuk mempermudah suatu pekerjaan user
dalam segala pekerjaan. Bagi kaum awam, aplikasi yang dimaksud adalah suatu
program yang membantu kegiatan manusia sehari-hari seperti menginput data,
bermain game, maupun yang lainnya.
2.1.3. Android
Android adalah sistem operasi yang berbasis Linux untuk telepon seluler seperti
telepon pintar (smarthphone) dan komputer tablet. Android menyediakan platform
terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri yang dapat
digunakan oleh bermacam peranti bergerak
Menurut Nazaruddin dalam (Latifah dan Prasetyo, 2015) Android merupakan
sistem operasi mobile yang tumbuh di tengah sistem operasi lainnya yang
berkembang dewasa ini. Sistem operasi lainnya seperti Windows Mobile, Iphone
OS, Symbian dan masih banyak lagi, juga menawarkan kekayaan isi dan
keoptimalan berjalan di atas perangkat hardware yang ada. Akan tetapi, sistem
operasi yang ada ini berjalan dengan memprioritaskan aplikasi inti yang
dibangun sendiri tanpa melihat potensi yang cukup besar dari aplikasi pihak
ketiga. Oleh karena itu, adanya keterbatasan distribusi aplikasi pihak ketiga
untuk platform mereka.
Android termasuk “Open Development Platform” yaitu Android menawarkan
kepada pengembang untuk membangun aplikasi yang bagus dan inovatif. Pengembang
bebas untuk mengakses perangkat keras, akses informasi resource, menjalankan
service background, mengatur alarm, menambahkan status notification, dan
sebagainya.
Android memberikan sebuah lingkungan yang berbeda untuk pengembang.
Setiap aplikasi memiliki tingkatan yang sama. Android tidak membedakan antara
8
aplikasi inti dengan aplikasi pihak ketiga. Application Programing Interface (API)
yang disediakan menawarkan akses ke hardware, maupun data-data ponsel sekalipun,
atau data sistem sendiri. Bahkan pengguna dapat mengahapus aplikasi inti dan
mengganti dengan aplikasi pihak ketiga.
Fitur yang tersedia di Android adalah:
1. Kerangka aplikasi: itu memungkinkan penggunaan dan penghapusan komponen
yang tersedia.
2. Dalvik Virtual Machine : mesin virtual yang dioptimalkan untuk perangkat
telepon seluler.
3. Grafik : grafik di 2D dan grafis 3D berdasarkan OpenGL Library.
4. SQLite : Sistem database untuk penyimpanan data.
5. Mendukung media: audio, video, dan berbagai format gambar (MPEG4, H.264,
MP3, AAC, AMR, JPG, PNG, GIF).
6. GSM, Bluetooth, EDGE, 3G, 4G dan WiFi (tergantung hardware).
7. Kamera, Global Positioning System (GPS), kompas, NFC dan accelerometer
(tergantung hardware)
Android ditulis dalam Pemrograman Java yang mengkompilasi kode bersama
dengan data resource dan file yang dibutuhkan oleh aplikasi dibundel ke dalam paket
android, file arsip ditandai dengan .apk. Terdapat 6 Komponen pada android, yaitu:
1. Activities
Activities merupakan potongan kode executable yang menyajikan UI (User
Interface) secara visual dimulai oleh pengguna maupun sistem operasi dan berjalan
selama diperlukan. Activities biasanya sesuai dengan tampilan layar, masing-
9
masing Activities menunjukkan satu layar untuk pengguna. Activities yang tidak
aktif dijalankan dapat dimatikan oleh sistem operasi untuk menghemat memori.
2. Service
Service tidak memiliki visual UI (User Interface), melainkan service berjalan
dilatar belakang (background) untuk melakukan operasi-operasi yang long running
(proses yang memakan waktu cukup lama) atau melakukan operasi untuk proses
remote..
3. Broadcast Receiver
Broadcast Receiver merupakan komponen yang menerima dan bereaksi
untuk menyiarkan pengumuman. Banyak siaran berasal dalam kode sistem,
misalnya pengumuman bahwa zona waktu telah berubah, baterai rendah, bahwa
gambar telah diambil, atau bahwa pengguna mengubah preferensi bahasa. Aplikasi
juga dapat melakukan siaran misalnya untuk membiarkan aplikasi lain tahu bahwa
beberapa data telah diunduh ke perangkat dan tersedia sehingga dapat digunakan.
4. Content Provider
Content Provider membuat kumpulan aplikasi data secara spesifik sehingga
bisa digunakan oleh aplikasi lain. Content providers juga berguna untuk membaca
dan menulis data yang berstatus private dan tidak dibagikan ke suatu aplikasi.
5. JDK (Java Development Kit)
JDK (Java Development Kit) merupakan lingkungan pemrograman untuk
menulis program-program aplikasi dan applet java, JDK terdiri dari lingkungan
eksekusi program yang berada diatas Operating System. Source code dari java akan
dikompilasi menjadi byte code yang dapat dimengerti oleh mesin. Selain itu JDK
dapat membentuk sebuh objek code dari source code.
10
6. SDK (Software Development Kit)
SDK (Software Development Kit) adalah tools API (Aplication Programming
Interface) yang diperlukan untuk memulai mengembangkan aplikasi pada platform
android menggunakan bahasa pemrograman Java.
Perkembangan android dari versi yang telah dirilis hingga saat ini diantaranya :
a. Android versi 1.1
Android diluncurkan pertama kali pada tahun 2007, namun sistem operasi ini
mulai dirilis dan diterapkan ke berbagai gadget pada tanggal 9 Maret 2009. Android
versi 1.1 merupakan android awal yang dirilis pada tahun 2008, dimana versi ini
baru memberikan sentuhan dibeberapa aplikasinya seperti sistem antar muka bagi
pengguna (user interface) yang lebih baik, serta beberapa aplikasi yang lain.
b. Android versi 1.5 (Cupcake)
Pada bulan Mei 2009, android kembali mengalami perubahan versi. Android
versi 1.1 kemudian disempurnakan dengan android versi 1.5 atau yang dikenal
sebagai android Cupcake.
c. Android versi 1.6 (Donut)
Donut (versi 1.6) diluncurkan dalam tempo kurang dari 4 bulan semenjak
peluncuran perdana android Cupcake, yaitu pada bulan September 2009.
d. Android versi 2.1 (Eclair)
Masih ditahun yang sama, android kembali merilis sistem operasi versi
terbarunya, yaitu android versi 2.0/2.1 Eclair. Android Eclair diluncurkan oleh
Google 3 bulan setelah peluncuran android Donut.
e. Android versi 2.2 (Froyo : Frozen Yoghurt)
Butuh 5 bulan bagi Gogle untuk melakukan regenerasi dari android Eclair ke
versi Froyo (Frozen Yoghurt). Pada tanggal 20 Mei 2010, android Froyo dirilis.
11
f. Android versi 2.3 (Gingerbread)
7 bulan kemudian android kembali melakukan gebrakan dengan merilis
kembali android versi 2.3 atau yang dikenal sebagai android Gingerbread.
g. Android versi 3.0/3.1 (Honeycomb)
Pada bulan Mei 2011 android versi 3.0/3.1 atau android Honeycomb dirilis.
Android Honeycomb merupakan sebuah sistem operasi android yang tujuannya
memang dikhususkan bagi penggunaan tablet berbasis android.
h. Android versi 4.0 (Ice Cream Sandwich)
Android ICS atau Ice Cream Sandwich juga dirilis pada tahun yang sama
dengan Honeycomb, yaitu pada bulan Oktober 2011.
i. Android versi 4.1 (Jelly Beans)
Android Jelly Bean merupakan versi android yang terbaru pada saat ini. Salah
satu gadget yang menggunakan sistem operasi Jelly Bean adalah Google Nexus 7
yang diprakarsai oleh ASUS, vendor asal Taiwan yang juga menjadi teman satu
kampung halaman dengan Acer.
j. Android versi 4.4 (Kitkat)
Kehadiran android kitkat merupakan pelucuran produk OS anyar yang
dilucurkan pada 4 september 2013, sebelumnya banyak kabar beredar jikalau
android akan meluncurkan OS baru yang bernama android Key Lime Pie, namun
setelah di analisa tidak sesuai dengan ejaan orang umum. Sehingga namanya diganti
dengan OS Android KitKat yang sebagian besar orang sudah familiar dengan itu.
k. Android versi 5.1 (Lollipop)
Android Lollipop merupakan keberadaan system operasi android yang
memang saat ini sudah menjadi trend baru di industri smartphone, hal ini tak lepas
dari keunikan dan kelebihan yang banyak di miliki dari OS tersebut. Kehadiran
12
android versi ini amat di nanti oleh sekian banyak orang karna diharapkan, sistem
operasi Lollipop ini bias lebih baik dibandingkan versi-versi sebelumnya.
l. Android versi 6.0 (Marshmallow)
Android 6.0 Marshmallow adalah versi dari sistem operasi mobile android.
Pertama kali diperkenalkan Mei 2015 di Google I/O di bawah kode nama android
M, secara resmi dirilis pada Oktober 2015.
m. Android versi 7.0 (Nougat)
Android Nougat adalah pengembangan dari Marshmallow. Nougat
diumumkan pada tanggal 1 Juli 2016, dan diluncurkan pada 23 Agustus 2016. Versi
Android ini membawa peningkatan performa dan antarmuka yang lebih intuitif.
n. Android versi 8.0 (Oreo)
Android 8.0 Oreo merupakan versi kedelapan dari sistem operasi android
mobile. Versi ini di rilis ke public pada tanggal 21 Agustus 2017. Google
meluncurkan sebuah patung pembaruan bertema pencuci mulut di 14th Street Park
di Manhattan, dekat pabrik Nabisco asli yang menciptakan Oreo pertama.
Tampilan android Oreo sangat berbeda dengan pendahulunya. Tampilan UI di versi
Oreo lebih rapi dan segar. Tampilannya pun lebih difokuskan untuk memudahkan
pengguna mengakses aplikasi dan mencari informasi yang dibutuhkan.
o. Android versi 9.0 (Pie)
Android versi 9.0 Pie adalah pembaruan dari android versi 8.0 Oreo yang
merupakan pembaruan versi ke 9 dan pembaruan urutan ke-16 dari sistem operasi
android, untuk versi pengembangan nya pertama kali dirilis pada Maret 2018 dan
dirilis ke publik pada 6 Agustus 2018. Android Pie sudah didukung kemampuan
kecerdasan buatan (AI).
13
2.1.4. Database
Database adalah representasi kumpulan fakta yang saling berhubungan
disimpan secara bersamaan sedemikian rupa dan tanpa pengulangan (redudansi) yang
tidak perlu, untuk memenuhi berbagai kebutuhan. Data perlu disimpan dalam database
untuk keperluan penyediaan informasi lebih lanjut. Data di dalam database perlu
diorganisasikan sedemikian rupa, supaya informasi yang dihasilkan berkualitas.
Organisasi database yang baik juga berguna untuk efisiensi kapasitas
penyimpanannya. Dalam maksud yang sama, dapat juga diartikan sebagai sekumpulan
informasi yang disusun sedemikian rupa untuk dapat diakses oleh sebuah software
tertentu. Database tersusun atas bagian yang disebut field dan record yang tersimpan
dalam sebuah file. Sebuah field merupakan kesatuan terkecil dari informasi dalam
sebuah Database.
DBMS (Database Management Sistem) merupakan suatu perangkat lunak
komputer yang dirancang secara khusus untuk memudahkan dalam pengelolaan
database. DBMS merupakan perantara bagi pemakai dengan basis data dalam
media penyimpanan. Bahasa basis data dibagi menjadi dua bentuk, yaitu:
a. Data Definition Language (DDL)
Jenis bahasa ini menspesifikasikan struktur/skema data yang
menggambarkan/mewakili desain basis data secara keseluruhan. Dengan bahasa ini
kita dapat membuat tabel baru, membuat indeks, mengubah tabel, dan lain-lain.
Hasil kompilasi perintah DDL adalah kumpulan tabel yang disimpan dalam
file khusus yang disebut kamus data. Kamus data adalah suatu metadata
(superdata) yaitu data yang mendeskripsikan data sesungguhnya.
14
b. Data Manipulation Language (DML)
Merupakan bentuk bahasa basis data yang berguna untuk melakukan
manipulasi dan pengambilan data pada suatu basis data. Data Manipulation
Languange (DML) merupakan bahasa yang memudahkan pemakai dalam
mengakses data yang dipresentasikan oleh model data. DML terdiri dari dua jenis,
yaitu:
a. Prosedural
Jenis ini mensyaratkan agar pemakai menentukan data apa yang diinginkan
serta bagaimana cara mendapatkannya.
b. Non procedural
Jenis ini membuat pemakai dapat menentukan data apa yang diinginkan
tanpa menyebutkan bagaimana cara mendapatkannya.
MySQL merupakan software DBMS yang sangat popular di kalangan
pemrograman web, khususnya yang berbasis open source. Hal ini disebabkan karena
kemudahannya untuk digunakan. Disamping dukungannya ke dalam berbagai
platform, kecepatan aksesnya dapat diandalkan. MySQL mudah digunakan (easy-
touse) sebagai sistem manajemen database relasional (RDBMS) yang digunakan
untuk database pada website. Selain itu, kemudahannya dalam integrasi ke
berbagai aplikasi web dapat membantu dalam pengembangan sistem informasi
online. MySQL mempunyai dua lisensi, yaitu open source dibawah GNU General
Public License (GPL) dan commercial dibawah MySQLAB. Pada awalnya MySQL
hanya dapat dioperasikan pada satu platform saja. Namun dalam perkembangannya,
MySQL dapat dioperasikan dalam berbagai platform seperti Windows, FreeBSD,
ataupun Linux (Sanjaya 2005).
15
2.1.5. Internet
Menurut Ahmadi dan Hermawan (2014) bahwa “Internet merupakan
komunikasi jaringan global yang menghubungkan seluruh komputer di dunia
meskipun berbeda sistem operasi dan mesin”.
Internet berasal dari kata Interconnection Networking yang secara bahasa
bermakna jaringan yang saling berhubungan, disebut demikian karena internet
merupakan jaringan komputer-komputer di seluruh dunia yang saling berhubungan
dengan bantuan jalur telekomunikasi.
Jumlah pengguna internet yang besar dan semakin berkembang, telah
mewujudkan budaya internet. Internet juga mempunyai pengaruh besar atas ilmu dan
pandangan dunia. Dengan hanya berpanduan mesin pencari seperti Google, pengguna
diseluruh dunia mempunyai akses internet yang mudah atas bermacam-macam
informasi. Dibanding dengan buku dan perpustakaan, internet melambangkan
penyebaran (decentralization) atau pengetahuan (knowledge) informasi dan data
secara ekstrim.
2.1.6. SIG (Sistem Informasi Geografi)
Sistem Informasi Geografi (SIG) adalah sistem berbasis komputer yang
digunakan untuk menyimpan, memanipulasi, dan menganalisis informasi
geografi. Yang semula informasi permukaan bumi disajikan dalam bentuk peta
dan dibuat secara manual, maka dengan hadirnya Sistem Informasi Geografi
(SIG) informasi-informasi itu diolah oleh komputer, dan hasilnya berupa peta
digital, (Edy Irwansyah, 2014).
SIG operasional pertama dikembangkan oleh Tomlinson pada awal tahun 1960.
Pada tahun 1970, lembaga kartografi terbesar telah mengembangkan proses pemetaan
terkomputerisasi hingga tingkat tertentu. SIG benar-benar mulai termanfaatkan pada
awal tahun 1980, yaitu saat harga perangkat keras komputer telah jatuh. Selama
bertahun-tahun SIG dianggap terlalu sulit, mahal, dan ekslusif. Hadirnya Graphical
16
User Interface (GUI) mengakibatkan semakin luasnya jangkauan aplikasi SIG dan
membawa SIG menjadi penggunaan yang tendensi di awal tahun 1990.
Sumber : Google
Gambar II.1 : Sejarah SIG
Di Indonesia, SIG pertama kali diperkenalkan pada tahun 1972 dengan nama
Data Banks for Development. Munculnya istilah Sistem Informasi Geografis seperti
sekarang ini setelah dicetuskan oleh General Assembly dari International
Gheohraphical di Ottawa, Kanada pada 1967. SIG dikembangkan oleh Roger
Tomlinson, yang kemudian disebut CGIS (Canadian GIS-SIG Kanada).
Sistem Informasi Geogafi (SIG) mampu menyajikan keaslian dan kelengkapan
sebuah informasi dibandingkan cara-cara yang digunakan sebelumnya. Sistem
Informasi Geografi menyimpan data sesuai dengan data aslinya. Walaupun demikian,
agar data yang disimpan itu akurat, maka data yang dimasukkan haruslah data yang
akurat. Sistem Informasi Geografi (SIG) akan memberikan informasi yang kurang
akurat bila data yang dimasukkan merupakan data yang meragukan.
Selain berperan sebagai alat pengolah data keruangan, sistem informasi geografi
juga mampu menyajikan informasi mengenai sumber daya yang dimiliki oleh suatu
ruang atau wilayah tertentu. Dengan demikian, sistem informasi geografi tidak hanya
17
befungsi sebagai “alat pembuat peta”, tetapi lebih jauh dari itu. Sistem informasi
geografi mampu menghasilkan suatu sistem informasi yang aplikatif, yang dapat
digunakan oleh perencana atau oleh pengambil keputusan untuk kepentingan
pengolahan sumber daya yang ada di suatu wilayah.
Kajian tentang pemetaan sangat penting dalam pelajaran Geografi, karena
kajian-kajian yang berkaitan dengan ruang di permukaan bumi akan berhubungan
dengan persebaran, jarak, letak, fungsi, potensi dan interaksi antar objek di permukaan
bumi sehingga objek-objek geografi perlu digambar pada bidang datar yang disebut
peta. Perkembangan informasi akan data keruangan di era kemajuan IPTEK ini
semakin meningkat karena kebutuhan data yang akurat, praktis, dan efisien. Dengan
demikian, muncullah apa yang dinamakan Sistem Informasi Geografi (SIG).
Istilah Sistem Informasi Geografi (SIG) banyak digunakan dan tidak asing lagi
di kalangan ahli geografi (geograf), yaitu proses pembuatan peta digital dengan
menggunakan komputer. Namun, pada intinya, SIG tidak hanya digunakan untuk
membuat peta saja, melainkan lebih dari itu, SIG digunakan dalam pengolahan data
keruangan dengan menggunakan komputer.
SIG digunakan untuk memanipulasi data geografi. Sistem ini diimplementasikan
dengan perangkat keras dan perangkat lunak komputer. Menurut John E. Harmon dan
Steven J.Anderson (2003), secara rici SIG dapat beroperasi dengan komponen sebagai
berikut :
1. Orang : yang menjalankan sistem.
2. Aplikasi : prosedur yang digunakan untuk mengolah data
3. Data : informasi yang dibutuhkan dan diolah dalam aplikasi
4. Software : perangkat lunak SIG berupa program-program aplikasi.
18
5. Hardware : perangkat keras yang dibutuhkan untuk menjalankan sistem
berupa komputer, printer, scanner, dan perangkat pendukung
lainnya.
Dari definisi di atas dapat diambil kesimpulan bahwa SIG terdiri atas beberapa
subsistem, yaitu input, data output data management, data manipulasi, dan analisis
(Prahasta, 2005).
SIG merupakan akronim dari Sistem – Informasi – Geografis. Penjelasannya
sebagai berikut :
1. Sistem
Pengertian suatu sistem adalah sekumpulan elemen yang saling berintegrasai
dan berindependensi dalam lingkungan yang dinamis untuk mencapai tujuan
tertentu
2. Informasi
Informasi berasal dari pengolahan data. Dalam SIG, informasi memiliki
volume yang besar. Setiap objek geografis memiliki setting data tersendiri karena
tidak sepenuhnya data yang ada dapat terwakilkan dalam peta. Semua data harus
diasosiasikan dengan objek spasial yang dapat membuat peta berkualitas baik.
Ketika data tersebut diasosiasikan dengan permukaan geografis yang representatif,
data tersebut mampu memberikan informasi hanya dengan mengklik mouse pada
objek.
3. Geografis
Istilah ini digunakan karena SIG dibangun berdasarkan pada geografis atau
spasial. Setiap objek georafi mengarah pada spesifikasi lokasi dalam suatu space.
Objek bisa berupa fisik, budaya, atau ekonomi alamiah. Penampakan tersebut
ditampilkan pada suatu peta untuk memberikan gambaran yang representatif dari
19
spasial suatu objek sesuai kenyataan di bumi. Simbol, warna, dan gaya garis
digunakan untuk mewakili setiap spasial yang berbeda pada peta dua dimensi. Data
spasial divisualisasikan berupa titik, garis, polygon (2-D), permukaan (3-D).
Dilihat dari istilahnya, SIG terdiri atas dua pengertian, yaitu Sistem Informasi
dan Informasi Geografi. Sistem informasi adalah keterpaduan kerja untuk
mendapatkan informasi dalam pengambilan keputusan. Dalam sistem informasi
terdapat komponen data, manusia, perangkat lunak (program komputer), perangkat
keras (komputer), serta aktivitasnya dalam pengolahan dan analisis data untuk
pengambilan keputusan.
Adapun informasi geografis adalah kumpulan data atau fakta yang terkait
dengan lokasi keruangan di permukaan bumi, yang disusun sedemikian rupa sehingga
menghasilkan informasi baru yang bersifat geografis dan berbeda dari sumber data
awalnya ketika masih terpisah-pisah.
Oleh karena itu, SIG sebagai sistem informasi memiliki kemampuan
menghubungkan berbagai data pada suatu titik tertentu di bumi, menggabungkannya,
menganalisis, dan akhirnyamemetakan hasil, atau menampilkannya dalam format
grafik dan tabel. Data yang akan diolah pada SIG merupakan data spasial, yaitu sebuah
data yang berorientasi geografis dan merupakan lokasi yang memiliki sistem koordinat
tertentu, sebagai dasar referensinya. Dengan demikian aplikasi SIG dapat menjawab
beberapa pertanyaan berkenaan dengan :
1. Lokasi : ada apa di lokasi tertentu (di seberang sungai, si lereng gunung, di
Desa A, dan sebagainya), apa yang terjadi di lokasi tersebut (rawan banjir,
curah hujan, intensitas cahaya, dan sebagainya)
2. Kondisi : di mana lokasi jalan yang paling macet, berapa besar potensi
tambang yang ada di wilayah X, di mana lokasi yang paling tepat untuk
20
pembangunan taman, dan sebagainya.
3. Kecenderungan/trend : sebesar apa perkembangan perumahan di Purwoketo
tahun 2018, seberapa besar tingkat populasi hewan di Baturraden pada
musim hujan, dan sebagainya.
4. Pola : bagaiman hubungan antara jenis tanah dan produksi padi, bagaiman
pola penyebaran penyakit disekitar kawasan industri bulu mata, bagaimana
pola aliran sungai Klawing, dan sebagainya.
5. Simulasi : berapa besar menurunnya banjir di Tegal bila program
pengoptimalan sungai ditingkatkan, dan lain-lain.
2.1.7. API (Google Application Programming Interface)
API adalah kependekan dari Application Programming Interface. Dengan
bahasa yang lebih sederhana, yang sangat berguna bagi pengembang web maupun
aplikasi desktop untuk memanfaatkan berbagai fitur yang disediakan oleh Google
seperti misalnya: AdSense, Search Engine, Translation maupun YouTube,
(Svennerberg, 2010).
API secara sederhana bisa diartikan sebagai kode program yang merupakan
antarmuka atau penghubung antara aplikasi atau web yang penulis buat dengan fungsi-
fungsi yang dikerjakan. Misalnya dalam hal ini Google API berarti kode program
(yang disederhanakan) yang dapat penulis tambahkan pada aplikasi atau web penulis
untuk mengakses/menjalankan/memanfaatkan fungsi atau fitur yang disediakan
Google. Misalnya saja penulis bisa menambahkan fitur Google Maps pada website
penulis. API juga merupakan fungsi-fungsi pemrograman yang disediakan oleh
aplikasi atau layanan agar layananan tersebut bisa di integrasikan dengan aplikasi yang
penulis buat.
21
Sumber : Google Maps
Gambar II.2. Google Maps
Google menyediakan Google Maps API yang memungkinkan kita membangun
aplikasi dengan memanfaatkan Google Maps. Prodak ini memungkinkan kita melihat
peta dari seluruh dunia. Bahkan tidak hanya peta, Google Maps juga menyediakan
Citra dari beberapa lokasi bangunan, jalan, dan lain-lain.
Sumber: (Google Maps)
Gambar II.3. Google Maps pada Smartphone
Google Maps API (Application Programming Interface) merupakan sebuah
API yang disediakan oleh Google untuk menggunakan peta Google (Google Maps)
dalam aplikasi yang kita bangun. Google Maps API memungkinkan kita memodifikasi
peta dan informasi yang ada di dalamnya.
22
Saat ini Google Maps API tersedia untuk platform:
Sumber: (Google Maps)
Gambar II.4. Platform Google Maps
a. Web adalah Google Maps API yang digunakan pada Web.
b. Android adalah Google Maps API yang digunakan pada aplikasi Android.
c. iOS adalah Google Maps API yang digunakan pada aplikasi iOS.
d. Web Service adalah penggunaan Google Maps melalui Web Service.
2.1.8. Bahasa Pemgrograman
Menurut Suprapto dalam Maarif (2017:37) “Bahasa pemrograman adalah
notasi yang digunakan untuk menulis program (komputer). Bahasa ini dibagi menjadi
tiga tingkatan yaitu bahasa mesin, bahasa tingkat rendah dan bahasa tingkat tinggi”.
Bahasa pemrograman yang lebih mudah dipelajari adalah bahasa pemrograman
aras tinggi. Disebut aras tinggi karena bahasanya mendekati level bahasa manusia
sehingga lebih mudah dipahami. Untuk lebih jelasnya beberapa jenis bahasa
pemrograman aras tinggi yang biasa digunakan di bawah ini:
1. BASIC
Beginners All-purpose Symbolic Instruction Code, bahasa pemrograman
yang biasa digunakan untuk merancang program sederhana pada pemrograman
pemula.
23
2. FORTRAN
Formula Translator, Bahasa pemrograman yang dirancang untuk
menyelesaikan algoritma matematika yang kompleks.
3. COBOL
Common Business‐Oriented Language, Bahasa pemrograman yang
dirancang pada aplikasi bisnis.
4. PASCAL
Pemrograman terstruktur, bersifat umum, dan biasanya bahasa pemrogram
ini banyak diajarkan.
5. C
Pemrogram terstruktur, bersifat umum. Bahasa ini dikembangkan oleh
laboratorium Bell. Bahasa C ini dapat digunakan sebagai bahasa aras tinggi dan
aras rendah.
6. C++
Dasar pengembangan C. C++ dapat digunakan sebagai bahasa berorientasi
objek, yang tidak ditemukan pada bahasa C. Bahasa ini juga dikembangkan oleh
laboratorium Bell.
7. C#
C# atau “C sharp”. Bahasa ini ditemukan oleh microsoft untuk
mengembangkan aplikasi pada aplikasi microsoft .NET.
8. JAVA
Bahasa ini merupakan bahasa berorientasi objek yang dikembangkan oleh
Sum Microsistem. Dengan Java memungkinkan untuk pengembangan program
yang berjalan pada jaringan internet atau pada web browser.
24
9. VISUAL STUDIO
Bahasa pemrograman microsoft dimana bahasa ini bertujuan untuk pe
ngembangan perangkat lunak yang dapat memudahkan programmer dalam
membuat aplikasi berbasis windows.
10. ANDROID
Menurut Safaat dalam Maarif (2018:92) “Android adalah sebuah sistem
operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi,
middleware dan aplikasi. Android menyediakan platform terbuka bagi para
pengembang untuk menciptakan aplikasi mereka”.
2.2. Peralatan Pendukung (Tools System)
Peralatan pendukung (tools system) adalah alat yang digunakan untuk
menggambarkan bentuk logika model dari suatu sistem dengan menggunakan simbol-
simbol, lambang-lambang, diagram-diagram yang menunjukan secara tepat arti
fungsinya.
2.2.1. Android Studio
Android Studio merupakan sebuah Integrated Development Environment (IDE)
khusus untuk membangun aplikasi yang berjalan pada platform android. Android
Studio ini berbasis pada IntelliJ IDEA, sebuah IDE untuk bahasa pemrograman Java.
Software ini pertama kali di umumkan di Google I/O Conference pada tanggal 16 Mei
2013. Bahasa pemrograman utama yang digunakan adalah Java, sedangkan untuk
membuat tampilan atau layout, menggunakan bahasa XML. Android Studio juga
terintegrasi dengan Android Software Development Kit (SDK) untuk deploy ke
perangkat android. Android Studio merupakan pengembangan dari software eclipse,
yang dikembangkan menjadi lebih kompleks dan professional dan didalamnya telah
tersedia IDE dan SDK tools.
25
Sumber : Aplikasi Android Studio
Gambar II.5. Software Android Studio
Berikut ini merupakan bagian-bagian penting dari Antar Muka (Interface)
Android Studio.
1. Menu Bar
Seperti pada aplikasi lain Menu bar merupakan bagian antar muka (interface)
pengguna yang berisi perintah dan opsi yang dapat dipilih untuk mengeksekusi
suatu perintah.
Sumber : Aplikasi Android Studio
Gambar II.6. Menu Bar
2. Tool Bar
Dengan tool bar kita bisa mempercepat perintah pada sebuah aplikasi.
Sumber : Aplikasi Android Studio
Gambar II.7. Tool Bar
26
3. Struktur Project
Pada bagian ini akan ditampilkan folder-folder dari sebuah project aplikasi
android yang dibuat menggunakan Android Studio.
Sumber : Aplikasi Android Studio
Gambar II.8. Struktur Project
Struktur project juga terbagi kedalam beberapa folder
a. Manifest
AndroidManifest.xml : File ini digunakan untuk melakukan beberapa
pengaturan seperti : Nama aplikasi, Icon aplikasi, Theme style dan User
Permission (jika membuat aplikasi yang membutuhkan akses hardware
smartphone ataupun koneksi internet). Adapun kode-kode default
pada AndroidManifest.xml yaitu :
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
27
package="badoystudio.com.aninterface">
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER"
/>
</intent-filter>
</activity>
</application>
</manifest>
b. Java
MainActivity.java : digunakan untuk memberikan perintah agar aplikasi
melakukan sesuatu menggunakan bahasa pemrograman java. Default
Main.Activity.java sebagai berikut :
package badoystudio.com.aninterface;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
28
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
}
}
c. Raw Drawable
Folder yang digunakan untuk memasukan gambar pendukung aplikasi yang
kita buat baik berupa icon ataupun lainnya
d. Res Layout
Folder yang digunakan untuk memasukan gambar pendukung aplikasi yang
kita buat baik berupa icon ataupun lainnya.
e. Mipmap
Folder ini digunakan untuk memasukan gambar berupa icon. Icon default
aplikasi yang kita buat juga diambil dari folder ini.
f. Values
1) colors.xml : file ini berisi kode-kode untuk pengaturan warna. Warna
status bar, teks, ataupun lainnya. Defaultnya sebagai berikut :
<?xml version="1.0" encoding="utf-8"?>
<resources>
<color name="colorPrimary">#3F51B5</color>
<color name="colorPrimaryDark">#303F9F</color>
<color name="colorAccent">#FF4081</color>
</resources>
2) dimens.xml : digunakan untuk pengaturan margin aplikasi. Defaultnya
seperti ini.
29
<resources>
<!-- Default screen margins, per the Android Design guidelines. -->
<dimen name="activity_horizontal_margin">16dp</dimen>
<dimen name="activity_vertical_margin">16dp</dimen>
</resources>
3) strings.xml : digunakan untuk pengaturan teks-teks aplikasi yang kita buat.
Contoh teks yang digunakan utnuk nama aplikasi seperti dibawah ini.
<resources>
<string name="app_name">interface</string>
</resources>
4) styles.xml : digunakan untuk memberikan nama warna setelah kode-kode
warna dimasukan atau disetting pada color.xml. File ini juga bisa disebut
theme dasar dari aplikasi android.
<resources>
<!-- Base application theme. -->
<style name="AppTheme" parent="Theme.AppCompat.Light.DarkActionBar">
<!-- Customize your theme here. -->
<item name="colorPrimary">@color/colorPrimary</item>
<item name="colorPrimaryDark">@color/colorPrimaryDark</item>
<item name="colorAccent">@color/colorAccent</item>
</style>
</resources>
30
4. Pallete
Di pallete tersedia semua tools untuk membuat aplikasi android dan enaknya
lagi untuk menggunakannya cukup dengan mendrag and drop ke design android.
Sumber : Aplikasi Android Studio
Gambar II.9. Menu Bar
5. Design Android
Tempat ini digunakan untuk mendesign layout aplikasi dengan cara drag and
drop (tidak mengetikan script xml)
Sumber : Aplikasi Android Studio
Gambar II.10. Desain Android
31
6. Component Tree
Setelah kita menggunakan tools yang ada di pallete maka akan ditampilkan
pada component tree misal kita mendrag TextView (widget untuk membuat
teks) ke design android. Maka nanti ditampilkan di component tree TextView.
Sumber : Aplikasi Android Studio
Gambar II.11. Component Tree
7. Properties
Disini akan ditampilkan pengaturan-pengaturan dari komponen yang digunakan
untuk design aplikasi. Jika TextView maka akan ditampilkan untuk mengatur
warna, size dan lainnya.
32
Sumber : Aplikasi Android Studio
Gambar II.12. Properties
8. Status Bar
Menampilkan proses pada Android Studio. Proses Loading, Error, dan lainnya.
Sumber : Aplikasi Android Studio
Gambar II.13. Status Bar
2.2.2. Firebase
Firebase adalah BaaS (Backend as a Service) yang saat ini dimiliki oleh
Google. Firebase ini merupakan solusi yang ditawarkan oleh Google untuk
mempermudah pekerjaan Mobile Apps Developer. Dengan adanya Firebase, apps
developer bisa fokus mengembangkan aplikasi tanpa harus memberikan effort yang
besar untuk urusan backend.
Beberapa fitur yang dimiliki oleh Firebase adalah sebagai berikut :
33
1. Firebase Analytics
2. Firebase Cloud Messaging dan Notifications
3. Firebase Authentication
4. Firebase Remote Config
5. Firebase Real Time Database
6. Firebase Crash Reporting
Dua fitur yang menarik adalah Firebase Remote Config dan Firebase Real
Time Database. Secara sederhananya, Remote Config adalah fitur yang
memungkinkan developer mengganti / mengubah beberapa konfigurasi aplikasi
Android / iOS tanpa harus memberikan update aplikasi via Play Store / App Store.
Salah satu konfigurasi yang bisa dimanipulasi adalah seperti warna / tema aplikasi.
Sedangkan Firebase Real Time Database adalah fitur yang memberikan
sebuah NoSQL database yang bisa diakses secara Real Time oleh pengguna aplikasi.
Dan hebatnya adalah aplikasi bisa menyimpan data secara lokal ketika tidak ada akses
internet, kemudian melakukan sync data segera setelah mendapatkan akses internet.
2.2.3. Flowchart
Menurut (Widayanto dkk, 2017) “Flowchart adalah suatu diagram yang
menggambarkan susunan logika suatu program dan industri manufacturing”. Pada
dasarnya, Diagram Alir (Flowchart) adalah alat yang digunakan untuk melakukan
perencanaan proses, analisis proses, dan mendokumentasikan proses sebagai standar
pedoman program.
Selain itu, flowchart juga digunakan untuk mendokumentasikan standar proses
yang telah ada dan melakukan analisis terhadap proses sehingga dapat menjadi
34
pedoman dan dapat melakukan peningkatan atau perbaikan proses yang
berkesinambungan.
Flowchart ini berbentuk sebuah diagram yang mewakili algoritma atau proses
dengan berbagai jenis kotak-kotak dan dihubungkan oleh garis-garis panah sebagai
arah alurnya.
1. Tujuan Flowchart
Menurut (Andika, 2017) tujuan pembuatan flowchart yaitu :
a. Menggambarkan suatu tahapan penyelesaian masalah.
b. Secara sederhana, terurai, rapi dan jelas.
c. Menggunakan simbol-simbol standar.
2. Model Flowchart
Terdapat dua bentuk flowchart, yaitu Program Flowchart dan Sistem
Flowchart (Mulyanto dan Khasanah, 2018), sebagai berikut :
a. Program Flowchart
Yaitu simbol-simbol flowchart yang digunakan untuk menggambarkan
logik dari pemrosesan terhadap data. Menurut Suarga dalam (Mulyanto dan
Khasanah, 2018) simbol yang digunakan dalam program flowchart yaitu :
Tabel II.1.
Simbol Program Flowchart
Simbol Keterangan
Terminator, mulai atau selesai.
Proses, menyatakan proses terhadap
data.
Input/Output, menerima input atau
menampilkan output.
35
Seleksi/Pilihan, memilih aliran
berdasarkan syarat.
Predefined-Data, definisi awal dari
variable atau data.
Predefined-Process, lambing fungsi
atau sub-program.
Connector, penghubung.
Off-page Connector, penghubung-
penghubung pada halaman yang
berbeda.
Sumber : Suarga dalam (Mulyanto dan Khasanah, 2018)
b. Sistem Flowchart
Merupakan simbol-simbol peralatan sistem komputer yang digunakan
untuk menyatakan proses pengolahan data. Menurut Suarga dalam (Mulyanto
dan Khasanah, 2018) simbol yang digunakan dalam system flowchart yaitu :
Tabel II.2.
Simbol Sistem Flowchart
Simbol Keterangan
Keyboard
Printer
File/Storage
36
Display/Monitor
Magnetic Tape
Magnetic Disk
Sorting
Extract
Merge
Sumber : Suarga dalam (Mulyanto dan Khasanah, 2018)
2.2.4. HIPO (Hierarchy Input Process Output)
Menurut Mustakini dalam (Oktaviani dkk, 2018) “HIPO (Hierarchy Input
Proses Output) merupakan metodologi yang dikembangkan dan didukung oleh IBM”.
HIPO sebenarnya adalah alat dokumentasi program. Akan tetapi sekarang, HIPO juga
banyak digunakan sebagai alat disain dan teknik dokumentasi dalam siklus
pengembangan sistem. HIPO berbasis pada fungsi, yaitu tiap-tiap modul di dalam
sistem digambarkan oleh fungsi utamanya.
1. Sasaran Penggunaan HIPO
Penggunaan HIPO sebagai alat pengembangan sistem dan teknik dokumentasi
mempunyai sasaran utama (Oktaviani dkk, 2018), yaitu :
a. Untuk menyediakan suatu struktur guna memahami fungsi-fungsi dari sistem.
37
b. Untuk lebih menekankan fungsi-fungsi yang harus diselesaikan oleh program,
bukannya menunjukan statemen-statemen program yang digunakan untuk
melaksanakan fungsi tersebut.
c. Untuk menyediakan penjelasan yang jelas dari input yang harus digunakan dan
output yang harus dihasilkan oleh masing-masing fungsi pada tiap-tiap
tingkatan dari diagram-diagram HIPO.
d. Untuk menyediakan output yang tepat dan sesuai dengan kebutuhan-kebutuhan
user.
2. Diagram Tingkatan HIPO
HIPO memiliki tiga macam diagram untuk masing-masing tingkatannya yang
digunakan untuk menggambarkan fungsi sistem (Oktaviani dkk, 2018), yaitu sebagai
berikut :
a. Visual Table Of Contents (VTOC)
Diagram ini menggambarkan hubungan dari fungsi-fungsi di sistem secara
berjenjang.
b. Overview Diagram
Overview diagram menunjukkan secara garis besar hubungan dari input, proses
dan output. Bagian input menunjukkan item-item data yang akan digunakan
oleh bagian proses. Bagian proses berisi sejumlah langkah- langkah yang
menggambarkan kerja dari fungsi.
c. Detail Diagram
38
Detail diagram merukapan diagram tingkatan yang paling rentah di diagram
HIPO. Diagram ini berisi elemen-elemen dasar dari paket yang
menggambarkan secara rinci kerja dari fungsi.
2.2.5. UML (Unified Modeling Language)
UML (Unified Modeling Language) adalah sebuah bahasa yang berdasarkan
grafik/gambar untuk memvisualisasi, menspesifikasikan, membangun, dan
pendokumentasian dari sebuah sistem pengembangan software berbasis OO (Object-
Oriented).
Menurut Nugroho dalam Junaidi (2016) “UML menyediakan model-model
ambigu yang tepat, tidak mendua arti (ambigu) serta lengkap.”.
UML digunakan untuk memodelkan suatu system bukan hanya perangkat
lunak yang menggunakan konsep berorientasi object. Dan juga untuk menciptakan
suatu bahasa permodelan yang dapat digunakan baik oleh manusia maupun mesin.