bab 2 landasan teori - library & knowledge...

46
9 Bab 2 Landasan Teori 2.1 Interaksi Manusia dan Komputer Menurut Tan & Nijholt (2010), penelitian Interaksi Manusia dan Komputer (IMK) digunakan dalam ilmu pengetahuan ergonomi. Ergonomi adalah ilmu yang mempelajari interaksi antara manusia dengan elemen-elemen lain dalam suatu sistem. Interface yang digunakan terdiri dari keyboard, mouse dan segala hal apapun yang dapat ditampilkan pada layar monitor. Hal tersebut yang disebut Graphical User Interface (GUI). Pada masa sekarang, ketika kita berbicara tentang penelitian IMK kita berbicara tentang interaksi multimodal di lingkungan di mana kita meneliti karakteristik perilaku alami manusia secara umum, daripada melihat interaksi mouse dan keyboard terhadap komputer. Pengetahuan ini diperoleh dari perilaku interaksi kita, perilaku yang dapat diamati dan ditafsirkan dengan menggunakan pengetahuan yang tersedia dan yang dapat bersatu dengan kamera, mikrofon dan sensor. Hal ini memungkinkan lingkungan untuk tidak hanya bersikap reaktif, tetapi juga proaktif, mengantisipasi aktifitas, kebutuhan dan preferensi pengguna. Suatu sistem yang baik merupakan suatu sistem yang mudah untuk digunakan (user friendly), yang memperhatikan faktor – faktor yang datang dari manusia. Berikut ini adalah kelima faktor yang sangat penting untuk evaluasi (Shneiderman & Plaisant, 2010) :

Upload: lybao

Post on 05-Mar-2019

222 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

9

Bab 2

Landasan Teori

2.1 Interaksi Manusia dan Komputer

Menurut Tan & Nijholt (2010), penelitian Interaksi Manusia dan Komputer

(IMK) digunakan dalam ilmu pengetahuan ergonomi. Ergonomi adalah ilmu

yang mempelajari interaksi antara manusia dengan elemen-elemen lain dalam

suatu sistem. Interface yang digunakan terdiri dari keyboard, mouse dan segala

hal apapun yang dapat ditampilkan pada layar monitor. Hal tersebut yang disebut

Graphical User Interface (GUI).

Pada masa sekarang, ketika kita berbicara tentang penelitian IMK kita

berbicara tentang interaksi multimodal di lingkungan di mana kita meneliti

karakteristik perilaku alami manusia secara umum, daripada melihat interaksi

mouse dan keyboard terhadap komputer. Pengetahuan ini diperoleh dari perilaku

interaksi kita, perilaku yang dapat diamati dan ditafsirkan dengan menggunakan

pengetahuan yang tersedia dan yang dapat bersatu dengan kamera, mikrofon dan

sensor. Hal ini memungkinkan lingkungan untuk tidak hanya bersikap reaktif,

tetapi juga proaktif, mengantisipasi aktifitas, kebutuhan dan preferensi

pengguna.

Suatu sistem yang baik merupakan suatu sistem yang mudah untuk

digunakan (user friendly), yang memperhatikan faktor – faktor yang datang dari

manusia. Berikut ini adalah kelima faktor yang sangat penting untuk evaluasi

(Shneiderman & Plaisant, 2010) :

Page 2: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

10

1. Waktu belajar (time to learn)

Berapa lama waktu yang dibutuhkan oleh pengguna dalam mempelajari

sekumpulan perintah dalam suatu tugas? Dengan kata lain kemudahan dalam

mengoperasikan sistem, sehingga pengguna dapat langsung menggunakan sistem

tersebut.

2. Kecepatan kinerja (speed of performance)

Berapa lama waktu yang diperlukan untuk mengerjakan suatu tugas?. Pengguna

menginginkan kecepatan penyajian informasi yang cepat.

3. Tingkat kesalahan (rate of errors by users)

Berapa banyak kesalahan dan jenis kesalahan apa saja yang dilakukan oleh

pengguna dalam menyelesaikan suatu tugas? Sistem tersebut harus memiliki

tingkat kesalahan yang rendah bila sedang digunakan oleh pengguna.

4. Daya ingat (retention over time)

Daya ingat berkaitan dengan waktu belajar dan frekuensi penggunaan sistem,

semakin sering pengguna menggunakan sistem maka semakin mudah pengguna

dalam mengingat sistem tersebut. Sistem juga harus mudah digunakan sehingga

pengguna hanya memerlukan waktu belajar yang singkat.

5. Kepuasan subyektif (subjective satisfaction)

Bagaimana tingkat kepuasan pengguna terhadap berbagai aspek dari sistem?.

Kepuasan subyektif pengguna dapat diketahui dari hasil wawancara atau

kuesioner.

Menurut Shneiderman dan Plaisant (2010) terdapat Delapan Aturan Emas

(Eight Golden Rules) yang dijadikan pedoman dalam perancangan antarmuka

pengguna yang baik, yaitu:

Page 3: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

11

1. Berusaha untuk konsisten.

Bentuk konsistensi dalam perancangan antarmuka pengguna meliputi

penggunaan warna, layout, pemilihan jenis huruf, kapitalisasi, bahasa yang

digunakan, dan hal lainnya yang harus konsisten diterapkan secara keseluruhan.

2. Mengenali kebutuhan pengguna yang beragam, baik secara fungsi maupun

desain yang digunakan. Mampu membedakan pengguna dari novice sampai

pengguna expert,rentang usia, kecacatan yang dimiliki, dan keragaman teknologi

mempengaruhi persyaratan yang panduan desain.

3. Memberikan umpan balik (feedback) yang informatif. Untuk setiap aksi yang

dilakukan oleh pengguna, harus disediakan umpan balik. Umpan balik tersebut

harus dapat memvisualisasikan hasil dari aksi yang telah dilakukan oleh

pengguna.

4. Merancang dialog yang memberikan keadaan akhir.

Urutan dari setiap aksi haruslah terorganisasi ke dalam suatu kelompok dengan

urutan awal, tengah, dan akhir sehingga mudah dimengerti oleh pengguna.

Adanya umpan balik dapat memberikan pilihan untuk menyiapkan ke kelompok

aksi yang berikutnya.

5. Memberikan pencegahan kesalahan dan penanganan kesalahan sederhana.

Sistem yang baik harus dapat menghindarkan pengguna dari kesalahan sebelum

kesalahan itu terjadi. Contohnya yaitu dengan menggunakan pemilihan combo

box dibandingkan dengan textbox, karena textbox dapat meminta jenis inputan

ganda seperti karakter atau numerik. Hal ini akan menyebabkan pengguna

bingung. Dengan menggunakan combo box, pengguna dapat langsung memilih

dari daftar yang disediakan tanpa kebingungan.

Page 4: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

12

6. Memungkinkan pembalikan aksi (undo) yang mudah.

Sistem harus dapat memungkinkan untuk melakukan pembalikan aksi. Hal ini

dapat mengurangi kegelisahan pengguna, karena pengguna mengetahui bahwa

kesalahan dapat diperbaiki. Hal ini mendorong pengguna untuk melakukan

penjelajahan pilihan yang tidak biasa dipakainya dan pengguna tidak bingung

jika mendapatkan pesan kesalahan.

7. Mendukung pusat kendali internal (internal locus of control).

Pengguna yang sudah berpengalaman menginginkan bahwa mereka

bertanggungjawab dan menguasai sebuah sistem, maka sistem tersebut harus

dapat memberikan respon terhadap setiap aksi yang dilakukan oleh pengguna,

karena manusia yang memegang kontrol sistem.

8. Mengurangi beban ingatan jangka pendek.

Batasan jangka pendek pemrosesan informasi pada manusia memerlukan

tampilan yang sederhana, mengurangi pergerakan window, dan waktu pelatihan

