BAB 2 LANDASAN TEORI
2.1 Teori – teori Dasar / Umum Teori umum merupakan teori yang digunakan sebagai landasan penelitian skripsi ini, khususnya pada tahap perancangan. Hal-hal yang akan dijelaskan pada sub bab ini antara lain : metode perancangan aplikasi (waterfall model), konsep basis data, dan diagram UML yang akan digunakan sebagai pedoman perancangan aplikasi ini. 2.1.1 Waterfall Model Waterfall model atau Classic Life Cycle adalah model perancangan aplikasi yang dilakukan secara sistematis dengan pendekatan sekuensial. Model ini terdiri dari beberapa aktivitas seperti ditunjukkan pada gambar berikut :
Gambar 2.1 Waterfall Model (Sumber : Pressman, 2010) Communication adalah tahap pengumpulan data dan informasi dari calon pengguna aplikasi. Tujuan dari tahap ini adalah untuk memahami kebutuhan pengguna, agar pengembang aplikasi dapat menetapkan ruang lingkup fitur aplikasi (Pressman, 2010, p15). 7
8
Planning adalah tahap pembuatan “peta” yang membantu mengarahkan tim pengembang aplikasi dalam merancang aplikasi. Peta atau rencana proyek aplikasi mendeskripsikan tugas-tugas teknis yang harus dilakukan, resiko yang mungkin terjadi, sumber daya yang dibutuhkan, hasil yang ingin dicapai, dan penjadwalan pengerjaan aplikasi (Pressman, 2010, p15). Modeling adalah tahap pembuatan “sketsa” aplikasi yang ingin dirancang. Tujuan dari tahap ini adalah menciptakan pemahaman mendalam mengenai kebutuhan dan desain aplikasi agar dapat memenuhi kriteria dari hasil yang diharapkan (Pressman, 2010, p15). Construction adalah tahap pengkodean (menterjemahkan ke dalam bahasa pemrograman) serta uji coba kode untuk mencegah adanya kesalahan kode atau error (Pressman, 2010, p15). Deployment adalah tahap dimana aplikasi telah siap diberikan pada pengguna. Pengguna akan mencoba untuk menggunakan aplikasi dan memberikan umpan balik kepada pengembang aplikasi. Data hasil evaluasi dengan pengguna dapat digunakan untuk pengembangan aplikasi di masa depan (Pressman, 2010, p15).
2.1.2 Basis Data (Database) Basis data adalah kumpulan data logikal yang dapat digunakan bersama serta memiliki relasi satu sama lain, dan merupakan suatu deskripsi dari setiap data yang ada, yang didesain untuk memenuhi informasi yang dibutuhkan oleh organisasi / perusahaan (Connolly, 2005, p15).
9
Secara umum basis data tersusun dari berbagai entitas, atribut, dan relasi. Entitas adalah objek berbeda (orang, tempat, benda, konsep, atau kejadian) dalam suatu organisasi yang direpresentasikan dalam basis data (Connolly, 2005, p15). Atribut adalah properti yang mendeskripsikan beberapa aspek dari suatu objek yang dicatat dalam suatu entitas (Connolly, 2005, p15). Relasi adalah hubungan antara entitas-entitas (Connolly, 2005, p15). Komponen-komponen penting dalam lingkungan basis data (Hoffer, 2009, p58) : •
Data and Database Administrator : orang-orang yang bertanggung jawab atas keseluruhan manajemen sumber-sumber data dalam suatu organisasi.
•
System Developers : orang-orang yang bertugas untuk menganalisis sistem dan membuat suatu program aplikasi.
•
End users : orang-orang dalam suatu organisasi yang mencari atau menerima informasi dari basis data serta dapat menambahkan, menghapus, atau memodifikasi data dalam basis data tersebut.
•
Computer-aided software engineering (CASE) tools : perangkat otomatis yang digunakan untuk merancang basis data dan program aplikasi.
•
User Interface : bahasa, daftar pilihan, dan fasilitas lainnya yang digunakan sebagai sarana interaksi antara pengguna dengan komponen-komponen sistem seperti CASE tools, application programs, DBMS, dan repository.
•
Application Programs : program komputer yang digunakan untuk membuat dan memelihara basis data dan menyediakan informasi bagi pengguna.
10
Gambar 2.2 Komponen Lingkungan Basis Data (Sumber : Hoffer, 2009) •
Repository : pusat dasar pengetahuan bagi seluruh definisi data, relasi-relasi antar data, layar serta laporan, dan komponen sistem lainnya. Repository mengandung kumpulan metadata yang dibutuhkan untuk mengatur manajemen basis data serta sistem informasi lainnya.
•
Database Management System (DBMS) : sistem perangkat lunak yang digunakan untuk membuat, memelihara, dan menyediakan akses kontrol kepada pengguna basis data.
•
Database (basis data) : kumpulan logikal data yang terorganisir dengan baik, yang dirancang untuk dapat memenuhi kebutuhan informasi dari banyak pengguna dalam suatu organisasi.
11
2.1.3 DBMS (Database Management System) Database Management System (DBMS) adalah sebuah sistem perangkat lunak yang digunakan pengguna untuk mendefinisikan, membuat, memelihara, dan mengontrol akses ke dalam basis data (Connolly, 2005, p16). Fungsi DBMS (Connolly, 2005, p48) : •
Sarana penyimpanan, pengambilan, dan pembaharuan data.
•
Katalog deskripsi data yang tersimpan dalam basis data.
•
Pendukung transaksi, dalam hal ini mengatur mekanisme pengambilan maupun pencatatan setiap kejadian dalam transaksi yang dapat merubah data yang tersimpan dalam basis data.
•
Menjaga kekonsistenan data terutama bila ada dua atau lebih transaksi yang terjadi pada satu data, agar tidak terjadi kekeliruan data.
•
Mendukung komunikasi data dengan berbagai perangkat keras.
•
Mampu mengembalikan data bila terjadi kerusakan perangkat.
•
Mengatur hak akses pengguna basis data.
•
Menjaga integritas berdasarkan peraturan yang telah ditetapkan.
•
Mendukung independensi data.
•
Menyediakan berbagai layanan tambahan seperti import/export data dan program analisis statistik.
Fasilitas utama DBMS yaitu : Data Definition Language (DDL), Data Manipulation Language (DML), dan Data Control Language (DCL). Bahasabahasa yang digunakan pada DBMS ini pada umumnya menggunakan
12
Structured Query Language (SQL). Penjelasan selengkapnya mengenai implementasi DDL, DML, dan DCL menggunakan SQL akan dibahas pada sub bab berikutnya.
2.1.4 SQL (Structured Query Language) Structured Query Language (SQL) telah ditetapkan secara de facto sebagai standar bahasa untuk membuat dan melakukan query pada basis data relasional (Hoffer, 2009, p349). Sesuai dengan penjelasan pada sub bab sebelumnya, SQL digunakan untuk mengimplementasikan DDL, DML, dan DCL. DDL
adalah
sebuah
bahasa
yang
digunakan
oleh
Database
Administrator (DBA) untuk mendefinisikan komponen-komponen basis data seperti nama entitas, atribut, relasi, termasuk hubungan integritas dan batasan (security constraints) yang dibutuhkan oleh aplikasi (Connolly, 2005, p40). DDL yang sering digunakan antara lain create table, drop table, alter table. DML adalah sebuah bahasa yang menyediakan operator-operator yang dapat mendukung operasi manipulasi data pada data yang tersimpan dalam basis data (Connolly, 2005, p40). DML yang sering digunakan antara lain : insert, update, delete. DCL atau kontrol akses basis data adalah sebuah perintah yang digunakan untuk mengontrol basis data, termasuk mengatur pemberian hak administrasi (Hoffer, 2009, p355). Fungsi kontrol akses basis data (Connolly, 2005, p16) : mencegah pengguna yang tidak memiliki wewenang agar tidak
13
dapat mengakses basis data (security system), memelihara konsistensi data (integrity system), memungkinkan basis data dapat digunakan bersama (concurrency control), memungkinkan pengembalian data ke kondisi semula apabila terjadi kerusakan perangkat (recovery control system), menyimpan deskripsi dari setiap data yang ada dalam basis data (user-accessible catalog). DCL yang sering digunakan antara lain : grant (memberikan hak akses pada pengguna tertentu) dan revoke (penutupan hak akses yang sebelumnya pernah diberikan melalui perintah grant). GRANT {PrivilegeList | ALL PRIVILEGES} ON ObjectName TO {AuthorizationIDList | PUBLIC} [WITH GRANT OPTION]
REVOKE [GRANT OPTION FOR] {PrivilegeList | ALL PRIVILEGES} ON ObjectName FROM {AuthorizationIDList | PUBLIC} [RESTRICT | CASCADE]
2.1.5 UML (Unified Modelling Language) Unified Modelling Language (UML) adalah sebuah bahasa visual yang menyediakan cara bagi orang-orang yang ingin menganalisa dan merancang sistem
berorientasi
objek
untuk
menggambarkan,
membangun,
dan
dokumentasi artefak dari sistem perangkat lunak dan untuk memodelkan bisnis organisasi (Bennett, 2005, p5). Sebagian besar elemen UML berupa bentuk grafis seperti garis, kotak, lingkaran lonjong (oval), dan bentuk lainnya. Elemen-elemen grafis ini diberi keterangan teks (label) untuk menyediakan informasi. Manfaat menggunakan UML yaitu untuk menggambarkan dan
14
menunjukkan hubungan antar elemen-elemen dari suatu model rancangan sistem.
2.1.5.1 Use Case Diagram Use case diagram merupakan
cara
yang baik untuk dapat
menggambarkan apa saja yang terjadi pada sistem yang sedang berjalan maupun untuk menggambarkan perencanaan sistem baru (Bennett, 2005, p20). Use case diagram menggambarkan siapa yang akan menggunakan sistem dan cara apa yang diharapkan pengguna untuk berinteraksi dengan sistem (Whitten, 2007, p382). Use case diagram memiliki notasi yang mudah dipahami. Notasi yang umum digunakan antara lain : use case (aksi atau proses dalam sistem), actor (orang atau sistem lain yang berinteraksi dengan sistem yang dimodelkan), dan communicates (hubungan antara actor dan use case).
Gambar 2.3 Notasi Use Case Diagram Use case diagram yang sudah selesai dirancang dapat dijabarkan dalam bentuk narasi yang berisi pendeskripsian langkah-langkah berurutan dari setiap interaksi. Narasi use case terdiri dari :
15
•
Nama use case : nama dari suatu use case.
•
Aktor : pelaku yang berpartisipasi dalam suatu use case.
•
Deskripsi : rangkaian kalimat yang menjelaskan kegiatan dalam suatu use case.
•
Kondisi awal (precondition) : keadaan ketika kegiatan dalam suatu use case akan dimulai.
•
Langkah kejadian (typical course of events) : langkah-langkah yang dilakukan oleh sistem pada suatu use case. Digambarkan menjadi 2 kolom dimana kolom pertama menggambarkan langkah-langkah yang dilakukan oleh aktor, sedangkan kolom kedua menggambarkan langkah-langkah yang dilakukan oleh sistem.
•
Kondisi akhir (postcondition) : keadaan ketika kegiatan dalam suatu use case telah selesai dilakukan.
2.1.5.2 Activity Diagram Activity diagram menggambarkan alur sekuensial dari aktivitasaktivitas yang ada pada use case atau proses bisnis (Whitten, 2007, p382). Diagram ini serupa dengan flowchart yang menggambarkan aliran sekuensial dari kegiatan yang ada pada sebuah use case atau proses bisnis. Notasi yang umum digunakan pada activity diagram antara lain (Whitten, 2007, p391) :
16
•
Initial node : lingkaran hitam yang merepresentasikan awal proses.
•
Actions : kotak dengan sudut tumpul yang merepresentasikan kegiatan yang dilakukan.
•
Flow : panah yang menandakan arah atau alur kegiatan.
•
Decision : kotak berbentuk wajik dimana terdapat satu aliran masuk dan menghasilkan dua atau lebih aliran keluar yang menandakan adanya ‘kondisi’.
•
Merge : kotak berbentuk wajik dimana terdapat dua atau lebih aliran masuk dan menghasilkan satu aliran keluar. Notasi ini digunakan untuk menggabungkan aliran yang telah terpisah oleh decision.
•
Fork : balok hitam dengan satu aliran masuk dan dua atau lebih aliran keluar yang menggambarkan proses paralel.
•
Join : balok hitam dengan dua atau lebih aliran masuk dan satu aliran keluar yang menandakan dua proses paralel yang memiliki tujuan sama telah selesai dilakukan, kemudian menjadi satu kesatuan.
•
Activity final : lingkaran hitam pekat di dalam lingkaran kosong yang menandakan akhir dari proses.
17
Gambar 2.4 Notasi Activity Diagram
2.1.5.3 Sequence Diagram Sequence diagram digunakan untuk memodelkan interaksi antar objek dengan menunjukkan urutan pesan / perintah yang dipertukarkan oleh objekobjek tersebut (Bennett, 2005, p158). Sequence diagram menggambarkan bagaimana objek-objek saling berinteraksi satu sama lain melalui pesan / perintah yang dieksekusi dari operasi use case (Whitten, 2007, p382). Notasi umum yang digunakan dalam sequence diagram (Whitten, 2007, p394) : •
Actor : pelaku / aktor pada use case.
•
System : kotak yang mengindikasikan sistem. Tanda titik dua ( : ) merupakan standar notasi diagram sequence untuk mengindikasikan kejadian yang sedang berjalan pada sistem.
18
•
Lifelines : garis putus-putus tegak lurus mengindikasikan alur sekuensial / berurutan.
•
Activation bars : balok yang berada di daerah lifelines
yang
mengindikasikan periode waktu dimana pelaku aktif dalam suatu interaksi. •
Input messages : garis panah mendatar yang mengindikasikan pesan atau perintah masuk.
•
Output messages : garis panah mendatar yang mengindikasikan pesan keluar atau umpan balik.
Gambar 2.5 Notasi Sequence Diagram
2.1.5.4 Class Diagram Class diagram menunjukkan struktur hubungan antar class yang digunakan dalam sistem berorientasi objek (Bennett, 2005, p42). Class diagram adalah suatu gambaran grafis dari struktur objek statis pada sistem, yang menunjukkan class-class objek yang ada dalam sistem serta relasi antar
19
class objek tersebut. (Whitten, 2007, p400). Notasi yang umum digunakan pada class diagram : •
Class : suatu set objek yang memiliki nama, attribute dan behavior. Attribute adalah data yang merepresentasikan karakteristik objek. Behavior adalah fungsi atau operasi yang dapat dilakukan oleh objek.
•
Relasi (Association) : garis yang menunjukkan hubungan antar class.
•
Multiplicity : keterangan pada relasi (0/1/*).
•
Generalization / Specialization : hubungan antara parent class dengan child class. Parent class terdiri dari attribute dan behavior umum yang dapat diturunkan ke child class (inheritance). Child class terdiri dari attibute dan behavior khusus yang hanya dimiliki oleh class itu sendiri.
•
Aggregation : hubungan yang bersifat unik dimana satu objek merupakan bagian dari objek lain. Hubungan agregasi bersifak asimetris (objek B merupakan bagian dari A, tetapi A bukan bagian dari B). Hubungan ini tidak
menciptakan
penurunan
(inheritance),
yang
terjadi
hanya
keterlibatan. Contoh : ketika objek A dikirim ke pelanggan, objek B juga dikirim. •
Composition : hubungan agregasi yang bersifat sangat kuat (sulit dipisahkan).
20
Gambar 2.6 Notasi Class Diagram
2.2 Teori – teori Khusus yang Berhubungan dengan Topik Yang Dibahas Selain teori umum yang digunakan sebagai pedoman perancangan aplikasi, dibutuhkan juga teori khusus yang membahas objek penelitian terkait aplikasi yang dibuat. Aplikasi yang akan dibuat pada penelitian skripsi ini adalah aplikasi untuk mendukung sistem kuesioner. Oleh karena itu teori kuesioner akan dipaparkan pada sub bab ini.
21
2.2.1 Definisi Kuesioner Kuesioner adalah daftar pertanyaan yang digunakan untuk memperoleh jawaban dari para responden, yang diharapkan dapat mengukur dan mewakili item-item yang diteliti sehingga dapat diuji dan dianalisis dalam upaya untuk memecahkan permasalahan dan menjawab pertanyaan riset yang dibangun peneliti (Wirakusuma, 2006). Teknik ini cocok untuk memperoleh data yang cukup besar, dari kelompok / masyarakat yang berpopulasi besar dan berada di lokasi yang tersebar. Kuesioner yang baik adalah kuesioner yang mampu menghasilkan response rate yang tinggi. Semakin tinggi response rate maka semakin valid dan andal kuesioner tersebut dalam mencerminkan relevansi dan akurasi data sehingga analisis dan hasil riset mampu memberikan derajat generalisasi yang tinggi (Wirakusuma, 2006). Desain kuesioner yang baik merupakan faktor utama untuk memperoleh hasil survei yang baik. Berbagai faktor dapat mempengaruhi baik-tidaknya suatu rancangan kuesioner. Mulai dari pengaruh faktor-faktor tampilan yang meliputi bentuk, warna kertas, jenis dan ukuran huruf, kata-kata, sampai kepada spesifikasi makna yang terkandung pada setiap pertanyaan dalam kuesioner itu sendiri. Kata-kata dan tata bahasa yang digunakan pada kuesioner hendaknya
memiliki
makna
yang
pasti
dan
jelas
sehingga
tidak
membingungkan para pembaca (responden) atau bahkan menimbulkan ambiguitas atau perbedaan-perbedaan dalam menginterpretasikan pertanyaan yang diajukan berada setiap responden (Wirakusuma, 2006).
22
2.2.2 Macam Kuesioner Kuesioner dapat dikelompokkan berdasarkan sifat, cara penyampaian, struktur, maupun bentuk pertanyaannya (Suparyanto, 2010). Berdasarkan sifatnya, kuesioner dibedakan menjadi 2 yaitu angket umum dan angket khusus. Angket umum digunakan untuk memperoleh data umum tentang kehidupan seseorang. Sedangkan angket khusus digunakan untuk mendapatkan data khusus tentang kehidupan seseorang. Berdasarkan cara penyampaian dibedakan menjadi 2 yaitu : angket langsung dan angket tak langsung. Angket langsung disampaikan langsung kepada responden tentang dirinya sendiri. Sedangkan angket tak langsung disampaikan kepada responden tentang diri orang lain. Berdasarkan struktur dibedakan menjadi 2 yaitu : angket berstruktur dan angket tak berstruktur. Angket berstruktur adalah angket yang disusun lengkap dengan alternatif pilihan jawabannya, sehingga responden tinggal memilih. Sedangkan angket tak berstruktur adalah angket yang pertanyaannya meminta jawaban menurut responden, sehingga tiap responden memiliki jawaban yang berbeda. Berdasarkan bentuk pertanyaan dibedakan menjadi 2 yaitu : angket terbuka dan angket tertutup. Disebut sebagai angket terbuka apabila responden diberi kebebasan untuk menjawab, menurut pendapat responden sendiri. Sedangkan angket tertutup adalah kuesioner dimana pertanyaanya sudah lengkap dengan jawaban, sehingga responden harus menjawab sesuai dengan jawaban yang telah tersedia.
23
2.2.3 Pertanyaan dalam Kuesioner Kuisioner harus memiliki pusat perhatian, yaitu masalah yang ingin dipecahkan. Tiap pertanyaan harus merupakan bagian dari hipotesis yang ingin diuji (Rosi, 2012). Dalam memperoleh keterangan yang berkisar pada masalah yang ingin dipecahkan, maka secara umum isi dari kuisioner dapat berupa pertanyaan tentang fakta, pendapat, atau persepsi diri. Beberapa petunjuk umum untuk mengungkapkan pertanyaan dalam kuesioner antara lain : •
Pertanyaan sensitif dan pertanyaan model jawaban terbuka sebaiknya ditempatkan di bagian akhir kuesioner.
•
Pertanyaan-pertanyaan yang mudah sebaiknya ditempatkan pada bagian awal kuesioner.
•
Susunlah pertanyaan sesuai dengan susunan yang logis, runtut, dan tidak meloncat-loncat dari tema satu ke tema yang lain.
•
Gunakan istilah yang familiar bagi responden.
•
Sesuaikan usia, tingkat pendidikan, maupun status sosial responden dengan pemilihan bahasa yang digunakan. Berdasarkan kebebasan pemilihan jawaban oleh responden, pertanyaan
dalam kuesioner dapat dikelompokkan menjadi 2 yaitu pertanyaan tertutup dan pertanyaan terbuka (Rosi, 2012). Pertanyaan tertutup adalah tipe pertanyaan dengan pilihan alternatif jawaban yang telah disediakan oleh peneliti sehingga responden akan memilih alternatif jawaban yang dianggapnya sesuai. Biasanya tipe pertanyaan ini berupa pilihan ganda. Keuntungannya adalah jawaban
24
standar sehingga lebih mudah untuk dianalisis serta membantu responden untuk menemukan jawaban yang sesuai. Kelemahannya adalah responden merasa frustasi dengan alternatif jawaban yang disediakan karena tidak ada satu pun yang sesuai dengan keinginannya, pilihan jawaban yang terlalu bervariasi dapat membuat responden bingung untuk menentukan jawaban, serta tidak dapat mendeteksi adanya perbedaan pendapat antara responden dengan peneliti karena responden hanya memilih dari jawaban yang tersedia. Pertanyaan terbuka adalah pertanyaan yang tidak ditentukan pilihan alternatif jawabannya, sehingga responden memiliki kebebasan penuh untuk menjawabnya. Biasanya tipe pertanyaan ini berupa isian / uraian bebas. Keuntungannya adalah responden dapat mengutarakan pendapat dengan lebih rinci sehingga dapat menambah pengetahuan bagi pihak peneliti. Sedangkan kelemahannya adalah jangkauan jawaban terlalu luas dan beraneka ragam karena setiap responden memiliki pendapat berbeda, akibatnya lebih sulit untuk dianalisis.
2.2.4 Skala dalam Kuesioner Penskalaan adalah proses menetapkan nomor - nomor atau simbol simbol terhadap suatu atribut atau karakteristik yang bertujuan untuk mengukur atribut atau karakteristik tersebut (Anonym, 2008). Ada empat bentuk skala pengukuran , yaitu : •
Skala
Nominal
:
digunakan
sebagai
mengklasifikasikan sesuatu. Contoh : Jenis kelamin : 1 = Laki-laki, 2 = Perempuan
kode
/
lambang
untuk
25
•
Skala Ordinal : sama dengan skala nominal, juga memungkinkan dilakukannya klasifikasi. Perbedaannya adalah dalam ordinal juga menggunakan susunan posisi. Skala ordinal sangat berguna karena satu kelas lebih besar atau kurang dari kelas lainnya. Contoh : Tingkat Pendidikan : 1 = SD, 2 = SMP, 3 = SMA, 4 = D3, 5 = S1
•
Skala Interval : memiliki karakteristik dimana interval di antara masing masing nomor adalah sama. Berkaitan dengan karakteristik ini, operasi matematisnya bisa ditampilkan dalam data-data kuesioner, sehingga bisa dilakukan analisis yang lebih lengkap. Contoh : Nilai ujian : A = 90-100, B = 80-90, C = 70-80
•
Skala Rasio : hampir sama dengan skala interval dalam arti interval interval di antara nomor diasumsikan sama. Skala rasio memiliki nilai absolut nol. Contoh : berat badan, tinggi badan.
2.2.5 Merancang Kuesioner Merancang formulir-formulir untuk input data sangat penting, begitu pula dalam merancang format kuesioner. Pemberian jarak atau ruang kosong yang cukup di bagian respon jawaban dan sekeliling halaman atau layar sangat penting untuk meningkatkan tingkat respon. Responden akan merasa lebih nyaman bila tulisan tidak terlalu padat pada halaman pengisian kuesioner. Gunakan kertas berwarna putih untuk kuesioner yang disebarkan dalam bentuk kertas (hardcopy). Sedangkan untuk rancangan kuesioner yang menggunakan
26
web dalam pendistribusiannya, gunakan tampilan yang mudah diikuti, terutama bila kuesioner terdiri dari beberapa halaman pertanyaan. Selain masalah ruang kosong, kekonsistenan gaya penulisan maupun tampilan sangat penting agar responden tidak bingung dalam menjawab pertanyaan. Dalam mengatur urutan pertanyaan, letakkan pertanyaan yang lebih mudah di bagian awal, kemudian diikuti pertanyaan yang lebih sulit. Dahulukan juga pertanyaan tertutup (pertanyaan yang telah disediakan pilihan jawabannya). Begitu pula dengan pertanyaan dengan kategori atau tema yang sama sebaiknya diletakkan berurutan agar responden merasa nyaman dalam menjawab pertanyaan.