library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan...

49
BAB 2 LANDASAN TEORI 1.1 Teori Umum 1.1.1 Perangkat Lunak 1.1.1.1 Definisi Perangkat Lunak Menurut (Pressman, 2010, p. 4), perangkat lunak adalah instruksi-instruksi program-program komputer yang di mana ketika dieksekusi akan menyediakan fitur-fitur, fungsi, dan perfoma yang diharapkan, struktur-struktur data yang memungkinkan program-program untuk memanipulasi informasi, dan informasi yang bersifat deskriptif dalam bentuk hardcopy ataupun bentuk-bentuk virtual yang menggambarkan/menjelaskan operasi dan penggunaan program- program. 1.1.1.2 Karakteristik Perangkat Lunak Menurut (Pressman, 2010, p. 4) perangkat lunak (software) memiliki karakteristik yang sangat jauh berbeda dengan perangkat keras (hardware), di antaranya adalah : 7

Transcript of library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan...

Page 1: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

BAB 2

LANDASAN TEORI

2.1 Teori Umum

2.1.1 Perangkat Lunak

2.1.1.1 Definisi Perangkat Lunak

Menurut (Pressman, 2010, p. 4), perangkat lunak adalah instruksi-instruksi

program-program komputer yang di mana ketika dieksekusi akan menyediakan fitur-

fitur, fungsi, dan perfoma yang diharapkan, struktur-struktur data yang memungkinkan

program-program untuk memanipulasi informasi, dan informasi yang bersifat deskriptif

dalam bentuk hardcopy ataupun bentuk-bentuk virtual yang

menggambarkan/menjelaskan operasi dan penggunaan program-program.

2.1.1.2 Karakteristik Perangkat Lunak

Menurut (Pressman, 2010, p. 4) perangkat lunak (software) memiliki

karakteristik yang sangat jauh berbeda dengan perangkat keras (hardware), di antaranya

adalah :

Perangkat lunak dikembangkan atau direkatasa, artinya tidak diproduksi

dalam pengertian klasik.

Perangkat lunak tidak bisa “usang”

Meskipun industri bergerak kearah pembangunan berbasis komponen,

sebagian besar perangkat lunak terus dibangun secara khusus.

7

Page 2: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

8

2.1.2 Rekayasa Perangkat Lunak (RPL)

2.1.2.1 Definisi Rekayasa Perangkat Lunak

Mengacu pada IEEE [IEEE93a], rekayasa perangkat lunak adalah sebuah studi

dan aplikasi dari sebuah pendekatan kuantifiable, disiplin, dan sistematik kepada

pengembangan (pembangunan), operasi, dan pemeliharaan perangkat lunak yang

semuanya itu merupakan aplikasi rekayasa yang berkaitan dengan perangkat lunak.

(Pressman, 2010, p. 13) mendefinisikan rekayasa perangkat lunak merupakan

teknologi bertingkat atau berlapis. Tingkatan/lapisan tersebut dibagi menjadi empat

bagian, yaitu :

1. Berpusat pada kualitas (A Quality Focus)

Berpusat pada kualitas diibaratkan batu yang menopang lapisan-lapisan lain

(tools, methods, dan process) pada rekayasa peranti lunak.

2. Proses (Process)

Proses merupakan fondasi dasar dari rekayasa perangkat lunak, yang berperan

sebagai perekat lapisan-lapisan teknologi dan memungkinkan pengembangan

perangkat lunak komputer secara rasional dan tepat waktu. Proses ini

mendefinisikan framework yang harus ditetapkan agar penyampaian (delivery)

teknologi perangkat lunak berjalan dengan efektif.

3. Metode-metode (Methods)

Lapisan ini menerangkan secara teknis mengenai bagaimana cara membangun

perangkat lunak. Metode ini meliputi tahapan yang mencakup komunikasi

(communication), analisis kebutuhan (requrements analysis), desain model (design

Page 3: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

9

modelling), pembuatan program (program construction), pengujian (testing), dan

pendukung (support).Metode rekayasa perangkat lunak bergantung pada prinsip-

prinsip dasar yang mengatur setiap area teknologi termasuk kegiatan pemodelan dan

teknik deskriptif lainnya.

4. Alat (Tools)

Alat dalam rekayasa perangkat lunak berfungsi menyediakan dukungan baik

secara otomatis maupun semi-otomatis untuk proses dan metode-metode. Ketika

alat-alat tersebut diintegrasikan sehingga informasi yang di hasilkan oleh suatu alat

bisa digunakan oleh alat lainnya, sistem yang digunakan untuk membantu

pengembangan perangkat lunak disebut CASE (computer-aided software

engineering). Case mampu menggabungkan perangkat lunak, perangkat keras, dan

basis data untuk membangun suatu lingkungan yang sejalan CAD/CAE (computer-

aided design/engineering).

Gambar 2.1. Software Engineering Layers

2.1.3 Model ProsesAirTerjun (The Waterfall Process Model)

Menurut (Sommerville, 2011, p. 30) model pertama yang diterbitkan dari proses

pengembangan perangkat lunak berasal dari proses rekayasa sistem yang lebih umum

Page 4: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

10

