Вы находитесь на странице: 1из 53

BAB I PENDAHULUAN 1.

1 Latar Belakang Basis data adalah kumpulan informasi yang disimpan didalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari database tersebut. Perangkat lunak yang digunakan untuk mengolah dan mengambil kueri (query) basis data disebut sistem manajemen basis data. Database adalah suatu hal yang penting dalam suatu sistem informasi dimasa sekarang ini. Dimana hal tersebut merupakan suatu hal yang tak dapat dipisahkan. Suatu sistem informasi sangat membutuhkan basis data untuk menyimpan data-data yang dibutuhkan untuk dapat diolah dan digunakan untuk mencapai suatu tujuan yang diinginkan oleh pemakai sistem tersebut. Dalam hal ini para pemilik perusahaan atau orang yang membutuhkan suatu media penyimpan dalam hal ini yang disimpan berupa data-data yang berisi informasi yang penting akan sangat memerlukan basis data dan sistem yang mengolah data tersebut untuk memudahkan mereka dalam mencapai tujuan yang mereka inginkan. Kebutuhan akan sistem database dalam dunia usaha telah membuka peluang usaha baru bagi setiap programmer khususnya yang berkompeten dalam DB!S (Database Management System ). Dimana hampir setiap bidang usaha membutuhkan sebuah perangkat lunak yang mampu menyimpan mengolah melakukan pencarian penghapusan dan mencetak laporan dari data yang diperlukan dalam bidang usaha tersebut. 1.2 Manfaat "dapun manfaat dari praktikum dan penulisan laporan basis data ini adalah# $. %. !engetahui tahapan pembuatan stored procedure, cursor dan trigger. !engetahui tahapan replikasi database.
1

BAB II TINJAUAN PUSTAKA 2.1 Sistem Inf rmasi Sistem berasal dari bahasa &atin (systema) dan bahasa 'unani (sustema) adalah suatu kesatuan yang terdiri komponen atau elemen yang dihubungkan bersama untuk memudahkan aliran informasi materi atau energi. (stilah ini sering dipergunakan untuk menggambarkan suatu set entitas yang berinteraksi di mana suatu model matematika seringkali bisa dibuat (id.)ikipedia.org). Sistem dilihat dari prosedurnya menurut *erry +it,-erald "rdra +. +it,-erald dan .arren D. Stallings *r sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling berhubungan berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu susunan sasaran yang tertentu (*ogiyanto %//$). Sedangkan Berdasarkan pada elemen0komponennya sistem merupakan kumpulan dari elemen-elemen yang berinteraksi untuk mencapai tujuan tertentu. (nformasi adalah data yang diolah menjadi bentuk yang lebih berguna dan bermanfaat bagi penggunanya. (nfomasi adalah hasil proses atau hasil pengolahan data meliputi # hasil gabungan hasil analisa hasil penyimpulan dan hasil pengolahan sistem informasi komputerisasi. (nformasi adalah segala sesuatu yang ditampilkan oleh komputer dalam sebuah media penampil tersebut diatas biasanya sebagai hasil dari sebuah proses komputasi. (nformasi adalah fakta tersembunyi dibalik himpunan fakta yang sudah dicatat dan baru diketemukan sesudah diolah atau dicerna (nformasi adalah fakta tersirat yang muncul dalam benak teknisi itu sesudah mencermati dan mengolahnya dengan tertib berdasarkan model yang diyakini sebagai hal yang benar ada dalam keseluruhan persoalan tersebut. 2.2 Basis Data Dalam penjelasan mendetail pada bagian sub bab Basis Data adapun pembahasan yang dibahas dalam sub bab ini yaitu meliputi#

2.2.1

Pengertian Basis Data Basis data adalah kumpulan data yang saling berelasi. Data sendiri

merupakan fakta mengenai obyek orang dan lain-lain. Data dinyatakan dengan nilai (angka deretan karakter atau symbol ). Beberapa pengertian basis data menurut beberapa para ahli yaitu sebagai berikut # a. !enurut 1Stephens dan Ple) (%///) adalah mekanisme yang digunakan untuk menyimpan informasi atau data. (nformasi adalah sesuatu yang kita gunakan sehari-hari untuk berbagai alasan. Dengan basisdata pengguna dapat menyimpan data secara terorganisasi. Setelah data disimpan informasi harus mudah diambil. Kriteria dapat digunakan untuk mengambil informasi. 2ara data disimpan dalam basisdata menentukan seberapa mudah mencari informasi berdasarkan banyak kriteria. Data pun harus mudah ditambahkan kedalam basisdata dimodifikasi dan dihapus3. b. !enurut 1Siberschat, dkk.4 (%//%) mendefinisikan basisdata sebagai kumpulan data berisi informasi yang sesuai untuk sebuah perusahaan. System manajemen basisdata (DB!S) adalah kumpulan data yang saling berhubungan dan kumpulan program untuk mengakses data. 5ujuan utama system manajemen basisdata adalah menyediakan cara menyimpan dan mengambil informasi basisdata secara mudah dan efisien3. c. !enurut 16amakrishnan dan -ehrke (%//7) basisdata sebagai kumpulan data umumnya mendeskripsikan akti8itas satu organisasi atau lebih yang berhubungan3. !isalnya basisdata uni8ersitas mungkin berisi informasi mengenai hal berikutnya # 9ntitas seperti mahasis)a fakultas mata kuliah dan ruang kuliah. :ubungan antarentitas seperti registrasi mahasis)a dalam mata kuliah fakultas yang mengajarkan mata kuliah dan penggunaan ruang untuk kuliah. d. !enurut 1!c&eod dkk. (%//$) basisdata adalah kumpulan seluruh sumber daya berbasis computer milik organisasi. System manajemen basisdata adalah aplikasi perangkat lunak yang menyimpan struktur
3

basisdata hubungan antardata dalam basisdata serta sebagai formulir dan laporan yang berkaitan dengan basisdata. Basisdata yang dikendalikan oleh system manajemen basisdata adalah satu set catatan data yang berhubungan dan saling menjelaskan3. Dari definisi ini terdapat tiga hal yang berhubungan dengan basis data yaitu sebagai berikut # Data itu sendiri yang diorganisasikan dalam bentuk dalam bntuk basis data (database). Simpanan permanen (storage) untuk menyimpan basis data tersebut. Simpanan ini merupakan bagian dari teknologi perangkat keras yang digunkan di sistem informasi. Simpanan yang permanen umumnya digunakan berupa hard disk. Perangakat lunak untuk memanipulasi basis datanya. Perangkat lunak ini dapat dibuat sendiri dengan menggunakan bahasa pemrograman komputer atau dibeli dalam bentuk suatu paket. Banyak paket perangkat lunak yang disediakan untuk memanipulasi basis data. Perangkat lunak ini disebut dengan DB!S (Data Base Management System). 2ontoh DB!S yang terkenal misalnya dBASE, Fox, Base, Microsoft Access, racle dan lain-lain. DB!S yang popular untuk mengolah basis data sekarang ini adalah 6DB!S ( !elational Data Base Management System). 6DB!S menggambarkan field dari data dan bagian baris menunjukkan record dari data. 2.2.2 Manfaat Basis Data Basis Data atau database memiliki banyak manfat bagi penggunanya berikut akan dijelaskan beberapa manfaat dari basis data # $. Kecepantan dan kemudahan !emungkinkan untuk mudah melakukan penyimpanan perubahan data dan pengambilan suatu data dibandingkan jika dilakukan secara manual. %. 9fisiensi ruang penyimpanan ;ptimalisasi penggunaan ruang penyimpanan dapat dilakukan dengan menerapkan sejumlah pengkodean atau membuat keterhubungan antar kelompok data yang saling berhubungan.

7.

Keakuratan Pemanfaatan pengkodean atau pembentukan keterhubungan antar kelompok data dengan menerapkan aturan atau batasan data.

<.

Ketersediaan Perkembangan data sejalan dengan )aktu membutuhkan ruang penyimpanan yang besar sehingga data administrator harus memilah yang mana yang merupakan data utaman data master data referensi data transaksi data histori hingga data yang sudah tidak digunakan lagi. Pemilihan ini untuk mempermudah dalam hal pencarian data dan mengefisiensi ruang penyimpanan data.

=.

Keamanan "plikasi pengolahan basis data ada yang tidak menerapkan aspek keamanan dalam penggunaan basis data tetapi untuk sistem yang besar dan serius dapat diterapkan dengan ketat.

>.

Pemakaian bersama Pemakaian aplikasi basis data tidak hanya terbatas pada satu orang pengguna saja di dalam suatu lokasi. Basis data yang dikelola oleh suatu aplikasi yang mendukung lingkungan banyak pengguna akan digunakan oleh beberapa pengguna baik di dalam suatu lokasi ataupun di lokasi yang berbeda.

2.2.! T"#"an Basis Data Basis data bertujuan untuk mengatur data sehingga diperoleh kemudahan ketepatan dan kecepatan dalam pengambilan kembali. ?ntuk mencapai tujuan syarat sebuah basis data yang baik adalah sebagai berikut # $. 5ujuan adanya redudansi dan inkonsistensi data 6edudansi terjadi jika suatu informasi disimpan di beberapa tempat. !isalnya ada data mahasis)a yang memuat @(! nama alamat dan atribut lainnya sementara kita punya data lain tentang data K:S mahasis)a yang isinya yang terdapat @(! nama mata kuliah dan nilai.

%.

