bab 2 landasan teori 2.1 object oriented...

33
6 BAB 2 LANDASAN TEORI 2.1 Object Oriented Programming Object Oriented Programming adalah paradigma pemrograman yang memandang perangkat lunak sebagai kumpulan objek yang saling berinteraksi di dalam suatu sistem. (Azis, 2005, p. 2) Beberapa objek berinteraksi dengan saling memberikan informasi satu terhadap yang lainnya. Masing-masing objek harus berisikan informasi mengenai dirinya sendiri (encapsulation) dan objek yang dapat dikaitkan (inheritance). (Febrian, 2004) Dalam OOP, Class merupakan sekumpulan objek yang memiliki atribut- atribut dan method. (Lethbridge & Laganiere, 2002, pp. 29-31) Class merupakan deskripsi dari satu atau lebih objek yang memiliki kesamaan atribut, layanan, metode, hubungan, dan semantik, termasuk deskripsi cara membuat objek baru dalam class. Ada juga yang disebut dengan super class, sebuah class induk yang nantinya mempunyai class-class yang terdiri dari class dan subclass. (Lethbridge & Laganiere, 2002, p. 50) Objek dalam OOP adalah sebuah benda atau unit atau sifat kerja yang memiliki atribut-atribut. (Lethbridge & Laganiere, 2002, p. 30) Objek adalah sebuah abstraksi dari sesuatu pada domain masalah, menggambarkan kemampuan untuk menyimpan informasi mengenai hal tersebut, berinteraksi dengan hal tersebut atau keduanya. Abtraksi prosedural dalam OOP disebut dengan operasi, yang menspesifikasi tipe dari perilaku dan terdiri dari fungsi-fungsi. (Lethbridge & Laganiere, 2002, p. 28)

Upload: buitu

Post on 29-Mar-2019

242 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

6

BAB 2

LANDASAN TEORI

2.1 Object Oriented Programming

Object Oriented Programming adalah paradigma pemrograman yang

memandang perangkat lunak sebagai kumpulan objek yang saling berinteraksi di

dalam suatu sistem. (Azis, 2005, p. 2) Beberapa objek berinteraksi dengan saling

memberikan informasi satu terhadap yang lainnya. Masing-masing objek harus

berisikan informasi mengenai dirinya sendiri (encapsulation) dan objek yang

dapat dikaitkan (inheritance). (Febrian, 2004)

Dalam OOP, Class merupakan sekumpulan objek yang memiliki atribut-

atribut dan method. (Lethbridge & Laganiere, 2002, pp. 29-31) Class merupakan

deskripsi dari satu atau lebih objek yang memiliki kesamaan atribut, layanan,

metode, hubungan, dan semantik, termasuk deskripsi cara membuat objek baru

dalam class. Ada juga yang disebut dengan super class, sebuah class induk yang

nantinya mempunyai class-class yang terdiri dari class dan subclass.

(Lethbridge & Laganiere, 2002, p. 50)

Objek dalam OOP adalah sebuah benda atau unit atau sifat kerja yang

memiliki atribut-atribut. (Lethbridge & Laganiere, 2002, p. 30) Objek adalah

sebuah abstraksi dari sesuatu pada domain masalah, menggambarkan

kemampuan untuk menyimpan informasi mengenai hal tersebut, berinteraksi

dengan hal tersebut atau keduanya.

Abtraksi prosedural dalam OOP disebut dengan operasi, yang menspesifikasi

tipe dari perilaku dan terdiri dari fungsi-fungsi. (Lethbridge & Laganiere, 2002,

p. 28)

Page 2: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

7

Istilah lain terdapat encapsulation/pengkapsulan, yang merupakan pembatasan

ruang lingkup program terhadap data yang diproses supaya data terlindungi oleh

prosedur atau objek lain, kecuali prosedur yang berada di objek itu sendiri.

(Lethbridge & Laganiere, 2002, p. 50)

Polymorphism adalah konsep yang menyatakan bahwa sesuatu yang sama

dapat mempunyai bentuk dan perilaku yang berbeda, bahwa operasi yang sama

mungkin memiliki perbedaan dalam class yang berbeda. (Lethbridge &

Laganiere, 2002, p. 36)

Pada OOP, terdapat juga yang disebut dengan inheritance (pewarisan), yaitu

kepemilikan yang bersifat implicit dari fitur subclass yang didefinisikan dalam

superclass. Fitur tersebut mencakup variables dan method. (Lethbridge &

Laganiere, 2002, p. 37)

2.2 Waterfall Model

Waterfall Model merupakan dasar dari aktivitas proses yang terdiri dari

spesifikasi, pengembangan, validasi, evolusi dan semua direpresentasikan dalam

tahapan proses yang terpisah seperti spesifikasi kebutuhan, perancangan

perangkat lunak, implementasi, pengujian, dan sebagainya. (Sommerville, 2011,

p. 29)

Model dari software development process ini adalah model yang pertama kali

dipublikasikan yang diperoleh dari system engineering process yang umum

(Royce, 1970). Karena satu tahap ke tahap lainnya mengalir ke bawah, model ini

disebut sebagai Waterfall Model. Waterfall Model ini adalah contoh dari sebuah

proses yang bersifat plan-driven - secara prinsip, semua aktivitas proses harus

Page 3: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

8

direncanakan dan diproses terlebih dahulu sebelum mulai mengerjakannya.

(Sommerville, 2011, p. 30)

Tahapan dari Waterfall Model merefleksikan pokok-pokok dari aktivitas

pengembangan: (Sommerville, 2011, p. 31)

1. Requirements Analysis and Definition

Layanan yang diberikan oleh sistem, batasan sistem, dan tujuan

ditetapkan setelah melakukan konsultasi dengan pengguna sistem. Semua

didefinisikan secara rinci dan dibuat sebagai spesifikasi dari sistem.

2. System and Software Design

Proses perancangan sistem menyediakan kebutuhan hardware atau

software dengan menyediakan arsitektur dari keseluruhan sistem.

Perancangan sistem melibatkan pengidentifikasian dan penjelasan dari

abstraksi sistem dan hubungannya.

3. Implementation and Unit Testing

Pada tahap ini, perancangan sistem direalisasikan menjadi sebuah

