BAB II LANDASAN TEORI · Dalam tulisannya (Najib, 2018) ... 4. Bahasa berorientasi objek Merupakan...
Transcript of BAB II LANDASAN TEORI · Dalam tulisannya (Najib, 2018) ... 4. Bahasa berorientasi objek Merupakan...
5
BAB II
LANDASAN TEORI
2.1 Konsep Dasar Program
2.1.1. Program
Dalam tulisannya (Najib, 2018) mengemukakan bahwa “Program adalah
sederetan instruksi atau statement yang tentunya dalam bahasa yang dimengerti oleh
komputer. Instruksi tersebut berfungsi untuk mengatur pekerjaan apa aja yang akan
dilakukan oleh komputer agar mendapatkan dan menghasilkan suatu hasil atau
keluaran yang diharapkan.”
Adapun menurut (M. Hidayat, 2017),“Program adalah suatu sistem yang
digunakan untuk membuat suatu aplikasi sedangkan Aplikasi adalah buah atau hasil
dari Program tersebut. Aplikasi dan Program merupakan sebuah software, aplikasi itu
tersusun atas program (instruksi-instruksi sehingga bisa digunakan oleh pengguna),
dan semuanya itu tidak bisa dijalankan apabila tidak ada Operating System (OS).”
Dari definisi-definisi yang ada, dapat difahami bahwa Program adalah
sekumpulan instruksi yang ditulis dengan bahasa pemrograman tertentu untuk
memberikan perintah kepada perangkat terkait sehingga suatu perangkat bisa
melakukan tugas maupun instruksi yang spesifik.
Untuk dapat memprogram komputer, bahasa pemrograman (programming
language) diperlukan sebagai jembatan komunikasi antara komputer dengan
penggunanya. Secara umum menurut (Hakim, 2018) bahasa pemrograman terbagi
menjadi 4 kategori yaitu:
6
1. Bahasa tingkat rendah
Bahasa yang berorientasi pada bahasa mesin.
2. Bahasa tingkat menengah
Bahasa yang masih mempunyai instruksi-instruksi khusus tetapi sudah
mulai menggunakan aturan gramatikal yang mudah dipahami manusia.
3. Bahasa tingkat atas
Bahasa yang memiliki aturan-aturan gramatikal dalam penulisan kodenya
yang dapat difahami langsung oleh manusia.
4. Bahasa berorientasi objek
Merupakan pengembangan dari bahasa tingkat tinggi yang mana di
dalamnya terdapat modul-modul untuk menyelesaikan suatu permasalahan
sehingga pemrogram tidak harus menuliskan seluruh program secara detail.
Adapun untuk membuat suatu program menurut (Setianingsih, 2018) perlu
melakukan tahapan-tahapan sebagai berikut:
1. Mendefinisikan masalah (defining the problem)
2. Memilih bahasa pemrograman (selecting the language)
3. Merancang program (designing the program)
4. Pemrograman (programming) atau membuat kode program (coding the
program)
5. Pengetesan dan pelacakan kesalahan program (testing dan debugging the
program)
7
6. Membuat dokumentasi (documenting program)
2.1.2. Aplikasi Mobile
Menurut (Nurcahyono, 2012) “Aplikasi adalah penggunaan atau penerapan suatu
konsep yang menjadi pokok pembahasan. Aplikasi dapat diartikan juga sebagai
program komputer yang dibuat untuk menolong manusia dalam melaksanakan tugas
tertentu. Aplikasi software yang dirancang untuk penggunaan praktisi khusus”
Menurut (Gunawan, Rohman, Purnama, & Gunawan, 2018) “Aplikasi Mobile
merupakan sebuah aplikasi yang memungkinkan Anda melakukan mobilitas dengan
menggunakan perlengkapan seperti PDA, telepon seluler atau Handphone.”
Dari kedua definisi tersebut dapat disimpulkan bahwa aplikasi mobile merupakan
suatu bentuk aplikasi yang secara spesifik dibuat pada perangkat-perangkat untuk
mobilitas tinggi seperti telepon genggam yang mana sudah memiliki ukuran, tampilan,
serta efisiensi yang pada umumnya lebih sederhana daripada aplikasi desktop.
Sumber : https://cdn.pixabay.com/photo/2016/08/26/18/19/responsive-
1622825_960_720.png
Gambar II.1, Ilustrasi perbedaan tampilan versi desktop dengan mobile
8
2.1.3. Android
Android merupakan platform pemrograman dan sistem operasi berbasis Linux
yang dirancang untuk perangkat pintar seperti telpon genggam, tablet, dan perangkat
lainnya yang pada awalnya dikembangkan oleh Android, Inc., pimpinan Andy Rubin
di tahun 2003 dengan dukungan dari Google yang kemudian membelinya pada tahun
2005 (Enterprise, 2015) .Android menyediakan paket pengembangan perangkat lunak
untuk penulisan kode dan perakitan modul sehingga memudahkan produsen dan
pengembang untuk mengembangkan aplikasi maupun perangkat berbasis android
yang dikembangkan untuk berbagai alasan seperti menjawab kebutuhan bisnis,
membangun layanan baru, membuat bisnis baru, membuat game dan jenis materi
lainnya untuk pengguna. Google menyediakan peningkatan versi bertahap terhadap
sistem operasi Android dengan menggunakan nama bertema makanan sebagai berikut:
Nomor
Versi
Nama Kode API
Level
Tanggal Rilis
1.0 - 1 23 September 2008
1.1 - 2 9 Februari 2009
1.5 Cupcake 3 27 April 2009
1.6 Donut 4 15 September 2009
2.0 - 2.1 Eclair 5-7 26 Oktober 2009
2.2 - 2.2.3 Froyo 8 20 Mei 2010
2.3 - 2.3.7 Gingerbread 9-10 6 Desember 2010
3.0 - 3.2.6 Honeycomb 11-13 22 Februari 2011
4.0 – 4.0.4 Ice Cream
Sandwich
14-15 19 Oktober 2011
4.1 – 4.3.1 Jelly Bean 16-18 9 Juli 2012
4.4 - 4.4.4 Kitkat 19-20 31 Oktober 2013
5.1 – 5.1.1 Lollipop 21-22 12 November 2014
6.0 – 6.0.1 Marshmallow 23 5 Oktober 2015
9
7.1 – 7.1.2 Nougat 24-25 22 Agustus 2016
8.0 – 8.1 Oreo 26-27 25 Oktober 2017
9 Pie 28 6 Agustus 2018
Tabel II.1, Urutan nama dan tanggal perilisan Android
Sumber: https://i.ytimg.com/vi/olglEgEEZKo/maxresdefault.jpg
Gambar II.2, Ilustrasi gambar versi Android 1-8
Ada 3 bahasa pemrograman yang saat banyak digunakan untuk mengembangkan
aplikasi android yaitu:
1. Java
Java merupakan bahasa pemrograman yang berifat open-source dan
dikembangkan oleh Sun Microsystems. Java merupakan bahasa resmi untuk
pemrograman Android sehingga menjadi bahasa pemrograman paling
populer dan paling diminati untuk mengembangkan aplikasi Android.
2. Kotlin
10
Kotlin merupakan bahasa yang didesain dan dikembangkan oleh JetBrains,
perusahaan pengembang Intellij IDEA yang merupakan dasar dari Android
Studio. Pada acara Google I/O 2017, Google secara resmi mengumumkan
dukungan penuh untuk bahasa pemrograman Kotlin untuk membuat aplikasi
Android.
3. C#
C # atau dibaca C-Sharp adalah object-oriented programming language
dari microsoft. Pada umumnya bahasa C# digunakan untuk
mengembangkan aplikasi berbasis Windows. Untuk membuat aplikasi
android menggunakan bahasa C# digunakan suatu perangkat lunak bernama
Xamarin.
2.1.4. Pembelajaran Membaca Alquran
Menurut (Hanafi, Halid; Adu, 2018) Pembelajaran membaca Alquran adalah:
“Upaya pendidikan untuk menjadikan peserta didik agar dapat melihat, memahami dan
melafalkan teks-teks yang ada dalam kitab suci Alquran sesuai hukum tajwid serta
menuntun peserta didik dapat mengerjakan salat dengan baik, hafal sejumlah surat
pendek dan ayat pilihan serta mampu berdoa dan beramal saleh.”
Adapun tujuan pembelajaran membaca Alquran menurut (Hanafi, Halid; Adu,
2018) yaitu:
1. Peserta didik meyakini dan menghormati Alquran sebagai kitab suci
2. Agar terbiasa dan gemar membaca Alquran dengan fasih menurut kaidah ilmu
tajwid.
3. Mudah menghafal ayat-ayat pilihan, surat pendek dan sejumlah doa.
4. Lebih mudah melaksanakan dan membiasakan salat.
11
5. Mengerjakan dan membiasakan amal saleh lebih mudah.
2.1.5. Metode Mafaza
Pada tugas akhir ini penulis menggunakan metode mafaza sebagai dasar materi
dalam aplikasi. Berdasarkan wawancara yang penulis lakukan dengan Andi Rahman
selaku penemu metode ini di kantor beliau pada tanggal 19 Juni 2019, ide merumuskan
metode mafaza muncul setelah beliau menjadi pengajar Alquran selama lebih dari 20
tahun. Orang-orang yang belajar dengan beliau terdiri dari berbagai macam kalangan
mulai dari anak-anak hingga orang dewasa juga dari berbagai macam latar belakang
pendidikan mulai dari tingkat sekolah dasar hingga dosen di perguruan tinggi.
Dari pengamatan yang beliau lakukan, agar seseorang mampu membaca Alquran
terdapat kompetensi dasar yang harus dimiliki. Yang sering menjadi hambatan adalah
kadang seorang siswa mempelajari materi yang mungkin belum diperlukan untuk
pemula atau kadang juga materi yang diberikan terlalu banyak perulangan sehingga
membuat waktu belajar tidak efisien.
Adapun kompetensi dasar dan esensial yang perlu dikuasai oleh pemula jika ingin
membaca Alquran menurut beliau adalah huruf dan tanda baca. Berangkat dari hal
tersebut beliau kemudian merumuskan metode mafaza yang terdiri 26 materi disajikan
secara ringkas dan terstruktur yakni:
1. Membaca Huruf Tanpa Titik (A dan Ha)
2. Membaca Huruf Tanpa Titik (Da dan Sa)
3. Membaca Huruf Tanpa Titik (Ka dan La)
4. Membaca Huruf Tanpa Titik (‘A)
12
5. Membaca Huruf Tanpa Titik (Ma dan Wa)
6. Membaca Huruf Tanpa Titik (Ha)
7. Membaca Huruf Dengan Satu Titik (Ba dan Ja)
8. Membaca Huruf Dengan Satu Titik (Dza dan Za)
9. Membaca Huruf Dengan Satu Titik (Fa dan Na)
10. Membaca Huruf Dengan Dua Titik (Ta dan Ya)
11. Membaca Huruf Dengan Tiga Titik (Tsa dan Sya)
12. Membaca Huruf Dengan Vokal O (Ro)
13. Membaca Huruf Dengan Vokal O (Kho dan Gho)
14. Membaca Huruf Dengan Vokal O (Sho dan Dho)
15. Membaca Huruf Dengan Vokal O (Tho dan Dzo)
16. Membaca Huruf Dengan Vokal O (Qo)
17. Membaca Huruf Hamzah dan Ta Marbutah
18. Bedakan Bunyinya
19. Mengenal Tanda Baca (AIU)
20. Mengenal Tanwin
21. Mengenal Sukun dan Tasydid
22. Huruf Hija’iyyah Asli
23. Lafaz Jalalah
24. Mengakhiri Bacaan
25. Praktik Membaca Doa Harian
26. Praktik Membaca Surat-Surat Pendek
Metode ini bisa digunakan untuk semua usia, dari anak kecil hingga dewasa.
Waktu penyelesaian bisa bervariasi sesuai kebutuhan dan kemampuan pelajar, rata-
rata waktu menyelesaikan pembelajaran ini dari tidak bisa membaca Alquran sama
13
sekali adalah 12 jam pelajaran. Misalnya, dalam setiap pertemuan pembelajaran
dilakukan selama 1 jam, maka metode ini bisa diselesaikan dalam waktu 12 kali
pertemuan.
2.1.6. System Development Life Cycle
Menurut (R. Susanto & Andriana, 2016) “System Development Life Cycle atau
yang lebih dikenal dengan istilah SDLC adalah metodologi umum yang digunakan
untuk mengembangkan sistem informasi. SDLC terdiri dari beberapa fase yang
dimulai dari fase perencanaan, analisis, perancangan, implementasi hingga
pemeliharaan sistem. Konsep SDLC ini mendasari berbagai jenis model
pengembangan perangkat lunak untuk membentuk suatu kerangka kerja untuk
perencanaan dan pengendalian pembuatan sistem informasi.”
SLDC merupakan suatu metodologi umum untuk menandakan kemajuan usaha
analisis dan desain dalam suatu pengembangan sistem. SLDC meliputi fase-fase
seperti :
1. Perencanaan Sistem (Systems Planning)
2. Analisis Sistem (System Analysis)
3. Perancangan Sistem (System Design)
4. Implementasi Sistem (System Implementation)
5. Pemeliharaan Sistem (Systems Maintenance)
Dari konsep dasar SLDC ini kemudian mendasari model-model pengembangan
lainnya seperti:
1. Waterfall
14
Menurut (R. Susanto & Andriana, 2016) “Model waterfall adalah model
pengembangan perangkat lunak yang paling sering digunakan. Model
pengembangan ini bersifat linear dari tahap awal pengembangan system yaitu
tahap perencanaan sampai tahap akhir pengembangan system yaitu tahap
pemeliharaan. Tahapan berikutnya tidak akan dilaksanakan sebelum tahapan
sebelumnya selesai dilaksanakan dan tidak bisa kembali atau mengulang ke
tahap sebelumnya.”
Sumber:https://upload.wikimedia.org/wikipedia/commons/thumb/e/e2/Waterf
all_model.svg/1280px-Waterfall_model.svg.png
Gambar II.3, Model pengembangan Waterfall
2. Prototype
Menurut (R. Susanto & Andriana, 2016) “Model prototyping merupakan suatu
teknik untuk mengumpulkan informasi tertentu mengenai kebutuhan-
kebutuhan informasi pengguna secara cepat. Berfokus pada penyajian dari
aspek-aspek perangkat lunak tersebut yang akan nampak bagi pelanggan atau
15
pemakai. Prototipe tersebut akan dievaluasi oleh pelanggan/pemakai dan
dipakai untuk menyaring kebutuhan pengembangan perangkat lunak.”
Sumber: https://ai2-s2-public.s3.amazonaws.com/figures/2017-08-
08/96908ae8222fa84ff07ee0fc19e7fa630c990eb3/22-Figure2.2-1.png
Gambar II.4, Model Pengembangan Prototyping
3. Iterative
Menurut (Martono, 2015) “Metode ini merupakan sebuah metode yang disusun
secara bertahap. proses iteratif ini akan membagi game ke dalam beberapa
tahap berdasarkan kelengkapan fitur, dengan tujuan agar setiap fitur dapat
dipastikan terimplementasi dengan baik. Pada metode ini dibagi dalam dua
tahap yaitu tahap preproduction dan production.”
16
Sumber: http://www.camfordpublishing.com/wp-content/uploads/2019/07/7-
basic-software-development-life-cycle-sdlc-methodologies.jpg
Gambar II.5, Model pengembangan iterative
4. Spiral
Menurut (Setiya Budi, Azhima Yoga Siswa, & Abijono, 2016), model
pengembangan Spiral “Merupakan model proses perangkat lunak yang
memadukan wujud pengulangan dari model prototyping dengan aspek
pengendalian dan sistematika dari waterfall, dengan penambahan elemen baru
yaitu analisis resiko.”
Sumber :
https://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Spiral_model_
17
%28Boehm%2C_1988%29.svg/640px-
Spiral_model_%28Boehm%2C_1988%29.svg.png
Gambar II.6, Model pengembangan Spiral
5. Rapid Application Development (RAD)
Menurut (Setiya Budi et al., 2016),“Merupakan model proses pengembangan
perangkat lunak secara linear sequential yang menekankan pada siklus
pengembangan yang sangat singkat. Jika kebutuhan dipahami dengan baik,
proses RAD memungkinkan tim pengembangan menciptakan “sistem
fungsional yang utuh” dalam periode waktu yang sangat pendek (kira-kira 60-
90 hari).”
Sumber :
https://upload.wikimedia.org/wikipedia/commons/thumb/5/53/Rapid_applicat
ion_software_development.svg/1280px-
Rapid_application_software_development.svg.png
Gambar II.7, Rapid Application Development Model
2.2 Peralatan Pendukung
2.2.1. Android Studio
Android Studio merupakan Lingkungan Pengembangan terpadu / Integrated
Development Environment (IDE) untuk pengembangan aplikasi Android yang
18
dikembangkan dari IntelliJ IDEA. Sebelum Android Studio diluncurkan, para
pengembang menggunakan Eclipse sebagai IDE pemrograman Android. Setelah
diresmikan pada 2013, Android Development Tools (ADT) tidak dilanjutkan
dukungannya terhadap Eclipse dan sekarang sebagian besar pengembangan aplikasi
Android telah menggunakan Android Studio. Android Studio menawarkan banyak
fitur untuk meningkatkan produktivitas pengembang saat membuat aplikasi Android,
misalnya:
1. Instant Run.
2. Editor kode yang cerdas.
3. Emulator yang kaya akan fitur.
4. Sistem versi yang mudah dan fleksibel.
5. Optimal untuk semua perangkat Android.
6. Didesain untuk penggunaan bersama / tim.
7. Aplikasi yang dibuat lengkap dan terkoneksi.
8. Terintegrasi dengan Firebase dan Cloud.
9. Memberikan Efektivitas dalam membuat aplikasi.
19
Sumber : Dokumen penulis.
Gambar II.8, Tampilan pada Android Studio
2.2.2. Adobe Photoshop
Adobe photoshop, atau biasa disebut photoshop, adalah perangkat lunak editor
citra buatan Adobe Systems yang dikhususkan untuk pengeditan foto/gambar dan
pembuatan efek. Produk ini merupakan salah satu program terbaik yang pernah
diproduksi oleh Adobe dan digunakan secara luas oleh berbagai kalangan mulai dari
perusahaan periklanan hingga juru foto professional (Azis, 2015).
Saat ini, bisa dibilang bahwa Photoshop sudah menjadi standar dalam dunia
desain grafis, pada era berkembangnya aplikasi mobile seperti saat ini. Photoshop juga
menjadi andalan banyak desainer untuk mengembangkan antarmuka tampilan maupun
pengalaman penguna (UI/UX Interface). Meskipun Adobe sudah merilis aplikasi
khusus untuk pengembangan UI/UX Interface, namun dalam banyak hal para desainer
masih tetap menggunakan photoshop sebagai alat utama mereka.
Sumber: Dokumen Penulis.
20
Gambar II.9, Tampilan awal Adobe Photoshop.
2.2.3. Diagram Alur (flowchart)
Menurut (Iswandy, 2015) “Flowchart merupakan urutan-urutan langkah kerja
suatu proses yang digambarkan dengan menggunakan simbol-simbol yang disusun
secara sistematis.”. Lebih lanjut lagi (M. R. Hidayat, 2018) menjelaskan bahwa setiap
langkah dicatat berurutan dalam bentuk diagram. Langkah-langkah tersebut lalu
dihubungkan dengan garis dan panah. Hal ini memungkinkan proses dari awal sampai
akhir yang ada pada flowchart dapat dilihat dan diikuti secara logis.