Kesulitan pengaksesan data Basis data memiliki fasilitas untuk melakuakan pencarian informasi dengan menggunakan "uery taupun dari tool untik melihat tabelnya. Dengan fasilitas ini. Kita bias secara langsung melihat data dari soft)are DB!S-nya. Selain itu baiss data bias dihubungkan dengan program aplikasi sehingga memudahkan pengguna dalam mengakses informasi. !isalnya program aplikasi untuk kasir yang terhubung dengan basis data . pengguna cukup mengguna fasilitas pencarian ataupun laporan. 'ang tersedia pada program aplikasi untuk mendapatkan informasi stok laporan penjualan dan lain-lain. Dalam basis data informasi yang diperolah dari kumpulan data bisa berupa keseluruhan data sebagai data data denga filter tertentu data yang terurut ataupun data summary. Sebagai contoh sederhana ketika kita ingin mencatat data alamat dan telepon dari kolega kita. Sebagai orang akan menggunakan buku alamat. !etode pencatat dilakukan dilakukan dengan menuliskan data setelah catatan terakhir. Ketika kita menginginkan informasi alamat seseorang kita akan mencari karena informasi yang tersaji tidak terurut. "da juga orang mencatat dengan mengelompokan nama berdasarkan abjad. :al ini akan lebih mempermudah pencarian karena kita tidak perlu membaca keseluruhan data tetapi cukup dalam satu kelompok saja. 5api masalah baru muncul ketika jumlah data untuk sekelompokan data abjad teretentu telalu banyak sedangkan kelompok abjad yang lain masih terlalu sedikit. Dalam metode ini ada banyak ruang tidak terpakai jika memberikan ruang yang sama untuk setiap kelompok. Dalam hal pencarian kesulitan akan kita temui ketika informasi yang kita ingin cari dengan kata kunci sebagagian namanya. !isalnya kita akan mencari alamat "nto sementara yang tercatat dalam buku catatan adalah !ardianto. 5entu saja kita tidak akan dapat menemukannya dalam kelompok data dengan huruf depan ". selain itu tidak selamanya kata kunci yang diketahui adalah dari nama tetapi bisa saja yang diketahui adalah nomer teleponnya sedangkan yang ingin kita cari adalah alamat dan namanya. :al ini merupakan masalah
6

baru dari pencatatan data dengan buku. Basis data bisa memberikan solusi terhadap permasalahan-permasalahan tersebut diatas. 7. Multiple #ser Basis data memungkinkan pengguna data bersama-sama oleh banyak pengguna pada saat yang bersamaan atau pada saat yang berbeda. Dengan meletakkan basis data pada bagian ser$er yang bisa diakses kesemua pengguna dari banyak klient kita sudah menyediakan akses kesemua pengguna dari computer klient ke sumber informasi yaitu basis data. 5entu saja pengaksesan oleh pengguna-pengguna ini disesuaikan dengan hak aksesnya. !isalnya sebuah perguruan tinggi memiliki data tentang mahasis)a pembayaran dan lain-lain yang diletakan dalam sebuah basis data. Bagian "kademi akan bisa mengakses data-data akademi mahasis)a Bagian Keuangan akan diijinkan mengakses data pembayaran mahasis)a sementara mahasis)a hanya bisa melihat status akademi0keuangan yang berhubungan dengan dirinya saja. :al ini sangat dimungkinkan dengan penyimpanan data dalam basis data. 2.2.$ Trigger Dalam teknologi basis data kita mengenal istilah trigger didalamnya. %rigger adalah blok P&0SA& atau prosedur yang berhubungan dengan tabel, $ie&, skema atau database yang dijalankan secara implicit pada saat terjadi sebuah e8ent. %.%.<.$ !anfaat %rigger Pada penjelasan dalam penggunaan fungsi %rigger ada pun beberapa manfaat yang terdapat dalam trigger diantaranya yaitu # $) %) 7) !engatur integritas dari constraint yang kompleks yang tidak mungkin ditangani oleh sintaks-sintaks pembuatan tabel. !encegah transaksi yang tidak 8alid. !emperbaiki keamanan database dengan menyediakan audit yang lebih kompleks mengenai informasi perubahan database dan user siapa yang melakukan perubahan.
7

<)

Secara otomatis memberi sinyal program lain untuk melakukan sesuatu jika isi tabel diubah. Dalam penjelasan pada manfaat %rigger, %rigger memiliki beberapa

batasan diantaranya # $) 5idak dapat menggunakan perintah commit dan rollback selain itu juga tidak dapat memanggil %) procedure, function atau pac'age yang menggunakan perintah commit dan rollbac'. 5idak dapat diimplementasikan pada kolom pada suatu tabel yang memilki constraint jika pada akhirnya akan menyebabkan pelanggaran constraint. Biasanya terjadi akibat modifikasi pada primary 'ey %.%.<.% Keuntungan dalam Penggunaan %rigger Dalam penggunaan %rigger adapun keuntungan didalam penggunaan fungsi ini yaitu antara lain # $) Standarisasi (penyeragaman) proses karena trigger dibuat $ kali dan tersimpan dalam database sehingga semua client yang menggunakan database tersebut sekaligus adalah pengguna trigger. Dengan demikian seluruh client akan menggunakan operasi yang sama terhadap suat proses dalam database karena trigger yang dipakai adalah sama. %) !enyederhanakan pemrograman karena $ kali dibuat dalam database ser$er maka seluruh program dalam bahasa apapun yang mengakses database tersebut akan otomatis menggunakan %rigger yang ada tanpa harus bBdibuat oerintahnya dalam program aplikasi. 7) <) !udah diperbarui karena jika di C update sekali dalam database ser$er maka semua client akan menggunakan pembaruan yang terakhir. Kecepatan dan efisiensi proses karena trigger disimpan dalam ser$er dalam kode yang sudah terkompilasi dan dilaksanakan dalam ser$er sehingga lalu lintas jaringan menjadi berkurang. =) !emudahkan kerja tim karena jika trigger dan stored procedure sudah dibuat maka anggota tim kerja dapat menggunakan bahasa pemrograman yang berbeda dalam mengaksesnya sebab trigger disimpan dan

dilaksanakan oleh ser$er tanpa melihat bahasa pemrograman apa yang dipak pengguna database. 2.2.% Store Procedure Pengertian dari stored procedure itu sendiri adalah suatu ob(ect yang dapat menyimpan query yang kita buat sehingga query tersebut dapat digunakan kembali. Ketentuan dalam penggunaan stored procedure adalah karena disimpan dalam instances maka stored procedure tidak boleh memiliki nama yang sama dalam sebuah instances. %.%.=.$ Parameter dalam Store )rocedure Pada proses pembuatan stored procedure kita dapat memberikkan parameter yang memiliki kegunaan tertentu pada stored procedure yang kita buat tergantung dengan tipe dari parameternya 5ipe parameter pada stored procedure dapat dikelompokkan menjadi tiga yaitu $. Parameter IN (@ parameter (parameter in) merupakan parameter yang menyediakan nilai bagi stored procedure dengan kata lain parameter tersebut menerima nilai inputan untuk digunakan dalam stored procedure yang kita buat. %. Parameter &UT ;ut parameter (parameter out) merupakan parameter yang menyimpan hasil atau nilai yang diperoleh dari kerja stored procedure lalu nilai tersebut lah yang dikembalikkan setelah stored procedure selesai diexecute 7. Parameter IN &UT Parameter ini memiliki fungsi#ketika stored procedure pertama kali dijalankan parameter ini akan bertindak sebagai pemberi inputan bagi stored procedure tersebut setelah stored procedure di-execute nilai dari parameter tersebut akan direturn sebagai nilai yang dihasilkan dari proses eksekusi stored procedure.

%.%.=.% !anfaat Store )rosedure "dapun beberapa manfaat dalam store procedure diantaranya # $. !emperkecil trafik request dari aplikasi ke database karena semua proses bisnis dilakukan di database mysDl dan aplikasi akan menerima hasil proses saja. %. Ketika sebuah aplikasi yang dide$elop terdiri dari berbagai bahasa pemrograman yang mana kedua tipe aplikasi tersebut membutuhkan hasil dan operasi database yang sama. 7. ?ntuk meningkatkan security dengan contoh apabila yang login dengan user $%7< tidak akan dapat melakukan akses data kedalam beberapa tabel secara langsung melainkan harus melalui store procedure dengan begitu akan lebih meningkatkan ke8alitan dalam data. 2.2.' (e)likasi 6eplikasi adalah suatu teknik untuk melakukan copy dan pendistribusian data dan objek-objek database dari satu database ke database lain dan melaksanakan sinkronisasi antara database sehingga konsistensi data dapat terjamin. Kegunaan dari proses replikasi ini adalah bila suatu database satu mengalami kerusakan maka secara otomatis semua data yang telah disimpan pada database satu dapat dilihat kembali di database lain. Kalau pada pembahasan diatas yaitu )roses Bac'up dan !estore agak kurang praktis maka konsep inilah solusi keefektifan dalam menja)ab kekurangpraktisan kedua proses diatas. Konsep ini merupakan konsep teknologi yang unik karena secara otomatis segala perintah yang ada pada database satu akan tersimpan pada database lain sehingga bila kehilangan data pada database satu database masih tersimpan rapih di database lain.

10

Keuntungan replikasi tergantung dari jenis replikasi tetapi pada umumnya replikasi mendukung ketersediaan data setiap )aktu dan dimanapun diperlukan. "dapun keuntungan lainnya adalah # $) !emungkinkan beberapa lokasi menyimpan data yang sama. :al ini sangat berguna pada saat lokasi-lokasi tersebut membutuhkan data yang sama atau memerlukan ser$er yang terpisah dalam pembuatan aplikasi laporan. %) "plikasi transaksi online terpisah dari aplikasi pembacaan seperti proses analisis database secara online data smarts atau data &are*ouse. 7) !emungkinkan otonomi yang besar. Pengguna dapat bekerja dengan meng-copy data pada saat tidak terkoneksi kemudian melakukan perubahan untuk dibuat database baru pada saat terkoneksi <) Data dapat ditampilkan seperti layaknya melihat data tersebut dengan menggunakan aplikasi berbasis +eb =) !eningkatkan kinerja pembacaan >) !emba)a data mendekati lokasi indi8idu atau kelompok pengguna. :al ini akan membantu mengurangi masalah karena modifikasi data dan pemrosesan query yang dilakukan oleh banyak pengguna karena data dapat didistribusikan melalui jaringan dan data dapat dibagi berdasarkan kebutuhan masing-masing unit atau pengguna. E) Penggunaan replikasi sebagai bagian dari strategi standby ser$er. 2.2.* Cursor ,ursor juga bisa diartikan dengan ,ursor adalah suatu perintah pemrograman yang mengijinkan setiap baris (record) diproses secara terpisah ingin dilakukan terhadap suatu record. Proses tersebut bisa dilakukan secara satu per satu yatiu le)at cursor terhadap record lainnya. ,ursor sangat bermanfaat jika ada suatu proses yang rumit yang ingin dilakukan terhadap suatu record. Dalam membuat cursor terdapat beberapa algoritma yaitu # a. !endeklarasikan ,ursor b. !embuka ,ursor
11

