BAB II LANDASAN TEORI
2.1 Android Menurut Nazruddin Safaat H (Pemrograman aplikasi mobile smartphone dan tablet PC berbasis android, 2012:1) android adalah sebuah sistem operasi untuk perangkat mobile berbasis Linux. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri yang akan digunakan untuk bermacam peranti bergerak. Android memiliki empat karakteristik sebagai berikut: 1. Terbuka Android dibangun untuk benar-benar terbuka sehingga sebuah aplikasi dapat memanggil salah satu fungsi inti ponsel seperti membuat panggilan, mengirim pesan teks, menggunakan kamera, dan lain-lain. Android menggunakan sebuah mesin virtual yang dirancang khusus untuk mengoptimalkan sumber daya memori dan perangkat keras yang terdapat di dalam perangkat. Android merupakan open source, dapat secara bebas diperluas untuk memasukkan teknologi baru yang lebih maju pada saat teknologi tersebut muncul. Platform ini akan terus berkembang untuk membangun aplikasi mobile yang inovatif. 2. Semua aplikasi dibuat sama Android tidak memberikan perbedaan terhadap aplikasi utama dari telepon dan aplikasi pihak ketiga (third-party application). Semua aplikasi dapat dibangun untuk memiliki akses yang sama terhadap kemampuan sebuah telepon dalam menyediakan layanan dan aplikasi yang luas terhadap para pengguna. 3. Memecahkan hambatan pada aplikasi Android memecah hambatan untuk membangun aplikasi yang baru dan inovatif. Misalnya, pengembang dapat menggabungkan informasi yang diperoleh dari web dengan data pada ponsel seseorang seperti kontak pengguna, kalender, atau lokasi geografis
6
http://digilib.mercubuana.ac.id/
7
4. Pengembangan aplikasi yang cepat dan mudah Android menyediakan akses yang sangat luas kepada pengguna untuk menggunakan library yang diperlukan dan tools yang dapat digunakan untuk membangun aplikasi yang semakin baik. Android memiliki sekumpulan tools yang dapat digunakan sehingga membantu para pengembang dalam meningkatkan produktivitas pada saat membangun aplikasi yang dibuat. Google Inc. sepenuhnya membangun Android dan menjadikannya bersifat terbuka (open source), sehingga para pengembang dapat menggunakan Android tanpa mengeluarkan biaya untuk lisensi dari Google dan dapat membangun Android tanpa adanya batasan-batasan. Android Software Development Kit (SDK) menyediakan alat dan Application Programming
Interface
(API)
yang
diperlukan
untuk
mulai
mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java.
2.1.1 Sejarah Sistem Operasi Android Menurut Safaat (2012) Android adalah sistem operasi untuk telepon seluler yang berbasis Linux. Android menyediakan platform terbuka bagi para pengembang buat menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Awalnya Google Inc. mengakuisisi Android Inc. yang meng-embangkan software untuk ponsel yang berada di Palo Alto, California Amerika Serikat. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, yaitu konsorsium dari 3 perusahaan hardware, software, dan telekomunikasi termsuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Invdia. Telepon pertama yang memakai sistem operasi Android adalah HTC Dream, yang dirilis pada 22 Oktober 2008. Pada penghujung 2009 diperkirakan di dunia ini paling sedikit terdapat 18 jenis telepon seluler yang menggunakan sistem operasi Android. 2.1.2 Versi Android
http://digilib.mercubuana.ac.id/
8
Android memiliki sejumlah pembaharuan semenjak rilis aslinya. Pembaharuan ini dilakukan untuk memperbaiki bug dan menambah fitur-fitur yang baru. Berikut merupakan versi-versi yang dimiliki Android sampai saat ini: Tabel 2.1 Versi Android Versi Android
API Level
Nickname
Android 1.5
3
Cupcake
Android 1.6
4
Donut
Android 2.1
7
Enclair
Android 2.2
8
Froyo (Frozen Yogurt)
Android 2.3
9
Gingerbread
Android 3.2
13
Honeycomb
Android 4.0
14
Ice Cream Sandwich
Android 4.2.2
17
Jelly Bean
Android 4.4.2
19
Kitkat
Android 5.0.1
21
Lollipop
Android 6.0
23
Marshmallow
2.1.3 Android Versi 4.2 (Jelly Bean) Android 4.2 Jelly Bean merupakan versi update dari versi 4.1; terdapat beberapa perbaikan dan penambahan fitur seperti adanya fitur photosphere untuk menangkap gambar panorama serta screensaver Daydream. Beberapa fitur fungsional seperti power control, mengunci layar widget serta menjalankan beberapa user pada PC tablet menjadi beberapa penambahan pada update sistem operasi Android ini. Android 4.2 Jelly Bean pertama kali dipasang pada LG Google Nexus 4.
http://digilib.mercubuana.ac.id/
9
2.2 Google Maps API 2.2.1 Pengertian API Menurut Tulach (2008, p1-14), API atau Application Programming Interface bukan hanya satu set class dan method atau fungsi dan signature yang sederhana. Akan tetapi API, yang bertujuan utama untuk mengatasi “clueless” dalam membangun software yang berukuran besar, berawal dari sesuatu yang sederhana sampai ke yang kompleks dan merupakan perilaku komponen yang sulit dipahami. Secara sederhana dapat dipahami dengan membayangkan kekacauan yang akan timbul bila mengubah database atau skema XML. Perubahan ini dapat dipermudah dengan bantuan API. Dari beberapa sumber yang didapat, dapat disimpulkan bahwa API adalah sekumpulan perintah, fungsi, class dan protokol yang memungkinkan suatu software berhubungan dengan software lainnya. Tujuan dari API adalah untuk menghilangkan “clueless” dari sistem dengan cara membuat blok besar yang terdiri dari software di seluruh dunia dan menggunakan kembali perintah, fungsi, class, atau protocol yang mereka atau API miliki. Dengan cara ini, programmer tidak perlu lagi membuang waktu untuk membuat dan menulis infrastruktur sehingga akan menghemat waktu kerja dan lebih efisien. 2.2.2 Pengertian Google Maps API Seperti yang tercatat oleh Svennerberg (Beginning Google Maps API 3, p1), Google Maps API yang paling populer di internet. Pencatatan yang dilakukan pada bulan Mei 2010 ini menyatakan bahwa 43% mashup (aplikasi dan situs web yang menggabungkan dua atau lebih sumber data) menggunakan Google Maps API. Beberapa tujuan dari penggunaan Google Maps API adalah untuk melihat lokasi, mencari alamat, mendapatkan petunjuk mengemudi dan lain sebagainya. Hampir semua hal yang berhubungan dengan peta dapat memanfaatkan Google Maps. Google Maps (tanpa API) diperkenalkan pada Februari 2005 dan merupakan revolusi bagaimana peta di dalam web, yaitu dengan membiarkan user untuk menarik peta sehingga dapat menavigasinya. Solusi peta ini pada saat itu masih baru dan membutuhkan server khusus. Beberapa saat setelahnya, ada yang berhasil men-hack Google Maps untuk digunakan di dalam webnya sendiri. Hal ini membuat Google Maps mengambil
http://digilib.mercubuana.ac.id/
10
kesimpulan bahwa mereka membutuhkan API dan pada Juni 2005, Google Maps API dirilis secara publik. 2.2.3 Location Base Service (LBS) Location Base Services atau layanan berbasis lokasi adalah istilah umum yang digunakan untuk menggambarkan teknologi yang digunakan untuk menemukan lokasi perangkat yang kita gunakan. Dua unsur utama lbs adalah: 1. Location Manager (API Maps) menyediakan tools/source untuk LBS, Aplication Programming Interface (API) Maps menyediakan fasilitas untuk menampilkan, manipulasi map/peta beserta feature lainnya seperti tampilan satelit, street (jalan), maupun gabungannya. Paket ini berada pada com.google.android.maps. 2. Location Provider (API Location) menyediakan teknologi pencarian lokasi yang digunakan oleh device atau perangkat. API Location Berhubungan dengan data GPS (Global Positioning System) dan data lokasi real-time. Oleh Nazrudin Safaat H (2012). Berikut ini adalah cara kerja LBS yaitu: 1. Smartphone membuka aplikasi LBS yang sudah terinstall. 2. Aplikasi LBS akan melakukan sambungan dengan jaringan provider yang dipakai oleh user (pengguna). 3. Jaringan mengirimkan request ke satelit untuk menentukan longitude (garis bujur) dan latitude (garis lintang) dari si pengguna aplikasi tersebut. 4. Provider menghubungkan aplikasi (di smartphone) dengan server LBS dan meminta data yang diinginkan user. 5. User mendapatkan data dan ditampilkan di Smartphone.
2.3 Aplikasi 2.3.1 Pengertian Aplikasi Menurut Para Ahli
http://digilib.mercubuana.ac.id/
11
Terdapat beberapa teori yang mendefinisikan aplikasi yang dikemukakan oleh beberapa para ahli, diantaranya adalah (Rahilah, dkk: 2013): a) Menurut Pramana (2012) aplikasi adalah satu unit perangkat lunak yang dibuat untuk melayani kebutuhan akan beberapa aktivitas seperti sistem perniagaan, game, pelayanan masyarakat, periklanan, atau semua proses yang hampir dilakukan manusia. b) Menurut Verman dkk (2009) aplikasi adalah seperangkat intruksi khusus dalam komputer yang di rancang agar kita menyelesaikan tugas-tugas tertentu. c) Menurut Yuhefizar (2012) aplikasi merupakan program yang dikembangkan untuk memenuhi kebutuhan pengguna dalam menjalankan pekerjaan tertentu. Jadi aplikasi merupakan sebuah program yang dibuat dalam sebuah perangkat lunak dengan komputer untuk memudahkan pekerjaan atau tugas-tugas tertentu seperti penerapan, penggunaan dan penambahan data yang dibutuhkan.
2.3.2 Pengertian Bengkel
Bengkel memiliki arti tempat memperbaiki mobil, sepeda motor, dsb. Bengkel otomotif adalah tempat dimana kendaraan diperbaiki oleh teknisi atau tenaga mekanik. Menurut Soedarma (2006) bengkel dapat dibagi menjadi bengkel repair shop dan body shop. Bengkel repair shop melakukan pekerjaan seperti perbaikan mesin kendaraan, rem, knalpot, transmisi, ban, dan penggantian oli. Bengkel body shop melakukan pekerjaan seperti perbaikan cat terhadap goresan, lecet, dan penyok terhadap kerusakan kendaraan serta kerusakan yang disebabkan oleh tabrakan dan kecelakaan besar.
http://digilib.mercubuana.ac.id/
12
2.5 Waterfall Model Menurut Pressman (2010, p39), salah satu model pengembangan sistem adalah dengan model waterfall. Waterfall model adalah model yang paling populer dan sering dianggap sebagai pendekatan klasik dalam daur hidup pengembangan sistem. Adapun tahapannya sebagai berkut:
Communication
Pada tahap ini akan dilakukan inisiasi proyek, seperti menganalisis masalah yang ada dan tujuan yang akan dicapai. Selain itu dilakukan juga requirements gathering, dimana akan dikumpulkan requirement dari user melalui analisis kuisioner.
Planning
Tahap ini merupakan tahap dimana akan dilakukan estimasi mengenai kebutuhankebutuhan yang diperlukan untuk membuat sebuah sistem. Selain itu, penjadwalan dalam proses pengerjaan juga ditentukan pada tahap ini.
Modelling
Kemudian
mulai
masuk
pada
tahap
perancangan
dimana
perancang
menerjemahkan kebutuhan sistem kedalam representasi untuk menilai kualitas sebelum tahap selanjutnya dikerjakan. Tahap ini lebih difokuskan pada atribut program, seperti struktur data, arsitektur perangkat lunak, dan detail prosedur.
Construction
Tahap ini merupakan tahap dimana perancangan diterjemahkan ke dalam bahasa yang dimengerti oleh mesin. Setelah itu dilakukan pengetesan/pengujian terhadap sistem yang telah dibuat.
Deployment
Setelah proses pengkodean dan pengujian selesai, dilakukan pengiriman yang artinya implementasi kepada masyarakat luas. Pada tahap ini juga dilakukan pemeliharaan, perbaikan, dan pegembangan agar sistem tersebut tetap dapat berjalan sebagaimana fungsinya. Urutan proses lebih jelasnya dapat dilihat pada Gambar 2.2.
http://digilib.mercubuana.ac.id/
13
Gambar 2.2 Waterfall Model (Pressman, 2010)
2.6 Database Database adalah kumpulan data yang saling berhubungan dan didesain sedemikian rupa untuk memenuhi kebutuhan informasi dari suatu organisasi. Database adalah sebuah tempat penyimpanan dari data yang digunakan secara bersamaan oleh banyak departemen dan pengguna. Database tidak lagi dimiliki oleh satu departemen tetapi menjadi sumber daya bersama dalam perusahaan. Database tidak hanya memegang data operasional organisasi tetapi juga deskripsi dari data tersebut. Untuk alasan ini, database juga diartikan sebagai sekumpulan data terintegrasi yang mejelaskan dirinya sendiri. (Connolly dan Begg, 2010, p14).
2.6.1 Relational Database Relational database adalah sebuah kumpulan dari relasi yang telah dinormalisasi dengan nama relasi yang jelas (Connolly dan Beg, 2010, p74). Relational database merupakan suatu tipe database yang berdasarkan model relational, dimana semua data dapat dilihat oleh pengguna, disusun dalam bentuk tabel-tabel dan semua operasi pada database bekerja pada tabel-tabel tersebut. Relasi antar tabel pada relational database sudah melalui tahap normalisasi dengan nama relasi yang berbeda-beda. Terdapat 3 jenis relasi antar-record dalam tabel (Connolly dan Beg, 2010, p344), yaitu: 1. Relasi one-to-one adalah relasi antara satu record dengan satu record dalam tabel lain yang saling berhubungan.
http://digilib.mercubuana.ac.id/
14
2. Relasi one-to-many adalah relasi antar satu record dengan lebih dari satu record dalam tabel lain sehingga saling berhubungan. 3. Relasi many-to-many adalah relasi antar banyak record dengan lebih dari satu record dalam tabel lain yang saling berhubungan.
2.6.2 DBMS (Database Management System) DBMS (Database Management System) adalah sebuah sistem software yang memungkinkan pengguna untuk mendefinisikan, memuat, memelihara, dan mengatur akses ke dalam database (Connolly dan Beg, 2010, p16). DBMS merupakan sebuah software yang berinteraksi dengan pengguna program aplikasi dan database. Sebuah DBMS menyediakan beberapa fasilitas sebagai berikut: 1. Data Definition Language (DDL) DDL adalah sebuah bahasa yang mengijinkan Database Administrator atau pengguna untuk menggambarkan dan member nama dari entitas, attribute, dan relationship yang dibutuhkan untuk aplikasi bersama dengan semua kepercayaan yang berhubungan dengan batasan keamanan (Connolly dan Begg, 2010, p41). Contoh dari operasi DDL adalah create, drop, dan alter tabel. 2. Data Manipulation Language (DML) DML adalah sebuah bahasa yang menyediakan sekumpulan operasi yang mendukung operasi manipulasi data di dalam database. (Connolly dan Begg, 2010, p41). Contoh dari operasi DML adalah insert dan update. 3. Menyediakan kontrol akses ke database, sebagai contoh : a. Security system, dimana mencegah pengguna yang tidak mempunyai hak untuk mengakses database. b. Integrity system, dimana menjaga konsistensi dari data. c. Concurrency control system, dimana mengijinkan akses yang terbagi dalam database.
http://digilib.mercubuana.ac.id/
15
d. Recovery control system, dimana mengembalikan kondisi database sebelum kegagalan hardware atau software. e. User-accessible catalog, dimana berisi deskripsi dari data dalam database.
2.7 Unified Modelling Language (UML) Menurut Martin Fowler (2005:1) Unified Modeling Language (UML) adalah keluarga notasi grafis yang didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman beroreantasi objek (OO). Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Seperti bahasabahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari tiga notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering).
2.7.1 Use Case Diagram Use case diagram secara grafis menggambarkan interaksi antara sistem, sistem eksternal dan pengguna. Mendeskripsikan siapa yang akan menggunakan sistem dan dalam cara apa pengguna mengharapkan interaksi dengan sistem tesebut. Use case diagram terdiri atas diagram untuk use case dan actor. Actor merepresentasikan orang yang akan mengoperasikan atau orang yang berinteraksi dengan sistem aplikasi. Use case merepresentasikan operasi-operasi yang dilakukan oleh actor. Use case digambarkan berbentuk elips dengan nama operasi dituliskan didalamnya. Actor yang melakukan operasi dihubungkan dengan garis lurus ke use case.
http://digilib.mercubuana.ac.id/
16
Tabel 2.2 Simbol Use Case Diagram No
Gambar
Nama
Keterangan Menspesifikasikan himpuan
1
Actor
peran yang pengguna mainkan ketika berinteraksi dengan use case. Hubungan dimana perubahan yang terjadi pada suatu elemen
2
Dependency
mandiri (independent) akan mempengaruhi elemen yang bergantung padanya elemen yang tidak mandiri (independent). Hubungan dimana objek anak
3
Generalization
(descendent) berbagi perilaku dan struktur data dari objek yang ada di atasnya objek induk (ancestor).
4
Include
Relasi use case tambahan ke subuah ke sebuah use case dimana use cse yang ditambahkan
6
Association
memerlukan use case ini. Apa yang menghubungkan antara objek satu dengan objek lainnya. Menspesifikasikan paket yang
7
System
menampilkan sistem secara terbatas. Deskripsi dari urutan aksi-aksi
8
Use Case
yang ditampilkan sistem yang menghasilkan suatu hasil yang terukur bagi suatu aktor.
http://digilib.mercubuana.ac.id/
17
2.7.2 Activity Diagram Menggambarkan aliran aktivitas. Diagram ini digunakan untuk memodelkan aksi yang akan dilakukan saat sebuah operasi dieksekusi dan memodelkan hasil dari aksi tersebut. Tabel 2.3 Simbol Activity Diagram No
Gambar
1
2
Nama
Keterangan
Rounded
Aktivitas, atau penggerak yang terjadi
rectangle
dalam activity diagram.
Continuous
Menggambarkan urutan perpindahan
line
kegiatan dari satu aktivitas ke aktivitas yang lain. Menggambarkan
Solid circle
3
proses dimulai
pertama kali di dalam activity diagram. Bagaimana akhiri dari aktivitas
Bull’s– eye
4
Menggambarkan adanya percabangan Diamond
5
2.7.3 Class Diagram Class diagram adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus
menawarkan
layanan
untuk
memanipulasi
keadaan
tersebut
(metode/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. Class memiliki tiga area pokok:
Nama (dan stereotype)
http://digilib.mercubuana.ac.id/
18
Atribut
Metoda
Class dapat merupakan implementasi dari sebuah interface, yaitu class abstrak yang hanya memiliki metode. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi metode pada saat run-time. Sesuai dengan perkembangan class model, class dapat dikelompokkan menjadi package. Hubungan Antar Class: 1.
Asosiasi,
yaitu hubungan
statis
antar class
. Umumnya
menggambarkan class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class. 2.
Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metode class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
3.
Hubungan dinamis, yaitu rangkaian pesan (message) yang dipassing dari satu class kepada class lain.
http://digilib.mercubuana.ac.id/
19
Tabel 2.4 Simbol Class Diagram No
Gambar
1.
Nama
Class
2.
Asosiasi
3.
Relationship Composition
4.
Depedency
5.
Aggregation
http://digilib.mercubuana.ac.id/
Keterangan Class adalah blok - blok pembangun pada pemrograman berorientasi obyek. Sebuah class digambarkan sebagai sebuah kotak yang terbagi atas 3 bagian. Bagian atas adalah bagian nama dari class. Bagian tengah mendefinisikan property/atributclass. Bagian akhir mendefinisikan methodmethod dari sebuah class. Sebuah asosiasi merupakan sebuah relationship paling umum antara 2 class dan dilambangkan oleh sebuah garis yang menghubungkan antara 2 class. (Contoh: Oneto-one, one-to-many, many-tomany). Jika sebuah class tidak bisa berdiri sendiri dan harus merupakan bagian dari class yang lain, maka class tersebut memiliki relasi Composition terhadap class tempat dia bergantung tersebut. Kadangkala sebuah class menggunakan class yang lain. Hal ini disebut dependency. Umumnya dependency digunakan untuk menunjukkan operasi pada suatu class yang menggunakan class yang lain. Aggregation mengindikasikan keseluruhan bagian relationship dan biasanya disebut sebagai relasi
20
2.7.4 Sequence Diagram Sequence diagram merupakan salah satu yang menjelaskan bagaimana suatu operasi itu dilakukan message (pesan) apa yang dikirim dan kapan pelaksanaannya. Diagram ini diatur berdasarkan waktu. Obyek-obyek yang berkaitan dengan proses berjalannya operasi diurutkan dari kiri ke kanan berdasarkan waktu terjadinya dalam pesan yang terurut. Sequence diagram menampilkan interaksi antar objek dalam dua dimensi. Dimensi vertikal adalah poros waktu, dimana waktu berjalan ke arah bawah. Sedangkan dimensi horizontal merepresentasikan objek-objek individual. Tiap objek (termasuk actor) tersebut mempunyai waktu aktif yang direpresentasikan dengan kolom vertikal yang disebut dengan lifeline. Pesan (message) direpresentasikan sebagai panah dari satu lifeline ke lifeline yang lain. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class. Tabel 2.5 Simbol sequence diagram N0
Gambar
1.
Nama Actor
Keterangan Sebuah entitas manusia/mesin yang berinteraksi dengan sistemmerupakan instance Object
2.
dari sebuah class dan Object
dituliskan tersusun secara horizontal. Digambarkan
3.
A focus of
sebagai sebuah class Menggambarkan tempat (kotak) dengan nama
control & a life object mulaididalamnya dan berkhirnya yang line pesan (message) diawali dengan sebuah 4.
A message
titik koma. Menggambarkan pengiriman pesan
http://digilib.mercubuana.ac.id/
21
2.8 Tools Implementasi Tools implementasi merupakan peralatan-peralatan yang dibutuhkan dalam membangun perangkat lunak. Adapun tools implementasi yang digunakan untuk membuat aplikasi mobile aplikasi bengkel panggilan berbasis Android adalah JDK sebagai
perangkat
pembangun
Java,
Eclipse
IDE
sebagai
lingkungan
pengembangan perangkat lunak, dan SQL sebagai sistem manajemen basis data.
2.8.1 JDK JDK (Java Development Kit) adalah sebuah perangkat peralatan yang digunakan untuk membangun perangkat lunak dengan menggunakan bahasa pemrograman Java. JDK berjalan diatas sebuah virtual machine yang dinamakan JVM (Java Virtual Machine). Dokumentasi JDK berisi spesifikasi API, deskripsi fitur, panduan pengembang, referensi halaman untuk perkakas JDK dan utilitas, demo, dan link ke informasi terkait. Dokumentasi ini juga tersedia dalam bundel yand dapat diunduh dan diinstal pada komputer.
2.8.2 Android SDK (Software Development Kit) Android SDK adalah tools API (Application Programming Interface) yang diperlukan untuk memulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Beberapa fitur Android yang penting adalah sebagai berikut: a. Framework aplikasi yang mendukung penggantian komponen dan reusable. b. DVM dioptimalkan untuk perangkat mobile. c. Integrated browser berdasarkan engine open source WebKit. d. Grafis yang dioptimalkan dan didukung oleh libraries grafis 2D, grafis 3D berdasarkan spesifikasi OpenGL ES 1.0. e. SQLite untuk penyimpanan data. f. Dukungan untuk audio, video dan gambar.
http://digilib.mercubuana.ac.id/
22
g. Bluetooth, EDGE, 3G, Wifi. h. Kamera, GPS, kompas dan accelerometer. Lingkungan development yang lengkap dan kaya termasuk perangkat emulator, tools untuk debugging, profil dan kinerja memori serta plugins untuk IDE Eclipse.
2.8.3 Eclipse IDE Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform independent). Berikut ini adalah sifat dari Eclipse: 1. Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS. 2. Multi-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya. 3. Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat
lunak,
seperti
dokumentasi,
test
perangkat
lunak,
pengembangan web, dan lain sebagainya. Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in.
http://digilib.mercubuana.ac.id/
23
2.8.4 MySQL Menurut Arief (2011, p152) MySQL adalah salah satu jenis database server yang sangat terkenal dan banyak digunakan untuk membangun aplikasi web yang menggunakan database sebagai sumber dan pengolahan datanya. MySQL pertama kali dirintis oleh seorang programmer database bernama Michael Widenuius. Mysql juga merupakan program yang dapat mengakses suatu database MySQL yang berposisi sebagai client. MySQL termasuk jenis RDBMS (Relational Database Management System), itulah sebabnya isi seperti table, baris dan kolom, digunakan dalam MySQL. Disini kita menggunakan MySQL sebagai SQL server karena berbagai kelebihannya yaitu: 1. Source MySQL dapat diperoleh dengan mudah dan gratis. 2. Sintaknya lebih mudah dipahami dan tidak rumit. 3. Pengaksesan database dapat dilakukan dengan mudah. Bahasa yang digunakan di database (SQL) dibedakan menjadi 3 (tiga) macam yaitu DDL (Data Definition Language), DML (Data Manipulation Language), DCL (Data Control Language).
DDL (Data Definition Language) merupakan sebuah metode query yang berguna untuk mendefinisikan data pada sebuah database, antara lain yaitu: CREATE
: untuk membuat tabel
DROP
: untuk menghapus tabel
ALTER
: untuk melakukan perubahan struktur tabel yang sudah ada seperti menambah dan menghapus field, rename nama tabel, mengganti tipe data.
DML (Data Manipulation Language) merupaan sebuah metode query yang hanya bisa terjadi setelah DDL yang digunakan untuk manipulasi data-data. DML antara lain yaitu :
http://digilib.mercubuana.ac.id/
24
INSERT
: untuk memasukkan data ke dalam tabel
UPDATE
: untuk memperbarui data dalam tabel
DELETE
: untuk menghapus baris dalam tabel
DCL (Data Control Language) merupakan sebuah metode query untuk memberikan otoritas hak mengakses database, mengalokasikan space, pendefinisian space, dan penggunaan database. DCL antara lain yaitu : GRANT
: untuk mengizinkan user utuk mengakses database
REVOKE GRANT
: untuk membatalkan hak ases user
COMMIT
: untuk menetapkan penyimpanan database
ROLLBACK
: untuk membatalkan penyimpanan database
2.8.5 XAMPP XAMPP adalah tool yang menyediakan paket perangkat lunak kedalam satu buah paket. Dengan menginstal XAMPP tidak perlu lagi menginstal dan mengkonfigurasi web server Apache, PHP dan MySQL secara manual. XAMPP akan menginstal dan mengkonfigurasi secara otomatis. Fungsi XAMPP yaitu sebagai server berdiri sendiri (localhost), terdiri dari program Apache, http server, MySQL, database, dan penterjemah bahasa yang ditulis dengan bahasa pemrograman PHP dan Perl. XAMPP merupakan singkatan dari X (X=Cross Platform), Apache, MySQL, PHP dan Perl. Program ini tersedia dalam lisensi GNU (General Public License) dan gratis.
2.8.6 PHP Menurut Arief (2011, p43) PHP adalah Bahasa server-side-scripting yang menyatu dengan HTML untuk membuat halaman web yang dinamis. Karena PHP merupakan server-side-scripting maka sintaks dan perintah-perintah PHP akan diesksekusi diserver kemudian hasilnya akan dikirimkan ke browser dengan format HTML.
http://digilib.mercubuana.ac.id/
25
Dengan demikian kode program yang ditulis dalam PHP tidak akan terlihat oleh user sehingga keamanan halaman web lebih terjamin. PHP dirancang untuk membuat halaman web yang dinamis, yaitu halaman web yang dapat membentuk suatu tampilan berdasarkan permintaan terkini, seperti menampilkan isi basis data ke halaman web. PHP juga dapat berjalan pada berbagai web server seperti IIS (Internet Information Server), PWS (Personal Web Server), Apache, Xitami. PHP juga mampu berjalan di banyak sistem operasi yang beredar saat ini, diantaranya: Sistem Operasi Microsoft Windows (semua versi), Linux, Mac Os, Solaris. PHP dapat dibangun sebagai modul web server Apache dan sebagai binary yang dapat berjalan sebagai CGI (Common Gateway Interface). PHP dapat mengirim HTTP header, dapat mengatur cookies, mengatur authentication dan redirect user. Salah satu keunggulan yang dimiliki PHP adalah kemampuannya untuk melakukan koneksi ke berbagai macam software sistem manajemen basis data atau Database Management Sistem (DBMS), sehingga dapat menciptakan suatu halaman web dinamis. PHP mempunyai koneksitas yang baik dengan beberapa DBMS seperti Oracle, Sybase, mSQL, MySQL, Microsoft SQL Server, Solid, PostgreSQL, Adabas, FilePro, Velocis, dBase, Unix dbm, dan tidak terkecuali semua database ber-interface ODBC. Hampir seluruh aplikasi berbasis web dapat dibuat dengan PHP. Namun kekuatan utama adalah konektivitas basis data dengan web. Dengan kemampuan ini kita akan mempunyai suatu sistem basis data yang dapat diakses.
2.8.7 PhpMyAdmin PhpMyAdmin adalah suatu program open source yang berbasis web yang dibuat menggunakan aplikasi PHP. Program ini digunakan untuk mengakses database MySQL. Program ini mempermudah dan mempersingkat kerja kita. Dengan kelebihannya, para pengguna awam tidak harus paham sintax- sintax SQL dalam pembuatan database dan table.
http://digilib.mercubuana.ac.id/
26
2.8.8 Macromedia Dreamweaver 8 Dreamweaver merupakan software utama yang digunakan oleh web server desainer maupun web programmer dalam membangun suatu situs web. Dreamweaver memberikan kemudahan bagi penggunaannya dalam menentuikan ruang kerja yang diinginkan. Tipe ruang kerja ditentukan berdasarkan kebutuhan maupun kebiasaan pemakaiannya. Ruang kerja, fasilitas dan kemampuan dreamweaver mampu meningkatkan produktivitas dan efektivitas dalam desain maupun daalm membangun sebuah situs web (Isak Rickyanto, 2002). Versi terbaru macromedia dreamweaver di tahun 2005 adalah macromedia dreamweaver 8 yang merupakan penyempurnaan dari versi sebelumnya dan tentu saja semakin mudah dalam penggunaanya. Fasilitas terbaru dari micromedia dreamweaver 8 adalah zoom tool dan guides, panel CSS yang baru, code collapse, Coding toolbar, dan insert flash video. Tidak jauh berbeda dari versi sebelumnya, macromedia dreamweaver 8 mendukung pemrograman Client Side yang terkenal, yaitu Javasript dengan penggunaan yang sangat mudah. Macromedia Dreamweaver 8 juga mendukung pemrograman Script Server Side, seperti Personal Home Page (PHP), Active Server Pages (ASP), ASP.NET, Coldfusion dan Java Server Page (JSP).
2.8.9 HTML (Hypertext Markup Language) HTML (Hypertext Markup Language) merupakan salah satu format yang digunakan dalam pembuatan dokumen dan aplikasi yang berjalan dihalaman web. Oleh karena itu agar dapat membuat program aplikasi diatas halaman web, terlebih dahulu harus mengenal dan menguasai HTML. Dokumen HTML sebenarnya hanya berupa dokumen teks biasa, kelebihan dari dokumen ini adalah dengan HTML dapat dilakukan penformatan teks, peletakan gambar, suara dan elemen-elemen multimedia yang lain, dan yang terpenting Hyperteks, yakni teks yang berfungsi sebagai suatu penghubung antara halaman web yang satu dengan halaman web yang lain.
http://digilib.mercubuana.ac.id/
27
Dikatakan Markup language karena HTML berfungsi untuk memformat file dokumen teks biasa untuk bisa ditampilkan pada web browser dengan bantuan tanda yang sudah ditentukan. Elemen HTML biasanya berupa tag yang berpasangan dan setiap tag ditandai dengan simbol
. Pasangan dari sebuah tag ditandai dengan tanda’/’. Dalam penulisan tag HTML tidaklah case sensitive, artinya penggunaan huruf kecil ataupun besar tidaklah menjadi masalah.
2.8.10 JSON (JavaScript Object Notation) Menurut Deitel (2012, p1303) JSON (JavaScript Object Notation) adalah suatu format pertukaran data komputer. Format dari JSON adalah berbasis teks, dapat terbaca oleh manusia, digunakan untuk mempresentasikan struktur data sederhana, dan tidak bergantung dengan bahasa apapun. Biasanya JSON digunakan pada aplikasi Ajax. Format JSON sering digunakan untuk mentransmisikan data terstruktur melalui koneksi jaringan. Secara umum, JSON digunakan untuk mentransmisikan data antara server dan aplikasi web. Jenis media internet yang resmi untuk JSON adalah aplikasi/json. Format JSON sering digunakan untuk serialisasi dan mengirimkan data terstruktur melalui koneksi jaringan, terutama untuk pengiriman data antara server dan aplikasi web melayani sebagai alternatif ke XML.JSON terbuat dari dua struktur:
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.
Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (sequence).
http://digilib.mercubuana.ac.id/