27
7 BAB 2 LANDASAN TEORI 2.1. Teori Umum 2.1.1. Artificial Intelligence Gambar 2.1 Beberapa definisi dari artificial intelligence, dikelompokkan menjadi 4 kategori (Russel & Norvig, 2010, p. 2). Dari definisi-definisi di atas, kita dapat melihat bahwa definisi disebelah atas berkaitan dengan proses berpikir dan penalaran, dimana yang di sebelah bawah berkaitan dengan tindakan. Di sebelah kiri berkaitan dengan human performance dimana yang sebelah kanan berkaitan dengan rasionalitas.Sebuah system dikatakan rasional jika sistem tersebut melakukan hal yang benar (Russel & Norvig, 2010, pp. 1-5).

BAB 2 LANDASAN TEORI 2.1. Teori Umum - library.binus.ac.idlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00595-SI Bab 2.pdf · Multimediaadalah kombinasi dari text, art ... menu,

  • Upload
    buithuy

  • View
    217

  • Download
    0

Embed Size (px)

Citation preview

7

BAB 2

LANDASAN TEORI

2.1. Teori Umum

2.1.1. Artificial Intelligence

Gambar 2.1 Beberapa definisi dari artificial intelligence, dikelompokkan menjadi 4

kategori (Russel & Norvig, 2010, p. 2).

Dari definisi-definisi di atas, kita dapat melihat bahwa definisi disebelah atas berkaitan

dengan proses berpikir dan penalaran, dimana yang di sebelah bawah berkaitan dengan

tindakan. Di sebelah kiri berkaitan dengan human performance dimana yang sebelah

kanan berkaitan dengan rasionalitas.Sebuah system dikatakan rasional jika sistem

tersebut melakukan hal yang benar (Russel & Norvig, 2010, pp. 1-5).

8

2.1.1.1. Acting Humanly: The Turing test Approach

Dari pendekatan Turing Test yang diusulkan oleh Alan Turing (1950), untuk dapat

mencapai makna dari intelligence maka sebuah komputer harus memiliki

kemampuan-kemampuan berikut ini:

• Natural Language Processing: kemampuan untuk berkomunikasi dalam

bahasa Inggris.

• Knowledge Representation: untuk menyimpan apa yang diketahui dan

didengar.

• Automated Reasoning: untuk menggunakan informasi yang disimpan untuk

menjawab pertanyaan dan menghasilkan simpulan.

• Machine Learning: untuk beradaptasi dengan lingkungan baru dan

mendeteksi pola dari kemungkinan-kemungkinan.

• Computer Vision: untuk melihat objek-objek.

• Robotics: untuk memanipulasi objek-objek dan pergerakannya.

2.1.1.2. Thinking Humanly: The Cognitive Modelling Approach

Pendekatan ini dilakukan dengan mengerti cara kerja dari pikiran manusia, ada 3 cara

yaitu:

• Instropeksi: mencoba untuk menangkap jalan pikir diri kita sendiri.

• Psychological Experiments: observasi seseorang dalam tindakannya.

• Brain Imaging: observasi otak manusia dalam suatu tindakan.

9

Ketika kita sudah mendapatkan cukup teori yang tepat mengenai pikiran manusia,

maka akan menjadi mungkin untuk mengekspresikan teori tersebut sebagai program

computer.

2.1.1.3. Thinking Rationally: The “Laws of Thought” Approach

Pendekatan ini dikenalkan oleh ahil filsafat Yunani, Aristotle yang mencoba

menyusun pemikiran yang benar.Pemikiran dia menyediakan pola untuk struktur-

struktur argumen yang selalu menghasilkan simpulan yang benar kalau diberikan

premis-premis yang benar.Ada 2 hambatan utama dalam pendekatan ini.Pertama,

tidak mudah untuk mengambil pengetahuan informal dan menyatakan dalam bahasa

resmi yang dibutuhkan oleh notasi logika, khususnya ketika informasi tersebut

kepastiannya kurang dari 100%.Kedua, ada perbedaan yang cukup besar antara

menyelesaikan masalah dalam teori dan menyelesaikan problem tersebut pada

prakteknya. Bahkan masalah-masalah dengan hanya beberapa ratus fakta-fakta dapat

menguras resources komputer kecuali memiliki penuntun untuk menentukan langkah

yang akan dicoba pertama.

2.1.1.4. Acting Rationally: The Rational Agent Approach

Sebuah agen hanyalah sesuatu yang melakukan tindakan. Memang benar semua

program komputer melakukan sesuatu, tetapi agen-agen komputer diharapkan untuk

dapat melakukan lebih: beroperasi secara mandiri, melihat lingkungannya, bertahan

untuk periode waktu yang panjang, beradaptasi terhadap perubahan, dan membuat

dan mengejar tujuan. Jadi bagaimana untuk melakukan tindakan secara rasional

secara logika berdasarkan simpulan yang akan mencapai tujuannya. Pendekatan ini

memiliki 2 keuntungan atas pendekatan-pendekatan lainnya.Yang pertama,

