Anda di halaman 1dari 15

BAB II

TINJAUAN PUSTAKA

2.1.............................................................................. Pengertian Aplikasi


Aplikasi adalah penerapan dari rancang sistem untuk mengolah data
yang menggunakan aturan atau ketentuan bahasa pemrograman tertentu.
Aplikasi adalah suatu program komputer yang dibuat untuk mengerjakan
dan melaksanakan tugas khusus dari pengguna.
2.2........................................................................................................UML
Unified Modelling Language (UML) adalah sebuah bahasa untuk
menentukan, visualisasi, konstruksi, dan mendokumentasikan artifacts
dari sistem software,

untuk

memodelkan

bisnis,

dan

sistem

nonsoftware lainnya. Artifacts adalah sepotong informasi yang digunakan


atau dihasilkan dalam suatu proses rekayasa software. Artifacts dapat
berupa model, deskripsi, atau software. Untuk membuat suatu model,
UML memiliki diagram grafis yang diberi nama berdasarkan sudut
pandang yang berbeda-beda terhadap sistem dalam proses analisa atau
rekayasa. Diagram grafis tersebut antara lain.
2.2.1. Use Case
Use case adalah deskripsi fungsi dari sebuah sistem dari perspektif
pengguna. Use case bekerja dengan cara mendeskripsikan tipikal interaksi
antara user (pengguna) sebuah sistem dengan sistemnya sendiri melalui
sebuah cerita bagaimana sebuah sistem dipakai. Urutan langkah-langkah
yang menerangkan antara pengguna dan sistem untuk mencapai tujuan
tertentu. Setiap scenario menjelaskan urutan kejadian. Use case adalah
serangkaian scenario yang digabungkan

bersama-sama

oleh

tujuan

umum pengguna. Use case biasanya menggunakan actors. Actors


adalah sebuah peran yang bisa
interaksinya dengan sistem.

dimainkan oleh

pengguna dalam

Tabel 2.1 Usecase Diagram


NO

GAMBAR

NAMA

KETERANGAN

Actor

Menspesifikasikan himpunan peran


yang pengguna mainkan ketika
berinteraksi dengan use case.

Dependency

Hubungan dimana perubahan yang


terjadi pada suatu elemen mandiri
(independent) akan mempengaruhi
elemen yang bergantung padanya
elemen
yang
tidak
mandiri
(independent).

Generalizati
on

Hubungan
dimana
objek
anak
(descendent) berbagi perilaku dan
struktur data dari objek yang ada di
atasnya objek induk (ancestor).

Include

Menspesifikasikan bahwa use case


sumber secara eksplisit.

Extend

Association

System

NO

GAMBAR

Menspesifikasikan bahwa use case


target memperluas perilaku dari use
case sumber pada suatu titik yang
diberikan.
Apa yang menghubungkan antara
objek satu dengan objek lainnya.
Menspesifikasikan
paket
yang
menampilkan sistem secara terbatas.

Use Case

Deskripsi dari urutan aksi-aksi yang


ditampilkan sistem yang menghasilkan
suatu hasil yang terukur bagi suatu
actor

NAMA

KETERANGAN

Collaborati
on

Interaksi aturan-aturan dan elemen lain


yang bekerja sama untuk menyediakan
prilaku yang lebih besar dari jumlah
dan elemen-elemennya (sinergi).

10

Note

Elemen fisik yang eksis saat aplikasi


dijalankan dan mencerminkan suatu
sumber daya komputasi

2.2.2. Class Diagram


Class diagram adalah bagian dari UML yang menggambarkan
sebuah kumpulan dari kelas-kelas yang ada dan hubungan diantara kelas
tersebut dimana setiap kelas mempunyai attributes dan operations.
Tabel 2.2 Class Diagram
NO

GAMBAR

NAMA

KETERANGAN
Hubungan dimana objek anak
(descendent) berbagi perilaku dan
struktur data dari objek yang ada di
atasnya objek induk (ancestor).
Upaya untuk menghindari asosiasi
dengan lebih dari 2 objek.

Generalizatio
n

Nary
Association

Class

Collaboration

Realization

Himpunan dari objek-objek yang


