BAB 2 LANDASAN TEORI 2.1. Pendekatan Basis Data Penggunaan database saat ini bagaikan bagian dari kehidupan kita yang sangat penting, terkadang dalam keseharian kita, kita tidak sadar bahwa kita sedang menggunakan sebuah database. Dalam hal ini, kita dapat menganggap database ke dalam sebuah kumpulan data yang saling terkait dan database management system (DBMS) berfungsi sebagai perangkat lunak yang mengelola dan mengontrol akses ke dalam database tersebut. Dalam pelaksanaannya aplikasi database merupakan sebuah program yang berinteraksi dengan database lainnya. Menurut Connoly dan Begg (2005, p14), semua keterbatasan pendekatan berbasis file dapat disebabkan oleh dua faktor : 1. Definisi data ini telah ditanamkan dalam program aplikasi, bukannya disimpan secara terpisah dan independen. 2. Tidak ada control akses dan manipulasi data di luar yang digunakan oleh program aplikasi. Agar dapat menjadi lebih efektif, suatu pendekatan baru di perlukan. Dari hal ini munculah database dan database management system ( DBMS ). Dari sini kita dapat mendefinisikan sesuatu yang lebih formal dari istilah tersebut, dan memeriksa komponen sesuai dengan apa yang kita harapkan dalam lingkungan DBMS. Pendekatan yang digunakan dalam sistem database, di mana definisi data terpisah dari program aplikasi, mirip dengan pendekatan yang digunakan dalam pengembangan perangkat lunak modern, di mana definisi internal dari sebuah objek dan definisi eksternal disediakan terpisah. Pengguna sebuah objek hanya melihat 7
8 definisi eksternal dan tidak menyadari tentang bagaimana objek didefinisikan dan bagaimana fungsinya. 2.1.1. Pengertian Basis Data Menurut Connoly dan Begg (2005, p15), basis data (Database) merupakan kumpulan berbagai data logika yang terkait, dan merupakan deskripsi dari data-datanya, yang dirancang untuk memenuhi kebutuhan informasi dari sebuah organisasi. Menurut Atzeni, et al (2003, p2), Basis Data (Database) adalah kumpulan data, digunakan untuk merepresentasikan informasi yang menarik untuk suatu sistem informasi. Menurut Date (1990, p9) Basis Data (Database) adalah koleksi data-data tetap yang digunakan oleh sistem aplikasi sebuah perusahaan. Menurut Gerald V. Post (2005, p2), Basis Data (Database) adalah kumpulan data yang disimpan dalam format standar, yang dirancang untuk digunakan bersama oleh banyak pengguna. 2.1.2. Database Management System (DBMS) Menurut Connoly dan Begg (2005, p15), Database Management System (DBMS) merupakan sebuah sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, menjaga, dan memiliki akses kontrol ke dalam database. Menurut Silberschatz (2002,p1) DBMS adalah piranti lunak (software) yang menampung dan mengakses sebuah kumpulan data. Kumpulan data yang dimaksud adalah basis data atau informasi yang berhubungan dengan
9 sebuah perusahaan. Tujuan utama dari DBMS adalah menyediakan suatu media untuk menampung data dan menyediakan informasi-informasi yang terdapat pada basis data yang diperlukan. Menurut Atzeni, et al (2003, p3), Sistem Manajemen Basis Data (Database Management System-DBMS) adalah sistem perangkat lunak yang mampu mengelola koleksi data yang besar, terbagi dan tetap, dan memastikan kehandalan dan privasi. Menurut Gerald V. Post (2005, p2), Sistem Manajemen Basis Data (Database Management System-DBMS) adalah perangkat lunak yang mendefinisikan basis data, menyimpan data, mendukung bahasa kueri, menghasilkan laporan, dan menciptakan layar entry data. 2.1.3. Structure Query Language (SQL) Menurut Connoly dan Begg (2005, p113), Structure Query Language (SQL) adalah contoh transformasi bahasa yang berorientasi, atau bahasa yang di rancang untuk menggunakan hubungan untuk mengubah input menjadi output yang diperlukan. Sebagai bahasa, standar ISO SQL memiliki dua komponen utama : a. Data Definition Language (DDL) Menurut Connoly dan Begg (2005, p40), Data Definition Language (DML) merupakan sebuah bahasa yang memungkinkan Database Administration (DBA) atau pengguna untuk mendeskripsikan dan menamai entitas, atribut, dan hubungan yang dibutuhkan untuk aplikasi, bersama dengan integritas terkait dan kendala keamanan.
10 DDL
berfungsi
untuk
menentukan
struktur
database
dan
mengontrol akses ke data. b. Data Manipulation Language (DML) Menurut Connoly dan Begg (2005, p40), Data Manipulation Language (DML) merupakan bahasa yang menyediakan seperangkat operasi untuk mendukung operasi dasar manipulasi data pada data dalam database. DML berfungsi untuk memanggil dan mengupdate data. Operasi manipulasi data biasanya mencakup hal-hal sebagai berikut : • Memasukkan data baru ke dalam database. • Modifikasi data yang di simpan ke dalam database. • Pengambilan data yang terdapat dalam database. • Penghapusan data dari database. 2.1.4. Database System Development Lifecycle (DSDLC) Menurut Connoly dan Begg (2005, p282), Information System Lifecycle (ISLC) merupakan sumber daya yang memungkinkan pengumpulan, manajemen, kontrol, dan penyebaran informasi di seluruh organisasi. Menurut
Connoly
dan
Begg
(2005,
p283),
Database
System
Development Lifecycle (DSDLC) merupakan siklus pengembangan sistem database secara inheren berkaitan dengan siklus hidup sistem informasi. adalah penting untuk mengakui bahwa tahap-tahap siklus pengembangan sistem database tidak benar-benar berurutan, tetapi melibatkan beberapa jumlah pengulangan tahap sebelumnya melalui umpan balik.
11
Gambar 2.1.1 Database System Development Lifecycle (Connolly dan Begg, 2005, p284) a. Perancangan Basis Data (Database Planning) Menurut Connoly dan Begg (2005, p285), Database Planning merupakan manajemen kegiatan yang memungkinkan tahapan siklus pengembangan sistem database untuk direalisasikan seefisien dan seefektif mungkin.
12 Perencanaan sistem basis data harus terintegrasi dengan keseluruhan strategi IS (information system) dari organisasi. Ada tiga isu utama yang terlibat dalam perumusan strategi IS ini, yaitu : a) Identifikasi dari rencana dan tujuan perusahaan, dengan penentuan selanjutnya dari sistem informasi yang dibutuhkan. b) Evaluasi sistem informasi saat ini untuk menentukan kekuatan dan kelemahan. c) Penilaian dari beberapa peluang IT yang menghasilkan keuntungan kompetitif. b. Definisi Sistem (System Definition) Menurut Connoly dan Begg (2005, p286), System Definition Menjelaskan ruang lingkup dan batasan dari aplikasi databse dan tampilan pengguna utama. Sebelum mencoba untuk mendesain sistem basis data, pertamatama penting untuk mengidentifikasi batasan sistem yang sedang diinvestigasi dan bagaimana sistem berkaitan dengan bagian lain dari organisasi sistem informasi. Menurut
Connoly
dan
Begg
(2005,
p287),
User
View
Mendefinisikan apa yang diperlukan dari sistem database dari perspektif peran pekerjaan tertentu (seperti manajer atau supervisor) atau perusahaan daerah aplikasi (seperti pemasaran, personil, atau kontrol stok). Sebuah sistem basis data dapat memiliki satu atau lebih pengguna. Mengidentifikasikan apa yang dilihat dari pengguna adalah aspek yang
13 penting untuk mengembangkan sistem basis data, karena dapat membantu untuk memastikan bahwa tidak ada pengguna utama basis data yang terlupakan ketika mengembangkan persyaratan untuk sistem basis data yang baru. c. Analisis dan Pengumpulan Kebutuhan (Requirement Collection and Analysis) Menurut Connoly dan Begg (2005, p288), Requirement Collection and Analysis merupakan proses mengumpulkan dan menganalisis informasi tentang bagian dari organisasi yang harus didukung oleh sistem database, dan menggunakan iniformasi ini untuk mengidentifikasi persyaratan untuk sistem yang baru. Ada tiga pendekatan utama untuk mengelola persyaratan sistem database dengan multiple user view, yaitu : 1. Pendekatan Terpusat (Centralized Approach) Persyaratan untuk setiap tampilan pengguna digabungkan menjadi satu set persyaratan untuk sistem database baru. Model data yang mewakili semua pandangan pengguna yang dibuat selama tahap desain database.
14 2. Pendekatan Pengintegrasian View (View Integration Approach) persyaratan untuk setiap tampilan pengguna tetap sebagai daftar terpisah. model data mewakili setiap tampilan pengguna yang diciptakan dan kemudian bergabung kemudian selama tahap desain database. 3. Kombinasi dari Kedua Pendekatan (Combination of Both Approach) d. Perancangan Basis Data (Database design) Menurut Connoly dan Begg (2005, p291), perancangan basis data adalah proses perancangan yang akan mendukung tugas pernyataan dan tugas objektif perusahaan untuk kebutuhan sistem basis data. Kegiatan utama dari perencanaan basis data adalah merencanakan agar tingkat daur hidup dapat menjadi efisien dan efektif. Hal pertama yang harus dilakukan adalah menentukan tugas dari proyek basis data. Dengan tujuan untuk memperjelas maksud dari proyek basis data yang dibutuhkan. Kemudian tahap selanjutnya adalah mengidentifikasi sasaran dimana setiap sasaran harus mengenal tugasnya masing-masing dan mendukung basis data. a) Top-Down Pendekatan Top-Down diawali dengan pengembangan (development) model data (Data models) yang mengandung beberapa entitas dan hubungan tingkat tinggi (High-level Entityes and relationship) dan
15 kemudian menggunakan pendekatan top-down secara berturut-turut untuk mengidentifikasikan entitas, hubungan dan atribut-atribut yang terkait di dalamnya dengan tingkatan yang lebih rendah (lower level). b) Bottom-Up Pendekatan Bottom-up dimulai dari attribute dasar (yaitu properties dari
entitas
dan
relationship),
yang
melalui
analisa
dari
penggabungan antar atribut dikelompokan ke dalam suatu relasi yang mempresentasikan tipe dari entitas dan hubungan (relationship) antar entitas. Pendekatan ini digunakan untuk merancang basis data yang sederhana dengan jumlah atribut yang relatif sedikit. c) Inside out Berhubungan dengan pendekatan bottom-up, tetapi sedikit berbeda dengan indentifikasi awal entitas utama dan kemudian menyebar ke entities, relationships dan atributs terkait lainnya yang lebih dulu diidentifikasi. d) Mixed Menggunakan pendekatan bottom-up dan top-down untuk bagian yang berbeda sebelum akhirnya digabungkan. e. Pemilihan DBMS (DBMS Selection) Menurut Connolly dan Begg (2005, p295), pemilihan suatu DBMS yang tepat untuk mendukung aplikasi basis data. Berikut ini adalah tahapan utama untuk memilih DBMS : a) Mendefinisikan cakupan tugas berdasarkan kebutuhan perusahaan.
16 b) Membuat perbandingan mengenai dua atau tiga produk. c) Mengevaluasi produk-produk DBMS yang dipilih. d) Merekomendasikan pemilihan DBMS dan membuat laporan hasil evaluasi produk-produk DBMS tersebut. f. Perancangan Aplikasi (Application Design) Menurut Connolly dan Begg (2005, p299), Perancangan Aplikasi merupakan perancangan antar muka pemakai (user interface) dan program-program aplikasi yang menggunakan dan memproses basis data. Pada tahap ini harus dipastikan semua spesifikasi kebutuhan pengguna terdapat didalam rancangan untuk aplikasi basis data. Desain basis data dan aplikasi merupakan aktifitas parallel yang meliputi dua aktifitas penting, yaitu : a) Desain transaksi (Transaction Design) Transaksi adalah suatu atau serangkaian aksi yang dilakukan oleh user tunggal atau program aplikasi tunggal, yang megakses atau mengubah isi dari basis data Kegunaan dari transaction design adalah untuk mendefinisikan dan mendokumentasikan karakteristik tingkat tinggi dari transaksitransaksi yang dibutuhkan pada basis data, meliputi : • Data yang akan digunakan oleh transaksi • Karakteristik fungsional dari suatu transaksi • Output transaksi • Kepentingan users.
17 • Tingkat kegunan yang diharapkan Terdapat tiga tipe transaksi : • Retrieval Transaction, contohnya tampilan detil data property (data ditampilkan dalam bentuk angka) di layar dan menghasilkan suatu laporan. • Update Transaction, contohnya operasi untuk memasukan detail data baru kedala basis data, dengan kata lain menambahkan record baru, menghapus record lama, atau memodifikasi record yang sudah ada didalam basis data. • Mixed Transaction, meliputi pemanggilan dan perubahan data, contohnya operasi untuk mencari detil data, menampakannya dan kemudian meng-upadte nilai data tersebut. b) Desain Antarmuka Pengguna (User Interface) Beberapa aturan pokok dalam pembuatan desain antarmuka pengguna : • Diusahakan pemberian nama suatu form cukup jelas menerangkan kegunaan dari suatu form atau laporan. • Penggunaan terminology yang umum untuk menyampaikan instruksi ke user dan jika informasi tambahan diperlukan, maka harus disediakan layar bantuan (helpscreen). • Field yang saling berhubungan ditempatkan pada form atau laporan yang sama. Urutan field harus logis dan konsisten.
18 • Tampilan form atau laporan harus menarik, dan sesuai dengan hardcopy agar konsisten. • Penggunaan label yang familiar. • Terminologi dan singkatan yang digunakan harus konsisten. • Penggunaan warna yang konsisten. • Jumlah tempat yang disediakan untuk pemasukan data harus diketahui oleh pengguna. • Pengguna dapat dengan mudah menjalankan operasi yang diinginkan dengan menggerakan cursor pada form atau laporan. • Penggunaan dapat dengan mudah menjalankan operasi yang diinginkan dan melakukan perubahan terhadap nilai Field. • Memberikan pesan kesalahan terhadap nilai yang salah. • Field Optional teridentifikasi dengan jelas • Ketika pengguna meletakkan cursor pada suatu field, maka keterangan mengenai field tersebut harus dapat dilihat. • Indikator yang menjelaskan bahwa suatu proses telah selesai dilaksanakan. g. Prototyping (Optional) Menurut Connolly dan Begg (2005, p304), Prototyping merupakan proses pembuatan sebuha model kerja dari suatu sistem basis data. Tujuan utama dari pembuatan prototyping adalah untuk mengidentifikasi fitur dari system yang berjalan dengan baik atau tidak,
19 memberikan perbaikan-perbaikan atau penambahan fitur baru ke aplikasi basis data. Ada dua tipe strategi prototype yang umum digunakan, yaitu: • Requirement Prototyping Menggunakan sebuah prototype untuk menentukan kebutuhan-kebutuhan database yang diusulkan dan ketika kebutuhan-kebutuhan tersebut sudah lengkap, maka prototype dapat dihilangkan atau di buang. • Evolutionary Prototyping Digunakan untuk tujuan yang sama seperti Requirement Prototyping tetapi prototipe tidak dibuang melainkan dikembangkan lebih lanjut menjadi sebuah aplikasi basis data yang berjalan. h. Implementation Menurut
Connoly
dan
Begg
(2005,
p304),
Implementasi
merupakan realisasi fisik dari basis data dan desain aplikasi. Implementasi basis data dapat dilakukan dengan menggunakan beberapa cara, yaitu : a)
DDL, untuk membuat skema basis data dan file basis data kosong.
b)
DDL untuk membuat sudut pandang pengguna yang diinginkan.
c)
3GL (Third Generation Language) dan 4GL (Fourth Generation Language) membuat program aplikasi. Termasuk juga transaksi basis data yang diimplementasikan dengan menggunakan DML (Data Manipulation Language) atau ditambahkan pada bahasa pemrograman.
20 i. Pengubahan dan Pemuatan Data (Data conversion and loading) Menurut Connolly dan Begg (2005, p305), Data Conversion and loading merupakan pemindahan data yang ada kedalam basis data baru dan mengkonversikan aplikasi yang ada agar dapat digunakan pada basis data. Tahapan ini dibutuhkan ketika system basis data baru menggantukan sistem yang lama. DBMS biasanya memiliki utilitas yang memanggil ulang file yang sudah ada ke dalam basis data baru. j. Uji Coba (Testing) Menurut Connolly dan Begg (2005, p305), merupakan proses pengeksekusian program untuk menemukan kesalahan. Beberapa keuntungan melakukan tahap uji coba melakukan tahap uji coba adalah: a) Menemukan error dalam program aplikasi, dan mungkin juga error dalam struktur basis data. b) Testing mendemostrasikan apakah basis data dan program aplikasi terlihat berjalan seperti yang diharapkan, sesuai dengan kebutuhan kinerja dan spesifikasi yang diinginkan atau tidak. k. Perawatan Operasional (Operational Maintenance) Menurut Connolly dan Begg (2005, p306), Merupakan suatu proses pengawasan dan pemeliharaan system setelah dilakukan instalasi. Tahapan ini melibatkan beberapa aktivitas, yaitu : a) Memonitor kerja system, apabila kinerja berada dibawah level yang diharapkan, maka dibutuhkan tuning atau re-organisasi basis data.
21 b) Memelihara dan meng-update aplikasi basis data (jika dibutuhkan) c) Penggabungan kebutuhan baru ke dalam aplikasi basis data.
2.1.5. Entity-Relationship Modeling Menurut Connolly dan Begg (2002, p330), Entity Relationship Modelling (ER Modelling) adalah pendekatan top-down untuk desain basis data yang dimulai dengan mengidentifikasi data-data penting yang disebut entity-entity dan hubungan antar data yang harus digambarkan dalam model. a) Tipe Entiti (Entity types) Menurut Connoly dan Begg (2005, p343), entity types adalah sekelompok objek dengan sifat yang sama, yang diidentifikasi oleh perusahaan memiliki eksistensi independen. Menurut Connolly dan Begg dan Begg (2005, p345), Entity Occurrence adalah pengidentifikasian obyek yang unik dari sebuah tipe entity. Setiap entitas diidentifikasikan dan disertakan propertinya. b) Tipe Relasi (Relationship types) Menurut Connoly dan Begg (2005, p346), relationship type adalah sekumpulan entitas yang saling berhubungan dan memilki makna.
Gambar 2.1.2 Contoh Relationship (Connolly dan Begg dan Begg, 2005, p347)
22 1. Derajat relationship Derajat
relationship
menyatakan
jumlah
tipe
entity
yang
berpartisipasi dalam sebuh relasi. Participants adalah entity-entity yang dilibatkan dalam sebuah tipe relasi particular. Jumlah participants dalam sebuah tipe relasi disebut degree. Derajat relationship terdiri dari : •
Degree Relationship : Merupakan keterhubungan antar dua tipe entity.
Gambar 2.1.3 Binary relationship (Connolly dan Begg dan Begg, 2005, p348) •
Ternary relationship : merupakan keterhubungan antar tiga tipe entity.
Gambar 2.1.4 Ternary relationship (Connolly dan Begg, 2005, p348)
23 •
Quaternary relationship : merupakan keterhubungan antar empat tipe entity.
Gambar 2.1.5 Quaternary relationship (Connolly dan Begg, 2005) p349) 2. Recursif relationship Recursif relationship merupakan keterhubungan antar satu tipe entity dimana tipe entity tersebut berpartisipasi lebih dari satu kali dengan peran yang berbeda. Relationship dapat diberikan role names untuk menidentifikasikan keterkaitan tipe entity dalam relationship.
Gambar 2.1.6 Recursif Relationship (Connolly dan Begg, 2005, p349) c) Atribut (Attributes) Menurut Connoly dan Begg (2005, p350), attribute adalah properti dari sebuah entitas atau suatu jenis hubungan. a. Domain Attribute : merupakan himpunan nilai yang diperbolehkan untuk satu atau lebih atribut.
24 b. Simple Attribute : merupakan 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. c. Composite Attribute : merupakan atribut yang terdiri dari beberapa komponen, dimana masing-masing komponen memiliki keberadaan yang independen. Misalkan atribut address dapat terlihat dari street, city, postcode. d. Single Valued Attribute : merupakan atribut yang mempunyai nilai tunggal untuk setiap kejadian. Misalnya Entity branch memiliki satu nilai untuk atribut brachNo pada setiap kejadian. e. Multi Valueed Attribute : merupakan atibut yang mempunyai beberapa nilai untuk setiap kejadian. Misalkan Entity branch memiliki beberapa nilai untuk attribute telpNo pada setiap kejadian. f. Derrived attribute : merupakan atribut yang mempresentasikan sebuah nilai yang berasal dari nilai sebuah atribut yang berhubungan atau set atribut dan tidak harus berada dalam tipe entity yang sama.
Gambar 2.1.7 Contoh tipe-tipe atribut (Connolly dan Begg dan Begg, 2005, p354)
25 d) Keys Menurut Connoly dan Begg (2005, p352-353), key dibagi kedalam tiga bagian,yaitu: a. Candidate key adalah bagian dari minimal atribut yang secara unik mengidentifikasi setiap kemunculan sebuah jenis entitas. b. Primary key adalah candidate key yang dipilih untuk mengidentifikasi setiap kemunculan suatu entitas. c. Composite key adalah candidate key yang memilki dua attribute atau lebih. d. Alternate Keys merupakan candidate key yang tidak terpilih sebagai primary key. e. Foreign keys merupakan atribut atau himpunan atribut dalam relasi yang disesuaikan dengan candidate key pada beberapa relasi. e) Strong and Weak Entity Types Menurut Connolly dan Begg dan Begg dan Begg (2005, p354), Strong entity adalah entity yang keberadaannya tidak bergantung dengan entity lain. Karakteristik dari strong entity adalah setiap entity dapat diidentifikasikan dengan primary key dari tipe entity itu. Weak entity adalah entity yang keberadaannya tergantung dari entity
lain.
Karakteristik
dari
weak
entity
adalah
tidak
dapat
mengidentifikasi primary key dari tipe entitynya karena begantung pada strong entity.
26
Gambar 2.1.8 Contoh strong and Weak Entity (Connolly dan Begg, 2005, p355)
f) Batasan Terstruktur (Structural Constraint) Menurut Connoly dan Begg (2005, p356), structural constraint di dalam sebuah hubungan biasa disebut multiplicity yang artinya jumlah (jangkauan) dari kejadian yang mungkin timbul dari suatu entitas yang mungkin berhubungan dengan kejadian tunggal dari suatu entitas yang terkait melalui hubungan tertentu. Relationship yang paling umum adalah binary relationship, macammacam binary relationship, yaitu : a) One to One (1:1) Merupakan relasi dimana setiap entity yang ada hanya dapat mempunyai maksimal suatu relasi dengan entity yang lain.
Gambar 2.1.9 Contoh Relasi 1 : 1 (Connolly dan Begg, 2005, p358)
27 b) One to Many (1 : *) Merupakan relasi dimana setiap entity yang ada dapat mempunyai satu atau lebih dari suatu relasi degan entity yang lain.
Gambar 2.1.10 Contoh Relasi 1 : * ( Connolly dan Begg dan Begg, 2005, p359) c) Many to Many ( * : * ) Merupakan relasi dimana setiap entity dapat mempunyai lebih dari satu atau relasi dengan entity lainnya.
Gambar 2.1.11 Contoh relasi * : * ( Connolly dan Begg dan Begg, 2005, p360 ) g) Cardinality and Participation Constraints Menurut Connolly dan Begg dan Begg dan Begg (2005, p363), Cardinality menjelaskan jumlah maksimum dar kejadian relationship yang mungkin untuk entity yang berpartisipasi didalam relationship tersebut. Participant menetapkan apakah atau sebagian entity yang berpartisipasi dalam suatu relationship.
28
Gambar 2.1.12 Cardinality dan Participation ( Connolly and Begg, 2005, p363 ) 2.1.6. Metodologi Perancangan Basisdata Menurut Connolly dan Begg (2005, p293), metodologi perancangan basis data terbagi menjadi 3 tahap, yaitu : a) Perancangan Basis Data Konseptual (Conceptual Database Design) b) Perancangan Basis Data Logikal (Logical Database Design) c) Perancangan Basis Data Fisik (Physical Database Design) a) Perancangan Konseptual Menurut Connoly dan Begg (2005, p293), perancangan konseptual adalah proses membangun model data yang digunakan dalam suatu perusahaan,yang terlepas dari semua pertimbangan fisik. Langkah awal dalam basis data konseptual adalah dengan membuat model data dari informasi – informasi mengenai perusahaan. Data yang ada dikembangkan dengan representasi secara konseptual yang mencakup mengidentifikasi
entity,
relationship,
dan
attribute
yang
secara
keseluruhan bebas dari detail implementasi seperti DBMS yang
29 digunakan, program aplikasi, bahasa pemrograman, platform untuk hardware, tingkat kinerja, maupun pertimbangan fisik lainnya. Langkah – langkah dalam membuat model data konseptual : 1.1 Mengidentifikasi tipe - tipe dari entitas. Langkah yang bertujuan untuk mengidentifikasikan objek utama dimana user memang membutuhkannya. Salah satu metode untuk mengidentifikasi tipe entitas adalah dengan mengidentifikasi kata benda atau frase kata benda yang disebutkan oleh pengguna. 1.2 Mengidetifikasikan tipe – tipe dari relationship. Pada tahap ini dilakukan identifikasi relasi yang penting antara berbagai
tipe
entitas
yang
telah
diidentifikasikan.
Relasi
diidentifikasikan dengan menggunakan kata kerja atau frase kata kerja, namun harus diperhatikan relasi yang kompleks yang melibatkan lebih dari dua entitas dan relasi recursive yang hanya melibatkan satu entitas. 1.3 Mengidentifikasikan dan menghubungkan atribut dengan tipe – tipe entitas atau relationship. Pada langkah ini, atribut dengan entitas atau tipe relasi yang sesuai saling dihubungkan. 1.4 Mengidentifikasikan domain dari atribut. Definisi domain adalah penampung dari nilai yang dapat ditampung oleh atribut. Tujuan dari langkah ini adalah untuk menentukan domain dari atribut yang ada dalam model data local konseptual. 1.5 Menentukan atribut – atribut, candidate key, dan primary key.
30 Tujuan dari langkah ini adalah untuk mengidentifikasi candidate key dari setiap tipe entitas. Jika terdapat lebih dari satu candidate key, pilih salah satunya menjadi primary key. Acuan dalam memilih suatu primary key diantara candidate key, adalah : a) Merupakan candidate key dengan jumlah set paling sedikit. b) Merupakan candidate key yang nilainya jarang sekali berubah. c) Merupakan candidate key dengan jumlah karakter paling sedikit. d) Merupakan candidate key dengan jumlah paling sedikit dari nilai maksimumnya (untuk tipe atribut dengan tipe numerik). e) Merupakan candidate key yang paling mudah digunakan dari sudut pandang pengguna. 1.6 Pertimbangkan penggunaan konsep enchanced modelling (pilihan) Langkah ini mempunyai sifat optional (pilihan), kita dapat mempertimbangkan untuk menggunakan enchanced modelling, seperti specialization, generalization, aggregation, dan composition. 1.7 Periksa model dan redundancy. Tujuan dari langkah ini adalah untuk mengecek ada atau tidaknya redudansi dalam model basis data. Apabila ditemukan adanya redudansi maka redudansi dapat dihilangkan dengan dua langkah, yaitu: a)
Menguji kembali hubungan one-to-one.
b)
Menghilangkan relasi redudansi.
31 1.8 Memvalidasi model konseptual lokal terhadap transaksi pengguna. Tujuan dari langkah ini adalah untuk memeriksa apakah model konseptual mendukung transaksi yang dibutuhkan. Pemeriksaan dapat dilakukan dengan menggunakan dua pendekatan, yaitu: a) Mendeskripsikan transaksi. b) Menggunakan alur transaksi. 1.9 Melihat kembali data model konseptual lokal dengan pengguna. Pada langkah ini dilakukan peninjauan ulang terhadap model data konseptual termasuk ER bersama pengguna untuk memastikan bahwa model yang ada sesuai dengan yang diminta. Jika terjadi perbedaan (anomaly), maka harus dilakukan perubahan. b) Perancangan Logikal Menurut Connoly dan Begg (2005, p294), perancangan logical adalah proses membangun model data yang digunakan dalam suatu perusahaan yang didasarkan pada model data tertentu, tetapi tidak terikat oleh DBMS tertentu dan pertimbangan fisik lainnya. Tahapan ini merupakan proses pembuatan model informasi yang digunakan perusahaan berdasarkan model data tertentu tetapi bebas dari DBMS tertentu dan masalah fisik lainnya. Logikal data model perlu juga diuji untuk memastikan bahwa logikal data model mendukung transaksi yang ditetapkan oleh pengguna. Model data konseptual yang telah dibuat sebelumnya, diperbaiki dan dipetakan kedalam model data logikal. Model basis data logikal merupakan sumber informasi dalam merancang basis data fisikal dan
32 sebagai sarana yang membantu para perancang dalam merancang basis data fisikal. Langkah – langkah dalam membuat model data logikal: 2.1 Menghilangkan fitur – fitur yang tidak kompitibel dengan model relasional (pilihan). a) Menghilangkan relasi binary many to many (*.*). b) Menghilangkan relasi rekursif many to many (*.*). c) Menghilangkan tipe relasi yang kompleks. d) Menghilangkan atribut multi valued. 2.2 Mendapatkan relasi untuk model logikal data lokal. a) Tipe entitas kuat (strong entity type). b) Tipe entitas lemah (weak entity type). c) Tipe relasi binary (One-to-many binary relationship types). d) Tipe relasi binary (One-to-one binary relationship types). e) Tipe relasi recursive (Recursive one-to-one relationship type). f) Superclass / subclass relationship types (model Enchanced). g) Tipe relasi binary (Many-to-many binary relationship types). h) Tipe relasi komples (Complex relationship types). i) Atribut multi-valued (Multivalued attributes). 2.3 Memvalidasikan hubungan menggunakan normalisasi. Tujuan dari langkah ini adalah untuk memvalidasi relasi model data logical dengan menggunakan teknik dari normalisasi agar duplikasi data yang tidak diperlukan dapat dihindari.
33 2.4 Memvalidasikan hubungan terhadap transaksi user. Memastikan relasi yang telah ada pada model data logikal dapat mendukung transaksi yang diperlukan oleh view. 2.5 Mendefinisikan integrity constraint. Integrity constraint adalah batasan yang digunakan untuk menjaga agar basis data tidak menjadi inkonsisten. Ada 5 tipe integrity constraint, yaitu: a) Data yang valid (Required data). b) Batasan domain atribut. c) Integritas entitas (Entity integrity, primary key tidak boleh null). d) Integritas referensi (Referential integrity, foreign key pada suatu entity harus sesuai dengan candidate key pada entity lain). e) Batasan umum (General constraint, merupakan aturan tambahan yang dibuat oleh pengguna atau seorang database administrator dari basis data tersebut). 2.6 Melihat kembali data model logikal lokal dengan pengguna. Tujuan dari langkah ini adalah untuk memastikan bahwa model yang telah dibuat sesuai dengan represantasi pengguna yang sebenarnya mengenai kebutuhan data perusahaan. 2.7 Menggabungkan model data logikal ke dalam model data global. Dilakukan penggabungan model data logikal lokal secara keseluruhan menjadi sebuah model data logikal global tunggal yang mempresetasikan semua user view dari basis data.
34 2.8 Validasi model data logikal global. Validasi relasi yang dihasilkan dari model data logikal global dengan menggunakan teknik normalisasi dan memastikan model tersebut mendukung transaksi yang diperlukan. 2.9 Memeriksa perkembangan yang akan datang. Memastikan apakah aka nada perubahan yang signifikan yang dapat diperkirakan dan memastikan apakah model data logical tersebut dapat mendukung perubahan tersebut. 2.10 Me-review model data logikal dengan pengguna. Melakukan review model data logikal global bersama pengguna agar dapat memastikan apakah pengguna menyadari model tersebut menjadi true representation dari data perusahaan. c) Perancangan Fisikal Menurut Connoly dan Begg (2005, p294), perancangan fisikal adalah proses
membuat
deskripsi
pada
penyimpanan
sekunder,
tetapi
menggambarkan hubungan dasar, organisasi file dan indeks yang digunakan untuk mencapai akses yang efisien terhadap data, dan setiap kendala terkait integritas dan langkah-langkah keamanan. 2.1.7. Normalisasi Menurut Connolly dan Begg (2005, p388), Normalisasi merupakan suatu teknik perancangan database yang dimulai dengan mengidentifikasi hubungan (functional depedencies) antar atribut yang
mendeskripsikan
beberapa properti data atau hubungan antar data yang penting bagi perusahaan.
35 a) First Normal Form (1NF). Menurut Connolly dan Begg (2005, p403), suatu kondisi sebelum masuk ke proses normalisasi adalah Unnormalized form (UNF), yaitu dimana sebuah tabel mengandung satu atau lebih repeating group. Sedangkan 1NF adalah sebuah relasi dimana gabungan dari tiap kolom dan baris terdiri atas satu dan hanya satu nilai. Langkah dari UNF ke 1NF antara lain : a) Tunjuk satu atau sekumpulan atribut sebagai kunci untuk table unnormalized. b) Identifikasikan group yang berulang dalam table unnormalized yang berulang untuk kunci atribut. c) Hapus group yang berulang dengan cara : •
Masukan data yang semestinya ke dalam kolom yang kosong pada baris yang berisikan data yang berulang.
•
Menggantikan data yang ada dengan copy dari kunci atribut yang sesungguhnya ke dalam relasi terpisah.
Tabel 2.1.1 ‘Client Rental’ dalam bentuk normal pertama (1NF) (Connolly and Begg, 2005, p405)
36 b) Second Normal Form (2NF) Menurut Connolly dan Begg (2005, p407), 2NF merupakan sebuah relasi dalam 1NF dan setiap atribut non primary bersifat fully functionally dependent pada primary key. Langkah dari 1NF ke 2NF : a) Identifikasikan primary key untuk relasi 1NF b) Identifikasikan functional dependencies dalam relasi c) Jika terdapat portial dependencies terhadapa primary key, maka hapus dengan menempatkannya dalam relasi yang baru bersama dengan salinan determinannya.
Tabel 2.1.2 ‘Client Rental’ dalam bentuk normal kedua (2NF) (Connolly and Begg, 2005, p408)
37 c) Third Normal Form (3NF) Menurut Connolly dan Begg (2005, p409), merupakan relasi yang terdapat dalam 1NF dan 2NF, dimana tidak terdapat atribut non primary key yang bergantung transitif terhadap primary key. Langkah dari 2NF ke 3NF : a. Indentifikasikan primary key dalam relasi 2NF b. Identifikasikan functional dependencies dalam relasi c. Jika terdapat transitive dependencies terhadap primary key, hapus dengan menempatkannya dalam relasi yang baru bersama dengan salinan determinannya.
Tabel 2.1.3 ‘Client Rental’ dalam bentuk normal ketiga (3NF) (Connolly and Begg, 2005, p411)
38 d) BCNF Menurut Connoly dan Begg (2005, p419), Boyce Codd Normal Form (BCNF),
berdasarkan
pada functional
dependencies yang
dimasukan ke dalam hitungan seluruh candidate key dalam suatu relasi, bagaimanapun BCNF juga memiliki batasan-batasan tambahan yang disamakan dengan definisi umum dari 3NF. e) Fourth Normal Form (4NF) Menurut Connolly dan Begg (2002, p408), 4NF adalah suatu relasi yang ada dalam BCNF dan tidak berisi depedensi multi nilai trivial. f) Fifth Normal Form (5NF) Menurut Connolly dan Begg (2002, p410), 5NF adalah suatu relasi yang tidak memiliki ketergantungan bergabung (join depedency). Untuk relasi R dengan himpunan bagian dari atribut R dinotasikan sebagai A, B, …, Z, sebuah relasi memenuhi join depedency jika, dan hanya jika setiap nilai R sama untuk bergabung dengan proyeksi pada A, B, …, Z 2.2. Sistem Berbasis Web 2.2.1 Internet Menurut Wikipedia (http://id.wikipedia.org/wiki/Internet) secara harfiah, Internet (kependekan dari interconnected-networking) ialah sistem global dari seluruh jaringan komputer yang saling terhubung menggunakan standar Internet Protocol Suite (TCP/IP) untuk melayani miliaran pengguna di seluruh dunia. Manakala Internet ialah sistem komputer umum, yang berhubung secara global dan menggunakan TCP/IP sebagai protokol pertukaran paket (packet switching communication protocol). Rangkaian internet yang terbesar
39 dinamakan Internet. Cara menghubungkan rangkaian dengan kaedah ini dinamakan internetworking.
Internet dijaga oleh perjanjian bi- atau multilateral dan spesifikasi teknikal (protokol yang menerangkan tentang perpindahan data antara rangkaian). Protokol-protokol ini dibentuk berdasarkan perbincangan Internet Engineering Task Force (IETF), yang terbuka kepada umum. Badan ini mengeluarkan dokumen yang dikenali sebagai RFC (Request for Comments). Sebagian dari RFC dijadikan Standar Internet (Internet Standard), oleh Badan Arsitektur Internet (Internet Architecture Board - IAB). Protokol-protokol Internet yang sering digunakan adalah seperti, IP, TCP, UDP, DNS, PPP, SLIP, ICMP, POP3, IMAP, SMTP, HTTP, HTTPS, SSH, Telnet, FTP, LDAP, dan SSL.
2.2.2. Intranet Menurut Bidgoli (2004, p290) Intranet adalah sebuah jaringan dalam organisasi yang menggunakan teknologi web (TCP/IP, HTTP, FTP, SMTP, HTML dan XML) untuk mengumpulkan, menyimpan, dan menyebarluaskan informasi yang berguna di dalam organisasi tersebut. Menurut syafrizal (2005, p204), intranet adalah jaringan komputer berbasis protokol TCP/IP seperti internet, hanya saja digunakan dalam internal perusahaan/kantor dengan aplikasi berbasis web dan teknologi komunikasi data seperti internet. Walaupun menggunakan teknologi yang sama, internet berbeda dengan intranet. Internet adalah jaringan yang luas dan untuk umum, setiap orang dapat mengakses internet selama dia mempunyai akun di ISP (Intenet Service
40 Provider). Sedangkan intranet adalah jaringan private, hanya terhubung dengan jaringan tertentu di dalam perusahaan, dan biasanya pengguna dari intranet adalah karyawan perusahaan tersebut. Pada umumnya, Intranet memiliki performa yang lebih unggul dan juga lebih aman dibandingkan dengan internet. 2.2.3. TCP/IP (Transmission Control Protocol/Internet Protocol) Menurut Blank (2004, p2) TCP/IP adalah kumpulan protokol yang memungkinkan komunikasi antar komputer. Menurut syafrizal (2005, p63) TCP/IP adalah protokol standar pada jaringan internet yang tidak tergantung pada jenis komputer yang digunakan sehingga memungkinkan berbagai komputer untuk berinteraksi satu dengan yang lain. Menurut Sardiman (2008, p102) TCP/IP adalah suatu set protocol standar yang digunakan untuk menghubungkan jaringan komputer, mengamati lalu lintas dalam jaringan, mengatur format data yang diizinkan, penanganan kesalahan dan standar komunikasi lainnya. Selama 20 tahun lebih sudah protokol TCP/IP digunakan, dan waktu telah membuktikannya bahwa protokol ini telah teruji dan sangat stabil. TCP/IP memiliki beberapa fitur dan keuntungan, seperti: 1. Dukungan dari berbagai vendor Seperti yang telah disebutkan diatas, TCP/IP sangat kompatibel dengan hardware dan software dari berbagai vendor, sehingga tidak terikat pada satu vendor saja.
41 2. Interoperability Alasan mengapa TCP/IP sangat populer dan banyak digunakan adalah TCP/IP dapat diinstall dan dipakai di berbagai platform sistem operasi. Contohnya host yang berplatform Linux dapat berkomunikasi dan berbagi data dengan host yang berplatform windows. 3. Flexibility TCP/IP merupakan protokol yang sangat fleksibel. Contoh dari fleksibilitas TCP/IP adalah seorang administrator dapat menentukan dan memindahkan alamat IP, menetapkan alamat IP ke dalam host secara manual ataupun otomatis dan dapat merubah TCP/IP host menjadi sebuah nama yang mudah diingat seperti www.google.com. 4. Routability TCP/IP dapat beradaptasi dengan baik terhadap proses routing data dari satu segmen jaringan ke segmen jaringan yang lain atau dari host ke host yang lain.
2.2.4. WWW (World Wide Web) Web merupakan nama lain dari world wide web. Menurut Levine, Young (2010, p89) web adalah sekelompok halaman informasi yang saling berhubungan satu dengan yang lain di seluruh dunia. Pada setiap halaman web bisa berupa kombinasi dari text, gambar, suara, atau video dan hal-hal lainnya. Menurut Quinn (2000, p14), web bukan nama lain dari internet, tetapi bagian dari internet yang menampilkan text, gambar, suara dan animasi.
42 Sebelum kehadiran web, informasi dari internet hanya berupa layar text saja dan tidak ada link yang menghubungkan situs-situs lain. Dengan kehadiran web, kita dapat dengan mudah mendapatkan informasi dari sebuah halaman yang tidak hanya sekedar text saja tetapi kombinasi dari gambar, suara, video dan beberapa media lainnya. Selain itu, pada halaman tersebut terdapat link yang mengantarkan kita secara langsung menuju halaman lain dari situs tersebut atau halaman lain dari berbagai situs. Web ditemukan pada tahun 1989 di Lab Pusat Penelitian Nuklir Eropa, sebuah tempat yang tidak cocok untuk revolusi komputer. Penemunya adalah seorang peneliti dari Inggris yang bernama Sir Tim Berners-Lee, direktur dari World Wide Web Consortium (W3C) sebuah organisasi yang membuat standarisasi dan mengawasi pengembangan web. Tim juga menemukan HTTP, protokol yang mengkomunikasikan web browser dengan web server; HTML yang merupakan bahasa untuk pembuatan web; dan URL yaitu alamat dari web pages. Tim menginginkan web sebagai sebuah cara untuk mempublikasikan atau mengambil informasi dari internet.
2.2.5. HTTP (HyperText Transfer Protocol) Menurut Sunarto (2005, p22) HTTP adalah sebuah protokol yang menetukan aturan main antara software client dan software server dalam penyediaan dokumen yang diminta browser. Menurut Wong (2000, p1), HTTP adalah protokol dibalik sebuah web, dipanggil pada setiap transaksi web, dan merupakan protokol yang digunakan web untuk mendistribusikan informasi ke dalam internet.
43 Menurut J.R.Okin (2005, p120) HTTP adalah suatu mekanisme yang memungkinkan komputer menjangkau internet, mengambil salinan informasi dari file tertentu atau resource yang diminta sehingga bisa ditampilkan dan digunakan pada komputer lokal. HTTP termasuk application layer yang berjalan melalui TCP/IP dengan membuat hubungan TCP ke port tertentu (biasanya port 80). Sebagaimana internet protokol lainnya, HTTP berfungsi sebagai model client-server, dimana browser bertindak sebagai client dan membuat kode permintaan data (request) kemudian web server menjawab request tersebut dan menyediakan data yang diinginkan.
2.2.6. URL (Uniform Resorce Locator) Menurut Suyanto (2003, p195), URL adalah alamat sebuah file yang dapat diakses di internet, berisi nama protokol internet yang dibutuhkan untuk mengkases file, nama komputer yang berisi file tersebut, dan direktori dimana file tersebut berada. Menurut Colmer (2006, p145), URL adalah sistem pengalamatan standar yang digunakan untuk mengakses informasi melalui internet. Menurut Peltzer (2004, p243), URL adalah elemen dari halaman web yang menunjukkan komponen yang digunakan browser untuk meminta halaman web. Secara umum, URL dibagi menjadi tiga bagian. Bagian pertama menunjukan protokol yang dipakai seperti http:// atau https://. Bagian kedua menunjukan alamat host seperti www.yahoo.com. Bagian ketiga menunjukan
44 path direktori file, yaitu tempat dimana file yang ingin diakses disimpan dalam server.
2.2.7. Web Browser Menurut Sunarto (2005, p23), web browser atau biasa disebut browser adalah sebuah program aplikasi yang digunakan untuk menjelajahi dunia maya internet dan menampilkan web page yang ada di internet. Menurut Price, wix (2002, p32) web browser adalah sebuah program yang memungkinkan kita untuk melihat informasi yang berada di internet. Menurut Comer (2007, p209) web browser adalah program yang menampilkan dan menyediakan akses dokumen hypermedia yang ada di internet. Lynx dan mosaic adalah contoh web browser yang pertama. Lynx adalah web browser yang hanya menampilkan text, karena itu browser ini dapat membuka web pages dengan cepat. Mosaic adalah web browser yang dapat menampilkan text dan gambar. Saat ini, perkembangan web browser sudah demikian pesat. Para developer telah berkreasi dengan menciptakan browser yang memiliki banyak kemampuan dengan performa yang lebih baik baik, baik yang komersial seperti internet explorer ataupun open sorce seperti mozilla firefox.
2.2.8. Web Server Menurut Supardi (2009, p181) web server adalah perangkat lunak yang mengatur atau mengelola program berdasarkan permintaan browser dan mengirimkan hasil dari permintaan tersebut. Menurut Zaki dan Komunitas
45 Smitdev (2008, p21), web server adalah sebuah hardware dan software yang bertugas melakukan interpretasi HTTP request untuk kemudian melakukan respon atas HTTP request tersebut dalam bentuk kode HTML, dan kode-kode lainnya yang bisa dipahami browser. Ada banyak sekali web server yang bisa digunakan diantaranya: 1. Apache Tomcat 2. Microsoft windows Server 2003 Internet Information Services (IIS) 3. Lighttpd 4. Sun Java System Web Server 5. Xitami Web Server 6. Zeus Web Server
2.2.9. Web Programming a) HTML (Hyper Text Markup Language) Menurut Richardson (2005, p15) HTML adalah sebuah bahasa dasar pemrograman yang digunakan untuk membuat website. Menurut Brooks (2007, p1) HTML bukanlah sebuah bahasa pemrograman, tapi lebih mirip sebagai kumpulan instruksi tentang bagaimana menampilkan sebuah content. Menurut Callihan (2003,p3) HTML adalah bahasa yang terdiri dari dua elemen. Sebagai bahasa hypertext yang memungkinkan kita menulis dokumen interlinking non-sequential. Sebagai bahasa markup yang merupakan kode atau tag-tag untuk menentukan format dokumen saat ditampilkan di web.
46 Saat ini HTML merupakan bahasa standar Internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C). Dokumen HTML terdiri dari 4 elemen: 1.
….., sebagai format dokumen itu sendiri
2.
….., sebagai bagian pendahuluan
3.
….., sebagai bagian judul
4.
….., sebagai bagian isi Sebuah file yang merupakan file HTML dapat dibuka dengan
menggunakan browser web seperti Mozilla Firefox atau Microsoft Internet Explorer. HTML juga dapat dikenali oleh aplikasi pembuka email ataupun dari PDA dan program lain yang memiliki kemampuan browser. b) PHP (PHP Hypertext Preprocessor) Menurut Quigley, Gargenta (2007, p4) PHP adalah bahasa scripting yang simple, cepat dan portable sangat sesuai digunakan untuk membuat website yang memiliki database. Menurut Stobart, Vassileiou (2004, p106) PHP adalah bahasa scripting open source untuk membuat web secara dinamis seperti web untuk
e-commerce dan aplikasi web lainnya.
Menurut Brooks (2008, p2), PHP adalah bahasa scripting server-side, artinya dokumen php diolah diserver bukan di browser, php juga menerima informasi dari dokumen HTML dan menjadikan sebuah web menjadi lebih dinamis. Versi pertaman PHP dibuat oleh Rasmus Leodorf pada tahun 1995. Versi ini berupa sekumpulan skrip PERL yang digunakan oleh Rasmus Lerdorf untuk membuat halaman Web yang dinamis pada hompage
47 pribadinya.
Rasmus
menulis
ulang
skrip-skrip
PERL
tersebut
menggunakan bahasa C, kemudian menambahkan fasilitas Form HTML, koneksi MySQL dan meluncurkan PHP/F1 pada tahun 1996. Selanjutnya, PHP terus dikembangkan hingga saat ini telah meluncur PHP versi 5.0. Karena script ini bersifat open source, maka php bisa didapatkan secara gratis di www.php.net. PHP juga mendapatkan dukungan dari sebagian besar komunitas di internet. Komunitas ini menyediakan dukungan fasilitas untuk pengembangan seperti laporan kesalahankesalahan pada script php kemudian memperbaikinya. Kelebihan lain dari PHP adalah dukungan kepada banyak paket database, seperti PostgreSQL, MySQL, Oracle, Microsoft SQL Server, Sybase dan lain lain. c) Javascript Menurut Brooks (2007, p3) Javascript adalah bahasa pemrograman yang diinterpretasikan bukan dikompile, diadopsi dari bahasa C/C++ yang dikembangkan menjadi bahasa pemrograman web client-side. Javascript didesain untuk bekerja sama dengan HTML membuat web page yang interaktif. Menurut McFarland (2008, p1),
Javascript adalah bahasa
pemrograman yang digabungkan dengan HTML untuk membuat halaman web yang beranimasi, interaktif dan memiliki visual effect yang dinamis. Javascript pertama kali dirancang oleh perusahaan Netscape yang ingin melengkapi fitur browser miliknya –Navigator- yang sebelumnya telah mendukung Java untuk lebih bisa dimanfaatkan oleh programmer non-Java. Diciptakanlah bahasa pemrograman yang bernama Livescript untuk mengakomodasi hal tersebut. Dari bahasa pemrograman inilah
48 kemudian
berkembang
menjadi
Javascript,
walaupun
tidak
ada
hubungannya antara bahasa Java dengan Javascript. Javascript merupakan bahasa pemrograman yang cukup mudah dikuasai dan memiliki banyak fungsi yang dapat digunakan untuk meningkatkan efek visual dari halaman web. Kode dari javascript harus diapit oleh tag, diawali dengan tag
<script language=”javascript”> dan
diakhiri dengan dengan tag .
d) JQuery Menurut Beighley (2010, p8) jQuery adalah open source add-on pustaka JavaScript yang menekankan pada interaksi antara JavaScript dan HTML. JQuery merupakan kode javascript yang telah ditulis, kita tinggal menambahkan satu atau dua baris koding untuk memanggil koding jQuery. jQuery memberikan cara yang mudah dalam membuat efek-efek webpage yang canggih kepada para pengembang dan perancang website, karena jQuery sangat mudah diimplementasikan pada setiap halaman web. Pustaka ini dirilis pada Januari 2006 di BarCamp NYC oleh John Resig dan berlisensi ganda di bawah Lisensi MIT dan GPL.
e) CSS (Cascading Style Sheets) Menurut Sulistyawan, Rubianto, Saleh (2008, p32), CSS adalah suatu bahasa stylesheet yang mengatur tampilan suatu dokumen. Pada umumnya CSS digunakan untuk memformat halaman web yang ditulis dengan HTML dan XHTML. Menurut Juju, Matamaya Studio (2008, p95)
49 CSS adalah bahasa stylesheet yang digunakan untuk mengatur tampilan dokumen. CSS memungkinkan kita untuk menampilkan halaman yang sama dengan format yang berbeda. Dengan CSS, tampilan website akan lebih cantik dan konsisten. Ada dua cara untuk menuliskan kode CSS. Pertama secara internal, yaitu menuliskan langsung diantara tag HTML/XHTML. Kedua secara eksternal, yaitu kode CSS disimpan dalam file yang terpisah kemudian dipanggil saat halaman web dibuka. CSS sendiri merupakan sebuah teknologi internet yang direkomendasikan oleh World Wide Web Consortium (W3C) dan diperkenalkan pada tahun 1996. Sampai saat ini, hampir seluruh website yang ada di dunia menggunakan CSS untuk memformat halaman webnya. Beberapa alasan web developer selalu menggunakan CSS dalam memformat tampilan webnya adalah: 1. CSS dapat memecahkan permasalahan keseragaman style pada suatu dokumen HTML/XHTML. 2. CSS meringankan pekerjaan untuk memformat seluruh tampilan dokumen 3. Multiple style akan tersimpan dalam satu dokumen
f) IMK (Interaksi Manusia dan Komputer) Ketika seseorang bekerja dengan sebuah komputer, secara disadari atau tidak, dia melakukan interaksi dengan komputer dengan menggunakan cara-cara tertentu. Interaksi terjadi ketika pengguna memasukan data, yang
50 kemudian akan ditanggapi oleh komputer dengan menampilkan suatu keluaran ke layer tampilan atau pencetak (Santoso, 2009, p2). Pembuat interface bisa dikatakan sebagai pahwalan transformasi dikarenakan pekerjaannya yang membuat personal computer sebagai social computer, yang memungkinkan user untuk berkomunikasi dengan komputer dan berkolaborasi dengan cara yang luar biasa (Shneiderman, Plaisant, 2010, p22). Dalam membuat interface ada ukuran atau parameter yang harus diperhatikan para designer interface agar interface yang dibuatnya dapat dikatan
user-friendly.
Ukuran
atau
parameter
tersebut
adalah
(Shneiderman, Plaisant, 2010, p32): 1. Waktu untuk belajar. Berapa lama waktu yang dibutuhkan user untuk mempelajari aksi yang harus dilakukan pada suatu tugas. 2. Kecepatan performa. Berapa lama waktu yang dibutuhkan untuk melaksanakan tugas. 3. Tingkat kesalahan user. Berapa banyak dan apa saja jenis kesalahan yang dilakukan orang dalam melaksanakan tugas? meskipun waktu untuk membuat dan memperbaiki kesalahan mungkin dimasukkan ke dalam kecepatan kinerja, penanganan kesalahan adalah suatu komponen penting dari penggunaan antarmuka utamanya layak studi ekstensif 4. Retensi dari waktu ke waktu. Seberapa baik pengguna mempertahankan pengetahuan mereka setelah satu jam, sehari, atau seminggu? retensi sangat berhubungan erat dengan waktu untuk belajar, dan frekuensi pemakaian.
51 5. Kepuasan subjektif. Berapa banyak pengguna menyukai penggunaan berbagai macam aspek dari penampilan? jawabannya dapat dipastikan dengan wawancara atau kuesioner. g) Delapan Aturan Emas Golden Rules adalah 8 prinsip yang berlaku untuk kebanyakan sistemsistem interaktif. Prinsip-prinsip ini berasal dari pengalaman dan telah disempurnakan lebih dari tiga decade (Ben Shneiderman 2010, p88). 1. Berusaha untuk konsisten. Konsistensi dilakukan pada urutan tindakan, perintah, dan istilah yang digunakan pada prompt, menu, atau layar bantuan. 2. Menyediakan usability universal (shortcut). Untuk meningkatkan kecepatan interaksi, maka diperlukan tombol fungsi, perintah tersembunyi, dan fasilitas makro. 3. Memberikan umpan balik yang informatif. Untuk setiap tindakan user, sebaiknya disertakan suatu sistem umpan balik. Untuk tindakan yang sering dilakukan dan tidak terlalu penting, dapat diberikan umpan balik yang sederhana. Tetapi untuk tindakan yang penting, maka umpan balik sebaiknya lebih substansial. Misalnya muncul suatu suara ketika salah menekan tombol pada waktu input data atau muncul pesan kesalahannya. 4. Merancang dialog yang memberikan penutupan (keadaan akhir). Urutan tindakan sebaiknya diorganisir dalam suatu kelompok dari bagian awal, tengah, samapi akhir. Pada bagian akhir tindakan,
52 sebaiknya diberikan indikasi bahwa cara yang dilakukan sudah benar dan dapat mempersiapkan kelompok tindakan berikutnya. 5. Memberikan
pencegahan
dan
penanganan
kesalahan
yang
sederhana. Sedapat mungkin sistem dirancang agar pengguna tidak melakukan kesalahan fatal. Jika kesalahan terjadi, sistem dapat mendeteksi kesalahan dengan cepat dan memberikan mekanisme yang sedehana dan mudah dipahami untuk penanganan kesalahan.
6. Mudah untuk kembali ke tindakan sebelumnya. Hal ini dapat mengurangi kekhawatiran pengguna karena mengetahui kesalahan yang dilakukan dapat dibatalkan, sehingga pengguna tidak takut untuk mengekplorasi pilihan-pilihan lain yang belum biasa digunakan. 7. Mendukung pusat kendali internal (internal locus of control). User adalah pengontrol sistem dan sistem akan merespon tindakan yang dilakukannya. Sebaiknya sistem dirancang sedemikan rupa sehingga pengguna menjadi inisiator daripada responden. 8. Mengurangi beban ingatan jangka pendek. Karena keterbatasan ingatan manusia maka interface sebaiknya dibuat dengan tampilan yang sederhana, serta tidak memakan waktu untuk melatih, dan mengetahui urutan-urutan tindakan.
53 2.3. Tools Yang Digunakan 2.3.1. Entity Relationship Diagram (ERD) Menurut Wikipedia (http://id.wikipedia.org/wiki/Diagram_hubungan_entitas) Diagram Hubungan Entitas atau entity relation diagram merupakan model data berupa notasi grafis dalam pemodelan data konseptual yang menggambarkan hubungan antara penyimpan. Model data sendiri merupakan sekumpulan
cara,
peralatan
untuk
mendeskripsikan
data-data
yang
berhubungan satu sama lain, semantiknya, serta batasan konsistensi. Dalam ERD pada dasarnya ada tiga simbol yang digunakan, yaitu : a. Entiti Entiti merupakan objek yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain (Fathansyah, 1999: 30). Simbol dari entiti ini biasanya digambarkan dengan persegi panjang. b. Atribut Setiap entitas pasti mempunyai elemen yang disebut atribut yang berfungsi untuk mendeskripsikan karakteristik dari entitas tersebut. Isi dari atribut mempunyai sesuatu yang dapat mengidentifikasikan isi elemen satu dengan yang lain. Gambar atribut diwakili oleh simbol elips. c. Hubungan / Relasi Hubungan antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Relasi dapat digambarkan sebagai berikut : Relasi yang terjadi diantara dua himpunan entitas (misalnya A dan B) dalam satu basis data yaitu (Abdul Kadir, 2002: 48) : 1). Satu ke satu (One to one)
54 Hubungan relasi satu ke satu yaitu setiap entitas pada himpunan entitas A berhubungan paling banyak dengan satu entitas pada himpunan entitas B. 2). Satu ke banyak (One to many) Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi setiap entitas pada entitas B dapat berhubungan dengan satu entitas pada himpunan entitas A. 3). Banyak ke banyak (Many to many) Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B.
Gambar 2.3.1 Entity Relationship Diagram
55 2.4. Pemahaman Objek Studi : Social Networking 2.4.1. Social Networking Social Networking Site (SNS) atau biasa disebut juga jaringan sosial didefinisikan sebagai suatu layanan berbasis web yang memungkinkan setiap individu untuk membangun hubungan sosial melalui dunia maya seperti membangun suatu profil tentang dirinya sendiri, menunjukkan koneksi seseorang dan memperlihatkan hubungan apa saja yang ada antara satu member dengan member lainya dalam sistem yang disediakan, dimana masing-masing social networking site memiliki ciri khas dan sistem yang berbeda-beda, beberapa contoh Social Networking Site diantaranya MySpace, Facebook, Cyworld, and Bebo. Fungsi dari penerapan Social Networking Site itu sendiri berfokus pada koneksi yang akan dibangun oleh satu orang dengan orang lainnya, dimana dapat berupa hubungan sahabat, keluarga, event, profesi hingga bisnis dan pekerjaan (Boyd & Ellison, 2007). Komponen-komponen arsitektur dari sebuah situs jaringan sosial menurut Mike Gotta dalam artikelnya “Reference Architecture For Social Network Sites (2008) ” yang ber-referensi dari IT Research Buton Group, yaitu sebuah situs jaringan sosial adalah sebuah situs web yang : • Berperan sebagai fasilitas bagi individu untuk menjalin hubungan dengan individu
lainnya sehingga memungkinkan mereka untuk bersama-sama membangun atau memperluas jaringan sosial mereka. • Merupakan sebuah fasilitas bagi orang-orang untuk berinteraksi satu sama lain,
berbagi informasi dalam situs, berpartisipasi dalam kegiatan situs yang berbeda, dan membangun komunitas secara informal dan sukarela.
56 • Mengandung komponen spesifik yang memungkinkan orang untuk: o mendefinisikan profil secara online. o daftar hubungan individu. o pemberitahuan tentang suatu kegiatan (notification). o berpartisipasi dalam kegiatan suatu kelompok masyarakat (group). o pengaturan privasi dan izin. •
Terintegrasi dengan platform infrastruktur yang terkait untuk melengkapi sistem end-to-end (misalnya direktori, keamanan, dan aplikasi integrasi).
Apa yang membuat situs jaringan sosial unik adalah bukan karena setiap orang memiliki kemungkinan untuk membangun hubungan sosial dengan orang-orang yang tidak dikenal sekalipun, namun social networking site memungkinkan profil jaringan sosial pada setiap individu bersifat visible bagi seluruh member, itu jika di kehendaki oleh individu tersebut. Hal ini dapat mengakibatkan hubungan antara individu, yang tidak seharusnya terhubung menjadi dapat dibuat. Pada banyak sosial networking site yang besar, individu tidak selalu berusaha untuk mencari atau bertemu dengan orangorang baru, melainkan mereka lebih mengutamakan untuk menjalin komunikasi dengan orang yang sudah menjadi bagian dalam jaringan sosial mereka.
Salah satu fitur teknis yang diterapkan oleh social networking site, profil yang unik dimana menjadi tempat setiap orang untuk mendefinisikan dirinya yang mencakup identitas-identitas mendasar antara lain umur, lokasi, about me, Contact Info, dan status-status lainnya. Kebanyakan situs juga mendorong pengguna untuk meng-upload foto untuk profilnya. Selain itu, beberapa situs juga memungkinkan pengguna untuk memodifikasi penampilan profil mereka dengan menambahkan
57 konten-konten yang bersifat multimedia. Contoh lainnya, seperti Facebook, memungkinkan pengguna untuk menambahkan modul application yang sangat bervariasi agar profil terlihat lebih menarik.
Visibilitas profil suatu account bervariasi menurut situs dan kebijaksanaan pengguna itu sendiri. Situs seperti Facebook dan MySpace memungkinkan pengguna untuk memilih apakah profil mereka terbuka untuk umum atau “teman saja”. Secara default, pengguna yang merupakan bagian dari jaringan yang sama dapat melihat profil masing-masing member, kecuali seorang pemilik profil telah memutuskan untuk membatasi izin hak akses kepada anggota-anggota lain dalam jaringan tersebut.
Setelah bergabung dengan suatu situs jejaring sosial, biasanya pengguna akan mengindentifikasi orang-orang yang memiliki hubungan dengannya, baik anggota yang telah memiliki account di jaringan yang sama mapupun belum. Label untuk hubungan-hubungan ini akan berbeda-beda, ada yang bersifat satu arah ataupun dua arah. Kebanyakan SNS memerlukan konfirmasi dua arah untuk suatu hubungan pertemanan, sedangkan contoh hubungan satu arah misalnya hubungan antara fans dengan idolanya. Dalam situs jejaring sosial, kesalahan dalam mengartikan hubungan teman antar anggota dalam situs sering terjadi dimana koneksi yang terjadi antara satu individu dengan individu yang lainnya tidak selalu berarti adanya hubungan pertemanan antar dua individu tersebut dan setiap orang punya alasan masing-masing dalam menciptakan hubungan itu.
Tampilan koneksi publik suatu profil member merupakan komponen yang sangat penting dari situs jejaring sosial. Daftar teman suatu member yang berisi link ke
58 setiap profil masing-masing, memungkinkan satu individu untuk melihat hubungan jaringan dari satu hubungan ke hubungan yang lainnya. Namun semua itu tetap ada pengecualian jika pemilik profil memberikan izin hak akses untuk fitur “friend” miliknya. Kebanyakan SNSs juga menyediakan mekanisme bagi pengguna untuk meninggalkan komentar pada profil temannya. Selain itu, SNS sering juga memiliki fitur pesan pribadi mirip dengan webmail atau private message.
2.4.2. Basis Data Jejaring Sosial Berikut ini adalah model sederhana basis data beberapa jejaring sosial secara umum dan contoh basis data facebook.
Gambar 2.4.1 Model sederhana basis data beberapa jejaring sosial secara umum.
59
Gambar 2.4.2 Contoh basis data Facebook. Suatu jejaring sosial yang mempunyai sistem yang sangat kompleks membutuhkan perancangan basis data yang baik dan terencana. Dapat dilihat pada gambar 2.4.1 dan 2.4.2, yang merupakan contoh dari basis data jejaring sosial yang sudah berjalan, table-table yang saling berhubungan menggambarkan dan mendukung sistem dari jejaring sosial itu sendiri. Dengan berpedoman pada contoh tersebut, kami akan merancang basis data untuk jejaring sosial anakdigital.com yang dapat mendukung sistem keamanan yang kami tekankan pada jejaring sosial ini.