yang cukup diberikan untuk kode – kode, hapalan, dan urutan aksi – aksi.

2.2 Graphical User Interface

Graphical User Interface (GUI) adalah sebuah antar muka yang merupakan

kumpulan teknik dan mekanisme untuk berinteraksi dengan sesuatu (Wilbert O.

Galitz, 2007). GUI harus berfokus ke pada user bukan teknologi yang

digunakannya, diawali dengan mengerti pengguna itu sendiri karena tujuan GUI

adalah mempermudah pengguna, sehingga harus mengetahui siapakah pengguna

dan bagaimana dengan karakteristiknya. Lalu selanjutnya harus mengerti

pekerjaan pengguna, jangan sampai malah menyulitkan. Dengan begitu akan

didapat rancngan GUI yang mempercepat pekerjaan pengguna itu sendiri. Pada

Page 5: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

13

saat merancang GUI, harus dibuat secara interaktif dan disertai dengan

penjelasan fungsi-fungsi yang harus tertulis dengan jelas.

Fungsi harus di utamakan dibandingkan lapisan representasinya, karena jika

fungsinya tak jalan maka akan hanya membuang waktu saja dalam membuat

GUI. Penggunaan bahasa pun digunakan harus memikirkan dari sisi pengguna ,

tidak boleh membuat atau menggunakan bahasa yang hanya dimengerti oleh

developer-nya sendiri.

2.3 User Experience

User Experience (UX) adalah sebuah pengalaman yang dibuat oleh sebuah

produk kepada orang-orang sebagai penggunanya didunia nyata (Garret, 2011).

UX bukan semata sebuah rantai pekerjaan didalam produk tersebut atau layanan

yang menjadi hal utama dalam produk. UX lebih menitik-beratkan kepada

fungsi diluar produk tersebut ketika bersentuhan langsung atau terdapat kontak

dengan pengguna. Interaksi yang dihasilkan ini merupakan pokok dari UX.

Sebuah produk yang dibuat memiliki rancangan produk-nya sendiri, yang

merupakan daya tarik mata dan terlihat nyaman bila disentuh. Rancangan produk

yang baik menghasilkan harapan bahwa produk tersebut akan memiliki fungsi

yang baik pula apabila digunakan. Namun, terkadang hal itu tidak terjadi. Masih

ada produk yang memiliki tampilan serta rancangan yang menarik tetapi

mengecewakan dalam fungsinya atau tidak memberikan kenyamanan terhadap

penggunanya. Hal ini lah yang harus dihindari dengan merancang sebuah produk

yang disertai dengan penerapan UX sebagai sebuah keluaran produk yang

eksplisit.

Page 6: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

14

Menurut Garret (2011), sebagai contoh adalah dalam rancangan sebuah

mesin pembuat minuman kopi. Estetika desain produk memastikan bahwa

tombol-tombol yang digunakan pada mesin pembuat minuman kopi memiliki

desain yang elegan dan memiliki teksture. Fungsional desain memastikan tombol

tersebut berfungsi dengan aksi yang telah ditentukan. UX desain memastikan

aspek lain selain estetika dan fungsional sehingga berada dalam konteksnya.

Seperti besar atau tidaknya ukuran tombol yang dipakai mempengaruhi sudut

pandang pengguna, penempatan tombol-tombol atau hubungannya terhadap

kenyamanan ketika beberapa tombol dipakai pada saat bersamaan.

Terdapat element-element dari UX yang menjadi dasar dalam mendesain

produk (dalam hal ini adalah software) yang kemudian dapat menciptakan UX

yang berkesan (Garret, 2011).

1. The Strategy Plane

Kebutuhan pengguna menjadi sebuah tujuan dari produk (software) yang

dibuat. Hal ini harus kita pahami, apa yang menjadi keinginan pengguna

dan bagaimana hal tersebut berdampak terhadap produk. Tetapi ada hal

yang harus dipertimbangkan juga, yaitu apabila terdapat tujuan bisnis

yang diusung oleh produk tersebut, harus ada keseimbangan antara

keinginan pengguna dengan apa yang menjadi tujuan bisnis produk yang

dikembangkan atau dibuat.

Page 7: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

15

Gambar 2.1 Tingkatan Plane ( Garret, 2011, p27)

2. The Scope Plane

Di sisi fungsi, “the strategy plane” tersebut diterjemahkan ke dalam

lingkup melalui penciptaan spesifikasi fungsional, yaitu penjelasan rinci

tentang kumpulan fitur dari produk. Di sisi informasi, ruang lingkup

mengambil bentuk persyaratan konten, yaitu deskripsi dari elemen

berbagai konten yang akan diperlukan.

3. The Structure Plane

“The scope plane” diberikan struktur di sisi fungsionalitas melalui

rancangan interaksi, di mana kita mendefinisikan bagaimana sistem

berperilaku dalam menanggapi pengguna. Untuk sumber daya informasi,

Page 8: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

16

struktur adalah arsitektur informasi, yaitu susunan elemen konten untuk

memfasilitasi pemahaman manusia.

4. The Skeleton Plane

“The skeleton plane” terurai menjadi tiga komponen. Pada kedua

sisinya, kita harus menunjuk desain informasi yaitu penyajian informasi

dengan cara pemahaman terhadap fasilitas. Untuk fungsi yang

berorientasi terhadap produk, “the skeleton plane” juga mencakup desain

antarmuka, atau mengatur elemen antarmuka untuk memungkinkan

pengguna berinteraksi dengan fungsi dari sistem. Antarmuka untuk

sumber daya informasi adalah rancangan navigasi yaitu himpunan

elemen layar yang memungkinkan pengguna untuk bergerak melalui

arsitektur informasi.

5. The Surface Plane

Terlepas dari apakah kita berhadapan dengan produk yang berorientasi

terhadap fungsi atau sumber informasi, perhatian di sini adalah sama

yaitu pengalaman sensorik yang diciptakan oleh produk yang sudah jadi.

2.4 Proses Pencitraan

Suatu gambar terbentuk dari dua dimensi fungsi , f(x,y), di mana x dan y

adalah kordinat spasial atau planar, dan amplitudo dari f pada setiap pasangan

kordinat (x,y) disebut intensitas atau tingkat abu-abu pada suatu gambar. Pada

saat x,y dan nilai amplitudo memiliki nilai, jumlah diskrit, maka gambar tersebut

merupakan gambar digital. Pengolahan citra digital mengacu pada pengolahan

gambar digital dengan menggunakan komputer digital.

Page 9: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

17

Gambar digital itu sendiri pun terdiri dari jumlah elemen yang terbatas,

masing-masing elemen memiliki lokasi tertentu dan nilainya sendiri. Hal ini

disebut elemen gambar, pels, dan pixel. Pixel adalah istilah yang paling banyak

digunakan untuk menunjukkan unsur-unsur gambar digital.

Bentuk - bentuk image processing :

• Image acquisition : seperti scaling (memperbesar atau memperkecil

gambar).

• Image enhancement : mempercantik gambar, seperti meningkatkan kontras

pada gambar agar terlihat lebih indah.

• Image restoration : meningkatkan tampilan dari suatu gambar, berbeda

dengan enhancement, lebih subjektif, yang berpacu pada matematika atau

model probabilistik dari degradasi gambar

• Color Image Processing : mengubah warna pada tampilan gambar.

• Wavelets : representasi gambar pada tingkat yang berbeda - beda dari suatu

resolusi, yang biasa digunalan kompresi data dan representasi piramid, dan

dimana gambar dibagi menjadi area yang lebih kecil.

• Compression : suatu teknik untuk mengurangi ukuran file pada saat

menyimpan gambar, atau bandwith yang dibutuhkan pada saat dikirimkan.

• Morphological processing : menggunakan tool untuk mengeluarkan

