BAB 2
LANDAS AN TEORI
2.1 Teori Umum
2.1.1 Data
M enurut Connolly (2010, p70), Data adalah komponen yang paling penting dalam DBM S, berasal dari sudut pandang end-user. Data bertindak sebagai jembatan yang menghubungkan antara mesin dengan pengguna.
M enurut Jeffery L. Whitten (2004, p23), Data adalah fakta mentah mengenai orang, tempat, kejadian dan hal-hal yang penting dalam organisasi. Tiap fakta dengan sendirinya secara relatif tidak ada artinya.
Data adalah fakta atau deskripsi dasar dari sesuatu, kejadian, aktifitas, yang diambil, dicatat, disimpan dan dikelompokkan, tetapi tidak diatur untuk menyatakan suatu arti tertentu (Turban,2001,p17).
Data adalah sebuah fakta yang menjelaskan orang, objek, atau kejadian. Contoh : sebuah daftar mahasiswa yang berisikan nama, NIM , dan IP dapat dikualifikasikan sebagai data. (Hoffer,1994,p7).
Data adalah informasi mentah yang terekam yang dapat menyediakan informasi-informasi lainnya. Dikatakan juga, sebuah data yang berupa informasi mentah bisa sangat tidak berarti, namun menjadi berarti jika data-data itu digabungkan (Atzeni,2003,p2).
Data bisa berwujud suatu keadaan, gambar, suara, video, animasi, huruf, angka, matematika, bahasa ataupun simbol-simbol lainnya yang bisa digunakan sebagai bahan untuk melihat lingkungan, objek, kejadian ataupun suatu konsep.
M enurut Whitten, Bentley, dan Dittman (2004, p23), Informasi adalah data yang telah diproses atau diorganisasi ulang menjadi bentuk yang berarti. Informasi dibentuk dari kombinasi data yang diharapkan memiliki arti ke penerima.
Informasi adalah pengetahuan yang didapatkan dari pembelajaran, pengalaman, atau instruksi. Namun demikian istilah ini memiliki banyak arti tergantung pada konteksnya, dan secara umum berhubungan erat dengan konsep seperti arti, pengetahuan, negentropy, komunikasi, kebenaran, representasi, dan rangsangan mental. Knowledge adalah data dan informasi yang disaring lebih jauh berdasarkan fakta, kebenaran, kepercayaan, penilaian, pengalaman, dan keahlian si penerima. Idealnya informasi mengarah ke kebijaksanaan.
2.1.2 Definisi Database
Database adalah kumpulan informasi yang disimpan didalam
komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut.
M enurut Jeffery L. Whitten (2004, p518), Database adalah kumpulan file yang saling terkait.
M enurut Connolly (2010, p65), Database adalah kumpulan berbagai data logika terkait dan deskripsi, yang dirancang untuk memenuhi kebutuhan informasi organisasi.
Basis data adalah kumpulan data yang terorganisir dan secara logika berkaitan. Terorganisis maksudnya data distrukturkan sehingga mudah untuk disimpan, dimanipulasi, dan diperoleh oleh pengguna. Data dapat menggambarkan daerah asal (domain) kepentingan tertentu bagi kelompok pengguna dan pengguna dapat menggunakan data tersebut untuk menjawab pertanyaan seputar domain itu. (Hoffer,2002,p4).
Jadi, Database adalah kumpulan data atau file atau informasi yang saling terkait dan disimpan didalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu komputer untuk memperoleh kebutuhan informasi organisasi.
2.1.3 Database Management S ystem (DBMS )
M enurut Connolly (2010, p66), Database Management System (DBM S) adalah sebuah sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, dan mengendalikan akses ke database.
M enurut Jeffery L. Whitten (2004, p520), Database M anagement System(DBM S) adalah perangkat lunak khusus yang digunakan untuk membuat, mengontrol, dan mengelola sebuah database.
DBM S adalah piranti lunak (software) yang menampung dan mengakses sebuah kumpulan data. Kumpulan data yang dimaksud adalah
database atau informasi yang berhubungan dengan sebuah perusahaan. Tujuan utama dari DBM S adalah menyediakan suatu media untuk menampung data dan menyediakan informasi-informasi yang terdapat pada database yang diperlukan. (Silberschatz,2002,p1).
DBM S adalah piranti lunak (software) yang didesain untuk membantu dalam perawatan dan penggunaan koleksi data dalam jumlah besar dan kebutuha dari sistem tersebut maupun penggunaan data tersebut tumbuh secara cepat (Ramakrishnan,2000,p3).
M enurut Connolly (2010, p68), terdapat 5 komponen penting DBM S, yaitu:
1. Hardware
Dibutuhkan untuk menjalankan DBM S dan aplikasi-aplikasinya.
Hardware meliputi dari PC, mainframe, dan jaringan komputer.
2. Software
M eliputi software aplikasi, software DBM S, sistem operasi, dan juga sistem jaringan.
3. Data
M erupakan komponen yang terpenting dan juga merupakan penghubung antara komponen mesin (hardware dan software) dan komponen human (Procedures dan people)
4. Prosedur
Prosedur merupakan instruksi dan aturan yang mengatur perancangan dan penggunaan database.
5. People
Komponen ini meliputi database administrator, database designers,
application developers, dan end-user.
Jadi, DBM S adalah suatu sistem piranti lunak khusus yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, mengontrol, mengelola, dan mengendalikan akses ke database.
2.1.4 Database Language
2.1.4.1 Data Definiton Language (DDL)
M enurut Connolly (2010, p92), Data Definition
Language(DDL) adalah bahasa dalam basis data yang
memungkinkan manusia untuk mendefinisikan dan memberi nama suatu entitas, atribut, dan relasi yang dibutuhkan dengan kesatuan integritas dan batasan security.
Hasil penyusunan pernyataan DDL adalah kumpulan tabel yang disimpan dalam file khusus kolektif yang disebut sistem katalog. Intergrasi sistem katalog metadata adalah data yang menggambarkan benda-benda di database dan membuatnya lebih mudah bagi objek yang akan diakses atau dimanipulasi.
2.1.4.2 Data Manipulation Language (DML)
M enurut Connolly (2010, p92), Data Manipulation
seperangkat operasi untuk mendukung manipulasi data yang berada pada basis data.
Pengoprasian data yang akan dimanipulasi biasanya meliputi: 1. Penambahan data baru ke dalam basis data
2. M odifikasi data yang disimpan ke dalam basis data 3. Pengambilan data yang terdapat dalam basis data 4. Penghapusan data dari basis data
DM L terbagi dalam 2 jenis, yaitu Procedural dan
Non-procedural. M enurut Connolly (2010, p93), pengertian procedural DM L adalah suatu bahasa yang memperbolehkan
pengguna untuk mendeskripsikan ke sistem data apa yang dibutuhkan dan bagaimana mendapatkan data tersebut secara tepat, sedangkan Non-procedural DM L adalah sebuah bahasa yang mengizinkan pengguna untuk menentukan data apa yang dibutuhkan tanpa memperhatikan bagaimana data diperoleh.
2.1.5 Normalisasi
M enurut Connolly (2010, p416), Normalisasi adalah suatu teknik untuk memproduksi sekumpulan relasi dengan sifat yang diinginkan yang diberikan persyaratan data dari suatu perusahaan.
Unnormalized form (UNF) adalah suatu tabel yang berisi satu atau
lebih kelompok yang berulang.(Connolly 2010, p430). Tujuan normalisasi adalah menyempurnakan struktur tabel dengan cara
mengeliminasi adanya duplikasi informasi, memudahkan pengubahan struktur tabel, serta memperkecil pengaruh perubahan struktur database. Tingkatan normalisasi terdiri dari tiga tahap, yaitu:
1. First Normal Form (1NF)
M enurut Connolly (2010, p430), dikatakan 1NF jika persimpangan setiap baris dan kolom mengandung satu dan hanya satu nilai. 1NF akan terjadi jika pada sebuah relasi repeating group – nya sudah hilang. Untuk menghilangkan repeating group pada tabel yang tidak normal, yaitu:
1. Dengan memasukkan data ke dalam kolom yang kosong dari baris yang mengandung data yang berulang.
2. Dengan menempatkan data yang berulang bersama dari atribut kunci pada relasi yang terpisah.
2. Second Normal Form ( 2NF)
M enurut Connolly (2010, p434), dikatakan 2NF jika relasi pada 1NF dan setiap atribut yang bukan primary key fungsional sepenuhnya tergantung pada primary key.
Normalisasi 1NF hubungan dengan 2NF melibatkan penghapusan dependensi parsial. Jika ada ketergantungan parsial kita menghapus atribut sebagian tergantung dari hubungan dengan menempatkan mereka dalam hubungan baru bersama dengan salinan penentu mereka.
3. Third Normal Form (3NF)
M enurut Connolly (2010, p435), dikatakan 3NF jika relasi berada dalam bentuk 1NF dan 2NF serta tidak ada atribut yang bukan
primary key bergantung secara transitif terhadap primary key.
Normalisasi 2NF hubungan dengan 3NF melibatkan penghapusan dependensi transitif. Jika ada ketergantungan transitif kita menghapus atribut sebagian tergantung dari hubungan dengan menempatkan mereka dalam hubungan baru bersama dengan salinan penentu mereka.
4. Boyce-Codd Normal Form (BCNF)
M enurut Connolly (2010, p436), suatu entity dikatakan BCNF jika telah terbentuk dalam 3NF dan setiap item data yang bukan key tergantung penuh secara fungsional pada candidate key.
5. Fourth Normal Form (4NF)
M enurut Connolly (2010, p437), suatu entity dikatakan 4NF jika telah terbentuk dalam 3NF dan terdapat multivalued dependency. 6. Fifth Normal Form (5NF)
M enurut Connolly (2010, p438), suatu entity dikatakan 5NF jika terdapat join dependency diantara candidate key.
2.1.6 Database S ystem Development Lifecycle
M enurut Connolly (2010, p314), tahapan-tahapan Database
Development Lifecycle adalah:
Databas e Planning
System Definition
Requirements Collec tion and Analys is
Conc eptual Databas e Design
Logical Database Des ign Databas e
Des ign
Phys ic al Database Des ign DBMS Selec tion
( Optional) Applic ation Des ign
Prototyping
( Optional) Implementation
Data Conv ers ion and Loading
T es ting
Oper ational Maintenanc e
Berikut ini aktivitas utama yang ada di setiap langkah dari
Database Development Lifecycle, yaitu:
1. Database Planning
M erencanakan kegiatan yang memungkinkan tahapan siklus pengembangan sistem basis data untuk direalisasikan secara efisien dan efektif. Terdapat tiga masalah pokok dalam merumuskan suatu strategi sistem informasi menurut Connolly (2010, p313), yaitu:
a. Identifikasi rencana perusahaan dan tujuan dengan penentuan sistem informasi yang diperlukan.
b. M engevaluasi dari sitem yang ada untuk menentukan kekuatan dan kelemahan.
c. Penilaian tentang peluang IT yang mungkin memberikan keuntungan yang kompetitif.
2. System Definition
M enurut Connolly (2010, p316), system definition adalah menjelaskan batasan-batasan dan cakupan dari aplikasi basis data dan sudut pandang user (user view) yang utama. Database system memiliki satu atau banyak user views. User view adalah mendefinisikan apa yang diwajibkan dari suatu aplikasi basis data dari perspektif aturan kerja khusus atau area aplikasi perusahaan.
User view mendefenisikan apa yang dibutuhkan dari sebuah system
basis data dalam jangka waktu data yang akan diadakan dan transaksi yang akan dilakukan pada data. Persyaratan dari user view bias berbeda melihat adanya tumpang tindih dengan pandangan lain.
3. Requirements Collection and Analysis
Proses mengumpulkan dan menganalisis informasi tentang bagian dari organisasi yang didukung oleh sistem basis data dan menggunakan informasi tersebut untuk mengidentifikasi persyaratan untuk sistem yang baru. Cara untuk memperoleh informasi ini disebut teknik fact finding (Connolly 2010, p317), yaitu:
a. Dokumentasi
Dokumentasi membantu menyediakan informasi perusahaan berkaitan dengan masalah yang dihadapi. Dengan cara mempelajari dokumen-dokumen, formulir, laporan dan file yang berkaitan dengan sistem yang ada.
b. Interview
Dengan interview dapat diperoleh informasi dari individu-individu secara langsung. Tujuannya untuk menemukan fakta, verifikasi, klarifikasi, menampilkan antusiasme, melibatkan
end-user, identifikasi kebutuhan, dan memperoleh ide dan opini atau
pendapat. c. Obsevasi
Teknik ini merupakan salah satu yang paling efektif untuk memahami sebuah sistem, Teknik ini memungkinkan untuk mengawasi seseorang dalam beraktivitas untuk mempelajari tentang sistem.
d. Riset
Salah satu teknik yang juga berguna adalah melakukan riset terhadap aplikasi dan masalahnya. Hasil riset dapat menyediakan informasi tentang bagaimana orang lain memecahkan masalah yang serupa.
e. Kuisioner
Kuisioner adalah dokumen dengan tujuan khusus untuk mengumpulkan fakta-fakta dari sejumlah orang. Jika kita ingin mengumpulkan informasi dari banyak orang, teknik ini yang paling efisien.
4. Database Design
Proses membuat suatu design yang akan memdukung pernyataan misi perusahaan dan misi objek untuk kebutuhan sistem basis data (Connolly 2010, p320). Dalam perancangan basis data, terdatapat suatu metodologi yang membantu dalam membuat suatu basis data. Proses perancangan basis data dibagi menjadi 3 bagian, yaitu:
a. Perancangan Basis Data Konseptual b. Perancangan Basis Data Logikal c. Perancangan Basis Data Fisikal 5. DBM S Selection (optional)
M emilih suatu DBM S yang cocok untuk aplikasi sistem basis data. Walaupun pemilihan DBM S mungkin jarang, tetapi ketika kebutuhan perusahaan sedang diperluas atau sistem yang berjalan
digantikan, mungkin menjadi perlu kadang-kadang untuk mengevaluasi produk DBM S yang baru(Connolly 2010, p325)
6. Application Design
M erancang antarmuka pemakai dan menghubungkan program aplikasi yang menggunakan dan memproses sistem basis data. Langkah ini melakukan perancangan layar atau tampilan untuk user. Dalam merancangan user interface dan program aplikasi, langkah ini menggunakan proses basis data yang mengaju pada petunjuk perancangan user interface seperti pemilihan judul, penulisan intruksi - intruksi menggunakan format yang standar sehingga mudah dipahami, pemakaian warna yang konsisten dan sebagainya.
Dua aspek dalam application design, yaitu :
a. Transaction Design
Transaksi adalah satu aksi atau serangkaian aksi yang dilakukan oleh user tunggal atau program aplikasi, yang mengakses atau merubah isi dari basis data. Kegunaan dari desain transaksi adalah untuk menetapkan dan keterangan karakteristik
high level dari suatu transaksi yang dibutuhkan pada basis data,
diantaranya:
• data yang akan digunakan oleh transaksi • karakteristik fungsional dari suatu transaksi • output transaksi
• tingkat kegunaan yang diharapkan b. User Interface design
7. Prototyping (optional)
M embangun suatu model kerja dari aplikasi basis data. Langkah ini kita mengizinkan perancang dan user untuk memvisualisasikan dan mengevaluasi gambaran sistem secara menyeluruh. Seperti yang kita ketahui, tujuan utama dalam mengembangkan suatu aplikasi basis data prototype adalah untuk mengizinkan para pemakai untuk menggunakan prototype, sehingga pemakai dapat
mengidentifikasikan fitur sistem, apakah sistem sudah bekerja dengan baik atau belum.
Jika memungkinkan, pemakai dapat memberikan saran untuk mengadakan perbaikan atau bahkan fitur baru dalam aplikasi basis data tersebut. Keuntungan prototype adalah relatif murah dan proses pembuatannya yang cepat.
8. Implementation
M erupakan realisasi fisik dari basis data dan perancangan aplikasi. M embuat eksternal, konseptual, dan definisi basis data internal dan program aplikasinya. Implementasi basis data dilakukan dengan menggunakan Data Definition Language (DDL) dari DBM S yang terpilih. Bagian dari program ini merupakan transaksi - transaksi basis data yang diimplementasikan menggunakan Data
9. Data Conversion and Loading
M emindahkan data dari sistem yang lama ke sistem yang baru. Langkah ini dibutuhkan hanya pada waktu sistem basis data yang lama digantikan dengan sistem basis data yang baru. Suatu DBM S mempunyai kegunaan memasukkan file kedalam basis data yang baru dan kemudian secara otomatis mengubah data kedalam format yang diperlukan oleh file basis data yang baru. Jika bisa diterapkan, pengembang dapat mengubah dan menggunakan program aplikasi dari sistem yang lama untuk digunakan oleh sistem yang baru.
10. Testing
Basis data diuji untuk mengetahui apakah masih ada error dan memvalidasi sesuai keinginan user. Jika pengujian diselenggarakan dengan sukses, maka akan memongkar kesalahan pada program aplikasi dan mungkin struktur basis data.
11. Operational Maintenance
Suatu proses pengawasan dan pemeliharaan sistem setelah instalasi, meliputi:
a. M e-monitor kemampuan dari sistem. Jika kemampuan berada dibawah tingkatan standar, perbaikan atau reorganisasi basis data diperlukan.
b. M emelihara dan meningkatkan aplikasi basis data (apabila dibutuhkan). Kebutuhan baru disatukan ke dalam aplikasi basisdata melalui tahap - tahap sebelumnya dari siklus hidup.
2.1.7 Perancangan Basis Data
Dalam perancangan basis data ada tiga tahapan - tahapan yang diperlukan guna mendapatkan sebuah basis data yang diinginkan, yaitu: perancangan konseptual, logikal, dan fisikal basis data.
Perancangan basis data adalah proses membuat suatu design yang akan mendukung pernyataan misi perusahaan dan misi objek untuk kebutuhan sistem basis data (Connolly 2010, p320).
2.1.7.1 Perancangan Konseptual
Tujuan dari perancangan konseptual basis data menurut Connolly (2010, p467) adalah untuk memproses pembuatan suatu model dari informasi yang akan digunakan dalam suatu organisasi, yang tidak tergantung pada segala pertimbangan fisikal.
Langkah 1: M embuat Data Konseptual Lokal Untuk Setiap Bagian
Tujuan dari langkah ini adalah untuk membangun suatu model data konseptual dari perusahaan untuk setiap view yang spesifik.
Berikut ini adalah detail mengenai langkah - langkah yang telah disebutkan di atas, antara lain:
Langkah 1.1: M engidentifikasikan Tipe Entity
Dalam membangun suatu model data konseptual lokal adalah untuk mendefinisikan objek utama di mana user memang
membutuhkannya. Salah satu metode untuk mengidentifikasi tipe
entity yang utama adalah dengan mengidentifikasi kata benda atau
frase kata benda yang telah disebutkan oleh user. Sebagai contoh:
staffNo, name, propertyNo, address, rent, rooms. Anda juga dapat
melihat objek seperti orang, tempat, hobby, tidak termasuk kata benda yang mendefinisikan kualitas dari objek lain. Sebagai contoh, Anda dapat mengelompokkan staffNo dan name dengan sebuah objek atau entity yang disebut Staff dan mengelompokkan
propertyNo, address, rent, dan rooms menjadi suatu entity yang
disebut PropertyForRent.
Tabel 2.1 Tabel Kamus Data (Connolly, 2010, p472)
Nama
Entity
Deskripsi Alias Nama Lain
Occurence
Staff M enjelaskan tentang
setiap karyawan yang bekerja di DreamHome
Karyawan Tiap karyawan bekerja pada salah satu cabang
Langkah 1.2: M engidentifikasi Tipe Relasi
Tujuan dari langkah ini adalah untuk mengidentifikasi relasi yang penting antara berbagai tipe entity yang telah
diidentifikasikan. Biasanya, relasi diidentifikasi dengan menggunakan kata kerja atau frase kata kerja. Sebagai contoh: • Staff Manages PropertyForRent
• PrivateOwner Owns PropertyForRent • PropertyForRent Associated With Lease
Relasi yang paling umum adalah relasi binary. Artinya relasi antar entity yang persis antara dua entity saja. Bagaimanapun Anda harus memperhatikan relasi yang komplek yang melibatkan lebih dari dua entity dan relasi rekursif yang hanya melibatkan hanya satu entity.
Adapun langkah - langkah dalam mengidentifikasi tipe relasi adalah sebagai berikut:
• Gunakan Entity–Relationship (ER) Diagram
Hal yang sering terjadi adalah Anda akan lebih cepat mengerti suatu perancangan basis data yang tervisualisasikan dibandingkan dengan perancangan basis data yang dituliskan dalam bentuk tekstual. Anda dapat menggunakan
Entity-Relationship (ER) diagram untuk mempresentasikan entity
dan bagaimana relasi antar entity. Anda disarankan menggunakan Entity-Relationship (ER) diagram untuk membantu Anda membuat gambaran besar dari perancangan basis data yang sedang Anda kembangkan.
Setelah Anda mempunyai relasi antara entity maka langkah berikutnya adalah Anda dapat menentukan
multiplicity setiap relasi. Jika memang ada suatu nilai yang
spesifik dari suatu multiplicity maka akan lebih baik apabila didokumentasikan.
• Memeriksa Fan dan Chasm Traps
Setelah Anda mendefinisikan relasi yang dibutuhkan antar entity maka langkah berikutnya adalah Anda dapat memeriksa fan dan chasm traps. Definisi dari fan traps adalah suatu model yang merepresentasikan suatu relasi antara entity. Tetapi alur relasinya memperlihatkan ambiguitas. Definisi dari chasm traps adalah suatu model di mana ada hubungan antara entity yang satu dengan entity yang lain, tetapi tidak ada relasi antara kedua entity yang utama.
• Memeriksa Setiap Entity Mempunyai Relasi Minimal Satu Pada saat Anda membuat Entity-Relationship (ER)
diagram, pastikan setiap entity mempunyai minimal satu relasi
dengan entity yang lain. Jika memang ada entity yang sudah mempunyai minimal satu relasi dengan entity yang lain maka langkah berikutnya adalah perhatikan kamus datanya. Apabila memang sudah mempunyai relasi semua, maka berarti Anda telah membuat setiap entity mempunyai relasi.
Tujuan dari langkah ini adalah untuk mengidentifikasikan dan mengasosiasikan atribut dari entity atau tipe relasi.
• Simple atau Composite Attributes
Perlu diperhatikan apakah suatu atribut tersebut, itu
simple atau composite. Composite Attributes adalah atribut
yang membangun dari simple attributes. Sebagai contoh, atribut alamat bisa saja dibuat simple dan menyimpan beberapa detail dari alamat sebagai suatu nilai, contoh: Dumbarton Road, Glasgow, G116YG. Bagaimanapun juga, atribut alamat dapat juga merepresentasikan sebuah composite
attributes, yang terdiri dari beberapa detail yang mempunyai
nilai terpisah dalam atribut street (”115 Dumbarton Road”), city (”Glasgow”), dan postcode (”G116YG”). Atribut alamat dapat dijadikan simple attributes atau composite attributes tergantung dengan kebutuhan user.
Jika user tidak membutuhkan detail dari atribut alamat seperti nama jalan, kota, kodepos, dan sebagainya. M aka sebaiknya atribut alamat tersebut tetap dibuat sebagai simple attributes. Sedangkan jika user membutuhkan detail dari atribut alamat seperti nama jalan, kota, kodepos, dan sebagainya. M aka sebaiknya atribut alamat tersebut dibuat sebagai composite
attributes.
Suatu atribut juga dapat mempunyai satu atau lebih nilai. Contoh: Atribut noTelepon. Seseorang bisa saja mempunyai nomor telepon lebih dari satu, apabila memang adanya demikian maka dapat disebut Multi-Valued Attribute. Tetapi apabila atribut tersebut hanya mempunyai suatu nilai maka disebut Single Attribute.
• Derived Attributes
Atribut yang tergantung dengan nilai atribut yang lain, maka atribut ini disebut Derived Attribute. Sebagai contoh:
• Umur dari seorang Staff
• Banyaknya dari properti yang dipegang oleh Staff Langkah 1.4: M enentukan Domain Atribut
Tujuan dari langkah ini adalah untuk menentukan domain dari atribut yang ada didalam model data konseptual lokal. Sebagai contoh antara lain:
• Atribut dari staffNo terdiri dari lima karakter tipe string dimana dua karakter utama merupakan huruf, sedangkan tiga karakter sisa berupa angka.
• Nilai yang mungkin untuk atribut sex adalah ’M’ atau ’F’. Ini merupakan domain dari atribut yang menggunakan karakter tunggal.
Tujuan dari langkah ini adalah untuk mengidentifikasikan
candidate key dari setiap tipe entity, dan jika memang terdapat
lebih dari satu candidate key, pilihlah salah satunya untuk menjadi
primary key. Pada saat Anda memilih suatu primary key di antara
banyak candidate key, gunakan petunjuk berikut ini untuk membantu menyeleksi:
• Merupakan candidate key dengan jumlah set paling sedikit • Merupakan candidate key yang nilainya jarang sekali berubah • Merupakan candidate key dengan jumlah karakter paling
sedikit
• Merupakan candidate key dengan jumlah paling sedikit dari nilai maksimumnya (untuk tipe atribut dengan tipe numerik) • Merupakan candidate key yang paling mudah digunakan dari
sudut pandang pengguna
Langkah 1.6: M enggunakan Enhanced Modelling Concepts (langkah optional)
Tujuan dari langkah ini adalah untuk mempertimbangkan penggunaan enhanced modelling concepts, seperti specialization,
generalization, aggregation, dan composition. Jika Anda
menggunakan pendekatan specialization maka Anda akan memperhatikan perbedaan yang terlihat secara maksimal antara
entity satu atau banyak subclass dari entity superclasses. Jika
mengidentifikasi persamaan antara entity yang ada untuk membentuk superclass.
Langkah 1.7: M emeriksa Redudansi
Tujuan dari langkah ini adalah untuk memeriksa apakah ada redudansi dalam model basis data. Pada langkah ini, Anda akan menguji data model konseptual lokal dengan melihat secara spesifik, apabila ada redudansi maka dapat dihilangkan dengan dua langkah berikut:
• Menguji kembali hubungan one-to-one • Menghilangkan relasi redudansi
Langkah 1.8: Validasi M odel Konseptual Lokal dengan Transaksi
User
Tujuan dari langkah ini adalah untuk memastikan bahwa model konseptual lokal mendukung permintaan transaksi oleh
user. Anda dapat menguji dua kemungkinan pendekatan dengan
memastikan bahwa model data konseptual lokal mendukung permintaan transaksi dengan cara berikut:
• Deskripsikan transaksi • Gunakan alur transaksi
Langkah 1.9: M e-review M odel Data Konseptual Lokal dengan
User
Tujuan dari langkah ini adalah untuk me-review model data konseptual lokal bersama user untuk memastikan bahwa model
yang ada sudah sesuai dengan yang diminta. Hasil akhir dari perancangan basis data konseptual adalah memproses pembuatan suatu model dari informasi yang akan digunakan dalam suatu organisasi, yang independensinya tidak tergantung dengan apapun.
Berikut ini adalah bentuk dari Conceptual Data Model untuk
user views pada Staff dengan semua atribut diambil dari Connolly
(2010, p480) :
Gambar 2.2 Contoh Conceptual Data Model untuk user views pada Staff dengan semua atribut (Connolly, 2010, p480)
2.1.7.2 Perancangan Logikal
Tujuan dari perancangan logikal basis data menurut Connolly (2010, p467) adalah untuk memproses pembuatan suatu model informasi yang digunakan di dalam suatu organisasi berdasarkan model data yang spesifik, tetapi tidak bergantung pada suatu DBM S dan perangkat keras lainnya.
Langkah 2: M embuat dan M emvalidasi M odel Data Logikal Lokal untuk setiap Bagian
Tujuan dari langkah membuat dan memvalidasi data lokal logikal untuk setiap bagian adalah untuk membangun suatu model data logikal lokal dari suatu model data konseptual lokal yang merepresentasikan perusahaan dan kemudian memvalidasi model ini untuk memastikan strukturnya benar (menggunakan teknik normalisasi) dan memastikan bahwa model tersebut mendukung transaksi yang diminta.
Berikut ini adalah detail mengenai langkah - langkah yang telah disebutkan di atas, antara lain:
Langkah 2.1: M enghilangkan Fitur Tidak Kompatibel
Tujuan dari langkah ini adalah untuk membuat suatu relasi untuk model data logikal lokal yang merepresentasikan suatu
entity, relasinya, dan juga atribut yang telah diidentifikasi.
Adapun pendeskripsian bagaimana relas i dapat diturunkan dari struktur model data yang ada sekarang, antara lain:
• Tipe entity kuat. • Tipe entity lemah.
• Tipe relasi binary one-to-many (1:*) • Tipe relasi binary one-to-one (1:1). • Tipe relasi rekursif one-to-one (1:1). • Superclass / subclass tipe relasi. • Tipe relasi binary many-to-many (*:*). • Tipe relasi kompleks.
• Atribut multi-valued.
Langkah 2.2: Validasi M odel M enggunakan Normalisasi
Tujuan dari langkah ini adalah untuk menvalidasi relasi dalam model data logikal lokal dengan menggunakan teknik normalisasi.
Langkah 2.3: Validasi Relasi Terhadap Transaksi User
Tujuan dari langkah ini adalah untuk memastikan bahwa relasi di dalam model data logikal lokal mendukung transaksi yang diminta user.
Validasi transaksi seperti ini sudah dilakukan pada langkah 1.8, namun dilakukan kembali untuk memeriksa relasi - relasi yang diciptakan pada rancangan logikal juga mendukung transaksi
user. Pada langkah ini, pengecekan bahwa relasi yang dibuat di
langkah sebelumnya yang mendukung transaksi ini, dan pastikan bahwa tidak ada error dalam relasi yang telah dibuat.
Langkah 2.4: M endefinisikan Kendala Integrity
Tujuan dari langkah ini adalah untuk mendefinisikan batasan - batasan integritas yang diperlihatkan kepada user, dimana kontrol integritas mengandung batasan - batasan yang dapat diterapkan untuk mencegah basisdata menjadi tidak konsisten.
Dalam hal ini ada enam tipe kendala integrity, antara lain: 1. Required data
Beberapa kolom harus memiliki sebuah nilai yang valid (tidak mengandung null). Null berbeda dari kosong atau nol, dan digunakan untuk merepresentasikan data yang tidak tersedia, hilang, atau tidak dapat dipakai.
2. Attribute domain constraints
Setiap kolom harus mempunyai sebuah domain, dengan kata lain, satu set nilai yang sah.
3. Multiplicity
Multiplicity merepresentasikan batasan - batasan yang berada
di dalam relationship antara data dalam basisdata. 4. Entity integrity
Primary key dari sebuah tabel harus unik dan tidak
mengandung nilai null untuk setiap baris. 5. Referential integrity
mengandung foreign key ke baris pada tabel induk yang mengandung nilai candidate key yang sama. Referential
integrity berarti bahwa jika foreign key mengandung sebuah
nilai maka nilai tersebut harus ada pada sebuah baris di tabel induk.
6. General / Enterprise constraints
M erupakan aturan tambahan yang dibuat oleh user atau seorang Database Administrator dari basis data tersebut. Langkah 2.5 : M e-review M odel Data Logikal Lokal dengan User
Tujuan dari langkah ini adalah untuk memastikan bahwa model data logikal lokal dan dokumentasi yang mendeskripsikan model tersebut sebagai representasi yang sesuai dengan keadaan yang sebenarnya.
Langkah 2.6 : M enggabungkan M odel Data Logikal Ke M odel Global (langkah optional)
Tujuan dari langkah ini adalah untuk menggabungkan model - model data logikal lokal individual menjadi sebuah model data logikal global yang merepresentasikan perusahaan.
Berikut ini adalah detail mengenai langkah - langkah yang telah disebutkan di atas, antara lain:
Langkah 2.6.1 : M enggabungkan M odel Data Logikal ke M odel Global
Tujuan dari langkah ini adalah untuk menggabungkan model data logikal yang individu menjadi sebuah model data logikal global bagi sebuah perusahaan.
Beberapa tugas dari pendekatan ini adalah sebagai berikut :
• Me-review nama dan isi dari suatu entity / relasi dan candidate
key
• Me-review nama dan isi dari relationship / foreign key • Menggabungkan entity / relasi dari model data lokal
• Memasukkan (tanpa menggabungkan) entity / relasi unik pada setiap model data lokal
• Menggabungkan relationship / foreign key dari model data lokal
• Memasukkan (tanpa menggabungkan) relationship / foreign
key unik pada setiap model data
• Memeriksa untuk entity, relasi, foreign key yang hilang • Memeriksa foreign key
• Mendefinisikan kendala integrity • Membuat global ER / relasi diagram • Meng-update dokumentasi
Langkah 2.6.2: M emvalidasi M odel Data Logikal Global
Tujuan dari langkah ini adalah untuk memvalidasi relasi yang dibuat dari model data logikal global dengan menggunakan
teknik dari normalisasi dan dengan memastikan bahwa relasi yang dibuat mendukung transaksi.
Langkah 2.6.3: M e-review M odel Data Logikal Global dengan
User
Tujuan dari langkah ini adalah untuk memastikan bahwa model data logikal global itu memang merepresentasikan yang sesuai dengan keadaan yang sebenarnya pada perusahaan.
Langkah 2.7: M emeriksa Untuk Pertumbuhan ke M asa yang Akan Datang
Tujuan dari langkah ini adalah untuk menentukan apakah ada perubahan yang penting di masa yang akan datang dan untuk menilai apakah model data logikal global dapat mengakomodasi perubahan tersebut.
Perancangan model data logikal global harus dapat diperluas sehingga dapat berevolusi untuk mendukung kebutuhan - kebutuhan baru di masa mendatang dengan efek yang minimal terhadap user yang telah ada.
Berikut adalah contoh perancangan logikal untuk kasus DreamHome
Gambar 2.3 Contoh ERD Logikal pada Global Relation Diagram Pada Kasus DreamHome (Connolly, 2010, p516)
2.1.7.3 Perancangan Fisikal
Tujuan dari perancangan fisikal basis data menurut Connolly (2010, p521) adalah untuk mendeskripsikan dari pengimplementasian dari suatu basis data pada media penyimpanan secondary; itu juga akan mendeskripsikan dasar dari suatu relasi, organisasi file, dan juga index yang digunakan untuk mencapai suatu keefisienan data, integritas, serta ukuran keamanan.
Langkah 3 : M enerjemahkan M odel Data Logikal ke DBM S Pilihan
Tujuan dari langkah ini adalah untuk menghasilkan skema basis data relasional dari model data logikal yang dapat diimplementasikan pada DBM S pilihan.
Bagian pertama dari proses ini memerlukan perbandingan informasi yang dikumpulkan selama perancangan basis data logikal dan didokumentasikan dalam kamus data. Bagian kedua dari proses ini menggunakan informasi tersebut untuk menghasilkan desain relasi dasar. Proses ini membutuhkan pengetahuan yang mendalam mengenai fungsionalitas yang ditawarkan oleh DBM S pilihan.
Berikut ini adalah detail mengenai langkah - langkah yang telah disebutkan di atas, antara lain:
Langkah 3.1: M erancang Relasi Dasar
Tujuan dari langkah ini adalah untuk memutuskan bagaimana merepresentasikan relasi dasar yang telah diidentifikasikan dalam model data logikal pada DBM S pilihan.
Untuk memulai proses perancangan basis data fisik, pertama-tama Anda dapat mengumpulkan dan mengasimilasikan suatu informasi tentang relasional yang dirancang selama perancangan basisdata logikal. Informasi yang diperlukan bisa berasal dari kamus data dan definisi dari relasional yang
didefinisikan menggunakan Database Design Language (DBDL). Untuk setiap relasional yang diidentifikasi pada model data logikal, dapat didefinisikan sebagai berikut:
• Nama dari relasi yang ada;
• Suatu list untuk atribut yang simple;
• Primary key, alternative key, dan foreign key;
• Batasan integrasi untuk setiap foregin key yang diidentifikasi. Dari kamus data, dari setiap atributnya dapat diketahui:
• Domain atribut tersebut yang terdiri dari tipe data, panjang, dan berbagai keterangan atribut tersebut;
• Suatu optional nilai default untuk atribut; • Apakah atribut dapat diisi nilai NULL; • Apakah atribut dapat diturunkan (derived).
Langkah 3.2: M erancang Representasi Dari Data Turunan (Derived Data)
Tujuan dari langkah ini adalah untuk memutuskan bagaimana merepresentasikan semua data turunan pada model data logikal pada DBM S pilihan.
Atribut yang nilainya didapatkan dengan mengevaluasi atribut lain dikenal sebagai atribut turunan / kalkulasi. Sebagai contoh:
• Jumlah banyaknya staff yang bekerja pada suatu kantor • Total gaji yang dibayarkan pada seluruh staff
• Total dari property yang ditangani oleh seorang staff
Langkah 3.3: M erancang Batasan Umum (General Constraints) Tujuan dari langkah ini adalah merancang batasan umum pada DBM S pilihan.
M eng-update suatu relasi yang mungkin dibatasi oleh aturan perusahaan sesuai dengan transaksi yang sebenarnya bisa di
update. Perancangan batasan tersebut sekali lagi tergantung pada
DBM S yang lain. Pada awalnya, jika sistem tersebut mempunyai aturan sesuai aturan standar SQL, beberapa batasan dapat diterapkan.
Langkah 4: M erancang Organisasi File dan Indeks
Tujuan dari langkah ini adalah untuk menentukan pengorganisasian file yang optimal untuk menyimpan relasi - relasi dasar dan indeks - indeks yang diperlukan untuk mencapai performansi yang diinginkan, yaitu cara penyimpanan relasi - relasi dan tuples pada media penyimpanan sekunder.
Berikut ini adalah detail mengenai langkah - langkah yang telah disebutkan di atas, antara lain:
Tujuan dari langkah ini adalah untuk mengerti fungsi dari suatu transaksi yang mana akan dijalankan pada basisdata dan untuk menganalisa transaksi yang penting.
Untuk membuat perancangan basis data fisik efektif maka perlu untuk mempunyai pengetahuan mengenai transaksi / query yang akan dijalankan dalam basis data. Ini termasuk kuantitatif atau kuantitatif informasi. Dalam menganalisis transaksi, dapat diidentifikasikan kriteria informasi sebagai berikut:
• Transaksi yang sering digunakan, dan akan berdampak besar terhadap performansi keseluruhan.
• Transaksi yang merupakan transaksi bisnis yang kritis
• Durasi waktu dalam harian atau mingguan yang akan mendapatkan banyak permintaan pada basisdata
Langkah 4.2: M emilih Organisasi File
Tujuan dari langkah ini adalah untuk menentukan organisasi
file yang efektif untuk setiap relasional data.
Dalam kasus yang ada, suatu relasional DBM S akan memberikan sedikit bahan tanpa pilihan dalam memilih organisasi
file, walaupun beberapa akan mempunyai indeks yang spesifik.
Bagaimanapun juga, berikut ini beberapa organisasi file yang ada: • Heap
• Hash
• B*-tree • Cluster
Langkah 4.3: M emilih Indeks
Tujuan dari langkah ini adalah untuk menentukan penambahan indeks yang akan meningkatkan performansi dari suatu sistem. Biasanya pemilihan atribut untuk indeks adalah sebagai berikut:
• Suatu atribut yang digunakan paling sering untuk operasi penggabungan, yang akan membuat penggabungan tersebut lebih efektif.
• Suatu atribut yang digunakan paling banyak untuk mengakses suatu record di dalam relasi yang ada.
Langkah 4.4: M emperkirakan Kapasitas Penyimpanan yang Dibutuhkan
Tujuan dari langkah ini adalah untuk mengestimasi ukuran kapasitas disk yang diperlukan untuk basis data.
Langkah 5: M erancang User View
Tujuan dari langkah ini adalah untuk merancang user view yang diidentifikasi selama pengumpulan informasi dan analisis dari siklus hidup aplikasi basis data.
Langkah 6: M erancang M ekanisme Keamanan
Tujuan dari langkah ini adalah untuk merancang ukuran keamanan untuk basis data yang telah dispesifikasikan user.
Definisi dari keamanan basis data adalah suatu mekanisme yang memproteksi basis data dari suatu kejadian yang disengaja maupun tidak disengaja.
2.1.8 Internet
M enurut Turban (2005, p478), internet merupakan rangkaian jaringan dalam jaringan yang menghubungkan komputer individual yang dimiliki oleh pemerintah, universitas, grup non – profit dan perusahaan. Interkoneksi ini dihubungkan dengan standar protokol yang bebas dan terbuka. M enurut Turban (2005, p50), internet adalah sistem jaringan computer dan jaringan dari banyak jaringan yang meliputi seluruh dunia. Internet bersifat publik, kooperatif dan mandiri yang memfasillitasi akses ke ratusan atau jutaan manusia di seluruh dunia.
2.1.9 World Wide Web (WWW)
WWW (World Wide Web) atau dikenal dengan sebutan web saja, merupakan sistem yang menyebabkan pertukaran data di internet menjadi mudah dan efisien (Ellsworth, 1997, p4).
Web pada awalnya adalah ruang informasi dalam internet, dengan menggunakan teknologi hypertext, pemakai dituntun untuk menemukan informasi dengan mengikuti link yang disediakan dalam dokumen web yang ditampilkan oleh web browser. Kini internet identik dengan web, karena kepopuleran web sebagai standar interface pada layanan – layanan yang ada pada internet, dari awal sebagai penyedia informasi, hingga kini
digunakan untuk komunikasi lewat email sampai chatting, bahkan melakukan transaksi bisnis (commerce).
Web server adalah sebuah komputer dan perangkat lunak yang
menyimpan dan mendistribusikan data ke komputer lainnya (yang meminta informasi) melalui internet.
Web browser adalah suatu perangkat lunak yang dijalankan pada
komputer pemakai (client) yang meminta informasi dari server web dan menampilkannya sesuai dengan file data itu sendiri (Ellsworth, 1997, p4). Perangkat lunak ini kini telah dikembangkan dengan menggunakan grafis
user interface, sehingga pemakai dapat dengan mudah melakukan point
dan click untuk antar dokumen.
Web database adalah sistem yang menggunakan dua teknologi yaitu web dan database.Sistem ini menyediakan akses yang lebih besar ke
sistem database, proses sistem distribusi dan pelayanan yang lebih dengan sistem yang sudah terintegrasi (Eaglestone,2001,p38).
Web memudahkan pengguna komputer untuk berinteraksi dengan
pelaku internet lainnya dan menelusuri informasi dalam internet. Selain itu, web telah diadopsi oleh perusahaan sebagai bahan dari strategi teknologi informasi, karena beberapa alasan berikut :
1. Akses informasi mudah
2. Informasi mudah didistribusikan
3. Bebas platform, informasi dapat disajikan oleh web browser pada sistem operasi mana sajak karena adanya standar dokumen, sehingga berbagai tipe data dapat disajikan.
2.2 Teori Khusus
2.2.1 HTML (Hyper Text Markup Language)
HTM L merupakan kepanjangan dari Hyper Text Markup Language adalah suatu bahasa yang digunakan untuk membuat halaman – halaman
hypertext (hypertext page) pada internet. Dengan konsep hypertext ini,
untuk membaca suatu dokumen anda tidak harus melakukannya secara urut, baris demi baris, atau halaman demi halaman. Tetapi anda tidak dapat dengan mudah melompat dari satu topik ke topik lainnya yang anda sukai, seperti halnya jika anda melakukan pada online Help dari suatu aplikasi Windows. HTM L dirancang untuk digunakan tanpa tegantung pada suatu platform tertentu
2.2.2 PHP
M enurut Luke Welling dan Laura Thomson (2001, p1), PHP adalah
server-side scripting language yang didesain secara spesifik untuk web.
Dalam page HTML, dapat dimasukkan code PHP yang akan dieksekusi setiap kali halaman dikunjungi. PHP code 18 diterjemahkan di
web-server dan dirubah menjadi HTM L atau output lain yang akan dilihat oleh
pengunjung halaman.
M enurut Abdul Kadir (2008), PHP adalah singkatan dari PHP
Hypertext Preprocessor yang merupakan bahasa berbentuk skrip yang
PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini. PHP banyak dipakai untuk memrogram situs web dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain.
Contoh terkenal dari aplikasi PHP adalah phpBB dan M ediaWiki (software dibelakang Wikipedia). PHP juga dapat dilihat sebagai pilihan lain dari A SP.NET/C#/VB.NET M icrosoft, ColdFusion M acromedia, JSP/Java Sun M icrosystems, dan CGI/Perl. Contoh aplikasi lain yang lebih kompleks berupa CM S yang dibangun menggunakan PHP adalah M ambo, Joomla!, Postnuke, Xaraya, dan lain - lain.
2.2.3 MySQL
MySQL adalah salah satu jenis basis data server yang sangat terkenal. Kepopulerannya disebabkan karena bersifat free (anda tidak perlu membayar untuk menggunakannya) pada berbagai platform (kecuali pada windows, yang bersifat software atau anda perlu membayar setelah melakukan evaluasi dan memutuskan untuk digunakan untuk keperluan produksi).
MySQL termasuk jenis RDM S (Relational Database Management
System). Itulah sebabnya istilah seperti tabel, baris dan kolom digunakan
pada MySQL. Pada MySQL, sebuah basis data mengandung satu atau sejumlah tabel. Tabel tediri atas sejumlah baris dan setiap baris mengandung satu atau beberapa kolom.
MySQL adalah sebuah perangkat lunak sistem management basis data SQL atau DBM S yang multithread, multiuser, dengan sekitar 6 juta
instalasi di seluruh dunia. M ySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia M ySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan M ySQL AB adalah David Axmark, Allan Larsson dan M ichael “M onty” Windenius.
Untuk melakukan administrasi dalam basis data MySQL, dapat menggunakan modul yang sudah termasuk yaitu command-line (perintah: mysql dan mysqladmin). Juga dapat diunduh dari situ MySQL yaitu sebuah modul berbasis grafik (GUI) : MySQL Administrator dan MySql
Query Browser, dalam pengerjaan ini kami menggunakan MySql Query Browser. Selain itu terdapat juga sebuah perangkat lunak gratis untuk
administrasi basis data MySQL bebrbasis web yang sangat popular yaitu phpMyAdmin.
2.2.4 Manajemen Aset
M anajemen Aset adalah suatu pengolahan aset fisik seperti : pemilihan, pemeliharaan, inspeksi dan pembaharuan aset. Pengolahan aset memiliki peranan penting dalam menentukan kinerja operasional suatu perusahaan dan keuntungan industri bagi perusahaan yang menjadikan aset sebagai bagian dari bisnis utama mereka.
Asset manajemen adalah seni dan ilmu untuk membuat keputusan yang tepat dan untuk mengoptimalkan suatu proses. Tujuan umum aset manajemen adalah untuk meminimalkan biaya hidup seluruh aset yang
menjadi masalah besar bagi banyak perusahaan dan organisasi untuk mendeteksi kondisi, lokasi, status dan parameter lain dari suatu aset.
Ada banyak teknik pengolahan aset yang memungkinkan untuk proses pelacakan aset secara otomatis. Sebagai contoh, menggunakan perangkat seperti scanner yang dapat membaca barcode secara otomatis pada objek atau barang yang berbeda.
Teknik manajemen aset dapat membantu pemilik bisnis untuk mengontrol aset mereka dengan mudah, untuk menghindari kerugian aset dan untuk mengurangi pengeluaran yang tidak perlu.
2.2.5 Framework
Framework adalah suatu kerangka kerja yang dapat
menyederhanakan operasi coding yang berulang. Framework tediri dari modul – modul yang mempunyai tugasnya masing-masing (menangani
database, tampilan, dll) dan memiliki aturan pakai (penulisan kode
program, struktur file, dan penggunaan modul). Sebuah kerangka kerja dapat meningkatkan kinerja pemrogramman secara tim, setiap
programmer harus mematuhi kerangka sintaks dan struktur yang ada.
2.2.6 Model View Controller (MVC)
M VC adalah konsep pengembangan pola desain perangkat lunak. M VC menggunakan sebuah pendekatan untuk memisahkan aplikasi menjadi tiga bagian :
1. M odel, berhubungan dengan setiap data yang akan digunakan di aplikasi (database, RSS Feed, dll). Hal-hal yang berhubungan dengan data akan dilakukan di dalam model, contohnya : pengambilan, pembaharuan dan penghapusan data
2. View, sebuah tampilan layar informasi yang disajikan untuk user pada layar browser web mereka. Biasanya merupakan file html, kadang mengandung kode PHP yang membangun template untuk website.
3. Controller, sebuah logika bisnis dari suatu aplikasi. Controller merupakan sebuah perantara antara model dan view. Controller akan merespon permintaan http dan menghasilkan halaman web.