berbagi atribut serta operasi yang
sama.
Deskripsi dari urutan aksi-aksi yang
ditampilkan
sistem
yang
menghasilkan suatu hasil yang
terukur bagi suatu aktor
Operasi yang benar-benar dilakukan
oleh suatu objek.

NAMA

KETERANGAN

NO

GAMBAR

Dependency

Association

2.2.3. Activity Diagram

Hubungan dimana perubahan yang


terjadi pada suatu elemen mandiri
(independent) akan mempegaruhi
elemen yang bergantung padanya
elemen yang tidak mandiri
Apa yang menghubungkan antara
objek satu dengan objek lainnya

Activity Diagram adalah teknik untuk mendeskripsikan logika


procedural, proses bisnis dan aliran kerja dalam banyak kasus. Activity
diagram mempunyai peran seperti halny a flowchart, akan tetapi
perbedaannya dengan flowchart adalah activity diagram bisa mendukung
perilaku parallel sedangkan flowchart tidak bisa.Selain sebagai gambaran
detail sebuah use case diagram, activity diagram bisa juga untuk
menjabarkan suatu

state

tertentu

dan

statechart diagram dimana

fungsinya untuk menerangkan dan mendeskripsikan internal behavior


suatu metode/state dan menunjukkan aliran action yang di kendalikan
(driven by) oleh action sebelumnya.
Tabel 2.3 Activity Diagram
NO

GAMBAR

NAMA

Actifity

Action

Initial Node

NO

GAMBAR

NAMA

KETERANGAN
Memperlihatkan bagaimana masingmasing kelas antarmuka saling
berinteraksi satu sama lain
State dari sistem yang mencerminkan
eksekusi dari suatu aksi
Bagaimana
diawali.

objek

dibentuk

atau

KETERANGAN

Actifity
Final Node

Bagaimana objek
dihancurkan

dibentuk

dan

Fork Node

Satu aliran yang pada tahap tertentu


berubah menjadi beberapa aliran

2.3...............................................Pengertian Perangkat Lunak (Software)


Pengertian perangkat lunak menurut Al Bahra bin Ladjamudin
(2006:3) menjelaskan bahwa perangkat lunak adalah objek tertentu yang
dapat dijalankan seperti kode sumber, kode objek atau sebuah program
yang lengkap. Produk perangkat lunak memiliki pengertian perangkat
lunak yang ditambahkan dengan semua item dan pelayanan pendukung
yang secara keseluruhan dapat memenuhi kebutuhan pemakai. Produk
perangkat lunak memiliki banyak bagian yang meliputi manual, referensi,

tutorial, intruksi instalasi, data sampel, pelayanan pendidikan, pelayanan


pendukung teknis dan sebagainya. Semua yang dihasilkan oleh proyek
perangkat lunak adalah produk kerja (work product).
2.4.................................................................................................... Android
Android adalah sistem operasi untuk telepon seluler berbasis Linux
sebagai kernelnya. Android SDK (Software Development Kit) menyediakan
tools dan API (Application Programming Interface) yang diperlukan bagi
para pengembang untuk membuat dan mengembangkan aplikasi yang
digunakan pada ponsel bersistem operasi Android dengan menggunakan
bahasa pemrograman Java.
2.4.1. Versi android
1) Versi 1.1
Pada 9 Maret 2009, Google merilis Android versi 1.1. Android versi ini
dilengkapi dengan pembaruan estetis pada aplikasi, jam alarm, voice
search (pencarian suara), pengiriman pesan dengan Gmail, dan
pemberitahuan email.
2) Versi 1.5 (Cupcake)
Versi kedua ini mendukung berbagai fitur yang lebih lengkap diantaranya
adalah upload video ke Youtube atau gambar ke Picasa langsung dari
telepon selular dan Bluetooth A2DP yang sudah terintegrasi.
3) Versi 1.6 (Donut)
Versi ini lebih mengembangkan aplikasi-aplikasi standar pada smartphone
diantaranya proses searching yang lebih baik, fitur pada galeri yang lebih
user friendly, mendukung resolusi layar WVGA, peningkatan Android
market dan aplikasi dan juga mampu upgradeable ke versi 2.1(clair).
4) Versi 2.0 / 2.1 (clair)
Pada 3 Desember 2009 kembali diluncurkan ponsel Android dengan versi
2.0/2.1 (Eclair), perubahan

yang

dilakukan adalah pengoptimalan