10

pendekatan ini lebih umum dari pendekatan “laws of thought” karena kesimpulan

yang benar hanya satu dari beberapa mekanisme yang mungkin untuk mencapai

rasionalitas.Kedua, lebih mudah diterima pengembangan ilmiah dibandingkan

pendekatan dari sifat atau pemikiran manusia.

2.1.2. Multimedia

Multimediaadalah kombinasi dari text, art, sound, animation, dan video yang ditampilkan

komputer atau alat elektronik lainnya. Ketika anda memungkinkan seorang end user –

yang dikenal juga sebagai penonton dari suatu proyek multimedia – untuk mengontrol

apa dan kapan elemen-elemen disampaikan, maka hal ini disebut dengan interactive

multimedia. Ketika anda menyediakan sebuah struktur dari elemen-elemen yang

berhubungan dengan penggunadapat melakukan navigasi, maka interactive multimedia

menjadi hypermedia(Vaughan, 2011, p. 1).

2.1.2.1. Text

Text digunakan sebagai salah satu media komunikasi bagi manusia.Semenjak

kepopuleran Internet dan World Wide Web, text menjadi sangat penting. Bahasa

native dari HTML (Hypertext Markup Language), secara original dibuat untuk

menampilkan simple text documents pada layar komputer dengan beberapa gambar

sebagai ilustrasi (Vaughan, 2011, pp. 18-20). Beberapa hal yang harus kita

perhatikan, yaitu:

2.1.2.1.1. Kekuatan dari Arti

Bahkan sebuah katapun dapat berarti banyak hal, jadi ketika kita memulai bekerja

dengan text, sangatlah penting untuk mempertahankan akurasi dan sederhana

tetapi jelas dalam kata yang kita pilih. Dalam multimedia, kata-kata ini

11

akanmuncul dalam judul, menu, dan navigasi dan yang juga muncul dalam naratif

maupun content(Vaughan, 2011, pp. 20-21).

2.1.2.1.2. Kekuatan dan Keanehan Bahasa Inggris

Sebagaimana kita tahu, bahwa bahasa Inggris merupakan bahasa

internasional.Penelitian oleh British Council menyatakan bahwa 1 milyar orang

berbicara Inggris pada milenium ke-2 sebagai bahasa pertama, kedua, ataupun

asing mereka.Inggris merupakan bahasa resmi dari lebih dari 75 negara. Lebih

dari dua per tiga ilmuwan dunia membaca dalam bahasa Inggris, dan tiga per

empat surat di dunia ditulis dalam bahasa Inggris. Tercatat bahwa 80% informasi

dunia yang tersimpan dalam komputer-komputer ditulis dalam bahasa Inggris.

Tetapi sayangnya menurut profesor berkebangsaan Belanda, Boeree dari

Shippensburg University mengatakan bahwa, “Unfortunately for learners of

English, it still has several irregular verbs (e.g., to be and to have) and a large

number of strong verbs (e.g. sing-sang-sung), plus a few irregular plurals (e.g.

child-children, manmen...)”. Jadi bahasa Inggris ini masih memiliki beberapa

ketidakteraturan.(Vaughan, 2011, pp. 21-22)

2.1.2.1.3. Fonts and Faces

Sebuah typeface adalah family dari graphic characters yang biasanya termasuk

banyak ukuran dan styles. Sebuah font merupakan sebuah koleksi dari karakter-

karakter dari sebuah ukuran dan style yang dimiliki oleh suatu typeface

family.Font style khusus adalah boldface dan italic. Software komputer anda dapat

memasukkan atribut lain seperti underlining dan outlining karakter-karakter

(Vaughan, 2011, p. 22).

12

2.1.2.1.4. Cases

Kita mengetahui mengenai huruf kapital yang dikenal sebagai uppercase dan

huruf kecil yang dikenal sebagai lowercase. Penelitian telah membuktikan bahwa

kata-kata yang mengkombinasikan antara uppercase dan lowercase lebih mudah

untuk dibaca daripada hanya uppercase. Kecuali memang dalam hal yang penting

atau mendesak (Vaughan, 2011, p. 24).

2.1.2.1.5. Serif vs. Sans Serif

Pendekatan untuk mengkategorikan typefaces yang dimengerti secara umum yaitu

serif dan sans serif. Pendekatan ini adalah cara yang paling sederhana untuk

mengkategorisasikan sebuah typeface. Kalau serif memiliki sedikit dekorasi pada

akhir dari letter stroke.Kalau dalam bentuk halaman yang di-print, maka yang

dipakai adalah serif karena membantu mata dari pembaca mengikuti garis dari

teks. Digunakan juga untuk headlines dan bold statements. Untuk sans serif lebih

banyak dipakai pada layar karena lebih mudah dibaca dan menarik.(Vaughan,

2011, pp. 24-25)

Gambar 2.2 Serif vs Sans Serif(Vaughan, 2011, p. 25)

2.1.2.2. Images

Gambar mungkin dapat kecil atau besar, atau bahkan full screen.Mereka dapat juga

