![]() 8
BAB 2
TINJAUAN PUSTAKA
2.1
Teori Dasar Umum
Berikut merupakan teori-teori dasar umum yang digunakan di dalam
penulisan skripsi ini:
2.1.1
Unified Modeling Language (UML)
Berdasarkan Whitten dan Bentley (2007:371), Unified Modeling
Language adalah sekumpulan aturan yang digunakan untuk
menspesifikasikan atau mendeskripsikan sebuah sistem perangkat lunak
berdasarkan obyek.
Pertama kali dirilis pada tahun 1997 dengan versi
1.0, saat ini UML memiliki versi 2.0 sebagai versi terbarunya. Menurut
Whitten dan Bentley (2007:381), UML versi 2.0 dapat dibagi menjadi 3
fase, yaitu:
Tabel 2.1 Jenis Diagram pada UML versi 2.0
Requirement
Analysis Phase
Logical Design
Phase
Physical Design
Phase
Use-case Diagram
Activity Diagram
Sequence Diagram
Sistem Sequence
Diagram
Class Diagram
Class Diagram
State Machine Diagram
Communication Diagram
Component Diagram
Deployment Diagram
|
9
2.1.1.1
Use Case Diagram
Use Case Diagram
adalah diagram UMLyang berguna
untuk memberikan penjelasan mengenai fungsi suatu sistem
yang sedang dikembangkan kepada user menggunakan istilah-
istilah yang mudah dimengerti (bukan merupakan istilah yang
hanya dimengerti oleh developer). Use Case Diagram
memberikan representasi grafis mengenai urutan aktivitas
berupa interaksi yang terjadi antara user (didalam Use Case
Diagram disebut dengan Actor) dan sistemserta tujuan dari
penggunaan sistemtersebut.
Di dalam Use Case Diagram, fungsi-fungsi dari sistem
dideskripsikan menggunakan alat bernama use case. Actor
adalah user yang melakukan interaksi dengan sistem, sedangkan
jenis-jenis interaksi yang dilakukan oleh Actor terhadap use case
disebut relationship.(Whitten and Bentley, 2007:247-248).
Terdapat beberapa macam hubungan yang digunakan di
dalam Use Case Diagram (Whitten and Bentley, 2007:248-256),
yaitu:
1.
Association
Association menggambarkan hubungan antara Actor
dan sebuah use case. Association yang memiliki tanda
panah mengarah pada sebuah use case
menunjukkan bahwa
interaksi dinisiasikan oleh actor. Association yang tidak
memiliki tanda panah menunjukkan adanya interaksi antara
use case dengan external server
atau actor penerima.
Association dapat bersifat dua arah atau satu arah.
|
![]() 10
Gambar 2.1 Contoh penggunaan Association pada use
case
(Sumber: System Analysis and Design Method - Whitten
and Bentley, 2007: 248)
2.
Extends
Extends menggambarkan use case yang bersifat
kompleks agar menjadi lebih sederhana dan mudah
dimengerti dengan membaginya ke dalam tahap-tahap.
Gambar 2.2 Contoh penggunaan Extends pada use case
(Sumber: System Analysis and Design Method - Whitten
and Bentley, 2007: 249)
3.
Uses (atau includes)
Uses (atau includes) menciptakan abstract use case,
yaitu bentuk generalisasi dari beberapa tahap use case yang
memiliki kemiripan. Abstract use case
dibuat agar
mengurangi redundansi
pada use case diagram, dan dapat
digunakan satu atau lebih use case yang membutuhkan
fungsionalitasnya.
|
![]() 11
Gambar 2.3 Contoh Penggunaan include pada Use Case
(Sumber: System Analysis and Design Method Whitten
and Bentley, 2007: 249)
4.
Depends On
Depends On menggambarkan adanya ketergantungan
antara satu use case
dengan use case lainnya
sehingga
sebuah aktivitas hanya bisa dilakukan apabila aktivitas
sebelumnya sudah berjalan.
Gambar 2.4 Contoh penggunaan Depends On pada Use
Case
(Sumber: System Analysis and Design Method - Whitten
and Bentley, 2007: 250)
|
![]() 12
5.
Inheritance
Inheritance digunakan ketika terdapat dua atau lebih
actor yang melakukan inisiasi terhadap use case yang sama.
Dengan inheritance, diciptakan sebuah abstract actor yang
dapat melakukan use case tersebut (bentuk generalisasi dari
actor-actor yang ada).
Gambar 2.5 Contoh penggunaan Inheritance pada Use
Case
(Sumber: System Analysis and Design Method - Whitten
and Bentley, 2007: 250)
Gambar 2.6 Contoh Use Case Diagram
(Sumber: System Analysis and Design Method - Whitten
and Bentley, 2007: 256)
|
![]() 13
2.1.1.2
Use Case Narrative
Menurut Whitten dan Bentley (2007:246),
UseCaseNarrativemerupakan deskripsi dalam bentuk teks dari
dan bagaimana userakan berinteraksi dengan sistem dalam
menyelesaikan sebuah tugas. Ketika sedang mempersiapkan
untuk membuat usecase
agar lebih mudah dalam memahami
events dari sistem
Gambar 2.7 Contoh Use Case Narrative
(Sumber: System Analysis and Design Method - Whitten and
Bentley, 2007: 257)
Bagian-bagian dari High-level Use Case Narrative
adalah
sebagai berikut:
1.
Authoradalah nama-nama
individu yang berkontribusi
didalam penulisan use case.
2.
Dateadalah tanggal use case terakhir kali dimodifikasi.
3.
Versionadalah versi dari use case.
4.
Use-case name adalah nama yang merepresentasikan tujuan
dari use case tersebut, harus dimulai dengan kata kerja.
|
14
5.
Use-case typeadalah jenis use case
yang digunakan.
Business requirement use-case memiliki fokus pada visi
strategis dan tujuan dari banyak stakeholders. Jenis use case
ini memberikan deskripsi penjelasan secara umum
mengenai masalah dan cakupannya, tetapi tidak termasuk
rincian yang harus dikomunikasikan kepada developer
mengenai apa yang harus dilakukan oleh sistem.
6.
Use-case IDadalah pengidentifikasi
unik dari sebuah use
caseyang tujuannya untuk pengelompokkan usecase.
7.
Priorityadalah tingkat prioritas dari sebuah use case yang
menunjukkan pentingnya fungsi use case tersebut di dalam
sistem.
8.
Sourceadalah yang mendefinisikan entitas yang memicu
pembuatan use case. Dapat berupa kebutuhan, dokumen,
atau stakeholder.
9.
Primary business actoradalah stakeholder yang secara
utama diuntungkan oleh eksekusi use case
dengan
menerima suatu nilai yang terukur.
10. Other participating actorsadalah actor
lain di dalam use
case yang berpartisipasi dan membantu terwujudnya tujuan
dari use case yang ada.
11. Interested stakeholder(s)adalah seseorang selain actor yang
memiliki ketertarikan pada tujuan dari use case.
12.
Descriptionadalah deskripsi singkat yang terdiri dari
beberapa kalimat yang menjelaskan tujuan dari use case dan
aktivitas-aktivitasnya.
|
![]() 15
Gambar 2.8 Contoh Use Case Narrative
(Sumber: System Analysis and Design Method - Whitten and
Bentley, 2007: 259-260)
|
16
Setiap high-level use case
dilakukan expand untuk
mencakupi rincian event-event
yang typical dan alternate.
Typical course of events adalah deskripsi langkah demi langkah
pelaksanaan use case, sedangkan alternate course of events
berisi beragam kondisi yang terjadi di dalam use case.
Berikut adalah konten tambahan dari sebuah ekspansi high-
level use case:
1.
Preconditionadalah batasan dari kondisi/status sistem
sebelum use case dapat dieksekusi.
2.
Triggeradalah event yang menyebabkan eksekusi sebuah
use case.
3.
Typical courseof eventsadalah urutan biasa dari aktivitas
yang dilakukan aktor dan sistem untuk mencapai tujuan dari
use case.
4.
Alternate coursesadalah apabila terdapat pengecualian atau
variasi dari typical course yang terjadi.
5.
Conclusionadalah spesifikasi saat use case
berhasil
dieksekusi, saat primary actor menerima suatu nilai yang
terukur.
6.
Postconditionadalah batasan dari kondisi/status sebuah
sistem setelah use case berhasil dieksekusi.
7.
Business rulesmenspesifikasikan aturan dan prosedur bisnis
di dalam sistem yang baru.
8.
Implementationconstraintsandspecificationsmenspesi
fikasikan kebutuhan yang bersifat nonfungsional yang dapat
mempengaruhi realisasi use case, dapat berguna dalam
perencanaan arsitektur dan pencakupan.
|
![]() 17
9.
Assumptionsadalah semua asumsi yang dibuat oleh creator
saat mendokumentasikan use case.
10.
Open issuesadalah pertanyaan atau masalah yang
harusdiselesaikan atau diteliti sebelum use case disetujui.
2.1.1.3
Activity Diagram
Activity Diagram digunakan untuk menggambarkan alur
urutan yang ada pada sebuah sistem dan menjelaskan alur dari
sebuah use case.Terdapat beberapa elemen di dalam sebuah
activity diagram, yaitu:
Tabel 2.1 Tabel Elemen Activity Diagram
(Sumber: System Analysis and Design Method - Whitten and
Bentley, 2007: 391)
Nama
Simbol
Deskripsi
Initial
Mode
Lingkaran hitam yang
merepresentasikan awal sebuah
proses.
Activity
Simbol yang merepresentasikan
langkah-langkah individual di
dalam activity diagram.
Flow
Simbol berupa tanda panah
yang
menunjukkan alur perpindahan
dari satu aktivitas ke aktivitas
lainya.
Decision
dan
Merge
Simbol yang sama digunakan
untuk dua fungsi kondisional yang
berbeda, Decision dan
Merge.Decisionmengindikasikan
percabangan karena adanya
pemilihan aktivitas dengan alur
berbeda.Merge
mengindikasikan
adanya penggabungan aktivitas
|
![]() 18
untuk kembali ke jalur yang sama
setelahsebelumnya dipisahkan
oleh sebuah decision.
Nama
Simbol
Deskripsi
Fork dan
Join
Simbol yang sama dapat
diasosiasikan dengan proses
paralel (dua arah). Fork
menggambarkan dua
aktivitas
yang akan berjalan secara paralel.
Join
menggambarkan berakhirnya
proses yang berjalan secara
paralel (dua arah)
Activity
Final
Simbol ini menunjukkanakhir dari
proses pada sebuah activity
diagram.
|
![]() 19
(Sumber: System Analysis and Design Method - Whitten and
Bentley, 2007: 392)
|
![]() 20
2.1.1.4
Class Diagram
Menurut Whitten dan Bentley (2007:373-381), Class
Diagram digunakan untuk menggambarkan pengorganisasian
obyek-obyek bisnis dan asosiasinya terhadap satu sama lain
pada sebuah sistem. Dalam hal ini, obyek bisnis disebut sebagai
class.Di dalam class diagram, class
class yang ada dapat
dihubungkan satu sama lain menggunakan garis lurus. Di dalam
sebuah class, terdapat elemen berupa nama, attribute, dan
operation.
Berikut adalah beberapa jenis hubungan di dalam class
diagram menurut Whitten dan Bentley (2007:373-381):
1.
Multiplicity
Multiplicity adalah indikator yang menunjukkan
banyaknya hubungan antar class.
Multiplicity
Deskripsi
1
Hanya satu.
0..1
Nol atau satu
*
Nol atau lebih.
1..*
Satu atau lebih.
x..y
Antara jumlah x dan jumlah y
2.
Association
Association adalah hubungan antara dua class atau
lebih di dalam sebuah class diagram. Pada setiap
association terdapat multiplicity. Terdapat dua jenis
hubungan association di dalam class diagram, yaitu:
|
![]() 21
a.
Bi-directional
Adanya hubungan antar class dimana kedua class
sama-sama memiliki peran terhadap satu sama lain.
Hubungan bi-directional digambarkan dengan garis
lurus tanpa tanda panah yang menghubungkan kedua
class.
b.
Uni-directional
Adanya hubungan antar class dimana hanya salah
satu class memiliki peran dalam hubungan tersebut.
Hubungan uni-directional digambarkan dengan garis
lurus yang memiliki tanda panah di salah satu
ujungnya.
Gambar 2.10 Contoh Association Bi-Directional dan
Uni-Directional Class Diagram
3.
Generalization dan Specialization
Generalization dan Specialization adalah hubungan
antar class dimana terdapat super class, yaitu sebuah class
yang merupakan hasil pengelompokan class-class
berdasarkanattribute dan behavior yang sama
(generalization), dan sub class, yaitu class-class yang
mendapatkan attribute dan behavior turunan dari sebuah
super classnamun dapat memiliki attribute dan behavior-
nya sendiri (specialization).
|
![]() 22
Gambar 2.11 Contoh Generalization/Specialization Class
Diagram
(Sumber: System Analysis and Design Method Whitten
dan Bentley, 2007: 375)
4.
Aggregation dan Composition
Aggregation dan Composition adalah hubungan antar
class dimana sebuah class merupakan bagian dari class
lainnya.
Gambar 2.12 Contoh Aggregation Class Diagram
(Sumber: System Analysis and Design Method Whitten
and Bentley, 2007: 379)
Perbedaan antara composition dan aggregation adalah
pada composition terdapat hubungan yang lebih erat antar
class. Misalnya, jika class A adalah bagian dari class
|
![]() 23
B,maka class B tidak akan bisa berdiri sendiri tanpa class
A.
Pada UML 2.0 notasi aggregation tidak lagi digunakan
karena fungsinya kurang terlihat perbedaannya dengan
bentuk association dengan multiplicity satu atau lebih (one
or more). Hal ini menyebabkan beberapa praktisi
menganggap aggregation tidak memiliki arti penting pada
penggunaannya.
Gambar 2.13 Contoh Composition Class Diagram
(Sumber: System Analysis and Design Method - Whittenand
Bentley, 2007: 379)
Gambar 2.14 Contoh Class Diagram
(Sumber: System Analysis and Design Method Whitten
and Bentley, 2007: 406)
|
![]() 24
2.1.1.5
Sequence Diagram
Sequence diagram adalah diagram UML yang
menggambarkan interaksi antara obyek-obyek di dalam
sistemberdasarkan urutan waktu (Whitten and
Bentley,
2007:659).
Berikut ini adalah elemen-elemen dari sequence
diagram:
Tabel 2.4Elemen Sequence Diagram
Nama
Simbol
Deskripsi
Actor
Actor
adalah representasi user
yang berinteraksi dengan
sistem.
Interface
Class
<<interface>>
Suatu notasi yang berfungsi
untuk memastikan
classinterface code, agar tidak
terjadi kebingungan atas jenis
class.
Controller
Class
<<controller>>
Setiap use case
memiliki satu
atau lebih controller,
digambarkan sama seperti
notasi interface class.
Entity
Classes
Simbol yangmerepresentasikan
class pada class diagram.
Message
Berfungsi untuk
menyampaikan pesan dari
setiap method.
|
![]() 25
Nama
Simbol
Deskripsi
Activity
Bars
Berfungsi untuk menunjukan
berapa lamanya waktu objek
digunakan.
Return
Message
Hasil dari masukan yang
dimasukan oleh objek.
Self-call
Objek yang memanggil
method-nya sendiri.
Frame
Menandakan area pada
diagram yang melakukan
seleksi, pengulangan, dan
suatu pilihan khusus.
|
![]() 26
Gambar 2.15 Contoh Sequence Diagram
(Sumber: System Analysis and Design Method - Whitten and Bentley,
2007: 659)
2.1.2
Interaksi Manusia dan Komputer
Berikut
ini
merupakan penjelasan teori Interaksi Manusia dan
Komputer:
2.1.2.1
Pengertian Interaksi Manusia dan Komputer
Menurut Shneiderman dan Plaisant(2010: 22), interaksi
manusia dan komputer merupakan suatu ilmu yang mempelajari
desain interaktif antara manusia dengan komputer. Dan
membantu menghasilkan bisnis yang sukses, kompetisi yang
kuat, kerjasama internasional, dan perang intellectual-property.
|
27
2.1.2.2
Lima Faktor Manusia Terukur
Shneiderman dan Plaisant (2010:32) juga menyatakan untuk
memperhatikan lima faktor
manusia terukur yang berisi sebagai
berikut:
1.
Waktu belajar
Berapa lama waktu
yang
akan
diperlukan user
untuk
mempelajari semua aksi yang diperlukan,sehingga dapat
mencapai tujuannya dalam menggunakan aplikasi.
2.
Kecepatan kinerja
Berapa lama waktu
yang diperlukanuser
hingga
aplikasiselesai dalam melakukan tugas.
3.
Tingkat kesalahan user
Berapa banyak jumlah
dan jenis kesalahan yang
kemungkinan akan dilakukan oleh user
saat berinteraksi
dengan aplikasi.
4.
Daya ingat
Bagaimana kemampuan usermempertahankan
pengetahuannya dalam jangka waktu tertentu.
5.
Kepuasan subjektif
Bagaimana tingkat ketertarikanuser
terhadap
penggunaanaspek-aspek pada interface.
2.1.2.3
Delapan Aturan Emas
Shneiderman dan Plaisant (2010:88-89) dalam perancangan
desain antar muka terdapat delapan aturan
emas (Eight Golden
Rules) yang harus diperhatikan, yaitu:
1.
Berusaha konsisten
Konsistensi sangat dibutuhkan, seperti pada
penggunaan warna, tata letak,font,hingga urutan tindakan.
Prinsip ini paling banyak dilanggar karena banyaknya
bentuk konsistensi dalam perancangan.
|
28
2.
Dapat digunakanuniversal
Pengetahuan mengenai kebutuhan user yang beragam,
sehingga rancangan interface yang dibuat bisa memfasilitasi
perubahan konten sesuai kebutuhan user. Perbedaan
tingkatan userseperti pemula atau ahli, tua atau muda, anak
kecil atau orang dewasa
membuat requirement
yang
dibutuhkan semakin bertambah.
Contohnyaseperti pada
user
pemula ditambahkan penjelasan atau
panduan pada
interface, pada user
ahli
ditambahkan shortcut
yang
membuat user dapat mempersingkat aksi.
3.
Memberi umpan balik (feedback)yang informatif
Setiap aksi
yang dilakukan userharus
diberi
feedbackyang mudah dimengerti dari sistem mengenai apa
yang terjadi dari aksi yang telah dilakukan.
4.
Merancang dialog untuk penutup/akhir
Urutan aksi harus dikelompokkan menjadi bagian awal,
tengah dan akhir. Dialog penutupyang informatif pada hasil
akhir akan membuat user
merasa puas
dan lega dari aksi
yang telah dilakukannya sehingga dapat juga menjadi tanda
untuk mempersiapkan tugas selanjutnya.
5.
Memberikan penanganan dan pencegahan yang
sederhana terhadap error
Desain sistem yang dibuat tidak memperbolehkan user
melakukan kesalahan.
Contohnya, user
harus memasukkan
alamat e-mail
yang sesuai dengan formate-mail
yang ada
pada umumnya. Jika terjadi kesalahan, sistem
harus dapat
mendeteksi dan memberikan instruksi yang mudah
dimengerti, konstruktif dan spesifik.
6.
Memperbolehkan pengembalian aksi
Setiap aksi yang telah
dilakukanuser
harus dapat
dikembalikan atau dikembalikan ke keadaan semula. Hal ini
dapat mengurangi rasa khawatir userdengan
mengetahui
|
29
situasi error
dapat dikembalikan pada sistuasi sebelum
terjadi error.
7.
Mendukung pengendalian internal locus
Pada dasarnya usermerupakan pengendali sistem dan
sistem merespons terhadap aksi yang dilakukan user.
Rancangan sistem harus memposisikan user
sebagai
inisiator bukan sebagai responden.
8.
Mengurangi beban ingatan jangka pendek
Keterbatasan ingatan jangka pendek menjadikan
tampilan harus dibuat sederhana. Cara mengatasinya seperti
membuat interface yang lebih sederhana dan meminimalisir
frekuensi pergerakan tampilan. Lalumemberikan pelatihan
yang cukup untuk kode, mnemonik serta urutan aksi.
2.1.3
Prinsip Rancangan InterfaceAplikasi Mobile
Seringkali smartphone
dan desktop computer disamakan sebagai
computing devices, tetapi faktanya keduanya sangat berbeda baik dari
segi layar masing
masing
perangkat, menggunakan baterai atau
menggunakan kabel untuk sumber listrik, hingga tinggi atau rendahnya
bandwidth. Oleh karena itu perbedaan antara smartphone
dan desktop
computer
membuat perancangan interface
keduanya tidak dapat
disamakan. Sepuluh prinsip perancangan interface untuk aplikasi mobile
yang dikemukakan oleh Jonathan Stark pada setiap workshop-nya
(netmagazine.com, 2012) sebagai berikut:
1.
Mobile Mindset
Dengan perbedaan
perbedaan antara smartphone dan desktop
computer, adabaiknya untuk mengubah pola pikir menjadi pola pikir
mobile sebelum memulai merancang.
a.
Be focused: Banyak tidak selalu lebih baik. Ada baiknya
mengurangi fitur
fitur yang tidak diperlukan atau tidak
berhubungan dengan tujuan aplikasi.
|
30
b.
Be unique: Akan terdapat banyak sekali aplikasi sejenis yang
telah ada ataupun yang akan muncul maka harus terdapat
keunikan pada aplikasi sehingga user
memiliki alasan untuk
memilih aplikasi tersebut.
c.
Be charming: Mobile devicespada dasarnya bersifat pribadi.
Untuk itu membuat aplikasi yang mudah untuk digunakan,
memberikan kesan yang menyenangkan dan nyaman ketika
menggunakan aplikasi tesebut sangatlah penting.
d.
Be considerate: Para developer aplikasi jarang sekali
memikirkan mengenai apa yang akan menyenangkan untuk
dikembangkan sehingga pemikiran yang tercipta ketika
mengembangkan aplikasi hanya tentang tujuan bisnis pribadi.
Tempatkan diri pada posisi user
sehingga menciptakan
pengalaman yang menarik pada aplikasi.
2.
Mobile Context
Sebelum memposisikan diri sebagai user, penting untuk
mengetahui tiga konteks utama tujuan user
menggunakan aplikasi.
Tiga konteks tersebut, yaitu:
a.
Bored: Banyak orang menggunakan smartphone
untuk
menghabiskan waktu luangnya untuk itu dalam konteks ini
dibutuhkan aplikasi yang dapat mengisi waktu luang tersebut.
Contohnya: games dan social-networking.
b.
Busy: Kemampuan untuk menjalankan tugas tugas sederhana
dengan cepat dan memungkinkan digunakan dengan satu tangan
akan membuat user
dalam konteks ini memilih menggunakan
aplikasi tersebut karena bisa digunakan di tengah kesibukannya.
Contohnya: kalender, kalkulator, banking.
c.
Lost: User
yang berada pada konteks ini merupakan useryang
sering bepergian ke tempat menarik yang belum pernah
didatangi sebelumnya. Untuk itu konektivitas dan daya tahan
baterai menjadi hal yang sangat diperhatikan. Contohnya: Maps
dan Foursquare.
|
31
3.
Global Guidelines
Terdapat perbedaan pada pendekatan, desain dan teknik dari
masing masing aplikasi. Untuk itu terdapat ketentuan umum yang
harus diperhatikan ketika merancang aplikasi:
a.
Responsiveness:Kecepatanaplikasi
dengan tingkat respons
aplikasi itu berbeda, contoh dari aplikasi yang responsif ketika
user
berinteraksi pada aplikasi, aplikasi dapat segera memberi
feedback
kepada user
tersebut. Jika terdapat operasi yang
memakan waktu, hal tersebut tidak menjadi masalah dengan
memberitahu user apa yang sedang dilakukan.
b.
Polish: Polesan yang diberikan pada aplikasi sangatlah
berharga. Memperhatikan hingga detail detail yang kecil akan
disadari dan sangat dihargai oleh user.
c.
Thumbs: Dalam merancang aplikasi harus diperhatikan juga
kenyamanan user berinteraksi menggunakan jempolnya, bahkan
ketika memakai kedua
tangan kebanyakan orang lebih suka
menggunakan jempolnya untuk melakukan interaksi pada
aplikasi.
d.
Targets: Desain tombol perlu diperhatikan seperti besar jempol
dengan User Interface Elements, yang umumnya berukuran 44
pixels. Dan penting untuk memperhatikan penempatan fungsi
fungsi pada aplikasi, misalnya meletakkan tombol backspace
bersebelahan dengan tombol send
pada
aplikasiShortMessageService(SMS).
e.
Content: Meminimalisir penggunaan elemen interface
seperti
buttons, tab, bars, checkboxes, sliders
dan masih banyak lagi.
Dengan meminimalisir penggunaan elemen tersebut
memungkinkan user lebih fokus konten aplikasi.
f.
Controls: Saat aplikasi membutuhkan kontrol letakkan di bawah
dari konten utama, sehingga user
tidak terganggu ketika sedang
memperhatikan konten. Contoh yang paling sering ditemui
adalah komputer yang letak kontrolnya di bawah dari letak
display.
|
32
g.
Scrolling: Hindari scrolling. Karena dengan tidak memakai
scrolling pada layar aplikasi akan terlihat lebih solid dan tingkat
penelusuran user
terhadap keseluruhan screenakan lebih tinggi
sehingga user
mendapatkan informasi secara menyeluruh.
Sehingga, mencegah user
kehilangan informasi pada screen
yang memakai scrolling.
4.
Navigation Models
Terdapat beberapa model navigasi untuk aplikasi mobile, yaitu:
a.
None: Merupakan aplikasi single-screen
seperti aplikasi cuaca
pada Android.
b.
Tab bar: Memiliki tiga sampai enam
bar
pada bagian atas
aplikasi. Contohnya seperti aplikasi mobile Twitter.
c.
Drill down:
Aplikasi terbentuk menyerupai sebuah daftar.
Contohnya settings pada Android.
5.
UserInput
Buatlah user
lebih mudah dan nyaman dalam melakukan input.
Ada banyak variasi keyboard
yang terkenal pada smartphone,
pilihlah jenis keyboard
yang nantinya akan berguna pada saat user
melakukan input. Hindari penggunaan auto-correct dan auto-
capitalisation
karena terkadang hal tersebut membuat user
merasa
terganggu. Jika pada aplikasi meminta user
banyak melakukan
pengetikan, pastikan aplikasi tersebut mendukung landscape
sehingga memudahkan dalam mengetik input yang diminta.
|
33
6.
Gestures
Salah satu yang terpenting dalam perancangan interface
layar
sentuh adalah gestures. Beberapa gesture yang umumnya digunakan,
yaitu:
a.
Invisible: Ada banyak gesture
yang dapat dilakukan, seperti
flick
dan swipe. Untuk mengeksekusi gesture
perlu adanya
informasi terhadap user, sehingga user tidak mengalami
kebingungan saat menjalankan aplikasi.
b.
Twohands:Smartphone
sekarang ini memungkinkan
usermelakukan
multi-touch. Gesture
ini seringkali digunakan
untuk aplikasi yang membutuhkan zoom
in/out, seperti pada
aplikasi image viewer.
7.
Orientation
Layar yang berorientasi portrait sejauh ini merupakan orientasi
terpopuler, Tetapi jika terdapat banyak pengetikan pada aplikasi
sudah seharusnya aplikasi dapat memberi support
orientasi layar
landscape. Ketika orientasi layar berubah secara tidak diduga itu hal
yang wajar, Tetapi ketika aplikasi tersebut digunakan dalam waktu
yang lama seperti e-book reader tambahkan pengunci orientasi layar
agar tidak berubah-ubah ketika sedang digunakan.
8.
Communications
Komunikasi antara aplikasi dan user
sangat diperlukan ketika
membuat sebuah aplikasi. Untuk itu ada beberapa jenis komunikasi
yang dapat diterapkan pada aplikasi:
a.
Provide feedback: Memberikan feedback
instan ketika user
melakukan interaksi pada aplikasi. Jika aplikasi tidak
memberikan feedback, user dapat mengira bahwa aplikasi tidak
berjalan dengan baik. Feedback tersebut bisa saja berupa respon
terhadap indera peraba user
seperti getaran ketika memilih
sebuah icon
atau dalam bentuk visual seperti icon
berubah
warna (hover) ketika user
memilih icon tersebut. Jika aksi user
memiliki waktu yang panjang untuk dikerjakan oleh aplikasi,
|
34
beritahu bahwa aplikasi sedang mengerjakannya contohnya
dengan memberi spinner atau loading pada aplikasi.
b.
Modal alerts: Pada dasarnya modalalerts
akan sangat
mengganggu user
ketika sedang menggunakan aplikasi, untuk
itu gunakan modalalerts
hanya pada saat terjadi sesuatu yang
penting seperti terdapat error
atau crash
pada aplikasi. Ingat
untuk tidak menggunakan modal alerts
hanya untuk memberi
informasi informasi sederhana.
c.
Confirmations: Ketika user
akan melakukan aksi yang penting
dalam aplikasi, sebaiknya berikan konfirmasi kepada user
apakah akan melanjutkan aksi tersebut atau tidak. Contohnya
ketika user akan melakukan aksi delete pada aplikasi sebaiknya
ditanyakan apakah user
yakin untuk melakukan aksi tersebut
atau tidak, sehingga mencegah user melakukan kesalahan.
9.
Launching
Ketika user kembali ke aplikasi setelah digunakan sebelumnya,
sebaiknya user
dapat melanjutkan operasi seperti saat sebelum user
meninggalkannya. Sehingga akan memberikan kesan lebih cepat dan
responsif. Jika memungkinkan, ketika aplikasi dibuka tampilan awal
usahakan bukan tampilan yang berisi konten
konten utama dari
aplikasi bisa berupa gambar saja. Jika tidak, akan memberi kesan
bahwa interface dapat berinteraksi tetapi tidak dapat memberi reaksi
yang sebenarnya dikarenakan aplikasi sedang dalam tahap loading.
10.
First Impression
Kesan pertama yang diberikan oleh aplikasi juga salah satu hal
penting yang perlu diperhatikan. Hal yang paling pertama sekali
dilihat oleh user
adalah icon
dari aplikasi itu sendiri. Dengan
menggunakan teks sedikit mungkin dan menggunakan
penggambaran yang sesuai dengan aplikasi sehingga dengan icon
yang menarik membuat user
berpikir bahwa aplikasi tersebut juga
menarik. Selain itu juga userinterface yang mudah untuk dimengerti
dan ditelusuri oleh user
juga penting, karena ketika pertama kali
|
35
usermemakai aplikasi ternyata membingungkan dan membuat
frustasi maka user tidak akan berpikir untuk memakainya kembali.
2.1.4
Agile Software Development
Agile Software Development adalah suatu metodologi
pengembangan aplikasi yang sangat mementingkan kepuasan customer,
selalu memberikan perkembangan aplikasi secara bertahap kepada
customer, dan selalu menjalin komunikasi yang berlanjutan antara
developer dan customer untuk menghasilkan aplikasi yang sesuai dengan
keinginan (Pressman, 2010:66).
2.1.4.1
Feature Driven Development (FDD)
Menurut Pressman (2010:86-87), Feature Driven
Development (FDD) pertama kali disusun oleh Peter Coad dan
rekannya sebagai proses model yang object-oriented. Lalu
kemudian dikembangkan oleh Stephen Palmer dan John Felsing
sebagai proses model yang adaptif dan agile. Cocok untuk
diterapkan padaproject yang berskala besar.
Feature Driven Development
(FDD) merupakan proses
model yang dirancang dalam serangkaian fitur dan setiap fitur
dapat diselesaikan dalam waktu kurang dari 2 (dua)
minggu.
Oleh karena itu, maka akan mempermudah dalam menjelaskan
alur aplikasi berdasarkan fitur dan lebih mudah dalam
melakukan progress tracking.
Coad dan rekannya menyarankan untuk menggunakan
template di bawah ini dalam merancang suatu fitur, yaitu:
<action> the <result><by | for | of | to>[a(n)]<object>
Contoh perancangan fitur berdasarkan template di atas:
display the statistic of income
|
36
Menurut Pressman (2010:86-87), proses yang terdapat
dalam Feature Driven Development (FDD) diantaranya adalah:
a.
Develop an Overall Model
Pada tahap awal, perancangan fitur model-model yang
kecil akan dilakukan tergantung ruang lingkup dari sistem
tersebut.
Kelompok model yang dirancang akan digabung
sehingga dapat dilihat struktur sistem aplikasi secara
keseluruhan.
b.
Build a Features List
Fitur-fitur yang sudah dirancang akan digabungkan ke
dalam subject areas. Subject areas berisikan aktivitas bisnis
dari setiap fitur yang membutuhkan
waktu kurang dari2
(dua) minggu untuk menyelesaikannya.
Sekelompok fitur yang tergabung ke dalam aktivitas
bisnis akan didefinisikan sebagai:
<action><-ing> a(n) <object>
Contoh pendefinisian fitur berdasarkan template di atas:
Managing an Income
c.
Plan By Feature
Setelah merancang daftar fitur-fitur, maka akan
dibentuk perencanaan dan tim untuk menyelesaikan fitur-
fitur tersebut dalam jangka waktu yang sudah ditentukan.
d.
Design By Feature
Tim yang sudah dibentuk akan merancang antarmuka
dari setiap fitur, biasanya harus diselesaikan dalam dua
minggu untuk setiap fitur.
|
![]() 37
e.
Build By Feature
Setelah melakukan rancangan antarmuka, maka akan
dilakukan pemrograman serta unit testing
terhadap fitur
tersebut.
Gambar 2.16Feature Driven DevelopmentModel
(Sumber: Software Engineering A PractitionersApproach
7
th
edition, Pressman, 2010: 87)
2.1.5
Teknologi Mobile
Berikut ini adalah penjelasan mengenai beberapa teknologi mobile
yang sudah berkembang didunia:
2.1.5.1
Mobile Phone
Pada awalnya mobile phone
memiliki bentuk yang sangat
besar beratnya mencapai 36 kilogram dan terpasang pada mobil,
teknologi yang mendukung
pada saat itu
hanya pengiriman
pesan menggunakan suara.Mobile phone berkembang dengan
cepatnya hingga saat ini. Yang pada awalnya hanya digunakan
untuk menelepon berkembang hingga bisa mengirim pesan,
gambar dan menggunakan internet
(Agar, 2004:3-5). Dengan
semakin berkembangnya teknologi mobile phone
dan
semakin
banyaknya fitur-fitur yang ditambahkan pada mobile phone
maka muncul istilah smartphone.
|
38
2.1.5.2
Smartphone
Kata smartphone
dibuat untuk mendeskripsikan sebuah
mobilephone
yang dikembangkan dengan sistem informasi
mobile
dengan kemampuan
komputasi yang melebihi
mobilephone
pada umumnya
(Schmidt, Peters, Lamour,
Albayrak, 2008:1).
2.1.5.3
Aplikasi Mobile
Aplikasi mobile adalahsoftware yang dirancang
agar bisa
berfungsi pada mobile device seperti smartphone(Fling,
2009:22). Fitur yang ditawarkan juga beragam seperti, fitur
dasar dalam berkomunikasi, mengirim pesan, hingga
mengirimkan video.
Sebagian besar mobile
devicessudah memiliki aplikasi
dasarnya terlebih dahulu, seperti SMS/MMS, video player, dan
browser
yang sudah terpasang pada perangkat. Dan beberapa
aplikasi yangtidak tersedia dapat diunduh melalui portal aplikasi
online yang sudah disediakan masing-masing vendor.
Menurut Brian Fling (2009:70-80), terdapat beberapa
macam tipe aplikasi mobile, yaitu:
1.
SMS
Short Message Service
(SMS)
merupakan aplikasi
paling sederhana yang berguna untuk saling mengirim
pesan. Aplikasi ini sangat berguna karena terintegrasi pada
berbagai macam tipe devices.
2.
Mobile Websites
Mobile website merupakan website
yang dirancang
khusus untuk mobile devices. Mobile website
biasanya
memiliki designyang sederhana dengan elemen interaktif
yang sedikit dibandingkan dengan desktop website.
|
![]() 39
Gambar 2.17Contoh Mobile Website
(Sumber: Mobile Design and Development, Brian Fling,
2009: 72)
3.
Mobile Web Widgets
Merupakan aplikasi web
sederhana (pelengkap) yang
tidak dapat dijalankan sendirian.
Gambar 2.18Contoh Mobile Web Widget
(Sumber: Mobile Design and Development, Brian Fling,
2009: 74)
4.
Mobile Web Applications
Mobile web application merupakan aplikasi mobile
yang tidak membutuhkan instalasi ataupun melakukan
compile
pada perangkat yang diinginkan. Dengan tetap
bergantung pada internet seperti pada mobilewebsite, pada
|
![]() 40
mobilewebapplication memberikan pengalaman seperti
menggunakan sebuah aplikasi native.
Gambar 2.19Contoh Mobile Web Application
(Sumber: Mobile Design and Development, Brian Fling,
2009: 76)
5.
Native Applications
Native Application memerlukan instalasi sebelum
digunakan. Nativeapplication
biasanya disebut juga
platformapplicationkarena biasanya dikembangkan dan
melakukan compile pada masing-masing mobile platform.
Gambar 2.20Contoh Native Application
(Sumber: Mobile Design and Development, Brian Fling,
2009: 78)
|
![]() 41
6.
Games
Tipe aplikasi ini merupakan aplikasi yang ditujukan
untuk menghibur penggunanya. Dapat berupa
NativeApplication ataupun webapplication.
Gambar 2.21Contoh Game
(Sumber: Mobile Design and Development, Brian Fling,
2009: 80)
Seiring berkembangnya teknologi aplikasi mobile,
muncul tipe aplikasi baru yang disebut dengan hybrid
applications. Menurut Setiabudi, Tjahyana, Winsen
(2013:2),hybrid applications
merupakan perpaduan
teknologi native
dan web. Dalam artian, aplikasi yang
berjalan di perangkat seperti native
dan ditulis dengan
menggunakan teknologi web
seperti HTML5, CSS, dan
Javascript. Tidak seperti mobile web applications, hybrid
applications
dapat menggunakan keunggulan yang ada
dalam native applications
seperti kamera, local storage,
accelerometer, dan lainnya.
2.1.6
Android
Android adalah sebuah sistem operasiberbasis Linux yang telah
digunakan oleh lebih dari 190 negara di seluruh dunia. Android
memberikan platform
bagi developer untuk mengembangkan apliikasi
dan games
untuk pengguna Android dengan menyediakan Android
Software Development Kit
(SDK) yang
dapat diunduh oleh siapa saja.
|
42
Selain itu, terdapat fasilitasmarket place bernama Google Play dimana
Android developer dapat mengunggah aplikasinya,
mempromosikan,
menjual dan memberikan review
terhadap aplikasi Android.
Seluruh
pengguna Android phone dapat mengunduh aplikasi yang ada di Google
Play, baik secara gratis maupun berbayar (Anonim1, 2013).
2.1.7
Android Application Components
Terdapat 4 (empat) komponen aplikasi Android (Anonim2, 2013):
1.
Activities
Activities
adalah bentuk tampilan yang merepresentasikan
sebuah layar dengan user interface yang dapat digunakan oleh user.
2.
Services
Services adalah komponen yang menjalankan proses di
belakang layar. Misalnya seperti musik
yang berjalan saat user
sedang mengakses activities lainnya dan notifikasi yang muncul
dari sebuah aplikasi pada saat user tidak secara langsung
mengakses aplikasi tersebut.
3.
Content Providers
Content providers mengelola data-data yang dimiliki oleh
aplikasi. Data-data di dalam sebuah Android phone dapat diakses
oleh sebuah aplikasi apabila mendapatkan akses dari content
provider. Content provider dapat digunakan untuk membaca dan
menuliskan data yang bersifat private terhadap sebuah aplikasi.
4.
Broadcast Receivers
Broadcast Receivers adalah komponen dari Android yang
bekerja untuk menerima respon dan memberikan pesan terhadap
system-wide broadcast announcement, sehingga user dapat
mendapatkan informasi yang berkaitan dengan keadaan sistem
Android phone yang sedang digunakan. Misalnya, notifikasi saat
sebuah aplikasi sudah selesai diunduh.
|
43
2.1.8
Android Architecture
Pada arsitektur Android, tersusun oleh layer-layer
yang mempunyai
kegunaan masing-masing menurut Brahler (2010:3-5), diantaranya
adalah:
2.1.8.1
Applications
Merupakan applicationlayer
yang langsung berinteraksi
dengan
user.Biasanya terdapat aplikasi dasar seperti SMS,
kalender, peta, browser dan sebagainya. Aplikasi dirancang
dengan bahasa pemrograman Java dan bisa berjalan secara
bersamaan.
2.1.8.2
Application Framework
Merupakan struktur dasar aplikasi yang digunakan untuk
mengimplementasikan sejumlah fitur sehingga dapat
dijalankan oleh sistem. Aplikasi yang bekerja dalam
application framework terdiri dari:
1.
Activity Manager
Berfungsi untuk mengatur siklus kerja dan navigasi
backstackdalam aplikasi.
2.
Resource Manager
Berfungsi untuk menyediakan resource
data yang
dibutuhkan oleh aplikasi baik dari luar maupun dalam.
3.
Location Manager
Berfungsi untuk mengatur lokasi aplikasi sesuai
dengan perangkat.
4.
Notification Manager
Berfungsi untuk mengatur notifikasi atau pesan-pesan
yang masuk dan ditampilkan di status bar.
5.
Content Providers
Berfungsi untuk menyediakan konten untuk
digunakan aplikasi maupun konten yang akan diakses oleh
aplikasi luar.
|
![]() 44
2.1.8.3
Libraries
Dapat diakses melalui Java Interface
dan ditulis dalam
bahasa pemrograman C atau C++. Libraries yang tersedia pada
Android adalah:
1.
Webkit sebagai engineweb browser.
2.
Media codecs untuk MPEG-4 dan MP3.
3.
Surface manager 2D dan 3D.
4.
SQLite untuk dukungan dalam penggunaan database.
2.1.8.4
Android Runtime
Berfungsi untuk menjalan berbagai aplikasi yang di
dalamnya terdapat core libraries
untuk menyediakan
fungsionalitas yang bisa dipakai dalam bahasa pemrograman
Java dan DalvikVirtualMachines
(DVM) untuk
mengoptimalkan kinerja memori.
2.1.8.5
LinuxKernel
Pada dasarnya, Android menggunakan Linux Kernel versi
2.6 untuk menjalankan berbagai driver seperti kamera, keypad,
audio, powermanagement dan sebagainya.
Gambar 2.22The Android Architecture
(Sumber : Analysis of the Android Architecture, Brahler, 2010:
4)
|
45
2.1.9
Arsitektur Model View Controller(MVC)
Awalnya arsitekturModel View Controller
(MVC) dibuat untuk
pengembangan aplikasi Smalltalk dan bisa diterapkan pada aplikasi
interaktif lainnya. Model
berisi spesifik konten dari aplikasi dan
processing logic, mencakup semua data informasi eksternal untuk suatu
aplikasi. View
berisi informasi tampilan antar muka yang akan
direpresentasikan
untuk end user. Controller berfungsi untuk mengatur
akses data ke model, menampilkan view,mengaturprocessing logic
dan
aliran data dalam aplikasi (Pressman, 2010:386-387).
2.1.10
Android Activity Lifecycle
2.1.10.1
Activity States
Di dalam pengembangan aplikasi Android, terdiri dari
tiga keadaan activity yang harus dipahami agar aplikasi yang
dibuat menjadi lebih
fleksibel, diantaranya adalah(Anonim3,
2013):
1.
Resumed State
Suatu keadaan dimana activity
sedang berjalan di
depan layar atau sering disebut dengan running state.
User bisa melakukan interaksi langsung dengan aplikasi.
2.
Paused State
Suatu keadaan yang berjalan di depan layar juga
tetapi hanya terfokus sebagian oleh user. Misalnya ketika
menggunakan sebuah aplikasi Android, jika ada
notifikasi ataupun kotak dialog yang masuk maka
aplikasi akan memasuki keadaan paused. Namun activity
masih tetap berjalan. Jika kondisi memori sedang tidak
mencukupi, maka bisa saja akan diberhentikan langsung
oleh sistem.
3.
Stopped State
Suatu keadaan dimana aplikasi tidak terlihat oleh
user tetapi masih berjalan di belakang layar. Namun, bisa
aja diberhentikan langsung oleh sistem jika saat memori
untuk activity lain sedang dibutuhkan.
|
46
2.1.10.2
Activity Lifecycle
Ketika suatu activity melakukan transisi dari satu state ke
state
lainnya, maka ada metode-metode untuk melakukan
pemanggilan kembali (callback) aplikasi serta
menginisialisasi apa yang harus dilakukan saat perubahan
state
tersebut. Metode-metode activity lifecycle
yang ada
diantaranya adalah(Anonim3, 2013):
1.
onCreate()
Metode ini yang akan dipanggil pertama kali saat
aplikasi sedang berjalan, diantaranya menginisialisasi
tampilan, melakukan binding data. onCreate() selalu
diikuti oleh onStart().
2.
onRestart()
Dipanggil saat keadaan activity
sedang berhenti
(stopped) dan ingin dijalankan kembali. onRestart() selalu
diikuti oleh onStart().
3.
onStart()
Dipanggil sebelum user bisa melihat activity tersebut.
metode selanjutnya bisa memanggil onResume() jika
activity masih terlihat di depan layar dan bisa memanggil
onStop() jika tidak terlihat oleh user.
4.
onResume()
Dipanggil sebelum activity
mulai berinteraksi lagi
dengan user. onResume() selalu diikuti oleh onPause().
5.
onPause()
Dipanggil ketika sistem akan melanjutkan sebuah
activity
yang lain. Metode ini biasanya digunakan untuk
menyimpan data yang belum tersimpan. metode
selanjutnya bisa memanggil onResume() jika akan
kembali ke layar aktif aplikasi dan bisa memanggil
onStop() jika tidak terlihat oleh user.
|
47
6.
onStop()
Dipanggil saat
activity
tidak terlihat lagi oleh user,
biasanya dikarenakan adanya proses onResume() dari
activity
lain atau
activity sedang dihilangkan oleh sistem.
onStop() bisa diikuti oleh onRestart() jika ingin kembali
berinteraksi dengan user dan bisa diikuti oleh onDestroy()
jika activity akan dihilangkan dari sistem.
7.
onDestroy()
Metode terakhir ini dipanggil sebelum activity
dihilangkan dari sistem. biasanya dipanggil jika activity
sudah selesai digunakan dan tidak dijalankan lagi.
2.1.11
Pernyataan Standar Akuntansi Keuangan
Tonggak sejarah pertama, menjelang diaktifkannya pasar modal di
Indonesia pada tahun 1973 merupakan pertama kalinya Ikatan Akuntansi
Indonesia (IAI) melakukan perumusan
prinsip dan standar akuntansi
yang berlaku di Indonesia dalam suatu buku "Prinsip Akuntansi
Indonesia (PAI) ". Tonggak sejarah
kedua terjadi pada tahun 1984
Komite PAI melakukan revisi secara mendasar PAI 1973 dan kemudian
merumuskannya dalam buku "Prinsip Akuntansi Indonesia 1984" dengan
tujuan untuk menyesuaikan ketentuan akuntansi dengan perkembangan
dunia usaha.
Tonggak sejarah berikutnya pada tahun 1994, IAI kembali
melakukan revisi total terhadap PAI 1984 dan mengkodifikasikannya
dalam buku "Standar
Akuntansi Keuangan (SAK) per 1 Oktober 1994".
Sejak diterbitkannya buku Standar Akuntansi Keuangan tahun 1994, IAI
pun terus melakukan revisi secara berkesinambungan, baik berupa
penyempurnaan standar yang ada maupun penambahan standar baru dan
Interpretasi Pernyataan Standar Akuntansi Keuangan (PSAK).
2.1.11.1
Laporan Arus Kas (PSAK no.2 tahun 1994)
Informasi tentang arus kasberguna bagi para pemakai
laporan keuangan sebagai dasar untuk menilai kemampuan dalam
menghasilkan kas dan setara kas dan menilai kebutuhan
|
48
perusahaan untuk menggunakan arus kas tersebut. Dalam proses
pengambilan keputusan ekonomi, para pemakai perlu melakukan
evaluasi terhadap kemampuan perusahaan dalam menghasilkan kas
dan setara kas serta kepastian perolehannya.
Tujuan Pernyataan ini adalah memberi informasi historis
mengenai perubahan kas dan setara kas melalui laporan arus kas
yang mengklasifikasikan arus kas berdasarkan aktivitas operasi,
investasi maupun pendanaan (financing)selama suatu periode
akuntansi.
2.1.11.2
Pendapatan (PSAK no.23 tahun 1994)
Penghasilan (income) meliputi baik pendapatan (revenue)
maupun keuntungan (gain). Pendapatan adalah penghasilan
yang timbul dari aktivitas yang biasa dan dikenal dengan
sebutan yang berbeda seperti penjualan, penghasilan jasa (fees),
bunga (rates), dividen (bagian laba atau pendapatan untuk
pemegang saham), royalti (uang jasa untuk hak paten).
Tujuan pernyataan ini adalah untuk mengatur perlakuan
akuntansi untuk pendapatan yang timbul dari transaksi
dan
peristiwa ekonomi tertentu.
2.1.12
Bank Interest and Tax Calculation
Ketetapan bunga dari berbagai bank berbeda beda tetapi besar pajak
yang dikenakan pada bunga tabungan nasabah sama pada setiap bank yaitu
20%. Berikut ini merupakan tetapan bunga bank
dari bank BCA dan
Mandiri berdasarkan besar saldo dari tabungan nasabah:
|
![]() 49
Gambar 2.23 Ketetapan Bunga Tabungan Bank BCA
bunga_landing.jsp)
Gambar 2.24 Ketetapan Bunga Tabungan Bank Mandiri
Untuk perhitungan bunga dan pajak dari kedua bank tersebut
menggunakan perhitungan bunga per bulan yang dikalkulasi oleh aplikasi
pada akhir bulan, berikut ini merupakan rumus perhitungan bunga dan
pajak dari saldo nasabah:
Saldo * SukuBunga (%) * 30 = BSP
365
BSP=
Bunga Sebelum
Pajak
BSP* 20% = BesarPajak
BSP BesarPajak= BungaAkhir
Saldo * SukuBunga (%) * 30 = BSP
365
Keterangan
BSP = Bunga Sebelum
BSP* 20% = BesarPajak
Pajak
BSP BesarPajak= BungaAkhir
|
50
2.1.13
NoSQL
NoSQL
merupakan tipe database
yang sangat berbeda dengan
konsepRelational Database Management System(RDBMS)
ataupun
Object Database Management System
(ODBMS). Beberapa
Perbedaannya adalah NoSQL
tidak mengenal istilah relation, untuk itu
dalam penerapannya database
NoSQL akan lebih cepat dibandingkan
SQL. Pada NoSQL juga tidak perlu mendefinisikan tipe dan ukuran saat
melakukan insert
data sehingga akan menjadi lebih mudah ketika ada
perubahan data di masa mendatang. Contoh Beberapa database
NoSQL
saat ini yaitu Cassandra, Big Table, PouchDB, CouchDB, dan MongoDB
(Shashank T., 2011:4).
2.1.14
Artificial Intelligence
Artificial Intelligenceatau intelegensia semu merupakan bidang ilmu
yang mempelajari bagaimana menciptakan sebuah sistem atau komputer
yang memiliki kecerdasan sehingga dapat bertindak atau mengambil
keputusan yang serupa dengan manusia. Contoh beberapa penerapan
Artificial Intelligence
yaitu membangun lawan dengan kecerdasan dalam
permainan catur, membangun robot yang memiliki kecerdasan dan dalam
bidang kesehatan bisa juga sebagai pendiagnosa penyakit
(Stuart R.,
2009).
2.1.15
Fuzzy Logic
Sekarang ini Fuzzy Logic
telah menjadi akar banyak aplikasi,yang
digunakan sebagai pengambil keputusan berdasarkan aturan dan
bertujuan memecahkan suatu masalah yang memiliki banyak ambiguitas
dan ketidakjelasan. Konsep Fuzzy Logic
dapat dengan mudah dipahami
karena termasuk sederhana, tidak terpaku pada satu keputusan (fleksibel)
sehingga dapat memberi toleransi pada ketidakpastian, dan yang alasan
lain yang membuatFuzzyLogicmudah diterapkan adalah Fuzzy Logic
berdasarkan bahasa yang manusia sehingga tidak sulit dalam
memahaminya.Contoh penerapan Fuzzy Logicpada aplikasi yaitu
pengontrol suhu ruangan, prediksi cuaca, pengelolaan keuangan, dan
masih banyak lainnya (Chennakesava R., 2008:1).
|
![]() 51
2.1.15.1
Fuzzy Logic Mamdani
Salah satu teknik fuzzy inference
yang umum digunakan
adalah metode Mamdani. Metode ini dikembangkan oleh
Mamdani dan Assilian pada tahun 1975. Penerapan metode ini
pertama kali dilakukan untuk mengontrol mesin uap, di mana
aturan-aturan yang berlaku didapat dari karyawan operator
yang sudah berpengalaman. Di dalam metode Mamdani,
proses implikasi fuzzy
menggunakan operator min
atau
conjunction
yang menandakan nilai minimum, sedangkan
aturan agregasi menggunakan operator max
yang merupakan
nilai maksimumnya (Iancu, 2012:333).
Menurut George, Gorethi, Riswandi, dan Budiharto
(2013:736-737), dalam melakukan proses terhadap variabel
input, metode Mamdani memiliki 4 (empat) tahap yaitu:
1.
Fuzzification
Tahap pertama dalam metode Mamdani yaitu
mengubah crisp input
menjadi angka fuzzy, dan
meletakkan pada fuzzy set yang benar.
2.
Rule Evaluation
Setelah dilakukan fuzzification, maka aturan yang
berlaku akan dievaluasi bersamaan dengan fuzzy set
yang
sudah didapat.
Jika kondisinya menggunakan AND maka rumusnya:
µ
A
nB
(x) = min(µ
A
[x], µ
B
[x])
µ
= fuzzy set
µ
A
[x]
= kumpulan fuzzyset A dari x
µ
B
[x]
= kumpulan fuzzyset B dari x
Rumus 2.1
|
![]() 52
Jika kondisinya menggunakan OR maka rumusnya:
µ
AUB
(x) = max(µ
A
[x], µ
B
[x])
µ= fuzzy set
µ
A
[x]
= kumpulan fuzzyset A dari x
µ
B
[x]
= kumpulan fuzzyset B dari x
Rumus 2.2
3.
Rule Aggregation
Tahap ini akan dilakukan agregasi pada output set
yang mengambil nilai maksimumnya dengan
menggunakan fungsi max.
µ
sf
[x
i
]
? max([x
i
], µ
kf
[x
i
])
µ
sf
= fuzzy set
Rumus 2.3
4.
Defuzzification
Setelah dilakukan agregrasi, maka selanjutnya adalah
mengubah fuzzy output
menjadi crisp output. Metode
defuzzification
yang digunakan adalah metode centroid
atau sering disebut dengan Center of Gravity (COG).
Ã
:
;
Ã
:
;
Rumus 2.4
2.1.16
Time Value of Money
Nilai waktu dari uang adalah salah satu dari konsep konsep yang
penting dalam personal financial managementyang berarti nilai uang
sekarang tidak akan sama dengan nilai uang paling tidak 1 (satu) tahun di
masa mendatang. Dan berguna ketika melakukan perencanaan seperti
|
53
menabung. Nilai masa depan dari tabungan dipengaruhi oleh 3
(tiga)
faktor. Yang pertama adalah jumlah dari uang yang telah disimpan
selanjutnya, jangka waktu menyimpan uang tersebut dan yang terakhir
tingkat suku bunga yang ditetapkan. Tingkat inflasi dan deflasi juga
dapat mempengaruhi nilai dari uang tersebut (Lawrence J., 2012: 161).
2.1.17
jQuery Mobile
jQuery Mobilemerupakan sistem antarmuka yang dapat diterapkan
pada seluruh platform
padamobile
device
yang sedang populer, dengan
code yang terbilang ringan dibangun dengan pengembangan secara
bertahap dan memiliki desain yang fleksibel serta mudah untuk
dimodifikasi. jQuery Mobilepada dasarnya merupakan sebuah framework
yang ditujukan untuk perangkat dengan kemampuan layar sentuh, seperti
smartphones, tablets
dan perangkat multimedia lainnya. jQuery
mendukung dalam penggunaan Phonegap pada banyak platform
seperti
iOS, Symbian, Blackberry, Android, dan WebOS (Maximiliano
F.,
2012:4).
2.1.18
HTML5 (HyperText Markup Language 5)
HTML (Hypertext Markup Language) merupakan bahasa markup
yang digunakan untuk mengubah dokumen teks menjadi halaman web.
Pengembangan terbaru dari HTML yaitu HTML5 yang dirancang oleh
WHATWG (Web Hypertext Application Technology Working Group)
dan direkomendasikan oleh W3C (World Wide Web Consortium) untuk
digunakan. HTML5 menyediakan banyak fitur-fitur baru untuk
mempermudah developer
dalam pengembangan web. Beberapa API
(Application Programming Interfaces) yang bisa digunakan dalam
HTML5 yaitu Media API, Canvas API, Drag and Drop API, Geolocation
API, dan lainnya (Robbins, 2013: 1-6).
2.1.19
CSS3 (Cascading Style Sheets 3)
CSS (Cascading Style Sheets) merupakan standar W3C (World Wide
Web Consortium) untuk memperindah websecara visual. Terdapat
banyak elemen baru yang ditambahkan W3C dalam CSS yang disebut
dengan CSS3. Di dalam CSS3, memungkinkan developer
untuk
melakukan animasi pada elemen web
dan merancang website
yang
|
![]() 54
responsif yaitu dengan menggunakan media queries. Fitur tersebut
banyak digunakan developer
untuk merancang web
untuk ukuran layar
yang berbeda-beda baik di komputer maupun mobile(Meyer, 2011).
2.1.20
Phonegap
Phonegap adalah sebuah framework
aplikasi HTML5 yang
digunakan untuk mengembangkan nativeapplications
dengan
menggunakan teknologi web. Ini berarti para developer
dapat
mengembangkan aplikasi smartphone
dan tablet
dengan kemampuan
atau
pengetahuan mengenai HTML, CSS, dan Javascript yang telah
dimiliki.
Aplikasi yang dikembangkan oleh Phonegap adalah
hybridapplication. Phonegap menjadi sebuah jembatan yang
menyambungkan dunia Javascript dengan dunia native
dari berbagai
platform, seperti Javascript API yang dapat melakukan akses dan kontrol
pada devices. Berikut merupakan arsitektur dari Phonegap (Rohtt Ghatol
and Yogesh Patel, 2012:17-18):
Gambar 2.25 Phonegap Architecture
(Sumber: Beginning PhoneGap: Mobile Web Framework for JavaScript
and HTML5, Rohtt Ghatol and Yogesh Patel, 2012: 18)
|
55
2.1.21
PouchDB
PouchDB membantu developer untuk membuat aplikasi offline
sebaik aplikasi online, data aplikasi disimpan lokal sehingga user dapat
menggunakan semua fitur dari aplikasi ketika offline
dan dapat juga
melakukan sinkronisasi data. PouchDB merupakan
freeopensourceproject
ditulis dengan Javascript oleh beberapa
kontributor dan terinspirasi oleh Apache CouchDB. PouchDB
menggunakan IndexedDB pada browser
Firefox dan Chrome, WebSQL
pada Safari dan Opera, dan LevelDB pada Node.js (Anonim4, 2013).
2.1.22
CouchDB
CouchDB merupakan salah satu jenis database
yang menyimpan
data dalam bentuk JSON documentsdan dikategorikan dalam NoSQL
database. CouchDB berjalan dengan baik pada web
dan
mobileapplication. CouchDB dapat melakukan replication
sehingga
dapat mendistribusikan data atau aplikasi dengan efisien
(Anonim5,
2013).
2.1.23
PHP
PHP
(Hypertext Preprocessor)
adalah bahasa yang didesain untuk
membuat konten dari HTML. PHP dapat berjalan di seluruh sistem
operasi, dari varian Unix seperti Linux, FreeBSD, Ubuntu, Debian,
hingga Windows dan Mac. Selain itu, PHP juga dapat digunakan dengan
semua webservers
yang terkemuka seperti Apache, Microsoft IIS dan
The Netscape/iPlanet servers. Kelebihan PHP lainnya adalah mendukung
banyak jenis database seperti MySQL, PostgreSQL, Oracle, Sybase, Ms-
SQL, DB2 bahkan mendukung jenis database yang baru digunakan yaitu
NoSQL-styledatabase
seperti MongoDB, SQLite(Kevin Tatroe, Peter
MacIntyre, and Rasmus Lerdorf, 2013:2).
2.1.24
MySQL
MySQL merupakan salah satu
sistemdatabaseopensource
yang
memberikan semua fitur dan fungsi dibandingkan dengan
databasesystems open source
lainnya
yang membatasi pengguna dalam
menggunakan fitur dan fungsi-fungsi yang terdapat didalamnya. MySQL
|
56
merupakan relational database-management system
didesain untuk
digunakan pada arsitektur client/server, dan dibentuk menggunakan
GNU C Compiler (GCC). Untuk itu, MySQL dapat di-compile dibanyak
sistem operasi Linux(Charles Bell, 2012:12-16).
2.1.25
Kamus Data
Kamus Data mendeskripsikan isi data dari database. Kamus Data
menjelaskan isi dari setiap entity, sehingga terlihat jelas atribut-atribut
apa saja yang ada. Untuk memperjelas relasi pada Kamus Data, juga
dapat ditambahkan RelationKey agar dapat terlihat hubungan antar entity
seperti PK (PrimaryKey) dan FK (ForeignKey) (Connolly, 2010: 65).
2.1.26
CORS
CORS (Cross-Origin Resource Sharing) adalah sebuah konfigurasi
standar dari browser
yang memungkinkan akses terbuka antar batas
origin. CORS dapat digunakan oleh semua browser dan server untuk
berkomunikasi dan menentukan request apa saja yang diizinkan,
memungkinkan panggilan cross origin agar halaman web dapat membuat
AJAX request kepada Web API yang berada pada origin yang berbeda.
Origin adalah kombinasi dari scheme, host,
dan port. Contohnya,
terdapat dua URL sebagai berikut:
1.
2.
Pada kedua URL tersebut, http merupakan scheme, sedangkan
www.hello.com dan www.world.com adalah hosts. Biasanya, port
number tidak ditampilkan secara langsung. Kedua URL tersebut berada
pada origin yang berbeda karena memiliki hosts yang berbeda. Untuk
mengelola keamanan akses antar origin,browser pada dasarnya tidak
membuka akses untuk mengirim data dari satu origin ke origin lainnya.
Dengan mengaktifkan CORS, maka pengiriman data antar origin dapat
dilakukan (Anonim6, 2013).
2.1.27
Penelitian Sebelumnya
Telah dilakukan berbagai penelitian terhadap aplikasi fuzzy logic di
dalam pemecahan masalah, baik dalam bidang yang berhubungan dengan
|
57
finance maupun pada bidang lainnya. Salah satunya adalah
jurnal
penelitian yang berjudul Evaluation of Student Performance in
Laboratory Applications UsingFuzzy Logic oleh Gokhan Gokmena, et al.
(2010)
yang berfokus pada pemecahan masalah sehari-hari pada bidang
edukasi, yaitu evaluasi prestasi mahasiswa.
Pada penelitian ini dilakukan pengkajian lebih dalam terhadap fuzzy
logic untuk mengetahui variasi evaluasi yang dapat dihasilkan.
Menggunakan sampel studi berupa nilai 20 siswa yang mengambil mata
pelajaran control technique laboratory di Marmara University Technical
Education Faculty, Electricity Education Department, metode klasik
yang lekat pada perhitungan matematika konstan dibandingkan dengan
metode fuzzy logic yang sifatnya fleksibel dan menyediakan pilihan-
pilihan evaluasi.
Teknik fuzzy Mamdani diaplikasikan pada saat menentukan active
membership functions berdasarkan rule table, dan pada output-nya
dilakukan proses defuzzification dengan menghitung pusat (center) dari
bentuk geometris yang dihasilkan proses tersebut. Hasil penelitian
menunjukkan adanya perbedaan yang antara metode klasik dan metode
fuzzy logic. Metode fuzzy logic memberikan fleksibilitas yang jauh lebih
besar, karena rules dan membership functions dapat dimodifikasi sesuai
kebutuhan penguji (namun harus tetap diaplikasikan kepada semua
mahasiswa).
Di antara 20 pihak akademis, sebagian melihat fuzzy logic sebagai
metode evaluasi prestasi yang potensial karena fleksibilitasnya,
sedangkan sisanya menganggap fuzzy logic dapat sulit dijelaskan kepada
mahasiswa. Dari penelitian ini dapat disimpulkan bahwa fuzzy
logic
dapat menjadi metode alternatif dalam melakukan evaluasi status prestasi
yang dalam penelitian ini direpresentasikan oleh nilai mahasiswa.
Penelitian lainnya mengenai penerapan fuzzy logic
didokumentasikan di dalam jurnal yang berjudul Application of Fuzzy
Logic in Determining Cost of Capital for The Capital Budgeting
Processoleh Goran Karanovica
dan
Bisera Gjosevskab
(2012). Dari
penelitian ini, dapat diketahui fungsi fuzzy logic yang dapat diterapkan
pada proses capital budgeting sebagai alternatif dalam menentukan cost
|
58
of capital, salah satu proses pengambilan keputusan yang penting di
dalam capital budgeting.
Goran Karanovic dan Bisera Gjosevska melakukan observasi
terhadap empat financial experts dalam bidang capital budgeting untuk
memprediksi cost of capital pada skenario terbaik, terburuk, dan paling
memungkinkan. Range yang ditentukan dan probabilitas cost of capital
yang berasal dari informasi kualitatif diaplikasikan oleh fuzzy logic dan
triangular fuzzy numbers sebagai linguistic variables untuk digunakan di
dalam proses kuantitatif dalam menentukan cost of capital. Kesimpulan
dari penelitian ini adalah fuzzy logic dan triangular fuzzy numbers
direkomendasikan dalam menentukan estimasi cost of capital dan
keuntungan penerapan fuzzy logic di dalam bidang finansial memiliki
potensi yang sangat baik untuk mendukung praktik bisnis.
Tomasz Korol (2012) di dalam penelitiannya mengklasifikasikan
forecasting models yang digunakan dalam financial forecasting menjadi
tiga, yaitu Statistical Methods, Soft Computing Methods (fuzzy logic
berada di dalamnya), dan Theoretical Methods. Karena Soft Computing
Techniques secara efektif menangani masalah-masalah ketidakakuratan,
data yang tidak lengkap, dan ketidakpastian, maka soft computing dapat
diterapkan di dalam melakukan prediksi terhadap kalkulasi dan
pengambilan keputusan yang memiliki unsur-unsur di atas.
Tomasz Korol membandingkan fuzzy logic (sebagai bagian dari soft
computing techniques) dengan kelompok forecasting models lainnya
dengan menerapkannya untuk menilai credit risk nasabahsebuah bank
berdasarkan sekelompok kriteria individual yang telah ditentukan oleh
bank. Membuat rules dan membership functions berdasarkan range
kriteria (demografi, finance, dan financial security) nasabah, output akhir
dari penerapan fuzzy logic merupakan status credit risk yang dimiliki
oleh seorang nasabah.
Hasil dari penelitian terhadap implementasi fuzzy logic terhadap
prediksi credit risk ini adalah bahwa fuzzy logic memberikan efektivitas
sebesar 88.73%. Sebagai kesimpulan, penelitian menunjukkan bahwa
fuzzy logic dapat menjadi alat yang sangat baik dan berguna dalam
analisis finansial. Model fuzzy logic dapat digunakan sebagai alat
|
![]() 59
pengambil keputusan di dalam proses
evaluasi situasi finansial
perusahaan atau individual. Selain itu, fuzzy logic dimodifikasi dengan
lebih mudah untuk keperluan masing-masing pihak.
Dari 3 (tiga) penelitian fuzzy logic tersebut dapat dirangkum sebagai
berikut:
Tabel 2.5 Penelitian Sebelumnya
No
Nama
Judul
Metode
Keterangan
1
Gokhan
Gokmena,
Tahir Çetin
Akincib,
Mehmet
Tekta,
Nevzat
Onatc,
Gokhan
Kocyigita,
Necla Tekta
Evaluati
on of
student
performa
nce in
laborato
ry
applicati
ons using
fuzzy
logic(20
10)
Evaluasi nilai
ujian
laboratorium
terhadap grup
studi yang
terdiri dari 20
siswa,
membandingka
n evaluasi nilai
yang dilakukan
menggunakan
fuzzy logic
dengan metode
tradisional.
Penelitian ini
berfokus pada
perbandingan antara
metode tradisional
dan metode fuzzy
logic Mamdani yang
digunakan untuk
melakukan evaluasi
nilai performa siswa.
Hasil penelitian ini
menunjukkan
fleksibilitas yang
ditawarkan oleh
fuzzy logic dalam
melakukan evaluasi.
2
Goran
Karanovica,
Bisera
Gjosevskab
Applicati
on of
Fuzzy
Logic in
Determin
ing Cost
of
Capital
for
TheCapit
al
Budgetin
g
Statistical
method,
Mathematical
method,
Inductive-
deductive
method, Quasi-
experiment
method
Trochim
Jurnal ini dapat
menjadi acuan
penggunaan fuzzy
logic yang dapat
diterapkan pada
penetapan capital
budgeting, di mana
kesimpulan dari
jurnal ini adalah
metode fuzzy logic
|
![]() 60
No
Nama
Judul
Metode
Keterangan
Process(
2012)
&Donnelly,
2006, metode
generalisasidan
spesialisasi
serta metode-
metode sains
yang spesifik
dan umum
lainnya.
direkomendasikan
untuk melakukan
estimasi cost of
capital, sehingga
dapat disimpulkan
bahwa fuzzy logic
dapat memberikan
keuntungan di dalam
praktik bisnis.
3
Tomasz
Korol
Fuzzy
Logic in
Financia
l
Manage
ment
(2012)
Membandingk
an metode
statistical
model,
theoretical
model, dan soft
computing
model dalam
melakukan
financial
forecasting.
Fokus penelitian ini
adalah mengukur
efisiensi penggunaan
fuzzy logic dan
membandingkannya
dengan penggunaan
financial forecasting
models lainnya.
Kesimpulan dari
jurnal ini adalah
bahwa fuzzy logic
(bagian dari soft
computing model)
adalah salah satu
tool yang sangat baik
di dalam analisis
finansial karena
mudah dimodifikasi
sesuai dengan
kebutuhan
penggunanya.
|