BAB II LANDASAN TEORI 2.1 Pengertian gitar Gitar adalah alat musik berdawai yang dimainkan dengan jari jemari tangan Atau sebuah plectrum(alat petik gitar). Bunyinya dihasilkan dari senar-senar yang bergetar. Gitar bias berupa gitar akustik atau listrik, atau gabungan keduanya [1]. Gitar akustik adalah jenis gitar dimana suara yang dihasilkan berasal dari getaran senar yang dilahirkan melalui sadel dan jembatan tempat pengikat ke dalam ruang suara.suara di dalam ruang suara ini kan beresonansi terhadap kayu badan gitar. Jenis kayu akan mempengaruhi suara yang dihasilkan oleh gitar akustik. Gitar listrik(elektrik) adalah gabungan komponen gitar itu sendiri dan bantuan berupa mic buat gitar/atau sering disebut pick up,yang dihubungkan dengan dengan perlatan listrik lainnya seperti efek gitar untuk merubah jenis-jenis suara gitar itu sendiri dan biasanya menggunakan speker besar atau amplifier untuk menaikan volume dari suara gitar itu sendiri. 2.1.1 Tangga Nada Tangga nada merupakan salah satu pembelajaran yang penting dalam gitar, karena bila kita sudah menguasainya mungkin tentang kuncikunci dan notasi balok pada gitar akan lebih mudah. 7 http://digilib.mercubuana.ac.id/ 8 Tangga nada itu banyak salah satunya adalah tangga nada diatonic pada Cmayor.Tangga nada diatonic yang dasarnya ‘C = do’ , nada dasarnya yaitu ‘C’ yang berarti ‘C’ dan seterusnya()D,E,F,G,AB) sampai ke ‘C’ lagi merupakan ‘do’ dan seterusnya (re,mi,fa,so,la,si) sampai ke ‘do’ lagi. Berarti dapat dibilang tangga nada ‘C= do’ itu: C - D - E - F - G - A - B - C = DO - RE- MI - FA - SO - LA - SI - DO = 1 - 2 - 3 - 4 - 5 - 6 - 7- 1 Semua tangga nada memiliki perpindahan yang sama hanya letak nada dasarnya yang berbeda yang menjadikan tangga nada tersebut memiliki scale/ jangkauan tersendiri. dalam tangga nada 2 perpindahan, yaitu perpindahan 1 dan ½. Perpindahan 1 itu sebanyak 2 fret pada gitar dan perpindahan ½ itu sebanyak 1 fret pada gitar. dan dibawah ini adalah scale/jangkauan tangga nada C mayor berikut perpindahannya Scale / jangkauan Scale yang berwarna kuning adalah scale utamanya, sedangkan yang berwarna hijau adalah scale oktaf tinggi dan yang berwarna biru muda adalah scale oktaf rendahnya. http://digilib.mercubuana.ac.id/ 9 Perpindahan pada gambar di atas adalah sebuah perpindahan 1 nada (2fret) sedangkan yang diberi garis biru pada gambar diatas adalah perpindahan ½ nada (1fret). Inti perpindahan oktaf yang sama adalah: C => 1 => D => 1 => E => 1/2 => F => 1 => G => 1 => A => 1 => B => 1/2 => C => 1 Sebagai contoh, dari C ke D pada otaf yang sama itu 1 perpindahan (naik) atau bisa dibilang 2 pergeseran fret (naik) dan dari E ke F pada oktaf yang sama itu ½ perpindahan (naik) atau bisa dibilang 1 pergeseran fret (naik). Untuk contoh yang menurun, dari A ke G pada oktaf yang sama itu 1 perpindahan (turun) atau bisa dibilang 2 pergeseran fret (turun) dan dari C ke B pada oktaf yang sama itu ½ perpindahan atau bisa dibilang 1 pergeseran fret (turun). Jika dari E ke G pada oktaf yang sama berarti ada 2 nada sekaligus, yang artinya ½ + 1 = 1½ perpindahan (naik) atau bisa dibilang 1 fret + 2 fret = 3 pergeseran fret (naik) dan begitu juga untuk yang menurun. http://digilib.mercubuana.ac.id/ 10 2.1.2 Pengertian Tangga Nada Diatonis Tangga nada diatonis terdiri dari tujuh buah nada yang berjarak satu dan setengah nada. Tangga nada ini terbagi menjadi 2 kelompok, yaitu tangga nada diatonis mayor dan nada diatonis minor. a. Tangga Nada Diatonis Mayor Tangga nada mayor adalah tangga nada diatonis yang susunan nada-nadanya berjarak 1–1–1/2–1–1–1–1/2. Gambar 1.1 pada tangga nada mayor. b. Tangga Nada Diatonis Minor Tangga nada minor adalah tangga nada diatonis yang susunan nadanadanya berjarak 1–1/2–1–1–1/2–1–1. Tangga nada minor dibedakan menjadi tiga jenis, yaitu sebagai berikut : http://digilib.mercubuana.ac.id/ 11 Gambar 1.2 pada tangga nada minor 2.2 Aplikasi Pengertian aplikasi adalah program yang digunakan orang untuk melakukan sesuatu pada sistem komputer. Mobile dapat diartikan sebagai perpindahan yang mudah dari satu tempat ke tempat yang lain, misalnya telepon mobile berarti bahwa terminal telepon yang dapat berpindah dengan mudah dari satu tempat ke tempat lain tanpa terjadi pemutusan atau terputusnya komunikasi. Sistem aplikasi mobile merupakan aplikasi yang dapat digunakan walaupun pengguna berpindah dengan mudah dari satu tempat ketempat lain lain tanpa terjadipemutusan atau terputusnya komunikasi. Aplikasi ini dapat diakses melalui perangkat nirkabel seperti pager, seperti telepon seluler dan PDA [2]. 2.3 Android Menurut Nazrudin Safaat H (2011 : 1) “Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware, dan aplikasi.” Android adalah sistem operasi untuk telepon seluler yang berbasis Linux. Android menyediakan platform terbuka http://digilib.mercubuana.ac.id/ 12 bagi para pengembang untuk membuat aplikasi mereka sendiri. Pada awalnya dikembangkan oleh Android Inc, sebuah perusahaan pendatang baru yang membuat perangkat lunak untuk ponsel yang kemudian dibeli oleh Google Inc. Untuk pengembangannya, dibentuklah Open Handset Alliance (OHA), konsorsium dari 34 perusahaan perangkat keras, perangkat lunak, dan telekomunikasi termasuk Google, HTC, Intel, Motorola, Qualcomm, T-Mobile,dan Nvidia[3]. 2.3.1 Aplikasi Mobile Android Menurut Jonathan Stark (Building Android Apps with HTML, CSS, and JavaScript. 2012), smartphone dan desktop computer memiliki banyak perbedaan seperti ukuran layar, bandwith, dan sumber daya. Perbedaan tersebut membuat perancangan mobile application sangat berbeda dengan perancangan desktop application[4]. Terdapat 10 (sepuluh) prinsip dalam merancang desain rancangan layar mobile application yaitu: 1. Mobile Mindset Dalam merancang mobile application harus menggunakan mobile mindset, yaitu harus fokus, unik, menarik, dan peka terhadap keinginan user. 2. Mobile Contexts Mengetahui dan fokus pada sasaran user untuk mobile application yang akan dirancang. Terdapat tiga jenis user, yaitu user yang menggunakan mobile application pada saat bersantai di rumah (bored), pada saat sedang http://digilib.mercubuana.ac.id/ 13 sibuk dan memerlukan pengaksesan content yang cepat (busy), dan pada saat sedang berada di daerah yang baru atau tersesat (lost). 3. Global Guidelines Terdapat aturan umum untuk perancangan mobile application, yaitu tingkat responsif yang tinggi, tampilan detail yang menarik, merancang dengan menyesuaikan ukuran ibu jari dan letak user interface yang sesuai, isi yang gampang diakses dan dimengerti, peletakkan kontrol di bawah isi, dan menghindari scrolling. 4. Navigation Models Terdapat banyak model navigasi dalam perancangan mobile application, tetapi pastikan model yang dipilih sesuai dengan jenis aplikasi yang akan dirancang. Beberapa pilihan model navigasi seperti none, tab bar, dan drill down. 5. User Input Terdapat banyak jenis keyboard dalam smartphone, seperti default, email, url, dan phone. Pastikan keyboard sesuai dengan jenis input yang diinginkan, pertimbangkan penggunaan auto correct dan pastikan memungkinkan landscape orientation jika banyak berinteraksi menggunakan keyboard. 6. Gestures Gesture yang ada pada mobile application bersifat tersembunyi dan pastikan memudahkan user untuk menemukannya. Tidak semua gesture penting dan cukup, misalnya seperti shortcut pada keyboard hanya diketahui beberapa user dan fasilitas zoom yang memerlukan penggunaan http://digilib.mercubuana.ac.id/ 14 dua tangan dapat ditambah dengan tombol zoom in dan zoom out sehingga tetap dapat digunakan dengan satu tangan. 7. Orientation Pastikan orientasi yang didukung mobile application sesuai dengan kebutuhan antara portrait atau landscape. Sediakan juga fitur lock orientation jika memang dibutuhkan melihat sesuatu dalam waktu yang lama. 8. Communications Komunikasi dengan user sangatlah penting dalam mobile application.Pastikan setiap aktivitas yang ada diberikan feedback dari aplikasi,kurangi penggunaan alert yang dapat mengganggu user, dan mintakonfirmasi user dengan rancangan default pilihan yang paling aman. 9. Launching Perhatikan juga tampilan saat launching aplikasi. Pastikan menampilkanapa yang terkahir user tinggalkan saat launching kembali dan untuk halaman awal pilihlah gambar interaktif sehingga user tidak bosan. 10. First Impressions Kesan pertama dari aplikasi sangatlah penting. Pastikan icon yang dipakai dan first launch dari aplikasi dapat menarik perhatian user. 2.3.2 Jenis – Jenis Android Awal sistem android yang dirilis yaitu Android beta pada bulan November 2007. Sedangkan versi komersial pertama, Android 1.0, dirilis pada semester 2008. Sejak April 2009, versi Android yang dikembangkan http://digilib.mercubuana.ac.id/ 15 diberi kode nama yang berdasarkan makanan pencuci mulut dan makanan manis. Tiap versi dirilis sesuai urutan alfabet, yakni : a) Cupcake (1.5), b) Donut (1.6), c) Eclair (2.0 – 2.1), d) Froyo (2.2 – 2.2.3), e) Gingerbread (2.3 – 2.3.7) f) Honeycomp (3.0 – 3.2.6), g) Ice Scream Sandwich (4.0), h) Jelly Bean (4.1 – 4.2), i) KitKat (4.4+) Pembaruan terbaru versi Android adalah Lolipop 5.0 dirilis pada 3 November 2014 2.3.3 Sejarah Versi Android menurut level API A. Android versi 1.0 Android 1.0, merupakan versi komersial pertama Android, dirilis 23 September 2008 dengan kode nama Apple pie serta ukuran layar 320x480 HVGA. Perangakat Android pertama yang tersedia secara komersial adalah HTC Dream. B. Android versi 1.1 Android versi 1.1 di rilis pada 9 Maret 2009 oleh Google. Android ini telah disuppport oleh Google Mail Service dengan pembarian estetis pada http://digilib.mercubuana.ac.id/ 16 aplikasi, jam alarm, voice search (pencarian suara), pengiriman pesan dengan Gmail, dan pemberitahuan email. C. Android versi 1.5 Cup Cake Android Cup Cake di rilis pada pertengahan Mei 2009, masih oleh Google Inc. Android ini telah dilengkapi software development kit dengan berbagai pembaharuan termasuk penambahan beberapa fitur lain, yakni kemampuan merekam dan menonton video dengan modus kamera, mengunggah video ke Youtube, upload gambar ke Picasa langsung dari telepon, serta mendapat dukungan Bluetooth A2DP. D. Android versi 1.6 Donut Android Donut juga memiliki fitur – fitur tambahan seperti galeri yang memungkinkan pengguna untuk memilih foto yang akan dihapus; kamera, camcorder, dan galeri yang diintegrasikan; Text-to-spech engine; dial kontak; teknologi text to change speech, baterai indikator, dan kontrol applet VPN E. Android versi 2.0/2.1 Eclair Masih ditahun yang sama, Android kembali merilis operating sistem versi terbarunya, yaitu Android versi 2.0/2.1 Eclair. Android Eclair diluncurkan oleh Google 3 bulan setelah peluncuran. Andorid Eclair adlah Android pertama yag mulai dipakai oleh banyka smartphone, fitur utama Eclair yaitu perubahan total struktur dan tampilan user interface http://digilib.mercubuana.ac.id/ 17 F. Android versi 2.2 Froyo (Frozen Yogurt) Butuh 5 bulan bagi Google untuk melakukan regenerasi dari Android Eclair versi sebelumnya ke versi Froyo Frozen Yoghurt. Pada tanggal 20 Mei 2010, Android versi 2.2 alias Android Froyo ini dirilis. G. Android versi 2.3 Gingerbread 7 bulan kemudian Android kembali melakukan terobosan dengan merilis kembali Android versi 2.3 atau yang dikenal sebagai Android Gingerbread. Perubahan umum yang didapat dari Andorid versi ini antara lain peningkatkan kemampuan permainan (gaming), penigkatan copy paste, layar antar muka (User Interface) didesain ulang, dukungan format video VP8 dan WebM, efek audio baru (reverb, equalization, headphone virtualization, dan bass boost), dukungan kemampuan Near Field Communication (NFC), dan dukungan jumlah kamera yang lebih dari satu. H. Android versi 3.0/3.1 (Honeycomb) Pada bulan Mei 2011 Android versi 3.0/3.1 atau Android Honeycom dirilis. Android Honeycomb merupakan sebuah sistem operasi Android yang tujuannya memang dikhususkan bagi penggunaan tablet berbasis Android. Versi Android yang dirancang khusus untuk devicedengan layar besar seperti tablet PC. Fitur baru pada Android Honeycomb antara lain dukungan terhadap prosessor multicore dan grafis dengan hardware accerlaration. User Interface pada Honeycomb juga berbeda karena suda didesain untuk tablet. Tablet pertama yang memakai Honeycom adalah tablet Motorola Xoom yang dirilis bulan Februari 2011. http://digilib.mercubuana.ac.id/ 18 I. Android versi 4.0 (ICS: Ice Cream Sandwich) Android ICS atau Ice Cream Sandwich juga dirilis pada tahun yang sama dengan Honeycomb, yaitu pada bulan Oktober 2011. Pihak Google mengklaim Android Ice Cream Seandwich akan dapat digunakan baik di smartphone atau tablet. Ponsel pertama yang menggunakan sistem operasi ini adalah Samsung Galaxy Nexus. J. Android versi 4.1 (Jelly Bean) Android Jelly Bean merupakan versi Android yang terbaru pada saat ini. Salah satu gadget yang menggunakan sistem operasi Jelly Bean adalah Google Nexus 7 yang diprakarsai oleh ASUS, vendor asal Taiwan yang juga menjadi teman satu kampung halaman dengan Acer. Keunggulan dan fitur baru versi ini, diantaranya peningkatan input keyboard, desain baru fotur pencarian, UI yang baru dan pencarian melalui Voice Search yang lebih cepat. K. Android versi 4.4 (Kit Kat) Kehadiran android kitkat merupakan pelucuran produk OS anyar yang dilucurkan pada 4 september 2013, sebelumnya banyak kabar beredar jikalau android akan meluncurkan OS baru yang bernama Android Key Lime Pie namun setelah di analalisa tidak sesuai dengan ejaan orang umum, sehingga namanya diganti dengan OS Android KitKat yang sebagian besar orang sudah familiar dengan itu. http://digilib.mercubuana.ac.id/ 19 L. Android versi 5.0 (Lolipop) Versi android selanjutnya adalah Android Lolipop, Versi android ini sempat menjadi sangat viral (strategi dan proses penyebaran pesan eletronik yang menjadi saluran komunikasi informasi) dikalangan netzien dunia karena nama dari versi ini yang sangat dirahasiakan oleh pihak google, namun pada akhirnya Google mengeluarkan nama resmi untuk android versi ini sesuai dengan namanya tampilan dari Android Lolipop ini pun terlihat manis dan lebih simpel dari pendahulunya. 2.3.4 Arsitektur Android Komponen utama dari OS android dapat ditunjukkan dari lapisan yang berbeda seperti pada gambar berikut: 1. Linux Kernel Ini adalah bagian dari lapisan yang bertanggung jawab untuk layanan seperti memori, proses manajemen, keamanan, kamera, audio dan banyak lagi.Bagian ini juga disebut sebagai lapisan abstraksi antara perangkat keras dan perangkat lunak. 2. Android Run Time Android mencakup library yang menyediakan sebagian besar library dari bahasa pemrograman Java.Setiap aplikasi android berjalan secara terpisah sendiri. 3. Libraries Android memiliki sekumpulan library C/C++ yang digunakan oleh berbagai komponen dalam sistem android.Library utama diataranya yaitu : http://digilib.mercubuana.ac.id/ 20 - System C library yang merupakan implementasi dari sistem System library bahasa C standar (libc). - Media Libraries yang mendukung pemutaran dan perekaman video popular dan format audio. - SQLite yang merupakan mesin basisdata relasional ringan. - LibWebCore, mesin browser web yang modern dan sebagainya. 4. Application Frame Work Kerangka kerja aplikasi yang ditulis dengan menggunakan bahasa pemrograman Java merupakan peralatan yang digunakan oleh semua aplikasi, baik aplikasi bawaan dari ponsel maupun aplikasi yang ditulis oleh google ataupun pengembang android. Pada dasarnya, kerangka kerja aplikasi memiliki beberapa komponen sebagai berikut : A. Activity Manager : Mengatur siklus dari aplikasi yang menyediakan navigasi background untuk aplikasi yang berjalan pada proses yang berbeda. B. Package Manager : Untuk melacak aplikasi yang di install pada perangkat. C. Windows Manager : Merupakan abstrakasi dari bahasa pemrograman Java pada bagian atas dari level services (pada level yang lebih rendah) yang disediakan oleh Surface Manager. D. Resource Manager : Digunakan untuk mengakses sumber daya yang bersifat bukan code seperti string lokal, bitmap, deskripsi dari layout file dan bagian external dari aplikasi. http://digilib.mercubuana.ac.id/ 21 E. View System : Digunakan untuk mengambil sekumpulan button, list, grid, dan text box yang digunakan di dalam antarmuka pengguna. F. Notification Manager : Digunakan untuk mengatur tampilan peringatan dan fungsi-fungsi lain. 5. Applications Ini adalah satu set aplikasi yang ditulis dalam bahasa pemrograman Java. Android berisi sekumpulan aplikasi utama seperti email, SMS, kalender, peta, daftar kontak dan lain-lain. 2.3.5 Android SDK ( Software Development Kit ) Android SDK adalah kumpulan software yang berisi mengenai pustaka, debugger (alat pencari kesalahan program), emulator (peniru perangkat bergerak), dokumentasi, kode contoh, dan panduan. Android SDK dapat diunduh secara gratis di http://developer.android.com/sdk/. Keberadaan emulator membuat Anda dapat membuat dan menguji aplikasi Android, tanpa harus mempunyai perangkat keras berbasis Android. Ya, Anda dapat membuat dan menguji aplikasi Android di komputer Anda yang tidak berbasis Android. Bahkan Anda tidak hanya dapat menguji di Windows, tetapi juga di platform lain seperti Mac dan Linux[4]. http://digilib.mercubuana.ac.id/ 22 2.4 Eclipse Menurut Ahmad Dharma Kasman Eclipse adalah IDE untuk pengembangan Java/Android [5]. yang sifatnya download di http://www.eclipse.org/downloads adapun versi eclipse cukup banyak diantaranya Ganymades (Eclipse versi 3.4), Galileo (Eclipse versi 3.5), Helios (Eclips versi 3.6), Indigo (Eclipse versi 3.7) dan Juno (Eclipse versi4.2), berikut adalah sifat dari Eclipse dan kelebihan Eclipse dari pada software lainya : 1. Multi-platform: Bisa dijalankan di Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X. 2. Multi-language: pada dasarnya Eclipse dikembangkan dengan bahasa pemrograman Java, selain itu Eclipse juga 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. 4. Pada saat ini Eclipse merupakan Aplikasi multi-platform yang mana bisa dijalankan di semua operasi system/OS dan juga open source oleh karena itu penggunanya sangat banyak pada saat ini. http://digilib.mercubuana.ac.id/ 23 2. 5 SQLite 2.5.1 Penjelasan Umum Menurut Ahmad Dharma Kasman SQLite adalah sebuah open source database yang telah ada cukup lama, cukup stabil, dan sangat terkenal pada perangkat kecil, termasuk Android[5]. Android menyediakan database relasional yang ringan untuk setiap aplikasi menggunakan SQLite. Aplikasi dapat mengambil keuntungan dari itu untuk mengatur relational database engine untuk menyimpan data secara aman dan efiesien. Untuk Android, SQLite dijadikan satu di dalam Android runtime, sehingga setiap aplikasi Android dapat membuat basis data SQLite. Karena SQLite menggunakan antarmuka SQL, cukup mudah untuk digunakan orang orang dengan pengalaman lain yang berbasis databases. Terdapat beberapa alasan mengapa SQLite sangat cocok untuk pengembangan aplikasi Android, yaitu: a) Database dengan konfigurasi nol. Artinya tidak ada konfigurasi database untuk para developer. Ini membuatnya relatif mudah digunakan. b) Tidak memiliki server. Tidak ada proses database SQLite yang berjalan. Pada dasarnya satu set libraries menyediakan fungsionalitas database. Single-file database. Ini membuat keamanan database secara langsung. Open source. Hal ini membuat developer mudah dalam pengembangan aplikasi. http://digilib.mercubuana.ac.id/ 24 2.5.2 SQLite Fitur SQLite standar mengimplementasikan hampir seluruh elemen-elemen yang berlaku pada SQL-92, termasuk transaksi yang bersifat atomic, konsistensi basisdata, isolasi, dan durabilitas (dalam bahasa inggris lebih sering disebut ACID), trigger, dan kueri-kueri yang kompleks. Tidak ada pengecekan tipe sehingga data bisa dientrikan dalam bentuk string untuk sebuah kolom bertipe integer. Beberapa kalangan melihat hal ini sebagai sebuah inovasi yang menambah nilai guna dari sebuah basisdata, utamanya ketika digunakan dalam bahasa pemrograman berbasis script (PHP, Perl), sementara kalangan lain melihat hal tersebut sebagai sebuah kekurangan. Beberapa proses ataupun thread dapat berjalan secara bersamaan dan mengakses basis data yang sama tanpa mengalami masalah. Hal ini disebabkan karena akes baca data dilakukan secara paralel. Sementara itu akses tulis data hanya bisa dilakukan jika tidak ada proses tulis lain yang sedang dilakukan, jika tidak, proses tulis tersebut akan gagal dan mengembalikan kode kesalahan (atau bisa juga secara otomatis akan mencobanya kembali sampai sejumlah nilai waktu yang ditentukan habis). Hanya saja ketika sebuah tabel temporer dibuat, mekanisme penguncian pada proses multithread akan menyebabkan masalah. Update yang terkini (versi 3.3.4) dikatakan telah memperbaiki masalah ini. Sebuah program yang mandiri dinamakan SQLite disediakan dan bisa digunakan untuk mengeksekusi queri dan memanajemen file-file basisdata SQLite. Program tersebut juga http://digilib.mercubuana.ac.id/ 25 merupakan contoh implementasi penulisan aplikasi yang menggunakan pustaka SQLite. 2.6 Android Debug Bridge (ADB) Android Debug Bridge (adb) adalah alat baris perintah serbaguna yang memungkinkan Anda berkomunikasi dengan sebuah instance emulator atau perangkat Android yang terhubung. Ini memfasilitasi berbagai tindakan perangkat, seperti memasang dan melakukan debug aplikasi, serta menyediakan akses shell Unix yang bisa Anda gunakan untuk menjalankan berbagai perintah pada emulator atau perangkat yang terhubung. Ini adalah program klien-server yang meliputi tiga komponen: a) Klien, yang mengirimkan perintah. Klien berjalan pada mesin development Anda. Anda bisa meminta klien dari terminal baris-perintah dengan mengeluarkan perintah adb. b) Daemon, yang menjalankan perintah pada perangkat. Daemon berjalan sebagai proses latar belakang pada setiap emulator atau instance perangkat. c) Server, yang mengelola komunikasi antara klien dan daemon. Server berjalan sebagai proses latar belakang pada mesin development Anda[3]. http://digilib.mercubuana.ac.id/ 26 2.7 Android Developer Tools (ADT) Menurut Safaat juga memaparkan bahwa Android Development Tools (ADT) adalah plug-in yang di desain untuk IDE Eclipse yang memberi kita kemudahan dalam mengembangkan aplikasi Android dengan menggunakan IDE Eclipse. Dengan menggunakan ADT untuk Eclipse, ini akan memudahkan kita dalam membuat aplikasi project Android, membuat GUI aplikasi, dan menambahkan komponen– komponen yang lainnya[3]. Selain itu kita juga dapat melakukan running aplikasi menggunakan Android SDK melalui Eclipse. Dengan ADT kita juga dapat melakukan pembuatan package Android (.apk) yang digunakan untuk distribusi aplikasi Android yang kita rancang. Mengembangkan aplikasi Android dengan menggunakan ADT di Eclipse sangat mudah dan baik untuk memulai mengembangkan aplikasi Android. Semakin tinggi platform Android yang kita gunakan, maka penggunaan ADT dianjurkan untuk memakai versi yang lebih baru, karena munculnya platform baru diikuti oleh munculnya versi ADT yang terbaru. Versi ADT yang kami gunakan untuk Eclipse dalam pembuatan aplikasi ini adalah versi terbaru ADT yang telah dirilis, yaitu ADT 20.0.3 (2012). 2.8 Java Development Kit (JDK) Menurut DeCoster (2012), Java adalah sebuah teknologi yang diperkenalkan oleh Sun Microsysytems pada pertengahan tahun 1990. Menurut definisi Sun, Java adalah nama untuk sekumpulan teknologi http://digilib.mercubuana.ac.id/ 27 untuk membuat dan menjalankan perangkat lunak pada computer standalone ataupun pada lingkungan jaringan. Untuk membuat program Java dibutuhkan kompiler dan interpreter untuk program Java berbentuk Java Development Kit (JDK) yang diproduksi oleh Sun Microsystems. Sebelum memulai instalasi Android SDK, terlebih dahulu kita harus melakukan instalasi JDK di komputer. JDK yang kami gunakan untuk dapat mengompilasi aplikasi android yang kami rancang ini adalah Java SE Development Kit 8[6]. 2.8.1 Bahasa pemograman JAVA Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Java tidak boleh disalahpahami sebagai JavaScript. JavaScript adalah bahasa scripting yang digunakan oleh web browser[7]. 2.9 Metode Waterfall 2.9. 1. Karakteristik Metode Waterfall Dalam model initerdapat beberapa sifat-sifat yang menojol dan cenderung menjadi permasalahan pada model waterfall Menurut Pressman (2010): A. Ketika problem muncul, maka proses berhenti karena tidak dapat menuju ke tahapan selanjutnya. Apabila terdapat kemungkinan problem tersebut muncul akibat kesalahan dari tahapan sebelumnya, http://digilib.mercubuana.ac.id/ 28 maka proses harus membenahi tahapan sebelumnya agar problem ini tidak muncul. B. Karena pendekatannya secara sequential, maka setiap tahap harus menunggu hasil dari tahap sebelumnya. Hal itu tentu membuang waktu yang cukup lama,artinya bagian lain tidak dapat mengerjakan hal lain selain hanya menunggu hasil dari tahap sebelumnya[8]. Fase Metode Waterfall Roger S. Pressman memecah model inimenjadi 5 tahapan, diantaranya : Communication 2 Planning Modelling Contruction Deployment Gambar 2.1 Tahapan Metode Waterfall Fase model waterfall menurut Pressman : 1. Communication Langkah ini merupakan analisis terhadap kebutuhan software, dan tahap untuk mengadakan pengumpulan data dengan melakukan pertemuan dengan customer, maupun mengumpulkan data-data tambahan baik yang ada di jurnal, artikel, maupun dari internet. http://digilib.mercubuana.ac.id/ 29 2. Planning Proses planning merupakan lanjutan dari proses communication (analysis requirement). Tahapan ini akan menghasilkan dokumen user requiremen atau biasa dikatakan sebagai data yang berhubungan dengan keinginan user dalam pembuatan software, termasuk rencana yang akan dilakukan. 3. Modeling Proses modeling ini akan menerjemaahkan syarat kebutuhan kesebuah perancangan software yang dapat diperkirakan sebelum dibuat coding, proses ini berfokus pada rancangan struktur data, arsitektur software, representasi interface ,dan detail (algoritma) procedural. Tahapan ini menghasilkan dokumen yang disebut software requiremen. 4. Construction Construction merupakan proses membuat kode, coding atau pengkodean meruapakan penerjemaah desain dalam bahasa yang biasa dikenali oleh computer. Programmer akan menerjemaahkan transaksi yang diminta oleh user. Tahapan inilah yang merupakan tahapan secara nyata dalam mengerjakan suatu software, artinya penggunaan computer akan dimaksimalkan dalam tahapan ini. 5. Deployment Tahapan ini biasa dikatakan final dalam pembuatan sebuah software atau sistem. Setelah melakukan analisis, desain dan pengkodean maka sistem yang sudah jadi akan digunakan oleh user, kemudian software yang telah dibuat harus dilakukan pemeliharaan secara berkala. http://digilib.mercubuana.ac.id/ 30 2. 10. UML (Unified Modeling Language) 2.10. 1. Pengenalan UML Pada perkembangan teknologi perangkat lunak, diperlukan adanya bahasa yang digunakan untuk memodelkan perangkat lunak yang akan dibuat dan perlu adanya standarisasi agar orang di berbagai negara dapat mengerti pemodelan perangkat lunak. Banyak orang yang telah membuat bahasa pemodelan pembangunan perangkat lunak sesuai dengan teknologi pemrograman yang berkembang pada saat itu, misalnya yang sempat berkembang dan digunakan oleh banyak pihak adalah Data Flow Diagram (DFD) untuk memodelkan perangkat lunak yang menggunakan pemrograman prosedural atau struktural. Pada perkembangan teknik pemrograman berorientasi objek, muncullah sebuah standarisasi bahasa pemodelan untuk pembangunan perangkat lunak yang dibangun dengan menggunkan teknik pemrograman Modeling Language (UML). berorientasi objek, UML merupakan yaitu Unified bahasa visual untukpemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung. UML hanya berfungsi untuk melakukan pemodelan. Jadi penggunaan UML tidak terbatas pada metodologi tertentu, meskipun pada kenyataannya UML paling banyak digunakan pada metodologi berorientasi objek[9]. http://digilib.mercubuana.ac.id/ 31 2.10. 2. Diagram UML Pada UML 2.2 terdiri dari 17 macam diagram yang dikelompokkan dalam 3 kategori[9]. Pembagian kategori dan macam-macam diagram tersebut dapat dilihat pada gambar dibawah: Gambar 2.2 Diagram UML Berikut ini penjelasan singkat dari pembagian kategori tersebut : 1. Structure diagrams yaitu kumpulan diagram yang digunakan untukmenggambarkan suatu struktur statis dari sistem yang dimodelkan. 2. Behaviour yaitu kumpulan diagram yang digunakan untukmenggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada sebuah sistem. 3. Interaction diagrams yaitu kumpulan diagram yang digunakan utukmenggambarkan interaksi sistem dengan sistem lain maupun interaksi antar subsistem pada suatu sistem[9]. http://digilib.mercubuana.ac.id/ 32 2.11. Use Case Diagram. Sebuah use case dapat mewakili sistem bisnis berinteraksi dengan lingkungannya. Ini menggambarkan kegiatan yang dilakukan oleh para pengguna sistem. Pemodelan use case sering di anggap sebagai pandangan eksternal atau fungsional bisnis proses, hal itu menunjukkan bagaimana pengguna melihat proses, bukan mekanisme internal dimana proses dan sistem pendukung beroperasi. Seperti diagram aktivitas, penggunaan kasus dapat mendokumentasikan sistem saat ini (yaitu, as-adalah sistem) atau sistem baru yang dikembangkan[10]. Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor dan usecase : 1. 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 orang, tapi aktor belum tentu merupakan orang 2. Use case merupakan fungsionalitas yang disediakan sistem sebagai unit – unit yang saling bertukar pesan antar unit atau aktor. http://digilib.mercubuana.ac.id/ 33 Berikut adalah simbol – simbol yang ada pada diagram use case : Table 2.1 Simbol Pada Use Case Diagram Simbol Nama symbol Actor/Role Keterangan Seseorang atau sesuatu yang berinteraksi dengan sistem. Use Case Menggambarkan bagaimana seseorang akan menggunakan sistem. Subject Merupakan lingkup subjek, misalnya sistem atau individu proses bisnis. Association Untuk mendokumentasikan alran –aliran Relationship logik dalam setiap Use Case. Extends Memungkinkan suatu Use Case memiliki kemungkinan memperluas fungsionalitas yang disediakan oleh use case lainnya. Include Include memungkinkan Use Case untuk menggunakan fungsional yang sediakan oleh Use Case lainnya. http://digilib.mercubuana.ac.id/ di 34 http://digilib.mercubuana.ac.id/ 35 sebagai diagram aliran data yang dihubungkan dengan analisis terstruktur. Namun, tidak seperti aliran data diagram, diagram aktivitas termasuk notasi yang membahas pemodelan paralel, bersamaan dan proses keputusan yang kompleks [10].Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem. Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal – hal berikut : Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan. Urutan atau pengelompokkan tampilan dari sistem/user inteface dimana setiap aktivitas dianggap memiliki sebuah rancangan antar muka tampilan. Rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya. Rancangan menu yang akan ditampilkan pada perangkat lunak. Berikut adalah simbol-simbol yang ada pada activity diagram: Table 2.2Simbol Pada Activity Diagram Simbol Nama Simbol Keterangan Initial Node Merupakan tanda awal dari sebuah aktivitas Final-Activity Node Merupakan tanda berakhirnya sebuah aktivitas http://digilib.mercubuana.ac.id/ 36 Activity Merupakan sebuah gambaran aktivitas yang terjadi Decision Note Pilihan untuk pengambilan keputusan Merge Node Membawa kembali jalur keputusan bersama yang berbeda yang dibuat dengan menggunakan keputusan simpul Swimlane Memisahkan organisasi bisnis yang Swimlane Name bertanggung jawab terhadap aktifitas yang terjadi. Control Flow Menunjukan urutan eksekusi Object Flow Menunjukkan aliran objek dari satu kegiatan (atau kegiatan) untuk kegiatan tindakan). http://digilib.mercubuana.ac.id/ lain (atau 37 Gambar 2.4Contoh Activity Diagram 2.13. Sequence Diagram Diagram sequence adalah salah satu dari dua jenis diagram interaksi. Mereka menggambarkan objek – objek yang terlibat dalam sistem berupa pesan yang digambarkan terhadap waktu[9]. Sebuah diagram sequence adalah model dinamis yang menunjukkan urutan eksplisit pesan antar objek dalam mendefinisikan interaksi. Karena sequence diagram menekankan pemesanan berbasis waktu kegiatan yang terjadi diantara set objek, mereka sangat membantu untuk memahami http://digilib.mercubuana.ac.id/ 38 spesifikasi real-time dan sistem yang kompleks.Berikut simbol yang ada pada Sequence Diagram: Table 2.3Simbol Sequence Diagram Simbol Nama Simbol Keterangan Actor Orang atau sistem yang berasal dari manfaat dan eksternal ke sistem yang berpartisipasi secara berurutan dengan mengirim dan/atau menerima pesan. Object Berpatisipasi secara berurutan dengan mengirim dan/atau menerima pesan yang ditempatkan diatas diagram. Execcution Occurrence Menyatakan objek dalam keadaan aktif fan berinteraksi pesan. Message Pesan yang menggambarkan komunikasi yang terjadi antar objek. Message (return) Pesan yang dikirim untuk diri sendiri secara langsung. Lifeline Menyatakan kehidupan suatu objek. Message (return) Pesan yang dikirim untuk diri sendiri. http://digilib.mercubuana.ac.id/ 39 Gambar 2.5Contoh Sequence Diagram http://digilib.mercubuana.ac.id/