Upload
phamthuy
View
221
Download
0
Embed Size (px)
Citation preview
7
BAB 2
LANDASAN TEORI
2.1 Manajemen
Robbins dan Coulter (2010:9) menjelaskan bahwa manajemen mengacu
dalam proses koordinasi dan integrasi kegiatan kerja secara efisien dan efektif
melalui dan dengan orang lain. Menurut Robbins dan Coulter terdapat 4 fungsi
manajemen:
1. Perencanaan (planning)
Di dalamnya mencakup proses merumuskan masalah, menetapkan strategi
untuk mencapai sasaran yang ditentukan, dan menyusun rencana untuk
mengintegrasikan dan mengkoordinasikan kegiatan-kegiatan tersebut
2. Mengorganisasikan (organizing)
Menentukan pembagian tugas apa yang harus dikerjakan, siapa yang
mengerjakan, pengelompokannya, dan pertanggungjawaban pengambilan
keputusan
3. Kepemimpinan (leading)
Di dalamnya terdapat proses memotivasi dan mengarahkan karyawan, dan
menyeleksi saluran informasi yang paling efektif agar masalah dapat
terselesaikan
4. Pengawasan (controlling)
Mencakup kegiatan pemantauan aktivitas, agar dapat dipastikan semua hal
yang telah direncanakan sebelumnya dapat terpenuhi dan menjaga agar tidak
ada penyimpangan yang signifikan.
2.2 Karyawan
Karyawan adalah seseorang yang dipekerjakan untuk sebuah gaji atau
pembayaran terhadap sesuatu yang dikerjakan untuk atasannya. (Cornell
University Law School: 152).
2.3 Internet
Menurut Connolly & Begg (2015:1048), internet dibuat oleh banyak
jaringan yang terkoneksi dan saling terpisah satu dengan yang lain yang
dimiliki
8
8
oleh perusahaan komersial, perusahaan pendidikan, organisasi pemerintahan, dan
Internet Service Provider (ISP).
2.3.1 Intranet vs Ekstranet vs Internet
Intranet adalah sebuah website atau grup dari beberapa situs yang
dimiliki oleh organisasi, dan hanya dapat diakses hanya oleh anggota dari
organisasi tersebut. Secara umum, intranet terkoneksi ke dalam internet publik
yang lebih luas yang melalui firewall dengan batasan-batasan tertentu data apa
saja yang boleh lewat melalui intranet.
Ekstranet merupakan intranet yang dapat diakses sebagian oleh orang
luar yang terotorisasi. Extranet menyediakan beberapa tingkatan aksesbilitas ke
orang luar. Secara umum, extranet hanya dapat diakses oleh user dari luar yang
memiliki username dan password yang valid, dan identitas ini menentukan
bagian mana saja dari extranet yang dapat dilihat
Sedangkan internet merupakan koneksi antar komputer yang
menggunakan standar Internet Protocol Suite (TCP/IP) untuk melayani user di
seluruh dunia tanpa batasan-batasan tertentu seperti yang ada dalam intranet
dan ekstranet
2.4 Website
Menurut Connolly & Begg (2015:1052), Website adalah sistem berbasis
media yang menyediakan informasi browsing yang tidak terurut di dalam
internet dengan menggunakan hyperlinks. Web menyediakan point and click
yang mudah. Informasi yang ada di web berada di web page, dimana berupa
kumpulan teks, grafis, gambar, suara, dan video.
Web terdiri atas 2 jenis, sebagai server/penyedia informasi (web server),
dan sebagai klien / yang meminta informasi. Contoh dari web server adalah
Apache, Microsoft Internet Information Server (IIS), Google Web Server. Dan
contoh dari web client adalah Internet Explorer, Mozilla Firefox, Google
Chrome.
2.4.1 HTTP (HyperText Transfer Protocol)
Menurut Connolly & Begg (2015: 1053), HTTP mendefinisikan
bagaimana klien dan server berkomunikasi. HTTP berorientasi obyek, dan
9
merupakan stateless protocol untuk melakukan pertukaran informasi antara
klien dan server.
HTTP berbasis pada paradigm request-response. Transaksi HTTP terdiri
dari beberapa langkah berikut:
1. Connection : klien menciptakan koneksi ke web server
2. Request : klien mengirimkan permintaan pesan ke web server
3. Response : web server mengirimkan respon
4. Close : koneksi ditutup oleh web server
2.4.2 Website Management
Website Management adalah suatu kerangka kerja untuk mengorganisir
semua kegiatan di dalam website. Menurut Shane Diffly (2006: 3), terdapat 4
elemen model website management:
1. Website maintenance: meliputi semua aktivitas yang dibutuhkan untuk
memastikan semua integritas operasional di dalam situs. Dengan kata
lain, hal ini memastikan bahwa sebuah website dapat berjalan dengan
baik dan sesuai dengan rencana.
2. Website Development: meliputi semua bentuk aktivitas yang diperlukan
untuk membuat dan meninjau kembali sebuah website, termasuk di
dalamnya:
• Planning
• Content
• Design
• Construction
• Testing
• Hosting
• Publicity
• Review
3. Website Governance: berada diatas dari elemen maintenance dan
development. Tujuan dari website governance adalah sebuah manajemen
situs yang terkontrol, dari perencanaan dan desain sampai proses
maintenance dan infrastruktur.
10
4. Website Infrastructure: menyediakan pondasi yang aman untuk operasi
teknis. Website Infrastructure merangkul semua aktivitas dan sumber
daya yang diperlukan untuk memilih dan membuat sebuah solusi hosting
internal, termasuk di dalamnya hardware, software, dan staff skills.
2.4.3 PHP
Menurut Vaswani (2008:4-5), PHP merupakan bahasa pemrograman
yang paling terkenal untuk mengembangkan website. Dalam beberapa tahun
terakhir, PHP secara de facto telah dijadikan pilihan untuk mengembangkan
data-driven web application, yang bergantung pada skalabilitas, kemudahan
penggunaan, dan layanan untuk banyak tipe database dan format data. PHP
memiliki fitur-fitur sebagai berikut:
1. Performance
Skrip yang ditulis di dalam PHP akan lebih cepat dieksekusi daripada
yang ditulis di bahasa pemrograman lain. PHP dibuat dengan optimisasi
memory manager untuk meningkatkan performa.
2. Portability
PHP dapat digunakan di UNIX, Microsoft Windows, MacOS, dan OS/2.
Selain itu, program PHP bersifat portabel di antara berbagai platform.
Hal ini adalah salah satu nilai lebih PHP, khususnya ketika beroperasi di
perusahaan multiplatform atau ketika mengalamatkan ke banyak segmen
pasar
3. Ease of Use
PHP adalah bahasa pemrograman yang sangat canggih. Sintaks yang
digunakan jelas dan konsisten, dan PHP disertai dengan dokumentasi
lebih dari 5000 fungsi yang termasuk di dalamnya distribusi utama
4. Open Source
PHP adalah proyek open source, bahasa pemrograman ini dikembangkan
oleh sukarelawan di seluruh dunia yang membuat source code ini tersedia
secara gratis di web dan tanpa perlu lisensi berbayar
11
5. Community Support
Salah satu nilai tambah dari PHP adalah banyaknya komunitas-komunitas
yang ada di seluruh dunia untuk membantu pengguna PHP jika
mengalami kesulitan
6. Third-Party Application Support
PHP dapat mendukung banyak database, contohnya MySQL,
PostgreSQL, Oracle, dan Microsoft SQL Server. Selain itu PHP juga
memiliki banyak Application Program Interface (API) untuk akses
database nya. Ada juga layanan Extensible Markup Language (XML )
yang dapat memudahkan dalam pembacaan dan penulisan. PHP juga
memperbolehkan penggunanya untuk membuat add-ons sendiri
2.4.4 HTML (HyperText Markup Language)
Menurut Connolly & Begg (2015: 1055), HTML adalah sistem untuk
menandai sebuah dokumen sehingga dapat dipublikasikan ke dalam web.
HTML mendefinisikan apa yang biasa dikirimkan antar jaringan. HTML telah
dikembangkan dengan tujuan agar banyak perangkat dapat menggunakan
informasi di dalam web, antara lain komputer dengan layar grafis, telepon
genggam, dan lainnya.
2.4.5 Javascript
Menurut Crockford (2008:2), Javascript adalah suatu bahasa yang
penting, karena bahasa ini digunakan di dalam web browser. Fungsi javascript
pertama adalah obyek kelas pertama yang dapat mendefinisikan scope,
sehingga dapat dipanggil dari antara blok kode dimana hal tersebut
didefinisikan (lexical scoping). Javascript juga merupakan bahasa yang dapat
melemparkan suatu fungsi ke fungsi lainnya (lambda).
2.4.6 jQuery
Menurut Chaffer & Swedberg (2007:1-6), jQuery adalah sebuah library
Javascript yang dapat meningkatkan website tanpa memandang background.
jQuery merupakan proyek open source yang menyediakan fitur yang luas,
sintaks yang mudah dimengerti, dan kompabilitas antar perangkat.
12
Library jQuery menyediakan lapisan abstraksi secara umum untuk
penulisan skrip website. Fitur-fitur utama dari jQuery adalah:
1. Mengakses bagian dari halaman
Tanpa Javascript library, banyak baris dalam code harus ditulis untuk
melintasi bagan Document Object Model (DOM) dan menentukan lokasi
spesifik dari HTML di dalam struktur dokumen. jQuery menawarkan
mekanisme pemilihan yang efisien dan kuat untuk mengambil secara
tepat bagian dari dokumen yang akan dimanipulasi
2. Melakukan perubahan tampilan halaman
CSS menawarkan metode yang kuat untuk mempengaruhi bagaimana
sebuah dokumen dapat dibuat, tetapi hal ini akan menjadi masalah bila
web browser tidak memiliki standar yang sama. jQuery dapat
menjembatani celah ini dengan menyediakan standar yang sama di semua
browser.
3. Mengubah konten dari halaman
jQuery dapat memodifikasi konten dari dokumen hanya dengan beberapa
tombol. Teks dapat diubah, gambar dapat dimasukkan, daftar dapat diatur
ulang, atau seluruh struktur HTML dapat ditulis ulang dan diperluas
dengan satu API yang mudah digunakan
4. Merespon interaksi user dengan sebuah halaman
Suatu fungsi yang rumit dan kuat sekalipun tidak berguna jika tidak dapat
dikontrol ketika digunakan. jQuery library menawarkan cara untuk
memotong kejadian-kejadian, seperti ketika user menekan tautan, tanpa
membutuhkan perubahan yang menyebabkan kekacuan pada kode
HTML dengan event handlers
5. Menambahkan animasi di halaman
Untuk mengimplementasikan perilaku yang menarik, desainer juga harus
menambahkan timbal balik secara visual kepada user. jQuery library
memfasilitasi hal ini dengan menyediakan array of effects seperti fades
and wipes, dan juga menyediakan peralatan untuk membuat efek baru
6. Menarik informasi dari server tanpa perlu memuat ulang halaman
Bentuk kode ini sering disebut Asynchronus Javascript and XML
(AJAX), dan membantu pengembang web untuk membuat website yang
responsif dan memiliki banyak fitur
13
7. Menyederhanakan tugas javascript umum
Sebagai tambahan untuk fitur spesifik dokumen dalam jQuery, library
menyediakan peningkatan terhadap javascript dasar seperti iterasi dan
manipulasi array
2.4.7 CSS (Cascading Style Sheets)
Menurut David Sawyer (2009:1), CSS adalah sebuah skrip yang
digunakan di dalam HTML yang memberikan kontrol kreatif terhadap layout
dan desain dari halaman web.
CSS dapat terintegrasi dengan HTML, namun CSS bukanlah HTML.
HTML menyediakan struktur dokumen dengan mengorganisir informasi ke
dalam header, paragraf, list, dan lainnya. Sedangkan CSS bekerja dengan web
browser untuk menjadikan HTML terlihat menarik.
2.4.8 Bootstrap
Menurut Jake Spurlock (2013:1), bootstrap adalah sebuah framework
untuk CSS dan berupa produk open source yang dibuat oleh Mark Otto dan
Jacob Thornton. Pada awalnya bootstrap ini dibuat untuk membuat standarisasi
front end untuk semua programmer di perusahaannya.
Bootstrap telah berubah dari yang sebelumnya adalah CSS-Driven
project ke sebuah host dari javascript plugins dan ikon yang dapat dengan
mudah digunakan untuk formulir dan tombol. Dasar dari bootstrap yaitu dapat
digunakan untuk desain web yang responsive dan menampilkan dengan kuat
12-kolom, 940 pixel-wide grid. Bootstrap dapat dimodifikasi sesuai dengan
kebutuhan dengan memilih antara fitur CSS dan javascript yang dapat
dimasukkan ke dalam website yang akan dibuat.
Bootstrap memiliki struktur file nya sendiri:
Gambar 2. 1 Bootstrap download terdiri dari 3 folder: css, js, dan img
14
Perbedaan dari bootstrap.css dan bootstrap.min.css adalah min
merupakan minified, dimana whitespace dan karakter tambahan telah
dihilangkan.
2.4.9 AES (Advanced Encryption System)
Menurut Carlos Cid, dkk (2006: 1), AES adalah sebuah bentuk enkripsi
yang dapat digunakan untuk mengekrip data yang ada di dalam database. AES
sebelumnya digunakan untuk menggantikan Data Encryption Standard (DES).
Fitur dari AES adalah:
1. 128 block chiper dengan 3 pilihan ukuran key: 128, 192, dan 256 bits.
2. Desain yang fleksibel
3. Minimal dapat mengamankan two-key, triple-DES
4. Open source
2.4.10 XAMPP
Menurut John Valade (2011: 87), XAMPP adalah suatu perangkat lunak
serba guna yang digunakan untuk melakukan instalasi apache, MySQL, dan
PHP di dalam satu prosedur. XAMPP juga dapat melakukan instalasi
phpMyAdmin, suatu aplikasi berbasis web yang digunakan untuk melakukan
administrasi ke MySQL database. XAMPP dapat dijalankan di sistem operasi
Windows maupun Linux.
2.4.11 Eight Golden Rules
Menurut Shneiderman (2010:88-89), ada delapan peraturan yang
digunakan dalam merancang suatu user interface. Delapan peraturan tersebut
disebut sebagai Eight Golden Rules of Interface Design. Berikut adalah delapan
aturan emas oleh Shneiderman:
1. Strive for Consistency
Urutan yang konsisten harus ada dalam website. Terminologi yang mirip
harus digunakan di dalam tindakan, menu, dan layar bantuan
2. Cater to universal usability
Mengenali kebutuhan oleh user yang beragam dan desain yang elastis,
memfasilitasi perubahan dari konten. Memberikan fitur-fitur bantuan
15
kepada pengguna baru dan fitur-fitur yang memudahkan pengguna ahli
dapat menaikkan kualitas sistem
3. Offer informative feedback
Setiap aksi dari pengguna, akan harus ada umpan balik dari sistem.
Untuk aksi yang sering digunakan, umpan balik yang diberikan cukup
sederhana, untuk aksi yang bersifat besar dan jarang digunakan, respon
yang diberikan haruslah jelas juga.
4. Design dialogs to yield closure
Tindakan dalam sistem sebaiknya diurutkan dalam tahapan tertentu, yaitu
awal, pertengahan, dan akhir. Umpan balik yang informatif akan
memberikan kepuasan dan rasa nyaman kepada penggunanya.
5. Prevent errors
Usahakan untuk mendesain sistem agar user tidak dapat melakukan
kesalahan secara fatal. Jika terjadi kesalahan, sistem harus dapat
mendeteksi kesalahan tersebut dan menawarkan penanganan yang mudah
untuk menanganinya
6. Permit easy reversal of actions
Fitur ini dapat melegakan rasa cemas ketika user melakukan kesalahan,
karena pengguna mengetahui bahwa kesalahan yang dilakukan tersebut
dapat dibatalkan
7. Support internal locus control
Dalam menggunakan suatu sistem, user ingin menjadi pemegang kendali
dalam sistem tersebut, dan sistem merespon kembali terhadap apa yang
user lakukan. Desain sistem untuk membuat user menjadi initiator
daripada responder
8. Reduce short term memory load
Limitasi proses informasi manusia di dalam ingatan jangka pendek
membutuhkan sistem untuk tetap sederhana dan informatif, serta waktu
pembelajaran untuk sistem baru harus dapat berlangsung secara cepat.
2.4.12 Lima Faktor Manusia Terukur
Menurut Shneiderman (2010:32), faktor-faktor yang harus diperhatikan
dalam merancang user interface antara lain:
1. Time to learn
16
Lamanya waktu yang diperlukan oleh user untuk mempelajari cara
menggunakan aksi-aksi yang relevan dalam mengerjakan suatu tugas
2. Speed of performance
Lamanya waktu yang dibutuhkan dalam mengerjakan suatu tugas
3. Rate of errors by users
Seberapa banyak dan tipe kesalahan apa saja yang dibuat oleh user ketika
mengerjakan suatu tugas
4. Retention over time
Seberapa baik pengguna mempertahankan pengetahuan dalam jangka
waktu tertentu
5. Subjective satisfaction
Menyatakan besaran kepuasan user terhadap aspek-aspek yang ada di
dalam interface pada saat penggunaan aplikasi
2.4. Database
Menurut Connolly & Begg (2015:15), database adalah suatu kumpulan
dari data yang memiliki hubungan secara logis, pengertian data tersebut dan
dirancang untuk memenuhi kebutuhan dari suatu organisasi.
2.4.1 DBMS (Database Management System)
Menurut Connolly and Begg (2015: 64), Database Management System
(DBMS) adalah sebuah kumpulan program perangkat lunak yang rumit yang
mengontrol organisasi, tempat penyimpanan, manajemen, dan sistem
pengambilan data dari database. Sistem database adalah salah satu dari kunci
di belakang setiap perubahan bisnis.
Database Management System perlu efisiensi di permasalahan
penyimpanan dan kecepatan. Database system perlu untuk mencapai
kemampuan maksimal melalui penyimpanan yang efisien dan teknik
pengambilan data.
Menurut Kaladi & Ponnusamy (2012: 67) terdapat 4 faktor yang
mempengaruhi performa DBMS:
1. Response time
Didefinisikan sebagai interval waktu dari perintah input sampai balasan
sistem muncul
17
2. Throughput
Keseluruhan kapabilitas komputer untuk memproses data
3. Resources
Termasuk di dalamnya memory, kecepatan disk, cache controller, dsb
4. Memory
Total space yang diperlukan oleh query untuk menyelesaikan
eksekusinya
2.4.2 Keuntungan DBMS
Menurut Connoly & Begg (2015: 75-78), keuntungan menggunakan
DBMS adalah:
1. Control of data redundancy
DBMS dapat menghilangkan redundansi dengan cara mengintegrasikan
data tersebut sehingga beberapa salinan dari data yang sama tidak akan
tersimpan.
2. Data Consistency
Tingkat kemunculan inkonsistensi dapat diturunkan dengan mengeliminasi
atau mengontrol redundansi. Jika suatu data disimpan hanya sekali dalam
database, semua update ke dalam nilai tersebut harus dilakukan sekali dan
jika nilai tersebut tersedia secara langsung ke semua pengguna.
3. More information from the same amount of data
Dengan integrasi ke data operasional, maka memungkinkan untuk suatu
organisasi untuk memperoleh informasi tambahan dari data yang sama.
4. Sharing of data
Ada kemungkinan bahwa suatu data dapat digunakan di banyak aplikasi
oleh banyak pengguna sekaligus. Dengan adanya DBMS maka data
tersebut dapat digunakan oleh berbagai macam aplikasi dan pengguna
yang berbeda.
5. Improved data integrity
Integritas database merujuk kepada validitas dan konsistensi dari data
yang tersimpan. Integritas biasanya diekspresikan di dalam istilah
constraints, yaitu aturan konsistensi tidak dapat dilanggar. Constraints
dapat diterapkan untuk data di dalam single record maupun ke dalam relasi
dari beberapa records.
18
6. Improved Security
Keamanan database adalah suatu perlindungan untuk database dari
pengguna yang tidak memiliki otoritas untuk mengaksesnya.
7. Enforcement of standard
Pengintegrasian dapat mengizinkan Database Administrators (DBA) untuk
menetapkan dan DBMS untuk melaksanakan standar tersebut.
8. Economy of scale
Mengkombinasikan berbagai macam data operasional organisasi ke dalam
satu database dan membuat suatu set aplikasi yang bekerja di dalam suatu
sumber data dapat menghasilkan penghematan biaya.
9. Balance of conflicting requirements
Setiap pengguna atau departemen memiliki kebutuhan yang dapat
menyebabkan konflik dengan kebutuhan pengguna lainnya.
10. Improved data accessibility and responsiveness
Sebagai hasil dalam pengintegrasian data, data yang melewati batasan
departemen dapat diakses secara langsung.
11. Increased Productivity
DBMS menyediakan banyak fungsi-fungsi standar yang para programmer
biasanya harus menulis dalam bentuk aplikasi file based. Banyak DBMS
juga menyediakan lingkungan generasi ke-4, dimana terdapat berbagai
macam peralatan untuk mempermudah pengembangan aplikasi database.
12. Improved maintenance through data independence
DBMS memisahkan deskripsi data dari aplikasi, sehingga menjadikan
aplikasi tersebut kebal terhadap perubahan dari deskripsi data. Hal tersebut
juga disebut Data Independence.
13. Increased concurrency
DBMS mengatur akses concurrent database dan memastikan bahwa
permasalahan seperti interferensi akses tidak dapat terjadi.
14. Improved backup and recovery services
DBMS menyediakan fasilitas untuk meminimalisir jumlah proses yang
hilang ketika terjadi kegagalan.
19 2.4.3 Entity Relationship Diagram
Menurut Connolly dan Begg (2015:405) entity relationship modeling
adalah model yang dapat digunakan untuk memberikan pengertian mengenai
data yang akan digunakan oleh suatu perusahaan. Dalam perancangan basis
data, entity relationship modeling adalah pendekatan top-down dimana
perancangan dimulai dengan mengidentifikasi data penting yang disebut entitas
dan hubungan antara data yang harus direperesentasilcan ke dalam model.
2.4.3.1 Tipe Entitas
Menurut Connolly dan Begg (2015:406) tipe entitas adalah sekelompok
objek dengan sifat yang sama, yang diidentifikasikan oleh suatu perusahaan.
Terdapat dua entitas, yakni:
1. Strong Entity
Tipe strong entity adalah entitas yang keberadaannya tidak bergantung
pada tipe entitas lain (Connolly dan Begg, 2015:p417).
2. Weak Entity
Tipe weak entity adalah tipe entitas yang keberadaannya bergantung pada
tipe entitas lain (Connolly dan Begg, 2015:p417).
2.4.3.2 Tipe Relasi
Menurut Connolly dan Begg (2015:p408) tipe relasi adalah hubungan
antara satu atau lebih entitas. Sedangkan relationship occurrence adalah
hubungan unik yang meliputi suatu kejadian antara entitas yang ada.
2.4.3.3 Atribut
Menurut Connolly dan Begg (2015:p413) atribut adalah properti dari
suatu entitas atau tipe relasi. Atribut dapat dibagi meniadi simple atau
composite, single value atau multi-valued, atau derived.
2.4.3.4 Keys
Menurut Connolly dan Begg (2015:p415) candidate key adalah satu set
minimal atribut yang hanya mengidentifikasikan secara unik untuk setiap
kejadian pada suatu entitas. Primary key adalah candidate key yang dipilih
untuk mengidentifikasikan kejadian unik. Composite key adalah candidate key
20
yang terdiri dari dua atau lebih atribut. Alternate key adalah candidate key yang
tidak dipilih menjadi primary key.
2.4.3.5 Structural Constraint
Constraint harus menggambarkan pembatasan di dalam hubungan
seperti dunia nyata. Tipe utama constraint dinamakan multiplicity. (Connolly
dan Begg, 2015:p419).
2.4.3.5.1 Multiplicity
Menurut Connolly dan Begg (2015:p419) multiplicity adalah
kemungkinan kejadian dari suatu entitas yang berhubungan dengan kejadian
tunggal dari tipe entitas melalui hubungan tertentu. Derajat yang paling umum
pada suatu hubungan adalah biner. Hubungan biner terdiri dari:
1. One-to-One (1:1) Relationships
Gambar 2. 2 One-to-One Relationships
Pada gambar 2.2 dilihat bahwa SG5 hanya terhubung one-to-one dengan
B003, dan SL21 hanva terhubung, one-to-one dengan B005. (Connolly dan
Begg, 2015:p420) Berdasarkan gambar di atas dapat dibuat multiplicity seperti
pada gambar 2.3
21
Gambar 2. 3 Multiplicity Relationships One-to-One
2. One-to-Many (1:*) Relationships
Gambar 2. 4 One-to-Many Relationships
Pada gambar 2.4 dapat dilihat bahwa SG37 terhubung. one-to-many
(1:*) dengan PG21 dan PG36. Berdasarkan dari gambar tersebut dapat di
tulis multiplicity seperti pada gambar 2.5. (Connolly dan Begg, 2015:p421) .
22
Gambar 2. 5 Multiplicity Relationships One-to-Many
3. Many-to-Many (*:*) Relationships
Gambar 2. 6 Many-to-Many Relationships
Pada gambar 2.6 dapat dilihat bahwa Glasglow Daily terhubung many-to-
many (*:*) dengan PG21 dan PG36, begitu juga dengan PG36 yang terhubung
many-to-many (*:*) dengan Glasglow Daily dan The West News. Berdasarkan
dari gambar tesebut dapat ditulis multiplicity seperti pada gambar 2.7.
(Connolly dan Begg, 2015:p422)
23
Gambar 2. 7 Multiplicity Relationships Many-to-Many
2.4.4 MySQL
Menurut Angela Carson (2009:36), MySQL adalah sebuah sistem
manajemen basis data yang memiliki relasi satu sama lain dan dikembangkan
dan didistribusikan oleh perusahaan pembuatnya, MySQL AB. MySQL juga
digunakan sebagai basis data yang terintegrasi untuk berbagai macam aplikasi
yang berjalan di hampir semua arsitektur platform.
2.5. UML (Unified Modelling Diagram)
Menurut Whitten dan Bentley (2007: 371), Unified Modelling Language
(UML) adalah sekumpulan kesepakatan yang digunakan untuk
mendeskripsikan sistem perangkat lunak yang berkaitan dengan obyek.
2.5.1. Use Case Diagram
Menurut Whitten & Bentley (2007: 246-250, 382), use case diagram
adalah sebuah diagram yang menggambarkan interaksi antara sistem, eksternal
sistem, dan user. Komponen-komponen yang ada dalam use case diagram
adalah:
1. Use Cases
Mengidentifikasi dan mendeskripsikan fungsi dari sistem. Use case
direpresentasikan secara grafis dengan bentuk elips horizontal dengan
nama use case tersebut terletak di atas, bawah, atau di dalam elips
tersebut. Sebuah use case menggambarkan sebuah goal dari sistem dan
mendeskripsikan urutan dari aktivitas.
24
Gambar 2. 8 Contoh Penggunaan Use Case dalam Use-Case Diagram
2. Actors
Sebuah use case dapat berjalan karena adanya aksi dari external users
yang disebut actors. Actor merepresentasikan sebuah peran yang diisi
oleh seorang user yang berinteraksi dengan sistem. Actor tidak harus
manusia, namun dapat berupa organisasi, sistem informasi lain, dan
external device.
Gambar 2. 9 Simbol actor dalam use case diagram
Aktor dibagi ke dalam 4 tipe:
• Primary Business Actor
Seorang stakeholder yang mendapatkan keuntungan ketika use case
berjalan dengan menerima sesuatu yang dapat diukur atau memiliki
value. Actor ini dapat tidak memulai business event.
• Primary System Actor
25
Stakeholder yang secara langsung berinteraksi dengan sistem untuk
memulai bisnis atau sistem event
• External Server Actor
Stakeholder yang merespon terhadap permintaan dari use case
• External Receiver Actor
Stakeholder yang bukan merupakan primary actor, namun dapat
menerima sesuatu sebagai tolak ukur dari use case
3. Relationships
Relationship digambarkan sebagai garis antara 2 simbol dalam use
case diagram. Penggambaran dari relationship sendiri berbeda-beda
sesuai dengan bagaimana garis tersebut digambar dan tipe simbol apa
saja terkoneksi.
Berikut ini adalah perbedaan relasi yang terdapat di dalam use case
diagram:
• Association
Hubungan antara seorang actor dengan sebuah use case yang
muncul ketika ada interaksi di antara keduanya disebut association.
Hubungan ini digambarkan dengan sebuah garis lurus yang solid.
Gambar 2. 10 Association
• Extends
Untuk mempermudah pembuatan use case yang dikarenakan
adanya tahapan yang rumit, maka tahapan yang rumit tersebut
dapat dipisahkan menjadi suatu use case. Use case ini disebut
extention use case. Hubungan antara extension use case dan use
case yang diekstensi tersebut disebut extends relationship. Setiap
garis penghubung extended relationship menggunakan panah yang
26
menunjuk ke use case yang diekstensi dan diberikan label
<<extends>>.
Gambar 2. 11 Extension Use Case
• Uses or Includes
Beberapa use case dapat melakukan beberapa langkah dalam fungsi
yang identik. Maka dari itu, tahapan ini dapat dipisahkan ke dalam
use case tersendiri yang disebut abstract use case untuk
mengurangi redundansi antara use cases. Abstract use case dapat
digunakan oleh use case lain yang membutuhkan fungsi tersebut.
Hubungan antara abstract use case dan use case yang
menggunakan abstract use case disebut uses atau includes
relationship. Garis penghubung antara kedua use case tersebut
menggunakan panah di salah satu ujung yang menunjuk ke abstract
use case dan diberi label <<uses>> atau <<includes>>.
Gambar 2. 12 Contoh Uses
27
• Depends on
Beberapa use case memiliki dependensi terhadap use case lainnya,
dengan kata lain suatu use case hanya dapat berjalan jika ada use
case lain yang sudah dijalankan. Depends on relationship
digambarkan dengan panah dari use case ke use case
dependensinya, dan dilabeli dengan <<depends on>>
Gambar 2. 13 Contoh Depends on
• Inheritance
Ketika terdapat dua atau lebih actor melakukan hal yang sama,
dapat dilakukan pembagian actor ke dalam sebuah abstract actor
yang baru sehingga mengurangi komunikasi yang bersifat redundan
dalam sistem. Kedua atau lebih actor tersebut kemudian menjadi
turunan dari abstract actor, dengan actor turunannya disebut
inheritance relationship. Relasi ini digambarkan dengan garis
berpanah yang menunjuk ke abstract actor.
28
Gambar 2. 14 Contoh penerapan inheritance
Use case narrative adalah deskripsi yang berbentuk teks tentang
event business dan bagaimana user dapat berinteraksi dengan sistem
untuk menyelesaikan tugas-tugasnya.
Terdapat 2 jenis tingkatan use case narrative:
• High Level Use Case Narrative
High Level Use Case Narrative digunakan untuk menjelaskan use-
case dengan menggunakan elemen-elemen berikut:
o Pengarang : Nama dari seseorang yang berkontribusi
terhadap penulisan use case
o Tanggal : tanggal ketika use case terakhir dimodifikasi
o Versi : versi terakhir dari use case
o Nama use case : merepresentasikan tujuan yang ingin dicapai
dari use case
o Tipe use case : lebih mengarah ke arah business oriented dan
merefleksikan high-level view dari hal yang
diinginkan dari sistem
o Use case ID : identitas unik yang digunakan untuk
mengidentifikasi use case
o Prioritas : mengkomunikasikan kepentingan use case
dalam tingkatan high, medium, atau low
o Sumber : entitas yang memicu terbentuknya use case
29
o Primary Business Actor : stakeholder yang paling banyak
mendapatkan keuntungan dari use
case tersebut
o Other Participating Actors : actor lain yang ikut berpartisipasi
di dalam use case untuk mencapai
tujuan, termasuk didalamnya
initiating actors, facilitating actors,
dan secondary actors
o Interested Stakeholder : orang-orang yang memiliki
ketertarikan di dalam
pengembangan dan pengoperasian
sistem perangkat lunak
o Description : deskripsi rangkuman singkat yang
berisi beberapa kalimat yang
menjelaskan tujuan dari use case
dan aktivitasnya
Gambar 2. 15 Contoh high-level use case narrative
30
• Expanded Use-case Narrative
Merupakan pengembangan dari High-Level Use Case Narrative
dengan penambahan elemen sebagai berikut:
o Precondition : suatu batasan dari sistem sebelum use case
dapat dijalankan
o Trigger : suatu keadaan yang dapat memicu adanya
eksekusi dari use case
o Typical Course of Events : urutan aktivitas yang dilakukan oleh
actor(s) dan aktivitas yang dilakukan oleh
sistem dalam merespon interaksi tersebut
o Alternate Courses : menjelaskan hal yang dapat terjadi jika suatu
pengecualian atau variasi dari kejadian tertentu
terjadi
o Conclusion : menjelaskan ketika use case telah selesai
o Postcondition : suatu keadaan setelah use case berhasil
dilakukan
o Business rules : menjelaskan aturan dan prosedur dari bisnis
yang harus diikuti oleh sistem
o Implementation Constraints and Specifications : menjelaskan
semua kebutuhan non fungsional yang dapat
berdampak pada realisasi dari use case
o Assumptions : semua asumsi yang digunakan oleh pembuat
ketika membuat use case
o Open Issues : semua bentuk pertanyaan yang dibutuhkan
untuk menyelesaikan atau menginsvestigasi
sebelum use case dapat difinalisasi
31
Gambar 2. 16 Contoh Extention Narrative Use Case
2.5.2. Activity Diagram
Menurut Conolly & Begg (2015:p824), activity diagram adalah bentuk
dari alur kontrol dari satu aktivitas ke aktivitas lainnya. Sebuah activity
diagram merepresentasikan detil dari operasi dari sebuah proses bisnis atau
keseluruhan proses bisnis yang terdiri dari activity state dan transisi di
antaranya. Diagram tersebut menunjukkan alur kontrol dan cabang yang dapat
digunakan untuk menspesifikasikan jalan alternatif dari transisi. Alur yang
berjalan secara bersamaan dapat direpresentasikan dengan fork dan join
construct. Swimlanes dapat digunakan untuk membedakan area yang terpisah.
32
Tabel 2. 1 Simbol Activity
Simbol Nama Penjelasan
States Melambangkan proses suatu
aktivitas
Transition Melambangkan alur dari suatu
aktivitas ke aktivitas lainnya
Initial State
Melambangkan awal
mulainya suatu activity
diagram
Final State Melambangkan akhir suatu
activity diagram
Branches Melambangkan alternatif dari
suatu aktivitas
Fork
Melambangkan
penggabungan aktivitas yang
berjalan secara bersamaan
2.6. Data Flow Diagram
Menurut Whitten & Bentley (2007:317-325), data flow diagram adalah
sebuah alat yang digunakan untuk menggambarkan alur data yang melewati
sistem dan proses yang dilakukan oleh sistem.
Hanya ada 3 simbol dan 1 koneksi dalam pembuatan data flow diagram:
33
1. Rounded Rectangle : merepresentasikan proses atau pekerjaan
yang harus dilakukan
2. Squares : external agent atau batasan dari sistem
3. Open Ended Boxes : merepresentasikan datastores atau database
4. Arrow : menggambarkan alur dari data, atau input dan
output, ke mana dan dari mana proses tersebut
berjalan
Tabel 2. 2 Elemen dari data flow diagram
Proses
External agent
datastores
Alur data
Data flow diagram merupakan salah satu bentuk process modelling.
Berikut ini merupakan konsep sistem dari process modelling:
1. External agents
Semua sistem informasi merespon ke dalam suatu event dan kondisi di
lingkungan sistem. Lingkungan tersebut termasuk diantaranya external
agents yang membentuk batasan dari sistem dan mendefinisikan tempat
dari antarmuka sistem dengan lingkungannya. External agents
mendefinisikan orang, organisasi, sistem lain, atau organisasi lain yang
berada di luar scope, namun berinteraksi dengan sistem yang ada
2. Datastores
Sebagian besar sistem informasi akan disimpan untuk digunakan nanti.
Data tersebut akan disimpan di dalam datastores, yang merupakan
symbol terakhir dari data flow diagram. Datastores merupakan wadah
penyimpanan untuk data. Jika data flow disebut data yang bergerak,
maka datastores merupakan data yang sedang beristirahat. Secara ideal,
datastores sebaiknya mendeskripsikan ‘benda’ tersebut yang akan
disimpan
34
3. Process Concepts
Sistem informasi memproses respon ke kondisi bisnis dan perubahan data
ke dalam informasi yang berguna. Modelling process membantu untuk
memahami interaksi dengan lingkungan sistem, sistem lain, dan proses
lainnya
4. Data flows
Proses melakukan respon terhadap input dan menghasilkan output, maka
secara paling tidak semua proses akan menghasilkan 1 input dan 1 output
data flow. Data flow merupakan komunikasi antara proses dan
lingkungan sistem. Data flow merupakan data yang bergerak.
Data flow diagram dibagi menjadi 3 tingkatan:
1. Diagram Level Konteks
Menggambarkan hubungan interaksi antara sistem dengan sistem lainnya
dan bisnis secara keseluruhan. Diagram level konteks terdiri dari satu dan
hanya satu proses.
2. Diagram Level-0 DFD
Menggambarkan diagram yang telah dibagi menjadi sub-sistem yang
saling terhubung dengan satu atau lebih data yang mengalir ke atau dari
sebuah external agent
3. Diagram Level-1 sampai Level-n DFD
Menggambarkan penguraian diagram level-0 secara lebih detil. Jika
diperlukan, maka diagram level-1 dapat diuraikan lagi menjadi diagram
level-2, level-3, dan seterusnya hingga detil yang diinginkan didapat.
2.7 LDAP (Lightweight Directory Access Protocol)
Menurut Steven Tuttle, dkk (2006: 3), LDAP mendefinisikan sebuah
pesan protokol yang digunakan oleh klien direktori dan server direktori.
Protokol LDAP menggunakan pesan yang berbeda. LDAP adalah sebuah
standar industri terbuka yang mendefinisikan metode standar untuk mengakses
dan memperbarui informasi di sebuah direktori. LDAP telah mendapatkan
penerimaan sebagai metode akses direktori internet, dan juga menjadi strategi
dalam intranet perusahaan. LDAP mendefinisikan protokol komunikasi,
sehingga data yang ada di LDAP dapat diambil melalui protokol tersebut.
35 2.7.1 Direktori
Menurut Steven Tuttle (2006: 5), direktori adalah daftar dari informasi
tentang obyek yang disusun di beberapa urutan yang memberikan detil tentang
obyek lain. Di dalam konteks komputer, direktori adalah database yang
terspesialisasi, juga disebut data repository, yang menyimpan informasi yang
bertipe dan berurut mengenai suatu obyek.
Direktori mengizinkan pengguna atau aplikasi untuk mencari sumber
daya yang memiliki karakteristik yang dibutuhkan untuk pekerjaan tertentu.
2.7.2 Direktori vs Database
Menurut Steven Tuttle (2006: 5), direktori sering juga dideskripsikan
sebagai database, namun lebih tepatnya adalah database terspesialisasi yang
memiliki karakteristik yang menjadikannya berbeda dari database yang
memiliki tujuan secara umum.
2.8 Rapid Application Development (RAD)
Menurut Jeremy Reece (2006), Rapid Application Development adalah
metodologi lengkap yang mencakup pengembangan sistem dari kebutuhan
bisnis ke dalam pengembangan yang sedang berjalan. RAD bersifat terbuka
dan dapat diterapkan ke dalam proyek individu, maupun filosofi organisasi.
Pengembangan RAD lebih bersifat prototyping, sehingga hasil akhir aplikasi
tidak berubah terlalu banyak dari perencanaan yang telah dibuat sebelumnya.
Tujuan dari Rapid Application Development adalah:
1. Membuat sistem yang memiliki kualitas baik
2. Pengembangan dan penyampaian sistem yang cepat
3. Menggunakan biaya yang sedikit
Berikut ini adalah fase Rapid Application Development menurut James
Martin:
36
Gambar 2. 17 RAD Phases
1. Requirement/Planning
Menggabungkan elemen dari perencanaan sistem dan analisis
sistem dari System Development Life Cycle. User, manager, dan
member mendiskusikan tentang kebutuhan bisnis, ruang lingkup
proyek, batasan-batasan, dan kebutuhan sistem
2. User Design Phase
User berinteraksi dengan system analist untuk melakukan desain
terhadap proses sistem, input, dan output. User Design terus
dilakukan agar user dapat mengerti, mengubah, dan menyetujui
model kerja dari sistem yang akan dibuat
3. Construction Phase
Fokus ke dalam pengembangan program dan aplikasi. User tetap
dapat berpartisipasi dan menyarankan perubahan atau peningkatan.
Dalam fase ini dilakukan proses pengembangan, coding, unit-
integration, dan system testing
4. Cutover Phase
Menggambarkan tugas akhir dari fase ini, termasuk didalamnya
konversi data, testing, perubahan ke dalam sistem baru, dan
pelatihan user.
Menurut Mone (2015:484), seorang pengembang aplikasi akan lebih
cocok menggunakan RAD dibandingkan metodologi lain jika:
1. Pengembangan software harus cepat
2. Penyelesaian pengembangan diharapkan selesai dalam hanya 60-90 hari
37
3. Fungsi-fungsi utama dapat dialamatkan atau ditangani oleh beberapa tim
yang terpisah
4. Kecepatan pengembangan lebih dipentingkan daripada biaya
5. Kekurangan orang yang ahli di bidang yang dibutuhkan
2.9 Testing
Menurut Burd, Jackson, &Satzinger (2012, p411) testing adalah proses
pengecekan suatu komponen, subsistem, atau sistem untuk menentukan
karakteristik operasional dan apakah sistem tersebut terdapat kesalahan atau
tidak.
Menurut Mills & Watkins (2011, p12) Mengatakan ada 2 pengertian dari
testing secara formal yaitu:
1. Testing adalah semua aktifitas yang ditujukan untuk mengevaluasi sebuah
atribut atau kapabilitas dalam sebuah program atau sistem dan menentukan
apakah sistem tersebut telah memenuhi hasil yang diinginkan.
2. Testing adalah proses menjalankan sebuah program atau sistem dengan
maksud mencari kesalahan.
2.9.1 Granularity Test
Menurut Black (2009, p2), test granularity mengacu pada kehalusan atau
kekasaran fokus tes. Test case yang halus mengijinkan tester untuk memeriksa
detil pada tingkat rendah, biasa pada internal sistem. Test case yang kasar
memberikan informasi tentang perilaku sistem secara umum kepada tester.
2.9.2 Structural
Menurut Black (2009 :p2), Structural test (atau yang biasa disebut white-
box tests dan glass-box tests) adalah test untuk menemukan bug dalam elemen
struktur tingkat rendah seperti yang terjadi di tingkatan kode , database
schema, chips, subassemblies dan interfaces. Pengujian struktural ini
didasarkan pada bagaimana suatu sistem beroperasi. Contohnya, pengujian
struktural akan mengungkapkan tempat penyimpanan database masih memiliki
ruang penyimpanan username sebanyak 80 karakter, tetapi pada kenyataannya
hanya memungkinkan menyimpan 40 karakter. 27 Pengujian struktural
melibatkan pengetahuan teknis terperinci dari sistem. Untuk menguji software,
38
tester membuat pengujian yang paling struktural dengan melihat kode dan
struktur data itu sendiri. Untuk pengujian hardware, tester membuat pengujian
struktural untuk membandingkan spesifikasi chip untuk pembacaan
oscilloscopes atau meter tegangan.
2.9.3 Acceptance Testing
Menurut Black (2009, p601) Acceptance testing adalah sebuah fase
pengujian software dan hardware yang dirancang untuk menjunjukan bahwa
sistem yang diuji telah memenuhi seluruh kebutuhan dan persyaratan yang
telah dibuat. Fase ini bertujuan untuk membangun kepercayaan dalam kualitas
software.