commit to user 4 BAB II LANDASAN TEORI 2.1 Teori Utama 2.1.1 Pembelajaran
Menurut Arikunto (1993: 12) pembelajaran adalah suatu kegiatan yang mengandung terjadinya proses penguasaan pengetahuan, keterampilan dan sikap oleh subjek yang sedang belajar atau bantuan pendidikan kepada anak didik agar mencapai kedewasaan di bidang pengetahuan, keterampilan dan sikap.
2.1.2 Al-qur’an
Al-qur'ana dalah kalam Allah yang merupakan mukjizat yang diturunkan (diwahyukan) kepada Rasulullah saw. Setiap mukmin mempunyi kewajiban dan tanggung jawab terhadap kitab sucinya. Diantara kewajiban dan tanggung jawab itu adalah mempelajari dan mengamalkan. (M. Raya Fahreza, 2008)
2.1.3 Tajwid
Belajar membaca tajwid adalah tata cara membaca alqur’an yang baik dan benar yang sesuai dengan aturan. Ilmu tajwid adalah suatu ilmu yang mempelajari bagaimana cara membunyikan atau mengucapkan huruf-huruf yang terdapat dalam kitab suci al-Quran maupun bukan.
Dalam ilmu tajwid terdapat hukum-hukum membaca antara lain yaitu :
1. Idhar
Secara bahasa adalah jelas, adapun secara istilah adalah mengeluarkan huruf tanpa mendengung. Idhar terbagi menjadi 2 yaitu idhar halqi dan idhar syafawi. Idhar halqi adalah bacaan idhar yang keluar dari tenggorokan. Idhar syafawi adalah apabila mim bertemu semua huruf hijaiyah kecuali ba’ dan mim.
commit to user 2. Iqlab
Menurut bahasa memindahkan sesuatu dari bentuk asalnya, sedangkan menurut istilah menjadikan suatu huruf kepada makhroj huruf lain seraya tetap menjaga ghunnah.
3. Ikhfa
Secara bahasa ikhfa adalah samar, secara istilah ikhfa adalah mengucapkan huruf idhar dan idghom dan menjaga gunnah pada huruf yang di ikhfa kan.
4. Idghom
Secara bahasa idghom adalah memasukan sesuatu kedalam sesuatu, sedangkan secara istilah idghom adalah mengucapkan dua huruf menjadi satu huruf dan huruf yang kedua menjadi bertasydid. Biasanya idghom cenderung membaca dengan mendengung satu sampai enam harakat.
5. Qolqolah
Secara bahasa berarti qolqolah adalah bergerak, gemetar, sedangkan secara istilah qolqolah adalah suara tambahan atau pantulan yang kuat dan jelas yang terjadi huruf bersukun setelah menekan huruf makjrof tersebut.
6. Waqaf
Menurut bahasa Waqaf berarti menahan, sedangkan menurut istilah waqaf adalah memutuskan suara pada suatu kalimat pada waktu tertentu tidak begitu lama kemudian mengambil nafas untuk memulai membaca Al-qur’an nya. Waqaf bisa terjadi karena sebab-sebab yaitu sebab ber hamzah, ber sukun, bertasydid atau benar-benar karena waqaf.
commit to user 7. Mad
Manurut bahasa mad adalah memanjangkan dan menambah, sedangkan menurut istilah mad adalah memanjangkan suara salah satu huruf dari huruf-huruf mad, seperti huruf yang berfathah, kasroh atau dhomah. Dalam hukum mad panajang bacaan minimal satu alif atau dua harakat. (Nur Hasan, 2011)
2.2 Teori Sekunder 2.2.1 Android
2.2.1.1 Pengertian Android
Menurut Ricky Adithya Prasetyo (2013:9) secara umum pengertian Android adalah suatu software (perangkat lunak) yang berbasis Linux untuk telepon seluler dan komputer tablet yang meliputi system operasi, middleware dan aplikasi inti. Android SDK menyediakan alat dan API yang diperlukan untuk memulai pengembangan aplikasi pada platform. Android menggunakan bahasa pemrograman Java, yaitu kode Java yang terkompilasi dengan data dan file resources yang dibutuhkan aplikasi dan digabungkan oleh apt tools menjadi paket Android. File tersebut ditandai dengan ekstensi .apk .File inilah yang didistribusikan sebagai aplikasi dan diinstall pada perangkat mobile.
2.2.1.2 Versi Android
Menurut Ricky Adithya Prasetyo (2013:10) sampai saat ini Google inc. telah merilis sebanyak 9 versi Android yaitu :
1. Android versi 1.1
2. Android versi 1.5 (Cupcake) 3. Android versi 1.6 (Donut) 4. Android versi 2.0/2.1 (Eclair)
5. Android versi 2.2 (Froyo: Frozen Yoghurt) 6. Android versi 2.3 (Gingerbread)
commit to user 7. Android versi 3.0 (Honeycomb)
8. Android versi 4.0 (Ice Cream Sandwich) 9. Android 4.1 (Jelly Bean)
2.2.1.3 Android SDK
Menurut Muhammad Fahrul Hastianto (2012:25) Android-SDK merupakan tools untuk mengembangkan aplikasi berbasis google android. Android SDK mencakup seperangkat alat pengembangan yang komprehensif. Android SDK terdiri dari debugger, libraries, handset emulator, dokumentasi, contoh kode, 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 yang lebih baru. IDE yang didukung secara resmi adalah Eclipse 3.2 atau lebih dengan menggunakan plugin Android DevelopmentTools (ADT), dengan ini pengembang dapat menggunakan teks editor untuk mengedit file Java dan XML serta menggunakan peralatan command line untuk menciptakan, membangun, melakukan debug aplikasi Android dan pengendalian perangkat Android (misalnya, reboot, menginstal paket perangkat lunak dengan jarak jauh).
Android SDK telah dirilis pada tanggal 12 November 2007 dan tanggal 15 Juli 2008 tim Android DeveloperChallenge sengaja mengirimkan email ke semua pendatang di AndroidDeveloper Challenge untuk mengumumkan bahwa rilis SDK terbaru telah tersedia pada halaman download pribadi. Email tersebut juga ditujukan kepada pemenang Android Developer Challenge putaran pertama. Sebuah penyataan bahwa Google telah menyediakan rilis SDK terbaru untuk beberapa pengembang dan bukan untuk orang lain. Pada tanggal 18 Agustus 2008, Android SDK 0.9 beta dirilis. Rilis ini menyediakan API yang diperbarui dan diperluas, perbaikan
commit to user
pada alat-alat pengembangan dan desain terbaru untuk layar awal. Petunjuk untuk meng upgrade SDK sudah tersedia pada rilis sebelumnya. Pada tanggal 23 September 2008, Android 1.0 SDK telah dirilis.
2.2.1.4 Platform Android
Menurut Muhammad Fahrul Hastianto (2012:18) Android merupakan subset perangkat lunak untuk perangkat mobile yang meliputi sistem operasi, middleware, dan aplikasi inti yang di release oleh Google. Sedangkan Android SDK (Software Development Kit) menyediakan Tools dan API yang diperlukan untuk Aplikasi Android nantinya tidak akan berjalan langsung di atas kernel sistem operasi namun berjalan di atas Dalvik, sebuah virtual machine yang khusus dirancang untuk digunakan pada sistem embedded mengembangkan aplikasi pada platform Android dengan menggunakan bahasa pemograman Java.
2.2.2 Bahasa Pemrograman Java
Bahasa pemrograman Java adalah bahasa yang digunakan untuk menghasilkan aplikasi-aplikasi Java. Pada umumnya, bahasa pemrograman hanya mendefinisikan sintaks dan perilaku bahasa. Pada saat program Java dikompilasi, ia akan dikonversi ke bentuk bytecode, yang merupakan bahasa mesin yang portable. Selanjutnya, bytecode tersebut dijalankan di Java Virtual Machine (atau disebut Java VM atau JVM). Meskipun JVM dapat diimplementasikan langsung di perangkat keras, namun biasanya diimplementasikan dalam bentuk perangkat lunak yang mengemulasi mesin (komputer) dan digunakan untuk menginterpretasi bytecode.
Platform dapat didefinisikan sebagai perangkat lunak pendukung untuk aktivitas-aktivitas tertentu. Platform Java sendiri pada prinsipnya berbeda dengan bahasa Java atau JVM. Platform Java
commit to user
adalah himpunan kelas-kelas Java yang sudah didefinisikan sebelumnya dan eksis sejak instalasi Java. Platform Java juga mengacu pada lingkungan runtime atau API (Application Programming Interface) Java. (Dwi Prasetyo, 2007)
2.2.3 Eclipse
Menurut Ricky Adithya Prasetyo (26:2013) Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse:
1. Multi-platform: Target untuk sistem operasi Eclipse sendiri adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.
2. 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.
3. Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.
Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in.
2.2.4 UML
UML (Unified Modeling Language) adalah sebuah bahasa untuk menentukan, visualisasi, kontruksi, dan dokumentasi artifact (bagian dari informasi yang digunakan atau dihasilkan dalam suatu proses pembuatan
commit to user
perangkat lunak. Artifact dapat berupa model, deskripsi atau perangkat lunak) dari sistem perangkat lunak, seperti pada pemodelan bisnis dan sistem non perangkat lunak lainnya.
UML merupakan suatu kumpulan teknik terbaik yang telah terbukti
sukses dalam memodelkan sistem yang besar dan kompleks. UML tidak hanya digunakan dalam proses pemodelan perangkat lunak, namun hampir dalam semua bidang yang membutuhkan pemodelan. (Suhendar, 2002)
Tujuan Penggunaan UML, menurut Suhendar (2011) :
1. Memberikan bahasa pemodelan yang bebas dari berbagai bahasa pemrograman dan proses rekayasa.
2. Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan
3. Memberikan model yang siap pakai, bahasa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum.
UML bisa juga berfungsi sebagai sebuah (blue print) cetak biru karena sangat lengkap dan detail. Dengan cetak biru ini maka akan bisa diketahui informasi secara detail tentang coding program atau bahkan membaca program dan menginterpretasikan kembali kedalam bentuk diagram (reserve enginering).
2.2.4.1 Use Case Diagram
Use case diagram merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi tersebut.
Syarat penamaan pada use case adalah nama didefinisikaan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor dan use case.
commit to user
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 gambar orang, tapi aktor belum tentu merupakan orang.
2. Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antarunit atau aktor. (Shalahuddin dan Rosa , 2011)
Berikut adalah simbol-simbol yang ada pada diagram use case :
Tabel 2.1 simbol-simbol use case ( Sumber : Rosa A. S, 2011 : 131-133)
Simbol Nama Keterangan
Use Case Kegiatan yang dilakukan
oleh aktor.
Actor1
Actor Orang yang terlibat dalam
suatusistem.
Communicates Komunikasi antar aktor dan
use case.
«extends»
Extends Relasiuse case tambahan ke
sebuah use case yang ditambahkan dapat berdiri sendiri tanpa use case tambahan tersebut.
2.2.4.2 Activity Diagram
Diagram aktivitas atau activity diagram menggambarkan workflow atau aktivitas dari sebuah sistem atau proses bisnis. Yang perlu diperhatikan
commit to user
disini bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan sistem.
Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal berikut:
1. Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan.
2. Urutan atau pengelompokkan tampilan dari sistem/user interface dimana setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan.
3. Rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya. (Shalahuddin dan Rosa , 2011)
Berikut simbol-simbol yang ada pada diagram aktivitas :
Tabel 2.2 Simbol Activity Diagram
Simbol Nama Keterangan
Status Awal Status awal aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status awal
Aktivitas Aktivitas yang dilakukan system, aktivitas biasanya diawali dengan kata kerja
Percabangan / decision
Asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu Penggabungan / join Asosiasi penggabungan
dimana lebih dari satu aktivitas digabungkan menjadi satu
commit to user
Status akhir Status ahir aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status akhir
2.2.4.3 Sequence Diagram
Sequence diagram digunakan untuk menjelaskan aliran pesan dari suatu class ke class lain secara sequensial (berurutan). Sequence diagram digunakan pada tahap daesain aplikasi. Berikut adalah symbol yang digunakan dalam sequence diagram. (Suhendar, 2002)
Tabel 2.3 Tabel Sequence Diagram
Simbol Deskripsi
Objek dan kelas Menggambarkan seseorang atau sesuatu (seperti perangkat, sistem lain) yang berinteraksi dengan sistem.
Lifeline Lifeline merupakan siklus hidup sebuah
pesan/message berdasarkan waktu
Pesan/Message Pesan/message merupakan komunikasi antara objek yang satu dengan objek yang lainnya dimana objek yang satu meminta objek yang lain melakukan sesuatu
Return Message Return message merupakan balasan/hasil yang
berisi nilai dari sebuah objek yang diminta kepada objek yang meminta (mengirim pesan)
commit to user
Self message Self message merupakan pesan dari sebuah
objek kepada objek itu sendiri untuk melakukan suatu aksi.
Return selft message
Return self message merupakan balasan/hasil dari self message yang berisi suatu nilai kepada objek itu sendiri.
Boundary :
class yg membatasi hak asess , membatasi software dengan pengguna ( User Interface ).
Entity :
mencirikan class yang kita pakai, class ini yang berisi tentang entity entity apa saja yang digunakan dalam sebuah class contoh class mahasiswa memiliki entty.
Control :
Berguna untuk menampilkan method-method yang berjalan di view.
2.2.4.4 Class Diagarm
Class diagram atau diagram kelas merupakan suatu diagram yang menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi.
commit to user
2. Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas.
Kelas-kelas yang ada pada struktur sistem harus dapat melakukan fungsi-fungsi sesuai dengan kebutuhan sistem. Dalam mendefinisikan metode yang ada di dalam kelas perlu memperhatikan apa yang disebut dengan cohesion dan coupling. Cohesion adalah ukuran seberapa dekat keterkaitan instruksi di dalam sebuah metode terkait satu sama lain sedangakan coupling adalah ukuran seberapa dekat keterkaitan instruksi antara metode yang satu dengan metode yang lain dalam sebuah kelas. Sebagai aturan secara umum maka sebuah metode yang dibuat harus memiliki kadar cohesion yang kuat dan kadar coupling yang lemah. (Shalahuddin dan Rosa , 2011)
Berikut adalah simbol-simbol yang ada pada diagram kelas:
Tabel 2.4 Simbol Class Diagram
Simbol Nama Keterangan
+method() -atribut
nama_kelas
Kelas Merupakan kelas pada struktur sistem yang terdiri dari atribut dan method.
Antarmuka / interface
Sama dengan konsep interface dalam pemrograman
berorientasi objek
Asosiasi /
association
Relasi antar kelas dengan makna umum, asosiasi biasanya juga disertai dengan multiplicity. Asosiasi berarah /
directed association
Relasi antar kelas dengan makna kelas yang satu
commit to user
digunakan oleh kelas yang lain, asosiasi biasanya juga disertai dengan multiplicity. Generalisasi /
generalization
Relasi antar kelas dengan makna generalisasi-spesialisasi (umum-khusus)
Kebergantungan / Dependency
Relasi antar kelas dengan makna kebergantungan antar kelas
Agregasi /
aggregation
Relasi antar kelas dengan makna semua-bagian (whole-part)
2.2.4.5 Black Box Testing
Terfokus pada apakah unit program memenuhi kebutuhan (requirement) yang disebutkan dalam spesifikasi. Pada black box testing, cara pengujian hanya dilakukan dengan menjalankan atau mengeksekusi unit atau modul, kemudian diamati apakah hasil dari unit itu sesuai dengan proses bisnis yang diinginkan. Jika ada unit yang tidak sesuai outputnya maka untuk menyelesaikannya, diteruskan pada pengujian yang kedua, yaitu white box testing. (Al Fatta, 2007)