diberi warna, ditempatkan pada sembarang tempat pada layar, dapat

13

geometricmaupun berbentuk aneh. Salah satu cara untuk menghasilkan gambar ini

yaitu dengan bitmaps(Vaughan, 2011, p. 70).

2.1.2.2.1. Bitmaps

Sebuah bit adalah elemen terkecil dalam digital world, sebuah electronic digit

yang berupa on atau off, atau true (1) atau false (0). Hal ini berhubungan dengan

binary, karena hanya memiliki 2 states (on atau off). Sebuah map merupakan

matriks 2 dimensi dari bits ini. Jadi sebuah bitmap merupakan matriks sederhana

dari titik-titik kecil yang membentuk sebuah gambar dan ditampilkan pada layar

computer atau di-print(Vaughan, 2011, p. 71).

2.1.2.3. Sound

Ketika sesuatu bergetar dalam udara dengan bergerak mundur dan maju, akan

menciptakan gelombang-gelombang tekanan. Gelombang-gelombang ini ketika

mencapai gendang telinga anda, akan mengalami perubahan tekanan sebagai suara

(Vaughan, 2011, p. 104).

Digital audio dibuat ketika anda merepresentasikan karakteristik dari sebuah

gelombang suara menggunakan angka (digitizing).Digitized sound merupakan

sampled sound. Setiap beberapa bagian dalam 1 detik, sebuah sampel dari suara akan

diambil dan disimpan sebagai informasi digital dalam bits dan bytes. Kualitas dari

digital recording ini bergantung pada sebarapa seringsampel diambil dan berapa

banyak angka yang digunakan untuk merepresentasikan nilai dari setiap sampel

(Vaughan, 2011, p. 106).

14

2.1.2.4. Animation

Animasi membuat presentasi static menjadi lebih hidup. Animasi merupakan

perubahan visual sejalan dengan waktu dan dapat menambahkan kekuatan lebih pada

multimedia projects dan web pages(Vaughan, 2011, p. 140).

Menggunakan software dan teknik yang sesuai, anda dapat menganimasi gambar

dalam banyak cara. Animasi tersimpel berjalan pada 2-D, untuk yang lebih kompleks

terjadi pada intermediate 2½-D (shadowing, highlights, dll), dan animasi yang paling

realistic pada 3-D. Kalau untuk 2-D menggunakan 2 axis yaitu x dan y, kalau 2½-D

menggunakan z tetapi hanya untuk shadowing dan highlighting, tetapi gambarnya

tetap pada sumbu x dan y, sedangkan pada sumbu 3-D menggunakan 3 sumbu yaitu

x, y, dan z (Vaughan, 2011, pp. 142-143).

2.1.2.5. Video

Video merupakan elemen multimedia yang paling menarik dan merupakan alat yang

sangat baik untuk membawa pengguna lebih dekat dengan dunia nyata.Sekarang ini

video merupakan salah satu elemen multimedia yang dapat menarik perhatian dari

suatu keramaian dan juga mempertahankan minat belajar seorang pelajar dalam

sebuah proyek belajar berbasiskan komputer.Dari semua elemen multimedia,

menempatkan performa tertinggi dari computer atau device anda, termasuk juga

memory dan storage (Vaughan, 2011, p. 164).

15

2.1.3. Human-Computer Interaction

2.1.3.1. Eight Golden Rules

Ada delapan aturan emas dalam merancang interface(Shneiderman, Plaisant, Cohen,

& Jacobs, 2010, pp. 88-89), yaitu:

2.1.3.1.1. Berusaha Untuk Konsisten

Urutan tindakan yang konsisten dibutuhkan dalam situasi yang mirip.

Terminologi yang identic seharusnya digunakan pada prompts, menus, dan help

screens. Warna, layout, capitalization, fonts, dan lain lain yang konsisten harus

digunakan.

2.1.3.1.2. Menyediakan Fungsionalitas Universal

Mengetahui kebutuhan dari pengguna berbeda dan design untuk plasticity,

memfasilitasi perubahan dari content. Perbedaan antara orang awam dan expert,

rentang umur, cacat, dan perbedaan keanekaragaman teknologi dapat memberikan

gambaran dalam merancang design.Fitur untuk orang awam misalnya penjelasan

dan fitur untuk orang ahli misalnya shortcuts dapat memperkaya interface design

dan meningkatkan kualitas sistem.

2.1.3.1.3. Memberikan Feedback Informatif

Untuk setiap tindakan user, harus ada system feedback.Untuk tindakan yang

sering dan minor, respon dapat menjadi sederhana, tetapi untuk tindakan yang

jarang dan major, respon dapat menjadi besar.

2.1.3.1.4. Merancang Dialog Untuk Menghasilkan Penutupan

Urutan tindakan harus dikelompokkan ke dalam kelompok dengan permulaan,

pertengahan, dan akhir.Informative feedback pada akhir dari sebuah kelompok

16

aksi memberikan pengguna kepuasan atas pencapaian, rasa lega, tanda untuk

