BAB II
LANDASAN TEORI
Bab ini menjelaskan landasan teori yang menunjang penulisan tugas akhir mengenai pembuatan aplikasi Tajwid dan Hijaiyah – Aplikasi mobile yang diperuntukan untuk belajar tajwid dasar dan hijaiyah secara lengkap. Dasar teori yang digunakan dalam pengembangan aplikasi ini adalah dasar teori tentang tahapan perancangan dan pengembangan perangkat lunak, Eclipse, Jquery Mobile, Phonegap, API, dan HTML5, . 2.1
Tahapan Pengembangan Dan Perancangan System Perangkat Lunak Dalam tahap perancangan aplikasi dan pembuatan aplikasi, Menurut Luther(1994) terdapat
6 tahap yaitu: 1. Concept (Pengonsepan) 2. Design (Pendesainan) 3. Material Collecting ( Pengumpulan Bahan dan Materi) 4. Assembly (Penbuatan/pengkodean) 5. Testing(Pengujian) 6. Distribution (Pendistribusian) Keenam tahap ini tidak harus berurutan dalam praktiknya, tahap-tahap tersebut bisa dapat bertukar posisi tergantung kebutuhan. Meskipun begitu, tahap Concept memang harus menjadi hal pertama yang di kerjakan. Penjelasan rinci tentang proses diatas adalah sebagai berikut, 1. Concept Pada tahap ini adalah menetukan tujuan dan siapa pengguna/audience dari aplikasi Tajwid dan Hijaiyah, bentuk aplikasi (presentasi, interaktif), tujuan aplikasi, dan
spesifikasi umum lainnya. Pentingnya tahapan ini adalah untuk mengetahui hal apa yang akan kita lakukan pada tahap pembuatan design aplikasi Tajwid dan Hijaiyah. 2. Design Design adalah membuat spesifikasi rinci mengenai arsitektur program, gaya, tampilan, dan kebutuhan material/bahan untuk aplikasi Tajwid dan Hijaiyah, pada tahap ini spesifikasi di buat serinci mungkin sehingga pada tahap selanjutnya, yaitu pada tahap pengumpulan bahan dan materi tidak di perlukan keputusan baru. Namun demikian pasti sering terjadi penambahan bahan atau bagian aplikasi yang harus di tambah, dihilangkan, atau di ubah pada awal pengerjaan aplikasi. 3. Material Collecting Tahap pengumpulan data sesuai dengan kebutuhan aplikasi yang sedang di kerjakan. Bahan bahan tersebut antara lain image hijaiyah, image tajwid, sound tajwid dan sound hijaiyah, image untuk game. Tahap ini juga dapat di kerjakan secara pararel dengan tahap assembly. 4. Assembly Tahap ini merupakan tahap pembuatan objek dan coding. Pembuatannya berdasarkan Storyboard, flowchart, dan struktur navigasi yang ada dalam tahap design. 5. Testing Tahap testing dilakukan setelah menyelesaikan tahapan assembly dengan menjalankan aplikasi pada android SDK apakah aplikasi berjalan baik atau belum, tahap awal pengetesan biasanya di sebut alpha test, penulis sendiri yang akan melakukan testing aplikasi. Setelah di rasa cukup baru penulis menshare aplikasi secara terbatas kepada beberapa orang yang di rasa kompeten untuk melakukan uji coba. Para beta tester itu lah yang akan memberikan penilaian kepada aplikasi untuk kembali melakukan pembenahan. 6. Distribution Tahap ini aplikasi akan di simpan dalam server penulis, supaya bisa di download para user. Tahap ini juga bisa di sebut tahap evaluasi untuk pengembangan aplikasi yang sudah jadi supaya lebih baik lagi. Hasil evaluasi tersebut digunakan sebagai masukkan untuk tahap concept pada aplikasi selanjutnya.
2.2
UML (Unified Modeling Language) Menurut Whitten dan Bentley (2007, p371), UML adalah satu kumpulan konvensi
pemodelan yang digunakan untuk menentukan atau menggambarkan sebuah sistem software yang terkait dengan objek. UML terdiri dari beberapa diagram, antara lain: 2.2.1
Use Case Diagram
Menurut Whitten dan Bentley (2007, p382), Use Case diagram menggambarkan interaksi antara sistem dan sistem eksternal, serta user. Dengan kata lain, Use Case diagram menggambarkan siapa yang akan menggunakan sistem dan dengan jalan apa yang diinginkan user untuk berinteraksi dengan sistem. Selain itu, Use Case digunakan untuk secara tekstual menggambarkan urutan langkah setiap interaksi tersebut. Fokus Use Case adalah pada tugas sistem yang berasal dari pandangan secara eksternal. Use Case menjabarkan suatu entity yang berhubungan dengan sistem. Identifikasi dari aktor dan Use Case menghasilkan definisi dari batasan sistem, yang membedakan tugas yang sistem oleh sistem dan tugas yang diselesaikan oleh aktor. Gambar 2.1 Contoh Use Case Diagram:
Gambar 2.1 Contoh Use Case diagram (Whitten dan Bentley 2007)
2.2.2
Sequence Diagram
Menurut Whitten dan Bentley (2007, p382), Sequence diagram adalah diagram yang menggambarkan bagaimana objek berinteraksi dengan objek lainnya melalui pesan dalam suatu eksekusin dari sebuah Use Case atau sebuah operasi. Sequence diagram juga mengilustrasikan bagaimana pesan dikirim dan diterima oleh objek dan terjadi di dalam suatu sequence. Sequnce Diagram ini berguna untuk mengidentifikasi objek tambahan yang berada dalam Use Case. Pada diagram ini terdapat kolom yang meggambarkan objek yang berpartisipasi dalam sebuah interaksi. Pesan digambarkan dengan tanda panah, yang mana label dari tanda panah itu menjelaskan nama pesan dan boleh berisi argumen. Suatu aktivitas digambarkan dengan kotak dengan posisi vertikal. Aktor yang memulai interaksi, digambarkan di bagian kiri. Pesan dari aktor, menggambarkan interaksi yang dijelaskan dalam Use Case Diagram. Jika aktor lainnya berhubungan dengan sistem selama tahap Use Case, aktor tersebut digambarkan di bagian kanan dan menerima pesan. Meskipun sederhana, interaksi antara objek dan aktor digambarkan sebagai pesan. Bentuknya tergantung dari interaksi antara aktor dan sistem, yang berbeda dengan interaksi antara objek. Salah satu contoh Sequence diagram digambarkan sebagai berikut:
Gambar 2.2 Contoh Sequence Diagram (Whitten dan Bentley 2007)
2.2.3
Activity Diagram
Menurut Whitten dan Bentley (2007, p382), Activity diagram menggambarkan struktur objek dari sistem. Juga menampilkan object class dari sistem yang dibuat sebagai relationship antar objek lainnya. Aktivitas tersebut bisa terdiri dari elemen model yang menggambarkan mengenai serangkaian proses eksekusi yang sedang berjalan. Eksekusi tersebut bisa digerakkan oleh penyelesaian dari aktivitas lain, kemudian dari objek yang tersedia, atau dari kegiatan dari luar. Salah satu contoh Activity diagram digambarkan sebagai berikut:
Gambar 2.3 Contoh dari Activity Diagram (Whitten dan Bentley 2007)
2.3
Tahapan Proses Tahapan proses merupakan langkah-langkah terurut untuk menyelesaikan suatu masalah,
dimana untuk bisa masuk ketahap selanjutnya kita sebaiknya menyelesaikan tahapan sebelumnya.
2.3.1
Analisis dan Perancangan
Analisis dilakukan terhadap beberapa referensi sebagai dasar untuk implementasi dan di dapatkan ide untuk mengaplikasikan aplikasi ini kedalam ponsel, supaya lebih gampang belajar dimana saja tanpa perlu koneksi internet. Adapun tahap-tahap perancangannya adalah sebagai berikut: Perancangan system, perancangan proses dan perancangan antarmuka. Aplikasi ini akan berjalan pada ponsel smartphone Android, Blackberry dan Windows Phone yang akan memberikan data-data tentang tajwid dan hijaiyah secara lengkap dan menyeluruh. 2.3.2
Implementasi dan Pengujian
Melakukan implementasi dari hasil perancangan yang di definisikan kedalam bentuk coding dengan framework PhoneGap dan bahasa dasar HTML5 dan jquery mobile. Setelah coding selesai, dilakukan pengujian ke device yang sudah disiapkan, yang di tunjukkan untuk melihat apakah ada kesalahan/error untuk di analisa kembali dan kemudian dilakukan perbaikan sebelum aplikasi ini di share kepada user. Pengujian meliputi testing pada Android Emulator dan melihat apakah aplikasi sudah berjalan seperti fungsi yang seharusnya atau masih belum, pengujian ini juga meliputi pengujian terhadap kompatibilitas terhadap jenis device yang akan di gunakan untuk mengakses aplikasi. 2.3.3
Pengambilan Kesimpulan
Pengambilan kesimpulan dari aplikasi yang telah di buat dilakukan setelah semua tahapan perancangan dan pengujian system aplikasi telah selesai. Pengambilan kesimpulan ini didasarkan pada kesesuaian antara teori dan praktek. Kesimpulan ini merupakan informasi akhir dari perancangan aplikasi yang berisi tentang berhasil atau tidaknya aplikasi ini saat di jalankan. 2.4
PhoneGap PhoneGap adalah sebuah kerangka kerja/framework open source yang dipakai untuk
membuat aplikasi cross-platform mobile dengan HTML, CSS, dan JavaScript. PhoneGap menjadi suatu solusi yang ideal untuk seorang web developer yang tertarik dalam pembuatan aplikasi di smartphone.
PhoneGap juga merupakan solusi ideal bagi mereka yang tertarik untuk membuat sebuah aplikasi yang dapat berjalan pada beberapa perangkat smartphone dengan basis kode yang sama. Artinya, cukup hanya dengan 1 kali koding saja, kita bisa membuat aplikasi untuk smartphone iPhone, Android, Blackberry, Symbian dan Palm. Jadi, dengan PhoneGap kita bisa menghemat waktu dalam membuat aplikasi untuk beberapa smartphone sekaligus. Cara Kerja PhoneGap PhoneGap SDK menyediakan sebuah API, yaitu sebuah lapisan abstrak yang menyediakan pengembang dengan akses ke fitur hardware dan platform tertentu. PhoneGap menjelaskan bahwa dengan kode yang sama dapat digunakan pada sejumlah platform mobile dengan sedikit perubahan koding ataupun tidak, yang membuat aplikasi kita dapat dipakai untuk kalangan pengguna yang lebih luas. Fitur hardware yang didukung oleh PhoneGap API
Gambar 2.4 Fitur Phonegap API pada setiap device (www.phonegap.com) 2.5
Jquery Mobile JQuery telah lama menjadi JavaScript library yang populer untuk menciptakan website
interaktif yang kaya dan aplikasi web. Namun, karena ini dirancang terutama untuk browser desktop, jquery tidak memiliki banyak fitur yang khusus dirancang untuk membangun aplikasi web mobile.
jQuery Mobile adalah proyek baru yang membahas kekurangan ini. Ini adalah framework yang dibangun di atas jQuery yang menyediakan berbagai elemen User-interface dan fitur-fitur untuk digunakan dalam aplikasi mobile. Framework ini cukup canggih, versi alpha pertama dirilis bulan lalu – tapi sudah memungkinkan untuk melakukan beberapa hal besar. Pada artikel ini saya melihat beberapa fitur kunci dan manfaat dari Jquery mobile dan menunjukkan beberapa contoh bagaimana framework baru ini dapat membantu Anda membangun aplikasi mobile berkualitas dan dalam waktu singkat. Apa yang dapat jQuery Mobile lakukan?
jQuery Mobile memudahkan pengembangan user-interface untuk mobile web apps.
The interface configuration is markup-driven, yang berarti Anda dapat membuat seluruh aplikasi antarmuka dasar dalam HTML, tanpa perlu menulis satu baris JavaScript.
Menyediakan serangkaian custom events baru, mendeteksi events mobile device dan touchscreen seperti tap, tap-and-hold, swipe, and orientation change (i.e. rotating the device).
Memastikan bahwa user-interfcae bekerja pada web browser.
Menggunakan theme untuk memudahkan untuk costumized tampilan aplikasi Anda. (jquerymobile.com)
2.6
HTML5 HTML5 adalah sebuah bahasa markah untuk menstrukturkan dan menampilkan isi dari
Waring Wera Wanua, sebuah teknologi inti dari Internet. HTML5 adalah revisi kelima dari HTML (yang pertama kali diciptakan pada tahun 1990 dan versi keempatnya, HTML4, pada tahun 1997[1]) dan hingga bulan Juni 2011 masih dalam pengembangan. Tujuan utama pengembangan HTML5 adalah untuk memperbaiki teknologi HTML agar mendukung teknologi multimedia terbaru, mudah dibaca oleh manusia dan juga mudah dimengerti oleh mesin. HTML5 merupakan salah satu karya Konsortium Waring Wera Wanua (World Wide Web Consortium, W3C) untuk mendefinisikan sebuah bahasa markah tunggal yang dapat ditulis dengan cara HTML ataupun XHTML. HTML5 merupakan jawaban atas pengembangan HTML 4.01 dan XHTML 1.1 yang selama ini berjalan terpisah, dan diimplementasikan secara berbeda-beda oleh banyak perangkat lunak dan para pembuat web. (www.wikipedia.com)
2.7
Tajwid Tajwīd (
) secara harfiah bermakna melakukan sesuatu dengan elok dan indah atau
bagus dan membaguskan, tajwid berasal dari kata Jawwada (ﺟﻮّ د-ﯾﺠﻮّ د-
) dalam bahasa Arab.
Dalam ilmu Qiraah, tajwid berarti mengeluarkan huruf dari tempatnya dengan memberikan sifatsifat yang dimilikinya. Jadi ilmu tajwid adalah suatu ilmu yang mempelajari bagaimana cara membunyikan atau mengucapkan huruf-huruf yang terdapat dalam kitab suci al-Quran maupun bukan. Adapun masalah-masalah yang dikemukakan dalam ilmu ini adalah makharijul huruf (tempat keluar-masuk huruf) shifatul huruf (cara pengucapan huruf), ahkamul huruf (hubungan antar huruf), ahkamul maddi wal qasr (panjang dan pendek ucapan), ahkamul waqaf wal ibtida’ (memulai dan menghentikan bacaan) dan al-Khat al-Utsmani. Pengertian lain dari ilmu tajwid ialah menyampaikan dengan sebaik-baiknya dan sempurna dari tiap-tiap bacaan ayat al-Quran. Para ulama menyatakan bahwa hukum bagi mempelajari tajwid itu adalah fardhu kifayah tetapi mengamalkan tajwid ketika membaca al-Quran adalah fardhu ain atau wajib kepada lelaki dan perempuan yang mukallaf atau dewasa. (www.wikipedia.com) 2.8
Hijaiyah Hijaiyah adalah huruf standard dari timur tengah, seperti halnya alphabet pada system
tanda baca yang umum di dunia, huruf hijaiyah juga di pakai di Al-quran. Maka setiap orang islam seharusnya tau apa itu huruf hijaiyah karena sebagai dasar dalam membaca Al-quran. 2.9
Eclipse 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:
Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.
Mulit-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.
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. (www.eclipse.org) 2.10
API (Application Programming Interface) API adalah seperangkat aturan tertentu atau algoritma tertentu yang dikodekan dengan
spesifik dapat digunakan dan berkomunikasi oleh perangkat lunak lainnya (Applikasi). Berfungsi sebagai antarmuka antara program perangkat lunak yang berbeda dan memfasilitasi interaksi antara kedua applikasi tersebut, mirip dengan cara antarmuka pengguna memfasilitasi interaksi antara manusia dan komputer. API dapat dibuat untuk aplikasi, sistem operasi , dll, sebagai cara mendefinisikan "kosakata" dan ruang lingkup sumber daya (pemanggilan fungsi-fungsi di luar applikasi itu sendiri). Dalam web , API biasanya satu set didefinisikan dengan Hypertext Transfer Protocol ( HTTP ) permintaan pesan , bersama dengan definisi struktur respon pesan, yang biasanya dalam Extensible Markup Language ( XML ) atau JavaScript Object Notation (JSON Encode) format. Sementara "Web API" hampir sinonim untuk layanan web , tren baru-baru (disebut Web 2.0 ) telah bergerak menjauh dari Simple Object Access Protocol ( SOAP ) jasa berdasarkan arah yang lebih langsung Representational State Transfer(REST) komunikasi gaya. Web API memungkinkan kombinasi dari beberapa layanan ke dalam aplikasi baru yang dikenal sebagai mashups (www.wikipedia.com). 2.11
Android SDK Android SDK mencakup perangkat tools pengembangan yang komprehensif. Android
SDK terdiri dari debugger, libraries, handset emulator, dokumentasi, contoh kode program dan tutorial. Saat ini Android sudah mendukung arsitektur x86 pada Linux (distribusi Linux apapun untuk desktop modern), Mac OS X 10.4.8 atau lebih, Windows XP atau Vista. Persyaratan
mencakup JDK, Apache Ant dan Python 2.2 atau lebih. IDE yang didukung secara resmi adalah Eclipse 3.2 atau lebih dengan menggunakan plugin Android Development Tools (ADT), dengan ini pengembang dapat menggunakan IDE untuk mengedit dokumen Java dan XML (Extensible Markup Language) serta menggunakan peralatan command line untuk menciptakan, membangun, melakukan debug aplikasi Android dan pengendalian perangkat Android (misalnya reboot, menginstal paket perangkat lunak). Android SDK telah dirilis pada tanggal 12 November 2007. Dan pada tanggal 15 Juli 2008 tim Android Developer Challenge dengan sengaja mengirimkan e-mail ke semua pendatang baru di Android Developer Challenge untuk mengumumkan bahwa rilis SDK terbaru telah tersedia pada halaman download. E-mail tersebut juga ditujukan kepada pemenang Android Developer Challenge putaran pertama. Sebuah penyataan bahwa Google telah menyediakan rilis SDK terbaru untuk beberapa pengembang. Pada tanggal 18 Agustus 2008, Android SDK 0.9 beta dirilis. Rilis ini menyediakan API yang telah diperbarui dan diperluas, perbaikan pada tools pengembangan dan disain terbaru untuk tampilan home. Petunjuk untuk meng-upgrade SDK sudah tersedia pada rilis sebelumnya. Pada tanggal 23 September 2008, Android 1.0 SDK telah dirilis. Pada tanggal 9 Maret 2009, Google merilis versi 1.1 untuk ponsel Android. Rilis terbaru tersebut termasuk dukungan untuk pencarian dengan suara, harga aplikasi, perbaikan jam alarm, perbaikan pengiriman e-mail pada gmail, perbaikan notification dan peta. Pada pertengahan Mei 2009, Google merilis versi 1.5 (Cupcake) pada sistem operasi Android dan SDK. Pembaruan ini termasuk pada dukungan beberapa fitur baru seperti perekaman video, bluetooth, sistem keyboard pada layar dan pengenalan suara. Rilis ini juga membuka AppWidget framework kepada para pengembang yang memungkinkan untuk membuat widget sendiri pada tampilan home. Pada September 2009 versi 1.6 (Donut) dirilis yang dapat menampilkan hasil pencarian yang lebih baik dan penggunaan indikator baterai. Aplikasi Android dipaketkan ke dalam format .apk dan disimpan pada folder /data/app. Pengguna dapat menjalankan perintah adb root untuk mengakses folder tersebut karena root memiliki izin untuk mengakses folder tersebut. (xda-developers.com)
2.12
Windows Phone Pada pembahasan disini penulis akan membahas Windows Phone 8. Windows Phone 8
memiliki user interface yang mirip dengan "Metro" yang ada di sistem operasi Windows 8. Layar depan atau start screen akan terdiri dari berbagai kotak atau tile seperti di Windows Phone 7,5. Hanya saja, di WP 8 tidak ada panah yang menunjukkan Anda harus swipe ke samping untuk membuka lebih banyak aplikasi. Microsoft menggunakan Internet Explorer 10 untuk digunakan di sistem operasi WP 8. Untuk membantu pengamanan, WP 8 ini disertai phishing filter dan aplikasi SmartScreen, yang digunakan untuk menghalau situs malicious yang mengarahkan pengguna ke situs yang 'mencuri' informasi pribadi. WP 8 juga memiliki perbaikan di grafis. Denganperforma 3D yang lebih baik, game pun akan lebih menarik untuk dimainkan di perangkat berbasis WP 8. Microsoft juga mengintegrasi layanan Skype di WP 8. Ini menyebabkan video call lebih mudah dilakukan di perangkat berbasis WP 8. Selain video call, layanan VOIP pun mudah digunakan di perangkat WP 8. Konektivitas di WP terbaru ini juga dilengkapi teknologi Near Field Communication. Ini menyebabkan perangkat WP 8 memungkinkan untuk digunakan untuk pembayaran online, melalui aplikasi Microsoft Wallet. Untuk performa yang baik, perangkat WP 8 pun akan berjalan di prosesor ARM. Qualcomm bahkan mengatakan semua perangkat WP 8 akan dilengkapi chip MSM8960 dual-core Krait yang dikenal dengan sebutan Snapdragon S4 Plus.(xda-developers.com) 2.13
Blackberry BlackBerry adalah perangkat selular yang memiliki kemampuan layanan push e-mail,
telepon, sms, menjelajah internet, messenger (Blackberry Messenger/BBM), dan berbagai kemampuan nirkabel lainnya. Penggunaan gadget canggih ini begitu fenomenal belakangan ini, sampai menjadi suatu kebutuhan untuk fashion. BlackBerry pertama kali diperkenalkan pada tahun 1999 oleh perusahaan Kanada, Research In Motion (RIM). Kemampuannya menyampaikan
informasi melalui jaringan data nirkabel dari layanan perusahaan telepon genggam hingga mengejutkan dunia.(www.wikipedia.com) 2.14
Android Phone Android adalah sistem operasi yang berbasis Linux untuk telepon seluler seperti telepon
pintar dan komputer tablet. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat peranti 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. Di dunia ini terdapat dua jenis distributor sistem operasi Android. Pertama yang mendapat dukungan penuh dari Google atau Google Mail Services (GMS) dan kedua adalah yang benar– benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai Open Handset Distribution (OHD). (www.wikipedia.com)