(Royce, 1970). Model proses air terjun (the waterfall process model) adalah contoh dari

proses plan-driven, yang pada prinsipnya segala kegiatan harus direncanakan dan

dijadwalkan sebelum dimulainya proses pengerjaannya.

Gambar 2.2. The Waterfall Process Model

Tahap utama dari model proses air terjun (the waterfall process model) secara

tidak langsung mencerminkan dasar pembangunan kegiatan, yaitu :

1. Analisis dan Definisi Kebutuhan (Requirements Analisys and Definition)

Konsultasi dengan para pengguna sangat diperlukan untuk menentukan

kegunaan dari sistem batasan-batasan dan tujuannya. Di mana kemudian hasilnua

didefinisikan lebih rinci dan digunakan untuk spesifikasi sistem yang akan dibuat.

2. Perancangan Sistem dan Perangkat Lunak (System and Software Design)

Proses perancangan sistem mengalokasikan kebutuhan sistem perangkat lunak

maupun keras dengan membentuk arsitektur sistem secara keseluruhan. Perancangan

Page 5: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

11

perangkat lunak mencakup rangkuman identifikasi kebutuhan dan gambaran awal

sistem peranti lunak serta hubungan antara keduanya.

3. Implementasi dan Pengujian Unit (Implementation and Unit Testing)

Pada tahap ini, perancangan perangkat lunak akan direalisasikan ke dalam

sekumpulan program atau unit program. Pengujian unit bertujuan untuk memastikan

bahwa setiap bagian dari unit program sesuai dengan spesifikasi atau fungsinya.

4. Penggabungan dan Pengujian Sistem (Integration and System Testing)

Unit-unit program yang berdiri sendiri akan digabungkan sebagai satu kesatuan

kemudian akan diuji sebagai sebuah sistem yang utuh untuk memastikan bahwa

kebutuhan perangkat lunak telah terpenuhi. Setelah dilakukan pengujian barulan

sistem perangkat lunak akan dikirimkan kepada pengguna (user).

5. Pengoperasian dan Pemeliharaan (Operation and Maintenance)

Secara umum tahap ini memiliki fase dalam jangka waktu yang lama.Sistem

yang telah selesai diinstal dan digunakan untuk kepentingan sebenarnya. Proses

pemeliharaan mencakup perbaikan kesalahan-kesalahan yang tidak ditemukan pada

tahap-tahap awal pengembangan, peningkatan implementasi sistem pada setiap unit,

dan peningkatan kegunaan sistem seiring dengan ditemukannya kebutuhan-

kebutuhan baru.

2.1.4 Unified Modelling Language (UML)

Unified Modelling Language (UML) adalah bahasa standar untuk

menggambarkan perancangan perangkat lunak.UML dapat digunakan untuk

menvisualisasikan, menentukan, membangun, dan mendokumentasikan artefak dari

Page 6: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

12

sebuah sistem perangkat lunak yang intensif. Dengan kata lain seperti arsitek

menciptakan rancangan pembangunan yang digunakan untuk konstruksi bangunan,

arsitek perangkat lunak membuat diagram UML untuk membantu pengembangan

perangkat lunak untuk membangun perangkat lunak. Jika anda memahami kosakata

UML (diagram elemen dan artinya), anda dapat jauh lebih mudah memahami dan

menentukan sistem dan menjelaskan desain sistem itu kepada orang lain. UML 2.0

menyediakan 13 diagram yang berbeda untuk digunakan dalam pemodelan perangkat

lunak. UML menyediakan pilihan (yang terkadang misterius) sehingga anda dapat

mengungkapkan semua aspek penting dari sistem. Pada saat yang sama, anda memiliki

fleksibilitas untuk menekan bagian-bagian dari diagram yang tidak relevan dengan

aspek yang dimodelkan dalam rangka untuk menghindari kekacauan diagram dengan

rincian yang tidak relevan.

Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan sintak/semantic.

Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai

diagram peranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax

mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML

terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD

(Object-Oriented Design), Jim Rumbaugh OMT (Object Modelling Technique), dan Ivar

Jacobson OOSE (Object-Oriented Software Engineering).

2.1.4.1 Use Case Diagrams

Menurut (Whitten & Bentley, 2007, p. 246), diagram use case adalah satu

bantuk diagram UML yang bertujuan untuk memberikan gambaran secara umum

mengenai keseluruhan fungsional sistem dalam bentuk aktor, aktivitas,

Page 7: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

13

danketergantungannya. Diagram ini menggambarkan siapa yang akan menggunakan

sistem dan dengan cara apa pengguna berinteraksi dengan sistem. Beberapa blok yang

digunakan antara lain :

Blok use case

Suatu bentuk yang menggambarkan suatu langkah tindakan yang memberikan

suatu nilai terukur untuk aktor dan digambar dalam bentuk elips.

Gambar 2.3. Model Use Case

Aktor (actor)

Aktor adalah orang.Organisasi, atau segala sesuatu yang melakukan interaksi

dengan sistem.

Gambar 2.4.Simbol Aktor

Page 8: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

14

Hubungan (relationship)

Sebuah garis yang digambarkan di antara dua simbol pada diagram use case.