komponen suatu gambar yang berguna dalam representasi gambar dan

deskripsi dari suatu bentuk.

Page 10: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

18

• Segmentasi : suatu prosedur partisi dari suatu gambar menjadi suatu bagian

atau objek. secara umum, segmentasi adalah satu dari pekerjaan yang paling

berat dalam digital image processing.

• Recognition : proses penambahan label pada suatu objek berdasarkan

deskripsi.

2.5 Real Time Image Processing

Real-time system (Dougherty & Laplante, 1985) adalah respon terhadap

suatu event atau aksi yang harus dilakukan pada waktu yang ditentukan, jika

tidak ada respon dari sistem tersebut, maka sistem dianggap telah gagal. Dari

perspektif image processing , sistem real time imaging system adalah

pengambilan gambar secara regular, menganalisa gambar - gambar tersebut

untuk mendapatkan suatu data, dan lalu menggunakan data tersebut untuk

mengontrol suatu aktifitas. Semua proses harus terjadi dalam waktu yang

ditentukan (bisa secara frame rate atau tidak). Contoh dari real-time image

processing sangat banyak, misal dalam penglihatan mesin, algoritma image

processing digunakan untuk inspeksi atau kontrol proses. Beberapa sistem

penglihatan digunakan untuk melihat jalur atau mengontrol robot pada saat

waktu yang sangat dibutuhkan. Dalam sistem transmisi video, frame yang sudah

berhasil diolah harus ditransmisikan dan diperlihatkan pada sequence yang benar

dan dengan jitter (perbedaan waktu antara waktu keberangkatan dan kedatangan)

yang minimum untuk menghindari kerusakan yang mengakibatkan kualitasnya

menurun.

Page 11: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

19

Sistem real-time dikategorikan menjadi 2 tipe yaitu hard dan soft real time.

Hard real-time system adalah suatu sistem yang dianggap gagal jika keluaran

tidak dapat dihasilkan pada waktu yang sudah ditentukan. Soft real-time system

adalah sistem yang jika deadline tidak terpenuhi maka akan berdampak

mengurangi performanya. Sebagai contoh, sebuah transmisi video melalui

internet, jika frame selanjutnya terlambat atau tidak dapat di decode dengan

cepat, kualitas video yang dihasilkan memburuk. Sistem tersebut adalah sistem

soft real-time, karena jika masih belum mencapai deadline, dan sebuah keluaran

masih dihasilkan, maka sistem tersebut tidak gagal.

Dari perspektif proses sinyal, real time dapat berarti bahwa gambar yang

diproses harus selesai sebelum gambar yang selanjutnya datang (Kehtarnavaz &

Gamadia, 2006). Untuk proses video, ini berarti total proses per-pixel harus

diselesaikan dalam waku pixel sample. Dan tentu, tidak semua pixel dapat selesai

sebelum pixel selanjutnya datang, karena banyak data dari hasil operasi proses

gambar di dapatkan dari banyaknya pixel yang keluar. Bagaimanapun juga, hal

ini menyediakan batasan pada kecepatan proses, termasuk juga segala pixel yang

tersimpan sementara yang akan digunakan selanjutnya (Kehtarnavaz dan

Gamadia, 2006).

Sebuah sistem yang bukan real-time mungkin memiliki komponen yang

real-time. Sebagai contoh, interface pada sebuah kamera, sebuah sistem gambar

harus melakukan sesuatu terhadap setiap pixel yang dihasilkan oleh sebuah

kamera, dengan kemungkinan untuk langsung di proses ataupun juga disimpan

ke dalam frame buffer, sebelum pixel selanjutnya datang. Jika tidak, maka data

pada pixel tersebut dapat hilang, hal ini dapat terjadi pada proses soft real-time

Page 12: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

20

ataupun hard real-time tergantung pada konteksnya. Pixel yang hilang tersebut

dapat mengakibatkan kualitas gambar menjadi berkurang (berpengaruh pada soft

real time), hilangnya kualitas dapat berpengaruh buruk pada performa aplikasi

gambar (berpengaruh pada hard real time). Demikian pula, pada saat

menyediakan pixel untuk tampilan, jika pixel yang dibutuhkan tidak dapat

disediakan pada waktu yang telah ditentukan, bagian tampilan tersebut akan

terlihat kosong. Pada kasus pengambilan image dan tampilan, deadlines terjadi

pada sekitar sepuluh nano seconds, membutuhkan komponen yang harus

implementasi pada hardware.

Kebutuhan algoritma untuk semua proses gambar harus terikat pada eksekusi

waktu yang mengimplikasikan setiap operasi yang juga terikat dengan waktu

yang telah ditentukan. Karakteristik ini mengatur kelas tertentu pada level

algoritma dari real time processing. Khususnya, operasi harus berdasarkan pada

algoritma iterasi atau rekursif yang hanya dapat digunakan jika mereka dapat

memastikan keberhasilan pada iterasi yang telah ditentukan, untuk segala jenis

masukan yang akan dihadapi.

Satu pendekatan yang memastikan respon time yang berhasil adalah dengan

membuat sistem sinkronisasi gambar, seperti sistem yang dijadwalkan setiap

operasi atau langkah untuk mengeksekusi pada waktu tertentu. Hal ini cocok jika

masukan terjadi pada interval biasa atau yang sudah dipastikan, sebagai

contohnya, frame yang berhasil dari sebuah kamera video. Namun, sistem

sinkronisasi kurang handal jika digunakan pada saat terjadi acak, khususnya pada

saat waktu sangat minim antara kejadian yang kurang dari waktu proses untuk

setiap kejadian.

Page 13: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

21

Ada dua cara untuk mengatasi permasalahan ini. Cara pertama adalah

dengan membatasi semua proses pada saat waktu antara item yang berhasil

dikirim pada posisi inspeksi, secara efektif menyediakan batasan real-time yang

lebih ketat. Jika batasan waktu yang baru tidak dapat menghasilkan hasil yang

baik, maka cara lainya adalah dengan menyebarkan atau mendistribusikan

eksekusi pada beberapa processor atau bisa dibilang di proses secara paralel,

untuk menjaga batasan waktu yang sudah ditentukan. Hal ini membuat waktu

yang ditentukan menjadi terjaga, dengan menambah throughput maka waktu

dapat ditentukan sesuai dengan yang diinginkan.

Kesalahpahaman umum tentang sistem real time dan sistem real time

imaging, biasanya membutuhkan kecepatan yang cepat atau performa yang tinggi

(Dougherty dan Laplante, 1989). Waktu respon yang ditentukan berpengaruh

pada aplikasi dan diutamakan pada proses pokok untuk mengaplikasikan proses

gambar. Contohnya, kamera monitor yang memonitori pasir pantai dalam sehari

ataupun bisa dalam seminggu. Aplikasi tersebut mungkin saja tak membutuhkan

speed yang cepat, real time atau tidak real time membutuhkan performa

komputasi yang tinggi yang bergantung pada kompleksitas algoritma.

Kebalikanya, aplikasi gambar yang membutuhkan performa komputasi yang

tinggi mungkin saja tak harus real time (sebagai contoh, algoritma rekontruksi

iterasi kompleks).

2.5.1 Parallelism

Untuk mempercepat komputasi image process dapat dilakukan secara

paralel dan algoritma yang di implementasi dalam paralel harus

signifikan. Proses pencitraan dapat di proses secara paralel, khususnya

Page 14: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

22

pada level rendah yang berada pada pyramid processing. Pararellisme

dapat dibentuk dalam beberapa bentuk.

Secara virtual semua algoritma proses pencitraan terdiri dari

sekuensial proses operasi citra. Ini adalah bentuk dari temporal

parallelism. Struktur tersebut menyarankan untuk menggunakan

processor yang terpisah untuk setiap operasi, seperti yang terlihat pada

