1 BAB 2 TINJAUAN PUSTAKA 2.1 Intranet Menurut Connolly (2015, pp. 1050), intranet merupakan sebuah website atau kumpulan situs-situs milik sebuah orga...
Intranet Menurut Connolly (2015, pp. 1050), intranet merupakan sebuah website atau kumpulan situs-situs milik sebuah organisasi yang hanya bisa diakses oleh anggota dari organisasi tersebut. Pada umumnya, intranet terhubung ke internet publik yang lebih luas melalui firewall, dengan pembatasan yang diberlakukan pada jenis informasi yang dapat masuk dan keluar dari intranet. Sebagai contoh, staf diperbolehkan untuk menggunakan email eksternal dan mengakses website eksternal, tetapi orang-orang di luar organisasi mungkin terbatas untuk mengirim email ke dalam organisasi dan dilarang untuk melihat halaman web apapun yang berada di intranet.
2.2
Database Menurut Connolly (2015, pp. 63), database adalah sebuah kumpulan data yang berelasi secara logika dan deskripsinya yang didesain untuk mencukupi kebutuhan organisasi.
2.2.1 Manfaat Database Menurut Kusrini (2007, pp. 5), banyak manfaat yang dapat diperoleh dalam menggunakan database. Manfaat database diantaranya adalah: -
Kecepatan dan Kemudahan (speed) Melalui penggunaan database, pengambilan informasi lebih cepat dan mudah. Database dapat mengelompokkan, mengurutkan bahkan dapat melakukan perhitungan dengan matematika. Jika melakukan peracangan dengan benar, maka informasi dapat diatur dengan cepat dan mudah.
7
8 -
Kebersamaan Pemakai (sharability) Satu database dapat digunakan oleh banyak user dan aplikasi. Sehingga, jika banyak bagian yang memerlukan satu data yang sama tidak perlu membuat data yang sama berulang tetapi bisa menggunakan database yang sama.
-
Pemusatan Kontrol Data Pengontrolan data cukup dilakukan hanya pada satu tempat saja, karena database yang dibuat dari beberapa keperluan hanya satu saja.
-
Efisiensi Ruang Penyimpanan (space) Karena pemakaian database digunakan secara bersama, maka tidak perlu menyimpan data di banyak tempat sehingga menghemat ruang penyimpanan yang dimiliki oleh sebuah organisasi.
-
Keakuratan (accuracy) Dengan menggunakan aturan tipe data, keunikan data, hubungan antar data, dan lain-lain, dapat membantu keakuratan dalam pemasukan/penyimpanan data.
-
Keamanan (security) Database dapat diberikan password untuk membatasi hak akses pengguna sehingga informasi yang ada di dalam database aman.
-
User View Database dapat menyediakan pandangan yang berbeda-beda untuk setiap penggunanya.
2.2.2
DBMS Menurut Connolly (2015, pp. 64), sistem manajemen database (Database Management System) adalah sistem software yang memungkinkan pengguna untuk mendeskripsikan, memelihara, dan mengontrol akses ke database.
9
2.2.3 SQL Menurut Connolly (2015, pp. 192), Structured Query Language (SQL) merupakan contoh dari bahasa transform-oriented, atau bahasa yang dirancang untuk menggunakan hubungan yang mengubah input menjadi output yang digunakan.
2.2.3.1
DDL Menurut Connolly (2015, pp. 90), Data Definition Language (DDL) adalah bahasa yang memungkinkan pengguna untuk mendeskripsikan dan memberi nama entitas, atribut dan hubungan yang dibutuhkan untuk aplikasi, berserta integritas yang berkaitan dan kendala keamanan. Fungsi – fungsi yang terdapat di dalam DDL adalah: a. CREATE: untuk membuat obyek dalam database. b. ALTER: untuk memodifikasi obyek dalam database. c. DROP: untuk menghapus obyek dalam database.
2.2.3.2
DML Menurut Connolly (2015, pp. 90), Data Manipulation Language (DML) adalah bahasa yang menyediakan sekumpulan operasi untuk mendukung operasi manipulasi data dasar pada data yang ada di dalam database. Fungsi – fungsi yang terdapat dalam DML adalah: a. SELECT: untuk mengambil data dari database. b. INSERT: untuk menambahkan data ke dalam database. c. UPDATE: untuk memodifikasi data dalam database. d. DELETE: untuk menghapus data dari database.
10 2.2.4
Database System Development Lifecycle (DSDLC) Menurut Connoly dan Begg (2015, pp. 347-369), tahapan dari siklus pengembangan sistem database adalah sebagai berikut:
Gambar 2.1 Diagram DSDLC
1. Database Planning Database
Planning
adalah
aktivitas
manajemen
yang
memungkinkan siklus pengembangan sistem database untuk direalisasikan seefisien dan seefektif mungkin. 2. System Definition System Definition mendeskripsikan cakupan dan batasan dari sistem database dan sudut pandang pengguna yang utama.
11 3. Requirements Collection and Analysis Requirements Collection and Analysis merupakan proses dari pengumpulan dan analisis informasi mengenai bagian dari organisasi yang akan didukung oleh sistem database, dan menggunakan informasi itu untuk mengidentifikasi kebutuhan dari sistem yang baru. Informasi yang di kumpulkan untuk user view utama meliputi : -
Deskripsi data yang digunakan atau dihasilkan.
-
Detail mengenai bagaimana data tersebut dapat digunakan atau dihasilkan.
-
Beberapa kebutuhan tambahan untuk sistem database yang baru.
4. Database Design Database Design merupakan proses dalam membuat perancangan yang akan mendukung pernyataan misi dari perusahaan dan tujuan misi untuk sistem database yang dibutuhkan. 4.1 Approaches to Database Design Ada beberapa pendekatan yang dapat digunakan dalam mendesain database, yaitu: a. Bottom-up Pendekatan yang dimulai dari level dasar atribut (property entitas dan hubungan), menganalisa hubungan antara attribut, mengelompokannya dalam suatu relasi yang menggambarkan tipe tipe dan hubungan antar entitas. b. Top-Down Pendekatan dapat diilustrasikan menggunakan konsep Entity-Relationship (ER) model, lalu mengidentifikasikan entitas, dan hubungan antara entitas. Pendekatan ini sesuai bagi data yang kompleks.
12 c. Inside-out Berhubungan dengan pendekatan bottom-up, tetapi sedikit berbeda dengan identifikasi awal entitas utama dan kemudian menyebar ke entitas, hubungan, dan atribut lainnya yang lebih dahulu telah diidentifikasi. d. Mixed Pendekatan yang menggunakan bottom-up dan top-down untuk berbagi yang berbeda sebelum pada akhirnya di gabungkan. 4.2 Data Modeling Terdapat dua kegunaan dari model data, yaitu: 1. Membantu dalam memahami arti (semantic) dari kata. 2. Memfasilitasi komunikasi mengenai informasi yang dibutuhkan. 4.3 Phases of Database Design Perancangan database dibuat dalam tiga tahapan utama,yaitu: 1. Perancangan database conceptual Conceptual Database Design adalah proses dalam membangun model data yang digunakan pada sebuah perusahaan, tanpa pertimbangan fisik. Menurut Connolly (2015, pp. 506), langkah-langkah dalam pembuatan Conceptual Database Design, adalah: 1. Mengidentifikasi tipe entitas 2. Mengidentifikasi tipe relasi 3. Mengidentifikasi dan menghubungkan atribut dengan tipe entitas atau tipe relasi 4. Menentukan domain atribut 5. Menentukan atribut candidate, primary, dan alternate key 6. Mempertimbangkan penggunaan konsep enhanced modeling (opsional) 7. Pengecekan redudansi pada model
13 8. Memvalidasi conceptual data model terhadap transaksi pengguna 9. Memeriksa ulang data model dengan pengguna 2. Perancangan database logical Logical Database Design adalah proses dalam membangun model data yang digunakan pada sebuah perusahaan berdasarkan model data yang spesifik, tetapi terbebas dari DBMS tertentu dan pertimbangan fisik lainnya. Menurut Connolly (2015, pp. 506), langkah-langkah dalam pembuatan Logical Database Design, adalah: 1. Membentuk relasi untuk model data logikal 2. Memvalidasi relasi menggunakan normalisasi 3. Memvalidasi relasi terhadap transaksi pengguna 4. Pengecekan integrity constraint 5. Memeriksa ulang model data logikal dengan pengguna 6. Menggabungkan model data logikal ke model data global (langkah opsional) 7. Pengecekan Perkembangan di masa depan 3. Perancangan database physical Physical
Database
Design
adalah
proses
dalam
menghasilkan deskripsi dari penerapan database pada tempat penyimpanan sekunder, hal ini menggambarkan relasi dasar, organisasi file, dan indeks untuk mencapai akses data yang efisien dan berkaitan dengan kendala integritas dan tingkat keamanan. Menurut Connolly (2015, pp. 506-507), langkah-langkah perancangan Physical Database adalah sebagai berikut: 1. Menerjemah model logical data untuk target DBMS a. Mendesain relasi-relasi dasar b. Mendesain representasi dari derived data
14 c. Merancang kendala umum 2. Mendesain organisasi berkas dan indeks a. Analisa transaksi b. Memilih organisasi berkas c. Memilih indeks d. Memperkirakan kebutuhan disk space 3. Mendesain user views 4. Mendesain mekanisme keamanan 5. Mempertimbangkan
pengenalan
dari
redudansi
terkontrol 6. Memonitor dan menyesuaikan sistem operasional 5. DBMS Selection DBMS Selection merupakan tahapan untuk memilih DBMS yang sesuai untuk mendukung sistem database yang dilakukan pada tahap konseptual dan logikal. Terdapat tahapan-tahapan utama untuk memilih DBMS: 1. Menggambarkan cakupan tugas berdasarkan kebutuhan perusahaan. 2. Membuat perbandingan mengenai dua atau tiga produk. 3. Melakukan evaluasi produk-produk DBMS yang dipilih. 4. Merekomendasikan pemilihan DBMS dan membuat laporan hasil evaluasi produk-produk DBMS. 6. Application Design Application Design merupakan tahap merancang antar muka pengguna dan program aplikasi yang menggunakan proses database. 7. Prototyping Prototyping adalah pembuatan model kerja dari sistem database. Sebuah prototype adalah model kerja yang biasanya tidak memiliki semua fitur yang dibutuhkan atau fungsi yang diinginkan oleh pengguna pada sistem akhir. Tujuan utama dari mengembangkan sebuah prototype sistem database adalah
15 memungkinkan pengguna untuk mengidentifikasi fitur-fitur dari sistem yang dirasakan sudah baik atau masih ada yang kurang. Pengguna juga dapat memberikan saran perbaikan atau bahkan fitur-fitur baru pada aplikasi database sehingga perancang dapat mengevaluasi kembali. 8. Implementation Implementation merupakan relasi fisik dari database dan perancangan aplikasi. Implementation database dapat dilakukan dengan beberapa cara: 1. DDL digunakan untuk membuat struktur database dan berkas database kosong. 2. DDL
membuat
suatu
sudut
pandang
pengguna
yang
diinginkan. 3. 3GL (Third Generation Language) dan 4GL (Fourth Generation Language) untuk membuat program aplikasi. Termasuk juga transaksi database yang diimplementasikan dengan menggunakan DML. 9. Data Conversion and Loading Data Conversion and Loading merupakan pemindahan yang ada ke dalam database yang baru dan mengkonversi aplikasi yang ada agar dapat digunakan pada database yang baru. 10. Testing Testing merupakan proses menjalankan sistem database dengan tujuan menemukan kesalahan. 11. Operational Maintenance Operational Maintenance merupakan proses pemantauan dan pemeliharaan sistem database berikut instalasi.
16 2.2.5
Entity – Relationship Modelling Menurut Connolly (2015, pp. 405), Entity - Relationship Modeling adalah pendekatan top-down ke perancangan database yang dimulai dengan mengidentifikasi data yang penting yang disebut entitas dan hubungan antara data harus digambarkan dalam model. Menurut Wahana Komputer (2010, pp. 30), Entity merupakan sebuah obyek yang dapat dibedakan dengan obyek lainnya. Obyek tersebut dapat memiliki komponen-komponen data (atribut atau field) yang membuatnya dapat dibedakan dari obyek yang lain. Pada dunia database entity memiliki atribut yang menjelaskan karakteristik dari entity tersebut.
2.2.5.1
ERD Menurut Wahana Komputer (2010, pp. 30), ERD (Entity Relationship Diagram) adalah sebuah diagram yang secara konseptual memetakan hubungan antar penyimpanan pada diagram
DFD.
ERD
digunakan
untuk
melakukan
permodelan terhadap struktur data dan hubungannya. Penggunaan ERD ini dilakukan untuk mengurangi tingkat kerumitan penyusunan sebuah database yang baik.
2.2.5.2
Atribut Menurut Connolly (2015, pp. 413-415), attribute adalah sebuah properti dari sebuah entitas atau sebuah jenis hubungan. Berikut beberapa atribut: -
Simple Attributes dan Composite Attributes Simple Attributes adalah sebuah atribut yang tersusun dari satu komponen yang keberadaannya tidak bergantung. Composite Attributes merupakan sebuah atribut yang tersusun atas banyak komponen yang setiap atributnya keberadaannya berdiri sendiri.
17 -
Single-Valued dan Multi-Valued Attributes Single-Valued adalah sebuah atribut yang memegang sebuah nilai untuk setiap kemunculan dari tipe entitas. Multi-Valued Attributes adalah sebuah atribut yang memegang banyak nilai untuk setiap kemunculan dari tipe entitas.
-
Derived attribute Derived
attribute
adalah
sebuah
atribut
yang
merepresentasikan sebuah nilai yang diturunkan dari nilai berkaitan atribut atau kumpulan dari atribut, belum tentu tipe entitas sama.
2.2.6 Relational Keys Menurut Connolly (2015, pp. 158-159), terdapat beberapa jenis keys, yaitu: -
Candidate key Candidate key adalah jumlah minimal atribut – atribut dimana secara unik mengidentifikasi setiap kejadian dari sebuah tipe entitas.
-
Primary key Primary
key
adalah
candidate
key
yang
dipilih
untuk
mengindentifikasikan setiap kejadian dari suatu entitas secara unik. Candidate keys yang tidak dipilih sebagai primary key menjadi alternate keys. -
Foreign key Foreign key adalah atribut yang menghubungkan primary key dengan atribut yang terdapat pada tipe entitas lain.
2.2.7 Tipe Entitas Strong dan Weak Menurut Connolly (2015, pp. 417), jenis entitas tergolong menjadi strong dan weak.
18 -
Strong Suatu entitas disebut sebagai entitas strong jika keberadaannya tidak bergantung pada keberadaan jenis entitas lain. Karakteristik jenis entitas strong adalah pada setiap kejadian entitas dapat diidentifikasi secara unik dengan menggunakan atribut primary key dari entitas tersebut.
-
Weak Entitas weak adalah jenis entitas yang keberadaannya bergantung dengan jenis entitas lainnya. Karakteristiknya adalah setiap kejadian entitas tidak dapat diidentifikasi secara unik hanya dengan menggunakan atribut yang terkait dengan jenis entitas tersebut.
2.2.8
Multiplicity Menurut
Connolly
(2015,
pp.
419-423),
multiplicity
merupakan jumlah atau jarak pada kemungkinan kejadian dari suatu entitas yang mungkin berhubungan dengan sebuah kejadian dari suatu entitas yang terkait melalui hubungan tertentu. Terdapat 3 jenis hubungan, yaitu: -
Hubungan one-to-one (1:1)
Gambar 2.2 Contoh Hubungan One-to-one
19
-
Hubungan one-to-many (1:*)
Gambar 2.3 Contoh hubungan one-to-many
-
Hubungan many-to-many (*:*)
Gambar 2.4 Contoh hubungan many-to-many
2.2.9 DFD Menurut ISRD Group (2007, pp. 165-166), Data Flow Diagram (DFD) menggambarkan bagian dari data yang melewati sebuah sistem. Data Flow Diagram digunakan untuk menekankan aliran logical dari data yang melewati sebuah sistem.
20 2.2.9.1 Simbol Dasar DFD Simbol dasar yang digunakan adalah sebuah lingkaran atau gelembung dan bernama transform sejak itu dikenal sebagai function
yang
merubah
data.
Data
Flow
Diagram
menggambarkan bagian dari data yang melewati sebuah sistem menggunakan empat simbol dasar. Empat simbol tersebut, yaitu: -
Data flows Data flow adalah sebuah rute yang memungkinkan paket dari data untuk menjalani dari satu poin ke poin lainnya. Data mungkin mengalir dari sebuah sumber ke sebuah proses, atau ke dan dari sebuah penyimpanan data ke proses. Garis panah menunjukkan aliran dengan kepala panah menunjukkan arah ke flow.
-
Processes Proses yang menggambarkan perubahan, mengganti incoming data flows menjadi outgoing data flows. Nama proses harus memberikan sebuah ide dari apa yang terjadi pada data ketika melewati proses.
-
Data stores Data store adalah sebuah tempat penyimpanan data yang mana diwakili oleh persegi panjang yang terbuka. Seharusnya tempat penyimpanan juga diberikan deskripsi nama yang tepat. Sebuah tempat penyimpanan mungkin digunakan pada saat memeriksa data.
-
Data sources atau External Entity Sebuah sumber adalah seorang atau bagian dari organisasi yang mana menerima data dari sistem tetapi dianggap menjadi keluar konteks dari data flow model. Sebuah persegi didefinisikan sebuah sumber yang mana dapat dilihat
sebagai
pemeriksaan.
eksternal
bagi
sistem
di
bawah
21 2.2.9.2 Level DFD Menurut Hanif Al Fatta (2007, pp. 109), DFD terdiri dari beberapa level yaitu: 1. Context Diagram merupakan DFD pertama dalam proses bisnis. Menunjukkan konteks di mana proses bisnis berada. Menunjukkan semua proses bisnis dalam 1 proses tunggal (proses 0). Context diagram juga menunjukkan semua entitas luar yang menerima informasi dari atau memberikan informasi ke sistem. 2. Diagram Nol menunjukkan semua proses utama yang menyusun
keseluruhan
sistem.
Level
ini
juga
menunjukkan komponen internal dari proses 0 dan menunjukkan bagaimana proses-proses utama direlasikan menggunakan data flow. Pada level ini juga ditunjukkan bagaimana proses-proses utama terhubung dengan entitas eksternal. Pada level ini juga dilakukan penambahan data store.
2.2.10 Normalization Menurut Connolly (2015, pp. 451), Normalisasi merupakan sebuah teknik perancangan database yang dimulai dengan menguji hubungannya (disebut functional dependencies) antar atribut. Atribut mendeskripsikan beberapa properti dari data atau dari hubungan antar datanya yang penting bagi perusahaan. Normalisasi menggunakan serangkaian tes (disebut sebagai Normal Forms) untuk membantu mengidentifikasi pengelompokkan yang optimal dari atribut-atribut tersebut yang pada akhirnya berguna untuk mengidentifikasi serangkaian hubungan yang tepat yang mendukung kebutuhan data pada perusahaan. Menurut Connolly (2015, pp. 466-472), Berikut tahap-tahap proses normalisasi.
22 -
UNF (Unnormalized Form) UNF merupakan sebuah tabel yang mengandung satu atau lebih repeating groups. Tabel pada UNF ini disebut unnormalized table.
-
1NF (First Normal Form) 1NF merupakan sebuah hubungan yang dimana perpotongan setiap baris dan kolom memiliki satu dan hanya satu nilai. Untuk mengubah tabel unnormalized menjadi 1NF, dibutuhkan identifikasi dan penghapusan repeating groups pada tabel. Contoh hubungan 1NF: Client (clientNo, cName) PropertyRentalOwner
(clientNo,
propertyNo,
pAddress,
rentStart, rentFinish, rent, ownerNo, oName) -
2NF (Second Normal Form) 2NF merupakan sebuah hubungan pada 1NF dan setiap atribut yang bukan primary key sepenuhnya bergantung secara fungsional kepada primary key-nya. Normalisasi dari hubungan 1NF ke 2NF melibatkan penghapusan partial depedencies. Jika terdapat partial depedency, atribut partially dependent dihapus dari hubungan dengan menempatkan atribut tersebut ke dalam hubungan yang baru bersama dengan determinannya. Contoh hubungan 2NF: Client (clientNo, cName) Rental (clientNo, propertyNo, rentStart, rentFinish) PropertyOwner
(propertyNo,
pAddress,
rent,
ownerNo,
oName) -
3NF (Third Normal Form) 3NF merupakan sebuah hubungan pada 1 dan 2 NF dan dimana tidak ada atribut yang bukan primary key yang secara transitif bergantung pada primary key. Normalisasi dari hubungan 2NF ke 3NF melibatkan penghapusan transitive dependencies. Jika terdapat transitive dependency, atribut transitively dependent
23 dihapus dari hubungan dengan menempatkan atribut tersebut pada hubungan yang baru bersama dengan determinannya. Contoh hubungan 3NF: Client (clientNo, cName) Rental (clientNo, propertyNo, rentStart, rentFinish) PropertyForRent (propertyNo, pAddress, rent, ownerNo, oName) Owner (ownerNo, oName)
2.3
MySQL Menurut Arief Ramadhan (2006, pp. 3), MySQL adalah sebuah sistem manajemen database yang bersifat open source. MySQL dapat digunakan untuk membuat dan mengelola database beserta isinya. MySQL merupakan sistem manajemen database yang bersifat relasional. Artinya data-data yang dikelola dalam database akan diletakkan pada beberapa tabel yang terpisah sehingga manipulasi data akan lebih cepat. MySQL dapat digunakan untuk mengelola database mulai dari yang kecil sampai dengan yang sangat besar dan juga dapat menjalankan perintah-perintah Structured Query Language (SQL) untuk mengelola database relasional yang ada di dalamnya.
2.3.1 Keuntungan MySQL Menurut Wahana Komputer (2010, pp. 7), keuntungan dan kelebihan MySQL dibanding database lain, adalah: -
Banyak ahli mengatakan MySQL merupakan server tercepat.
-
MySQL merupakan sistem manajemen database yang bersifat Open Source, yang berarti dapat digunakan siapapun tanpa harus membeli atau membayar kepada pembuatnya.
-
MySQL mempunyai performa tinggi dan simpel
-
Database MySQL mengerti bahasa SQL (Structured Query Language)
24 -
MySQL dapat diakses oleh banyak software karena menggunakan protokol ODBC (Open Database Connectivity) yang dibuat oleh Microsoft.
-
Semua klien dapat mengakses server dengan waktu yang bersamaan.
-
Database MySQL dapat diakses dari semua tempat di internet sesuai hak aksesnya.
-
MySQL mampu menyimpan data berukuran besar hingga Gigabyte.
-
MySQL dapat berjalan di berbagai operating system (OS) seperti Linux, Windows, Solaris, dan lainnya.
2.4
HTML Menurut Venkatesh Ramasamy (2013, pp. 3), HTML – Hyper Text Markup Language adalah markup language yang paling utama dalam mendesain halaman web. HTML menyediakan sarana untuk menggambarkan struktur informasi berbasis teks dalam dokumen dengan menunjukkan teks tertentu sebagai link, heading, paragraf, list, dan seterusnya dan juga untuk melengkapi teks tersebut dengan bentuk yang interaktif, gambar, dan objek lainnya. HTML ditulis dalam bentuk tag, dikelilingi oleh kurung siku (). Sebuah berkas HTML adalah berkas berisi teks yang mengandung tag markup HTML kecil juga bisa menggambarkan tampilan dan semantik dari sebuah dokumen, dan dapat berisi kode bahasa skrip yang ditanamkan dan dapat mempengaruhi perilaku dari web browser dan prosesor HTML lainnya. HTML merupakan bahasa yang bebas dari eror dan case insensitive.
2.4.1
Struktur Dokumen HTML Menurut Venkatesh Ramasamy (2013, pp. 3), sebuah dokumen HTML dimulai dan diakhiri dengan tag dan . Tag tersebut memberitahu browser bahwa seisi dokumen
25 tersusun dalam HTML. Di dalam kedua tag tersebut, dokumen dibagi menjadi 2 bagian: -
Elemen ..., yang mengandung informasi mengenai dokumen tersebut seperti judul dari dokumen, pembuat dokumen, dan sebagainya. Informasi di dalam tag ini, tidak ditampilkan diluar.
-
Elemen ..., yang mengandung isi sebenarnya dari dokumen yang dapat dilihat di layar.
2.4.2 Tag HTML Menurut Diar Puji Oktavian (2010, pp. 14-24), berikut adalah daftar tag HTML yang sering digunakan dalam mempelajari pembuatan web. -
Tag : digunakan untuk menandai sebuah komentar suatu kode. Tanda ini tidak diterjemahkan oleh browser.