membatalkan rencana lain yang sudah dipikirkan, dan sebagai indikator untuk

persiapan ke kelompok aksi berikutnya. Sebagai contoh e-commerce web sites

memindahkan pengguna dari memilih produk ke checkout, diakhiri dengan

halaman konfirmasi yang jelas yang menyelesaikan transaksi tersebut.

2.1.3.1.5. Mencegah Eror

Sebisa mungkin, design sebuah sistem yang dimana pengguna tidak dapat

membuat eror-eror yang serius. Misalnya: Untuk menu yang tidak cocok, bisa di--

disable/hide dan juga untuk field numerik menolak untuk karakter alfabet. Jika

user membuat sebuah eror, interface tersebut seharusnya dapat mendeteksi eror

tersebut dan menawarkan instruksi yang simple, constructive, dan spesifik untuk

recovery.Sebagai contoh, pengguna seharusnya tidak perlu memasukkan semua

field kembali bila hanya salah satu field, tetapi sebaiknya dituntun untuk

membetulkan bagian yang salah.Aksi yang membuat eror seharusnya membiarkan

keadaan sistem tidak berubah, atau interface memberikan instruksi untuk

mengembalikan keadaan.

2.1.3.1.6. Memberikan Aksi Balik Yang Mudah

Sebisa mungkin, aksi yang dilakukan dapat diulang.Fitur ini mengurangi

kecemasan, semenjak pengguna mengetahui eror dapat dibatalkan, dan

memberikan keberanian untuk eksplorasi pilihan yang tidak familiar.Dapat berupa

aksi tunggal, entri data, atau sebuah kelompok tindakan lengkap.

2.1.3.1.7. Mendukung Pusat Kendali Internal

17

Pengguna yang sudah berpengalaman sangat menginginkan rasa bahwa mereka

bertanggung jawab atas sistem dan sistem merespon tindakan dari mereka.Mereka

tidak mau ada kejutan atau perubahan dalam keadaan yang familiar.Mereka

merasa terganggu dengan pengulangan entry data yang membosankan, kesusahan

dalam mencari informasi yang diperlukan, dan ketidakmampuan untuk

menghasilkan hasil yang mereka inginkan.

2.1.3.1.8. Mengurangi Beban Ingatan Jangka Pendek

Kapasitas manusia yang terbatas untuk memroses informasi dalam short-term

memory membutuhkan design yang membutuhkan pengguna untuk mengingat

informasi dan kemudian menggunakan informasi tersebut pada layar lain.

2.1.3.2. Five Measurable Human Factors Goals

Terdapat lima factor manusia terukur yang dapat dijadikan sebagai pusat evaluasi

(Shneiderman, Plaisant, Cohen, & Jacobs, 2010, p. 32), yaitu:

2.1.3.2.1. Waktu Belajar

Seberapa lama user belajar untuk dapat melakukan tindakan yang benar dalam

menggunakan aplikasi.Ada user yang dapat belajar dengan cepat dan ada juga

yang belajar dengan lambat, hal ini tergantung dengan masing-masing user itu

sendiri.Hal ini yang harus kita perhatikan untuk dapat mempermudah user dalam

belajar menggunakan aplikasi yang kita buat.

2.1.3.2.2. Kecepatan Melakukan Suatu Tugas

Seberapa lama waktu yang diperlukan untuk melakukan suatu tugas.Di sini kita

melihat ketika user melakukan suatu tindakan, berapa lama waktu yang

dibutuhkan user tersebut dalam menyelesaikan tindakan tersebut.

18

2.1.3.2.3. Eror Yang Dibuat Pengguna

Seberapa banyak dan eror yang seperti apa yang dibuat orang ketika melakukan

suatu tindakan. Sekalipun waktu untuk membuat dan membetulkan eror mungkin

tergabung dalam kecepatan performa, dengan user interface yang baik akan dapat

mengurangi atau bahkan menghilangkan kemungkinan pengguna untuk

melakukan eror.

2.1.3.2.4. Daya Ingat Dari Waktu Ke Waktu

Seberapa baik penggunamaintain pengetahuan mereka setelah 1 jam, 1 hari, atau

1 minggu. Daya ingat mungkin berhubungan dekat dengan waktu belajar, dan

frekuensi dari penggunaan.

2.1.3.2.5. Ketertarikan

Seberapa banyak pengguna suka menggunakan berbagai aspek dari

interface.Jawabannya dapat dipastikan dengan wawancara atau survey yang

termasuk skala kepuasan dan keleluasaan untuk berkomentar.

Setiap designer menginginkan untuk berhasil di setiap ukuran, tetapi ada harga yang

harus ditukar.Jika waktu belajar diperpanjang, maka waktu performa tugas dapat

dikurangi dengan menggunakan singkatan-singkatan, macros, dan shortcuts.Jika

tingkat eror ditahan seminimal mungkin, maka kecepatan performa mungkin harus

dikorbankan.

2.1.4. Waterfall Model

