perpustakaan.uns.ac.id
digilib.uns.ac.id
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 commit hijaiyah kecuali ba’ dan mim. to user
4
5 digilib.uns.ac.id
perpustakaan.uns.ac.id
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
6 digilib.uns.ac.id
perpustakaan.uns.ac.id
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) to user 6. Android versi 2.3commit (Gingerbread)
7 digilib.uns.ac.id
perpustakaan.uns.ac.id
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) AndroidSDK 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. commit to user Rilis ini menyediakan API yang diperbarui dan diperluas, perbaikan
8 digilib.uns.ac.id
perpustakaan.uns.ac.id
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
mengembangkan
aplikasi
digunakan pada
pada
platform
sistem
embedded
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 commit to user pada prinsipnya berbeda dengan bahasa Java atau JVM. Platform Java
9 digilib.uns.ac.id
perpustakaan.uns.ac.id
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 commit to user dalam suatu proses pembuatan informasi yang digunakan atau dihasilkan
perpustakaan.uns.ac.id
10 digilib.uns.ac.id
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
11 digilib.uns.ac.id
perpustakaan.uns.ac.id
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 Use Case
Keterangan Kegiatan
yang
dilakukan
oleh aktor. Actor
Orang yang terlibat dalam suatusistem.
Actor1
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
12 digilib.uns.ac.id
perpustakaan.uns.ac.id
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 Status Awal
Keterangan Status
awal
aktivitas
sistem, sebuah diagram aktivitas memiliki sebuah status awal Aktivitas
Aktivitas yang dilakukan system,
Aktivitas
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 commit to user
aktivitas menjadi satu
digabungkan
13 digilib.uns.ac.id
perpustakaan.uns.ac.id
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
14 digilib.uns.ac.id
perpustakaan.uns.ac.id
Self message
Self message merupakan pesan dari sebuah objek kepada objek itu sendiri untuk melakukan suatu aksi.
Return selft
Return self message merupakan balasan/hasil
message
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. 1. Atribut merupakan variable-variabel yang dimiliki oleh suatu kelas. commit to user
15 digilib.uns.ac.id
perpustakaan.uns.ac.id
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
Kelas
Merupakan kelas pada struktur
nama_kelas
sistem
yang
-atribut
terdiri dari atribut dan
+method()
method. Antarmuka interface
/ Sama
dengan
interface
konsep dalam
pemrograman berorientasi objek Asosiasi association
/ Relasi antar kelas dengan makna umum, asosiasi biasanya
juga
disertai
dengan multiplicity. Asosiasi berarah / Relasi antar kelas dengan commit to user directed association makna kelas yang satu
16 digilib.uns.ac.id
perpustakaan.uns.ac.id
digunakan yang
oleh
lain,
biasanya
juga
kelas asosiasi disertai
dengan multiplicity. Generalisasi
/ Relasi antar kelas dengan
generalization
makna
generalisasi-
spesialisasi
(umum-
khusus) Kebergantungan /
Relasi antar kelas dengan
Dependency
makna
kebergantungan
antar kelas Agregasi
/ Relasi antar kelas dengan
aggregation
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)
commit to user