BAB II DASAR TEORI
2.1
Aplikasi Perangkat Lunak Peranngkat lunak sistem merupakan sekumpulan program yang ditulis untuk meleyani
program-program yang lain. Banyak perangkat lunak sistem (misal kompiler, editor, dan utilitas pengaturan file) memproses struktur-struktur informasi yang lengkap namun tetap. Aplikasi-aplikasi sistem yang lain (komponen sistem operasi, driver, prosesor telekomunikasi) memproses secara luas data yan gbersifat tetap. Di dalam setiap kasus tersebut, area perangkat lunak sistem ditandai dengan eratnya interaksi dengan perangkat keras komputer; penggunaan oleh banyak pemakai; operasi konkuren yang membutuhkan penjadwalan, tukar menukar sumber, dan pengaturan proses yang canggih; strukturstruktur data yang kompleks, serta interface eksternal ganda. (Roger S. Pressman:2002)
2.2
Definisi Pemesanan Kita ketahui bahwa produk dan jasa ini pada umumnya ditujukan kepada pembeli,
dengan itu Siswanto (2000), berpendapat bahwa pada hakekatnya seorang membeli sesuatu bukanlah hanya sekedar ingin memiliki sesuatu, seseorang membeli barang atau jasa tersebut mereka pergunakan sebagai alat untuk memuaskan kebutuhan atau keinginan mereka. Kemampuan perusahaan mendekatkan manfaat produk pada keinginan pembeli dengan menggunakan tenaga penjualan merupakan salah satu aspek yang mempunyai pengaruh besar terhadap perkembangan penjualan. Semakin besar manfaat yang dapat diperoleh pembeli dari suatu barang dan jasa tentu akan semakin besar pula kesediaan mereka untuk membeli dan membeli lagi barang
6
dan jasa tersebut setiap saat mereka membutuhkan. Pada hakekatnya seorang yang menggunakan suatu produk tertentu bukanlah hanya sekedar untuk memenuhi keinginan dan kebutuhan (wants and needs), tetapi mereka juga mengharapkan adanya suatu pelayanan dan nilai kepuasan yang mungkin dapat diperoleh sekaligus manfaatnya. Menurut Tjiptono, tujuan dari pemesanan adalah sebagai berikut : a. Memonitoring keadaan pasar yang menjadi sasaran tujuan dalam hal penjualan. b. Sebagai ukuran kelemahan dan kekuatan perusahaan dalam pemasaran. c. Besar kecilnya pangsa pasar dapat mempengaruhi keberhasilan bersaing dengan perusahaan lainnya. Permintaan pasar erat hubungannya dengan pemesanan produk atau jasa, Permintaan pasar suatu produk dapat mempengaruhi pangsa pasar suatu perusahaan. Bilamana respon pangsa pasar terhadap suatu produk cukup besar, maka dengan sendirinya pasar produk meningkat dan pangsa pasarnya pun meningkat. Menurut Kotler (1998) pemesanan barang dan jasa adalah suatu kegiatan transaksi yang menyatakan keinginan atau rencana untuk memiliki atau membeli barang dan jasa tersebut sebelum melakukan transaksi finasial yakni berupa pembayaran finasial terhadap produk atau jasa yang diinginkan. Kotler juga menyatakan ada beberapa hal-hal yang mempengaruhi pangsa pasar akan permintaan dan pemesanan barang atau jasa antara lain mutu yang dinilai dari suatu perusahaan adalah produknya. (Quality rating of company it’s product), harga suatu perusahaan dinilai dari produknya (Price of company it’s product), perusahaan membiayai Iklan dan Promosi (Advertising and promotion cost of company), perusahaan membiayai proses distribusi dan tenaga penjual (Distribution and sales force cost of company), perusahaan menentukan Iklan yang lebih efektif (Advertising-
7
effectiveness of company), dan perusahaan menentukan Distribusi yang lebih efektif (Distribution-effectiveness of company).
2.3
Pemrograman Komputer Pemrograman Komputer adalah serangkaian instruksi yang ditulis dengan
menggunakan suatu bahasa program yang dipilih untuk memberikan perintah kepada komputer tentang apa yang harus dikerjakannya. Kita semua sudah mengerti bahwa komputer tidak lain dari perangkat elektronik yang bekerja karena adanya arus listrik yang dialirkan ke dalam berbagai komponennya. Pertanyaannya adalah bagaimana komputer mengerti program yang diberikan kepadanya sebenarnya komputer tidak mengerti program yang diberikan padanya kecuali pulsa biner yang memicu rangkaian elektronik untuk bekerja, yang dengan demikian komputer bekerja. Karena manusia sulit untuk mengerti bahasa mesin maka diciptakanlah bahasa program komputer, di mana setiap bahasa program ini diperlengkapi dengan interpreter dan atau compiler. Interpreter adalah program yang menerjemahkan suatu program dalam bahasa tertentu menjadi suatu kode yang dekat dengan bahasa mesin seperti kode assembly atau ke kode bytecode. Hasil dari compiler kemudian dijadikan bahasa mesin oleh suatu interpreter, baik interpreter yang harus diaktifkan lebih dulu ataupun interpreter yang secara otomatis dijalankan setelah proses kompilasi selesai. Kode assembly dikategorikan sebagai bahasa tingkat rendah (low level language) karena dekat ke bahasa mesin, walaupun bias digunakan oleh pemrograman untuk membuat program tetapi bagi orang awam tidaklah mudah. Pra pakar komputer menciptakan bahasa tingkat tinggi ( high level language) yang dekat ke bahasa Inggris sehingga mudah dimengerti oleh manusa. Adad berbagai macam dan kategori bahasa
8
tingkat tinggi. Disebut bahasa klasik, seperti FORTRAN, COBOL, PL/I, BASIC, Karena sudah jarang digunakan, da nada yang disebut bahasa modern seperti C, C++, C#, Visual Basic, Delphi, Java, dsb. Karena masih digunakan hingga sekarang ini. Penulisan program komputer melewati siklus: a. Analisis : melakukan analisis terhadap maslah yang diselesaikan dengan program. b. Desain : melakukan desain penyelesaian, biasanya melalui alat bantu seperti flowchart atau algoritma yang tidak lain merupakan susunan langkah strategi dan logika penyelesaian. c. Pengodean : hasil desain diterjemahkan ke dalam bahasa program yang dipilih dan diketik ke dalam file komputer yang disebut file source. d. Kompilasi : proses penerjemahan program (source) ke dalam kode objek yang sesuai, biasanya disertai pemeriksaan sintaksis dari program. Bila ditemukan kesalahan ketik atau kesalahan perintah maka compiler akan melaporkan kesalahan tersebut. e. Pengujian : apabila proses kompilasi sukses maka program bias diuji-coba dengan memberikan data sesuai keprelian dan kemudain hasilnya diamati. Apabila output yang diharapkan tidak sesuai berarti ada kesalahan logika atau strategi dalam desain sehingga perlu ditinjau kembali, bahkan kadangkala harus kembali ke langkah analisis. f. Implementasi : setelah lolos uji coba maka program dapat digunakan sesuai tujuan pembuatannya.
2.4
Bahasa Pemrograman Java
2.4.1 Pengenalan Java Java adalah nama salah satu bahasa pemrograman komputer yang berorientasi objek diciptakan oleh satu tim dari perusahaan SUN Microsystem, perusahaan
9
workstation UNIX (Sparc) yang cukup terkenal. Java diciptakan berdasarkan bahasa C++, dengan tujuan platform independent ( dapat dijalankan pada berbagai jenis hardware tanpa kompilasi ulang), dengan slogan Write Once Run Anywhere (WORA). Dibandingkan bahasa C++, JAVA pada hakikatnya lebih sederhana dan memakai objek secara murni. Bahasa JAVA tidak muncul secara tiba-tiba atau karena penemuan aksidental. Asal usul JAVA dimulai tahun 1991 ketika Sun MicroSystem melakukan penelitian terhadap berbagai produk elektronika. James Gosling (Kepala proyek penelitian) beserta Patrick Naughton ditugaskan untuk merancang perangkat lunak aplikasi yang independen, tidak bergantung jenis prangkat keras, agar bias dipakai pada berbagai peralatan elektronik itu, James Gosling kemudian memakai bahasa C++ untuk menulis beberapa aplikasi untuk peralatan mikro, namun ternyata di mengalami banyak kesulitan. Setiap kali sebuah peralatan mikro menggunakan jenis microchip yang berbeda, program yang digunakannya harus dikompilasi ulang. Berdasarkan hal itu kemudian timbul ide dari James Gosling untuk menciptakan sebuah bahasa baru, yang di tulis berdasarkan C++ namun dengan beberapa perbaikan. Bahasa ini kemudian disebut OAK ( nama pohon yang terlihat dari jendela ruangan James Gosling ), yang digunakannya untuk membuat prangkat lunak cerdas bagi perlalatan elektronika buatan Sun MicroSystem.
2.4.2 Karakteristik Bahasa Pemrograman Menurut definisi yang diberikan oleh Sun MicroSystem, JAVA adalah bahasa pemrograman yang simple. Object-oriented, distributed, interpreted, robus, secure, architecture neutral, portable, high-performance, multithreaded, and dynamic. Java bahasa yang
10
a. simple : Rancangan bahasa java di buat sedemikian rupa sehingga dengan cepat dapat dikenali dan dipahami oleh pemrogram pemula sekalipun karena mirip dengan bahasa C/C++ dan yang kedua lebih sederhana dari C/C++ dalam beberapa hal mengingat berbagai hal yang sulit pada C/C++ sudah tidak ada pada java, misalnya pemakaian pointer. b. object-oriented : Konsep objek diterapkan pada pembuatan program Java, bahkan java menggunakan konsep objek secara murni sehingga tidak mungkin seseorang membuat program Java tanpa mendefinisikan kelas dan menggunakan objek. c. Distributed
: Bahasa Java dirancang sedemikian rupa sehingga mendukung
pembuatan aplikasi dalam jaringan komputer. Java menyediakan beberapa kelas objek untuk mendukung aplikasi jaringan yang dihimpun dalam paket java.net. d. Robust : Rancangan Java dibuat sedemikian rupa hingga mengurangi kemungkinan menjadi beku (freeze) ketika dijalankan. e. Secure : Secara otomatis Java menerapkan pengamanan terhadap aplikasi sehingga mengurangi kemungkinan terjadinya serangan dari pengguna jaringan. f. Architecture neutral : Program Java yang telah dikompilasi dapat dijalankan pada berbagai mesin dan tidak hanya bergantung pada suatu atsitektur komputer saja. g. Portable : Program Java sangat mudah dipindahkan dari satu mesin ke mesin lain tanpa harus dikompilasi ulang. h. High-performance : pada hakikatnya program C yang telah dikompilasi berjalan jauh lebih cepat dari Java, karena hasil kompilasi C adalah bahas mesin dari komputer yang dipakai untuk mengompilasi, namun hasil kompilasi ini belum tentu bias jalan pada komputer yang berbeda arsitektur.
11
i. Multithreaded: Java dirancang untuk menangani berbagai aplikasi yang berjalan secara bersamaan, misalnya memainkan lagu, sambil melakukan download, dan pengguna sedang melakukan scrolling pada window yang diamatinya. Kejadian in yang disebut multithreaded. j. Dynamic: Bahasa Java dirancang unttuk beradaptasi dengan lingkungan yang dapat berubah dengan cepat. Java dapat memanggil berbagai kelas object pada saat dibutuhkan, walaupun harus melalui jaringan.
2.4.3 Struktur Program Aplikasi Program dalam bahasa Java bias merupakan program aplikasi, yaitu program yang dijalanakan hanya pada satu komputer pada satu saat sebagian program standalon, atau bias berupa program applet, yaitu program yang bias ditampilkan pada halaman Web, dipunggah ke dalam suatu web-browser. Agar bias menulis program JAVA diperlukan : a. Sebuah komputer. b. Program editor teks, seperti NotePad atau DOS Edit. c. Atau program Java Editor, serperti JCreator, NetBeans, atau Eclipse. d. Prangkat lunak JAVA SDK (Software Development Kit), Standard Edition atau J2SE, bias dipunggah dari situs Sun MicroSystem, http://www.java.sun.com/j2se/ Setiap jenis JAVA SDK memuat platform Java yang terdiri atas dua bagian utama, yaitu: a) JVM (Java Virtual Machine) untuk melakukan interprestasi terhadap file *.class
12
b) Java API (Application Program Interface) yang memuat berbagai fasilitas atau pustaka fungsi untuk kepreluan para pemrograman ketika menyusun sebuah program.
2.5 Android Mobile 2.5.1 Hadirnya Android Android adalah sebuah system operasi untuk prangkat
mobile yang
menyertakan middleware (virtual machine) dari sejumlah aplikasi utama. Android merupakan modifikasi dan kernel Linux. Pada awalnya system operasi ini dikembangkan oleh sebuah perusahaan bernama Android, Inc. dari sinilah awal mula nama Android muncul. Android, Inc. adalah sebuah perusahaan start-up kecil yang berlokasi di Palo Alto, California, Amerika Serikat yang didirikan oleh Andy Rubin bersama Rich Miner, Nic Sears, dan Chris White. Pada bulan Juli 2005, perusahaan tersebut diakuisisi oleh Google dan para pendirinya bergabung ke Google. Andy Rubin sendiri kemudian diangkat menjadi Wakil Presiden divisi Mobile dari Google. Tujuan pembuatan system operasi ini adalah untuk menyediakan platform yang terbuka, yang memudahkan orang mengakses internet menggunakan telepon seluler. Android juga dirancang untuk memudahkan pengembang aplikasi membuat aplikasi dengan batasan yang yang minim sehingga kreativitas pengembang menjadi lebih berkembang. Setelah tujuh bulan hanya terdapat satu perangkat Android di pasaran, akhirnya pada bulan Mei 2009 HTC mengeluarkan prangkat Android lain, yaitu HTC Magic, yang dipaketkan dengan system operasi Android versi 1.5 pada semester kedua tahun
13
2009, memulailah banyak perangkat-perangkat android yang dikeluarkan oleh HTC, Motorola, dan Samsung. Android pun semakin dikenal dan semakin memperkuat posisinya di pasaran. Hal tersebut berhasil karena adanya banyak vendor yang mengadopsi Android dan ketersediaan berbagai aplikasi yang menarik. Hal itu ditambah dengan keberhasilan kampanye pemasaran Droid Does dari Verizone Wireless yang menyoroti keunggulankeunggulan Android yang tidak dimiliki oleh iPhone. Dengan cepat Android mulai mengambil pangsa pasar dari system operasi telepon seluler lain bahkan yang sudah menguasai pasaran.
2.5.2 Arsitektur Sistem Operasi Android Ada 5 blok besar yang membangun Android, masing-masing memiliki fungsi dan peranan setiap bagian tersebut. a. Linux Kernel Pada Bagian paling bawah dari Android adalah Linux Kernel, Android menggunakan modifikasi dari Linux Kernel versi 2.6. Bagian ini bertanggung jawab untuk mengelola dan berkomunisasi dengan perangkat keras di mana android berjalan. Pemilihan Linux Kernel sebagain inti dari Android adalah karena dukungan dan kestabilannya terhadap berbagai macam komponen perangkat keras. b. Liberaries Liberaries
merupakan
kumpulan
kode
yang
dapat
digunakan
oleh
komponen/program lain. Pada bagian ini kodenya ditulis menggunakan bahasa pemrograman C/C++. Fungsi masing-masing komponen di libraries ini adalah sebagai berikut:
14
1) Surface Manager 2) Open GL 3) SGL 4) Media Framework 5) Free Type 6) SSL 7) SQLite 8) Webkit 9) libc
c. Android Runtime Pada bagian inilah aplikasi Android berjalan. Inilah bagain middleware yang disebutkan pada definisi Android di awal. Aplikasi Android ditulis menggunakan bahasa Java, dan untuk menjalankannya diperlukan sebuah virtual machine yang akan menerjemahkan instruksi-sinstruksi program Java tersebut ke intruksi yang dimengerti oleh system operasi. Namun berbeda dengan platform lainnya, Android tidak menggunakan Java Virtual Machine. Dalvik Virtual Machine adalah sebuah virtual machine yang dioptimasi utnuk perangkat yang memiliki memori kecil, sumber tenaga terbatas, dan kemampuan prosesor yang kecil.
d. Application Framework Bagian ini adalah framework atau prangkat yang dapat digunakan oleh pengembang aplikasi dalam membuat aplikasi Android. Bagian ini menyertakan program-program yang mengelola fungsi-fungsi dasar seperti informasi lokasi,
15
fungsi telepon, pengelolaan perpindahan antara program atau proses, dan sebagainya. Pengembangan aplikasi dapat memiliki akses framework yang sama dengan yang dapat diakses oleh aplikasi-aplikasi utama dari Android (phone dialer, buku telepon, SMS, e-mail, kalender, dan sebagainya). Disini terlihat keinginan dari Android untuk menjadi platform yang terbuka, sehingga memungkinkan pengembang aplikasi untuk lebih kreatif menciptakan aplikasi yang menarik dan inovatif.
e. Applications Pada bagian ini terdapat aplikasi-aplikasi yang dapat digunakan oleh pengguna perangkat Android. Selain aplikasi inti seperti yang ada di diagram arsitektur, aplikasi-aplikasi tambahan yang dipasang sendiri oleh pengguna akan menempati bagian ini dan memiliki hak akses yang sama terhadap Application Framework. Apabila diperlukan, pengguna ataupun vendor dapat menggantikan aplikasi inti yang ada dengan aplikasi buatan sendiri yang memiliki fungsionalitas yang sama. Hal ini membuat kustomisasi sistem operasi Android jauh lebih bebas dibandingkan system operasi perangkat mobile lainnya.
2.5.3 Versi Sistem Operasi Android Android Beta Pertama kali dirilis pada 5 November 2007, kemudian pada 12 November 2007 Software Development Kit (SDK) dirilis oleh Google.
16
Android 1.0 (Astro) Pertama kali dirilis pada 23 Spetember 2008. Sebenarnya Android versi pertama ini akan dinamai dengan nama "Astro" tapi karena alasan hak cipta dan trademark nama"Astro" tidak jadi disematkan pada versi pertama dari OS Android ini. HTC Dream adalah ponsel pertama yang menggunakan OS ini. Berikut penampakan HTC Dream. Pada android versi pertama ini sudah mulai diperkenalkan Android Market, tempat untuk mendownload berbagai macam aplikasi dan update untuk Android. Kemudian terdapat fitur syncronisasi dengan berbagai layanan Google lainnya seperti Google Contact, Calender, Maps, Talk, dan lainnya.
Android 1.1 (Bender) Pertama kali dirilis pada 9 Februari 2009. Versi Android kedua ini juga mengalami masalah penamaan yang sama dengan versi pertamanya. Pada awalnya Android ini akan diberi nama "Bender" akan tetapi karena alasan melanggar trademark, nama "Bender" tidak jadi disematkan pada versi Android ini. Awalnya versi OS Android ini dirilis untuk perangkat T-Mobile G1 saja. Versi ini merupakan update untuk memperbaiki beberapa bugs, mengganti API dan menambahkan beberapa fitur.
Android 1.5 Cupcake Pertama kali dirilis pada 30 April 2009. Nah, mulai versi Android ini penamaan menggunakan nama makan pencuci mulut (dessert) mulai digunakan, karena ini merupakan versi yang ketiga maka penamaan diawali dengan huruf "C" dan jadilah "Cupcake" menjadi nama resmi dari versi OS Android ketiga ini. OS ini
17
berbasiskan pada kernel Linux 2.6.27 dan menambahkan beberapa update serta UI baru dari versi Android sebelumnya. Mulai terdapat "widget" yang dapat dibesar kecilkan. Kemudian ditambah kemampuan untuk meng-upload video dan gambar ke Youtube dan Picasa.
Android 1.6 Donut Dirilis pertama kali pada 15 September 2009. Terdapat peningkatan pada fitur pencarian dan UI yang lebih user friendly. Pada versi ini juga sudah mendukung teknologi CDMA/EVDO, 802.1x, VPNs. Kemudian support layar dengan resolusi WVGA.
Android 2.0/2.1 Enclair Dirilis pertama kali pada 9 Desember 2009. Terjadi penambahan fitur untuk pengoptimalan hardware, peningkatan Google Maps 3.1.2, perubahan UI dengan browser baru dan dukungan HTML5, daftar kontak yang baru, dukungan flash untuk kamera 3,2 MP, digital Zoom, dan Bluetooth 2.1. Beberapa versi updatenya antara Android v.2.0 kemudian v2.0.2 dan terakhir v.2.1.
Android 2.2-2.2.3 Frozen Yoghurt (Froyo) Dirilis pertamakali pada 20 Mei 2010 pada smartphone Google Nexus One. Pada versi ini sudah support terhadap Adobe Flash Player 10.1. Peningkatan pada kecepatan membuka dan menutup aplikasi, serta penggunaan SD Card sebagai tempat penyimpanan aplikasi. Ketika Android Froyo hadir mulai muncul banyak diskusi yang membahas mengenai persaingan antara Android dengan iOS yang akan semakin ketat
18
di masa yang akan datang. Beberapa versi update yang dirilis antara lain Android v.2.2.1 hingga v.2.2.3. Android 2.3-2.3.2/2.3.3-2.3.7 Gingerbread Pertama kali diperkenalkan pada 6 Desember 2010. Terjadi banyak peningkatan pada versi Android yang satu ini dibandingkan dengan versi sebelumnya. Dirancang untuk memaksimalakan kemampuan aplikasi dan game. Serta mulai digunakannya Near Field Communication (NFC). Perbaikan terhadap dukungan layar resolusi WXGA dan diatasnya. Beberapa versi update yang dirilis antara lain v.2.3.3 hingga v.2.3.7. Sampai saat ini Android Gingerbread merupakan versi Android yang memiliki pengguna terbanyak dibandingkan dengan seri Android lainnya, yaitu mencapai 65% dari seluruh versi Android yang dirilis.
Android 3.0/3.1/3.2 Honeycomb Pertama kali diperkenalkan pada 22 Februari 2011 dan Motorola Xoom adalah yang pertama kali menggunakannya. Android versi ini merupakan OS yang didesain khusus untuk pengoptimalan pengunaan pada tablet PC.
Android 4.0-4.0.2/4.0.3-4.0.4 Ice Cream Sandwich Sampai tulisan ini ditulis ICS merupakan versi Android yang paling anyar. Pertama kali dirilis pada 19 Oktober 2011. Smartphone yang pertama kali mengunakan OS Android ini adalah Samsung Galaxy Nexus. Secara teori semua perangkat seluler yang menggunakan versi Android sebelumnya, Gingerbread, dapat di-update ke Android Ice Cream Sandwich. Namun sayangnnya sampai saat ini kebanyak smartphone yang menggunakan Android ICS merupakan smartphone kelas
19
high-end yang dijual dengan harga cukup mahal. Mungkin karena alasan inilah distribusi versi Android satu ini tidak lebih dari 8% sampai pertangahn tahun 2012 ini. Android 4.1/4.2/4.3 Jelly Bean Android Jelly Bean yaang diluncurkan pada acara Google I/O lalu membawa sejumlah keunggulan dan fitur baru. Penambahan baru diantaranya meningkatkan input keyboard, desain baru fitur pencarian, UI yang baru dan pencarian melalui Voice Search yang lebih cepat.Tak ketinggalan Google Now juga menjadi bagian yang diperbarui. Google Now memberikan informasi yang tepat pada waktu yang tepat pula. Salah satu kemampuannya adalah dapat mengetahui informasi cuaca, lalu-lintas, ataupun hasil pertandingan olahraga. Sistem operasi Android Jelly Bean 4.1 muncul pertama kali dalam produk tablet Asus, yakni Google Nexus 7.
Android 4.4 Kitkat Google mengumumkan Android 4.4 KitKat (dinamai dengan izin dari Nestlé dan Hershey) pada 3 September 2013, dengan tanggal rilis 31 Oktober 2013.Sebelumnya, rilis berikutnya setelah Jelly Bean diperkirakan akan diberi nomor 5.0 dan dinamai 'Key Lime Pie'. Tanggal rilis 31 Oktober 2013. Fitur : 1) Pembaruan antarmuka dengan bar status dan navigasi transparan pada layar depan. 2) Optimasi kinerja pada perangkat dengan spesifikasi yang lebih rendah 3) Kerangka kerja pencetakan 4) NFC Host Card Emulation sebagai emulator kartu pintar 5) WebViews berbasis Chromium
20
6) Perluasan fungsionalitas bagi layanan pendengar notifikasi 7) API umum untuk mengembangkan dan mengelola klien pesan teks, kemampuan untuk menentukan aplikasi SMS standar. 8) Kerangka kerja baru untuk transisi UI 9) Kerangka kerja akses penyimpanan untuk mengambil konten dan dokumen dari sumber lain 10) Sensor batching, Step Detector, dan Counter API 11) Peningkatan tampilan mode layar penuh, tombol perangkat lunak dan status bar bisa diakses dari tepi dengan cara menggesek 12) Penyeimbang audio, pemantauan audio, dan peningkatan suara audio 13) Perekam aktivitas layar yang terintegrasi 14) Inframerah 15) Peningkatan aksesibilitas API 16) Mesin virtual eksperimental baru, AR 17) Dukungan Bluetooth Message Access Profile (MAP)
2.6 Pemograman Android 2.6.1 Bahasa Pemograman Android Hampir setiap orang di kota-kota besar Indonesia, memiliki handphone atau smartphone yang digunakan untuk berkomunikasi, bahkan memiliki lebih dari satu, berapa ribu smartphone-kah yang ada di dunia ini? Peluang inilah yang dapat kita rambah yaitu pemrograman mobile phone. Banyak sekali platform mobile yang dapat kita coba, diantaranya J2ME, QT Mobile, dan Android. Salah satunya yang sedang booming adalah Android Mobile. Android merupakan sistem operasi berbasis linux
21
yang bahasa pemrograman aplikasinya dapat kita buat menggunakan java. Dengan pengetahuan seputar java yang telah mencukupi, anda dapat membuat aplikasi berbasis android.
2.6.2 Layout Android Layout adalah rancangan antarmuka (user interface) pada sebuah Activity. Pada program HelloWorld sebelumnya, kita membuat layout antarmuka aplikasi melalui kode program. Pendekatan ini tidak dianjurkan, apalagi jika aplikasi yang dibuat tergolong besar, karena perubahan layout sedikit saja sangat rumit diterapkan melalui kode. Oleh karena itu, Android meneydiakan alternatif membuat layout dengan XML. Berkas layout XML secara otomatis terhubung dengan kelas View. Kelebihan membuat layout dengan XML adalah kita dapat memisahkan antara tampilan. Dengan demikian, jika kita ingin mengubah tampilan, kita tidak perlu mengganggu kode. Kegunaannya lebih terasa ketika kita ingin membuat antarmuka yang berbeda untuk orientasi layar berbeda atau untuk smartphone berbeda.
2.7 Database MySQL MySQL adalah perangkat lunak database server atau sebut saja Database Smart. Database ini semakin lama semakin populer. Dengan menggunakan database ini, data semakin aman dan berdaya guna. Database ini juga banyak dipakai pada web database sehingga data semakin terintegrasi antara database dekstop dengan database web. Untuk menggunakan database MySQL harus menginstalasinya dahulu ke komputer.
22
Keistimewaan MySQL Sebagai server database dengan konsep database modern, MySQL memiliki keistimewaan. Beberapa keistimewaan dimiliki MySQL sebagai berikut : 1). Portability Database MySQL berfungsi dengan stabil tanpa kendala, berarti berlaku pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac OS X Server, Solaris, Amiga, HP-Unix, dan lain-lain. 2). Open Source MySQL merupakan database open source (gratis), di bawah lisensi GPL sehingga dapat memperoleh dan menggunakannya secara cuma-cuma tanpa membayar sepersen pun. 3). Multiuser MySQL merupakan database yang dapat digunakan untuk menangani beberapa user dalam waktu bersamaan tanpa mengalami masalah. Dan memungkinkan sebuah database server MySQL dapat diakses client secara bersamaan pula. 4). Performace Tuning MySQL mempunyai kecepatan yang cukup baik dalam menangani query-query sederhana, serta mampu memproses lebih banyak SQL per satuan waktu. 5). Column Type Database MySQL didukung dengan tipe data yang sangat kompleks, seperti signed/unsigned integer, float, double, char, varchar, text, blob, data, time, datetime, timestamp, year, set serta enum.
23
6). Command dan Functions MySQL server memiliki operator dan fungsi secara penuh yang mendukung perintah SELECT dan WHERE dalam query. 7). Security Sistem Security pada MySQL mempunyai beberapa lapisan sekuritas seperti tingkatan subnetmask, hostname, dan izin akses user dengan sistem perizinan yang mendetil serta password terenkripsi. 8) Scalability dan Limits MySQL mempunyai kemampuan menangani database dalam skala cukup besar, dengan jumlah record lebih dari 50 juta dan 60 ribu tabel serta 5 miliar baris. Selain itu dapat menampung indeks sampai 32 indeks pada tiap tabelnya. 9). Connectivity Adanya kemampuan MySQL melakukan koneksi dengan client menggunakan protokol TCP/IP, Unix socket (Unix), atau Named Pipes (NT). 10). Localization Adanya kemampuan dalam mendeteksi kesalahan (error code) pada client menggunakan lebih dari dua puluh bahasa. 11). Interface MySQL memiliki interface terhadap berbagai aplikasi dan bahasa pemograman menggunakan fungsi API (Application Programming Interface). 12). Clients dan Tools Database MySQL dilengkapi berbagai tools yang dapat digunakan untuk administrasi database.
24
13). Struktur Tabel MySQL memiliki struktur tabel cukup baik serta cukup fleksibel, misalnya ketika menangani alter table.
2.8 JSON JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, 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. JSON terbuat dari dua struktur: a)
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.
b)
Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (sequence). Struktur-struktur data ini disebut sebagai struktur data universal. Pada dasarnya,
semua bahasa pemprograman moderen mendukung struktur data ini dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian karena format data
25
mudah dipertukarkan dengan bahasa-bahasa pemprograman yang juga berdasarkan pada struktur data ini. JSON menggunakan bentuk sebagai berikut: Objek adalah sepasang nama/nilai yang tidak terurutkan. Objek dimulai dengan { (kurung kurawal buka) dan diakhiri dengan } (kurung kurawal tutup). Setiap nama diikuti dengan : (titik dua) dan setiap pasangan nama/nilai dipisahkan oleh , (koma).
Larik adalah kumpulan nilai yang terurutkan. Larik dimulai dengan [ (kurung kotak buka) dan diakhiri dengan ] (kurung kotak tutup). Setiap nilai dipisahkan oleh , (koma).
Nilai (value) dapat berupa sebuah string dalam tanda kutip ganda, atau angka, atau true atau false atau null, atau sebuah objek atau sebuah larik. Struktur-struktur tersebut dapat disusun bertingkat.
26
String adalah kumpulan dari nol atau lebih karakter Unicode, yang dibungkus dengan tanda kutip ganda. Di dalam string dapat digunakan backslash escapes "\" untuk membentuk karakter khusus. Sebuah karakter mewakili karakter tunggal pada string. String sangat mirip dengan string C atau Java.
Angka adalah sangat mirip dengan angka di C atau Java, kecuali format oktal dan heksadesimal tidak digunakan.
Spasi kosong (whitespace) dapat disisipkan di antara pasangan tanda-tanda tersebut, kecuali beberapa detil encoding yang secara lengkap dipaparkan oleh bahasa pemprograman yang bersangkutan.
27