BAB 2 LANDASAN TEORI
2.1 Teori Umum Dalam teori umum ini akan dijelaskan mengenai teori – teori mendasar yang berhubungan dengan basis data (database) yang di bahas sebagai berikut : 2.1.1 Data Menurut Whitten, Bentley, dan Dittman (2004, p23), data adalah fakta mentah mengenai orang, tempat, kejadian, dan hal – hal yang penting dalam organisasi. Sedangkan menurut Febrian (2007, p129), data adalah fakta, atau bagian dari fakta yang mengandung arti yang dihubungkan dengan kenyataan, simbol-simbol, gambar-gambar, kata-kata, angka-angka, huruf-huruf, atau simbol-simbol yang menunjukan suatu ide, objek, kondisi, atau situasi dan lain-lain. Data itu sendiri merupakan bentuk jamak dari datum yang berarti informasi. Jelasnya data itu dapat berupa apa saja dan dapat ditemui dimana saja. 2.1.2 Field Menurut Whitten, Bentley, dan Dittman (2004, p520), field adalah unit terkecil dari data yang berarti untuk disimpan pada sebuah file atau database (basis data). Menurut Linda Marlinda (2004, p5), field adalah karakteritik entitas tertentu.
6
7
2.1.3 Record Menurut Whitten, Bentley, dan Dittman (2004, p521), record adalah kumpulan field yang disusun dalam format yang telah ditetapkan sebelumnya. Linda Marlinda (2004, p5) mendefinisikan record sebagai kumpulan isi elemen data yang saling berhubungan menginformasikan tentang suatu entity secara lengkap. 2.1.4 File Whitten, Bentley, dan Dittman (2004, p518) mendefinisikan file sebagai kumpulan record yang sama. Linda Marlinda (2004, p5) mendefinisikan file sebagai kumpulan record sejenis yang mempunyai panjang elemen dan attribute yang sama, namun berbeda – beda data value. 2.1.5 Basis Data (Database) Linda Marlinda (2004, p1) mendefinisikan basis data adalah susunan atau kumpulan data operasional lengkap dari suatu organisasi atau perusahaan yang diorganisir atau dikelola dan disimpan secara terintegrasi dengan menggunakan metode tertentu menggunakan komputer sehingga mampu menyediakan informasi optimal yang diperlukan pemakainya. Turban, Rainer, dan Potter (2006, p49) mendefinisikan basis data adalah sekumpulan arsip (file), table, relasi, dan lain – lainnya yang saling berkaitan dan menyimpan data serta berbagai hubungan di antaranya.
8
2.1.6 Sistem Basis Data Menurut Linda Marlinda (2004, p1) sistem basis data adalah suatu sistem menyusun dan mengelola record – record menggunakan komputer untuk menyimpan atau merekam serta memelihara data operasional lengkap sebuah organisasi atau perusahaan sehingga mampu menyediakan informasi yang optimal yang diperlukan pemakai untuk proses mengambil keputusan. Sedangkan menurut Connolly dan Begg (2005, p4), sistem basis data adalah sekumpulan aplikasi program yang berinteraksi dengan basis data. 2.1.7 Pendekatan Basis Data (Database Approach) Menurut Elmasri dan Navathe (2000, p8-p11), karakteristik dari pendekatan basis data yaitu sebagai berikut : •
Menggambarkan sifat alami dari sistem basis data
•
Isolasi antara program dan data, dan data abstraksi
•
Dukungan berbagai pandangan dari data
•
Berbagi data dan proses transaksi multi-user
2.1.7.1 Keuntungan Pendekatan Basis Data Menurut Elmasri dan Navathe (2000, p14-p18), keuntungan dari penggunaan pendekatan basis data adalah sebagai berikut : •
Mengontrol redudansi
•
Membatasi akses yang tidak sah
•
Menyediakan tempat penyimpanan untuk objek program dan struktur data
9
•
Memungkinkan keputusan dan tindakan dengan menggunakan aturan
•
Menyediakan beberapa antarmuka pengguna
•
Mewakili hubungan yang kompleks antara data
•
Menegakkan integritas constraints
•
Menyediakan backup dan recovery
Menurut Elmasri dan Navathe (2000, p18-p19), implikasi pendekatan basis data adalah sebagai berikut : •
Potensial untuk memaksakan standar
•
Mengurangi waktu pengembangan aplikasi
•
Flexibilitas
•
Ketersediaan informasi terbaru
•
Skala ekonomi
2.1.7.2 Database Management System (DBMS) Menurut Connolly dan Begg (2002, p16), DBMS merupakan software yang memungkinkan user untuk mendefinisikan, membuat, mengurus, dan mengontrol akses ke basis data. Menurut Whitten, Bentley, dan Dittman (2004, p524-p525), DBMS adalah perangkat lunak khusus yang digunakan untuk membuat, mengontrol, dan mengelola sebuah basis data. Pada umumnya, sebuah DBMS menyediakan dua bahasa, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML).
10
Data Definition Language (DDL) DDL digunakan oleh DBMS untuk menetapkan secara fisik tipe, record, field, dan hubungan struktural. Selain itu, DDL menentukan view database. View tersebut membatasi bagian dari sebuah basis data yang dapat digunakan atau diakses oleh para pengguna dan program yang berbeda. (Whitten, Bentley, dan Dittman, 2004, p525). Dengan menggunakan DDL, pengguna dapat menentukan tipe data, struktur, dan batasan terhadap data yang akan disimpan ke basis data (Connolly dan Begg, 2002, p16). Data Manipulation Language (DML) Sistem manajemen basis data juga menyediakan sebuah bahasa manipulasi data untuk mengakses dan menggunakan data yang disimpan pada aplikasi. DML digunakan untuk membuat, membaca, memperbaharui dan menghapus record – record pada sebuah basis data dan untuk menjelajahi di antara record – record dan tipe – tipe record yang berbeda. (Whitten, Bentley, dan Dittman, 2004, p525). Manipulasi yang bisa dilakukan melalui DML antara lain retrieval, insertion, deletion, dan modification dari data (Elmasri dan Navathe, 2000, p30). 2.1.7.3 Komponen Database Management System (DBMS) Didalam lingkungan DBMS kita dapat melihat lima komponen utama, yaitu piranti keras, piranti lunak, data, prosedur, dan manusia.
11
Piranti Keras Piranti keras dibutuhkan untuk menjalankan aplikasi dan DBMS. Piranti keras dapat berupa sebuah komputer, sebuah mainframe, ataupun sebuah jaringan antar komputer, yang nantinya disesuaikan dengan kebutuhan organisasi dan DBMS yang digunakan. Terdiri dari semua peralatan komputer yang digunakan untuk pengelolaan sistem basis data, yang berupa : peralatan untuk menyimpan basis data (secondary storage), peralatan input dan output, peralatan komunikasi data, dan lain – lain. Piranti Lunak Piranti lunak berfungsi sebagai perantara (interface) antara pemakai dengan data fisik pada basis data. Piranti lunak disini terdiri dari program program aplikasi dan prosedur – prosedur, dan piranti lunak DBMS itu sendiri yang menangani akses terhadap basis data sehingga pemakai tidak perlu memikirkan proses penyimpanan dan pengelolaan data secara detail, dan bekerja sama dengan sistem operasi (dalam hal ini piranti lunak jaringan) jika DBMS bekerja dalam sebuah jaringan. Data Merupakan komponen yang paling penting dalam lingkungan DBMS, setidaknya jika dilihat dari pandangan end-users. Basis data mengandung data operasional dan meta-data (data yang menjelaskan data).
12
Prosedur Prosedur merupakan instruksi dan ketentuan yang menentukan rancangan dan penggunaan dari basis data. Manusia Manusia yang dimaksud disini adalah manusia yang memiliki hubungan langsung dengan sistem. 2.1.7.4 Keuntungan dan Kerugian DBMS Menurut Connolly (2002, p26), keuntungan DBMS antara lain : •
Kontrol terhadap pengulangan data
•
Data yang konsisten
•
Semakin banyak informasi yang didapat dari data yang sama
•
Data yang dibagikan
•
Menambah integritas data
•
Menambah keamanan data
•
Penetapan standarisasi
•
Pengurangan biaya
•
Menyeimbangkan konflik kebutuhan
•
Menambah pengaksesan data dan hasilnya
•
Menambah produktivitas
•
Menambah pemeliharaan data melalui independensi data
•
Menambah konkurensi
13
•
Menambah backup dan recovery
Sedangkan kerugian DBMS menurut Connolly (2002, p29) yaitu: •
Kompleksitas
•
Ukuran yang besar
•
Biaya dari suatu DBMS
•
Biaya penambahan perangkat keras
•
Biaya konversi
•
Kinerja
•
Efek yang besar dari kegagalan
2.1.8 Database Application Lifecycle (DBLC) Dalam merancang aplikasi sistem basis data diperlukan tahapan-tahapan terstruktur yang harus diikuti, tahapan-tahapan tersebut dinamakan siklus hidup aplikasi basis data. Menurut Connolly dan Begg (2002, p270), tahapan-tahapan dari siklus hidup aplikasi basis data adalah sebagai berikut:
14
Gambar 2.1 Daur Hidup Aplikasi Basis Data
Dapat dilihat dari gambar diatas bahwa tahapan-tahapan disusun secara berurutan. Akan tetapi dapat terjadi pengulangan akibat putaran balik yang diakibatkan kondisi tertentu. 2.1.8.1 Perencanaan Basis Data (Database Planning) Menurut Connolly dan Begg (2002, p273-274), perencanaan basis data merupakan aktifitas manajemen yang mengizinkan tingkatan dari aplikasi basis data untuk direalisasikan seefektif dan seefisien mungkin. Ada tiga hal penting dalam menyusun sebuah strategi sistem informasi, yaitu:
15
1. Identifikasi dari tujuan dan rencana perusahaan dengan penentuan kebutuhan sistem informasi berikutnya. 2. Evaluasi dari sistem informasi saat ini untuk menentukan kelebihan dan kelemahan yang ada saat ini. 3. Penilaian dari kesempatan-kesempatan teknologi informasi yang mungkin menghasilkan keuntungan kompetitif. 2.1.8.2 Pendefinisian Sistem (System Definition) Menurut Connolly dan Begg (2002, p274), pendefinisian sistem merupakan proses yang memaparkan ruang lingkup dan batasan dari aplikasi basis data dan kebanyakan pandangan pengguna (major user view). Sebelum perancangan basis data dilakukan, adalah penting untuk melakukan identifikasi terhadap ruang lingkup dan batasan-batasan dari sistem yang akan diteliti. Hal ini sangat penting dilakukan dalam proses perancangan basis data agar lebih terfokus pada proyek basis data yang dibuat. Selain itu perlu dilakukan analisis terhadap kebutuhan sistem untuk pengembangan selanjutnya. Pandangan pengguna sangat diperlukan untuk mengidentifikasi informasiinformasi yang dibutuhkan oleh pengguna. Identifikasi terhadap pandangan pengguna dapat memastikan bahwa tidak ada kebutuhan pemakai utama basis data yang terlupa ketika pengembangan aplikasi baru nantinya.
16
2.1.8.3 Pengumpulan dan Analisis Kebutuhan Menurut Connolly dan Begg (2002, p276) Proses pengumpulan dan analisis informasi tentang organisasi yang akan didukung oleh aplikasi basis data, dan menggunakan informasi ini untuk melihat kebutuhan pengguna terhadap sistem yang baru. Informasi-informasi yang dikumpulkan dapat berupa : 1. Penjabaran dari data yang digunakan. 2. Detail mengenai bagaimana data digunakan. 3. Kebutuhan tambahan apapun untuk aplikasi basis data yang baru. Ada tiga macam pendekatan untuk mengatur kebutuhan dari sebuah aplikasi basis data dengan berbagai pandangan pemakai, yaitu: 1. Pendekatan Centralized Kebutuhan untuk tiap pandangan pemakai disatukan menjadi satu set kebutuhan untuk aplikasi basis data. Umumnya pendekatan ini dipakai jika basis datanya tidak terlalu kompleks. 2. Pendekatan View Integration Kebutuhan untuk tiap pandangan pemakai digunakan untuk membangun sebuah model yang terpisah yang mepresentasikan tiap pandangan pemakai tersebut. Hasil dari data-data model tersebut kemudian digabung dalam rancangan basis data.
17
3. Kombinasi dari keduanya. Ada beberapa teknik untuk mengumpulkan informasi, salah satunya adalah fact-finding techniques. Menurut Connolly dan Begg (2002, p302), teknik fact-finding adalah suatu proses resmi dalam menggunakan teknik-teknik seperti wawancara atau kuesioner untuk mengumpulkan fakta-fakta tentang sistem dan kebutuhan-kebutuhannya. Ada lima kegiatan yang dipakai dalam teknik ini, yaitu memeriksa dokumen dan formulir, wawancara, mengamati operasional perusahaan, penelitian, dan kuesioner. Memeriksa Dokumentasi dan Formulir Pemahaman terhadap jalannnya sistem akan cepat diperoleh dengan memeriksa dokumen-dokumen, formulir, laporan, dan file yang berhubungan dengan sistem yang berjalan. Wawancara Menurut Connolly dan Begg (2002, p306), wawancara bertujuan untuk mengumpulkan fakta yang ada dan mengklarifikasinya, membangkitkan semangat, melibatkan pengguna akhir, mengidentifikasi kebutuhan-kebutuhan, dan mengumpulkan ide-ide. Keuntungan menggunakan teknik wawancara antara lain (Connolly dan Begg, 2002, p306) :
18
•
Memungkinkan orang yang diwawancara untuk menanggapi pertanyaan dengan bebas dan terbuka.
•
Memungkinkan orang yang diwawancara merasa bahwa ia merupakan bagian dari proyek.
•
Memungkinkan pewawancara untuk menindaklanjuti komentarkomentar menarik yang dibuat oleh orang yang diwawancara.
•
Memungkinkan pewawancara untuk mengubah atau menyusun kembali pertanyaan selama kegiatan wawancara.
•
Memungkinkan pewawancara untuk mengamati bahasa tubuh orang yang diwawancara.
Kerugian menggunakan teknik wawancara antara lain (Connolly dan Begg, 2002, p306): •
Sangat memakan waktu dan biaya, sehingga menjadi tidak praktis.
•
Keberhasilan tergantung pada kemampuan komunikasi pewawancara.
•
Keberhasilannya tergantung pada keinginan orang yang diwawancara untuk ikut serta dalam wawancara.
Mengamati Operasional Perusahaan Teknik ini memungkinkan pengamat untuk ikut serta atau mengamati seseorang melakukan kegiatan untuk mempelajari sistem. Faktor pengamatan dapat berhasil dengan mencari informasi sebanyak mungkin tentang kegiatan yang akan diamati serta orang yang melakukan kegiatan tersebut.
19
Keuntungan menggunakan teknik ini antara lain: •
Validitas fakta dan data dapat diperiksa.
•
Pengamat dapat melihat dengan jelas apa yang dikerjakan.
•
Pengamat juga dapat memperoleh data yang menjelaskan lingkungan fisik dari tugas yang diberikan.
•
Biaya yang perlu dikeluarkan dalam melakukan pengamatan relatif murah.
•
Pengamat dapat membuat pengukuran kerja.
Kerugian menggunakan teknik ini antara lain: •
Sangat memakan waktu dan biaya, sehingga menjadi tidak praktis.
•
Dapat terlewat dalam mengamati tugas-tugas yang melibatkan tingkat kesulitan yang lain.
•
Beberapa tugas tidak selalu dilakukan dengan cara seperti pada saat pengamatan.
Penelitian Jurnal komputer, buku-buku referensi, dan internet merupakan sumber informasi yang baik yang menyediakan informasi bagaimana orang lain memecahkan masalah yang serupa. Keuntungan menggunakan teknik ini antara lain: •
Dapat menghemat waktu jika solusinya telah tersedia.
20
•
Peneliti dapat mengamati cara orang lain memecahkan masalah yang sama atau menemui kebutuhan.
•
Membuat para peneliti selalu up-to-date dengan perkembangan baru.
Kerugian menggunakan teknik ini yaitu: •
Dapat menjadi sangat memakan waktu.
•
Membutuhkan akses ke sumber informasi yang tepat.
•
Dapat
saja
tidak
membantu
memecahkan
masalah
karena
didokumentasikan. Kuesioner Menurut Connolly dan Begg (2002, p308), kuesioner adalah suatu dokumen dengan tujuan khusus yang memungkinkan fakta-fakta dikumpulkan dari banyak orang sambil menjaga kontrol terhadap tanggapan yang diberikan. Keuntungan menggunakan teknik kuesioner antara lain : •
Orang dapat melengkapi dan mengembalikan kuesioner pada waktu yang sebaik-baiknya.
•
Tidak mahal untuk mengumpulkan data dari banyak orang.
•
Responden lebih mudah untuk memberikan jawaban yang benar karena jawaban yang diberikan dapat dijaga kerahasiaannya.
•
Tanggapan dapat ditabulasikan dan dianalisa dengan cepat.
Kerugian menggunakan teknik kuesioner antara lain: •
Jumlah responden dapat saja rendah, sekitar 5% sampai 10%.
21
•
Kuesioner dapat saja dikembalikan dangan tidak lengkap.
•
Tidak menyediakan kesempatan untuk mengubah pertanyaan yang salah diartikan.
•
Tidak dapat mengamati dan menganalisa bahasa tubuh responden.
•
Memakan waktu untuk menyiapkan kuesioner.
2.1.8.4 Perancangan Basis Data Menurut Connolly dan Begg (2002, p279), perancangan basis data merupakan proses pembuatan rancangan untuk basis data yang akan mendukung kegiatan operasional serta sasaran suatu perusahaan. Pada tahap ini, basis data dirancang secara conceptual, logical, dan physical. Ada dua pendekatan yang bisa digunakan untuk merancang sebuah basis data, yaitu: 1. Pendekatan bottom-up Pendekatan ini dimulai dari tingkat awal atribut (yaitu properti dari entity dan relationship), yang mana melalui analisis dari asosiasi antar atribut dikelompokkan menjadi hubungan yang merepresentasikan jenis-jenis entitas dan relasi antar entitas. Pendekatan ini cocok untuk perancangan basis data yang simple dengan jumlah atribut yang tidak banyak. 2. Pendekatan top-down Metode perancangan top-down adalah metode perancangan basis data dimana perancangan dimulai dari pengembangan model data yang awalnya mengandung beberapa entitas tingkat atas beserta relasi-relasi antara entitas
22
tersebut. Kemudian dilakukan penyesuaian bertahap untuk mengidentifikasi entitas dengan tingkat lebih rendah, relasi antara mereka, dan atribut-atribut yang dimilikinya. Pendekatan ini biasanya digambarkan melalui Entity Relationship (ER). 2.1.8.4.1 Conceptual Database Design Menurut Connolly dan Begg (2002, p419), perancangan basis data konseptual adalah proses membangun sebuah model dari informasi yang digunakan di perusahaan, yang terlepas dari semua pertimbangan-pertimbangan sibuk. Tujuan dari perancangan konseptual basis data adalah untuk membangun representasi konseptual dari basis data, yang meliputi identifikasi dari entitas penting, relationship, dan atribut-atributnya (Connolly dan Begg, 2002, p417). Langkah-langkah dalam perancangan basis data adalah: Langkah 1: Membangun Local Conceptual Data Model untuk setiap pandangan pengguna Langkah ini bertujuan untuk membagi rancangan menjadi tugas-tugas yang dapat diatur dengan memeriksa sudut pandang yang berbeda dari pengguna didalam organisasi (Connolly dan Begg, 2002, p421). Tugas-tugas yang dilakukan pada langkah ini terdiri dari: 1. Mengidentifikasi tipe entitas.
23
Dalam mengindentifikasi tipe entitas utama yang dibutuhkan oleh setiap view, dapat dilakukan dengan cara membangun sebuah kamus data. 2. Mengidentifikasi relationship type. Cara yang dapat dilakukan dalam mengidentifikasi relasi penting yang terjadi dalam entitas yang telah diidentifikasi dengan cara membangun kamus data relationship. Untuk lebih mudah, maka dapat digunakan: •
Diagram Entity-Relationship
•
Multipicity dalam relationship
•
Memastikan bahwa satu entitas terlibat paling tidak pada satu relationship.
3. Mengidentifikasi dan menghubungkan atribut dengan entitas dan relationship. Dalam melakukan identifikasi dan membuat relasi antara atribut dengan entitas dan relationship, sebaiknya dengan membangun kamus data atribut. Yang perlu disimpan pada kamus data atribut adalah: •
Nama atribut dan keterangannya
•
Tipe data dan besarnya
•
Nama lain atau alias dari atribut itu
24
•
Nilai asli standar atribut
4. Menentukan domain atribut. 5. Menentukan atribut-atribut candidate dan primary key. Adapun cara yang dapat dilakukan dalam menentukan candidate dan primary key adalah dengan mencari: •
Candidate key yang memiliki set atribut minimal
•
Candidate key yang nilainya jarang berubah
•
Candidate key yang nilainya memiliki karakter paling sedikit (apabila atribut berbentuk tekstual)
•
Candidate key dengan nilai maksimum yang paling kecil (apabila atribut berbentuk numeric)
•
Candidate key yang paling mudah digunakan dari sudut pandang pengguna.
6. Mempertimbangkan
penggunaan
enhanced
modeling
concept
(langkah pilihan) Konsep-konsep yang dimaksudkan pada enhanced modeling concept adalah: •
Spesialisasi, yaitu melihat perbedaan antara entitas dengan menentukan satu atau lebih entitas pada subclass dari entitas pada superclass.
25
•
Generalisasi,
yaitu
melihat
perbedaan
antara
entitas
mengumpulkan fitur-fitur yang memiliki kesamaan dari entitas tersebut untuk menentukan superclass. 7. Memeriksa model agar bebas dari redundancy. Langkah-langkah yang bisa dilakukan dalam memeriksa model dari redundancy antara lain: •
Memeriksa kembali hubunngan satu-satu (1 : 1)
•
Menghilangkan relationship yang berlebih (redundant)
8. Memvalidasi local conceptual data model dengan transaksi-transaksi user. Pada langkah ini, perlu dipastikan bahwa model data konseptual lokal dapat mendukung transaksi yang dibutuhkan. 9. Melihat kembali local conceptual data model dengan user. Model yang telah dibangun harus ditinjau guna memastikan bahwa model tersebut merupakan representasi yang sesuai dengan yang dikehendaki
oleh
pengguna.
Pengulangan pada langkah-langkah
sebelumnya bisa saja terjadi apabila ada kesalahan atau anomalies pada model data. 2.1.8.4.2 Logical Database Design Menurut Connolly dan Begg (2002, p419), perancangan basis data logikal adalah proses membangun model informasi yang digunakan dalam perusahaan dengan
26
berdasarkan pada suatu model data spesifik, terlepas dari DBMS tertentu beserta pertimbangan fisik lainnya. Langkah berikut dalam perancangan basis data adalah: Langkah 2: Membangun Logical Data Model untuk setiap view Tugas-tugas yang dilakukan pada langkah ini terdiri dari: 1. Menghilangkan fitur yang tidak kompatibel dengan relationship model. (langkah pilihan) Langkah-langkah yang bisa dilakukan dalam menghilangkan fitur yang tidak kompatibel antara lain: •
Menghilangkan relasi binary banyak dengan dengan banyak (*:*)
•
Menghilangkan relasi recursive banyak dengan banyak (*:*)
•
Menghilangkan relasi yang kompleks
•
Menghilangkan atribut yang memiliki nilai lebih dari satu
2. Membuat relationship dari model data logikal lokal. Membangun relasi untuk model data logikal lokal untuk merepresentasikan entitas, relasi, dan atribut yang telah diidentifikasi. Relasi yang dimiliki satu entitas dengan entity lainnya ditunjukkan dengan adanya mekanisme primary key dan foreign key. Pada pembuatan relationship, harus ditentukan: •
Relasi untuk semua strong entity yang ada pada model data
27
•
Relasi untuk semua weak entity yang ada pada model data
•
Tipe relasi biner satu-banyak (1:*)
•
Tipe relasi biner satu-satu (1:1)
•
Tipe relasi recursive satu-satu (1:1)
•
Tipe relasi superclass atau subclass (Enhanced Model)
•
Tipe relasi biner banyak-banyak (*:*)
•
Tipe relasi kompleks
•
Atribut yang bernilai banyak (multi-valued)
3. Validasi terhadap relasi menggunakan normalisasi Langkah-langkah yang perlu diperhatikan saat melakukan validasi adalah : •
Rancangan
normalisasi
mengatur
data
menurut
ketergantungan fungsional •
Rancangan logikal mencerminkan seberapa jauh perancang memahami kebutuhan data dalam suatu perusahaan
•
Bentuk normalisasi kokoh dan bebas dari update anomalies.
•
Komputer
modern
jauh
lebih
cepat,
sehingga
lebih
memungkinkan untuk mengimplementasi rancangan yang memiliki lebih banyak proses tapi mudah digunakan
28
•
Proses normalisasi membuat perancang memahami dengan tepat setiap atribut apa saja yang harus ada dalam basis datanya
•
Normalisasi menghasilkan basis data yang fleksibel dan dapat dengan mudah diperluas
4. Validasi relasi dengan transaksi pengguna Pada langkah ini, relasi yang ada pada model data logikal lokal dapat mendukung transaksi yang dibutuhkan. Langkah ini dilakukan untuk memeriksa apakah relasi yang sudah terbentuk pada langkahlangkah sebelumnya dapat mendukung transaksi-transaksi dan tidak ada kesalahan. 5. Menentukan batasan-batasan integritas (integrity constraints) Lima jenis batasan-batasan integritas adalah: •
Data yang diperlukan
•
Batasan domain atribut (atribut domain constraints)
•
Entity integrity
•
Referential integrity
•
Batasan dari perusahaan (enterprise constraints)
6. Memeriksa model data logikal dengan pengguna Model data logikal yang telah dibangun, harus dapat menjadi representasi yang tepat.
29
Langkah 3: Membangun dan memvalidasi model data logikal global Adapun tugas-tugas yang harus dilakukan dalam membangun dan memvalidasi model data logikal adalah: 1. Menggabungkan model data logikal lokal ke model global Langkah-langkah yang bisa dilakukan dalam membangun dan memvalidasi model data logikal global adalah: •
Memeriksa nama dan isi entitas atau relasi dan candidate keynya
•
Memeriksa nama dan isi relationship atau foreign key
•
Menggabungkan entitas atau relasi dari model data lokal
•
Memasukkan entity atau relasi unik ke tiap model data lokal
•
Menggabungkan relasi atau foreign key dari model data lokal
•
Memasukkan relasi atau foreign key unik ke tiap model data lokal
•
Memeriksa kekurangan entitas atau relasi dan relationship atau foreign key
•
Memeriksa foreign key
•
Memeriksa batasan ingritas (integrity constraints)
•
Membuat diagram ER global
•
Melakukan update terhadap dokumentasi
2. Validasi model data logikal global
30
Memvalidasi relasi yang telah dibuat dari model data logikal global dengan normalisasi dan memastikan bahwa model sudah bisa mendukung transaksi-transaksi yang dijalankan. 3. Memeriksa perkembangan lebih lanjut (masa depan) Memastikan apakah ada kecenderungan terjadi perubahanperubahan yang signifikan untuk masa-masa yang akan datang, apakah model data logikal global dapat mengikuti perkembangan ini. 4. Memeriksa model data logikal global dengan pengguna Memastikan
model
data
logikal
memenuhi
kebutuhan
perusahaan. 2.1.8.4.3 Physical Database Design Menurut Conolly dan Begg (2002, p419), perancangan basis data fisikal adalah proses menghasilkan keterangan dari implementasi basis data pada perangkat penyimpanan sekunder, dengan menggambarkan basis relasi, organisasi file, dan indeks yang digunakan untuk memperoleh akses yang efisien terhadap data, beserta segala integrity constraints yang terkait dan pertimbangan keamanan. Langkah 4: Menerjemahkan model data logikal ke dalam DBMS Dalam menerjemahkan model data logikal, perancang harus mengetahui: •
Bagaimana membuat relasi dasar
•
Apakah sistem mendukung pendefinisian primary key, foreign key, dan candidate key
31
•
Apakah sistem mendukung pendefinisian data yang diperlukan (seperti null pada atribut)
•
Apakah sistem mendukung pendefinisian domain
•
Apakah sistem mendukung integrity constraints
•
Apakah sistem mendukung batasan-batasan dari perusahaan
1. Merancang relasi dasar Langkah pertama adalah memeriksa dan menyusun informasi mengenai relasi yang sudah dibuat pada tahap logikal. Untuk setiap relasi yang sudah diidentifikasi, akan terdapat: •
Nama relasinya
•
Daftar simple attribute
•
Primary key, alternate key, dan foreign key
•
Daftar dari derived attribute
•
Referential integrity constraint untuk setiap foreign key
Untuk tiap atribut juga akan diketahui: •
Domainnya, tipe data, dan batasan-batasan yang berlaku dalam domain
•
Nilai pilihan (optional) untuk atribut
•
Apakah atribut dapat bernilai null atau tidak
Langkah selanjutnya adalah menentukan bagaimana relasi dasar akan dibentuk. Keputusannya bergantung pada DBMS yang digunakan.
32
2. Merancang representasi data Pada langkah ini ditentukan bagaimana menuliskan data dalam model data logikal global ke dalam DBMS. Adapun hal-hal yang harus dikalkulasi oleh perancang adalah: •
Cost tambahan untuk menyimpan data dan menjaganya tetap konsisten
•
Cost untuk mengkalkulasi data setiap kali diperlukan
3. Merancang batasan-batasan dari perusahaan Langkah 5: Merancang representasi fisikal Menentukan pengoptimalan file untuk penyimpanan relasi dasar dan indeks yang diperlukan untuk mencapai daya guna (performance) yang wajar atau dapat diterima dalam ruang penyimpanan (secondary storage). Beberapa faktor yang dapat digunakan untuk mengukur keefisienan, antara lain : •
Transaction Throughput Menyatakan jumlah transaksi yang dapat diproses dalam interval
waktu tertentu. Dalam beberapa sistem seperti reservasi pesawat terbang, faktor ini menjadi amat penting karena padatnya lalu-lintas sistem. •
Response Time Waktu yang diperlukan untuk mengerjakan satu transaksi.
33
•
Disk Storage Jumlah ruang kosong (disk) yang diperlukan untuk menyimpan
file basis data. Adapun langkah-langkah yang harus dilakukan dalam merancang representasi fisikal adalah: 1. Menganalisa transaksi Memahami fungsional dari transaksi yang akan berjalan di dalam basis data serta menganalisa transaksi yang penting. Harus diperhatikan: •
Menggambarkan transaction paths dari relasi
•
Menentukan informasi tentang frekuensi
•
Menganalisa penggunaan data
2. Memilih pengorganisasian file Beberapa tipe pengorganisasian file adalah: •
Heap
•
Hash
•
Indexed Sequential Access Method (ISAM)
•
B*-tree
•
Cluster
34
3. Memilih indeks Yang menjadi tujuan utama dalam langkah memilih indeks adalah menentukan apakah menggunakan indeks akan meningkatkan kemampuan dari sistem. 4. Memperkirakan kebutuhan ruang pada disk Tujuan utama dalam langkah ini adalah membuat perkiraan terhadap ruang pada disk yang akan digunakan untuk basis data. Langkah 6: Merancang user view Dalam tahapan pengumpulan dan analisis kebutuhan pada daur hidup aplikasi basis data, dapat diketahui semua user view yang dibutuhkan. Yang menjadi tujuan utama dalam langkah ini adalah merancang untuk setiap user view yang dibutuhkan. Langkah 7: Merancang ukuran keamanan Tujuan utama dalam langkah ini adalah untuk merancang ukuran keamanan terhadap basis data, yang disesuaikan untuk setiap pengguna. 2.1.8.5 Pemilihan DBMS Menurut Connolly dan Begg (2002, p284), pemilihan DBMS disesuaikan untuk mendukung aplikasi basis data. Adapun dalam pemilihan DBMS sebaiknya mencakup: •
Mendefinisikan syarat-syarat referensi studi. Menentukan sasaran, batasan, dan tugas yang harus dilakukan.
•
Mendaftar dua atau tiga jenis barang.
35
Membuat daftar barang-barang, misalnya pencatatan terhadap asal barang, harga barang, serta bagaimana mendapatkannya. •
Mengevaluasi barang. Barang-barang yang ada dalam daftar diteliti lebih lanjut untuk
mengetahui kelebihan dan kekurangan barang tersebut. •
Merekomendasikan pilihan dan membuat laporan. Merupakan
langkah
terakhir
dari
seleksi
DBMS,
yaitu
mendokumentasikan proses dan untuk menyediakan pernyataan mengenai kesimpulan dan rekomendasi terhadap salah satu produk DBMS. 2.1.8.6 Perancangan Aplikasi (Application Design) Menurut Connolly dan Begg (2002, p287), perancangan aplikasi merupakan perancangan antarmuka pemakai dan program aplikasi yang akan memproses basis data. 2.1.8.7 Prototyping Menurut Connolly dan Begg (2002, p291), prototyping adalah membuat model kerja dari aplikasi basis data, yang memperbolehkan perancang atau user untuk mengevaluasi hasil akhir sistem, baik dari segi tampilan maupun fungsi yang dimiliki sistem. Ada dua strategi prototyping yang umum digunakan sekarang ini, yaitu requirement prototyping dan evolutionary prototyping.
36
Requirement Prototyping Requirement prototyping adalah strategi yang menggunakan prototype untuk menetapkan kebutuhan dari tujuan aplikasi basis data. Ketika kebutuhan sudah terpenuhi, prototype tidak digunakan lagi atau dibuang. Evolutionary Prototyping Evolutionary prototyping adalah strategi yang menggunakan tujuan yang sama dengan requirement prototyping. Tetapi pada strategi ini, prototype tetap digunakan untuk selanjutnya dikembangkan menjadi aplikasi basis data yang bekerja. 2.1.8.8 Implementasi (Implementation) Menurut Connolly dan Begg (2002, p292), implementasi merupakan proses membuat definisi basis data secara eksternal, konseptual, dan internal dan program aplikasi. Implementasi merupakan realisasi dari basis data dan perancangan aplikasi. Implementasi basis data dicapai menggunakan Data Defininition Language (DDL) dari DBMS yang dipilih atau Graphical User Interface (GUI). DDL digunakan untuk membuat struktur basis data dan file basis data kosong. Pandangan user (user view) lainnya juga diimplementasikan dalam tahapan ini. Bagian dari aplikasi program adalah transaksi basis data yang diimplementasikan dengan Data Manipulation Language (DML) dari sasaran DBMS, kedalam host programming language seperti Visual Basic, Delphi, C, dan lain sebagainya.
37
2.1.8.9 Konversi Data dan Loading Menurut Connolly dan Begg (2002, p292), konversi data dan loading mencakup pengambilan data dari sistem yang lama untuk dipindahkan ke dalam sistem yang baru. Tahapan ini dibutuhkan ketika sistem basis data yang baru menggantikan sistem yang lama. 2.1.8.10 Testing Menurut Connolly dan Begg (2002, p293), testing merupakan proses menjalankan program aplikasi untuk menemukan kesalahan-kesalahan. Sebelum digunakan, aplikasi basis data yang baru dikembangkan harus diuji secara menyeluruh. Dalam kenyataan testing tidak pernah luput dari kesalahan. Jika testing menunjukkan keberhasilan, maka pengujian akan menemukan kesalahan pada program aplikasi dan kemungkinan struktur basis datanya. Didalam merancang basis data, pengguna dari sistem baru seharusnya terlibat dalam testing. Situasi yang ideal untuk melakukan uji terhadap sistem adalah menguji basis data pada piranti keras yang berbeda. 2.1.8.11 Pemeliharaan Operasional (Operational Maintenance) Menurut Connolly dan Begg (2002, p293), pemeliharaan operasional adalah proses memantau dan memelihara sistem setelah diinstall. Yang termasuk dalam kegiatan tahapan pemeliharaan diantaranya:
38
•
Memantau kinerja sistem. Jika kinerja menurun dibawah level yang dapat diterima, mungkin basis data perlu diatur ulang.
•
Pemeliharaan dan upgrade aplikasi basis data (jika dibutuhkan).
2.1.9 Entity – Relationship Modelling Berikut ini akan dijabarkan mengenai penjelasan Entity – Relationship Modelling. 2.1.9.1 Tipe Entitas (Entity Type) Menurut Connolly dan Begg (2002, p331), tipe entitas adalah kumpulan objek dengan sifat yang sama, yang diidentifikasi oleh perusahaan memiliki wujud yang bebas. Wujud bebas yang dimaksudkan oleh Connolly adalah objek dengan bentuk fisikal (nyata) atau konseptual (abstrak). Perlu diperhatikan pula bahwa setiap perancang hanya bisa membuat penjelasan tentang pekerjaan untuk setiap tipe entitas, dan tidak diperkenankan untuk membuat definisi yang mengikat terhadap tipe entitas. Entitas menjelaskan sekumpulan objek di dunia nyata yang bersifat sama. Setiap entitas memiliki objek secara unik dapat diidentifikasi (entity occurrence). Tata cara pembuatan tipe entitas Setiap entitas ditunjukkan kedalam kotak yang diisikan nama dari entitas, yang pada umumnya merupakan kata benda tunggal. Dalam UML, huruf pertama dalam nama entitas merupakan huruf besar.
39
Entitas
Dapur
Bahan Baku
Gambar 2.2 Contoh diagram dari entitas dapur dan bahan baku
2.1.9.2 Tipe Relasi (Relationship Type) Menurut Connolly dan Begg (2002, p334), tipe relasi adalah kumpulan relasi dari satu atau lebih tipe entitas. Pada pembuatan tipe relasi, terdapat derajat tipe relasi (degree of relation type) yang merupakan jumlah dari peserta pada tipe entitas dari sebuah relasi (Connolly dan Begg, 2002, p335). Jika jumlah peserta dari sebuah relasi sebanyak dua, maka disebut binary. Sedangkan jika terdapat tiga peserta maka akan disebut ternary. Apabila terdapat empat peserta, maka akan disebut quaternary. Recursive relationship Recursive relationship merupakan tipe relasi dimana tipe entitas yang sama ikut serta lebih dari sekali dengan peran yang berbeda (Connolly dan Begg, 2002, p337).
40
Tata cara pembuatan tipe relasi Setiap tipe relasi digambarkan sebagai sebuah garis yang menunjukkan relasi antar tipe relasi, yang diberikan nama relasi. Sebuah relasi hanya bisa mengandung satu arah. Umumnya relasi dinamakan menggunakan kata kerja atau frase yang mengandung kata kerja. Sama seperti tipe entitas, huruf pertama pada tipe relasi merupakan huruf besar. Dalam UML, untuk menjelaskan tipe relasi yang memiliki derajat diatas binary, dapat menggunakan notasi berlian.
Gambar 2.3 Diagram relasi ‘permintaan’ antara entitas dapur dan bahan baku
2.1.9.3 Atribut Menurut Connolly dan Begg (2002, p338), atribut merupakan sifat dari tipe entitas atau relasi. Contohnya, tipe entitas karyawan dapat mengandung atribut nokaryawan, namakaryawan, alamat, dan gaji. Setiap atribut memiliki relasi dengan kumpulan nilai yang disebut domain. Domain mengandung nilai-nilai yang potensial yang dapat disimpan oleh atribut.
41
Menurut Connolly dan Begg (2002, p339), atribut dapat diklasifikasi menjadi simple or composite, single valued or multi-valued, dan derived. Simple and composite attributes Menurut Connolly dan Begg (2002, p339), simple attribute merupakan atribut yang terdiri dari komponen tunggal dengan wujud yang bebas. Sedangkan composite attribute merupakan atribut yang terdiri dari banyak komponen, dimana masing-masing komponen mempunyai wujud yang bebas. Single valued and multi-valued attribute Menurut Connolly dan Begg (2002, p339), single valued attribute merupakan atribut yang menyimpan satu nilai untuk masing-masing peristiwa pada tipe entitas. Sedangkan multi valued attribute merupakan atribut yang menyimpan banyak nilai untuk setiap occurence pada tipe entitas. Derived attribute Menurut Connolly dan Begg (2002, p340), derived attribute merupakan atribut yang menjelaskan sebuah nilai yang didapatkan dari nilai pada sebuah atribut relasi atau kumpulan atribut, yang tidak harus pada tipe entitas yang sama. 2.1.9.4 Keys Keys merupakan atribut-atribut yang digunakan untuk menjelaskan sebuah entitas. Adapun tipe-tipe dari keys yaitu candidate key, primary key, composite key.
42
Candidate key Menurut Connolly dan Begg (2002, p340), candidate key merupakan kumpulan minimal dari atribut yang secara unik menjadi identifikasi untuk setiap occurrence dari tipe entitas. Primary key Menurut Connolly dan Begg (2002, p341), primary key merupakan candidate key yang terpilih untuk secara unik menjadi identifikasi untuk occurrence dari tipe entitas. Setiap tipe entitas bisa saja memiliki lebih sari satu candidate key, akan tetapi setiap tipe entitas hanya dapat memiliki satu primay key. Adapun candidate key yang tidak terpilih menjadi primary key, untuk selanjutanya disebut alternate key Composite key Menurut Connolly dan Begg (2002, p341), composite key merupakan candidate key yang memiliki dua atau lebih atribut. Dalam beberapa kasus, sebuah key untuk entitas terdiri dari beberapa atribut yang tidak dapat dipisahkan. 2.1.9.5 Tipe Entitas Kuat dan Lemah Menurut Connolly dan Begg (2002, p342), tipe entitas kuat adalah tipe entitas yang tidak tergantung keberadaannya kepada tipe entitas yang lain.
43
Menurut Connolly dan Begg (2002, p343), tipe entitas lemah adalah tipe entitas yang keberadaannya tergantung pada tipe entitas yang lain. 2.1.9.6 Batasan – Batasan Struktural (Structural Constraints) Dalam sebuah relasi, batasan-batasan dapat diberikan pada tipe entitas. Salah satu batasan utama pada relasi adalah multiplicity. Menurut Connolly dan Begg (2002, p344), multiplicity adalah jumlah (jangkauan) occurence yang mungkin dari tipe entitas yang dapat berhubungan ke satu occurence yang berhubungan dengan tipe entitas melalui relasi tertentu. Derajat relasi yang paling sering digunakan adalah binary. Umumnya, relasi binary ditunjukkan dalam bentuk satu-ke-satu (1:1), satu-ke-banyak (1:*), atau banyakke-banyak (*:*). Relasi satu-ke satu (1:1) Pada relasi ini, menunjukkan hubungan antara suatu entitas dengan entitas lainnya, dimana setiap entitas memiliki domain berjumlah maksimal satu. Relasi satu-ke-banyak (1:*) Relasi ini menunjukkan hubungan suatu entitas dengan entitas lain, dimana entitas asal hanya memiliki domain berjumlah satu, dan entitas tujuan memiliki domain berjumlah lebih dari satu. Relasi banyak-ke-banyak (*:*) Relasi ini menunjukkan hubungan antara suatu entitas dengan suatu lainnya, dimana kedua entitas memiliki domain berjumlah lebih dari satu.
44
2.1.10 Normalisasi Pada saat sebelum dilakukan normalisasi, suatu table berada pada bentuk tidak normal dimana relasi atau tabel mengandung repeating group (kelompok atribut yang berulang). Untuk itu perlu dilakukan normalisasi untuk mendapatkan bentuk table yang normal. Menurut Connolly dan Begg (2002, p376), Normalisasi merupakan teknik untuk membuat sebuah kumpulan relasi dengan sifat yang diinginkan, sesuai dengan kebutuhan data dari sebuah perusahaan. Adapun tahapan-tahapan dalam membuat normalisasi adalah : Bentuk Normal Pertama (First Normal Form atau 1NF) Sebuah table dikatakan memenuhi bentuk normal pertama (1NF) jika sebuah table memiliki domain yang sederhana dan tidak ada repeating group, maka pindahan repeating group dan table yang terpisah untuk setiap kelompok dari atribut yang terkait dan tentukan primary key dari setiap table tersebut. Bentuk Normal Kedua (Second Normal Form atau 2NF) Yang harus dilakukan pada bentuk normal kedua (2NF) adalah memindahkan kerangkapan atau redudansi data dan jika sebuah atribut tergantung atau dependence pada sebagian dari suatu composite key sebuah table, maka atribut tersebut dipindahkan ke sebuah tabel yang terpisah. Sebuah tabel dikatakan memenuhi bentuk normal kedua (2NF) jika setiap atribut dari sebuah relasi adalah full function dependency (ketergantungan
45
fungsional secara utuh) pada seluruh primary key dari relasi tersebut. Sebuah tabel dikatakan tidak memenuhi 2NF jika ketergantungannya hanya bersifat parsial (hanya tergantung pada sebagian dari primary key). Bentuk normal kedua ini dianggap belum memadai karena meninjau sifat ketergantungan atribut terhadap primary key saja. Bentuk Normal Ketiga (Third Normal Form atau 3NF) Yang dilakukan pada bentuk normal ketiga adalah memindah atribut yang tidak tergantung terhadap primary key. Jika suatu atribut tidak memberikan konstribusi terhadap penjelasan karateristik primary key, pindahkan ke sebuah tabel yang terpisah. Sebuah tabel dikatakan memenuhi bentuk normal ketiga (3NF) jika semua atribut yang non-key dari suatu relasi bersifat mutually independent. Dengan demikian tidak ada atribut non-key yang bersifat functional dependent terhadap atribut non-key yang lain. Bentuk Normal Keempat (4NF) dan Kelima (5NF) Penerapan aturan normalisasi sampai bentuk normal ketiga sudah memadai untuk menghasilkan tabel berkualitas baik. Namun demikian, terdapat pula bentuk normal keempat (4NF) dan kelima (5NF). Bentuk normal keempat berkaitan dengan sifat ketergantungan banyak nilai (multivalued dependency) pada suatu tabel yang merupakan pengembangan dari ketergantungan
46
fungsional. Sedangkan dengan bentuk normal tahap kelima merupakan nama lain dari Project Join Normal Form. 2.2 Teori Khusus Dalam teori khusus ini akan dijelaskan mengenai teori – teori pendukung yang berhubungan dengan topik yang di bahas sebagai berikut : 2.2.1 Analisis Menurut Laudon (2003, p394), analisis adalah memeriksa masalah yang ada dan akan diselesaikan oleh perusahaan dengan menggunakan sistem informasi. 2.2.2 Perancangan Menurut Laudon (2003, p394), perancangan adalah cara bagaimana sebuah sistem dapat memenuhi kebutuhan informasi yang telah ditentukan oleh analisa sistem. 2.2.3 Aplikasi Menurut Febrian (2007, p37) Pengertian aplikasi adalah program yang direka untuk melaksanakan suatu fungsi bagi pengguna atau aplikasi yang lain. Contoh – contoh aplikasi ialah : Program pemroses kata dan web browser. Aplikasi akan menggunakan sistem operasi (OS) komputer dan aplikasi yang lainnya yang mendukung.
2.2.4 Forum Menurut Collins (1999, p102), forum adalah tempat dimana masalah-masalah yang dibahas.
47
2.2.5 Mahasiswa Menurut Peraturan Menteri (2009, pasal 1), mahasiswa adalah anggota masyarakat yang berusaha mengembangkan potensi diri melalui proses pembelajaran yang tersedia pada jalur pendidikan formal, jenjang pendidikan tinggi, dan jenis pendidikan akademik, profesi, dan atau vokasi. 2.2.6 Ekspatriat Menurut Hornby (1995, p.298), pengertian ekspatriat adalah orang atau seseorang yang pergi meninggalkan negaranya ke Negara lain. 2.2.7 Tenaga Kerja Indonesia Menurut Undang Undang Republik Indonesia (2004, pasal 1), Tenaga Kerja Indonesia yang selanjutnya disebut dengan TKI adalah setiap warga negara Indonesia yang memenuhi syarat untuk bekerja di luar negeri dalam hubungan kerja untuk jangka waktu tertentu dengan menerima upah. 2.2.8 Internet Dalam sub bab ini akan dijelaskan mengenai internet lebih dalam. 2.2.8.1 Pengertian Internet Menurut Connolly dan Begg (2002, p944), internet merupakan kumpulan jaringan komputer yang terhubung secara luas. Sedangkan menurut Tanenbaum (2000, p14), internet adalah kumpulan dari jaringan yang terhubung. 2.2.8.2 Pengertian World Wide Web (WWW)
48
Menurut Chandler, Kirkner, Minatel (1995, p9) World wide Web adalah jaringan interaktif global. meskipun bagian dari internet, itu sangat berbeda karena menggunakan hypertext dan grafis bersama-sama untuk menampilkan informasi, memungkinkan pengguna untuk menyeberangi dunia dengan sekali klik dari mouse. Bekerja dengan web mencakup 2 hal penting yaitu software web browser dan software web server. Web browser yang betindak sebagai klien berfungsi untuk mengintepretasikan dan melihat informasi pada web, sedangkan web server yang bertindak sebagai server yang berfungsi untuk menerima informasi yang diminta oleh browser. Jika suatu permintaan akan suatu informasi datang, web server akan mencari file yang diminta dan kemudian mengirimkan ke browser yang diminta. 2.2.8.3 Pengertian Protokol Menurut Kristanto (2003, p25), Protokol adalah sebuah aturan yang mendefinisikan beberapa fungsi yang ada dalam sebuah jaringan komputer, misalnya mengirim pesan, data, informasi, dan fungsi lain yang harus dipenuhi oleh sisi pengirim dan sisi penerima agar komunikasi dapat berlagsung dengan benar. Selain itu protokol juga berfungsi untuk memungkinkan dua atau lebih komputer dapat berkomunikasi dengan bahasa yang sama.
Hal-hal yang harus diperhatikan dalam protokol adalah sebagai berikut. •
Syntax; merupakan format data dan cara pengkodean yang digunakan untuk mengkodekan sinyal.
49
•
Semantic; digunakan untuk mengetahui maksud dari informasi yang dikirim dan mengoreksi kesalahan yang terjadi dari informasi tadi.
•
Timing; digunakan untuk mngetahui kecepatan transmisi data.
Protokol memiliki beberapa fungsi diantaranya adalah sebagai berikut : 1. Enkapsulasi 2. Segmentasi dan Reassembling 3. Kontrol koneksi 4. Pengiriman sesuai order 5. Flow control 6. Error control 7. Pengalamatan 8. Multi Plexing 9. Servis – servis transmisi. Di dalam protokol terdapat bagian – bagian yang terdiri dari : a. HTTP Menurut Connolly dan Begg (2002, p944), HTTP adalah protokol yang digunakan untuk mentransfer halaman web melalui internet. b. TCP / IP Menurut Kristanto (2003, p32), TCP / IP bukanlah sebuah protokol tunggal tetapi suatu kesatuan protokol dan utility. Setiap protokol dalam kesatuan ini memiliki aturan yang spesifik. Protokol ini dikembangkan oleh
50
ARPA (Advanced Research Projects Agency) untuk Kementerian pertahanan Amerika Serikat pada tahun 1969. ARPA menginginkan sebuah protokol yang memilki karakter sebagai berikut : •
Mampu menghubungkan berbagai jenis sistem operasi.
•
Dapat diandalkan dan mampu mendukung komunikasi kecepatan tinggi.
•
Routable dan scalable untuk memenuhi jaringan yang kompleks dan luas.
•
Transmission Control protocol / Internet Protocol (TCP / IP) dibuat oleh Department of Defence (DoD) untuk memastikan dan menjaga integritas data (Lammle, 2004, p67).
2.2.9 Pengertian Hypertext Prepocessor (PHP) Menurut Nugroho (2008, p113-114), PHP merupakan bahasa standar yang digunakan dalam dunia website, PHP adalah bahasa program yang berbentuk script yang diletakkan dalam server web. Jika kita lihat dari sejarah mulanya PHP diciptakan dari ide Rasmus Lerdof untuk kebutuhan pribadinya, skrip tersebut sebenarnya dimaksudkan untuk digunakan sebagai keperluan membuat web site pribadi, akan tetapi kemudian dikembangkan lagi sehingga menjadi sebuah bahasa yang disebut “Personal Home Page”, inilah awal mula munculnya PHP sampai saat ini.
51
Menurut Welling dan Thomson (2001, p2), PHP adalah sebuah scripting pada lingkungan server yang dirancang khusus untuk web. Kode PHP dapat disatukan dalam halaman yang berisi tag – tag HTML dan akan diekseskusi setiap halaman tersebut dikunjungi. Kode PHP yang telah dibuat akan diinterpretasikan oleh web server kemudian akan menghasilkan tag – tag HTML atau output lainnya yang dapat dibaca pengguna. 2.2.10 Pengertian MySQL Menurut Welling dan Thomson (2000, p3), MySQL adalah cepat, kuat, dan merupakan sistem manajemen database relasional (RDBMS). Basis data memungkinkan anda secara efisien utuk menyimpan, mencari, mengurutkan, dan mengambil data. Server MySQL mengontrol akses ke data anda untuk memastikan banyak user dapat bekerja bersamaan, dapat menyediakan akses cepat, dan memastikan hanya yang berwenang yang dapat memperoleh akses. Oleh karena itu MySQL data disebut dengan multi-user dan multi-server. 2.2.11 Pengertian Web Server Hoffer (2005, p687) mengemukakan, web server disusun untuk membuat suatu informasi yang dapat diperoleh dengan mudah ke sesamanya dan untuk mengizinkan berkas – berkas untuk diakses, ditransfer, dan diunduh. 2.2.12 Data Flow Diagram (DFD) Dalam sub bab ini akan dijelaskan mengenai teori bagaimana menggambarkan sistem dengan menggunakan data flow diagram, adapun sebagai berikut :
52
2.2.12.1 Pengertian Data Flow Diagram (DFD) Menurut Whitten, Bentley, dan Dittman (2004, p326 - 327), data flow diagram adalah model proses yang digunakan untuk menggambarkan aliran data melalui sebuah sistem dan tugas atau pengolahan yang dilakukan oleh sistem. 2.2.12.2 Perancangan Data Flow Diagram (DFD) Dalam pembuatan DFD, terdapat tingkatan yang bertujuan untuk menghindari aliran data yang rumit. Tingkatan dimulai dari tingkatan tertinggi dan kemudian diuraikan ke dalam bentuk yang lebih rinci. Tingkatan tersebut terdiri dari : a. Diagram konteks (Context Data Flow Diagram) Menurut Whitten (2004, p372), context data flow diagram merupakan sebuah model proses yang digunakan untuk mendokumentasikan ruang lingkup dari sebuah sistem. b. Diagram nol (Level-0 Diagram) Menurut Hoffer (1996, p318), level-0 diagram merupakan diagram aliran data yang menggambarkan sebuah major processes, data flow, dan data stores dari sebuah sistem yang berada pada tingkatan tertinggi untuk detailnya. c. Diagram rinci Diagram ini menggambarkan rincian dari proses yang terdapat pada tingkatan sebelumnya.
53
2.2.12.3 Simbol – Simbol Data Flow Diagram (DFD) Terdapat dua simbol yang umumnya digunakan pada pembuatan DFD, akan tetapi keduanya tetap menjelaskan hal yang sama yaitu data flows, processes, data stores, dan source atau sink (entitas eksternal). Simbol-simbol tersebut adalah: De Marco dan Yourdon
Gane dan Sarson
Process
Data Store
Source/Sink
Data Flow
Tabel 2.1 Simbol-simbol pada DFD
54
Setiap simbol memiliki aturan tersendiri dalam penggunaannya, adapun aturan tersebut adalah: Process •
Tidak ada proses yang hanya memiliki output. Jika objek hanya memiliki output, maka itu adalah source.
•
Tidak ada proses yang hanya memiliki input. Jika objek hanya memliki input, maka itu adalah sink.
•
Proses dilabeli dengan sebuah frase kata kerja.
Data Store •
Data tidak dapat bergerak langsung dari satu data store menuju data store yang lain. Data harus bergerak melalui proses.
•
Data tidak dapat bergerak langsung dari source menuju data store. Data harus bergerak melalui proses dimana data diterima dari source untuk ditaruh di data store.
•
Data tidak dapat bergerak langsung menuju sink dari data store. Data harus bergerak melalui proses.
•
Data store dilabeli dengan sebuah frase kata benda.
Source atau Sink •
Data tidak dapat bergerak langsung dari source menuju sink. Data harus bergerak melalui proses, selama data tersebut berhubungan dengan sistem.
55
Jika data tidak berhubungan dengan proses, maka aliran data tidak perlu ditampilkan pada DFD. •
Source/sink dilabeli dengan sebuah frase kata benda.
Data Flow •
Data flow hanya memiliki satu arah antar simbol.
•
Sebuah cabang pada data flow berarti data yang sama dari satu lokasi menuju dua atau lebih proces, data store, source atau sink.
•
Sebuah penggabungan berarti data yang sama berasal dari dua atau lebih proces, data store, source atau sink menuju lokasi yang sama.
•
Data flow tidak dapat bergerak ke proses asalnya (rekursif). Harus ada satu proses yang menangani data flow, menghasilkan data flow, dan mengembalikan data flow ke proses asal.
•
Data flow menuju data store berarti memperbaharui (menghapus atau mengubah).
•
Data flow dari data store berarti mengambil atau menggunakan.
•
Data flow dilabeli dengan sebuah frase kata benda. Lebih dari satu frase kata benda dapat muncul pada sebuah panah data flow, selama semuanya bergerak dalam satu paket.
2.2.13 State Transition Diagram (STD) Dalam sub bab ini akan dijelaskan mengenai teori bagaimana menggambarkan sistem dengan menggunakan state transition diagram, adapun sebagai berikut :
56
2.2.13.1 Pengertian State Transition Diagram (STD) Menurut Whitten, Bentley, dan Dittman (2004, p636 - 637), state transition diagram adalah alat yang digunakan untuk menggambarkan urutan dan variasi screen yang dapat terjadi slama satu sesi pengguna. Sedangkan menurut Yourdon (1989, p263), state transition diagram merupakan suatu modeling tools yang menunjukan berbagai model tingkah laku (disebut state) sistem dan cara membuat transisi dari state ke state yang lainnya. 2.2.13.2 Perancangan State Transition Diagram (STD) State Transition diagram diartikan juga sebagai suatu modeling tools yang menggambarkan sifat ketergantungan pada waktu dari suatu sistem. State transition Diagram terdiri dari : a. State (keadaan) b. Event atau tindakan yang menyebabkan perpindahan dari satu state ke state lainnya. Ada 2 macam simbol yang menggambarkan proses dari State Transition Diagram (STD) yaitu : a. Gambar persegi panjang menunjukan state dari sistem b. Gambar panah menunjukan transisi antar state
State
Transition