Unified Modeling Language (UML) Menurut Whitten & Bentley (2007:371), Unified Modeling Language (UML)
adalah sebuah bahasa pemodelan yang digunakan untuk menentukan atau mendeskripsikan sebuah sistem software berdasarkan objek-objek yang ada di sistem tersebut. UML tidak menentukan metode apa yang harus digunakan dalam mengembangkan suatu sistem, namun hanya menentukan notasi-notasi standar yang biasa digunakan untuk object modeling. Berikut adalah empat macam UML yang umum digunakan pada saat pengembangan sebuah software atau website :
2.1.1. Use-Case Diagram Menurut Whitten & Bentley (2007:246) Use-case diagram adalah sebuah diagram yang mendeskripsikan interaksi antara sistem dengan bagian eksternal dari sistem serta dengan user. Secara grafis, Use-case diagram ini mendeskripsikan siapa yang akan menggunakan sistem yang ada dan bagaimana ekspektasi user saat berinteraksi dengan sistem tersebut. Use-case diagram memiliki unsur yang harus dipenuhi, yaitu : •
Use Cases, yaitu sekumpulan fungsi yang terdapat dalam sistem dimana fungsi-fungsi tersebut dapat dilakukan oleh actor (user) untuk melakukan pekerjaannya dengan sistem yang ada.
•
Actors, yaitu segala sesuatu yang berinteraksi dengan sistem untuk bertukar informasi, baik user maupun sistem dari luar.
•
Relationships, yaitu garis yang menghubungkan antara actors dengan use cases yang dapat menggambarkan hubungan antara actors dengan use cases itu sendiri.
7
8
Gambar 2. 1 Use-Case Diagram (Sumber: Whitten & Bentley (2007:246))
Tabel 2. 1 Notasi Use-Case Diagram Nama Komponen Use Case
Keterangan Use
case
digambarkan
Simbol sebagai
lingkaran elips dengan nama use case dituliskan di dalam elips tersebut Actor
Actor adalah pengguna sistem. Actor tidak terbatas hanya manusia saja, jika sebuah sistem berkomunikasi dengan aplikasi lain dan membutuhkan input atau memberikan output, maka aplikasi tersebut juga dianggap sebagai actor.
Association
Asosiasi
digunakan
untuk
menghubungkan actor dengan use case. Asosiasi digambarkan dengan sebuah garis
yang
menghubungkan
antara
Use case named
9 actor dengan use case. 2.1.1.1.
Use-Case Narrative Menurut Whitten & Bentley (2007:246), Use-case narrative adalah
sebuah deskripsi yang lebih jelas dari sebuah Use-case diagram, dimana pada use-case narrative ini dijelaskan secara mendalam bagaimana user akan berinteraksi dengan sistem yang ada sehingga bisa menyelesaikan tugas yang ada. Use-case narrative ini digunakan untuk dapat menerjemahkan user-case diagram agar setiap fungsi yang ada dapat dijelaskan dengan lebih spesifik. Terdapat beberapa bagian yang perlu diperhatikan pada saat menggunakan use-case narrative, antara lain : 1.
Author : nama dari orang yang berpartisipasi dalam menulis usecase dan orang yang menyediakan titik temu bagi yang membutuhkan informasi tentang use-case.
2.
Date : tanggal terakhir use-case dimodifikasi.
3.
Version : versi use-case tersebut.
4.
Use-case name : berisikan tujuan yang ingin dicapai oleh use-case. Nama yang ada harus diawali kata kerja.
5.
Use-case type : business-oriented dan merefleksikan tingkah laku dari sebuah sistem.
6.
Use-case
ID
:
suatu
tanda
pengenal
yang
unik
yang
mengidentifikasikan sebuah use-case. 7.
Priority : menginformasikan tingkat kepentingan dari use-case berada di tingkat tinggi, sedang, atau rendah.
8.
Source : mendefinisikan aspek-aspek yang memicu dibentuknya use-case, bisa berupa kebutuhan, dokumen yang spesifik, atau stakeholder.
9.
Primary business actor : stakeholder utama yang mendapatkan benefit apabila use-case yang ada telah berjalan.
10. Other participating actors : aktor lain yang berpartisipasi dalam use-case untuk mencapai tujuan dari use-case tersebut. 11. Interested
stakeholder(s)
:
siapa
saja
yang
pengembangan dan pengoperasian dari sistem software.
menopang
10 12. Description : ringkasan pendek yang mendeskripsikan maksud dari use-case dan aktivitas dari use-case tersebut.
Berikut adalah contoh dari use-case narrative :
Gambar 2. 2 Use-Case Narrative (Sumber: Whitten & Bentley (2007:257))
Untuk
setiap
use-case
narrative
yang
ada,
kita
harus
membentangkannya dengan memasukkan arah dari event khusus dari use-case tersebut yang dapat menginformasikan langkah-langkah yang mendeskripsikan aktivitas aktor dari awal memulai melaksanakan use-case hingga akhir. Adapun informasi yang harus kita masukkan adalah sebagai berikut : 1.
Precondition : kondisi yang harus dipenuhi sebelum melaksanakan use-case.
2.
Trigger : event yang dimulai saat use-case dieksekusi.
3.
Typical course of events : aktivitas normal yang dilakukan antara aktor dengan sistem yang ada untuk menyelesaikan tugas yang ada.
11 4.
Alternate courses : mendokumentasikan hal-hal yang terjadi pada saat use-case mengalami variasi dari aktivitas yang tidak biasanya.
5.
Conclusion : kesimpulan yang didapat apabila use-case berakhir dengan sukses. Dengan kata lain, ketika aktor menerima sesuatu dari sistem.
6.
Postcondition : statement pembatas ketika use-case berhasil dieksekusi.
7.
Business rules : prosedur dan kebijakan bisnis yang harus dipatuhi oleh sistem.
8.
Implementation constraints and specifications : menjelaskan lebih lanjut
kebutuhan non-fungsional yang dapat memberi dampak
pada realisasi use-case. 9.
Assumptions : asumsi yang diperkirakan oleh pembuat ketika mendokumentasikan use-case.
10. Open issues : pertanyaan atau isu yang perlu dipecahkan sebelum use-case mencapai tahap akhir.
Berikut adalah contoh dari expand use-case narrative :
Gambar 2. 4 Conclusion of Expand Use-Case Narrative (Sumber: Whitten & Bentley (2007:260))
2.1.2. Class Diagram Menurut Whitten & Bentley (2007:382), class diagram adalah sebuah diagram menggambarkan struktur objek dari sistem yang ada, dimana class diagram ini memperlihatkan object class yang menyusun diagram ini beserta hubungan antara object class tersebut. Menurut Whitten & Bentley (2007:400-405), Terdapat beberapa tahap pembentukan class diagram, antara lain : 1. Mengidentifikasi asosiasi dan keberagaman dari class yang ada dari objek. Pada tahapan ini, kita akan mengidentifikasi asosiasi yang ada dari class object yang ada. Asosiasi yang dimaksud di sini adalah mengenai informasi apa yang perlu diketahui antara sebuah objek dengan objek lainnya.
14 2. Mengidentifikasi hubungan yang general dan hubungan khusus atas class. Setelah kita mengetahui asosiasi dan keberagaman dari class yang ada, kita perlu mengetahui apakah hubungan antar class tersebut termasuk hubungan umum atau hubungan khusus. Hubungan umum atau khusus yang dimaksud di sini adalah klasifikasi dari sebuah hierarki, sebuah hubungan berdasarkan supertype class (abstract / parent) dan subtype class (concrete / child). 3. Mengidentifikasi hubungan agregasi / komposisi dari suatu class. Pada tahap ini, kita harus menentukan apakah ada hubungan agregasi / komposisi yang terjadi antar class yang ada. Hubungan agregasi yang dimaksud adalah jenis hubungan yang unik dari suatu objek yang merupakan bagian dari objek tertentu. 4. Menyiapkan class diagram itu sendiri. Pada tahap ini, kita menyusun class diagram berdasarkan informasi mengenai hubungan antar class yang ada, baik hubungan asosiasi, hubungan general / khusus, maupun hubungan agregasi yang terjadi antar class tersebut. Ada 2 macam class yang harus diperhatikan, yaitu : 1. Persistent class : adalah sebuah class yang mendeskripsikan sebuah objek yang dipakai lebih lama dari pada program yang mengeksekusi objek tersebut (objek tersebut disimpan di dalam sebuah database). 2. Transient object class : adalah sebuah class yang mendeskripsikan sebuah
objek
yang
dibuat
sementara
mengeksekusi objek tersebut berjalan.
ketika
program
yang
15
Gambar 2. 5 Class Diagram (Sumber: Whitten & Bentley (2007:406))
16 Tabel 2. 2 Notasi diagram class Symbol
Penjelasan Class Deskripsi dari objek yang terbagi atas 3 bagian, yaitu nama class pada bagian atas, atribut pada bagian tengah dan operasi pada bagian bawah. Aggregation Bentuk spesial dari hubungan asosiasi yang memiliki hubungan secara spesifik antar kumpulan dan sebuah bagian. Agregasi digambarkan dengan wajik tidak berisi. Association Menggambarkan hubungan terstruktur antar class yang saling berelasi Generalization Relasi yang memperlihatkan suatu kelas dapat lebih general atau lebih spesifik dari kelas lainnya.
contains
Multiplicity Menggambarkan jumlah objek yang berpartisipasi dalam
0..*
1
hubungan antar class.
2.1.3. Sequence Diagram Menurut Whitten & Bentley (2007:394), sequence diagram adalah sebuah diagram yang menggambarkan interaksi antara actor dan system untuk sebuah skenario use-case. Pada tahap pembuatan sequence diagram, kita belum menganalisa lebih lanjut individual object class, namun hanya memikirkan keseluruhan sistem yang ada.
17 Sequence diagram membantu kita untuk mengidentifikasi setiap data yang masuk dan keluar dari sebuah sistem. Pada sequence diagram hanya sebuah skenario dari sebuah use-case, sehingga sebuah use-case dapat memiliki beberapa sequence diagram untuk menggambarkan keseluruhan use-case tersebut .
Gambar 2. 6 Sequence Diagram (Sumber: Whitten & Bentley (2007:396))
Tabel 2. 3 Notasi diagram sequence Simbol
Nama Object Lifeline
Keterangan Menyatakan
kehidupan
suatu objek.
Actor
Orang atau divisi yang terlibat
dalam
suatu
sistem.
Message
Menyatakan arah tujuan
18 antara Object Lifeline. Message (return)
Menyatakan arah kembali dalam 1 Object Lifeline.
Message (return)
Menyatakan arah kembali antara Object Lifeline.
Activation
Menyatakan objek dalam keadaan
aktif
dan
berinteraksi.
2.1.4. Activity Diagram Menurut Whitten & Bentley (2007:394), activity diagram adalah sebuah diagram yang bisa digunakan untuk menggambarkan secara grafis alur dari sebuah proses bisnis, langkah-langkah dari sebuah use-case, atau logika dari sebuah objek. Activity diagram sangat berguna untuk model action yang akan dikerjakan ketika sebuah operasi dieksekusi serta hasil dari action tersebut. Tidak semua use-case harus digambarkan dalam sebuah activity diagram. Activity diagram biasanya digunakan untuk use-case yang memiliki logika yang cukup kompleks. Activity diagram bisa membantu kita untuk berpikir tentang logika dari sebuah sistem.
19
Gambar 2. 7 Activity Diagram (Sumber: Whitten & Bentley (2007:392))
Tabel 2. 4 Notasi diagram activity Komponen
Simbol
Penjelasan
Initial node
Merupakan awal dari proses
Actions
Merupakan langkah-langkah individu yang membentuk aktivitas total yang ditunjukkan melalui diagram.
Flow
Menunjukkan perkembangan tindakan.
20
Decision
Menunjukkan kegiatan pemilihan yang menghasilkan keputusan.
Fork
Menunjukkan
tindakan
dilakukan
secara bersamaan
Join
Menandakan akhir dan penggabungan pross yang berlangsung bersamaan.
Activity Final
2.2.
Merupakan akhir dari proses.
Object Oriented Programming (OOP) Menurut Dan Clark (2013:1), object-oriented programming adalah sebuah pendekatan
pengembangan software dimana struktur dari software tersebut berdasarkan pada interaksi antar object satu sama lain untuk menyelesaikan tugas tertentu. Di dalam object-oriented programming terdapat beberapa karakteristik yang perlu kita pahami, antara lain :
2.2.1. Object Object adalah sebuah struktur untuk menggabungkan data yang akan dikelola dan prosedur-prosedur untuk bekerja dengan data tersebut. Object-object ini diimplementasikan sebagai fungsi dari sebuah object-oriented programming (Dan Clark, 2013:3). 2.2.2. Class Sebuah class mendefinisikan struktur dan metode yang akan terkandung dalam sebuah object berdasarkan class tersebut. Sebuah class bertanggung jawab dalam mengatur data yang ada. Ketika mendefinisikan struktur dari sebuah class, kita harus menentukan data apa yang akan dikelola oleh class tersebut. Atribut dari class
21 mengidentifikasikan informasi dari data yang ditangani oleh class (Dan Clark, 2013:16).
2.2.3. Encapsulation Encapsulation adalah proses dimana akses langsung pada suatu data tidak diberikan, namun disembunyikan. Apabila kita ingin mendapatkan akses terhadap suatu data, kita harus berinteraksi dengan object yang bertanggung jawab terhadap data tersebut. Dengan adanya encaplsulation terhadap suatu data, kita membuat data yang kita miliki lebih aman dan dapat diandalkan karena kita mengetahui bagaimana suatu data dapat diakses dan operasi apa yang sedang bekerja pada data tersebut (Dan Clark, 2013:4).
2.2.4. Polymorphism Polymorphism adalah kemampuan dua object berbeda untuk menanggapi pesan permintaan yang sama dengan cara unik dari masing-masing object tersebut. Dalam OOP, kita bisa mengimplementasikan polymorphism ini melalui sebuah proses
yang
dinamakan
overloading,
yang
memungkinkan
kita
untuk
mengimplementasikan method yang berbeda dari sebuah object yang memiliki nama yang sama (Dan Clark, 2013:4).
2.2.5. Inheritance Inheritance digunakan di OOP untuk mengklasifikasi object-object dalam program kita yang memiliki karakteristik dan fungsi yang sama. Hal ini membuat kinerja melalui object-object yang ada lebih mudah. Selain itu, proses pemrograman lebih mudah karena ini memungkinkan kita untuk menggabungkan karakteristik umum ke parent object dan menurunkan karakteristik tersebut ke child object (Dan Clark, 2013:5).
2.3.
Database Basis data adalah sekumpulan data yang saling berhubungan satu dengan yang lain
secara logikal dan suatu deskripsi data yang dirancang untuk memenuhi kebutuhan informasi suatu organisasi (Begg dan Connoly, 2010:14).
22 Untuk mengolah basis data dengan baik, kita memerlukan suatu perangkat lunak yang biasa dikenal dengan DBMS. Menurut Begg dan Connoly (2010:16), DBMS (Database Management System) adalah suatu sistem piranti lunak yang memungkinkan user untuk mendefinisikan, membuat, merawat, dan mengontrol akses ke dalam basis data. DBMS menyediakan beberapa fasilitas sebagai berikut : a. Data Definition Language DDL (Data Definition Language) menurut Begg dan Connoly (2010:40), adalah suatu bahasa yang memungkinkan Database Administrator (DBA) atau user untuk mendeskripsikan nama dari suatu entitas, atribut, dan relasi data yang diminta oleh aplikasi bersamaan dengan integritas data dan batasan keamanan datanya. DDL memungkinkan pemakai untuk membuat spesifikasi tipe data, mendefinisikan basis data, struktur data, dan constraint data untuk disimpan dalam basis data. Contohnya create table, drop table, dan alter table. b. Data Manipulation Language DML (Data Manipulation Language) menurut Begg dan Connoly (2010:41), adalah suatu bahasa yang memberikan fasilitas pengoperasian data yang ada di dalam basis data. Pengoperasian data yang akan dimanipulasi meliputi : 1. Penambahan data baru ke dalam basis data. 2. Modifikasi data yang disimpan ke dalam basis data. 3. Pemanggilan data yang terdapat di dalam basis data. 4. Penghapusan data dari basis data. Sedangkan Procedural DML adalah suatu bahasa yang memperbolehkan user untuk mendeskripsikan ke sistem data apa yang dibutuhkan dan bagaimana mendapatkan data tersebut. DML memungkinkan pemakai memasukkan, memperbaharui, menghapus, mengirim, dan mengambil data dari basis data. Contohnya insert, update, delete, dan select. Menurut Begg dan Connoly (2010:18-20), DBMS memiliki lima komponen yang penting yaitu : 1. Hardware (piranti keras)
23 Dalam menjalankan aplikasi dan DBMS diperlukan piranti keras. Piranti keras dapat berupa personal computer, single mainframe, atau komputer jaringan berupa server. 2. Software (piranti lunak) Piranti lunak meliputi DBMS software dan program aplikasi beserta sistem operasi (OS), termasuk piranti lunak jaringan bila DBMS digunakan dalam jaringan seperti LAN. 3. Data Data merupakan komponen terpenting dari DBMS khususnya sudut pandang dari end user mengenai data. 4. Prosedur Prosedur adalah panduan dan instruksi dalam membuat rancangan dan menggunakan basis data. Pengguna sistem dan staf yang mengelola basis data membutuhkan prosedur dalam menjalankan sistem dan mengelola basis data itu sendiri. Prosedur di dalam basis data dapat berupa login di dalam basis data ataupun berupa penggunaan sebagian fasilitas DMBS. Selain itu, prosedur lainnya dapat berupa membuat salinan backup basis data, memeriksa perangkat keras dan piranti lunak yang sedang berjalan, mengubah struktur basis data, meningkatkan kinerja atau membuat arsip data pada secondary storage. 5. Manusia Komponen terakhir yaitu manusia itu sendiri yang terlibat dalam sistem tersebut. Keterlibatan manusia tidak dapat lepas, mulai dari yang merancang sampai dengan yang menggunakan sistem tersebut.
2.4.
Entity Relationship Diagram (ERD) Diagram yang digunakan untuk menggambarkan konsep logika basis data adalah
Entity Relationship Diagram (ERD). Penggunaan Entity Relationship Diagram (ERD) dimungkinkan untuk memberikan kemudahan dalam melakukan pemodelan data, seperti yang disampaikan oleh Connolly dan Begg (2010, p473), Entity Relationship Diagram (ERD) digunakan untuk menggambarkan hubungan antara satu entitas dengan entitas yang lain. Adapun komponen yang membentuk Entity Relationship Diagram (ERD) adalah :
24 •
Entitas merupakan kelompok orang, tempat, objek, kejadian, atau konsep tentang apa yang diperlukan untuk mendapatkan dan menyimpan data. Komponen dalam basis data yang mengacu kepada entitas adalah table data.
•
Atribut merupakan sifat atau karakteristik deskriptif yang diidentifikasi untuk disimpan ke dalam suatu entitas tertentu. Komponen dalam basis data yang mengacu kepada atribut adalah record.
•
Hubungan merupakan hubungan bisnis alami yang ada di antara satu atau lebih entitas.
Gambar 2. 8 Contoh Entity Relationship Diagram (Sumber: Connolly dan Begg (2010:16))
2.5.
MySQL Menurut Welling dan Thomson (2005:205) MySQL adalah Relational Database
Management System (RDBMS) yang sangat cepat dan kuat. MySQL adalah DBMS yang bersifat relational, open source, berlevel enterprise, dan multithread. MySQL merupakan bahasa yang memiliki kemampuan cukup baik untuk menunjang kerja user, baik user yang sudah berpengalaman dengan database maupun untuk pemula. SQL digunakan untuk mencari informasi, memanupulasi data, mendefinisikan data dan bahasa pengendali dokumentasi. Setiap pengguna basis data memerlukan bahasa pemrograman yang dapat dipakai sesuai dengan fungsi dan tugasnya.
25
Berikut adalah kelebihan dari MySQL : 1.
Dukungan standar Dukungan entry-level ANSI SQL92 dan ODBC level 0-2 SQL standar.
2.
Dukungan bahasa Database server MySQL dapat mengeluarkan pesan kesalahan dalam berbagai bahasa seperti : bahasa Belanda, Ceko, Inggris, Perancis, Jerman, Italia, Spanyol, dll.
3.
Bahasa pemrograman API’s bagi clients untuk mengakses database.
4.
Aplikasi database MySQL dapat ditulis dalam beberapa bahasa pemrograman, seperti C, Perl, PHP, Dll.
5.
Tabel yang besar.
6.
MySQL menyimpan setiap tabel ke dalam database sebagai file tersendiri di dalam database directory. Ukuran maksimum dari suatu tabel antara empat gigabyte dan batas sistem operasi pada ukuran file maksimum.
7. Kecepatan dan kekuatan MySQL kira-kira tiga hingga empat kali lebih cepat daripada database komersil lainnya. 8. Tidak mahal Walaupun mempunyai versi komersial, namun sesungguhnya MySQL dapat diunduh secara gratis. 9. Kemudahan penggunaan Anda dapat berinteraksi dengan MySQL menggunakan perintah SQL yang sederhana. Perintah SQL adalah standar bahasa RDBMS. 10. Berjalan pada berbagai sistem operasi MySQL berjalan dengan baik pada banyak sistem operasi, seperti Windows, Linux, Mac OS, Unix, dll.
2.6.
Model Proses Waterfall Menurut Pressman (2010:39), model proses Waterfall, yang dikenal dengan Classic
Life Cycle, adalah model proses yang sistematis, dimana pendekatan yang dilakukan berurutan dalam pengembangan perangkat lunak yang diawali dengan analisis kebutuhankebutuhan client (requirement analysis) dan akan melalui perencanaan dan perancangan
26 (design), penuangan dalam kode (code generation), uji coba(testing), dan diakhiri dengan proses pemeliharaan (support/maintenance). Adapun penjelasan dari tahapan-tahapan model proses Waterfall adalah sebagai berikut : 1. Requirement analysis : pada tahap ini, teknisi berfokus pada kebutuhan dan spesifikasi dari software yang akan dibangun. Untuk memahami software yang akan dibangun, software analyst harus mengetahui informasi-informasi seperti fungsi, perilaku, kinerja, dan tampilan software yang diperlukan. 2. Design : pada tahap perancangan, teknisi berpusat pada 4 atribut berbeda dari sebuah software, antara lain struktur data, arsitektur software, tampilan software, dan detail prosedur (algorithmic). Proses perancangan ini sendiri menerjemahkan kebutuhan-kebutuhan yang ada menjadi sebuah software yang bisa dinilai kualitasnya sebelum memulai coding. 3. Code generation : tahapan membuat software dimana setiap rancangan yang ada diterjemahkan menjadi sebuah program utuh yang bisa digunakan oleh user. 4. Testing : setelah program dihasilkan, uji coba program dimulai. Uji coba yang dimaksudkan berpusat pada logika internal dari software yang dibangun, memastikan bahwa setiap pernyataan telah diuji, dan uji coba pada fungsi-fungsi eksternal, dimana uji coba eksternal itu meliputi uji coba untuk menemukan kesalahan dan memastikan bahwa input sesuai dengan yang diperlukan agar dapat menghasilkan hasil yang ingin dicapai. 5. Support / Maintenance : proses pemeliharaan dimana software yang dihasilkan akan mengalami perubahan berdasarkan masukan-masukan dari user yang menggunakan software tersebut. Perubahan yang terjadi biasanya karena adanya kesalahan (errors) yang terjadi karena software yang dibangun masih harus beradaptasi dengan lingkungan eksternal yang ada, atau karena kebutuhan tambahan dari user itu sendiri. Pada tahap ini, akan dilakukan evaluasi pada software yang ada dan mengulang tahapan-tahapan yang sebelumnya dari awal dibandingkan harus membangun software yang baru.
27
Gambar 2. 9 Waterfall model (Sumber: Pressman (2010:29))
2.7.
Teori Evaluasi (Interaksi Manusia dan Komputer) Menurut Plaisant dan Shneiderman (2010: 32), ada lima faktor manusia terukur yang
dapat dijadikan sebagai pusat evaluasi, yaitu : a. Waktu belajar Waktu yang dibutuhkan oleh user untuk mempelajari cara relevan dalam menggunakan perangkat lunak yang ada untuk melakukan tugas dengan lancar. b. Kecepatan kinerja Waktu yang diperlukan untuk suatu perangkat lunak mengerjakan suatu tugas yang diberikan. c. Tingkat Kesalahan Berapa banyak kesalahan yang dilakukan oleh user dan kesalahan-kesalahan seperti apa yang bisa terjadi saat user menggunakan perangkat lunak untuk mengerjakan tugas tersebut. d. Daya ingat Kemampuan user mempertahankan pengetahuannya setelah jangka waktu tertentu untuk menggunakan perangkat lunak yang ada. e. Kepuasan Subjektif Kepuasan user terhadap berbagai aspek pada saat menggunakan perangkat lunak.
Selain itu, menurut Plaisant dan Shneiderman (2010:88-89), disebutkan pula bahwa ada delapan aturan emas yang digunakan dalam merancang antar muka, yaitu : a. Mempertahankan konsistensi tampilan
28 Konsistensi merupakan aturan yang sering dilanggar karena konsistensi memiliki banyak bentuk, antara lain urutan aksi, istilah yang digunakan, warna, layout, kapitalisasi, huruf dan lain-lainnya. Dengan tampilan yang konsisten akan membantu user untuk merasa tetap berada dalam aplikasi yang sama walaupun telah berpindah halaman. b. Memenuhi kebutuhan universal Memenuhi kebutuhan universal maksudanya memahami kebutuhan user yang bermacam-macam dan membuat desain yang fleksibel yang mendukung perubahan dalam konten. Perbedaan Novice-Expert, jarak umur, kecacatan fisik, serta beragam teknologi masing-masing merupakan syarat yang harus menjadi pertimbangan dalam desain. c. Memberikan umpan balik yang informatif Umpan balik dari sistem harus ada pada setiap aksi user. Untuk aksi kecil yang sering dilakukan, tanggapan dapat dibuat dengan sederhana. Sedangkan untuk aksi besar dan jarang dilakukan, respon hendaknya lebih tegas dan jelas agar user dapat mengerti dengan jelas. d. Dialog untuk keadaan akhir Urutan aksi hendaknya disusun menjadi kategori awal, tengah, dan akhir. Untuk memberikan kepuasan pencapaian, kelegaan, dan sebagai tanda untuk mempersiapkan diri memasuki kategori aksi selanjutnya, dibuatlah umpan balik yang informatif pada penyelesaian salah satu kategori aksi. e. Pencegahan kesalahan Sedapat mungkin sistem didesain agar user tidak dapat membuat kesalahan yang serius. Contohnya tidak memperbolehkan karakter alphabet pada kotak entry nomor. Interface harus mendeteksi kesalahan dan memberikan instruksi yang mudah dimengerti, membangun dan jelas untuk memperbaikinya jikalau user membuat kesalahan.
f. Pembalikan aksi yang sederhana Dalam suatu aplikasi, pada setiap aksi user harus terdapat pembalikan aksi. Fitur ini dapat memperkecil kesalahan, karena user tahu bahwa aksi bisa dibatalkan. Pembalikan bisa saja atas satu aksi seperti saat memasukkan data, atau serangkaian aksi seperti memasukkan nama dan alamat di formulir pengisian.
29 g. Mendukung pusat kendali internal User yang sudah terbiasa dengan suatu aplikasi, biasanya ingin memiliki kendali atas antarmuka dan tanggapan pada aksinya. Aksi antarmuka yang tidak seperti biasanya, rangkaian pemasukan data yang membosankan, tidak bisa atau sulit mendapatkan informasi yang diperlukan, dan tidak bisa menghasilkan aksi yang diinginkan dapat menimbulkan keresahan dan ketidakpuasan pada user. h. Mengurangi beban ingatan jangka pendek Dikarenakan oleh keterbatasan manusia dalam memproses informasi dalam jangka pendek, dibutuhkan tampilan yang ringan, penggabungan halaman-halaman, pengurangan frekuensi window-window, pemberian waktu latihan yang cukup untuk kode-kode, hafalan dan rangkaian aksi. Oleh karena itu, dalam setiap perancangan aplikasi dibutuhkan alur aplikasi yang mudah diingat oleh user.
2.8.
Model View Controller Menurut Ajit, Kumar (2012:35), Model View Controller (MVC) adalah jenis arsitektur software yang dirancang untuk memisahkan kode program yang menangani presentasi tampilan, logika aplikasi, dan logika bisnis. Hal ini membuat sistem yang menggunakan arsitektur MVC lebih sederhana untuk mempertahankan lokasi kode yang relevan dengan lokasi tertentu secara signifikan sehingga proses pengembangan menjadi lebih mudah. Definisi-definisi bagian dari MVC adalah sebagai berikut : a. View : Tampilan yang sepenuhnya untuk bagian presentasi dari aplikasi. Tidak berisi logika sejauh diperbolehkan oleh bahasa pemrograman yang digunakan. Pada bagian view hanya terdapat tampilan aplikasi dan tidak berisi pengaturan sistem aplikasi. b. Controller : controller menangani umpan balik dari user dan logika khusus untuk aplikasi. Pekerjaan dari controller adalah menerima input dari user, selain itu melalui controller ditemukan user interface untuk proses inputoutput, berkomunikasi dengan model bila diperlukan, mengirimkan output ke user, dan biasanya mengisi tampilan dengan konten yang relevan. c. Model : Model melakukan logika bisnis pada aplikasi yang dijalankan. Dalam hal ini, logika bisnis yang dimaksud merujuk ke item yang mendasar dengan desain sistem secara keseluruhan. Misalnya, jika sebuah aplikasi
30 perpustakaan
dibangun,
logika
yang
memastikan
pemilik
kartu
perpustakaan hanya menyewa sampai 5 buku pada suatu waktu akan menjadi bagian dari model. Bagian dari logika bisnis, model juga cenderung untuk mengontrol akses ke penyimpanan aplikasi, seperti database (s), dan melakukan CRUD (Create, Read Update, Delete) pada data yang tersimpan.
2.9.
HyperText Markup Language (HTML) HTML atau HyperText Markup Language, memiliki dua fitur esensial hypertext dan universalitas. Hypertext berarti anda dapat membuat sebuah link pada sebuah halaman web yang mengarahkan pengunjung ke halaman web lain pada internet. Itu berarti informasi pada web bisa diakses dari berbagai arah. Universalitas maksudnya bahwa dikarenakan dokumen HTML disimpan sebagai Text Only file, secara virtual setiap komputer dapat membaca dan membuka halaman web tersebut. Tidak masalah apakah pengunjung membukanya lewat Macintosh, Unix, atau Windows, atau bahkan mobil OS sekalipun (Castro, 2007:14).
Struktur dasar HTML : Judul Website
31
Keterangan : : sebuah tag yang harus dideklarasikan pertama kali pada dokumen HTML. Tag ini bukan termasuk HTML tag, tetapi tag ini menginstruksikan kepada web browser mengenai veri HTML yang digunakan. Tag adalah deklarasi doctype untuk HTML5. : Merupakan tag pembuka dari sebuah halaman website. tanpa mendeklarasikan , maka sebuah script tidak dapat dikenal sebagai halaman website. Selain itu, segala bentuk kode yang ditulis di luar tag html tidak akan masuk ke dalam elemen halaman website. : Merupakan tag yang berisi semua informasi yang terkandung dalam kepala dokumen. Informasi ini tidak akan ditampilkan saat browser dijalankan. Dalam tag head biasanya terkandung tag meta, tag title, tag link untuk menghubungkan html dengan script lain seperti CSS, javascript, dan jquery. : Merupakan tag untuk membuka sebuah isi script yang ada didalam HTML. Semua yang terkandung dalam tag body (kecuali syntax untuk server-side scripting) akan terlihat pada browser.
2.10. Cascading Style Sheets (CSS) Menurut Richard, York (2011:3), Beginning Cascading Style Sheet (CSS) merupakan bahasa yang dirancang untuk menggambarkan penampilan dokumen yang ditulis dalam bahasa pemrograman seperti HTML, ide dari W3C untuk menghadapi kebutuhan manufaktur dari browser dengan memperkenalkan lebih dari sekedar HTML tags, yaitu sebuah physical formatting tags yang baru (seperti font atau table tags). CSS merupakan sebuah penyelesaian, menyediakan fitur page layout yang diinginkan oleh web authors dengan menambahkan elemen dari CSS ke HTML tags yang ada. CSS menguasai banyak logical structure dari sebuah web page ketika mengirimkan berbagai fitur page layout agar mudah dimengerti dan mampunyai efek yang lebih powerful. Ada tiga (3) cara untuk mengaplikasikan CSS ke HTML : 1.
In-line In-line style dituliskan langsung di dalam HTML tag menggunakan atribut style seperti contoh di bawah ini :
This text is bold
32 2.
Internal Embedded, atau Internal style digunakan untuk seluruh halaman. Di dalam tag head, tag style meliputi semua style pada halaman. Pada internal style kita bisa mendeklarasikan sebuah class atau id yang bisa memberikan style khusus pada tag HTML yang mengandung atribut class atau id yang dideklarasikan. Contoh deklarasi internal CSS : <style> p{font-weight:bold} /*Membuat semua elemen p dalam halaman ini menjadi bold*/ .black-font{color : black} #red-font{color : red} /* Simbol “.” menandakan pendeklarasian sebuah class, sedangkan simbol “#” menandakan pendeklarasian sebuah id . Atribut id lebih kuat mempengaruhi tag HTML dibandingkan dengan atribut class */
3.
External CSS external digunakan untuk lebih dari satu halaman website. CSS dibuat pada dokumen yang berbeda dan memiliki ekstensi .css (misal: style.css). CSS external juga bisa mendeklarasikan sebuah class dan id sama seperti CSS internal. Tautan untuk memanggil CSS external ditulis pada tag head dengan struktur seperti berikut :
2.11. Javascript (JS) Javascript (biasa disingkat JS) adalah bahasa yang ringan, interpreted, dan berorientasi objek, dengan fungsi first-class. Javascript terkenal dengan bahasa scripting untuk halaman website, tetapi bisa juga dipakai pada lingkungan bukan
33 browser seperti node.js atau Apache CouchDB. Tujuan utama dari pemakaian javascript adalah untuk mengubah halaman website statis menjadi halaman website dinamis dan interaktif dalam ruang lingkup client-side scripting. Sintaks penulisan javascript mirip dengan bahasa pemrograman Java dan bahasa pemrograman C sehingga banyak aturan-aturan penulisan dari kedua bahasa pemrograman tersebut yang biasa diterapkan dalam javascript. Akan tetapi ada yang membedakan
javascript
dengan
Java
yaitu
pengembangannya.
Javascript
dikembangkan oleh Netspace dan produk website-nya disebut web script sedangkan Java dikembangkan oleh Sun Microsystems dan produk website-nya adalah applet. Javascript bergantung pada browser yang memanggil halaman website yang mengandung javascript dan tentu saja script tersebut berada di dalam dokumen HTML. Javascript juga tidak memerlukan compiler khusus untuk menjalankannya. Penulisan javascript dilakukan di dalam tag HTML dan sama seperti bahasa pemrograman C, javascript bersifat case sensitive. Javascript dapat dituliskan pada tag body maupun tag head. Pada head, javascript digunakan untuk membuat suatu function yang diaktifkan melalui event trigger pada tag body. Berikut adalah cara penulisan javascript dalam sebuah dokumen HTML :
<script> document.write(“Hello World”);
2.12. Hypertext Preprocessor (PHP) PHP (Hypertext Preprocessor) adalah bahasa pemrograman yang dirancang untuk menghasilkan halaman web interaktif pada komputer yang melayaninya, yang disebut web server. Tidak seperti HTML, dimana browser menggunakan tags dan markup untuk membuat halaman, kode PHP berjalan diantara halaman yang diminta dan web server untuk menambahkan dan mengubah output dasar dari HTML. Phillips dan Davis (2007:2). PHP bersifat server-side,yang berarti kode program PHP diproses seluruhnya di dalam web server. Output dari proses web server tersebut akan disertakan pada halaman HTML. PHP memiliki dukungan lapisan integrasi database sehingga PHP
34 dapat dikoneksikan dengan berbagai macam database seperti MySQL, Oracle, PostgreSQL, dan lain sebagainya. Berikut ini adalah cara kerja dari PHP :
Gambar 2. 10 Cara Kerja PHP (Sumber: Phillips dan Davis (2007:13))
PHP memiliki beberapa kelebihan, di antaranya adalah : 1.
Performa yang tinggi.
2.
Antar muka ke banyak sistem database yang berbeda.
3.
Built-in libraries untuk banyak tugas web yang umum.
4.
Harga yang murah.
5.
Mudah dipelajari dan digunakan.
6.
Mendukung orientasi objek yang kuat.
7.
Portabilitas
8.
Ketersediaan source code.
9.
Ketersediaan bantuan.
Berikut adalah contoh penulisan script php dalam sebuah dokumen HTML :
35 else if(empty($password)){ header(‘location:register.php?err=2’) } else{ $query = “SELECT username FROM Ms_user WHERE username = ‘$username’ ”; $result = mysql_query($query); $row = mysql_fetch_array($result); } ?>
2.13. Bootstrap Menurut Spurlock (2013:1), bootstrap adalah sebuah framework tampilan depan open source yang dikembangkan oleh twitter yang dapat digunakan oleh front-end developer untuk membuat suatu website yang responsive untuk berbagai resolusi layar device. Adapun framework tampilan depan ini terdiri dari CSS dan Javascript yang sudah diatur sedemikian rupa agar sesuai standar website profesional yang telah banyak beredar. Bootstrap dapat di-download langsung di website resmi bootstrap, yaitu http://getbootstrap.com. Setiap framework memiliki kelebihan dan kekurangan tersendiri dalam penerapannya. Adapun kelebihan dan kekurangan dari framework bootstrap berdasarkan https://www.eclipsewebmedia.com adalah sebagai berikut Kelebihan : -
Bisa menyesuaikan dengan browser yang digunakan.
-
Bootstrap dibuat menggunakan LESS sebagai CSS preprocessor yang dapat membantu mempermudah proses development yang sedang dilakukan.
-
Dapat disesuaikan sesuai dengan kebutuhan.
Kekurangan : -
Memerlukan waktu untuk mempelajari di awal penggunaan Bootstrap
-
Desain yang terbatas karena sudah memiliki konsep tertentu dalam penggunaan bootstrap tersebut.
-
Class yang terdapat pada bootstrap sulit untuk diingat karena tidak menggunakan kata-kata yang pada umumnya.
36
2.14. Laravel 4 Menurut situs resmi dari laravel yaitu http://laravel.com, Laravel 4 adalah sebuah web application framework dengan syntax yang elegan dan ekspresif, dimana laravel ini telah disusun sedemikian rupa sehingga developer dapat melakukan pengembangan dengan nyaman. Laravel 4 merupakan sebuah framework free lisence yang dapat digunakan oleh developer untuk mengembangkan sebuah aplikasi. Framework ini dapat di-install dengan melalui composer, dan kemudian dapat di-download langsung melalui composer tersebut. Adapun
kelebihan
dan
kekurangan
dari
laravel
4
menurut
http://blog.cubettech.com/ adalah sebagai berikut :
Kelebihan : -
Laravel sangat mudah untuk dikonfigurasi dan di-extend sehingga user mudah mengatur aplikasi yang dibuat.
-
Menggunakan blade template engine yang memungkinkan untuk menggunakan syntax PHP dengan penulisan yang mudah dimengerti (clean code).
-
File-file penyusun framework laravel 4 disusun secara otomatis sehingga mudah digunakan oleh developer.
-
Menggunakan reverse routing sehingga developer bisa dengan mudah memberi nama pada route dan membuat link dari satu halaman ke halaman lain.
Kekurangan : -
Dibandingkan oleh beberapa framework lain lebih sulit dipahami kegunaan dari method yang ada.
-
Mengirim e-mail melalui aplikasi buatan kita lebih rumit dari seharusnya.
-
Terkadang routing terasa lebih ganjil apabila belum memahami secara sempurna metode routing pada laravel 4.
-
37 2.15. Learning Management System Menurut situs http://www.businessnewsdaily.com/, Learning Management System adalah sebuah sumber daya yang kuat yang dapat membantu karyawan untuk fokus dalam pelatihan dan pengembangan profesional, baik untuk lembaga pegawai, perluasan sekolah, maupun perusahaan. Lebih jauh lagi, situs http://www.businessnewsdaily.com/ membahas tentang komponen utama Learning Management System. Adapun komponen yang diperlukan adalah sebagai berikut : •
Kemampuan untuk membuat daftar kelas, mengatur registrasi, dan membuat daftar tunggu.
•
Kemampuan untuk meng-upload dan mengatur dokumen yang berisi bahan pembelajaran kurikulum.
•
Kemampuan untuk menyampaikan isi dari mata pelajaran melalui tampilan berbasis web yang mengizinkan instruktor dan murid melakukan pengalaman belajar mengajar jarak jauh.
•
Kemampuan untuk membuat dan mengumumkan kalender kuliah.
•
Kemampuan untuk membuat murid berinteraksi satu sama lain.
•
Kemampuan untuk menentukan metode apa yang dilakukan untuk memberi penilaian kepada murid.
2.16. Internet Internet adalah sekumpulan komputer yang semuanya terkoneksi satu sama lain atau disebut net. Ketika sebuah komputer terhubung dengan internet (online), maka komputer tersebut aka menjadi bagian dari internet dan terhubung dengan setiap komputer yang juga terhubung pada saat yang sama (Vermaat dan Shelly, 2011:5657). Internet adalah jaringan komputer yang dikembangkan oleh Departemen Pertahanan Amerika Serikat di tahun 1969 untuk keperluan militer. Melalui proyek ARPA yang disebut ARPANET (Advanced Research Project Agency Network), mereka mendemonstrasikan bagaimana dengan hardware dan software komputer yang berbasis UNIX, kita bisa melakukan komunikasi tanpa batasan jarak dengan menggunakan saluran telepon.
38 Pada mulanya ARPANET hanya menghubungkan 4 situs saja yaitu Stanford Research Institute, University of California, Santa Barbara, dan University of Utah, dimana mereka membentuk satu jaringan terpadu di tahun 1969, dan secara umum ARPANET diperkenalkan pada bulan Oktober 1972. Dengan perkembangan jumlah pengguna internet yang besar, terciptalah budaya internet. Sebagai suatu budaya, internet mempunyai pengaruh yang besar atas ilmu dan pandangan dunia. Dengan hanya memakai mesin pencarian seperti Google, user di seluruh dunia mempunyai akses internet yang mudah untuk mendapat bermacammacam informasi. Dibanding dengan buku dan perpustakaan, internet melambangkan penyebaran pengetahuan, informasi dan data secara ekstrem.