BAB 2 TINJAUAN PUSTAKA 2.1
Teori Umum Dalam penulisan skripsi ini, penulis menggunakan beberapa teori umum yang
berhubungan dengan perancangan basis data (database). Maka dari itu, diperlukan beberapa teori umum yang berhubungan dengan perancangan basis data tersebut, seperti teori tentang basis data (database), sistem manajemen basis data (Database Management System, DBMS, siklus hidup basis data (database system development lifecycle, DSDLC), normalisasi (normalization), pemodelan entitas-hubungan (entityrelationship modelling), tools yang digunakan.
2.1.1 Pengertian Basis Data Menurut Connolly dan Begg (2010, p65), basis data adalah kumpulan data yang berelasi secara logika, dan didesain untuk mendapatkan informasi yang dibutuhkan sebuah organisasi. Menurut Date (2004 : p11), Basis Data terdiri dari beberapa kumpulan dari data tetap yang digunakan oleh sistem aplikasi untuk diberikan kepada perusahaan. Menurut Indrajani (2011: p48), Sebuah kumpulan data yang saling berhubungan secara logis, dan merupakan sebuah penjelasan dari data tersebut, yang didesain untuk menemukan data yang dibutuhkan oleh organisasi. Dari pernyataan diatas dapat disimpulkan pengertian dari basis data adalah sekumpulan data yang saling berhubungan dan dirancang untuk memenuhi kebutuhan informasi dari suatu organisasi.
7
8
2.1.2 Pengertian Sistem Manajemen Basis Data (DBMS) Menurut Connolly dan Begg (2010, p66), sistem manajemen basis data adalah sebuah sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, menciptakan, memelihara, dan mengontrol akses ke basis data. Menurut Gill (2008, p2), sistem manajemen basis data adalah sebuah set
program
untuk
mendefinisikan,
menciptakan,
memelihara
dan
memanipulasi sebuah basis data. Dari pernyataan diatas dapat disimpulkan pengertian dari sistem manajemen basis data adalah sistem perangkat lunak atau sebuah set program untuk
mendefinisikan,
menciptakan,
memelihara,
memanipulasi
dan
mengontrol akses ke sistem basis data.
2.1.2.1 Fasilitas Sistem manajemen basis data memiliki beberapa fasilitas diantaranya (Connolly dan Begg, 2010, p66) : -
Data Definition Language (DDL) Data Definition Language adalah suatu bahasa yang memungkinkan
data
administrator
atau
pengguna
untuk
mendeskripsikan dan memberi nama entiti, atribut dan relasi yang diperlukan untuk aplikasi, bersama dengan segala integritas dan batasan keamanan. (Connolly dan Begg, 2010, p333) -
Data Manipulation Language (DML) Data Manipulation Language adalah suatu bahasa yang menyediakan sekumpulan operasi untuk mendukung proses manipulasi data utama seperti memasukan, memperbaharui, menghapus, dan mengirim atau mengambil data dari basis data (Connolly dan Begg, 2010, p333) Menurut Whitten, Bentley, dan Dittman (2004, p555) data manipulation language merupakan
suatu bahasa sistem
manajemen basis data (DBMS) yang digunakan untuk membuat, membaca, mengubah, dan menghapus records. Terdapat dua tipe data manipulation languange, yaitu
9 Pertama, Procedural DML adalah sebuah bahasa yang memberikan fasilitas kepada pengguna untuk memberitahukan kepada sistem, data apa yang diperlukan dan bagaimana seharusnya data tersebut diambil. Kedua, Non Procedural DML adalah sebuah bahasa yang memberikan fasilitas kepada pengguna untuk menyatakan data apa yang diperlukan daripada tentang bagaimana tersebut diambil. Fasilitas yang disediakan sistem manajemen basis data (DBMS) yaitu menyediakan kontrol akses ke basis data sebagai berikut (Connolly dan Begg, 2010, p66) sistem keamanan (Security System), dalam sistem ini digunakan untuk mencegah pengguna yang tidak mempunyai hak akses dapat memasuki basis data. Sistem integritas (Integrity System), dalam sistem ini memelihara agar data yang disimpan dalam basis data tetap konsisten. Sistem akses kontrol bersama (Concurrency Control System), dalam sistem ini dapat mengijinkan basis data diakses secara bersamaan. Selanjutnya, Kontrol sistem perbaikan (Recovery Control System), dalam sistem ini berguna untuk mengembalikan basis data pada kondisi sebelumnya, ketika terjadi kegagalan.
2.1.2.2 Komponen Menurut Connolly dan Begg (2010, p68), ada lima komponen utama dalam lingkungan sistem manajemen basis data :
Gambar 2.1 Komponen-komponen DBMS Environment (Sumber : Connolly dan Begg, 2010, p68)
a. Perangkat keras (Hardware) Perangkat keras dapat berupa komputer tunggal personal, mainframe
tunggal
Perangkat
keras
dan
dapat
sebuah
jaringan
tergantung
pada
komputer. kebutuhan
10 perusahaan dan sistem manajemen basis data yang digunakan. b. Perangkat lunak (Software) Komponen perangkat lunak terdiri dari perangkat lunak sistem manajemen basis data itu sendiri dan program aplikasi dengan sistem operasi (Operating System), termasuk perangkat lunak untuk jaringan jika sistem manajemen basis data digunakan melalui sebuah jaringan. c.
Data (Data) Data adalah komponen paling penting dalam sistem manajemen basis data yang berasal dari sudut pandang pengguna. Data menjadi jembatan penghubung antara mesin dengan pengguna.
d.
Prosedur (Procedure) Prosedur berisikan instruksi dan peraturan yang mengatur rancangan dan kegunaan basis data, seperti memasukkan, menjalankan, dan menghentikan sistem manajemen basis data dan menduplikasi data.
e.
Pengguna (People) Pengguna adalah komponen terakhir yang terlibat ke dalam sistem. pengguna dibedakan menjadi tiga : -
Application Programmers, bertanggung jawab dalam membuat aplikasi basis data dengan menggunakan bahasa pemrograman
-
End user, yang berinteraksi langsung dengan sistem melalui workstation / terminal.
-
Data
Administrator,
yang
berwenang
membuat
keputusan strategi dan mengimplementasi keputusan serta bertanggung jawab atas sistem keseluruhan.
2.1.2.3 Fungsi Fungsi Sistem Manajemen Basis Data, menurut Connolly dan Begg (2010, p99), fungsi sistem manajemen basis data adalah sebagai berikut :
11 a.
Penyimpanan data, pengambilan dan pembaruan
(Data
storage, retrieval and update) Seluruh sistem manajemen basis data harus menyediakan kemampuan penyimpanan, penelusuran kembali dan mengubah data dalam basis data untuk pengguna. b.
Katalog yang dapat diakses pengguna (A user-accessible catalog) Sebuah sistem manajemen basis data harus menyediakan katalog yang dapat mendeskripsikan lokasi penyimpanan data dalam basis data.
c. Pendukung Transaksi (Transaction support) Sistem manajemen basis data harus menyediakan mekanisme yang menjamin kegiatan update yang berhubungan dengan transaksi dapat dikelola dengan baik. d. Layanan Persetujuan Kontrol (Concurrency control services) Sistem manajemen basis data harus menyediakan sebuah mekanisme yang menjamin basis data terupdate dengan benar ketika beberapa pengguna mengupdate data tersebut pada waktu yang bersamaan. e. Layanan Pemulihan (Recovery service) Sistem manajemen basis data harus menyediakan sebuah mekanisme untuk memperbaiki basis data yang rusak karena suatu kejadian. f. Layanan Otorisasi (Authorization service) Sistem manajemen basis data harus menyediakan sebuah mekanisme yang menjamin hanya pengguna yang diberi otoritas dapat mengakses basis data. g. Pendukung Komunikasi Data (Support for data communication) Sistem manajemen basis data harus mampu berintegrasi dengan perangkat lunak komunikasi. h. Layanan Integritas (Integrity service) Sistem manajemen basis data harus menyediakan sebuah cara untuk menjamin bahwa data dalam basis data telah mengikuti aturan-aturan integritas yang tepat.
12 i. Layanan Mempromosikan Data Independensi (Service to promote data independence) Sistem manajemen basis data harus mencakup fasilitas-fasilitas yang mendukung program-program yang mandiri dari struktur basis data. j. Layanan Utilitas (Utility service) Sistem manajemen basis data harus menyediakan layanan manfaat agar basis data dapat diadministrasi secara efektif.
Layanan
manfaat ini meliputi: -
Fasilitas Import Database.
-
Fasilitas Monitoring Database Usage dan Database Operation.
-
Program Analisis Statistikal, untuk analisis performa dan statistik pemakaian.
-
Fasilitas Index Reorganization.
2.1.2.4 Keuntungan dan Kerugian Menurut Connolly dan Begg (2010, p77), keuntungan dari sistem manajemen basis data, diantaranya : a.
Mengurangi redundansi data, data yang sama cukup disimpan sekali.
b.
Menghindari inkonsistensi redundansi berkurang sehingga update terhadap data yang sama hanya perlu dilakukan pada satu tabel saja, maka tabel-tabel lain yang berhubungan ikut berubah.
c.
Pengaksesan data beberapa pengguna dalam waktu yang sama.
d.
Integritas, data yang tersimpan merupakan data yang akurat.
e.
Jaminan keamanan dengan pengaturan hak akses data.
f.
Standarisasi, keseragaman dalam penyajian data.
g.
Meningkatkan aksesibilitas, pengguna dapat memperolehdan mengakses data yang diinginkan melalui query.
h.
Meningkatkan produktifitas, tidak perlu menggunakan bahasa pemrograman yang sulit, cukup menggunakan 4th Generation Languages.
13 i.
Meningkatkan
pemeliharaan
melalui
data
independence.
Aplikasi dan basis data terpisah sehingga perubahan pada basis data tidak mengubah program aplikasi. j.
Meningkatkan konkurensi, pengaturan terhadap data yang diakses oleh beberapa pengguna secara bersamaan, sehingga integritas data tidak hilang.
k.
Meningkatkan fasilitas back up dan recovery data. Menurut Connolly dan Begg (2010, p80), kerugian dari sistem manajemen basis data, diantaranya :
2.1.3
-
Kompleksitas.
-
Ukuran.
-
Biaya dari Sistem manajemen basis data.
-
Biaya tambahan perangkat keras.
-
Biaya proses konversi.
-
Performa.
Siklus Hidup Aplikasi Basis Data Menurut Connolly dan Begg (2010), ada beberapa alasan utama suatu
software mengalami kesalahan, yaitu : 1. Kurangnya spesifikasi kebutuhan. 2. Metodologi perancangan yang kurang baik. 3. Komposisi desain komponen yang kurang baik.
Sebagai solusi atas masalah tersebut, pendekatan terstruktur untuk pengembangan software dibuatlah Siklus Hidup Sistem Informasi / Information Systems Lifecycle (ISLC) atau Siklus Hidup Perangkat Lunak / Software Development Lifecycle (SDLC). Namun, jika software yang sedang dibangun merupakan sistem database, maka disebut Siklus Hidup Sistem Basisdata / Database System Development Lifecycle (DSDLC).
14
Gambar 2.2 Database System Development Lifecycle (DSDLC) (Sumber : Connolly dan Begg, 2010, p314)
2.1.3.1 Perencanaan Database Menurut Connolly dan Begg (2010), Perencanaan Database adalah suatu aktivitas yang memungkinkan tahapan dari Database System Development Lifecycle (DSDLC) dapat direalisasikan secara efektif.
15 Database planning harus terintegrasi dengan keseluruhan strategi sistem informasi. Ada tiga macam isu utama yang berperan dalam membuat strategi sistem informasi: 1. Identifikasi rencana dan tujuan perusahaan sesuai dengan kebutuhan sistem informasi. 2. Evaluasi informasi yang ada saat ini untuk menentukan kekuatan dan kelemahannya. 3. Perkiraan
kesempatan
dalam
bidang
IT
yang
dapat
meningkatkan keuntungan kompetitif bagi perusahaan.
2.1.3.2 Pendefinisian Sistem Menurut Connolly dan Begg (2010), pendefinisian sistem mendeskripsikan ruang lingkup dan batasan dari sistem database dan userview. User View mendefinisikan apa yang dibutuhkan oleh suatu sistem database dari sudut pandang pekerja tertentu (seperti manager atau supervisor) atau bagian enterprise application (seperti marketing, personel, atau stock control).
2.1.3.3 Pengumpulan dan Analisa Kebutuhan Menurut Connolly dan Begg (2010), Requirement collection and analysis adalah proses mengumpulkan dan menganalisis informasi mengenai bagian dari organisasi yang akan didukung oleh sistem database, dan menggunakan informasi tersebut untuk mengidentifikasikan kebutuhan sistem yang baru.
2.1.3.4 Perancangan Database Menurut Connolly dan Begg (2010), database design adalah proses menciptakan desain database yang mendukung tujuan dari perusahaan untuk sistem database yang diperlukan. Database design terdiri dari tiga fase utama,yaitu : 1. Conceptual database design 2. Logical database design 3. Physical database design
16 2.1.3.5 Pemilihan DBMS Melakukan pemilihan DBMS yang cocok dengan sistem database. Tahap – tahap dalam memilih DMBS, yaitu: 1.
Mengidentifikasi studi kerangka acuan.
2.
Mempersiapkan dua atau tiga produk.
3.
Evaluasi produk.
4.
Merekomendasikan seleksi dan menghasilkan laporan.
2.1.3.6 Perancangan Aplikasi Application Design adalah merancang antarmuka dan aplikasi program yang akan digunakan dalam memproses database.
2.1.3.7 Prototyping Prototyping adalah bentuk kerangka kerja dari sistem database. Tujuan utama dari pengembangan prototype adalah memungkinkan
pengguna
menggunakan
prototype
untuk
mengidentifikasi fitur dari sistem berjalan dengan baik atau tidak dan memungkinkan untuk membuat peningkatan atau fitur – fitur baru kedalam sistem database. Dengan cara ini dapat diketahui kebutuhan untuk pengguna dan mengembangkan sistem dan mengevaluasi kemungkinan yang terjadi dari sebagian rancangan sistem. Ada 2 strategi prototype yang digunakan : 1.
Requirement prototyping Menggunakan prototype untuk menentukan syarat dari sistem database yang diusulkan dan ketika persyaratan tersebut dapat dipenuhi, prototype tidak digunakan lagi.
2.
Requirement prototyping Digunakan untuk tujuan yang sama, tetapi dengan perbedaan yaitu prototype dikembangkan menjadi aplikasi database.
17 2.1.3.8 Implementasi Implementasi adalah realisasi fisik dari database dan desain aplikasi. 2.1.3.9 Konversi dan Loading Data Mengirim data kedalam database baru dan melakukan konversi untuk setiap aplikasi yang ada untuk dijalankan pada database baru.
2.1.3.10 Testing Testing adalah proses menjalankan sistem database untuk menemukan kesalahan.
2.1.3.11 Pemeliharaan Operational maintenance adalah proses pemantauan dan pemeliharaan sistem database setelah instalasi, meliputi: 1. Memantau
kinerja
sistem,
jika
kinerja
menurun
maka
memerlukan perbaikan. 2. Mempertahankan dan meningkatkan sistem database (jika diperlukan).
2.1.4
Entity-Relationship Modeling Untuk memastikan pemahaman yang tepat terhadap data dan
bagaimana penggunaannya di dalam suatu perusahaan, diperlukan sebuah model. Salah satunya adalah entity-relationship modeling (ER). Menurut Connolly dan Begg (2010, p371), model entity relationship menggunakan pendekatan perancangan basis data top-down, yang dimulai dengan mengidentifikasikan data yang penting. Data yang penting itu disebut entitas, dimana relationship diantaranya harus direpresentasikan dalam model yang kemudian ditambahkan beberapa atribut dan constraint. Kebalikan dari pendekatan top-down, pendekatan bottom-up dimulai dengan mengidentifikasikan data item (attribute dan relationship), kemudian terakhir baru memulai mengidentifikasikan entitasnya. Oleh karena itu, pendekatan bottom-up tidak begitu efektif digunakan untuk pembuatan model Etity Relationship.
18 Jadi, entity relationship merupakan hal yang sangat penting dalam merancang basis data, karena tanpa adanya modeling ini, maka proses pembuatan basis data menjadi berlangsung lama dan tidak teratur. 2.1.4.1. Entity types Entity type adalah kumpulan dari berbagai obyek-obyek yang mempunyai sifat atau properti yang sama dan didefinisikan oleh perusahaan.
Serta
mempunyai
eksistensi
yang
independent.
Keberadaan entity type dapat berupa fisik atau abstrak. (Connolly dan Begg, 2010, p372). Konsep dasar dari entity relationship adalah tipe entitas, yang merepresentasikan sebuah kumpulan obyek dalam dunia nyata dengan properti yang sama. Sebuah tipe entitas mempunya keberadaan yang independent dan dapat menjadi obyek fisikal maupun obyek konseptual. Ini berarti perancang yang berbeda mungkin dapat mengidentifikasi entitas yang berbeda pula. Entity occurrence adalah obyek dan tipe entitas yang dapat didefinisikan secara unik. Entity type dapat diklasifikasikan menjadi: 1. Strong entity type, yaitu entity type yang keberadaannya tidak bergantung pada entity type lainnya. (Connolly dan Begg, 2010, 382). 2. Weak entity type, yaitu entity type yang keberadaannya bergantung pada entity type lainnya. (Connolly dan Begg, 2010, 382).
2.1.4.2. Relationship Types Relationship type adalah sekumpulan asosiasi antara tipe-tipe entitas yang ada dan mempunyai arti. (Connolly dan Begg, 2010, 374). Relationship occurrence adalah suatu gabungan yang dapat diidentifikasikan secara unik, yang meliputi satu kejadian dari setiap entitas yang berpartisipasi. (Connolly dan Begg, 2010, 375). Recursive relationship adalah sebuah tipe relationship dimana tipe entitas yang sama dapat berpartisipasi lebih dari sekali pada peran yang berbeda. (Connolly dan Begg, 2010, 378).
19 Derajat dari relationship type adalah jumlah dari partisipasi tipe entitas dalam sebuah tipe relasi tertentu. Entitas yang berkaitan dalam sebuah tipe relasi terkenal sebagai participant dalam relationship. Jumlah dari participant dalam relationship adalah derajat dari relationship. Oleh karena itu, derajat dari relationship yang berderajat dua disebut binary, sedangkan relationship yang berderajat tiga
disebut
ternary.
Quaternary
adalah
relationship
yang
menghubungkan 4 entitas yang berbeda.
Gambar 2.3 Binary (Connolly dan Begg, 2010, p376)
G Gambar 2.4 Ternary (Connolly dan Begg, 2010, p377)
Gambar 2.5 Quaternary(Connolly dan Begg, 2010, p377)
20 2.1.4.3. Attribute Attribute merupakan sifat-sifat atau properti dari sebuah tipe entitas atau tipe relationship. (Connolly dan Begg, 2010, 379). Domain attribute adalah kumpulan nilai yang diperbolehkan untuk satu atau lebih atribut. Setiap atribut yang dihubungkan dengan sejumlah nilai yang disebut domain. Domain akan mendefinisikan nilai-nilai yang dimiliki sebuah atribut dan fungsi domain di sini sama dengan konsep domain pada model relasional. Macam-macam atribut yang ada yaitu : •
Simple/composite attribute Simple attribute adalah atribut yang terdiri satu komponen
tunggal
(single)
dan
keberadaannya
independent. Composite attribute adalah atribut yang terdiri dari beberapa komponen yang keberadaannya independent. (Connolly dan Begg, 2010, 380). •
Single-valued and multi-valued attributes Single-valued attribute adalah atribut yang menampung nilai tunggal untuk tiap-tiap kejadian dari suatu tipe entitas. Sebagian besar atribut adalah bernilai tunggal. Multi-valued
attribute
adalah
atribut
yang
dapat
menampung banyak nilai untuk setiap kejadian dari suatu tipe entitas. (Connolly dan Begg, 2010, 380). •
Derived attributes Atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa atribut lainnya dan tidak harus bersal dari entitas yang sama. (Connolly dan Begg, 2010, 380).
•
Keys Keys terdiri dari lima macam, yaitu : - Candidate key Merupakan sejumlah kecil atribut dari entitas yang mengidentifikasikan setiap kejadian dari entitas
21 tersebut secara unik. (Connolly dan Begg, 2010, 381)
- Primary Key Merupakan
candidate
key
yang
diilih
untuk
mengidentifikasikan setiap kejadian dari entitas secara unik. (Connolly dan Begg, 2010, 381) - Alternate Key Merupakan kumpulan candidate key yang tidak terpilih menjadi primary key. (Connolly dan Begg, 2010, 151) - Composite Key Merupakan candidate key yang terdiri dari dua atau lebih atribut. (Connolly dan Begg, 2010, 382) - Foreign Key Sebuah atribut atau sekumpuulan atribut pada suatu relasi yang sama dengan candidate key dari beberapa relasi lainnya. (Connolly dan Begg, 2010, 151).
2.1.4.4. Structural Constraint Jenis yang paling utama dari structural constraint adalah multiplicity. Multiplicity adalah jumlah occurrence (kejadian) yang mungkin terjadi pada sebuah tipe entity yang berhubungan ke sebuah occurrence dari tipe entity lain pada suatu relationship. (Connolly dan Begg, 2010, 385). Tiga macam hubungan binary secara umum yaitu : • Derajat hubungan one to one (1:1) Derajat hubungan 1:1 terjadi bila tipe anggota suatu entitas hanya boleh berpasangan dengan satu anggota dari entitas yang lain. Dan begitu juga sebaliknya, anggota dari entitas yang lain hanya boleh mempunyai satu anggota dari entitas tersebut.
22
Gambar 2.6 One to One (Connolly dan Begg, 2010, p388) • Derajat hubungan one to many (1:*) Derajat hubungan 1:* terjadi bila tiap naggota tiap entitas memiliki lebih dari satu anggota dari entitas lain. Dan sebaliknya, entitas yang lain hanya boleh berpasangan dengan satu anggota dari entitas tersebut.
Gambar 2.7 One to Many (Connolly dan Begg, 2010, p389) • Derajat hubungan many to many (*:*) Derajat hubungan *:* terjadi apabila tiap anggota suatu entitas memiliki lebih dari satu anggota dari entitas lain. juga entitas lain memiliki lebih dari satu anggota dari entitas tersebut.
Gambar 2.8 Many to Many (Connolly dan Begg, 2010, p389)
23
Cardinality dan Participant Constraint Multiplicity sebenarnya terdiri atas dua constraint yang berbeda, yaitu : 1.
Cardinality, mendeskripsikan nilai maksimum dari relationship occurrence yang mungkin terjadi untuk sebuah entity yang ikut serta pada suatu relationship. (Connolly dan Begg, 2010, 390)
2.
Participant, menentukan apakah semua atau hanya beberapa entity occurrence yang ikut serta dalam sebuah relationship. (Connolly dan Begg, 2010, 391). Participant constraint dibagi menjadi : a.
Mandatory participant melibatkan semua entity occurrence pada relationship tertentu. (Connolly dan Begg, 2010, 391)
b.
Optional participant melibatkan beberapa entity occurrence pada relationship tertentu. (Connolly dan Begg, 2010, 391)
Gambar 2.9 Cardinality dan Participation (Connolly dan Begg, 2010, p391)
24 2.1.5
Normalisasi Menurut Connolly dan Begg (2010), Normalisasi adalah suatu teknik
untuk menghasilkan sekumpulan relasi sesuai dengan properti yang diinginkan, beserta kebutuhan data dari suatu perusahaan. Tujuan dari normalisasi adalah untuk mengidentifikasi sekumpulan relasi yang sesuai yang dapat mendukung kebutuhan data dari perusahaan. Proses Normalisasi : 1. Unnormalized Form (UNF), adalah table yang mengandung satu atau lebih kelompok yang berulang. 2. First Normal Form (1NF), adalah suatu relasi dimana setiap baris dan kolomnya hanya mengandung satu value. 3. Second Normal Form (2NF), adalah suatu relasi yang berada dalam bentuk 1NF, dan setiap atribut non-primary key memiliki ketergantungan fungsional terhadap primary key. Misalnya A dan B adalah atribut dari suatu relasi, B bergantung secara fungsional terhadap A tetapi B bukan merupakan subset dari A. 4. Third Normal Form (3NF), adalah suatu relasi yang berada dalam bentuk 1NF dan 2NF, dimana tidak ada atribut non-primary key yang memiliki ketergantungan transitif terhadap primary key. Misalnya A, B, dan C adalah atribut dari suatu relasi, dimana A → B dan B → C, maka C bergantung secara transitif terhadap A melalui B.
2.1.6
Tools yang digunakan Penulis akan menjelaskan beberapa tools yang digunakan dalam
pembuatan sistem informasi perbaikan kapal dan penjualan suku cadang berbasis web.
2.1.6.1 Diagram Tools Diagram tools yang digunakan adalah Data Flow Diagram (DFD) dan Entity Relationship Diagram (ERD).
2.1.6.1.1 Data Flow Diagram (DFD) Menurut Tiwari, Tripati, Sharma, dan Dubey (2012), Data Flow Diagram adalah representasi grafis yang berisi
25 node dan petunjuk arah. Sebuah node bisa berarti data store/tempat penyimpanan atau sebuah proses atau terminator yang merupakan input atau output dari sistem. Sedangkan panah mewakili aliran data. Semua node dan panah harus diberi label. DFD digunakan secara luas untuk memodelkan proses dalam analisis kebutuhan. DFD merefleksikan struktur sistem dan juga digunakan untuk perbaikan sistem. Menurut Pressman (2010), DFD terdiri dari diagram konteks dan diagram rinci (DFD Levelled). Diagram konteks berfungsi memetakan model lingkungan (menggambarkan hubungan antara entitas luar, masukan dan keluaran sistem), yang direpresentasikan dengan lingkaran tunggal yang mewakili keseluruhan sistem. DFD levelled menggambarkan sistem sebagai jaringan kerja antara fungsi yang berhubungan satu sama lain dengan aliran dan penyimpanan data, model ini hanya memodelkan sistem dari sudut pandang fungsi. Dalam DFD levelled akan terjadi penurunan level dimana dalam penurunan
level
yang
lebih
rendah
harus
mampu
merepresentasikan proses tersebut ke dalam spesifikasi proses yang jelas. Jadi dalam DFD levelled bisa dimulai dari DFD level 0 kemudian turun ke DFD level 1 dan seterusnya. Setiap penurunan hanya dilakukan bila perlu. Beberapa simbol atau notasi yang digunakan dalam DFD :
Tabel 2.1 Simbol atau Notasi dalam DFD (sumber : Tiwari, Tripati, Sharma dan Dubey) Nama Notasi External entity
Process/Function
Gambar
26 Data Flow
Data store/Database
Menurut Sommervile (2011), DFD digunakan untuk menunjukkan aliran data melalui suatu urutan proses. Data bertransformasi di setiap tahapan sebelum bergerak ke tahapan yang selanjutnya. Tahapan proses atau transformasi ini menggambarkan proses atau fungsi software dimana DFD digunakan untuk mendokumentasikan software design.
Control Panel
User commands and data Safe Home Software
Display information
Control Panel Display
Alarm type Alarm
Sensors
Sensor status Telephone number tones Telephone Life
Gambar 2.10 DFD level context (Sumber : Pressman, 2010, p322)
27
Gambar 2.11 Contoh DFD level 0 (Sumber : Pressman, 2010, p323)
2.1.6.1.2 Entity Relationship Diagram (ERD) Menurut Rizky, Suryan dan Adi (2012), Entity Relationship Diagram (ERD) merupakan salah satu pemodelan basis data konseptual yang menggambarkan basis data ke dalam bentuk entitas-entitas (objek) dan relasi yang terjadi di antara entitas-entitas yang ada. Simbol-simbol dalam ERD :
28 Tabel 2.2 Simbol - simbol ERD (sumber : Rizky, Suryan dan Adi) Simbol
Nama
Fungsi Objek yang dapat diidentifikasi dalam
Entitas
lingkungan pemakai Mendeskripsikan
Atribut
karakter entitas Penghubung antara relasi dengan entitas, relasi dan entitas dengan atribut
2.1.7 Perancangan User Interface Menurut Connolly dan Beeg (2010: 331), interaksi manusia dengan komputer adalah suatu ilmu yang berhubungan dengan perancangan, evaluasi, serta implementasi sistem komputer interaktif yang akan digunakan oleh manusia. Dalam merancang antarmuka pemakai (user interface) perlu menggunakan delapan aturan emas ( 8 golden rule ). Menurut (Shneiderman and
Plaisant,
2010,
p88-p89) dalam
perancangan antarmuka harus memperhatikan kaidah-kaidah seperti berikut Shneiderman’s 8 Golden Rules of Interface Design:
1. Berusaha untuk konsisten Pentingnya bagi antarmuka pemakai untuk tetap konsisten agar user tidak kebingungan dalam mencari sebuah informasi. Contoh, tampilan layar harus konsisten dari yang satu dengan yang lainnya. 2. Melayani universal usabilty Mengenali kebutuhan pengguna yang beragam dan desain untuk plasticity, memfasilitasi transformasi pemberitahuan konten ke perbedaan ahli, rentang usia, cacat, dan keragaman masing- masing teknologi memperkaya spektrum persyaratan desain panduan itu.
29 Menambahkan fitur bagi para pemula, seperti penjelasan, dan fitur untuk para ahli, seperti shortcut dan aksi balik lebih cepat, dapat memperkaya desain antarmuka dan meningkatkan persepsi kualitas sistem. 3. Memberikan umpan balik yang informatif Untuk setiap user melakukan aksi, maka harus ada umpan balik agar membuat user menjadi terarah dan tidak tersesat dalam pencarian informasi. 4. Merancang dialog yang memberikan penutupan (keadaan akhir) Berinteraksi dengan komputer sama seperti berdialog. Aksi yang berurutan harus diorganisasi dan memiliki awal, tengah, maupun akhir. Penting bagi user untuk mengetahui kapan aksi tersebut berakhir. Umpan balik yang informatif pada saat sekumpulan aksi telah dilakukan memberikan user suatu kepuasan, rasa lega, dan indikasi bahwa user boleh melakukan aksi yang selanjutnya. 5. Mencegah terjadinya error Sebanyak mungkin menghindari kesalahan pada perancangan sistem sehingga pengguna tidak dapat membuat kesalahan serius; misalnya field item yang harus diisi oleh user yang tidak mengizinkan karakter abjad dalam pengisian data numerik. Jika user membuat kesalahan, interface harus mendeteksi kesalahan dan menawarkan instruksi sederhana, konstruktif, dan khusus untuk proses perbaikan kesalahan. Misalnya, user tidak perlu mengetik ulang bentuk seluruh nama-alamat jika mereka memasukkan kode pos tidak valid, melainkan harus diarahkan untuk memperbaiki hanya bagian pengisian data yang tidak valid. Tindakan yang menghasilkan error harus membiarkan keadaan sistem tidak berubah, atau interface harus memberikan instruksi-instruksi tentang bagaimana mengembalikan sistem ke bentuk semula. 6. Memungkinkan pembalikan aksi (undo) yang mudah. User harus dapat kembali pada aksi yang telah dilakukan sebelumnya, baik itu ada kesalahan maupun tidak. 7. Mendukung pusat kendali internal. Kepuasan user akan tinggi jika user merasakan bahwa dia
30 telah memegang kendali sedangkan kepuasan user akan rendah jika komputer yang memegang kendali. 8. Mengurangi beban ingatan jangka pendek. Ingatan jangka pendek manusia sangatlah terbatas. Lakukan apa saja yang memungkinkan user tidak perlu mengingat apa pun. Sebagai contoh, daripada meminta unser untuk mengetik nama file yang akan diterima, lebih balik apabila user diminta untuk menampilkan daftar dari file yang tersedia. Menurut (Shneiderman and Plaisant, 2010, p32), faktor – faktor manusia terukur dalam desain antarmuka pengguna terdiri atas: 1. Waktu belajar Berapa lama waktu yang diperlukan orang awam dalam komunikasi pengguna untuk mempelajari cara relevan untuk melakukan suatu tugas. 2. Kecepatan kinerja Berapa lama waktu yang diperlukan untuk melakukan tugas. 3. Tingkat kesalahan Berapa banyak kesalahan dan kesalahan apa saja yang dibuat pengguna. 4. Daya ingat Bagaimanakah
kemampuan
pengguna
mempertahankan
pengetahuannya setelah jangka waktu tertentu. Daya ingat berkaitan erat dengan waktu belajar dan frekuensi penggunaan. 5. Kepuasan subjektif Seberapa suka pengguna menggunakan variasi aspek dari sistem? Jawabannya dapat dipastikan dengan interview atau survey
2.1.8 Software Tools Software tools yang digunakan antara lain adalah PHP 4, Javascript, Cascading Style Sheet (CSS), HTML, MySQL, dan JQuery.
2.1.8.1 PHP 4 Menurut Choi, Kent, Lea, Prasad, dan Ullman (2000), PHP 4 adalah salah satu wujud dari PHP (PHP Hypertext Preprocessor) yang
31 merupakan suatu bahasa pemrograman untuk membuat website yang dinamis dan interaktif yang dibuat oleh Rasmus Lerdorf pada tahun 1994. Semenjak itu PHP mengalami banyak perubahan dan telah digunakan oleh banyak web programmer di seluruh dunia. Secara teknis, PHP 4 adalah cross-platform, HTML-embedded, server-side, web scripting language. 1. Cross-platform. PHP 4 bisa dijalankan pada sistem operasi yang berbeda-beda. 2. HTML-embedded. Code PHP 4 ditulis di dalam file yang mengandung kombinasi dari instruksi PHP dan HTML. 3. Server-side. Program PHP 4 yang dibuat dijalankan pada suatu server, khususnya webserver. 4. Web scripting language. PHP 4 dijalankan melalui web browser.Dan diakses pada webserver yang menjalankan program tersebut. Salah satu kelebihan PHP 4 adalah PHP 4 didukung oleh banyak Internet Service Provider (ISP) yang berarti bila membuat aplikasi yang menggunakan PHP 4, dapat ditempatkan dengan mudah ke dalam web untuk digunakan banyak orang. 2.1.8.2 Cascading Style Sheet (CSS) Menurut Wooldridge, M. dan Wooldridge, L. (2008), CSS adalah teks file yang terpisah dari dokumen HTML, CSS juga bisa dibuat di dalam HTML code, CSS berisi formatting code yang mengontrol tampilan halaman web. CSS dapat digunakan untuk mengubah tampilan elemen halaman web seperti paragraf, list, background, dan lain – lain. CSS dapat dipanggil ke dalam dokumen HTML melalui suatu link tag.
2.1.8.3 HTML Menurut Fathansyah (2004), HyperText Markup Language atau HTML merupakan bahasa tampilan hypertext untuk kebutuhan umum. HTML juga
menyediakan fitur-fitur (walaupun terbatas) untuk
mengakomodasi pemasukan data. Sebagai contoh, sebuah dokumen HTML dapat mengatur bagaimana sebuah form harus ditampilkan. HTML mengendalikan tampilan layar aktual, formulir spesifikasi yang bisa diisi dan menu yang bisa dipilih, kesemuanya dikendalikan oleh
32 dokumen HTML. Akan tetapi, tidak ada koneksi terus menerus antara client dan server. Server tidak memiliki history atas interaksinya dengan client, dan semua status informasi harus disimpan di client dan dikirim ke server setiap kali keduanya berkomunikasi. Hal ini merupakan salah satu kelemahan dati HTML. Namun dengan mengabaikan kelemahan ini, HTML merupakan satu bukti tentang pentingnya sistem informasi terdistribusi di masa depan.
2.1.8.4 MySQL Menurut Kroenke (2006), MySQL adalah suatu produk DBMS yang open source yang dapat berjalan pada UNIX, Linux, dan Windows, walaupun MySQL memiliki kekurangan dibandingkan produk DBMS komersial seperti Oracle dan SQL Server.
Tabel 2.3 Storage Requirements for Numeric and String Types (sumber : http://dev.mysql.com/) Data Type
Storage Required
TINYINT
1 byte
SMALLINT
2 bytes
MEDIUMINT
3 bytes
INT, INTEGER
4 bytes
BIGINT
8 bytes 4 bytes if 0 <= p <= 24, 8 bytes if 25
FLOAT(p)
<= p <= 53
FLOAT
4 bytes
DOUBLE [PRECISION], REAL
8 bytes
DECIMAL(M,D), NUMERIC(M,D) Varies; see following discussion BIT(M)
approximately (M+7)/8 bytes
Data Type
Storage Required M × w bytes, 0 <= M <= 255, where w is the number of bytes required for the maximum-
CHAR(M)
length character in the character set.
33 Data Type
Storage Required SeeSection 14.2.9.5, “Physical Row Structure” for information about CHARdata type storage requirements for InnoDB tables.
BINARY(M)
M bytes, 0 <= M <= 255 L + 1 bytes if column values require 0 – 255 bytes, L + 2 bytes if values may require
VARCHAR(M), VARBINARY(M)
more than 255 bytes
TINYBLOB, TINYTEXT
L + 1 bytes, where L < 28
BLOB, TEXT
L + 2 bytes, where L < 216
MEDIUMBLOB, MEDIUMTEXT
L + 3 bytes, where L < 224
LONGBLOB, LONGTEXT
L + 4 bytes, where L < 232 1 or 2 bytes, depending on the number of enumeration values (65,535 values
ENUM('value1','value2',...)
maximum) 1, 2, 3, 4, or 8 bytes, depending on the number of set members (64 members
SET('value1','value2',...)
2.2
maximum)
Teori – Teori Khusus Dalam penulisan skripsi ini, penulis juga menggunakan beberapa teori khusus
yang berhubungan dengan modul sistem informasi yang dibuat yaitu pemeliharaan, penjualan, pembelian, dan persediaan. Dalam modul pemeliharaan mencakup perawatan dan perbaikan, dalam modul penjualan mencakup penjualan suku cadang, dalam modul pembelian mencakup pembelian bahan baku dan pembelian suku cadang, dalam modul persediaan mencakup persediaan bahan baku dan suku cadang yang tersedia.
34 2.2.1 Pemeliharaan Menurut Assauri (2004;95) pemeliharaan adalah kegiatan untuk memelihara atau menjaga fasilitas/peralatan pabrik dan mengadakan perbaikan atau penyesuaisan/penggantian yang diperlukan agar terdapat suatu keadaan operasi produksi yang memuaskan sesuai dengan apa yang direncanakan. Menurut Tampubolon (2004;250) Pemeliharaan merupakan semua aktivitas termasuk menjaga peralatan dan mesin selalu dapat melaksanakan pesanan pekerjaan. Assauri dalam buku Manajemen Produksi dan Operasi (2008 : 134) mengemukakan kriteria tersebut dalam dua macam dimensi pemeliharaan. Kedua dimensi tersebut adalah Planned Maintenance (pemeliharaan yang terencana), dan Unplanned Maintenance (pemeliharaan yang tidak terencana).
Gambar 2.12 Diagram alur dari pembagian pemeliharaan
a. Planned Maintenance (pemeliharaan yang terencana), adalah kegiatan perawatan yang dilaksanakan berdasarkan perencanaan ini mengacu pada rangkaian proses produksi. Planned Maintenance terdiri dari : 1. (Preventive maintenance), pemeliharaan pencegahan adalah pemeliharaan yang dilaksanakan dalam periode waktu yang tetap atau dengan kriteria tertentu pada berbagai tahap proses produksi. 2. (Corrective
maintenance),
pemeliharaan
kerusakan
adalah
pemeliharaan yang dilaksanakan karena adanya hasil produksi
35 (setengah jadi maupun barang jadi) tidak sesuai dengan rencana, baik mutu, biaya, maupun ketepatan waktunya. 3. Breakdown maintenance adalah pekerjaan perawatan yang direncanakan untuk memperbaiki mesin setelah terjadi kerusakan atau kemacetan pada mesin dan untuk memperbaikinya harus disiapkan suku cadang, material, peralatan, dan tenaga kerja. 4. Emergency maintenance adalah pekerjaan perbaikan yang dilaksanakan secara darurat untuk menanggulangi kemacetan proses produksi yang terjadi supaya tidak terlalu lama berhenti. Pekerjaan ini sifatnya sementara sampai selesainya penggantian komponen yang menyebabkan kemacetan tersebut. 5. Predictive
maintenance adalah pekerjaan
perawatan
yang
dilakukan dengan memprediksikan kapan mesin tersebut harus segera dilaksanakan berdasarkan kebiasaan, ciri-ciri atau tandatanda mesin bila akan mengalami kerusakan sehingga kerusakan yang lebih fatal bias diicegah. 6. Overhaul maintenance adalah kegiatan perawatan berupa koreksi atau perbaikan besar, dan dilaksanakan secara terjadwal dalam interval waktu tertentu. Overhaul bertujuan mengembalikan performa peralatan produksi sehingga mendekati performa awal agar dapat diperoleh produk yang berkualitas baik. 7. Productive maintenance adalah perawatan yang bertujuan untuk meningkatkan pemeliharaan pada mesin. Sasaran Productive maintenance adalah profitable preventive maintenance dengan tidak hanya mencegah breakdown dan defect tetapi juga bekerja dengan efisien. 8. Total Productive maintenance adalah perawatan yang dilakukan dengan melibatkan dukungan dari semua pihak untuk memperoleh nilai produktivitas yang optimal.
36 b. Unplanned maintenance (pemeliharaan yang tidak terencana), adalah pemeliharaan yang dilakukan karena adanya indikasi atau petunjuk bahwa adanya tahap kegiatan proses produksi yang secara tiba-tiba memberikan hasil yang tidak layak. Dalam hal ini perlu dilakukan kegiatan pemeliharaan atas mesin secara tidak terencana.