program atau unit program. Pengujian unit melibatkan verifikasi untuk

Gambar 2.1 The Waterfall Model

(Sommerville, 2011, p. 30)

Page 4: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

9

memastikan apakah setiap unit memenuhi spesifikasi sistem.

4. Integration and System Testing

Setiap unit program dan program-program yang sudah ada diintegrasikan

dan diuji sebagai satu keutuhan sistem untuk memastikan apakah

kebutuhan sistem sudah terpenuhi. Setelah melakukan pengujian, sistem

baru disebarkan ke pengguna.

5. Operation and Maintenance

Dilakukan instalasi terhadap sistem dan digunakan dalam prakteknya.

Maintenance melibatkan koreksi terhadap error yang tidak ditemukan

pada tahap sebelumnya, memperbaiki implementasi dari unit sistem dan

meningkatkan layanan yang diberikan oleh sistem sebagai kebutuhan baru

yang ditemukan.

Waterfall model digunakan hanya jika semua kebutuhan sudah

dimengerti dan tidak berubah secara radikal pada tahap pengembangan.

(Sommerville, 2011, p. 32)

2.3 Unified Modeling Language (UML)

UML adalah bahasa standar pemodelan untuk perangkat lunak dan

pengembangan sistem. (Miles & Hamilton, 2006, p. 1)

Merancang sebuah desain untuk sistem yang besar merupakan hal yang sulit.

Dari aplikasi desktop yang sederhana sampai sistem multi-tier dapat dibangun

dari ratusan, bahkan ribuan, komponen perangkat lunak dan perangkat keras.

Untuk melacak komponen apa yang dibutuhkan, apa yang dikerjakan,

bagaimana mencapai kebutuhan pelanggan, dan bagaimana menjelaskan sistem

Page 5: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

10

ke tim kerja lainnya dibutuhkan sebuah pemodelan, ini adalah dimana UML

dibutuhkan.

Dalam merancang sebuah sistem, mengatur kompleksitas adalah salah satu

alasan utama mengapa harus membuat model. Pemodelan membantu para

pengembang untuk dapat fokus, dapat mendokumentasikan, menangkap

keseluruhan sistem dan mengkomunikasikan aspek-aspek penting dalam sistem

yang sedang dirancang.

UML tepat digunakan untuk memodelkan sistem dari mulai memodelkan

informasi sistem untuk perusahaan hingga aplikasi web, bahkan untuk sistem

yang rumit sekalipun. UML menggunakan class dan operation dalam konsep

dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa-

bahasa berorientasi objek seperti C++, Java, C# atau VB.NET. Walaupun

demikian, UML tetap dapat digunakan untuk perancangan aplikasi prosedural

dalam VB atau C. (Dharwiyanti & Wahono, 2003)

UML mendefinisikan diagram-diagram, antara lain:

• Use case diagram

• Class diagram

• Sequence diagram

2.3.1 Use Case Diagram

Use Case diagram menunjukkan bagaimana sistem yang sedang

dibangun digunakan untuk memenuhi kebutuhan pengguna. Sebuah use

case menampilkan sebuah fungsionalitas yang diberikan oleh sistem.

(Miles & Hamilton, 2006, p. 20) Yang ditekankan pada use case adalah

“apa” yang diperbuat sistem, dan bukan “bagaimana”. (Dharwiyanti &

Page 6: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

11

Wahono, 2003)

Diluar sistem terdapat aktor yang digambarkan dengan istilah

“stick man” atau sebuah box. Seperti yang terdapat pada Gambar 2.1,

dimana terdapat dua pilihan untuk menggambarkan seorang aktor.

Selain aktor, terdapat sebuah use case, communication line, dan

system boundaries untuk menggambarkan use case diagram secara utuh.

Sebuah use case menampilkan bagaimana sistem digunakan untuk

menyelesaikan pekerjaan aktor. Communication line menghubungkan

aktor dan use case untuk menunjukkan bahwa aktor tersebut

berpartisipasi di dalam use case. Sedangkan system boundaries

digunakan untuk menandakan pemisahan antara eksternal sistem (aktor)

dan internal sistem (use cases). Berikut ini adalah gambar dari gabungan

antara aktor, use case, communication line dan system boundaries.

(Miles & Hamilton, 2006, pp. 25-27)

Gambar 2.2 Notasi Aktor Pada Use Case

(Miles & Hamilton, 2006, pp. 22-23)

Gambar 2.3 Contoh Sebuah Use Case

(Miles & Hamilton, 2006, p. 27)

Page 7: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

12

Use case diagram yang menunjukan use cases dan aktor

merupakan awalan yang baik, namun diagram tersebut tidak

menampilkan rincian yang cukup untuk mengerti sistem. Cara yang

paling baik untuk mengekspresikan informasi tersebut adalah dalam

bentuk tulisan yang disebut dengan Use Case Description. Gambar-

gambar berikut mencontohkan sebuah Use Case Description

berdasarkan contoh use case sebelumnya :

Gambar 2.4 Contoh Sebuah Use Case Description

(Miles & Hamilton, 2006, p. 28)

Gambar 2.5 Contoh Sebuah Use Case Description (Lanjutan)

(Miles & Hamilton, 2006, p. 29)

Page 8: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

13

Hubungan antar use case dapat diekspresikan menggunakan

<<include>> dan <<extend>>. Relasi <<include>> digunakan untuk

memecahkan sistem menjadi bagian-bagian yang lebih mudah untuk

diatur. Sedangkan relasi <<extend>> adalah sebuah cara untuk

menunjukkan bahwa sebuah use case mungkin dapat sepenuhnya

menggunakan behavior dari use case lain. Selain itu use case diagram

juga dapat menggunakan generalisasi untuk beberapa kasus yang

berbeda, misalnya terdapat beberapa tipe dalam membangun sebuah

blog. Use case “Create a new Blog Account” bisa digeneralisasi

menjadi dua tipe, yaitu “Regular Blog Account” atau “Editorial Blog

Account”. (Miles & Hamilton, 2006, pp. 30-40)

Berikut adalah contoh use case diagram secara utuh:

2.3.2 Class Diagram

Class bisa disebut sebagai bagan yang digunakan untuk

