4 BAB II LANDASAN TEORI 2.1. Konsep Dasar Program Sebelum lebih dalam mengupas tugas akhir ini, alangkah baiknya apabila diketahui terlebih dahulu definisi serta uraian singkat mengenai konsep dasar dari program yang berhubungan dengan tugas akhir. 2.1.1. Program Menurut Sutarman (2009:3) dalam bukunya pengantar teknologi informasi mengemukakan bahwa “program adalah barisan perintah atau instruksi yang disusun sehingga dapat dipahami oleh komputer dan kemudian dijalankan sebagai barisan perhitungan numerik, dimana barisan perintah tersebut berhingga, berakhir, dan menghasilkan output”. Sekumpulan instruksi yang diwujudkan dalam bentuk bahasa, kode skema, ataupun bentuk lain, yang apabila digabungkan dengan media yang dapat dibaca dengan komputer akan mampu membuat komputer bekerja untuk melakukan fungsi-fungsi khusus termasuk persiapan dalam merancang instruksi-instruksi tersebut. Berikut ini beberapa langkah yang harus diperhatikan oleh pemrogram atau programmer sebelum mengimplementasikan suatu permasalahan dalam program adalah: 1. Mendefinisikan masalah 2. Mencari solusi untuk masalah 3. Memilih teknik pemecahan masalah dan algoritma 4. Menulis program
19
Embed
BAB II LANDASAN TEORI - repository.bsi.ac.id · yang dipakai oleh para programmer (pembuat program atau software) untuk membuat atau menuliskan perintah-perintah atau program tertentu”.
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
4
BAB II
LANDASAN TEORI
2.1. Konsep Dasar Program
Sebelum lebih dalam mengupas tugas akhir ini, alangkah baiknya apabila
diketahui terlebih dahulu definisi serta uraian singkat mengenai konsep dasar dari
program yang berhubungan dengan tugas akhir.
2.1.1. Program
Menurut Sutarman (2009:3) dalam bukunya pengantar teknologi informasi
mengemukakan bahwa “program adalah barisan perintah atau instruksi yang
disusun sehingga dapat dipahami oleh komputer dan kemudian dijalankan sebagai
barisan perhitungan numerik, dimana barisan perintah tersebut berhingga,
berakhir, dan menghasilkan output”. Sekumpulan instruksi yang diwujudkan
dalam bentuk bahasa, kode skema, ataupun bentuk lain, yang apabila digabungkan
dengan media yang dapat dibaca dengan komputer akan mampu membuat
komputer bekerja untuk melakukan fungsi-fungsi khusus termasuk persiapan
dalam merancang instruksi-instruksi tersebut.
Berikut ini beberapa langkah yang harus diperhatikan oleh pemrogram
atau programmer sebelum mengimplementasikan suatu permasalahan dalam
program adalah:
1. Mendefinisikan masalah
2. Mencari solusi untuk masalah
3. Memilih teknik pemecahan masalah dan algoritma
4. Menulis program
5
5. Melakukan testing dan debuging
6. Melakukan dokumentasi
7. Melakukan pemeliharaan
2.1.2. Bahasa Pemrograman
Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa
komputer atau bahasa pemrograman komputer, adalah instruksi standar untuk
memerintah komputer. Bahasa pemrograman ini merupakan suatu himpunan dari
aturan sintaks dan semantik yang dipakai untuk mendefinisikan program
komputer. Bahasa ini memungkinkan seorang programmer dapat menentukan
secara persis data mana yang akan diolah oleh komputer, bagaimana data ini akan
disimpan atau diteruskan, dan jenis langkah apa secara persis yang akan diambil
dalam berbagai situasi. Menurut tingkat kedekatannya dengan mesin komputer,
bahasa pemrograman terdiri dari:
1. Bahasa Mesin, yaitu memberikan perintah kepada komputer dengan memakai
kode bahasa biner.
2. Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (Bahasa
Inggris Assembly), yaitu memberikan perintah kepada komputer dengan
memakai kode-kode singkat (kode mnemonic).
3. Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campuran
instruksi dalam kata-kata bahasa manusia dan instruksi yang bersifat simbolik.
4. Bahasa tingkat tinggi, yaitu bahasa komputer yang memakai instruksi berasal
dari unsur kata-kata bahasa manusia. Komputer dapat mengerti bahasa manusia
itu diperlukan program compiler atau interpreter. Sebagian besar bahasa
pemrograman digolongkan sebagai bahasa tingkat tinggi, hanya bahasa C yang
6
digolongkan sebagai bahasa tingkat menengah dan Assembly yang merupakan
bahasa tingkat rendah.
Bahasa pemrograman menurut Sutarman (2009:159) adalah “software
yang dipakai oleh para programmer (pembuat program atau software) untuk
membuat atau menuliskan perintah-perintah atau program tertentu”. Beberapa
contoh software bahasa pemrograman antara lain:
1. Borland Delphi
2. Visual Basic
3. C++
4. Assembler
5. Java
5. 6. PHP , ASP, Phyton, Perl, J2ME (Bahasa pemrograman berbasis WEB)
2.1.3. Aplikasi
Aplikasi berasal dari kata dalam bahasa inggris yaitu application yang
artinya penerapan, lamaran atau penggunaan. Menurut Hendrayudi (2009:143)
menerangkan bahwa “aplikasi adalah kumpulan perintah program yang dibuat
untuk melakukan pekerjaan-pekerjaan tertentu (khusus)”. Secara istilah,
pengertian aplikasi adalah suatu program yang siap untuk digunakan yang dibuat
untuk melaksanakan suatu fungsi bagi pengguna jasa aplikasi serta penggunaan
aplikasi lain yang dapat digunakan oleh suatu sasaran yang akan dituju. aplikasi
mempunyai arti yaitu pemecahan masalah yang menggunakan salah satu teknik
pemrosesan data aplikasi yang biasanya berpacu pada sebuah komputansi yang
diinginkan atau diharapkan maupun pemrosesan data yang diharapkan.
7
Jadi aplikasi secara umum dapat didefinisikan sebagai program yang dapat
digunakan untuk menjelaskan perintah dari pengguna dengan tujuan mendapatkan
hasil yang lebih akurat.
2.1.4. Pembelajaran
Menurut Komalasari (2013:3) “Pembelajaran adalah merupakan sistem
atau proses membelajarkan pembelajar yang direncanakan, dilaksanakan dan
dievaluasi secara sistematis agar pembelajar dapat mencapai tujuan-tujuan
pembelajaran secara efektif dan efisien”.
Secara umum pembelajaran adalah upaya yang dilakukan untuk membantu
seseorang atau sekelompok orang sedemikian rupa dengan maksud supaya
disamping tercipta proses belajar juga sekaligus supaya proses belajar menjadi
lebih efisien dan efektif. Tujuan pembelajaran pada hakekatnya adalah rumusan
tentang perilaku hasil (kognitif, psikomotor, dan afektif) yang diharapkan untuk
dikuasai oleh pelajar setelah pelajar mengalami proses belajar dalam jangka waktu
tertentu.
2.2. Peralatan Pendukung (Tools System)
Peralatan pendukung (Tools System) adalah alat yang digunakan untuk
menggambarkan bentuk logika model dari suatu sistem dengan menggunakan
simbol-simbol, lambang-lambang, diagram-diagram yang menunjukan secara
tepat arti dan fungsinya.
2.2.1. Sistem Operasi
Menurut Kusnadi (2008:14) “Sistem operasi merupakan komponen
perangkat lunak yang berfungsi untuk mengelola seluruh komponen dan sumber
8
daya komputer, fisik maupun nonfisik (misalkan data) agar dapat digunakan
secara optimal”.
Selain itu, sistem operasi bertanggung jawab untuk menyediakan antar
muka bagi pengguna maupun program aplikasi. Sistem operasi memiliki posisi
yang sangat menentukan dalam komputer. Seperti halnya tubuh tanpa jiwa adalah
mati, maka perangkat keras komputer tanpa adanya sistem operasi adalah tidak
berguna.
2.2.2. Android
Menurut Wahadyo (2013:2) mengemukakan bahwa “Android adalah
sistem operasi disematkan pada gadget, baik itu handphone, tablet, juga sekarang
sudah merambah ke kamera digital dan jam tangan”. Android tidak terikat ke satu
merek Handphone saja, beberapa vendor terkenal yang sudah memakai Android
antara lain Samsung , Sony Ericsson, HTC, Nexus, Motorolla, dan lain-lain.
Awalnya, Google Inc membeli Android Inc, yang merupakan pendatang
baru yang membuat peranti lunak untuk ponsel atau smartphone. Kemudian untuk
mengembangkan Android, dibentuklah Open Handset Alliance, konsorisium dari
34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google,
HTC, Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia.
Akhirnya pada awal maret 2009 Google berhasil merilis sisitem operasi
android hasil pengembangan yang pertama yaitu android versi 1.1 pada perangkat
smartphone. Pada tahun yang sama Google kembali merilis sistem operasi versi
1.5 yang dikenal dengan nama Cupcake adalah nama pertama yang digunakan
untuk versi sistem operasi android, yaitu dimulai dari versi 1.5 Google merilis
setiap sistem operasi android bersamaan dengan perangkat lunak
9
pengembangannya yang disebut Android Software Development Kit (Android
SDK).
Android memiliki beberapa fitur yang menarik yang ingin
mengembangkan aplikasi, diantaranya sebagai berikut:
1. Application framework yang memungkinkan pengguna dan penghapusan
komponen yang tersedia.
2. Dalvik virutual machine, yaitu mesin yang dioptimalkan untuk perangkat
mobile.
3. Graphic Library, yang mendukung grafik 2D, dan 3D berdasarkan OpenGL
Library.
4. Media Supported, yang mendukung beberapa media seperti: audio, video, dan
berbagai format gambar (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG,
GIF).
5. Hardware Independent, mendukung GSM, Bluetooth, EDGE, 3G. Wifi,
kamera, Global Positioning System (GPS), kompas, dan accelerometer.
Sistem operasi android dibangun berdasarkan kernel Linux dan memiliki
arsitektur sesuai dengan gambar II.1.
10
Sumber: Stephanus (2011)
Gambar II.1
Arsitektur android
1. Linux Kernel
Android bergantung pada Linux versi 2.6 untuk layanan sistem ini seperti
keamanan, manajemen memori, manajemen proses, network stack dan model
driver. Kernel juga bertindak sebagai lapisan antara hardware dan seluruh
software.
2. Libraries
Layer dimana fitur-fitur android berada, biasanya para pembuat aplikasi
mengakses libraries untuk menjalankan aplikasinya. Satu set libraries dalam
bahasa C/C++ yang digunakan oleh berbagai komponen pada sistem
Android.
11
3. Android Run Time
Satu set libraries inti yang menyediakan sebagian besar fungsi yang tersedia
di libraries inti dari bahasa pemrograman Java. Setiap aplikasi akan berjalan
sebagai proses sendiri pada Dolvik Virtual Machine (VM).
4. Applications Framework
Pengembang aplikasi memiliki akses penuh ke Android sama dengan aplikasi
inti yang telah tersedia. Arsitektur aplikasi ini dirancang untuk
menyederhanakan penggunaan kembali komponen, aplikasi apa pun dapat
mempublikasikan kemampuan dan aplikasi lain dapat menggunakan
kemampuan mereka sesuai batasan keamanan. Dasar dari aplikasia adalah
seperangkat layanan dan sistem, yaitu berbagai view yang digunakan untuk
membangun User Interface (UI), Content Provider yang memungkinkan
aplikasi berbagi data, Resource Manager menyediakan akses bukan kode
seperti grafik, string dan layout, Notification Manager yang akan membuat
aplikasi dapat menampilkan tanda pada status bar dan Activity Manager yang
berguna untuk mengatur daur hidup dari aplikasi.
5. Application
Serangkaian aplikasi akan terdapat pada perangkat mobile. Aplikasi inti yang
salah terdapat pada Android termasuk kalender, kontak, SMS. Aplikasi-
aplikasi ini ditulis dengan bahasa pemrograman Java.
Sejak dirilis pertama kali dan mulai diperkenalkan, android mengalami
perkembangan untuk versi dari versi pertama yang disesuaikan dengan kebutuhan,
baik dari segi perbaikan bug ataupun perubahan fitur baru. Perkembangan versi
Android sebagai berikut:
12
1. Android versi 1.1
Android versi 1.1 dirilis pada 9 Maret 2009. Android versi ini tersedia
beberapa aplikasi seperti pesan, alarm, jam, voice search, browsing dan
sebagainya.
2. Android versi 1.5 (Cupcake)
Android versi 1.5 dirilis pada 30 April 2009. Android ini berbentuk kue kecil
dan di panggang dalam cetakan berbentuk cup.
3. Android versi 1.6 (Donut)
Android versi 1.6 dirilis pada 15 September 2009. Di versi ini telah di
perbaiki beberapa kesalahan atau bug dan beberapa perubahan fitur foto dan
video play.
4. Android versi 2.0/2.1 (Eclair)
Android versi 2.0/2.1 dirilis pada 26 Oktober 2009. Android ini merupakan
kue yang berbentuk persegi panjang dan diatasnya ada krim dan cokelat.
5. Android versi 2.2 (Froyo)
Android versi 2.2 dirilis pada 20 Mei 2010. Froyo adalah yoghurt yang dingin
seperti es krim. Froyo merupakan singkatan dari Frozen Yoghurt
6. Android versi 2.3 (Gingerbread)
Android versi 2.3 dirilis pada 6 Desember 2010. Ginggerbread merupakan
sebuah kue kering rasa jahe.
13
7. Android versi 3.0 (Honeycomb)
Android versi 3.0 dirilis pada 22 Februari 2011. Honeycomb merupakan
makanan sereal dengan rasa madu.
8. Android versi 4.0 (Ice Cream Sandwich)
Android versi 4.0 dirilis pada 19 Oktober 2011. Android ini merupakan
sebuah es krim yang dibalut dengan due kue cokelat.
9. Android versi 4.1 (Jelly Bean)
Android versi 4.1 dirilis pada tanggal 9 Juli 2012. Jelly Bean merupakan
sebuah permen manis dengan tekstur diluar keras namun didalam lunak dan
lembut.
10. Android versi 4.4 (Kit Kat)
Android versi 4.4 dirilis pada 31 Oktober 2013. Kit kat merupakan makanan
cokelat.
11. Android versi 5.0 (Lolipop)
Android versi 5.0 dirilis pada 15 Oktober 2014. Lolipop merupakan sebuah
permen manis dengan stick.
12. Android versi 6.0 (Marshmallow)
Android versi 6.0 dirilis pada 28 Mei 2015. Marshmallow merupakan
makanan atau permen yang kenyal namun permukaan luar bertekstur kasar.
13. Android versi 7.0 (Nougat)
Android versi 7.0 dirilis pada 9 Maret 2016. Nougat merupakan makanan
permen kacang yang bertekstur lunak dan lengket.
14
2.2.3. Eclipse
Eclipse adalah sebuah IDE (Integrated Development Environment) untuk
mengembangkan perangkat lunak dan dapat dijalankan di semua platform
(platform independent) (Akhmad Dharma Kasman, 2013). Berikut ini sifat dari
Eclipse:
1. Multi-platform: Microsoft Windows, Linux, Solaris, AIX HP-UX dan Mac
OS X.
2. Multi-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
sebagainya.
3. Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipsepun
bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak,
seperti dokumentasi, tes perangkat lunak, pengembangan web, dan lain
sebagainya.
Eclipse pada saat ini merupakan salah satu IDE menjadi pilihan
dikarenakan gratis dan open source, yang berarti setiap orang boleh melihat kode
pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang
membuatnya terkenal adalah kemampuannya untuk dapat dikembangkan oleh
pengguna dengan komponen yang dinamakan plug-in.
15
2.2.4. Android Software Development Kit (Android SDK)
Android Software Development Kit (Android SDK) merupakan tools bagi
para programmer yang ingin 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.
Menurut Safaat (2014:5) mengemukakan bahwa, “Android SDK
merupakan sebuah tools yang diperlukan untuk mengembangkan aplikasi berbasis
Android menggunakan bahasa pemrograman Java”. Pada saat ini Android SDK
telah menjadi alat bantu dan Application Programming Interface (API) untuk
mengembangkan aplikasi berbasis Android.
2.2.5. Java
Java merupakan bahasa permrograman yang disusun oleh James Gosling
yang dibantu oleh rekan-rekannya disuatu perusahaan perangkat lunak yang
bernama Sun Microsystems, pada tahun 1991. Bahasa pemrograman ini mula-
mula diinisialisasi dengan nama “Oak”, namun pada tahun 1995 diganti namanya
menjadi “Java”.
1. Pengertian Java
Menurut definisi Sun Microsystem, di dalam buku M. Shalahuddin dan Rosa
A.S. (2010:1) “Java adalah nama sekumpulan teknologi untuk membuat dan
menjalankan perangkat lunak pada komputer yang berdiri sendiri
(standalone) ataupun pada lingkungan jaringan”. Java berdiri diatas sebuah
16
mesin penerjemah (interpreter) yang diberi nama Java Virtual Machine
(JVM). JVM inilah yang akan membaca kode bit (bytcode) dalam file .class
dari suatu program sebagai representasi langsung program yang berisi bahasa
mesin. Oleh karena itu bahasa Java disebut sebagai bahasa pemrograman
yang portable karena dapat dijalankan pada berbagai sistem operasi, asalkan
pada sistem operasi tersebut terdapat JVM. Alasan utama pembentukan Java
adalah untuk membuat aplikasi-aplikasi yang dapat diletakan di berbagai
macam perangkat elektronik, sehingga Java harus bersifat tidak bergantung
pada platform (platform independent).
2. Arsitektur Java
Secara arsitektur, Java tidak berubah sekalipun sejak awal mula bahasa
tersebut dirilis. Compiler Java (yang disebut dengan javac atau Java
Compiler) akan mentransformasikan kode-kode dalam bahasa Java ke dalam
suatu kode bit. Dimana bytecode adalah sekumpulan perintah hasil kompilasi
yang kemudian dapat dieksekusi melalui sebuah mesin komputer abstrak,
yang disebut dengan JVM (Java Virtual Machine). JVM juga sering
dinamakan sebagai interpreter karena sifatnya yang selalu menerjemahkan
kode-kode yang tersimpan dalam kode bit dengan cara baris demi baris.
Untuk menjalankan program Java, maka file dengan ekstensi Java harus
dikompliasi menjadi file kode bit. Dimana untuk menjalankan kode bit
tersebut dibutuhkan JRE (Java Runtime Environment) yang memungkinkan
pemakai untuk menjalankan program Java, hanya menjalankan, tidak untuk
membuat kode baru lagi. JRE berisi JVM dan pustaka Java yang digunakan.
17
2.2.6. SQLite Database
SQLite merupakan alat untuk melakukan penanganan data (datastore)
yang telah termasuk dalam Android. SQLite sendiri dikenal sebagai database
yang opensource, stand alaone SQL database, berukuran kecil, tidak membtuhkan
administrasi, tanpa server, tanpa file konfigurasi dan juga telah digunakan pada
banyak aplikasi terkenal seperti Browser Firefox dan Iphone. Di Browser firefox,
Sqlite dipakai untuk menyimpan konfigurasi, bookmark dan history website
sedangkan di smartphone android, SQLite dipakai untuk menyimpan contact.
Terdapat beberapa alasan mengapa SQLite sangat cocok untuk
pengembangan aplikasi Android, yaitu:
1. Database dengan konfigurasi nol. Artinya tidak ada konfigurasi database
untuk para developer. Ini membuatnya relatif mudah digunakan.
2. Tidak memiliki server. Tidak ada proses database SQLite yang berjalan. Pada
dasarnya satu set libraries menyediakan fungsionalitas database.
3. Single-file database. Ini membuat keamanan database secara langsung.
4. Open source. Hal ini membuat developer mudah dalam pengembangan
aplikasi.
2.2.7. HIPO ( Heirarchy Input Process Output)
Menurut Fatta (2007:147) menyatakan bahwa “HIPO (Hierarchy Input
Process Output) merupakan teknik untuk mendokumentasikan pengembangan
suatu sistem yang dikembangkan oleh IBM”.
18
Menurut Al Fatta (2007:149) menyatakan bahwa “Paket HIPO sendiri
terdiri dari 3 jenis diagram, yaitu diagram daftar isi visual (visual table of
content), diagram ringkas (overview diagram), dan diagram rinci (detail
diagram)”.
1. Diagram Isi Visual (Visual Tabel of Contents)
Diagram ini memuat semua modul yang ada dalam sistem berikut nama dan
nomornya, yang nantinya akan diperinci dalam diagram ringkas dan diagram
rinci. Dalam DIV juga bisa dilihat fungsi-fungsi utama yang menyusun
sebuah sistem dan hubungan antar fungsi tersebut.
Sumber :Fatta (2007:148)
Gambar II. 2
Diagram DIV dari HIPO
2. Diagram Ringkas (Overview Diagram)
Diagram ringkas menerangkan input, dan output dari sistem. Diagram ringkas
menggambarkan input dan output dari fungsi-fungsi yang telah didefinisikan
dalam daftar isi visual.
19
Sumber :Fatta (2007:149)
Gambar II.3
Diagram ringkas
3. Diagram Rinci (Detail Diagram)
Diagram rinci HIPO digunakan untuk memperinci input, process, dan output
yang telah digambarkan dalam diagram ringkas. Dalam input dan output data
dijelaskan field-field datanya secara detail. Untuk fungsi juga dideskripsikan
proses apa yang dilakukan oleh fungsi-fungsi tersebut.
20
Sumber :Fatta (2007:150)
Gambar II.4
Diagram rinci
2.2.8. Flowchart
Ewolf community (2012:16) mengemukakan, “Flowchart adalah simbol-
simbol pekerjaan yang menunjukkan bagan aliran proses yang saling terhubung.
Jadi, setiap simbol flowchart melambangkan pekerjaan dan instruksinya”. Adapun