hardware, peningkatan Google Maps 3.1.2, perubahan UI dengan browser


baru dan dukungan HTML5, daftar kontak yang baru.

5) Versi 2.2 (Froyo)


Pada 20 Mei 2010, Android versi 2.2 (Froyo) diluncurkan. Perubahanperubahan umumnya terhadap versi-versi sebelumnya antara lain
dukungan Adobe Flash 10.1, kecepatan kinerja dan aplikasi 2 sampai 5
kali lebih cepat, intergrasi V8 JavaScript engine yang dipakai Google
Chrome yang mempercepat

kemampuan

rendering

pada

browser,

pemasangan aplikasi dalam SD Card, kemampuan WiFi Hotspot portabel,


dan kemampuan auto update dalam aplikasi Android Market.
6) Versi 2.3 (Gingerbread)
Pada 6 Desember 2010, Android versi 2.3 (Gingerbread) diluncurkan.
Perubahan-perubahan umum yang didapat dari Android versi ini antara
lain peningkatan kemampuan permainan, peningkatan fungsi copy paste,
layar antar muka (User Interface) didesain ulang, dukungan format video
VP8 dan WebM, efek audio baru (reverb, equalization, headphone
virtualization, dan bass boost), dukungan kemampuan Near Field
Communication (NFC), dan dukungan jumlah kamera yang lebih dari
satu.
7) Versi 3.0 / 3.1 (Honeycomb)
Android Honeycomb dirancang khusus untuk tablet. Android versi ini
mendukung ukuran layar yang lebih besar. User Interface
Honeycomb

juga

berbeda

karena

pada

sudah didesain untuk tablet.

Honeycomb juga mendukung multi prosesor

dan

juga

akselerasi

perangkat keras (hardware) untuk grafis. Tablet pertama yang dibuat


dengan menjalankan Honeycomb adalah Motorola Xoom.
8) Versi 4.0 (Ice Cream Sandwich)
Android Ice Cream Sandwich yang dirilis pada 19 oktober 2011
membawa fitur Honeycomb untuk smartphone dan menambahkan fitur
baru termasuk membuka kunci dengan pengenalan wajah, jaringan data
pemantauan data dan kontrol terpadu kontak jaringan sosial, perangkat
tambahan fotografi, mencari email secara offline, dan berbagi informasi
dengan menggunakan NFC

9) Versi 4.1 / 4.2 / 4.3 (Jelly Bean)


Jelly Bean versi 4.1 yang diluncurkan pada acara Google I/O membawa
fitur-fitur baru yang menawan. Beberapa fitur yang diperbaharui dalam
sistem operasi ini antara lain, pencarian dengan menggunakan voice
search yang lebih cepat, informasi cuaca, lalu lintas, hasil pertandingan
olahraga yang cepat dan tepat, selain itu versi 4.1 ini juga mempunyai fitur
keyboard virtual yang lebih baik. Permasalahan umum yang sering
ditemui pengguna Android adalah baterai, namun baterai dalam sistem
Android Jelly Bean versi 4.1 ini diklaim cukup hemat. Pada versi 4.2
diklaim lebih pintar dan inovatif dibandingkan dengan pendahulunya.
Beberapa fitur yang diperbaharui dalam sistem operasi ini antara lain
notifications, Google Assistant, face unlock dengan Liveness check, barrel
roll, smart widget, Google now, teknologi project butter untuk
meningkatkan responsifitas yang sangat baik, sistem operasi yang cepat
dan ringan, full chrome browser menjelajah internet menggunakan Google
chrome seperti pada PC. Pada versi 4.3 terdapat pembaharuan, yaitu
teknologi smart Bluetooth yang membuat Bluetooth aktif tanpa menguras
baterai, mendukung Open GL ES 3.0, performa grafis yang lebih bagus
dan realistis., kecepatan kinerja yang luar biasa cepat serta grafis yang
memukau atau lebih halus.
2.5.......................................................................................................... Java
Java menurut definisi dari Sun Microsystem adalah sekumpulan
teknologi untuk membuat perangkat lunak dan menjalankannya pada
komputer standalone ataupun pada lingkungan jaringan. Secara umum Java
adalah suatu teknologi perangkat lunak komputer yang merupakan suatu
bahasa pemrograman tingkat tinggi berorientasi objek yang dapat dijalankan
di semua platform. Berbicara mengenai Java, dapat dikenakan pada dua
bagian, yaitu Java sebagai bahasa pemrograman dan Java sebagai sebuah
platform
2.5.1. Java sebagai bahasa pemrograman
2.5.1.1.......................................... Pengertian bahasa pemrograman Java