c. !emproses ,ursor d. !enutup ,ursor e. !endealokasikan ,ursor BAB III STORED PROCEDURE !.1 T"#"an Praktik"m "dapun tujuan dari praktikum ini utamanya pada bab stored procedure ini yaitu sebagai berikut # $. %. 7. !emahami pengertian dan kegunaan Stored procedure pada database !ySA&. !emahami penulisan Stored procedure pada database !ySA&. Dapat menggunakan Stored procedure pada suatu kasus database !ySA&. !.2 Tin#a"an P"staka Berikut adalah merupakan tinjauan pustaka pada bab ini yaitu stored procedure. !.2.1 Pengertian Stored procedure Stored procedure adalah kumpulan perintah SA& yang diberi nama dan disimpan di ser$er. Stored procedure biasanya berisi perintah-perintah umum yang berhubungan dengan database pada ser$er dan menghasilkan sekumpulan record. Stored procedure ditulis dalam bentuk sebuah script. Dalam SA& Ser$er store procedure memiliki kemampuan antara lain # $. %. 7. !enerima parameter input dan mengembalikan beberapa nilai parameter output dari procedure yang dipanggil. !engandung statement pemrograman yang melakukan operasi terhadap database termasuk memanggil stored procedure lain. !emberikan status yang mengindikasikan keberhasilan atau kegagalan eksekusi stored procedure.

12

