library.binus.ac.id  · Web viewPada beberapa kasus system software dikarakteristikkan oleh...

73
BAB 2 LANDASAN TEORI 2.1 Teori Umum Di bawah ini adalah teori-teori umum atau dasar yang digunakan dalam pembuatan aplikasi E Points : 2.1.1 Rekayasa Piranti Lunak 2.1.1.1 Definisi Rekayasa Piranti Lunak Menurut Pressman (2010:13), Rekayasa Piranti Lunak adalah pengembangan dan penggunaan prinsip pengembangan untuk memperoleh perangkat lunak secara ekonomis yang handal dan bekerja secara efisien pada mesin nyata. 2.1.1.2 Kategori Software Pressman (2010:7) mengemukakan 7 (tujuh) kategori software, yaitu : a. System software System software adalah gabungan dari beberapa program yang ditulis untuk melayani program lainnya. Contoh dari system software seperti compilers, editors, dan file management utilities. Contoh lain dari aplikasi system software adalah komponen sistem operasi, drivers, 9

Transcript of library.binus.ac.id  · Web viewPada beberapa kasus system software dikarakteristikkan oleh...

BAB 2

LANDASAN TEORI

2.1 Teori Umum

Di bawah ini adalah teori-teori umum atau dasar yang digunakan dalam

pembuatan aplikasi E Points :

2.1.1 Rekayasa Piranti Lunak

2.1.1.1 Definisi Rekayasa Piranti Lunak

Menurut Pressman (2010:13), Rekayasa Piranti Lunak

adalah pengembangan dan penggunaan prinsip pengembangan

untuk memperoleh perangkat lunak secara ekonomis yang handal

dan bekerja secara efisien pada mesin nyata.

2.1.1.2 Kategori Software

Pressman (2010:7) mengemukakan 7 (tujuh) kategori

software, yaitu :

a. System software

System software adalah gabungan dari beberapa

program yang ditulis untuk melayani program lainnya.

Contoh dari system software seperti compilers, editors,

dan file management utilities. Contoh lain dari aplikasi

system software adalah komponen sistem operasi,

drivers, networking software, telecommunication

processors. Pada beberapa kasus system software

dikarakteristikkan oleh banyaknya interaksi dengan

perangkat keras komputer, penggunaan besar oleh

banyak pengguna, operasi yang membutuhkan

penjadwalan, berbagi sumber daya dan manajemen

proses yang canggih, kompleksitas struktur data dan

antarmuka eksternal.

9

10

b. Application software

Application software adalah program stand-alone

yang menyelesaikan kebutuhan bisnis yang spesifik.

Aplikasi jenis ini memproses data bisnis sebagai cara

untuk memfasilitasi operasi bisnis dan manajemen

pengambil keputusan. Pada aplikasi yang memproses

data secara konvensional, application software

digunakan untuk mengatur fungsi bisnis di waktu yang

nyata (real time). Contohnya seperti aplikasi points of

sale, aplikasi manufaktur yang mengatur kontrol proses

secara real time.

c. Engineering / scientific software

Kategori perangkat lunak ini, telah digolongkan

oleh algoritma “number-crunching”, lingkup aplikasi

dari astronomi sampai vulkanologi, dari analisis

perhitungan otomotif hingga orbit luar angkasa yang

dinamis, dan dari biologi molekuler hingga produksi

otomatis, aplikasi kategori ini dipergunakan bagi

kepentingan riset dan pengolahan perhitungan bidang

ilmu terapan (scientific).

d. Embedded software

Embedded software terletak pada sebuah produk

atau sistem dan digunakan untuk menjalankan dan

mengatur fitur dan fungsi untuk kebutuhan pengguna

dan sistem itu sendiri. Contohnya adalah tombol

pengaturan untuk oven microwave, tombol digital untuk

pengaturan penunjuk bahan bakar, sistem pengereman

pada kendaraan.

e. Product-line software

Perangkat lunak yang dirancang untuk

menyediakan kemampuan spesifik untuk banyak

pengguna. Product-lines software dapat fokus kepada