gambar 2.1 yang disebut arsitektur pipeline. Struktur ini bekerja seperti

barisan produk di dalam data yang berjalan melewati setiap tahap pada

saat berjalan. Setiap processor mengaplikasikan prosesnya dan

mengirimkan hasilnya ke tahap selanjutnya. Jika setiap prosesor yang

sukses harus menunggu sampai processor sebelumnya menyelesaikan

prosesnya, pengaturan ini tidak mengurangi total waktu proses. atau

waktu respon. Namun, throughut dapat menambah, karena pada saat

processor kedua bekerja pada keluaran dari operasi satu, processor satu

dapat memulai memproses citra atau gambar selanjutnya.

Gambar 2.2 Temporal parallelism di eksploitasi menggunakan

prosesor pipeline (Bailey, 2011, p15)

Banyak pararelisme berada dalam operasi algoritma berbentuk

perulangan. Perulangan yang paling luar didalam setiap operasi biasanya

iterasi pada pixel di dalam image, karena banyak operasi melakukan

Page 15: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

23

fungsi yang sama pada pixel yang banyak. Ini adalah spatial parallelism,

yang dapat di eksploitasi dengan mempartisi gambarnya dan

menggunakan prosesor yang terpisah untuk melakukan operasi pada

setiap operasi (Bailey, 2011). Skema partisi umum adalah membagi

gambar menjadi blok baris, blok kolom dan blok persegi, seperti yang di

ilustrasikan pada gambar 2.3. Untuk proses video, urutan gambar

mungkin juga di partisi tepat waktu, dengan menandakan frame yang

telah berhasil ke processor yang terpisah (Downton & Crookes, 1998).

Gambar 2.3 Spatial Parallelism dieksploitasi dengan cara

mempartisi gambarnya (Bailey, 2011, p16)

Pada kasus yang ekstrim, processor terpisah mungkin dialokasi

untuk setiap pixel didalam gambar (sebagai contohnya MPP; Batcher,

1980). Mendedikasikan processor untuk setiap pixel dapat membuat

algoritma menjadi lebih efisien. Sebagai contoh, menyaring gambar

mungkin dapat dilakukan dengan clock cycle yang sedikit. Namun, satu

masalah dengan paralellisme adalah membutuhkan pendistribusian data

gambar ke dan dari setiap processor. Banyak algoritma untuk parallel

Page 16: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

24

processor yang sangat banyak berasumsi bahwa data sudah siap pada

awalnya.

Yang harus diketahui pada saat mempartisi gambar adalah untuk

mengurangi informasi antara processor, yang sesuai untuk

meminimalisasikan komunikasi antara partisi yang berbeda. Untuk proses

gambar pada tingkat yang rendah, meningkatkan performa tergantung

pada jumlah processor yang ada. Namun, performa akan berkurang

sebagai hasil dari komunikasi overhead atau konten pada saat membagi

sumberdaya bersama. Karena itu, setiap processor harus memiliki

memory local untuk mengurangi segala tundaan yang bersangkutan

dengan contention pada memory global. Partisi sangat menguntungkan

pada saat operasi hanya memerlukan data dari daerah lokal, dimana lokal

tergantung pada batasan partisi. Jika operasi dilakukan di dalam daerah

yang identik, ini mengarah kepada SIMD (single instruction, multiple

data) arsitektur proses parallel menurut Flynn's taxonomy (Flynn,1972).

Dengan bebrapa operasi level menengah, waktu proses untuk

setiap partisi mungkin akan sangat berpengaruh pada isi dari gambar yang

berada pada bagian tersebut. Strategi partisi akan lebih kurang efisien

dalam hal ini karena performa kasus terburuk harus di perbolehkan untuk

pada saat mengalokasi partisi kepada processor. Sebagai hasilnya, banyak

processor yang hanya menunggu menghabiskan waktu. Dalam kasus

tersebut, performa yang lebih baik hanya dapat didapatkan dengan

menambahkan partisi dibandingkan processor, dan menggunakan

processor farm approach (Downton dan Crookes, 1998). Lalu untuk

Page 17: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

25

setiap partisi akan dialokasi secara dinamis kepada processor yang

tersedia. Dan lagi, ini penting untuk meminimalisasikan komunikasi

antara processor.

Untuk operasi pengolahan citra tingkat tinggi, data tidak lagi

berbasis pencitraan (gambar). Namun, partisi data metode ini masih dapat

dimanfaatkan dengan menetapkan sebuah pemisahan data secara struktur,

region, atau objek ke processor yang terpisah. Tugas seperti itu umumnya

memerlukan pendekatan partisi dinamis dari sebuah processor farm.

2.6 Pengertian Rekayasa Perangkat Lunak

Menurut Pressman (2010,p13), rekayasa perangkat lunak adalah sebuah

teknologi yang terdiri dari lapisan (layer), yaitu :

1. Fokus pada kualitas (A Quality Focus)

Pendekatan teknik apapun (termasuk rekayasa perangkat lunak)

harus bersandar pada komitmen organisasi terhadap suatu mutu. Total

kualitas manajemen dan filosofi yang sama mendorong budaya

perbaikan proses yang berkesinambungan dan budaya inilah yang pada

akhirnya mengarah pada pengembangan pendekatan yang semakin lebih

dewasa untuk rekayasa perangkat lunak. Pondasi yang mendukung

rekayasa perangkat lunak terfokus pada kualitas.

2. Proses (Process)

Dasar untuk rekayasa perangkat lunak adalah lapisan proses. Proses

pada rekayasa perangkat lunak adalah perekat yang memegang teknologi

lapisan (layer) bersama - sama dan memungkinkan pengembangan

perangkat lunak yang rasional dan tepat waktu. Proses mendefinisikan

Page 18: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

26

sebuah kerangka kerja untuk satu set key process areas (KPAs) yang

harus ditetapkan untuk penyampaian (delivery) yang efektif dari

teknologi rekayasa perangkat lunak. Key process areas membentuk dasar

bagi kontrol manajemen proyek perangkat lunak dan menetapkan

konteks metode-metode teknis mana yang diterapkan, produk kerja

(model, dokumen, data, laporan, form, dll) yang diproduksi, milestone

yang ditetapkan, kualitas terjamin, dan perubahan yang dikelola dengan

baik.

3. Metode (Method)

Metode rekayasa perangkat lunak menyediakan teknis "bagaimana"

untuk membangun perangkat lunak. Metode mencakup tugas yang

mencakup analisis kebutuhan (requirement analysis), memodelkan

desain (design modelling), program konstruksi (program construction),

pengujian (testing), dan dukungan (support).

4. Alat bantu (Tools)

Alat bantu otomatis atau semi-otomatis menyediakan dukungan

untuk proses dan metode ketika alat-alat diintegrasikan sehingga

informasi yang dibuat oleh salah satu alat dapat digunakan oleh alat

lainya, sebuah sistem untuk mendukung pengembangan perangkat lunak,

yang disebut Computer-Aided Software Engineering (CASE) (Pressman,

2010,p14).

Page 19: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

27

Gambar 2.4 Lapisan Rekayasa Perangkat Lunak (Pressman,

2010, p14)

2.6.1 Kerangka Proses (Process Framework)

Sebuah kerangka proses (process framework) menetapkan dasar bagi

proses perangkat lunak yang lengkap dengan mengidentifikasi sejumlah

kecil aktivitas kerangka kerja yang berlaku untuk semua proyek

perangkat lunak, tanpa memandang ukuran atau kompleksitas. Selain itu,

kerangka proses mencakup serangkaian kegiatan yang berlaku di seluruh

proses perangkat lunak.

Berikut kerangka proses (process framework) yang berlaku untuk

sebagian besar proses perangkat lunak :

1. Communication

Aktivitas kerangka kerja ini melibatkan komunikasi dan

kolaborasi dengan pelanggan (dan stakeholder lainya) dan