!.2.2 Stored Procedure Pengertian dari stored procedure itu sendiri adalah suatu ob(ect yang dapat menyimpan query yang kita buat sehingga query tersebut dapat digunakan kembali. Ketentuan dalam penggunaan stored procedure adalah karena disimpan dalam instances maka stored procedure tidak boleh memiliki nama yang sama dalam sebuah instances. stored procedure juga bisa berarti sekumpulan statement S"- yang ditempatkan pada ser$er untuk dieksekusi. !.2.! Parameter +alam Store Prosedure Pada proses pembuatan stored procedure kita dapat memberikkan parameter yang memiliki kegunaan tertentu pada stored procedure yang kita buat tergantung dengan tipe dari parameternya 5ipe parameter pada stored procedure dapat dikelompokkan menjadi tiga yaitu $. Parameter IN (@ parameter (parameter in) merupakan parameter yang menyediakan nilai bagi stored procedure dengan kata lain parameter tersebut menerima nilai inputan untuk digunakan dalam stored procedure yang kita buat. %. Parameter &UT ;ut parameter (parameter out) merupakan parameter yang menyimpan hasil atau nilai yang diperoleh dari kerja stored procedure lalu nilai tersebut lah yang dikembalikkan setelah stored procedure selesai diexecute 7. Parameter IN &UT Parameter ini memiliki fungsi#ketika stored procedure pertama kali dijalankan parameter ini akan bertindak sebagai pemberi inputan bagi stored procedure tersebut setelah stored procedure di-execute nilai dari

13

parameter tersebut akan direturn sebagai nilai yang dihasilkan dari proses eksekusi stored procedure.

!.2.$

Manfaat Store Prosedure "dapun beberapa manfaat dan keunggulan dalam stored procedure

diantaranya # !emperkecil trafik request dari aplikasi ke database karena semua proses bisnis dilakukan di database mysDl dan aplikasi akan menerima hasil proses saja. $. Ketika sebuah aplikasi yang dide$elop terdiri dari berbagai bahasa pemrograman yang mana kedua tipe aplikasi tersebut membutuhkan hasil dan operasi database yang sama. 7. ?ntuk meningkatkan security dengan contoh apabila yang login dengan user $%7< tidak akan dapat melakukan akses data kedalam beberapa tabel secara langsung melainkan harus melalui store prosedure dengan begitu akan lebih meningkatkan ke8alidan dalam data. <. &ebih cepat. :al ini karena kumpulan perintah query dijalankan langsung diser$er. Berbeda dengan jika dijalankan secara sekuensial di bahasa pemrograman akan lebih lambat karena harus 1bolak-balik3 antara client dan ser$er. =. !enghilangkan duplikasi proses pemeliharaan yang mudah . Pada dasarnya operasi yang terjadi di suatu aplikasi terhadap database adalah sama. Secara umum di alam aplikasi biasanya terdapat operasi untuk 8alidasi data inputan menambahkan record baru mengubah record menghapus record dan sebagainya. Dengan SP pemeliharaannya juga jadi lebih mudah. >. !eningkatkan keamanan database. Dengan adanya SP database akan lebih aman karena aplikasi yang memanggil SP tidak perlu mengetahui isi di dalamnya. Sebagai contoh dalam proses menambahkan data (insert)
14

mungkin dapat

menghindari adanya duplikasi proses yang kurang lebih sama sehingga

kita membuat suatu SP khusus. Dengan demikian saat client atau aplikasi akan menambahkan data (insert) maka tidak perlu tahu nama tabelnya karena hanya cukup memanggil SP tersebut dengan mengirimkan parameter yang diinginkan. !.2.% , nt - mem."at Stored Procedure Sebagai contoh sederhana membuat suatu stored procedure yang akan menampilkan string F*ello &ord. berikut adalah source codenya /
DELIMITER $$ CREATE PROCEDURE hello() BEGIN SELECT Hello Word! END$$ DELIMITER K +e Pr gram !.1 2ontoh Stored procedure

Kode program 7.$ merupakan contoh membuat stored procedure. Di mana stored procedure yang dibuat adalah stored procedure hello(). !.! Pem.a-asan +an U#i , .a Di ba)ah ini merupakan stored procedure menghitung kekurangan pembayaran dan stored procedure menentukan jumlah total bayar. !.!.1 Stored procedure Meng-it"ng Kek"rangan Pem.a/aran Di ba)ah ini merupakan source code untuk menghitung jumlah kekurangan dari pembayaran dalam database #
DELIMITER $$ USE !"e#$%&%r%'!$$ DROP PROCEDURE I( E)ISTS !h*+,'-.re#%r/!$$ CREATE DE(INER0!roo+!1!lo2%lho3+! PROCEDURE !h*+,'-.re#%r/!(IN *d INT4 OUT 5 6ARCHAR(78)) BEGIN DECLARE % INT DECLARE $ INT DECLARE 2 INT DECLARE d CHAR(98) DE(AULT :le$*h ;: DECLARE e CHAR(98) DE(AULT :/,r%'- ;:

15

/<*+%'3*.*d0*d)

SET %;0 (SELECT +o+%l (ROM +$./<*+%'3* WHERE

SET $;0 (SELECT +o+%l.$%&%r (ROM +$./<*+%'3* WHERE /<*+%'3*.*d0*d) I( $ = % THEN SET 2;0 (SELECT +o+%l.$%&%r > +o+%l (ROM +$./<*+%'3* WHERE /<*+%'3*.*d0*d) SET 5;0 CONCAT(:le$*h ; :424: /,r%'- ; 8:) END I( I( % = $ THEN SET 2;0 (SELECT +o+%l>+o+%l.$%&%r (ROM +$./<*+%'3* WHERE /<*+%'3*.*d0*d) SET 5;0 CONCAT(:le$*h ; 8:4 : /,r%'- ; : 4 2) END I( I( % 0 $ THEN SET 5;0 (:le$*h 0 8 /,r%'- 0 8:) END I( END$$ DELIMITER K +e Pr gram !.2 Stored procedure untuk !enghitung Kekurangan Pembayaran

Kode program 7.% merupakan query stored procedure untuk menghitung kekurangan pembayaran yang dimana nilai kekurangan didapatkan dari tbGk)itansi yaitu dengan mengurangi nilai yang ada pada field total dikurangi dengan total bayar dari tabel k)itansi. :asil dari pengurangan tersebut akan ditampung pada remark dan nantinya nilai yang ada pada remark tersebut akan dipanggil sehingga nilai kekurangan pembayaran akan tampil.
2%llh*+,'-.re#%r/ (94 1*4 15) SELECT 1* AS NIM4 15 AS ?e/,r%'-%'."e#$%&%r%' K +e Pr gram !.! !emanggil @ilai 6emark

Kode program 7.7 merupakan "uery yang digunakan untuk memanggil atau menampilkan nilai dari kekurangan pembayaran yang tadinya di simpan pada remark. Dan nilai kekurangan akan ditampilkan seperti pada yang terlihat pada gambar diba)ah ini

0am.ar !.1 :asil dari Proses Pemanggilan 2all :itung 6emark yang !enghasilkan Kekurangan Pembayaran

16

-ambar 7.$ menunjukan nilai yang dihasilkan dari stored procedur yang menghitung kekurangan pembayaran dengan cara memanggil callhitungGremark.

!.!.2

Stored procedure Unt"k Menent"kan J"mla- t tal1.a/ar Di ba)ah ini merupakan Duery untuk menghitung jumlah total

pembayaran dalam database #


DELIMITER @@ CREATE PROCEDURE +o+%l.$%&%r(IN *d INT4 OUT $ INT) BEGIN SET $;0 (SELECT 3,#(A,#l%h) (ROM +$.de+%*l./<*+%'3* Where /<*+%'3*.*d0*d) END@@ DELIMITER K +e Pr gram !.$ !enentukan *umlah 5otal Pembayaran

Kode program 7.< adalah query yang digunakan untuk menentukan jumlah total pembayaran yang nilainya didapatkan dari penjumlahan yang dilakukan di tbGdetailGk)itansi yaitu pada field jumlah sesuai dengan k)itansiGid sehingga nantinya menampilkan nilai pada field total pembayaran.
2%ll+o+%l.$%&%r(74 1$) SELECT 1$ K +e Pr gram !.% !emanggil Stored procedure 2all 5otal Bayar

Kode program 7.= merupakan query yang digunakan untuk memanggil stored procedur guna menampilkan nilai total pembayaran. Dimana pada kasus ini nilai dari total pembayaran akan ditampilkan pada field tersendiri yang dinamakan dengan field Hb seperti yang ditunjukan pada gambar diba)ah ini.

0am.ar !.2 Field yang !enampung @ilai 5otal Pembayaran

17

-ambar 7.% merupakan nilai yang ditampilkan dari proses pemanggilan query calltotalGcursor yang dimana dari proses pemanggilan tersebut akan memperlihatkan nilai dari total pembayaran yang harus dibayarkan

!.$

Kesim)"lan "dapun simpulan yang dapat ditarik dari praktikum teknologi basisdata

pada stored procedure ini diantaranya # $. %. 7. <. Stored procedure memiliki kegunaan untuk menghilangkan duplikasi proses dan pemeliharaan yang mudah. Stored procedure juga bisa digunakan untuk pengamanan data dalam database. Dalam stored procedure juga memiliki diantara parameter diantaranya (@ ;?5 dan (@;?5. Stored procedure bisa mempercepat jalannya query di ser$er.

18

BAB I2 CURSOR $.1 T"#"an "dapun tujuan dari praktikum ini utamanya pada bab ,ursor ini yaitu sebagai berikut # $. %. 7. $.2 !emahami pengertian dan kegunaan ,ursor pada database !ySA&. !emahami penulisan ,ursor pada database !ySA&. Dapat menggunakan ,ursor pada suatu kasus database !ySA&. Tin#a"an P"staka "dapun tinjauan pustaka yang akan mendukung proses didalam menyelesaikan pembahasan mengenai ,ursor. $.2.1 Pengertian Cursor ,ursor merupakan suatu 8ariabel yang digunakan untuk menampung hasil query yang terdiri atas lebih dari satu ro& atau record. ,ursor dapat diilustrasikan sebagai penampung sekaligus pointer atas hasil eksekusi query. Pada dasarnya perintah 1S9&925 ..3 pada P&0SA& merupakan sebuah cursor. Blok P&0SA& tidak memungkinkan untuk menangani query dengan keluaran lebih dari satu baris (record) karena 8ariabel penampungnya harus mempunyai sebuah nilai. Karena itu diperlukan sebuah cursor untuk menampung semua kondisi dari keluaran sebuah query. $.2.2 Ke"nt"ngan Cursor Keuntungan utama cursor adalah anda dapat mengakses data baris demi baris. 'ang dimaksud dengan *asil0*asil data yang ditentu'an adalah kumpulan baris yang diperoleh dari operasi S9&925 yang memenuhi criteria yang dinyatakan dalam .:969 clause. Serta fungsi lainnya dari cursor adalah membantu akses store procedure yang berhubungan dengan manipulasi data serta dalam penggunaan trigger.

19

$.2.!

Jenis Cursor 5erdapat dua macam cursor yaitu# cursor implisit dan cursor eksplisit.

Berikut dijelaskan masing-masing jenis cursor tersebut <.%.7.$ ,ursor (mplisit !erupakan perintah S9&925 statement dengan klausa (@5; yang terdapat di dalam blok P&0SA& dan harus menghasilkan satu baris record. *ika hasil cursor implisit ini lebih dari satu baris atau tidak menghasilkan satu baris pun maka ;racle akan mengeluarkan pesan kesalahan. Klausa into pada cursor implisit dipakai untuk menugaskan nilai hasil proses select ke dalam 8ariabel8ariabel yang dipilih. ,ursor jenis ini akan berasosiasi dengan perintah S9&925 (@S965 D9&959 dan ?PD"59. "dapun atribut-atribut yang terdapat pada cursor implisit adalah sbb # $. SA&I@;5+;?@D "tribut ini akan berasosiasi dengan statemen S9&925 yaitu dengan mengembalikan nilai true apabila query yang didefinisikan tidak memberikan hasil (@?&&) dan false apabila query memberikan hasil atau terdapat data yang ditemukan dalam proses query tersebut. %. SA&J+;?@D "tribut ini merupakan kebalikan dari atribut SA&I@;5+;?@D yaitu dengan mengembalikan nilai true apabila query memberikan hasil dan false apabila hasil query @?&&. 7. SA&I(S )E1 "tribut ini akan bernilai true pada saat eksekusi query. Setelah proses eksekusi selesai maka atribut ini secara otomatis akan bernilai false. <. SA&I6;.2;?@5 "tribut ini menunjukkan banyaknya baris yang diberikan oleh query yang dilakukan oleh user.

20

<.%.7.% ,ursor 9ksplisit 5idak seperti cursor implisit cursor eksplisit harus dideklarasikan terlebih dahulu sebelum digunakan. 5erdapat empat tahapan penggunaan cursor eksplisit ini yaitu# declare open fetc* dan terakhir adalah close. $. Declare !erupakan deklarasi cursor pada blok P&0SA& yang akan digunakan. ,ursor perlu dideklarasikan karena sifat cursor yang menyerupai 8ariable (dapat dipanggil dalam blok utama program) namun deklarasi untuk cursor diletakkan setelah deklarasi 8ariable lain tepat sebelum a)al program (begin).
CURSOR '%#%.cursor IS query K +e )r gram $.1 Statement declare pada cursor

Kode program <.$ !erupakan deklarasi nama cursor dan definisi struktur Duery yang akan dilakukan di dalamnya. %. pen Sebelum suatu cursor dapat digunakan sebelumnya cursor harus dibuka terlebih dahulu. Berikut adalah Duery untuk membuka cursor.
OPEN '%#%.cursor K +e Pr gram $.2 Statement open pada cursor

Kode program <.% adalah statement open pada cursor Duery dalam cursor dieksekusi dan hasilnya ditampung dalam memory 7. Fetc* !erupakan perintah untuk mengambil data dari cursor dan ditransfer ke 8ariable penampung yang ada pada klausa into. Dan diletakkan dalam looping yang akan berhenti begitu semua baris data dalam cursor selesai di-fetc* ke 8ariable penampung. ,lose Setelah pemrosesan query selesai cursor ditutup dan hasil query dalam cursor dihapus dari memory.
FETCH '%#%.cursor INTO B5%r*%$le945%r*%$leC4DD= K +e Pr gram$.! Statement fetc*

21

5iap-tiap field hasil Duery tersebut kemudian ditampung dalam 8ariable8ariable yang tipe datanya sesuai dengan tipe-tipe kolom Duery pada statemen deklarasi. +etch ini dilakukan untuk tiap-tiap baris. 2. ,lose Setelah pemrosesan query selesai cursor harus ditutup dengan satatemen ,- SE ini. Berikut ini adalah atribut-atribut untuk mendapatkan status cursor. Setiap atribut dalam penggunaannya harus didahului dengan nama cursor.
CLOSE namaGcursor4 K +e Pr gram $.$ Statement ,lose

,lose Setelah pemrosesan query selesai cursor ditutup dan hasil query dalam cursor dihapus dari memory. $.2.$ Cursor 3&( L&&P "da sebuah cara untuk mengambil isi cursor secara otomatis yaitu dengan struktur pengulangan 3&( L&&P. Disebut otomatis karena $. %. 7. <. tidak perlu proses pembukaan cursor ( )E1 ) memanipulasi proses pengambilan cursor ( FE%,3 ) tidak perlu penutupan cursor ( ,- SE ) 8ariabel indeks yang digunakan dalam struktur pengulangan +;6G&;;P tidak perlu dideklarasikan terlebih dahulu

22

$.!

Pem.a-asan +an U#i , .a Berikut adalah pembahasan dan uji coba cursor untuk menghitung total

bayar dan remark. $.!.1 Cursor Unt"k Men#"mla- T tal Ba/ar Dengan (emark Kemudian cursor akan di panggil dengan perintah 2all namaGcursor Sehingga akan menghasilkan nilai sebagai berikut
DELIMITER $$ USE !"e#$%&%r%'!$$ DROP PROCEDURE I( E)ISTS !cursor9!$$ CREATE DE(INER0!roo+!1!lo2%lho3+! PROCEDURE !cursor9!() BEGIN DECLARE *d INT DECLARE do'e INT DE(AULT 8 DECLARE "rodrecord CURSOR (OR SELECT /<*+%'3*.*d (ROM +$./<*+%'3* ORDER BE /<*+%'3*.*d DECLARE CONTINUE HANDLER (OR SFLSTATE :8C888: SET do'e 0 9 OPEN "rodrecord WHILE NOT do'e DO FETCH "rodrecord INTO *d CALL +o+%l.$%&%r(*d4 1$) I( NOT do'e THEN UPDATE +$./<*+%'3* SET +o+%l.$%&%r01$ WHERE /<*+%'3*.*d0*d END I( CALL h*+,'-.re#%r/(*d4 15) I( NOT do'e THEN UPDATE +$./<*+%'3* SET re#%r/015 WHERE /<*+%'3*.*d0*d END I( END WHILE CLOSE "rodrecord END$$ DELIMITER K +e Pr gram $.% ,ursor dalam mengupdate tbGk)itansi

Kode program <.= adalah query cursor yang digunakan untuk mengupdate nilai pada tabel tbGk)itansi yaitu di field total bayar. "pabila cursor ini dijalankan maka field total bayar akan ter-update secara otomatis dan akan menghasilkan informasi terbaru yang terdapat pada tabel tbGk)itansi tanpa harus meng-input secara manual pada field total bayar.

23

0am.ar $.1 tampilan hasil dari cursor yang telah dijalankan

-ambar <.$ menunjukan bah)a cursor telah dijalankan dan pada field total bayar sudah ter-update secara otomatis yang dimana tbGk)itansis setelah cursor dijalankan akan memperlihatkan informasi terbaru terutamanya pada field totalGbayar. $.!.2 Cursor Unt"k , )/ Data Berikut adalah sourcecode fungsi dalam cursor untuk mengcopy data Dari tabel K)itansi
DELIMITER $$ USE !"e#$%&%r%'!$$ DROP PROCEDURE I( E)ISTS !cursor."*'d%h!$$ CREATE DE(INER0!roo+!1!lo2%lho3+! PROCEDURE !cursor."*'d%h!() BEGIN DECLARE *d INT DECLARE do'e INT DE(AULT 8 DECLARE "rod CURSOR (OR SELECT /<*+%'3*.*d (ROM +$./<*+%'3* ORDER BE /<*+%'3*.*d DECLARE CONTINUE HANDLER (OR SFLSTATE :8C888: SET do'e 0 9 OPEN "rod CALL h%",3.%ll() WHILE NOT do'e DO FETCH "rod INTO *d CALL "*'d%h.d%+%9(*d4 1%4 1$4 124 1d4 1e4 1G4 1-) CALL "*'d%h.d%+%C(*d4 1h4 1*) I( NOT do'e THEN INSERT INTO +$.H (/<*+%'3*.*d4 #3.*d4 3e#e3+er4 +%h,'.%A%r%'4 +o+%l4 +rH.3+%+,34 +o+%l.$%&%r4 re#%r/4 I+#.C4 I+#.I) 6ALUES (*d4 1%4 1$4 124 1d4 1e4 1G4 1-4 1h4 1*) END I( END WHILE CLOSE "rod END$$ DELIMITER K +e Pr gram $.* fungsi dalam cursor untuk mengcopy data dari tabel k)itansi

24

Kode program <.E adalah query untuk meng-copy atau menyalin data dari beberapa field yang terdapat pada tabel tbGk)itansi ke tabel tbGK sehingga nantinya tabel tersebut akan memiliki seluruh data yang terdapat pada tabel tbGk)itansi.
DELIMITER@@ CREATE PROCEDURE "*'d%h.d%+%C(IN *d INT4 OUT % INT4 OUT $ INT4 OUT 2 INT4 OUT d INT) BEGIN SET %;0 (SELECT A,#l%h (ROM +$.de+%*l./<*+%'3* WHERE /<*+%'3*.*d0*d AND 3*#"le.2ode0:SPP:) SET $;0 (SELECT A,#l%h (ROM +$.de+%*l./<*+%'3* WHERE /<*+%'3*.*d0*d AND 3*#"le.2ode0:AJBMM:) SET 2;0 (SELECT A,#l%h.$%&%r (ROM +$.de+%*l./<*+%'3* WHERE /<*+%'3*.*d0*d AND 3*#"le.2ode0:SPP:) SET d;0 (SELECT A,#l%h.$%&%r (ROM +$.de+%*l./<*+%'3* WHERE /<*+%'3*.*d0*d AND 3*#"le.2ode0:AJBMM:) END@@ DELIMITER CALL "*'d%h.d%+%C(94 1%4 1$4 124 1d) SELECT 1%4 1$4 124 1d K +e Pr gram $.4 fungsi dalam cursor untuk mengcopy data dari tabel detail k)itansi

Kode program <.L adalah query untuk meng-copy data dari beberapa field yang terdapat pada tabel tbGdetailGk)itansi ke tabel tbGK sehingga nantinya tabel tersebut akan memiliki seluruh data yang terdapat pada tabel tbGdetailGk)itansi. Kemudian untuk memindahkan data secara otomatis maka akan dilakukan dengan cara memanggil cursor sebagai berikut.
DELIMITER@@ CREATE PROCEDURE cursor."*'d%h () BEGIN DECLARE *d INT DECLARE do'e INT DE(AULT 8 DECLARE "rod CURSOR (OR SELECT /<*+%'3*.*d (ROM +$./<*+%'3* ORDER BE /<*+%'3*.*d DECLARE CONTINUE HANDLER (OR SFLSTATE :8C888: SET do'e 0 9 OPEN "rod WHILE NOT do'e DO FETCH "rod INTO *d CALL "*'d%h.d%+%9(*d4 1%4 1$4 124 1d4 1e4 1G) CALL "*'d%h.d%+%C(*d4 1-4 1h4 1*4 1A) I( NOT do'e THEN

25

INSERT INTO +$.H 6ALUES (*d4 1%4 1$4 124 1-4 1h4 1d4 1*4 1A4 1e4 1G) END I( END WHILE CLOSE "rod END@@ DELIMITER K +e Pr gram $.5 fungsi pemanggil cursor untuk memindahkan data secara otomatis

Kode program <.M adalah merupakan query cursor yang nantinya akan mengeksekusi atau yang akan menyalin data dari beberapa field baik itu dari tabel tbGk)itansi atau pun tbGdetailGk)itansi dan nantinya tabel tersebut akan direpikasi di sla$e. Dan langkah selanjutnya adalah melakukan pemanggilan cursor dengan perintah sebagai berikut 2"&& cursorGpindah () Sehingga data akan berpindah ke tabel yang dituju dalam kasus ini tbGK

0am.ar $.2 6a7 5ampilan hasil cursor perpindahan

Dapat dilihat pada gambar <.% (a) adalah merupakan hasil eksekusi dari query cursor dan digambar tersebut terlihat data dari beberapa field tabel tbGK yang didapat dari tabel tbGk)itansi dan juga tabel tbGdetailGk)itansi.

0am.ar $.2 6.7 5ampilan hasil cursor perpindahan data dengan $/ tabel tambahan

Pada gambar <.% (b) merupakan tampilan hasil cursor perpindahan data dengan $/ tabel tambahan.

26

0am.ar $.! Sebelum Perubahan Data pada 5abel tbGK)itansi

-ambar <.7 adalah merupakan tampilan dari data tabel tbGk)itansi sebelum dilakukan perubahan dengan menggunakan trigger. Sehingga nantinya setelah trigger dijalankan maka akan terjadi perubahan pada beberapa field yang terdapat di tabel tbGk)itansi.

0am.ar $.$ Sebelum Perubahan Data Pada 5abel tbGK

-ambar <.< adalah merupakan tampilan dari data tabel tbGK sebelum adanya perubahan. Dan nantinya setelah trigger dijalankan maka akan terjadi perubahan pada beberapa field yang terdapat di tabel tbGK.
UPDATE +$.H SET SPP07888884 AJBM0C88884 +o+%l.$%&%r07C8888 WHERE /<*+%'3*.*d0C K +e Pr gram $.5 "uery untuk !eng-update data di k)itansiGid B %

Kode program <.M adalah query update yang digunakan untuk mengupdate data pada field SPP "*! dan totalGbayar pada k)itansiGid no %.

0am.ar $.% Sebelum Perubahan Data pada 5abel tbGK

27

-ambar <.= adalah merupakan gambar yang menampilkan data yang sudah di-update pada tabel tbGK yang nantinya data berubah pada tabel tbGK ini akan berubah juga pada field di tabel tbGk)itansi yang terdapat pada tabel tbGK.

0am.ar $.' Sebelum Perubahan Data pada 5abel tbGK)itansi

Pada gambar <.> terlihat perubahan data pada tabel k)itansi pada field k)itansiGid no % yang sebelumnya datanya telah dirubah pada tabel tbGK.