target pasar tertentu dan terbatas (contohnya aplikasi

pengaturan inventori atau kepada target pasar acak

11

(contoh word processing, computer graphic, multimedia,

entertainment, database management, personal and

business financial applications).

f. Web applications

Web application sering disebut “Webapps”. Dalam versi

sederhananya Webapps dapat berupa kumpulan file

hypertext yang menampilkan informasi menggunakan

teks dan grafik yang terbatas. Webapps berkembang

kedalam lingkungan komputer yang kompleks yang

tidak hanya mengembangkan fitur program standalone,

fungsi perhitungan kompleks, dan isi kepada

penggunanya, tetapi juga terintegrasi dengan database

perusahaan dan aplikasi bisnis.

g. Artificial intelligence software

Artificial Inteligence Software menggunakan algoritma

nonnumerical untuk memecahkan masalah yang

kompleks yang tidak dapat dilakukan perhitungan atau

analisis langsung. Aplikasi yang termasuk pada kategori

ini adalah robotic, expert system, pattern recognition

image or voice, artificial neural network,

theoremproving, game playing.

2.1.1.3 Agile Development

Menurut Pressman (2010:67), Agile Development

merupakan proses software modern yang saat ini banyak digunakan

karena proses ini didesain dengan cara yang memungkinkan bagi

development team untuk mampu merespon perubahan secara tepat.

Perubahan tersebut meliputi kebutuhan pengguna, kemajuan

teknologi, serta perubahan lain yang berdampak pada

pengembangan software.

Scrum

Pressman (2010:82) mengemukakan bahwa Scrum adalah

metode cepat dalam pengembangan software yang diciptakan oleh

12

Jeff Sutherland dan timnya diawal tahun 1990. Dalam beberapa

tahun terakhir, pengembangan lebih lanjut dari metode Scrum telah

dilakukan oleh Scwaber dan Beedle.

Prinsip-prinsip Scrum konsisten dengan petunjuk cepat dan

digunakan sebagai petunjuk aktivitas pengembangan dengan

menggabungkan aktivitas framework : requirement, analysis,

design, evolution, dan delivery.

Dalam setiap aktivitas framework, tugas-tugas terjadi di

dalam sebuah proses yang disebut sprint. Pekerjaan yang dilakukan

dalam sebuah sprint (banyaknya sprint yang diperlukan tiap

aktivitas kerangka kerja akan bervariasi tergantung dari

kompleksitas produk dan ukuran) diadaptasikan ke permasalahan

yang terjadi dan didefinisikan bahkan sering dimodifikasi secara

real time oleh tim Scrum. Gambar 2.1 merupakan ilustrasi

keseluruhan aliran proses Scrum.

Gambar 2.1 Ilustrasi Proses Scrum

(Sumber : Pressman, 2010:83)

Scrum menekankan penggunaan satu set pola software yang

telah terbukti efektif untuk proyek dengan timeline yang ketat,

perubahan kebutuhan dan kritikal bisnis. Tiap proses

mendefinisikan kegiatan pengembangan. Berikut proses-proses

yang terdapat dalam Scrum :

13

a. Backlog

Backlog adalah daftar kebutuhan proyek atau fitur yang

menyediakan nilai bisnis untuk pelanggan. Hal-hal dapat

ditambahkan ke backlog kapanpun (ini adalah

bagaimana perubahan terjadi). Manajer produk menilai

backlog dan melakukan update prioritas seperti yang

dibutuhkan.

b. Sprint

Sprint merupakan unit kerja yang dibutuhkan untuk

mencapai kebutuhan yang didefinisikan di dalam

backlog yang harus diselesaikan dalam waktu yang

didefinisikan (biasanya 30 hari). Selama sprint terjadi,

tidak ada perubahan pada rencana karena itu sprint

memperbolehkan tim untuk bekerja dalam waktu yang

singkat tetapi dalam kondisi lingkungan yang stabil.

c. Scrum Meetings

Scrum Meetings adalah pertemuan singkat yang

diadakan setiap hari dalam waktu singkat sekitar 15

menit oleh tim Scrum, tim akan membahas

perkembangan progress yang telah dilakukan dan

masalah yang dihadapi pada saat pengembangan

aplikasi.

d. Demo

Demo adalah pengiriman software pada Customer

sehingga dapat diimplementasikan dan dievaluasi oleh

Customer.

2.1.2 Teori Mobile

Pembuatan aplikasi mobile berbeda dengan pembuatan aplikasi web

atau desktop sehingga developer harus memahami perbedaannya sehingga

dapat menghasilkan aplikasi yang bermanfaat. Di bawah ini merupakan

teori mengenai mobile.

14

15

2.1.2.1 Smartphone

Smartphone menurut Shelly G. B., Misty E., Jeffrey J.,

Susan C., Steven M., (2012:21) adalah telepon yang Internet-

enabled yang biasanya menyediakan fungsi Personal Digital

Assistant (PDA) seperti fungsi kalender, buku agenda, buku alamat,

kalkulator, dan catatan. Fungsi smartphone menyerupai fungsi

komputer desktop sehingga kedepannya teknologi smartphone

dapat menggantikan komputer desktop dalam hal mobilitas.

2.1.2.2 Mobile Operating System

Fling, B. (2009:22) mengemukakan bahwa telepon genggam

dapat disebut smartphone jika menggunakan sistem operasi. Mobile

operating system adalah sistem operasi yang dikhususkan untuk

perangkat mobile. Berikut sistem operasi umum yang hadir di

smartphone :

a. Symbian

Symbian OS adalah sistem operasi open source yang

didesain untuk perangkat mobile dengan perpustakaan

yang terkait, kerangka antarmuka pengguna, dan

implementasi dengan tools yang umum.

b. Windows Mobile

Windows Mobile adalah sistem operasi yang berjalan di

atas Windows Mobile platform.

c. Palm OS

Palm OS adalah sistem operasi yang digunakan dalam

Palm’s lower end Centro line.

d. Linux

Linux merupakan sistem operasi open source.

e. Mac OS X

Mac OS X adalah sistem operasi yang digunakan Apple

di iPhone dan iPod touch.

16

f. Android

Android merupakan sistem operasi open source yang

dapat disesuaikan dengan operator dan produsen

perangkat.

2.1.2.3 Sepuluh Prinsip Mobile Interface Design

Smartphone dan komputer desktop merupakan perangkat

komputasi, namun smartphone dan komputer desktop sangat

berbeda, dalam segi layar dari perangkat, bandwith yang

ditawarkan, penggunaan baterai, dan lain-lain. Oleh karena itu

pembuatan rancangan antarmuka untuk mobile tidak dapat

disamakan dengan komputer desktop. Berikut sepuluh prinsip

rancangan antarmuka untuk aplikasi mobile menurut Jonathan Stark

pada Creative Bloq (2012) :

1. Mobile Mindset

Karena ada perbedaan antara mobile dan desktop, pengembang

harus mengetahui beberapa pola pikir untuk mobile :

a. Be focused

Banyak fitur bukan berarti lebih baik. Sebaiknya fitur-

fitur yang tidak penting disingkirkan dari rencana

pembuatan.

b. Be unique

Aplikasi yang dikembangkan memiliki suatu keunikan

yang membedakan aplikasi tersebut dengan aplikasi

lainnya.

c. Be charming

Aplikasi yang dapat diandalkan, dan menyenangkan

ketika digunakan, sehingga aplikasi tersebut menarik

untuk digunakan.

17

d. Be considerate

Pengembang aplikasi harus menempatkan diri pada

posisi pengguna aplikasi sehingga sesuai dengan

keinginan pengguna.

2. Mobile Contexts

Untuk mengembangkan aplikasi yang sesuai dengan keinginan

pengguna, terdapat tiga konteks utama pada mobile, yaitu :

a. Bored : Aplikasi berupa hiburan

b. Busy : Aplikasi yang mampu menyelesaikan tugas

dengan cepat.

c. Lost : Aplikasi yang menunjukkan informasi tempat.

3. Global Guidelines

Setiap aplikasi memiliki teknik pendekatan dan desain yang

berbeda. Beberapa hal yang harus diperhatikan dalam

mengembangkan aplikasi, yaitu :

a. Responsiveness

Jika pengguna melakukan sesuatu pada aplikasi, aplikasi

harus dapat menjawab respon dari pengguna.

b. Polish

Pengembang aplikasi harus memperhatikan desain

aplikasi secara detail.

c. Thumbs

Hampir semua orang menggunakan ibu jari untuk

berinteraksi dengan smartphone. Oleh karena itu

pengembang harus dapat memperhatikan desain untuk

kenyamanan dalam menggunakan ibu jari.

d. Targets

Dalam mendesain aplikasi yang menggunakan fungsi

keyboard, pengembang aplikasi sebaiknya mendesain

penempatan tombol dengan baik sehingga memudahkan

pengguna pada saat mengetik.

18

e. Content

Sebaiknya pengembang menempatkan content aplikasi

pada bagian tengah layar untuk memudahkan pengguna

berinteraksi dengan aplikasi.

f. Controls

Ketika harus menambahkan suatu control pada aplikasi,

sebaiknya diletakkan pada bagian bawah layar agar

memudahkan pengguna berinteraksi dengan aplikasi.

g. Scrolling

Sebaiknya pengembang aplikasi mengurangi pemakaian

scrolling untuk memudahkan pengguna dalam

menggunakan aplikasi.

4. Navigation Models

Ada beberapa model navigasi umum untuk aplikasi mobile yang

dapat digunakan sesuai dengan aplikasi, seperti none, tab bar,

dan drill down.

5. User Input

Pada pengembangan suatu aplikasi memungkinkan pengguna

dalam memberikan input seperti pengetikan. Jika aplikasi perlu

banyak input seperti pengetikan, pastikan mendukung orientasi

landscape untuk memudahkan pengguna yang memiliki ibu jari

yang besar.

6. Gestures

Antarmuka layar sentuh saat ini mendukung gesture-based

untuk interaksi pengguna. Beberapa hal yang harus diingat

adalah :

a. Invisible

Gestures tidak terlihat, tetapi pengembang aplikasi harus

mempertimbangkan bagaimana untuk mengungkapkan

keberadaan gestures tersebut kepada pengguna.

b. Two hands

19

Multi-touch gestures membutuhkan operasi dua tangan.

Contohnya pada saat memperbesar atau memperkecil

tampilan gambar.

7. Orientation

a. Portrait

Orientasi yang paling sering digunakan dalam desain

antarmuka aplikasi.

b. Landscape

Jika aplikasi mengharuskan pengguna untuk banyak

mengetik, aplikasi harus dapat mendukung orientasi

landscape untuk dapat mengakses keyboard yang lebih

besar.

c. Orientasi berubah tiba-tiba

Aplikasi yang akan digunakan dalam jangka waktu lama

perlu mempertimbangkan untuk menambahkan orientasi

yang tepat di aplikasi tersebut.

8. Communications

Aplikasi harus dapat berinteraksi dengan pengguna.

a. Provide feedback

Memberikan umpan balik instan untuk setiap interaksi.

Jika pengguna telah meminta suatu tindakan yang akan

memakan waktu lama, maka aplikasi perlu menampilkan

progress bar.

b. Modal alert

Modal alert sangat mengganggu sehingga harus

digunakan ketika ada sesuatu yang benar-benar salah.

c. Confirmation

Aplikasi harus dapat meminta pengguna untuk

mengkonfirmasi tindakan. Seperti : “Apakah Anda yakin

ingin menghapus data ini?”.

9. Launching

Ketika pengguna kembali ke aplikasi, maka aplikasi harus

kembali beroperasi tepat dimana pengguna terakhir

mengoperasikan aplikasi.

20

10. First Impressions

Pada saat pengguna pertama kali menggunakan aplikasi terdapat

dua faktor yang menjadi kesan pertama pengguna, yaitu :

a. Your icon

Icon merupakan daya tarik awal bagi pengguna dalam

menggunakan aplikasi yang dikembangkan.

b. First launch

Peluncuran aplikasi yang pertama kali seharusnya tidak

membingungkan pengguna.

2.1.3 Internet

William dan Sawyer (2007, p17) mengemukakan bahwa internet

adalah jaringan komputer di seluruh dunia yang menggabungkan ratusan

bahkan ribuan jaringan yang lebih kecil, misalnya jaringan pendidikan,

komersial, nirlaba, dan militer, bahkan jaringan individual.

Komponen penting internet berupa media biasa disebut dengan

WWW (World Wide Web), WWW memegang peranan penting dalam

mempopulerkan internet, WWW atau web dapat didefinisikan sebagai

sistem interkoneksi komputer internet, yang disebut server yang

mendukung dokumen-dokumen bersifat multimedia.

2.1.4 Loyalty

2.1.4.1 Pengertian Customer Loyalty

Menurut Kotler (2012:127) didefinisikan loyalitas

pelanggan adalah suatu keadaan dimana terdapat komitmen yang

kuat dan pembelian ulang dan penggunaan kembali barang dan jasa

perusahaan di masa depan.

Dengan definisi tersebut, kita dapat menyimpulkan bahwa

loyalitas pelanggan sangat dibutuhkan untuk menjaga kelangsungan

hidup perusahaaan dan mempertahankan pelanggan yang sudah ada

sehingga hal ini menguntungkan perusahaan.

21

Menurut Mao J. (2010:213) loyalitas pelanggan memiliki

posisi yang signifikan dalam pemasaran, yaitu diantaranya :

1. Dianggap sebagai fitur utama yang mencerminkan

nilai suatu merek

Hal ini diakui benar bahwa pembeli setia pada

suatu merek dalam kenyataannya berkontribusi besar

dalam pemasaran. Menurut konsep loyalitas, hal ini

dianggap fitur penting dari nilai merek.

2. Mengurangi biaya

Strategi ini dapat membuat perusahaan

mengeluarkan uang lebih sedikit dan mendapatkan uang

lebih banyak dalam pemasaran. Reichheld dalam jurnal

Mao J. (2010:2) mengungkapkan bahwa penjual harus

membuang uang empat kali lebih banyak untuk menarik

pelanggan baru ketimbang pelanggan yang setia.

3. Pelanggan kurang sensitif terhadap harga

Pelanggan setia biasanya kurang sensitif terhadap

harga. Ketika harga suatu produk naik, mereka tidak

mengurangi jumlah produk yang mereka beli. Mao J.

(2010:2) mengungkapkan bahwa pelanggan setia

mempercayai produk pilihan mereka dan kurang

berfokus pada harga.

4. Membawa pelanggan baru yang potensial

Pelanggan yang setia dapat menambahkan

pelanggan baru lebih banyak. Pada saat yang sama,

pelanggan baru tersebut juga dapat menjadi pelanggan

setia di masa depan. Contohnya adalah ketika seseorang

membeli merek kosmetik secara berkala dan

menganggapnya nyaman digunakan, dia akan

merekomendasikan kepada temannya. Oleh karena itu,

tidak mengherankan bila orang-orang sekitarnya

memiliki merek komoditas yang sama.

5. Bermanfaat di pasar global (marketplace)

22

Mao J. (2010:213) mengatakan bahwa dunia

telah berubah menjadi bisnis global dalam 10 dekade

terakhir. Mengembangkan loyalitas merek sangat

penting untuk memasuki pasar. Untuk menjaga

hubungan kepercayaan dengan pelanggan-pelanggan

mereka, perusahaan harus membuat program loyalty

untuk pelanggan.

2.1.4.2 Program Loyalty

Definisi Program Loyalty menurut investopedia (2013)

adalah program hadiah yang diberikan perusahaan kepada

pelanggan yang sering melakukan pembelian. Program loyalty dapat

memberikan pelanggan akses dengan mudah terhadap produk baru,

kupon penjualan khusus atau merchandise gratis.

Hanover Research (2011:4) mengemukakan studi pada

tahun 2006 mengungkapkan bahwa “lebih dari 75% konsumen

memiliki paling tidak satu kartu loyalty, dan beberapa orang

memiliki dua atau lebih kartu dari populasi pembeli”.

Partisipasi di kalangan konsumen dan persaingan antar toko

meningkat secara dramatis sejak awal tahun 2000. Menurut sensus

loyalty Colloquy yang dirilis tahun 2009, “Keanggotaan dalam

program loyalitas pelanggan AS telah mencapai 1,8 miliar, naik 1,3

miliar di tahun 2007”. Sensus menunjukkan bahwa rata-rata rumah

tangga di AS telah mendaftar untuk 14,1 program loyalty, dan 6,2

dari mereka ikut berpartisipasi.

2.1.4.3 Program Mobile Loyalty

Menurut Becker, M., & Arnold (2010:299), program mobile

loyalty mirip dengan program loyalitas tradisional, hanya saja poin

loyalitas atau satuan pembelian dikumpulkan pada mobile phone.

Satuan loyalitas juga dapat ditukarkan (di-redeem) melalui

perangkat mobile dengan metode pembayaran yang teintegrasi

dengan perangkat mobile atau sistem tambahan seperti Web Site.

23

Melaksanakan program loyalitas sama seperti

mengimplementasikan mobile marketing program dengan step –

step sebagai berikut :

1. Membangun mobile database pelanggan setia

Database dapat dibuat dari beberapa sumber data, seperti

online information forms yang terkoneksi dengan web site,

dikumpulkan di toko, dan SMS langsung.

2. Menetapkan sistem reward dan menyiapkan sistem

yang memungkinkan customer untuk menambah poin

pada mobile phone.

Salah satu cara melakukan hal ini adalah melalui kode

customer yang unik yang dikirimkan melalui SMS. Proses

ini dapat berkerja dalam sistem POS atau sistem aplikasi

penyedia layanan dimana mereka dapat memantau akun

dan data transaksi customers.

3. Menyediakan rewards berdasarkan aktivitas

konsumen.

Pemantauan perilaku konsumen dapat dicapai melalui

kemampuan sistem POS. Penggabungan kemampuan

sistem POS dengan mobile channel merupakan fungsi

manajemen database.

24

2.1.5 Interaksi Manusia dan Komputer (IMK)

2.1.5.1 Pengertian Interaksi Manusia dan Komputer (IMK)

Schneiderman (2010:22) mendefinisikan Interaksi Manusia

dan Komputer atau Human Computer Interaction (HCI) adalah

ilmu yang mempelajari bagaimana berinteraksi antara manusia

dengan seperangkat komputer dan pengaruh komputer dalam

pengembangannya untuk berinteraksi dengan manusia.

2.1.5.2 Lima Faktor Manusia Terukur

Menurut Scheneiderman & Plaisant (2010:32) ada lima

faktor manusia terukur :

1. Waktu belajar

Waktu belajar seseorang mempelajari fungsi-fungsi

tertentu.

2. Kecepatan kinerja

Kecepatan kerja menunjukkan berapa lama pengguna

melakukan suatu tugas.

3. Tingkat kesalahan

Tingkat kesalahan menunjukkan seberapa banyak

kesalahan dan kesalahan apa saja yang dibuat pengguna.

4. Daya ingat

Daya ingat adalah kemampuan pengguna

mempertahankan pengetahuannya setelah jangka waktu

tertentu.

5. Kepuasan subjektif

Kepuasan pengguna terhadap berbagai aspek sistem.

25

2.1.6 Unified Modeling Language (UML)

Unified Modeling Language (UML) menurut Whitten dan Bentley

(2007:371) adalah suatu kumpulan konsep atau permodelan yang

digunakan untuk menentukan atau menggambarkan sebuah sistem

perangkat lunak yang berkaitan dengan objek.

2.1.6.1 Class Diagram

Menurut Whitten dan Bentley (2007:400), class diagram

adalah diagram yang menggambarkan struktur objek statis dalam

sebuah sistem, menunjukkan sistem tersusun dari beberapa class

dan hubungan yang terbentuk diantara class tersebut. Gambar 2.2

merupakan class dan strukturnya dalam sebuah class diagram.

Gambar 2.2 Class dan Strukturnya

Sebuah class dalam class diagram disusun oleh tiga bagian,

yaitu :

1. Nama Kelas

Nama kelas digunakan untuk membedakan antara kelas

yang satu dengan kelas yang lain.

2. Atribut Kelas

Atribut kelas adalah data yang menunjukkan

karakteristik penting tentang sebuah objek dari kelas

tersebut.

3. Operasi Kelas

Operasi kelas yaitu logika perangkat lunak yang

dijalankan dalam menanggapi pesan.

26

27

2.1.6.1.1 Visibility

Menurut Whitten dan Bentley (2007:650), visibility

merupakan cara mengakses yang dimiliki oleh sebuah

objek. Terdapat tiga jenis visibility, yaitu :

1. Public

Public dinotasikan dalam bentuk “+”. Public

mengindikasikan bahwa sebuah kelas dapat

dipanggil oleh semua kelas lain.

2. Protected

Protected dinotasikan dalam bentuk “#”.

Protected mengindikasikan sebuah kelas hanya

dapat dipanggil oleh kelas yang bersangkutan

dan turunannya.

3. Private

Private dinotasikan dalam bentuk “-“. Private

mengindikasikan bahwa sebuah kelas hanya

dapat dipanggil oleh kelas yang bersangkutan.

2.1.6.1.2 Association

Menurut Whitten dan Bentley (2007:377),

Association digambarkan dengan sebuah garis koneksi

yang menunjukkan adanya hubungan antara satu kelas

dengan kelas yang lain. Ada dua jenis penggambaran

hubungan didalam asosiasi

a. Unidirectional

Unidirectional menunjukkan hubungan antar

kelas yang terjadi satu arah saja. Unidirectional

digambarkan dengan garis yang memiliki anak

panah (navigability). Gambar 2.3 merupakan

unidirectional association.

28

Gambar 2.3 Contoh Unidirectional

Association

b. Bidirectional

Bidirectional menunjukkan hubungan antar

kelas yang terjadi dua arah, yang berarti semua

kelas berperan dan dapat saling mengirim

pesan ke kelas lain yang terhubung.

Bidirectional digambarkan dengan garis yang

tidak memiliki anak panah. Gambar 2.4

merupakan contoh bidirectional association.

Gambar 2.4 Contoh Bidirectional

Association

2.1.6.1.3 Multiplicity

Whitten dan Bentley (2007:378) mengatakan

bahwa multiplicity merupakan jumlah kejadian minimum

dan maksimum dari suatu objek untuk satu kejadian dari

objek yang berhubungan. Tabel 2.1 merupakan beberapa

simbol multiplicity:

29

Tabel 2.1 Tabel Simbol Multiplicity

Multiplicity Deskripsi

1 Tepat satu

0…1 Nol atau satu

0…* Nol atau lebih dari satu

1…* Satu atau lebih dari satu

7…9 Jumlah spesifik

2.1.6.1.4 Aggregation

Whitten dan Bentley (2007:378) mengemukakan

bahwa aggregation adalah hubungan suatu kelas dengan

kelas yang lain dimana kelas yang lebih besar

mengandung satu atau lebih kelas yang lebih kecil, dan

kelas yang kecil merupakan bagian dari kelas yang lebih

besar. Aggregation ditunjukan oleh berlian berongga

pada salah satu ujungnya. Gambar 2.5 merupakan

contoh agregasi.

Gambar 2.5 Contoh Agregasi

(Sumber: Whitten dan Bentley, 2007:379)

30

2.1.6.1.5 Generalization

Whitten dan Bentley (2007:380) mengemukakan

bahwa generalization adalah sebuah teknik dimana

atribut dan behavior yang ada pada beberapa objek

class, dikelompokkan menjadi kelas tersendiri, yang

disebut supertype. Atribut dan behaviour objek class

supertype kemudian diwariskan oleh objek class lain

(subtype). Gambar 2.6 merupakan contoh generalization

Gambar 2.6 Contoh Generalization

2.1.6.2 Use Case Diagram

Menurut Whitten dan Bentley (2007:246), use case diagram

merupakan diagram yang menggambarkan relasi antara sistem,

sistem eksternal dan pengguna. Use case diagram menggambarkan

orang yang menggunakan sistem dan cara pengguna berinteraksi

dengan sistem. Gambar 2.7 merupakan contoh use case diagram.

31

Gambar 2.7 Contoh Use Case Diagram

(Sumber : Whitten dan Bentley, 2007:246)

Berikut ini adalah notasi-notasi yang digunakan dalam use

case diagram.

1. Use Case

Use case mendeskripsikan fungsi dari sebuah

sistem dilihat dari sudut pandang pengguna.

Gambar 2.8 Use Case

(Sumber: Whitten dan Bentley, 2007:246)

2. Actor

Actor merupakan orang, organisasi, atau sistem

eksternal yang berinteraksi dengan sistem untuk saling

bertukar informasi. Ada 4 (empat) tipe actor, yaitu :

a. Primary Business Actor

Primary Bussiness Actor adalah aktor yang

menerima keuntungan dari pelaksanaan use

case dengan menerima sebuah nilai yang

terukur dan terobservasi. Ada kemungkinan

bahwa Primary Business Actor tidak

32

menginisiasi kejadian bisnis. Misalnya

seorang karyawan menerima gaji dari

perusahaan.

b. Primary System Actor

Primary System Actor adalah aktor yang

langsung berhadapan dengan sistem untuk

menginisiasi atau memicu kegiatan sistem.

Misalnya seorang kasir yang melakukan scan

barang-barang yang dibeli pelanggan.

c. External Server Actor

External Server Actor adalah aktor yang

merespon permintaan dari use case. Misalnya

seorang biro kredit mengotorisasi pengisian

dengan kartu kredit.

d. External Receiver Actor

External Receiver Actor adalah aktor yang

bukan pelaku utama tapi menerima nilai yang

terukur dari use case.

Gambar 2.9 Actor

(Sumber: Whitten dan Bentley, 2007:247)

3. Boundary

Boundary digunakan untuk menunjukkan ruang

lingkup sistem. Gambar 2.10 merupakan gambar

boundary dalam use case diagram.

33

Gambar 2.10 Boundary

2.1.6.2.1 Association

Whitten dan Bentley (2007:248) mengemukakan

bahwa association adalah interaksi antara seorang actor

dengan sebuah use case. Association dengan dengan panah

(1) yang menyentuh use case mengindikasikan bahwa

actor tersebut melakukan use case itu. Sedangkan

association tanpa panah (2) mengindikasikan sebuah

interaksi use case ke actor yang menerima hasil dari use

case tersebut. Gambar 2.11 merupakan contoh

association.

Gambar 2.11 Contoh Association

(Sumber : Whitten dan Bentley, 2007:248)

2.1.6.2.2 Extends

Whitten dan Bentley (2007:248) mengemukakan

bahwa extends bertujuan untuk meyederhanakan use case

34

kompleks yang terdiri dari beberapa langkah agar lebih

mudah dipahami. Gambar 2.12 merupakan contoh extends.

Gambar 2.12 Contoh Extends

(Sumber : Whitten dan Bentley, 2007:249)

2.1.6.2.3 Uses atau Include

Whitten dan Bentley (2007:249) mengemukakan

bahwa uses atau includes digunakan ketika terdapat dua

atau lebih use case yang melakukan hal yang sama. Oleh

karena itu sebaiknya dipisahkan menjadi use case berbeda

yang disebut abstract use case untuk mengurangi

redudansi pada use case. Hubungan antara abstract use

case dengan use case disebut relasi uses atau includes.

Gambar 2.13 merupakan contoh uses atau includes.

35

Gambar 2.13 Contoh Uses atau Includes

(Sumber : Whitten dan Bentley, 2007:249)

2.1.6.2.4 Depends on

Whitten dan Bentley (2007:249) mengemukakan

bahwa depends on digunakan ketika suatu use case

bergantung pada use case lainnya, yang berarti suatu use

case tidak dapat dilakukan sebelum use case lain

dilakukan. Gambar 2.14 merupakan contoh depends on.

Gambar 2.14 Contoh Depends On

(Sumber : Whitten dan Bentley, 2007:250)

2.1.6.2.5 Inheritance

Whitten dan Bentley (2007:250) mengemukakan

bahwa inheritance digunakan ketika terdapat dua atau

lebih actor yang melakukan use case yang sama. Oleh

karena itu diperlukan abstract actor untuk mengurangi

redudansi komunikasi dengan sistem. Gambar 2.15

merupakan contoh inheritance.

36

Gambar 2.15 Contoh Inheritance

(Sumber : Whitten dan Bentley, 2007:250)

2.1.6.3 Sequence Diagram

Whitten dan Bentley (2007:382), sequence diagram adalah

diagram yang menggambarkan bagaimana suatu objek berinteraksi

dengan yang lain melalui pesan dalam use case atau operasi.

Sequence diagram menggambarkan bagaimana pesan terkirim dan

diterima antara objek-objek secara sekuensial.

37

Gambar 2.16 Contoh Sequence Diagram

Berikut notasi-notasi yang digunakan dalam sequence

diagram :

a. Actor : Merupakan aktor yang terlibat dalam use case.

Gambar 2.17 Actor

b. System : Sebuah persegi panjang yang disebut “Black

Box” yang didalamnya terdapat nama objek tersebut.

Gambar 2.18 System

38

c. Lifeline : Garis putus-putus yang mengindikasikan

kehidupan sebuah sequence.

Gambar 2.19 Lifeline

d. Activation bar : Digambarkan dengan sebuah persegi

panjang pada lifeline yang digunakan untuk

menunjukan lamanya objek yang digunakan.

Gambar 2.20 Activation Bar

e. Input message : Panah horizontal dari aktor ke sistem

yang melambangkan pesan yang masuk ke sistem.

Gambar 2.21 Input Message

f. Output message : Panah dengan garis putus-putus dari

sistem ke aktor yang melambangkan pesan keluar dari

sistem.

Gambar 2.22 Output Message

g. Self-call: Suatu objek pada sequence diagram yang

mengirimkan pesan atau berinteraksi ke objek itu

sendiri.

Gambar 2.23 Self-call

39

2.1.6.4 Use Case Narrative

Menurut Whitten dan Bentley (2007:246), use case

narrative adalah deskripsi tekstual dari kejadian bisnis dan

menunjukkan pengguna berinteraksi dengan sistem untuk

menyelesaikan tugas. Berikut penjelasan mengenai bagian-bagian

use case narrative :

a. Use case name : Merepresentasikan tujuan yang akan

dicapai oleh use case dan dimulai dengan kata kerja.

b. Actors : Para pemangku kepentingan yang memperoleh

manfaat dari eksekusi use case dengan menerima suatu

nilai yang terukur.

c. Descriptions : Ringkasan singkat mengenai tujuan use

case dan aktivitasnya.

d. Preconditions : Batasan yang harus dipenuhi sebelum

use case dapat dijalankan.

e. Postconditions : Kejadian setelah use case di eksekusi.

f. Normal Flow : Urutan normal aktifitas yang dilakukan

aktor dan sistem.

g. Alternate Flow : Mencatat pengecualian atau variasi

yang terjadi diluar normal flow.

2.1.6.5 Activity Diagram

Menurut Whitten dan Bentley (2007:390), sebuah activity

diagram menggambarkan alur proses bisnis, proses-proses dalam

use case, dan objek. Gambar 2.24 merupakan contoh dari activity

diagram.

40

Gambar 2.24 Contoh Activity Diagram

Berikut ini merupakan beberapa notasi dalam activity

diagram :

a. Initial Node : Lingkaran hitam yang menggambarkan

dimulainya sebuah proses.

Gambar 2.25 Initial Node

b. Action : Rounded rectangle yang menggambarkan

langkah-langkah dalam proses.

Gambar 2.26 Action

c. Flow : Panah yang terdapat dalam diagram yang

menggambarkan arah proses.

41

Gambar 2.27 Flow

d. Decision : Berbentuk wajik dengan 1 panah masuk dan 2

atau lebih panah keluar. Panah yang keluar merupakan

pilihan dalam aliran aktivitas.

Gambar 2.28 Decision

e. Merge : Berbentuk wajik dengan 2 atau lebih panah

masuk dan 1 panah keluar yang menunjukkan

penggabungan dari alur aktifitas yang terpisahkan.

Gambar 2.29 Merge

f. Fork : Garis hitam dengan 1 panah masuk dan 2 atau

lebih panah keluar yang menandakan adanya 2 atau lebih

aksi yang berlangsung secara besamaan.

Gambar 2.30 Fork

42

g. Join : Garis hitam dengan 2 atau lebih panah masuk dan

1 panah keluar yang menandakan akhir dari proses

paralel.

Gambar 2.31 Join

h. Activity final: Lingkaran hitam yang berada di dalam

sebuah lingkaran yang menggambarkan akhir dari

proses.

Gambar 2.32 Activity Final

2.1.7 Database

2.1.7.1 Pengertian Database

Dalam perkembangan zaman, database merupakan salah

satu komponen penting dalam sebuah sistem. Database dibuat

untuk memudahkan manusia dalam menyediakan informasi dan

pengolahan data.

Connolly & Begg (2005:15) mengemukakan bahwa

database adalah suatu kumpulan dari data yang saling terkait secara

logis dan merupakan deskripsi dari data, yang dirancang agar dapat

memenuhi kebutuhan dari organisasi.

Dari pendapat di atas dapat disimpulkan bahwa database

adalah kumpulan data yang saling terkait secara logis dan

43

bermanfaat untuk melayani kebutuhan perusahaan maupun

penggunanya.

2.1.7.2 Database Management System (DBMS)

Menurut Connoly & Begg (2005:15), DBMS adalah sebuah

perangkat lunak yang memberikan kebebasan pada pengguna untuk

mendefinisikan, membuat, memelihara, dan mengontrol akses ke

database.

Berikut keuntungan menggunakan DBMS menurut Connoly

& Begg (2005:26) adalah sebagai berikut :

1. Mengontrol pengulangan data.

2. Konsistensi data.

3. Lebih banyak informasi dari jumlah data yang sama.

4. Membagi data.

5. Meningkatkan integritas data.

6. Meningkatkan keamanan.

7. Penegasan standar.

8. Keseimbangan dari persyaratan yang bertentangan.

9. Meningkatkan kemudahan akses dan respon data.

10. Meningkatkan pemeliharaan melalui data yang mandiri.

11. Meningkatkan ketepatan.

12. Meningkatkan backup dan recovery services.

Berikut kerugian menggunakan DBMS menurut Connoly &

Begg (2005:26) adalah sebagai berikut :

1. Harga dari DBMS itu sendiri.

2. Performance.

3. Berdampak lebih besar saat terjadi kegagalan.

4. Kompleksitas.

5. Ukuran.

6. Tambahan harga pada hardware.

44

2.1.8 Web Services

Menurut Connoly (2005:1004) dalam beberapa tahun terakhir, web

services telah ditetapkan sebagai paradigma penting dalam membangun

aplikasi dan proses bisnis untuk aplikasi heterogen yang terintegrasi. Web

services merupakan standar terbuka dan fokus pada komunikasi dan

kolaborasi diantara manusia dan aplikasi.

Tidak seperti aplikasi berbasis web, web services tidak mempunyai

user interface dan tidak ditujukan pada browser. Web services terdiri dari

komponen perangkat lunak yang didesain untuk aplikasi lain, seperti

aplikasi client, aplikasi berbasis web, atau web services lainnya.

Kalin, M (2009:1) mengemukakan bahwa web service dibagi

menjadi dua kelompok, yaitu SOAP dan REST.

a. SOAP (Simple Object Access Protocol)

SOAP (Simple Object Access Protocol) adalah protocol

platform dalam bentuk XML (Extensible Markup Language) untuk

bertukar pesan. Arsitektur SOAP yaitu service client melakukan

request ke server melalui SOAP libraries lalu SOAP libraries pada

server akan memberikan response.

Gambar 2.33 Arsitektur SOAP

(Sumber: Kalin, M., 2009, p2)

Pesan SOAP adalah pengiriman satu arah dan pengirim ke

penerima, oleh karena itu pola pertukaran pesan untuk SOAP adalah

satu arah.

45

Meskipun pesan SOAP ditujukan pada penerima utama

(receiver), arsitektur memungkinkan perantara SOAP (intermediary)

sebagai penerima nonterminal dan perantara tersebut dapat

memeriksa dan memanipulasi pesan SOAP sebelum masuk kepada

penerima utama.

Gambar 2.34 Sender, Intermediary, dan Receiver

(Sumber: Kalin, M., 2009, p83)

b. RESTful (Representational State Transfer)

Representational State Transfer (REST) berbeda dengan

SOAP, SOAP adalah protokol pesan sedangkan REST adalah gaya

arsitektur untuk sistem hypermedia terdistribusi dimana sistem teks,

grafis, audio, dan media lainnya yang disimpan diseluruh jaringan

dan saling berhubungan melalui hyperlink.

Sistem REST menggunakan sistem Create, Read, Update,

Delete (CRUD). Namun istilah yang digunakan dalam REST

bukanlah CRUD, yang digunakan adalah Get, Post, Put, dan Delete.

Get untuk Read, Post untuk Create, Put untuk Update, dan Delete.

Sistem REST digunakan ketika client melakukan request kepada

server dan server melakukan response permintaan dari client.

Gambar 2.35 Sistem RESTful

46

(Sumber: Kalin, M., 2009, P123)

47

2.2 Teori Khusus

Di bawah ini adalah teori-teori khusus yang digunakan dalam pembuatan

aplikasi E Points :

2.2.1 MySQL

Welling, Luke & Thomson, L. (2009:3) mengemukakan bahwa

MySQL adalah Relational Database Management System (RDBMS) yang

sangat cepat dan kuat. MySQL dapat menyimpan, mencari, mengurutkan

dan mengambil data secara efisien.

MySQL adalah RDBMS yang multiuser dan multithreaded server.

MySQL menggunakan Structured Query Language (SQL), standar query

basis data. MySQL merupakan database open source di dunia paling

populer dan telah memenangkan Linux Journal Reader’s Choice Award.

Beberapa kelebihan yang dimiliki MySQL menurut Welling, Luke

& Thomson, L. (2009:7):

1. Performance

MySQL tidak diragukan lagi kecepatannya. Pada tahun 2002,

eWeek mengemukakan bahwa MySQL merupakan database

pendukung aplikasi web terbaik selain Oracle.

2. Biaya rendah

MySQL tersedia secara gratis di bawah lisensi open source atau

harganya murah di bawah lisensi komersial.

3. Mudah digunakan

Banyak database modern menggunakan SQL. Apabila telah

menggunakan RDBMS lain maka tidak akan menemukan

masalah dalam beradaptasi dengan MySQL. MySQL selalu

lebih mudah digunakan dibanding produk sejenis lainnya.

4. Portability

MySQL dapat digunakan diberbagai macam sistem UNIX yang

sama baiknya seperti Microsoft Windows.

5. Source Code

48

Seperti halnya PHP, anda dapat mengubah source code untuk

MySQL.

6. Ketersediaan dukungan

Dukungan, pelatihan, konsultasi, dan sertifikasi tersedia dari

MySQL AB (www.mysql.com).

2.2.2 Eclipse

Suprianto, D. & Agustina R. (2012:14) mengemukakan bahwa

Eclipse adalah IDE (Integrated Development Environtment) software yang

digunakan oleh banyak bahasa pemrograman seperti Java, Ada, C, C++,

COBOL, Phyton, dan lain-lain. Di dalam IDE Eclipse terdapat layanan

system extensible (semacam sistem penambahan plugins), editor, debugger,

control tools, pengaturan direktori, dan lain-lain. IDE Eclipse merupakan

software yang dikondisikan agar memudahkan pengembang dalam

membangun aplikasi.

2.2.3 Android

Menurut Suprianto, D. & Agustina R. (2012:9), Android adalah

sistem operasi bergerak (mobile operating system) yang mengadopsi sistem

operasi Linux, namun telah dimodifikasi. Android diambil alih oleh Google

pada tahun 2005 dari Android, Inc sebagai bagian strategi untuk mengisi

pasar sistem operasi bergerak. Google mengambil alih seluruh hasil kerja

Android termasuk tim yang mengembangkan Android.

Google menginginkan agar Android bersifat terbuka dan gratis, oleh

karena itu hampir setiap kode program Android diluncurkan berdasarkan

lisensi open-source Apache yang berarti bahwa semua orang yang ingin

menggunakan Android dapat men-download penuh source code-nya.

Salah satu faktor penentu suksesnya platform smartphone adalah

karena banyaknya aplikasi yang tersedia. Oleh karenanya pada Agustus

2008 Google mengenalkan Android Market, yaitu suatu toko aplikasi

online untuk perangkat Android dan mulai siap menyediakan aplikasi bagi

pengguna pada Oktober 2008. Dengan aplikasi market (pre-installed pada

perangkat Android) pengguna dengan mudah men-download aplikasi dari

49

pihak ketiga secara langsung melalui perangkat mereka. Android Market

menyediakan aplikasi berbayar maupun gratis.

2.2.4 Android Development Tools (ADT)

Menurut Suprianto, D. & Agustina R. (2012:14), plugins ADT

berguna sebagai pengenal Android di dalam IDE Eclipse. Dengan ADT

plugins kita bisa membuat project aplikasi Android baru, mengakses tools

emulator dan perangkat Android, melakukan kompilasi dan men-debug

aplikasi, mengekspor aplikasi ke Android Package (APK), membuat

sertifikasi digital terhadap kode program APK.

2.2.5 Android SDK

Suprianto, D. & Agustina R. (2012:14) mengemukakan Android

SDK adalah mesin utama untuk mengembangkan aplikasi Android.

Android SDK dibagi menjadi dua kategori, yaitu :

1. SDK Tools

SDK Tools digunakan untuk membangun aplikasi tanpa

memperhatikan platform Android yang menjadi sasaran

pengembangan software.

2. Platform Tools

Platform Tools ini digunakan untuk membangun aplikasi dengan

platform tertentu dan telah mendukung fitur terbaru dari platform

tersebut.

a. Dalvik Debug Monitor Server (DDMS)

Dalvik Debug Monitor Server berguna untuk mengontrol Dalvik

Virtual Machine pada proses debugging.

b. Android Emulator

Android Emulator adalah emulator yang dapat digunakan untuk

mendesain, debug, dan melakukan test pada aplikasi yang dibuat

pada Android runtime environment.

c. Hierarchy Viewer

Hierarchy Viewer berguna untuk mengoptimalisasikan interface

dari aplikasi Android yang dibuat.

50

d. Layoutopt

Layoutopt berguna untuk membantu menganalisa layout aplikasi

secara keseluruhan agar dapat dioptimasi sehingga meningkatkan

efisiensi yang berjalan.

e. MkSDcard

MkSDcard berguna untuk membantu membuat sebuah disk image

seperti SD Card yang digunakan pada Android emulator.

f. Monkey

Monkey merupakan fitur yang berjalan pada emulator untuk

mengenali sentuhan atau klik yang diterima. Monkey juga dapat

digunakan untuk stress-test terhadap aplikasi yang sedang dibuat.

g. Monkeyrunner

Monkeyrunner merupakan penyedia API untuk mengontrol

Android dan menulis kode program yang berasal dari luar kode

Android.

h. ProGuard

ProGuard berfungsi untuk mengoptimalkan kode dengan

menghapus kode yang tidak digunakan dan mengganti nama

class, fields, maupun methods dengan nama yang jelas.

i. SQLite3

SQLite3 berguna untuk mengakses SQLite data files yang

digunakan oleh aplikasi Android.

j. Traceview

Traceview menyediakan tampilan grafis dari log yang disimpan

oleh aplikasi.

k. Zipalign

Zipalign berguna untuk mengoptimalkan file.apk dengan

memastikan bahwa file sebelum dan sesudah dikompres sama.

2.2.6 Java

Gosling et al. (2005:1) mengemukakan bahwa Java adalah bahasa

yang umum, konkuren, berbasis kelas, dan bahasa yang berorientasi objek.

Bahasa ini dirancang sederhana agar programmer dapat mencapai

kefasihan dalam bahasa. Bahasa pemrograman Java adalah bahasa tingkat

51

tinggi, dikompilasi ke dalam bytecode dan dapat dijalankan di Java Virtual

Machine (JVM).

Karena fungsionalitasnya yang memungkinkan aplikasi Java

mampu berjalan di beberapa platform sistem operasi yang berbeda, Java

dikenal pula dengan slogannya, “Tulis sekali, jalankan di mana pun”. Saat

ini Java merupakan bahasa pemrograman yang paling populer digunakan,

dan secara luas dimanfaatkan dalam pengembangan berbagai jenis

perangkat lunak aplikasi maupun aplikasi berbasis web.

2.2.7 JavaScript Object Notation (JSON)

JavaScript Object Notation (JSON) menurut sumber dari website

json (http://www.json.org/json-id.html) merupakan format pertukaran data

yang ringan, mudah dibaca dan ditulis serta mudah diterjemahkan dan

dihasilkan oleh komputer. JSON dibuat berdasarkan bagian dari bahasa

pemrograman JavaScript, Standar ECMA-262 Edisi ke 3 – Desember 1999.

JSON tidak bergantung pada bahasa pemrograman apapun karena

menggunakan gaya bahasa yang umum seperti C, C++, C#, JavaScript,

Perl, Phyton dan lain-lain. Oleh karena sifat-sifat tersebut, menjadikan

JSON ideal sebagai bahasa pertukaran-data.

JSON menggunakan bentuk sebagai berikut :

1. Object merupakan sepasang nama/nilai yang tidak terurutkan.

Object dimulai dengan “{“ (kurung kurawal buka) dan diakhiri

dengan “}” (kurung kurawal tutup). Setiap nama diikuti dengan “:”

(titik dua) dan setiap pasangan nama atau nilai dipisahkan oleh “,”

(koma).

Gambar 2.36 Object pada JSON

(Sumber : http://www.json.org/json-id.html)

52

2. Array merupakan kumpulan nilai yang terurutkan. Array dimulai

dengan “[“ (kurung kotak buka) dan diakhiri dengan “]” (kurung

kotak tutup). Setiap nilai dipisahkan oleh “,” (koma).

Gambar 2.37 Array pada JSON

(Sumber : http://www.json.org/json-id.html)

3. Value dapat berupa salah string, angka, true, false, null, objek, atau

juga dapat berupa sebuah array.

Gambar 2.38 Value pada JSON

(Sumber : http://www.json.org/json-id.html)

4. String terdiri dari kumpulan nol atau lebih karakter Unicode yang

dibungkus dengan tanda kutip ganda. Di dalam string dapat

menggunakan backslash escape “\” untuk membentuk karakter

khusus.

53

Gambar 2.39 String pada JSON

(Sumber : http://www.json.org/json-id.html)

5. Number yang ada di JSON mirip dengan angka yang di C dan Java.

JSON tidak menggunakan format oktal dan heksadesimal.

Gambar 2.40 Number pada JSON

(Sumber : http://www.json.org/json-id.html)

2.2.8 PHP Hypertext Preprocessor (PHP)

Menurut Weilling, Luke & Thomson, L. (2009:2), PHP adalah

bahasa server-side scripting yang dirancang khusus untuk web. Kode PHP

akan diinterpretasikan di web server dan menghasilkan HTML atau output

lainnya yang dapat dilihat oleh penunjung. PHP merupakan produk open

source. Anda dapat menggunakan, mengubah, dan mendistribusikan

semuanya tanpa biaya.

54

Beberapa pesaing utama PHP adalah Perl, Microsoft ASP.NET,

Ruby, JavaServer Pages (JSP), dan ColdFusion. Dibandingkan dengan

produk-produk tersebut, PHP memiliki kelebihan, diantaranya :

1. Performa yang tinggi

PHP sangat efisien. Hanya dengan menggunakan satu server

tunggal yang tidak mahal, Anda akan dapat menghasilkan jutaan

keuntungan setiap harinya.

2. Integrasi database

PHP memiliki koneksi yang tersedia untuk banyak sistem

database. Selain MySQL, anda dapat secara langsung terhubung

ke PostgreSQL, Oracle, dbm, FilePro, DB2, Hyperware, dan

lain-lain.

3. Built-in Libraries

Karena PHP didesain untuk web, PHP memiliki banyak fungsi

built-in untuk melakukan banyak tugas, misalnya terhubung

dengan web service, parse XML, mengirim email, bekerja

dengan cookies, menghasilkan dokumen PDF dan lain-lain

dapat dilakukan hanya dengan beberapa baris kode.

4. Biaya rendah

PHP merupakan perangkat lunak gratis yang dapat secara

langsung di-download melalui internet.

5. Mudah dipelajari dan mudah digunakan

Syntax PHP didasarkan pada bahasa pemrograman lain,

terutama C dan Perl. Bila kita sudah mengenal bahasa ini,

tentunya mempelajari PHP sangat mudah dan produktif.

6. Mendukung orientasi objek

PHP pada versi terbaru yang telah didesain secara baik memiliki

fitur-fitur orientasi objek.

7. Portabilitas

PHP dapat digunakan pada sistem operasi yang berbeda,

programmer dapat menuliskan kode PHP pada sistem operasi

seperti Linux, OS X, dan lain-lain. Kode PHP yang ditulis

55

dengan baik akan bekerja tanpa modifikasi dari sistem berbeda

dalam menjalankan PHP.

8. Fleksibel dalam pendekatan pembangunan

PHP memungkinkan programmer untuk menerapkan aplikasi

besar dengan menggunakan framework berdasarkan design

pattern, seperti Model-View-Controller (MVC).

9. Ketersediaan source code

Source Code pada PHP dapat diakses. Jika programmer ingin

memodifikasi sesuatu atau menambahkan bahasa, PHP

mengizinkan hal tersebut untuk dilakukan.

2.2.9 CodeIgnitier

Menurut Griffiths (2010), CodeIgniter merupakan framework open

source aplikasi web untuk bahasa PHP. Berbeda dengan framework PHP

lain, dokumentasi CodeIgnitier sangat lengkap membahas semua aspek

framework. Di sisi pemrograman, CodeIgnitier kompatibel dengan PHP4

dan PHP5, sehingga akan berjalan dengan baik di sebagian besar web host.

CodeIgnitier menggunakan pola desain Model View Controller

(MVC), yang merupakan cara untuk mengatur aplikasi menjadi tiga bagian

yang berbeda, yaitu :

1. Model : The database abstraction layer

2. View : The front end template files

3. Controllers : The business logic pada sebuah aplikasi

2.3 State of The Art

a. New Innovation: Mobile Loyalty in Higher Education

Warden, S.C., Loffler C., & Chichava, H. (2010) mengemukakan

dalam of the 5th International LAMS Conference 2010 bahwa ada sistem

mobile loyalty yang memungkinkan pelanggan memiliki kartu loyalty yang

tersimpan secara digital. Nama aplikasi tersebut adalah mBonus. Aplikasi

yang bernama mBonus dikembangkan di Jerman dengan tujuan untuk

56

mengurangi atau memberantas kartu loyalty yang pelanggan bawa dalam

dompet mereka. Konsep ini digambarkan pada Gambar 2.41.

Gambar 2.41 mBonus, Kartu Loyalty dalam Telepon Genggam

Arsitektur dari aplikasi mBonus digambarkan pada Gambar 2.42, yang

terdiri dari server terpusat (dikembangkan oleh penulis), University (Learning

Management System) LMS, Clickatell Gateway, dan antarmuka untuk aktor

yang berbeda. Application server pada mBonus menggunakan CakePHP

sebagai framework yang mempunyai struktur pola desain Model-View-

Controller. Pendekatan pola desain ini lebih mudah untuk pengembangan dan

pemeliharaan di masa datang. Website dibangun dengan PHP (Hypertext

Preprocessor), HTML standar (Hypertext Markup Language), CSS

(Cascading Style Sheets), dan menggunakan database MySQL.

Gambar 2.42 Arsitektur Aplikasi mBonus

(Sumber: Warden, S.C., Loffler C., & Chichava, H., 2010, p108)

57

b. Managing Customer Relationships Through Mobile CRM in Organized

Retail Outlet

Verma D. (2013) mengemukakan dalam International Journal of

Engineering Trends and Technology (IJETT) bahwa konsep loyalitas berbasis

aplikasi mobile memberi banyak keuntungan bagi pelanggan maupun

perusahaan (Merchant). Selain sebagai strategi pemasaran, aplikasi tersebut

memungkinkan karyawan untuk melakukan remote menggunakan perangkat

mobile, seperti smartphone dan tablet untuk mengakses, update, dan

berinteraksi dengan data pelangan setiap saat dan dimanapun mereka berada.

Fitur lain yang diberikan aplikasi tersebut yaitu manajemen loyalitas berbasis

mobile, self-rewards point status, media iklan dan promosi, konfirmasi

pembayaran melalui SMS, dan mobile coupon.

Gambar 2.43 Aplikasi Mobile pada Retail Outlet

(Sumber: Verma D., 2013, p1699)

Gambar 2.43 merupakan aplikasi mobile yang diadopsi oleh beberapa

retail outlet, seperti Domino Pizza, Café Coffee Day, Pizza Hut, dan lain-lain.

Aplikasi ini menggantikan kartu loyalitas fisik dan menyediakan layanan

mobile pribadi. Adapun fitur-fitur yang diberikan yaitu :

1. Pengguna dapat melihat karakteristik produk, harga produk, informasi

diskon dan lokasi toko secara langsung melalui aplikasi mobile.

2. Konfirmasi pembayaran dapat dikirim langsung ke perangkat mobile

untuk membantu pemegang kartu kredit atau debit.

58

3. Pengguna dapat melihat iklan dan informasi promosi melalui aplikasi

mobile.

4. Aplikasi ini dapat digunakan untuk mendapat, mengelola, dan me-

redeem kupon dan diskon.

c. Loyalty Redemption

Jones, D. (2011) mengemukakan dalam United States Patent

Application Publication bahwa sistem loyalty merupakan hal penting bagi

pelanggan untuk mengelola kartu dan hadiah. Berikut ini merupakan diagram

yang mengilustrasikan sistem loyalty. Sistem ini terdiri dari sistem komputer,

database transaksi dan jaringan. Pelanggan dapat mengakses akun melalui

Mobile Device, Merchant server, User Computer. Mobile Device, Merchant

Server, dan User Computer dapat dijalankan pada sistem komputer melalui

jaringan. Sistem komputer dapat diakses dari lokasi geografis yang berbeda,

seperti area yang berbeda dalam kota yang sama atau kota yang berbeda.

Sedangkan database transaksi digunakan untuk menyimpan data pelanggan,

transaksi, dan akumulasi poin loyalty.

Gambar 2.44 Sistem loyalty

(Sumber: Jones, D., 2011, 2)

59

Gambar 2.45 Flow Chart Proses Redeem Loyalty

(Sumber: Jones, D., 2011, 3)

Gambar 2.45 merupakan flow chart proses yang dilakukan pengguna

dalam menggunakan sistem loyalty. Pertama, pelanggan melakukan transaksi

pembelanjaan untuk mendapatkan poin loyalty. Poin tersebut disimpan dalam

akun pelangan. Customer dapat masuk ke akun untuk memilih dan melakukan

redeem hadiah dari Merchant. Customer juga dapat menyesuaikan hadiah

yang ingin di redeem dengan hadiah yang diberikan dengan cara meng-upload

gambar. Bila Customer berhasil melakukan redeem, maka sistem akan

menghitung sisa poin loyalty Customer dan meng-update ke dalam sistem.