Gambar 2.6 Diagram Use Case

(Miles & Hamilton, 2006, p. 40)

Page 9: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

14

membangun dan mendefinisikan objek-objek. Sehingga setiap hal yang

dibangun dari sebuah class disebut sebagai objek atau instances.

Deskripsi dari sebuah class mencakup dua bagian: informasi yang akan

dimiliki oleh objek dan behaviour yang akan didukung objek tersebut.

Ini yang membedakan object-oriented dengan yang lainnya, bahwa state

information dan behaviour digabungkan dalam satu definisi class,

dimana objek-objek dapat terbentuk dari class tersebut. (Miles &

Hamilton, 2006, pp. 64-65)

Class dalam UML digambarkan sebagai persegi panjang dibagi

menjadi tiga bagian. Bagian paling atas berisi nama class, bagian tengah

berisi atribut atau informasi yang dimiliki oleh class tersebut, dan bagian

akhir berisi operasi yang menunjukkan behaviour dari class. (Miles &

Hamilton, 2006, p. 67)

Gambar 2.7 Class Diagram

(Miles & Hamilton, 2006, p. 67)

Page 10: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

15

Class mempunyai sifat visibility, sebuah sifat yang dapat

digunakan untuk mengatur akses ke atribut dan metode atau operation,

yaitu :

• Private, hanya dapat digunakan oleh metode pada class tersebut,

tidak dapat dipanggil dari luar class yang bersangkutan.

• Protected, hanya dapat dipanggil oleh class yang bersangkutan

(metode) dan anak-anak yang mewarisinya (generalization).

• Public, dapat dipanggil oleh siapa saja.

• Package, dapat dipanggil oleh class yang bersangkutan (metode)

dan class lain yang berada di dalam package yang sama.

2.3.3 Sequence Diagram

Sequence diagram memodelkan bagaimana sistem yang sedang

dibangun mendatangi tugasnya. Diagram ini menangkap semua urutan

interaksi pada bagian-bagian dari sistem. Dengan menggunakan

sequence diagram, pengembang bisa menjelaskan interaksi apa yang

akan dipanggil ketika sebuah use case dieksekusi dan dalam urutan

Gambar 2.8 Class State: Attributes

(Miles & Hamilton, 2006, p. 72)

Gambar 2.9 Class Behaviour: Operations

(Miles & Hamilton, 2006, p. 77)

Page 11: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

16

seperti apa interaksi-interaksi tersebut akan terjadi. (Miles & Hamilton,

2006, pp. 108-109)

Dalam sequence diagram terdapat bagian-bagian yang disebut

dengan participant, time, message, dan activation bars. Participant

adalah bagian-bagian dari sistem yang berinteraksi dengan satu sama

lain selama sequence berjalan. Time menunjukkan urutan dimana semua

interaksi berlangsung sesuai dengan waktu. Time pada sequence

diagram ditunjukkan dengan garis titik-titik vertikal. Message dalam

sequence ditunjukkan menggunakan panah dari participant yang ingin

mengirimkan pesan ke participant lain. Message Caller adalah sebutan

untuk participant yang mengirim message dan Message Receiver untuk

participant yang menerima message. Actiovation bars menunjukkan

bahwa sebuah participant sedang melakukan sesuatu untuk jangka

waktu tertentu. Activation bars dapat ditampilkan pada awal pengiriman

message dan ujung dari penerimaan message. Hal ini menunjukkan

bahwa Message Caller sibuk pada saat mengirim message dan Message

Receiver sibuk pada saat message sudah diterima. (Miles & Hamilton,

2006, pp. 109-114)

Page 12: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

17

Dan berikut ini adalah bentuk-bentuk dari panah pada sequence

diagram, setiap bentuk panah mempunyai arti yang berbeda.

2.4 Diagram Aliran Dokumen (DAD)

Menurut (Mulyadi, 2001, pp. 58-63) diagram aliran dokumen adalah suatu

model yang menggambarkan aliran dokumen dan proses untuk mengolah

dokumen dalam suatu proses.

Berikut ini adalah tabel yang menjelaskan komponen-komponen dari diagram

aliran dokumen :

Tabel 2.1 Tabel Simbol-simbol Diagram Aliran Dokumen

Simbol Keterangan

Dokumen

Simbol ini digunakan untuk menggambarkan semua jenis

dokumen, yang merupakan formulir untuk merekam data

terjadinya suatu transaksi.

Keputusan

Simbol ini menggambarkan keputusan yang harus dibuat

dalam proses pengolahan data. Keputusan yang dibuat ditulis

Gambar 2.10 Contoh Interaksi Pada Sequence Diagram

(Miles & Hamilton, 2006, p. 112)

Gambar 2.11 Bentuk-bentuk Panah Pada Sequence Diagram

(Miles & Hamilton, 2006, p. 115)

Page 13: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

18

Simbol Keterangan

dalam simbol.

Garis Alir

Simbol ini menggambarkan arah proses pengolahan data.

Persimpangan Garis Alir

Jika dua garis alir bersimpangan, untuk menunjukkan arah

masing-masing garis, salah satu garis dibuat sedikit

melengkung tepat pada persimpangan kedua garis tersebut.

Pertemuan Garis Alir

Simbol ini digunakan jika dua garis alir bertemu dan salah satu

garis mengikuti garis lainnya.

Proses

Simbol ini untuk menunjukkan tempat-tempat dalam sistem

informasi yang mengolah atau mengubah data yang diterima

menjadi data yang mengalir keluar. Nama pengolahan data

ditulis didalam simbol.

Mulai / Berakhir (terminal)

Simbol ini untuk menggambarkan awal dan akhir suatu sistem

akuntansi

2.5 Smartphone

Smartphone adalah sebuah device yang memungkinkan untuk melakukan

komunikasi (seperti telepon atau SMS) juga di dalamnya terdapat fungsi PDA

(Personal Digital Assistant) dan berkemampuan seperti layaknya komputer.

(Rikez, 2010)

Ya

Tidak

Page 14: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

19

Kemampuan yang dimiliki sebuah smartphone adalah:

1. Memiliki sistem operasi didalamnya yang memungkinkan seseorang

menjalankan berbagai aplikasi, misalnya iOS, Windows Mobile,

