Post on 09-Mar-2019
11
BAB 2
TINJAUAN PUSTAKA
2.1. Pengertian Jaringan
Menurut Forouzan (2007, p. 7), Jaringan adalah serangkaian kumpulan alat
(sering disebut node) yang terhubung oleh link komunikasi. Node dapat berupa
komputer, printer atau beberapa device lainnya yang terhubung dengan jaringan yang
mampu mengirim dan menerima data yang dihasilkan oleh node lainnya pada
jaringan.
Sebuah jaringan harus dapat memenuhi sejumlah kriteria. Kriteria yang
terpenting adalah terdiri dari performa, kehandalan, dan keamanan (Forouzan, 2007,
pp. 7-8).
• Performa
Performa dapat diukur dengan berbagai cara, termasuk waktu transit
dan waktu respon. Waktu transit adalah jumlah waktu yang diperlukan untuk
sebuah pesan dikirim dari satu device ke device lain. Waktu respon adalah
waktu yang berlangsung antara pemeriksaan informasi dan respon.
Performa sebuah jaringan bergantung pada sejumlah faktor, termasuk
jumlah pengguna, jenis media transmisi, kemampuan hardware yang
terhubung, dan efisiensi software.
• Kehandalan
Selain pengiriman akurasi, kehandalan jaringan diukur berdasarkan
frekuensi kegagalan, waktu yang dibutuhkan sebuah link untuk pulih dari
kegagalan, dan ketahanan jaringan dalam bencana.
• Keamanan
Masalah-masalah keamanan jaringan termasuk melindungi data dari
akses yang tidak sah, melindungi data dari kerusakan, dan pelaksanaan
kebijakan dan prosedur untuk pemulihan dari pelanggaran dan kehilangan
data.
Sebuah jaringan pada awalnya hanyalah berskala kecil yaitu biasanya dengan
teknologi Local Area Network (LAN), yang umumnya hanya dibatasi oleh area
12
lingkungan seperti perkantoran disebuah gedung. Kemudian berkembang menjadi
lingkup area yang luas dengan teknologi Metropolitan Area Network (MAN)
misalnya untuk antar wilayah dan Wide Area Network (WAN) untuk antar negara,
sehingga pengguna pada daerah geografis yang luas dapat dihubungkan.
Internet merupakan suatu jaringan komputer raksasa yakni terdiri dari jutaan
LAN, MAN dan WAN yang terhubung dan dapat saling berinteraksi. Hal ini dapat
terjadi karena adanya perkembangan teknologi jaringan yang sangat pesat, sehingga
dalam beberapa tahun saja jumlah pengguna jaringan komputer yang tergabung
dalam internet berlipat ganda, karena dengan internet para pengguna dapat
melakukan komunikasi tanpa adanya batasan geografis. Macam - Macam Jaringan:
2.1.1. Local Area Network (LAN)
Menurut Casad dan Newland (1997, p. 32), Local Area Network
(LAN) adalah sekelompok komputer dan jaringan perangkat komunikasi
yang saling terhubung dalam wilayah geografis terbatas, seperti sebuah
gedung atau kampus. LAN ditandai oleh berikut:
• Mentransfer data dengan kecepatan tinggi.
• Ada dalam wilayah geografis yang terbatas.
• Umumnya lebih murah.
2.1.2. Wide Area Network (WAN)
Wide Area Network (WAN) merupakan jaringan komputer jarak jauh
untuk transmisi data, gambar, audio, dan informasi video melalui area
geografis yang besar yang mungkin terdiri dari suatu negara, sebuah benua,
atau bahkan seluruh dunia. (Forouzan, 2007, p. 14).
Menurut Casad dan Newland (1997, pp. 32-33) WAN ditandai oleh berikut:
• Ada dalam suatu wilayah geografis yang luas.
• Lebih rentan terhadap kesalahan karena jarak perjalanan data.
• Interkoneksi dari beberapa LAN.
• Lebih canggih dan kompleks daripada LAN.
• Teknologinya mahal.
13
2.1.3. Metropolitan Area Network (MAN)
Menurut Forouzan (2007, p. 15), Metropolitan Area Network (MAN)
adalah jaringan dengan ukuran berada diantara LAN dan WAN. MAN dapat
mencakup kantor-kantor perusahaan yang letaknya berdekatan atau juga
antar kota dan dapat dimanfaatkan untuk keperluan pribadi (swasta) atau
umum.
MAN mampu menunjang data dan suara, bahkan dapat berhubungan
dengan jaringan televisi kabel. MAN adalah satu rangkaian komputer yang
disambungkan antara satu sama lain pada kedudukan geografi yang luas,
gabungan LAN dan WAN pada satu lokasi kepada satu LAN dan WAN pada
lokasi yang lain dengan penyambungan kepada backbone yang
dijalankan oleh standar telekomunikasi
2.2. System Development Life Cycle (SDLC)
Menurut Satzinger, Jackson, dan Burd (2012, p. 6), System Development Life
Cycle (SDLC) adalah segala proses yang berisikan aktivitas yang diperlukan untuk
pembuatan, penyebaran dan permeliharaan dalam sistem informasi. Semua aktivitas
yang menjadi bagian dari analisa sistem, desain, programming, testing dan
pemeliharaan sistem serta proses project management lain yang diperlukan untuk
membangun sistem informasi biasanya tergabung ke dalam SDLC.
Siklus hidup pengembangan sistem terdiri dari berbagai 6 proses inti yakni:
1. Identifikasi masalah
2. Perencanaan project
3. Menemukan masalah
4. Mendesain komponen sistem yang dibutuhkan
5. Membangun, menguji, dan mengintegrasi komponen sistem
6. Menyelesaikan pengujian sistem lalu mengimplementasikan solusi
Dalam 10 tahun terakhir beberapa proses pengembangan sistem informasi telah
dikembangkan untuk menjamin kesuksesan project. Salah satu yang efektif adalah
Agile Development.
14
2.2.1. Agile Development
Menurut Satzinger, Jackson, dan Burd (2012, p. 244), Metode
pengembangan agile adalah sebuah metodologi pengembangan perangkat
lunak yang didasarkan pada pengembangan sistem yang memerlukan adaptasi
cepat dari pengembang terhadap perubahan bentuk apapun.
Metode pengembangan agile terdefinisi dalam 4 nilai:
1. Respon terhadap perubahan lebih penting daripada mengikuti
rencana.
2. Interaksi lebih penting dari pada proses dan alat.
3. Perangkat lunak yang berfungsi lebih penting daripada
dokumentasi yang lengkap.
4. Kolaborasi dengan klien lebih penting dari pada negosiasi kontrak.
2.2.1.1. Scrum
Menurut Satzinger, Jackson, dan Burd (2012, p. 454), Scrum sangat
responsif terhadap keadaan yang berubah-ubah dan dinamis dimana
pengguna tidak tahu pasti apa yang diperlukan. Dalam keadaan ini,
perubahan sering terjadi sehingga proyek sering kali terbengkalai dan
tidak dapat diselesaikan. Scrum unggul dalam keadaan seperti ini.
Scrum memiliki fokus utama dalam hal team level. Scrum merupakan
jenis social engineering yang lebih menekankan ke individu daripada
proses dan juga menjelaskan bagaimana tim pengembang dapat bekerja
sama untuk membuat perangkat lunak dalam serangkaian proyek.
Terdapat tiga elemen atau peran utama yang mempengaruhi scrum
adalah:
- Product owner: Klien yang sedang dibuatkan sistemnya.
- Scrum master: Orang yang bertanggung jawab dengan proyek
sedang berjalan.
- Scrum team: Tim kecil yang bekerja sama untuk membuat
software.
15
Gambar 2.1. Proses Pengembangan Scrum (Sumber : Satzinger, Jackson & Burd, SYSTEMS ANALYSIS AND
DESIGN IN A CHANGING WORLD 6th Edition,2012:p455)
Mekanisme dasar untuk sebuah proyek yang menggunakan scrum
harus mempunyai daftar semua hal yang sistem harus ada. Daftar ini
disebut product backlog yang didalamnya terdapat fungsi – fungsi
pengguna seperti use case dan fitur – fitur yang akan ada.
Proses kerja dasar disebut sprint. Sebuah scrum sprint mempunyai 30
hari kerja yang diberi nama time box, dengan tujuan yang spesifik. Pada
awal sprint, tim berkumpul untuk sesi perencanaan selama satu hari.
Dalam sesi ini, tim memutuskan tujuan utama yang ingin dicapai pada
proses sprint. Untuk menentukan tujuan sprint, tujuan ini dapat diambil
dari daftar product backlog. Tim menentukan seberapa banyak item yang
berpioritas tinggi dapat dicapai dalam waktu 30 hari sprint.
Setelah tim menyepakati tujuan yang diambil dari daftar backlog, tim
mulai dapat bekerja. Jika pengguna menemukan fungsi baru yang mereka
ingin tambahkan, mereka harus memasukkannya ke daftar product
backlog untuk dapat digunakan di sprint selanjutnya.
Setiap hari selama sprint, scrum master mengadakan daily scrum,
yang merupakan pertemuan dari semua anggota tim. Tujuan dari daily
scrum ini adalah untuk melaporkan kemajuan tim. Pertemuan ini biasanya
terbatas hanya 15 menit. Dalam pertemuan ini anggota tim akan
menjawab pertanyaan:
1. Apa yang telah anda lakukan sejak daily scrum terakhir?
2. Apa yang akan anda lakukan sampai pada daily scrum
selanjutnya?
16
3. Apa yang menghambat anda dalam menyelesaikan pekerjaan
anda?
Pada akhir setiap sprint, tujuan atau obyektif yang disepakati pada
saat pertemuan dapat dihasilkan.
2.3. Analisis dan Permodelan
2.3.1. Object Oriented Analysis and Design (OOAD)
Menurut Satzinger, Jackson, dan Burd (2012, p. 241) OOAD
merupakan sebuah pendekatan teknik yang digunakan untuk menganalisa dan
merancang sebuah aplikasi, sistem, atau bisnis dengan mendasarkan pada
obyek untuk mencapai komunikasi dan kualitas produk yang lebih baik.
Konsep OOAD mencakup Object-Oriented Analysis (OOA) dan
Object-Oriented Design (OOD). OOA mendefinisikan object yang bekerja
dan memastikan interaksi pengguna (disebut use case) apa saja yang
dibutuhkan. Sedangkan OOD mendefinisikan semua tipe obyek tambahan
yang dibutuhkan untuk berkomunikasi dengan orang dan perangkat lain di
sistem, OOD menunjukkan bagaimana suatu obyek berinteraksi untuk
menyelesaikan suatu task.
2.3.1.1. Object Oriented Programming (OOP)
OOP merupakan pemrograman yang berorientasikan kepada
obyek. Semua data dan fungsi dalam pemrograman ini dibungkus
dengan class atau object, berbeda dengan pemrograman terstruktur
(Procedural Programming). Dalam OOP setiap obyek dapat
menerima pesan, memproses data, dan mengirim pesan ke obyek
lainnya.
Unified Modelling Language (UML)
Menurut Satzinger, Jackson, dan Burd (2012, p. 46), UML
adalah kumpulan dari model dan notasi yang didefinisikan oleh
Object Management Group (OMG). Dengan menggunakan UML,
seorang analis dan end user dapat menggambarkan dan mengerti
beragam jenis diagram yang digunakan dalam suatu proyek
pengembangan sistem.
17
Jenis – jenis diagram UML:
a. Use Case Diagram
Use case diagram menggambarkan fungsionalitas yang diharapkan
dari sebuah sistem. Sebuah use case mempresentasikan sebuah
interaksi antara aktor dengan sistem. Sebuah aktor adalah sebuah
entitas manusia atau mesin yang berinteraksi dengan sistem untuk
melakukan pekerjaan tertentu.
Gambar 2.2. Komponen Use Case Diagram (Sumber : Satzinger, Jackson & Burd, SYSTEMS ANALYSIS AND
DESIGN IN A CHANGING WORLD 6th Edition,2012:p81)
Dalama gambar 2.2 ditunjukkan bagian dasar dari sebuah use case
diagram. Sebuah stick figure yang dipresentasikan sebagai actor.
Stick figure diberi nama yang menggambarkan peran yang dijalankan
actor tersebut. Use case tersendiri digambarkan dalam bentuk lonjong
dengan didalamnya diberi nama use case. Sedangkan garis yang
menghubungkan antara actor dan use case memiliki arti bahwa actor
tersebut terlibat dengan use case. Terakhir automation boundary yang
mendifinisikan perbatasan antara bagian komputerisasi aplikasi dan
orang – orang yang mengoperasikan aplikasi, ditampilkan sebagai
persegi panjang dalam use case.
b. Class Diagram
Class diagram adalah diagram yang berisikan class dan
hubungannya.
18
Class memiliki tiga area pokok:
1. Nama
2. Atribut
3. Fungsi
Gambar 2.3. Nama dan Atribut Class Diagram (Sumber : Satzinger, Jackson & Burd, SYSTEMS ANALYSIS AND
DESIGN IN A CHANGING WORLD 6th Edition,2012:p101)
Gambar 2.3 menunjukkan sebuah kelas yaitu customer. Kelas
digambarkan persegi panjang yang dibagi dua bagian. Bagian atas
terdapat nama dari kelas dan bagian bawah daftar atribut yang
dimiliki kelas.
Gambar 2.4. Fungsi Class Diagram (Sumber : Satzinger, Jackson & Burd, SYSTEMS ANALYSIS AND
DESIGN IN A CHANGING WORLD 6th Edition,2012:p305)
19
Pada gambar 2.4 class diagram memiliki kotak baru di bagian
bawah yang diperuntukkan method yang dimiliki oleh class tersebut.
Atribut dan fungsi dapat memiliki sifat:
1. Private : Tidak dapat dipanggil dari luar class yang bersangkutan
2. Protected : Hanya dapat dipanggil oleh class yang bersangkutan
dan anak – anak yang mewarisi
3. Public : Dapat dipanggil oleh siapa saja
Hubungan antar class:
1. Asosiasi: Hubungan statis antar class.
2. Agregasi: Hubungan yang menyatakan bagian.
3. Komposisi: Hubungan dimana bagian komponen tidak bisa ada
sebagai individu terpisah
c. Activity Diagram
Activity diagram menggambarkan alur aktivitas dalam sistem yang
sedang dirancang, bagaimana alur berawal, keputusan yang mungkin
terjadi dan bagaimana sistem berakhir.
Gambar 2.5. Simbol Activity Diagram (Sumber : Satzinger, Jackson & Burd, SYSTEMS ANALYSIS AND
DESIGN IN A CHANGING WORLD 6th Edition,2012:p58)
Gambar 2.5 menunjukkan simbol – simbol dasar dari activity
diagram. Bentuk lonjong menggambarkan kegiatan dalam alur kerja.
Panah menggambarkan urutan antara kegiatannya. Lingkaran hitam
menggambarkan mulainya dan selesainya alur kerja. Bentuk wajik
20
menggambarkan titik keputusan dimana alur proses akan mengikuti
jalan yang satu atau jalan yang lainnya. Garis tebal adalah
synchronization bar yang memisahkan jalan alur menjadi beberapa
jalan atau menggambungkan jalan. Sedangkan swimline heading
menggambarkan agen yang yang menjalankan aktivitas.
Gambar 2.6. Contoh Activity Diagram Customer Account (Sumber : Satzinger, Jackson & Burd, SYSTEMS ANALYSIS AND
DESIGN IN A CHANGING WORLD 6th Edition,2012:p125)
Gambar 2.6 menunjukkan contoh dari activity diagram yang
mendokumentasikan aktivitas dalam membuat customer account.
d. Sequence Diagram
Sequence diagram menggambarkan interaksi antar obyek kedalam
dan keluar sistem.
21
Gambar 2.7. Contoh Sequence Diagram (Sumber : Satzinger, Jackson & Burd, SYSTEMS ANALYSIS AND
DESIGN IN A CHANGING WORLD 6th Edition,2012:p334)
Pada gambar 2.7 sequence diagram memiliki view layer yang
diberi nama CustomerForm. Perhatikan input dari external actor, input
tersebut akan pergi ke view layer. Untuk input pertama
createNewCustomer(), sistem menggunakan layar CustomerForm
untuk menerima dan memungkinkan untuk mengedit nilai input.
Tujuan utama dari sequence diagram adalah untuk mengidentifikasi
class yang saling berhubungan dan pesan apa yang harus mereka
kirimkan.
Setelah obyek CustomerForm menerima perintah
createNewCustomer(), CustomerForm akan mengirimkan perintah
kepada CustomerHandler, dimana akan mengirimkan pesan ke kelas
Customer, meminta untuk membuat obyek baru Customer.
Setelah obyek customer dibuat, obyek tersebut memiliki tanggung
jawab untuk menyimpan ke database. Setelah obyek customer dibuat
dan disimpan, controller dapat menerima pointer untuk obyek agar
controller dapat mengakses custID. Setelah data dikembalikkan ke
controller, data akan dikirimkan ke layar CustomerForm yang terlihat
oleh external actor.
22
2.4. Perancangan Antarmuka
Menurut Satzinger, Jackson, dan Burd (2012, p. 189), Kunci utama dalam
perancangan sistem yaitu untuk mengklasifikasikan input dan output untuk setiap
proses ke dalam sebuah antarmuka. Antarmuka adalah tampilan layar yang berfungsi
untuk menerima input dan menampilkan output sehingga lebih melibatkan pengguna.
Pembuatan sebuah antarmuka sangat dipengaruhi oleh beberapa faktor seperti tujuan
antarmuka, karakteristik pengguna, dan karakteristik dari perangkat elektronik yang
digunakan.
Sebuah antarmuka merupakan hal yang penting karena dari pandangan seorang
pengguna, antar muka adalah sebuah sistem dimana hardware, software, scripts dan
database dibelakang sistem tidaklah penting. Teknik design yang menggunakan
pandangan seperti ini disebut design berbasis pengguna (user-centered design) yang
memiliki 3 prinsip utama yaitu:
• Fokus pada pengguna dan pekerjaan yang mereka lakukan.
• Evaluasi design agar dapat digunakan dan dipelajari dengan mudah
(usability).
• Menggunakan pengembangan iterative.
Sebuah antarmuka memfasiltasi hubungan antara manusia dengan komputer.
Menurut Donald Norman (2012, pp. 193-195) terdapat 2 prinsip utama yang
dapat digunakan untuk membuat hubungan yang baik antara manusia dengan
komputer yaitu:
• Affordance yang berarti penampilan dari sebuah kontrol mewakili fungsi dari
kontrol tersebut.
• Visibility yang berarti sebuah kontrol tampak ketika kontrol tersebut tersedia
dan memberikan respon (feedback) ketika digunakan.
2.4.1. 8 Golden Rules
Merupakan konsep perancangan antar muka yang dikemukakan oleh
Ben Shneiderman (2009, p. 540-544). Konsep perancangan ini bersifat umum
dan dianggap sebagai kunci dari usability. Prinsip-prinsip yang dianut ke
dalam prinsip ini yaitu:
• Consistency: Buatlah agar pengguna dapat mengetahui apa yang
dilakukan secara intuisi karena mereka sudah melihat pola / situasi
23
yang sama pada interface kita sebelumnya. Contoh: Toolbar tidak
berpindah-pindah
• Shortcut: Berikan pengguna website shortcut untuk mencapai
informasi-informasi yang dibutuhkan tanpa bersusah payah. Contoh:
Menu-menu / simbol untuk bernavigasi.
• Feedback: Berikan umpan balik yang informatif artinya memberikan
respon dalam bentuk informasi yang berguna kepada setiap tindakan
user. Contoh: Notifikasi.
• Dialog Closure: Membuat dialog box/feedback untuk memberikan
kepuasan kepada pengguna setelah menyelesaikan suatu aksi. Contoh:
Menampilkan pesan sukses setelah pengguna memasukan data.
• Simple Error Handling: Membuat penanganan kesalahan yang
sederhana. Contoh: Error message yang mudah dimengerti.
• Reversible Action: Mudah untuk kembali ke tahap / langkah
sebelumnya. Hal ini dapat mengurangi kekuatiran pengguna karena
tahu kesalahan yang dilakukan dapat dibatalkan.
• Put User in Control: Jadikan user sebagai pemegang kendali,
rancanglah suatu antarmuka sedemikan rupa sehingga pengguna
menjadi inisiator daripada responden. pengguna dapat dengan bebas
bernavigasi dan mengubah informasi akun yang dimilikinya sesuai
dengan yang dikehendaki.
• Reduce short-term memory load: Buatlah antarmuka pengguna mudah
/ simpel agar mudah di ingat oleh pengguna dan mengurangi beban
ingatan jangka pendek. Contoh : Calendar box memudahkan
pengguna dengan cara cukup memilih dari kotak kalender yang
disediakan tanpa perlu mengingat tanggal dan tanpa perlu mengetik
manual.
2.4.2. 5 Manusia Terukur
Demi tercapainya antarmuka aplikasi yang baik, maka perancangan
antarmuka sebaiknya tidak lupa untuk mengikutsertakan evaluasi terhadap
lima faktor manusia terukur sebagai berikut (Shnederman & Plaisant, 2010, p.
14):
1. Waktu untuk belajar
24
Berapa lama waktu yang diperlukan pengguna untuk belajar bagaimana
menjalankan fungsi aplikasi.
2. Kecepatan performa
Berapa lama waktu yang diperlukan dalam menjalankan fungsi dari
aplikasi.
3. Tingkat error yang dilakukan pengguna
Berapa banyak dan jenis kesalahan apa yang dapat dilakukan orang dalam
menggunakan aplikasi.
4. Daya ingat pengguna
Berapa lama pengguna mempertahankan ingatan dan pengetahuannya
setelah beberapa jam, hari, atau bahkan minggu.
5. Kepuasan subjektif
Seberapa puas pengguna atas berbagai aspek dari antarmuka sistem.
2.5. Peracangan Database
Menurut Satzinger, Jackson, dan Burd (2012, p. 377), Database memiliki
berbagai jenis cara pembuatan. Salah satunya adalah relational database yang dapat
dibuat dari class diagram. Untuk membuat sebuah skema relational database dari
sebuah class diagram diperlukan langkah sebagai berikut:
• Membuat sebuah tabel untuk setiap class.
• Memilih sebuah primary key untuk setiap tabel (buat jika dibutuhkan).
• Menambahkan foreign key untuk menampilkan hubungan asosiasi one-to-many.
• Membuat tabel baru untuk menampilkan hubungan many-to-many.
• Menampilkan klasifikasi hirarki.
• Mendefinisikan referential integrity constraint.
• Mengevaluasi kualitas skema dan membuat pengembangan yang diperlukan.
• Memilih tipe data yang sesuai.
• Incorporate integrity dan security control
2.5.1. Entity Relationship Diagram (ERD)
Menurut Satzinger, Jackson, dan Burd (2012, p. 98), ERD adalah
diagram yang berisikan entitas data (data entities) dan hubungannya.
Pendekatan tradisional dalam pengembangan sistem memberikan tekanan
besar pada data storage requirement untuk sebuah sistem baru dan
25
menggunakan istilah entitas data untuk hal-hal yang sistem butuhkan untuk
menyimpan informasi. Jadi Entitas data adalah istilah yang digunakan dalam
entity-relationship diagram (ERD) untuk mendeskripsikan kumpulan hal /
individu.
Gambar 2.8. Contoh ERD (Sumber : Satzinger, Jackson & Burd, SYSTEMS ANALYSIS AND DESIGN
IN A CHANGING WORLD 6th Edition,2012:p99)
2.5.2. Kamus Data
Kamus data (data dictionary) adalah informasi yang mendeskripsikan
dan menjelaskan data yang tersimpan dalam database. Kamus data memiliki
manfaat untuk memudahkan pengguna untuk mengetahui informasi mengenai
suatu database seperti aliran data, proses, data store dan tipe data.
2.5.3. Database
Menurut Satzinger, Jackson, dan Burd (2012, p. 373), Database (DB)
adalah sebuah kumpulan data terintegrasi, tersimpan, dikelola dan dikontrol.
Sebuah database umumnya menyimpan banyak informasi dari puluhan /
bahkan ratusan class. Sebuah database terdiri dari dua penyimpanan
informasi yang saling terkait yaitu physical data store dan schema. Physical
data store berisi raw bits dan bytes dari data yang dibuat dan digunakan oleh
sistem informasi. Sedangkan schema berisi tentang informasi deskriptif
mengenai bagaimana sebuah data disimpan dalam physical data store
meliputi:
1. Organisasi individual dari data yang disimpan kedalam bentuk group
yang lebih tinggi, seperti tabel.
2. Asosiasi antara tabel atau class.
26
3. Detil dari organisasi physical data store, termasuk tipe, panjang, lokasi,
dan index dari data item.
4. Akses dan kontrol konten, meliputi batasan nilai untuk tipe data
tertentu, dependensi diantara banyak data item, dan list dari pengguna
yang diperbolehkan untuk membaca / melakukan update pada data item
2.5.3.1. Relational Database
Menurut Satzinger, Jackson, dan Burd (2012, p. 374),
Relational database management system (RDBMS) adalah sebuah
DBMS yang mengorganisasikan data yang tersimpan dalam sebuah
struktur yang disebut tabel / relasi (relation). Relational database
table mirip dengan conventional database table yaitu bahwa mereka
merupakan tabel dua dimensi yang terdiri dari kolom dan baris tetapi
memiliki terminologi yang berbeda. Sebuah baris dalam tabel dapat
disebut dengan sebuah row, tuple, maupun record, dan sebuah kolom
disebut dengan attribute / field. Sedangkan sebuah cell dalam tabel
disebut dengan attribute value, field value, maupun data element.
Setiap tabel dalam sebuah relational database harus memiliki
unique key. Sebuah key sebuah atribut atau atribut-atribut, yang
nilainya hanya muncul satu kali dalam seluruh baris dari kolom
atribut tersebut. Primary Key adalah unique key yang dipilih oleh
database designer untuk mewakili hubungan antar baris (row) dalam
tabel berbeda. Key adalah elemen yang penting karena menjadi
pengikat yang mengikat baris suatu tabel dengan baris di tabel lain.
Jika terdapat lebih dari satu unique key maka database designer harus
memilih satu unique key untuk menjadi primary key.
Foreign key adalah sebuah atribut yang menduplikasi primary
key dari tabel berbeda. Perancangan sebuah relational database
dimulai dari pembuatan class diagram dan ERD.
27
Gambar 2.9. Penerapan Relational Database (Sumber : Satzinger, Jackson & Burd, SYSTEMS ANALYSIS AND
DESIGN IN A CHANGING WORLD 6th Edition,2012:p375)
2.6. Database Management System (DBMS)
Menurut Satzinger, Jackson, dan Burd (2012, p. 373), DBMS adalah sebuah
komponen sistem software yang dibeli dan di install terpisah dari komponen sistem
software lain nya yang digunakan untuk mengelola dan mengontrol database.
Contoh dari database modern antara lain: Microsoft Acess, Oracle, DB2, ObjectStore,
Gemstone dan SQL Server.
Sebuah DBMS memiliki 4 komponen utama yaitu:
• Application program interface (API)
• End-user query processor
• Administrative Interface
• Database access and control logic
Program aplikasi, pengguna dan administrator tidak pernah melakukan akses
physical database secara langsung tetapi menggunakan DBMS Interface sebagai
perantara untuk menyampaikan apa yang mereka tulis dengan menggunakan nama
yang telah didefinisikan dalam schema. DBMS melakukan akses ke skema untuk
melakukan verifikasi bahwa data yang ingin diakses tersedia dan pengguna memiliki
hak akses yang sesuai. Jika permintaan sah, DBMS akan mengambil informasi
mengenai physical organization data yang diminta dari schema dan kemudian
menggunakan informasi tersebut untuk melakukan akses ke physical data storage
mewakili program yang meminta / pengguna.
28
Gambar 2.10. Komponen Database dan Hubungannya (Sumber : Satzinger, Jackson & Burd, SYSTEMS ANALYSIS AND DESIGN IN A
CHANGING WORLD 6th Edition,2012:p374)
DBMS menyediakan hal penting dalam data akses dan kemampuan mengelola
data meliputi:
• Akses bersamaan dari banyak pengguna dan program aplikasi.
• Akses ke data tanpa menggunakan program aplikasi (dengan query
languange)
• Keseragaman aplikasi dan konsisten akses serta kontrol konten.
2.6.1. SQL Server
Menurut McQuillan (2015, p. 1), SQL Server adalah sebuah
Relational Database Management System (RDBMS). SQL, singkatan dari
Structured Query Language merupakan bahasa pemrograman yang
membicarakan tentang database. Dapat disimpulkan bahwa SQL Server
adalah sebuah database server.
Sebuah server adalah komputer yang menyediakan layanan (service).
Contohnya, sebuah print server menjalankan proses cetak, web server
29
menjalankan situs web, dan database server menjalankan database
management system.
Relational Database management System adalah sebuah kumpulan
service yang mendukung penyimpanan dan pengambilan data.
Beberapa service yang ada:
• Database Engine
Database engine merupakan pusat service. Database engine yang
bertanggung jawab dalam manajemen data seperti menambahkan data ke
table, membuat database, ataupun mengambil data dari database.
• SQL Server Agent
SQL server agent merupakan SQL server yang mengatur penjadwalan.
Dengan menggunakan SQL server agent, pengguna dapat menjadwalkan
tugas yang ingin dijalankan di waktu tertentu. Biasanya yang dijalankan
adalah tugas backup.
• SQL Server Browser
Hubungan jarak jauh akan membutuhkan SQL Server Browser yang
berjalan. Dengan SQL server browser akan membuat mesin lain dapat
terhubung dengan SQL server.
• SQL Server Full Text Search
SQL server full text search digunakan untuk mencari data yang rumit
dalam database.
2.7. Framework
2.7.1. Model View Controller (MVC)
Model mewakili struktur data. Biasanya model berisi fungsi-fungsi
yang membantu dalam pengelolaan database seperti memasukkan data ke
basis data, pembaruan data dan lain-lain.
Controller dalam MVC bertanggung jawab untuk merespon input
pengguna, sering kali membuat perubahan pada model dari respon tersebut.
Dalam hal ini controller di MVC berkaitan dengan flow suatu aplikasi dan
mengatur arus masuk dan keluar data ke view.
30
View dalam MVC bertanggung jawab sebagai penyedia antarmuka
pengguna (user interface) ke pengguna. View membuat model menjadi format
yang siap untuk diperlihatkan kepada pengguna.
2.7.2. Language Integrated Query (LINQ)
Language Integrated Query (LINQ) Adalah satu set yang berisikan
tambahan-tambahan untuk bahasa pemrograman C# dan VB.NET yang
memudahkan manajemen data. LINQ dibagi menjadi beberapa jenis, seperti
LINQ ke SQL, LINQ ke XML dan LINQ ke Object. LINQ memungkinkan
data untuk disatukan meski berasal dari sumber yang berbeda seperti
database, web services dan XML file.
Keuntungan menggunakan LINQ:
• Memudahkan query data source dengan cara mengintegrasi query
dengan c#
• Memudahkan pengembangan aplikasi dengan pengecekan syntax saat
compile dan debugging support.
• Memudahkan query berbagai macam data source karena menggunakan
syntax yang sama untuk tiap macamnya
2.7.3. .Net
.NET framework merupakan software framework yang dikembangkan
oleh microsoft yang umumnya berjalan untuk microsoft windows OS seperti
Windows Server 2008 dan Windows Vista. Di dalam nya terdapat dua buah
komponen utama yaitu Common Languange Runtime (CLR) didasar
dan .NET framework Class Library (FCL) diatasnya.
2.8. Web Services
Web services memungkinkan terjadinya pertukaran dan kalkulasi data ke
komputer yang jauh (remote computer) tanpa harus mewajibkan client menggunakan
windows. Format yang paling popular adalah Simple Object Access Protocol (SOAP),
yang memungkinkan platform berbeda berkomunikasi satu dengan yang lain
menggunakan XML.
2.8.1. XML
31
XML (Extensible Markup Languange) merupakan bahasa markup untuk
keperluan umum yang disarankan oleh W3C untuk membuat dokumen
markup untuk keperluan pertukaran data antar sistem yang beraneka ragam
seperti dari browser ke server, server ke browser, server ke server dan satu
program ke program lainnya.
XML memiliki 3 keunggulan:
• Berupa plaintext sehingga mudah melewati firewall.
• Dapat dibaca dengan mudah oleh manusia.
• XML dapat di buat di platform apapun
2.9. C#
Menurut Nugroho, Chandra, Prestiliano, dan Beeh (2013, pp. 8), C# merupakan
multi paradigm programming languange yang meliputi strong typing, imperative,
declarative, functional, generic, object-oriented (class-based), dan component-
oriented programming disciplines. C# dikembangkan oleh Microsoft bersamaan
dengan .NET dan telah distandarisasi secara internasional oleh European Computer
Manufacturers Association (ECMA). C# dapat digunakan untuk membuat
bermacam-macam aplikasi seperti aplikasi berbasis windows, berbasis web serta
berbasis web services.
Kelebihan C# yaitu:
1. Sederhana (Simple): C# menghilangkan hal-hal yang bersifat kompleks dari
bahasa pemrograman lain seperti macro, template, multiple inheritance dan
virtual base classes.
2. Modern: C# merupakan bahasa pemrograman yang modern karena memiliki
beberapa fitur seperti exception handling, garbage collection, extensible data
types, dan code security.
3. Object-oriented languange: C# memiliki sifat - sifat yang dimiliki oleh bahasa
pemrograman berbasis obyek seperti encapsulation, inheritance, dan
polymorphism.
4. Powerful dan fleksibel: C# dapat digunakan untuk membuat berbagai aplikasi
seperti pengolah kata, grafik, spreadsheet dan bahkan compiler untuk sebuah
bahasa pemrograman.
5. Efisien: C# merupakan bahasa pemrograman yang tidak menggunakan terlalu
banyak keyword sehingga mengurangi kerumitan saat pembuatan suatu aplikasi.
32
6. Modular: C# tersusun rapi berdasarkan pembagian masing-masing class dan
method didalamnya. Selain itu class dan method tersebut dapat dipanggil
kembali untuk digunakan kembali (reusable).
7. C# didukung oleh Microsoft: microsoft mengeluarkan produk produk utama nya
dengan dukungan Framework .NET yang menggunakan C#.
8. Type safe
9. Interoperability
10. Scalable dan updateable
2.10. Integrated Development Environment (IDE)
IDE merupakan kumpulan tool yang digunakan bersama untuk menyediakan
sebuah lingkungan pengembangan dan programming yang komprehensif / luas untuk
software developer. Tool - tool tersebut di design khusus untuk membantu system
developer dalam melakukan pekerjaan programmingnya. Contoh dari tool-tool ini
antara lain smarts-editor, context-sensitive help, dan debugging tool. Fungsi dari
tool-tool tersebut yaitu dapat memunculkan / membuat program code untuk
developer, memberikan petunjuk dan bantuan, bahkan dapat melakukan reverse-
engineer untuk program lama agar dapat diketahui fungsi nya tanpa melihat
dokumentasi. Selain untuk developer, tool terdapat pula tool yang dapat digunakan
oleh analyst. Salah satu dari tool tersebut adalah visual modeling tool. Visual
Modeling tool adalah tool yang membantu analyst untuk membuat dan
memverifikasi model grafik dan juga dapat membuat program code. Tool ini
digunakan untuk membuat rancangan model dan database yang akan dijadikan
pedoman dalam pengembangan sistem.
2.10.1. Visual Studio
Visual studio merupakan editor / tool dari Microsoft yang dapat
digunakan untuk membuat ASP Web application, XML Web Services,
desktop applications, dan mobile applications. Tool dan teknologi yang dapat
digunakan visual studio antara lain:
• Visual J#
• Smart Device Application
• ASP.NET Mobile Designer
• Web Forms
33
• Windows Forms
• XML Web Services
• XML Support
Kelebihan-kelebihan visual studio dibanding editor lain yaitu:
• @Code Handle
• Mendukung banyak bahasa pemrograman
• Side-by-side Editing
• Always-On IntelliSense
• Command Palette
• Function Parameters
• Peek Information
• Markdown Preview
• Debugging
• Integrated Version Control
2.11. Wawancara
Menurut Gulo (2005, p. 119), Wawancara adalah bentuk komunikasi lansung
antara peneliti dan responden. Komunikasi berlansung dalam bentuk tanya – jawab
dalam hubungan tatap muka, sehingga gerak dan mimik responden merupakan pola
media yang melengkapi kata – kata secara verbal. Karena itu, wawancara tidak hanya
menangkap pemahaman atau ide, tetapi juga dapat menangkap perasaan, pengalaman,
emosi, motif, yang dimiliki oleh responden yang bersanngkutan. Disinilah terletak
keunggulan dari metode wawancara. Keunggulan wawancara sebagai alat penelitian
antara lain:
• Wawancara dapat dilaksanakan kepada setiap individu tanpa dibatasi oleh
faktor usia maupun kemampuan membaca.
• Data yang diperoleh dapat lansung diketahui obyektivitasnya karena
dilaksanankan secara tatap muka
• Wawancara dapat dilaksanakan lansung kepada responden yang diduga
sebagai sumber data.
• Wawancara dapat dilaksanan dengan tujuan untuk memperbaiki hasil yang
diperoleh baik melalui observasi terhadap obyek manusia maupun bukan
manusia.
34
• Pelaksanaan wawancara dapat lebih fleksibel dan dinamis karena
dilaksanankan dengan hubungan langsung, sehingga memungkinkan
diberikannya penjelasan kepada responden bila suatu pertanyaan kurang
dimengerti.
Meskipun wawancara mempunyai banyak manfaat, namun terdapat pula
beberapa kelemahan, di antaranya:
• Oleh karena wawancara biasanya dilakukan secara perseorangan, maka
pelaksanaannya menuntut banyak waktu, tenaga, dan biaya, terutama bila
ukuran sampel cukup besar.
• Faktor bahasa, baik dari pewawancara maupun responden untuk menerima
secara baik dan bekerja sama dengan pewawancara.
• Sering terjadi wawancara dilakukan secara betele – tele.
• Wawancara menuntuk kerelaan dan kesediaan responden untuk menerima
secara baik dan bekerja sama dengan pewawancara.
• Wawancara menuntut penyesuaian diri secara emosional dan mental – psikis
antara pewawancara dan responden.
• Hasil wawancara banyak tergantung kepada kemampuan pewawancara dalam
menggali, mencatat dan menafsirkan setiap jawaban.
2.12. Project Management Information System
Saat bekerja dalam sebuah tim pengerjaan tugas / proyek harus dibagi dan
dikelola dengan tugas tertentu untuk masing-masing developer. Hal ini berlaku bagi
proyek yang menggunakan pendekatan prediktif maupun pendekatan adaptif.
Metodologi yang dipilih akan menimbulkan sejumlah aktivitas dan tugas yang
kompleks, pengelolaan yang gagal dapat menimbulkan kebingungan, usaha dan
waktu akan terbuang sia-sia, pekerjaan menjadi tidak efisien dan bahkan proyek akan
gagal.
Sebuah proyek adalah sebuah usaha yang direncanakan, memiliki awal dan
akhir serta memproduksi hasil yang telah ditentukan. Umum nya sebuah proyek
dibatasi oleh jadwal / batas waktu dan sumber daya. Pengembangan sistem informasi
memenuhi definisi ini dan biasanya cukup kompleks karena memiliki banyak tugas
dan pekerja yang perlu dikoordinasi. Proyek berbeda memiliki produk berbeda,
sehingga memiliki aktivitas yang berbeda dengan jadwal dan sumber daya yang
35
berbeda pula. Keunikan ini membuat tidak ada proyek yang sama dan proyek susah
dikelola.
Sebuah proyek IT dapat diukur tingkat kesuksesan nya berdasarkan 3 kriteria yaitu:
• Selesai tepat waktu.
• Selesai dengan anggaran dana yang sesuai.
• Sesuai dengan kebutuhan untuk mengatasi masalah.
Beberapa penyebab kegagalan sebuah proyek yaitu:
• Manajemen proyek yang tak terdefinisi.
• Manajemen IT dan prosedur yang buruk.
• Dukungan eksekutif yang tidak memadai.
• Proyek manager yang tidak berpengalaman.
• Kebutuhan bisnis dan proyek obyektif yang tidak jelas.
• Kurang nya keterlibatan pengguna.
Manajemen proyek adalah pengorganisasian dan pengarahan kepada orang lain
untuk mencapai sebuah hasil yang telah direncanakan sesuai dengan anggaran dana
dan jadwal yang telah ditentukan. Pada awal sebuah proyek, dibuat sebuah rencana /
rancangan yang berisi aktivitas yang harus dilakukan, hal-hal yang harus diproduksi,
dan sumber daya yang dimiliki. Oleh karena itu manajemen proyek juga dapat
diartikan sebagai proses untuk membuat rencana / rancangan, mengawasi dan
mengontrolnya.
Manajemen proyek dilakukan oleh seorang manajer. Seorang manajer proyek
memiliki tanggung jawab / tugas baik internal maupun external. Tugas internal
seorang manajer proyek antara lain:
• Mengembangkan jadwal proyek.
• Merekrut dan melatih anggota tim.
• Memberikan tugas kepada tim dan anggota tim.
• Menilai resiko proyek.
• Memantau dan mengontrol hal-hal yang disampaikan proyek dan pencapaian
nya.
Sedangkan secara external, seorang manajer proyek menjadi kontak utama
untuk sebuah proyek. Seorang manajer proyek mewakili tim nya kedunia luar dan
mengkomunikasikan kebutuhan anggota timnya. Tugas external seorang manajer
proyek antara lain:
36
• Melaporkan status proyek dan kemajuan.
• Bekerja bersama klien (sponsor proyek) dan pemegang saham.
• Mengidentifikasi sumber daya yang dibutuhkan serta mendapatkannya.
Untuk melakukan manajemen proyek, seorang manajer proyek harus mengenal
orang-orang yang terlibat dalam suatu proyek. Komunikasi antara manajer proyek
dengan orang-orang ini merupakan hal yang penting. Orang-orang tersebut antara
lain:
• Klien adalah orang / group yang membiayai proyek.
• Pengguna adalah orang / group yang akan menggunakan sistem.
• Oversight committee adalah klien dan manajer utama yang akan meninjau
kembali kemajuan proyek serta mengarahkan proyek.
Keformalan (ceremony) adalah tingkatan dari jumlah dokumentasi yang dibuat,
ketertelusuran spesifikasi, dan formalitas dari proses pengambilan keputusan dalam
proyek. Keformalan memiliki pengaruh yang besar dalam sebuah manajemen proyek.
Dimana tingkat keformalan yang tinggi membuat banyak pertemuan dan
dokumentasi yang kadang dapat membuat anggaran dana meningkat dan proyek
tertunda