Waterfall Model disebut juga dengan Classic Life Cycle, menyediakan sebuah

pendekatan sistematik dan sekuensial pada pengembangan software yang dimulai dengan

spesifikasi kebutuhan customer dan berlangsung melalui planning, modeling,

19

construction, deployment, dan terakhir ongoing support pada software yang telah jadi

(Pressman, 2010, p. 39).

Gambar 2.3 Waterfall Model(Pressman, 2010, p. 39)

2.1.4.1. Communication

Dalam tahap ini terdiri dari dua, yaitu Project Initiation dan Requirements

Gathering.Requirements Gathering yang dilakukan harus secara intensif dan

difokuskan kepada software.

2.1.4.2. Planning

Setelah Communication, maka akan masuk ke tahap berikutnya yaitu Planning.

Terdiri dari tiga, yaitu Estimating, Scheduling, Tracking. Pada tahap ini software

engineer melakukan penjadwalan untuk menyelesaikan tahap – tahap pembuatan

software berdasarkan waktu yang telah dijadwalkan.

2.1.4.3. Modeling

Setelah Planning, maka akan masuk ke tahap berikutnya yaitu Modelling. Terdiri dari

2, yaitu Analysis dan Design. Pada tahap Designakan focus pada empat atribut

program yaitu Data Structure, Software Architecture, Interface Representation, and

Algorithm Detail. Pada tahap ini mengubah requirements menjadi software

representation sebelum penulisan code dimulai.

20

2.1.4.4. Construction

Setelah Modelling, maka akan masuk ke tahap berikutnya yaitu Construction. Terdiri

dari 2, yaitu Code dan Test. Pada tahap ini Designakan diubah ke dalam bentuk

bahasa yang dimengerti oleh mesin. Setelah penulisan code sudah selesai, maka

program tersebut akan diuji. Pengujian ini dilakukan agar segala bentuk eror dapat

dibetulkan dan juga agar input yang dimasukkan dapat menghasilkan output yang

sesuai.

2.1.4.5. Deployment

Setelah Construction, maka akan masuk ke tahap berikutnya, yaitu Deployment.

Terdiri dari tiga, yaitu Delivery, Support, Feedback.Pada tahap ini Software Engineer

menyediakan dokumentasi untuk semua fitur dan fungsi yang ada dalam program

yang sudah dibuat sehingga memudahkan customer dalam menggunakan program

tersebut. Dan juga Software Enginnermendapat umpan balik dari customer terhadap

software yang dibuat untuk perbaikan yang lebih baik dengan modifikasi fungsi dan

fiturnya.

2.1.5. UML (Unified Modelling Language)

Unified Modelling Language adalah suatu set dari model conventions yang digunakan

untuk menentukan atau menjelaskan software system dalam bentuk objek – objek. UML

Diagram terdiri dari Use Case Diagram, Activity Diagram, Sequence Diagram, Class

Diagram(Whitten & Bentley, 2007, p. 371).

2.1.5.1. Use Case Diagram

Use Case Diagram merupakan sebuah diagram yang menggambarkan interaksi antara

system, external systems, dan pengguna. Dengan kata lain, Use Case Diagram secara

21

grafik menjelaskan siapa yang akan menggunakan system dan dengan cara apa user

mengharapkan untuk berinteraksi dengan system. Salah satu tool yang digunakan

adalah use cases yang menjelaskan fungsi sistem dari perspektif pengguna eksternal

dan dalam cara dan terminology yang mereka mengerti (Whitten & Bentley, 2007,

pp. 246-250).

Gambar 2.4 Contoh Use Case Diagram(Whitten & Bentley, 2007, p. 246)

Use Case Diagram terdiri dari 2 komponen utama yaitu Actors dan Relationships.

2.1.5.1.1. Actors

Merupakan segala sesuatu yang memerlukan interaksi dengan system untuk

pertukaran informasi.Sebuah actor memulai aktivitas system, sebuah use case,

dengan tujuan menyelesaikan beberapa tugas bisnis yang menghasilkan sesuatu

yang dapat diukur. Sebagai contoh misalkan seorang mahasiswa yang mengikuti

sidang akhir skripsi, maka actor-nya adalah mahasiswa tersebut dan business

event / use case-nya adalah mengikuti sidang akhir skripsi. Seorang

22

actormewakili sebuah role yang dipenuhi oleh sebuah user dan tidak berarti

menggambarkan seorang individu ataupun jabatan kerja.Dalam faktanya, sebuah

actor tidak harus manusia, tetapi dapat juga berupa sebuah organisasi, system

informasi, sebuah external device seperti sebuah heat sensor, atau bahkan konsep

waktu. Sebuah actor digambarkan sebagai stick yang diberi label, nama dari role

yang dimiliki oleh actor.

Gambar 2.5 Contoh Simbol Actor(Whitten & Bentley, 2007, p. 247)

2.1.5.1.2. Relationships

Digambarkan sebagai dua simbol pada use case diagram. Arti dari relationships

mungkin dapat berbeda tergantung dari bagaimana garis tersebut digambar dan