Makna dari hubungan tersebut berbeda-beda, tergantung bagaimana garis itu

digambarkan dan tipe simbol apa yang digunakannya. Beberapa tipe hubungan yang

terdapat pada diagram use case adalah :

1. Gabungan (association) : hubungan antara pelaku dengan use case di mana

terjadi interaksi di antara mereka.

Gambar 2.5.Hubungan Asosiasi

2. Extends :use case yang terjadi dari langkah yang diekstraksi dari use case yang

lebih kompleks untuk menyederhanakan masalah orisinil dan arena itu

memperluas fungsinya.

Gambar 2.6.Hubungan Extends

Page 9: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

15

3. Uses (or Includes) : dua atau lebih use case yang melakukan langkah fungsional

yang identik.

Gambar 2.7.Hubungan Uses

4. DependsOn :use case yang memiliki ketergantungan dengan use case lainnya

untuk menetapkan rangkaian use case yang perlu dikembangkan.

Gambar 2.8.Hubungan Depends On

5. Inheritance : pada saat dua atau lebih aktor berbagi kelakuan yang umum.

Page 10: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

16

Gambar 2.9.Hubungan Inheritance

2.1.4.2 Activity Diagrams

Menurut (Whitten & Bentley, 2007, p. 390), activity diagrams adalah langkah-

langkah proses model atau aktivitas dari sistem, atau bisa juga disebut sebagai sebuah

diagram yang dapat digunakan untuk menggambarkan secara grafis aliran kerja dari

sebuah proses bisnis, langkah-langkah use case atau logika dari sebuah prilaku objek

(Object Behavior(method)).

Activity diagrams berbeda dengan flowchats, activity diagrams menyediakan

mekanisme untuk menggambarkan aktivitas yang terjadi secara parallel. Oleh karena itu

activity diagrams sangat berguna.

Activity diagrams adalah representasi grafis dari aliran kerja (workflow) atas

aktivitas-aktivitas yang bertahap dan aksi-aksi di dalam sebuah sistem. Diagram ini juga

mendukung proses seleksi, pengulangan, serta konkurensi.

Page 11: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

17

Table 2.1. Simbol pada ActivityDiagrams

No Simbol Gambar Keterangan

1 Initial node Menunjukkan awal dari suatu

proses.

2 Actions Menunjukkan langkah-langkah

aktivitas sistem yang terjadi.

3 Flow Untuk menunjuk ke aksi atau

proses yang lain. Dilengkapi

dengan kata-kata jika berasal

dari decision.

4 Decision Memiiki sebuah flow masuk

dan dua atau lebih flow keluar.

Menunjukkan aktivitas yang

dapat dipilih.

5 Merge Menyatukan flow yang

sebelumnya terpisah oleh

decision.

Page 12: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

18

6 Fork Menotasikan permulaan aksi

atau proses paralel yang dapat

terjadi dalam suatu urutan atau

terjadi secara bersamaan.

7 Join Semua aksi yang masuk ke

join harus telah diselesaikan

sebelum proses berlanjut.

8 ActivityFinal Menunjukkan akhir dari

proses.

Page 13: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

19

Gambar 2.10. ActivityDiagrams

Page 14: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

20

2.1.4.3 Sequence Diagrams

Menurut (Whitten & Bentley, 2007), sequence diagrams menggambarkan

interaksi antara setiap objek melalui pesan dalam eksekusi dari sebuah use case atau

operasi. Sistem pada sequence diagrams membantu untuk mengidentifikasi pesan-pesan

tingkat tinggi yang masuk dan keluar dari sistem. Kemudian pesan-pesan tersebut akan

menjadi tanggung jawab dari setiap objek yang akan memenuhi tanggung jawab dan

berkomunikasi dengan objek lainnya. Beberapa notasi yang terdapat pada sistem

sequence diagrams adalah:

1. Actor, berupa aktor yang memulai use case, ditunjukkan dengan simbol use case

aktor.

2. System, berupa kotak yang menunjukkan bahwa sistem sedang berjalan, ditandai

dengan notasi titik dua (:) pada awal nama sistem.

3. Lifelines, berupa garis menurun yang putus-putus dari simbol aktor dan sistem.

4. Activation bars, berupa balok yang terletak pada lifelines, yang menunjukkan

periode waktu ketika terjadi interaksi secara aktif.

5. Input messages, berupa anak panah mendatar dari aktor menuju sistem yang

menunjukkan sistem pesan masuk ke sistem, di mana kata pertama di awali

dengan huruf kecil, sedangkan huruf pertama dari kata berikutnya adalah huruf

besar dan tidak terdapat spasi antara kata tersebut, serta disertakan dengan tanda

kurung yang berisi parameter yang dibutuhkan.

6. Output messages, berupa anak panah mendatar dengan garis putus-putus dari

sistem menuju aktor yang menunjukkan pesan keluar dari sistem menuju aktor.

7. Receiver actor, berupa aktor yang menerima pesan dari sistem.

Page 15: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

21

8. Frame, berupa kotak yang menambahkan pesan terpisah untuk menunjukkan

perulangan (looping), alternative, atau pilihan.