28

$.$

Kesim)"lan "dapun simpulan yang dapat ditarik dari praktikum teknologi basisdata

pada cursor ini diantaranya # $ ,ursor merupakan suatu 8ariabel yang digunakan untuk menampung hasil query yang terdiri atas lebih dari satu ro) atau record. ,ursor dapat diilustrasikan sebagai penampung sekaligus pointer atas hasil eksekusi query. % ,ursor sangat bermanfaat jika ada suatu proses yang rumit yang ingin dilakukan terhadap suatu record. Proses tersebut bisa dilakukan secara satu per satu yaitu le)at cursor. 7 Dalam membuat cursor terdapat beberapa algoritma yaitu mendeklarasikan cursor membuka cursor memproses cursor menutup cursor dan mendealokasikan cursor.

29

BAB 2 TRIGGER %.1 T"#"an "dapun tujuan dari praktikum ini utamanya pada bab %rigger yaitu sebagai berikut # $. %. 7. Dapat memahami pembuatan %rigger pada bahasa pemrograman Database !ySA&. !emahami penulisan %rigger pada database !ySA&. Dapat memahami penggunaan %rigger dalam penyelesaian masalah manajemen basis data. %.2 Tin#a"an P"staka Berikut adalah tinjauan pustaka yang mendukung dan digunakan untuk melakukan proses percobaan replikasi. %.2.1 Trigger Dalam teknologi basis data kita mengenal istilah trigger didalamnya. %rigger adalah blok P&0SA& atau prosedur yang berhubungan dengan tabel, $ie&, skema atau database yang dijalankan secara implicit pada saat terjadi sebuah e8ent. "dapun beberapa tipe dari trigger adalah sebagai berikut # $. %. Application trigger # diaktifkan pada saat terjadi e8ent yang berhubungan dengan sebuah aplikasi Database trigger # diaktifkan pada saat terjadi e8ent yang berhubungan dengan data (seperti operasi D!&) atau e8ent yang berhubungan dengan sistem (semisal logon atau s*utdo&n) yang terjadi pada sebuah skema atau database.

30

%.2.2 Manfaat Trigger "da beberapa manfaat yang terdapat dalam trigger diantaranya yaitu # $. %. 7. !engatur integritas dari constraint yang kompleks yang tidak mungkin ditangani oleh sintaks-sintaks pembuatan tabel. !encegah transaksi yang tidak 8alid. !emperbaiki keamanan database dengan menyediakan audit yang lebih kompleks mengenai informasi perubahan database dan user siapa yang melakukan perubahan. <. Secara otomatis memberi sinyal program lain untuk melakukan sesuatu jika isi tabel diubah. Selain manfaat yang dimiliki oleh trigger adapun beberapa batasan dalam hal penggunaan fungsi trigger # $. 5idak dapat menggunakan perintah commit dan rollback selain itu juga tidak dapat memanggil %. procedure, function atau pac'age yang menggunakan perintah commit dan rollbac'. 5idak dapat diimplementasikan pada kolom pada suatu tabel yang memilki constraint jika pada akhirnya akan menyebabkan pelanggaran constraint. Biasanya terjadi akibat modifikasi pada primary 'ey %.2.! Pengg"naan Trigger Dalam penggunaan %rigger dibuat sesuai dengan keperluan. "da kalanya %rigger digunakan pada saat # $. %. !embentuk sebuah aksi tertentu terhadap suatu e$ent !emusatkan operasi global Prosedur bisa dibuat dalam database kemudian prosedur tersebut