Java adalah bahasa pemrograman yang berorientasi objek (OOP) dan


dapat dijalankan pada berbagai platform sistem operasi. Perkembangan
Java tidak hanya terfokus pada satu sistem operasi, tetapi dikembangkan
untuk berbagai sistem operasi dan bersifat open source. Dengan
memanfaatkan sebuah mesin virtual JVMTM (Java Virtual Machine),
setiap baris perintah yang sudah dieksekusi berupa bytecodes, akan
diinterpretasikan oleh JVM sehingga memungkinkan bytecodes hasil
kompilasinya bisa dijalankan di berbagai platform tanpa harus menulis
ulang setiap kode baris perintah.
2.5.1.2................................................................................................... Class
Kelas adalah representasi objek-objek yang ada di sekitar kita ke dalam
bahasa pemrograman komputer. Di dalam kelas berisi kumpulan attributes
yang mendukung berjalannya setiap fungsi-fungsi yang terdapat di dalam
kelas itu. Di dalam kelas inilah semua operasi-operasi dilakukan atau
diimplementasikan. Untuk mengaktifkan semua fungsi-fungsi yang ada di
dalam suatu kelas, maka sebuah kelas itu harus dideklaraskan sebuah
method yang memiliki tipe static karena method yang memilki tipe static,
menginjinkan method tersebut mendapatkan pengalokasian tempat di
dalam memory lebih awal dibandingkan dengan method-method lainnya
ketika kelas tersebut dieksekusi dan nantinya method yang bertipe static
tersebut akan menjadi mediary bagi method-method dan attributes lain
yang bukan bertipe static untuk dieksekusi atau dikelola. Sebuah kelas
juga memiliki identifier yang memungkinkan kelas tersebut membatasi
ruang lingkup pengaksesan kelas lain terhadap kelas itu.
2.5.1.3........................................................................................ Constructor
Constructor adalah adalah sebuah method yang digunakan sebagai media
dalam menciptakan sebuah objek. Karena konstruktor bisa di overload,
maka dengan objek setiap fungsi-fungsi dan attributes yang dimiliki
sebuah kelas bisa diakses atau dikelola berdasarkan parameter setiap
konstruktor yang dioverload. Overloading constructor adalah kondisi

dimana sebuah kelas memiliki lebih dari satu buah konstruktor. Jadi
penciptaan sebuah objek oleh konstruktor, diciptakan berdasarkan jumla
parameter yang dimiliki oleh konstruktor tersebut. Secara default, sebuah
kelas yang tidak dideklarasikan sebuah konstruktor, kelas tersebut akan
menggunakan konstruktor defaultnya (konstruktor tanpa parameter) kelas
itu sendiri sebagai media bagi kelas itu untuk menciptakan objek untuk
mengelola fungsi- fungsi dan attirbutes yang dimiliki oleh kelas.
Berdasarakan penerapannya di dalam kode program, konstruktor seperti
halnya method atau fungsi dalam pendeklarasiannya, dideklarasikan
dengan menggunakan modifier tetapi penamaan pada konstruktor harus
mengikuti nama kelas itu sendiri. Dan yang membedakan konstruktor
dengan method lainnya adalah konstruktor tidak bertipe void dan tidak
memiliki pengembalian nilai seperti halnya method-method biasa.
2.5.1.4............................................................................................... Method
Method adalah fungsi-fungsi yang dimiliki oleh suatu kelas. Fungsi-fungsi
dalam

bahasa

pemrograman

Java

dimaksudkan

untuk

mengimplementasikan apa yang bisa dilakukan oleh suatu kelas dalam


menonjolkan berbagai keunggulan-keunggulan atau kelebihan-kelebihan
yang di miliki untuk dilakukan.
2.5.1.5........................................................................... Attribute/Properties
Attribute/properties adalah semua perengkapan-perlengakapan yang
dimiliki oleh sebuah kelas yang bekerja sama dalam menunjang
pengimplementasian setiap fungsi fungsi yang dimiliki oleh sebuah kelas.
2.5.1.6............................................. Object Oriented Programming (OOP)
Objek Oriented Programming (OOP) adalah suatu konsep bahasa
pemrograman yang berorientasi objek