Gambar 2.11. Sequence Diagrams

2.1.4.4 Class Diagrams

Menurut (Whitten & Bentley, 2007, p. 400), class diagrams menggambarkan

bentuk structural objek yang ada pada sistemnya, di mana diagram ini menunjukkan

objek-objek yang terdapat pada sistem serta relasi yang terjadi antara objek-objek

tersebut.

Page 16: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

22

Gambar 2.12. Class Diagrams

Pada class diagrams terdapat element-element yang penting, yaitu :

1. Class : digambarkan dalam bentuk kotak yang terbagi atas tiga bagian. Bagian

pertama (atas) adalah bagian nama dari class. Bagian kedua (tengah)

Page 17: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

23

mendefinisikan atribut class. Bagian akhir (bawah) mendefinisikan method dari

class.

Gambar 2.13. Class

2. Association : merupakan sebuah hubungan yang paling umum antara class dan

dilambangkan oleh sebuah garis yang menghubungkan antara class satu dengan

class lainnya. Garis ini bisa melambangkan tipe-tipe hubungan, contohnya :

a. One to One

b. One to Many

c. Many to Many

Gambar 2.14. Association

3. Composition : jika sebuah class tidak bisa berdiri sendiri dan harus merupakan

bagian dari class lain, maka class tersebut memiliki relasi composition terhadap

class tempat dia bergantung. Hubungan composition digambarkan sebagai suatu

garis dengan ujungnya berbentuk jajar genjang berisi/solid.

Gambar 2.15. Composition

Page 18: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

24

4. Aggregation : jika sebuah class bisa berdiri sendiri walaupun merupakan dari

class lain. Hubungan aggregation digambarkan dalam bentuk garis dengan

ujungnya berbentuk jajargenjang tanpa isi/kosong.

Gambar 2.16. Aggregation

5. Cara bagaimana atribut dan metode diakses oleh kelas lain didefinisikan dengan

visibility. UML menyediakan tiga tingkat dari visibility, yaitu :

a. Public : ditandai dengan simbol “+”

b. Pretected : ditandai dengan simbol “#”

c. Private : ditandai dengan simbol “-“

2.1.5 Internet

Menurut (Levine & Young, 2011, p. 9)internet adalah suatu jaringan yang sangat

besar, terdiri dari ratusan bahkan ribuan jaringan kecil dari jutaan komputer yang saling

terhubung satu sama lain

2.1.5.1 World Wide Web

WWW (World Wide Web) menurut (Sebesta, 2011, p. 6) adalah suatu sistem

layanan internet yang dapat mengakses ke seluruh halaman website yang ada untuk

mencari/ menerima suatu data dari database yang ada, dengan terhubung dengan

internet

Page 19: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

25

2.1.5.2 TCP/IP

TCP/IP menurut (Javvin Technologies Inc., 2004, p. 11), merupakan dasar dari

internet. Pengembangan pertama TCP/IP bernama Project DOD.Pada zaman sekarang

sebagian besar protocol dikembangkan oleh Internet Engineering Task Force (IETF)

yang berada dibawah naungan Internet Architecture Board (IAB) yaitusebuah organisasi

yang disponsori oleh pemerintah Amerika Serikat. TCP/IP berfungsi untuk melakukan

pengalamatan (addressing) dan rute (routing) dan transportasi kontrol (TCP,UDP dalam

layer transport).

2.1.6 OOP (Object Oriented Programming)

Object Oriented Programming menurut (Clark, 2011, p. 1), adalah sebuah

pendekatan pengembangan perangkat lunak dan struktur perangkat lunak ini

berdasarkan oleh benda-benda berinteraksi satu sama lain untuk menyelesaikan tugas.

Dalam menanggapi suatu pesan, objek melakukan suatu tindakan atau metode. Contoh:

seseorang ingin pergi ke suatu tempat dengan menggunakan mobil pada kasus ini orang

tersebut berinteraksi dengan mobil. Mobil tersebut terdiri atas benda-benda yang

berinteraksi satu sama lain. Pertama-tama orang yang menggunakan mobil tersebut

menyalakannya mobilnya.Dalam hal tersebut mengirimkan pesan (melalui sinyal listrik)

ke objek pemula, yang berinteraksi dengan objek mesin untuk menyalakan mobil.

Pada zaman sekarang banyak pengembang software bisnis yang berpindah halua

menjadi metode objek oriented dan bahasa pemrograman untuk menyelesaikan berbagai

masalah. Dan berikut adalah beberapa keuntungan adalah sebagai berikut:

1. Sebuah transisi yang lebih intuitif dari analisis model bisnis perangkat lunak ke

model penerapan perangkat lunak.

Page 20: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

26

2. Kemampuan untuk memelihara dan menerapkan perubahan dalam program yang

lebih efisien dan cepat.

3. Kemampuan untuk lebih efektif menciptakan sistem perangkat lunak

menggunakan proses tim, memungkinkan para ahli (specialists) untuk bekerja

pada bagian dari sistem.

4. Kemampuan untuk menggunakan kembali komponen kode dalam program lain

dan membeli komponen yang ditulis oleh pengembang pihak ketiga untuk