Android, Symbian, ataupun Sistem Operasi Blackberry.

2. Bisa digunakan mengakses web atau internet dan konten yang disajikan

pada browser, sudah hampir mendekati seperti layaknya seseorang

mengakses web lewat komputer.

3. Kemampuan mengolah pesan pada smartphone juga telah dilengkapi

kemampuan mengirim email dan bahkan proses sinkronisasi dengan

komputer lokal ataupun server internet, sehingga dengan mudah dapat

mengakses pesan yang sama, baik melewati smartphone maupun

komputer.

Orang-orang menggunakan mobile phone mereka dimanapun, bahkan mereka

tetap membawanya sampai ke kamar kecil. Bukan hanya membawa smartphone

mereka ke mana pun mereka berada, tetapi juga menggunakan smartphone

untuk segala hal. Dari mulai memainkan games, menonton film, memeriksa

laporan cuaca, browsing internet, berinteraksi dengan teman-teman di jejaring

sosial, mendapatkan berita terbaru, dan bahkan untuk kebutuhan perbankan.

(Kaki, 2011)

2.6 Mobile Application

Mobile application juga biasa disebut denga mobile apps, yaitu istilah yang

digunakan untuk mendeskripsikan aplikasi internet yang berjalan pada

smartphone atau piranti mobile lainnya. Aplikasi mobile biasanya membantu

para penggunanya untuk bisa terkoneksi dengan layanan internet yang biasa

Page 15: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

20

diakses pada PC atau mempermudah mereka untuk menggunakan aplikasi

internet pada piranti yang bisa dibawa. (Webopedia, 2011)

2.7 Perencanaan Keuangan

Perencanaan keuangan pribadi merupakan proses mengatur keuangan untuk

mencapai kepuasan ekonomi setiap individu. Proses perencanaan ini

memungkinkan seseorang untuk dapat mengontrol situasi finansialnya. Setiap

orang memiliki posisi dan kegiatan finansial yang berbeda, oleh karena itu

perencanaan ini harus direncanakan secara baik dan benar untuk memenuhi

tujuan dan kebutuhan spesifik. Rencana keuangan yang bersifat komprehensif

mampu meningkatkan kualitas kehidupan seseorang dan juga meningkatkan

kepuasan diri sendiri dengan mengurangi ketidakpastian tentang kebutuhan dan

tujuan pada masa yang akan datang. (Kapoor, Dlabay, & Hughes, 2004)

Banyak keuntungan yang didapat dengan melakukan perencanaan keuangan

yang baik. Salah satunya adalah seseorang akan menjadi lebih efektif dalam

memperoleh, menggunakan dan melindungi sumber daya keuangan pribadinya,

karena ia menyadari akan kondisi keuangannya pada saat itu. Dengan

mengetahui kondisi keuangan, seseorang juga akan menjadi lebih baik dalam

mengatur keuangannya agar terhindar dari pengeluaran yang berlebihan, hutang,

dan ketergantungan pada orang lain untuk keamanan ekonomi. Selain itu, tiap

individu akan terbebas dari rasa khawatir terhadap kondisi keuangan mereka

karena dengan perencanaan keuangan mereka dapat mengestimasikan

keuangannya untuk masa depan, mengantisipasi biaya pengeluaran dan

mencapai tujuan ekonomi pribadi. (Kapoor, Dlabay, & Hughes, 2004)

Page 16: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

21

2.7.1 Proses Perencanaan Keuangan

Perencanaan keuangan adalah prosedur yang terus berlangsung,

statusnya berubah setiap kali situasi dan posisi keuangan dalam

kehidupan berubah. (Keown, 2010) Pada dasarnya perencaan keuangan

mempunyai setidaknya tiga komponen. Seseorang harus mengetahui

kondisi awal keuangan, tujuan finansial, dan cara pencapaian tujuan

finansial. (Hananto, 2011) Namun, terdapat 5 tahapan dasar untuk

perencanaan keuangan pribadi yang lebih rinci yang akan dijelaskan

berikut ini. (Keown, 2010; Keown, 2010)

2.7.1.1 Tahap 1: Mengevaluasi Kesehatan Keuangan

Tahap ini dimulai dari pemeriksaan terhadap situasi finansial

pada saat ini. Seseorang harus mengetahui 3 hal, yaitu:

1. Seberapa banyak uang yang diperoleh

2. Berapa besar pengeluaran yang dilakukan

3. Barang apa saja yang telah dibelanjakan

Untuk bisa bertahan secara finansial, seseorang harus dapat

melihat gambaran finansialnya secara utuh, dimana ia membutuhkan

pencatatan yang baik, terutama dalam memperhatikan pengeluaran.

Melacak apa yang dibelanjakan hanya membutuhkan waktu

untuk memasukkan semua pengeluaran setiap hari ke dalam suatu

buku atau program komputer. Ini memang hal yang membosankan,

namun cara ini dapat memberikan seseorang gambaran akan

keuangannya menjadi lebih jelas dan juga kemampuan untuk

mengontrol situasi finansialnya.

Page 17: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

22

Menghitung pemasukkan akan lebih mudah dibandingkan

dengan menghitung pengeluaran. Karena kadang terdapat transaksi

pengeluaran yang tidak mempunyai bukti, sehingga sedikit sulit untuk

melacak semua hal detil yang dibelanjakan. Namun seperti yang

sudah disebutkan sebelumnya, untuk membuat perencanaan seseorang

harus mengetahui kemana ia menghabiskan uangnya. Pengeluaran

dikategorikan menjadi beberapa klasifikasi; makanan, pakaian dan

aksesoris, transportasi, rekreasi, kesehatan dan perawatan medis,

perumahan dan alat-alat rumah tangga, biaya pajak, dan lain-lain.

Selain kategori, pengeluaran juga dibagi menjadi dua tipe, yaitu

variable expenditure (pengeluaran yang tidak harus dilakukan) dan

fixed expenditure (pengeluaran yang harus dilakukan setiap

bulannya.)

2.7.1.2 Tahap 2: Menentukan Tujuan Finansial

Tahap berikutnya adalah menentukan tujuan finansial atau

goal yang ingin seseorang capai. Tiap individu perlu mencatat goal

