Upload
phunglien
View
214
Download
0
Embed Size (px)
Citation preview
6
BAB 2
LANDASAN TEORI
2.1 Teori Umum
2.1.1 Multimedia
Menurut Vaughan, Tay (2008,p1), multimedia adalah
kombinasi apapun dari teks, seni, suara, animasi dan video yang
dik irimkan kepada pengguna melalui komputer atau alat eletronik lain
atau berarti dimanipulasi secara digital. Multimedia disajikan dengan
penuh sensasi. Ketika elemen sensual dar i multimedia – gambar,
animasi, suara, klip v ideo dan informasi mentah – ditenun secara
bersamaan, hasilnya dapat menggemparkan pikiran dan tindakan
seseorang. Ketika multimedia itu menawarkan kontrol interaksi untuk
prosesnya, pengguna akan terpesona.
2.1.2 IMK (Interaksi Manusia Komputer)
a. Pengertian Interaksi Manusia Dan Komputer
Interaksi manusia dan komputer adalah bidang ilmu
interaksi manusia dan komputer adalah ilmu yang mempelajari
tentang bagaimana mendesain, mengevaluasi, dan
mengimplementasikan sistem komputer yang interaktif sehingga
dapat digunakan oleh manusia dengan mudah. Interaksi adalah
komunikasi dua arah antara manusia (user) dan sistem komputer.
Interaksi menjadi maksimal apabila kedua belah pihak mampu
7
memberikan stimulan dan respon (aksi & reaksi) yang saling
mendukung. Jika salah satu tidak bisa, maka interaksi akan
mengalami hambatan atau bahkan menuju pembiasan tujuan.
b. Faktor Manusia Terukur
Menurut Ben Shneiderman(1998,p15). Untuk merancang
suatu interface yang user friendly diperlukan berbagai macam
faktor.
1. Waktu untuk belajar
Berapa lama waktu yang dibutuhkan bagi pengguna untuk
dapat mempelajari bagaimana menggunakan perintah yang
relevan unt uk suatu tugas.
2. Kecepatan kinerja
Berapa lama wakt u yang diperlukan unt uk melaksanakan suatu
tugas.
3. Tingkat kesalahan yang dapat di alami oleh pengguna
Berapa banyak dan apa saja jenis kesalahan yang dapat dibuat
oleh pengguna dalam melaksankan tugas. Meskipun waktu
yang digunakan untuk membuat dan memperbaik i kesalahan
mungk in dapat dimasukkan kedalam kecepatan kiner ja.
penanganan kesalahan adalah suatu komponen penting dari
penggunaan sistem yang layak studi ekstensif.
8
4. Retensi dar i waktu ke wakt u
Seberapa baik pengguna dapat mempertahankan pengetahuan
mereka setelah satu jam, sehari, atau seminggu. Retensi
mungk in berhubungan erat dengan waktu untuk belajar dan
frekuensi penggunaan.
5. Kepuasan subjektif
Berapa banyak pengguna yang menggunakan berbagai aspek
sistem. Jawabannya dapat dipastikan dengan wawancara atau
survey tertulis yang meliputi skala kepuasan dan ruang untuk
dapat berkomentar secara bebas.
c. Prinsip Perancangan Antar Muka
Pada prinsip perancangan antar muka ini, terdapat delapan
aturan emas, yait u:
1. Untuk dapat konsisten
Aturan ini merupakan salah satu dar i aturan yang paling sering
dilanggar. Konsisten yang dimaksud adalah konsisten terhadap
tampilan, menu, warna, tata letak, kapitalisasi, huruf dan
sebagainya.
2. Memungkinkan pengguna untuk menggunakan shortcu t
Ada kebut uhan dari pengguna yang sudah ahli untuk
meningkatkan kecepatan interaksi, sehingga diperlukan
singkatan, tombol fungsi, perintah tersembunyi, dan fasilitas
makro.
9
3. Dapat memberikan umpan balik yang informatif
Untuk setiap interaksi yang dilakukan oleh pengguna, sistem
harus mampu merespon. Untuk tindakan yang ser ing dan
minor, respon bisa sederhana, sedangkan untuk tindakan
jarang dan utama, respon harus lebih besar
4. Desain dialog unt uk menghasilkan keadaan akhir
Urutan aksi harus diat ur ke dalam kelompok dengan sebuah
permulaan, tengah dan akhir. Respon yang informatif saat
penyelesaian sekelompok aksi memberikan pengguna sebuah
kepuasan pencapaian, rasa lega, pertanda untuk menurunkan
rencana selanjutnya dalam pikiran mereka dan sebuah indikasi
bahwa sistem sudah siap untuk melakukan kelompok aksi
selanjutnya
5. Menawarkan pencegahan kesalahan dan penanganan masalah
Sebisa mungk in perancangan sistem yang dibuat, tidak
membuat pengguna mengalami kesalahan yang serius. Jika
pengguna membuat kesalahan, sistem harus dapat mendeteksi
kesalahan dan memberikan penanganan kesalahan yang
sederhana.
6. Memungkinkan pembatalan aksi yang mudah
Sebisa mungkin, tindakan harus reversible. Fitur ini digunakan
untuk mengurangi kecemasan, karena pengguna mengetahui
bahwa kesalahan tersebut dapat dibatalkan. Sehingga
mendorong pengguna unt uk dapat eksplorasi pilihannya.
10
7. Mendukung kontrol internal
Pengguna ingin menjadi pengontrol sistem dan sistem akan
merespon tindakan yang dilakukan pengguna daripada
pengguna merasa bahwa sistem mengontrol pengguna.
Sebaiknya sistem dirancang sedemikan rupa sehingga
pengguna menjadi inisiator daripada responden.
8. Mengurangi beban ingatan jangka pendek
Keterbatasan ingatan manusia membutuhkan tampilan yang
sederhana atau banyak tampilan halaman yang sebaiknya
disat ukan, serta diberikan cukup waktu pelatihan untuk kode,
mnemonic, dan urutan tindakan.
2.1.3 Perangkat Lunak
Perangkat lunak sangat dibut uhkan sekali dalam
pengoperasian komputer dan tidak bisa di pisahkan o leh komputer.
Menurut Pressman (2005,p36), perangkat lunak adalah:
(1) sekumpulan intruksi-intruksi atau program-program
komputer yang ketika dieksekusi memberikan fit ur/tampilan, fungsi
dan performa yang diinginkan,
(2) data yang terstruktur yang memungkinkan program untuk
memanipulasi informasi, dan
(3) dokumen-dokumen yang menjelaskan operasi dan
kegunaan dari program-program tersebut.
11
a. Rekayasa Perangkat Lunak
Berbagai pengertian rekayasa perangkat lunak menurut
beberapa ahli:
1. Menurut Fritz Bauer, perangkat lunak berdiri dan digunakan
sebagai prinsip-prinsip teknik suara di dalam memenuhi
kebutuhan untuk memperoleh perangkat lunak yang ekonomis,
handal dan bekerja secara efisien pada mesin yang ada.
2. Menurut Pressman (2005,p53-54), rekayasa perangkat lunak
adalah pengaplikasian dari pendekatan yang sistematis,
berdisiplin dan dapat diukur menuju ke pengembangan,
pengoperasian dan pemeliharaan dari perangkat lunak.
Gambar 2.1 Layer yang terdapat dalam rekayasa perangkat lunak
2.1.4 Waterfall Model
a. Waterfall Model
Dalam pengembangan perangkat lunak yang baik dan
berkualitas, salah satu metode daur hidup rekayasa perangkat
lunak yang dikenal adalah metode air terjun (waterfa ll).
Model ini disebut juga linear sequential model. Model
rekayasa ini member ikan pendekatan-pendekatan yang sistematik
dan sekuensial dalam pengem bangan perangkat lunak.
12
Menurut Pressman (2001, p28-29), tahapan dalam
pengembangan linear sequential model adalah sebagai berikut:
1. Rekayasa sistem (system engineering)
Rekayasa ini dimulai dar i analisis kebutuhan-
kebutuhan perangkat lunak. Analisis ini penting untuk
dikerjakan karena akan menentukan konektivitas antara
hardware, user, dan database.
2. Analisa kebutuhan perangkat lunak (so ftware
requirement analysis)
Hasil dari pengumpulan kebutuhan-kebutuhan so ftware
yang telah dilakukan akan difokuskan secara khusus
pada software. Untuk membangun suatu software yang
sesuai dengan permintaan user, software engineer
harus mengetahui fungsi-fungsi yang dibutuhkan user
interface dan kebutuhan software untuk
didokumentasikan dan dibahas bersama dengan
custom er
3. Perancangan (design)
Meliputi beberapa proses yang difokuskan pada empat
atribut program, yait u perancangan struktur data,
perancangan arsitektur perangkat lunak, perancangan
perincian prosedur dan perancangan karakteristik dari
antarmuka.
13
4. Pengkodean (coding)
Setelah dilakukan perancangan, maka selanjutnya
dilakukan tahap pengkodean. Coding dilakukan untuk
menerjemahkan perancangan yang telah dibuat ke
dalam bentuk yang dapat dibaca oleh mesin.
5. Pengujian (testing)
Setelah program selesai dibuat, maka akan dilakukan
testing yang difokuskan pada:
a. Logica l internal of the so ftware
Pengetesan terhadap statement-sta tem ent.
b. Functiona l external
Pengetesan dilakukan untuk menemukan error
pada program. Pada pengetesan ini, inpu t yang
diberikan harus mendapatkan output yang sesuai
dengan yang diharapkan.
6. Pemeliharaan (maintenance)
Oleh karena kebutuhan pemakai selalu meningkat,
maka perangkat lunak yang telah selesai perlu
dipelihara agar dapat mengantisipasi kebutuhan
pemakai terhadap fungsi-fungsi baru yang berasal dari
luar atau perubahan-perubahan pada sistem yang dapat
timbul karena munculnya sistem operasi baru,
perangkat keras baru, dan sebagainya.
14
Pemeliharaan perangkat lunak menawarkan setiap langkah
daur hidup yang terdahulu, sehingga untuk melakukan perbaikan
tidak perlu merancang perangkat lunak yang baru.
Gambar 2.0.2 Waterfall Model
b. UML (Unified Modelling Language)
Menurut Whitten et. al. (2004,p408), Unified Modelling
Language adalah satu kumpulan konvensi pemodelan yang digunakan
untuk menent ukan atau menggambarkan sebuah sistem perangkat
lunak yang terkait dengan objek.
b.1 Model dan Diagram
Menurut Bennett et. al. (2002,pp97-99), model
mewakilkan sesuatu yang lain. Model berguna dalam beberapa
cara yang berbeda, karena model berbeda dari hal yang
mereka wakilkan. Sedangkan analis dan desainer
menggunakan diagram unt uk membangun sistem model dalam
15
cara yang sama seperti arsitek menggunakan gambar dan
diagram untuk memodelkan bangunan. Model diagram
digunakan unt uk mengkomunikasikan ide, menghasilkan ide
dan kemungkinan yang baru, mengetes ide dan membuat
prediksi, serta memahami struktur dan hubungan. Teknik
pemodelan diperbaik i terus menerus. Diagram dan cara
bagaimana mereka memetakan ke dalam sesuat u yang nyata
atau dalam sistem yang baru berubah seperti user
mendapatkan pengalaman tentang seberapa baik pekerjaan
mereka. Terdapat beberapa aturan yang harus dipenuh i dalam
teknik pemodelan:
a. Kesederhanaan dalam representasi (hanya menun jukkan
yang perlu dit unjukkan);
b. Konsistensi internal (dalam satu set diagram);
c. Kelengkapan (menunjukkan semua yang butuh
ditampilkan);
d. Representasi hirarki (memecah sistem dan menun jukkan
lebih detail di bagian level yang lebih bawah)
Diagram UML terdiri dari empat elemen, yaitu icon,
simbol dua dimensi, jalur dan keterangan.
b.2 Diagram Kelas
Menurut Whitten et. al. (2004,p432), diagram kelas,
atau yang lebih dikenal dengan class diagram, adalah gam bar
graf is mengenai struktur objek statis dari suatu sistem,
menunjukkan kelas-kelas objek yang menyusun sebuah sistem
16
dan juga hubungan antar kelas objek tersebut. Diagram kelas
digunakan secara grafis unt uk menggambarkan objek dan
asosiasinya. Gambar 2.3 menunjukkan salah satu bentuk
diagram kelas.
Gambar 2.3 Contoh Class Diagram
b.3 Diagram Use-Case
Menurut Whitten et. al. (2004,p257-262), diagram use-
case adalah diagram yang menggambarkan interaksi antara
sistem dengan sistem eksternal dan pengguna. Dengan kata
lain, secara grafis menggam barkan siapa yang akan
menggunakan sistem dan dengan cara apa pengguna
mengharapkan unt uk berinteraksi dengan sistem. Detil setiap
kejadian bisnis dan bagaimana pengguna berinteraksi dengan
sistem digambarkan dalam artifak kedua yang dinamakan
naratif use-case, yang merupakan deskr ipsi tekstual tentang
kejadian bisn is dan bagaimana pengguna akan berinteraksi
dengan sistem unt uk menyelesaikan tugas. Contoh diagram
use-case ditunjukkan pada Gambar 2.4.
17
Gambar 2.4 Contoh Use Case
Pemodelan use-case mengidentifikasi dan
menggambarkan fungsi-fungsi sistem dengan menggunakan
alat yang disebut use-case. Use-case adalah urutan langkah-
langkah yang secara tindakan saling terkait (scenario), baik
terotomatisasi maupun secara manual, unt uk tujuan
melengkapi satu tugas bisnis tunggal. Bentuk use-case
dit unjukkan pada Gambar 2.5.
Gambar 2.5 C ontoh Symbol Use Case
18
Use-case diawali atau dip icu oleh pengguna eksternal
yang dinamakan actor/pelaku. Pelaku menginisiasi kegiatan
sistem, yakni sebuah use-case, dengan maksud melengkapi
beberapa tugas bisnis yang menghasilkan sesuat u yang dapat
diukur. Sim bol pelaku dit unjukkan pada Gambar 2.6.
Gam bar 2.6 Contoh Symbol actor pada Use Case
b.4 Diagram aktivitas
Menurut Whitten et. al. (2004, p428), diagram aktivitas
adalah sebuah diagram yang dapat digunakan untuk
menggambarkan secara grafis aliran proses bisnis, langkah-
langkah sebuah use-case atau logika behavior objek.
Menurut Bennett et. al. (2002,pp105-106), pembuatan
diagram aktivitas bert ujuan untuk:
a. Memodelkan sebuah kegiatan;
b. Menggambarkan sebuah fungsi sistem yang diwakilkan
oleh use-case;
c. Dalam spesif ikasi operasi, untuk menjelaskan logika
operasi;
d. Untuk memodelkan aktivitas yang membangun siklus.
Adapun Gambar 2.7 menunjukkan salah satu contoh
bent uk diagram aktivitas.
19
Gambar 2.7 C ontoh Diagram Aktivitas
20
2.2 Teori khusus
2.2.1 Sejarah Java
Menurut Charibaldi, Novrido (2010, pp1-2), Java berawal dari
sebuah pro ject pada tahun 1991 yang diberi sandi kode green. Project
ini dipimpin oleh James Gosling dan Patrick Naughton. Tujuan dari
project ini adalah unt uk merancang bahasa komputer untuk perangkat
konsumen seperti kabel TV box. Karena perangkat tersebut tidak
memiliki banyak memori dan diproduksi oleh perusahaan yang
berbeda-beda, maka bahasa yang akan dihasilkan nanti harus kecil
dan multiplatform .
Pada awalnya bahasa yang diciptakan diberi nama Oak, akan
tetapi karena nama Oak sudah mempunyai pemilik maka tim harus
mencari nama lain. Sampai pada akhirnya tim sepakat mengganti
nama menjadi java. Pember ian nama java sendiri merupakan proses
yang tidak disengaja, saat tim meminum kopi di sebuah kedai kopi.
Itulah mengapa java memilik i logo cangkir kopi.
Java dirilis menjadi 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 enterprise
(website, EJB, SOAP, JNDI,dll)
21
2.2.2 JDK (O pen JDK)
Menurut Charibaldi, Novrido (2010, pp2-4), untuk membuat
program di Java, kita terlebih dahulu harus memiliki JDK (Java
Development Kit). JDK ini ber isi compiler dan JVM (Java Virtual
Machine). Sebelum program Java dijalankan, terlebih dahulu compiler
yang akan bekerja unt uk mengkompilasi program Java menjadi
bytecode. Kemudian bytecode inilah yang nantinya akan dijalankan
oleh JVM.
Java memiliki beberapa keunggulan antara lain:
1. Berorientasi objek
Java menggunakan konsep pemrograman beror ientasi objek
(OOP). OOP memungkinkan adanya reuseable code dan
komunikasi antar objek.
2. Platform independent
Java merupakan bahasa yang tidak terikat dengan platform
manapun(Windows, Linux, Mac, dll). Cukup buat sekali bisa kita
jalankan dimanapun (Write Once Run Anywhere).
3. Robust
Com piler Java memiliki kemampuan mendeteksi kesalahan lebih
teliti dibandingkan bahasa pemrograman yang lain.
22
4. Interpreter
Java menggunakan interpreter berupa JVM. JVM inilah yang
akan mengkompilasi kode Java menjadi bytecode dan dapat
dijalankan di p latform yang berbeda.
5. Aman
Java memilik i tingkat keamanan yang tinggi untuk menjaga
supaya aplikasi tidak merusak sistem komputer yang
menjalankannya.
6. Sederhana
Java mengadopsi sintaks bahasa yang mirip dengan bahasa
C/C++, yang menjadikan Java menjadi mudah untuk dipahami.
Dan melakukan penyempurnaan dengan menghilangkan pointer
yang selalu dianggap bermasalah.
7. Dukungan komunitas
Java memiliki komunitas yang sangat banyak diseluruh penjuru
dunia. Komunitas Java yang paling terkenal adalah JUG (Java
User Groups). Selain komunitas, juga terdapat banyak sekali
forum Java di Internet yang disediakan untuk membantu para
penggemar Java yang mengalami kesulitan.
23
8. Teknologi sekaligus solusi
Java merupakan sebuah bahasa yang lengkap (One for All). Satu
buah bahasa tetapi memilik i teknologi yang dapat digunakan
untuk lingkungan aplikasi yang berbeda. Selain sebuah bahasa
Java juga merupakan sebuah solusi open source. Sudah banyak
solusi yang dikembangkan menggunakan Java dan bersifat open
source, antara lain: alfresco(File Server), liferay (portal),
adempiere (ERP).
9. Kecepatan yang sudah diperbaiki
Java bukan sebuah bahasa yang baru saja keluar 1 atau 2 tahun
yang lalu, tetapi Java sampai saat in i sudah berusia kurang lebih
13 tahun. Java sudah sangat mature. Kecepatan Java sudah jauh
lebih baik dari pada saat Java pertama kali muncul. Ditambah lagi
dengan harga hardware computer yang sudah mulai terjangkau.
10. Mendukung Garbage Collector
Java memiliki fasilitas garbage collector yang berarti java akan
menghapus secara otomatis objek-objek yang sudah tidak
dibutuhkan lagi. Fasilitas ini dapat mengurangi beban terhadap
pengelolaan m emory oleh programm er.
24
2.2.3 Java IDE
Menurut Charibaldi, Novrido (2010, p4), IDE (Integra ted
Development Environment) merupakan tools pembantu untuk
pembuatan program. Berbeda dengan Visual Basic atau bahasa
pemrograman yang lain dimana pengguna tidak diperbolehkan
memilih IDE-nya sendir i. Java membebaskan penggunanya untuk
memilih IDE yang mereka sukai.
Beberapa IDE Java yang paling popular antara lain sebagai ber ikut:
1. Netbeans
2. Eclipse
3. Jdeveloper
2.2.3 Multithreading
Menurut Char ibaldi, Novrido (2010, p108), Multithreading
adalah suatu kemampuan yang memungkinkan beberapa thread dapat
dijalankan secara bersamaan/bergantian/konkruen. Manfaat aplikasi
menggunakan multithreading yaitu agar thread- thread disuatu proses,
dapat sharing kode program, data, dan sumber daya, secara lebih
efisien dibanding proses-proses terpisah.
Terdapat tiga class yang berkaitan dengan aplikasi m ultithreading:
a. Thread : Dipanggil setiap kali thread dim ulai.
b. ThreadDeath : Membersihkan thread yang telah berakhir
eksekusinya.
c. ThreadGroup : Mengelompokkan thread-thread.
25
2.2.5 CAI (Computer Assisted Instruction)
Pembelajaran dengan bantuan komputer (CAI) adalah tipe
CBI(Computer Based Instruction) yang dapat digunakan sendiri atau
digunakan bersama dengan sistem instruksional lain. Perangkat lunak
yang digunakan berfungsi untuk membantu proses pembelajaran.
Manfaat komputer meliputi penyajian informasi, isi materi pelajaran
dan latihan atau kombinasinya.
Menurut Herman D Sur jono (1999), istilah CAI (Com puter-
Assisted Instruction) um umnya menunjuk pada sem ua perangkat
lunak pendidikan yang diakses melalui komputer di mana anak didik
dapat berinteraksi dengannya. Sistem komputer menyajikan
serangkaian program pengajaran kepada anak didik baik berupa
informasi maupun latihan soal-soal untuk mencapai tujuan pengajaran
tertentu dan pembelajaran melakukan aktivitas belajar dengan cara
ber interaksi dengan sistem komputer. Materi pelajaran dapat disajikan
program CAI melalui berbagai metode seperti: drill and practice,
tutorial, simulasi, permainan, problem -solving, dan lain sebagainya.
26
2.2.6 Algoritma Pemrograman
Menurut Horowitz et. al. (pp1-4), algoritma adalah
sekumpulan instruksi yang, jika diikuti, menyelesaikan tugas tertentu.
Sebagai tambahan, semua algoritma harus memenuhi kriteria berikut :
1. Input
Nol atau lebih kuantitas tersedia secara eksternal
2. Output
Paling sedikit menghasilkan satu kuantitas
3. Kejelasan
Setiap instruksi jelas dan tidak ambigu
4. Keterbatasan
Jika kita mengikuti in struksi dari suat u algoritma, kemudian untuk
semua kasus, algoritma berakhir setelah beberapa langkah tertentu
5. Keefektifan
Setiap instruksi harus sangat dasar sehinggga dapat dihasilkan
oleh seseorang hanya dengan menggunakan pensil dan kertas.
Semua algoritma dibuat dari sekumpulan langkah, tiap langkahnya
mungk in memerlukan satu atau lebih operasi. Kemungkinan komputer
menghasilkan operasi-operasi in i memerlukan keterbatasan tertentu yang
dapat ditempatkan pada tipe operasi yang dapat dimasukkan algoritma.