meningkatkan fungsi dari program mereka dengan sedikit usaha.

5. Integrasi yang lebih baik dengan sistem komputasi terdistribusi yang

digabungkan secara longgar.

6. Peningkatan integrasi dengan sistem operasi modern.

7. Kemampuan untuk membuat tampilan antarmuka yang lebih intuitif untuk

pengguna.

2.1.6.1 Karakteristik OOP

Menurut (Clark, 2011) beberapa karakteristik yang terdapat dalam OOP adalah:

a. Objects

Objek merupakan struktur data untuk menggabungkan data dan prosedur

agar dapat bekerja dengan data. Misalnya, apabila ingin melakukan

pencetakan, makakita harus bekerja dengan objek yaitu sebuah printer yang

bertanggung jawab atas data dan metode yang digunakan dengan printer

tersebut.

Page 21: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

27

b. Abstraction

Abstraction adalah kemampuan untuk melakukan abstraksi atau

menyaring sifat benda asing, akan terjadi kesulitan untuk memproses

sejumlah informasi dan konsentrasi pada tugas yang sedang dilakukan.

c. Encapsulation

Enkapsulasi adalah proses agar data yang ada tidakdapat diakses

langsung, melainkan tersembunyi. Untuk mendapatkan akses ke data,

diperlukan interaksi dengan objek yang bertanggung jawab untuk data.

d. Polymorphism

Polimorfisme adalah kemampuan dari dua objek yang berbeda untuk

melakukan pesan permintaan yang sama dalam cara yang berbeda.

e. Inheritance

Inheritanceberguna untuk mengklasifikasikan objek dalam program

sesuai dengan karakteristik dan fungsi yang umum.Hal itu membuat bekerja

dengan objek menjadi lebih mudah dan intuitif.Hal itu juga membuat

program menjadi lebih mudah, karena memungkinkan pembuat untuk

menggabungkan karakteristik umum kedalam objek orangtua/parent dan

mewarisi karakteristik tersebut di dalam objek anak/child.

f. Aggregation

Agregasi adalah ketika sebuah objek terdiri dari gabungan dari benda-

benda lain yang bekerja sama. Misalnya, mesin pemotong rumput adalah

gabungan dari objek roda, mesin, pisai, dan sebagainya.Bahkan, objek mesin

adalah gabungan dari berbagai objek. Kemampuan untuk menggunakan

Page 22: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

28

agregasi di dalam OOP merupakan fitur canggih yang memungkinkan

implementasi proses bisnis dan model secara akurat di dalam suatu program.

2.1.7 Interaksi Manusia dan Komputer

Menurut (Shneiderman dan Plaisant, 2010, p22) menjelaskan bahwa Interaksi

Manusia dan Komputer (IMK) adalah suatu ilmu yang menjabarkan perancangan,

evaluasi, dan implementasi sistem komputer interaktif. Titik berat IMK adalah

perancangan dan evaluasi antarmuka pemakai (user interface).Antarmuka pemakai

adalah bagian sistem komputer yang memungkinkan manusia berinteraksi dengan

komputer.

2.1.7.1 Lima Faktor Manusia Terukur

Menurut (Shneiderman & Plaisant, 2010, p. 32), ada lima faktor manusia terukur

yang dapat dijadikan evaluasi kebutuhan dalam perancangan suatu antarmuka, yaitu

sebagai berikut:

1. Waktu Belajar

Waktu belajar merupakan tolak ukur untuk seorang user mempelajari tindakan

yang di butuhkan untuk menjalani suatu program tersebut.

2. Kecepatan Kinerja

Kecepatan kinerja menjadi suatu tolak ukur seberapa cepat suatu tugas dapat

dilakukan oleh seorang user.

3. Tingkat kesalahan user

Tingkat kesalahan user menjadi tolak ukur untuk berapa banyak kesalahan yang

dilakukan user dalam mengerjakan suatu tugas.

Page 23: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

29

4. Daya ingat

Daya ingat menjadi tolak ukur seberapa baik seorang user dapat mengingat

pengetahuan yang didaptkan dalam beberapa waktu tertentu.

5. Kepuasan Subjektif

Kepuasan subjektif menjadi tolak ukur seberapa besar tingkat kepuasan user

pada tampilan antar muka pada suatu program / aplikasi.

2.1.7.2 Eight Golden Rules of Interface Design

Menurut (Shneiderman & Plaisant, 2010, p. 88), terdapat sautu aturan untuk

membuat suatu perancangan antarmuka dengan pemakai yaitu delapan aturan emas

(eight golden rules) dan berikut adalah perancangan 8 aturan emas tersebut:

1. Berusaha untuk konsisten

Konsisten tersebut harus dilakukan untuk setiap tindakan, perintah, dan istilah

yang digunakan pada menu, layar bantu, jenis warna tampilan, kapitalisasi,

huruf, dan sebagainya.

2. Menyediakan penggunaan yang universal

Seperti contoh dengan membuat tombol cepat (shortcuts) agar pengguna dapat

mengakses suatu program dengan mudah dan cepat.Pemakaian shortcuts

digunakan untuk mengurangi jumlah interaksi dan meningkatkan.

3. Memberikan umpan balik yang informatif