ini dan menentukan kapan uang untuk mencapai tujuan tersebut

dibutuhkan. Kadang banyak orang yang melewatkan tahap ini karena

mereka tidak mengetahui bagaimana cara pencapaiannya. Yang harus

dilakukan hanya atur tujuan apa yang diinginkan, dan memutuskan

kesediannya untuk membuat komitemen keuangan yang diperlukan

untuk mencapainya.

Page 18: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

23

2.7.1.3 Tahap 3: Mengembangkan Rencana

Ini adalah tahap dimana seseorang harus mengetahui

bagaimana cara mencapai tujuan finansial. Caranya bisa dengan

melakukan budgeting atau membuat strategi investasi (menabung)

yang nantinya seseorang bisa mendapatkan tujuan finansial

pribadinya masing-masing.

2.7.1.4 Tahap 4: Mengimplementasikan Rencana

Penting halnya untuk seseorang tetap berdiri pada rencana

yang sudah ditetapkan sebelumnya. Untuk mengimplementasikan dan

menetap pada rencana seseorang perlu untuk melacak semua

pemasukkan dan pengeluaran, dan juga terus memantau tujuan

finansialnya. Rencana keuangan inilah yang digunakan untuk

mencapai sasaran finansial.

2.7.1.5 Tahap 5: Meninjau Kemajuan, Mengevaluasi Ulang,

Merevisi Rencana

Mengevaluasi ulang rencana sebelumnya juga penting dalam

menjalankan rencana tersebut. Karena mungkin saja ditengah

perjalanan dalam mencapai tujuan finansial, terdapat kondisi-kondisi

tak terduga seperti menikah atau mempunyai anak yang

membutuhkan pengeluaran uang yang lebih. Untuk itu, seseorang

harus merevisi kembali rencana sebelumnya untuk mengimbangi

kondisi finansial saat itu demi pencapaian tujuan.

Page 19: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

24

2.7.2 Pencatatan Keuangan

Financial records atau pencatatan keuangan berguna dalam

memahami keadaan finansial seseorang dan penting untuk mengetahui

hal apa yang harus disimpan dan hal apa yang harus dibuang. (Marthur,

1984, p. 35) Selain itu, financial records juga dapat digunakan untuk

memantau alur perjalanan uang. Jika tidak mengetahui kapan uang telah

masuk dan keluar, pengelolaan keuangan tidak akan sukses. Records

yang baik adalah yang mempunyai rincian uang masuk, uang keluar,

waktu uang masuk dan keluar, jumlah uang dan kemana uang

dikeluarkan. (York, 2005)

Records datang dalam berbagai media. Banyak yang masih dibuat di

atas kertas, misalnya, korespondensi, voucher, kontrak dan dokumen

pendukung. Informasi juga dapat dicatat dalam sebuah buku, jurnal,

register, atau hasil cetakan komputer. Akhir-akhir ini juga banyak

aplikasi komputer yang membuat catatan keuangan, namun hanya

mungkin ada dalam format elektronik. (Kimberly Barata, 2011, p. 11)

Beberapa orang juga menggunakan aplikasi Microsoft Excel untuk

menyimpan catatan pengeluaran, namun aplikasi ini mengandung

sejumlah besar fitur yang tidak mudah untuk pemula. Microsoft Excel

merupakan aplikasi yang berisi ratusan rumus dan memerlukan waktu

yang lama untuk menguasai aplikasi ini dengan mudah. (Foster, 2011)

Seperti yang telah diterangkan sebelumnya, pencatatan dapat

dilakukan di berbagai media, salah satunya adalah media kertas. Namun,

akan lebih mudah jika pencatatan dapat dilakukan menggunakan media

seperti sebuah sistem pencatatan yang selalu dekat dengan keberadaan

Page 20: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

25

seseorang, sehingga seseorang dapat mencatat dan merubah data

keuangan dengan lebih mudah. (Weirich, 1983, p. 56) Terlebih lagi

pencatatan manual atau pencatatan menggunakan media non-mobile

tidak efektif dan efisien. Proses transaksi dan pembuatan laporan secara

manual sering terjadi kesalahan jika terdapat banyak data sehingga

laporan sering kurang akurat. (Setiawan, Satoto, & Fatchurrohim, 2008,

p. 1)

2.7.3 Tujuan Finansial

Membantu seseorang mengatur keuangan adalah dengan mencapai

target atau goal yang telah ditetapkan sebelumnya. (Weirich, 1983, p. 48)

Tipe dari goal atau tujuan finansial bisa beragam. Seseorang dapat

menspesifikasikan tujuan finansialnya ke dalam keinginannya untuk

membeli sesuatu, atau mungkin mempunyai goal untuk terlepas dari

hutang kredit. Seseorang menginginkan untuk mempunyai sejumlah uang

dalam jangka waktu tertentu juga bisa disebut sebagai goal. Atau hal

sederhana seperti menabung sejumlah uang tiap bulannya dapat dijadikan

sebagai goal agar kelak uang tersebut dapat berguna dikemudian hari.

(Madura, 2004)

Seseorang harus dapat menentukan tujuan finansial secara realistis

agar nantinya tujuan tersebut bisa tercapai. Sebuah rencana keuangan

yang membuat seseorang harus menabung hampir semua dari

pemasukkannya juga sia-sia jika ia tidak bersedia untuk mengikuti

rencana tersebut. Ketika satu rencana gagal, ketertarikan akan

perencanaan keuangan akan menghilang. Dengan mengurangi tingkat

Page 21: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

26

goal yang ingin dicapai dan menjadikannya lebih realistis, rencana yang

layak dapat dikembangakan.

Waktu pencapaian tujuan finansial dapat dikategorikan menjadi short

term (dalam satu tahun kedepan), intermediate term (antara satu atau 5

tahun kedepan), atau long term (lebih dari 5 tahun). Contohnya seperti

membeli mobil untuk 6 bulan kedepan bisa diklasifikasikan sebagai short

team goal, membayar pinjaman uang untuk 3 tahun kedepan sebagai

intermediate goal dan menabung untuk hari tua sebagai long term goal.

2.8 iOS Device

iOS terdiri dari sistem operasi dan teknologi yang digunakan untuk