tipe simbol yang dihubungkan. Hubungan antara seorang actor dan sebuah use

case menjelaskan interaksi di antara mereka. Hubungan ini disebut asosiasi. Pada

gambar 2.6 dimodelkan sebuah hubungan asosiasi sebagai garis lurus yang

menghubungkan antara actor dan use case-nya. Sebuah asosiasi yang terdiri dari

sebuah panah menyentuh use case-nya (1) mengindikasi bahwa use case tersebut

dilakukan oleh actor yang berada pada sisi lain dari garis tersebut. Asosiasi tanpa

panah (2) mengindikasikan sebuah interaksi antara use case dan sebuah external

23

server atau receiver actor. Ketika satu actor terasosiasi dengan sebuah use case,

kita dapat mengatakan bahwa actor tersebut berkomunikasi dengan use case.

Gambar 2.6 Contoh Relationship

2.1.5.2. Activity Diagram

Activity diagram merupakan diagram yang dapat digunakan secara grafik

menggambarkan flow dari proses bisnis, langkah – langkah dari sebuah use case atau

logika dari sebuah object behavior (method)(Whitten & Bentley, 2007, pp. 390-392).

Gambar 2.7 Contoh Acti vity Diagram

24

2.1.5.3. System Sequence Diagram

System Sequence Diagram adalah diagram yang menggambarkan interaksi antara

actor dan system untuk skenario use case. Kita belum memulai analisis tiap object

classes. Untuk sekarang kita masih berpikir system sebagai keseluruhan (Whitten &

Bentley, 2007, p. 394).

Pada gambar 2.8 ada sebuah contoh system sequence diagram. Berikut ini adalah

penjelasan dari notasi-notasi yang dipakai dalam diagram tersebut:

1. Actor – actor berinteraksi dengan user interface yang ditampilkan dengan

symbol actor user case.

2. Interface class – kotak mengindikasikan kode class user interface. Untuk

memastikan agar tidak membuat bingung, maka <<interface>> dituliskan.

Titik dua merupakan notasi standard sequence diagram untuk

mengindikasikan sebuah instance yang berjalan dalam sistem.

3. Controller class – setiap use case pasti memiliki satu atau lebih class

controller, digambarkan dengan notasi yang sama dengan interface class, dan

diberikan tulisan <<controller>>.

4. Entity class – tambahkan box-box untuk setiap entity yang membutuhkan

untuk berkolaborasi dalam langkah-langkah sequence. Titik dua menunjukkan

instance objek.

5. Input messages – panah horizontal dari actor ke sistem mengindikasikan

message inputs.

6. Activation bars – bar yang diset di atas lifelines mengindikasikan periode

waktu ketika participant aktif dalam interaksi.

25

7. Output messages – panah horizontal dari sistem ke actor ditunjukkan sebagai

garis putus-putus.

8. Self call – sebuah object dapat memanggil method-nya sendiri.

9. Frame – untuk mengindikasikan satu atau lebih message merupakan langkah

optional, atau dapat berupa loop yang berarti controller dapat melakukan loop

melalui item tersebut.

Gambar 2.8 Contoh System Sequence Diagram untuk Login Validation(Whitten

& Bentley, 2007, p. 659)

2.1.5.4. Class Diagram

Class Diagram merupakan gambaran grafik dari sebuah struktur system’s static

object, menunjukkan object classes yang menyusun system tersebut dan juga

hubungan antar object classes(Whitten & Bentley, 2007, p. 400).

Bagaimana atribut-atribut dan method-method di akses oleh class lain dalam Class

Diagram didefinisikan oleh visibility. UML menyediakan 3 level dari visibility, yaitu:

• Public – dilambangkan dengan symbol ‘+’.

26

• Protected – dilambangkan dengan symbol ‘#’.

• Private – dilambangkan dengan symbol ‘-‘.

Atribut public dapat diakses dan method public dapat dipanggil oleh method lain oleh

class lainnya. Atribut protected dapat di akses dan method protected dapat dipanggil

oleh method lain di class dimana atribut dan methoddidefinisikan dan di subclass

dari class tersebut. Atribut private dapat diakses dan method private dapat dipanggil

oleh method lain yang didefinisikan pada class itu sendiri (Whitten & Bentley, 2007,

pp. 650-651).

Gambar 2.9Attribute and Method Visibility(Whitten & Bentley, 2007, p. 651)

2.1.5.4.1. Association and Multiplicity

Association merupakan hubungan yang menyatakan apa yang perlu diketahui

suatu objek terhadap lainnya. Sedangkan kalau multiplicity adalah yang mengatur

association.

2.1.5.4.2. Generalization/Specialization

Merupakan hubungan yang terdiri dari supertype classes dan subtype classes.

Kalau supertype classes memiliki atribut-atribut yang umum sedangkan kalau

subtype classes memiliki atribut-atribut yang khusus dan juga mewarisi atribut

dari supertype class-nya

27

2.1.5.4.3. Aggregation/Composition