Setiap langkah yang dilakukan oleh pengguna haru diberikan umpan balik yang

informatif dan jelas, agar pengguna dapat mengerti apa yang dilakukannya dan

apa yang terjadi jika dilakukan hal tersebut.

Page 24: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

30

4. Merancang dialog untuk memberikan penutupan

Urutan tindakan sebaiknya diorganisasi ke dalam kelompok awal, tengah, dan

akhir. Tampilan harus memberikan dialog untuk menunjukkan penutupan ketika

aplikasi selesai diproses ato dijalankan.

5. Memberikan pencegahan dan penanganan kesalahan yang sederhana sebisa

mungkin, sistem dirancang untuk dapat mencegah user dari kesalahan fatal yang

dilakukan. Jika kesalahan dibuat, sistem harus mampu mendeteksi kesalahan,

menjelaskan, dan menawarkan penanganan kesalahan untuk memperbaikinya.

6. Memungkinkan pembalikan aksi yang mudah

Diharapkan adanya fitur untuk kembali (back) ke aktivitas sebelumnya. Fitur ini

bertujuan agar pengguna dapat kembali ke aktivitas sebelumnya jika ternyata

terdapat suatu kesalahan yang disebabkan pengguna, sehingga kesalahan dapat

diperbaiki.

7. Mendukung pusat kendali internal

User memiliki kendali sebagai pemberi aksi pada sistem antarmuka.Kemudian

antarmuka tersebut harus merespon kembali, sehingga dapat mengontrol

program-program yang ada dalam sistem.

8. Mengurangi beban ingatan jangka pendek

Sebuah sistem diharapkan dapat ditampilkan sesederhana mungkin dan

sebaiknya tampilan halaman yang banyak disatukan, serta diberikan cukup

waktu dalam mempelajari kode, singkatan, dan urutan tindakan.

Page 25: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

31

2.1.8 Pengertion Basis Data

2.1.8.1 Data

Menurut (Teorey, Lightstone, & Nadeau, 2011, p. 2), komponen dasar dari

sebuah file dalam sistem file adalah data, data adalah cacatan atas kumpulan fakta.

Dalam penggunaan sehari-hari data berarti sesuatu pernyataan yang diterima apa

adanya. Pernyataan ini adalah hasil dari pengukuran atas pengamatan suatu variable

yang bentuknya dapat berupa kata-kata, angka, atau citra.

2.1.8.2 BasisData

Menurut (Connoly & Begg, 2005, p. 15), basis data didefinisikan sebagai

sekumpulan data yang saling terhubung secara logis, dan mendeskripsiikan data, yang

dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi.

Menurut (Teorey, Lightstone, & Nadeau, 2011, p. 2), basis data merupakan

objek yang lebih kompleks, yang merupakan kumpulan data yang saling terikat yang

disimpan dan digunakan untuk melayani kebutuhan beberapa pengguna dalam satu atau

lebih organisasi.Motivasi untuk menggunakan basis data dari pada file-file lebih besar

ketersediaannya, integrasi data agar lebih mudah di akses dan update untuk transaksi

yang kompleks, dan mengurangi terjadinya redudansi data.

2.1.8.3 Database Management System (DBMS)

Menurut (Teorey, Lightstone, & Nadeau, 2011, p. 2), DBMS adalah perangkat

lunak sistem yang digunakan untuk memanipulasi data.Sebuah DBMS mendukung

pandangan logis (skema, subskema) pandangan fisik (metode akses, dataclustering),

Page 26: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

32

definisi bahasa data, memanipulasi bahasa data, dan utilitas penting seperti manajemen

transaksi dan kontrol konkurensi, integritas data, pemulihan data, serta keamanan.

2.2 Teori Khusus

2.2.1 GreetingSystem

Greeting sistem dalam informasi pada suatu event adalah pengelolahan dengan

cara mengumpulkan semua informasi yang ada dan setelah itu diorganisir dengan baik

dan mengurusi informasi tersebut dengan baik, jika event itu sangat kecil maka mungkin

dapat dilakukan pegelolahan secara sendiri, tetapi jika terdapat event yang besar, maka

diperlukan informasi manager dalam membantu pembuatan event. (Sharma, 2007)

2.2.2 Sencha Touch

(Kosmaczewski, 2012, p. 65), Sencha Touch merupakan UI Framework yang

memiliki kemiripan dengan CocoaTouch, Swing, maupun .NET. Sencha touch dibuat

dengan bahasa JavaScript. Sencha Touch dipersiapkan untuk kreasi web applications

yang bersifat sangat kompleks.Sencha Touch merupakan produk dari Sencha, yang

dibangun berdasarkan javascript dari Ext.JS, jQTouch dan Raphael. Dan sekarang

sencha touch sudah memasuki versi 2.01.

2.2.3 HTML 5

Menurut (Cruse & Jordan, 2011, p. 169), HTML 5 dapat mengakhiri

penggunaan Flash untuk banyak aplikasi media, itu yang menyebabkan JavaScript

bahkan menjadi lebih popular dari sebelumnya. Ada banyak pustaka dan plug-in yang

