View
1
Download
0
Category
Preview:
Citation preview
7
BAB II
LANDASAN TEORI
2.1. Konsep Dasar Aplikasi Mobile
2.1.1. Pengertian Mobile
Menurut Wikipedia, pengertian aplikasi adalah program yang digunakan orang
untuk melakukan sesuatu pada system computer. Mobile dapat diartikan sebagai
perpindahan yang mudah dari satu tempat ke tempat yang lain, misalnya telepon
mobile berarti bahwa terminal telepon yang dapat berpindah dengan mudah dari satu
tempat ke tempat lain tanpa terjadi pemutusan atau terputusnya komunikasi. System
aplikasi mobile merupakan aplikasi yang dapat digunakan walaupun pengguna
berpindah dengan mudah dari satu tempat ketempat lain tanpa terjadi pemutusan atau
terputusnya komunikasi. Aplikasi ini dapat diakses melalui perangkat nirkabel seperti
telepon seluler atau smartphone. Adapun karakteristik perangkat mobile yaitu:
1. Ukuran yang kecil : Perangkat mobile memiliki ukuran yang kecil. Konsumen
menginginkan perangkat yang terkecil untuk kenyamanan dan mobilitas mereka.
2. Memory yang terbatas : Perangkat mobile juga memiliki memory yang kecil, yaitu
primary (RAM) dan secondary (disk).
3. Daya proses yang terbatas : System mobile tidaklah setangguh rekan mereka yaitu
desktop.
4. Menkonsumsi daya yang rendah : Perangkat mobile menghabiskan sedikit daya
dibandingkan dengan mesin desktop.
5. Kuat dan dapat diandalkan : Karena perangkat mobile selalu dibawa kemana saja,
mereka harus cukup kuat untuk menghadapi benturan-benturan, gerakan, dan
sesekali tetesan-tetesan air.
6. Konektivitas yang terbatas : Perangkat mobile memiliki bandwith rendah,
beberapa dari mereka bahkan tidak tersambung.
7. Masa hidup yang pendek : Perangkat-perangkat konsumen ini menyala dalam
hitungan detik kebanyakan dari mereka selalu menyala.
8
2.1.2. Pengertian Android
Menurut (Nasruddin Safaat h, Pemrograman aplikasi mobile smartphone dan
tablet PC berbasis android 2012:1) Android adalah sebuah system operasi pada
handphone yang bersifat terbuka dan berbasis pada system operasi linux. Android
bisa digunakan oleh setiap orang yang ingin menggunakannya pada perangkat
mereka. Android menyediakan platform terbuka bagi para pengembang untuk
menciptakan aplikasi mereka sendiri yang akan digunakan untuk bermacam piranti
bergerak. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang
membuat piranti lunak untuk ponsel. Kemudian untuk mengembangkan Android,
dibentuklah Open Handset Alliance, konsorsium dari 34 perusahaan piranti keras,
piranti lunak. Dan telekomunikasi, termasuk Google, HTC, Intel, Motorola,
Qualcomm, T-Mobile, dan Nvidia. Pada saat perilisan perdana Android, 5 November
2007, Android bernama Open Handset Alliance menyatakan mendukung
pengembangan standar terbuka pada perangkat seluler.[1] Di lain pihak, Google
merilis kode-kode Android dibawah lisensi Apache, sebuah lisensi perangkat lunak
dan standar terbuka perangkat seluler.[5]
a. Kelebihan Android
1. Multitasking. Kalau anda pernah merasakan keunggulan dari Symbian yang bisa
membuka beberapa aplikasi sekaligus, begitu juga Android yang mampu membuka
beberapa aplikasi sekaligus tanpa harus menutup salah satunya.[1]
2. Kemudahan dalam Notifikasi. Setiap ada SMS, Email, atau bahkan artikel terbaru
dari RSS Reader, akan selalu ada notifikasi di Home Screen Ponsel Android, tak
ketinggalan lampu LED Indikator yang berkedip-kedip, sehingga anda tidak akan
terlewatkan satu SMS, Email ataupun Notifikasi lainnya.[1]
3. Akses mudah terhadap aplikasi-aplikasi Android lewat Google App Store. kalau
anda gemar install aplikasi ataupun games, lewat Google App Store anda bisa
mendownload berbagai aplikasi dengan gratis. Ada banyak ribuan aplikasi dan
games yang siap untuk anda download di smartphone.[1]
4. Pilihan Smartphone yang beranekaragam. Bicara Smartphone Android, akan terasa
‘beda’ dibandingkan dengan iOS, jika iOS hanya terbatas pada iPhone dari Apple,
9
maka Android tersedia di smartphone dari berbagai produsen, mulai dari Sony,
Motorola, Samsung, HTC sampai Xiaomi. Dan setiap pabrikan smartphone
menghadirkan smartphone Android dengan gaya masing-masing, seperti Motorola
dengan Motoblur-nya, Sony dengan TimeScape-nya. Jadi anda bisa leluasa
memilih smartphone Android sesuai dengan ‘merk’ favorit.
5. Bisa menginstal ROM yang dimodifikasi. Tak puas dengan tampilan standar
Android, jangan khawatir ada banyak Costum ROM yang bisa anda pakai di
smartphone Android anda.
6. Widget. Dengan adanya widget di homescreen, anda bisa dengan mudah
mengakses berbagai setting dengan cepat dan mudah.
7. Google App. Kelebihan Android lainnya jika anda pengguna setia layanan Google
mulai dari Gmail sampai dengan Google Reader, smartphone Android telah
terintegrasi dengan layanan Google, sehingga anda dengan cepat mengecek email
dari Gmail App Google.
b. Kelemahan Android
1. Keneksi Internet yang terus menerus. Kebanyakan smartphone berbasis system ini
memerlukan koneksi internet yang simultan alias terus menerus aktif. Koneksi
internet GPRS selalu aktif setiap waktu, itu artinya anda harus siap berlangganan
paket GPRS yang sesuai dengan kebutuhan.
2. Iklan. Aplikasi di smartphone Android memang bisa didapatkan dengan mudah
dan gratis, namun konsekuensinya di setiap aplikasi tersebut akan selalu muncul
iklan yang terpampang, entah itu bagian atas atau bawah aplikasi.
2.1.2.1 Android SDK (Software Development Kit)
Android SDK adalah tools API (Application Programming Interface) yang
diperlukan untuk memulai mengembangkan aplikasi pada platform Android
menggunakan bahasa pemrograman Java.[1][5]
Beberapa fitur Android yang paling penting adalah sebagai berikut:
1. Framework aplikasi yang mendukung penggantian komponen dan reusable
2. DVM dioptimalkan untuk perangkat mobile
10
3. Integrated browser berdasarkan engine open source WebKit
4. Grafis yang dioptimalkan dan didukung oleh library grafis 2D, grafis 3D
berdasarkan spesifikasi OpenGL ES 1.0
5. SQLite untuk penyimpanan data
6. Dukungan untuk audio, video dan gambar
7. Bluetooth, EDGE, 3G, 4G, Wifi
8. Kamera, GPS, kompas dan accelerometer.
9. Lingkungan development yang lengkap dan kaya termasuk perangkat emulator,
tools untuk debugging, profil dan kinerka memori serta plugin untuk IDE Eclipse
2.1.2.2 Arsitektur Android
Secara garis besar arsitektur Android dapat dijelaskan dan digambarkan sebagai
berikut :
1. Application dan Widget – Aplication dan Widget ini adalah layer dimana kita
berhubungan dengan aplikasi saja. Di layer terdapat aplikasi ini termasuk klien
email, program SMS, kalender, peta, browser, kontak, dan lain-lain. Semua
aplikasi ditulis dengan menggunakan bahasa pemrograman JAVA.[1][5]
2. Application Framework – Application Framework adalah layer untuk melakukan
pengembangan/ pembuatan aplikasi yang akan dijalankan di system operasi
Android, karena pada layer inilah aplikasi dapat dirancang dan dibuat, seperti
content provider yang berupa SMS dan panggilan telepon.[1][5]
3. Android Runtime – layer yang membuat aplikasi Android dapat dijalankan dimana
dalam prosesnya menggunakan implementasi Linux. Dalvik Virtual Machine
merupakan mesin yang membentuk dasar kerangka aplikasi Android.
Didalam Android Runtime dibagi menjadi dua bagian yaitu :
1) Core Library
Aplikasi Android dibangun dalam bahasa Java, sementara DVM bukan
merupakan virtual machine untuk Java. Sehingga diperlukan libraries yang
berfungsi untuk menterjemahkan bahasa Java yang ditangani oleh Core
Libraries.
11
2) Dalvik Virtual Machine
Virtual Machine berbasis register yang dioptimalkan untuk menjalankan
fungsi-fungsi secara efisien, dimana merupakan pengembangan yang mampu
membuat Linux kernel untuk melakukan threading dan manajemen tingkat
rendah.
4. Linux kernel – Linux kernel adalah layer dimana inti system operasi Android itu
berada. Berisi file system yang mengatur system processing memory, resource,
drivers, dan system-sitem operasi Android lainnya. Linux Kernel yang digunakan
Android adalah Linux Kernel Release 2.6.
Gambar 2.1 Arsitektur Android
(Sumber : NazruddinSafaat H.2012. Pemrograman Aplikasi Smartphone dan
Tablet PC berbasis Android)
12
2.1.2.3 Fundamental Aplikasi
Aplikasi Android ditulis dengan bahasa pemrograman Java. Kode Java
dikompilasi bersama dengan data file resource yang dibutuhkan oleh aplikasi, dimana
prosesnya di-package oleh tools yang dinamakan apt tools ke dalam paket Android
sehingga menghasilkan file dengan ekstensi apk. File apk itulah yang disebut dengan
aplikasi dan siap diinstall di perangkat mobile.[5]
Ada empat jenis komponen pada aplikasi Android, yaitu:
1. Activities
Suatu activity akan menyajikan user interface (UI) kepada pengguna, sehingga
pengguna dapat melakukan interaksi. Sebuah aplikasi Android bisa jadi hanya
memiliki satu activity, tetapi umumnya aplikasi memiliki banyak activity
tergantung pada tujuan aplikasi dan desain dari aplikasi tersebut
Gambar 2.2 Contoh Penggunaan Activity
(Sumber : NazruddinSafaat H.2012. pemrograman Aplikasi Mobile
Smartphone dan Tablet PC berbasis Android)
Satu activity biasanya akan dipakai untuk menampilkan aplikasi yang bertindak
sebagai user interface (UI) saat aplikasi diperlihatkan kepada user. Untuk pindah
dari satu activity ke activity lain dapat dilakukan dengan satu even, misalnya klik
tombol, memilih opsi menggunakan trigger tertentu. Secara hirarki sebuah
windows activity dinyatakan dengan method Activity.setContentView(). Content
View adalah objek yang berada pada root hirarki.[5]
13
2. Service
Service tidak memiliki Graphic User Interface (GUI), tetapi service berjalan
secara background. Misalnya ketika smartphone sedang memainkan music di
media player, namun user juga sedang mengetik SMS. Activity yang bisa terlihat
user adalah activity SMS, sedangkan media player yang sedang memainkan music
tidak terlihat, maka media player tersebut sedang menjalankan sebuah service.
3. Broadcast Receiver
Broadcast Receiver berfungsi menerima dan bereaksi untuk menyampaikan
notifikasi. Sebagai contoh ketika baterai dalam keadaan low atau misalnya sudah
berhasil meneriman data hasil download atau pun bluetooth. Broadcast Receiver
tidak memiliki user interface (UI), tetapi memiliki sebuah activity untuk merespon
informasi yang mereka terima, atau mungkin menggunakan Notification Manager
untuk memberitahu kepada pengguna, seperti lampu layar atau vibrating dan lain
sebagainya.
4. Content Provider
Content provider membuat kumpulan aplikasi data secara spesifik sehingga bisa
digunakan oleh aplikasi lain. Data disimpan dalam file seperti database SQLite.
Content Provider menyediakan cara untuk mengakses data yang dibutuhkan oleh
suatu activity, misalnya ketika menggunakan aplikasi yang membutuhkan peta,
atau aplikasi yang membutuhkan untuk mengakses data kontak dan navigasi,
maka disinilah fungsi Content Provider.
2.1.3. Pengertian Java
Java merupakan bahasa pemrograman berorientasi objek yang bersifat open
source dan bisa dijalankan di berbagai platform. Java mengadopsi sintaks dari bahasa
C dan C++. Setiap program yang ditulis dengan bahasa Java awalnya dikompilasi
menjadi sebuah kode objek yang disebut bytecode. Hasil dari bytecode adalah file
berekstensi *.class, selanjutnya file *.class tersebut akan diterjemahkan baris demi
baris (interpreter).
14
Dalam terminology Java terdapat istilah “write one, run anywhere”. Ini berarti
bahwa sekali menulis program Java dan melakukan kompilasi terhadap program Java
tersebut, maka bytecode bisa dijalankan di dalam platform manapun selama platform
tersebut terdapat Java Virtual Machine (JVM)
Menurut Budi Raharjo, Imam Heryanto, Arif Haryono (Mudah Belajar Java
2010) java adalah bahasa pemrograman yang dapat dijalankan di berbagai computer
termasuk di telepon genggam.[8] Bahasa ini awalnya dibuat oleh James Gosling saat
masih bergabung di Sun Microsystems saat ini merupakan bagian dari Oracle dan
dirilis tahun 1995. Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan
C++ namun dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-
rutin aras bawag yang minimal. Aplikasi-aplikasi berbasis Java umumnya
dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin
Virtual Java (JVM). Java merupakan bahasa pemrograman yang bersifat umum/non-
spesifik (general purpose), dan secara khusus didisain untuk memanfaatkan
dependensi implementasi seminimal mungkin. Karena fungsionalitasnya yang
memungkinkan aplikasi Java mampu berjalan di beberapa platform operasi yang
berbeda, Java dikenal pula dengan slogannya, “Tulis sekali, jalankan di mana pun”.
Saat ini Java merupakan bahasa pemrograman yang paling popular digunakan, dan
secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak
aplikasi ataupun aplikasi berbasis web. [8]
Adapun kelebihan Java yaitu:
1. Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa
platform / system operasi computer, sesuai dengan prinsip tulis sekali, jalankan di
mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java
dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa
mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform
tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis Java
dikerjakan diatas operating system Linux tetapi dijalankan dengan baik di atas
Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft
Windows, Linux, Mac OS dan Sun Solaris. Penyebabnya adalah setiap system
15
operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs
Java) untuk meninterpretasikan bytecode tersebut.
2. OOP (object Oriented Programming – Pemrograman Berorientasi Objek).
3. Perpustakaan Kelas yang lengkap, Java terkenal dengan kelengkapan
library/perpustakaan (kumpulan program-program yang disertakan dalam
pemrograman Java) yang sangat memudahkan dalam penggunaan oleh para
pemrogram untuk membangun aplikasinya. Kelengkapan library ini ditambah
dengan keberadaan komunitas Java yang bersar yang terus menerus membuat
library baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi.
4. Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++ sehingga
menarik banyak pemrograman C++ untuk pindah ke Java. Saat ini Java sangant
banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-
universitas di luar negeri juga mulai berpindah dengan mengajarkan Java kepada
murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat
berguna juga bagi mereka yang bukan mengambil jurusan computer.
5. Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan
memori sehingga para pemrogram tidak perlu melakukan pengaturan secara
langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas).
Sedangkan kekurangan Java yaitu :
1. Tulis sekali, jalankan di mana saja – Masih ada beberapa hal yang tidak
kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya
SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X.
2. Mudah didekompilasi. Dekompilasi adalah proses membalikan dari kode jadi
menjadi kode sumber. Ini dimungkinkan karena kode dari Java merupakan
bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-
nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft
.NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih
sulit disembunyikan dan mudah dibajak/direverse-engineer.
3. Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis
Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti
16
C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini
bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru
(karena trend memori terpasang makin murah), tetapi menjadi masalah bagi
mereka yang masih harus berkutat dengan mesin computer berumur lebih dari 4
tahun.
2.1.4. Pengertian UML
Menurut (Adi Nugroho : 2005). “Unified Modeling Language (UML)
adalah alat bantu analisis serta perancangan perangkat lunak berbasis objek”.
Menurut (Joomla dari http://soetrasoft.com : 2007). “Unified Modeling
Language (UML) merupakan standard modeling language yang terdiri dari
kumpulan-kumpulan diagram, dikembangkan untuk membantu para
pengembang sistem dan software agar bisa menyelesaikan tugas-tugas
seperti: Spesifikasi, Visualisasi, Desain Arsitektur, Konstruksi, Simulasi dan
testing serta Dokumentasi”. [4]
Berdasarkan beberapa pendapat yang dikemukakan diatas dapat ditarik
kesimpulan bahwa “Unified Modeling Language (UML) adalah sebuah
bahasa yang berdasarkan grafik atau gambar untuk menvisualisasikan,
menspesifikasikan, membangun dan pendokumentasian dari sebuah sistem
pengembangan perangkat lunak berbasis OO (Object Oriented)”. UML
merupakan suatu kumpulan teknik terbaik yang telah terbukti sukses dalam
memodelkan system yang besar dan kompleks. UML tidak hanya digunakan
dalam proses pemodelan perangkat lunak, namun hampir dalam semua
bidang yang membutuhkan pemodelan. Bagian-bagian utama dari UML
adalah View, Diagram, model element, dan general mechanism.[4]
1. View
View digunakan untuk melihat system yang dimodelkan dari beberapa aspek yang
berbeda. View bukan melihat grafik, tapi merupakan suatu abstraksi yang berisi
sejumlah Diagram. Beberapa jenis Vie dalam UML antara lain: Use Case View,
17
Logical View, Component View, Concurrency View, dan Deployment View.
Berikut penjelasannya :
1) Use Case View
Use Case View mendeskripsikan fungsionalitas system yang seharusnya
dilakukan sesuai yang diinginkan external actors. Actor yang berinteraksi
dengan system dapat berupa user atau system lainnya. View ini digambarkan
dalam Use Case Diagram dan kadang-kadang dengan Activity Diagram. View
ini digunakan terutama untuk pelanggan, perancang (designer), pengembang
(developer), dan penguji system (tester).
2) Logical View
Logical View mendeskripsikan bagaimana fungsionalitas dari system, struktur
statis (Class, object, dan relationship) dan kolaborasi dinamis yang terjadi
ketika object mengirim pesan ke object lain dalam suatu fungsi tertentu. View
ini digambarkan dalam Class Diagram untuk struktur statis dan dalam state,
sequence, Colloboration, dan activity diagram untuk model dinamisnya. View
ini digunakan untuk perancang (designer) dan pengembang (developer).
3) Component View
Componet view mendeskripsikan implementasi dan ketergantungan modul.
Komponen yang merupakan tipe lainnya dari code module diperlihatkan
dengan struktur dan ketergantungannya juga alokasi sumber daya komponen
dan informasi administrative lainnya. View ini digambarkan dalam
Component View dan digunakan untuk pengembang (developer).
4) Concurrency View
Concurrency View membagi system ke dalam proses dan prosesor. View ini
digambarkan dalam Diagram dinamis (State, Sequence, Collaboration, dan
Activity Diagrams) dan Diagram implementasi (Component dan Deployment
Diagrams) serta digunakan untuk pengembang (developer), pengintergrasi
(integrator), dan penguji (tester).
18
5) Deployment View
Deployment View mendeskripsikan fisik dari system seperti computer dan
perangkat (nodes) dan bagaimana hubungannya dengan lainnya. View ini
digambarkan dalam Deployment Diagrams dan digunakan untuk pengembang
(developer), pengintegrasi (integrator), dan penguji (tester).
6) Diagram
Diagram berbentuk grafik yang menunjukan symbol elemen model yang
disusun untuk mengilustrasikan bagian atau aspek tertentu dari system.
Sebuah Diagram merupakan bagian dari suatu View tertentu dan ketika
digambarkan biasanya dialokasikan untuk View tertentu. Adapun jenis
Diagram antara lain :
1.) Use Case Diagram
Use case adalah abstraksi dan interaksi antara system dan actor. Use case
bekerja dengan cara mendeskripsikan tipe interaksi antara user sebuah
system dengan sistemya sendiri melalui sebuah cerita bagaimana sebuah
system dipakai. Use case merupakan konstruksi untuk mendeskripsikan
bagaimana system akan terlihat di mata user. Sedangkan Use case
Diagram memfasilitasi komunikasi diantara analis dan pengguna serta
analis dan client.
2.) Class Diagram
Class adalah dekripsi kelompok obyek-obyek dengan property, perilaku
(operasi) dan relasi yang sama. Sehingga dengan adanya Class Diagram
dapat memberikan pandangan global atas sebuah system. Hal tersebut
tercermin dari Class-Class yang ada dan relasinya satu dengan yang
lainnya. Sebuah system biasanya mempunyai beberapa Class Diagram.
Class Diagram sangat membantu dalam visualisasi struktur kelas dari
suatu system.
3.) Component Diagram
Component software merupakan bagian fisik dari sebuah system, karena
menetap di computer tidak berada di benak para analis. Component
19
merupakan implementasi software dari sebuah atau lebih Class.
Component dapat berupa source code, Component biner, atau executable
Component. Sebuah Component berisi informasi tentang logic Class atau
Class yang diimplementasikan sehingga membuat pemetaan dari Logical
View ke Component View. Sehingga Component Diagram
merepresentasikan dunia riil yaitu Component software yang mengandung
Component, interface
Dan relationship.
4.) Deployment Diagram
Deployment Diagram menggambarkan tata letak sebuah system secara
fisik, menampakkan bagian-bagian software yang berjalan pada bagian-
bagian hardware, menunjukan hubungan komputer dengan perangkat
(nodes) satu sama lain dan jenis hubungannya. Di dalam nodes,
executeable Component dan object yang dialokasikan untuk
memperlihatkan unit perangkat lunak yang dieksekusi oleh node tertentu
dan ketergantungan komponen.
5.) State Diagram
State Diagram menggambarkan semua State (kondisi) yang dimiliki oleh
suatu object dari suatu Class dan keadaan yang menyebabkan State
berubah. Kejadian dapat berupa object lain yang mengirim pesan. State
Class tidak digambarkan untuk semua Class, hanya yang mempunyai
sejumlah State yang terdefinisi dengan baik dan kondisi Class berubah
oleh State yang berbeda.
6.) Sequence Diagram
Sequence Diagram digunakan untuk menggambarkan perilaku pada
sebuah scenario. Kegunaanya untuk menunjukan rangkaian pesan yang
dikirim antara object juga interaksi antara object, sesuatu yang terjadi pada
titik tertentu dalam eksekusi system.
20
7.) Collaboration Diagram
Collaboration Diagram menggambarkan kolaborasi dinamis seperti
Sequence Diagrams. Dalam menunjukkan pertukaran pesan, Collaboration
Diagram menggambarkan object dan hubungannya (mengacu ke konteks).
Jika penekannya pada waktu atau urutan gunakan Sequence Diagram, tapi
jika penekanannya pada konteks gunakan Collaboration Diagram.
8.) Activity Diagram
Activity Diagram menggambarkan rangkaian aliran dari aktivitas,
digunakan untuk mendeskripsikan aktifitas yang dibentuk dalam suatu
operasi sehinnga dapat juga digunakan untuk aktifitas lainnya seperti Use
case atau interaksi.
Adapun tujuan penggunaan UML yaitu :
1. Memberikan bahasa pemodelan yang bebas dari berbagai bahas pemrograman dan
proses rekayasa.
2. Menyatukan praktek-praktek terbaik yang terdapat dalam pemodelan.
3. Memberikan model yang siap pakai, bahasa pemodelan visual yang ekspresif
untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti
secara umum.
4. UML bisa juga berfungsi sebagai sebuah (blue print) cetak biru karena sangat
lengkap dan detail. Dengan cetak biru ini maka akan bisa diketahui informasi
secara detail tentang coding program atau bahkan membaca program dan
menginterpretasikan kembali ke dalam bentuk Diagram (reserve engineering).
Sedangkan perangkat lunak yang mendukung pembuatan diagram UML yaitu :
1. StarUML (http://StarUML.sourceforge.net/en/)
StarUML adalah sebuah proyek staropen source untuk mengembangkan secara
cepat, fleksible, extensible, featureful, dan bebas tersedia UML /platform MDA
berjalan pada platform Win32. Tujuan dari proyek StarUML adalah untuk
membangun sebuah pengganti alat UML komersial seperti Rational Rose, bersama
dan sebagainya.
21
2. Acceleo (http://acceleo.org/pages/home/en)
Acceleo adalah generator kode mengubah model menjadi kode. Acceleo mudah
digunakan dan menyediakan “dari rak” generator (jee,php,…) dan template editor
untuk Eclipse.
3. ArgoUML (http://ArgoUML.tigris.org/)
ArgoUML adalah star open source UML modeling tool terkemuka dan termasuk
dukungan untuk semua Diagram UML standar 1,4. Ini berjalan pada setiap
platform Java dan tersedia dalam bahasa sepuluh. Argo UML ditulis seluruhnya di
Java dan menggunakan Java kelas Foundation. Hal ini memungkinkan ArgoUML
untuk berjalan di hamper semua platform.
2.1.5. Pengertian Eclipse
Menurut Nasrudin Safaat h (Pemrograman aplikasi mobile smartphone dan
tablet PC berbasis android 2012:16) Eclipse adalah sebuah IDE (Integrated
Development Environtment) untuk mengembangkan perangkat lunak dan dapat
dijalankan di semua platform (platform-independet). Berikut ini adalah sifat dari
Eclipse :
1. Multi-platform: target system operasi 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, Pearl, PHP, dan lain sebagainya.
3. Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa
digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti
dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.
Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan
open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat
lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya popular adalah
kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang
dinamakan plug-in. Eclipse dibuat dari kerja sama antara perusahaan-perusahaan
22
anggota ‘Eclipse Foundation’(beserta individu-individu lain). Banyak nama besar
yang ikut dalam ‘Eclipse Foundation’, termasuk IBM, BEA, Intel, Nokia, Borland.
Eclipse bersaing langsung dengan Netbeans IDE. Plugin tambahan Eclipse jauh lebih
banyak dan bervariasi dibandingkan IDE lainnya.
1. IntelliJ IDEA (commercial, free 30 day trial)
2. Oracle JDeveloper (free)
3. Xinox JCreator (ada versi berbayar maupun free)
Eclipse awalnya dikembangkan oleh IBM untuk menggantikan perangkat lunak
IBM visual Age for Java 4.0. produk ini diluncurkan oleh IBM pada tanggal 5
November 2001, yang menginvestasikan sebanyak US$ 40 juta dan
pengembangannya. Semenjak itu konsursium Eclipse Foundation mengambil alih
untuk pengembangan Eclipse lebih lanjut dan pengaturan organisasinya. Sejak versi
3.0, Eclipse pada dasarnya merupakan sebuah kernel, yang mengangkat plug-in. apa
yang dapat digunakan di dalam Eclipse sebenarnya adalah fungsi dari plug-in yang
sudah diinstal. Ini merupakan basis dari Eclipse yang dinamakan Rich Client
Platform (RCP). Berikut ini adalah komponen yang membentuk RCP:
1. Core platform
2. OSGi
3. SWT (Standard Widget Toolkit)
4. JFace
5. Eclipse Workbench
Secara standar Eclipse selalu dilengkapi dengan JDT (Java Development
Tools), plug-in yang membuat Eclipse kompatibel untuk mengembangkan program
Java, dan PDE (Plug-in Development Environment) untuk mengembangkan plug-in
baru. Eclipse beserta plug-in-nya diimplementasikan dalam bahasa pemrogramn Java.
Konsep Eclipse adalah IDE yang terbuka (open), mudah diperluas (Extensible) untuk
apa saja, dan tidak untuk mengembangkan program Java, akan tetapi dapat digunakan
untuk berbagai macam keperluan, cukup dengan menginstal plug-in yang dibutuhkan.
Apabila ingin mengembangkan program C/C++ terdapat plug-in CDT (C/C++
Development Tools). Selain itu, pengembangan secara visual bukan hal yang tidak
23
mungkin oleh Eclipse, plug-in UML tersedia untuk membuat Diagram UML. Dengan
menggunakan PDE setiap orang bisa membuat plug-in sesuai keinginannya. Salah
satu situs yang menawarkan plug-in secara gratis seperti Eclipse downloads by
project.
Sejak tahun 2006, Eclipse Foundation mengkoordinasikan peluncuran Eclipse
secara rutin dan simultan yang dikenal dengan nama Simultaneous Release. Setiap
versi peluncuran terdiri dari Eclipse Platform dan juga sejumlah proyek yang terlibat
dalam proyek Eclipse. Tujuan dari system ini adalah untuk menyediakan distribusi
Eclipse dengan fitur-fitur dan versi yang terstandarisasi. Hal ini juga dimaksudkan
untuk mempermudah Deployment dan maintenance untuk system enterprise, serta
untuk kenyamanan. Peluncuran simultan dijadwalkan pada bulan juni setiap
tahunnya.
2.1.6. Pengertian Android Studio
Android Studio adalah lingkungan pengembangan terpadu (IDE) resmi untuk
pengembangan platform pada android, hal itu disampaikan pada tanggal 16 mei 2013
Google I/O, android studio sudah tersedia secara bebas dibawah lisensi Apache 2.0.
Android studio pada awalnya tahap preview versi 0.1 yang dipakai pada tanggal 1
mei 2013 dan memasuki tahap beta pada bulan juni 2014 dan mulai stabil dirilis pada
desember 2014 dengan versi 1.0, berdasarkan jetBrains ‘IDEA Intellij Software’,
Android Studio di rancang khusus untuk pengembangan android yang tersedia untuk
Windows, Mac Os X dan linux sebagai pengganti Eclipse.
2.1.7. SQLite
SQLite adalah sebuah embedded database yang sangat terkenal karena
menggabungkan antarmuka SQL dengan memori yang sangat kecil dan kecepatan
yang baik (Murphy, 2010, h.225).
SQlite adalah sebuah open source database yang telah ada cukup lama, cukup
stabil, dan sangat terkenal pada perangkat kecil, termasuk Android. Android
menyediakan database relasional yang ringan untuk setiap aplikasi menggunakan
24
SQLite. Aplikasi dapat mengambil keuntungan dari itu untuk mengatur relational
database engine untuk menyimpan data secara aman dan efisien.[12]
Untuk Android, SQLite dijadikan satu di dalam Android runtime, sehingga
setiap aplikasi Android dapat membuat basis data SQLite. Karena SQLite
menggunakan antarmuka SQL, cukup mudah untuk digunakan orang-orang dengan
pengalaman lain yang berbasis database SQL.[12]
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. Prototype
Dalam perancangan Tugas Akhir ini penulis menggunakan metode prototype.
Prototype Model adalah salah satu metode pengembangan perangkat lunak yang
banyak digunakan. Dengan metode prototyping ini pengembangan dan pelanggan
dapat saling berinteraksi selama proses pembuatan system. Sering terjadi seorang
pelanggan hanya mendefinisikan secara umum apa yang dibutuhkan, pemrosesan dan
data-data apa saja yang dibutuhkan. Sebaliknya disisi pengembang kurang
memperhatikan efesiensi Algoritma. Kemampuan system operasi dan interface yang
menghubungkan manusia dengan computer. [5]
Pada prototype model kadang-kadang klien hanya memberikan beberapa
kebutuhan umum software tanpa detail input, proses atau detail output dilain waktu
mungkin pengembang tidak yakin terhadap efisiensi dari algoritma yang digunakan,
tingkat adaptasi terhadap system operasi atau rancangan form user interface. Ketika
situasi seperti ini terjadi model prototyping sangat membantu proses pembangunan
software. Proses pada prototyping bisa dijelaskan sebagai berikut:
25
1. Pengumpulan kebutuhan : developer dan klien bertemu dan menentukan tujuan
umum, kebutuhan yang diketahui dan gambaran bagian-bagian yang akan
dibutuhkan berikutnya. Detail kebutuhan mungkin tidak dibicarakan disini, pada
awal pengumpulan kebutuhan.
2. Perancangan : perancangan dilakukan cepat dan rancangan mewakili aspek
software yang diketahui. Dan rancangan ini menjadi dasar pembuatan prototyping.
3. Evaluasi Prototype : klien mengevaluasi prototype yang dibuat dan dipergunakan
untuk memperjelas kebutuhan software.
2.2.1. Kelebihan Metode Prototype
Kelebihan metode Prototype yaitu :
1. Adanya komunikasi yang baik antara pengembang dan pelanggan.
2. Pengembangan dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan.
3. Lebih menghemat waktu dalam pengembangan system.
4. Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang
diharapkannya.
2.2.2. Kekurangan Metode Prototype
Kekurangan metode Prototype yaitu :
1. Resiko tinggi yaitu untuk masalah-masalah yang tidak terstruktur dengan baik, ada
perubahan yang besar dari waktu ke waktu, dan adanya persyaratan data yang
tidak menentu.
2. Interaksi pemakai penting. System harus menyediakan dialog online antara
pelanggan dan computer.
3. Hubungan pelanggan dengan computer yang disediakan mungkin tidak
mencerminkan teknik perancangan yang baik.
2.3. Konsep dasar Olahraga Fitness
2.3.1. Pengertian Fitness
Fitness merupakan olahraga yang membutuhkan tenaga dan konsentrasi yang
tinggi, karena olahraga ini berhubungan dengan alat- lat yang berat dan bebannya bisa
26
mencapai ratusan kilogram. Dalam menjalankan latihan fitness atau kebugaran ini,
diperlukan tiga komponen yang saling berkaitan, yaitu latihan kebugaran, nutrisi yang
bergizi, serta istirahat yang cukup (tidur).[3] Apabila dari ketiga komponen tersebut
ada salah satu yang tidak dikerjakan maka upaya menjalankan aktifitas fitness atau
kebugaran mungkin tidak akan sesuai dengan harapan (Syafrizaldy, 2011, h.4).
Pada dasarnya setiap manusia memiliki bentuk tubuh yang berbeda-beda, dan
perkembangan otot pun pastinya berbeda pula. Ade Rai (2006) menjelaskan
“perkembangan dari setiap masing-masing otot pun tidak selalu memiliki laju yang
sama pesatnya” (h.39). Jadi pada intinya dari setiap bagian masing-masing anggota
tubuh memiliki perkembangan yang berbeda-beda, misalkan ada laju otot dada dan
lengan sama pesatnya tetapi tidak pada otot kaki, begitupun sebaliknya. Jadi, harus
memahami dulu kriteria pada bagian otot pada tubuh agar dapat mengetahui bagian
dari kelemahan pada tubuh kita, agar dapat memaksimalkan dalam
mengerjakannya.[6][7]
Dalam menjalankan latihan fitness (kebugaran), sebaiknya memiliki tujuan
latian yang terarah. Artinya mengetahui apa yang ingin dicapai dalam latihan
kebugaran, seperti contohnya ingin menurunkan berat badan atau menaikan berat
badan hingga ingin membentukan otot. Untuk mencapai tujuan tersebut, sebaiknya
mempunyai target yang dibagi menjadi urutan waktu, yaitu jangka pendek, jangka
sedang, dan jangka panjang. Dan target yang ingin dicapai haruslah bersifat realitas,
misalkan keterbatasan waktu, keuangan atau aktifitas lain seperti keadaan kondisi
fisik saat berlatih (Ade Rai, 2006, h.81).
Rata-rata beranggapan bahwa memiliki tubuh yang berorot bagi pria dan tubuh
yang langsing bagi wanita, hal tersebut sudah bisa dikatakan berhasil dalam
menjalankan aktifitas fitness tersebut. Hal tersebut memang benar dan tetapi tidak
tepat bagi yang ingin mendapatkan hasil yang maksimal dan bermanfaat pada
kehidupan sehari-hari, karena fitness merupakan kombinasi dari kesehatan dan
kebugaran tubuh agar dapat melakukan aktifitas sehari-hari dengan optimal seperti
yang dikatakan Syafrizaldy sebagai salah satu professional binaragawan Indonesia.[3]
27
Syafrizaldy (2011) menjelaskan “Fitness bukanlah mengenai tubuh yang
langsing, perut dan pinggul yang kecil, atau tubuh yang berotot. Fitness merupakan
kombinasi dari kesehatan dan kebugaran tubuh agar dapat melakukan aktifitas sehari-
hari secara optimal (terutama aktifitas fisik)” (h.5).
2.3.2 Perbedaan Olahraga Fitness dengan olahraga lain
Setiap olahraga pastinya memiliki perbedaan tersendiri satu dengan yang
lainnya, mulai dari gerakan, alat yang digunakan maupun sarana tempat berlatihnya.
Latihan fitness disini adalah olahraga yang dilakukan dengan aktifitas angkat beban,
latihan ini memiliki porsi latihan yang tidak perlu sampai menggunakan waktu
banyak berbeda dengan olahraga seperti tenis, sepakbola, basket yang banyak
memerlukan waktu. Seperti yang tadi dijelaskan perbedaan dari setiap olahraga
terlihat dari gerakan, alat dan sarana tempatnya, disini pun terjadi perbedaan yang
pertama mulai dari gerakan. Sangat jelas sekali contohnya dengan latihan tenis dan
sepak bola yang masing-masing memiliki keunggulan tersendiri dari gerakannya
tennis pada tangan, sepak bola pada kaki. Memang bagian tubuh lainya pun ikut
berperan dalam gerakannya tetapi tidak dominan, berbeda dengan latihan fitness yang
satu ini latihan angkat beban yang membutuhkan keseluruhan dari bagian anggota
tubuh yang harus ikut berperan dengan keseimbangan yang ditujukan. Karena latihan
angkat beban adalah latihan yang lebih kepada pembentukan badan atau otot, yang
apabila keseimbangan dari anggota tubuh ada yang berkurang maka akibatnya akan
kurang baik seperti perbedaan bentuk ukuran otot pada tubuh.
Selain dari gerakan yaitu alat yang digunakan, ini pun cukup jelas terlihat
perbedaannya. Latihan kebugaran yang satu ini menggunakan dimana alat – alat berat
yang digunakan, seperti contohnya barble dan dumble yang rata – rata terbuat dari
bahan besi yang bebannya bisa mencapai ratusan kilogram. Begitupun dengan
olahraga lain memiliki alat yang berbeda pula, seperti sepak bola, bola basket dan
bola voli menggunakan bola sebagai alatnya, bulu tangkis dan tenis menggunakan
raket, begitupun dengan yang lainnya.
28
Sarana atau tempat merupakan peran yang cukup penting dalam beberapa
cabang olahraga. Contohnya berenang yang pastinya sangat membutuhkan sarana
kolam untuk berenang dan bola basket membutuhkan ring untuk kelengkapan dalam
berlatih. Memang adapula olahraga yang tidak perlu membutuhkan sarana khusus
dalam arti tempat yang diperuntungkan untuk olahraga tersebut, seperti yang sudah
umum diketahui yaitu sepak bola. Olahraga ini tidak perlu menggunakan sarana yang
baik dalam arti fasilitasnya seperti adanya sebuah gawang didalamnya, karena cukup
sering ditemui banyak anak – anak yang bermain bola dengan menggunakan batu
atau sendal sebagai tanda dibuatnya gawang. Begitupun dengan latihan kebugaran
yang menggunakan alat berat ini, yaitu aktivitas angkat besi dimana membutuhkan
alat yang dinamakan barble dan dumble yang sudah umum diketahui dan dapat
dilakukan dimana saja seperti dikamar tidur sendiri. Tetapi yang perlu diketahui
dalam setiap olahraga yang perlu didapatkan adalah proses dan hasil yang maksimal
yang harus diperoleh dari latihan olahraga tersebut, maka dari itu seperti latihan
angkat beban memiliki alat yang banyak dan berfariasi bentuk dan kegunaannya yang
diperuntungkan untuk mendapatkan hasil yang maksimal. Dengan kata lain sarana
atau tempat cukup penting bagi latihan keburagan ini, yang sekarang bisa dijumpai
dengan istilah Gym Fitness Centre.
2.3.3 Program Pola Latihan
Dari setiap olahraga sebuah program sangat dibutuhkan, karena untuk
memperoleh sebuah hasil dan pencapaian secara maksimal diperlukanlah sebuah
program. Dalam beraktifitas kebugaran harus dimulai dengan merancang sebuah
program sebagaimana tujuan dari masing – masing individu dalam menjalankan
aktifitas kebugaran. Mulai dari pola berlatih dalam satu minggu, contohnya dalam
satu minggu berlatih 3 kali dengan diselingan satu hari istirahat, misalkan mulai dari
hari senin, rabu dan kamis atau selasa, kamis dan sabtu, bahkan bisa 4 kali dalam satu
minggu contohnya hari senin, selasa, kamis, jum’at. Selain dari itu, setiap harinya
harus merancang program latihan apa saja untuk bagian dari masing – masing otot,
contohnya hari senin otot dada dan lengan, rabu otot punggung dan bahu, jum’at kaki
29
dan perut. Hal tersebut harus diperhatikan agar dari setiap bagian otot – otot yang
dilatih bisa diproses secara maksimal.[6][7]
Maka dari itu program latihan sangatlah diperlukan, mulai dari berapa hari
latihan perminggunya, lama waktu latihan perharinya, hingga latihan permasing –
masing otot dalam satu minggunya.
Tabel 2.1 Contoh Program Latihan Ade Rai
Sumber : Ade Rai (2011, h.99)
Selain dari pola berlatih perminggunya dan mengatur pola latihan dari masing –
masing otot yang dilatih perharinya. Perlu diketahui, dalam setiap gerakan harus
diketahui berapa set dan repertisinya dari masing – masing gerakan dan otot yang
dilatih. Misalkan dalam 3 set memiliki masing – masing 10 repertisi, tapi perlu
diingat bahwa dalam mengatur berapa set dan repertisi yang harus dilakukan,
bagaimana kemampuan dan tujuannya agar pencapaiannya tidak salah dan
mengganggu kepada rencana / tujuan yang ingin dicapai
30
Tabel 2.2 Contoh Jumlah Set dan Repertisi
Sumber : Ade Rai (2011, h.101)
Latihan kebugaran atau fitnes, perlu diperhatikan juga lama waktu berlatih per
sesi latihan dari rencana latihan yang sudah di buat. Lamanya waktu berlatih bisa
direncanakan selama 30 menit, 45 menit, 50 menit, atau 1,5 jam sesuai dengan
kondisi dan tujuan dari masing – masing individu. Lama waktu latihan dapat
disesuaikan dengan jumlah set atau gerakan dalam satu sesi, misalkan rata – rata 15 -
18 set yang terdiri dari 6 - 9 jenis latihan untuk setiap masing – masing sesi latihan.
Dan yang perlu diingat dalam latihan kebugaran atau fitnes, lebih lama tubuh berlatih
tidak berarti lebih baik bahkan bila latihan bisa mencapai lebih dari 1,5 jam per sesi,
bisa menimbulkan yang namanya overtraining, di mana hal tersebut akan bisa
menghambat untuk memperoleh hasil yang baik (Ade Rai, 2006, h. 15).
Perlu diingat, dari keseluruhan mulai dari pola latihan perminggunya, gerakan
dari masing – masing otot yang dilatih perharinya, aturan set dan repertisinya hingga
lamanya waktu berlatih per sesi latihannya tergantung dari tujuan yang ingin
dicapainya, misalkan ingin meningkatkan masa otot akan berbeda programnya
dengan yang ingin meningkatkan kekuatan atau tenaga. Maka dari itu, dari setiap
tujuan harus memperhatikan program yang akan di rancang.
31
2.3.4. Body Mass Index (BMI)
Postur tubuh ideal dinilai dari pengukuran antropometri untuk menilai apakah
komponen tubuh tersebut sesuai dengan standar normal atau ideal. Pengkuran
antropometri yang paling sering digunakan adalah rasio antara berat badan (kg) dan
tinggi badan (cm) yang disebut Body Mass Index (BMI) sebagai berikut :
Keterangan : BMI = Body Mass Index; BB = Berat Badan; TB = Tinggi Badan.
Gambar 2.3 Rumus Penjumlahan BMI
Tabel II.3 Tabel Kategori Indeks BMI menurut Azwar Azrul
BMI yang normal antara 18-25. Seseorang dikatakan kurus bila BMI nya < 18
dan gemuk bila BMI nya > 25-27. Bila BMI > 27 orang tersebut menderita obesitas
dan perlu diwaspadai karena biasanya orang tersebut juga menderita penyakit
degenerative seperti Diabetes Melitus, hipertensi, hiperkolesterol dan kelainan
metabolism lain yang memerlukan pemeriksaan lanjut baik klinis atau laboratorium
(Azwar, A.2004).
Recommended