BAB 2 LANDASAN TEORI
2.1
Teo ri Umum 2.1.1 Multimedia Menur ut
Vaugh an,
Tay
(2008,p1), m ultimedia adalah
kom binasi apapun dari teks, seni, suar a, animasi dan video yang dik irim kan kep ada pen gguna melalui kom puter atau alat eletronik lain atau ber arti dimanipulasi secara digital. Multim edia disajikan den gan penuh sen sasi. Ketika elemen sen sual dar i m ultimedia – gam bar, animasi, suar a, klip v ideo dan informasi mentah – diten un secara ber sam aan, hasilnya dapat menggemparkan pikiran dan tindakan seseoran g. Ketika multim edia itu menawarkan kontrol interaksi untuk prosesnya, pen ggun a akan terpesona.
2.1.2
IMK ( Interaksi Manusia Komputer) a. Pengertian Interaksi Manusia Dan Komputer Interaksi man usia dan kom puter adalah bidan g ilmu interaksi m an usia dan komputer adalah ilm u yan g m empelajari tentang
bagaim ana
m endesain,
m en gev aluasi,
dan
mengim plementasikan sistem komputer yan g interaktif sehin gga dap at digunak an oleh manusia den gan mudah. Interaksi adalah kom unikasi dua arah antara m anusia (user) dan sistem komputer. Interaksi m enjadi maksim al apabila kedua belah pihak mam pu
6
7
memberikan stimulan dan respon (aksi & reaksi) yang saling menduk un g. Jika salah satu tidak bisa, maka interaksi akan mengalami ham batan atau bahkan menuju pembiasan tujuan. b. Faktor Manusia Terukur Menur ut Ben Shneiderm an(1998,p15). Untuk merancang suatu interface y ang user friendly diperlukan ber bagai macam faktor. 1. Waktu untuk belajar Ber apa lam a waktu yan g dibutuhkan bagi pengguna untuk dap at mem pelajari bagaimana men ggunakan p erintah yang relevan unt uk suatu tugas. 2. Kecepatan kinerja Ber apa lam a wakt u yan g diperlukan unt uk m elak sanakan suatu tugas. 3. Tingkat kesalah an yan g dapat di alam i oleh pen gguna Ber apa banyak dan apa saja jenis kesalahan yan g dapat dibuat oleh penggun a dalam m elak sankan tugas. Meskip un waktu yang digunakan untuk m embuat dan m emper baik i kesalahan mungk in dap at dim asukkan kedalam kecep atan kiner ja. penanganan k esalahan adalah suatu komponen penting dari penggun aan sistem yang layak studi ekstensif.
8
4. Retensi dar i waktu ke wakt u Seberapa baik pen gguna dapat m em pertahankan p engetah uan mereka setelah satu jam , seh ari, atau semin ggu. Retensi mungk in berh ubun gan erat den gan waktu untuk belajar dan frekuensi penggunaan. 5. Kep uasan subjektif Ber apa banyak pen gguna yan g m enggun akan ber bagai aspek sistem. Jawabanny a dapat dipastikan den gan wawancar a atau survey tertulis yan g m elip uti skala kepuasan dan r uan g untuk dap at berkomentar secara bebas. c. Prinsip Perancangan Antar Muka Pada prinsip perancan gan antar m uka ini, terdap at delapan aturan emas, yait u: 1. Untuk dap at konsisten Aturan ini mer upak an salah satu dar i aturan yan g palin g sering dilanggar. Kon sisten yan g dim ak sud adalah kon sisten terhadap tam pilan, menu, warna, tata letak, kapitalisasi, hur uf dan sebagainya. 2. Memungk inkan pengguna untuk men ggunakan sho rtcu t Ada kebut uhan dari penggun a yan g sudah ahli untuk meningkatkan
kecepatan
interaksi,
sehingga
diperlukan
sin gkatan, tom bol fun gsi, perintah tersem bunyi, dan fasilitas makro.
9
3. Dapat m em berikan um pan balik y an g inform atif Untuk setiap interaksi yan g dilak ukan oleh pengguna, sistem harus mam pu merespon. Untuk tin dak an yan g ser in g dan minor, respon bisa sederh ana, sedan gkan untuk tindakan jarang dan utam a, respon har us lebih besar 4. Desain dialog unt uk m enghasilkan k eadaan akhir Ur utan aksi harus diat ur ke dalam kelompok den gan sebuah permulaan, tengah dan akhir. Respon yan g informatif saat penyelesaian sekelom pok aksi m em berik an pen gguna sebuah kepuasan pencapaian, rasa lega, pertanda untuk m enur unkan rencana selanjutnya dalam pikiran m ereka dan sebuah in dikasi bah wa sistem sudah siap untuk m elak ukan kelompok aksi selanjutnya 5. Menawark an pencegahan k esalah an dan pen anganan masalah Sebisa mungk in perancangan sistem yang dibuat, tidak membuat pen ggun a m engalami kesalah an yan g serius. Jika penggun a mem buat kesalahan, sistem harus dapat mendeteksi kesalahan dan m em berikan penan ganan kesalahan yang sederh ana. 6. Memungk inkan pem batalan aksi yan g m udah Sebisa m un gkin, tindak an har us reversible. Fitur ini digunakan untuk men gurangi kecem asan, karena pen gguna m en getahui bah wa
kesalahan
tersebut
dapat
dibatalk an.
Sehin gga
mendoron g pen gguna unt uk dapat ek splorasi pilihannya.
10
7. Menduk un g kontrol internal Pengguna ingin m enjadi pen gontrol sistem dan sistem akan merespon tin dakan
yan g dilakukan
pen gguna
darip ada
penggun a merasa bahwa sistem m engontrol pen gguna. Sebaiknya
sistem
diran can g sedemikan
r upa
sehin gga
penggun a m enjadi inisiator darip ada responden. 8. Menguran gi beban in gatan jan gk a pen dek Keterbatasan ingatan manusia m em butuhkan tampilan yang sederh ana atau banyak tam pilan halaman yang sebaiknya disat ukan, serta diberikan cuk up waktu pelatihan untuk ko de, mnemonic, dan ur utan tindakan.
2.1.3
Perangkat Lunak Perangk at
lunak
san gat
dibut uhkan
sekali
dalam
pengop erasian kom puter dan tidak bisa di pisahkan o leh kom puter. Menur ut Pressman (2005,p36), peran gkat lunak adalah: (1) sekum pulan
intruk si-intr uksi atau pro gram-progr am
kom puter yang ketika dieksekusi m emberik an fit ur/tampilan, fun gsi dan perform a yan g diin ginkan, (2) data yang terstr uktur y an g m emungkink an pro gram untuk memanipulasi informasi, dan (3) dokum en- dok um en
yang
kegunaan dari pro gram -progr am tersebut.
menjelaskan
operasi
dan
11
a. Rekayasa Perangkat Lunak Ber bagai p en gertian rek ayasa peran gkat lunak m en urut beberapa ahli: 1. Menur ut Fritz Bauer, perangkat lunak ber diri dan digunakan sebagai prinsip-prinsip teknik suara di dalam memenuhi kebutuhan untuk m em peroleh perangk at lun ak yang ekonom is, handal dan bekerja secara efisien pada m esin yan g ada. 2. Menur ut Pressman (2005,p53-54), rekayasa peran gkat lunak adalah
pen gaplik asian dari pendekatan yang sistematis,
ber disiplin dan dapat diuk ur men uju ke p engemban gan, pengop erasian dan pem eliharaan dari per angkat lunak.
Gambar 2.1 Layer yang terdapat dalam rekayasa perangkat lunak
2.1.4
Waterfall Model a. Waterfall Model Dalam pengem ban gan peran gk at lunak yang baik dan berk ualitas, salah satu m etode daur hidup rekay asa peran gkat lun ak yang dik enal adalah metode air terjun ( waterfa ll). Model ini disebut juga linea r sequ ential model. Model rekayasa ini m ember ikan pen dekatan-pendekatan yang sistem atik dan sek uensial dalam pen gem ban gan perangkat lunak.
12
Menur ut
Pressman
(2001, p28-29), tahapan
dalam
pengem ban gan lin ear sequ ential model adalah sebagai berik ut: 1. Rek ayasa sistem (system engineering) Rek ayasa
ini
dim ulai
dar i
analisis
kebutuhan-
kebutuhan per angkat lunak. Analisis ini pentin g untuk dik erjak an karena akan menentukan konektivitas antara hard ware, user, dan database. 2. Analisa
kebutuhan
peran gkat
lunak
(so ftware
requirement analysis) Hasil dari p en gum pulan kebutuh an-kebutuh an so ftwa re yang telah dilakukan akan difok uskan secara khusus pada softwa re. Untuk membangun suatu softwa re yang sesuai den gan permintaan user, software engineer harus m engetahui fun gsi-f un gsi yan g dibutuhk an user interface
dan
didokumentasikan
kebutuhan dan
dibahas
software
untuk
ber sam a
den gan
custom er 3. Perancangan (d esign) Meliputi beberapa pro ses yan g difok uskan p ada em pat atribut pro gram, yait u perancangan struktur data, perancangan arsitektur peran gkat lunak, perancan gan perincian prosedur dan p erancan gan karakteristik dari antarm uka.
13
4. Pengko dean (coding) Setelah dilak ukan peran can gan, m aka selanjutnya dilakukan tahap pengkodean. Coding dilak ukan untuk menerjemahkan perancan gan yang telah dibuat ke dalam bentuk yan g dapat dibaca oleh mesin. 5. Pengujian (testing) Setelah pro gr am selesai dibuat, maka akan dilakukan testing yan g difok usk an pada: a.
Logica l internal of th e so ftwa re Pengetesan terhadap statement-sta tem ent.
b.
Functiona l external Pengetesan dilak ukan untuk m enemuk an error pada program . Pada pen getesan ini, inpu t yang diberikan h ar us m en dap atkan output y ang sesuai den gan yan g diharapkan.
6. Pem eliharaan (maintenance) Oleh k arena kebutuhan pem akai selalu meningk at, maka perangk at
lunak
yan g telah selesai perlu
dip elih ara
dapat
m engantisipasi
agar
kebutuhan
pem akai terhadap f un gsi-f un gsi bar u yan g berasal dari luar atau perubahan-perubahan pada sistem yang dapat tim bul k arena
munculnya
sistem
perangkat keras bar u, dan sebagainya.
operasi
baru,
14
Pem eliharaan per angkat lunak m enawark an setiap langkah daur hidup yan g terdahulu, sehin gga untuk melakukan per baikan tidak perlu merancang perangkat lunak y ang bar u.
Gambar 2.0.2 Waterfall Mo del
b. UM L ( Unified Modelling La nguage) Menur ut Whitten et. al. (2004,p408), Unified Modelling Language adalah satu kum pulan konven si p emodelan y ang digunakan untuk menent ukan atau men ggambark an sebuah sistem perangkat lun ak yang terkait den gan objek. b.1
Model dan Diagram Menur ut
Bennett et. al.
(2002,pp97-99), model
mewakilkan sesuatu y ang lain. Model ber guna dalam beber apa cara yang ber beda, karena model ber beda dari hal yang mereka
wakilkan.
Sedan gkan
analis
dan
desainer
menggunakan diagr am unt uk memban gun sistem m odel dalam
15
cara y ang sam a seperti ar sitek menggunakan gambar dan diagram untuk mem odelkan
ban gun an. Model diagr am
digunakan unt uk men gkomunik asikan ide, men ghasilkan ide dan kemun gk inan yang bar u, men getes ide dan membuat prediksi, serta m emaham i struktur dan h ubungan. Teknik pem odelan dip er baik i terus m ener us. Diagram dan cara bagaim ana mereka m emetakan ke dalam sesuat u yan g nyata atau
dalam
sistem
yang
baru
ber ubah
sep erti
user
mendapatkan p en galaman tentang seberapa baik pekerjaan mereka. Terdap at beberapa aturan y ang har us dipen uh i dalam teknik pem odelan: a. Kesederhanaan dalam representasi (hanya menun jukkan yang p erlu dit unjukkan); b. Konsistensi internal ( dalam satu set diagr am ); c. Kelengkapan
(m en unjukkan
semua
yan g
butuh
ditampilkan); d. Repr esentasi hirarki (memecah sistem dan menun jukkan lebih detail di bagian level yan g lebih bawah) Diagram UML ter diri dari empat elemen, y aitu icon, sim bol dua dim en si, jalur dan keteran gan. b.2
Diagram Kelas Menur ut W hitten et. al. (2004,p432), diagram kelas, atau yan g lebih diken al dengan class diagram, adalah gam bar graf is men gen ai struktur o bjek statis dari suatu sistem, menunjukkan kelas-k elas objek yang menyusun sebuah sistem
16
dan juga h ubungan antar kelas o bjek tersebut. Diagram kelas digunakan secara grafis unt uk men ggam barkan objek dan aso siasiny a. Gam bar 2.3 m en unjukkan salah satu bentuk diagram kelas.
G ambar 2.3 Contoh Class Diagram
b.3
Diagram Use- Ca se Menur ut W hitten et. al. (2004,p257-262), diagram u secase adalah diagram yan g m en ggambarkan interaksi antara sistem den gan sistem eksternal dan pen gguna. Dengan kata lain,
secara
menggunakan
grafis m enggam barkan sistem
dan
dengan
siapa
yang
cara apa
akan
pen gguna
mengharapk an unt uk berinteraksi dengan sistem . Detil setiap kejadian bisnis dan bagaimana penggun a berinteraksi den gan sistem digambark an dalam artifak kedua yan g dinamakan naratif use-ca se, y an g m erupak an deskr ipsi tekstual tentang kejadian bisn is dan bagaim ana pengguna akan berinteraksi den gan sistem unt uk menyelesaikan tugas. Contoh diagr am use-ca se ditunjukk an pada Gam bar 2.4.
17
Gambar 2.4 Contoh Use Ca se
Pem odelan
u se-ca se
men gidentifikasi
dan
menggambarkan f un gsi-f ungsi sistem den gan menggunakan alat yan g disebut use- case. Use-case adalah ur utan langkahlan gkah y ang secara tindakan salin g terkait (scena rio), baik terotom atisasi
m aup un
secar a
manual,
unt uk
tujuan
melengk api satu tugas bisnis tun ggal. Bentuk use-case dit unjukkan pada Gam bar 2.5.
Gambar 2.5 C ontoh Sym bol Use Case
18
Use-ca se diawali atau dip icu oleh pengguna ek sternal yang dinam akan acto r/p elak u. Pelak u menginisiasi k egiatan sistem, yakni sebuah use-case, den gan maksud m elengk api beberapa tugas bisnis yan g m enghasilk an sesuat u yang dapat diuk ur. Sim bol pelaku dit unjukkan p ada Gam bar 2.6.
G am bar 2.6 Contoh Symbol actor pa da Use Ca se b.4
Diagram aktivitas Menur ut W hitten et. al. (2004, p428), diagram aktivitas adalah
sebuah
diagr am
yang
dapat
digunak an
untuk
menggambarkan secar a grafis aliran proses bisnis, langkahlan gkah sebuah use-case atau logika behavior o bjek. Menur ut Bennett et. al. (2002,pp105-106), p em buatan diagram aktivitas bert ujuan untuk: a. Memodelkan sebuah kegiatan; b. Menggam barkan sebuah fun gsi sistem yang diwakilkan oleh use-ca se; c. Dalam spesif ikasi operasi, untuk menjelask an logika operasi; d. Untuk mem odelkan aktivitas yan g membangun siklus. Adapun Gambar 2.7 menunjukk an salah satu contoh bent uk diagram aktivitas.
19
Gambar 2.7 C ontoh Diagram Aktivitas
20
2.2
Teo ri khusus 2.2.1
Sejarah Java Menur ut Charibaldi, Novrido (2010, pp1-2), Java berawal dari sebuah pro ject pada tahun 1991 y an g diberi san di ko de green. Project ini dipimpin oleh Jam es Gosling dan Patrick Naughton. Tujuan dari project ini adalah unt uk m erancan g bahasa kom puter untuk peran gkat konsum en seperti kabel TV box. Karena perangk at tersebut tidak memiliki banyak memori dan diproduksi oleh per usahaan yang ber beda-beda, maka bahasa yan g akan dihasilkan nanti harus kecil dan multiplatfo rm . Pada awalny a bahasa yang diciptakan diberi nama Oak, akan tetapi karena nam a Oak sudah m em punyai pemilik m aka tim harus mencari nama lain. Sam pai pada akhirny a tim sepak at mengganti nam a m enjadi java. Pember ian nam a java sen diri merupak an proses yang tidak disengaja, saat tim m em inum kopi di sebuah kedai kopi. Itulah m en gapa java m em ilik i logo cangkir kopi. Java dirilis m enjadi 3 teknologi: 1. JavaSE (Java Standard Edition) : Untuk aplikasi berbasis desktop. 2. JavaME (Java Mobile Edition): Untuk ap likasi berbasis m obile. 3. JavaEE (Java En terprise Edition) : Unt uk aplikasi enterp rise ( website, EJB, SOAP, JNDI, dll)
21
2.2.2
JDK (O pen JDK) Menur ut Charibaldi, Novrido (2010, pp2-4), untuk membuat program di Java, kita terlebih dah ulu har us memiliki JDK (Java Development Kit). JDK ini ber isi compiler dan JVM (Ja va Virtual Machine). Sebelum program Java dijalankan, terlebih dahulu compiler yang akan bekerja unt uk mengkompilasi pro gr am Java m enjadi bytecod e. Kem udian bytecod e inilah yang nantinya akan dijalankan oleh JVM. Java memiliki beberapa keun ggulan antara lain: 1. Berorientasi o bjek Java m en ggunakan kon sep pemrogr aman beror ientasi objek (OOP). OOP m emungk inkan adanya reu seable cod e dan kom unikasi antar o bjek. 2. Platform independent Java m er upakan bahasa yang tidak terikat den gan platform manapun(W in dows, Linux, Mac, dll). Cukup buat sekali bisa kita jalankan dimanap un ( Write On ce Run Anywhere). 3. Robust Com piler Java memiliki k em am puan m endetek si k esalahan lebih teliti diban din gkan bahasa pem ro gram an yan g lain.
22
4. Interpreter Java m en ggunakan interp reter ber upa JVM. JVM inilah yang akan m engkompilasi kode Java m enjadi bytecode dan dapat dijalankan di p latform yang berbeda. 5. Am an Java m em ilik i tingkat keam anan yan g tinggi untuk m enjaga supaya
aplikasi
tidak
m erusak
sistem
komputer
yang
menjalankanny a. 6. Sederh ana Java m engadopsi sintak s bahasa yan g m irip dengan bahasa C/C++, yan g menjadikan Java m enjadi m udah untuk dipahami. Dan m elak ukan peny empurnaan den gan m enghilangk an pointer yang selalu dianggap berm asalah. 7. Duk un gan kom un itas Java m emiliki komun itas yan g san gat banyak diselur uh p enjuru dunia. Kom un itas Java yang paling terkenal adalah JUG (Java User Groups). Selain komunitas, juga terdap at banyak sekali forum Java di Internet yan g disediakan untuk m embantu p ara penggemar Jav a yang men galami kesulitan.
23
8. Teknologi sek aligus solusi Java m erup akan sebuah bahasa yan g len gkap (On e fo r All). Satu buah bahasa tetapi m em ilik i teknologi y ang dapat digunakan untuk lingk un gan aplikasi yang ber beda. Selain sebuah bahasa Java juga mer upak an sebuah solusi open source. Sudah banyak solusi yan g dik em ban gkan m enggunakan Java dan ber sif at open source, antara lain: alfresco( File Server), lif eray (portal), adempiere (ERP). 9. Kecepatan yan g sudah dip erbaiki Java bukan sebuah bahasa yang bar u saja keluar 1 atau 2 tahun yang lalu, tetapi Java sam pai saat in i sudah ber usia k ur an g lebih 13 tahun. Java sudah san gat mature. Kecep atan Jav a sudah jauh lebih baik dari pada saat Java pertam a kali m un cul. Ditambah lagi den gan har ga hard wa re computer yan g sudah m ulai terjangk au. 10. Menduk un g Garbage Collecto r Java m emiliki fasilitas garbage collector yang berarti java akan menghapus secara otom atis o bjek-o bjek yang sudah tidak dibutuhkan lagi. Fasilitas ini dapat menguran gi beban terhadap pengelolaan m emory oleh prog ramm er.
24
2.2.3
Java IDE Menur ut Charibaldi, Novrido (2010, p4), IDE (Integra ted Development
Environment) m erupakan tools pem bantu
untuk
pem buatan pro gram. Ber beda den gan Visual Basic atau bahasa pem rogram an yan g lain dimana pen gguna tidak diperbolehkan memilih IDE-nya sen dir i. Java membebaskan penggun anya untuk memilih IDE yang merek a suk ai. Beberapa I DE Jav a yan g palin g popular antara lain sebagai ber ikut: 1. Netbean s 2. Eclipse 3. Jdeveloper 2.2.3
Multithreading Menur ut Char ibaldi, Novrido (2010, p108), Multithreading adalah suatu kemampuan yan g m emungkink an beberap a thread dapat dijalankan secara bersam aan/ber gantian/konkr uen. Manf aat aplikasi menggunakan multithreading yaitu agar thread- thread disuatu proses, dap at sharing ko de program , data, dan sum ber daya, secara lebih efisien dibandin g proses-proses terpisah. Terdapat tiga class yan g berkaitan den gan aplikasi m ultithreading: a. Thread : Dipan ggil setiap kali thread dim ulai. b. ThreadDeath : Mem bersihkan thread yan g telah ber akhir eksekusiny a. c. ThreadGroup : Mengelom pokkan thread-thread.
25
2.2.5
CAI (Com puter Assisted Instruction) Pem belajaran den gan bantuan kom puter (CAI) adalah tipe CBI(Computer Ba sed Instru ction) y ang dap at digun akan sendiri atau digunakan ber sam a dengan sistem instr uksional lain. Peran gkat lunak yang digunak an berf ungsi untuk m em bantu pro ses pem belajaran. Manfaat komputer melip uti p enyajian informasi, isi m ateri pelajaran dan latihan atau kombinasinya. Menur ut Herm an D Sur jono (1999), istilah CAI ( Com puterAssisted In struction) um um nya menunjuk pada sem ua peran gkat lun ak pen didikan yan g diakses m elalui kom puter di m ana anak didik dap at
berinterak si
den gannya.
Sistem
komputer
m enyajikan
serangk aian program pen gajaran kepada anak didik baik ber upa informasi m aup un latihan soal-so al untuk m encapai tujuan p en gajaran tertentu dan pembelajaran m elak ukan aktivitas belajar dengan cara ber interaksi den gan sistem komputer. Materi pelajaran dapat disajikan program CAI melalui berbagai metode sep erti: drill and practice, tutorial, sim ulasi, perm ainan, problem -solving, dan lain sebagainya.
26
2.2.6
Algoritma Pemrograman Menur ut
Horowitz
et.
al.
(pp1-4),
algoritm a
adalah
sek umpulan in struk si yan g, jika diik uti, menyelesaikan tugas tertentu. Sebagai tam bah an, sem ua algoritma har us m emenuhi kriteria berik ut : 1. Input Nol atau lebih k uantitas ter sedia secar a ek sternal 2. Output Paling sedikit menghasilkan satu k uantitas 3. Kejelasan Setiap instruksi jelas dan tidak am bigu 4. Keterbatasan Jika kita m engikuti in struk si dari suat u algoritm a, kemudian untuk sem ua kasus, algoritm a berakhir setelah beber apa lan gkah tertentu 5. Keef ektifan Setiap instr uksi harus sangat dasar sehinggga dapat dihasilkan oleh seseorang hanya den gan men ggunak an pen sil dan kertas.
Sem ua algoritm a dibuat dari sekumpulan lan gkah, tiap langk ahnya mungk in m em erlukan satu atau lebih oper asi. Kem un gkinan komputer menghasilk an operasi-op erasi in i memerlukan keter batasan tertentu yang dap at ditem patkan pada tipe oper asi yan g dap at dimasukkan algoritma.