bab ii landasan teori · dalam tulisannya (najib, 2018) ... 4. bahasa berorientasi objek merupakan...

16
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:

Upload: others

Post on 24-Nov-2020

6 views

Category:

Documents


0 download

TRANSCRIPT

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.