Merupakan sebuah hubungan unik dimana suatu objek merupakan bagian dari

objek yang lain. Bersifat asimetris, yaitu bila objek A merupakan bagian dari

objek B maka tidak sebaliknya.

Gambar 2.10 Contoh Class Diagram

2.1.6. Database Systems

Database sebuah shared collection dari data yang berelasi secara logical dan

deskripsinya, dibuat untuk mencapai kebutuhan informasi dari sebuah organisasi.

Deskripsi dari data diketahui sebagai system catalog/data dictionary/metadata(Connolly

& Begg, 2010, p. 65).

28

Pendekatan yang diambil yaitu data abstraction, yaitu definisi dari data dipisahkan dari

program aplikasi.Apa yang user lihat hanyalah definisi eksternal tetapi tidak dapat

melihat bagaimana objek tersebut didefinisikan dan berfungsi.

Ada 3 hal yang perlu kita perhatikan, yaitu entities, attributes,relationships. Sebuah entity

adalah sebuah distinct object (seseorang, tempat, benda, konsep, atau kejadian) dalam

organisasi yang direpresentasikan di database. Sebuah attribute adalah sebuah property

yang menjelaskan beberapa aspek dari objek tersebut yang ingin disimpan. Sebuah

relationship adalah asosiasi antara entities.

Database Management System (DBMS) adalah software yang berinteraksi dengan

program aplikasi pengguna dan database(Connolly & Begg, 2010, p. 66). Biasanya

DBMS menyediakan fasilitas berikut:

• Data Definition Language: memungkinkan pengguna untuk mendefinisikan

database dengan menentukan tipe data, struktur, dan constraints pada data yang

disimpan dalam database,

• Data Manipulation Language: memungkinkan pengguna untuk melakukan

insert, update, delete, dan mengambil data dari database, dan

• Controlled Access:

o Security System: mencegah pengguna tidak dikenal mengakses database,

o Integrity System: mempertahankan konsistensi dari data yang disimpan,

o Concurrency Control System: memungkinkan shared access dari

database,

o Recovery Control System: mengembalikan keadaan database ke keadaan

stabil sebelumnya mengikuti hardware/software failure, dan

29

o User-Accessible Catalog: terdiri dari deskripsi dari data yang ada dalam

database.

Relation adalah sebuah table dengan baris dan kolom.Attribute adalah nama kolom dari

sebuah relation. Domain adalah set dari nilai yang diperbolehkan untuk satu atau lebih

attributes. Tuple merupakan baris dari sebuah relation.Degree dari sebuah relation

merupakan banyaknya attributes yang ada di dalamnya. Cardinality dari sebuah relation

merupakan banyaknya tuples yang ada di dalamnya.Relational database adalah sebuah

koleksi dari relations yang sudah dinormalisasi dengan namarelation yang distinct.

Superkey adalah sebuah atribut atau set daru atribut-atribut, yang secara unik

mengidentifikasikan tuples dari sebuah relation. Candidate key adalah superkey dengan

minimal subset dalam sebuah relation. Primary key adalah candidate key yang dipilih

untuk mengidentifikasikan setiap baris secara unik. Foreign key adalah sebuah attribute

atau set dari attributes dalam sebuah relation yang sama dengan candidate key dari

beberapa relations(Connolly & Begg, 2010, pp. 144-151).

2.2. Teori Khusus

2.2.1. Sales Promotion

Sales Promotion, sebuah bahan utama dalam marketing campaigns, terdiri dari peralatan-

peralatan yang mendorong, kebanyakan dalam jangka pendek di-design untuk

menstimulasi lebih cepat atau besar pembelian produk-produk tertentu atau layanan-

layanan oleh konsumen atau pasar. Ketika advertising menawarkan alasan untuk

membeli, sales promotion menawarkan dorongan.Salah satu tahap dalam menggunakan

sales promotion, yaitu sebuah perusahaan harus mencapai tujuannya (Kotler & Keller,

2012, p. 519).

30

2.2.1.1. Mencapai Tujuan

Untuk konsumen, tujuannya termasuk mendorong pembelian untuk unit yang besar,

membangun trial bagi nonusers, dan menarik switchers dari merk competitor.

Idealnya, promosi dengan consumer akan mempunyai dampak short – run sales sama

seperti efek dari long-run brand equity. Bagi retailers, tujuannya termasuk membujuk

retailers untuk membawa items baru dan level inventory yang lebih tinggi,

mendorong pembelian off – season, mendorong stocking dari items yang

berhubungan, offsetting competitive promotions, membangun keloyalan merk, dan

mendapatkan entry ke dalam retail outlets. Bagi sales force, tujuannya termasuk

mendorong dukundan dari sebuah produk baru atau model, mendorong prospecting

yang lebih, dan menstimulasi off – season sales.

2.2.2. Augmented Reality

Augmented Reality adalah suatu teknologi yang memungkinkan penggabungan secara

real-time dari digital content yang dihasilkan computer dengan dunia nyata (Haller,

Billinghurst, & Thomas, 2007, pp. vi-vii). Sebuah sistem augmented reality harus

