BAB II TINJAUAN PUSTAKA Bab ini membahas mengenai teori dan

advertisement
5
BAB II
TINJAUAN PUSTAKA
Bab ini membahas mengenai teori dan konsep dasar penunjang topik
pembahasan, permodelan data, dan topik lainnya yang memiliki relevansi dengan
Rancang Bangun Sistem Terdistribusi Pada Apotek.
2.1
State of the art
Perancangan basis data terdistribusi untuk barang dan peralatan di Balai
Riset dan Standardisasi Indrustri Palembang dilakukan oleh Aman Eriko pada
Tahun 2013. Penelitian dilakukan oleh Aman Eriko untuk mempelajari dan
menganalisis database yang sedang berjalan dan merancang sebuah sistem
database untuk mendukung kebutuhan data dalam proses pencatatan administrasi
pada laboratorium dengan sistem database yang lebih terstruktur dan terdistribusi.
Metode penelitian yang digunakan diantaranya metode pengumpulan data dan
metode implementasi. Metode pengumpulan data meliputi studi pustaka,
wawancara dengan pihak-pihak yang terlibat pada Balai Riset dan Standardisasi
Indrustri Palembang dan observasi secara langsung proses bisnis yang terjadi dan
implemenetasi yang digunakan. Metode implementasi yang digunakan adalah
metode System Development Life Cycle atau biasa disebut Macro Life Cycle. Hasil
yang dicapai dari perancangan ini adalah menghasilkan sebuah database yang
terstruktur dan terdistribusi dengan masing-masing bagian, membantu perusahaan
untuk memperoleh informasi tentang permasalahan dan menyelesaikan masalah
yang ada dalam sistem pengolahan penjualan, persediaan, pembelian, dan
produksi.
Penelitian dan Perancangan Implementasi Fragmentasi Horizontal Sistem
Basis Data Terdistribusi pada Modul Penjualan Hasil Produksi Unit Usaha Pabrik
Gula Cinta Manis Palembang yang ditulis oleh Robiantoro pada Tahun 2013
menggunakan metode deskriptif dan pengembangan sistem dengan metode
Prototyping. Kesimpulan dari penelitian dan perancangan tersebut adalah
membuatan Sistem Informasi Modul Penjualan Hasil Produksi di Unit Usaha
5
6
Pabrik Gula Cinta Manis dengan menggunakan Fragmentasi Horisontal. Sistem
Basis Data Terdistribusi dapat meningkatkan kinerja staff penjualan untuk
melakukan pengolahan data, selain itu dapat menghemat waktu dan tenaga untuk
pengolahan data serta meminimalkan resiko kehilangan data atau informasi.
Perancangan Sistem Replikasi Basis Data Terdistribusi Data Center yang
dilakukan oleh Abdul Mubarak, Armin Lawi dan Muhhamad Niswar pada Tahun
2012. Mereka berpendapat bahwa sistem yang mereka rancang berbasis jaringan
untuk replikasi basis data masing-masing SKPD sehingga dapat membantu dan
mempermudah dalam akses data dan informasi, sistem ini mampu melakukan
replikasi basis data antara SKPD dan Data Center sehingga terjadi penyetaraan
data serta pemusatan data dalam satu server. Sistem ini memudahkan pihak
pelaksana tugas dalam SKPD dan juga pihak eksekutif dalam membuat keputusan
karena dengan satu akses dapat mencari semua data yang dibutuhkan bisa
tersedia. Diharapkan kepada pihak Pemerintah Daerah untuk menyiapkan sebuah
server yang berkapasitas besar baik dalam hal media penyimpanan maupun
processor, juga diharapkan dapat menyediakan infrastruktur dan layanan jaringan
komputer yang berkapasitas besar sehingga proses transfer data bisa lebih cepat.
Sistem ini masih memiliki kekurang dalam hal keamanan sistem jaringan, jadi
diharapkan pada peneliti selanjutnya dapat fokus pada bagaimana sistem
keamanan dari sistem tersebut, sehingga nantinya sistem ini bisa digunakan lebih
baik dan sepenuhnya mendukung e-Government di Indonesia.
Penelitian Implementasi Basis Data Terdistribusi Menggunakan MySQL
pada PT Thamrin Brothers Palembang Tahun 2012 yang ditulis oleh Efri Darwis,
S.Kom., Merry Agustina, M.M., M.Kom., dan A. Mutaqin Bakti, M.M., M.Kom.,
menggunakan metode penelitian Action Research dan Decision Maker.
Implementasi basis data terdistribusi pada penelitian ini mendistribusikan
beberapa data dari pusat ke cabang atau sebaliknya. Pendistribusian data
dilakukan guna menyamakan persepsi dan sinkronisasi data sehingga antara data
yang di pusat dan cabang akan selalu sama. Data yang didistribusikan yaitu
seluruh data yang selalu mengalami update setiap hari. Metode distribusi data
yang dilakukan dalam penelitian ini yaitu dengan replikasi. Replikasi dilakukan
7
untuk menyamakan struktur data komputer pusat dengan data komputer cabang
sehingga antara pusat dan cabang memiliki persepsi data yang sama. Output dari
penelitian adalah basis data terdistribusi yang digunakan PT Thamrin Brothers
Palembang yang saling terintegrasi secara terdistribusi antara cabang-cabang di
seluruh wilayah Sumatera Selatan dan dapat dikembangkan untuk kepentingan
operasional perusahaan.
Penelitian Sistem Basis Data Terdistribusi juga dilakukan oleh Felix
Andreas Sutanto dan Jeffry Alfa Razak pada Tahun 2010 dalam jurnalnya yang
berjudul Model Fragmentasi Sistem Basis Data Terdistribusi Studi Kasus Sistem
Member
Warnet.
Penelitiannya
membahas
mengenai
penerapan
sistem
terdistribusi pada sistem member warnet, sehingga member warnet dapat
menggunakan keanggotaannya untuk mendapatkan potongan harga pada semua
warnet cabang yang dimiliki oleh pengusaha warnet tersebut. Penerapan sistem
basis data terdistribusi didasarkan atas pemikiran skalabilitas dan perkembangan
dimasa yang akan datang, baik perkembangan jumlah member maupun
perkembangan jumlah cabang pada bisnis warnet tersebut. Sistem terdistribusi
merupakan suatu bentuk arsitektur dimana komputer-komputer yang berdiri
secara otonom dapat saling berkomunikasi dan berbagi resource tanpa
memperdulikan di mana komputer itu berada dan platform yang digunakan.
Penelitian ini menerapkan metode fragmentasi horizontal dengan basis data
homogen yang untuk selanjutnya akan dikembangkan kembali dengan
fragmentasi vertikal atau replikasi dengan menggunakan basis data yang
heterogen.
Perancangan Sistem Informasi Managemen Apotek yang ditulis oleh
Ngurah Budiartha pada Tahun 2007. Perancangan Sistem Informasi Managemen
Apotek dibuat menggunakan bahasa pemrograman PHP dan basis data MySQL.
Rancangan sistem yang dirancang digunakan untuk internal perusahaan. Sistem
membahas mengenai pengolahan data master obat, data transaksi penjualan,
transaksi pembelian, transaksi pemesanan, transaksi peracikan obat, transaksi
pembuatan resep, dan transaksi retur. Keuntungan diterapkannya Sistem Informasi
Manajemen Apotek adalah didapatkannya keuntungan dalam proses pelaporan
8
dan pencarian informasi stok yang lebih cepat dan akurat. Pelaporan dan
pencarian yang lebih cepat dapat meningkatkan mutu pelayanan kepada
konsumen. Peningkatan mutu pelayanan tersebut membuktikan pentingnya sistem
informasi manajemen apotek di dalam megelola sebuah apotek.
2.2
Pengertian Apotik
Apotek adalah tempat menjual dan membuat atau meramu obat. Apotek
merupakan tempat apoteker melakukan praktik profesi farmasi sekaligus menjadi
peritel. Apotek berasal dari kata bahasa Yunani apotheca yang secara harfiah
berarti penyimpanan. Tugas dan fungsi utama dari apotek adalah.
1.
Tempat pengabdian profesi apoteker yang telah mengucapkan sumpah
jabatan.
2.
Sarana farmasi yang telah melakukan peracikan, pengubahan bentuk,
pencampuran dan penyerahan obat atau bahan obat.
3.
Sarana penyalur kebutuhan farmasi yang menyebarkan obat yang
diperlukan masyarakat secara meluas dan merata.
Pengelolaan apotek dapat beroprasi setelah mendapat ijin Kemenkes. Pengelolaan
dan perizinan apotek diatur oleh Permenkes No.26/Menkes/Per/11/1981. Terdapat
kegiatan rutin yang berlangsung secara terus menerus dalam pengolahan data
obat pada apotek. Kegiatan tersebut adalah pembelian, penjualan, retur beli dan
retur jual serta pelaporan. Apotek berkewajiban menyediakan, menyimpan dan
menyalurkan hasil farmasi yang bermutu baik dan terjamin mutu kualitasnya.
Hasil farmasi yang disalurkan oleh apotek meliputi obat, bahan obat, obat asli
Indonesia atau impor.
2.2.1
Penyimpanan Obat Pada Apotek
Kegiatan penyimpanan difokuskan pada tujuan agar tetap terjaminnya
kualitas obat sekaligus mendukung jalannya proses pelayanan sesuai dengan yang
ditetapkan. Kegiatan penyimpanan barang ditetapkan menjadi dua sistem, yaitu:
1.
First In First Out (FIFO) dimana barang yang baru diterima disimpan
dibagian belakang dari barang yang diterima sebelumnya.
9
2.
First Expired First Out (FEFO) barang ditempatkan dan dikelompokkan
berdasarkan tanggal kadaluarsa barang.
Barang disimpan pada tempat yang bersih, tidak lembab, tidak terkena
matahari langsung, dan disusun sistematis (cair atau padat, sesuai alphabet).
2.3
Pengertian Sistem
Sistem berasal dari bahasa Yunani (sustema) yang memiliki arti
bermacam-macam hal menjadi suatu keseluruhan dengan bagian-bagian yang
tersusun. Sistem yaitu masing-masing unit dan keseluruhannya yang merupakan
kesatuan yang saling bergantung, saling menentukan, dan membutuhkan. Menurut
Jogiyanto H.M (2006) Sistem adalah suatu jaringan kerja dari prosedur-prosedur
yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu
kegiatan atau untuk menyelesaikan suatu sasaran tertentu. Menurut Djekky Djoht
(2000) Sistem adalah agregasi atau pengelompokan beberapa objek-objek yang
dipersatukan oleh beberapa bentuk interaksi yang tetap atau saling tergantung,
sekelompok unit yang berbeda yang dikombinasikan sedemikian rupa oleh alamat
atau oleh seni sehingga membentuk suatu keseluruhan yang integral dan
berfungsi, beroperasi, atau bergerak dalam satu kesatuan. Sedangkan menurut
Umar Fahmi Achmadi (2008) sistem adalah tatanan yang menggambarkan adanya
rangkaian berbagai komponen yang memiliki hubungan serta tujuan bersama
secara serasi yang bekerja atau berjalan dalam jangka waktu tertentu dan
terencana.
2.4
Blok Elemen Sistem
Sistem terdiri dari kompenen-komponen yang disebut dengan istilah Blok
Bangunan (Building Block), Blok Masukan (Input Blok), Block Model (Model
Block), Block Keluaran (Output Block), Blok Teknologi, (Tecnology Block), Blok
Basisdata (Database Block), dan Blok Kendali (Controls Block).
10
1.
Blok Masukan (Input Block)
Masukan (input) mewakili data yang masuk ke dalam sistem informasi,
input merupakan metode-metode dan media untuk menangkap data yang
akan dimasukkan yang berupa dokumen-dokumen dasar.
2.
Blok Model (Model Block)
Terdiri dari kombinasi prosedur, logika model matematika yang akan
memanipulasi data input dan data yang tersimpan di basis data dengan cara
yang sudah tertentu untuk menghasilkan keluaran yang diinginkan.
3.
Blok Keluaran (Output Block)
Produk dari sistem informasi adalah keluaran yang merupakan informasi
yang berkualitas dan dokumentasi yang berguna untuk semua tingkatan
manajemen serta semua pemakai sistem.
4.
Blok Teknologi (Technology Block)
Teknologi merupakan kotak alat (tool box) dalam sistem informasi,
Teknologi digunakan untuk menerima input, menjalankan model,
menyimpan, dan mengakses data, menghasilkan dan mengirimkan
keluaran dan membantu pengendalian dari sistem secara keseluruhan.
Teknologi terdiri dari tiga bagian utama, yaitu teknisi (humanware atau
brainware), perangkat lunak (software) dan perangkat keras (hardware).
5.
Blok Basis Data (Database block)
Merupakan kumpulan dari data yang saling berhubungan satu dengan yang
lainnya, tersimpan dalam perangkat keras komputer dan digunakan
perangkat lunak untuk memanipulasinya dengan menggunakan perangkat
lunak paket yang disebut dengan DBMS (Database Management Sistem).
6.
Blok Kendali (Controls Block)
Mengendalikan sistem agar terhindar dari hal-hal yang tidak diinginkan
(kesalahan-kesalahan, tidak efisien, dan lain sebagainya) dengan
merancang pengendalian untuk meyakinkan bahwa hal-hal yang dapat
merusak sistem dapat dicegah dan diatasi.
11
Gambar 2.1 Blok Sistem Informasi
2.5
Klasifikasi Sistem
Sistem dapat diklasifikasikan dari beberapa sudut pandang diantaranya
adalah.
1.
Sistem Abstrak dan Sistem Fisik
Sistem Abstrak adalah sistem yang berupa pemikiran atau ide-ide yang
tidak tampak secara fisik. Sistem Fisik adalah sistem yang ada secara
fisik.
2.
Sistem Alamiah dan Sistem Buatan Manusia
Sistem Alamiah adalah sitem yang terjadi melalui proses alam. Sistem
Buatan Manusia adalah sistem yang dirancang oleh manusia. Sistem
buatan manusia yang melibatkan interaksi antara manusia dengan mesin
disebut dengan human machine system atau ada yang menyebut dengan
machine system.
3.
Sistem Tertentu dan Sistem Tak Tentu
Sistem Tertentu beroperasi dengan tingkah laku dengan tingkah laku yang
sudah banyak diprediksi. Sistem Tak Tentu adalah sistem yang kondisi
masa depannya tidak dapat diprediksi karena mengandung unsur
probabilitas.
4.
Sistem Terbuka dan Sistem Tertutup
Sistem Tertutup adalah sistem yang tidak berhubungan dan tidak
terperngaruh dengan lingkungan luar. Sistem Terbuka adalah sistem yang
berhubungan dan terpengaruh oleh lingkungan luar.
12
2.6
Sistem Terdistribusi
Informasi dalam sebuah perusahaan atau instansi merupakan sesuatu yang
sangat penting guna mendukung perkembangan perusahaan. Kurangnya
mendapatkan informasi dalam waktu tertentu mengakibatkan perusahaan atau
instansi akan mengalami ketidakmampuan mengontrol sumber daya yang pada
akhirnya akan mengalami kekalahan dalam persaingan dengan lingkungan
persaingannya. Hampir semua sistem berbasis komputer yang besar saat ini
menggunakan sistem terdistribusi (sistem tersebar). Sistem terdistribusi adalah
sistem dimana pemrosesan informasi didistribusiikan pada beberapa komputer dan
tidak terbatas hanya pada satu mesin saja. Sistem terdistribusi memiliki banyak
kesamaan dengan rekayasa perangkat lunak lainnya tetapi ada isu-isu khusus yang
harus diperhitungkan ketika merancang tipe sistem terdistribusi. Dewasa ini,
masih banyak sistem besar yang masih menggunakan sistem tersentral yang
berjalan pada satu mainframe dengan terminal-terminal yang terhubung
kepadanya. Sistem tersebut banyak memiliki kelemahan karena terminal-terminal
hanya sedikit memiliki kemampuan pemrosesan data dan semua tergantung pada
komputer di sentral.
Menurut Harsiti (2009), ciri-ciri basis data terdistribusi yaitu:
1.
Data disimpan di sejumlah tempat.
2.
Prosessor pada tempat yang berbeda tersebut dihubungan dengan jaringan
komputer.
3.
Sistem basis data terdistribusi bukan terdiri dari sekumpulan file yang
berada pada berbagai tempat tetapi pada sebuah basis data di berbagai
tempat.
4.
Setiap tempat secara mandiri memproses permintaan user yang
membutuhkan akses ke data di tempat tersebut dan juga mampu untuk
memproses data yang tersimpan di tempat lain.
Hingga saat ini terdapat 3 tipe sistem utama dalam basis data terdistribusi, yaitu:
1.
Sistem personal yang tidak terdistribusi dan dirancang untuk satu
workstation saja.
13
2.
Sistem Embedded yang berjalan pada satu prosessor atau pada kelompok
prosessor yang terintegrasi.
3.
Sistem Terdistribusi di mana perangkat lunak sistem berjalan pada
kelompok prosessor yang bekerja sama dan terintegrasi secara fleksibel,
dengan dihubungkan oleh jaringan. Contohnya sistem ATM Bank atau
Sistem penjualan tiket.
Menurut Coulouris et.al (1994), enam karakteristik yang penting untuk sistem
terdistribusi yaitu:
1.
Resource Access and Sharing
Kemampuan menggunakan hardware, software atau data di mana dan
kapanpun. Karakteristik ini juga yang menentukan siapa saja yang dapat
mengakses sebuah resource dalam sebuah sistem terdistribusi. Salah satu
contohnya dalam sebuah web, terdapat htaccess yang hanya dapat diakses
oleh user yang telah memiliki grant access terhadap file tersebut.
2.
Openness (Keterbukaan)
Sebuah keterbukaan dalam sistem terdistribusi memiliki pengertian
kemampuan sebuah sistem dalam mengembangkan fleksibilitas terhadap
peningkatan kinerja sebuah sistem. Seperti penambahan module baru dan
ketersediaan extension/plugin yang dapat terkoneksi dengan sistem lain.
Contoh karakteristik ini misalkan sebuah aplikasi web banking yang dapat
terhubung dengan sistem web milik perusahaan finance.
3.
Concurrency
Semua proses dalam sistem terdistribusi dilakukan secara concurrency
(secara bersama). Concurrency yang dimaksud dalam hal ini dilakukan
untuk mencegah inkonsistensi dan ketidakpastian sebuah data dan proses.
Sebagai contoh dalam sebuah aplikasi web yang diakses oleh banyak user.
Ketika server melakukan sebuah update. Maka semua user yang
mengakses halaman web tersebut akan langsung mendapatkan update
terbaru tersebut.
14
4.
Scalability
Scalabilitas memiliki pengertian bahwa sebuah sistem terdistribusi harus
dapat ditingkatkan kinerjanya tanpa mengubah komponen-komponen di
dalamnya. Sebagai contoh sebuah aplikasi web yang digunakan oleh user
yang terlalu banyak, maka untuk meningkatkan kinerja dari web tersebut
agar tidak terjadi overload atau down system maka perlu dilakukan
upgrade processor dan RAM. Ketika proses upgrade tersebut, komponen
dalam web tidak perlu diubah.
5.
Fault Tolerance (Toleransi Kesalahan)
Kesalahan pasti terjadi dalam sebuah sistem. Kesalahan disebabkan karena
masalah jaringan, power supply, bencana alam atau human error. Sebuah
sistem terdistribusi dirancang memliki kemampuan untuk menangani halhal tersebut. Contoh dalam hal ini adalah dibangunnya sebuah clustering
server. Ketika server utama mengalami down karena beberapa penyebab
kesalahan, maka extended server langsung membackup sistem utama dan
menggantikannya.
6.
Transparency
Transparansi secara umum tidak berlaku untuk user biasa yang
mengutamakan fungsionalitas, apakah ia sedang menggunakan sistem
yang terdistribusi atau tidak, namun secara khusus bagi seorang pengelola
baik itu developer atau administrator sistem sangat perlu untuk
mengetahui arsitektur dari sistem yang sedang digunakan karena untuk
mempermudah bagi mereka dalam mengembangkan dan memelihara
sistem tersebut.
2.7
Arsitektur Sistem Terdistribusi
Terdapat dua pendekatan alternatif untuk membagi fungsi pada proses
DBMS yang berbeda. Dua arsitektur alternatif DBMS terdistribusi adalah ClientServer dan Collaboration Server.
15
2.7.1
Client Server
Sistem client server mempunyai satu atau lebih proses client dan satu atau
lebih proses server, sebuah proses client dapat mengirim query ke sebuah proses
server seperti pada Gambar 2.2. Client bertanggung jawab pada antar muka untuk
user, sedangkan server mengatur data dan mengeksekusi transaksi sehingga
proses client berjalan pada sebuah personal komputer dan mengirim query ke
sebuah server yang berjalan pada mainframe.
Gambar 2.2 Arsitektur Client Server
Arsitektur ini relatif sederhana untuk diiplemetasikan karena adanya pemisahan
fungsi yang jelas dan server yang tersentralisasi, sehingga pengguna akan lebih
nyaman menggunakan antarmuka grafis pada client. Caching pada server
diperlukan untuk memperlancar layanan server dan mengurangi overhead
komunikasi.
2.7.2
Collaboration Server
Arsitektur client-server tidak mengijinkan satu query mengakses banyak
server karena proses client harus dapat membagi sebuah query ke dalam beberapa
subquery untuk dieksekusi pada tempat yang berbeda dan kemudian membagi
jawaban ke subquery. Proses client cukup komplek dan terjadi overlap dengan
server, sehingga perbedaan antara client dan server menjadi jelas. Alternatif yang
digunakan
untuk
mengurangi
perbedaan
tersebut
yaitu
dengan
sistem
Collaboration Server. Arsitektur sistem ini terdapat sekumpulan server basis data
16
yang menjalankan transaksi data lokal yang bekerjasama mengeksekusi transaksi
pada beberapa server seperti pada Gambar 2.3. Server menerima query yang
membutuhkan akses ke data pada server lain, sistem membangkitkan subquery
yang dieksekusi server lain dan mengambil hasilnya bersama-sama untuk
menggabungkan jawaban menjadi query asal.
Gambar 2.3 Arsitektur Collaboration Server
2.8
Tipe Basis Data Terdistribusi
Terdapat dua tipe dalam basis data terdistribusi. Tipe basis data
terdistribusi yaitu:
1.
Homogen yaitu sistem dimana setiap tempat menjalankan tipe DBMS
yang sama.
2.
Heterogen yaitu sistem dimana setiap tempat yang berbeda menjalankan
DBMS yang berbeda, baik Relational DBMS (RDBMS) atau non
relational DBMS. Gambaran basis data terdistribusi yang heterogen dapat
dilihat pada Gambar 2.4.
17
Gambar 2.4 Database Terdistribusi Heterogen
2.9
Penyimpanan Data Sistem Terdistribusi
Penyimpanan data pada DBMS terdistribusi, relasi disimpan pada
beberapa tempat. Pengaksesan relasi yang disimpan pada remote side
mengakibatkan mahalnya biaya untuk melewatkan pesan tersebut dan untuk
menguranginya maka sebuah relasi dipartisi atau difragmentasi ke beberapa
tempat dengan fragmen dikirim ke tempat di mana fragmen tersebut sering
diakses atau replika pada setiap tempat di mana relasi tersebut menjadi kebutuhan
yang utama.
2.9.1
Fragmentasi
Fragmentasi terdiri dari relasi yang dibagi ke relasi atau fragmen yang
lebih kecil dan mengirim fragmen ke beberapa tempat. Terdapat dua macam
fragmentasi, fragmentasi horizontal dan fragmentasi vertikal. Fragmentasi
horisontal, setiap fragmen terdiri dari sebuah subset baris dari relasi asal.
Fragmentasi vertikal, setiap fragment terdiri dari sebuah subset kolom dari relasi
asal. Fragmentasi horisontal dan vertikal diilustrasikan pada Gambar 2.5.
Gambar 2.5 Ilustrasi Fragmentasi Vertikal dan Horizontal
Sebuah relasi bila difragmentasi, harus meliputi relasi asal dari fragmen, yaitu:
18
1.
Fragmentasi Horisontal yaitu union dari fragmen horisontal harus sama
dengan relasi asal. Fragmen biasanya dibutuhkan disjoint.
2.
Fragmentasi Vertikal yaitu koleksi fragmen vertikal dekomposisi losslessjoin. Sistem harus menyediakan id_tupel yang unik untuk setiap tupel
dalam relasi asli untuk menjamin fragmentasi vertikal lossless-join. Field
ini ditambahkan ke setiap fragmen vertikal jika relasi asal tambahan idtupel sebagai kunci, sehingga dekomposisinya lossless-join.
2.9.2
Replikasi
Replikasi berarti menyimpan beberapa copy sebuah relasi atau fragmen
relasi. Keseluruan relasi dapat direplikasi pada satu atau lebih tempat. Sebagai
contoh, jika relasi R difragmentasi ke R1, R2 dan R3, kemungkinan terdapat
hanya satu copy R1, di mana R2 adalah replikasi pada dua tempat lainnya dan R3
replikasi pada semua tempat. Replikasi dapat diilustrasikan pada Gambar 2.6 di
bawah ini.
Gambar 2.6 Ilustrasi Replikasi
Kegunaan replikasi antara lain adalah:
1.
Meningkatkan ketersediaan data, jika sebuah tempat yang berisi replika
melambat, maka dapat menemukan data yang sama pada tempat lain.
Demikian juga jika copy lokal dari relasi yang di remote tersedia, maka
tidak terpengaruh saluran komunikasi yang gagal.
2.
Evaluasi query yang lebih cepat, query dapat mengeksekusi lebih cepat
menggunakan copy local dari relasi termasuk ke remote site.
19
2.10
Replikasi Data
Raplikasi Data dapat dicontohkan jika Table A direplikasi dan salinan dari
table tersebut tersimpan dalam dua atau lebih server. User dapat memiliki
replikasi penuh (full replication), jika salinan dari table A tersebut disimpan
pada semua server yang ada di dalam sistem. Keuntungan dan kerugian metode
replikasi antara lain:
1.
Ketersediaan yang tinggi (Availability)
Ketersediaan yang tinggi jika sebuah server yang berisi tabel A mengalami
kerusakan, maka table yang sama masih dapat kita peroleh dari server
yang lain.
2.
Peningkatan proses paralel (Increased Parallelism)
Peningkatan proses paralel pada kasus di mana pengaksesan ke table A
pada umumnya hanya berupa proses pembacaan data, maka pemrosesan
query pada server-server yang melibatkan tabel A tersebut dapat di
eksekusi secara paralel (bersamaan).
3.
Peningkatan beban pengubahan data (Increased Overhead On Update)
Sistem harus dapat menjaga konsistensi semua salinan dari tabel A
tersebut. Artinya jika table A diubah, maka perubahan tersebut harus di
jalankan ke semua lokasi yang memiliki salinan tabel A.
Replikasi akan memperbaiki performansi dari operasi query (pembacaan data) dan
meningkatkan ketersediaan data khususnya untuk transaksi-transaksi pembacaan
(read-only).
2.11
MYSQL
MySQL adalah aplikasi open source multi threaded sistem manajemen
basis data relasional yang dibuat oleh Michael Monty Widenius pada Tahun 1995.
Tahun 2000 MySQL dirilis di bawah model dual lisensi yang mengijinkan
masyarakat untuk menggunakan secara gratis di bawah GNU General Public
Lisensi (GPL). Fitur yang menonjol adalah kecepatan. Perbandingan dari beberapa
basis data termasuk MySQL, Oracle, MsSQl, IBM DB2, dan Sybase ASEMySQL seluruhnya terkait kerja untuk skalabilitas terbesar. SQL atau Structur
20
Query Language merupakan bahasa query standar yang digunakan untuk
mengakses basis data relasional (Kadir,2003:101), sedangkan MySQL adalah
sebuah sistem database.
Kelebihan dari MySQL adalah dapat berjalan di berbagai sistem operasi,
dapat digunakan secara gratis, bersifat multi-user, memiliki kecepatan dalam
menangani query sederhana, memiliki tipe data yang banyak, keamanan data,
dapat menangani basis data dalam skala besar, dapat melakukan koneksi dengan
client menggunakan protokol TCP/IP, UNIX, dan NT, serta memiliki struktur
tabel yang fleksibel.
2.12
Data Flow Diagram (DFD)
Data Flow Diagram atau diagram alir data (DFD/DAD) adalah sebuah
teknis grafis yang mengambarkan aliran informasi dan transformasi yang di
aplikasikan pada saat bergerak dari input menjadi output. DFD dikenal sebagai
grafik aliran data atau bubble chart (Pressman, 2002 : 364). Tujuan perancangan
Data Flow Diagram (DFD) yaitu:
a.
Untuk memberikan indikasi mengenai bagaimana data ditransformasikan
pada saat data bergerak melalui sistem.
b.
Untuk mengambarkan fungsi-fungsi (subsistem) yang mentransformasikan
aliran data.
21
Gambar 2.7 Simbol DFD atau DAD
1.13
Standard Operational Procedure (SOP)
Standard Operating Procedure (SOP) adalah dokumen tertulis yang
memuat prosedur kerja secara rinci, tahap demi tahap, dan sistematis. SOP
memuat serangkaian instruksi secara tertulis tentang kegiatan rutin atau berulangulang yang dilakukan oleh sebuah organisasi. SOP juga dilengkapi dengan
referensi, lampiran, formulir, diagram dan alur kerja. SOP sering juga disebut
sebagai manual SOP yang digunakan sebagai pedoman untuk mengarahkan dan
mengevaluasi suatu pekerjaan.
Fungsi dari SOP adalah untuk menjelaskan secara detail mengenai proses
kerja yang berlangsung secara rutin yang harus diikuti dalam suatu perusahaan
atau organisasi. Tujuan dari SOP adalah sebagai berikut:
22
1.
Menjaga konsistensi dan tingkat kinerja petugas atau tim dalam organisasi
atau unit.
2.
Mengetahui dengan jelas peran dan fungsi setiap posisi dalam organisasi.
3.
Memperjelas alur tugas, wewenang dan tanggung jawab dari petugas
terkait.
4.
Melindungi organisasi dan staf dari malpraktek atau kesalahan
administrasi lainnya.
5.
Menghindari kegagalan
atau
kesalahan, keraguan, duplikasi
dan
inefisiensi.
Bentuk simbol flowchart yang digunakan dalam pembuatan SOP dapat
dilihat pada Tabel 2.1.
Tabel 2.1 Simbol Flowchart
No
Lambang
Nama
Keterangan
1.
Terminal
Menunjukkkan awal atau
akhir suatu proses
2.
Manual Operation
Melakukan proses secara
manual
3.
Manual Input
Menunjukan proses
masukan data manual
4.
Display
Menampilkan data
Process
Menunjukkan proses
pelaksanaan instruksi
6.
Decision
Menunjukkkan proses
pemilihan alternatif atau
pengecekan kondisi
7.
Predefined Process
Menunjukkan proses
yang telah didefinisikan
5.
23
8.
On-page Connector
Merupakan penghubung
pada satu halaman
9.
Off-page Connector
Merupakan penghubung
pada halaman lain
10.
Document
Merupakan dokumen
(arsip) dari hasil proses
11.
Arrow
Merupakan arah aliran
proses
Flowchart
merupakan
gambaran
dengan
menggunakan
simbol.
Berdasarkan Tabel 2.1 setiap simbol menggambarkan proses tertentu. Flowchart
dapat memperjelas urutan poses suatu kegiatan, sehingga ketika ada penambahan
proses maka dapat dilakukan dengan lebih mudah.
2.14
Perancangan Basis Data
Perancangan basis data merupakan proses menciptakan perancangan untuk
basis data yang akan mendukung operasi dan tujuan perusahaan. Perancangan
suatu basis data menggunakan metodologi-metodologi yang membantu dalam
tahap perancangan basis data. Metodologi perancangan adalah pendekatan
struktur dengan menggunakan prosedur, teknik, alat, serta bantuan dokumen
untuk membantu dan memudahkan dalam proses perancangan. Penggunaan teknik
metode disain ini dapat membantu dalam merencanakan, mengatur, mengontrol,
dan mengevaluasi database development project. Perancangan basis data
dilakukan melalui 3 tahap, yaitu konseptual, logikal dan fisikal.
2.14.1 Perancangan Basis Data Konseptual
Perancangan basis data konseptual adalah proses membangun model
informasi yang digunakan di dalam perpustakaan, bebas dari semua pertimbangan
24
fisikal. Menurut Connolly dan Begg (1998), perancangan konseptual basis data
adalah proses membangun sebuah model dari informasi yang digunakan oleh
perusahaan. Langkah-langkah perancangan basis data konseptual yaitu:
1.
Identifikasi tipe entity
Tipe entity adalah sekumpulan objek yang diindentifikasi oleh sebuah
perusahaan atau perorangan yang mempunyai sifat-sifat yang sama dan
mempunyai keberadaan yang independent, entitas tersebut bisa berupa
entitas strong dan weak.
2.
Identifikasi tipe relationship.
3.
Identifikasi dan hubungan atribut dengan tipe Entity atau Relationship.
4.
Menentukan atribut domain.
5.
Menentukan kandidat dan atribut primary key.
6.
Mempertimbangkan
kegunaan
dari
konsep
Enhanced
Modeling.
Penggunaan konsep Enchaned Modeling seperti spesialisasi, generalisasi,
agregasi, dan komposisi.
7.
Periksa model untuk redundancy.
8.
Validasikan model konseptual lokal yang bertentangan dengan transaksi
pengguna.
9.
Mengulang model data konseptual lokal dengan pengguna.
2.14.2 Perancangan Basis Data Logikal
Perancanan basis data logikal adalah proses membangun model informasi
yang dibangun perusahaan berdasarkan dari beberapa model data yang spesifik,
tetapi bebas dari fakta DBMS dan pertimbangan fisikal lainnya. Menurut
Connolly dan Begg (1998), perancangan logikal basis data merupakan proses
membangun sebuah model informasi yang digunakan dalam sebuah perusahaan
berdasarkan pada sebuah model data yang spesifik, tetapi tidak bergantung pada
sebuah DBMS tertentu dan pertimbangan-pertimbangan fisik lainnya. Langkah
pokok dari perancangan basis data logikal untuk relational model mencakup:
1.
Membuat dan memvalidasi model data logikal lokal untuk setiap bagian,
membuat dan memvalidasi model data logikal global. Sebuah model data
25
logikal termasuk Entity Relationship Diagram (ERD), skema relational,
dan dokumen pendukung, seperti kamus data yang terbentuk dalam
pengembangan model.
2.
Membangun dan memvalidasi model data logikal global. Menggabungkan
tiap model data logikal lokal ke dalam satu model data logikal global yang
menggambarkan keseluruhan perusahaan.
2.14.3 Perancangan Basis Data Fisikal
Perancangan basis data fisikal adalah proses memproduksi sebuah
deskripsi mengenasi implementasi dari basis data yang berada di secondary
storage, mendeskripsikan relasi dasar, organisasi file, dan indeks yang digunakan
untuk pengaksesan data yang efisien dan penggabungan beberapa batasan dan
sistem keamanan. Perancangan fisik basis data merupakan proses yang
menghasilkan sebuah deskripsi implementasi dari basis data pada secondary
storage yang menggambarkan relasi dasar, organisasi file, dan indeks yang
digunakan untuk mencapai akses yang efisien ke data, dan penggabungan batasan
integritas dan ukuran keamanan. 6 tahap secara gasir besar dalam membangun
desain fisik basis data yaitu:
26
1.
Mengubah model data logikal global untuk target DBMS
Bertujuan menghasilkan sebuah sistem basis data relational dari model
data logikal global yang dapat diimplementasikan dalam target DBMS.
2.
Merancang representasi fisik
Bertujuan menentukan organisasi file yang optimal untuk menyimpan
relasi dasar dan indeks yang diperlukan untuk mencapai performance yang
diinginkan, untuk itu akan ditentukan relasi dan tuple mana yang ada pada
secondary storage
3.
Perancangan user view
Bertujuan
merancang
user
view
yang
diidentifikasikan
selama
pengumpulan kebutuhan-kebutuhan dan tahap analisis dari siklus aplikasi
basis data relational.
4.
Perancangan mekanisme keamanan
Bertujuan merancang mekanisme keamanan untuk basis data seperti yang
ditentukan oleh user. Relational DBMS secara umum menyediakan dua
tipe keamanan basis data yaitu:
a. Keamanan sistem yang mencakup akses dan penggunaan basis data
pada level sistem, seperti username dan password.
b. Keamanan data yang mencakup akses dan penggunaan objek basis data
(seperti relasi dan view) dan aksi yang dapat dilakukan user terhadap
objek.
5.
Mempertimbangkan adanya pengontrolan redundancy
Bertujuan untuk menentukan apakah redundancy dalam batasan yang
terkendali dengan menggunakan teknik normalisasi akan meningkatkan
performance dari sistem.
6.
Memonitor dan menyesuaikan sistem operasi
Bertujuan untuk mengawasi sistem operasional dan meningkatkan kinerja
dari sistem untuk memperbaiki kebutuhan perancangan yang tidak sesuai
atau merefleksikan perubahan.
27
2.15
Derajat Relasi
Perancangan basis data mengenal istilah ratio cardinalitas yang mengatur
tentang hubungan atau relasi antar entitas. Hubungan antar entitas tersebut terdiri
dari tiga buah relasi, yaitu sebagai berikut:
1.
Relasi Satu Ke Satu (one to one)
Relasi satu ke satu yaitu hubungan satu entitas A dihubungkan dengan
maksimum satu entitas B saja, peleburan ini didasarkan pada penyertaan
atribut ke salah satu tabel yang entitasnya memiliki derajat minimum
paling besar. Relasi satu ke satu ditunjukan pada Gambar 2.8.
Gambar 2.8 Relasi One to One
2.
Relasi Satu ke banyak (one to many)
Relasi dikatakan one-to-many bila setiap entitas pada himpunan entitas A1
dapat berhubungan dengan banyak entitas pada himpunan entitas B1 dan
B2, tetapi tidak sebaliknya, di mana setiap entitas pada himpunan entitas B
berhubungan dengan paling banyak dengan satu entitas pada himpunan
entitas A. Relasi ini merupakan relasi yang paling umum terjadi dalam
database. Relasi one-to-many ini boleh membentuk tabel baru dan boleh
juga tidak. Relasi one to many dapat digambarkan pada Gambar 2.9.
28
Gambar 2.9 Relasi One to Many
3.
Relasi Banyak ke Banyak (many to many)
Merupakan hubungan saling memiliki lebih dari satu dari setiap instansi
entitas terhadap instansi entitas lainnya. Selain relasi antara dua entitas,
terdapat juga hubungan terhadap entitasnya sendiri yang disebut dengan
recursive relationship (self-relation). Hubungan ini dapat mempunyai tipe
biner. Relasi dikatakan many-to-many bila sebuah record pada tabel A
berhubungan dengan lebih dari satu record di tabel B dan record di tabel
B berhubungan dengan lebih dari satu record di tabel A seperti yang
ditunukan oleh Gambar 2.10.
Gambar 2.10 Relasi many to many
29
2.16
Key
Key adalah sebuah atau gabungan dari beberapa atribut atau field yang
dapat membedakan semua record dalam table secara unik. Key artinya apabila
suatu atribut dijadikan sebagai key maka tidak boleh ada dua atau lebih baris data
dengan nilai yang sama untuk atribut tersebut.
Pembuatan program basis data harus disertai dengan penentuan kunci di
mana kunci tersebut sangat berperan penting dalam menentukan keunikan dari
suatu atribut dalam tabel atau entitas yang berelasi. Beberapa jenis kunci dalam
basis data adalah sebagai berikut:
1.
Super Key
Super Key merupakan satu atau lebih atribut yang dapat membedakan
setiap baris data dalam sebuah tabel secara unik.
2.
Candidate Key
Candidate Key merupakan kumpulan atribut minimal yang dapat
membedakan setiap baris data dalam sebuah tabel secara unik. Sebuah
Cadidate Key tidak boleh berisi atribut atau kumpulan atribut yang telah
menjadi super key yang lain. Candidate Key pastilah Super Key, tetapi
belum tentu sebaliknya.
3.
Primary Key
Primary Key adalah satu atribut atau satu set minimal atribut yang tidak
hanya mengidentifikasi secara unik suatu kekadian spesifik, tetapi juga
dapat mewakili setiap kejadian dari suatu entity. Setiap kunci kandidat
dapat menjadi kunci primer tetapi sebaliknya sebaiknya dipilih satu saja
yang dapat mewakili secara menyeluruh terhadap entity yang ada.
4.
Alternate Key
Alternate Key adalah Candidate Key yang tidak dijadikan Primary Key
dan merupakan kunci kandidat yang tidak dipakai sebagai kunci primer.
Kunci alternatif ini sering digunakan untuk kunci pengurutan misalnya
dalam laporan.
30
5.
Composite Key
Composite Key adalah Key yang terdiri dari dua atribut atau lebih, dimana
atribut-atribut tersebut bila berdiri sendiri tidak menjadi indentitas record,
namun
bila
dirangkaikan
menjadi
satu
kesatuan
yang
dapat
mengidentifikasikan record secara unik.
6.
Foreign Key
Foreign Key adalah non-key pada sebuah relasi yang juga menjadi primary
key atribut pada relasi lainnya. Foreign Key biasanya digunakan sebagai
penghubung antara record-record dari kedua relasi tersebut.kunci tamu
ditempatkan pada entity anak dan sama dengan kunci primer induk yang
direlasikan. Hubungan antara entity induk dengan anak adalah hubungan
satu lawan banyak (one to many relationship).
2.17
Normalisasi
Normalisasi adalah suatu proses untuk mengubah suatu tabel yang
memiliki masalah tertentu ke dalam dua buah tabel atau lebih, yang tidak lagi
memiliki masalah tersebut. Masalah tersebut biasanya merupakan suatu
ketidakkonsistenan (tidak normal) apabila dilakukan penghapusan (delete),
pengubahan (update) dan pembacaan (retrieve) pada suatu basis data. Tahapan
Normalisasi yaitu:
1.
Tahapan Normalisasi Bentuk Pertama
Bentuk Normal ini dilakukan pada form tabel yang memiliki redudansi
yang tinggi dan ada atribut yang memiliki nilai data null, sehingga
normalisasi ini dilakukan untuk mengelompokkan setiap atribut yang
bernilai tunggal untuk setiap baris dan menghilangkan field yang bernilai
null.
Tabel 2.2 Normalisasi Bentuk Pertama (1nf)
id_barang
Nama_barang
Harga
Jenis
76164217
Marlboro
14500
Rokok
89960013
Choki-choki
13000
Coklat
89970250
Big Cola
3000
Minuman
31
2.
Tahapan Normalisasi Bentuk Kedua
Syarat dilakukannya Normalisasi kedua adalah apabila tabel tersebut telah
berada pada bentuk normal pertama dan semua atribut bukan kunci (key)
memiliki dependensi sepenuhnya terhadap kunci primer.
Tabel 2.3 Normalisasi Bentuk Kedua (2nf) (1)
id_barang
Nama_barang
Harga
Jenis
76164217
Marlboro
14500
Rokok
89960013
Choki-choki
13000
Coklat
89970250
Big Cola
3000
Minuman
Tabel 2.4 Normalisasi Bentuk Kedua (2nf) (2)
3.
id_barang
Nama_barang
76164217
Marlboro
89960013
Choki-choki
89970250
Big Cola
Tahapan Normalisasi Bentuk Ketiga
Syarat dilakukannya Normalisasi bentuk kedua adalah apabila tabel
tersebut telah berada pada bentuk normal kedua dan semua atribut bukan
kunci tidak memiliki dependensi transitif terhadap kunci primer.
Tabel 2.5 Normalisasi Bentuk Ketiga (3nf) (1)
id_barang
Harga
Jenis
76164217
14500
Rokok
89960013
13000
Coklat
89970250
3000
Minuman
Tabel 2.6 Normalisasi Bentuk Ketiga (3nf) (2)
id_barang
Nama_barang
76164217
Marlboro
89960013
Choki-choki
89970250
Big Cola
Tabel 2.7 Normalisasi Bentuk Ketiga (3nf) (3)
Jenis
Rokok
Coklat
Minuman
32
2.18
DDL (Data Definition Language)
DDL MySQL termasuk dalam perintah membuat, merubah dan
menghapus struktur dalam database. Statement DDL mendefinisikan struktur dari
MySQL database dan menentukan tipe data apa saja yang dapat disimpan ke
database serta bagaimana menyimpan data. Secara khusus statement DDL
berfungsi untuk:
1.
Membuat dan menghapus database (Create Database, Drop Database)
2.
Membuat, memperbaiki atau merubah, dan menghapus tabel (Create
Table, Alter Table, Rename Table, Drop Table)
3.
Membuat dan menghapus index (Create Index, Drop Index)
DDL digunakan untuk mendefinisikan kerangka database. Statement DDL
antara lain yaitu Create, Alter, dan Drop. Berikut adalah penjelasan dari statement
DDL.
2.18.1 Create
Perintah Create digunakan untuk membuat database atau tabel baru pada
suatu sintaks
MySQL. Contoh penggunaan sintaks Create dalam membuat
database baru adalah sebagai berikut.
CREATE DATABASE nama_database;
Kode Program 2.1 Sintaks Pembuatan Database
contoh penggunaan sintaks Create adalah sebagai berikut:
CREATE DATABASE db_kasir;
Kode Program 2.2 Contoh Penggunaan Sintaks Pembuatan Database
Sintaks lain yang menggunakan perintah Create adalah untuh membuat
tabel baru. Sintaks yang digunakan adalah sebagai berikut:
CREATE TABLE <nama_tabel>(
<Nama_kolom_1><tipe_data(ukuran)>,
<Nama_kolom_2><tipe_data(ukuran)>,
...,
<Nama_kolom_n><tipe_data(ukuran)>
);
Kode Program 2.3 Sintaks Pembuatan Tabel
33
Contoh penggunaan sintaks Create tabel adalah sebagai berikut:
CREATE TABLE infoprib(
NIPvarchar(10),
Nama varchar(50),
Tgl_lahir date,
Alamat varchar(50)
);
Kode Program 2.4 Contoh Sintaks Pembuatan Tabel
2.18.2 Alter
Statement Alter digunakan untuk mengubah struktur tipe data suatu tabel
ataupun nama kolom dari tabel tersebut. Sintaks yang digunakan adalah sebagai
berikut:
ALTER TABLE <nama_tabel>
CHANGE<nama_kolom_lama><nama_kolom_baru>
<tipe_data>;
Kode Program 2.5 Sintaks Alter Tabel
Contoh penggunaan sintaks Alter adalah:
ALTER TABLE barang
CHANGE Nama Stok
Varchar(50);
Kode Program 2.6 Contoh Sintaks Alter Tabel
2.18.3 Drop
Statement Drop digunakan untuk menghapus tabel maupun menghapus
database, perintah Drop dapat juga digunakan untuk menghapus kolom suatu
tabel dengan digabungkan dengan statement alter. Statemen Drop memiliki
banyak contoh sintaks diantaranya adalah untuk menghapus database seperti yang
ditunjukkan oleh sintaks berikut:
DROP <nama_database>;
Kode Program 2.7 Sintaks Drop Database
34
Sintaks untuk menghapus tabel:
DROP <nama_tabel>;
Kode Program 2.8 Sintaks Drop Tabel
2.19
DML (Data Manipulation Language)
DML merupakan perintah SQL yang berhubungan dengan manipulasi atau
pengolahan data record pada tabel. Perintah dasar DML antara lain Select, Insert,
Delete, Update.
2.19.1 Select
Perintah Select berfungsi untuk mendapatkan daftar row (record) pada satu
atau lebih tabel dan bisa diikutkan dengan sintaks query union dan subquery
lainnya. Gambaran umum sintaks select sebagai berikut:
SELECT [ALL | DISTINCT]
[FROM table_references]
[WHERE where_condition]
[CHARACTER SET charset_name]
Kode Program 2.9 Daftar Perintah Select
Beberapa penjelasan dari sintaks Select di atas adalah:
1.
Select
Merupakan sintaks utama yang berfungsi untuk menerima daftar row
(record) yang ada pada tabel dengan diikuti dengan nama field (column)
dan parameter yang mengikutinya.
SELECT * FROM `nama_tabel`
Kode Program 2.10 Contoh Perintah Select
2.
All Distinct
Perintah All berfungsi menambahkan aturan khusus untuk menampilkan
semua record. Perintah All adalah perintah default jika tidak memasukkan
perintah Distinct.
SELECT ALL `nama_kolom` FROM `nama_tabel`
Kode Program 2.11 Contoh Perintah SELECT ALL
35
Perintah Distinct berfungsi untuk menambahkan aturan khusus untuk
menampilkan daftar record dengan record unik saja (tidak ada record
dengan nilai sama). Biasanya digunakan untuk menampilkan record pada
field tertentu.
SELECT DISTINCT `nama_kolom` FROM `nama_tabel`
Kode Program 2.12 Contoh Perintah Select Distinct
3.
From
Perintah From berfungsi untuk memilih tabel yang digunakan sebagai
referensi pada perintah Select.
SELECT `nama_kolom` FROM `nama_tabel`
Kode Program 2.13 Contoh Perintah Select From
4.
Where
Perintah Where berfungsi untuk menambahkan parameter tertentu pada
sintaks yang diketik.
SELECT `nama_kolom`
=‘nilai’
FROM
`nama_tabel`
WHERE
`nama_kolom`
Kode Program 2.14 Contoh Perintah Select ... Where
5.
Charset
Perintah Charset berfungsi untuk menampilkan daftar baris (record)
dengan character set tertentu yang dideklarasikan pada sintaks.
SELECT `nama_kolom` FROM `nama_tabel` CHARSET
Kode Program 2.15 Contoh Perintah Select Charset
2.19.2 Insert
Perintah Insert berfungsi untuk memasukkan baris (record) baru ke dalam
tabel. Gambaran umum sintaks Insert yaitu:
INSERT[INTO] tbl_name [(col_name,...)]
{VALUES | VALUE} ({expr | DEFAULT},...),(...),...
[ ON DUPLICATE KEY UPDATE
col_name=expr
[, col_name=expr] ... ]
Kode Program 2.16 Daftar Lengkap Perintah Insert
36
Beberapa penjelasan pada sintaks INSERT adalah sebagai berikut:
1.
Insert
Merupakan sintaks utama pada sintaks memasukan baris atau kolom.
Berfungsi untuk memasukkan data (record) pada tabel.
INSERT INTO `nama_tabel` (`nama_kolom_1`, `nama_kolom_2`,
…) VALUES (‘nilai_1’, ‘nilai_2’, …)
Kode Program 2.17 Contoh Perintah Insert
2.
Into
Perintah Into berfungsi untuk menentukan tabel tujuan untuk memasukkan
row (record) baru.
INSERT INTO `nama_tabel` (`nama_kolom_1`, `nama_kolom_2`,
…) VALUES (‘nilai_1’, ‘nilai_2’, …)
Kode Program 2.18 Contoh Perintah Insert Into
3.
Values
Perintah Values berfungsi untuk menentukan nilai yang dimasukkan ke
dalam tabel. Urutan nilai yang dimasukkan harus sesuai dengan urutan
field pada perintah Into.
INSERT INTO `nama_tabel` (`nama_kolom_1`, `nama_kolom_2`,
…) VALUES (‘nilai_1’, ‘nilai_2’, …)
Kode Program 2.19 Contoh Perintah Insert Values
4.
On Duplicate Key Update
Perintah On Duplicate Key Update berfungsi untuk melakukan update
(penggantian) pada record sebelumnya jika ada record yang memiliki nilai
primary key yang sama. Perintah ini harus menyertakan ekspresi untuk
mengganti nilai primary key yang lama.
INSERT INTO `nama_tabel` (`nama_kolom_1`, `nama_kolom_2`,
…) VALUES (‘nilai_1’, ‘nilai_2’, …) ON DUPLICATE KEY
UPDATE `nama_tabel` = `nama_tabel` + 3
Kode Program 2.20 Contoh Perintah Insert On Duplicate Key Update
37
2.19.3 Update
Perintah Update berfungsi untuk melakukan pembaharuan (update) nilai
pada baris (row) yang sudah ada pada tabel. Gambaran umum sintaks update
adalah sebagai berikut:
UPDATE table_references
SET col_name1={expr1|DEFAULT} [, col_name2={expr2|DEFAULT}] ...
[WHERE where_condition]
Kode Program 2.21 Daftar Lengkap Perintah UPDATE
Beberapa Penjelasan pada sintaks Update adalah sebagai berikut:
1.
Update
Merupakan sintaks utama dalam sintaks perubahan data. Berfungsi untuk
melakukan pembaharuan (update) nilai pada baris (row) yang sudah ada
pada tabel.
UPDATE `nama_tabel` SET `nama_kolom` = `nilai_baru_1`
Kode Program 2.22 Contoh Sintaks Update
2.
Set
Perintah Set berfungsi untuk menentukan kolom (field) mana saja yang
akan di-update beserta nilai baru yang akan dimasukkan pada tabel.
Perintah ini juga dapat melakukan update pada beberapa field sekaligus
dalam sekali update.
UPDATE `nama_tabel` SET `nama_kolom_1` = ‘nilai_baru_1’,
`nama_kolom_2` = ‘nilai_baru_2’, ..., `nama_kolom_n` =
‘nilai_baru_n’ WHERE `nama_kolom_acuan` = ‘nilai_acuan’
Kode Program 2.23 Contoh Sintaks Update Set
3.
Where
Perintah Where berfungsi untuk menentukan kolom dan nilai acuan untuk
menentukan update data. Perintah ini akan meng-update semua record
dengan nilai yang ditentukan pada tabel dan field, jika tidak ada kolom dan
nilai yang ditentukan.
UPDATE `nama_tabel` SET `nama_kolom_1` = ‘nilai_baru_1’,
`nama_kolom_2` = ‘nilai_baru_2’, ..., `nama_kolom_n` =
‘nilai_baru_n’ WHERE `nama_kolom_acuan` = ‘nilai_acuan’
Kode Program 2.24 Contoh Perintah Update Where
38
2.19.4 Delete
Perintah Delete berfungsi untuk menghapus record dengan nilai dari field
tertentu dari suatu tabel. Semua record akan terhapus jika tidak memasukkan nilai
where tertentu pada perintah Delete. Gambaran umum sintaks Delete yaitu:
DELETE
FROM tbl_name[.*] [, tbl_name[.*]] ...
[WHERE where_condition]
Kode Program 2.25 Daftar Lengkap Perintah Delete
Beberapa Pejelasan pada sintaks Delete adalah sebagai berikut:
1.
Delete
Merupakan sintaks utama dalam sintaks hapus data record. Berfungsi
untuk melakukan penghapusan record dengan nilai dari field tertentu
dari suatu tabel.
DELETE FROM `nama_tabel`
Kode Program 2.26 Contoh Perintah Delete
2.
From
Perintah From berfungsi untuk menentukan tabel mana yang record-nya
akan dihapus.
DELETE FROM `nama_tabel`
Kode Program 2.27 Contoh Perintah Delete From
3.
Where
Perintah Where berfungsi untuk menentukan nilai acuan pada field untuk
menentukan record mana yang akan dihapus.
DELETE
FROM
`nama_tabel`
WHERE
`nama_kolom`
`nilai_acuan`
Kode Program 2.28 Contoh Perintah Delete Where
2.20
=
DCL (Data Control Language)
DCL merupakan perintah SQL yang berhubungan dengan pengaturan hak
akses user MySQL, baik terhadap server, database, tabel, maupun field. Perintah
dasar DCL antara lain Grant dan Revoke.
39
2.21
Kontrol Replikasi
Skenario replikasi kontrol harus memiliki algortima yang jelas karena
algoritma tersebut harus menjaga konsistensi data yang terdapat pada database
tersebut. Cara untuk meminimalisasi terjadinya inkonsistensi adalah dengan cara
melihat apakah ada atau tidak salinan data yang identik satu sama lain. Dua
pendekatan untuk mengontrol replikasi adalah.
2.21.1 Kontrol Replikasi Sinkron
Mode replikasi sinkron memungkinkan pertukaran data secara real-time
sehingga sinkronisasi suatu data akan terjaga, saat ada transaksi operasional yang
sedang menulis sesuatu ke database sumber, maka saat yang bersamaan penulisan
juga dilakukan terhadap database target yang ada di lokasi remote. Keseluruhan
proses penulisan pada database sumber dan database target harus selesai terlebih
dahulu sebelum beranjak ke transaksi operasional selanjutnya dan diberi
acknowledge untuk keduanya jika telah selesai. Mode replikasi sinkron
membutuhkan pertimbangan performansi sistem yang tinggi. Selain itu jarak
antara database sumber dan database target juga menjadi prasyarat utama.
Keuntungan dari mode replikasi ini adalah menyediakan recovery yang konsisten
dan lengkap untuk semua jangka waktu. Kelebihan dan kekurangan menggunakan
replikasi sinkron antara lain:
1.
Semua copy data selalu teridentifikasi.
2.
Data terkini secara cepat di-update ke seluruh replika melalui jaringan.
3.
Baik digunakan untuk integritas data.
Teknik dasar untuk menjamin transaksi menghasilkan satu hasil dan tidak
bergantung pada akses terhadap data atau replika data yang digunakan dalam
perhitungan transaksi. Teknik pertama disebut voting, transaksi harus menulis
mayoritas data dan replikanya dan membaca minimal satu replika yang dianggap
paling mutakhir. Replikasi Sinkron contoh jika 10 replika data dan 7 replika
ditulis oleh transaksi update, maka 4 data lainnya juga harus ditulis. Setiap replika
mempunyai nomor versi. Replika dengan nomor versi tertinggi dianggap paling
40
mutakhir. Teknik ini akan terjadi banyak proses pembacaan, padahal proses
pembacaan sangat diperlukan pada transaksi berikutnya.
Teknik kedua disebut read-any write-all, artinya untuk proses pembacaan
cukup melibatkan satu replika, tetapi ketika proses tulis harus melibatkan semua
replika. Proses pembacaan dapat dilakukan dengan cepat apalagi pembacaan data
lokal, tetapi proses tulis lebih lama. Teknik ini lebih populer, karena proses baca
lebih sering dibutuhkan dibandingkan proses tulis.
2.21.2 Kontrol Replikasi Asinkron
Mode Replikasi Asinkron memungkinkan pertukaran data secara buffering
dalam artian bahwa data akan diletakkan dalam sebuah penampung sementara
terlebih dahulu, kemudian pada jangka waktu tertentu akan direplikasi ke disk
target. Data yang direplikasi ke disk target tidak membutuhkan acknowledgement
agar penulisan transaksi operasional pada disk sumber dapat berlangsung kembali,
sehingga mode replikasi ini tidak menjamin sinkronisasi suatu data pada dua
pihak yang terlibat karena jika suatu saat terjadi crash pada salah satu pihak dan
data belum sempat direplikasi maka data yang terdapat pada kedua pihak tidak
bisa dikatakan sebagai sebuah data yang sinkron. Performansi sistem dapat
meningkatkan, namun lebih memiliki banyak risiko, jika hal ini terjadi maka
recovery yang cukup rumit dilakukan, namun tidak menjamin data hasil recovery
adalah data yang benar dan konsisten karena ada kemungkinan hilangnya
beberapa data. Keuntungan dari mode replikasi ini adalah efektivitas biaya.
Kelebihan dan kekurangan Replikasi Asinkron antara lain:
1.
Mentoleransi data yang tidak konsisten.
2.
Perkembangan data terkini yang tertunda tidak langsung terupdate.
3.
Integritas data rendah.
2.22
Algoritma Replikasi Kontrol
Algoritma replikasi kontrol telah dipelajari dan diusulkan dalam banyak
literatur. Algoritma replikasi kontrol fokus pada pendekatan penyediaan kontrol
replikasi sinkron. Algoritma dapat dikatergorikan dalam dua ketegori kontrol
41
yakni terpusat dan tersdistribusi. Dalam pendekatan tersentralistik atau terpusat,
kontrol diberikan ke satu lokasi, sementara dalam pendekatan terdistribusi kontrol
adalah bersama di antara lokasi. Definisi dari arsitekur replicated database
environment (DBE) adalah sebagai berikut.
2.22.1 Pertimbangan Arsitekutural
Database dapat sepenuhnya atau sebagian direplikasi. Sebuah database
yang direplikasi menyimpan satu salinan lengkap dari database di setiap server
database. Database yang sebagian direplikasi, di sisi lain tidak menyimpan dari
beberapa tabel database pada setiap situs, sebaliknya beberapa tabel atau beberapa
fragmen tabel akan disalin dan disimpan pada dua atau lebih situs.
Gambar 2.11 Ilustrasi Penempatan Replikasi Data
2.22.2 Algoritma Replikasi Master-Slave
Algortima Master-Slave diusulkan pertama kali oleh C. Ellis. Gambar
2.11 menunjukan ada satu lokasi yang berperan sebagai master server dan dan
slave server. Algoritma Master berjalan hanya pada satu lokasi dan dia bertanggu
jawab untuk mendeteksi adanya konflik data, sedangkan algoritma slave
menyimpan salinan data dari master. Server slave atau cadangan terletak pada
beberapa lokasi yang berbeda. Dua fase untuk menjalankan algoritma ini yaitu
fase transaksi peneriman atau penolakan dan fase transaksi aplikasi. C. Ellis
menggunakan diagram notasi yang dikenal sebagai net evaluation. Kotak
mewaliki peristiwa, lingkaran mewaliki negara, panah besar mewakili tugas dan
panah kecil mewakili transisi atau perpindahan. Sebuah titik di samping panah
42
besar menunjukan satu pesan yang di kiri sebagai salah satu tindakan dalam tugas,
sementara itu tiga titik (elipsis) menunjukan broadcast seperti yang dapat dilihat
pada Gambar 2.12 berikut.
Gambar 2.12 Algoritma Replikasi Master-Slave
2.22.3 Tahap Transaksi Penerimaan atau Penolakan terpusat
Transaksi lokal memonitoring dan mengirimkan permintaak ke slave atau
cadangan saat suatu situs meminta untuk menjalankan transaksi. Slave
mengirimkan permintaan untuk master dan bertanya apakah dapat menjalankan
transaksi ini setelah menerima permintaan. Kotak Berlabel “Ext REQ” pada
Gambar 2.12 menunjukan proses penerimaan atau penolakan. Pendeteksian
konflik saat transaksi berjalan, master mempertahankan antrian tertunda dari
tansaksi tersebut, antrian ini membuat master dapat memilih apakah transaksi
tersebut dapat diterima atau tidak. Master menerima permintaan dari slave, maka
master akan memeriksa konflik yang terjadi pada transaksi dan semua transaksi
yang sudah diantriannya, jika permintaan baru tidak bertentangan atau konflik
dengan transaksi yang sudah ada diantrian maka master memperbolehkan
transaksi tersebut ke dalam antrian transaksi berikutnya dan mengirimkan “ACK
+”. Master akan mersepon dengan mengirim “ACK-” ke pada slave jika terjadi
konflik satu dengan yang lainnya maka slave akan menolak transaksi respon dari
master tidak menguntukngkan atau bernilai minus.
43
2.23
Topologi Distribusi Data
Sistem database terdistribusi hanya mungkin dibangun dalam sebuah
jaringan komputer. Topologi dalam sebuah sistem jaringan komputer dikenal
untuk menentukan bagaimana konfigurasi atau keterhubungan antara satu simpul
jaringan (node/site) dengan simpul-simpul lainnya. Setiap simpul dalam kaitannya
dengan sistem database terdistribusi mewakili sebuah server yang memiliki disk
dengan sistem database sendiri (lokal). Setiap server akan membentuk sebuah
LAN (Local Area Network) untuk mengakomodasi sejumlah workstation dan
sekaligus user lokal. Bentuk dari Topologi Distribusi Data antara lain:
1.
Fully Connected Network
Fully Connected Network memiliki keuntungan jika salah satu node rusak,
node yang lainnya masih dapat berjalan tetapi berbiaya mahal dalam
membangun toplogi. Kerugian dari Fully Connected Network adalah
kontrol management data tidak terjamin. Topologi Fully Connected
Network dapat dilihat pada Gambar 2.13.
Gambar 2.13 Fully Connected Network
2.
Partialy Connected Network
Partialy Connected Network memiliki keuntungan reliability yang rendah,
dan biaya trafik jaringan dapat diminimalisasikan. Topologi Partialy
Connected Network dapat dilihat pada Gambar 2.14.
44
Gambar 2.14 Partialy Connected Network
3.
Tree Structured Network
Tree Structured Network memiliki keuntungan yaitu bersifat tersentralisasi
sehingga kontrol management lebih terjamin. Kerugiannya jika node pusat
(A) rusak, semua akan rusak. Topologi Tree Structured Network dapat
dilihat pada Gambar 2.15.
Gambar 2.15 Tree Structured Network
4.
Ring Network
Ring Network memiliki keuntungan jika rusak satu node, node lain masih
berjalan, tetapi memiliki kerugian kontrol management kurang terjamin
karena bersifat desentralisasi. Topologi Ring Network dapat dilihat pada
Gambar 2.16.
45
Gambar 2.16 Ring Network
5.
Star Network
Star Network memiliki keuntungan dalam hal control management yang
lebih terjamin, karena bersifat sentral dan reliability yang rendah.
Kerugian Star Network adalah jika pusat rusak, node lainnya juga rusak.
Topologi Star Network dapat dilihat pada Gambar 2.17.
Gambar 2.17 Star Network
Perbedaan utama di antara topologi di atas terletak pada:
1.
Biaya Instalasi, yaitu biaya dalam membangun hubungan (link) antar
simpul.
2.
Biaya Komunikasi, yaitu waktu dan biaya dalam pengoperasian sistem
berupa pengiriman data dari satu simpul ke simpul lainnya.
3.
Kehandalan, yaitu dalam hal frekuensi atau tingkat kegagalan komunikasi
yang terjadi.
46
4.
Ketersediaan, yaitu tingkat kesiapan data yang dapat diakses sebagai
antisipasi kegagalan komunikasi.
Sebagaimana yang ditunjukkan pada penjelasan di atas, dapat disimpulkan
setiap simpul atau server memiliki basis data sendiri-sendiri, yang terpisah secara
geografis tetapi harus menyatu secara fungsional. Terdapat 2 jenis transaksi dalam
sebuah database terdistribusi yang mungkin terjadi yaitu:
1.
Transaksi Lokal yaitu transaksi yang mengakses database di server yang
sama dengan server dari mana transaksi tersebut dijalankan.
2.
Transaksi Global yaitu transaksi yang membutuhkan pengaksesan data di
server yang berbeda dengan server di mana transaksi tersebut dijalankan,
atau transaksi dari sebuah server yang membutuhkan pengaksesan data ke
sejumlah server lainnya.
2.24
PHP (Hypertext Preprocessor)
PHP merupakan bahasa pemograman yang bersifat server script atau
server side dan tersembunyi di dalam server. PHP pertama kali diciptakan oleh
Rasmus Lerdorf pada Tahun 1994. PHP dapat digunakan pada semua sistem
operasi antara lain Linux, Unix (termasuk variannya HP-UX, Solaris, dan Open
BSD), Microsoft Windows, Mac OS, RICS OS. PHP juga mendukung banyak
Webserver seperti Apache, Microsoft Internet Information Server (MIIS),
Personal Web Server (PWS), Netcape and iPlanet servers, Oreilly Website Pro
Server, audium, xitami, Omni HTTPD.
2.24
JavaScript
Java Script adalah bahasa skrip yang populer di internet dan dapat bekerja
di sebagian besar penjelajah web populer seperti Internet Explorer (IE), Mozilla
Firefox, Netscape dan Opera. Kode JavaScript dapat disisipkan dalam halaman
website dengan penggunaan tag SCRIPT. JavaScript pertama kali dikembangkan
oleh Brendan Eich dari Netscape dibawah nama Mocha, yang nantinya namanya
diganti menjadi LiveScript, dan akhirnya menjadi JavaScript. Navigator
sebelumnya telah mendukung Java untuk lebih bisa dimanfaatkan para
47
programmer nonjava. Maka dikembangkanlah bahasa pemrograman bernama
LiveScript untuk mengakomodasi hal tersebut. Bahasa pemrograman inilah yang
akhirnya berkembang dan diberi nama JavaScript. JavaScript bisa digunakan
untuk banyak tujuan, misalnya untuk membuat efek rollover baik di gambar
maupun teks, dan yang penting juga adalah untuk membuat AJAX. JavaScript
adalah bahasa yang digunakan untuk AJAX.
2.25
JQuery
JQuery adalah javascript library, JQuery mempunyai semboyan “write
less, do more”. JQuery dirancang untuk memperingkas kode-kode Javascript.
JQuery adalah javascript library yang cepat dan ringan untuk menangani
dokumen HTML, menangani event, membuat animasi dan interakasi Ajax.
Download