bab 2 tinjauan pustaka 2.1. pengertian...

Post on 09-Mar-2019

224 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

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

top related