meliputi persyaratan pengumpulan dan kegiatan terkait lainya.

Page 20: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

28

2. Planning

Aktivitas kerangka kerja ini menetapkan suatu rencana

untuk rekayasa perangkat lunak yang menggambarkan tugas-

tugas teknis yang akan dilakukan, resiko yang mungkin, sumber

daya yang akan dibutuhkan, pekerjaan produk yang harus

dihasikan, dan jadwal kerja.

3. Modeling

Aktivitas kerangka kerja ini meliputi pembuatan model yang

memungkinkan pengembang (developer) dan client untuk lebih

memahami kebutuhan perangkat lunak (software requirement)

dan desain untuk pencapaian requirement tersebut.

4. Construction

Aktivitas kerangka kerja ini meliputi proses pembuatan code

pemograman. Penerjemahaan transaksi yang diminta dari

kebutuhan aplikasi ke dalam coding atau pengkodean dilakukan

disini. Aktivitas inilah yang merupakan tahapan secara nyata

dalam mengerjakan suatu aplikasi, artinya penggunaan komputer

akan dimaksimalkan dalam tahapan ini. Dalam tahapan ini pun

dilakukan testing terhadap code pemograman serta sistem yang

telah dibuat tadi.

Page 21: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

29

5. Deployment

Perangkat lunak (sebagai entitas lengkap atau selesai

sebagian) diberikan kepada client dimana client yang melakukan

evaluasi dan memberikan umpan balik berdasarkan hasil evaluasi.

2.6.2 Model Proses Waterfall

Menurut Pressman (2010,p39), model proses Waterfall, yang juga

dikenal dengan Classic Life Cycle, adalah model proses yang sistematis,

pendekatan yang berurutan dalam pengembangan perangkat lunak yang

diawali dengan spesifikasi kebutuhan-kebutuhan (requirement) client dan

akan melalui perencanaan (planning), pemodelan (modeling), konstruksi

(contruction), dan deployment, yang berpuncak pada penyelesaian

perangkat lunak.

Waterfall model biasanya digunakan oleh organisasi yang aktifitas

pengembanganya dilakukan secara sekuensial. Dengan menyelesaikan

satu fase aktifitas dapat dilanjutkan ke fase berikutnya.

Model waterfall menjadi model yang sering digukan untuk

pengembangan saat ini. Tetapi karena ketidak fleksibilitas dalam

beradaptasi dalam mengganti requirement atau knowledge, hal itu

dilakukan pada tahap selanjutnya yaitu, pada tahap pengembangan, dan

juga desain yang buruk yang dilakukan pada awal pengembangan,

perubahan untuk memperbaikinya dipisahkan pada tahap-tahap kegiatan

selanjutnya. Pada model waterfall yang ketat, sulit untuk memperbaiki

kesalahan, jika hal tersebut sudah melewati fase aktifitasnya.

Page 22: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

30

Banyak variasi dari model waterfall, misalkan, model waterfall

dengan tambahan feedback. Tetap saja bergerak secara sekuensial tetapi

dapat juga melakukan komunikasi backward (contohnya : dari aktifitas

implementasi ke aktifitas disain) dengan itu model waterfall menjadi

lebih fleksibel.

Gambar 2.5 Waterfall Model (Pressman,2010,p39)

2.7 Unified Modeling Language

Unified Modeling Language (UML) adalah sekumpulan pemodelan konvensi

yang digunakan untuk menentukan atau menggambarkan sebuah sistem

perangkat lunak dalam kaitannya dengan objek (Whitten & Bentley, 2007).

UML dapat juga diartikan sebuah grafik standar yang digunakan untuk

memodelkan perangkat lunak berbasis objek. UML pertama kali dikembangkan

pada pertengahan tahun 1990an dengan kerjasama antara James Rumbaugh,

Grady Booch dan Ivar Jacobson, yang masing-masing telah mengembangkan

notasi mereka sendiri di awal tahun 1990an (Lethbride & Laganiere, 2002).

UML terdiri dari diagram-diagram, dimana setiap diagram di dalam UML

memperlihatkan sistem dari berbagai sudut pandang yang berbeda.

Page 23: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

31

a. Use Case Diagram

Use case adalah sebuah teknik dalam requirements discovery yang pertama

kali diperkenalkan dalam metode Objectory (Jacobson, 2000). Use case saat ini

telah menjadi fitur yang mendasar dari UML (Unified Modeling Language).

Gambar 2.4 Use Case Diagram (Sommerville, 2011)

Dalam bentuk sederhananya, sebuah use case mengidentifikasi aktor-aktor

atau pelaku yang terlibat adalam sebuah interaksi dan memberi nama pada tiap-

tiap interaksi tersebut (Sommerville, 2011). Hali ini kemudian akan dilengkapi

oleh informasi tambahan yang menggambarkan interaksi dengan sistem.

Informasi tambahan ini bisa merupakan sebuah deskripsi secara tekstual atau satu

atau lebih model grafikal seperti UML sequence atau state charts.

Perangkat dari use case menampilkan seluruh kemungkinan interaksi yang

terjadi dan kemudian digambarkan dalam sebuah sistem permintaan. Aktor,

dalam hal ini manusia atau sebuah sistem, diwakilkan dengan gambar “stick

figures”. Kelas-kelas interaksi diwakilkan dengan bentuk gambar eclipse yang

Page 24: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

32

diisi penamaan didalamnya. Garis-garis menghubungkan antara aktor dengan

interaksi yang ada. Garis dengan tanda panah diujung dapat dipakai untuk

menunjukan bagaimana interaksi terjadi.

b. Class Diagram

Class diagram digunakan saat pengembangan atau pembuatan sebuah model

dengan sistem object-oriented untuk menampilkan kelas-kelas dalam sebuah

sistem dan hubungan diantara kelas-kelas tersebut (Sommerville, 2011). Class

Diagram merupakan gambaran grafik dari sebuah struktur system’s static object,

menunjukkan object classes yang menyusun sistem tersebut dan juga hubungan

antar object classes (Whitten & Bentley, 2007).

Dalam class diagram atribut-atribut dan method-method yang di akses oleh

kelas lain didefinisikan oleh visibility. UML menyediakan 3 level dari visibility

tersebut, yaitu

• Public – dilambangkan dengan simbol ‘+’.

• Protected – dilambangkan dengan simbol ‘#’.

• Private – dilambangkan dengan simbol ‘-‘.

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 method

didefinisikan 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).

Page 25: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

33

Hubungan-hubungan yang ada dalam class diagram :

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. 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

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.5 Contoh Class diagram dengan hubungannya (Sumber:

http://sourcemaking.com/uml/modeling-it-systems/structural-view/class-

diagram)

Page 26: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

34

c. 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).

Page 27: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

35

Gambar 2.6. Activity diagram (Whitten & Bentley, 2007)

Page 28: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

36

d. System Sequence Diagram

System Sequence Diagram adalah diagram yang menggambarkan interaksi

antara aktor dan sistem untuk skenario use case. Namun belum termasuk analisis

terhadap tiap object classes. Untuk sekarang masih berpikir sistem sebagai

keseluruhan (Whitten & Bentley, 2007).

Gambar 2.7 merupakan contoh dari sistem sequence diagram. Berikut ini

adalah penjelasan dari notasi-notasi yang dipakai dalam diagram tersebut:

1. Aktor – aktor berinteraksi dengan user interface yang ditampilkan dengan simbol

aktor user case.

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

memastikan agar tidak terjadi kekeliruan, maka <<interface>> dituliskan. Titik

dua merupakan notasi standar 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 boks-boks untuk setiap entity yang membutuhkan

untuk berkolaborasi dalam langkah-langkah sequence. Titik dua menunjukkan

instance objek.

5. Input messages – panah horizontal dari aktor ke sistem mengindikasikan message

