BAB 2 LANDAS AN TEORI
2.1
Teori-Teori Dasar/Umum 2.1.1
Analisis dan Perancangan Sistem 2.1.1.1 Pengertian Sistem M enurut James A. O’Brien (2006, p29), sistem adalah sekelompok komponen yang saling berhubungan, bekerja bersama untuk mencapai tujuan bersama dengan menerima input serta menghasilkan output dalam proses informasi yang teratur. M enurut M cLeod (1998, p11) sistem adalah sekelompok elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan.
2.1.1.2 Perancangan Sistem M enurut Alter (1999,p383) Perancangan sistem adalah bagian dari perancangan bisnis yang berhubungan dengan penyebaran sumber daya sistem informasi perusahaan yang mencakup manusia, perangkat keras dan perangkat lunak.
8
9
M enurut M cleod (2001, p238), Perancangan sistem adalah penentuan proses dan data yang diperlukan oleh sistem baru, jika sistem itu berbasis komputer, perancangan dapat menyertakan spesifikasi peralatan yang akan digunakan. Dari pendapat-pendapat tersebut diatas, maka dapat disimpulkan bahwa perancangan sistem merupakan proses penterjemahan kebutuhan pemakai informasi ke dalam suatu rancangan untuk memenuhi kebutuhan pemakai dan memberi gambaran yang lebih jelas untuk dijadikan pertimbangan.
2.1.1.3 Pengertian Analisis Sistem M enurut Whitten, Bentley dan Dittman (2004, p38) analisis sistem adalah studi masalah bisnis domain untuk merekomendasikan perbaikan dan menentukan kebutuhan bisnis dan prioritas untuk solusi. Analisis sistem ini dimaksudkan untuk memberikan
tim proyek
dengan
pemahaman
yang lebih
menyeluruh tentang masalah dan kebutuhan yang memicu proyek. M enurut M cLeod (2001, p88) analisis sistem adalah penelitian suatu sistem yang telah ada dengan tujuan untuk merancang sistem baru atau diperbaharui.
10
2.1.2
Sistem Basis Data 2.1.2.1 Data M enurut O’Brien (2005, p206) data adalah sumber daya penting organisasi yang perlu dikelola seperti mengelola aset penting dalam bisnis lainnya. M enurut Laudon (2000,p8), data merupakan aliran fakta yang mewakili kejadian yang terjadi dalam organisasi atau dalam lingkungan fisik sebelum mereka diatur menjadi sebuah form yang dapat dimengerti oleh pengguna. M enurut Whitten et al (2004, p23) data adalah fakta mentah mengenai orang, tempat, kejadian, dan hal-hal penting yang ada dalam organisasi. Tiap fakta, tanpa disertai fakta lainnya, secara relatif tidak mempunyai arti. M enurut Turban (2005, p38) data merupakan kumpulan fakta atau dari sesuatu, kejadian, aktivitas, dan transaksi, yang diambil, dicatat, disimpan dan dikelompokkan, tetapi tidak diatur untuk menyatukan suatu arti tertentu.
11
2.1.2.2 Basis Data M enurut Connoly dan Begg (2002, p14), Basis data adalah sekumpulan data yang saling terhubung secara logikal, yang dirancang dalam rangka memenuhi kebutuhan informasi dalam sebuah organisasi. M enurut James A. O’Brien (2005, p211) database adalah kumpulan terintegrasi dari elemen data yang secara logikal saling berhubungan. Data yang disimpan dalam database independent dari program aplikasi yang menggunakannya dan dari jenis peralatan penyimpan tempat mereka disimpan. M enurut Kusumo (2003, p2) Basis data adalah kumpulan informasi yang ditulis dalam satu atau lebih tabel.
2.1.2.3 Sistem Basis Data Tujuan utama dari sistem basis data adalah untuk memudahkan dan memfasilitasi akses ke data. Sistem basis data adalah kumpulan program aplikasi yang berinteraksi dengan database (Connolly & Begg, 2002, p4). Sistem basis data merupakan sebuah sistem yang terkomputerisasi yang memiliki tujuan
untuk
memelihara
12
informasi dan menjadikan informasi tersebut pada saat dibutuhkan (C.J Date, 2000, p4). Sistem merupakan kumpulan dan elemen-elemen yang terintegrasi dengan maksud umum untuk mencapai tujuan (M cleod, 2001, p12).
2.1.3
Database Management System (DBMS ) M enurut Conolly (2005, p16) Database Management System (DBM S) adalah suatu sistem perangkat lunak yang memungkinkan user (pengguna)
untuk
mendefinisikan,
membantu,
memelihara,
dan
mengendalikan akses pada basis data. DBM S menyediakan fasilitas sebagai berikut : 1. Data Definition Language (DDL) : M emungkinkan pengguna untuk menspesifikasikan tipe data dan struktur serta batasan data yang akan disimpan dalam basis data. 2. Data Manipulation Language (DM L) : M emungkinkan pengguna untuk menambah, mengubah, menghapus, dan mengambil data dari dalam basis data. 3. Akses kontrol ke database. Yaitu untuk : a. Sistem Keamanan,
M encegah user
yang tidak
memiliki
wewenang untuk mengakses basis data.
13
b. Sistem Integritas, M emelihara konsistensi data yang tersimpan. c. Sistem Kontrol, M engizinkan pembagian akses kedalam basis data. d. Sistem Kontrol Perbaikan, M emperbaiki atau mengembalikan basis data ke kondisi sebelumnya jika terjadi kerusakan pada perangkat keras dan perangkat lunak. e. Katalog yang dapat diakses ke user, katalog yang berisi deskripsi data yang ada dalam basis data. M enurut Ramakrishnan dan Gehrke (2003, p4), DBM S adalah software
yang
didesain
untuk
mendukung,
memelihara,
dan
memanfaatkan kumpulan data yang besar.
2.1.3.1 Komponen DBMS M enurut Conolly dan Begg (2002, p18-20) ada lima komponen utama dalam suatu lingkungan database management system (DBM S), yaitu sebagai berikut : 1. Perangkat keras (Hardware) Piranti keras sangat dibutuhkan untuk menjalankan aplikasi dan DBM S. Piranti keras dapat berupa sebuah komputer, sebuah mainframe, ataupun sebuah jaringan antar komputer,
14
yang nantinya disesuaikan dengan kebutuhan organisasi dan DBM S yang digunakan. 2. Perangkat lunak (Software) M erupakan komponen perangkat lunak yang terdiri dari DBM S dan program-program aplikasi, termasuk sistem operasi dan
perangkat
lunak
jaringan
apabila dalam
penggunaannya menggunakan jaringan komputer seperti LAN. 3. Data Data mungkin merupakan komponen terpenting dari suatu DBM S dilihat dari sudut pandang pengguna. Data memegang peranan sebagai penghubung antara komponen mesin dengan manusia dalam lingkungan DBM S. 4. Prosedur Prosedur berupa panduan dan instruksi dalam membuat rancangan dan penggunaan basis data. Penggunaan sistem dan staf
yang
mengelola
dan
menggunakan
basis
data
membutuhkan prosedur dalam menjalankan sistem basis data itu sendiri. Proses didalam basis data dapat berupa : login ke dalam
basis
data,
penggunaan
fasilitas
DBM S,
cara
menjalankan dan memberhentikan DBM S, membuat salinan
15
database, memeriksa hardware dan software yang sedang berjalan, mengubah struktur basis data, meningkatkan kinerja atau membuat arsip data pada secondary storage. 5. M anusia Komponen terakhir yaitu manusia sendiri yang terlibat dalam sistem tersebut. M anusia yang terlibat dengan sistem, yaitu : database administrator, perancangan database, pengembang aplikasi dan pengguna akhir.
2.1.3.2 Keuntungan dan Kerugian DBMS M enurut Conolly dan Begg (2002, p26) keuntungan DBM S yaitu antara lain : 1. Kontrol terhadap redundancy data 2. Konsistensi data 3. Lebih banyak informasi dari jumlah yang sama 4. Banyaknya data 5. Sharing data 6. M eningkatkan integritas data 7. M eningkatkan keamanan
16
8. Standarisasi 9. Lebih ekonomis 10. M enyeimbangkan kebutuhan yang bertentangan 11. M eningkatkan akses dan respon data 12. M eningkatkan produktivitas 13. M eningkatkan pemeliharaan melalui independent di data 14. M eningkatkan konkurensi data 15. M eningkatkan pelayanan backup dan recovery Kekurangan DBM S yaitu antara lain (Connolly and Begg, 2002, p29) : 1. Kompleksitas yang tinggi 2. Ukuran yang besar 3. Biaya DBM S yang mahal 4. Biaya tambahan perangkat keras 5. Biaya konversi 6. Performa rendah 7. Dampak kegagalan yang lebih tinggi
17
2.1.4
Bahasa Basis Data 2.1.4.1 Data Definition Language (DDL) DDL merupakan suatu bahasa yang memperbolehkan seorang DBA (Database Administrator) atau pengguna untuk menggambarkan dan memberi nama suatu entitas, attribut dan relasi data yang dibutuhkan oleh aplikasi, bersamaan dengan beberapa integritas yang terasosiasi dan batasan keamanan datanya. (Connoly dan Begg, 2002, p40). DBA adalah seorang yang memiliki kontrol terpusat pada suatu sistem. Fungsi dari seorang DBA adalah menciptakan skema basis data asli dengan cara mengeksekusi satu set dari data definition statement di DDL, melakukan perubahan untuk skema dan organisasi fisikal untuk menunjukan perubahan yang dibutuhkan oleh suatu organisasi atau merubah fisikal organisasi untuk meningkatkan performa, memberikan hak akses pada autorisasi yang berbeda sehingga DBA dapat mengatur berbagai macam user yang dapat mengakses basis data, memelihara basis data secara berkala. (Silberschatz, Korth, dan Sudarshan, 2002, p15).
2.1.4.2 Data Manipulation Language (DML) DM L adalah
sebuah
bahasa yang memungkinkan
pengguna untuk mengakses atau memanipulasi data agar model
18
data terorganisasi dengan
baik
(Silberschatz,
Korth, dan
Sudarshan, 2002, p12). DM L
adalah
sebuah
bahasa
yang
menyediakan
sekumpulan operasi untuk mendukung pengoperasian manipulasi data dasar pada basis data (Connoly dan Begg, 2002, p41). Pengoperasian
data
yang
akan
dimanipulasi
pada
umumnya meliputi: 1. Penambahan data baru kedalam basis data 2. M odifikasi data yang tersimpan dalam basis data 3. Penerimaan data yang berada dalam basis data 4. Penghapusan data dari basis data DM L terdiri dari dua tipe, yaitu : 1.
Procedural DM L, yaitu sebuah bahasa yang memberikan fasilitas kepada user untuk memberitahukan kepada sistem,
data apa yang diperlukan
dan
bagaimana
seharusnya data tersebut diambil. 2.
Non-procedural
DM L,
yaitu
sebuah
bahasa yang
memberikan fasilitas kepada user untuk menyatakan data apa yang diperlukan daripada tentang bagaimana data tersebut diambil.
19
2.1.5
Database System Development Life Cycle (S DLC) Sistem basis data merupakan komponen dasar dari suatu organisasi besar dengan sistem informasi yang luas. Hal penting dalam database lifecycle adalah bahwa tingkatannya tidak sepenuhnya berurutan, tetapi ada beberapa tingkatan yang berulang dengan alur balik. Karena proses yang terjadi harus mengecek ulang pada proses sebelumnya jika hasil tidak optimal. Database Application Lifecycle merupakan tahapan dalam merancang suatu sistem basis data.(Connolly dan Begg, 2002, p271). Database Application Lifecycle digambarkan seperti bagan berikut :
20
Gambar 2.1 S iklus Hidup Aplikasi Basis Data
21
2.1.5.1 Perencanaan Basis Data (Database Planning) Pengelolaan aktivitas yang mengizinkan tahapan-tahapan dari sistem pengembangan siklus kehidupan basis data agar bisa direalisasikan seefisien dan seefektif mungkin. Perencanaan basis data harus diintegrasikan dengan keseluruhan strategi sistem informasi dari sebuah organisasi. Terdapat tiga masalah utama dalam merumuskan strategi sistem informasi, diantaranya : 1. Identifikasi rencana dan
sasaran
perusahaan
dengan
menentukan kebutuhan sistem informasi yang diperlukan. 2. Evaluasi sistem informasi yang ada sekarang untuk menentukan kekuatan-kekuatan dan kelemahan-kelemahan yang ada. 3. Penilaian terhadap peluang teknologi informasi yang dapat menghasilkan keuntungan yang kompetitif.
2.1.5.2 Pendefinisian Sistem (System Definition) M enurut Connoly dan Begg (2002, p274), definisi sistem (Definition system) adalah mendeskripsikan jangkauan dan batasan dari aplikasi basis data dan pandangan-pandangan utama para pengguna aplikasi. Sebelum mendesain suatu aplikasi basis data, terlebih dahulu mengidentifikasikan batasan-batasan dari sistem yang sedang diteliti dan bagaimana kaitannya dengan bagian lain dari sistem informasi perusahaan. Hal tersebut dilakukan untuk memastikan bahwa tidak ada pengguna utama
22
basis data yang terlupakan ketika dilakukan pengembangan aplikasi.
2.1.5.3 Pengumpulan
dan
Analisis
Kebutuhan
(Requirement
Collection and Analysis) Analisis
dan
pengumpulan
kebutuhan
(requirement
collection and analysis) merupakan proses pengumpulan dan analisis informasi tentang bagian perusahaan yang akan didukung oleh aplikasi basis data, dan menggunakan informasi ini untuk mengindentifikasikan kebutuhan pengguna aplikasi terhadap sistem baru (Connolly dan Begg, 2002, p276). Informasi yang dikumpulkan diantaranya : 1. Penjabaran dari data yang digunakan. 2. Detail mengenai bagaimana data digunakan. 3. Kebutuhan tambahan apapun untuk aplikasi basis data yang baru. Informasi ini kemudian dianalisis untuk mengindentifikasikan kebutuhan yang dimasukkan untuk aplikasi basis data yang baru. Ada 3 macam pendekatan untuk mengatur kebutuhan dari sebuah aplikasi basis data dengan berbagai cara pandang pengguna, yaitu :
23
1. Pendekatan Centralized, kebutuhan untuk tiap pandangan pengguna disatukan menjadi satu set kebutuhan untuk aplikasi basis data. Umumnya pendekatan ini dipakai jika basis datanya tidak terlalu kompleks. 2. Pendekatan View Integration, kebutuhan untuk tiap pandangan pengguna digunakan untuk membangun sebuah model
data
terpisah
yang merepresentasikan
tiap
pandangan. Hasil dari data-data model tersebut kemudian disatukan di bagian desain basis data. 3. Kombinasi keduanya.
2.1.5.4 Perancangan Basis Data (Database Design) M enurut Connolly dan Begg (2002, p279), perancangan basis data (database design) merupakan proses pembuatan suatu desain untuk sebuah basis data yang akan mendukung operasional dan tujuan suatu perusahaan.
Dalam merancang suatu basis data, digunakan metodologimetodologi yang membantu dalam tahap perancangan basis data. M etodologi perancangan adalah pendekatan terstruktur yang menggunakan bantuan prosedur-prosedur, teknik-teknik, alat-alat, dan dokumentasi untuk mendukung dan memudahkan dalam
24
proses perancangan. Dengan menggunakan teknik metode desain ini dapat membantu dalam merencanakan, mengatur, mengontrol, dan mengevaluasi proyek perkembangan basis data (Connolly, 2002, p418).
Proses dalam metodologi perancangan dibagi menjadi tiga tahap :
a. Conseptual Database Design b. Logical Database Design c. Physical Database Design
A.
Conseptual Database Design
Conceptual
database
design
adalah
proses
membangun suatu model berdasarkan informasi yang digunakan
oleh
perusahaan
atau
organisasi,
tanpa
pertimbangan perencanaan fisik (Connolly,2002,p419).
Gambar 2.2 Conceptual Level
25
Langkah-langkah perancangan basis data konseptual (Connolly, 2002, p420) :
1. Identifikasi tipe entity 2. Identifikasi tipe relationship 3. Identifikasi dan asosiasi atribut dengan entity-entity dan
relationship
yang
telah
dipilih
untuk
digambarkan dalam database. 4. M enentukan atribut domain 5. M enentukan kandidat dan atribut-atribut primary key 6. Pertimbangan
menggunakan
konsep
modeling
yang menarik 7. Periksa model untuk redundancy 8. Validasikan
model
konseptual
lokal
yang
bertentangan dengan transaksi pengguna 9. M engulang model data konseptual lokal dengan pengguna. B.
Logical Database Design
M enurut Connolly perancangan
logikal
basis
dan Begg (2002, data
merupakan
p419), proses
membangun sebuah model informasi yang digunakan dalam sebuah perusahaan berdasarkan pada sebuah model data yang spesifik, tetapi tidak bergantung pada sebuah
26
DBM S tertentu dan pertimbangan-pertimbangan fisik lainnya.
Gambar 2.3 View Le vel
Langkah pokok dari perancangan basis data logikal untuk relational model mencakup : membuat dan memvalidasi model data logikal lokal untuk setiap bagian, membuat dan memvalidasi model data logikal global. Sebuah model data logikal termasuk Entity Relationship Diagram (ERD), skema relational, dan dokumen pendukung, seperti : kamus data, yang terbentuk dalam pengembangan model.
C.
Physical Database Design
Perancangan fisikal basis data merupakan proses yang menghasilkan sebuah deskripsi implementasi dari basis data pada secondary storage yang menggambarkan relasi dasar, organisasi file, dan indeks yang digunakan untuk mencapai akses yang efisien ke data, dan
27
penggabungan batasan integritas dan ukuran keamanan (Connolly dan Begg, 2002, p419).
Gambar 2.4 Database Management System Dalam membangun desain fisik basis data terdapat 6 tahap secara garis besar , yaitu : 1. M engubah model data logikal global untuk target DBM S M enghasilkan sebuah sistem basis data relational dari model
data
logikal
global
yang
dapat
diimplementasikan dalam target DBM S. a. M erancang relasi-relasi dasar. b. M erancang representasi dari derived data. c. M erancang batasan-batasan perusahaan untuk target DBM S 2. M erancang representasi fisik M enentukan organisasi file yang optimal untuk menyimpan relasi-relasi dasar dan indeks-indeks yang diperlukan
untuk
mencapai
performance
yang
28
diinginkan, untuk itu akan ditentukan relasi dan tuple mana yang ada pada secondary storage. a. Analisis transaksi, memahami fungsi transaksi yang akan
dijalankan pada basis data dan
menganalisis transaksi-transaksi penting. b. M emilih
organisasi
file,
menentukan
pengelompokkan file yang efisien untuk setiap relasi yang terbentuk. c. M emilih
indeks-indeks,
penambahan
indeks
menentukan akan
jika
meningkatkan
performance sistem. d. M emperkirakan
kebutuhan
disk
space,
memperkirakan jumlah disk space yang akan dibutuhkan oleh basis data. 3. Perancangan user view M erancang user view yang diidentifikasikan selama pengumpulan kebutuhan-kebutuhan dan tahap analisis dari siklus aplikasi basis data relational. 4. Perancangan mekanisme keamanan M erancang mekanisme keamanan untuk basis data seperti yang ditentukan oleh user. Relational DBM S secara umum menyediakan dua tipe keamanan basis data yaitu :
29
a. Keamanan
sistem
:
mencakup
akses
dan
penggunaan basis data pada level sistem, seperti username dan password. b. Keamanan data : mencakup akses dan penggunaan objek basis data (seperti relasi dan view) dan aksi yang dapat dilakukan user terhadap objek. 5. M empertimbangkan adanya pengontrolan redundancy Bertujuan untuk menentukan apakah redundansi dalam batasan yang terkendali dengan menggunakan teknik normalisasi akan meningkatkan performance dari sistem. 6. M emonitor dan menyesuaikan sistem operasi Bertujuan untuk mengawasi sistem operasional dan meningkatkan kinerja dari sistem untuk memperbaiki kebutuhan
perancangan
yang tidak
sesuai atau
merefleksikan perubahan-perubahan.
2.1.5.5 Pemilihan DBMS (DBMS Selection) Pemilihan DBM S yang sesuai untuk mendukung aplikasi basis data mencakup (Connolly dan Begg, 2002, p284) : 1. M endefinisikan syarat-syarat referensi studi. 2. M endaftar 2 atau 3 jenis produk. 3. M engevaluasikan produk.
30
4. M erekomendasikan pilihan dan membuat laporan.
2.1.5.6 Perancangan Aplikasi (Application Design) M enurut
Connolly
dan
Begg
(2002,
pp287-288),
perancangan aplikasi (application design) adalah merancang antarmuka pengguna (user interface) dan program aplikasi, yang akan memproses basis data. Dalam perancangan aplikasi harus memastikan
semua pernyataan
fungsional dari spesifikasi
kebutuhan pengguna (user requirement specification) yang menyangkut perancangan aplikasi program yang mengakses basis data dan merancang transaksi yaitu cara akses ke basis data dan perubahan terhadap isi basis data (retrieve, update dan kegiatan keduanya). Antarmuka yang dirancang harus memberikan informasi yang dibutuhkan, sehingga pengguna aplikasi mudah mempelajari dan mudah menggunakannya.
2.1.5.7 Prototipe (Prototyping) Prototyping merupakan salah satu metode pengembangan perangkat lunak yang banyak digunakan. Dengan metode prototyping ini perancang dan pengguna dapat saling berinteraksi selama proses pembuatan sistem. M embangun suatu model kerja dari aplikasi basis data (Connoly dan Begg , 2002, p291).
31
Tujuan utama dari prototyping yaitu : 1. M enuntun
user
menggunakan
prototype
untuk
mengidentifikasikan fitur-fitur agar sistem berjalan dengan baik. 2. Sebagai saran pengembangan atau mungkin menambah fitur baru pada aplikasi basis data.
2.1.5.8 Implementasi (Implementation) Pengertian implementasi menurut Connolly dan Begg (2002, p292) yaitu membuat definisi basis data secara eksternal, konseptual, dan internal termasuk program aplikasi. Implementasi merupakan realisasi dari basis data dan perancangan aplikasi. Implementasi basis data dicapai menggunakan Data Definition Language (DDL) dari DBM S yang dipilih atau Graphical User Interface (GUI). Pandangan pengguna (userview) lainnya juga diimplementasikan dalam tahapan ini. Bagian lain aplikasi program adalah transaksi basis data yang diimplementasikan dengan meggunakan Data Manipulation Language (DM L) dari sasaran DBM S.
32
2.1.5.9 Perubahan dan Pengambilan Data (Data Conversion and Loading) Pemindahan data yang ada dalam basis data yang baru dan mengubah aplikasi yang sedang berjalan agar dapat digunakan dalam basis data yang baru (Connoly dan Begg, 2002, p293). Tahapan ini memungkinkan pengembang (developer) untuk mengkonversi dan menggunakan aplikasi loading dibutuhkan, prosesnya harus direncanakan untuk memastikan kelancaran transaksi untuk keseluruhan operasi.
2.1.5.10 Pengetesan (Testing) Testing adalah suatu proses melaksanakan program aplikasi dengan tujuan menemukan kesalahan (Conolly dan Begg, 2002, p293). Testing adalah proses menjalankan aplikasi untuk menemukan kesalahan-kesalahan. Sebelum digunakan, aplikasi basis data yang baru dikembangkan harus diuji secara menyeluruh.
Dalam kenyataan testing tidak
luput
dari
kesalahan. Di dalam merancang basis data, user dari sistem baru seharusnya terlibat di dalam proses testing. Jika data yang asli digunakan, perlu backup untuk mengantisipasi kesalahan atau error. Setelah testing selesai, sistem aplikasi siap digunakan oleh pengguna.
33
2.1.5.11 Operational Pemeliharaan (Operational Maintenance) Pengertian Operational Maintenance menurut indrajani, S.kom., MM (2011, p57), adalah suatu proses pengawasan dan pemeliharaan sistem setelah instalasi, yang mencakup : a. Pengawasan kinerja sistem, jika kinerja menurun maka memerlukan perbaikan atau pengaturan ulang basis data. b. Pemeliharaan dan pembaharuan aplikasi basis data (jika dibutuhkan). c. Penggabungan kebutuhan baru ke dalam aplikasi basis data.
2.1.6
Normalisasi M enurut Connolly dan Begg (2002, p376), normalisasi adalah suatu teknik yang menghasilkan satu set relasi dengan properties yang diinginkan dan memberikan kebutuhan data organisasi. M enurut Hartini Deliana, Lisye M areta Cahya, dan Kikis Sabrina Kaisariza (2009,p175) normalisasi adalah sebuah cara sistematis yang digunakan untuk memastikan bahwa sebuah struktur dari suatu database cocok untuk tujuan umum peng-queryan dan diyakinkan bebas dari karakteristik-karakteristik
tertentu yang tidak
diinginkan,
seperti
34
pemasukan (insert), pengubahan (update), serta penghapusan (delete) data yang dapat menyebabkan hilangnya integritas pada data. Tujuan dalam melakukan normalisasi adalah sebagai berikut: 1. M engidentifikasi hubungan antar atribut. 2. M engkombinasikan atribut-atribut yang ada sehingga membentuk sebuah hubungan atau relasi (relation). 3. M engkombinasikan relasi-relasi yang sudah terbentuk sampai menghasilkan sebuah database 4. M enghilangkan anomaly. 5. M enghilangkan redundancy (pengulangan).
2.1.6.1 Bentuk Normal Pertama (1NF) M enurut Deliana, Cahya dan Kaisariza (2009, p176) sebuah entitas dikatakan berada dalam first normal form (1NF) apabila entitas tersebut tidak lagi memiliki atribut berulang (repeating group) yang ditandai dengan “{}”. Yang harus dilakukan dalam membuat sebuah 1NF adalah: 1. Hilangkan hasil perhitungan (sub total, grand total, dll). 2. Hilangkan atribut yang berulang. 3. Tentukan primary key.
35
2.1.6.2 Bentuk Normal Kedua (2NF) M enurut Deliana, Cahya dan Kaisariza (2009, p176) sebuah entitas dikatakan sedang berada dalam second normal form apabila entitas tersebut berada dalam kondisi 1NF dan dimana setiap atribut non key-nya bergantung fungsional penuh terhadap primary key-nya (functional depandency) Yang harus dilakukan dalam membuat sebuah 2NF adalah: 1. M enghilangkan
ketergantungan
fungs ional
/ parsial
(ketergantungan antara non key terhadap primary key) 2. M embuat tabel header dan detail. Contoh: Tabel M ahasiswa (Nim, Nama, Alamat) Nama & Alamat tergantung pada Nim dalam arti dengan Nim kita dapat menentukan nama maupun alamat sebaliknya nama / alamat tidak menentukan nim, maka diartikan bahwa nama & alamat tergantung secara parsial kepada nim.
2.1.6.3 Bentuk Normal Ketiga (3NF) M enurut Deliana, Cahya dan Kaisariza (2009, p177) sebuah entitas dikatakan sedang berada dalam third normal form apabila entitas tersebut sedang berada dalam kondisi 1NF dan
36
2NF serta tidak adanya atribut non key yang tergantung fungsional terhadap non key yang lainnya (transitif depandancy). Yang harus dilakukan dalam membuat sebuah 3NF adalah: 1. M enghilangkan
ketergantungan
transitif
(ketergantungan
antara non key dengan non key) 2. M embuat tabel jenis master (jika diperlukan) Contoh : Tabel Pegawai (NoPegawai, honor, KdProyek, Tanggal) KdProyek & Tanggal adalah atribut non key. Tapi tanggal bergantung pada KdProyek. Pemecahannya dengan membagi menjadi 2 relasi: a. Proyek (KdProyek, Tanggal) b. PegProyek (NoPegawai, honor, KdProyek)
2.1.7
Entity Relationship Diagram M odel entity relationship merupakan salah satu model yang dapat memastikan pemahaman yang tepat terhadap data dan bagaimana penggunaannya di dalam suatu organisasi (Conolly dan Begg 2005, pp342). ER Modeling merupakan pendekatan top-down pada perancangan database yang dimulai dengan identifikasi entitas dan relasi antar data yang harus direpresentasikan di dalam model, dan kemudian ditambahkan atribut dan setiap constraint pada entity, relationship, dan atributnya.
37
2.1.7.1 Entity Type Konsep dasar dari model ER adalah entity types yaitu kumpulan dari objek-objek dengan sifat (property) yang sama, yang diidentifikasi oleh enterprise karena keberadaannya yang bebas (independent existence) (Conolly dan Begg 2005, p343). Keberadaan objek-objeknya dapat berupa fisik, seperti entity pegawai, rumah dan pelanggan, maupun berupa abstrak, seperti entity penjualan, pembelian dan peminjaman. Entity occurrences yaitu pengidentifikasian objek yang unik dari sebuah tipe entitas. M enurut Conolly dan Begg (2005, p354) tipe entitas dapat diklasifikasikan menjadi : a. Tipe entity kuat, yaitu tipe entity yang keberadaanya tidak bergantung pada tipe entity lainnya. b. Tipe entity lemah, yaitu tipe entity yang keberadaannya bergantung pada tipe entity lainya. Tabel 2.1 Simbol – Simbol ERD ( Entity Relationship Diagram )
Simbol
Nama Entitas, adalah suatu objek yang dapat diidentifikasi dalam
lingkungan pemakai.
38
Relasi, menunjukkan adanya hubungan di antara sejumlah entitas yang berbeda.
Atribut, berfungsi mendeskripsikan karakter entitas (atribut yg berfungsi sebagai key diberi garis bawah).
Garis, sebagai penghubung antara relasi dengan entitas, relasi dan entitas dengan atribut.
2.1.7.2 Relationship Type M enurut Conolly dan Begg (2005, p346) Relationship type adalah kumpulan keterhubungan yang mempunyai arti antara tipe entity yang ada. Relationship occurrences, yaitu keterhubungan yang diidentifikasikan secara unik yang meliputi keberadaan tiap tipe entity yang berpartisipasi. Tipe relationship digambarkan dengan sebuah garis yang menghubungkan entity-entity yang saling berhubungan. Sebuah relationship hanya dinamai dalam satu arah dan sebuah symbol panah ditempatkan di samping nama untuk menunjukkan arah
39
yang tepat bagi pembaca untuk menginterpretasikan nama relationship.
2.1.7.3 Attribute M enurut
Conoly
dan
Begg
(2005,
p350)
atribut
merupakan sifat-sifat (property) dari sebuah entity atau tipe relationship. Atribut domain adalah himpunan nilai yang diperbolehkan untuk satu atau lebih atribut. M acam-macam atribut : a. Simple attribute, yaitu atribut yang terdiri dari satu komponen tunggal dengan keberadaan yang independent dan tidak dapat dibagi menjadi yang lebih kecil lagi. Dikenal juga dengan nama atomic attribute. b. Composite attribute, yaitu atribut yang terdiri dari beberapa komponen, dimana masing-masing komponen memiliki keberadaan yang independent. c. Single-valuable attribute, yaitu atribut yang mempunyai nilai tunggal untuk setiap kejadian dari tipe entity. d. Multi-value attribute, yaitu atribut yang mempunyai beberapa niai untuk setiap kejadian dari tipe entity.
40
e. Derrived attribute, yaitu atribut yang memiliki nilai yang dihasilkan arti satu atau beberapa atribut lainnya yang berhubungan, dan tidak harus berasal dari tipe entity yang sama.
2.1.8
DFD (Data Flow Diagram) M enurut M cLeod (2001, p316) DFD adalah suatu gambaran grafis dari suatu sistem yang menggunakan bentuk-bentuk symbol untuk menggambarkan bagaimana data mengalir dari suatu proses yang saling berkaitan. DFD hanya terdiri dari 4 simbol, yaitu : Tabel 2.2 Simbol – Simbol DFD ( Data Flow Diagram ) Simbol
Nama
Penjelasan
Sumber dan tujuan data
Karyawan dan orang mengirim data ke dan menerima data dari sistem digambarkan dengan kotak
Arus data
Arus data yang masuk dan keluar dalam sebuah sistem
Proses transformasi
Proses yang mengubah input menjadi output
41
Penyimpanan data
Penyimpanan data digambarkan dengan dua garis horizontal ( parallel )
2.1.8.1 Diagram Konteks M erupakan level tertinggi dari DFD yang menggambarkan seluruh input ke atau output dari sistem, memberikan gambaran tentang keseluruhan sistem. Dalam diagram konteks, hanya ada satu proses dan tidak boleh ada data store.
2.1.8.2 Diagram Nol Diagram nol mengidentifikasikan proses-proses utama dari sistem oleh dari pemecahan diagram konteks.
2.1.8.3 Kamus Data M enurut M cLeod (2001, p308) kamus data (data dictionary) adalah suatu penjelasan tertulis mengenai data yang berada di dalam database. Kamus data tidak perlu dihubungkan dengan arus data. Isi kamus data adalah sebagai berikut a. Elemen data b. Aliran data c. Data store
42
d. Entity e. Relationship ditambah dengan deskripsi proses Berikut notasi-notasi yang digunakan dalam kamus data (Indrajani, 2011, p15) : Tabel 2.3 Notasi Kamus Data Notasi
Keterangan
=
Terdiri dari, terbentuk dari, sama dengan
+
Dan
()
Optional
{}
Iterasi / Pengulangan misal : 1 {….} 10
[]
Pilih salah satu dari beberapa alternative (pilihan) M isal : [ A | B | C | D]
2.1.9
**
Komentar
@
Identifier suatu data store
|
Pemisah dalam bentuk [ ]
S TD (State Transition Diagram) State Transition Diagram (STD) adalah suatu modeling tool yang menggambarkan sifat ketergantungan terhadap waktu pada sistem. M enurut
Pressmen
(2001,p301)
STD
digunakan
untuk
mengidentifikasikan sebagaimana sistem harus berperilaku seperti resiko dari kejadian eksternal. Untuk mencapai hal ini STD menampilkan
43
berbagai jenis model perilaku dan hasil dan tingkah laku yang mana transisi dibuat dari state satu ke state yang lain. Penyajian STD merupakan landasan dasar untuk menentukan perilaku. Biasanya dalam STD digunakan notasi seperti : 1.
Active a. State, simbolnya persegi panjang State adalah kumpulan keadaan atau atribut yang memberi perincian seseorang atau benda pada waktu dan kondisi tertentu. Contohnya seperti proses user mengisi password, menentukan instruksi berikutnya. Simbol state :
Transistion State / perubahan state, simbolnya tanda panah berarah b. Condition Kejadian pada lingkungan eksternal yang bisa terdeteksi oleh sistem. Hal ini akan mengakibatkan perubahan terhadap state dari keadaan state menunggu X ke state menunggu Y. Contohnya seperti : interrupt signal maupun data. 2.
Passive
44
Sistem ini tidak melakukan kontrol terhadap lingkungan, akan tetapi lebih bersifat menerima data atau memberikan reaksi saja (sistem yang menerima atau mengumpulkan data melalui signal yang dikirimkan oleh satelit). Berikut adalah gambar STD sederhana
STATE X
Condition Action STATE Y
Gambar 2.5 S TD S ederhana
2.2
Teori-Teori Khusus 2.2.1
Pergudangan 2.2.1.1 Definisi Pergudangan Warehouse atau pergudangan berfungsi menyimpan barang untuk produksi atau hasil produksi dalam jumlah dan rentang waktu tertentu yang kemudian didistribusikan ke lokasi yang dituju berdasarkan permintaan. Kendala yang dihadapi dalam pengelolaan warehouse adalah akurasi pergerakan barang dan menghitung rentang waktu barang disimpan. Dibutuhkan kontrol aktivitas pergerakan
barang dan
dokumen
untuk
45
meningkatkan efisiensi penggunaan warehouse agar jumlah dan rentang waktu barang disimpan dalam nilai minimum atau sesuai perencanaan.
Warehouse Management System yang didukung teknologi informasi untuk membantu pengawasan pergerakan barang masuk, pergerakan dalam warehouse dan Pengawasan
dengan
menggunakan
barang keluar.
sistem,
memberikan
kemudahan pengelolaan dan nilai tambah warehouse, yaitu:
1. M emudahkan pengelola warehouse memberikan informasi ketersediaan suatu barang kepada bagian perencanaan produksi atau pengiriman agar ketersediaan barang tetap pada tingkat yang aman 2. Penempatan barang yang ditentukan oleh sistem sehingga memudahkan penyimpanan, pengambilan dan perhitungan stok 3. M engurangi lead time dari aktivitas penyimpanan barang dan pengiriman barang. 4. Ketersediaan beragam informasi mengenai level barang dan utilitas warehouse memudahkan
analisa untuk
menyusun strategi penggunaan warehouse yang lebih efisien.
46
2.2.1.2 Sistem Inventori dan Backtracking Hal-hal yang perlu diperhatikan dalam sistem inventory perusahaan adalah sistem pemasukan, pengeluaran, pemeriksaan stok dan pembuatan laporan. Sedangkan untuk pencarian tempat yang tepat untuk barang yang akan diinventori adalah dengan menggunakan
algoritma
backtracking,
yaitu
penelusuran
kemungkinan satu persatu sampai didapat solusi yang paling baik. Berikut adalah penjelasan sistem inventory yang berlaku dalam gudang secara umum serta penjelasan algoritma backtracking secara terperinci. Untuk sistem inventory, yang akan ditekankan pada proses pemasukan barang, pengeluaran barang serta pemeriksaan stok barang. Berikut akan dijabarkan lebih detail lagi mengenai ketiga proses tersebut. 1. Pemasukan barang Pemasukan barang merupakan proses penambahan inventori barang. Proses pemasukan barang dalam perusahaan terjadi setelah adanya pembelian dari supplier. Jika terjadi retur penjualan, barang tidak akan disimpan sebagai inventori barang baru tetapi akan disimpan sebagai barang rusak. 2. Pengeluaran barang
47
Pada proses pengeluaran barang, kegiatan utamanya yaitu pengiriman barang kepada pelanggan sesuai dengan pesanan ataupun pengiriman barang ke distributor pelanggan. Pengeluaran barang sesuai dengan nota penjualan yang sudah dibuat dan dibuat juga surat jalan untuk barang yang sudah dikeluarkan. 3. Pemeriksaan stok Pemeriksaan stok dilakukan secara periodik, misal per triwulan namun bisa juga dilakukan tidak secara periodik. Pemeriksaan stok tidak selalu dilakukan secara keseluruhan, tetapi lebih sering dilakukan untuk beberapa barang yang dianggap memiliki penjualan yang baik. Backtracking merupakan bentuk algoritma yang banyak dan sering digunakan dalam memecahkan permasalahan yang bersifat kombinasi. Cara kerja dari backtracking adalah mencoba satu demi satu kemungkinan cara yang bisa dilakukan untuk memperoleh hasil yang terbaik.
Secara umum algoritma
backtracking dapat dilihat pada Gambar.
48 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.
Inisialisasi prioritas pemanfaatan solusi Sukses <- false Ulangi sampai step 11 atau solusi habis Ambil solusi berikut sesuai dengan prioritas If solusi dapat dipakai Then jalankan solusi tersebut If solusi belum lengkap Then Sukses<-coba(level(n+1)) If tidak sukses Then batalkan tindakan solusi tersebut 11. Return sukses
Gambar 2.6 Algoritma Backtracking Backtracking memiliki keunggulan dalam kemampuannya untuk memperoleh hasil kombinasi yang terbaik karena mencoba semua kemungkinan yang ada. Di sisi lain algoritma ini tidak efisien sebab proses pencarian membutuhkan waktu yang lama karena pengujian dilakukan satu demi satu untuk semua kemungkinan.
2.2.2
Internet Internet memiliki banyak definisi, pada dasarnya adalah jaringan global yang terdiri dari ratusan bahkan ribuan komputer yang berhubungan menjadi satu melalui saluran telepon. Internet dapat di definisikan sebagai rajanya jaringan (networks of networks), sedangkan dari segi pengetahuan, internet merupakan sebuah perpustakaan besar dengan segudang informasi yang lengkap, bahkan internet bisa didefinisikan sebagai shopping center terbesar bagi orang yang suka belanja (Bustami, 1999, p1).
49
Internet merupakan sistem jaringan komputer yang meluas ke seluruh dunia yang terdiri dari jaringan-jaringan dan berbagai tipe komputer yang saling berhubungan (Han’s, 1996, p2). Internet adalah koneksi word wide web lebih dari 72 juta komputer yang menggunakan internet protocol (IP ) untuk komunikasi (Hofstetter, 2001, p13).
2.2.3
Adobe Dreamweaver CS 3
Dreamweaver adalah software yang umum digunakan dalam pembuatan website. Dreamweaver menyediakan halaman JavaScript, ActionScript, JSP, PHP, HTML, CSS dan lain-lain. Namun, yang kami gunakan dalam proyek ini adalah PHP dan CSS. Karena untuk membuat sebuah website dinamis yang disertai dengan manajemen database, mau tidak mau kita harus memiliki beberapa komponen , diantaranya skrip berbasis server, web server, serta database server. Oleh karena itu kita harus mempergunakan ketiga komponen tersebut agar mendapatkan hasil sebuah website yang optimal serta handal. Untuk mendapatkan semuanya dengan mudah, digunakanlah PHP sebagai salah satu software yang mencakup ketiga hal tersebut. Sebagaimana yang telah dijelaskan, tiga komponen yang kita gunakan itu yaitu :
1. Apache Web
Server,
digunakan
sebagai server
untuk
bisa
menjalankan skrip dalam membangun web.
50
2. PHP, script bahasa yang dapat ditempatkan dalam server guna membangun website agar kelihatan dinamis. 3. MySQL, database berbasis server yang bisa digunakan untuk menyimpan data dalam jumlah besar.
2.2.4
PHP M enurut Peranginangin (2006, p2), PHP singkatan dari PHP Hypertext Preprocessor yang digunakan sebagai bahasa script server-side dalam pengembangan web yang disisipkan pada dokumen HTM L. PHP merupakan piranti lunak Open Source yang memungkinkan web dapat dibuat dinamis. Sehingga perawatan dari situs web tersebut menjadi lebih mudah dan efisien. M enurut Luke Welling dan Laura Thomson (2001, p1) PHP adalah server side scripting language yang didesain secara spesifik utnuk web. Dalam page HTM L, dapat dimasukkan kode PHP yang akan dieksekusi setiap kali halaman dikunjungi. PHP code diterjemahkan di web server dan dirubah menjadi HTM L, atau output lain yang akan dilihat oleh pengunjung halaman. PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini. PHP banyak dipakai untuk memprogram situs web
51
dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakai lain. M enurut Atkinson dan Suraski (2004, p10), PHP merupakan fitur standar yang ditawarkan oleh kebanyakan perusahaan web hosting. PHP digunakan sebagai alternatif karena lebih cepat dalam pengkodean dan lebih cepat untuk dieksekusi. PHP code dapat dijalankan pada berbagai macam web server dan sistem operasi. PHP dapat dijalankan pada UNIX, Windows dan M achintosh OS X. PHP di desain untuk terintegrasi dengan Apache Web Server. PHP dapat dimodifikasi karena PHP didesain untuk memungkinkan adanya penambahan fungsi di masa yang akan datang.
2.2.5
World Wide Web M enurut Turban, Rainer, dan Potter (2007, p142), World wide web (WWW) atau yang dikenal sebagai W3 adalah sebuah sistem yang telah disepakati secara universal sebagai standar untuk menampung, mengambil, memformat, dan menampilkan informasi melalui sebuah client/server architecture. Sebuah web dapat menangani segala tipe dari informasi digital, meliputi teks, hypermedia, grafik, dan suara. Web menggunakan Graphical User Interface (GUI) sehingga mudah digunakan. M enurut Betha, Husni (2007, p1), world wide web lebih dikenal dengan web, merupakan salah satu layanan yang didapat oleh pemakai
52
komputer yang terhubung ke internet. Pada awalnya web adalah ruang informasi dalam internet, dengan menggunakan teknologi hypertext, pengguna dituntun untuk menentukan informasi dengan mengikuti link yang disediakan dalam dokumen web yang ditampilkan dalam browser web. M enurut Kurniawan (2001, p2) www memiliki karakteristik sebagai berikut : 1. Umumnya terletak pada internet, host dan client 2. Umumnya menggunakan protocol TCP/IP 3. Umumnya HTM L 4. M engikat model client/ server untuk komunikasi dua arah 5. M emungkinkan event mengaksses server dengan berbagai protocol seperti HTTP, FTP, Telnet dan Gopher 6. M emungkinkan client untuk mengakses informasi dalam berbagai media seperti teks, audio, dan video 7. M enggunakan model alamat Uniform resource locators (URL) Daya tarik web yang mendukung sistem ada 2 yaitu kemampuan multimedia dan interaktivitasnya. Dengan adanya interaktivitas web memungkinkan adanya entri data dan respon interaktif serta memiliki banyak kegunaan di bidang pemesanan dan pendisitribusian.
53
2.2.6
Web Server Web server adalah suatu program yang terletak pada komputer dengan akses internet, yang merespon permintaan browser untuk suatu URL. Web server memenuhi semua kebutuhan user dengan melayani permintaan halaman web. Jadi, halaman web harus di letakkan dalam web server agar dapat di lihat dari internet (Lemay, 2000, p23).
2.2.7
Interaksi Manusia dan Komputer M enurut Shneiderman, Ben (2003, p89), ada delapan aturan emas dalam perancangan interface, antara lain : 1. Berusaha untuk konsisten; 2. M emungkinkan frequent users menggunakan shortcuts; 3. M emberikan umpan balik yang informatif; 4. M erancang dialog yang memberikan penutupan (keadaan akhir); 5. M emberikan
pencegahan
kesalahan
dan
penanganan
kesalahan yang sederhana; 6. M emungkin pembalikkan aksi yang mudah; 7. M endukung pusat kendali internal; 8. M engurangi beban ingatan jangka pendek.
54
2.2.8
JQuery
M enurut Lukmanul Hakim (2010, p3), JQuery adalah javascript library yaitu kumpulan kode atau fungsi javascript siap pakai, sehingga mempermudah dan mempercepat dalam membuat kode javascript. Secara standar, apabila dalam membuat kode javascript, maka diperlukan kode yang panjang, bahkan terkadang sulit dipahami. Salah satu peran JQuery yaitu sebagai javascript library yang dapat memanggil fungsi yang terdapat
di
dalam
library
tersebut.
Kesimpulannya,
JQuery
menyederhanakan kode javascript.
2.2.9
MySQL MySQL adalah suatu jenis database server yang sangat terkenal. Sangat popular karena bersifat free (tidak perlu membayar untuk menggunakannya) pada berbagai platform (kecuali pada windows, yang bersifat software atau anda perlu membayar setelah melakukan evaluasi dan memutuskan digunakan untuk keperluan produksi). Perangkat lunak MySQL sendiri bisa di download dari http://www.mysql.org atau http://mysql.com. M enurut Luke Welling dan Laura Thomson (2001, p1) MySQL adalah sebuah relational database management sistem yang sangat cepat dan kuat.
55
MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL arau DBM S yang multithread, multiuser, dengan sekitar 6 juta instalasi di seluruh dunia. M ySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia M ySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu Finlandia yang mendirikan MySQL AB adalah : David A xmark, Allan Larsson, dan M ichael “M onty” Widenius.Tersedia sebagai perangkat lunak gratis di bawah lisensi GNU, GPL (General Public Licence), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunananya tidak cocok menggunakan aturan GPL. Untuk melakukan administrasi dalam basis data M ySQL, dapat menggunakan modul yang sudah termasuk yaitu command-line (perintah: mysql dan mysqladmin). Juga dapat di download dari situs MySQL yaitu sebuah modul berbasis grafis (GUI): MySQL Administrator dan MySQL Query Browser. Selain itu terdapat juga sebuah perangkat lunak gratis untuk admisnistrasi basis data MySQL berbasis web yang sangat popular yaitu phpMyAdmin.