yang

diciptakan

untuk

mempermudah developer dengan mengikuti model yang sudah ada dalam


kehidupan nyata.
2.5.2. Java sebagai platform

Platform adalah suatu lingkungan hardware atau software yang suatu


program dapat berjalan di dalamnya. Contoh platform adalah Microsoft
Windows, Solaris OS, Linux, dan Mac OS. Suatu platform biasanya hasil
kombinasi dari sistem operasi dan seperangkat hardware. Terminologi
pemrograman Java bukan hanya merujuk pada suatu bahasa pemrograman,
melainkan juga sebagai suatu platform. Tapi platform Java hanya terdiri
dari komponen software (tanpa komponen hardware) dalam hal ini adalah
untuk menjalankan hardware. Sebagai sebuah platform, Java memiliki 2
bagian utama, yaitu Java Virtual Machine (JVM) dan Application
Programming Interface (API)
2.5.2.1........................................................... Java Virtual Machine (JVM)
Java

Virtual

Machine

(JVM)

adalah

mesin

virtual

yang

menerjemahkan dan mengkomunikasikan bytecode-bytecode Java ke


dalam bahasa mesin. Bytecode java adalah adalah file hasil kompilasi kode
java (ekstensi filenya adalah .class). Jika sutu program java bernama
ProgramA.java dikompilasi maka hasilnya adalah Program A.class (inilah
bytecode java). Sebenarnya paradigma pemrogramman dengan cara
mengkomunikasikan/menginterpretasikan

kode

(dalam

java

adalah

bytecode) menurut para ahli kurang bagus dari sisi performance


(kecepatan). Namun JVM mencoba mengatasi masalah ini dengan
menerapkan teknik just in time (JIT) compilation yaitu java bytecode
langsung dikompilasi menjadi bahasa mesin untuk kode-kode program
yang dijalankan secara berulang-ulang.
2.5.2.2.................................... Application Programming Interface (API)
API merupakan sekumpulan komponen software (kelas-kelas dan
interface-interface java) siap pakai yang memiliki berbagai kegunaan dan
kemampuan yang berbeda-beda. Sekumpulan kelas-kelas dan interfaceinterface yang saling berkaitan diorganisasikan dalam suatu daftar pustaka/
library. Library ini dikenal dengan sebutan package. Beberapa fitur yang
ditawarkan Java API antara Iain sebagai berikut :

1) Applet
2) Java Networking
3) Java Database Connectivy (JBDC)
2.6........................................................................................ Android Studio
Android Studio adalah sebuah Integrated Development Environment (IDE)
untuk mengembangkan aplikasi ber-platform Android. Hal ini diumumkan pada
tanggal 16 Mei 2013 saat Google I/O conference oleh Product Manager Google,
Katherine Chou. Android Studio tersedia secara bebas di bawah Lisensi Apache
2.0.
Android Studio pada awal tahap preview dimulai dari versi 0.1 pada bulan
Mei 2013, kemudian memasuki tahap beta mulai dari versi 0.8 yang dirilis pada
bulan Juni 2014. Versi stable build dirilis pada bulan Desember 2014, yang
dimulai dari versi 1.0.
Didasarkan pada perangkat lunak IDEA JetBrains 'IntelliJ, Android Studio
dirancang khusus untuk pengembangan Android. Ini tersedia untuk di-download
pada Windows, Mac OS X dan Linux. Android Studio ini menggantikan Eclipse
ADT sebagai IDE utama Google untuk pengembangan aplikasi Android. Berikut
adalah hal yang ditawarkan di Android Studio :

1) Berbasis Gradle.
2) Android-spesifik refactoring dan perbaikan yang cepat.
3) Alat Lint untuk menangkap kinerja, kegunaan, versi kompatibilitas dan
masalah lainnya.
4) ProGuard dan app-signature.
5) Wizard untuk desain dan membuat komponen-komponen umum Sebuah
layout editor yang memungkinkan untuk drag-and-drop komponen UI,
pratinjau layout pada beberapa konfigurasi layar, dan banyak lagi.
6) Built-in dukungan untuk Google Cloud platform , sehingga mudah untuk
mengintegrasikan Google Cloud Messaging dan App Engine sebagai
komponen server-side.
Tabel 2.4 Perbandingan antara Android Studio dengan Eclipse ADT

