BAB II LANDASAN TEORI
2.1
Definisi Camping Camping diterjemahkan ke dalam Bahasa Indonesia sebagai perkemahan dan
berasal dari kata dasar kemah. Dalam Kamus Besar Bahasa Indonesia (KBBI), camping mempunyai arti: membuat (mendirikan) kemah (untuk bermalam dsb). Camping sendiri populer sebagai aktivitas rekreasi pada awal abad ke-20 dan umumnya disertai dengan kegiatan lainnya, seperti mendaki gunung, outbond, menyalakan api unggun, berenang bahkan memancing. Beberapa orang menganggap camping sebagai kegiatan rekreasi yang dilakukan untuk beristirahat dari ramai dan penatnya aktivitas perkotaan untuk menikmati keindahan alam bebas karena dilakukan dengan menginap di lokasi perkemahan dengan menggunakan tenda atau bahkan di alam terbuka tanpa atap sama sekali. 2.1.1
Tujuan Camping
a. Memeberikan pengalaman adanya saling ketergantungan antara unsur-unsur alam dan kebutuhan untuk melestarikannya, menjaga lingkungan dan mengembangkan sikap bertanggung jawab akan masa depan yang menghormati keseimbangan alam. b. Mengembangkan kemampuan diri mengatasi tantangan yang dihadapi, menyadari tidak ada sesuatu yang berlebih di dalam dirinya, menemukan kembali cara hidup yang menyenangkan dalam kesederhanaan. c. Membina kerjasama dan persatuan dan persaudaraan. 2.2
Android 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. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat peranti 8 http://digilib.mercubuana.ac.id/
lunak untuk ponsel. Kemudian untuk mengembangkan Android, dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia. Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan standar terbuka pada perangkat seluler. Di lain pihak, Google merilis kode–kode Android di bawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler (Safaat 2012). Semua dimulai pada bulan juli 2000, di mana Google bekerja sama dengan android inc., perusahaan internet terkemuka yang berada di palo alto, California amerika serikat. Alasan di antara keduanya dapat bekerja sama di karenakan dengan alasan karena beberapa pendiri android inc., bekerja pada google, di antarannya Andi Rubin, Rich Miner, Nick Sears, dan Chris White. Ketika saat itu android banyak disepelekan sebagai perangkat lunak pada telepon seluler, karena ketika itu sudah banyak OS untuk mobile, seperti Symbian dan OS komersial milik beberapa pabrikan tapi selang beberapa waktu kemudian, android tahu-tahu sudah berkembang dengan pesat dan menjadi phenomenal. 2.2.1 Kelebihan Android
Multitasking, dimana Android mampu membuka beberapa aplikasi sekaligus tanpa harus menutup salah satunya.
Kemudahan dalam Notifikasi, setiap ada SMS, Email, atau bahkan artikel terbaru dari RSS Reader, akan selalu ada notifikasi di Home Screen Ponsel Android
Akses Mudah terhadap Ribuan Aplikasi Android lewat Google
Android App Market, kemudahan bagi pengguna yang gemar install aplikasi ataupun games, lewat Google Android App Market maka bisa mendownload berbagai aplikasi dengan gratis.
Pilihan Ponsel yang beranekaragam, ponsel Android, akan terasa „beda‟ dibandingkan dengan iOS, jika iOS hanya terbatas pada iPhone dari Apple, maka Android tersedia di ponsel dari berbagai produsen, mulai dari Sony Ericsson, Motorola, HTC sampai Samsung. Dan setiap pabrikan ponsel pun 9 http://digilib.mercubuana.ac.id/
menghadirkan ponsel Android dengan gaya masing-masing, seperti Motorola dengan Motoblur-nya, Sony Ericsson dengan TimeScape-nya.
Bisa menginstal ROM yang dimodifikasi, jika tidak puas dengan tampilan standar Android, ada banyak Costum ROM yang bisa dipakai di ponsel Android.
Widget, dapat dengan mudah mengakses berbagai setting dengan cepat dan mudah.
2.2.2
Kelemahan Android Koneksi Internet yang terus menerus, kebanyakan ponsel berbasis system ini memerlukan koneksi internet yang simultan alias terus menerus aktif. Koneksi internet GPRS selalu aktif setiap waktu, itu artinya harus berlangganan paket GPRS yang sesuai dengan kebutuhan.
Iklan. Aplikasi di Ponsel Android memang bisa didapatkan dengan mudah dan gratis, namun konsekuensinya di setiap Aplikasi tersebut, akan selalu Iklan yang terpampang, entah itu bagian atas atau bawah aplikasi.
2.3
Android Sudio Android Studio adalah sebuah IDE untuk Android Development yang
diperkenalkan google pada acara Google I/O 2013. Android Studio merupakan pengembangkan dari Eclipse IDE, dan dibuat berdasarkan IDE Java populer, yaitu IntelliJ IDEA. Android Studio merupakan IDE resmi untuk pengembangan aplikasi Android. Sebagai pengembangan dari Eclipse, Android Studio mempunyai banyak fitur-fitur baru dibandingkan dengan Eclipse IDE. Berbeda dengan Eclipse yang menggunakan Ant, Android Studio menggunakan Gradle sebagai build environment. Fitur-fitur lainnya adalah sebagai berikut :
Menggunakan Gradle-based build system yang fleksibel.
Bisa mem-build multiple APK .
Template support untuk Google Services dan berbagai macam tipe perangkat.
Layout editor yang lebih bagus. 10 http://digilib.mercubuana.ac.id/
Built-in support untuk Google Cloud Platform, sehingga mudah untuk integrasi dengan Google Cloud Messaging dan App Engine. Import library langsung dari Maven repository.
2.4
E-Commerce E-Commerce dapat diartikan sebagai suatu proses berbisnis dengan
menggunakan teknologi elektronik yang menghubungkan antara perusahaan, konsumen
dan
masyarakat
dalam
bentuk
transaksi
elektronik
dan
pertukaran/penjualan barang, servis, dan informasi secara elektronik (Munawar, 2009:1). 2.4.1
Manfaat E-Commerce E-commerce memiliki beberapa manfaat, baik itu organisasi, perusahaan dan
masyarakat itu sendiri, berikut beberapa manfaat dari e-commerce: a. Bagi organisasi pemilik e-commerce 1.
Memperluas market place hingga kepasar nasional dan internasional.
2.
Dengan capital outplay yang minim, sebuah perusahaaan dapat dengan mudah menemukan lebih banyak pelanggan, supplier yang lebih baik dan partner bisnis yang paling cocok dari seluruh dunia.
3.
E-commerce menurunkan biaya pembuatan, pemrosesan, pendistribusian, penyimpanan, dan pencarian informasi yang menggunakan kertas.
4.
E-commerce mengurangi waktu antara outlay modal dan penerimaan produk dan jasa.
b. Bagi Konsumen 1.
E-commerce memungkinkan pelanggan untuk berbelanja atau melakukan transaksi selama 24 jam sehari sepanjang tahun dari hampir setiap lokasi.
2.
E-commerce memberikan lebih banyak pilihan kepada pelanggan, mereka bisa memilih berbagai produk dari banyak vendor.
3.
E-commerce menyediakan produk dan jasa yang tidak mahal kepada pelanggan dengan cara mengunjungi banyak tempat dan melakukan perbandingan secara cepat. 11 http://digilib.mercubuana.ac.id/
4.
Pelanggan bisa menerima informasi yang relevan secara detil dalam hitungan detik, bukan lagi hari atau minggu.
c. Bagi Masyarakat 1.
E-commerce memungkinkan orang untuk bekerja didalam rumah dan tidak harus keluar rumah untuk berbelanja. Ini berakibat menurunkan arus kepadatan lalu lintas dijalan serta mengurangi polusi udara.
2.
E-commerce memungkinkan orang di negara-negara dunia ketiga dan wilayah pedesaan untuk menikmati aneka produk dan jasa yang akan susah mereka dapatkan tanpa e-commerce.
2.5
UML UML (Unified Modelling Langguage) merupakan Bahasa yang berdasarkan
grafik atau gambar untuk menvisualisasi, menspesifikasi, membangun dan pendokumentasian dari sebuah sistem pengembangan prangkat lunak berbasis OO (object oriented) (Whitten and Bentley 2007). UML sendiri juga memberikan standar penulisan sebuah blue print yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam Bahasa program yang spesifik, skema database dari komponen-komponen yang di perlukan dalam sebuah perangkat lunak. Secara resmi Bahasa UML dimulai pada bualan Oktober 1994, pada saat itu baru dikembangkan draft metoda UML version 0.8 dan diselesaikan serta di release pada bulan Oktober 1995. Bersama pada saat itu UML tersebut diperkaya ruang lingkup dengan metode OOSE Sehingga muncul release version 9.0 pada bulan juni 1996. Hingga saat ini sejak juni 1998 UML version 1.3 telah diperkaya dan direspon oleh OMG (Object Management Group) sebuah badan yang bertugas mengeluarkan standar-standar teknologi object oriented dan software component. 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 pemograman apapun.
12 http://digilib.mercubuana.ac.id/
2.5.1
Diagram Use Case Use case atau diagram use case merupakan pemodelan untuk sistem informasi
yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Syarat penamaan use case adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor dan use case. Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang. Sebuah use case menggambarkan suatu urutan interaksi antara satu atau lebih actor dan sistem. Dalam fase requirements model use case menggambarkan sistem sebagai sebuah kotak hitam dan interaksi antara actor dan sistem dalam suatu bentuk naratif, yang terdiri dari input user dan respon-respon sistem. Setiap use case menggambarkan perilaku sejumlah aspek sistem, tanpa mengurangi struktur internalnya. Selama pembuatan model use case secara parallel juga harus ditetapkan objek-objek yang terlibat dalam setiap use case. Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau actor. (Alan 2010) Berikut adalah simbolsimbol yang ada pada diagram use case: Table 2.1 Simbol Use Case Diagram (Alan 2010). No 1
Simbol
Nama
Keterangan
Actor
Aktor adalah orang atau sistem yang berasal dari manfaat dan eksternal
untuk
subjek.
Digambarkan sebagai salah satu tongkat (default) atau jika aktor non-manusia
13 http://digilib.mercubuana.ac.id/
yang
terlibat,
sebagai persegi panjang dengan aktor
<<>>
di
dalamnya
(alternatif).
2
Use Case
Merupakan bagian utama dari fungsi
sistem.
Dapat
memperpanjang
kasus
penggunaan lain. Dapat mencakup use case lain. Apakah ditempatkan di dalam batas
sistem.
Apakah
label
dengan frase kata kerja-kata benda deskriptif.
3
Generalization
Merupakan kasus penggunaan khusus ke yang lebih umum. Memiliki panah yang diambil dari kasus penggunaan khusus untuk kasus penggunaan dasar.
4
Include
Merupakan
dimasukkannya
fungsi satu kasus penggunaan dalam
yang
lain.
Memiliki
panah yang diambil dari kasus penggunaan dasar untuk kasus penggunaan digunakan
5
Extend
Merupakan perpanjangan dari kasus
14 http://digilib.mercubuana.ac.id/
penggunaan
untuk
memasukkan perilaku opsional. Memiliki panah yang diambil dari kasus penggunaan ekstensi untuk kasus penggunaan dasar.
6
Association
Link aktor dengan use case
Relationship
dengan yang berinteraksi.
Subject Boundary
7
Termasuk nama subjek di dalam atau di atas. Merupakan lingkup subjek, misalnya, sistem atau individu proses bisnis.
2.5.2
Diagram Activity Digunakan untuk model perilaku dalam independent proses bisnis benda.
Dalam banyak hal, diagram aktivitas dapat dipandang sebagai diagram aliran data yang canggih yang digunakan dalam hubungannya dengan analysis terstruktur. Namun, tidak seperti aliran data diagram, diagram aktivitas termasuk notasi yang membahas pemodelan paralel, kegiatan bersamaan dan proses (Alan 2010). Activity Diagram mempunyai peran seperti halnya flowchart, akan tetapi perbedaannya dengan flowchart adalah activity diagram bisa mendukung perilaku pararel sedangkan flowchart tidak biasa. Node pada activity diagram disebut dengan action bukan activity. Activity menunjukan ke urutan action sehingga diagram tersebut menunjukan activity yang membangun action. Action biasa didekomposisi menjadi sub activity. Action biasa diimplementasikan sebagai sub activity atau sebagai method pada class. Untuk menunjukan sub activity digunakan simbol rake untuk menunjukan sebuah pemanggilan pada method digunakan syntax nama class, nama method.
15 http://digilib.mercubuana.ac.id/
Tabel 2.2 Simbol diagram activity (Alan 2010). No 1
Simbol
Nama
Keterangan
Activity
Merupakan sebuah gambaran aktivitas yang terjadi.
2
Initial Node
Merupakan tanda awal dari sebuah aktivitas.
3
Final-Activity Node
Merupakan tanda berakhirnya sebuah aktivitas.
4
Control Flow
Menunjukkan urutan eksekusi.
5
Swinlane
Memisahkan organisasi yang bertanggung jawab terhadap aktifitas yang terjadi.
6
Merge Node
Membawa
kembali
jalur
keputusan
bersama
yang
berbeda yang dibuat dengan menggunakan
keputusan
simpul.
7
Decision Node
Pilihan
untuk
keputusan.
8
Flow Final
Aliran akhir.
16 http://digilib.mercubuana.ac.id/
mrngambil
2.5.3
Diagram Sequence Diagram sequence menggambarkan kelakuan objek pada use case dengan
mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Oleh karena itu untuk menggambar diagram sequence maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu. Banyaknya diagram sequence yang harus digambar adalah minimal sebanyak pendefinisian use case yang memiliki proses sendiri atau yang penting semua use case yang didefinisikan maka diagram sequence yang harus dibuat juga semakin banyak (Alan 2010). Diagram Sequence terdiri atas dimensi vertikal (waktu) dan dimensi horisontal (objek-objek yang tekait). Setiap objek termasuk aktor memiliki dimensi lifeline vertikal. Message digambarkan sebagai garis berpanah dari 1 (satu) objek ke objek lainnya. Pada fase desain berikutnya message akan dipetakan menjadi metode dari class. Sebuah diagram sequence menjelaskan tentang interaksi objek yang disusun dalam suatu urutan waktu. Diagram ini secara khusus berasosiasi dengan diagram use case. Diagram sequence memperhatikan tahap demi tahap apa yang seharusnya terjadi untuk menghasilkan sesuatu didalam use case. Berikut simbol yang ada pada diagram sequence: Tabel 2.3 Simbol diagram sequence (Alan 2010). No 1
Simbol
Nama
Keterangan
Actor
Orang atau sistem yang berasal dari manfaat dan eksternal ke sistem yang berpartisipasi secara berurutan dengan mengirim atau menerima pesan.
17 http://digilib.mercubuana.ac.id/
Object
2
Berpartisipasi secara berurutan dengan mengirim atau menerima pesan yang ditempatkan diatas diagram.
3
Execcution
Menyatakan
objek
dalam
Occurrence
keadaan aktif dan berinteraksi pesan.
Message
4
Pesan
yang
mengambarkan
komunikasi yang terjadi antar objek
Self Message
5
Pesan yang dikirim untuk diri sendiri secara langsung.
Lifeline
6
Menyatakan
kehidupan
suatu
objek
Return Message
7
Pesan yang dikirim untuk diri sendiri
2.6
Basis Data (Database) Basis data terdiri atas 2 kata, yaitu basis dan data. Basis dapat diartikan
sebagai markas atau gudang, tempat brkumpul. Sedangkan data adalah representasi fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai, siswa, 18 http://digilib.mercubuana.ac.id/
pelanggan), barang, hewan, peristiwa, konsep, keadan dan sebagainya yang diwujudkan dalam bentuk angka, huruf, simbol, gambar, bunyi atau kombinasinya. Basis data dapat didefinisikan dalam sejumlah sudut pandang sebagai berikut ini: 1. Himpunan
kelompok
data
(arsip)
yang
saling
berhubungan
yang
diorganisasikan sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah. 2. Kumpulan data yang saling berhubungan yang dimana secara bersama sedemikian rupa tanpa pengulangan yang tidak perlu, untuk memenuhi berbagai kebutuhan. 3. Kumpulan file/ tabel/ arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronik. Tujuan utama dalam pengelolahan data dalam basis data adalah agar kita dapat memperoleh, menemukan kembali data (yang kita cari) dengan mudah dan cepat. Selain itu, pemanfaatan basis data untuk pengelolahan data, juga memiliki tujuan-tujuan sebagai berikut: 1. Kecepatan dan kemudahan (speed) Pemaanfaatan basis data memungkinkan kita saling untuk dapat menyimpan data atau melalukan perubahan/manipulasi terhadap data atau menanampilkan kembali data tersebut dengan lebih cepat dan mudah. 2. Efesiensi ruang penyimpanan (spece) Dalam basis data efesiensi penggunaan ruang penyimpanan dapat dilakukan, karena kita dapat melakukan penekanan jumlah kesamaan data. 3. Keakuratan (accuracy) Pemanfaatan pengkodean atau pembentukan relasi antar data bersama dengan penerapan aturan atau batasan tipe data, domain, keunikan data, dan sebagainya yang secara ketat dapat diterapkan dalam sebuah basis data, sangat berguna untuk menekan ketidakakuratan penyimpanan data. 4. Ketersediaan (availlability) Dengan pemanfaatan teknologi jaringan komputer, data yang berada disuatu cabang, dapat juga diakses (menjadi tersedia) bagi cabang lain. 19 http://digilib.mercubuana.ac.id/
5. Kelengkapan (completenss) Tidak hanya dapat menambah record-record data, tetapi juga dapat melakukan perubahan struktur dalam basis data, baik dalam bentuk penambahan objek baru (tabel) atau dengan penambahan field-field baru pada struktur tabel. 6. Keamanan (security) Kita dapat menentukan siapa-siapa (pemakai) yang boleh menggunakan basis data beserta objek-objek didalamnya dan menentukan jenis-jenis operasi apa saja yang dapat dilakukan. 7. Kebersamaan pemakai (sharability) Pemakai basis data sering kali tidak terbatas pada suatu pemakai saja, atau di satu lokasi saja oleh satu sistem/aplikasi. Basis data dikelolah oleh sistem yang mendukung lingkungan mukti-user, akan dapat memenuhi kebutuhan ini, tetapi tetap dengan menjaga dan menghindari munculnya persoalan baru seperti inkonsisten data atau kondisi deadlock (karena ada banyak pemakai yang saling menggunakan data) (Fathansyah 2012). 2.7
MySQL MySQL (My Structure Query Language) adalah sebuah perangkat lunak
sistem manajemen basis data SQL (Database Management System) atau DBMS dari sekian banyak DBMS, seperti Oracle, MS SQL, Postagre SQL, dan lain-lain. MySQL merupakan DBMS yang multithread, multi-user yang bersifat gratis dibawah lisensi GNU General Public Licence (GPL) (Nugroho 2005). MySQL atau yang biasa dibaca “mai-se-kuel” adalah sebuah program pembuat database yang bersifat open source, yang artinya siapa saja boleh menggunakannya. MySQL merupakan salah satu software database (basis data) opensource yang dikembangkan sebuah komunitas bernama MySQL AB dengan tujuan membantu user untuk menyimpan data dalam tabel-tabel. Tabel terdiri atas field (kolom) yang mengkelompokan data-data berdasarkan kategori tertentu, seperti nama, alamat, nomor telepon, dan sebagainya (Firdaus 2007). 20 http://digilib.mercubuana.ac.id/
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 tabel, 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. Keunggulan MySQL: 1. MySQL dapat berjalan dengan stabil pada berbagai system operasi seperti Windows, Linux, FreeBSD, Mac OS X Server, Solaris, dan masih banyak lagi. 2. Bersifat Open Source, MySQL didistribusikan secara open source (gratis), dibawah lisensi GNU General Public Licence (GPL). 3. Bersifat Multiuser, MySQL dapat digunakan oleh beberapa user dalam waktu yang bersaman tanpa mengalami masalah. 4. MySQL memiliki kecepatan yang baik dalam menangani query (perintah SQL). Dengan kata lain, dapat memproses lebih banyak SQL per satuan waktu. 5. Dari segi security atau keamanan data, MySQL memiliki beberapa lapisan security, seperti level subnet mask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta password yang terenkripsi. 6. Selain MySQL bersifat fleksibel dengan berbagai pemograman, MySQL juga memiliki interface (antarmuka) terhadap berbagai aplikasi dan bahasa pemograman dengan menggunakan fungsi API (Application Programming Interface). 7. Dukungan banyak komunitas, biasanya tergabung dalam sebuah forum untuk saling berdiskusi membagi informasi tentang MySQL. 8. MySQL dan PHP saling terintegrasi. Maksudnya yaitu pembuatan database dengan menggunakan sintak PHP dapat dibuat. Sedangkan input yang 21 http://digilib.mercubuana.ac.id/
dimasukkan melalui aplikasi web yang menggunakan script server-side seperti PHP dapat langsung dimasukkan ke database MySQL yang ada di server dan tentunya web tersebut berada disebuah web server. Kekurangan MySQL: 1. Data yang ditangani belum besar. Untuk koneksi ke dalam Bahasa pemograman visual seperti VB, Delphi, dan Foxpro. MySQL kurang support. Karena koneksi ini menyebabkan field yang dibaca harus sesuai dengan koneksi dari program visual tersebut, hal ini yang mengakibatkan MySQL jarang dipakai kedalam program visual. 2.8
Javascript Object Notation (JSON) JSON adalah format pertukaran data (lightweight data-interchange format),
mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemprograman JavaScript, Standar ECMA-262 Edisi ke-3 Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data (Safaat 2012). 2.8.1 Struktur Penulisan JSON JSON memiliki struktur yang harus diketahui. Struktur JSON adalah seperti berikut: 1. Kumpulan pasangan nama atau nilai. 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. 2. Daftar nilai terurutkan (an ordered list of values). Kebanyakan dalam bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list) atau urutan (sequence). 22 http://digilib.mercubuana.ac.id/
Struktur-struktur data ini disebut sebagai struktur data universal, pada dasarnya, semua bahasa pemprograman moderen mendukung struktur data ini dalam bentuk yang sama maupun berlainan. Format data mudah dipertukarkan dengan bahasa-bahasa pemprograman yang juga berdasarkan pada struktur data ini. JSON menggunakan bentuk sebagai berikut: 1. Objek adalah sepasang nama atau nilai yang tidak terurutkan. Objek dimulai dengan kurung kurawal buka ({) dan diakhiri dengan kurung kurawal tutup (}). Setiap nama diikuti dengan titik dua (:) dan setiap pasangan nama atau nilai dipisahkan oleh koma (,). 2. Larik adalah kumpulan nilai yang terurutkan. Larik dimulai dengan kurung kotak buka ([) dan diakhiri dengan kurung kotak tutup (]). Setiap nilai dipisahkan oleh koma (,). 3. Nilai (value) dapat berupa sebuah string dalam tanda kutip ganda, atau angka, atau true atau false atau null, atau sebuah objek atau sebuah larik. Strukturstruktur tersebut dapat disusun bertingkat. 4. String adalah kumpulan dari nol atau lebih karakter Unicode, yang dibungkus dengan tanda kutip ganda. Penggunaan string dapat menggunakan backslash escapes "\" untuk membentuk karakter khusus. Sebuah karakter mewakili karakter tunggal pada string. String sangat mirip dengan string C atau Java. 5. Angka adalah sangat mirip dengan angka di C atau Java, kecuali format oktal dan heksadesimal tidak digunakan. 2.9
Algoritma Pencarian Sebuah algoritma pencarian dijelaskan secara luas adalah sebuah algoritma yang menerima masukan berupa sebuah masalah dan menghasilkan sebuah solusi untuk masalah tersebut, yang biasanya didapat dari evaluasi beberapa kemungkinan solusi. Algoritma pencarian (searching algorithm) adalah algoritma yang menerima sebuah argumen kunci dan dengan langkah-langkah tertentu akan mencari rekaman dengan kunci tersebut. Setelah proses pencarian dilaksanakan, akan diperoleh salah
23 http://digilib.mercubuana.ac.id/
satu dari dua kemungkinan, yaitu data yang dicari ditemukan (successful) atau tidak ditemukan (unsuccessful). 2.10
Black Box Testing Pengujian black box sering disebut juga dengan pengujian tingkah laku
(behavoiur testing) yang lebih terfokus kepada kebutuhan fungsional dari perangkat lunak, pengujian black box memungkinkan pembuat perangkat
lunak untuk
menentukan kondisi yang terjadi untuk suatu masukan yang akan menjalankan semua kebutuhan fungsional. Pengujian black-box merupakan pengujian untuk mengetahui apakah semua fungsi perangkat lunak telah berjalan semestinya sesuai dengan kebutuhan fungsional yang telah didefinisikan (Pressman,2010). Pengujian ini bertujuan untuk menunjukkan kesalahan dalam kategori fungsifungsi yang tidak benar atau hilang, kesalahan interface, kesalahan dalam struktur data atau akses basis data eksternal, kesalahan kinerja, dan inisialisasi dan kesalahan terminasi. Jadi dapat disimpulkan bahwa black box testing adalah pengujian yang dilkukan melalui antar muka perangkat lunak atau interface untuk mengetahui apakah kondisi masukan dan keluaran sudah berjalan dengan yang diharapkan.
24 http://digilib.mercubuana.ac.id/