tersedia untuk meningkatkan dan memperluas HTML5 dan CSS3 untuk menciptakan

pengalaman interaktif yang lebih kaya.

Page 27: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

33

HTML5, yang secara liberal menggunakan bantuan Cascading Style Sheets serta

JavaScript, bangkit untuk memenuhi tantangan - tantangan baru.Inovasi terbaru dalam

pengembangan web ini menjadikannya suatu masa keemasan bagi penerbit

online.Secara keseluruhan, HTML5 merupakan sebuah evolusi, bukan hanya revolusi

berdasarkan (Cruse & Jordan, 2011, p. 6).

Menurut (Cruse & Jordan, 2011, p. 6) pada saat HTML5 dikembangkan, maka

diambil prinsip dasar penamaan semantic (penamaan suatu benda berdasarkan kegunaan

mereka bukan bagaimana cara menampilkan mereka) ke suatu level yang baru. Ini

adalah factor kunci yang membuat HTML5 berbeda dari para pendahulunya.Menurut

buku HTML5 Multimedia Development Cookbookakan banyak ditemukan berbagai

pemikiran dan pengoptimalan penamaan kode bagi developer.

Menurut jurnal yang ditulis oleh (Yousuf Hasan, 2012, p. 455), perkembangan

smartphone memaksa sebuah instansi perusahaan untuk mengembangkan versi aplikasi

yang sudah ada di smartphone mereka.Penjualan smartphone terfragmentasi dan cepat

berkembang. Untuk membuat suatu aplikasi untuk berbagai jenis smartphone yang

mempunyai platform yang berbeda dibutuhkan banyak biaya dan waktu . Tetapi seiring

berkembangnya teknologi HTML5 muncul sebagai pilihan yang tepat dalam

membangun sebuah aplikasi di berbagai platform, tidak hanya itu HTML5 memberikan

kualitas yang baik juga dalam menampilkan suatu aplikasi.

2.2.4 Android

Android adalah sistem operasi yang digunakan pada telepon selular atau tablet

yang berbasis Linux. Android menyediakan platform terbuka bagi para pengembang

untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh berbagai macam

Page 28: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

34

peranti gerak. Awalnya Google Inc., membeli Android Inc., pendatang baru yang

membuat peranti lunak untuk ponsel. Kemudian untuk mengembangkan Android,

dibentuklah Open Headset Alliance, konsorsium dari 34 perusahaan peranti keras,

peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm,

T-Mobile, dan Nvidia. Pada saat perilisan 5 November 2007, Android bersama Open

Headset Alliance menyatakan mendukung pengembangan standar terbuka pada

perangkat seluler. Di lain pihak, Google merilis kode-kode Android di bawah lisensi

Apache,s ebuah lisensi perangkat lunak dan standar terbuka perangkat seluler. Di dunia

ini terdapat dua jenis distributor sistem operasi Android.Pertama yang mendapat

dukungan penuh dari Google atau Google Mail Service (GMS) dan kedua adalah yang

benar-benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai

Open Headset Alliance (OHD).

Menurut (DiMarzio, 2008, p. 6), Android sebagai sistem adalah Sistem Operasi

(OS) berbasis bahasa pemrograman Java yang beroperasi/berjalan pada kernel Linux

2.6.Sistem ini sangat ringan dan didukung oleh banyak keunggulan (fitur-fitur).

Aplikasi-aplikasi pada Android dikembangkan dengan menggunakan bahasa

pemrograman Java dan dapat diporting lebih mudah ke platform baru.

2.2.4.1 Fitur Android

Kerangka aplikasi : memungkinkan penggunaan dan penghapusan komponen

yang tersedia.

Dalvik virtual machine : mesin virtual dioptimalkan untuk perangkat

mobile/smartphone.

Grafik : grafik 2D dan 3D berdasarkan pada library OpenGL.

Page 29: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

35

SQLite :database pada mobile yang digunakan untuk menyimpan data.

Multimedia :audio (MP3, AAC), video, dan berbagai macam format gambar

(JPG, PNG, GIF).

Koneksi : GSM, EDGE, 3G, Bluetooth, Wifi (hardware dependent).

Kamera, GPS, Kompas, accelerometer, dan masih banyak lainnya.

2.2.5 JSON (Javascript Object Notation)

Menurut (Dunlu Peng, 2011, p. 1) JSON (JavascriptObjectNotation) adalah

suatu nilai kunci untuk format petukaran data. JSON memudahkan kita untuk

membaca dan menulis, dan komputer untuk menghasilkan dan mengurai. Meskipun

JSON memiliki beberapa karakteristik yaitu mempunyai kemiripan dengan bahasa

pemrograman C, , C + +, Java, JavaScript dan Perl. Sehingga Fitur-fitur ini membuat

format JSON mudah digunakan pada pengiriman data JSON terbuat dari dua struktur

yaitu:

1. Kumpulan pasangan nama atau nilai. Pada bahasa tertentu, hal ini biasa disebut

objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash

(hash table), daftar berkunci (keyed list), atau associative array.

2. Daftar nilai berurutan (an ordered list of values). Seperti yang kita ketahui

kebanyakan bahasa, hal ini disebut juga array, vector, list, sequence. Pada