Fitur

Android
Studio

Eclipse
ADT

Build system

Gradle

Ant

Maven-based build dependencies

Yes

No

Build variants and multiple-APK generation

Yes

No

Advanced Android
refactoring

Yes

No

Graphical layout editor

Yes

Yes

Fitur

Android
Studio

Eclipse
ADT

APK signing and keystore management

Yes

Yes

NDK support

Yes

Yes

code

completion

and

Menurut uraian diatas dan pengalaman penulis saat menggunakan kedua


IDE tersebut, dari segi grafik Android Studio lebih unggul dibandingkan dengan
Eclipse tetapi Adroid Studio lebih berat dibandingkan Eclipse karena
membutuhkan spesifikasi komputer yang cukup tinggi. Dan karena Android
Studio dikhususkan untuk pengembangan android saja sedangkan Eclipse tidak
(multi programming), jadi Android Studio lebih nyaman dalam pengkodingan
untuk membuat sebuah aplikasi.
2.7.

Metodologi Pengembangan Multimedia

Gambar 1.1 Metodologi Pengembangan Multimedia


(Luther (1994 dalam Sutopo, 2011))
1)

Concept

Tahap concept (konsep) akan menentukan deskripsi proyek


dan analisis sistem. Deskripsi proyek akan menjelaskan seperti tujuan
dan target pengguna aplikasi. Tujuan aplikasi adalah untuk
menampilkan informasi profil PT Anugerah Generasi Bersama dan
target penggunanya adalah pengguna smartphone android. Sedangkan
pada analisis sistem akan dibuat diagram alir (flowchart) aplikasi
yang dibuat yang menjelaskan proses bisnis aplikasi profil PT
Anugerah Generasi Bersama.
2)

Design
Tahap Design (perancangan) akan menentukan desain sistem

dan Desain interface. Desain sistem adalah menggunakan Unified


Modeling Language(UML) yang akan menghasilkan usecase
diagram, activity diagram dan class diagram. Sedangkan desain
interface akan menghasilkan navigation tree&storyboard aplikasi.
3)

MaterialCollecting
Material Collecting adalah tahap dimana pengumpulan bahan-

bahan seperti gambar, foto, animasi, video, audio dan lain-lain.


Bahan-bahan yang mendukung dalam pembuatan

aplikasi ini

diperoleh dari PT Anugerah Generasi Bersama, internet dan bahanbahan yang didesain oleh penulis selaku developer aplikasi. Desain
bahan-bahan tersebut menggunakan perangkat lunak pendukung
seperti Adobe photoshop CS6, dan lain-lain.
4)

Assembly
Tahap assembly (pembuatan) adalah tahap dimana semua

objek atau bahan multimedia dibuat. Pembuatan aplikasi didasarkan


pada

tahap

design

kemudian

diimplementasikan

ke

bahasa

pemrograman android. Perangkat Lunak pendukung yang digunakan


pada tahap ini adalah Java dan Intellij Idea Comunity Edition.
5)

Testing
Tahap testing atau pengujian dilakukan setelah selesai tahap

pembuatan (assembly) dengan menjalankan aplikasi/program dan


dilihat apakah ada kesalahan atau tidak. Testing dilakukan dengan

metode Black Box. Pegujian dengan metode ini difokuskan pada


fungsionalitas aplikasi. Input dan output aplikasi disesuaikan dengan
desain sistem yang dibuat.
6) Distribution
Tahap distribution adalah tahapan dimana aplikasi disimpan
dalam suatu media penyimpanan. File proyek pada perangkat lunak
pengembang akan dikonversi menjadi file .apk yang merupakan file
yang sudah bisa di-install pada perangkat android. Setelah di-install
aplikasi bisa digunakan. File .apk juga dapat diunggah ke Google
Play agar dapat diunduh pengguna android secara luas.

Jika

diperlukan file proyek bisa disimpan dan dikembangkan untuk


aplikasi versi selanjutnya.

Anda mungkin juga menyukai