memenuhi 3 karakeristik berikut ini:

• Kombinasi antara real dan virtual content.

• Bersifat interaktif dan berjalan dalam real-time.

• Virtual content terdaftar dengan dunia nyata.

Penelitian menunjukkan bahwa teknologi augmented reality dapat diaplikasikan dalam

bidang edukasi, pengobatan, engineering, militer, dan entertainment. Sebagai contoh

virtual maps dapat diletakkan pada dunia nyata untuk membantu orang-orang melakukan

31

navigasi, medical imagery dapat muncul pada tubuh asli pasien, arsitek dapat melihat

virtual buildings pada suatu tempat sebelum mulai untuk dibangun.

2.2.3. Computer Vision

Computer Vision adalah transformasi data dari sebuah still atau video camera ke dalam

sebuah keputusan atau representasi baru. Keputusan dapat berupa “there is a person in

this scene” atau “there are 14 tumor cells on this slide”. Keputusan ini didapatkan dari

misal untuk mengetahui ada seseorang dalam suatu scene kita dapat melakukan deteksi

wajah (Bradski & Kaehler, 2008, p. 2).

2.2.3.1. OpenCV

OpenCV merupakan open source library yang ditulis dalam C dan C++ dan berjalan

di bawah Linux, Windows, dan Mac OS X. OpenCV ini memiliki lebih dari 500 fungsi

yang mendukung banyak area computer vision. OpenCV juga memiliki Machine

Learning Library (MLL).Salah satu area yang difokuskan adalah pattern

recognition(Bradski & Kaehler, 2008, p. 1).

2.2.3.2. Template Matching

Template Matchingmerupakan teknik dari digital image processing untuk

menemukan sebagian kecil dari sebuah gambar yang sama dengan gambar template-

nya (Brunelli, 2009, pp. 1-3).

2.2.3.2.1. Face Detection

Face Detection merupakan sebuah teknik dalam OpenCV yang menggunakan

teknik tree-based dan diberi namaHaar Classifier. OpenCV

mengimplementasikan teknik face detection yang pertama kali dibuat oleh Paul

Viola dan Michael Jones (Viola-Jones detector) dan kemudian dikembangkan

32

oleh Rainer Lienhart dan Jochen Maydt menggunakan “Haar Classifier”.Dengan

adanya Haar Classifier ini, maka kita dapat mendeteksi suatu object misalnya

adalah mendeteksi wajah seseorang(Bradski & Kaehler, 2008, pp. 506-507).

2.2.3.2.2. Image Matching

Image Matching merupakan bagian dari Template Matching, dimana merupakan

konsep untuk menyelesaikan berbagai masalah seperti Object Recognition, Image

Registration, Visual Tracking, 3D reconstruction, dan lain-lain. Salah satu konsep

yang dipakai adalah konsep Interest Point (dapat disebut keypoints atau feature

points). Teknik-teknik dalam image matching adalah Detecting Harris Corners,

Detecting FAST features, Detecting the scale-invariant SURF features,

Describing SURF features(Laganière, 2011, p. 191).

2.2.3.3. Papervision3D

Papervision3D merupakan sebuah library ditulis dalam bahasa action script 3.0 yang

mudah digunakan memungkinkan developer untuk membuat 3D dalam flash.Karena

dijalankan pada flash, maka anda dapat dengan mudah meletakkannya pada

web(Winder & Tondeur, 2009, p. 1).

2.2.4. Bahasa Pemrograman ActionScript 3.0

ActionScript merupakan bahasa pemrograman untuk Adobe Flash Player run-time

environment.ActionScript memungkinkan interaktivitas, data handling, dan banyak lagi

dalam konten dan aplikasi-aplikasi Flash(Adobe System Incorporated, 2007, p. 19).

ActionScript dijalankan oleh ActionScript Virtual Machine (AVM), yang di mana

merupakan bagian dari Flash Player.Kode ActionScript biasanya di-compile ke dalam

format bytecode (semacam bahasa pemrograman yang ditulis dan dimengerti oleh

33

komputer) oleh sebuah compiler, seperti Adobe Flash CS3 Professional atauAdobe®

Flex™ Builder™.Bytecode tersebut di-embed dalam SWF files, yang dijalankan oleh

Flash Player.

Kelebihan dari ActionScript 3.0 yaitu melebihi kemampuan scripting dari versi-versi

sebelumnya.ActionScript 3.0 menyediakan di-design untuk memfasilitasi kreasi dari

aplikasi-aplikasi yang kompleks dengan data set yang besar dan object-oriented,

berdasarkan reusable code. Ketika ActionScript 3.0 tidak dibutuhkan pada konten yang

dijalankan dalam Adobe Flash Player 9, Action Script 3.0 memberikan kemajuan

performa yang hanya ada dengan AVM2, virtual machine yang baru. Kode ActionScript

3.0 dapat menjalankan sampai sepuluh kali lebih cepat dari ActionScript yang

sebelumnya.