menjalankan aplikasi native pada peranti seperti iPad, iPhone, dan iPod Touch.

Meskipun mempunyai teknologi yang didapat dari Mac OS X, iOS khusus

dirancang untuk memenuhi kebutuhan lingkungan mobile, yang pasti akan

berbeda dari aplikasi desktop. Jika sebelumnya telah mencoba mengembangkan

aplikasi untuk Mac OS X, pasti akan banyak teknologi sama yang ditemukan

pada iOS, namun ada beberapa teknologi yang hanya tersedia untuk iOS itu

sendiri, seperti antarmuka yang Multi-Touch dan accelerometer. (Apple, iOS

Technology Overview, 2010)

Mendapatkan aplikasi untuk iPhone atau iOS device lainnya sangat mudah,

yaitu bisa didapatkan melalui Apple Application Store. Apple Application Store

ini sendiri mempunyai “User Experience” yang lebih baik dibandingkan

dengan smartphone lainnya, yang mana baik untuk penjualan aplikasi.

Pengguna iPhone, iPod Touch maupun iPad tertarik dalam pembelian aplikasi,

oleh karena itu mereka membeli iOS device yang ada. (Bumb, 2011)

Page 22: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

27

Pengguna Apple iOS platform yang mengunduh aplikasi mobile memiliki

nilai rata-rata tertinggi untuk jumlah aplikasi dan menggunakan aplikasi-

aplikasi tersebut beberapa kali perhari. Hal ini berdasarkan data yang

dikeluarkan pada bulan April 2011 oleh The Nielsen Company. Pengguna

Android, menempati posisi ke-dua pada ke-dua kategori tersebut.

(MarketingCharts, 2011)

Diantara para pengguna Apple iOS yang mengunduh aplikasi, rata-rata

aplikasi yang mereka miliki adalah 48. Hal ini memberikan pengguna Apple

iOS jumlah rata-rata tertinggi dari aplikasi mobile; pengguna Android

mengikuti dengan 35 aplikasi, nomor yang merupakan 27% lebih rendah.

Pengguna Palm hanya memiliki rata-rata 21 aplikasi pada mobile phone

mereka, setengah dari jumlah rata-rata aplikasi yang dimiliki oleh pengguna

iOS rata-rata. (MarketingCharts, 2011)

Gambar 2.12 Jumlah Rata-Rata Aplikasi Pada Mobile Phone

(MarketingCharts, 2011)

Page 23: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

28

Selain memiliki jumlah rata-rata tertinggi dari aplikasi, pengguna iOS juga

memiliki tingkat tertinggi (68%) dalam menggunakan aplikasi-aplikasi tersebut

beberapa kali sehari. Android mengikuti iOS dengan nilai 60%, jumlah

pengguna Android yang menggunakan aplikasinya beberapa kali dalam sehari.

Gambar 2.13 Jumlah Rata-Rata Penggunaan Aplikasi Pada Mobile Phone

(MarketingCharts, 2011)

Arsitektur pada iOS serupa dengan arsitektur dasar yang terdapat pada Mac

OS X. Pada level tertinggi, iOS bekerja sebagai perantara antara perangkat

keras dengan aplikasi yang muncul pada layar, seperti yang terdapat pada

Gambar 2.6. Aplikasi akan berkomunikasi dengan perangkat keras melalui satu

set antarmuka yang melindungi aplikasi tersebut dari perubahan perangkat

keras. Pemisahan ini membuat pengembangan aplikasi untuk menjadi lebih

mudah karena dapat bekerja untuk tetap konsisten pada piranti apapun walau

mempunyai kemampuan perangkat keras yang berbeda. (Apple, iOS

Technology Overview, 2010, pp. 13-14)

Page 24: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

29

2.9 Kelebihan iPhone

Hasil penelitian menunjukkan bahwa Apple menempati posisi pertama pada

daftar 15 perusahaan penghasil barang elektronik mencakup iPhone

(smartphone), iPad dan iPod Touch dengan presentase sebesar 32% (Gambar

2.8). Apple iPhone sendiri juga terdapat pada posisi paling atas dari daftar 20

telepon genggam terbaik (Gambar 2.9). (Media, 2011, p. 2)

Gambar 2.14 Arsitektur iOS

(Apple, 2010)

Page 25: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

30

Keunggulan lain yang dimiliki oleh iPhone (Agung, 2009) adalah:

1. Memiliki layar sentuh berukuran 3.5” dengan resolusi 480x320 pixel

dengan jenis layar capacitive touch screen.

2. Browser Safari bisa menampilkan huruf-huruf karakter Cina dan

mengakomodasi 16 bahasa dunia.

3. Menggunakan speaker built-in sehingga mampu menyajikan suara

dengan kencang, tidak pecah dan amat jernih.

4. Memiliki virtual keyboard yang sangat nyaman digunakan.

5. Memiliki tampilan menu yang bisa digeser sehingga anda bisa

menampilkan banyak aplikasi dalam sebuah layar iPhone.

6. GPS yang terintegrasi

Gambar 2.15 Top 15 Manufacturers

(Media, 2011)

Gambar 2.16 Top 20 Mobile Phones

(Media, 2011)

Page 26: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

31

7. Memori internal antara 4, 8, 16, 32, 64 GB.

8. Memiliki fasilitas jaringan Wi-Fi, 3G, GPRS dan EDGE.

2.10 iOS SDK dan Xcode

iOS SDK (Software Development Kit) yang bekerja pada komputer

Macintosh menyediakan antarmuka, tools dan semua sumber yang digunakan

untuk membangun aplikasi iOS. (Apple, iOS Technology Overview, 2010)

Apple memberikan sebagian besar sistem untuk antarmuka mereka ke

dalam paket yang disebut dengan framework atau kerangka kerja. Framework

adalah sebuah direktori yang berisi library dan sumber-sumber seperti header

files, gambar, aplikasi bantuan, dan lain-lain yang digunakan untuk mendukung

library yang tersedia. Framework digunakan dengan cara me-link framework

yang diinginkan ke dalam proyek aplikasi. Menghubungkan framework dengan

proyek yang dibuat memberi akses ke semua fitur dari framework tersebut dan