dipanggil pada trigger. *ika penggunaan trigger terlalu berlebihan maka akan menyebabkan terjadi sifat. ketidaktergantungan yang terlalu kompleks sehingga akan mempersulit pemeliharaan dari aplikasi yang besar.

31

%.2.$ K m) nen 8 K m) nen +alam Trigger Komponen dari sebuah trigger ada > (enam) yaitu # trigger timing trigger e$ent nama tabel tipe trigger klausa .:9@ dan trigger body. Berikut ini penjelasan komponen dari trigger. %rigger timing adalah )aktu kapan trigger diaktifkan. "da tiga macam trigger timing yaitu # $. %. 7. B9+;69 "+596 # trigger dijalankan sebelum D!& e$ent pada tabel # trigger dijalankan setelah D!& e$ent pada tabel

(@S59"D ;+ # trigger dijalankan pada sebuah $ie&. %rigger e8ent ada 7 kemungkinan # (@S965 ?PD"59 atau D9&959.

Pada saat trigger e$ent ?PD"59 kita dapat memasukkan daftar kolom untuk mengidentifikasi kolom mana yang berubah untuk mengaktifkan sebuah trigger (contoh # ?PD"59 ;+ salary ... ). *ika tidak ditentukan maka perubahannya akan berlaku untuk semua kolom pada semua baris. "da % macam 5ipe trigger yaitu # 4. Statement %rigger dijalankan sekali saja pada saat terjadi sebuah e$ent.Statement trigger juga dijalankan sekali meskipun tidak ada satupun baris yang dipengaruhi oleh e8ent yang terjadi. 5. !o& %rigger dijalankan pada setiap baris yang dipengaruhi oleh terjadinya sebuah e$ent. !o& trigger tidak dijalankan jika e8ent dari trigger tidak berpengaruh pada satu baris pun. %rigger body mendefinisikan tindakan yang perlu dikerjakan pada saat terjadinya e$ent yang mengakibatkan sebuah trigger menjadi aktif %.2.% Jenis 8 Jenis Trigger Dalam pembahasan trigger terdapat beberapa jenis trigger yang digunakan dalam menjalankan trigger."dapun jenis C jenis trigger diantaranya # =.%.=.$ !o&0le$el dan Statement0le$el %rigger Ketika membuat sebuah trigger kita dapat menentukan berapa kali aksi trigger di dalamnya dieksekusi#

32

$.

!o&0le$el trigger dieksekusi untuk setiap ro& yang dimanipulasi pada suatu transaksi. Dengan kata lain ro&0le$el trigger mengerjakan trigger action satu kali untuk setiap ro& yang dimanipulasi. Penerapan trigger ini ditunjukkan oleh adanya klausa +;6 9"2: 6;.. !o&0le$el trigger berguna jika kode dalam trigger body bergantung pada setiap baris yang terpengaruh oleh triggering statement.

%.

Statement0le$el trigger dieksekusi satu kali pada saat transaksi tanpa memperhatikan jumlah ro& yang terlibat. !isalnya jika terdapat suatu transaksi yang memasukkan $/// baris ke dalam tabel maka statement0 le$el trigger hanya akan dieksekusi sekali saja. Statement0le$el trigger berguna jika kode dalam trigger body tidak bergantung pada baris yang terpengaruh oleh triggering statement. Secara default trigger yang dibuat adalah statement0le$el trigger.

=.%.=.% Before and After %rigger Dalam pembuatan sebuah trigger kita dapat menentukan trigger timing yaitu apakah trigger body akan dieksekusi sebelum atau sesudah triggering statement dieksekusi. Before trigger menjalankan trigger body sebelum e8ent atau triggering statement. ;leh karena itu trigger ini cocok digunakan untuk mendeteksi bagaimana e$ent boleh dilanjutkan maupun tidak. After trigger menjalankan trigger action setelah e$ent terjadi. Kita mungkin akan berhubungan dengan data lama (old) dan data baru (ne&) yang terjadi dalam transaksi. Dalam trigger dikenal istilah alias atau referensi yaitu sejenis 8ariabel yang menyimpan nilai dari suatu kolom dalam tabel. =.%.=.7 6nstead f %rigger 6nstead of trigger hanya akan dieksekusi bagi 8ie) dan diakti8asi jika terjadi perubahan pada base tabel (tabel asli). Proses yang akan dilakukan oleh triggering statement akan digantikan oleh aksi pada trigger body.

33

=.%.=.< System E$ent 7 #ser E$ent %rigger Penggunaan trigger dapat dikelompokkan menurut e$ent yang terjadi# $. System e$ents a. Database startup 7 s*utdo&n b. Ser$er error message e$ents c. #ser e$ents %. #ser logon and logoff a. DD& statements (CREATE ALTER and DROP) b. D!& statements (INSERT DELETE and UPDATE) =.%.> Keuntungan dalam Penggunaan %rigger "dapun keuntungan yang diperoleh didalam penggunaan trigger yaitu diantaranya # $. Standarisasi (penyeragaman) proses karena trigger dibuat $ kali dan tersimpan dalam database sehingga semua client yang menggunakan database tersebut sekaligus adalah pengguna trigger. %. !enyederhanakan pemrograman karena $ kali dibuat dalam database ser$er maka seluruh program dalam bahasa apapun yang mengakses database tersebut akan otomatis menggunakan %rigger yang ada tanpa harus bBdibuat oerintahnya dalam program aplikasi. 7. <. !udah diperbarui karena jika di C update sekali dalam database ser$er maka semua client akan menggunakan pembaruan yang terakhir. Kecepatan dan efisiensi proses karena trigger disimpan dalam ser$er dalam kode yang sudah terkompilasi dan dilaksanakan dalam ser$er sehingga lalu lintas jaringan menjadi berkurang. =. !emudahkan kerja tim karena jika trigger dan stored procedure sudah dibuat maka anggota tim kerja dapat menggunakan bahasa pemrograman yang berbeda dalam mengaksesnya dipak pengguna database. sebab trigger disimpan dan dilaksanakan oleh ser$er tanpa melihat bahasa pemrograman apa yang

34

%.!

Pem.a-asan +an U#i , .a Berikut merupakan pembahasan dan uji coba pada Bab = yaitu %rigger

untuk update data pada tbGk)itansi dan tbGK. 5.3.1 Trigger ?ntuk melakukan proses update status bayar di tbGk)itansi diperlukan sebuah trigger sehingga dibuat Duery pada kode program =.$.
DELIMITER $$ USE !"e#$%&%r%'!$$ DROP TRIGGER @K!788LC I( E)ISTS K@ !%,+o,"d%+e!$$ CREATE @K!7889I DE(INER 0 :roo+:1:lo2%lho3+: K@ TRIGGER !%,+o,"d%+e! BE(ORE UPDATE ON !+$.H! (OR EACH ROW BEGIN DECLARE 2 INT SET NEWD+o+%l.$%&%r 0 NEWDI+#.C M NEWDI+#.I UPDATE +$./<*+%'3* SET +o+%l.$%&%r 0 NEWD+o+%l.$%&%r WHERE /<*+%'3*.*d0OLDD/<*+%'3*.*d UPDATE +$.de+%*l./<*+%'3* SET A,#l%h.$%&%r 0 NEWDI+#.C WHERE /<*+%'3*.*d 0 OLDD/<*+%'3*.*d AND *+e#.*d0C UPDATE +$.de+%*l./<*+%'3* SET A,#l%h.$%&%r 0 'e<DI+#.I WHERE /<*+%'3*.*d 0 OLDD/<*+%'3*.*d AND *+e#.*d0I I( NEWD+o+%l.$%&%r0OLDD+o+%l THEN UPDATE +$./<*+%'3* SET +rH.3+%+,3 0 :CLOSED: WHERE /<*+%'3*.*d0OLDD/<*+%'3*.*d END I( I( NEWD+o+%l.$%&%rBOLDD+o+%l AND NEWD+o+%l.$%&%r=8 THEN UPDATE +$./<*+%'3* SET +rH.3+%+,3 0 :PENDING: WHERE /<*+%'3*.*d0OLDD/<*+%'3*.*d END I( I( NEWD+o+%l.$%&%r08 THEN UPDATE +$./<*+%'3* SET +rH.3+%+,3 0 :OPEN: WHERE /<*+%'3*.*d0OLDD/<*+%'3*.*d END I( I( NEWD+o+%l.$%&%r B OLDD+o+%l THEN SET 2;0 (SELECT OLDD+o+%l > NEWD+o+%l.$%&%r (ROM +$.H WHERE /<*+%'3*.*d0OLDD/<*+%'3*.*d) SET NEWD+rH.3+%+,3 0 :PENDING: SET NEWDre#%r/ 0 CONCAT(:/,r%'- ; :4 24: le$*h ; 8:) END I( I( NEWD+o+%l.$%&%r 0 OLDD+o+%l THEN SET NEWD+rH.3+%+,3 0 :CLOSED: SET NEWDre#%r/ 0 :/,r%'- ; 8 le$*h ; 8: END I(

35

I( NEWD+o+%l.$%&%r = OLDD+o+%l THEN SET 2;0 (SELECT NEWD+o+%l.$%&%r > OLDD+o+%l (ROM +$.H WHERE /<*+%'3*.*d0OLDD/<*+%'3*.*d) SET NEWDre#%r/ 0 CONCAT(:/,r%'- ; 8 le$*h ; :4 2) END I( END $$ DELIMITER K +e Pr gram %.1 +ungsi %rigger untuk !elakukan Auto #pdate pada 5rKGStatus dan !emar' yang 5erdapat pada 5bGK.

Kode program =.$ adalah trigger yang berfungsi untuk melakukan update pada tbGK. "pabila terdapat update baru pada tbGK maka trigger tersebut akan melakukan update pada tbGk)itnsi yaitu pada total bayar update pada tbGdetail k)itansi yaitu jumlahGbayar. Kemudian trKGstatus dan remar' pada tbGK juga mengalami perubahan berdasarkan update data baru pada totalGbayar diikuti dengan perubahan pada trKGstatus yang terdapat pada tbGk)itansi.

0am.ar %.1 6 a7 . Sebelum !elakukan #pdate Data pada tbGK.

-ambar =.$ (a) adalah gambaran data yang terdapat pada tbGK sebelum terjadi proses update dimana pada proses ini dilakukan update pada k)itansi Gid %.

36

0am.ar %.1 6 . 7. 5ambahan $/ Kolom pada 5abel tbGK yang telah Berisi Data

-ambar =.$ ( b ) merupakan tambahan $/ kolom yang berisikan data data mengenai transaksi yang akan dilakukan.
UPDATE +$.H SET I+#.C 0 7888884 I+#.I 0 C8888 WHERE /<*+%'3*.*d 0 C K +e Pr gram %.2 Kode program untuk melakukan update pada tbGK

Kode program =.% adalah kode program yang digunakan untuk melakukan proses update yang terjdi pada tbGK. Pada proses ini melakukan proses update yang dilakukan pada (tmG% B =//// dan pada (tmGE B %//// ketika k)itansiGid B %.

0am.ar %.2 5ampilan pada saat !elakukan #pdate data pada K)itansiGid B %.

-ambar =.% adalah 5ampilan gambar yang berisikan data C data yang sebelumnya telah melalui proses update pada k)itansiGid B % pada tbGK.

37

DELIMITER $$ USE !"e#$%&%r%'!$$ DROP TRIGGER @K!788LC I( E)ISTS K@ !,"d.2he2/!$$ CREATE @K!7889I DE(INER 0 :roo+:1:lo2%lho3+: K@ TRIGGER !,"d.2he2/! BE(ORE UPDATE ON !+$./<*+%'3*! (OR EACH ROW BEGIN I( NEWD+o+%l.$%&%r B OLDD+o+%l THEN SET NEWD+rH.3+%+,3 0 :PENDING: ELSEI( NEWD+o+%l.$%&%r 0 OLDD+o+%l THEN SET NEWD+rH.3+%+,3 0 :CLOSED: END I( END $$ DELIMITER K +e Pr gram %.2 mengubah trKGstatus pada tbGk)itansi ketika terdapat update baru di tbGk)itansi

Kode program =.% adalah query trigger untuk meng-update tabel tbGk)itansi ketika terdapat update baru di tbGk)itansi. 'ang dimana pada trKGstatus ini akan menampilkan status apakah itu tbGk)itansi. )E1 atau pun ,- SED dan status ini akan ditentukan berdasarkan nilai total bayar yang telah di-update di

38

%.$

Kesim)"lan "dapun simpulan yang dapat ditarik dari praktikum teknologi basisdata

