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 11
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 componentoriented 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 reverseengineer 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