bab ii landasan teori - repository.bsi.ac.id · dipakai oleh para programmer (pembuat program atau...
TRANSCRIPT
5
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. Melakukan testing dan debuging
6
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/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
7
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
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 funsi 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.
8
Jadi aplikasi secara umum dapat didefinisikan sebagai program yang dapat
digunakan untuk menjelaskan perintah dari pengguna dengan tujuan mendapatkan
hasil yang lebih akurat.
2.2. Peralatan Pendukung (Tools System)
Peralatan pendukung (Tools System) adalah alat yang digunakan untuk
menggambarkan berntuk 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
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 Safaat (2014:1) menerangkan bahwa “Android merupakan sebuah
sistem operasi untuk perangkat mobile berbasis Linux yang mencakup sistem
operasi, middleware dan aplikasi”. Android menyediakan platform terbuka (open
9
source) bagi programmer untuk mengembangkan aplikasi sendiri pada berbagai
perangkat dengan sistem android.
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
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.
10
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.
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
11
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.
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
12
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:
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
13
6. Android versi 2.3 (Gingerbread)
Android versi 2.3 dirilis pada 6 Desember 2010. Ginggerbread merpupakan
sebuah kue kering rasa jahe.
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.
14
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.
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:/Target/sistem/operasii/Eclipse/adalah 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, Eclipse pun
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
Sumber: http://eclpise.org/
Gambar II.2
Eclipse
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.
16
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, didalam 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 mesin penterjemah
(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 abahasa Java ke dalam suatu kode bit.
17
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.
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.
18
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”.
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.
19
Sumber :Fatta (2007:148)
Gambar II. 3
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.
20
Sumber :Fatta (2007:149)
Gambar II.4
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.
Sumber :Fatta (2007:150)
Gambar II.5
21
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
simbol-simbol Flowchart adalah sebagai berikut:
Tabel II.1 Simbol Program Flowchart
No Simbol Keterangan
1.
Start atau End mendefinisikan awal
atau akhir dari sebuah flowchart
2.
Process atau Proses yang terjadi pada
sebuah alur kerja
3.
Input atau Oputput mendefinisikan
masukan dan keluaran proses
4.
Decision untuk memutuskan proses
lanjutan dari kondisi tertentu
5.
konektor untuk menyambung proses
pada lembar kerja yang sama
22
6.
konektor untuk menyambung proses
pada lembar kerja yang berbeda
7
Alur Proses untuk menghubungkan
antar proses atau antar simbol
8.
Display untuk menyatakan piranti
keluaran, seperti layar monitor,
printer, dan sebagainya
9.
mendefinisikan proses yang dilakukan
secara manual
10.
masukan atau keluaran dari atau ke
sebuah dokumen
11.
menyatakan bagian dari program
(subprogram)
12.
masukan atau keluaran dari atau ke
sebuah pita magnetic
13.
database atau basis data
Sumber: Ewolf Community (2012:17)
23