inputs.

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

ketika participant aktif dalam interaksi.

Page 29: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

37

7. Output messages – panah horizontal dari sistem ke aktor 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.7. Contoh system sequence diagram (Whitten & Bentley, 2007)

2.8 Pengertian Screen Sharing

Screen sharing adalah proses menyebarkan isi dari salah satu layar ke layar

lainya. Screen sharing berguna pada saat seseorang ingin memberikan ide,

mendemonstrasikan produk baru atau memperlihatkan sebuah website pada saat

Page 30: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

38

pertemuan berlangsung. Screen sharing yang terjadi biasanya menyebarkan

seluruh tampilan yang ada, tetapi bisa juga hanya menyebarkan sebagian layar

dari layar pengirim, hal ini dikarenakan ada kemungkinan beberapa bagian dari

layar tersebut merupkan suatu privasi dan tidak dibuat untuk diperlihatkan

kepada orang lain (Kendauli, 2011).

2.9 Qt

Qt adalah sebuah cross-platform, grafis, toolkit untuk pengembangan

aplikasi yang memungkinkan untuk menyusun dan menjalankan aplikasi-aplikasi

di Windows, Mac OS X, Linux dan merek-merek lainnya dari Unix (Thelin,

2007). Qt dikembangkan oleh Trolltech dan menjadi fondasi untuk K Desktop

Environment (KDE), selain juga telah dipergunakan dalam berbagai aplikasi

komersial. Qt digolongkan sebagai software open source karena dilisensi dual:

dengan General Public License (GPL) dan Qt Public License (QPL).

Qt dirancang untuk pengembangan aplikasi dengan C++. Oleh karenanya, Qt

berisi sekumpulan kelas-kelas yang tinggal dimanfaatkan saja, mulai dari urusan

antarmuka (user interface), operasi input ouput, networking, timer, template

library, dan lain-lain. Qt mendukung penuh Unicode (mulai versi 2.0) sehingga

internationalization (I18N) dan encoding teks bukan menjadi masalah. Walaupun

merupakan free software, Qt terbukti stabil dan lengkap. Dibandingkan toolkit

lain, Qt juga mudah untuk dipelajari dan dipersenjatai dengan dokumentasi dan

tutorial yang ekstensif dan rinci. Qt dirancang cocok untuk digunakan di

lingkungan Unix, oleh karena itu seharusnya tidak akan ditemukan hambatan

dalam proses kompilasi (Hidayat, 2003).

Page 31: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

39

2.9.1 Qt Quick

Qt Quick adalah sebuah deklaratif pemograman yang terdiri dari Qt

Meta object Language (QML), komponen dasar, dan terikat dengan

JavaScript dan C++ ( Rischpater & Zucker, 2010). Pengembangan Qt

Quick ini berdasarkan atas alasan untuk mengatasi hambatan dalam

mempelajari API yang ada, sehingga memudahkan pengembang dan

pembuat aplikasi dalam membuat aplikasinya.

Qt Quick memiliki pendekatan yang berbeda terhadap user interface

dibandingkan Qt dengan C++. Qt Quick menggunakan QML, sebuah

bahasa yang mirip JavaScript untuk membentuk interface yang

diinginkan.

2.9.2 QML

QML adalah bahasa pemograman yang deklaratif. Objek dari user

interface dideklarasikan dalam pemograman ini. Dalam C++ dengan Qt,

untuk menggambar objek kotak (rectangle) yang baru digunakan

pseudocode seperti ini (Rischpater & Zucker, 2010):

QRect rect(0, 0, 32, 32);

QPainter painter;

painter.setBrush(QBrush(Qt::red));

painter.drawRect(rect);

dalam QML, ditulis secara lebih sederhana :

import QtQuick 1.0

Rectangle {

Page 32: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

40

height:200

width: 200

color: "red"

}

Penulisan dalam QML tersebut menjabarkan spesifikasi dari objek

kotak (rectangle) berupa tinggi, lebar dan warna. Spesifikasi tersebut

merupakan default properties dari objek kotak (rectangle). QML pun bisa

berisi script, seperti contoh dibawah ini :

import QtQuick 1.0

Item {

width: 200

height: 100

Text {

id: label

text: "Click Me"

color: "black"

anchors.horizontalCenter: parent.horizontalCenter

anchors.verticalCenter: parent.verticalCenter

font { family: "Helvetica"; pixelSize: 12; bold:

true }

}

MouseArea {

anchors.fill: parent

Page 33: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

41

onClicked: {

label.text = "Hello World"

}

}

}

Seperti yang terlihat, QML bersifat deklaratif. Dengan sintaks

berdasarkan JavaScript, QML memberikan sebuah sintaks yang singkat

untuk menentukan tree dari objek beserta properties-nya.

2.9.3 C++ dengan QML

QML meskipun merupakan powerful environment dalam Qt, namun

C++ masih tetap bisa digunakan dalam pengembangan Qt. Contohnya,

interaksi interface dengan platform enablers seperti QtDBus di MeeGo

yang masih membutuhkan C++ dalam pengembangannya, meskipun UI

yang dipakai keseluruhan menggunakan QML.

2.10 Jaringan Komputer

Jaringan komputer digunakan untuk membuat pekerjaan serta komunikasi

lebih efisien. Jaringan komputer menghubungkan antara komputer dengan

komputer, tetapi dapat juga menghubungkan perangkat lain seperti printer,

removable media drives, scanner, dan perangkat lainnya. Kemampuan ini

membuat sebuah resources baik itu berupa data atau perangkat bisa digunakan

oleh banyak komputer sehingga mengurangi jumlah perangkat atau sumber data

yang digunakan. Hal ini lah yang menjadi dasar ide dari dibuatnya jaringan

komputer, untuk menghubungkan sumber resources yang dibutuhkan ke

pemakainya (Ciccarelli, Faulkner, Fitzgerald, Dennis, Groth, & Skandier, 2013).

Page 34: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

42

Manfaat yang akan diperoleh dengan membuat jaringan komputer antara

lain, yaitu

• Memberikan kesempatan kepada pengguna komputer untuk mempergunakan

sumber daya secara bersama-sama, seperti penggunaan printer maupun memakai

koneksi internet bersama.

• Optimalisasi pemakaian perangkat sehingga tercapainya efisiensi seperti tidak

perlunya masing-masing komputer dilengkapi dengan printer dikarenakan

adanya jaringan sehingga 2 (dua) atau lebih komputer dapat mempergunakan 1

(satu) printer.

• Komunikasi antar sistem operasi yang berbeda sehingga tidak perlu dalam

sebuah jaringan komputer semuanya harus memakai sistem operasi yang sama.

Adapun manfaat yang dapat diperoleh dengan adanya jaringan, yaitu sebagai

berikut :

• Jaringan memungkinkan manajemen sumberdaya efisien.

• Jaringan membantu mempertahankan informasi agar tetap andal dan up to date.

• Jaringan membantu mempercepat proses berbagi data.

• Jaringan memungkinkan kelompok kerja agar dapat berkomunikasi dengan lebih

efisien.

• Jaringan membantu usaha dalam melayani klien mereka secara lebih efektif.

2.10.1 Komponen Jaringan

Jaringan pada umumnya mempunyai 3 dasar komponen perangkat

keras yaitu satu atau lebih server atau komputer host (termasuk

microcomputer dan mainframe), client, dan sebuah sirkuit atau sistem

Page 35: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

43

jaringan yang saling berhubungan untuk bisa berkomunikasi satu sama

lain (Ciccarelli et al., 2013).

Gambar 2.8 Contoh sebuah jaringan yang mudah dikenali

(Ciccarelli et al., 2013,p8).

Server menyimpan data dan client dapat mengakses data tersebut.

Server yang digunakan dapat berjumlah lebih dari satu server dan bekerja

