5
LANDASAN TEORI
2.1. Konsep Dasar Program 2.1.1. Program
Pemrograman menurut Suprapto (2008:28), Pemrograman merupakan sebuah intruksi yang digunakan oleh komputer untuk memecahkan masalah atau tugas-tugas yang diberikan padanya secara logika dan sistemastis. Program juga bisa diartikan sebagai suatu proses untuk mengimplementasikan algoritma dengan menggunakan suatu bahasa pemrograman. Bahasa pemrograman adalah perintah-perintah yang dapat dimengerti oleh komputer dan dapat digunakan dalam proses pembuatan program yang melalui beberapa tahap penyelesaian masalah.
Konsep Dasar Pemrograman pada umumnya adalah IPO (Input Proses Output), lalu dikembangkan mejadi :
Originating -> input -> proses -> Output -> Distribution || Storage. 1. Originating
Berhubungan dengan pengumpulan data yang biasanya merupakan pencatatan data kedokumen dasar. Setelah dikumpulkan dilakukan proses input.
2. Input
Tahapan ini merupakan proses pemasukan data kedalam proses komputer melalui peralatan input. Input menjadi bagian dari sistem komputer karena sistem merupakan kesatuan dari beberapa komponen yang saling berkaitan dan saling terhubung.
3. Proses
Tahap ini merupakan proses pengolahan data dari data yang sudah di input berupa proses menghitung membandingkan, mengurutkan, mengklasifikasikan, mengendalikan dan mencari storage.
4. Output
Tahap ini merupakan proses untuk menghasilkan keluaran dari proses pengolahan data ke peralatan output berupa informasi (monitor, speaker). 5. Distribution
Tahap ini merupakan proses penyebaran informasi kepada pihak-pihak yang berhak dan membutuhkan informasi.
6. Storage
Tahap ini merupakan perekaman hasil pengolahan data storage yang nantinya dapat dipergunakan untuk input proses selanjutnya. Dengan bahasa pemrograman, seorang pembuat program (programmer) dapat menciptakan sebuah aplikasi atau program yang membentuk interface (tatap muka) yang berhubungan secara langsung dengan penggunanya, sehingga pengguna dapat menggunakan program untuk membantu proses kerja dari awal sampai akhir.
2.1.2. Aplikasi
Menurut Hendrayudi (2009: 143) “Perangkat lunak aplikasi yaitu perangkat lunak yang digunakan untuk membantu pemakai komputer untuk melaksanakan pekerjaannya”. Jika ingin mengembangkan program aplikasi sendiri, maka untuk menulis program aplikasi tersebut, dibutuhkan suatu bahasa pemrograman, yaitu language software, yang dapat berbentuk assembler,
compiler ataupun interpreter. Jadi language software merupakan bahasanya dan program yang ditulis merupakan program aplikasinya. Language software berfungsi agar dapat menulis program dengan bahasa yang lebih mudah, dan akan menterjemahkannya ke dalam bahasa mesin supaya bisa dimengerti oleh komputer.
2.1.3. Bahasa Java
Menurut Kadir (2014:16) java adalah sebagai bahasa pemprograman, java dapat untuk menulis program. Program adalah kumpulan intruksi yang di tunjukan untuk computer. Java merupakan pemrograman berorientasi objek.
Gambar II.1 Program Perintah Java
Gambar II.1 merupakan pemrograman java, bahasa ini dikembangkan dengan model dengan bahasa C++ namun sudah dirancang agar lebih mudah dipakai dan bersifat platform independent.
a. Platform Independent
Artinya program yang ditulis dalam bahasa java dapat dengan mudah di pindahkan antar berbagai jenis sistem operasi. Hasil dari kompile source code java bukanlah kode mesin atau instruksi prosesor yang spesifik terhadap mesin tertentu, melainkan bytecode yang berupa file berekstensi .class. Bytecode tersebut kemudian dapat langsung dieksekusi disetipa platform yang menggunakan Java Virtual Machine sebagai interpreter bytecode tersebut. JVM sendiri merupakan sebuah aplikasi yang berjalan diatas sistem operasi dan menerjemahkan bytecode program java dan mengeksekusinya, sehingga dianggap sebuah interpreter. Dengan cara ini program java yang telah dikompilasi akan dapat berjalan di platform berbeda asalkan berisikan JVM. Kompiler dan interpreter untuk program java berbentuk Java Development Kit (JDK).
b. Library
Program java memiliki library yang cukup besar yang dapat mempermudah dalam membuat sebuah aplikasi dengan cepat. Library ini sudah mencakup untuk database, grafik, desain user interface, kriptografi, jaringan suara.
c. Object Oriented Prgramming
Bersifat berorientasi objek, atau memiliki teknik mengorganisir program dan dapat dilakukan dengan hampir semua bahasa pemrograman. Namun program java telah mengimplementasikan berbagai fasilitas agar seseorang dapat mengoptimalkan teknik pemrograman berorientasi objek.
2.1.4. Sistem Navigasi GPS (Global Positioning System)
Menurut Wijayafajar (2012:16) GPS (Global Positioning System) adalah sistem radio navigasi dan penentuan posisi dengan menggunakan satelit navigasi yang di miliki dan di kelola oleh Departemen Pertahanan Amerika Serikat. Nama formalnya adalah NAVSTAR GPS (Navigation Satellite Timing and Ranging Global Positioning System).
Gambar II.2 Sistem Navigasi GPS (Global Positioning System)
Gamabar II.2 merupakan tampilan Sistem Navigasi GPS (Global Positioning System), sistem ini digunakan untuk memberikan informasi mengenai posisi, waktu dan kecepatan kepada siapa saja secara global tanpa ada batasan waktu dan cuaca. Satelit GPS pertama diluncurkan pada tahun 1978 dan secara resmi sistem GPS dinyatakan operasional pada tahun 1994. Kemampuan untuk beroperasi penuh dideklarasikan oleh NAVSTAR pada April 1995. Dan 14
September 2007, peraturan tentang Sistem Pengendalian Segmen Pusat yang telah usang digantikan dengan Rencana Evolusi Arsitektur yang baru.
Sistem GPS tediri atas tiga segmen utama, yaitu segmen angkasa (space segment), segmen sistem kontrol (control system segment), dan segmen pengguna (user segment).
a. Segmen Angkasa Segmen angkasa terdiri dari 24 buah satelit GPS yang secara kontinyu memancarkan sinyal – sinyal yang membawa data kode dan pesan navigasi yang berguna untuk penentuan posisi, kecepatan dan waktu.
b. Segmen Sistem Kontrol Segmen sistem kontrol terdiri dari Master Control Station (MSC), Ground Station, dan beberapa Monitor Station (MS) .
c. Segmen Pengguna Segmen pengguna terdiri dari para pengguna satelit GPS baik yang ada di darat, laut maupun udara Dalam hal ini receiver GPS dibutuhkan untuk menerima dan memproses sinyal-sinyal dari GPS untuk digunakan dalam penentuan posisi, kecepatan, dan waktu.
2.1.5. Google Maps
Menurut Wijayafajar (2012:10) Google Maps adalah sebuah jasa peta globe virtual gratis dan online disediakan oleh google, serta objek-objek saling aktif yang dikerjakan dengan bahasa pemrograman HTML, Javascript, dan AJAX, dan tidak sedikit bahasa pemrograman lainnya.
Gambar II.3 Tampilan Google Maps
Gambar II.3 merupakan tampilan google maps penampilan peta yang digambarkan pada layar merupakan hasil komunikasi dari pengguna dengan database pada web server google untuk menggambarkan kumpulan dari pecahan-pecahan penampilan yang diminta. Seluruh citra yang ada diintegrasikan ke dalam suatu database pada google server, yang nantinya akan dipanggil sesuai kebutuhan permintaan. Bagian-bagian gambar peta yang merupakan gabungan dari gambar-gambar yang berukuran 256 x 256 pixel. Tiap-tiap 256 x 256 tile mewakili gambar tertentu dalam longitude, latitude, dan ukuran peta level tertentu.
2.1.6. Android
Menurut Nazrudin , (2011: 1) dalam bukunya yang berjudul Android Pemprograman Aplikasi Mobile Smartphone dan Table PC Berbasis Android : “Android adalah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware dan aplikasi”. Android dikembangkan oleh
Google bersama Open Handset Allience (OHA) yaitu aliansi perangkat selular terbuka yang terdiri dari 47 perusahaan Hardware, Software dan perusahaan telekomunikasi ditujukan untuk mengembangkan standar terbuka bagi perangkat seluler.
a. Sejarah Android
Pada mulanya terdapat berbagai macam sistem operasi pada perangkat selular, diantaranya sistem operasi Symbian, Microsoft Windsos Mobile, Mobile Linux, iPhone, dan sistem operasi lainnya. Namun diantara sistem operasi yang ada belum mendukung standar dan penerbitan API yang dapat dimanfaatkan secara keseluruhan dan dengan biaya yang murah. Kemudian Google ikut berkecimpung didalamnya dengan platform android, yang menjanjikan keterbukaan, keterjangkauan, open source, dan framework berkualitas. Pada tahun 2005, Google mengakui sisi perusahaan android Inc. untuk memulai pengembangan platform android. Dimana terlibat dalam pengembangan ini Andy Rubin, Rich Miner, Nick Sears, dan Chris White. Pada pertengahan 2007 sekelompok pemimpin industri bersama - sama membentuk aliansi perangka tselular terbuka, Open Handset Alliance (OHA). Bagian dari tujuan aliansi ini adalah berinovasi dengan cepat dan menanggapi kebutuhan konsumen dengan lebih baik, dengan produk awalnya adalah platform android. Dimana android dirancang untuk melayani kebutuhan operator telekomunikasi, manufaktur handset, dan pengembang aplikasi. OHA berkomitmen untuk membuat Android open source dengan lisensi Apache versi II.0.
b. Arsitektur Android
Secara garis besar Arsitektur android dapat dijelaskan dan digambarkan sebagai berikut :
1. Application dan Widget
Application dan Widgets adalah layer dimana kita berhubungan dengan aplikasi saja, dimana biasanya kita download aplikasi kemudian kita lakukan instalasi dan jalankan aplikasi tersebut. Di layer terdapat aplikasi inti termasuk klien email, program sms, kalender, peta, browser, kontak. Semua aplikasi tersebut di tulis menggunakan bahasa pemrograman java.
2. Application Frameworks
Android Application Frameworks adalah open development platform yaitu android menawarkan kepada pengembang atau memberi kemampuan kepada pengembang untuk membangun aplikasi yang bagus dan inovatif. Pengembang bebas untuk mengakses perangkat keras, akses informasi, resources, menjalankan service background, mengatur alarm, dan menambahkan status notifications, dan sebagainya. Pengembang memiliki akses penuh menuju API framework seperti yang dilakukan oleh aplikasi kategori inti. Arsitektur aplikasi dirancang supaya kita dengan mudah dapat menggunakan kembali komponen yang sudah digunakan (reuse).
Sehingga bisa kita simpulkan Applications Frameworks ini adalah layer dimana para pembuat aplikasi melakukan pengembangan atau pembuatan aplikasi yang akan dijalankan disistem operasi android, karena pada layer inilah aplikasi dapat dirancang dan dibuat, seperti content
providers yang berupa sms dan panggilan telepon. Komponen - komponen yang termasuk di dalam Application Frameworks adalah sebagai berikut : a. Views b. Content Provider c. Resource Manager d. Notification Manager e. Activity Manager 3. Libraries
Libraries ini adalah layer dimana fitur-fitur android berada, biasanya para pembuat aplikasi mengakses libraries untuk menjalankan aplikasinya. Berjalan diatas kernel, Layer ini meliputi berbagai library C/C++ inti seperti Libe dan SSL, serta :
a. Libraries media untuk pemutaran media audio dan video. b. Libraries untuk manajemen tampilan.
c. Libraries graphics mencakup SGL dan OpenGL untuk grafis 2D dan 3D.
d. Libraries SQLite untuk dukungan database.
e. Libraries SSL dan Wevkit terintegrasi dengan web browser dan security.
f. Libraries LiveWebcore mencakup modern web browser dengan engine embedded web view.
4. Android Run Time
Layer yang membuat aplikasi android dapat dijalankan dimana didalam prosesnya menggunakan implementasi linux, dalvik virtual machine (DVM) merupakan mesin yang membentuk dasar kerangka aplikasi android. Di dalam android run time dibagi menjadi dua bagian yaitu :
a. Core libraries : aplikasi android dibangun dalam bahasa java, sementara Dalvik sebagai virtual mesinnya buka virtual machine java, sehingga diperlukan sebuah libraries yang berfungsi untuk menterjemahkan bahasa java/c yang ditangani oleh core libraries. b. Dalvik Virtual Machine: Virtual mesin berbasis register yang
dioptimalkan untuk menjalankan fungsi-fungsi secara efisien, dimana merupakan pengembangan yang mampu membuat linux kernel untuk melakukan threading dan manajemen rendah.
5. Linux Kernel
Linux kernel adalah layer dimana inti dari operating system dari android itu berada. Berisi file-file sistem yang mengatur system processing, memory, resource, drivers,dan sistem-sistem operasi android lainnya, linux kernel yang digunakan android adalah linux kernel.
6. Jenis-Jenis Android
Sistem android yang dirilis yaitu Android beta, pada bulan November 2007. Sedangkan versi komersial pertama, Android 1.0, dirilis pada September 2008. Sejak April 2009, versi android yang dikembangkan
diberi kode nama yang didasarkan makanan pencuci mulut dan makanan manis. Tiap versi dirilis sesuai urutan alphabet. Pembaruan terbaru versi android adalah Lollipop 5.0, dirilis pada 3 November 2014. Versi android yang telah dirilis sampai sekarang antara lain sebagai berikut: 1. Cupcake (1.5), 2. Donut (1.6), 3. Éclair (2.0 - 2.1), 4. Froyo (2.2 –2.2.3), 5. Gingerbread (2.3 –2.3.7), 6. Honeycomb (3.0 –3.2.6),
7. Ice Cream Sandwich (4.0 – 4.0.3), 8. Jelly Bean (4.1 – 4.3),
9. KitKat (4.4+), 10. Lollypop (5.0), 11. Marshmellow (6.0), 12. Nougat (7.0).
OS android setiap tahun semakin berkembang dan hadir inovasi yang lebih kreatif. Setiap versi tentu memiliki kelebihan dan kekurangannya sendiri. Kelebihan dari versi ke versi berikutnya dapat dilihat dengan layar
interface revolusi yang tinggi, RAM berkapasitas lebih besar, memiliki
tambahan fitur kinerja sistem yang lebih cepat, dan model-model yang lebih maju sebagai contoh lebih tipis dan lebih ringan. Adapun kekurangan
sistem android. Karena open source dan pengguna selalu melakukan download yang bukan berasal dari google play.
2.2. Peralatan Pendukung (Tools System)
Merupakan alat yang digunakan untuk menggambarkan bentuk logika model dari suatu sistem dengan menggunakan simbol, lambang, diagram yang menunjukan secara tepat arti dan fungsinya. Fungsinya adalah untuk menjelaskan kepada user bagaimana fungsi dari sistem informasi dapat bekerja dengan bentuk logical model dan physical model. Adapun peralatan pendukung yang penulis gunakan dalam pembuatan perancangan program ini sebagai berikut :
2.2.1. Android Studio
Android studio adalah lingkungan pengembangan terpadu(IDE) resmi untuk pengembangan platform android, android studio sudah tersedia secara bebas dibawah lisensi Apache 2.0.
Berdasarkan jetBrains ‘IDEA Intellij Software, android studio dirancang khusus untuk pengembangan android yang tersedia untuk Windows,Mac OS X dan Linux sebagai pengganti Eclipse .
Gambar II.4 Tampilan Android Studio
Gambar II.4 merupakan tampilan Andrid Studio, layout di android studio dibedakan menjadi 2, yaitu design dan text, secara default pada saat dibuka layout xml di android studio menggunakan mode design, tapi bisa mengubah ke mode text, sehingga terlihat source code dari text XML nya. Android studio sudah memiliki Live Preview, jadi tidak perlu bolak-balik ke mode design hanya untuk melihat hasil kode XML nya. Setiap proyek di android studio berisi satu atau beberapa modul dengan file kode sumber dan file sumber daya, secara default, android studio akan langsung menampilkan file proyek dalam tampilan proyek android.
Jendela utama untuk memberi ruang layar yang lebih luas dengan menyembunyikan atau memindahkan bilah alat dan jendela alat. Anda juga bisa menggunakan pintasan keyboard untuk mengakses sebagian besar fitur IDE. Jendela utama android studio terdiri dari beberapa bidang logika yang di identifikasi dalam gambar berikut :
Gambar II.5 Tampilan Antar Muka Android Studio
Gambar II.5 merupakan bagian-bagian android studio yang fungsi– fungsinya sebagai berikut :
1. Bagian alat memungkinkan untuk melakukan berbagai jenis tindakan, termasuk menjalankan aplikasi dan meluncurkan alat android.
2. Bagian navigasi membantu bernavigasi di antara proyek dan membuka file untuk di edit. Bilah ini memberikan tampilan struktur yang terlihat lebih ringkas dalam jendela Project.
3. Bagian editor adalah tempat membuat dan memodifikasi kode. Bergantung pada jenis file saat ini, editor dapat berubah. Misalnya, ketika melihat file tata letak, editor menampilkan Layout Editor.
4. Bagian jendela alat muncul di luar jendela IDE dan berisi tombol yang memungkinkan anda meluaskan atau menciutkan jendela alat individual.
5. Jendela alat memberi akses ke tugas tertentu seperti pengelolaan proyek, penelusuran, kontrol versi, dan banyak lagi. Anda bisa meluaskan dan juga menciutkannya.
6. Bagian status menampilkan status proyek dan IDE itu sendiri, serta setiap peringatan atau pesan.
2.2.2. Android SDK
Menurut Supardi (2014 : 11) “Android SDK merupakan alat atau tools yang digunakan untuk membuat aplikasi Platform android mengunakan bahasa pemrograman java”. Android SDK adalah tools API (Application Programming Interface) yang diperlukan untuk memulai mengembangkan aplikasi pada platform android menggunakan bahasa pemrograman java.
Nazruddin ( 2014 : 5) Menyatakan bahwa : “Android SDK adalah tools API (Application Programming Interface) yang diperlukan untuk memulai mengembangkan aplikasi pada platform android mengunakan bahasa pemrograman java”.
Satyaputra dkk (2014 : 41) Mengatakan bahwa: “SDK android merupakan sebuah tool dan alat bantu API (Aplication Programming Interface) yang diperlukan untuk mengembangkan aplikasi berbasis android yang mengunakan bahasa java”.
Dari penulisan diatas dapat di ambil kesimpulan bahwa Android SDK adalah : Alat bantu tool API (Aplication Programming Interface) yang digunakan untuk membuat aplikasi pada platform android mengunakan bahasa pemrograman java.
2.2.3. JDK (Java Development Kit )
Menurut Kadir (2013:5) Java Development Kit (JDK) adalah merupakan perangkat lunak yang digunakan untuk menajemen dan membangun berbagai aplikasi java. Perangkat pengembangan aplikasi java yang bisa diunduh secara gratis di Website terbuka. Perangkat ini mutlak diperlukan untuk membuat aplikasi android, mengingat aplikasi android itu berbasis java. Sebagaimana diketahui, java adalah salah satu bahasa pemrograman yang biasa digunakan untuk membuat aplikasi.
2.2.4. Diagram Alur (Flowchart)
Flowchart menurut Suprapto (2008:64) adalah notasi algoritma yang paling banyak di gunakan karena bentuknya yang sederhana dan mudah di pahami. Flowchart (diagram alur) adalah penggambaran secara grafik dari langkah-langkah pemecahan masalah yang harus di diikuti oleh pemproses. Flowchart terdiri atas sekumpulan simbol, dimana masing-masing simbol menggambarkan suatu kegiatan tertentu. Flowchart di awali dengan penerimaan masukan (input), pemprosesan masukan, dan di akhiri dengan menampilkan hasilnya (output). Flowchart terdiri dari data yang mengalir melalui sistem dan proses yang mentransformasikan data itu. Data dan proses dalam flowchart sistem dapat digambarkan secara online (dihubungkan langsung dengan komputer) atau offline (tidak dihubungkan langsung dengan komputer, misalnya mesin tik, cash register atau kalkulator).
Adapun simbol-simbol yang sering digunakan untuk menyusun flowchart adalah sebagai berikut :
Tabel II.1 Simbol – Simbol Flowchart
No Simbol Nama Simbol Keterangan
1.
Start/End Sebagai awal dan akhir program.
2.
Input/Output Sebagai media masukan dan keluaran.
3.
Process Menggambarkan proses tranformasi dari data masuk menjadi data keluar.
4.
Subroutine Process
Menggambarkan proses yang masih berisi proses lain di dalamnya.
5.
Preparatton Sebagai pemberian nilai awal.
6.
Connector Sebagai media untuk melakukan pemilihan.
7.
Deciston Sebagai media untuk melakukan pemilihan.
8.
Off-page Connector
Sebagai penghubung beda halaman.
9.
Data Flow Simbol yang menggambarkan arus data yang mengalir.
Sumber : Suprapto (2008:64)
Bagan alir program (program flowchart) merupakan bagan yang menjelaskan secara rinci langkah-langkah dari proses program. Bagan alir program dibuat dari derivikasi bagan alir sistem yang dapat terdiri dari dua macam, yaitu bagan alir logika program (program logic flowchart) dan bagan alir program komputer terinci (detailed computer program flowchart). Bagan alir logika program digunakan untuk menggambarkan tiap-tiap langkah di dalam
program komputer secara logika. Bagan alat logika program ini dipersiapkan oleh analis sistem.
2.2.5. Diagram HIPO (Hierarchy Input Proses Output)
Menurut Amsyah (2008:284) bagan HIPO (Hirarchy Plus Input Process Output) aslinya dibuat oleh IBM sebagai alat untuk mendokumentasikan program. Bagan HIPO secara jelas memperagakan apa yang dikerjakan suatu program, data apa yang digunakan, dan keluaran yangdihasilkannya. Bagan HIPO lebih mudah dibaca dibanding dengan bagan arus,sangat rinci, fleksibel, mudah dimodifikasi, dan dikelola. Dalam membuat bagan HIPO, terdapat tiga jenis diagram, yaitu: daftar isi visual (the visualtable of contents / VTOC), diagram peninjauan, dan rincian diagram.
Gambar II.6 Diagram HIPO (Hirarchy Plus Input Process Output)
Gambar II.6 merupakan diagram HIPO yang sebagai alat dokumentasi program, Berdasarkan beberapa pendapat yang dikemukakan di atas dapat ditarik
kesimpulan HIPO merupakan metodologi yang dikembangkan dan didukung oleh IBM yang sebenarnya merupakan alat dokumentasi program dan sekarang banyak digunakan sebagai alat design dan teknik dokumentasi dalam siklus pengembangan sistem. Berbasis pada fungsi, yaitu tiap-tiap modul didalam sistem digambarkan oleh fungsi utamanya, yaitu tiap - tiap modul di dalam sistem digambarkan oleh fungsi utamanya.
Bagian-bagian HIPO adalah sebagai berikut: 1. Index Program
Merupakan nomor acuan yang menunjukan nomor layar dialog . 2. Nama Program
Merupakan nama layar dialog atau nama suatu program. 3. Escape Program
Merupakan nomor layar dialog sebelumnya yang akan dituju balik.
Index Program
Nama program
Escape Pogram Sumber : Amsyah (2008:284)
Gambar II.7 Bagian-Bagian HIPO (Hierarchy Plus Input-Process-Output) Sasaran HIPO:
a. Untuk menyediakan suatu struktur guna memahami fungsi dari sistem.
b. Untuk lebih menekankan fungsi-fungsi yang harus diselesaikan oleh program. 1
2 3
c. Untuk menyediakan penjelasan yang jelas dari input dan output pada masingmasing tingkatan dari HIPO.