BAB II LANDASAN TEORI
2.1
Teori Rekayasa Perangkat Lunak
2.1.1 Perangkat Lunak
Menurut Pressman (2010) dari Jurnal (Muhammad Imaduddin 2014), Rekayasa Perangkat Lunak adalah pembuatan dan penggunaan prinsip prinsip keahlian teknik untuk mendapatkan perangkat lunak yang ekonomis yang handal dan bekerja secara efisien pada mesin yang sesungguhnya. Rekayasa piranti lunak mendirikan suatu pondasi untuk proses perangkat lunak yang lengkap dengan mengidentifikasi sejumlah aktifitas kerangka kerja yang berlaku untuk semua proyek perangkat lunak, terlepas dari hal ukuran dan kompleksitas.
1. Fokus pada kualitas (A Quality Focus) Pendekatan teknik apapun (termasuk rekayasa perangkat lunak) harus bersandar pada komitmen organisasi terhadap suatu mutu. Total kualitas manajemen dan filosofi yang sama mendorong budaya perbaikan proses yang berkesinambungan dan budaya inilah yang pada akhirnya mengarah pada pengembangan pendekatan yang semakin dewasa untuk rekayasa perangkat lunak. Pondasi yang mendukung rekayasa perangkat lunak adalah fokus pada kualitas.
2. Proses (Process) Dasar untuk rekayasa perangkat lunak adalah lapisan proses. Proses pada rekayasa perangkat lunak adalah perekat yang memegang teknologi lapisan (layer) bersama-sama dan memungkinkan pengembangan perangkat lunak yang rasional dan tepat waktu. Proses mendefinisikan sebuah kerangka kerja untuk suatu set key process areas (KPAs) yang harus ditetapkan untuk penyampaian (delivery) yang efektif dari teknologi rekayasa perangkat lunak. Key process areas membentuk dasar control manajemen proyek perangkat lunak dan menetapkan konteks metode-metode teknis mana yang diterapkan, produk kerja (model, dokumen, data, laporan, form, dll) yang diproduksi, milestone yang
6
http://digilib.mercubuana.ac.id/
7
ditetapkan, kualitas yang terjamin dan perubahan yang dikelola dengan baik.
3. Metode (Method) Metode rekayasa perangkat lunak menyediakan teknis “bagaimana” untuk membangun perangkat lunak. Metode mencakup tugas yang mencakup analisis kebutuhan (requirment analysis), perancangan (design), program konstruksi (program construction), pengujian (testing), dan pemeliharaan (maintenance).
4. Alat Bantu (Tools) Alat bantu otomatis atau semi-otomatis menyediakan dukungan untuk proses dan metode. Ketika alat-alat diintegrasikan sehingga informasi yang dibuat oleh salah satu alat dapat digunakan oleh alat lainnya, sebuah sistem untuk mendukung perangkat lunak, yang disebut computer-aided
software
engineering
(CASE),
didirikan
CASE
menggabungkan software, hardware, dan database (sebuah repository berisi informasi penting tentang analisis, rancangan, program konstruksi, dan pengujian) untuk menciptakan lingkungan rekayasa perangkat lunak yang analog dengan computer-aided engineering (CAE) untuk hardware.
2.2 Multimedia Multimedia adalah beberapa kombinasi dari teks, gambar, suara, animasi dan video dikirim ke anda melalui komputer atau alat elektronik lainnya atau dengan manipulasi digital (Vaughan, 2011:1). Dari definisi diatas, pengertian multimedia secara umum adalah alat atau sarana yang menggabungkan beberapa elemen media berupa teks, gambar, suara, animasi, dan video yang dapat dimanipulasi secara digital menggunakan komputer dan bersifat dinamis dan interaktif.
2.2.1 Lima Elemen Multimedia
Komponen multimedia terbagi atas lima jenis (Vaughan, 2011:19 – 164), yaitu : a. Teks
http://digilib.mercubuana.ac.id/
8
Teks adalah rangkaian dari beberapa kata yang disusun secara efektif untuk membuat pembaca dapat mengerti pesan yang disampaikan. Teks merupakan elemen multimedia yang menjadi dasar untuk menyampaikan informasi, karena teks adalah jenis data yang paling sederhana dan membutuhkan tempat penyimpanan yang paling kecil. Teks merupakan cara yang paling efektif dalam mengemukakan ide-ide kepada user, sehingga penyampaian informasi akan lebih mudah dimengerti oleh masyarakat. Jenisjenis teks seperti Printed Text, yaitu teks yang dihasilkan oleh word processor atau word editor dengan cara diketik yang nantinya dapat dicetak. Scanned Text yaitu teks yang dihasilkan melalui proses scanning tanpa pengetikan. Hypertext yaitu jenis teks yang memberikan link ke suatu tempat / meloncat ke topik tertentu. Teks memiliki atribut-atribut yang umum, yaitu :
1. Typical font style: bold, italic, dan underline. 2. Size: didefinisikan dalam point (pt). 72 pt = 1 inch. 3. Leading: spasi antar baris. 4. Kerning: spasi antar karakter. 5. Alignment: kerataan teks (justified, left, right, atau center).
b. Grafis/Gambar (Image) Gambar merupakan elemen multimedia untuk menyampaikan informasi atau
pendeskripsian
suatu
objek
yang
berbentuk
visual.
Dengan
menggunakan gambar, user lebih mudah menangkap informasi yang tidak dapat dijelaskan dengan kata-kata. Selain itu, gambar dapat menjadi suatu daya tarik bagi user untuk memakai aplikasi. Oleh karena itu, banyak gambar diolah dalam bentuk digital agar memudahkan penyebaran informasi melalui internet. Dalam bentuk apapun, gambar secara umum dikenali dalam 2 bentuk oleh komputer yaitu bitmap (atau gambar grafis) dan vector (atau gambar “plain”) (Vaughan, 2011:70). Bitmap merupakan gambar yang terdiri dalam bentuk titik-titik segiempat yang dikenal sebagai pixel. Kualitas gambar yang terbuat dari bitmap dipengaruhi oleh resolusi yang menentukan ketajaman suatu gambar.
http://digilib.mercubuana.ac.id/
9
Resolusi adalah kerapatan antara satu pixel dengan pixel lainnya. Resolusi biasanya diartikan sebagai ukuran panjang dan lebar suatu media, namun resolusi bisa juga diartikan sebagai banyaknya warna atau titik warna dalam satuan ukuran tertentu. Jadi gambar bitmap akan terlihat pecah dan buram jika diperbesar melewati batas toleransi gambar. Format gambar bitmap yang paling umum digunakan adalah BMP, PCX, TIFF. JPEG, GIF, PSD, PNG, dan lain lain. Vector adalah gambar yang dibuat dalam bentuk persamaan yang bersifat matematis. Gambar vector menggabungkan titik dan garis untuk menjadi sebuah objek, sehingga gambar tidak menjadi pecah biarpun diperbesar atau diperkecil, tidak seperti gambar bitmap. Gambar bertipe vector terbentuk dari garis dan kurva hasil dari perhitungan matematis dari beberapa titik, sehingga membentuk dan menampilkan suatu objek gambar tersebut. Walaupun bersifat relatif lebih kaku daripada tampilan bitmap, kualitas gambar vector tidak bergantung kepada resolusi gambar. Oleh karena itu, gambar vector tidak akan terlihat pecah atau buram jika diperbesar. Format gambar vector paling umum digunakan adalah AI, CDR, FH, EPS.
c. Suara Salah satu elemen yang sering digunakan dalam multimedia adalah suara. Suara merupakan gelombang mekanis yang terjadi melalui suatu mediun yang diukur dengan satuan decibel (dB). Suara berfungsi untuk menghibur dan memberi kesan yang lebih realitis pada suatu situasi. Selain itu, suara dapat menarik perhatian user misalnya dalam reminder diberikan suara agar ketika berbunyi user dapat mengetahui jika ada sesuatu yang perlu diingat.
Suara dapat diciptakan melalui pita suara manusia, alat musik, hewan, dan lain-lain. Seiring dengan perkembangan zaman, suara tidak hanya dapat dihasilkan oleh suatu sumber, tetapi juga dapat dimanipulasi oleh komputer. Hasil manipulasi dari komputer dapat disebut sebagai digital audio. Digital audio dibuat ketika menciptakan karakteristik dari suara gelombang dengan menggunakan angka-proses yang disebut sebagai digitalisasi (Vaughan, 2011:106). Dengan kehadiran digitalisasi, suara apapun dapat dimanipulasi dari microphone, synthesizer, alat rekaman, disc compact, ataupun dari sumber suara itu sendiri misalnya manusia.
http://digilib.mercubuana.ac.id/
10
d. Video Video menyediakan sumber yang kaya dan hidup untuk aplikasi multimedia.
Dengan
video
dapat
menerangkan
hal-hal
yang sulit
digambarkan lewat kata-kata atau gambar diam dan dapat menggambarkan emosi dan psikologi manusia secara lebih jelas.
e. Animasi Animasi adalah simulasi gerakan yang dihasilkan dengan menayangkan rentetan gambar dari frame ke layer. Frame adalah satu gambar tunggal pada rentetan gambar yang membentuk animasi. Animasi menggunakan komputer dibagi menjadi tiga bagian yaitu: a)
Animasi 2D Animasi ini sederhana dan statis, tidak mengubah posisimereka pada layar. Pada animasi 2D, perubahan visual yang terjadi terdapat di bidang cartesius x dan y pada layar. Contoh dari animasi 2D adalah logo yang berganti warna, animasi sel, tombol yang berubah ketika didekati. Path animation dalam animasi 2D meningkatkan kompleksitas
animasi,
menyediakan
gerakan-gerakan,
serta
mengubah lokasi gambar selama di jalur dan waktu tertentu. b)
Animasi 2,5D Pada animasi 2,5D terdapat ilusi kedalaman (sumbu z) yang ditambahkan ke dalam gambar dengan memberikan bayangan dan highlight, namun gambar tersebut masih berada di bidang datar x dan y dalam dua dimensi. Pemberian efek embos, bayangan, bevel, dan highlight membangun ilusi kedalaman dengan membuat objek timbul atau memotongnya di dalam background.
c)
Animasi 3D Dalam animasi 3D, perubahan atau gerakan dihitung dalam tiga sumbu (x, y, z). Hal ini membuat objek yang diciptakan tampak dari depan, belakang, samping, atas, dan bawah, dan mengijinkan user untuk menjelajahi dan melihat seluruh bagian objek dari semua sudut.
http://digilib.mercubuana.ac.id/
11
Saat ini pengembangan animasi 4D menggunakan komputer sedang dijalankan untuk menghasilkan visual yang terlihat lebih nyata. Banyak film mulai menggunakan 4D untuk visualnya.
2.3 Aplikasi Menurut Hengky W. Pramana (2014) aplikasi adalah satu unit perangkat lunak yang dibuat untuk melayani kebutuhan akan beberapa aktivitas seperti sistem perniagaan, game, pelayanan masyarakat, periklanan, atau semua proses yang hampir dilakukan manusia. Oleh karena itu banyak produk-produk yang mengeluarkan suatu sistem aplikasi yang terbaru. Menurut HendrayudiAplikasi adalah kumpulan perintah program yang dibuat untuk melakukan pekerjaan-pekerjaan tertentu. Menurut Harip SantosoAplikasi adalah suatu kelompok file (Form, Class, Report) yang bertujuan untuk melakukan aktivitas tertentu yang saling terkait. Menurut Ibisa Aplikasi adalah alat bantu untuk mempermudah dan mempercepat proses pekerjaan dan bukan merupakan beban bagi penggunanya. Beberapa aplikasi yang digabung bersama menjadi suatu paket disebut sebagai suatu paket atau application suite. Aplikasi-aplikasi dalam suatu paket biasanya memiliki antarmuka pengguna yang memiliki kesamaan sehingga memudahkan pengguna untuk mempelajari dan menggunakan tiap aplikasi.[1] 2.4 Multimedia Development Life Cycle (MDLC) Multimedia menurut Youlia Indrawaty et al. (2013:3) berasal dari kata yaitu multi dan media. Multi berarti banyak dan media berarti perantara, jadi multimedia adalah gabungan beberapa unsur teks, gambar, audio, video, dan animasi yang menghasilkan sebuah presentasi yang memiliki komunikasi interaktif terhadap penggunanya.[8] Tahapan pengembangan dalam Multimedia Development Life Cycle (MDLC) ini yaitu: 1. Concept (Konsep) Merumuskan dasar-dasar dari proyek multimedia yang akan dibuat dan dikembangkan. Terutama pada tujuan dan jenis proyek yang akan dibuat.
http://digilib.mercubuana.ac.id/
12
2. Design (Desain / Rancangan) Tahap dimana pembuat atau pengembang proyek multimedia menjabarkan secara rinci apa yang akan dilakukan dan bagaimana proyek multimedia tersebut akan dibuat. Pembuatan naskah ataupun navigasi serta proses desain lain harus secara lengkap dilakukan.Pada tahap ini akan harus mengetahui bagaimana hasil akhir dari proyek yang akan dikerjakan.
3. Obtaining Content Material (Pengumpulan Materi) Merupakan proses untuk pengumpulan segala sesuatu yang dibutuhkan dalam proyek. Mengenai materi yang akan disampaikan, kemudian file-file multimedia seperti audia, video, dan gambar yang akan dimasukkan dalam penyajian proyek multimedia tersebut. 4. Assembly (Penyusunan dan Pembuatan) Waktunya proyek multimedia diproduksi. Materi-materi sefta file-file multimedia yang sudah didapat kemudian dirangkai dan disusun sesuai desain. Pada proses ini sangat dibutuhkan kemampuan dari ahli agar mendapatkan hasil yang baik. 5. Testing (Uji Coba) Setelah hasil dari proyek multimedia jadi, perlu dilakukan uji coba. Uji coba dilakukan dengan menerapkan hasil dari proyek multimedia tersebut pada pembelajaran secara minor. Hal ini dimaksudkan agar apa yang telah dibuat sebelumnya memang tepat sebelum dapat diterapkan dalam pembelajaran secara massal. 6. Distribution (Menyebar Luaskan) Tahap penggandaan dan penyebaran hasil kepada pengguna. Multimedia perlu dikemas dengan baik sesuai dengan media penyebar luasannya, apakah melalui CD/DVD, download, ataupun media yang lain.
http://digilib.mercubuana.ac.id/
13
Gambar 2.1 Tahap pengembangan multimedia. Sumber : Multimedia Interaktif dengan Flash (2003) 2.4.1 StoryBoard Storyboard menurut Iwan Binanto (2010:255-256) mempunyai peranan yang sangat penting dalam pengembangan multimedia. Storyboard digunakan sebagai alat bantu pada tahapan perancangan multimedia. Iwan Binanto (2010:255-256) mengemukakan storyboard merupakan pengorganisasian grafik, contohnya adalah sederetan ilustrasi atau gambar yang ditampilkan berurutan untuk keperluan visualisasi awal dari suatu file, animasi, atau urutan media interaktif. Storyboard biasanya digunakan untuk kegiatan : 1. film, 2. teater, 3. animasi, 4. photomatik, 5. buku komik, 6. bisnis, dan 7. media interaktif. Storyboard menurut Abdur Rahman (2011:27) memiliki manfaat antara lain : 1. Merupakan visual test bagi pengembang atau pemilik multimedia. 2. Pedoman dari aliran pekerjaan bagi staf pembuat multimedia. 3. Gambaran suatu multimedia yang akan diproduksi bagi sponsor.
http://digilib.mercubuana.ac.id/
14
2.4.2 Desain Struktur Navigasi Struktur navigasi merupakan rancangan alur program. Dalam pengembangan aplikasi berbasis multimedia maupun pengembangan web menurut Lowery dalam Abdur Rahman (2011:29), terdapat beberapa model navigasi dasar, dimana desainer harus mengenal dengan baikkarena setiap model memberikan solusi untuk kebutuhan yang berbeda. Secara umum terdapat 4 jenis model struktur navigasi dalam pengembangan aplikasi berbasis multimedia, yaitu : 1.
Linear navigation model Merupakan model yang digunakan oleh sebagian besar multimedia
linier. Informasi diberikan secara sekuensial dimulai dari satu halaman. Linear navigation model banyak digunakan dan berhasil dengan baik pada beberapa macam aplikasi seperti : a. Presentasi b. Aplikasi computer based-training c. Aplikasi yang memerlukan informasi berurutan
2.
Hierarchial model Model ini diadaptasi dari top-down design yang memiliki konsep
dimulai dari satu node yang menjadi halaman utama dan dibuat beberapa cabang dari tiap halaman level 1 menjadi beberapa cabang lagi.
3.
Spoke-and-hub model Model hub dinyatakan dengan halaman utama yang mempunyai
hubungan dengan setiap node, setiap node dapat berhubungan kembali ke halaman utama dan memiliki struktur hyperlink yang fleksibel.
4.
Full web model Model ini memberikan kemampuan hyperlink yang banyak
digunakan untuk dapat mengakses semua topic dengan cepat, namun memiliki kelemahan seperti user akan kehilangan cara untuk kembali ke topic sebelumnya. Dalam hal ini penulis menggunakan model struktur navigasi hierarchial model dalam pembuatan aplikasi ini.
http://digilib.mercubuana.ac.id/
15
2.4.3 Activity Diagram “Activity diagrams are used to model the behavior in a business process independent of objects. In many ways, activity diagrams can be viewed as sophiscated data flow diagrams that are used in conjunction with structured analysis. However, unlike data flow diagrams, activity diagrams include notation that addresses the modeling of parallel, concurrent and complex decision processes”. (Alan Dennis, 2012). Diagram aktivitas digunakan untuk memodelkan perilaku objek dalam proses bisnis. Dalam banyak hal, diagram aktivitas dapat dipandang sebagai diagram aliran data yang dihubungkan dengan analisis terstruktur. Namun, tidak seperti aliran data diagram, diagram aktivitas termasuk notasi yang membahas pemodelan paralel, bersamaan dan proses keputusan yang kompleks. (Alan Dennis, 2012) Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem. Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal – hal berikut : •
Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan
•
Urutan atau pengelompokkan tampilan dari sistem/user inteface dimana setiap aktivitas dianggap memiliki sebuah rancangan antar muka tampilan
•
Rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya
•
Rancangan menu yang akan ditampilkan pada perangkat lunak. Tabel 2.1 Simbol Pada Activity Diagram (Alan Dennis, 2012)
Simbol
Nama Simbol
Keterangan
Initial Node
“Is used to represent a set of actions.”
Merupakan
tanda
awal
dari
sebuah aktivitas Final-Activity Node
“Is used to stop all control flows and object flows in activity (or action).”
http://digilib.mercubuana.ac.id/
16
Merupakan
tanda
berakhirnya
sebuah aktivitas Activity
“Is used to represent a set of actions.”
Merupakan
sebuah
gambaran
aktivitas yang terjadi Decision Note
“Is used to represent a test condition to ensure that the control flow or object flow only
(Decission Criteria)
goes down one path.”
(Decission Criteria)
Pilihan
untuk
pengambilan
keputusan Merge Node
“Is used to represent a test condition to ensure that the control flow or object flow only goes down one path.”
Membawa
kembali
jalur
keputusan bersama yang berbeda yang dibuat dengan menggunakan keputusan simpul Swimlane Swimlane Name
“Separate business organization that is responsible for the activity that occurs.”
http://digilib.mercubuana.ac.id/
17
Memisahkan
organisasi
bisnis
yang bertanggung jawab terhadap aktifitas yang terjadi. Control Flow
“Showhs
the
sequence
of
execution.”
Menunjukan urutan eksekusi Object Flow
“Shows the flow of an object from one activity (or action) to another activity (or action).”
Menunjukkan aliran objek dari satu untuk
kegiatan
(atau
kegiatan
kegiatan)
lain
(atau
tindakan).
2.5 Android Menurut Meng Lee (2011: p2) Android adalah sistem operasi untuk Mobile yang berbasiskan oleh Linux yang telah termodifikasi. Pada awal mulanya sistem operasi Android ini dikembangkan oleh perusahaan yang bernama Android. Namun ditahun 2005, Google membeli saham perusahaan Android dan mengambil alih kegiatan pengembangan sistem operasi tersebut dengan tujuan untuk memasukkan sistem operasi Android ke pasar mobile phone. Keunggulan utama menggunakan Android adalah sistem operasi tersebut menawarkan kemudahan dalam pengembangan aplikasinya. Seseorang hanya perlu membuat aplikasi untuk Android, lalu aplikasi tersebut dapat dipergunakan pada berbagai devices yang memiliki sistem operasi Android.
http://digilib.mercubuana.ac.id/
18
2.5.1 Versi-Versi Android Menurut Meng Lee (2011: p2) Android telah mengalami banyak pembaharuan versi semenjak pertama kali diluncurkan. Berikut adalah versi-versi dari Android.
Tabel 2.2 Tabel Versi Android ANDROID VERSION
RELEASE DATE
CODE NAME
1.1
9 February 2009
1.5
30 April 2009
Cupcake
1.6
15 September 2009
Donut
2.0/2.1
26 Oktober 2009
Eclair
2.2
20 May 2010
Froyo
2.3
6 December 2010
Gingerbread
3.0
Unconterned the time of
Honeycomb
writting Sumber : Meng Lee (2011: p2) Menurut official website dari Android, terdapat juga dua versi yang lebih baru dari data yang diatas, yaitu :
Tabel 2.3 Tabel Lanjutan Versi Android Android Version
Code Name
4.0.3 - 4.0.4
Ice Cream Sandwich
4.1.x - 4.3
Jelly Bean
4.4.2
KitKat
5.0
Lollipop
Sumber : developer.android.com/about/dashboards/index.html
http://digilib.mercubuana.ac.id/
19
2.5.2 Fitur Sistem Operasi Android
Menurut Meng Lee (2011: p3) Android adalah sistem operasi open source dan bebas terbuka bagi developer untuk melakukan customization, sehingga tidak diperlukan pengaturan tetap untuk perangkat keras maupun perangkat lunak yang akan dipergunakan. Namun Android sendiri memiliki fitur-fitur seperti : 1. Storage Dipergunakan basis data SQL Lite sebagai tempat untuk menampung data-data pengguna. 2. Connectivity Mendukung jaringan GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, WiFi, LTE, dan WiMAX. 3. Messaging Dapat melakukan SMS (Short Message Service) dan MMS (Multimedia Message Service). 4. Web Browser Berlandaskan pada open-source WebKit dan Chrome V8 JavaScript engine. 5. Media Support Mendukung berbagai jenis media untuk foto dan video seperti : H.263, H.264, MPEG-4 SP, AMR, AMR-WB, AAC, HE-AAC, MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, dan BMP. 6. Hardware Support Sensor getaran, kamera, kompas digital, pendeteksi obyek terdekat tanpa adanya kontak fisik, dan GPS (Global Positioning System). 7. Multi-Touch Mendukung multi-touch screens. Dalam arti dapat menggunakan 2 jari atau lebih dalam penggunaannya. 8. Multi-Tasking Mendukung multi-tasking application. Dalam arti dapat menggunakan lebih dari 1 aplikasi. 9. Flash Support Android 2.3 mendukung Flash 10.1.
http://digilib.mercubuana.ac.id/
20
10. Tethering Mendukung pembagian koneksi internet sebagai hotspot.
2.5.3 Arsitektur Android Menurut Meng Lee (2011: p4), sistem operasi Android dibagi menjadi lima bagian dalam empat lapisan utama, yaitu :
Gambar 2.2 Arsitektur dari Android (Meng Lee, 2011: p3)
1) Linux Karnel Ini merupakan dasar dari Android. Lapisan ini berisikan semua drivers tingkatan rendah untuk segala komponen perangkat keras pada device Android. 2) Libraries Disini berisi semua kode yang memberikan fitur utama pada sistem operasi Android. 3) Android Runtime
http://digilib.mercubuana.ac.id/
21
Android Runtime berada pada lapisan yang sama dengan libraries, memberikan inti dari libraries yang memperbolehkan developer untuk membuat aplikasi Android dengan menggunakan bahasa pemrograman Java. Selain itu juga terdapat Dalvik virtual machine, yang memungkinkan untuk mengoptimalkan battery-powered mobile devices dengan memori dan CPU yang terbatas. 4) Application Framework Memperlihatkan berbagai kemampuan dari sistem operasi Android kepada para developer aplikasi agar mereka dapat menggunakannya dalam pembuatan aplikasi tersebut. 5) Application Pada lapisan teratas ini, dapat ditemukan aplikasi bawaan yang terdapat pada device android (seperti contacts, browser), serta aplikasi-aplikasi yang diunduh dan di-install dari Android Market.
2.5.4
Software Development Kit (SDK) Software Development Kit (SDK) adalah tools
Application Programming
Interface (API) yang diperlukan untuk mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman java.
2.5.5 Android Studio Menurut Wikipedia Android Studio adalah sebuah lingkungan pengembangan terintegrasi (IDE) untuk mengembangkan pada platform android. Diumumkan pada tanggal 16 Mei 2013 di Google i/o konferensi oleh Google Product Manager, Katherine Chou. Android Studio tersedia secara bebas di bawah Apache License 2.0. Android Studio di akses awal mulai dari versi 0.1 di Mei 2013, kemudian memasuki tahap beta mulai dari versi 0.8 yang dirilis pada bulan Juni tahun 2014. Membangun stabil pertama dirilis pada Desember tahun 2014, mulai dari versi 1.0. Berdasarkan perangkat lunak IntelliJ
IDEA
JetBrains',
Android
Studio
dirancang
khusus
untuk
Android
pengembangan. Ini tersedia untuk di-download di Windows, Mac OS X dan Linux, dan menggantikan Eclipse (ADT) sebagai Google IDE utama untuk pengembangan aplikasi Android.
http://digilib.mercubuana.ac.id/
22
2.5.6 Gradle Menurut wikipedia Gradle adalah alat Otomasi yang dibangun berdasarkan konsep Apache Ant dan Apache Maven dan memperkenalkan berbasis Groovy domainspesifik language (DSL) lebih tradisional XML bentuk mendeklarasikan konfigurasi proyek. Gradle menggunakan grafik acyclic ("DAG") untuk menentukan urutan di mana tugas dapat dijalankan. Gradle dirancang untuk proyek multi membangun yang dapat tumbuh menjadi cukup besar, dan mendukung inkremental dengan cerdas menentukan bagian mana dari struktur membangun up-to-date, sehingga setiap tugas yang bergantung pada bagian-bagian tidak perlu dijalankan ulang.
2.5.7 Genymotion Emulator Genymotion adalah sebuah emulator Android yang terdiri dari satu set sensor lengkap dan fitur untuk berinteraksi dengan lingkungan Android virtual. Dengan Genymotion, dapat menguji aplikasi Android yang dibuat pada berbagai perangkat virtual untuk tujuan pengembangan, pengujian, dan demonstrasi.
2.5.8 Oracle VM VirtualBox Oracle VM VirtualBox adalah perangkat lunak virtualisasi, yang dapat digunakan untuk mengeksekusi sistem operasi"tambahan" di dalam sistem operasi "utama". Sebagai contoh, jika seseorang mempunyai sistem operasi MS Windows yang terpasang di komputernya, maka seseorang tersebut dapat pula menjalankan sistem operasi lain yang diinginkan di dalam sistem operasi MS Windows.
2.6 Java Java adalah bahasa yang dapat dijalankan disembarang platform, diberagam lingkungan: Internet, consumer electronic products, dan computer applications. (Bambang Hariyanto, 2014)
Bahasa Java merupakan karya Sun Microsystem Inc. Rilis resmi level beta dilakukan pada November 1995. Dua bulan berikutnya Netscape menjadi perusahaan pertama yang memperoleh lisensi bahasa Java dari Sun. (Bambang Hariyanto, 2014) Pada pengembangan enterprise applications, kita menggunakan sejumlah besar paket. Pada consumer electronic product, hanya sejumlah kecil bagian bahasa yang digunakan . Masing-masing edisi berisi berisi Java 2 Software Development Kit (SDK) untuk
http://digilib.mercubuana.ac.id/
23
mengembangkan aplikasi dan Java 2 Runtime Environtment (JRE) untuk menjalankan aplikasi. Java telah berjalan pada segala perangkat dari laptop sampai pusat data, konsol game sampai supercomputer ilmiah. Terdapat 930 juga download terhadap java Runtime environment setiap tahun dan 3 milirar telepon mobile (handphone) yang menjalankan java. (Bambang Hariyanto, 2014). Versi dan Rilis utama Java sebagai berikut: 1. JDK 1.0 (January 21, 1996) 2. JDK 1.1 (February 19, 1997) 3. J2SE 1.2 (December 8, 1998) 4. J2SE 1.3 (May 8, 2000) 5. J2SE 1.4 (February 6, 2002) 6. J2SE 5.0 (September 30, 2004) 7. Java SE 6 (December 11, 2006) 8. Java SE 7 (July 28, 2011 9. Java SE 8 (March 18, 2014) 2.7 Extensible Markup Language (XML) Menurut Fawcett, Quin, & Ayers (2012, p. 3-4), Extensible Markup Language (XML) adalah bahasa markup yang memiliki fungsi untuk membedakan suatu informasi dengan informasi lainnya dan dapat digunakan untuk mendesain tampilan menu. Kelemahan XML adalah dapat bertukar data dengan perangkat lunak yang berbeda.
XML adalah bahasa markup yang menyerupai Hyper Text Markup Language (HTML) akan tetapi XML dan HTML mempunyai tujuan pengembangan yang berbeda. XML diciptakan untuk menyusun, menyimpan dan menyalurkan data antar aplikasi dan HTML diciptakan untuk web browser menampilkan informasi.
XML mempunyai struktur bahasa yang mudah dikenal karena bahasa XML dapat dibuat sendiri sesuai dengan kebutuhan. XML 1.0 dilengkapi dengan DTD (Document Type Definition) untuk mempermudah aplikasi membaca stuktur hiraki penulisan XML. DTD biasanya terletak pada bagian atas penulisan arsip XML.
http://digilib.mercubuana.ac.id/
24
XML mempunyai kelebihan dalam mengirimkan data, dimana data dapat dikirim dan diterima pada aplikasi yang mempunyai platform berbeda. Contohnya, XML dapat mengenal antara platform Java dan platform .NET .
2.8 Testing Perangkat Lunak “Testing” adalah sebuah proses yang dijelaskan sebagai siklus hidup dan merupakan bagian dari proses rekayasa perangkat lunak secara terintegrasi demi memastikan kualitas dari perangkat lunak serta memenuhi kebutuhan teknis yang telah disepakati dari awal”. (Rizky, 2011).
2.8.1 BlackBox Testing “Black Box Testing” adalah tipe testing yang memperlakukan perangkatlunak yang tidak diketahui kinerja internalnya. Sehingga para tester memandang perangkat lunak seperti layaknya sebuah “kotak hitam” yang tidak penting dilihat isinya, tapi cukup dikenai proses testing di bagian luar” (Rizky, 2011). Beberapa keuntungan yang diperoleh dari jenis testing ini antara lain: 1. Anggota tim tester tidak harus dari seseorang yang memiliki kemampuan teknis di bidang pemrograman. 2. Kesalahan dari perangkat lunak ataupun bug seringkali ditemukan oleh komponen tester yang berasal dari pengguna. 3. Hasil dari black box testing dapat memperjelas kontradiksi ataupun keracunan yang mungkin timbul dari eksekusi sebuah perangkat lunak. 4. Proses testing dapat dilakukan lebih cepat dibandingkan white box testing.
Beberapa teknik testing yang tergolong dalam tipe ini antara lain : a) Equivalence Partitioning Pada teknik ini, tia inputan data dikelompokan ke dalam grup tertentu, yang kemudian dibandingkan outputnya. b) Boundary Value Analysis Merupakan teknik yang sangat umun digunakan pada saat awal sebuah perangkat lunak selesai dikerjakan. Pada teknik ini, dilakukan inputan yang melebihi dari batasan sebuah data, jika perangkat lunak berhasil mengatasi inputan yang salah, maka dapat dikatakan teknik ini telah selesai dilakukan. c) Cause Effect Graph Dalam teknik ini, dilakukan proses testing yang menghubungkan sebab
http://digilib.mercubuana.ac.id/
25
dari sebuah inputan dan akibatnya pada output yang dihasilkan. d) Random Data Selection Teknik berusaha melakukan proses inputan data yang menggunakan nilai acak. Dari hasil inputan tersebut kemudian dibuat sebuah tabel yang menyatakan validitas dari output yang dihasilkan. e) Feature Test Pada teknik ini dilakukan proses testing terhadap spesifikasi dari perangkat lunak yang telah selesai dikerjakan.
2.8.2 WhiteBox Testing “White Box Testing” adalah jenis testing yang lebih berkonsentrasi terhadap “isi” dari perangkat lunak itu sendiri. Jenis lebih banyak berkonsentrasi kepada sourcecode dari perangkat lunak yang dibuat”.(Rizky, 2011). Prinsip dari keluaran tipe testing ini adalah : 1) Menjamin bahwa semua alur program yang indenpenden (dalam bentuk modeul, form, prosedur, class dan lainnya) telah dites minimal datu kali. 2) Telah melakukan testing terhadap semua jenis percabangan dengan nilai true dan false. 3) Telah melakukan testing terhadap semua jenis perulangan dengan kondisi normal dan kondisi yang dianggap melampaui batas perulangan (umumnya kondisi yang melampaui batas harus diatasi oleh prosedur tertentu). 4) Telah melakukan testing terhadap struktur data internal (seperti variabel) agar terjaga validitasnya.
Beberapa teknik yang terdapat dalam jenis white box testing adalah : •
Decision (branch) Coverage Testing ini terfokus pada hasil dari setiap skenario yang dijalankan terhadap bagian perangkat lunak yang mengandung percabangan (if..then..else).
•
Condition Coverage Teknik ini mirip dengan teknik yang pertama, tetapi dijalankan terhadap percabangan yang dianggap kompleks atau percabangan majemuk. Hal ini biasanya dilakukan jika dalam sebuah perangkat lunak memiliki banyak kondisi yang dijalankan dalam satu proses sekaligus.
•
Path Analysis
http://digilib.mercubuana.ac.id/
26
Merupakan teknik testing yang berusaha menjalankan kondisi yang ada dalam perangkat lunak serta berusaha mengoreksi apakah kondisi yang dijalankan telah sesuai dengan alur diagram yang terdapat dalam proses perancangan. •
Execution Time Pada teknik ini, perangkat lunak berusaha dijalankan kemudian dilakukan pengukuran waktu pada input masukan hingga output dikeluarkan. Waktu eksekusi yang dihasilkan kemudian dijadikan bahan evaluasi dan analisa lebih lanjut untuk melihat apakah perangkat lunak telah berjalan sesuai dengan kondisi yang dimaksudkan oleh tester.
•
Algorithm Analysis Teknik ini jarang dilakukan jika perangkat lunak yang dibuat berjenis sistem informasi. Sebab teknik ini membutuhkan kemampuan matematis yang cukup tinggi dari para tester, karena di dalamnya berusaha melakukan analisa terhadap algoritma yang diimplementasikan pada perangkat lunak tersebut.
2.9 Fitness (Kebugaran) Menurut Joko Pekik Irianto (2004 : 42) yang dimaksud kebugaran adalah kebugaran fisik (Fhysical Fitness) yakni “Kemampuan seseorang melakukan pekerjaan sehari-hari secara efisien tanpa timbul kelelahan yang berlebihan sehingga masih dapat menikmati waktu luangnya”.
2.9.1 Exercise (Latihan) Latihan fisik adalah kegiatan tubuh yang meningkatkan atau mempertahankan kebugaran fisik dan secara keseluruhan kesehatan dan kesejahteraan. Itu dilakukan untuk berbagai alasan, termasuk memperkuat otot-otot dan sistem kardiovaskular, mengasah kemampuan atletik, berat badan atau pemeliharaan, dan hanya kenikmatan.
2.9.2 Pemanasan Pemanasan dilakukan sebagai persiapan sebelum latihan dan beraktivitas. Pemanasan menjadi semakin diperlukan ketika usia bertambah, apalagi jika orang yang bersangkutan memeiliki penyakit orthopedic atau cedera.
http://digilib.mercubuana.ac.id/