juga memungkinkan untuk development tools mengetahui dimana menemukan

suatu file tertentu. (Apple, iOS Technology Overview, 2010, pp. 14-15)

Komponen yang ada pada SDK termasuk:

• Xcode Tools – alat yang mendukung pengembangan aplikasi iOS,

termasuk:

1. Xcode – sebuah alat yang mendukung pengembangan untuk

mengelola proyek aplikasi dan memungkinkan untuk mengedit,

mengkompilasi, menjalankan dan memperbaiki error pada kode.

Xcode terintegrasi dengan alat pendukung lainnya dan

merupakan aplikasi utama yang digunakan selama

pengembangan.

Page 27: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

32

2. Interface Builder – alat yang digunakan untuk merancang

antarmuka secara visual. Objek antarmuka yang dibuat disimpan

pada suatu file dan dimuat ke aplikasi saat runtime.

3. Instruments – alat yang digunakan untuk menganalisa perfoma

dan mendeteksi kesalahan. Instruments bisa digunakan untuk

mendapatkan informasi mengenai perilaku runtime dari aplikasi

dan mengidentifikasikan kemungkinan kesalahan.

4. iOS Simulator – aplikasi Mac OS X yang mensimulasikan

teknologi iOS, mengizinkan pengembang untuk menguji aplikasi

iOS secara lokal pada komputer Macintosh yang digunakan.

5. iOS Developer Library – referensi dan dokumentasi konsep yang

menjelaskan semua tentang teknologi iOS dan proses

pengembangan aplikasi.

Walaupun aplikasi bisa dicoba pada iOS Simulator, pengembang juga

dimungkinkan untuk menguji aplikasinya ke piranti yang sesungguhnya

menggunakan Xcode dan Instruments. iOS Simulator ideal untuk membangun

dan menguji aplikasi secara cepat namun tidak bisa menggantikan pengujian

pada piranti sesungguhnya. Untuk mencoba aplikasi ke salah satu piranti iOS,

pengembang harus terdaftar pada iOS Developer Program. (Apple, iOS

Technology Overview, 2010, p. 15)

2.11 iOS Human Interface Guideline

Antarmuka yang baik adalah antarmuka yang mengikuti prinsip perancangan

antarmuka. Prinsip tersebut didasari oleh cara orang atau pengguna berpikir,

bukan dari kemampuan pirantinya. Antarmuka yang tidak menarik,

Page 28: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

33

menyulitkan atau tidak logis akan membuat aplikasi yang canggih sekalipun

menjadi tidak baik. (Apple, iOS Human Interface Guideline, 2011, pp. 20-23)

1. Aesthetic Integration

Integritas estetika tidak menggunakan tampilan cantik sebagai acuan

untuk mengukur, namun seberapa baik tampilan aplikasi tersebut

terintegrasi dengan fungsinya. Sebuah aplikasi harus memberikan pengguna

pesan yang jelas tentang tujuan dari aplikasi tersebut. Sebagai contoh, bila

suatu aplikasi menyediakan kegunaan produktif bagi pengguna, namun

tampilan antarmukanya aneh dan tidak karuan, tentu akan membuat

pengguna untuk kesulitan dalam menginterpretasi.

2. Konsistensi

Konsistensi pada antarmuka memungkinkan pengguna untuk

menggunakan pengetahuan dan keterampilan yang mereka miliki di satu

aplikasi ke aplikasi lain. Aplikasi yang konsisten bukan berarti meniru

aplikasi lain, namun hanya mengambil keuntungan dari standar dan

paradigma yang sudah jelas dirasakan nyaman oleh pengguna.

3. Kendali Pengguna

Inisiasi dan pengontrolan aksi pada aplikasi adalah pengguna, bukan

aplikasi itu sendiri. Aplikasi memang diharapkan dapat memberikan saran

untuk melakukan aksi atau mengingatkan tentang konsekuensi berbahaya,

namun aplikasi tidak boleh mengambil keputusan sendiri diluar kontrol user.

Jadi aplikasi yang baik adalah aplikasi yang seimbang antara memberikan

pengguna apa yang mereka butuhkan, juga membantu pengguna untuk

menghindari hal-hal yang tidak diinginkan. Pengguna mengekspektasikan

aplikasi untuk dapat membatalkan suatu operasi sebelum operasi tersebut

Page 29: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

34

dimulai, mengkonfirmasi aksi yang akan dilakukan, dan bisa

memberhentikan operasi yang sedang berlangsung.

2.12 Cocoa

Cocoa dan Cocoa Touch framework yang bekerja untuk Mac OS X dan

iOS adalah sebuah kerangka kerja yang terintegrasi ke dalam Xcode. Cocoa itu

sendiri merupakan salah satu API (Application Programming Interface)

berbasis objek milik Apple Inc. API Cocoa yang bertingkat tinggi membuat

pengembang lebih mudah untuk menambahkan animasi, jaringan, tampilan

platform asli, dan karakter untuk aplikasi dengan hanya beberapa baris kode.

Cocoa framework terdiri dari libraries, API dan runtimes. Dengan

menggunakan Cocoa, pengembang dapat membangun aplikasi dengan cara

yang sama dengan Mac OS X. Aplikasi otomatis akan mempunyai karakter dan

tampilan yang sama dengan Mac OS X. Cocoa dengan menggunakan Xcode

adalah cara yang paling baik untuk membuat aplikasi untuk Mac. (Apple,

Cocoa: Mac OS X Technology Overview, 2011)

2.12.1 Cocoa Touch

Cocoa Touch, berbeda dengan Cocoa, merupakan ekstensi dari Cocoa

untuk aplikasi pada sistem operasi iOS pada iPhone, iPad dan iPod

Touch. Cocoa Touch digunakan untuk menambahkan fungsi sensor gerak

dan animasi.

Cocoa Touch mengatur dan mengelola interaksi pengguna pada iOS.

Karena Cocoa Touch merupakan ekstensi dari Cocoa, maka semua

teknologi Cocoa Touch berasal dari Cocoa. Cocoa Touch dan antarmuka

Page 30: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

35

iOS benar-benar dirancang ulang untuk menangani multi-touch. Semua

fitur antarmuka yang biasa digunakan pada platform iOS seperti iPhone,