pada trigger ini diantaranya # $. %. Dalam trigger terdapat beberapa tipe yaitu application trigger dan database trigger yang dimana memiliki hubungan arah yang berbeda. Dalam pembahasan trigger terdapat % pengelompokan trigger yaitu system e8ent yang terdiri dari database startup dan shutdo)n ser$er error message e8ents dan user e8ent. Kelompok trigger selanjutnya adalah user logon dan log off yang terdiri dari DD& statements dan D!& statements. 7. %rigger sangat mudah digunakan sebab apabila data ser$er mengalmi perbaharuan atau di update maka data pada client akan mengikuti updatetan terakhir.

39

BAB 2I (EPLIKASI '.1 T"#"an "dapun tujuan dari praktikum ini utamanya pada bab 6eplikasi yaitu sebagai berikut # $. %. 7. '.2 !engetahui bagaimana cara melakukan pengaturan Ser$er master. !engetahui bagaimana cara melakukan pengaturan Ser$er sla$e. !engetahui bagaimana cara melakukan replikasi dua arah. Tin#a"an P"staka Berikut adalah tinjauan pustaka yang mendukung dan digunakan untuk melakukan proses percobaan replikasi. '.2.1 Sistem Ter+istri."si System terdistribusi adalah suatu kesatuan dari elemen-elemen yang saling berinteraksi secara sistematis dan teratur untuk mendistribusikan data informasi obyek dan layanan dari dan kepada pengguna yang terkait didalamnya. (nfrastruktur utama sistem terdistribusi adalah jaringan hard)are soft)are dan pengguna yang terkait di dalamnya. Dalam sistem terdistribusi terdapat pembagian pekerjaan antara elemen yang satu dengan elemen yang lain Sarana komunikasi antar elemen dijembatani dengan jaringan. 5ata cara komunikasi antar elemen diatur dengan sebuah perjanjian sehingga terjadi komunikasi yang dapat dipahami antara masing masing elemen yang terlibat. Sistem terdisitribusi melakukan pembagian pekerjaan antar elemen sehingga terjadi sebuah kinerja optimum dari sebuah sistem. Bagian terluar dari sistem ini yang berhubungan dengan pengguna akan disebut sebagai aplikasi client. "plikasi client merupakan front end yang berhubungan dengan pengguna sistem. Sedangkan dibelakangnya terdapat beberapa lapisan logik seperti presentation ser$er bussiness ob(ect ser$er dan database ser$er. &apisan
40

sistem yang berada di belakang front end tersembunyi dari pengguna penyembunyian (transparency) merupakan salah satu isu penting dalam sebuah sistem terdistribusi. -ambaran arsitektur t*ree tier yang dari aplikasi dengan front end yang diletakkan pada sebuah alat bergerak (mobile de8ice) adalah sebagai berikut. $. Sistem terdisitribusi dengan pemisahan aplikasi client yang berada di mesin (de$ice) yang terpisah dari lapisan yang lain memungkinkan dibuat aplikasi yang terkonsentrasi memenuhi kebutuhan pemakai. Dengan demikian aplikasi tersebut dapat dibuat menjadi aplikasi yang kecil kompak dengan tingkat portabilitas tinggi. 5eknologi yang tersedia saat ini memungkinkan penggagas sistem untuk meletakkan aplikasi client ini pada alat alat mobile yang memiliki processor. %. "lat alat tersebut antara lain :andpone dan PD" yang saat ini banyak beredar dikalangan masyarakat. '.2.2 Basis+ata Ter+istri."si Secara logik keterhubungan dari kumpulan-kumpulan data yang

digunakan bersama-sama dan didistribusikan melalui suatu jaringan komputer. Sedangkan DB!S adalah sebuah system perangkat lunak yang mengatur basis data terdistribusi dan membuad pendistribusian data secara transparan. DDB!S memiliki satu logikal basis data yang dibagi ke dalam beberapa fragment. Dimana setiap fragment disimpan pada satu atau lebih komputer diba)ah kontrol dari DB!S yang terpisah menggunakan jaringan komunikasi. !asing- masing site memiliki kemampuan untuk mengakses permintaan pengguna pada data lokal dan juga mampu untuk memproses data yang disimpan pada komputer lain yang terhubung dengan jaringan. Pengguna mengakses basis data terdistribusi dengan menggunakan dua aplikasi yaitu aplikasi lokal dan aplikasi global sehingga DDB!S memiliki karakteristik yaitu # $. Kumpulan dari data logik yang digunakan bersama-sama
41

dengan mengkoneksi komputer

%. 7. <. =. >. E. L. '.2.!

Data di bagi menjadi beberapa fragment +ragment mungkin mempunyai copy ( replika ) +ragment 0 replika nya di alokasikan pada yang digunakan Setiap site berhubungan dengan jaringan komunikasi Data pada masing-masing site diba)ah penga)asan DB!S DB!S pada masing-masing site dapat mengatasi aplikasi lokal secara otonomi !asing-masing DB!S berpastisipasi paling tidak satu global aplikasi. (e)likasi 6eplikasi adalah suatu teknik untuk melakukan copy dan pendistribusian

data dan objek-objek database dari satu database ke database lain dan melaksanakan sinkronisasi antara database sehingga konsistensi data dapat terjamin. Dengan menggunakan teknik replikasi ini data dapat didistribusikan ke lokasi yang berbeda melalui koneksi jaringan lokal maupun internet. 6eplikasi juga memungkinkan untuk mendukung kinerja aplikasi penyebaran data fisik sesuai dengan penggunaannya seperti pemrosesan transaksi online dan DSS (Decission Support System) atau pemrosessan database terdistribusi melalui beberapa ser$er. Keuntungan replikasi tergantung dari jenis replikasi tetapi pada umumnya replikasi mendukung ketersediaan data setiap )aktu dan dimanapun diperlukan. 6eplikasi dapat digunakan apabila sebuah organisasi atau perusahaan didukung oleh *ard&are dan aplikasi sof&are dalam sebuah sistem yang terdistribusi. "plikasi yang berbeda mempunyai kebutuhan yang berbeda untuk otonomi dan konsistensi data. 6eplikasi menentukan bagaimana perubahan data yang ditangkap dan bagaimana data di-copy ke tujuan.

42

>.%.7.$ Kegunaan 6eplikasi Kegunaan dari proses replikasi ini adalah bila suatu database satu mengalami kerusakan maka secara otomatis semua data yang telah disimpan pada database satu dapat dilihat kembali di database lain. Konsep ini merupakan konsep teknologi yang unik karena secara otomatis segala perintah yang ada pada database satu akan tersimpan pada database lain sehingga bila kehilangan data pada database satu database masih tersimpan rapi di database lain. >.%.7.% Keuntungan 6eplikasi "dapun beberapa keuntungan didalam melakukan replikasi yaitu diantaranya # $. !emungkinkan beberapa lokasi menyimpan data yang sama. :al ini sangat berguna pada saat lokasi-lokasi tersebut membutuhkan data yang sama atau memerlukan ser$er yang terpisah dalam pembuatan aplikasi laporan. %. 7. "plikasi transaksi online terpisah dari aplikasi pembacaan seperti proses analisis database secara online data smarts atau data )arehouse. !emungkinkan otonomi yang besar pengguna dapat bekerja dengan mengcopy data pada saat tidak terkoneksi kemudian melakukan perubahan untuk dibuat database baru pada saat terkoneksi. <. =. >. Data dapat ditampilkan seperti layaknya melihat data tersebut dengan menggunakan aplikasi berbasis .eb. !eningkatkan kinerja pembacaan. !emba)a data mendekati lokasi indi8idu atau kelompok pengguna. :al ini akan membantu mengurangi masalah karena modifikasi data dan pemrosesan query yang dilakukan oleh banyak pengguna karena data dapat didistribusikan melalui jaringan dan data dapat dibagi berdasarkan kebutuhan masing-masing unit atau pengguna. E. Penggunaan replikasi sebagai bagian dari strategi standby ser$er.