dasarnya, semua bahasa pemrograman modern mendukung struktur data ini

dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian

karena format data mudah dipertukarkan dengan bahasa-bahasa pemrograman

yang juga berdasarkan pada struktur data ini. JSON menggunakan bentuk

sebagai berikut:

Page 30: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

36

Object

Object adalah sepasang nama atau nilai yang tidak terurutkan. Cara

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

dengan } (kurung kurawal tutup). Setiap nama diikuti dengan : (titik dua) dan

setiap pasangan nama/nilai dipisahkan oleh , (koma).

Array

Array adalah kumpulan nilai yang terurutkan. Larik dimulai dengan

[ (kurung kotak buka) dan diakhiri dengan ] (kurung kotak tutup). Setiap

nilai dipisahkan oleh , (koma).

Value

Nilai (value) dapat berupa sebuah string dalam tanda kutip ganda, atau

angka, atau true atau false atau null, atau sebuah objek atau sebuah larik.

Struktur-struktur tersebut dapat disusun bertingkat.

String

String adalah kumpulan dari nol atau lebih karakter Unicode, yang

dibungkus dengan tanda kutip ganda. Di dalam string dapat digunakan

backslash escapes "\" untuk membentuk karakter khusus. Sebuahkarakter

mewakili karakter tunggal pada string.String sangat mirip dengan string C

atau Java.

Number

Angka (Number) sangat mirip dengan angka di C atau Java, kecuali

format oktal dan heksadesimal tidak digunakan.

Page 31: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

37

2.2.6 Google Cloud Messaging

Menurut (Shang Zhao, 2012, p. 127), Google Cloud Messaging (GCM) adalah

system push notification service yang berdasarkan dari C2DM (Cloud to Device

Messaging) dengan beberapa perkembangan seperti mendukung multicastmessages,

tidak tegantung dengan kuota, mendukung JSON notificationmessages, mempunyai

daya tahan baterai handphone lebih. Namun demikian, desain fundamental dari botnet

C2DM memanfaatkan layanan push notification sebagai C & C channel, dan mungkin

botnet GCM lebih efektif dalam penyebaran notifikasi karena dapat dikirim lewat

multicast, dan tidak memakai kuota.

2.2.7 PHP (Hypertext Preprocessor)

Menurut (Powers, 2008) PHP (Hypertext Preprocessor) adalah bahasa scripting

yang bersifat open source.Dalam pengimplementasinya digunakan dalam

pengembangan web dan dapat digabungkan dengan HTML. PHP juga mirip dengan

bahasa C, Java, dan Perl , sehingga penggunaan PHP dapat secara cepat dipelajari oleh

programmer. PHP bukan merupakan bahasa berorientasi objek, tetapi bahasa yang

memiliki fitur luas yang berorientasi objek. Fitur ini mengalami beberapa perubahan

ketika PHP 5 dirilis pada bulan Juli 2004,

Dalam jurnal yang ditulis oleh (Suzumura, Trent, Tatsubori, Tozawa, &

Onodera, 2008, p. 385), menyatakan bahwa PHP bahasa PHP yang diimplementasikan

dalam web service.Web service tersebut menggunakan PHP5 yang sudah mendukung

SOAP, sehingga pengembangan web service dapat dilakukan dengan tidak

menggunakan code yang banya

Page 32: library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2DOC/2012-1... · Web viewHubungan composition digambarkan sebagai suatu garis dengan ujungnya berbentuk jajar genjang

38

2.2.8 Javascript

Menurut (Flanagan, 2011, p. 1), Javascript adalah bahasa pemrograman untuk

web. Pada zaman sekarang ini web yang ada menggunakan JavaScript. Javascript

adalah bahasa pemrograman berjenis untypedlanguage, tingkat tinggi, dan dinamis dan

mempunyai gaya pemrograman berorientasi objek dan fungsional.

Javascript benar-benar berbeda dengan bahasa pemrograman Java, dan akar dari

bahasa scripting javascript telah berkembang menjadi bahasa untuk keperluan umum

yang kuat dan efisien

2.2.9 PhoneGap

Menurut (Kosmaczewski, 2012, p. 91), PhoneGap dikembangkan oleh Nitobi

lalu Adobe.Lebih daripada itu, PhoneGap telah menjadi proyek resmi dari Apache

Foundation dan sekarang dinamakan Apache Cordova.Secara teknis, dapat dikatakan

bahwa PhoneGap adalah distribusi dari Apache Cordova.

PhoneGap adalah sebuah Plugin Arsitekturuntuk mobile aplikasi.Phone Gap

merupakanimplementasi opensource dan terbuka, itu berarti pengembangan perusahaan

dan dapat menggunakan phone gap untuk aplikasi mobile yang bebas, komersial, open

source, atau kombinasi dari semuanya. PhoneGap akan menggunakan standar berbasis

teknologi web untuk menjembatani aplikasi web dan perangkat mobile.

PhoneGap membungkus aplikasi yang diciptakan menggunakkan HTML, CSS

dan JavaScript ke dalam bahasa native menggunakkan komponen web browser native

yang disediakan oleh kebanyakan smartphone.