bersama dalam sebuah jaringan bersama komputer client dalam

aktivitasnya. Client berfungsi sebagai perangkat keras untuk input-output

yang digunakan oleh pengguna jaringan komputer dalam mengakses

berbagai data, software dan sumber resource yang lainnya.

Untuk server sendiri tidak selalu membutuhkan perangkat yang

khusus didesain sebagai server. Komputer client pada saat ini mampu

Page 36: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

44

berperan ganda sebagai client dan server dikarenakan memang didesain

dengan perangkat-perangkat yang mendukung.

Selain kabel atau jalur transmisi data lainnya dalam sebuah jaringan

yang menghubungkan client dan server serta perangkat resources lainnya,

terdapat perangkat lainnya yang masing-masing mempunyai fungsi

khusus, seperti hub, switch, router, bridges dan gateways.

Gambar 2.9 Contoh Sebuah Jaringan (Ciccarelli et al. ,p10)

2.10.2 Model Jaringan

Terdapat dua dasar model jaringan yaitu model client/server dan

model peer-to-peer (Ciccarelli et al., 2013)

Model client/server adalah sebuah model yang menyerupai model

jaringan mainframe, satu atau lebih komputer didesain untuk

diperuntukan sebagai server yang menyediakan resource, dan sisanya

adalah komputer client yang mengkonsumsi resource tersebut. Dalam

model client/server ini, pengguna memiliki kontrol terpusat untuk

Page 37: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

45

mengontrol keamanan jaringan. Kontrol ini memungkinkan untuk

mengatur sistem yang dijalankan dalam sebuah jaringan, serta pengguna

tersebut berhak mengatur data-data atau resource yang dimiliki oleh

server dalam jaringan tersebut. Tentu saja ini bergantung pada level

access yang dimiliki oleh pengguna itu sendiri. Sebagai contoh terdapat

client dengan level access pengguna yang hanya bisa membaca resource

dan ada client dengan level access bisa menyimpan dan membaca

resource.

Keuntungan dari client/server :

• Terpusat : resource dan keamanan data terkontrol melalui server.

• Mempunyai skala : satu atau semua elemen bisa di ganti bergantung pada

kebutuhan.

• Fleksibel : teknologi baru dengan mudah dapat di integrasikan ke dalam

sistem.

• Interoperability : semua komponen (client/jaringan/server) bekerja

bersama-sama.

• Mudah di akses : server dapat di akses dari jauh dan melewati multiple

platform.

Kerugian dari Client/Server :

• Harga/biaya : memerlukan investasi awal yang lumayan besar.

• Perawatan : jaringan besar akan membutuhkan seorang karyawan untuk

mengefisienkan operasi

Page 38: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

46

Dalam sebuah model jaringan peer-to-peer, resource dari server bisa

diakses, tetapi client tidak mempunyai kontrol yang terpusat terhadap

jaringan atau resource tersebut. Peer-to-peer disebut juga sebagai

workgroup merupakan jaringan dengan desain yang kecil. Microsoft

merekomendasikan jaringan ini untuk tidak digunakan lebih dari dua

belas node. Dalam sebuah jaringan peer-to-peer, client yang terdapat

dalam jaringan berperan sebagai server dan client.

Keuntungan dari Peer to Peer :

• Murah, karena tidak memerlukan server.

• Instalasi mudah di lakukkan.

Kerugian dari Peer to Peer :

• Desentralisasi - tidak ada posisi sentral untuk file dan aplikasi.

• Keamanan - tidak ada keamanan pada jaringan.

2.10.3 Server dan Client

Perbedaan mendasar antara server dan client terletak pada perangkat

lunak yang digunakan. Client menggunakan atau menjalankan client

operating system. Operating system tersebut memberikan akses ke dalam

jaringan dan dalam beberapa versi bisa menjadikan client sebagai sebuah

peer server. Contoh client operating system, yaitu Microsoft Windows

XP, Windows Vista dan Windows 7 (Ciccarelli et al., 2013).

Server mempunyai server operating system atau network operating

system yang merupakan operating system yang memungkinkan sebuah

komputer menjadi server dan mempunyai manajemen keamanan terpusat.

Page 39: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

47

Contoh dari server operating system yang familiar adalah Windows

Server System seperti Windows 2003 Server dan Windows Server 2008.

2.10.4 Kategori Jaringan Komputer

Local Area Network (LAN), merupakan jaringan internal di dalam

sebuah gedung. LAN seringkali digunakan untuk menghubungkan

komputer-komputer pribadi dan workstation dalam kantor suatu

organisasi, perusahaan atau pabrik-pabrik untuk memakai bersama

sumber daya (misalnya printer, media penyimpanan/storage) dan saling

bertukar informasi.

Metropolitan Area Network (MAN), merupakan versi LAN yang

dengan area yang lebih luas dan biasanya menggunakan teknologi yang

sama dengan LAN. MAN dapat mencakup kantor-kantor perusahaan

yang letaknya berdekatan atau juga sebuah kota dan dapat dimanfaatkan

untuk keperluan pribadi (swasta) atau umum. MAN mampu menunjang

data dan suara, bahkan dapat berhubungan dengan jaringan televisi kabel.

Wide Area Network (WAN), jangkauannya mencakup daerah

geografis yang luas, seringkali mencakup sebuah negara bahkan benua.

WAN terdiri dari kumpulan mesin-mesin yang bertujuan untuk

menjalankan program-program (aplikasi) pemakai.

Orang yang terhubung ke jaringan sering berharap untuk bisa

berkomunikasi dengan orang lain yang terhubung ke jaringan lainnya.

Keinginan seperti ini memerlukan hubungan antar jaringan yang

seringkali tidak kompatibel dan berbeda. Kumpulan jaringan yang saling

terhubung (terinterkoneksi) inilah yang disebut dengan internet.

Page 40: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

48

2.11 Bandwidth

Bandwidth (lebar pita) adalah luas atau lebar cakupan frekuensi yang

digunakan oleh sinyal dalam media transmisi. Dalam kerangka ini, bandwidth

dapat diartikan sebagai perbedaan antara komponen sinyal frekuensi tinggi dan

sinyal frekuensi rendah. Frekuensi sinyal diukur dalam satuan hertz (Hz). Di

dalam jaringan komputer (termasuk internet), bandwidth (kecepatan transfer

data) yaitu jumlah data yang dapat ditransfer (dikirimkan atau diterima) dari

sebuah titik ke titik lain dalam jangka waktu tertentu (pada umumnya dalam

detik). Bandwidth ini biasanya dinyatakan dalam ukuran bps (bits per second).

Ada kalanya dalam Bps (Bytes per second). Jadi, sebuah modem yang bekerja

pada 57.000 bps mempunyai bandwidth dua kali lebih besar daripada modem

yang bekerja pada 28.800 bps. Secara umum, koneksi dengan bandwidth yang

besar/tinggi memungkinkan pengiriman informasi yang besar seperti pengiriman

gambar dalam konferensi video (Maryono & Istiana, 2008).

Namun kapasitas bandwidth yang dipakai dalam jaringan tidak selalu dapat

mendukung sebuah pengiriman data, terkadang terdapat data yang terlampau

besar yang tidak dapat ditampung oleh bandwidth itu sendiri. Maka diperlukan

sebuah penghematan terhadap data yang dikirim maupun pembagian bandwidth

yang harus diatur.

2.12 Multicast

Multicast adalah sebuah teknologi konservasi bandwidth yang khusus

didesain untuk mengurangi trafik jaringan yang secara simultan mengirimkan

sebuah aliran informasi tunggal yang berpotensi diterima oleh ribuan penerima

yang bekerjasama (Joseph & Mulugu, 2011). Komunikasi secara multicast

Page 41: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

49

memberikan kemampuan kepada programmer aplikasi untuk membuka atau

