BAB 2 LANDASAN TEORI
2.1
Teori – Teori Dasar Teori-teori dasar yang berhubungan sistem basis data meliputi pengertian sistem, data, basis data, sistem basis data, DDL, DML, Database Application
Lifecycle, ER Modelling, Normalisasi yang dapat digunakan
untuk mendukung penulisan skripsi akan dijelaskan secara ringkas sebagai berikut.
2.1.1
Pengertian Sistem Sistem adalah jangkauan dan batasan dari sebuah sistem basis data termasuk pandangan umum dari user, user itu sendiri, dan area aplikasi. (Connolly dan Begg, 2005, p285) Mengacu definisi sistem di atas, dapat juga diartikan, sistem adalah sekumpulan unsur / elemen yang saling berkaitan dan saling mempengaruhi dalam melakukan kegiatan bersama untuk mencapai suatu tujuan. Sebagai contoh, dalam sistem komputer terdapat software (perangkat lunak), hardware (perangkat keras), dan brainware (sumber daya manusia).
2.1.2
Pengertian Data
7
8
Menurut O’Brien (2003,p13), data juga merupakan fakta – fakta atau observasi yang mentah, biasanya mengenai kejadian atau transaksi bisnis Sistem informasi mengumpulkan data mentah dengan mengcapture fakta bisnis (mengenai produk, pegawai, pelanggan, dan sejenisnya) dan memproses transaksi bisnis. Data dikombinasikan, difilter, diorganisasikan dan dianalisa untuk menghasilkan informasi untuk membantu manajer merencanakan dan mengoperasikan bisnis.
2.1.3
Pengertian Basis Data Menurut Connolly dan Begg (2005, p15), basis data adalah suatu kumpulan data komputer yang terhubung secara logikal serta berisi deskripsi dari data tersebut, yang dirancang untuk memenuhi kebutuhan informasi dari suatu perusahaan. Deskripsi dari data tersebut, diketahui sebagai system catalog (atau data dictionary atau meta data). Basis data tidak hanya memegang data operasional organisasi tetapi basis data juga mendeskripsikan data tersebut. Sebagai contoh , sebuah basis data juga didefinisikan sebagai sebuah kumpulan gambaran diri sendiri dari rekaman-rekaman integrasi. Jadi, dapat disimpulkan bahwa basis data adalah koleksi data yang saling terkait yang berfungsi memenuhi kebutuhan informasi suatu organisasi.
9
2.1.4
Pengertian Sistem Basis Data Sistem basis data menurut Connolly (2005, p4), sistem basis data pada dasarnya adalah sistem penyimpanan record yang terkomputerisasi dimana tujuan sebenarnya adalah menyimpan informasi dan membuat informasi tersebut selalu tersedia pada saat dibutuhkan.
Keseluruhan
sistem
terkomputerisasi
tersebut
memperbolehkan pengguna menelusuri kembali dan mengubah informasi tersebut sesuai kebutuhan.
2.1.5
Database Management System (DBMS) Menurut Connolly dan Begg (2005, p16), DBMS adalah suatu sistem software yang memberikan kebebasan pada user untuk mendefenisikan (define), membuat (create), memelihara (maintain) dan mengontrol (control) akses database. Menurut Connolly (2005, p16), DBMS berinteraksi dengan program aplikasi user dan database dalam menyediakan fasilitas – fasilitas sebagai berikut : 1. Data Definition Language (DDL) DBMS harus mendukung semua defenisi data (skema eksternal, skema konseptual, skema internal) dan melakukan perubahan terhadap skema – skema tersebut kedalam bentuk objek yang sesuai.
2. Data Manipulation Language (DML)
10
DBMS harus dapat mengatur permintaan dari user untuk mengambil atau mengubah atau memasukkan data ke dalam basis data. DML menyediakan penggunaan sebuah fasilitas untuk melakukan pencarian data yang disebut Query Language. Query Language yang umum digunakan adalah Structured Query Language (SQL).
3. DBMS juga menyediakan kontrol akses ke database, yaitu :
a. Security System, DBMS mencegah adanya pengaksesan sistem basis data oleh user yang tidak memiliki hak akses.
b. Integrity
System,
DBMS
menjaga
dan
mengawasi
konsistensi data yang tersimpan didalam basis data, yang dapat mengganggu pemeriksaan integritas yang telah ditentukan oleh database administrators.
c. Concurrency Control System, DBMS memungkinkan adanya pengaksesan ke dalam basis data secara bersamaan.
d. Recovery Control System, memperbaiki basis data ke keadaan yang sebelumnya, jika terjadi error pada hardware atau software.
11
e. User Accessible-Catalog, terdapat deskripsi dari data yang ada di dalam basis data.
4. Menurut Indrajani (2009, p12), Komponen – komponen DBMS dibedakan menjadi 5, yaitu :
a. Perangkat Keras (Hardware) DBMS dan aplikasi membutuhkan perangkat keras agar dapat berjalan. Perangkat keras yang digunakan bergantung pada kebutuhan organisasi dan DBMS yang digunakan.
Beberapa
DBMS
hanya
berfungsi
pada
beberapa perangkat keras yang digunakan atau sistem operasi tertentu, ketika yang lain berjalan pada sebuah keberagaman perangkat keras dan sistem operasi yang luas.
b. Perangkat Lunak (Software) Komponen perangkat lunak terdiri dari perangkat lunak DBMS itu sendiri dan program – program aplikasi, bersama dengan sistem operasi, mencakup perangkat lunak jaringan jika digunakan pada sebuah jaringan.
c. Data
12
Komponen utama yang paling penting dari DBMS adalah data. Data berperan sebagai jembatan penghubung antara komponen mesin dan komponen manusia.
d. Prosedur Prosedur lebih cenderung pada instruksi dan peraturan yang mengatur desain dan penggunaan basis data. Pengguna dari sistem dan staf yang mengelola basis data membutuhkan dokumentasi procedures untuk mengetahui cara menggunakan dan menjalankan sistem. e. Manusia (People) Menurut Indrajani (2009, p17) Komponen terakhir dalam lingkungan DBMS adalah manusia (people). Ada empat tipe manusia yang dibedakan menjadi beberapa fungsi, yaitu sebagai :
1. Data dan Database Administrators Data Administrator (DA) bertanggung jawab untuk mengatur sumber data yang mencakup perencanaan basis data, pengembangan dan pemeliharaan, kebijakan dan prosedur, serta perancangan konseptual dan logikal dari basis data.
2. Database Designers
13
Kita dapat membedakan dua tipe dari designer yaitu logical
database
designers
dan
physical
database
designers. Logical database designers berkonsentrasi pada identifikasi data, hubungan antar data, dan batasan dari data yang disimpan dalam basis data. Sedangkan physical database designers memutuskan bagaimana perancangan logikal dari basis data yang diubah menjadi realisasi fisikal.
3. Applications Developers Ketika basis data diimplementasikan, program aplikasi yang menyediakan fungsi – fungsi yang dibutuhkan oleh
pengguna
akhir
(end
–
user)
juga
harus
diimplementasikan. Hal tersebut merupakan tanggung jawab dari application developers. 4. End – Users End users merupakan client dari basis data, yang telah dirancang, diimplementasikan, dan dipelihara untuk menyediakan kebutuhan informasi.
2.1.6
Database Application Lifecycle Tahapan penerapan database application lifecycle menurut Connolly (2005, p283-306) :
14
Gambar 2.1 Database Application Lifecycle Menurut Connolly dan Begg (2005, p283), ada beberapa aktivasi sistem yang berhubungan dengan Database Application Lifecycle, aktivitas – aktivitas tersebut antara lain :
15
a. Perencanaan Basis Data (Database Planning) Database Planning adalah merencanakan bagaimana tahapan – tahapan dari lifecycle dapat direalisasikan dengan cara yang efisien dan efektif. Perencanaan basis data harus terintegrasi dengan sistem informasi. (2005, p285-p286)
b. Definisi Sistem (System Definition) Definisi sistem pada lifecycle menjelaskan batasan-batasan dan cakupan dari aplikasi basis data dan sudut pandang pengguna (user view) yang utama. User view mendefinisikan apa yang diwajibkan dari suatu aplikasi basis data dari perspektif aturan kerja khusus (seperti manager dan supervisor) atau area aplikasi perusahaan (seperti marketing, personalia atau stock control).
c. Analisa
dan
Pengumpulan
Kebutuhan
(Requirements
Collections and Analysis) Suatu proses pengumpulan dan analisis informasi mengenai bagian dari organisasi yang akan mendukung aplikasi basis data dan menggunakan informasi ini untuk mengidentifikasi kebutuhan pengguna pada sistem baru. Pada bagian ini dilakukan pengumpulan dan analisis informasi mengenai bagian – bagian dari enterprise yang akan menggunakan atau terkait dengan basis data yang dibuat. Untuk itu digunakan teknik yang disebut Fact Finding Technique. Terdapat
16
lima Fact Finding Technique yang umum digunakan (Connolly dan Begg, 2005, p305) : 1. Mengevaluasi dokumen 2. Wawancara 3. Mengobservasi jalannya kegiatan pada organisasi 4. Penelitian 5. Kuesioner
d. Desain Basis Data (Database Design) Tahap ini berupa suatu
proses pembuatan sebuah
rancangan basis data yang akan mendukung tujuan dan operasi suatu perusahaan. Tujuan utamanya adalah : 1.
Merepresentasikan
data dan relationship
antar data yang
dibutuhkan oleh seluruh area aplikasi utama dan user group. 2.
Menyediakan model data yang mendukung segala transaksi yang diperlukan pada data.
3.
Menspesifikasikan desain minimal yang secara tepat disusun untuk memenuhi kebutuhan performa yang ditetapkan pada sistem (contoh : respon waktu).
Pendekatan dalam perancangan basis data : 1. Top-down Diawali dengan pembentukan model data yang berisi beberapa entitas high-level dan relationship, yang kemudian
17
menggunakan pendekatan top-down secara berturut-turut untuk mengidentifikasi entitas lower level, relationship dan atribut lainnya. 2.
Bottom-up Dimulai dari atribut dasar, yaitu sifat-sifat entitas dan relationship, dengan analisa dari penggabungan antar atribut, yang
dikelompokkan
ke
dalam
suatu
relasi
yang
merepresentasikan tipe dari entitas dan relationship antar entitas. 3.
Inside-Out Berhubungan dengan pendekatan bottom-up tetapi sedikit berbeda dengan identifikasi awal entitas utama dan kemudian menyebar ke entitas, relationship, dan atribut terkait lainnya yang lebih dahulu diidentifikasi.
4.
Mixed Menggunakan pendekatan bottom-up dan top-down untuk
bagian
yang
berbeda
sebelum
pada
akhirnya
digabungkan. Ada 3 fase utama dalam desain basis data, yaitu : a. Desain konseptual basis data Proses membangun model data (data model) dari informasi yang diperoleh dalam sebuah organisasi, tetapi terbebas dari semua pertimbangan fisik.
18
b.
Desain logikal basis data Proses membangun sebuah model informasi yang diperoleh dari sebuah organisasi berdasarkan model data yang khusus (specific data model), namun terbebas dari DBMS tertentu dan pertimbangan fisik lainnya.
c.
Desain fisikal basis data Proses pembuatan deskripsi dari suatu implementasi data base pada media penyimpanan (secondary storage). Hal ini, mendeskripsikan hubungan utama, organisasi file dan indeks yang digunakan untuk mencapai efisiensi akses kedalam data, dan hubungan integritas constraint (asosiated integrity constraint) yang lainnya dan hal yang berkaitan dengan keamanan.
e. Pemilihan DBMS (DBMS Selection) Menurut Connolly dan Begg (2005, p295), Proses penyeleksian DBMS yang cocok untuk mendukung aplikasi basis data. Langkah – langkah yang digunakan dalam memilih sebuah DBMS adalah sebagai berikut : 1. Membuat cakupan tugas berdasarkan kebutuhan perusahaan. 2. Membuat perbandingan mengenai dua atau tiga produk DBMS.
19
3. Mengevaluasi produk-produk DBMS yang dipilih. 4. Merekomendasikan pemilihan DBMS dan membuat laporan hasil evaluasi produk DBMS tersebut.
f. Desain Aplikasi (Application Design) Design
interface
user
dan
program
aplikasi
yang
menggunakan dan memproses basis data. Sesain basis data dan aplikasi merupakan aktifitas parallel yang meliputi dua aktifitas penting, yaitu : 1. Desain Transaksi (Transaction Design) Transaksi dapat juga diartikan sebagai sebuah atau serangkaian aksi, yang dilakukan oleh seorang user atau program aplikasi, yang mengakses atau mengubah isi dari basis data. (Connolly dan Begg, 2005, p300), Terdapat tiga tipe utama transaksi : I. Retrieval Transaction Digunakan untuk pemanggilan (retrieve) data untuk ditampilkan di layar atau menghasilkan suatu laporan, contohnya tampilan detil data properti (data ditampilkan dalam bentuk angka).
II. Update Transaction
20
Digunakan untuk menambah record baru, menghapus record lama, atau memodifikasi recordyang sudah ada di dalam basis data. contohnya operasi untuk memasukkan detil data properti baru kedalam basis data.
III. Mixed Transaction Meliputi
pemanggilandan
perubahan
data
contohnya
operasi untuk mencari detil data properti, menampilkannya dan kemudian mengupdate nilainya.
2. User Interface Design Beberapa aturan pokok dalam pembuatan user interface yaitu : a. Meaningful title, diusahakan pemberian nama suatu form cukup jelas menerangkan kegunaan dari suatu form atau report. b. Comprehensible instructions, penggunaan terminologi yang familiar untuk menyampaikan instruksi ke user dan jika informasi tambahan diperlukan, maka harus disiapkan helpscreen. c. Logical grouping and sequence at fields, field yang saling berhubungan ditempatkan pada form atau report yang sama. Urutan field harus logis dan konsisten.
21
d. Visually appealing layout of the form/report, tampilan form atau report haruslah menarik dan sesuai dengan hardcopy agar konsisten. e. Familiar field labels, penggunaan labels yang familiar. f. Consistent terminology and abbreviation, terminologi dan singkatan yang digunakan haruslah konsisten. g. Consistent of color. h. Visible and boundaries for data-entity fields. Jumlah tempat yang disediakan untuk data-entry harus diketahui oleh pengguna. i. Convenient cursor movement, user dapat dengan mudah menjalankan operasi yang diinginkan menggerakkan cursor pada form atau report. j. Error correction for individual characters and entire fields, pengguna dapat dengan mudah menjalankan operasi yang diinginkan dan melakukan perubahan terhadap nilai field. k. Error messages for unacceptable values. l. Optional fields marked clearly. m. Explanatory message for fields, ketika user meletakkan cursor pada suatu field, maka keterangan mengenai field tersebut harus dapat dilihat. n. Completion signal, indikator yang menjelaskan bahwa suatu proses telah selesai dilaksanakan.
22
g. Prototipe (Prototyping) Menurut Connolly dan Begg (2005, p304), prototyping adalah proses membangun model kerja (working model) dari aplikasi basis data, yang memperbolehkan perancang atau user untuk mengevaluasi hasil akhir dari sistem. Tujuan utama dalam pengembangan prototype pada aplikasi database adalah untuk memungkinkan pengguna menggunakan prototype dan mengidentifikasi fitur-fitur sistem, baik yang bekerja dengan baik maupun yang kurang baik, serta memungkinkan pengguna untuk dapat mengusulkan perkembangan beberapa fitur baru untuk aplikasi database.
h. Implementasi (Implementation) Menurut Connolly dan Begg (2005, p304), implementasi adalah membuat definisi basis data secara eksternal, konseptual, internal dan program aplikasi. Implementasi basis data dilakukan dengan menggunakan Data Definition Language (DDL) dari DBMS yang dipilih, atau dengan menggunakan Graphical User Interface (GUI). i. Loading dan Konversi Data (Data Conversion and Loading) Menurut Connolly dan Begg (2005, p305), Pada tahap ini dilakukan pengambilan data dari sistem yang lama untuk dipindahkan kedalam sistem yang baru.
23
j. Testing proses menjalankan program aplikasi dengan tujuan menemukan
dan
mencari
kesalahan-kesalahan.
Sebelum
digunakan, aplikasi database yang baru seharusnya telah melalui tahap percobaan.
k. Perawatan Operasional (Operational Maintenance) Menurut Connolly dan Begg (2005, p306), adalah proses memantau dan memelihara sistem setelah dilakukannya proses instalasi.
2.1.7
Entity Relationship Modelling (ER Modelling) ER Modelling adalah salah satu bentuk pendekatan top-down dalam
perancangan
basis
data
yang
dimulai
dengan
mengindentifikasi data-data penting yang disebut entities dan hubungan
(relationship)
antara
data-data
tersebut
harus
direpresentasikan dalam sebuah model. (Connolly dan Begg, 2005, p342). Berikut ini penjelasan konsep dasar dari ER Modelling, sebagai berikut : I. Tipe Entiti (Entity Types)
24
Menurut Connolly dan Begg (2005, p343) tipe entity adalah sekumpulan objek yang memiliki properties yang sama yang memiliki sebuah ketidaktergantungan eksistensi yang diidentifikasi oleh perusahaan. Setiap entity dilambangkan dengan sebuah persegi panjang yang diberi nama dengan entity tersebut. Nama entity biasanya adalah kata benda tunggal. Huruf pertama dari setiap entity harus menggunakan huruf besar. Entity dapat diklarifikasikan menjadi : 1.
Strong Entity Type : Tipe entiti yang keberadaannya tidak bergantung oleh adanya entity lain. Biasanya disebut dengan parent, owner dominant. (Connolly, 2005, p354).
2.
Weak Entity Type : Tipe entity yang keberadaannya bergantung oleh adanya entity lain. Biasanya disebut dengan child, dependent, subordinate (Connolly, 2005, p355).
II. Tipe Relasi (Relation Types) Menurut Connolly dan Begg (2005, p346), Relationship adalah suatu hubungan yang berarti antara satu tipe entity atau lebih tipe entity. Tipe
relasi
digambarkan
dengan
sebuah
garis
yang
menghubungkan tipe entitas – tipe entitas yang saling berhubungan.
25
Garis tersebut diberi nama sesuai dengan nama hubungannya dan diberi tanda panah satu arah disamping nama hubungannya. Representasi diagram dari suatu tipe relasi terlihat pada gambar 2.2. Pekerja
Kantor
Kantor mempunyai pekerja Gambar 2.2 Representasi diagram dari tipe relasi a.
Degree of relationship type Menurut Connolly dan Begg (2005, p347), Derajat dari tipe relasi adalah jumlah tipe entitas yang ikut serta dalam sebuah relasi . Complex relationship types adalah sebuah relasi antar tiga atau lebih tipe entitas (Connolly dan Begg, 2005, p470). Sebuah relasi yang memiliki derajat dua dinamakan binary(Connolly dan Begg, 2005, p348). Gambar 2.2 juga mempresentasikan diagram relasi derajat dua. Sedangkan sebuah relasi derajat tiga dinamakan ternary, dan jika sebuah relasi memiliki derajat empat dinamakan quarternary (Connolly dan Begg, 2005, p348). Suatu relasi dapat disebut relasi yang kompleks bila relasi tersebut mempunyai degree yang lebih dari dua ( binary ).
b.
Recursive relationship
26
Merupakan sebuah tipe relationship dimana tipe entitas yang sama ikut serta lebih dari sekali pada peran yang berbeda (Connolly dan Begg, 2005, p349). Representasi diagram recursive relationship beserta nama perannya terlihat pada gambar 2.3 :
Role Name ◄Supervises
Supervisor
Supervisee Staff Role Name
Gambar 2.3 Recursive Relationship Supervises with Role Names Supervisor and Supervisee III. Atribut (Attributes) Merupakan sifat-sifat (property) dari sebuah entity atau relationship type. Contohnya : Sebuah entity Staff digambarkan oleh atribut staffNo, name, position dan salary (Connolly dan Begg, 2005, p350). a. Domain Attributes Merupakan
kumpulan
dari
nilai-nilai
yang
diperbolehkan untuk satu atau lebih attribut, misalnya untuk atribut noRumah harus diisi nilai antara 1 sampai 20.
27
b.
Simple and Composite Attributes i. Simple attribute, yaitu atribut yang terdiri dari satu komponen tunggal dengan keberadaan yang independen dan tidak dapat dibagi menjadi bagian yang lebih kecil lagi. Dikenal juga dengan nama Atomic Attribute. ii. Composite attribute, yaitu atribut yang terdiri dari beberapa
komponen,
dimana
masing-masing
komponen
memiliki keberadaan yang independen. Misalkan atribut Address dapat terdiri dari Street, City, PostCode. c. Singe-Value and Multi-Value Attributes i. Single-value attribute, yaitu atribut yang mempunyai nilai tunggal untuk setiap kejadian. Misalnya entitas Branch memiliki satu nilai untuk atribut branchNo pada setiap kejadian. ii. Multi-value attribute, yaitu atribut yang mempunyai beberapa nilai untuk setiap kejadian. Misal entitas Branch memiliki beberapa nilai untuk atribut telpNo pada setiap kejadian. d. Derived Attributes Derived attributes, yaitu atribut yang memiliki nilai yang dihasilkan dari satu atau beberapa atribut lainnya, dan tidak harus berasal dari satu entitas. e. Keys
28
Macam – macam keys adalah sebagai berikut : (Connolly dan Begg, 2005, p353). 1. Super Key : Atribut unik yang mengidentifikasikan row. 2. Candidate Key : Atribut unik yang mengidentifikasikan table. Jumlah minimal atribut – atribut yang dapat mengidentifikasikan setiap kejadian atau record secara unik 3. Primary Key : Atribut unik yang mengidentifikasikan setiap row dalam table. Candidate Key yang dipilih untuk mengidentifikasikan setiap kejadian atau record dari suatu entitas secara unik. 4. Alternate Key : Candidate Key yang tidak terpilih menjadi Primary Key. 5.
Composite Key : Candidate Key yang terdiri dari dua atau lebih atribut.
6. Foreign Key : Atribut sebuah tabel yang menggabungkan diri ke tabel lain. IV. Structural Constraints Batasan utama pada relationship disebut multiplicity,yaitu jumlah atau range dari kejadian yang mungkin terjadi pada suatu entitas yang terhubung ke satu kejadian dari entitas lain yang berhubungan melalui suatu relationship. Menurut Connolly dan Begg (2005, p356), jenis batasan multiplicity terdiri dari :
29
1. Relasi One-to-One(1:1) Relasi dimana setiap entiti yang ada hanya dapat mempunyai maksimal 1 relasi dengan entiti yang lain.
Customer +id
Order Customer
Order
+id
Name
Date
Address
total
Phone #Orderid
Gambar 2.4 Relasi one-to-one antara customer dan order Pada gambar diatas relasi yang terjadi adalah relasi one-to-one, dimana satu customer hanya dapat menunjuk ke satu order demikian juga sebaliknya. 2. Relasi One-to-Many (1:*) Hubungan ini terjadi apabila sebuah record di tabel A menunjuk banyak record di tabel B, tetapi tabel B hanya dapat ditunjuk oleh sebuah record dari tabel A.
30
Customer
ContactMoment
customer_id
Customer ContactMoment
Cont_moment_id
Name
Date
Address
Time
Phone
#customer_id
email
Gambar 2.5 relasi one-to-many antara customer
dan
contact
moment Pada gambar diatas dapat dilihat bahwa tabel Customer dapat menunjuk beberapa ContactMoment tapi sebuah ContactMoment hanya dapat ditunjuk oleh sebuah Customer. 3. Relasi Many-to-Many Hubungan
ini membutuhkan tabel pembantu
untuk membantu hubungan antara dua tabel yang memiliki hubungan many to many. Dalam hubungan many to many, tiap tabel dapat menunjuk beberapa record di tabel lain. Contoh seperti gambar di bawah ini.
31
PR
R1
A
Bola
R2
B
Sindo
R3
C
R4
Koran
Mengiklankan
Rumah
(Entiti)
(tipe relasi)
(Entiti)
Gambar 2.6 relasi many-to-many antara koran dan iklan Pada gambar diatas relasi yang terjadi adalah relasi many-to-many, dimana setiap koran dapat mengiklankan lebih dari 1 rumah.
2.1.8 Normalisasi Menurut Connolly dan Begg (2005, p388), Normalisasi adalah teknik untuk menghasilkan kumpulan relasi dengan properti yang diinginkan, sesuai kebutuhan data suatu organisasi. Tingkatan normalisasi yang digunakan sebagai landasan penulisan skripsi ini ada beberapa tahap, yaitu : a. Unnormalized Form (UNF) Merupakan suatu tabel yang berisikan satu atau lebih groups yang berulang (repeating group). Membuat tabel unnormalized yaitu
32
dengan memindahkan data dari sumber informasi kedalam format tabel dengan baris dan kolom. b. First Normal Form (1NF) Suatu kondisi sebelum masuk ke proses normalisasi adalah Unnormalized Form (UNF), yaitu kondisi dimana sebuah tabel mengandung satu atau lebih repeating group (Connolly dan Begg, 2005, p403). Sedangkan 1NF adalah relasi dimana gabungan dari tiap kolom dan baris mengandung satu dan hanya satu nilai (Connolly dan Begg, 2005, p403). c. Second Normal Form (2NF) Yaitu relasi yang terdapat di dalam 1NF dan tiap atribut nonprimary key bersifat bergantung fungsional penuh terhadap primary key (Connolly dan Begg, 2005, p407). d. Third Normal Form (3NF) Yaitu relasi yang terdapat pada 1NF dan 2NF, dimana tidak ada atribut non-primary key yang bergantung transitif terhadap primary key (Connolly dan Begg, 2005, p409). e. Boyce-Codd Normal Form (BCNF)
Suatu relasi dikatakan BCNF bila didalamnya berisi atribut yang berfungsi sebagai candidate key sehinga salah satu dari candidate key tersebut menjadi primary key.
33
f. Fourth Normal Form (4NF) Bentuk normal 4NF terpenuhi dalam sebuah tabel jika telah memenuhi bentuk BCNF, dan tabel tersebut tidak boleh memiliki lebih dari sebuah multi-valued attribute. g. Fifth Normal Form (5NF) Bentuk normal 5NF terpenuhi jika tidak dapat memiliki sebuah lossless decomposistion menjadi tabel – tabel yang lebih kecil.
2.1.9 Metodologi Sistem Basis Data Terdapat tiga tahapan atau fase utama dalam perancangan basis data (Connolly dan Begg, 2005, p417 - 476), yaitu : 1. Perancangan Konseptual Proses membangun model informasi yang digunakan dalam sebuah organisasi, bebas dari semua pertimbangan fisik (Connolly dan Begg, 2005, p439). Pertimbangan fisik yang dimaksud meliputi DBMS
yang
akan
digunakan,
program
aplikasi,
bahasa
pemrograman, platfrom perangkat keras, unjuk kerja, dan pertimbangan fisik lainnya. Pada konseptual basis data desain ini terdiri dari langkahlangkah sebagai berikut :
34
Langkah 1 : membangun data model konseptual lokal untuk setiap view. 1.1 Mengidentifikasi tipe – tipe dari entitas. 1.2 Mengidentifikasi tipe relasi 1.3 Mengidentifikasi dan menghubungkan atribut dengan entiti atau tipe entiti 1.4 Menentukan domain atribut 1.5 Menentukan candidate dan primary key dari atribut Berikut adalah acuan dalam menentukan primary key dari candidate key : I. II.
Candidate key dengan set atribut yang minimal Candidate key dengan nilai yang berubah paling sedikit
III.
Candidate key dengan karakter paling sedikit
IV.
Candidate key dengan isi maksimum yang paling sedikit
V.
Candidate key dengan yang termudah digunakan dari sudut pandang user
1.6 Mempertimbangkan penggunaan konsep model yang lebih tinggi (enhanced modelling concepts) 1.7 Periksa model dan redundancy. 1.8 Memvalidasi
model data
konseptual
lokal terhadap
transaksi user 1.9 Memeriksa data konseptual lokal dengan user
35
2. Perancangan Logikal Proses membangun model informasi yang digunakan dalam sebuah enterprise yang didasarkan pada data model spesifik, dan terbebas dari DBMS dan semua pertimbangan fisik. Pada desain logikal basis data terdiri dari langkah-langkah sebagai berikut : Langkah 2 : Membangun dan memvalidasi model data logikal lokal untuk setiap view. Tujuannya untuk membangun sebuah local logical data model dari sebuah local conceptual data model yang mewakili pandangan tertentu dari organisasi dan kemudian memvalidasi model ini untuk memastikan bahwa strukturnya benar (dengan menggunakan
teknik
dukungannya
terhadap
normalisasi)
dan
untuk
memastikan
yang
dibutuhkan.
transaksi-transaksi
Kegiatan yang dilakukan pada langkah ini meliputi : 2.1 Hilangkan fitur – fitur yang tidak kompatibel dengan model relasional (optional step). Langkah-langkahnya antara lain : i. Menghilangkan relasi binary many-to-many (*:*) ii. Menghilang iii. kan relasi rekursif many-to-many (*:*) iv. Menghilangkan tipe relasi yang kompleks
36
v. Menghilangkan atribut multi-valued
2.2 Mendapatkan relasi untuk model data logikal Untuk mendapatkan relasi dari data model yang ada maka digunakan cara-cara berikut ini : i.
Tipe entiti yang kuat
ii.
Tipe entiti yang lemah
iii.
Relasi binary one-to-many (1:*)
iv.
Relasi binary one-to-one (1:1)
v.
Relasi recursive
vi.
Tipe relasi superclass/subclass
2.3 Memvalidasi relasi menggunakan normalisasi 2.4 Memvalidasi relasi dengan transaksi pengguna. 2.5 Mendefinisikan integrity constraints
Integrity constraints adalah batasan-batasan yang harus ditentukan untuk melindungi basis data agar tetap konsisten (Connolly dan Begg, 2005, p474). Ada 5 tipe Integrity constraints, yaitu : i. Required data (data/nilai yang valid) ii. Batasan domain attribute iii. Entity integrity (primary key tidak boleh null)
37
iv. Referential integrity (foreign key pada suatu entiti harus sesuai dengan candidate key pada entiti lain). v. Enterprise constraint (batasan pada organisasi)
2.6 Melihat kembali model data logikal lokal dengan pengguna. Langkah 3 : Membangun dan validasi model data logikal global Bertujuan menggabungkan masing-masing local logical data model
menjadi sebuah global logical data model yang
menggambarkan organisasi dengan menyatukan masing-masing local logical data model bagi setiap pandangan pengguna. 3.1 Menggabungkan model data logikal lokal ke dalam model global 3.2 Memvalidasi model data logikal global 3.3 Memeriksa perkembangan yang akan datang 3.4 Memeriksa model data logikal global dengan user 3. Perancangan Fisikal Perancangan basis data fisikal merupakan konstruksi penjelasan implementasi basis data pada secondary storage, menguraikan basis relasi, organisasi file, merancang index, integrity, dalam peralatan atau mekanisme security.
38
Pada desain fisikal basis data ini terdiri dari langkahlangkah sebagai berikut : Langkah 4 : Menjelaskan model data logikal global untuk DBMS yang akan digunakan. 4.1 Mendesain relasi dasar (base relations) 4.2 Mendesain representasi dari data yang diturunkan 4.3 Mendesain enterprise constraints Langkah 5 : Mendesain gambaran fisik dari basis data Menentukan organisasi file yang akan digunakan dan indeks untuk menghasilkan performa yang diinginkan serta menentukan apa saja yang akan disimpan dalam
secondary
storage. 5.1 Menganalisa transaksi 5.2 Memilih organisasi file yang akan digunakan 5.3 Memilih indeks yang digunakan 5.4 Memperkirakan disk space yang diperlukan Langkah 6 : Mendesain user view Mendesain user view yang telah diindentifikasi. Langkah 7 : Mendesain pengukuran keamanan (security)
39
Membatasi pengaksesan basis data oleh user-user yang tidak berhak dan menspesifikasi user terhadap basis data yang dapat diakses. Langkah 8 : Menentukan apakah redudansi data telah dapat dikontrol Dilakukan normalisasi agar dapat meningkatkan performa dari sistem dan menghilangkan redudansi. Langkah 9 : Memonitor Sistem Operasional Memonitor dan meningkatkan performa dari sistem dengan memperbaiki desain yang tidak sesuai atau perubahan kebutuhan.
2.1.10 STD (State Transition Diagram) Menurut Whitten (2004, p673), State Transition Diagram (STD) adalah suatu alat yang digunakan untuk menggambarkan urutan dan variasi dari layar yang dapat terjadi selama sesi pengguna. State transition diagram merupakan suatu modeling tool yang menggambarkan sifat ketergantungan pada waktu dari suatu sistem. State transition diagram adalah diagram yang terdiri dari : a. State (keadaan) b. Event atau tindakan yang menyebabkan perpindahan dari satu state ke state lainnya.
40
Ada dua macam symbol yang menggambarkan proses dalam State transition diagram (STD) yaitu : a. Gambar persegi panjang menunjukkan state dari sistem . b. Gambar panah menunjukkan transisi antar state . Tiap panah diberi label dengan ekspresi aturan. Label yang diatas menunjukan kejadian yang menyebabkan transisi yang terjadi. Label dibawah menunjukkan aksi yang terjadi akibat dari kejadian tadi.
Gambar 2.7 Simbol-simbol State Transition Diagram
2.1.11 Pendekatan dalam Pengimplementasian Web Basis Data Ada dua pendekatan dalam pengimplementasian web basis data, yaitu : 1. Pendekatan Server Side Server side scripting merupakan sebuah teknologi scripting atau pemrograman web dimana script dikompilasi
41
atau diterjemahkan di server yang memungkinkan untuk menghasiklkan halaman web yang dinamis. Beberapa contoh server side scripting : a. ASP b. ColdFusion c. Java Server Pages d. PERL e. Phyton f. PHP Karakteristik server side programming : i. Ada client yang meminta request. ii. Eksekusi program dilakukan di server. iii. Mengirimkan hasil ke client. Keuntungan server side programming : 1. Cross platform : tidak tergantung dengan browser tertentu 2. Optimasi dan pemeliharaan dengan browser tertentu 3. Dapat mengakses databasae dan tidak tergantung dengan kemanan 4. Menambah kekuatan server
42
5. Kode program aman 2. Pendekatan Client Side Client
side
scripting
merupakan
jenis
script
yang
pengolahannya dilakukan disisi client. Pengolahan disini berarti yang memiliki tugas untuk menerjemahkan script jenis ini disisi client adalah web browser. Agar semua script yang masuk kategori ini dapat diterjemahkan oleh web browser maka didalam web browser terdapat sebuah komponen yang memiliki daftar pustaka (library) yang mampu mengenali semua perintah – perintah yang terdapat pada kategori client side scripting. Berikut contoh web browser yang populer digunakan : internet explorer, mozilla firefox, opera, safari (macintosh). Berikut ini adalah contoh client side scripting : javascript, vbscript, activeX, dll. Client side scripting merupakan script yang digunakan untuk membantu standard static HTML menjadi lebih dinamis. Karakteristik client side scripting : 1. Kode program didownload bersama dengan halaman web 2. Bersifat interpreter dan diterjemahkan oleh browser 2.1.12 Pengertian Intranet Menurut Onno W.Purbo Intranet adalah sebuah jaringan computer berbasis protocol TCP/IP seperti internet hanya saja digunakan
43
dalam internal perusahaan, kantor, bahkan warung internet (WARNET) pun dapat di kategorikan intranet. Antar Intranet dapat saling berkomunikasi satu dengan yang lainnya melalui sambungan internet yang memberikan tulang punggung komunikasi jarak jauh. Akan tetapi sebetulnya sebuah intranet tidak perlu sambungan luar ke internet untuk berfungsi secara benar. Intranet menggunakan semua protocol TCP/IP dan Aplikasinya sehingga kita memiliki “private” internet. Beberapa protocol internet (FTP, POP3 atau SMTP) umumnya merupakan komponen protocol yang sering digunakan.
2.1.13 Pengertian Extranet Menurut Connolly (2005, p996), extranet adalah intranet yang dapat diakses sebagian orang luar yang memiliki wewenang. Sedangkan intranet berada di belakang firewall dan hanya bisa diakses oleh orang yang menjadi anggota organisasi yang sama, extranet menyediakan berbagai tingkat aksesibilitas bagi orang luar.
2.1.14 Pengertian Internet Menurut Connolly (2005, p994), internet adalah kumpulan jaringan komputer di seluruh dunia yang saling berhubungan. Internet terdiri dari banyak jaringan yang terpisah tetapi saling berhubungan milik organisasi komersial, pendidikan, pemerintahan, dan Internet Service Provider (ISP).
44
2.1.15 Istilah – istilah yang Berhubungan dengan Internet dan Web 1. Web Browsers Browser atau web browser adalah perangkat lunak di sisi klien yang digunakan untuk mengakses informasi we., Internet Explorer, Netscape dan Mozilla merupakan contoh – contoh browser yang ada. 2. WWW (World Wide Web) World Wide Web (“WWW”, atau singkatnya “Web”) adalah suatu ruang informasi yang dipakai oleh pengenal global yang disebut Uniform Resource Identifier (URL) untuk mengidentifikasi sumber – sumber daya yang berguna. Web juga dapat diartikan sebagai salah satu dari banyak aplikasi pada internet dimana aplikasi ini melibatkan banyak komputer dengan menggunakan internet sebagai mekanisme dasar dari penghubungannya. Web dijalankan dengan program pada server dan menerima respon dari client. Dari hubungan tersebut maka beberapa komputer menjadi Web Server, yakni komputer yang menyediakan informasi dan dapat diakses melalui web oleh komputer client. Aplikasi – aplikasi web antara lain : 1. Publikasi Web 2. E-commerce 3. Group activities 4. Embedded
45
WWW terdiri dari 2 komponen dasar yaitu : 1. Web Server Sebuah komputer dan perangkat lunak yang menyimpan dan mendistribusikan data ke komputer lainnya melalui internet. 2. Web Browser Perangkat lunak yang dijalankan pada komputer pengguna (client)
yang
meminta
informasi
dari
web
server
dan
menampilkannya sesuai dengan file data itu sendiri. 3. Universal Resource Locator (URL) Setiap web mempunyai alamat akses yang unik yaitu Universal Resource Locator (URL). URL juga digunakan dalam dokumen web untuk mengaitkan link, baik antara dokumen – dokumen maupun antara situs – situs web. Format umum URL adalah sebagai berikut : Protokol1_transfer://nama_host/path/nama_file Contoh : http://www.amazon.com/buku/index.html 4. HTTP (Hypertext Transfer Protocol) HTTP (Hypertext Transfer Protocol, lebih sering terlihat sebagai http) adalah protokol yang dipergunakan untuk mentransfer dokumen dalam World Wide Web (WWW). Protokol ini adalah
46
protokol ringan, tidak berstatus dan generik yang dapat dipergunakan berbagai macam tipe dokumen. 5. HTML (Hypertext Markup Language) HTML merupakan kepanjangan dari Hyper Text Markup Language. HTML adalah suatu bahasa yang digunakan untuk membuat halaman – halaman hypertext (hypertext page) pada internet.
2.1.16 Web Database Menurut Eaglestone (2001, p38), web database sistem adalah sistem dimana kedua teknologi web dan database digunakan Menurut Eaglestone (2001, p36), web database memiliki beberapa keuntungan, diantaranya : • Basis data dapat diakses oleh pengguna luas di seluruh dunia • Sistem terdistribusi Data dapat diberikan dimana data dibutuhkan dan aplikasi dapat diletakkan
dimana ada
aktivitas yang mendukung dan
membutuhkan aplikasi itu. • Web database memberikan fasilitas yang menguntungkan untuk query data, manipulasi data, dan administrasi data.
47
2.1.17 Perancangan Web Database Menurut Eaglestone (2001, p262), disamping perancangan konvensional basis data, ada 2 hal rumit yang harus dipertimbangkan dalam merancang web database, •
Perancangan web page i. Menampilkan web data – mengambil dari basis data atau masukkan dari user. ii. Kumpulan web data – perancangan hubungan untuk petunjuk didalam maupun diantara web pages. iii. Perancangan web interface – perancangan web pages features.
•
Perancangan hubungan antara web pages dan basis data. i. Web database logical mapping – definisi mapping antara data displayed dalam web pages dan data stored dalam basis data. Web database physical mapping – implementasi mekanisme dimana data dilakukan diantara web pages dan basis data. Kinerja cepat dan bebas kesalahan.
2.2
Teori – Teori Khusus 2.2.1. Pelabuhan Pelabuhan adalah sebuah fasilitasdi ujung samudera, sungai, atau danau untuk menerima kapal dan memindahkan barang kargo maupun penumpang ke dalamnya. Pelabuhan biasanya memiliki alat-
48
alat yang dirancang khusus untuk memuat dan membongkar muatan kapal – kapal yang berlabuh. Crane dan gudang berpendingin juga disediakan oleh pihak pengelola maupun pihak swasta yang berkepentingan. Sering pula disekitarnya dibangun fasilitas penunjang seperti pengalengan dan pemrosesan barang. Peraturan Pemerintah RI No. 69 Tahun 2001 mengatur tentang pelabuhan dan fungsi serta penyelenggaraannya. Pelabuhan juga dapat didefinisikan sebagai daerah perairan yang terlindung dari gelombang laut dan dilengkapi dengan fasilitas terminal meliputi : •
Dermaga, tempat dimana kapal dapat bertambat untuk bongkar muat barang.
•
Crane, untuk melaksanakan kegiatan bongkar muat barang.
•
Gudang laut (transito), tempat untuk menyimpan muatan dari kapal atau yang akan dipindah ke kapal.
2.2.2 Pelabuhan Perikanan Pelabuhan Perikanan adalah tempat yang terdiri dari daratan dan perairan di sekitarnya dengan batas-batas tertentu sebagai tempat kegiatan pemerintahan dan kegiatan sistem bisnis perikanan yang dipergunakan sebagai tempat kapal perikanan bersandar, berlabuh dan/atau bongkar muat ikan yang dilengkapi dengan fasilitas keselamatan pelayaran dan kegiatan penunjang Pelabuhan Perikanan.
49
Indonesia memiliki pelabuhan perikanan yang tersebar di seluruh penjuru tanah air sebagai salah satu elemen penting dan strategis dalam pengembangan sub-sektor perikanan tangkap. Fungsi pelabuhan perikanan adalah sebagai pusat pelayanan masyarakat dalam kaitannya dengan: • Tambat labuh kapal perikanan; • Pendaratan ikan; • Pemasaran dan distribusi ikan; • Pelaksanaan pembinaan mutu dan pengolahan hasil perikanan; • Pengumpulan data tangkapan dan hasil perikanan; • Pelaksanaan penyuluhan dan pengembangan masyarakat nelayan; • Memperlancar kegiatan operasional perikanan; dan • Pelaksanaan kesyahbandaran.
2.2.3 Distribusi
Distribusi artinya proses yang menunjukkan penyaluran barang dari produsen sampai ke tangan masyarakat konsumen. Produsen artinya orang yang melakukan kegiatan produksi. Konsumen artinya orang yang menggunakan atau memakai barang/jasa dan orang yang melakukan kegiatan distribusi disebut distributor.
50
Distribusi merupakan kegiatan ekonomi yang menjembatani kegiatan produksi dan konsumsi. Berkat distribusi barang dan jasa dapat sampai ke tangan konsumen. Dengan demikian kegunaan dari barang dan jasa akan lebih meningkat setelah dapat dikonsumsi.