9 BAB 2 TINJAUAN PUSTAKA 2.1 Database

advertisement
BAB 2
TINJAUAN PUSTAKA
2.1 Database
Database merupakan kumpulan data beserta deskripsi dari data itu sendiri
yang terhubung secara logikal, yang dirancang untuk memenuhi kebutuhan
informasi dari sebuah organisasi (Connolly 2010, p65).
Pembaharuan dalam pendekatan sebuah sistematika selalu didasari dengan
ketidak sempurnaan sistematika sebelumnya. Begitu pula dengan database, hadir
karena ketidak sempurnaan sistem pendahulunya. Sebelum database dikenal,
sistematika yang digunakan adalah file-based atau penyimpanan berbasis file
yang tidak terintegrasi sama sekali dan berbentuk fisikal seperti kertas dan
dokumen yang berbeda format. Hal ini menimbulkan beberapa permasalahan
yang sangat mendasar dalam pengaplikasian teknologi dan kemudahan dalam
bekerja saat itu. Permasalahan yang mendasar adalah:
1. Data yang ada, terpisah satu dengan yang lainnya dan terisolasi
Data yang terpisah dikarenakan setiap program kerja memiliki dan mengatur
kumpulan data masing-masing, hal ini mengakibatkan penggunaan data dari
suatu program kerja yang satu tidak dapat menggunakan data potensial yang
terdapat pada program kerja lainnya.
2. Duplikasi data
Dari kekurangan diatas, tidak menutup kemungkinan bahwa sebuah data yang
sama persis dapat dimiliki dua atau lebih program kerja yang berbeda.
3. Ketergantungan data
9
10
Sebuah perusahaan dengan program kerja yang berbeda-beda memiliki
kecenderungan untuk adanya integrasi dan pertukaran data antar program
kerja sehingga dapat melakukan proses yang baik dan teratur. Hal ini tidak
berjalan dengan baik sebelum adanya database yang terpusat. Hal ini
memakan banyak waktu dan terbuang sia-sia, hanya dikarenakan saling
menunggu hasil atau data yang diperlukan dari program kerja lain.
4. Ketidaksesuaian format
Setiap program kerja memiliki format kerja yang berbeda, hal ini membuat
program kerja lain kesusahan saat akan mengambil dan menggunakan data
dari program kerja yang menjadi sumber data.
5. Program aplikasi queri dengan pengembangan yang terbatas
Database yang tidak terpusat memiliki kecenderungan untuk memiliki aplikasi
queri yang berbeda dengan database yang lain. Hal ini dapat dikarenakan
banyak faktor seperti perbedaan bahasa pemrograman, perbedaan fungsi
aplikasi dan perbedaan ruang lingkup aplikasi tersebut. Hal ini dapat berakibat
pada pembuatan atau pembaharuan aplikasi berulang hanya untuk mendapat
fungsi database tertentu.
Sebuah database dapat berupa satu atau lebih dari tempat penampungan data
yang dapat digunakan secara bersamaan dari berbagai departemen atau pengguna.
Dibandingkan dengan kumpulan data yang terpisah dan tidak saling terhubung
satu dengan yang lainnya sehingga mengakibatkan terjadinya redundansi data.
Sebuah database tidak lagi menjadi kepunyaan dari suatu departemen namun
merupakan milik dari seisi perusahaan dimana setiap departemen saling
terintegrasi satu dengan yang lainya sama halnya juga dengan database di
dalamnya.
Penggunaan database memberikan banyak keuntungan seperti:
1. Pengawasan terhadap data yang berulang
2. Konsistensi data
3. Dibandingkan dengan penggunaan file based, database dapat menghasilkan
informasi lebih banyak dengan jumlah data yang sama.
4. Penggunaan data bersama
11
5. Integritas data
6. Keamanan data
7. Standarisasi data
8. Ekonomis
9. Penyelarasan kebutuhan yang saling bertentangan
10. Memperbaiki kemampuan akses data dan tingkat responsivitas
11. Meningkatkan produktivitas
12. Mengefisiensikan pemeliharaan data melalui kemandirian data
13. Meningkatkan kemampuan konkurensi data
14. Memiliki sistem backup dan recovery data.
Dari sekian banyak keuntungan dari database, hal tersebut harus ditebus dengan
kekurangan dari database, yaitu:
1. Kerumitan struktur
2. Ukuran yang lebih besar untuk struktur yang lebih baik
3. Pengeluaran untuk DBMS
4. Membutuhkan hardware tambahan
5. Pengeluaran biaya untuk konversi data
6. Performa yang baik memerlukan biaya yang lebih
7. Pengaruh kegagalan dari kesalahan yang tinggi
2.2 Database Management System (DBMS)
DBMS merupakan suatu sistem berbentuk piranti lunak yang memungkinkan
pengguna untuk mengartikan, membuat, memelihara dan mengatur akses pada
sebuah database (Connolly 2010, p66).
Penggunaan DBMS tidak dapat terlepas dari fungsi-fungsi utamanya yaitu:
1. DDL (Data Definition Language) fitur ini memungkinkan pengguna untuk
menentukan tipe data, struktur data, dan hubungan antar data di dalam sebuah
database
2. DML (Data Manipulation Language) fitur ini memungkinkan untuk
melakukan insert, update, delete dan mengambil data dari sebuah database
12
DBMS juga menyediakan control terhadap akses kedalam sebuah database.
Kontrol akses ini sangat berguna untuk, sistem keamanan, integritas sebuah
sistem, kemampuan untuk mengakses data secara bersamaan, recovery sistem dan
user-accessible catalog yang dapat menyediakan penjelasan terhadap data pada
sebuah database.
Gambar 2.1 Arsitektur DBMS
Sesuai dengan pengertian DBMS itu sendiri, yang merupakan suatu piranti
lunak yang dapat mengijinkan pengguna untuk mengatur sebuah database, maka
terdapat beberapa contoh DBMS yang telah dikenal secara umum.
13
Gambar 2.2 Logo MySQL
Gambar 2.3 Logo SQL Server
Tabel 2.1 Informasi mengenai dua DBMS yang dijadikan contoh
MySQL
SQL Server
Developer
Oracle Corporation
Microsoft
Tahun diluncurkan
1995
1989
Sistem operasi yang
didukung
Windows, Linux, Solaris, OS
X, FreeBSD
Microsoft Windows,
Windows Server
Tipe
RDBMS
RDBMS
Tipe lisensi
Free software dan proprietary
Komersil dan freeware
Versi terakhir
MySQL 5.7.5
SQL Server 2014
14
2.3 SQL Server
Windows merilis SQL Server peretama kali pada tahun 1989 dengan nama
SQL Server 1.0. Perkembangan SQL Server yang menjadi sebuah sistem
manajemen database relasional yang dapat dihandalkan dalam segala situasi kerja.
Berdasarkan hasil studi pustaka yang kami lakukan, hasil yang didapatkan cukup
mengejutkan. Waktu yang dibutuhkan untuk mengeksekusi serangkaian perintah
SQL (Structured Query Language) jauh dibawah dari pesaing sistem manajemen
database relasional lainnya. Hasil eksekusi data dapat dilihat pada Gambar 2.4
dan Gambar 2.5. Walaupun biaya pengeluaran yang dikeluarkan untuk
menginvestasikan sistem manajemen ini tidak sedikit. Namun bila dibandingan
dengan performa yang luar biasa yang bisa ditunjukkan pada eksekusi data yang
banyak, maka hasil yang diberikan oleh sistem manajemen database ini sangat
baik. Youssef (Youssef:
2012, 1) mengatakan dalam jurnal ilmiahnya yang
dimuat pada Journal of Computer Science and Research (JCSCR) volume 1, MS
SQL Server memiliki kemampuan untuk mengakomodasi transaksi ACID
(Atomic, Consistency, Isolated, Durability). Termasuk akomodasi terhadap
database mirroring, dan clustering. Youssef juga menunjukkan hasil penelitian
yang dijabarkan sebagai berikut:
Gambar 2.4 Penelitian Youssef Bassil Query 1, dan hasil
15
Gambar 2.5 Penelitian Youssef Bassil Query 2, dan hasil
Gambar 2.6 Penelitian Youssef Bassil Query 3, dan hasil
16
Gambar 2.7 Perbandingan Eksekusi Query DBMS Berdasarkan Waktu dalam ms
Gambar 2.8 Perbandingan DBMS Berdasarkan Penggunaan CPU
2.4 Web Application
Pengaplikasian web yang ada sekarang, sudah berjalan sejak hampir dua
dekade, cara kerja dan tampilan web sudah jauh berubah secara dramatis dari
tahun ke tahunnya. Terobosan baru dilahirkan setiap tahun merubah website
menjadi lebih bermanfaat dan memberikan lebih banyak keuntungan serta
17
kemudahan bagi penggunanya. Tidak hanya cara kerja dan tampilan website
yang berubah, namun cara penggunaan dan pembuatan website telah berevolusi.
Saat ini desain website menjadi lebih bebas dan lebih menarik, bahkan proses
pembuatan sebuah web dapat begitu dinamis dan artistik dengan bantuan design
tool seperti Adobe Dreamweaver atau mungkin dapat dibuat menggunakan salah
satu dari banyak platform – platform yang lebih baik lagi.
Gambar 2.9 Perbedaan Website Halaman Penggemar pada Tahun 90-an (Kiri)
dengan Halaman Penggemar Sekarang (Kanan)
Salah satu contoh web design tool yang dikenal dengan segala kemudahan
untuk mengembangkan sebuah web dengan skala besar dan logika yang
kompleks adalah:
2.6.1. ASP.NET
Gambar 2.10 Logo ASP.NET
18
ASP.NET merupakan susunan logika yang kompleks dan berskala besar.
ASP.NET adalah salah satu dari teknologi yang dikembangkan oleh Microsoft
untuk membangun halaman-halaman web yang dinamis. (ASP merupakan
singkatan dari Active Server Pages). Berbeda dengan beberapa web development
tools yang lain, ASP.NET memiliki server local yang terintegrasi dengan script
page. Hal ini merupakan fitur yang diunggulkan untuk memudahkan developer
sebuah website untuk bekerja secara ringkas dan mudah.
2.5 Structured Systems Analysis Design Method (SSADM)
SSADM atau yang dikenal dengan Structured Systems Analysis and Design
Method, memiliki sudut pandang yang khusus dalam melihat proses pembuatan
sebuah perangkat lunak. SSADM, merupakan metode yang terstruktur dalam
menganalisis dan merancang sebuah piranti lunak. Struktur yang terdapat dalam
SSADM yaitu:
1. Strategic planning
2. Feasibility study
3. Requirements analysis
4. Requirement specification SSADM
5. Logical system specification
6. Physical design
7. Construct and test.
(CCTA, 1990, FOVE-6)
Setiap bagian dari struktur SSADM harus dilakukan secara berurutan dari
strategic planning hingga construct and test. Hal ini diperlukan, karena setiap
bagian dari struktur SSADM berikutnya memerlukan hasil proses dari bagian
SSADM sebelumnya. Maka dapat disimpulkan bahwa SSADM merupakan
metode yang bertumpu pada data setiap prosesnya dan membutuhkan sudut
pandang teknikal dan rasional dalam setiap proses yang dilakukan.
19
2.6 Artificial Intelligence
Artificial Intelligence atau yang disingkat dengan AI, merupakan cabang
ilmu pengetahuan yang mengimplementasikan cabang-cabang ilmu pengetahuan
lain yang relevan (S.Russell, 2010, p1). Artificial Intelligence juga berarti
kecerdasan buatan/semu, hal ini berarti sesuatu hal (dalam hal ini teknologi)
dibuat seakan-akan dapat bertindak, berbicara, dan berpikir seperti halnya
manusia yang memiliki akal budi. Banyak cabang dari penerapan bidang AI,
namun penelitian ini terfokus pada computer vision.
2.6.1. Computer Vision
Computer vision, merupakan salah satu dari sekian banyak bidang
penerapan cabang ilmu pengetahuan AI. Computer vision adalah cabang
penerapan
bidang
AI
yang
bertujuan
mengotomatisasi
dan
mengintegrasikan berbagai proses dalam merepresentasi sesuatu yang
digunakan untuk memahami presepsi penglihatan. (Nicu: 2006, 3)
Computer vision seringkali digunakan untuk mendapatkan informasi visual
yang saling menghubungkan antara mesin penandaan gambar dengan
manusia, hal ini merupakan latar belakang pengembangan computer vision
system.
Forsyth berpendapat (D. Forsyth: 2012, 628) aplikasi yang dapat
dikategorikan sebagai aplikasi pengenal gambar adalah aplikasi yang dapat
mendeteksi bentuk atau rupa dari sebuah gambar, terlepas dari tingkat
ketepatan ataupun kualitas dan hasil data. Penggunaan aplikasi serupa
dapat menjadi sesuatu yang sulit untuk dievaluasi dikarenakan setiap
pengguna harus mengetahui data-data yang relevan untuk dicari terlebih
dahulu. Pendapat dari Forsyth ini didukung oleh Choi dan Rasmussen
(Choi and Rasmussen, 2002) dan Boyce (Boyce, 1982).
Penghubung antara manusia dan mesin dalam memahami informasi
dalam bentuk visual dijembatani oleh computer vision system yang dapat
20
mengenali fitur-fitur visiual seperti warna, tekstur, bentuk, dan lainnya
(Nicu: 2006, 1)
2.6.1.1. Image Retrieval and Matching
Image retrieval & matching adalah proses pengambilan data
yang akan diubah menjadi informasi dari sampel-sampel sebuah
gambar yang akan diambil informasinya. Metode ini dinamakan
dengan query by example atau disebut dengan content-based
image retrieval (CBIR).
Gambar 2.11 Proses Pengambilan Sampel-Sampel Gambar
Pada saat proses pengambilan sampel dilakukan, terdapat
beberapa langkah yang dilakukan untuk mencocokan sampelsampel gambar tersebut. Berikut adalah proses yang dilakukan
untuk mendapatkan hasil dari sampel gambar tersebut.
21
Gambar 2.12 Proses Pencocokkan Gambar
2.6.1.1.1. Grey Level Segmentation Based Image Retrieval
Grey-level
segmentation
atau
thresholding,
merupakan konversi gambar pada kondisi grey-level
kedalam kondisi gambar bi-level (monochrome, atau
black and white). Walaupun dilakukan
thresholding,
gambar tetap memiliki informasi-informasi penting
terkecuali posisi, nilai warna pada gambar dan bentuk
objek pada gambar. Inti dilakukannya thresholding
adalah, pixel-pixel pada grey-level yang memiliki
tingkatan nilai yang sama pada lokasi yang hampir mirip
pada sampel gambar, biasanya merupakan bagian dari
objek yang sama pada gambar yang berbeda. Hal ini
mengurangi kompleksitas dalam proses pencocokan
gambar.
22
Gambar 2.13 Thresholding
2.6.1.1.2. Edge Detection Based Image Retrieval
Setiap objek yang terdapat pada sebuah gambar
tentu memiliki ujung dan tepi dari objek itu sendiri. Tepi
dari sebuah objek tentu membatasi objek yang satu
dengan objek yang lain dan membatasi objek dengan
latar belakang. Hal tersebut dapat dilihat dari contoh
gambar berikut ini.
Gambar 2.14 Edge Detection
Secara teknis, edge detection merupakan suatu
konsep penentu lokasi dari pinggiran/batasan pixel-pixel
23
pada sebuah objek dari gambar, dan konsep ini juga
melakukan proses yang dinamakan sebagai proses
penjelasan tingkat kejelasan pinggiran/batasan. Proses
penjelasan
tingkat
kejelasan
pinggiran/batasan
diperlukan untuk memperjelas pinggiran sebuah objek
sehingga dapat dilihat/dideteksi dengan lebih baik lagi.
Hal lainnya menurut J.R. Parker (Parker: 2010) yang
dilakukan untuk mengetahui, dan mengklasifikasikan
sebuah
objek
dilakukan
proses
edge
tracing
(penelusuran edge). Proses ini mengikuti pinggiran
secara konsisten menelusuri pinggiran baik searah
dengan arah jarum jam atau berlawanan. Proses ini
menghasilkan gambar non-raster yang menggambarkan
objek dari gambar tersebut.
2.6.1.1.3. Shape Detection Based Image Retrieval
Konsep shape atau bentuk, merupakan sebuah
konsep yang sudah dimengerti oleh khalayak banyak,
namun terkadang sulit untuk dapat didefinisikan secara
formal. Pada presepsi manusia umumnya, pengertian
akan bentuk (shape) konsep tingkat tinggi, dimana tanpa
diberitahu, manusia dapat menalarkan dan memahami
bentuk suatu benda atau makhluk hidup yang lainnya.
Namun tidak begitu dengan teknologi yang memahami
bentuk (shape) dalam konteks pemahaman konsep
tingkat rendah, bentuk dimengerti melalui definisi angka
dan perhitungan matematika. Tentu hal ini memberikan
beberapa batasan pengertian bagi teknologi untuk
memahami bentuk dalam atribut-atribut yang sangat
terbatas. Oleh karena itulah, tidak ada pengertian umum
untuk teori bentuk. Walaupun begitu, kami berpendapat
bahwa kata bentuk (shape) dapat diartikan lebih spesifik
24
apabila dikaitkan dengan kerangka kerja tertentu. Hal ini
didukung
oleh
Marshal
(Marshal:
1989)
yang
mendefinisikan bentuk (shape) sebagai fungsi yang
menentukan posisi dan arah yang secara sederhana
menghubungkan beberapa kurva menjadi bidang dua
dimensi. Pada penelitian kami, baik Marshal maupun
pendapat kelompok kami mengenai pola masih dianggap
tidak relevan dengan konteks Image Retrieval dan
pengenalan pola.
Dalam pengenalan pola, Marshal (Marshal: 1989)
mengungkapkan
bahwa
pengenalan
pola
cocok
dilakukan untuk objek dua dimensi dan memiliki
batasan objek yang satu dengan objek yang lain,
sehingga pixel-pixel yang berada pada suatu objek dapat
dikenali. Hal ini menandakan bahwa pada suatu gambar,
mungkin saja memiliki lebih dari satu objek. Supaya
dapat menerjemahkan serta mendefinisikan bentuk
(shape) diperlukan proses segmentasi. Oleh karena itu,
baik secara manual atau otomatis, proses segmentasi
diperlukan
sebelum
melakukan
pemetaan
bentuk
(shape). Dalam pemetaan bentuk, dilakukan beberapa
hal yang sulit atau bahkan tidak dapat dilakukan pada
proses segementasi seperti pemetaan objek yang rumit,
pemetaan objek dengan latar belakang gambar yang
rumit, kontras yang buruk, kondisi pencitraan yang jelek,
noise, penumpukan objek. Karakteristik dari sebuah
objek dapat dianalisa lebih baik dari memahami bentuk
(shape) sebuah objek.
Dalam melakukan proses query image, anggaplah proses
analisa bentuk (shape) dilakukan, maka yang pertama
kali dikerjakan adalah :
1. Melakukan pengukuran atau pendeteksian terhadap
informasi dari bentuk (shape) dari gambar,
25
2. Setelah itu, dilakukan proses penghitungan terhadap
fitur-fitur (bagian dari gambar) yang terdapat pada
kedua gambar, baik yang berasal dari query image
dan
gambar
yang
sedang
dilakukan
proses
pencocokkan.
Beberapa hal yang dijadikan bahan pertimbangan dari
pencocokkan gambar berdasarkan konsep ini adalah:
1. Area
2. Posisi
3. Orientasi
Ketiga hal tersebut dapat dilakukan, terlepas dari posisi
bentuk pada gambar, ukuran bentuk pada gambar, atau
orientasi dari gambar itu sendiri, dikarenakan pada
konsep
ini
menggunakan
teori
vektor
dalam
pendeteksian objek yang berada pada gambar.
2.6.1.2. Image Matching Algorithm
2.6.1.2.1. SIFT (Scale-Invariant Feature Transform)
SIFT (Scale-Invariant Feature Transform) adalah
algoritma yang dikemukakan oleh Lowe pada tahun
2004.
SIFT merupakan algoritma yang memiliki fitur
yang tergolong istimewa dalam pengaplikasiannya
mengenali gambar dan menarik informasi dari sebuah
gambar yang ada. (PM Panchal: 2013, 1). Pendapat
didasarkan oleh Lowe (2004) yang mengatasi rotasi
gambar, skala, perubahan sudut pandang , pencahayaan
dan noise pada gambar. Teori yang dikumandangkan
26
oleh Lowe berdasar pada pengaplikasian turunan
Gaussian yang dapat mendeteksi skala pada key-points
yang terdapat pada gambar.
Algoritma ini memiliki empat tahap utama yaitu:
1. Scale Space Extrema Detection
2. Key point Localization
3. Orientation Assignment
4. Description Generation
2.6.1.2.2. SURF (Speed Up Robust Feature)
Speed Up Robust Feature (SURF) dikembangkan
pada tahun 2006. Algoritma SURF dikemukakan oleh
Bay dan Tuytelaars (2006) yang merupakan hasil
penyempurnaan dari algoritma pendahulunya SIFT.
SURF berbeda karena memiliki fitur tambahan yaitu
matrix Hessian. Algoritma SURF juga berbasiskan teori
multi-scalespace. Penggabungan Hessian dan teori
multi-scalespace membuat algoritma ini terkenal dengan
tingkat performa dan akurasi yang baik.
Berikut adalah alur algoritma dari SURF.
27
Gambar 2.15 Flowchart Algoritma SURF
Algoritma SURF
1. Integral image computation
2. Construction of the scale space
3. Feature detection
4. Orientation assignment
5. Calculating feature description
2.7 Software Process Model
Software Process Model atau yang biasa disebut dengan SDLC (Software
Development Life Cycle) merupakan alur hidup dari sebuah sistem yang
menggambarkan bagaimana sebuah sistem dibangun dari proses awal hingga
sistem tersebut siap serta dapat digunakan oleh pengguna, namun alur hidup dari
sebuah sistem informasi tidak berakhir pada tahap ini.
Sebuah sistem informasi akan terus menjalani alur hidup sebuah sistem
sampai pada tahap pembaharuan terhadap sistem itu sendiri. Sama halnya
dengan setiap sistem pada umumnya, sebuah sistem yang dibangun harus
memiliki tujuan dan fungsi yang jelas. Tidak ada sebuah sistem yang dibangun
tanpa ada tujuan dan kegunaan khusus yang dapat dilakukan oleh sistem tersebut.
Berdasarkan pemahaman tersebut maka sebuah sistem harus memiliki tujuan
awal mengapa sistem tersebut dibangun.
28
Pada masa sekarang ini terdapat banyak pendekatan untuk membangun
sebuah sistem melalui beragam SDLC yang tersedia. Pada umumnya SDLC
dapat dikategorikan kedalam dua kelompok besar yang berbeda berdasarkan
kepastian dari tujuan dan kegunaan sistem informasi yang akan dibangun.
1. Predictive approach
Predictive approach merupakan kategori dari SDLC yang mengasumsikan
bahwa pengembangan sebuah proyek sistem informasi dapat direncakan dan
diatur sedemikian rupa, dan proses implementasi bisa berjalan dengan teratur
seperti yang telah direncanakan.
2. Adaptive approach
Adaptive approach adalah nama yang tepat untuk kategori SDLC yang dapat
beradaptasi dengan situasi dikemudian hari. Sesuai dengan namanya, SDLC
tipe
ini
dapat
dengan
mudah
beradaptasi
atau
mengadaptasikan
pembangunan sebuah sistem informasi sesuai dengan perubahan yang
mungkin terjadi tanpa rencana dan perkiraan dari pengguna dan pengembang
sistem informasi. SDLC kategori ini mengasumsikan bahwa proyek tidak
dapat direncanakan seluruhnya di awal, namun dapat berubah-ubah pada saat
proses pengembangan berlangsung.
2.9.1. SDLC Traditional
SDLC Traditional atau biasa lebih dikenal dengan “prescriptive
process development” dibuat awalnya dengan tujuan untuk membawa
keteraturan dalam kekacauan yang terjadi dalam proses pengembangan
piranti lunak. Dikatakan “prescriptive” karena SDLC ini menganut sistem
perencanaan
dan
pengarahan
yang
ketat
dan
seluruh
prosedur
pengembangan piranti lunak harus dijalankan sebagaimana telah
direncanakan dan mentup segala macam intervensi proses dari luar tim
pengembang itu sendiri. Hal ini dilakukan untuk menghindari terjadinya
perubahan mendadak dan ketidakbebasan tim dalam mengembangkan
piranti lunak tersebut. Sebenarnya setiap SDLC yang ada dapat menerima
perubahan dan pergantian “requirement” secara mendadak. Hanya saja
apabila hal ini terjadi, maka setiap perubahan yang dilakukan akan
29
memperluas cakupan aktifitas dan mendefinisikan alur proses yang
mengakibatkan setiap alur proses merubah setiap kerangka kerja kedalam
definisi yang baru tersebut.
Satzinger (Satzinger, 2010, p206) memetakan kebutuhan diagram
berdasarkan pendekatan yang digunakan serta model pemrograman yang
dibutuhkan sebagai berikut.
Gambar 2.16 Requirement models for the traditional and OO approaches
30
2.9.1.1. Waterfall
Gambar 2.17 Waterfall Development
Waterfall Model, merupakan model pengembangan piranti
lunak
pertama
yang
diperkenalkan
melalui
pendekatan
pengembangan proses pengembangan teknik secara umum (Royce,
1970).
Waterfall
Model
dikatakan
demikian,
merupakan
terjemahan secara harfiah berdasarkan bagan model yang
bertingkat dan memiliki alur proses dari atas ke bawah, yang persis
seperti “air terjun”. Model pengembangan piranti lunak ini
merupakan contoh dari pengembangan yang digerakkan oleh
prinsip perencanaan yang mantap sebelum mengerjakan proses
pengembangan tersebut (Sommerville, p30, 2011).
Terdapat lima tahap dari Waterfall Model:
1. Pengumpulan analisis dan gambaran dari sistem yang akan
dikembangkan
Pada tahap ini, desainer sebuah sistem harus dapat menetapkan
kegunaan, fitur dan esensi dari sistem, lalu hubungan antar
sistem juga merupakan salah satu dari banyak hal di atas yang
harus didiskusikan antara desainer sistem dan user. Setelah
31
seluruh fungsi dan tujuan dari sistem telah diputuskan, maka
dapat dibuat spesifikasi dari sistem itu sendiri.
2. Desain sistem dan piranti lunak
Desain Sistem:
Proses ini mengalokasikan piranti lunak dengan sistem piranti
keras, dengan membuat arsitektur sistem secara keseluruhan
Desain piranti lunak:
Tahap ini melibatkan proses identifikasi dan penjelasan atau
penjabaran yang mendasar terhadap abstraksi sistem piranti
lunak dan hubungannya.
3. Implementasi dan pengujian unit
Implementasi dilakukan tentunya setelah desain sistem dan
desain piranti lunak telah selesai dilakukan, tahap ini
melakukan proses realisasi dan implementasi desain piranti
lunak, menjadi suatu rangkaian program atau kesatuan sebuah
program. Sedangkan pengujian unit (unit testing) melibatkan
proses verifikasi terhadap setiap unit apakah telah memenihu
spesifikasi dan tujuan dari unit tersebut.
4. Integrasi dan pengujian sistem
Integrasi dan pengujian sistem merupakan proses dimana suatu
atau satu program yang telah saling terhubung diuji sebagai
suatu kesatuan sistem untuk memastikan bahwa tujuan dari
piranti lunak telah tercapai. Setelah proses ini selesai maka
piranti lunak sudah siap diantarkan kepada pengguna.
5. Pengoperasian dan proses pemeliharaan sistem
Walau tahap ini tidak diperlukan, namun tahap inilah yang
menjadi fase terpanjang dalam tahap alur hidup sebuah piranti
lunak. Sistem yang sudah terpasang dan telah digunakan dalam
proses kerja dan dalam proses operasional. Proses perawatan
melibatkan pembenaran error yang belum ditemukan pada
tahap-tahap sebelumnya.
32
2.8
Database Life Cycle (DBLC)
Gambar 2.18 Database Life Cycle
Pengembangan database memiliki beberapa tahapan pengembangan. Seperti
yang ada digambar 2.18, database memiliki alur hidup yang dimulai dari
database planning hingga operational maintenance. Berikut ialah tahapan alur
hidup database beserta penjelasan aktivitas yang dilakukan pada tahapan
tersebut secara singkat.
33
Tabel 2.2 Tahapan dan Aktivitas Utama pada Database Life Cycle
Tahapan
Aktivitas Utama
Database planning
Merencanakan
tahapan-tahapan
alur
hidup database secara efisien dan efektif
System definition
Menetapkan tujuan dan ruang lingkup
dari sistem database, termasuk user
views, target pengguna database, dan
ruang lingkup aplikasi
Requirements collection and analysis
Mengumpulkan
dan
menganalisis
permintaan serta persyaratan dari sistem
database yang baru
Database design
Terdiri
dari
tiga
bagian
rancangan
database utama, yaitu:
1) Konseptual
2) Logikal
3) Fisikal
DBMS selection (optional)
Memilih DBMS yang sesuai dengan
pengembangan sistem database yang
akan dikembangkan, biasanya hal ini
dilakukan apabila ada permintaan dari
user perihal penggunaan DBMS tertentu.
Application design
Mendesain user interface dan program
aplikasi yang akan menggunakan dan
memproses database yang dikembangkan
Prototyping (optional)
Membangun kerangka kerja dari sistem
database, pada tahap ini baik desainer
sistem dan calon pengguna diajak untuk
membayangkan dan mengevaluasi sistem
di tahap akhir akan terlihat seperti apa
dan berfungsi seperti yang diharapkan,
34
berdasarkan kondisi sistem sampai pada
tahap ini.
Implementation
Membuat database dan program aplikasi
secara fisikal
Data conversion and loading
Memuat data dari sistem yang lama ke
sistem yang baru, apabila dibutuhkan dan
memungkinkan,
mengonversi
atau
memodifikasi aplikasi yang sudah ada
agar
dapat
berjalan
menggunakan
database yang baru
Testing
Sistem database diuji untuk menemukan
error dan dicocokkan kembali terhadap
permintaan
serta
persyaratan
dari
pengguna.
Operational maintenance
Pada tahap ini, sistem database telah
diimplementasikan
secara
lengkap.
Sistem akan terus diawasi dan dirawat.
Apabila diperlukan kedepannya, maka
database akan melalui tahap awal untuk
pengembangan selanjutnya.
2.8.1. Conceptual, Logical, Physical Database Design
Connolly (2010: 467) secara jelas mengatakan, “Conceptual
database design, merupakan proses pembentukan sebuah model data
yang digunakan pada perusahaan, model data yang dibentuk
merupakan model data yang mewakili data fisikal (data nyata yang
digunakan sehari-hari) pada perusahaan.”
Pada tahap ini, dilakukan beberapa proses untuk membuat desain
database yang baik.
1. Conceptual Database Design
Tahap 1
: Identifikasi jenis-jenis entitas
35
Tahap 2
: Identifikasi jenis-jenis relasi
Tahap 3
: Identifikasi dan menghubungkan atribut-atribut yang
ada dengan tipe entitas atau jenis relasi yang sesuai.
Tahap 4
: Menetapkan atribut domain
Tahap 5
: Menetapkan candidate, primary dan alternate key
Tahap 6
: Mempertimbangkan untuk menggunakan konsep
modeling lain dalam tahap ini untuk penyempurnaan
(opsional).
Tahap 7
: Memeriksa kemungkinan terjadinya redudansi pada
tahap ini.
Tahap 8
: Validasi (simulasikan) model data konseptual
terhadap proses transaksi pengguna.
Tahap 9
: Review model data konseptual dengan pengguna.
2. Logical Database Design
Logical database design, merupakan proses pembuatan model data
yang terdapat pada perusahaan yang menggunakan model data
tertentu, namun tidak bergantung terhadap DBMS tipe tertentu
(Connolly, 2010: 467).
Langkah-langkah yang dilakukan didalam tahap desain logikal
database meliputi:
Tahap 1
: Mengubah relasi-relasi yang ada, menjadi model data
logikal.
Tahap 2
: Validasi relasi-relasi yang ada menggunakan
normalisasi.
Tahap 3
: Validasi relasi-relasi yang ada terhadap proses
transaksi pengguna.
Tahap 4
: Periksa integrity constraints
Tahap 5
: Diskusikan model data logikal bersama pengguna
Tahap 6
: Menggabungkan model data logikal kedalam model
data global (opsional)
Tahap 7
: Periksa kemungkinan pengembangan pada masa yang
akan datang.
3. Physical Database Design
36
Desain database fisikal, merupakan tahap pengimplementasian dari
rencana yang telah dibuat sebelumnya. Tahap ini meliputi relasirelasi dasar, organisasi file, dan proses pengurutan file. Seluruh
proses tersebut dilakukan untuk mengefisiensikan akses terhadap
data, dan setiap integrity constraints serta aspek keamanan. Desain
database fisikal juga, memberikan kesempatan pada desainer
database
untuk
memutuskan
bagaimana
database
akan
diimplementasikan, atau akan menggunakan DBMS tertentu yang
memenuhi kriteria penggunaan database seperti yang telah
dirancangkan pada tahap-tahap sebelumnya.
Tahapan yang terdapat pada proses ini meliputi:
Tahap 1
: Mendesain relasi-relasi dasar.
Tahap 2
: Mendesain perwakilan dari data turunan.
Tahap 3
: Mendesain general constraints.
2.8.2. Entity Relationship Diagram (ERD)
Sudut pandang perancang, pembuat dan pengguna database
terhadap sebuah data terkadang tidak dapat disamakan (Connolly, 150).
Sudut pandang terhadap sebuah data dapat diartikan berbeda-beda oleh
setiap subjek yang menggunakan dan menganalisanya. Untuk
menghilangkan presepsi dan ambiguitas ini pada sebuah database,
maka diperlukan sebuah Entity-Relationship (ER). ER diperlukan
untuk memastikan tidak terjadinya kesalahan dalam pemahaman
terhadap sebuah data dari beberapa subjek yang terlibat. ER model
merupakan konsep pendekatan yang menspesifikasikan data dimulai
dari data-data yang dianggap penting.
Entitas dan relasi sebuah data harus diidentifikasi dan dipetakan
dengan baik sehingga tidak lagi terjadi kesalahpahaman dalam proses
selanjutnya. Sebuah ER yang baik, harus dilengkapi dengan informasiinformasi yang dapat memudahkan pengguna dalam memahami dah
menggunakan
rancangan
desain
ini.
Informasi-informasi
yang
menjelaskan dan memudahkan pengguna untuk memahami maksud dan
37
tujuan data yang didesain disebut dengan atribut dan konstrain. Desain
sebuah ER yang dilengkapi dengan atribut serta konstrain disebut
dengan ER diagram.
1. Entitas
Tipe entitas (data) dikelompokan kedalam beberapa kelompok
(tabel), sesuai dengan kemiripan atas kegunaan data tersebut.
2. Relasi
Relasi yang terdapat pada sebuah ER diagram dikelompokkan
berdasarkan kelompok-kelompok entitas yang saling berhubungan.
Relasi dapat terjadi antar tipe entitas, apabila terdapat dua atau lebih
entitas yang saling bergantung dam memerlukan data yang dimiliki
oleh entitas yang satu dengan entitas yang lainnya.
3. Atribut
Atribut merupakan properti (bagian) dari sebuah tipe relasi atau
entitas (tabel) yang ada.
1) Simple and Composite Attributes
Simple Attribute: merupakan atribut yang dibuat pada sebuah
bagian yang berdiri secara independen.
Composite Attribute: merupakan atribut yang dapat dipecah
menjadi beberapa atribut baru yang dapat berdiri secara
independen.
2) Single and Multi Valued Attributes
Single Valued Attribute: merupakan atribut yang menyimpan
satu macam data (informasi) untuk masing-masing atribut, dan
untuk masing-masing entitas (tabel).
Multi Valued Attribute: atribut yang menampung beberapa data
yang berbeda (tidak berbeda format) untuk masing-masing
entitas (tabel).
3) Derived Attributes
Atribut turunan adalah, atribut yang menyimpan hasil operasi
atau data yang diproduksi oleh beberapa atribut yang saling
berhubungan. Atribut-atribut yang menghasilkan atribut turunan,
38
tidak harus berasal dari sebuah entitas yang sama (tabel yang
sama).
4. Keys
Key merupakan sebuah atribut yang berada pada sebuah entitas
(tabel) yang menyimpan sebuah nilai yang unik dan mewakili
entitas tersebut.
1) Candidate key
Candidate key merupakan beberapa kumpulan atribut yang
secara unik dapat mewakili fungsi dan isi dari sebuah entitas.
2) Primary key
Primary key adalah, salah satu dari candidate key yang dipilih
untuk menjadi atribut yang mewakili fungsi dan isi dari sebuah
entitas.
3) Foreign key
Foreign key ialah, atribut-atribut yang menguhubungkan dua
entitas yang memiliki satu atau beberapa entitas yang sama
untuk setiap kemungkinan terjadinya satu hubungan.
4) Alternate key
Alternate key merupakan candidate key yang tidak terpilih
menjadi primary key
5) Composite key
Composite key merupakan candidate key yang terdiri dari dua
atau lebih atribut.
39
Gambar 2.19 Attributes and Key Diagram
5. Strong and Weak Entity Type
Tipe entitas dapat dibedakan menjadi dua, strong entity type dan
weak entity type.
Strong entity type: Sebuah entitas yang tidak bergantung kepada
entitas lain untuk menampung data.
Weak entity type: Sebuah entitas yang bergantung kepada entitas
lain untuk menampung data.
Gambar 2.20 Strong and Weak Entity
6. Attributes on Relationships
40
Gambar 2.21 Attributes on Relationships
Untuk setiap hubungan antar entitas yang ada, harus diberikan
penjelasan aktivitas yang menghubungkan entitas-entitas tersebut.
Untuk entitas yang memiliki ambiguitas dalam penjelasan aktivitas
yang dimilikinya dengan entitas yang lain. Tanpa adanya sebuah atribut
baru yang mendefinisikan aktivitas yang dimilikinya, maka mustahil
sebuah hubungan antar entitas ini akan terjadi. Kita juga tidak dapat
membuat sebuah atribut baru begitu saja untuk menjelaskan aktifitas
pada relation line yang saling menghubungkan kedua entitas ini. Maka
perlu dibuat sebuah entitas baru yang berisikan atribut penghubung
yang menjembatani penjelasan aktivitas yang dimiliki oleh kedua
entitas ini.
7. Structural Constraints
Constraint digunakan untuk menjelaskan entitas yang saling
berhubungan. Constraint menjelaskan batasan antar entitas yang
saling terhubung tidak hanya diatas diagram, namun untuk
hubungan yang terjadi pada kenyataannya. Tipe utama constraint
yang terdapat pada entitas yang saling terhubung disebut dengan
Multiplicity.
Multiplicity adalah angka atau dapat berupa range kemungkinan
untuk sebuah tipe entitas yang satu untuk berhubungan dengan
entitas yang lain yang saling terhubung.
41
Terdapat beberapa tingkatan untuk sebuah hubungan binary yang
sering digunakan dalam menggambarkan sebuah model entitas,
yaitu:
1) One-to-one (1:1)
Multiplicity one-to-one menggambarkan untuk setiap hubungan
yang menghubungkan dua entitas yang berbeda. Hubungan
aktivitas yang terjadi antar entitas tersebut lebih jelasnya
digambarkan pada Gambar 2.22 berikut.
Gambar 2.22 Semantic Net, One-to-One Relation
Pada Gambar 2.22, dijelaskan bahwa satu staff mengatur (manages)
satu cabang (branch).
Jadi dapat disimpulkan bahwa one-to-one hanya mengijinkan satu
atribut dari satu entitas asal untuk berhubungan dengan satu atribut
pada entitas tujuan. Hal ini dinotasikan sebagai berikut:
42
Gambar 2.23 Penulisan Notasi One-to-One Relationship
2) One-to-many (1:*)
Multiplicity one-to-many menggambarkan bahwa satu atribut
pada entitas domain dapat memiliki lebih dari satu hubungan
aktivitas untuk atribut yang dimiliki oleh entitas tujuan. Lebih
jelasnya, Gambar 2.24 menjelaskan jenis multiplicity ini bekerja.
Gambar 2.24 Semantic Net, One-to-Many Relation
Gambar 2.24 menjelaskan bahwa satu atribut staffNo dari entitas Staff
dapat mengawasi (Oversees) lebih dari satu attribute propertyNo pada
entitas propertyForRent. Hal ini dinotasikan sebagai berikut.
43
Gambar 2.25 Penulisan Notasi One-to-Many
3) Many-to-many (*:*)
Multiplicity many-to-many menggambarkan satu atribut pada
domain asal dapat memiliki hubungan lebih dari satu hubungan
aktivitas dengan atribut pada domain tujuan, dan atribut pada
entity tujuan dapat diakses lebih dari satu atribut dari entity
domain. Gambar 2.26 menjelaskan lebih rinci mengenai manyto-many relationship.
Gambar 2.26 Semantic Net, Many-to-Many Relationship
Gambar 2.26 menggambarkan, satu atribut pada entitas Newspaper
dapat mengiklankan (advertises) lebih dari satu atribut pada entitas
44
PropertyForRent, dan satu atribut pada entitas PropertyForRent dapat
diiklankan oleh lebih dari satu atribut pada entitas Newspaper.
Many-to-many relationship dapat dinotasikan sebagai berikut.
Gambar 2.27 Penulisan Notasi Many-to-Many
4) Multiplicity for Complex Relationships
Connolly mengatakan multiplicity for complex relationship,
merupakan angka atau range kemungkinan terjadinya hubungan
suatu entitas pada sebuah relationship n-ary pada saat entitas
lainnya bernilai (n-1) memiliki nilai yang tetap. (Connolly, p385)
Gambar 2.28 Semantic Net Complex Relationship
45
Gambar 2.29 Penulisan Notasi Complex Relationship
Berdasarkan penjelasan dan gambar-gambar diatas maka dapat
diartikan, bahwa relasi dengan tipe ini, menggabungkan beberapa
entitas (n-1) yang memiliki path (lajur relationship) yang sama. Pada
gambar dijelaskan entitas staff dan branch yang diwakili oleh staffNo
dan branchNo masing-masing memiliki client yang diwakili oleh
clientNo. Pada gambar juga dijelaskan, penggabungan ini boleh
dilakukan apabila atribut yang dimiliki oleh entitas pada contoh, adalah
satu atribut untuk entitas staff memiliki hubungan untuk satu atribut
pada entitas branch.
2.8.3. Normalisasi
Penggunaan data dengan kuantitas data yang besar serta diiringi
dengan transaksi yang padat membuat sebuah database menjadi sesak
dan terkesan tidak teratur pada saat proses pembuatan laporan. Sebuah
database yang baik tentu harus membuat penggunanya tidak merasakan
kesesakan dalam database tersebut. Dengan kata lain, database tersebut
harus dapat membuat sebuah laporan data yang dapat mudah
dimengerti dan digunakan kapanpun diperlukan. Sesaknya alur
transaksi sebuah proses tidak menutup kemungkinan bahwa sebuah
database dapat menampung data transaksi yang berulang untuk satu
orang user. Apabila hal ini tidak dapat diatasi sedari dini, maka
database yang digunakan akan terkesan padat dan menampung terlalu
banyak data.
46
Oleh karena itu, proses normalisasi diperlukan untuk memberikan
kemudahan, kecepatan, sehingga memberikan kesan nyaman bagi
pengguna yang menggunakan database tersebut. Normalisasi adalah
pendekatan sistematis untuk memecah sebuah tabel yang menampung
banyak data dengan karakteristik redudansi, serta anomali penginputan
data, anomali pembaharuan data, dan anomali penghapusan data.
Normalisasi terdiri dari beberapa langkah utama yang dimulai dari
tahap UNF, 1NF, 2NF, 3NF, dan dilanjutkan dengan BCNF atau
tingkatan normalisasi data yang lebih tinggi. Dapat disimpulkan bahwa
tujuan utama dari normalisasi adalah:
1. Menghilangkan tingkat redundansi data.
2. Memastikan tingkat ketergantungan data yang wajar dalam sebuah
tabel yang efisien.
Penggunaan normalisasi harus dilakukan secara beberapa tahap,
dimulai dari UNF, 1NF, 2NF, 3NF, lalu apabila diperlukan maka dapat
dilanjutkan kepada tingkatan normal yang lebih tinggi. Seluruh langkah
dianggap perlu dilakukan dan disarankan untuk tidak melewati salah
satu langkah tersebut, dengan tujuan untuk memperkecil margin
kesalahan yang mungkin saja terjadi dikarenakan terdapat kolom data
yang tidak diperlakukan sebagaimana seharusnya. Berikut adalah
langkah yang berurut dan disertai dengan hal yang harus dilakukan
pada setiap langkahnya:
1. UNF
Mendata seluruh data yang digunakan pada sebuah tabel, atau
formulir. Pada bagian ini mungkin terjadi redudansi data dan
ketergantungan antar data yang besar.
2. 1NF
Setelah semua data yang dirasa perlu telah terkumpul, maka yang
dilakukan adalah menentukan setiap kemungkinan data yang dapat
menjadi primary key. Seluruh data yang memungkinkan untuk
menjadi primary key disebut dengan candidate key. Setelah
menentukan primary key, selanjutnya yang dilakukan adalah
47
menghilangkan redundansi data serta data yang dihasilkan dari
pengoperasian antar data dari dalam tabel atau formulir yang sedang
dilakukan proses normalisasi.
3. 2NF
Untuk mengoptimalkan sebuah tabel yang digunakan, maka data
yang terdapat pada sebuah tabel harus digunakan secara efektif dan
efisien. Oleh karena itu semua data yang masih bergantung dengan
data yang merupakan primary key, akan dinormalisasikan dengan
cara membuat tabel baru atau digabungkan dengan tabel yang telah
ada sebelumnya jika memukinkan. Hal ini disebut dengan proses
penghilangan ketergantungan data parsial.
4. 3NF
Menghilangkan ketergantungan parsial dirasa belum mencukupi
untuk menciptakan sebuah database yang dapat dioperasikan secara
optimal. Proses berikutnya adalah eliminasi data yang bukan
foreign key atau primary key akan digantikan dengan primary key
dari tabel lain (foreign key). Proses ini disebut dengan proses
eliminasi ketergantungan transitif.
5. Tingkatan normal yang lebih tinggi
Untuk tingkatan normal yang lebih tinggi, metode penyederhanaan
yang dilakukan sebagian besar sama dengan yang dilakukan seperti
tahap-tahap sebelumnya, yaitu mengefisiensikan tabel yang ada
dengan cara menghilangkan ketergantungan secara transitif yang
mungkin terlewat pada tahap sebelumnya. Namun, hal ini harus
dilakukan dengan pertimbangan secara penuh. Karena semakin
tinggi tingkatan normal suatu database, maka semakin banyak tabel
yang dihasilkan. Pengeksekusian tabel yang banyak tentu akan
memerlukan
perintah
query
yang
semakin
banyak,
memberatkan waktu pengeksekusian tabel pada suatu database.
dan
48
2.9
Three Pillar Successful User Interface Development
Gambar 2.30 Three Pillars of Successful – User Interface Development
Three pillar of successful – user interface development, atau dapat diartikan
sebagai tiga pilar keberhasilan dalam pengembangan desain antarmuka
pengguna. Tidak seperti namanya, desain antarmuka pengguna tidak dijamin
dapat berhasil hingga sempurna (Shneiderman, 2005).
Namun, pengalaman dalam penerapan teori ini telah memberikan hasil
yang tidak dapat dianggap sepele. Penerapan teori ini dapat mempercepat dan
memfasilitasi pengembangan sistem yang tidak ambigu. Dengan kata lain
penggunaan tiga pilar keberhasilan dalam pengembangan desain antarmuka
pengguna, dapat memberikan hasil yang baik dalam pengembangan sistem
yang mendekati sempurna. Teori ini dibagi kedalam tiga bagian khusus yang
masing-masing bagian memiliki tugasnya masing-masing sebagai berikut ini:
1. Guidelines Documents and Process
Shneiderman berpendapat bahwa, setiap projek memiiki kebutuhan dan
kepentigan yang berbeda, namun garis besar dalam desain setiap proyek
harus mempertimbangkan beberapa poin seperti penggunaan kata, ikon dan
grafik, tampilan layar, peralatan input dan output, urutan langkah tindakan,
dan pelatihan penggunaan sistem.
2. User-interface Software Tools
49
Pada tahap awal pengembangan sistem, baik pengguna sistem dan orang
yang mendesain sistem, tidak mengetahui secara pasti bagaiama sistem
yang sedang dibangun akan tampak seperti apa. Hal ini memang menjadi
pemikiran yang umum dibahas oleh kedua belah pihak. Menggunakan user
interface software tools, kedua belah pihak dapat menyamakan visi dan misi
dalam mendesain sebuah desain tampilan yang dapat disepakati.
3. Expert Reviews and Usability Testing
Pengembangan desain sistem, tidak berhenti pada saat sistem tersebut telah
jadi dibangun. Sistem yang telah dibangun harus diuji coba dulu berkali-kali
untuk mencari letak kesalahan yang mungkin tersembunyi dan tidak
diketahui pada tahap pengembangan sedang berlangsung. Sistem yang telah
dibangun harus dikaji oleh para penguji sistem atau pakar sistem untuk
memastikan sistem tersebut telah memenuhi ekspektasi pengguna dan dapat
berjalan secara fungsional.
2.9.1. Perancangan Tampilan
Penggunaan Human Computer Interaction dengan konsep Eight
Golden Rules, memberikan dampak baik terhadap hubungan antar
manusia dengan komputer. Hal ini memberikan angin baru yang dapat
merubah paradigma yang selama ini mengkonotasikan bahwa
penggunaan aplikasi komputer merupakan hal yang sulit dan tidak
ramah terhadap penggunanya. Setiap pengguna aplikasi, baik aplikasi
yang berbasis desktop, mobile maupun aplikasi berbasis web
memerlukan tampilan yang menarik dan tidak menjenuhkan mata saat
aplikasi digunakan. Untuk merancang tampilan yang memenuhi kriteria
dan tuntutan pengguna diatas maka, rancangan harus memiliki
beberapa pedoman dasar yang harus dipenuhi untuk dapat memberikan
hasil yang maksimal, Shneiderman menyatakan delapan
hal yang
harus dipertimbangkan dalam mendesain sebuah user interface
(Shneiderman, 2011: 74) :
1. Strive for Consistency
50
Aturan ini merupakan hal yang paling sering dilanggar dalam
proses pengembangan sebuah desain tampilan. Hal ini disebabkan
karena banyak hal yang harus dikategorikan dengan konsistensi
dalam desain, seperti tampilan font, ukuran font dan rangkaian
proses yang harus memiliki standar yang baku dan tidak berubah
dari tampilan pada satu form ke form yang lain untuk sebuah situasi
yang sama. Untuk desain yang tidak memenuhi konsistensi harus
dibatasi penggunaannya sehingga tidak memberikan dampak
universal ambiguity
2. Cater to universal usability
Untuk membuat sebuah sistem yang dapat digunakan secara luas,
sistem tersebut tentunya harus dapat digunakan oleh setiap
pengguna.
Keberagaman
dari
latar
belakang
pendidikan,
kebudayaan, tingkat sosial dan tingkat ekonomi turut memberikan
dampat yang signifikan dalam sebuah penggunaan sistem. Latar
belakang
kesehatan,
juga
menyumbang
konstribusi
dalam
pengembangan desain antarmuka.
Pengguna dengan latar belakang sebagai kaum diffable tentu
memerlukan
bantuan
khusus
dalam
penggunaan
sistem.
Memberikan penjelasan singkat dalam sebuah sistem juga dapat
menolong
pengguna
yang
belum
berpengalaman
untuk
mengoperasikan sebuah sistem, serta memberikan fitur yang
dikhususkan untuk memberikan kemudahan dan kenyamanan untuk
pengguna yang telah berpengalaman sehingga terjadi efisiensi
dalam penggunaan sistem tersebut.
Semua hal diatas turut merubah paradigm dan memberikan sudut
pandang yang baru dalam proses mendesain sebuah sistem
antarmuka dan memperkaya cakupan serta batasan dalam sistem
antarmuka yang memberikan esensi dari sebuah kualitas sebuah
sistem.
3. Offer informative feedback
Untuk setiap aksi yang dilakukan oleh pengguna pada sistem, harus
memiliki umpan balik yang diberikan, dengan kata lain umpan balik
51
merupakan hal mendasar yang harus dimiliki setiap sistem untuk
setiap aksi atas setiap perubahan, aksi baik yang sering dilakukan,
maupun aksi yang tidak terlalu sering dilakukan. Hal ini harus
dilakukan untuk memberikan konfirmasi atas aksi yang dilakukan
atas sistem tersebut.
Umpan balik tidak selalu hadir dalam bentuk teks konfirmasi atas
setiap setiap aksi maupun perubahan atas sistem, namun dapat
berupa dalam bentuk instruksi singkat dan sederhana untuk
memudahkan
pengguna
yang
belum
berpengalaman
dalam
menggunakan sistem tersebut.
Bentuk lain dari umpan balik yang memudahkan pengguna untuk
memahami dan menggunakan sebuah fungsi dari sebuah sistem
adalah umpan balik yang berupa representasi data berupa visual.
Representasi visual memberikan kenyamanan pada pengguna
sebuah sistem dengan memberikan informasi secara jelas dan
mudah dipahami.
4. Design dialogs to yield closure
Dalam menjalankan sebuah sistem, tentu terdapat serangkaian hal
yang harus dilakukan untuk mencapai tujuan tertentu. Setiap urutan
aksi yang dilakukan dalam setiap sistem yang berjalan, tentu urutan
dalam mengeksekusi tugas terbagi menjadi beberapa fase dimulai
dari bagian awal, pertengahan dan akhir dari sebuah proses. Umpan
balik yang bersifat informatif pada setiap akhir dari sebuah fase
diberikan kepada pengguna sistem. Hal ini diperlukan untuk
memberikan rasa kepuasan, lega atas menyelesaikan satu tahap dari
urutan pengeksekusian sebuah sistem.
Sedangkan dilain pihak hal ini memberikan dampak baik untuk
melegakan pikiran yang jenuh atas sebuah tahap dalam sebuah
sistem serta memberikan pemberitahuan secara tidak langsung
untuk mempersiapkan pengguna ke tahap selanjutnya.
5. Prevent errors
Untuk mendesain sebuah tampilan antarmuka sebuah sistem, yang
dapat mencegah kesalahan yang mungkin saja dapat terjadi, berarti
52
dengan kata lain sebisa mungkin desain dari tampilan antarmuka
sebuah sistem menghilangkan celah sekecil apapun yang dapat
menimbulkan
kesalahan
dalam
penggunaan
sebuah
sistem.
Contohnya seperti:
1) Tidak memberikan pilihan untuk memasukkan data berupa
numerik pada kolom input untuk data alfabet.
Apabila, setelah segala cara untuk, memperkecil margin
kesalahan yang mungkin saja terjadi dalam penggunaan sebuah
sistem dikarenakan desain antarmuka yang tidak jelas, maka
tentu desain antarmuka harus turut mengambil bagian dalam
mengisolasi kesalahan yang terjadi tersebut sehingga tidak
menyebar ke bagian lain dari proses sebuah sistem.
2) Apabila pada kolom input nama, data yang dimasukkan oleh
pengguna tidak valid dikarenakan kesalahan format. Maka
sebuah desain antarmuka yang baik harus memberikan penanda
terjadi kesalahan pada bagian kolom input nama dan
memberikan label jenis kesalahan yang terjadi.
Kesalahan penggunaan dalam sebuah sistem memang tidak
dapat dihindari, namun angka dari kesalahan yang mungkin saja
terjadi dapat diminimalisir. Kesalahan dalam penggunaan
sebuah sistem juga sebaiknya tidak merubah kondisi dari sistem,
atau desain antarmuka memberikan rangkaian instruksi untuk
dapat mengembalikan kondisi sistem tersebut menjadi kondisi
sistem sebelum terjadi kesalahan.
6. Permit easy reversal of actions
Pengguna dari sebuah sistem terkadang tidak tahu apa yang sedang
dilakukannya. Oleh karena itu sedapat mungkin setiap langkah yang
dilakukan oleh setiap pengguna memiliki potensi yang dapat
berakibat fatal terhadap kondisi dari sebuah sistem. Kejadian ini
mungkin saja dapat merusak dan mengacaukan seluruh sistem,
terlebih lagi sistem kerja. Tentu bukan rancangan desain antarmuka
yang baik namanya apabila tidak dapat mengatasi hal ini. Pokok
permasalahan ini tentu dapat diatasi dengan membuat sebuah sistem
53
antarmuka yang dapat mengembalikan kondisi sistem yang rusak
menjadi kondisi sistem sebelum langkah yang dianggap merugikan
sistem tersebut terjadi. Disisi lain hal ini mendongkrak antusiasme
pengguna dalam mengeksplorasi kegunaan dari sistem itu sendiri.
Pengguna
sistem
terkadang
merasa
tidak
nyaman
apabila
mengetahui bahwa setiap langkah yang diambil dalam menjalankan
sebuah sistem bersifat permanen dan tidak dapat diubah. Oleh
karena itu apabila pengguna sistem mengetahui bahwa kesalahan
dapat diperbaiki dengan mudah, maka pengguna akan lebih leluasa
dalam mencoba menggunakan pilihan-pilihan yang belum biasa
digunakan oleh si pengguna.
7. Support internal locus of control
Pengguna sistem dengan tingkat yang sudah mahir dalam
menggunakan sebuah sistem biasanya memiliki keinginan yang
kuat untuk dapat mengatur dan merasa dapat menggunakan sistem
dengan benar. Oleh sebab itu diperlukan sebuah desain sistem
antarmuka yang dapat memberikan kesan bahwa yang pengguna
sistem dapat mengontrol dan menguasai sistem tersebut dan bukan
sebaliknya.
8. Reduce short-term memory load
Kesalahan manusia dalam penggunaan sebuah sistem memiliki
banyak faktor, diantaranya adalah keterbatasan daya ingat jangka
pendek yang dimiliki oleh manusia. Keterbatasan ini tentu dapat
diatasi dengan menggunakan sistem yang memiliki desain
antarmuka yang menarik serta bersifat menolong dalam mengurangi
beban ingatan jangka pendek pengguna. Contoh dari mengurangi
beban daya ingat jangka pendek.
2.10 Data Flow Diagram (DFD)
2.10.1. Pengertian DFD
Whitten mengatakan, “Data flow diagram merupakan sebuah
perangkat kerja yang menggambarkan aliran data, proses kerja yang
54
berjalan pada sebuah sistem” (Whitten : 2005). Pengertian dari data
flow diagram, dapat disimpulkan menjadi gambaran besar dari sebuah
proses dan alur kerja, dan data yang terdapat pada sebuah sistem. Pada
pengaplikasiannya,
DFD
dibuat
untuk
menjelaskan
dan
menggambarkan dudukan dari sebuah sistem secara umum. Gambaran
umum ini menjelaskan aliran data dari alur proses kerja sistem yang
melibatkan user maupun dari segi internal sebuah proses.
2.10.2. Simbol-Simbol DFD
Untuk dapat menjelaskan gambaran secara umum, Whitten
membagi beberapa simbol menurut klasifikasi penggunaanya. Berikut
merupakan pembagian simbol menurut klasifikasi penggunaanya,
yaitu:
2.12.2.1. External Agent
External agent, melambangkan subjek dari seorang
pengguna sistem yang meliputi orang yang tidak memiliki
kepentingan didalam sistem tersebut, unit dari sebuah
organisasi, sistem itu sendiri atau juga dapat menjadi bagian
dari sistem, atau organisasi yang berinteraksi dengan sistem
(Whitten: 2005). External agent
sebuah kotak.
Gambar 2.31 External Agent
dilambangkan dalam
55
2.12.2.2. Data Store
Data store, atau penyimpanan data digunakan untuk
melambangkan data yang disimpan untuk penggunaan
dimasa yang akan datang (Whitten: 2005). Data store,
secara ideal melambangkan tempat penyimpanan data.
Gambar 2.32 Data Store
2.12.2.3. Process
Process, atau proses merupakan gambaran mengenai
tanggapan yang dilakukan oleh sistem terhadap sebuah aksi
atau kondisi tertentu. Pada proses, dikenal dengan
decomposition, atau dekomposisi. Yaitu, membagi proses
kedalam beberapa proses yang lebih spesifik dan lebih kecil.
Gambar 2.33 Process
Proses juga dapat menjelaskan sebuah sistem. Hal ini
didasari dengan penjelasan diagram berikut ini.
56
Gambar 2.34 Proses Sebagai Sebuah Sistem
Gambar tersebut dapat diterima, karena setiap sebuah
proses selalu memberikan hasil (output) dari sebuah input
(masukan).
2.12.2.4. Data Flow
Data flow, atau yang diartikan sebagai aliran data
merupakan data yang bergerak. Data yang sedang bergerak
ini melambangkan data yang sedang diproses dalam sebuah
sistem. Data tersebut dapat melambangkan input data,
ataupun output data. Data flow juga melambangkan proses
pembuatan
data
atau
informasi,
penghapusan,
pembaharuan data di dalam sebuah penyimpanan data.
Gambar 2.35 Data Flow
atau
57
2.10.3. Contoh DFD
Gambar 2.36 Contoh DFD
Dari Gambar 2.36 secara jelas digambarkan contoh dari sebuah data
flow diagram beserta bagaimana komponen-komponen dari sebuah
DFD diimplementasikan secara tepat (Whitten: 2005).
Berikut
merupakan batasan dan penjabaran DFD dalam sebuah boundary.
58
Gambar 2.37 Boundary DFD
2.11 Flowchart
Penggunaan
flowchart
atau
disebut
juga
diagram
alur
dalam
pengembangan suatu sistem bukan merupakan barang baru lagi di dalam
penggambaran suatu proses kerja sistem logic (Lasely, 2006, p264). Flowchart
menjadi populer karena berbentuk grafik dan setiap bentuk grafik memiliki
tugas dan fungsi serta pengertiannya masing-masing. Berikut adalah enam jenis
diagram alur pokok:
Tabel 2.3 Diagram Alur
No
Bentuk Diagram Alur
Penggunaan
Terminal Symbol
1
Simbol terminal menandakan awal dan akhir dari sebuah
logik, sebuah diagram alur harus diawali dan diakhiri
dengan sebuah symbol terminal.
Input/Output Symbol
2
Simbol input atau output, penggunaan symbol ini kadang
dapat memberikan makna berbeda, namun untuk
59
memudahkan simbol ini merupakan symbol yang
melambangkan data yang akan diproses atau data hasil
proses.
Process Symbol
3
Simbol ini mewakili proses yang terjadi di dalam sebuah
diagram alur.
Predefined Process Symbol
4
Bentuk grafik yang satu ini berguna untuk membatasi
sebuah diagram alur yang berada di dalam suatu diagram
alur .
Decision Symbol
5
Penggunaan symbol ini melambangkan proses alur
pengambilan keputusan diantara dua pilihan logic yang
masing-masing memiliki kondisi yang harus dipenuhi.
Flowlines
Flowlines menghubungkan beberapa symbol yang ada di
6
dalam sebuah diagram alur. Penggunaan flowlines yang
menggunakan
kepala
panah
hanya
untuk
menggambarkan alur proses yang bukan dari arah atas ke
bawah, atau dari arah kiri ke kanan.
Penggunaan flow chart
selain dapat memudahkan pengguna untuk
memahami alur kerja atau proses kerja, flow chart juga digunakan untuk
memberikan keseragaman dalam pemahaman sehingga mengurangi tingkat
kesalahan yang tidak seharusnya terjadi. Selain menjadi bahasa universal yang
dapat dimengerti oleh semua orang, flow chart juga berguna untuk menjelaskan
alur logic, alur proses hingga alur perjalanan jika dibutuhkan. Sebagai bahasa
yang dapat dimengerti oleh banyak orang, maka sudah menjadi hal wajib untuk
60
menggunakan flow chart dalam pengembangan sistem yang notabane memiliki
jumlah pengembang sistem yang berasal dari bermacam latar belakang.
Download