Bab II DASAR TEORI
2.1 Pendahuluan Energi listrik merupakan sumber energi dengan konsumsi terbesar saat ini di Indonesia jika dibandingkan dengan energi lainnya. Tingkat konsumsi yang besar tersebut tidak sebanding dengan persediaan energi listrik di Indonesia dan bahkan dapat dikatakan Indonesia sedang mengalami krisis energi listrik[2]. Tingkat konsumsi energi listrik yang semakin tinggi dapat memperburuk krisis energi listrik. Oleh karena itu dibutuhkan suatu perubahan perilaku untuk melakukan hemat listrik. Budaya hemat listrik tidak hanya dilakukan di tataran birokratis, hemat listrik ini bahkan harus dilakukan di semua sektor yang terkait, termasuk rumah tangga, industri dan transportasi. Hampir 40% emisi karbon dihasilkan oleh sektor ketenagalistrikan. Semakin tinggi konsumsi energi listrik maka akan menyebabkan naiknya tingkat emisi karbon yang dihasilkan dari pembangkit listrik karena 60% menggunakan bahan bakar fosil. Sementara pembakaran bahan bakar fosil adalah penyebab utama terjadinya pemanasan global yang berdampak pada meningkatnya suhu bumi secara global akibat pembentukan gas rumah kaca[3]. Meskipun penggunaan energi listrik pada rumah tangga hanya 23% dari seluruh penggunaan energi nasional kita, tetapi harus diingat bahwa penggunaan energi di bidang lain seperti industri (38%) dan transportasi (39%) sedikit banyak didorong oleh kebutuhan konsumsi individu serta rumah tangga. Jadi, peningkatan kebutuhan konsumsi rumah tangga akan membutuhkan peningkatan produksi yang kemudian meningkatkan kebutuhan energi listrik untuk transportasi. Meskipun sebagian dari produksi industri akan diekspor, tetapi tetap saja ada bagian yang dipasarkan di dalam negeri. Dengan kata lain, penggunaan energi di rumah tangga akan berpengaruh pada peningkatan penggunaan energi listrik di sektor industri dan sektor transportasi[3]. Penghematan energi di rumah tangga selain menghasilkan penghematan pada dirinya sendiri, sedikit banyak juga berpengaruh pada dua sektor utama lainnya
7
(industri dan transportasi). Penghematan energi di rumah tangga mempunyai efek berantai bagi penghematan energi secara keseluruhan[4]. Manfaat melakukan penghematan energi listrik adalah bukan hanya untuk mengurangi pengeluaran bulanan semata, tetapi untuk mengatasi masalah kurangnya pasokan listrik di Indonesia, pasokan listrik yang belum bisa dinikmati oleh seluruh rakyat Indonesia, serta adanya ancaman pemanasan global. Hemat listrik ini bahkan harus menjadi budaya, bukan hanya kebiasaan. Negara-negara maju seperti Jepang, Amerika Serikat dan Uni Eropa, selama ini telah menjadikan hemat energi sebagai budaya mereka, sehingga biaya produksi berkurang dan daya saing di pasaran internasional meningkat. Di Indonesia, hal ini mau tidak mau harus segera dilakukan bila tidak mau tersingkir di pasaran global, regional atau bahkan lokal. Patut diperhatikan bahwa banjirnya produk impor di Indonesia dengan harga yang lebih murah, salah satu sebabnya adalah negara produsen lebih efisien daripada Indonesia[5]. Masyarakat kita memang harus bertransformasi dari masyarakat yang boros energi menjadi masyarakat yang hemat energi, bahkan menjadikan hemat energi menjadi budaya nasional. Paradigma lama bahwa Indonesia kaya akan minyak, gas dan batubara harus segera ditinggalkan. Negeri kita, tidak kaya akan minyak (hanya 0,3% dari cadangan minyak dunia), gas (sekitar 0,6% dari cadangan gas dunia) dan batubara (hanya 3% dari total cadangan batubara dunia). Begitu kita tahu bahwa cadangan sumber daya energi terbatas, maka ada satu hal yang langsung terkait yaitu penggunaan harus dihemat atau bahkan dibatasi[1].
2.2 Sosialisasi Pemanfaatan Energi Listrik yang Efisien Elastisitas konsumsi energi Indonesia masih tinggi yaitu berkisar 1,84, masih lebih buruk dari Malaysia dan Thailand yang masing-masing sebesar 1,69 dan 1,16. Elastisitas yang tinggi menunjukan bahwa untuk memacu pertumbuhan ekonomi sebesar 1% akan mengakibatkan pertumbuhan konsumsi energi 1,84% lebih banyak dari sekarang. Jadi jika target pemerintah menumbuhkan ekonomi sebesar 6% maka sebagai konsekuensi apabila kita tidak melakukan programprogram penghematan energi akan meningkatkan kebutuhan energi sebesar
8
11,04%[3]. Disadari atau tidak, Indonesia merupakan negara yang sangat boros dalam menggunakan energi, termasuk energi listrik. Hal ini setidaknya dapat dilihat dari dua indikator, yakni intensitas dan elastisitas energi. Intensitas energi adalah perbandingan antara jumlah konsumsi energi dengan produk domestik bruto (PDB), sedangkan elastisitas energi adalah perbandingan antara pertumbuhan konsumsi energi dengan pertumbuhan ekonomi. Dengan demikian, semakin kecil angka intensitas dan elastisitas suatu negara maka semakin efisien pula penggunaan energi di negara yang bersangkutan[15]. Berdasarkan data Badan Pengkajian dan Penerapan Teknologi (BPPT) 2005, intensitas energi di Indonesia mencapai angka 400 atau empat kali lebih besar dibanding Jepang. Angka ini juga masih lebih boros dibanding negara-negara Amerika Utara yang mencapai 300, sementara itu, berdasarkan data Lembaga Konversi Energi Nasional (2004), elastisitas energi di Indonesia berkisar antara 1,04 - 1,35 dalam kurun waktu 1985-2000. Angka ini jauh lebih tinggi dibanding dengan negara-negara maju yang pada kurun waktu yang sama angka elastisitasnya rata-rata hanya mencapai 0,55-0,65[2]. Rumah tangga memiliki kontribusi yang cukup besar pada konsumsi energi listrik, karena itu penghematan listrik di rumah tangga tentu akan sangat memberi efisiensi yang sangat besar. Selain itu penghematan energi listrik juga akan menghemat pengeluaran pada anggaran keluarga[16]. Tujuan sosialisasi hemat listrik adalah untuk memberi pemahaman kepada masyarakat pelanggan listrik untuk mengubah perilaku agar menggunakan listrik secara efisien, baik besaran maupun waktu, sehingga dapat memberi manfaat bagi pelanggan, perusahaan listrik dan masyarakat umumnya. Universitas adalah sebuah lembaga ilmiah yang memiliki tanggung jawab dalam pengabdian kepada masyarakat, sehingga memandang perlu untuk memberi pemahaman kepada masyarakat pengguna listrik tentang upaya menghemat energi.
9
2.3 Interaksi Manusia dan Komputer Interaksi manusia dan komputer seperti yang dicontohkan pada gambar 2.1 di bawah ini adalah serangkaian proses, dialog dan kegiatan yang dilakukan oleh manusia untuk berinteraksi dengan komputer yang keduanya saling memberikan masukan dan umpan-balik melalui sebuah antarmuka untuk memperoleh hasil akhir yang diharapkan. Antara manusia dengan manusia terjadi suatu interaksi yang beragam cara berinteraksinya dapat secara berdialog, menggunakan suatu bahasa yang dikenal antar manusia atau melalui simbol-simbol yang diciptakan oleh manusia itu sendiri. Tanpa disadari kita (user) telah berinteraksi atau berdialog dengan sebuah komputer, yaitu dalam bentuk menekan tombol berupa angka dan huruf yang ada pada keyboard atau melakukan satu sentuhan kecil pada mouse. Manusia pada umumnya tidak pernah tahu apa yang terjadi pada saat data dimasukan ke dalam kotak CPU melalui keyboard. Manusia (user) selalu terfokus pada monitor/printer sebagai keluaran[11].
Gambar 2.1 Interaksi manusia dan komputer pada suatu ruang belajar
10
Interaksi manusia dan komputer (human-computer interaction) adalah disiplin ilmu yang mempelajari hubungan antara manusia dan komputer seperti terlihat pada gambar 2.2 di bawah ini yang meliputi perancangan, evaluasi dan implementasi antarmuka pengguna komputer agar mudah digunakan oleh manusia.
Gambar 2.2 Interaksi manusia dan komputer (human computer interaction) meliputi perancangan, evaluasi dan implementasi
2.3.1 Sejarah Interaksi Manusia dan Komputer Ketika komputer pertama kali diperkenalkan secara komersil pada tahun 50an, mesin ini sangat sulit dipakai dan sangat tidak praktis. Hal demikian karena waktu itu komputer merupakan mesin yang sangat mahal dan besar, hanya dipakai di kalangan tertentu, misalnya para ilmuwan atau ahli-ahli teknik. Setelah komputer pribadi (PC) diperkenalkan pada tahun 70-an, maka berkembanglah penggunaan teknologi ini secara cepat dan mengagumkan ke berbagai penjuru kehidupan (pendidikan, perdagangan, pertahanan, perusahaan dan sebagainya). Kemajuan-kemajuan teknologi tersebut akhirnya juga mempengaruhi rancangan sistem. Sistem rancangan dituntut harus bisa memenuhi kebutuhan pemakai, sistem harus mempunyai kecocokan dengan kebutuhan pemakai atau suatu sistem yang dirancang harus berorientasi kepada pemakai. Pada awal tahun 70-an juga
11
mulai isu teknik antarmuka pemakai (user interface) yang diketahui sebagai manmachine interaction (MMI) atau interaksi manusia-mesin[12]. Pada man-machine interaction sudah diterapkan sistem yang “user friendly”. Namun, sifat user friendly pada MMI ini diartikan secara terbatas. User friendly pada MMI hanya dikaitkan dengan aspek-aspek yang berhubungan dengan estetika atau keindahan tampilan pada layar saja. Sistem tersebut hanya menitik beratkan pada aspek rancangan antarmukanya saja, sedangkan faktor-faktor atau aspek-aspek yang berhubungan dengan pemakai baik secara organisasi atau individu belum diperhatikan. Para peneliti akademis mengatakan suatu rancangan sistem yang berorientasi kepada pemakai, yang memperhatikan kapabilitas dan kelemahan pemakai ataupun sistem (komputer) akan memberi kontribusi kepada interaksi manusiakomputer yang lebih baik. Maka pada pertengahan tahun 80-an diperkenalkanlah istilah human-computer interaction (HCI) atau interaksi manusia-komputer 2.3.2 Beberapa Aspek Pada Interaksi Manusia dan Komputer[13]
Gambar 2.3 Beberapa aspek pada perancangan antarmuka
Beberapa aspek yang menjadi fokus dalam perancangan sebuah antarmuka adalah seperti terlihat pada gambar 2.3 di atas, yaitu: 1.
Metodologi dan proses yang digunakan dalam perancangan sebuah
12
antarmuka. 2.
Metode implementasi antarmuka.
3.
Metode evaluasi dan perbandingan antarmuka.
4.
pengembangan antarmuka baru.
5.
Mengembangkan sebuah deskripsi dan prediksi atau teori dari sebuah antarmuka baru.
2.3.3 Bidang Ilmu yang Berperan Pada Interaksi Manusia dan Komputer[14]
Gambar 2.4 Beberapa bidang ilmu yang berperan pada interaksi manusia dan komputer
Pada HCI ini cakupan atau fokus perhatiannya lebih luas, tidak hanya berfokus pada rancangan antarmuka saja, tetapi juga memperhatikan semua aspek yang berhubungan dengan interaksi manusia dan komputer. HCI ini kemudian berkembang sebagai disiplin ilmu tersendiri (yang memperhatikan bidang ilmu interdisipliner) yang membahas hubungan timbal balik antara manusia dan
13
komputer beserta efek-efek yang terjadi diantaranya Bidang studi/ilmu yang berperan pada interaksi manusia dan komputer adalah seperti terlihat pada gambar 2.4 di atas, yaitu: 1.
Teknik elektronika/ilmu komputer, memberikan kerangka kerja untuk dapat merancang sistem interaksi manusia dan komputer.
2.
Psikologi, memahami sifat dan kebiasaan, persepsi dan pengolahan kognitif serta keterampilan motorik pengguna.
3.
Perancang grafis dan tipografi, sebuah gambar dapat bermakna sama dengan seribu kata. Gambar dapat digunakan sebagai sarana yang cukup efektif untuk dialog antara manusia dan komputer.
4.
Ergonomik, aspek fisik untuk mendapatkan lingkungan kerja yang nyaman. Misalnya: bentuk keyboard, mouse, posisi duduk, dll.
5.
Antropologi, utuk memahami cara kerja berkelompok yang masing-masing anggota bekerja sesuai dengan bidangnya.
6.
Linguistik, untuk melakukan dialog diperlukan komunikasi yang memadai menggunakan bahasa khusus; seperti bahasa grafis, bahasa menu dan bahasa perintah.
7.
Sosiologi, studi tentang pengaruh sistem manusia-komputer dalam struktur
2.3.4 Ruang Lingkup Interaksi Manusia dan Komputer[8]
Gambar 2.5 Ruang lingkup pada interaksi manusia dan komputer (human computer interface)
Manusia merupakan pengguna (user) yang memakai komputer. User ini
14
berbeda-beda dan memiliki karakteristik masing-masing sesuai dengan kebutuhan dan kemampuannya dalam mengunakan komputer. Komputer merupakan peralatan elektronik yang meliputi hardware (perangkat keras) dan software (perangkat lunak). Manusia dan komputer berinteraksi lewat masukan (input) dan keluaran (output) melalui antarmuka. Ruang lingkup interaksi manusia dan komputer meliputi beberapa hal seperti terlihat pada gambar 2.5 di atas, yaitu: 1.
Manusia Pengguna secara individu, suatu kelompok dari pengguna yang bekerja sama, atau sekelompok pengguna dalam organisasi, dimana masing-masing berhubungan dengan bagian sama dari suatu pekerjaan atau proses. Pengguna berusaha menyelesaikan pekerjaannya dengan menggunakan bantuan teknologi (komputer).
2.
Komputer Komputer adalah suatu teknologi yang digunakan untuk mengontrol suatu proses atau sebuah sistem, jenisnya dapat berupa komputer yang berskala kecil (desktop) sampai ke skala besar seperti komputer super. Komputer
dapat
juga
berupa
suatu
teknologi
yang
dapat
ditempelkan/dicangkokan (embedded system) ke suatu benda. 3.
Interaksi Setiap komunikasi antara pengguna (user) dengan komputer, secara langsung maupun tidak langsung, interaksi tersebut melibatkan suatu dialog dengan suatu umpan balik (feedback) dan kontrol hasil kinerja dari suatu kerja. Interaksi yang bagus antar penerima dan pemberi dapat memberikan suatu kemudahan dalam melakukan pekerjaan sehingga dapat menghasilkan suatu hasil yang diinginkan tepat waktu.
2.3.5 Tujuan Interaksi Manusia dan Komputer[7] Tujuan interaksi manusia dan komputer adalah seperti terlihat pada gambar 2.6 di bawah ini, yaitu:
15
Gambar 2.6 Beberapa tujuan dari interaksi manusia dan komputer
1.
Menghasilkan sistem yang bermanfaat (usable), memiliki manfaat dan mudah dioperasikan oleh user.
2.
Fungsionalitas, fungsi-fungsi yang ada di dalam sistem yang dibuat sesuai dengan perencanaan.
3.
Keamanan (safe), apakah sistem yang kita buat memiliki tingkat pengamanan data atau tidak.
4.
Efektifitas dan efisiensi, berpengaruh pada produktifitas kerja dari penggunanya dan sistem yang dibuat harus berfungsi dengan baik.
2.3.6 Prinsip Utama Mendesain Antarmuka yang Baik[9] Suatu antarmuka (interface) yang dibuat seharusnya tidak hanya dapat dilihat, disentuh atau didengar, tetapi juga mencakup konsep, kebutuhan user untuk mengetahui sistem komputer, dan harus dibuat terintegrasi ke seluruh sistem. Ada beberapa hal yang menjadi prinsip utama mendesain antarmuka yang baik dengan memperhatikan karakteristik manusia dan komputer seperti terlihat pada gambar 2.7 di bawah ini yaitu:
16
Gambar 2.7 Beberapa prinsip utama dalam merancang suatu antarmuka untuk interaksi manusia dan komputer
1.
User compatibility. Antarmuka merupakan topeng dari sebuah sistem atau sebuah pintu gerbang masuk ke sistem dengan diwujudkan ke dalam sebuah aplikasi perangkat lunak (software), oleh karena itu sebuah perangkat lunak seperti mengenal user-nya, mengenal karakteristik user-nya dari sifat sampai kebiasaan manusia secara umum. Desainer harus mencari dan mengumpulkan berbagai karakteristik serta sifat dari user karena antrarmuka harus disesuaikan dengan user yang jumlahnya lebih dari 1 (satu) dan mempunyai karakter yang berbeda. Hal tersebut harus terpikirkan oleh desainer dan tidak dianjurkan merancang antarmuka didasarkan pada dirinya sendiri dan survey adalah hal yang paling tepat.
2.
Product compatibility. Sebuah aplikasi yang bertopengkan antarmuka harus sesuai dengan sistem aslinya. Seringkali sebuah aplikasi menghasilkan hasil yang berbeda dengan sistem manual atau sistem yang ada. Hal tersebut sangat tidak diharapkan
17
dari perusahaan karena dengan adanya aplikasi perangkat lunak diharapkan dapat menjaga produk yang dihasilkan dan dihasilkan produk yang jauh lebih baik. Aplikasi sistem melalui antarmuka diharapkan menghasilkan laporan (report) informasi yang detail dan akurat dibandingkan dengan sistem manual. 3.
Task compatibility. Sebuah aplikasi yang bertopengkan antarmuka harus mampu membantu para user dalam menyelesaikan tugasnya. Semua pekerjaan serta tugas-tugas user harus diadopsi di dalam aplikasi tersebut melalui antarmuka. Hal tersebut membuat user tidak dihadapkan dengan kondisi memilih dan berpikir, tapi user dihadapkan dengan pilihan yang mudah dan proses berpikir dari tugastugas user dipindahkan dalam aplikasi melalui antarmuka, seperti hanya klik setup, tekan tombol next, next, finish, ok untuk menginstal sebuah perangkat lunak.
4.
Work flow compatibility. Sebuah aplikasi sistem sudah pasti mengadopsi sistem manualnya dan di dalamnya tentu terdapat urutan kerja dalam menyelesaikan pekerjaan. Dalam sebuah aplikasi, software engineer harus memikirkan berbagai runutan-runutan pekerjaan yang ada pada sebuah sistem. User tidak boleh mengalami kesulitan dalam menyelesaikan pekerjaannya karena user mengalami kebingungan ketika urutan pekerjaan yang ada pada sistem manual tidak ditemukan pada perangkat lunak yang dihadapinya, selain itu user jangan dibingungkan dengan pilihan-pilihan menu yang terlalu banyak dan semestinya menu-menu merupakan urutan dari runutan pekerjaan sehingga dengan workflow compability dapat membantu seorang user dalam mempercepat pekerjaannya.
5.
Consistency. Sebuah sistem harus sesuai dengan sistem nyata serta sesuai dengan produk yang dihasilkan. Banyak perusahaan dalam menjalankan sistemnya menggunakan aplikasi sistem yang berbeda di setiap divisi dalam perusahaan tersebut. Ada pula yang menggunakan aplikasi yang sama di
18
divisi yang berbeda (seringkali keseragaman dalam menjalankan sistem tidak diperhatikan), oleh karena itu software engineer harus memperhatikan hal-hal yang bersifat konsisten pada saat merancang aplikasi khususnya antarmuka. Hal itu didasarkan pada karakteristik manusia yang mempunyai pemikiran yang menggunakan analogi serta kemampuan manusia dalam memprediksi. 6.
Familiarity. Sifat manusia mudah mengingat dengan hal-hal yang sudah sering dilihatnya/didapatkannya secara singkat disebut dengan familiar. Antarmuka sebisa mungkin didesain sesuai dengan antarmuka pada umumnya, dari segi tata letak, model, dsb. Hal ini dapat membantu user cepat berinteraksi dengan sistem melalui antarmuka yang familiar bagi user.
7.
Simplicity. Kesederhanaan perlu diperhatikan pada saat membangun antarmuka. Tidak selamanya antarmuka yang memiliki menu banyak adalah antarmuka yang baik. Kesederhanaan di sini lebih berarti sebagai hal yang ringkas, pertanyaan dan menu bahkan informasi yang dihasilkan tidak terlalu panjang dan berbelit. User lebih menyukai hal-hal yang bersifat sederhana tetapi mempunyai kekuatan/bobot.
8.
Direct manipulation. User berharap aplikasi yang dihadapinya mempunyai media atau tools yang dapat digunakan untuk melakukan perubahan pada antarmuka tersebut. User ingin sekali aplikasi yang dihadapinya bisa disesuaikan dengan kebutuhan, sifat dan karakteristik user tersebut. Selain itu, sifat dari user yang suka merubah atau mempunyai rasa bosan, seperti tampilan warna sesuai keinginan (misal pink) pada window bisa dirubah melalui desktop properties, tampilan skin pada winamp dapat dirubah, dll.
9.
Control. Prinsip control ini berkenaan dengan sifat user yang mempunyai tingkat konsentrasi yang berubah-ubah. Hal itu akan sangat menganggu proses berjalannya sistem. Kejadian salah ketik atau salah entry merupakan hal
19
yang biasa bagi seorang user. Akan tetapi hal itu akan dapat mengganggu sistem dan akan berakibat fatal karena salah memasukan data 1 digit atau 1 karakter saja informasi yang dihasilkan sangat dimungkinkan salah, oleh karena itu software engineer haruslah merancang suatu kondisi yang mampu mengatasi dan menanggulangi hal-hal seperti itu, seperti “illegal command”, “can’t recognize input” sebagai portal jika terjadi kesalahan. 10.
WYSIWYG (what you see is what you get) Apa yang tercetak di printer merupakan informasi yang terkumpul dari datadata yang terlihat di layar monitor pada saat mencari data. Hal ini juga perlu menjadi perhatian software engineer pada saat membangun antarmuka. Informasi yang dicari/diinginkan harus sesuai dengan usaha dari user pada saat mencari data dan juga harus sesuai dengan data yang ada pada aplikasi sistem (perangkat lunak). Jika sistem mempunyai informasi yang lebih dari yang diinginkan user, hendaknya dibuat pilihan (optional) sesuai dengan keinginan user.
11.
Flexibility. Flexibility merupakan bentuk dari solusi pada saat menyelesaikan masalah. Software engineer dapat membuat berbagai solusi penyelesaian untuk suatu masalah, seperti adanya menu, hotkey atau model dialog lainnya.
12.
Responsiveness. Setelah memberikan input-an atau memasukan data ke aplikasi sistem melalui antarmuka, sebaiknya sistem langsung memberi tanggapan (respon) dari hasil data yang dimasukan. Selain teknologi komputer semakin maju sesuai dengan tuntutan kebutuhan manusia, perangkat lunak yang dibangun harus mempunyai reaksi tanggap yang cepat. Hal ini didasari pada sifat manusia yang semakin dinamis atau tidak mau menunggu.
13.
Invisible technology. Secara umum, user mempunyai keingintahuan sebuah kecanggihan dari aplikasi yang digunakannya. Untuk itu aplikasi yang dibuat hendaknya mempunyai kelebihan tersembunyi. Bisa saja kelebihan itu berhubungan dengan sistem yang melingkupnya atau bisa saja kecanggihan atau kelebihan
20
itu tidak ada hubungannya, seperti aplikasi yang mempunyai voice recognize sebagai media inputan atau pengolah kata yang dilengkapi dengan language translator. 14.
Robustness. Interaksi manusia dan komputer (pembangunan antarmuka) yang baik dapat berupa frase-frase menu atau error handling yang sopan. Kata yang digunakan harus dalam kondisi bersahabat sehingga nuansa user friendly akan dapat dirasakan oleh user selama menggunakan sistem, seperti yang kurang baik adalah You False!!!, Bad Files!!!, Floppy Error!!!, dsb. Akan lebih baik jika Bad Command or Files Names, Disk Drive not Ready, dll.
15.
Protection. Protection yang nyaman perlu diciptakan oleh software engineer pada antarmuka yang dibangunnya. Nyaman di sini adalah nuansa akan betah dan tidak menemui suasana kacau ketika user salah memasukan data atau salah eksekusi. Seorang user akan tetap merasa nyaman ketika dia melakukan kesalahan, seperti ketika user melakukan deleting atau menghapus files tanpa sengaja tidaklah menjadi kekacauan yang berarti karena misal ada recovery tools seperti undo, recycle bin, dll atau “are you sure…”. Proteksi di sini lebih menjaga kenyamanan user ketika menggunakan aplikasi sistem khususnya data-data berupa file.
16.
Ease of learning and ease of use. Kemudahan dalam mengoperasikan perangkat lunak hanya dengan memandangi atau belajar beberapa jam saja. Kemudahan dalam memahami icon, menu-menu, alur data, perangkat lunak, dsb. Sesudah mempelajari, user dengan mudah dan cepat menggunakan perangkat lunak tersebut. Jika sudah memahami tentunya akan membantu proses menjalankan sistem dengan cepat dan baik.
21
2.3.7 Model Interaksi Manusia dan Komputer[10]
Gambar 2.8 Beberapa model interaksi manusia dan komputer (human computer interaction)
Interaksi bisa dikatakan dialog antara user dengan komputer. Model atau jenis interaksi antara lain seperti terlihat pada gambar 2.8 di atas, yaitu: 1.
Command line interface (perintah baris tunggal). Contoh: Unix, Linux, Dos, dll.
2.
Menu (menu daftar dan menu tarik). Contoh: hampir semua perangkat lunak menggunakan menu.
3.
Natural language (bahasa alami). Contoh: bahasa pemrograman terstruktur (belum objek).
4.
Question/answer and query dialogue. Contoh: MySql, DBase interaktif, dll.
5.
Form-fills and spreadsheets. Contoh: Excel, Lotus, dll.
6.
Wimp a. Windows Icon Menu Pointer. b. Windows Icon Mouse Pulldown Menu. Yang termasuk komponen WIMP: button, dialogue boxes, palletes, dll.
22
2.3.8 Mata Manusia[11] Mata manusia digunakan untuk menghasilkan persepsi yang terorganisir akan gerakan, ukuran, bentuk, jarak, posisi relatif, tekstur dan warna. Dalam dunia nyata, mata selalu digunakan untuk melihat semua bentuk 3 (tiga) dimensi. Dalam sistem komputer yang menggunakan layar 2 (dua) dimensi, mata kita dipaksa untuk dapat mengerti bahwa obyek pada layar tampilan, yang sesungguhnya berupa obyek 2 (dua) dimensi, harus dipahami sebagai obyek 3 (tiga) dimensi dengan teknik-teknik tertentu.
2.3.9 Beberapa Hal yang Mempengaruhi Mata dalam Menangkap Informasi[12] Beberapa hal yang mempengaruhi mata dalam menangkap sebuah informasi dengan melihat: 1.
Luminans (luminance)
2.
Kontras
3.
Kecerahan
4.
Sudut dan ketajaman penglihatan
5.
Medan penglihatan
6.
Warna
2.3.10 Pendengaran Manusia[13] Dengan mendengarkan informasi yang diterima melalui telinga dapat membuat informasi lebih lengkap dan akurat. Pendengaran ini menggunakan suara sebagai bahan dasar penyebaran informasinya. Manusia dapat mendeteksi suara dalam kisaran 20 Hz sampai 20 KHz tetapi batas bawah dan batas atas biasanya dipengaruhi oleh umur dan kesehatan seseorang. Suara yang berkisar pada frekuensi 1.000 – 4.000 Hertz menyebabkan pendengaran menjadi lebih sensitif. Selain frekuensi, suara juga dapat bervariasi dalam hal kebisingan (loudness). Jika batas kebisingan dinyatakan sebagai 0 dB (desibel) maka suara bisikan mempunyai tingkat kebisingan 20 dB, percakapan biasa mempunyai tingkat kebisingan 50 dB sampai 70 dB. Kerusakan telinga terjadi jika mendengar
23
suara dengan kebisingan lebih dari 140 dB.
2.4 Perangkat Lunak Perangkat lunak, adalah istilah umum untuk data yang diformat dan disimpan secara digital, termasuk program komputer, dokumentasinya dan berbagai informasi yang bisa dibaca dan ditulis oleh komputer. Dengan kata lain, bagian sistem komputer yang tidak berwujud. Istilah ini menonjolkan perbedaan dengan perangkat keras komputer[21]. Rekayasa perangkat lunak (RPL, software engineering) adalah salah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembangan perangkat lunak dan sebagainya. Istilah software engineering, pertama kali digunakan pada akhir 1950-an dan sekitar awal 1960-an. Pada tahun 1968, NATO menyelenggarakan konferensi tentang software engineering di Jerman dan kemudian dilanjutkan pada tahun 1969. Meski penggunaan kata software engineering dalam konferensi tersebut menimbulkan debat tajam tentang aspek engineering dari pengembangan perangkat lunak, banyak pihak yang menganggap konferensi tersebutlah yang menjadi awal tumbuhnya profesi rekayasa perangkat lunak. 2.4.1 Beberapa Contoh Perangkat Lunak[22] Pada gambar 2.9 di bawah ini terlihat beberapa jenis perangkat lunak (software), yaitu: 1.
Perangkat lunak aplikasi (application software) seperti pengolah kata, lembar tabel hitung, pemutar media dan paket aplikasi perkantoran seperti OpenOffice.org.
2.
Sistem operasi (operating system) misalnya Ubuntu.
3.
Perkakas pengembangan perangkat lunak (software development tool) seperti kompilator untuk bahasa pemrograman tingkat tingi seperti Pascal dan bahasa pemrograman tingkat rendah yaitu bahasa asembly.
4.
Pengenali perangkat keras (device driver) yaitu penghubung antara
24
perangkat-perangkat keras pembantu dan komputer adalah perangkat lunak yang banyak di swalayan dan juga sekolah, yaitu seperti penggunaan barcode scanner ke aplikasi database lainnya. 5.
Perangkat lunak menetap (firmware) seperti yang dipasang dalam jam tangan digital dan pengendali jarak jauh.
6.
Perangkat lunak bebas (free ‘libre’ software) dan perangkat lunak sumber terbuka (open source software).
7.
Perangkat lunak gratis (freeware).
8.
Perangkat lunak uji coba (shareware/trialware).
9.
Perangkat lunak perusak (malware)
Gambar 2.9 Beberapa jenis perangkat lunak
2.4.2 Rekayasa Perangkat Lunak Rekayasa perangkat lunak (RPL, software engineering) adalah salah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembangan perangkat lunak dan sebagainya[21]. Istilah software engineering, pertama kali digunakan pada akhir 1950-an dan sekitar awal 1960-an. Pada tahun 1968, NATO menyelenggarakan konferensi tentang software engineering di Jerman dan kemudian dilanjutkan pada tahun 1969. Meski penggunaan kata software engineering dalam konferensi tersebut menimbulkan debat tajam tentang aspek engineering dari pengembangan
25
perangkat lunak, banyak pihak yang menganggap konferensi tersebutlah yang menjadi awal tumbuhnya profesi rekayasa perangkat lunak. 2.4.3 Proses Perangkat Lunak[24]
Gambar 2.10 Beberapa proses perangkat lunak (software process)
Proses perangkat lunak adalah serangkaian kegiatan dan hasil yang berhubungan dengannya, yang menuju pada dihasilkannya produk perangkat lunak. Kegiatan-kegiatan mendasar yang umum bagi semua proses perangkat lunak dapat terlihat pada gambar 2.10 di atas, yaitu: 1.
Spesifikasi perangkat lunak, yaitu fungsionalitas perangkat lunak dan batasan operasinya harus didefinisikan.
2.
Pengembangan (perancangan dan implementasi) perangkat lunak, yaitu perangkat lunak yang memenuhi spesifikasi harus di produksi.
3.
Validasi perangkat lunak, yaitu perangkat lunak harus divalidasi untuk menjamin bahwa perangkat lunak bekerja sesuai dengan apa yang diinginkan oleh pelanggan.
4.
Evolusi perangkat lunak, yaitu perangkat lunak harus berkembang untuk memenuhi kebutuhan pelanggan.
2.5 Unified Modeling Language Dalam suatu proses pengembangan perangkat lunak, analisa dan rancangan telah merupakan terminologi yang sangat tua. Pada saat masalah ditelusuri dan spesifikasi dinegosiasikan, dapat dikatakan kita berada pada tahap rancangan. Merancang adalah menemukan suatu cara untuk menyelesaikan masalah, salah
26
satu tool/ model untuk merancang pengembangan software yang berbasis obyek adalah UML. UML (unified modeling language) seperti terlihat pada gambar 2.11 di bawah
adalah
bahasa
spesifikasi
standar
untuk
mendokumentasikan,
menspesifikasikan dan membangun sistem perangkat lunak. UML tidak berdasarkan pada bahasa pemrograman tertentu. Standar UML dijadikan standar defacto oleh OMG (object management group) pada tahun 1997. UML yang berorientasikan objek mempunyai beberapa notasi dasar[27].
Gambar 2.11 UML (unified modeling language)
Obyek dalam ‘software analysis & design’ adalah sesuatu berupa konsep (concept),
benda
(thing)
dan
sesuatu
yang
membedakannya
dengan
lingkungannya. Secara sederhana obyek adalah mobil, manusia, alarm dan lainlainnya. Tapi obyek dapat pula merupakan sesuatu yang abstrak yang hidup di dalam sistem seperti table, database, event, system messages. Obyek dikenali dari keadaannya dan juga operasinya. Sebagai contoh sebuah mobil dikenali dari warnanya, bentuknya, sedangkan manusia dari suaranya. Ciriciri ini yang akan membedakan obyek tersebut dari obyek lainnya. Alasan mengapa saat ini pendekatan dalam pengembangan perangkat lunak dengan objek, pertama adalah scalability dimana obyek lebih mudah dipakai untuk menggambarkan sistem yang besar dan komplek. Kedua dynamic modeling
27
adalah dapat dipakai untuk sistem dinamis dan real time. UML (unified modeling language) adalah sebuah bahasa yang berdasarkan grafik/gambar untuk memvisualisasikan, menspesifikasikan, membangun dan pendokumentasian dari sebuah sistem pengembangan perangkat lunak berbasis obyek (object-oriented). UML sendiri juga memberikan standar penulisan sebuah sistem blue print, yang meliputi konsep bisnis proses, penulisan kelas dalam bahasa program yang sepesifik, skema database dan komponen-komponen yang diperlukan dalam sistem perangkat lunak. Kelemahan saat itu disadari oleh Booch maupun Rumbaugh adalah tidak adanya standar penggunaan model yang berbasis obyek, ketika mereka ditemani rekan lainnya Ivar Jacobson dari Objectory mulai mendiskusikan untuk mengadopsi masing-masing pendekatan metoda pendekatan obyek untuk membuat suatu model bahasa yang seragam (uniform) yang disebut UML (unified modeling language) dan dapat digunakan oleh seluruh dunia. Secara resmi bahasa UML dimulai pada bulan oktober 1994, ketika Rumbaugh bergabung dengan Booch untuk membuat sebuah proyek pendekatan metoda yang seragam (uniform) dari masing-masing metode mereka. Saat itu baru dikembangkan draft metoda UML version 0.8 dan diselesaikan serta di-release pada bulan oktober 1995. bersamaan dengan saat itu, Jacobson bergabung dan muncul release version 0.9 pada bulan juni 1996. hingga saat ini sejak juni 1998 UML version 1.3 telah diperkaya dan direpons oleh OMG (object management group), Anderson Consulting, Ericsson, Platinum Technology, Object Time Limited, dll serta dipelihara oleh OMG yang dipimpin oleh cris Kobryn. UML adalah standar dunia yang dibuat oleh object management group (OMG), sebuah badan yang bertugas mengeluarkan standar-standar teknologi object-oriented dan software component. Spesifikasi ini menjadi popular dan standar karena sebelum adanya UML telah ada berbagai macam spesifikasi yang berbeda. Hal ini menyulitkan komunikasi antar pengembang perangkat lunak. Untuk itu beberapa pengembang spesifikasi yang sangat berpengaruh berkumpul untuk membuat standar baru. UML dirintis oleh Grady Booch, James Rumbaugh pada tahun 1994 dan
28
kemudian Ivar Jacobson. UML sebagai sebuah bahasa yang memberikan vocabulary dan tatanan penulisan kata-kata dalam ‘MS Word’ untuk kegunaan komunikasi. Sebuah bahasa model adalah sebuah bahasa yang mempunyai vocabulary dan konsep tatanan aturan penulisan serta secara fisik mempresentasikan dari sebuah sistem. Seperti halnya UML adalah sebuah bahasa standar untuk pengembangan sebuah perangkat lunak yang dapat menyampaikan bagaimana membuat dan membentuk model-model, tetapi tidak menyampaikan apa dan kapan model yang seharusnya dibuat yang merupakan salah satu proses implementasi pengembangan software. UML tidak hanya merupakan sebuah bahasa pemrograman visual saja, namun
juga dapat
secara
langsung
dihubungkan ke
berbagai
bahasa
pemrograman, seperti JAVA, C++, Visual Basic atau bahkan dihubungkan secara langsung ke dalam sebuah object-oriented database. Begitu juga mengenai pendokumentasian dapat dilakukan seperti; requirements, arsitektur, design, source code, project plan, test dan prototypes. Untuk dapat memahami UML membutuhkan bentuk konsep dari sebuah bahasa model, dan mempelajari 3 (tiga) elemen utama dari UML seperti building block, aturan-aturan yang menyatakan bagaimana building block diletakan secara bersamaan dan beberapa mekanisme umum (common). 2.5.1 Konsep Dasar OOP (object oriented programming)[19]
Gambar 2.12 Konsep dasar pemrograman berorientasi objek (object oriented programming)
29
Ada 3 (tiga) teknik/konsep dasar dalam OOP seperti terlihat pada gambar 2.12 di atas, yaitu pemodulan (encapsulation), penurunan (inheritance) dan polymorphism. a.
Pemodulan (Encapsulation) Pada dunia nyata, seorang ibu rumah tangga menanak nasi dengan menggunakan rice cooker, ibu tersebut menggunakannya hanya dengan menekan tombol. Tanpa harus tahu bagaimana proses itu sebenarnya terjadi. Disini terdapat penyembunyian informasi milik rice cooker, sehingga tidak perlu diketahui seorang ibu. Dengan demikian menanak nasi oleh si ibu menjadi sesuatu yang menjadi dasar bagi konsep information hiding.
b.
Penurunan (Inheritance) Obyek-obyek memiliki banyak persamaan, namun ada sedikit perbedaan. Contoh dengan beberapa buah mobil yang mempunyai kegunaan yang berbeda-beda. Ada mobil bak terbuka seperti truk, bak tertutup seperti sedan dan minibus. Walaupun demikian obyek-obyek ini memiliki kesamaan yaitu teridentifikasi sebagai obyek mobil, obyek ini dapat dikatakan sebagai obyek induk (parent). Sedangkan minibus dikatakan sebagai obyek anak (child), hal ini juga berarti semua operasi yang berlaku pada mobil berlaku juga pada minibus.
c.
Polymorphism. Pada obyek mobil, walaupun minibus dan truk merupakan jenis obyek mobil yang sama, namun memiliki juga perbedaan. Misalnya suara truk lebih keras daripada minibus, hal ini juga berlaku pada obyek anak (child) melakukan metode yang sama dengan algoritma berbeda dari obyek induknya. Hal ini yang disebut polymorphism, teknik atau konsep dasar lainnya adalah ruang lingkup/pembatasan. Artinya setiap obyek mempunyai ruang lingkup kelas, atribut dan metode yang dibatasi.
30
2.5.2 Beberapa Diagram Untuk Mendeskripsikan OOP (object oriented programming)[28] UML mendeskripsikan OOP (object oriented programming) dengan beberapa diagram seperti terlihat pada gambar 2.13 di bawah ini, yaitu diantaranya: Diagram struktur: Diagram kelas. Diagram obyek. Diagram komponen. Diagram deployment. Diagram perilaku: 1.
Diagram use-case.
2.
Diagram urutan/sekuen.
3.
Diagram kolaborasi.
4.
Diagram statechart.
5.
Diagram aktivitas.
Gambar 2.13 Diagram UML (unified modeling language)
Dalam dunia pemodelan, metodologi implementasi obyek walaupun terikat
31
kaidah-kaidah standar, namun teknik pemilihan obyek tidak terlepas pada subyektifitas software analyst & designer. Beberapa obyek akan diabaikan dan beberapa obyek menjadi perhatian untuk dimplementasikan di dalam sistem. Hal ini sah-sah saja karena kenyataan bahwa suatu permasalahan sudah tentu memiliki lebih dari satu solusi.
2.5.3 Beberapa Diagram Pada UML UML sendiri terdiri atas pengelompokan diagram-diagram sistem menurut aspek atau sudut pandang tertentu. Diagram adalah yang menggambarkan permasalahan suatu model. UML mempunyai 9 diagram, yaitu; use-case, object, state, sequence, collaboration, activity, component dan deployment diagram[27]. Diagram pertama adalah use-case menggambarkan sekelompok use-case dan actor yang disertai dengan hubungan diantaranya. Diagram use-case ini menjelaskan
dan
menerangkan
kebutuhan
(requirement)
yang
diinginkan/dikehendaki pengguna (user), serta sangat berguna dalam menentukan struktur organisasi dan model dari pada sebuah sistem.
2.5.3.1 Use Case Diagram Sebuah use-case seperti terlihat pada gambar 2.14 menggambarkan suatu urutan interaksi antara satu atau lebih actor dan sistem. Dalam fase requirements, model use-case menggambarkan sistem sebagai sebuah kotak hitam dan interaksi antara actor dan sistem dalam suatu bentuk naratif, yang terdiri dari input user dan respon sistem. Setiap use-case menggambarkan perilaku sejumlah aspek sistem, tanpa mengurangi struktur internalnya. Selama pembuatan model use-case secara paralel juga harus ditetapkan obyek-obyek yang terlibat dalam setiap usecase[28]. Perhatikan satu contoh sederhana dari proses perbankan, yaitu mesin teler otomatis (automated teller machine-ATM) yang memberikan kemudahan pada customer-nya untuk mengambil uang dari rekening bank secara langsung. Pada proses ini terdapat satu actor, yaitu ATM customer dan satu use-case, yaitu penarikan dana. Proses ini dapat dilihat pada gambar dibawah ini. Use-case
32
penarikan dana menggambarkan urutan interaksi antara customer dengan sistem, diawali ketika customer memasukan kartu ATM ke dalam mesin pembaca kartu dan akhirnya menerima pengeluaran uang yang dilakukan oleh mesin ATM.
Gambar 2.14 Sebuah contoh diagram use-case (use-case diagram)
2.5.3.2 Identifikasi Use-Case Sebuah use-case dimulai dengan masukan input dari seorang actor. Use-case merupakan suatu urutan lengkap kejadian-kejadian yang diajukan oleh seseorang actor dan spesifikasi interaksi antara actor dengan sistem. Use-case yang sederhana hanya melibatkan satu interaksi/hubungan dengan sebuah actor dan use-case yang lebih kompleks melibatkan beberapa interaksi dengan actor. Usecase yang lebih kompleks juga melibatkan lebih dari satu actor[28]. Untuk menjabarkan use-case dalam sistem, sangat baik bila dimulai dengan memperhatikan actor dan aksi (action) yang mereka lakukan dalam sistem. Setiap
33
use-case menggambarkan suatu interaksi antara actor dengan sistem. Sebuah usecase harus memberikan sejumlah nilai pada satu actor. Kemudian, kebutuhan fungsional sistem dijelaskan dalam use-case yang merupakan suatu spesifikasi eksternal dari sebuah sistem. Bagaimanapun juga, ketika membuat use-case sangatlah penting menghindari suatu dekomposisi fungsional yang dalam beberapa use-case kecil lebih menjelaskan fungsi-fungsi individual sistem daripada menjelaskan urutan kejadian yang memberikan hasil yang berguna bagi actor. Perhatikan lagi contoh pada perbankan. Disamping penarikan melalui ATM, ATM customer, actor juga bisa menanyakan jumlah rekening atau mentransfer dana antar dua rekening. Karena terdapat fungsi-fungsi yang berbeda, fungsifungsi pertanyaan dan pentransferan harus dibuat sebagai use-case yang terpisah, daripada menjadi bagian dari original use-case. Oleh karena itu, customer dapat mengajukan tiga use-case, yaitu withdraw funds (penarikan dana), query account dan transfer funds (pentransferan dana). Urutan utama use-case withdraw funds, urutan utama adalah urutan tahaptahap dalam keberhasilan pelaksanaan penarikan (withdrawal). Cabang-cabang alternatif digunakan untuk mengarahkan berbagai error cases, seperti ketika kartu ATM tidak dikenali atau dilaporkan telah hilang dan lain sebagainya. 2.5.3.3 Pendokumentasian Model Use-Case[27]
Gambar 2.15 Sebuah contoh dokumentasi diagram use-case (use-case diagram)
34
Use-case didokumentasikan dalam use-case model seperti contoh pada gambar 2.15 di atas, yaitu: 1.
Use-Case Name. Setiap use-case diberi nama.
2.
Summary. Deskripsi singkat use-case, biasanya satu atau dua kalimat.
3.
Dependency. Bagian ini menggambarkan apakah use-case yang satu tergantung pada use-case yang lain, dalam arti apakah use-case tersebut termasuk pada use-case yang lain atau malah memperluas use-case lain.
4.
Actors. Bagian ini memberikan nama pada actor dalam use-case. Selalu terdapat use-case utama (primary use-case) yang memulai use-case. Di samping itu terdapat juga secondary use-case yang terlibat dalam use-case. Contohnya, dalam use case withdraw funds, ATM customer adalah actornya.
5.
Preconditions. Satu atau lebih kondisi harus berjalan dengan baik pada permulaan use-case, contohnya mesin ATM yang tidak jalan menampilkan pesan selamat datang.
6.
Deskripsi. Bagian terbesar dari use-case merupakan deskripsi naratif dari urutan utama use-case yang merupakan urutan yang paling umum dari interaksi antara actor dan sistem. Deskripsi tersebut dalam bentuk input dari actor, diikuti oleh respon pada sistem. Sistem ditandai dengan sebuah kotak hitam (black box) yang berkaitan dengan apa yang sistem lakukan dalam merespon input actor, bukan bagaimana internal melakukannya.
7.
Alternatif-alternatif. Deskripsi naratif dari alternatif merupakan cabang dari urutan utama. Terdapat beberapa cabang alternatif dari urutan utama. Contohnya, jika rekening customer terdapat dana yang tidak sesuai, akan tampil permohonan maaf dan menolak kartu.
8.
Postcondition. Kondisi yang selalu terjadi di akhir use-case, jika urutan utama telah dilakukan; contohnya dana customer telah ditarik.
9.
Outstanding
question.
Pertanyaan-pertanyaan
tentang
use-case
didokumentasikan untuk didiskusikan dengan para user.
35
2.5.3.4 Class Diagram[27]
Gambar 2.16 Sebuah contoh diagram kelas (class diagram)
Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class seperti contoh pada gambar 2.16 di atas menggambarkan keadaan (atribut/property)
suatu
sistem,
sekaligus
menawarkan
layanan
untuk
memanipulasi keadaan tersebut (metode/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan obyek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi dan lain-lain. Class memiliki tiga area pokok, yaitu: 1.
Nama (dan stereotype).
2.
Atribut
3.
Metode Atribut dan metode dapat memiliki salah satu sifat berikut:
1.
Private, tidak dapat dipanggil dari luar class yang bersangkutan.
2.
Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anakanak yang mewarisinya.
3.
Public, dapat dipanggil oleh siapa saja. Class dapat merupakan implementasi dari sebuah interface, yaitu class
36
abstrak yang hanya memiliki metode. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi metode pada saat run-time. Sesuai dengan perkembangan class model, class dapat dikelompokan menjadi package. Kita juga dapat memuat diagram yang terdiri atas package. 2.5.3.5 Hubungan Antar Class[28]
Gambar 2.17 Hubungan antar kelas pada kelas diagram (diagram class)
Terdapat 3 (tiga) hubungan antar kelas seperti terlihat pada gambar 2.17 di atas, yaitu: 1.
Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa class lain atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query antar class.
2.
Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas”).
3.
Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metode class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi. Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari
satu class kepada class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram.
37
2.5.3.6 Statechart Diagram
Gambar 2.18 Sebuah contoh statechart diagram
Statechart diagram seperti contoh pada gambar 2.18 di atas menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima. Pada umumnya statechart diagram menggambarkan class tertentu (satu class dapat memiliki lebih dari satu statechart diagram)[28].
2.5.3.7 Activity Diagram Activity diagram seperti contoh pada gambar 2.19 di bawah ini menggambarkan berbagai alir aktifitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi[27].
38
Gambar 2.19 Sebuah contoh diagram akvitas (activity diagram)
Activity diagram merupakan state diagram khusus, dimana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar sub-sistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum.
39
2.5.3.8 Component Diagram
Gambar 2.20 Sebuah contoh diagram komponen (component diagram)
Component
diagram
seperti
contoh
pada
gambar
2.20
di
atas
menggambarkan struktur dan hubungan antar komponen perangkat lunak, termasuk ketergantungan (dependency) di antaranya. Komponen perangkat lunak adalah modul berisi code, baik berisi source code maupun binary code, baik library maupun executable, baik yang muncul pada compile time, link time, maupun run-time. Umumnya komponen terbentuk dari beberapa class dan/atau package, tapi dapat juga dari komponen-komponen yang lebih kecil[28]. Komponen dapat juga berupa interface, yaitu kumpulan layanan yang disediakan sebuah komponen untuk komponen lain.
2.5.3.9 Deployment Diagram Deployment/physical diagram seperti pada gambar 2.21 di bawah ini menggambarkan detail bagaimana komponen di-deploy infrastruktur sistem, dimana komponen akan terletak (pada mesin, server atau perangkat keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server dan halhal lain yang bersifat fisikal[27]. Sebuah node adalah server, workstation atau perangkat keras lain yang digunakan untuk men-deploy komponen dalam lingkungan sebenarnya. Hubungan antar node (misalnya TCP/IP) dan requirement dapat juga didefiniskan dalam diagram ini.
40
Gambar 2.21 Sebuah contoh deployment diagram
2.6 Animasi Animasi merupakan hasil pengolahan gambar sehingga menjadi gambar bergerak. Pengolahan gambar tersebut awalnya dilakukan dengan mengatur lembar-lembar kertas bergambar yang kemudian diputar sehingga muncul efek gambar gerak. Saat ini pengolahan gambar telah menjadi lebih mudah dengan bantuan komputer yang mampu mengolah gambar lebih baik dan cepat[25]. 2.6.1 Proses Pembuatan Animasi[26] Pada dasarnya ada 2 (dua) jenis proses pembuatan animasi seperti terlihat pada gambar 2.22 di bawah ini, yaitu: 1.
Konvensional. Proses pembuatan animasi secara konvensional tidak melibatkan komputer sebagai pengolah dasar, tetapi pengolahan masih bersifat manual dan terbatas.
41
2.
Digital. Proses pembuatan animasi secara digital menggunakan komputer sebagai pengolah dasar.
Gambar 2.22 Proses pembuatan animasi
Ada beberapa tahap yang sebaiknya dilakukan saat melakukan proses pembuatan animasi secara digital seperti terlihat pada gambar 2.23 di bawah ini, yaitu:
Gambar 2.23 Beberapa tahap proses pembuatan animasi (animated design state)
A.
Pra-produksi: Konsep. Skenario. Pembentukan karakter.
42
Dubbling awal. B.
Produksi: 1. Tata letak (lay out). 2. Gerakan inti (key motion). 3. Penghubung antara gambar inti (in between). 4. Scanning. 5. Coloring.
C.
Post-produksi: Composite. Editing. Rendering. Pemindahan animasi ke dalam berbagai media berupa VCD, DVD, VHS dan lainnya.
2.6.2 Prinsip Dasar Animasi[27]
Gambar 2.24 Beberapa prinsip dasar animasi (animated principle)
Ada beberapa prinsip dasar animasi seperti terlihat pada gambar 2.24 di atas, yaitu: Menekan dan melentur (squash and stretch).
43
Squash and stretch dapat membuat benda-benda menjadi lebih ekspresif. Antisipasi (anticipation). Animasi disusun secara berurutan dan teratur sehingga dapat dimengerti oleh penonton. Penataan gerak (staging). Perencanaan gerak (straight ahead and pose to pose). Perencanaan gerak merupakan dua pendekatan dalam menggambar animasi. Pada metode straight ahead, animator akan menggambar secara spontan gambar demi gambar setelah mengetahui story point. Dalam metode pose to pose, animator bekerja lebih terencana membuat gambar, gerakan dan ukuran. Gerakan mengikuti (follow through and overlapping action). Bila suatu karakter dalam sebuah scene berhenti bergerak, dia tidak akan berhenti secara tiba-tiba. Diperlukan penghitungan timing yang tepat. Gerakan lambat (slow in and slow out). Merupakan pengaturan timing dan staging dalam suatu scene ke scene. Konstruksi lengkung (archs). Konstruksi lengkung adalah gerakan-gerakan yang melengkung atau pergerakan yang melengkung. Gerakan pendukung (secondary action). Gerakan pendukung adalah gerakan yang mendukung suatu ekspresi atau aksi agar lebih terlihat jelas. Pewaktuan (timing). Pewaktuan adalah pengaturan waktu di mana animasi tersebut pengaturan waktu tiap-tiap adegan dan gerakan yang tepat. Melebihkan (exaggeration). Yang dimaksud dengan melebihkan sesuatu adalah membuat gambar dalam suatu aksi menjadi lebih menyakinkan atau lebih terlihat lucu. Gambar yang baik (solid drawing). Solid drawing adalah kemampuan menggambar yang baik dan benar. Daya tarik (appeal).
44
Adalah suatu kualitas di mana orang dapat menikmati suatu gambar yang memikat, desain bagus, komunikatif dan memiliki magnet.
45