7
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).
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 meng-capture 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.
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.
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.
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.
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.
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) :
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 :
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
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
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.
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.
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).
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.
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.
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.
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 :
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.
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.
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
◄Supervises Supervisor Role Name
Staff Role Name
Supervisee
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 :
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.
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.
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 :
1. Relasi One-to-One(1:1)
Relasi dimana setiap entiti yang ada hanya dapat mempunyai maksimal 1 relasi dengan entiti yang lain.
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.
Customer +id Name Address Phone #Orderid Order +id Date total Customer Order
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.
Customer customer_id Name Address Phone email Cont_moment_id Date Time #customer_id Customer ContactMoment ContactMoment
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
PR Bola Sindo R1 R2 R3 R4 A B C Koran (Entiti) Mengiklankan (tipe relasi) Rumah (Entiti)
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 non-primary key bersifat bergantung fungsional penuh terhadap non-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.
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 langkah-langkah sebagai berikut :
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. Candidate key dengan set atribut yang minimal II. 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
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 normalisasi) dan untuk memastikan dukungannya terhadap transaksi-transaksi yang dibutuhkan. 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
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
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.
Pada desain fisikal basis data ini terdiri dari langkah-langkah 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.
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.
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
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
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
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).
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
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
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.
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-
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.
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.
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.