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.