43

>.%.7.7 *enis-jenis 6eplikasi "dapun beberapa jenis replikasi yang dibahas pada bab ini yang menunjang kinerja dari proses replikasi yaitu diantaranya # $. Snaps*ot replication !endistribusikan data yang dapat dilihat pada saat tertentu tanpa melakukan update. Biasanya digunakan pada saat memerlukan tampilan data seperti # daftar harga katalog data yang digunakan untuk pengambilan keputusan. Data-data ini sifatnya hanya Fread only.. 6eplikasi ini membantu pada saat # a. b. c. %. 7. data sebagian besar statis dan tidak sering berubah dapat menerima copy data yang telah mele)ati batas )aktu yang ditentukan datanya sedikit Snaps*ot replication !emelihara kekonsistenan transaksi yang terjadi. Merge replication !erge replication memungkinkan pengguna bekerja dan merubah data sesuai dengan )e)enangnya. Pada saat ser$er tidak dikoneksikan ke seluruh lokasi dalam topologi replikasi merubah ke nilai data yang sama.

44

'.!

Pem.a-asan +an U#i , .a Berikut merupakan pembahasan dan uji coba pada Bab > yaitu 6eplikasi

master sla$e yang bersifat dua arah. '.!.1. Pr ses +i slave Didalam proses mereplikasi sebuah database ada beberapa tahap yang harus dilakukan dan diperhatikan yaitu diantanya # $. 2ek ping ke master Proses ping sangat diperlukan karena pada proses ini akan menunjukan bah)a antara ser$er di master dan ser$er di sla$e sudah saling terkoneksi atau dapat dikatakan ini merupakan proses untuk mengecek koneksi.

0am.ar '.1 Proses Ping dari Sla$e ke !aster

Pada gambar >.$ menunjukan bah)a antara ser$er pada sla$e dan ser$er pada master sudah saling terhubung dan ini dibuktikan dengan adanya reply setelah dilakukan ping pada sla$e menuju ke master. %. 5ahapan Penyetingan 6eplikasi pada Sla$e 5ahap selanjutnya adalah tahap penyetingan ini berguna agar database utamanya yang dibahas disini adalah tabel tbGK yang data dari tebel tersebut nantinya akan direplikasi di sla$e. Pada gambar >.% adalah tahapan didalam proses menyeting replikasi yang dimulai dari sla$e.

45

0am.ar '.2 Proses Penyetingan pada Sla$e

-ambar >.% diatas menunjukan tahapan tahapan yang dilakukan didalam membuat replikasi yang pertama dilakukan disla$e pada gambar di atas ditunjukan langkah langkah yang harus dilakukan agar proses replikasi nantinya dapat berjalan dengan baik dan tidak ada kesalah yang terjadi didalam proses replikasi data dari master ke sla$e. '.!.2. Pr ses +i Master "dapun proses yang harus dilakukan didalam mereplikasi database dan berikut merupakaan tahapan proses yang dilakukan pada master. $. Pengecekan Ping ke sla$e Sama halnya dengan langkah yang dilakukan di sla$e pada master juga harus dilakukan proses ping guna mengecek koneksi antara master ke sla$e. *adi proses ini akan membuktikan bah)a antara master dan sla$e saling terkoneksi.

46

0am.ar '.! Proses Ping pada !aster

Pada gambar >.7 merupakan proses didalam mengecek koneksi yang terjadi di master ke sla$e. Proses koneksi ini dikatakan berhasil apabila ser$er pada sla$e me-reply ping yang dilakukan di master. %. 5ahap Penyetingan 6eplikasi di !aster &angkah selanjutnya adalah proses yang sama dilakukan di sla$e yaitu proses penyetingan pada master agar nantinya proses repikasi dapat berjalan dengan baik.

0am.ar '.$ Proses Penyetingan pada !aster

-ambar >.< diatas menunjukan tahapan yang dilakukan didalam membuat replikasi di master pada gambar di atas ditunjukan langkah langkah yang harus dilakukan agar proses replikasi nantinya dapat berjalan dengan baik dan tidak ada kesalah yang terjadi didalam proses replikasi data dari master ke sla$e.

47

0am.ar '.% Status yang Ditunjukan Pada Saat Proses 6eplikasi

-ambar >.= merupakan status yang ditunjukan setelah proses replikasi pada master pada gambar tersebut menunjukan bah)a proses replikasi telah berhasil. (ni diperlihatkan dari status yang ditunjukan pada Sla$e86 8!unning dan Sla$e8S"-8!unning telah menunjukan status 9yess: dan proses selanjutnya untuk replikasi % arah dapat dilakukan.

48

0am.ar '.' Proses !ensetting pada !aster untuk !engetahui @ama +ile dan Position pada !aster

-ambar >.> adalah merupakan proses selanjutnya yang harus dilakukan guna mengetahui nama file dan position file pada master yang dimana nantiya akan digunakan didalam proses replikasi pada sla$e selanjutnya.

0am.ar '.* Proses !en-Setting pada Sla$e

-ambar >.E adalah merupakan langkah selanjutnya yang harus dilakukan untuk men-setting proses di sla$e disini yang harus dilakukan adalah memasukan nama file dan position file yang ditunjukan pada master sebelumnya agar proses replikasi berjalan dengan sukses.

49

0am.ar '.4 Status yang Ditunjukan pada Proses 6eplikasi di Sla$e

Pada gambar >.L menunjukan bah)a proses men-setting replikasi % arah telah berhasil dilakukan. (ni ditunjukan dengan status yang ditunjukan pada Sla$e86 8!unning dan Sla$e8S"-8!unning telah menunjukan status 1yess3
dan proses replikasi telah dapat dijalankan serta sudah dapat dipastikan proses replikasi akan sukses berjalan.
0am.ar '.56a7 5abel tbGK pada Ser$er Sebelum Berisi Data

-ambar >.M(a) adalah merupakan tabel yang belum berisi data yang nantinya akan data dari tabel tbGK tersebut akan direplikasi pada database yang ada di sla$e.

0am.ar '.56.7 5ambahan $/ Kolom Pada 5abel tbGK pada Ser$er

-ambar >.M(b) adalah merupakan tambahan $/ kolom yang nantinya berisikan data data mengenai transaksi yang akan dilakukan dan pada sla$e data data tersebut akan direplikasikan.

50

0am.ar '.196a7 5abel tbGK pada Sla$e Sebelum Berisi Data

-ambar >.$/(a) adalah merupakan tabel yang belum berisi data yang terdapat pada sla$e dan nantinya setelah tabel tbGK pada master berisi data maka secara otomatis tabel tbGK pada sla$e akan berisi data atau dapat dikatakan data yang ada pada master akan tereplikasi di sla$e.

0am.ar '.196.7 5ambahan $/ Kolom Pada 5abel tbGK pada Ser$er

-ambar >.$/(b) adalah merupakan tambahan $/ kolom yang terdapat pada sla$e dan nantinya setelah tabel tbGK pada master berisi data maka secara otomatis tabel tbGK pada sla$e akan berisi data atau dapat dikatakan data yang ada pada master akan tereplikasi di sla$e.

0am.ar '.116a7 5abel tbGK pada !aster Setelah Berisi Data

-ambar >.$$(a) adalah merupakan tabel yang telah berisi data yang akan di replikasikan di tabel tbGK yang ada pada sla$e. dimana data ini di dapatkan dari perintah Duerry cursorGpindah.

0am.ar '.116.7 5ambahan $/ Kolom pada 5abel tbGK di !aster Setelah Berisi Data

51

-ambar >.$$(b) merupakan tambahan $/ kolom yang berisikan data data mengenai transaksi yang akan dilakukan !aster dan pada Sla$e data data tersebut akan direplikasikan.

0am.ar '.126a7 5abel tbGK pada Sla$e Setelah Berisi Data yang di 6eplikasi pada tbGK di !aster.

-ambar >.$%(a) adalah merupakan tabel tbGK yang telah berisi data yang terdapat pada sla$e. data data tersebut didapatkan dari tabel tbGK yang terdapat pada master yang datanya tersebut direplikasikan ke tabel K yang terdapat pada sla$e.

0am.ar '.126.7 5ambahan $/ Kolom pada 5abel tbGK di Sla$e Setelah Berisi Data

-ambar >.$%(b) merupakan tambahan $/ kolom pada tabel tbGK yang terdapat pada sla$e yang telah berisikan berisikan data data mengenai transaksi yang akan dilakukan baik itu dari master ke sla$e atau pun dari sla$e ke master yang data data tersebut akan direplikasikan.

52

'.$

Kesim)"lan "dapun simpulan yang dapat ditarik dari praktikum teknologi basisdata

pada replikasi ini diantaranya # $. ?ntuk menjaga agar basis data yang terdistribusi tetap up0to0date ada dua proses untuk menjaganya yakni replikasi dan duplikasi. Dalam replikasi digunakan suatu perangkat lunak untuk mencari atau lebih tepatnya melacak perubahan yang terjadi di satu basis data. Setelah perubahan dalam satu basis data teridentifikasi dan diketahui baru kemudian dilakukan perubahan agar semua basis data sama satu dengan yang lainnya. %. 7. Secara sederhana replikasi database adalah proses automatik perintah dari database satu ke database lain yang tentunya terhubung dalam jaringan. !aster ser$er adalah ser$er yang biasa dipergunakan untuk melakukan kegiatan managing database. Sedangkan Sla$e Ser$er adalah database yang bertindak sebagai pencatat sekaligus pereplikasi 0 pengopian data setiap melakukan kegiatan managing database pada !aster Ser$er. <. Pada percoban untuk mencoba replikasi dalam melakukan perubahan data di salah satu tabel pada database yang ada di !"S596. &alu !efres* database di S&"N9 maka data yang ada di tabel S&"N9 juga otomatis akan berubah sama dengan yang di !"S596.

53

Вам также может понравиться