membuat sebuah socket UDP (User Datagram Protocol) dan mengirimkan

potongan paket dalam sekali kirim (Makofske & Almeroth, 2003).

Dalam layer transport, multicast hanya bisa bekerja pada UDP. Tidak

bekerja pada TCP (Transmission Control Protocol). Hal ini dikarenakan UDP

merupakan protokol yang tidak perlu melakukan koneksi terlebih dahulu dengan

host,sehingga memungkinkan transmisi secara broadcast atau multicast, tidak

seperti TCP (Transport Control Protocol) yang didesain hanya untuk komunikasi

point-to-point. Pada dasarnya, UDP tidak memiliki kontrol kongesti, tidak

mempunyai pengirim data yang reliable, dan biasa digunakan untuk streaming

data dengan bandwidth tinggi seperti audio dan video. Sedangkan TCP memiliki

pengiriman yang reliable, mempunyai kontrol kongesti. Namun untuk koneksi

secara multicast, UDP lebih menguntungkan untuk dipakai, dikarenakan dalam

sebuah streaming audio atau video UDP tidak akan berhenti dan melakukan

retransmit terhadap paket data yang hilang.

Multicast bekerja dengan cara yang sama seperti televisi dan radio. Jika kita

ingin mendengar siaran dari stasiun televisi tertentu, kita memilih frekuensi

tertentu tempat siaran televisi tersebut memancar . Hal yang sama terjadi pada

multicasting , hanya saja kali ini komputer dibuat hanya mendengar pakat data

dengan IP address tertentu yang khusus digunakan untuk keperluan multicasting.

Untuk dapat mendengar paket multicast dari server tertentu, komputer penerima

memerintahkan card ethernet agar ”mendengarkan” paket dengan IP address

tertentu , tempat server memancarkan datanya.

Page 42: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

50

Gambar 2.10 Jaringan dengan Multicast

Pihak pemancar yang harus mengumumkan terlebih dahulu ada tidaknya

siaran ini agar client mengetahui ada tidaknya suatu siaran yg dipancarkan

dengan IP address tertentu. Server multicast biasanya mengumumkan jadwal

siarannya menggunakan protokol yang dinamakan SDP ( Session Description

Protocol). Dengan menggunakan protokol ini , diumumkanlah informasi penting

diantaranya :

• Nama dan deskripsi acara,

• Jadwal acara ini

• Tipe media yang digunakan ( video, audio, teks )

• IP address dan nomor port yang digunakan.

Informasi ini kemudian di pancarkan menggunakan IP address tertentu

(dedicated) yang memang disediakan untuk keperluan ini. Client multicast

tinggal mendengarkan informasi ini saja.

Page 43: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

51

Setelah mengetahui acara apa saja yang hendak dipancarkan, komputer

client kemudian mendaftar ke router multicast yang bersangkutan. Dengan

proses pendaftaran ini, multicast router mengetahui ada client di networknya

yang berminat mendengarkan siaran tertentu. Proses pendaftaran ini dilakukan

melalui protokol yang dinamakan IGMP (Internet Group Management Protocol).

2.13 Broadcast

Broadcast merupakan pengiriman pesan ke semua titik jaringan. Broadcast

bekerja secara simplex, yaitu membentuk komunikasi antara dua belah pihak

dengan sinyal-sinyal dikirim secara satu arah (Misra, Woungang & Misra, 2008).

Broadcast membentuk basis dari segala komunikasi pada jaringan ad hoc.

Bentuk dari broadcast yang paling sederhana bisa disebut blind flooding. Pada

blind flooding, titik mentransmisikan sebuah paket, yang diterima oleh seluruh

titik tetangga yang masuk kedalam jarak transmisi. Pada saat menerima paket

broadcast, setiap titik menentukan jika data tersebut telah di transmisikan (Misra,

Woungang & Misra, 2008).

Masalah pada blind flooding :

- Redundant Broadcast

Terjadi ketika sebuah titik memutuskan untuk rebroadcast sebuah pesan

kepada tetangganya, namun semua tetangga telah menerima pesanya.

sehingga transmisi menjadi redundan dan tak berguna.

- Medium contention

Terjadi pada saat titik tetangga menerima broadcast message dan

memilih untuk broadcast ulang pesan. Titik - titik ini harus bersaing

dengan satu sama lainya untuk mendapatkan broadcast.

Page 44: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

52

- Packet collision : karena kurangnya mekanisme back-off, RTS/CTS

dialog, dan ketiadaan CD, tabrakan mungkin akan terjadi dan hasilnya

pesan dapat hilang atau data rusak

2.13.1 Broadcast Networks

Menurut Agarawal & Tayal (2009) :

- Sistem Broadcast umumnya dapat mengirimkan data paket ke seluruh

tujuan dengan menggunakan kode yang spesial pada address field. Pada

saat paket ditransmisikan, paket akan diterima dan diproses oleh setiap

mesin pada jaringan .

- Jaringan broadcast memiliki satu saluran komunikasi yang di bagi atau

digunakan oleh semua mesin pada jaringan.

- Beberapa sistem broadcast juga mendukung pada subnet sebuah mesing,

yang disebut multicast.

- Pada saat menerima paket, mesin memeriksa address field. jika paket

ditujukan kepada address tersebut, maka paket di proses, jika tidak paket

akan dibuang.

2.14 Toleransi standar loss bandwidth

Menurut standar dari ITU-T (International Telecommunication Union -

Telecommunication Standardization Sector), toleransi untuk tipe paket

multimedia yang dibawa menggunakan protokol Real-Time-Protocol (RTP)

dengan transport protokol UDP (User Datagram Protocol) berdasarkan QoS

untuk layanan multimedia dapat ditunjukan dengan tabel berikut.

Page 45: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

53

Tabel 2.1 Tabel Parameter QoS paket video/audio

Parameter Nilai sesuai standard ITU-T

Packet loss 0% - 1% untuk interactive video

0%-2% untuk streming video

2.15 OpenCV

Menurut Bradski & Kaebler(2008), OpenCV (Open Source Computer

Vision) library adalah suatu open source computer vision library yang tersedia di

http://SourceForge.net/projects/opencvlibrary. Library ini di tulis pada C dan

C++ dan bekerja pada Linux, Windows, dan Mac OS X. Dan ada pengembangan

selanjutnya pada Phyton, Ruby, Matlab, dan bahasa lainya. OpenCV didesain

untuk efisiensi pada komputasi dan dengan fokus yang kuat pada realtime

aplikasi. OpenCV ditulis dalam bahasa C yang dioptimasi dan mengambil

kelebihan dari multicore processor.

Salah satu dari tujuan OpenCV adalah untuk mendukung penggunaan sebuah

infrastruktur computer vision yang mudah digunakan yang akan membantu orang

untuk membangun vision application dengan mutakhir dan cepat. OpenCV

library mempunyai lebih dari 500 fungsi yang kebanyakan untuk vision,

termasuk factory inspection, medical imaging, keamanan, tampilan pengguna,

pengujian kamera, stereo vision dan robotika.

Computer vision adalah transformasi data dari kamera diam atau video

kedalam bentuk lain atau tampilan lain (Bradski & Kaebler, 2008). Perubahan

tersebut dilakukan untuk mendapatkan beberapa hal yang ingin dicapai dalam

Page 46: Bab 2 Landasan Teori - Library & Knowledge Centerlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2012-1-00452-IF Bab2001.pdf · 2.1 Interaksi Manusia dan Komputer ... disebut intensitas

54

input data visual yang dilakukan oleh komputer. Input data tersebut bisa

merupakan input-an yang tidak berupa data visual,melainkan informasi

kontekstual seperti informasi jarak dari komputer ke suatu benda atau berapa

meter lebar benda atau adakah orang atau tidak dalam visualisasi yang dilakukan

computer vision.