iPad dan iPod Touch telah disediakan pada Cocoa Touch framework.

(Apple, Cocoa: Mac OS X Technology Overview, 2011)

Dibangun di atas paradigma Model-View-Controller, Cocoa Touch

menyediakan dasar yang kuat untuk menciptakan sebuah aplikasi

menarik. Ketika dikombinasikan dengan alat pengembang pada Xcode

seperti Interface Builder, keduanya akan menjadi mudah dan

menyenangkan ketika menggunakan sistem drag-and-drop pada saat

pembuatan aplikasi.

2.13 UIKit

UIKit adalah sebuah framework yang menyediakan kelas-kelas untuk

membangun dan mengatur perancangan antarmuka aplikasi iOS. UIKit

menyediakan objek, event handling, penggambaran model, windows, views,

dan kontrol yang didesain secara spesifik untuk antarmuka layar sentuh.

(Apple, UIKit Framework References, 2011, p. 26)

2.14 Objective-C

Objective-C adalah sebuah bahasa yang berorientasi objek. Bahasa ini

digunakan pada Mac OS X dan piranti iOS. Objective-C sendiri merupakan

sebuah kombinasi dari dua bahasa; C dan Smalltalk.

Pada tahun 1970, beberapa pengembang yang berasal dari Bell Labs

membuat sebuah bahasa yang dinamakan C. Bahasa C ini memudahkan

Page 31: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

36

pengembang dalam membuat program karena mampu bekerja pada berbagai

sistem operasi.

Pada tahun 1980, bahasa C menjadi bahasa yang sangat terkenal. Ditahun

inilah, Bred Cox dan Tom Love pengembang dari Stepstone menggabungkan

bahasa C dengan bahasa Smalltalk. Bahasa C itu sendiri merupakan bahasa

yang prosedural, yaitu menggunakan langkah beraturan untuk membaca suatu

program. Sedangkan Smalltalk adalah bahasa yang berorientasi objek, yaitu

tidak memproses program secara prosedural namun menggunakan objek untuk

menyelesaikan pekerjaan. Kedua bahasa ini digabung dan menjadi bahasa yang

dinamakan “Objective-C”. (Bennett, Fisher, & Lees, 2010, pp. 97-98)

2.15 Core Data

Core Data adalah sebuah framework yang menyediakan solusi untuk

tugas-tugas umum yang berhubungan dengan siklus objek dan pengelolaan

objek. (Apple, Core Data, 2010, pp. 17-19)

Fitur dari Core Data antara lain:

1. Menyediakan bantuan untuk melakukan undo dan redo.

2. Mampu mengatur konsistensi dari relasi antar objek.

3. Dapat mengurangi memori yang berkelebihan dari suatu program

dengan memuat objek-objek.

4. Melakukan validasi terhadap nilai properti dari sebuah objek secara

otomatis.

5. Mengizinkan pengguna mengubah skema yang telah ada dengan

lebih mudah.

6. Menggunakan NSFetchedResultsController untuk terintegrasi

Page 32: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

37

dengan Cocoa pada Mac OS X.

7. Mengumpulkan accessor (getter – metoda yang mengembalikan

nilai dari private class) yang sesuai untuk relasi to-many.

8. Mengelompokkan dan mengorganisasi data pada memori dan pada

antarmuka.

9. Mendukung penyimpanan objek pada tempat penyimpanan data

eksternal.

10. Meng-compile query dengan baik.

11. Menyediakan fitur locking untuk mengatasi permasalahan pada

multi-writer.

Terdapat banyak alasan mengapa Core Data baik untuk digunakan. Salah

satunya adalah jumlah kode yang ditulis untuk mendukung layer model dari

aplikasi akan menjadi 50% sampai 70% lebih sedikit (dihitung dari baris

kode). Ini dikarenakan oleh fitur-fitur yang disediakan oleh Core Data.

Core Data mempunya kode dimana kualitasnya dijaga melalui tes unit

dan sudah digunakan setiap harinya untuk aplikasi-aplikasi yang bervarian.

Framework ini sudah sangat teroptimisasi. Untuk menyediakan keamanan

dan error-handling yang baik, Core Data juga menyediakan skalabilitas

memori untuk solusi apapun.

Selain dari keuntungan diatas, Core Data juga mampu untuk terintegrasi

dengan baik dengan Mac OS X tool. Model design tool mampu membantu

para pengguna untuk membuat skema secara cepat dan mudah. Pengguna

juga bisa menggunakan template pada Instruments application untuk

mengukur performa Core Data dan untuk menangani bermacam masalah.

Pada desktop Mac OS X, Core Data juga terintegrasi dengan Interface

Page 33: BAB 2 LANDASAN TEORI 2.1 Object Oriented Programminglibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00100-IF Bab 2.pdf · 2.1 Object Oriented Programming Object Oriented Programming

38

Builder untuk membantu pengguna membangun antarmuka berdasarkan

skema model yang dibuat.

Core Data sendiri bukan merupakan sebuah basis data relasional atau

Relational Database Management System (RDBMS). Core Data

menyediakan infrastuktur untuk mengatur dan menyimpan objek dan

mengambil objek tersebut dari sebuah tempat penyimpanan, seperti SQLite.

Core Data tidak menghilangkan keharusan pengguna untuk menulis kode.

Walaupun pengguna dapat menggunakan Data Modeling Tool dan Interface

Builder pada Xcode, untuk aplikasi yang lebih nyata, pengguna tetap harus

menulis kode.

2.15.1 SQLite

SQLite merupakan sebuah sistem manajemen basis data relasional

yang bersifat public domain, yaitu bebas untuk digunakan untuk tujuan

apapun, komersial atau pribadi. SQLite ini dikembangan oleh D. Richard

Hipp. Tidak seperti kebanyakan basis data SQL lainnya, SQLite tidak

memiliki proses server yang terpisah. SQLite membaca dan menulis

langsung ke sebuah file disk. SQLite merupakan sebuah basis data SQL

lengkap dengan beberapa tabel, indeks, dan views yang berada dalam

sebuah file disk. Format file basis data SQLite adalah cross-platform,

sehingga bisa digunakan pada sistem operasi manapun. (SQLite, 2002)