Thursday, July 17, 2014

BASIS DATA LANJUT SISTEM INFORMASI TAMU HOTEL

BASIS DATA LANJUT:

NAMA KELOMPOK:
1.      TIAR GEMILANG                                                (12120038)
2.      PIXO DESTYA FANDY                                       (12120066)
3.      FRANSISCA FABRILLA S.A                              (12120069)
DESKRIPSI:
Sistem Informasi ini dipergunakan untuk memberikan Informasi kepada para tamu yang datang atau pengunjung ke hotel, tentang macam – macam fasilitas yang dapat digunakan atau yang telah disediakan
KETERANGAN:
1.      Entity tamu ke entity fasilitas
-          Banyak tamu dapat memesan banyak fasilitas
2.      Entity tamu ke entity transaksi
-          Banyak tamu dapat melakikan satu transaksi
3.      Entity transaksi ke entity jenis pembayaran
-          Satu transaksi mempunyai banyak jenis pembayaran
KETERANGAN SUPERTYPE DAN SUBTYPE
1.      Supertype entity jenis pembayaran dapat di kategorikan menjadi 2 subtype, yaitu kartu kredit dan tunai
2.      Supertype entity jenis fasilitas dapat dikategorikan menjadi 3 subtype, yaitu kamar, ruang meeting dan restaurant
EERD :
CDM      :
PDM      :
“SISTEM INFORMASI TAMU HOTEL”
Sistem Informasi ini dipergunakan untuk memberikan Informasi kepada para tamu atau pengunjung hotel, tentang berbagai macam fasilitas yang disediakan oleh hotel untuk kenyamanan dan kebutuhan para tamu.


KETERANGAN:
1.      Entity tamu ke entity fasilitas
-          Banyak tamu dapat memesan banyak fasilitas
2.      Entity tamu ke entity transaksi
-          Banyak tamu dapat melakikan satu transaksi
3.      Entity transaksi ke entity jenis pembayaran
-          Satu transaksi mempunyai banyak jenis pembayaran
KETERANGAN SUPERTYPE DAN SUBTYPE:
1.      Supertype entity jenis pembayaran dapat di kategorikan menjadi 2 subtype, yaitu kartu kredit dan tunai
2.      Supertype entity jenis fasilitas dapat dikategorikan menjadi 3 subtype, yaitu kamar, ruang meeting dan restaurantDESKRIPSI:
Sistem Informasi ini dipergunakan untuk memberikan Informasi kepada para tamu yang datang atau pengunjung ke hotel, tentang macam – macam fasilitas yang dapat digunakan atau yang telah disediakan.
Tabel Relasi Sistem Informasi Tamu Hotel
KETERANGAN:
1.     Entity Tamu berelasi many to many ke entity Fasilitas (banyak tamu memesan berbagai macam fasilitas).
-         Entity Fasilitas merupakan supertype  dari kamar, restaurant dan meeting room.
-         Entity kamar, restaurant dan meeting room sebagai subtype dari entity fasilitas.
2.     Entity Tamu berelasi meny to one ke entity Transaksi (banyak tamu melakukan transaksi).
3.     Entity Transaksi berelasi one to many ke entity Jenis Pembayran (satu transaksi memiliki banyak jenis pembayran).
-         Entity Transaksi merupakan supertype  dari kartu kredit uang tunai.
-         Entity kamar,  entity restaurant dan entitymeeting room sebagai subtype dari entity jenis pembayaran.

RENCANA STORED PROCEDURE, FUNCTION DAN TRIGGER PADA “SISTEM INFORMASI TAMU HOTEL”, sebagai berikut:
Pengertian dari Stored Procedure, Function dan Trigger:
Stored Procedure ialah suatu subprogram / sekelompok statement Transct SQL, yang tersimpan dan menyatu dalam suatu database. Dapat diakses program aplikasi melalui object-object tertentu pada program masing-masing.
Function ialah sebuah bagian potongan dari kode sekuensial. Sebuah functiondibuat dengan tujuan membuat sebuah bundel atau berkas yang baru sebagaipenyelesaian masalah, seperti perubahan tipe data, operasi logika, perhitunganartimetika, dan operator baru beserta perubahannya.
Trigger ialah program yang dihubungkan dengan suatu tabel atau view yang secara otomatis melakukan suatu aksi ketika suatu baris di dalam tabel atau view dikenai operasi INSERT, UPDATE atau DELETE.
Procedur
Nama: id_Tamu
Keterangan: Stored Procedure
Kegunaan: Procedure berfungsi untuk memasukan data tamu atau pengunjung hotel baru.
Input: id_tamu, nama tamu, alamat tamu dan no telepon tamu.
Proses: Pada tabel "Tamu" akan memproses penginputan data tamu.
Output: nama tamu, alamat tamu dan telepon tamu.
Nama: id_fasilitas
Keterangan: Update
Kegunaan: procedure berfungsi untuk mengupdate/memperbarui data fasilitas yang telah diinputkan.
Input: id_fasilitas, kamar, restaurant dan meeting room.
Proses: Pada tabel "fasilitas" data di update atau diperbarui kedalam data baru atau telah melakukan perubahan.
Output: kamar, restaurant dan meeting room.
Nama: id_Kamar
Keterangan: stored procedura
kegunaan: Procedure berfungsi untuk memasukan data kamar.
Input: id_kamar, jumlah kamar, jenis kamar dan harga kamar.
Proses: Pada tabel "kamar" akan memproses penginputan data kamar.
output: jumlah kamar, jenis kamar, harga kamar.
Nama: id_transaksi
Keterangan: delete
kegunaan: procedure berfungsiuntuk menghapus data transaksi pada tabel transaksi.
Input: id_transaksi, down payment, lama inap dan total pembayaran.
Proses: pada tabel "transaksi" akan terjadi proses penghapusan data transaksi.
output: hapus data
Nama: id_jenis pembayaran
Keterangan: Stored procedure
Kegunaan: Procedure berfungsi untuk memasukan data jenis pembayaran.
Input: id_jenis ppembayaran, uang tunai dan kredit.
Proses: pada abel "jenis pembayaran" akan memproses penginputan data jenis pembayaran.
Output: uang tunai dan kredit.
Function
Nama: id_tamu
Kegunaan: Function berfungsi untuk mengecek data tamu atau pengunjung hotel baru.
input: id_tamu, nama tamu, alamat tamu dan no telepon tamu.
Proses: Pada tabel "tamu" akan memproses dan mengecek data tamu baru.
output: data tamu baru telah tersedia.
Nama: id_fasilitas
Kegunaan: Function berfungsi untuk mengecek data fasilitas yang tersedia.
Input: id_fasilitas, kamar, restaurant dan meeting room.
Proses: pada tabel "fasilitas" akan memproses dan mengecek data fasilitas yang tersedia.
output: data fasilitas telah tersedia.
Nama: id_kamar
kegunaan: Function berfungsi untuk mengecek data kamar.
input: id_kamar, jumlah kamar, jenis kamar dan harga kamar.
Proses: pada tabel "kamar" akan memproses dan mengecek data kamar.
Output: data kamar telah tersedia.
Nama: id_transaksi
Kegunaan: Function berfungsi untuk mengecek data transaksi yang masuk.
Input: id_transaksi, down paymet, lama inap dan total pembayaran.
Proses: pada tabel"transaksi" akan memproses dan mengecek data transaksi yang masuk.
Output: data transaksi telah tersedia.
Nama: id_jenis pembayaran
Kegunaan: Function berfungsi untuk mengecek data jenis pembayaran yang tersedia.
Input: id_jenis pembayaran, uang tunai dan kredit.
Proses: pada tabel "jenis pembayaran" akan memproses dan mengecek data jenis pembayaran yang tersedia.
Output: data jenis pembayaran telah tersedia.
Trigger
Nama: id_tamu
Keterangan: delete
Kegunaan: trigger berfungsi untuk memberikan pesan berisikan data tamu atau pengunjung hotel yang telah dihapus.
Input: id_tamu
Proses: Jika terjadi proses penghapusan data tamu atau pengunjung hotel baru maka akan muncul pesan penghapusan data yang hendak dihapus.
Output: akan menampilkan data tamu atau pengujung baru yang telah dihapus.
Nama: id_fasilitas
Keterangan: Update
Kegunaan: trigger berfungsi untuk mebuat pengupdetan/pembaruan data fasilitas yang telah dilakuan.
Input: id_fasilitas
Proses: Jika terjadi proses update/pembaruan data fasilitas akan masuk dedalam tabel tahapan update/pembaruan, maka secara otomatis id_fasilitas yang telah diperbarui akan masuk ke dalam tabel (beserta waktu pembaruan).
Output: pada tabel akan muncul field keterangan id yang di update (beserta waktu pembaruan).
Nama: id_kamar
Keterangan: delete
Kegunaan: triger berfungsi untuk menampilkan data kamar yang telah dihapus.
Input: id_kamar
Proses: Jika terjadi proses penghapusan data kamar akan muncul pesan penghapusan data yang hendak dihapus.
Output: akan menampilkan data kamar yang telah dihapus.


VIEW & JOIN

-di dalam view_tamu terdapat Nama, Alamat, No Telp (user1)
-view_pesan adalah relasi dari view tabel tamu dan fasilitas. (user2)
-di dalam view_fasilitas terdapat ID_Fasilitas, (user2)
ID_Fasilitas akan menampilkan view dari Kamar Meeting Room dan Restaurant. (user1)
-view kamar antara lain jumlah kamar, jenis kamar dan harga kamar (terdapat view user2 yaitu ID_Kamar)
-view meeting room antara lain large room, small room, dan waktu (user1)
-view restaurant antara lain jumlah meja dan waktu pesan (user1)
-view_transaksi adalah relasi dari view tabel tamu dan pesan. (terdapat view user1 yaitu Down payment, Lama Inap, dan total pembayaran)
-di dalam view_jenispembayaran terdapat ID_Pembayaran. (user1)
ID_Pembayaran akan menampilkan view dari Tunai dan Kartu Kredit. (user1)
-view tunai terdapat jumlah uang (user2)
-view kartu kredit terdapat no kartu kredit (user2)
KETERANGAN :
“View user 1 adalah hanya menampilkan data hanya sebagiandari database”
“View user 2 adalah Level tertinggi dari abstraksi data”
“Tujuan dari View Level adalah karena tidak semua user membutuhkan semua data dalam database ”
Join yang digunakan adalah INNER JOIN.
INNER JOIN Tipe join ini akan mengambil semua row dari table asal dan table tujuan dengan kondisi nilai key yang terkait saja - jika ada, dan  jika tidak maka row tersebut tidak akan muncul. 
Kalau tidak terdapat kondisi key terkait antar table, maka semua row dari kedua table dikombinasikan.
Terdapat relasi tabel tamu, pesan dan fasilitas
-INNER JOIN Antar Table ("tamu" dan "pesan" dengan key "id_tamu")
table sumber adalah "tamu" (left) mencari referensi row lain dari table "pesan" (right) dengan kondisi nilai "id_tamu" diantara kedua table tersebut sama.
Dengan panduan gambar, kita lihat bahwa tiap baris dari "tamu" akan dicari persamaan baris-nya di "pesan" :
·         untuk baris pertama kita memiliki ID_Tamu dengan nilai "tamu001", ini akan dicari referensinya ke table pesan untuk nilai yang sama dan kita dapatkan row dengan nilai ID_pesan yaitu "paijo" adalah sama.
·         untuk baris kedua kita memiliki ID_Tamu dengan nilai "tamu002", ini akan dicari referensinya ke table pesan untuk nilai yang sama dan kita dapatkan row dengan nilai ID_pesan "james" adalah sama.
·         demikian seterusnya.
-INNER JOIN Antar Table dengan Kondisi ("pesan" dan "fasilitas" dengan key "id_fasilitas")
·         untuk baris pertama kita memiliki "ID_Pesan" dengan nilai "fasilitas001", ini akan dicari referensinya ke table fasilitas untuk nilai yang sama dan kita dapatkan row dengan nilai ID_fasilitas yaitu "kamar".
·         untuk baris kedua kita memiliki "ID_Pesan" dengan nilai "fasilitas002", ini akan dicari referensinya ke table fasilitas untuk nilai yang sama dan kita dapatkan row dengan nilai ID_fasilitas "meeting room".
·         demikian seterusnya.
-INNER JOIN Antar Table dengan Kondisi ("tamu" dan "transaksi" dengan key "id_tamu")
table sumber adalah "tamu" (left) mencari referensi row lain dari table "transaksi" (right) dengan kondisi nilai "id_tamu" diantara kedua table tersebut sama.
kita lihat bahwa tiap baris dari "tamu" akan dicari persamaan baris-nya di "transaksi" :
·         untuk baris pertama kita memiliki ID_Tamu dengan nilai "tamu001", ini akan dicari referensinya ke table pesan untuk nilai yang sama dan kita dapatkan row dengan nilai ID_Transaksi yaitu "transaksi001". ("transaksi001" akan JOIN dengan id_pesan yang ada di tabel Transaksi).
·         untuk baris kedua kita memiliki ID_Tamu dengan nilai "tamu002", ini akan dicari referensinya ke table pesan untuk nilai yang sama dan kita dapatkan row dengan nilai ID_Transaksi "transaksi002". ("transaksi002" akan JOIN dengan id_pesan yang ada di tabel Transaksi).
·         demikian seterusnya
JENIS JOIN
Dalam basis data relasional dimungkinkan untuk mengakses satu atau lebih tabel dalam waktu yang bersamaan. Penggunaan dua tabel atau lebih dalam satu buah baris query biasa disebut dengan JOIN.
  • Tabel mahasiswa
  • Tabel dosen
  1. Menampilkan isi tabel DOSEN melalui tabel MAHASISWA.
SELECT * FROM dosen a, mahasiswa b WHERE a.id_dosen = b.id_dosen;
  1. Menampilkan isi tabel DOSEN dan MAHASISWA yang memiliki ID_DOSEN yang sama.
  1.  Menampilkan isi tabel DOSEN dan MAHASISWA yang memiliki ID_DOSEN yang sama = „12344‟.
INNER JOIN dan OUTER JOIN
Di dalam database, ada kalanya kita membutuhkan data dari beberapa tabel yang saling berhubungan. Untuk mendapatkan data dari beberapa tabel tersebut dapat digunakan perintah join pada perintah SQL.
  1. INNER JOIN
Inner join merupakan jenis join yang paling umum yang dapat digunakan pada semua database. Jenis ini dapat digunakan bila ingin merelasikan dua set data yang ada di tabel, letak relasinya setelah pada perintah ON pada join. Hasil dari inner join adalah gabungan kedua tabel yang memiliki data join yang sama.
2. OUTER JOIN
Outer join merupakan join yang sedikit berbeda dengan inner join. Outer join akan menghasilkan record-record yang ada baik ada pasangan nya pada tabel lain atau tidak.
Outer join dibedakan menjadi 2 jenis, yaitu :
a. Left Outer Join
Left join digunakan dalam situasi ketika ingin mengembalikan semua elemen data set A, terlepas dari apakah nilai kunci ada dalam data set B.
  • b. Right Outer Join
Right join digunakan dalam situasi ketika ingin mengembalikan semua elemen data set B, terlepas dari apakah nilai kunci ada dalam data set A.
Latihan
Dengan menggunakan data yang sama pada bab sebelumnya :
  • Menampilkan isi tabel DOSEN melalui tabel MAHASISWA.
SELECT a.nama, a.id_dosen, b.id_dosen, b.nama FROM mahasiswa a INNER JOIN dosen b ON a.id_dosen = b.id_dosen;
  • Menampilkan isi tabel DOSEN dan MAHASISWA dengan LEFT JOIN.
SELECT a.nama, a.id_dosen, b.id_dosen, b.nama FROM mahasiswa a LEFT JOIN dosen b ON a.id_dosen = b.id_dosen;
  • Menampilkan isi tabel DOSEN dan MAHASISWA dengan RIGHT JOIN.
SELECT a.nama, a.id_dosen, b.id_dosen, b.nama FROM mahasiswa a RIGHT JOIN dosen b ON a.id_dosen = b.id_dosen;
CROSS JOIN dan UNION JOIN
1. Cross Join
Cross join kadangkala disebut juga sebagai Cartesian Product. Bila menggunakan cross join, maka hasil dari cross join akan menciptakan hasil yang didasarkan pada semua kemungkinan kombinasi baris dalam kedua set data. Dengan demikian, jumlah baris yang dikembalikan adalah N M , dimana N adalah jumlah baris dalam kumpulan data A dan M jumlah baris dalam kumpulan data B. Jelas, jumlah baris dalam cross join dapat menjadi sampah.
2. Union Join
Union didukung oleh MySQL mulai dari versi 4.0. Pemakaian union dapat menyederhanakan perintah persyaratan OR yang bertingkat. Bila dalam sebuah query menghasilkan pemakaian perintah OR yang lebih dari satu sehingga dapat membuat bingung, sebagai gantinya digunakan perintah UNION. Union dapat dikatakan sebagai perintah untuk menggabungkan hasil query sql yang fungsinya sama dengan perintah OR.
Latihan :
  • Menampilkan tabel mahasiswa dan dosen dengan menggunakan CROSS JOIN
SELECT a.nama, a.id_dosen, b.id_dosen, b.nama FROM mahasiswa a CROSS JOIN dosen b
  • Menampilkan tabel mahasiswa dan dosen dengan menggunakan UNION JOIN
SELECT a.nama, a.id_dosen, b.id_dosen, b.nama FROM mahasiswa a JOIN dosen b ON a.id_dosen = b.id_dosen WHERE a.id_dosen=’12341′ OR a.id_dosen =’12343′;
UNION :
  • SELECT a.nama, a.id_dosen, b.id_dosen, b.nama FROM mahasiswa a JOIN dosen b ON a.id_dosen = b.id_dosen WHERE a.id_dosen=’12341′) UNION
  • SELECT a.nama, a.id_dosen, b.id_dosen, b.nama FROM mahasiswa a JOIN dosen b ON a.id_dosen = b.id_dosen WHERE a.id_dosen=’12343′);
KESIMPULAN :
            Setelah saya melakukan praktikum diatas  dapat saya simpulkan bahwa dengan adanya join tabel k ita dapat mengakses satu atau lebih tabel atau data dalam waktu yang bersamaan. Kita juga dapat mengakses data  dari beberapa tabel yang berbeda  yang saling berhubungan letak relarinya setelah perintah ON pada join.
denga  menggunakan inner  join  atau outer  join kita bisa dengan mudah untuk mengkses data. Inner join juga merupakan jenis join yang paling umum digunakan dan hasilnya adalah gambungan dari kedua tabel yang memiliki data join  yang sama, maka dengan adanya join kita sudah tidak merasa sulit lagi  untuk mengakses data atau tabel dalam waktu yang bersamaan, jadi join mempermudah kita untuk mengakses data.


1. Model desain DataBase yang dipilih dengan menggunakan centralize (terpusat) atau distribution (terdistribusi).

Kelompok kami memilih menggunakan model desain DataBase dengan menggunakan Distribution (terdistribusi).
    Alasan kenapa kelompok kami memilih model DataBase Distribution atau terdistribusi ialah:
       Untuk pemantauan terdistribusi atau pengambilan suatu data yang terdapat pada beberapa satu sistem yang berbeda dan lalu dihubungkan, dan pengguna yang ada pada system lain. Contoh : sistem distribusi pada sebuah hotel memungkinkan pegawai (pengguna) pada salah satu pegawai pemantau dapat mengakses data tersebut atau tempat lain untuk pemantauan dan pengambilan data informasi tamu hotel yang masuk dan keluar secara cepat dan terkondisikan.
       Lebih cepat suatu proses query nya.
       Data dalam system ter distribusi dapat disimpan dekat dengan titik diman data tersebut dipergunakan. Data dapat secara dinamik bergerak dan  disalin, atau salinannya dapat dihapus.
       Adanya keseimbangan database didalam server, lalu
       Sistem dapat dimodifikasi tanpa mempengaruhi modul lain
Jadi, staff marketing yang merangkap menjadi admin beserta reservation memiliki data backup masing-masing, database reservasion card juga memiliki database cabang yang berhubungan dengan data base server,lalu data base server memiliki full data base backup yang menampung sebuah duplikasi dari database server
Diagram DB

 
Untuk Penjelasan dari Data Terdistribusi kami , yaitu:
1.                  Petugas cabang melakukan pengecekan informasi tamu hotel ke DB Cabangnya sendiri
2.                  Dari DB cabang akan menampilkan informasi tentang fasilitas hotel yang di request tamu
3.                  Jika dalam pengecekan ditampilkan fasilitas hotel yang di request sudah dipesan/tersedia, maka petugas langsung melakukan pengecekan ke DB Hotel pusat
4.                  Dari DB Hotel pusat akan akan menampilkan informasi fasilitas hotel yang di request ke DB cabang yang lain
5.                  Kemudian dari DB cabang akan menampilkannya pada PC cabang

6.                   Dari database server apabila terjadi penambahan, penguramgan dan juga pemberitahuan juga informasi dari database cabang.
7.                  Laporan, pemberitahuan, informasi dari database admin cabang akan diperiksa di computer server.
8.                  Untuk DB pusat, semua aktifitas data yang ada pada Database akan di backup ke “Backup DB Server”.

DIAGRAM JARINGAN

1. Backup pada SQL Server 2000

Pada sebuah database umumnya kita membutuhkan back up yang dilakukan secara berkala pada pengaturan sistem produksi yang ada. Back up sangat dibutuhkan untuk melindungi data dari bencana.Microsoft SQL Server 2000 memperkenalkan berbagai cara untuk melakukan back up yang dapat dikombinasikan menjadi sebuah rumus yang diatur sedemikian rupa untuk melindungi dan mengembalikan data sesuai dengan sebelumnya dari kerusakan yang telah terjadi. SQL Server 2000 menambah beberapa aspek untuk fungsi backup dan restore yang telah dimiliki sebelumnya dalam SQL Server 7. Sangat di perlukan untuk melakukan backup database secara berkala. Ini adalah cara terbaik untuk menghasilkan recovery data untuk menjaga data dari berbagai bencana.
Kita akan membahas berbagai macam cara backup yang tersedia pada SQL Server 2000 dan bagaimana rumus-rumusnya dapat digunakan.

Backup Device

Backup device dapat dibuat melalui SQL Enterprise Manager atau menggunakan perintah Transact SQL. Untuk membuat backup device melalui Enterprise Manager.
1.    Buka Enterprise Manager dan pilih SQL Server Group lalu pilih SQL Server Registrationnya yang akan dibackup.
2.    Pilih folder Management dan klik kanan Backup sampai muncul menu pop-up.
3.    Pilih New Backup Device sampai muncul window Backup Device Properties – New Device.
4.    Masukan Nama dan File Name untuk lokasi backup devicenya. Tape Drive Name di disable karena komputer yang digunakan tidak terinstal tape drive. Klik OK jika selesai. Backup device akan terbentuk. Backup device sudah terbentuk, klik kanan di Management -> Backup di Enterprise Manager. Untuk melihat propertiesnya, klik kanan di device dan pilih Properties. Klik View Contents untuk daftar backup yang sudah dilakukan oleh device tersebut.
Backup device juga dapat dibuat dengan menggunakan perintah Transact-SQL melalui SQL Query Analyzer.
1.    Pada SQL Query Analyzer, pada jendela Query, pertama tentukan backup device tersebut untuk database mana? Pilih database dengan memilih database pada menu bar diatas atau menekan tombol Ctrl-U  
2. Jalankan dengan mengklik tombol Execute Query pada toolbar atau menekan tombol F5 pada keyboard.

Menambahkan Backup History dari Backup Files ke MSDB

Dibawah ini akan dibahas prosedur untuk restore history backup dari file backup.
1.      Buka Enterprise Manager dan pilih SQL Server Group lalu pilih SQL Server Registrationnya yang akan direstore.
2.      Klik kanan di database manapun dan pilih All Task, lalu pilih Restore Database. Window Restore Database akan muncul.
3.      Pilih database yang akan direstore pada Restore as batabase, lalu pilih From Device.

4. Pilih Read backup set information and add backup history di bagian Parameter.

5.      Klik tombol Select Devices untuk menambah backup file ke listnya. Sampai muncul window Choose Restore Devices.
6.      Klik tombol Add dan pilih backup file yang akan diload.
7.      Lalu klik OK sampai muncul Successfully loaded backup set history. Backup history sukses.
8.      Jika tidak berhasil, pilih tab Options pada window Restore database. Pastikan alamat MDF dan LOGnya sesuai dengan alamat yang ada. Jika masih tidak mau pilih Force restore over existing database pada Options.

Melakukan Backup Complete Database

Untuk Backup complete database dapat dilakukan melalui SQL Server Enterprise Manager atau menggunakan perintah Transact-SQL. Complete backup juga dapat di schedule dengan interval waktu tertentu.
Langkah-langkah untuk melakukan complete backup database melalui SQL Server Enterprise Manager
1.      Buka Enterprise Manager dan pilih SQL Server Groupnya lalu pilih SQL Server Registration.
2.      Buka folder Database, lalu klik kanan pada database yang mau dibackup.
3.      Pilih All Tasks, lalu pilih Backup Database sampai muncul window SQL Server backup.
4.      Masukan nama backup di kolom Nama. Pilih Database – complete untuk complete database backup.
5.      Pilih Overwrite existing media untuk inisialisasi file tujuan atau devicenya atau pilih Append to media untuk menambahkan backup yang sudah terpilih ke file yang sudah ada atau device.
6.      Untuk memilih tujuan backupnya, pilih tombol Add. Akan muncul window Select Backup Destinantion.
7.      Pilih file yang sudah ada atau mesukan nama file yang baru. Klik OK.
8.      Pilih tab Options.
9.      Pilih Verify backup upon completion untuk memberikan peringatan apabila backup selesai. 
Pilih Remove inactive entries from transaction log jika mau menghapus semu log-log backup transaksi yang sudah tidak aktif. 
Pilih Check media set name and backup set expiration untuk memberitahukan media yang terpilih dari media yang tersedia supaya mencegah kesalahan untuk file yang dibackup. 
Pilih Eject tape after backup untuk mengeluarkan kaset secara otomatis dari drivenya pada saat backup selesai. 
Pilih Backup set will expire untuk menentukan tanggal kadaluarsa file backup agar tidak dapat direstore melebihi tanggal yang sudah diset.
10.  Klik OK untuk memulai backup atau pilih Schedule untuk menjadwalkan operasi backup tersebut.
11.  Tunggu sampai muncul The backup operation has been completed successfully.

Restore Complete Backup Database

Untuk merestore database complete yang sudah dibackup, dapat direstore ke database yang sama atau ke database yang berbeda tetapi dalam server yang sama. Untuk mengoperasikannya dapat melalui SQL Server Enterprise Manager atau mengunakan perintah Transact-SQL.
Untuk melakukan complete restore database ke database yang sama melalui SQL Server Enterprise
1.      Buka Enterprise Manager dan pilih SQL Server Groupnya lalu pilih SQL Server Registration.
2.      Klik kanan pada database manapun dan pilih All Tasks, lalu pilih Restore Database sampai muncul window Restore Database.
3.      Pilih database backup yang mau direstore. Semua yang pernah melakukan backup ada dalam list pada bagian Parameter. Semua informasi dikumpulkan dari tabel daftar history di MSDB database.
4.      Pada daftar backupnya di bagia Parameter, lalu klik tombol Properties untuk melihat detail backupnya.
5.      Lalu pilih tab Options. Pada tab ini memberitahukan nama dan lokasi database yang mau direstore. Pastikan alamat dan namanya sesuai.
6.      Ada beberapa setting pada tab tersebut:
Eject tapes after restoring each backupagar kaset pada tape backup secara otomatis keluar setelah restore selesai.
Prompt before restoring each backup untuk menampilkan dialog ox setelah restore selesai. Pilihan ini dapat digunakan jika melakukan restore lebih dari satu file backup.
Force restore over existing database untuk melakukan restore pada database yang sudah ada dengan cara menghapus database yang lama lalu restore dengan yang baru.
Restore As menunjukan alamat database yang mau direstorenya. Recovery completion state untuk mendeteksi tahap akhir dari restore.
Undo file menunjuk pada file yang dibutuhkan oleh SQL Server untuk melacak transaksi restore yang tidak selesai jika restore dalam keadaan standby.
7.      Klik OK untuk memulai proses restore. Akan muncul progressnya sampai muncul pesan sukses atau gagal.
Restore complete backup ke Database baru dalam server yang sama Database baru dapat dibuat secara otomatis ketika restore selesai. Database baru tersebut dibuat dalam server yang sama dengan database asalnya.
Untuk melakukan restore dari backup complete ke database yang baru dalam server yang sama
1.      Buka Enterprise Manager dan pilih SQL Server Groupnya lalu pilih SQL Server Registration.
2.      Klik kanan pada database manapun dan pilih All Tasks, lalu pilih Restore Database sampai muncul window Restore Database.
3.      Masukan nama database yang akan direstore di pilihan Restore as database.
4.      Didalam Parameter, pilih backup file yang mau direstore. Semua daftar backupnya muncul dibawahnya.
5.      Pilih pada daftar tersebut yang mau direstore dan klik Properties untuk melihat detail dari backup tersebut.
6.      Pilih tab Option.
7.      Perlu diperhatikan nama file dan lokasi MDF dan LOG dari database di Restore As.
8.      Untuk memulai restore, klik OK. Akan muncul progress sampai muncul konfirmasi gagal atau suksesnya.
Untuk melakukan restore dari backup complete ke database yang baru dalam server yang sama menggunakan perintah Transact-SQL

Melakukan Restore complete backup ke server yang berbeda

Database SQL Server dapat dibackup dari satu server dan direstore ke server yang lain. Jika database tujuan tidak ada, database tersebut harus dibuat dahulu sebelum proses restore dijalankan. Tetapi database yang baru juga dapat dibuat secara otomatis pada saat melakukan restoring. 
Untuk restoring database backup ke server yang berbeda ke database yang baru
1.      Copykan file backupnya ke komputer tujuan atau melalui sharing folder.
2.      Gunakan Enterprise Manager GUI. Lakukan koneksi sampai ke SQL Server
Registrationnya.
3.      Klik kanan didatabase manapun dan pilih All Tasks, lalu pilih Restore Database sampai muncul window Restore Databasenya.
4.      Masukan nama database barunya pada Restore as database.

5. Pilih From device.

6.      Klik tombol Select Devices. Sampai muncul window Choose Restore Devices.
7.      Pilih salah satu Disk atau Tape.
8.      Pilih tombol Add sampai muncul window Choose Restore Destination.
9.      Pilih nama file dan lokasinya. Klik OK sampai kembali ke window Restore Database.
10.  Pilih tab Options dan pastikan nama dan lokasinya sesuai.
11.  Klik OK untuk memulai restoring. Sampai muncul konfirmasi sukses.
Untuk melakukan restoring melalui perintah Transact-SQL, sama dengan perintah pada Restoring complete backup ke database yang baru dalam server yang sama.

Backup Otomatis Database SQL Server  

Untuk mempermudah proses backup database SQL Server, kita dapat membuat backup data terjadwal secara otomatis, misalnya backup data harian setiap jam 17:00 setelah semua proses entry data selesai dikerjakan pada hari kerja.
Cara membuat proses backup otomatis adalah sebagai berikut:
1.      Jalankan SQL Server Enterprise
2.      Expand tree       pada      Microsoft            SQL        Server   Enterprise: Console Root > Microsoft SQL Server > SQL Server Group > (Nama Server) > Management > Database Maintenance Plan.
3.      Klik kanan pada Database Maintenance Plan lalu pilih New Maintenance Plan
4.      Akan tampil Database Maintenance Plab Wizard, Klik tombol Next.
5.      Pada Jendela yang muncul pilih nama database yang akan dibakup dengan cara memberi tanda centang di depan nama database, lalu klik tombol Next
6.      Akan muncul jendela data optimization, pada bagian ini ada 3 pilihan (optional) yang dapat diaktifkan.
Klik tombol Next
7.      Akan muncul jendela Database Integrity Check, Beri tanda centang jika anda bermaksud melakukan pengecekan integritas database. Klik tombol Next.
8.      Akan muncul Specify the Database Backup Plan. Jika pada check box Back up the database as part of the maintenance belum dicentang klik agar tercentang. Tentukan lokasi backup, jika file backup akan disimpan pada Harddisk pilih Disk, pilihan lain Tape untuk menyimpan data backup di Tape. Tentukan jadwal backup otomatis dengan mengklik tombol Change, lalu tentukan kapan waktu backup dan backup dilaksanakan setiap jam berapa. Jika jadwal backup sudah benar klik tombol OK. Klik tombol Next.
9.      Jika pilihan backup pada Disk akan muncul jendela Specify Backup Disk Directory. Ada dua pilihan: 
             o      Use the default backup directory. Secara default ada di C:\Program

o    Use this directory: pada pilihan ini anda dapat menentukan directory khusus untuk tempat backup.
Pada jendela ini juga ada option membuat subdirectory untuk tiap database dan pilihan untuk menghapus data backup untuk data yang lama.
Tentukan extention file backup (secara default adalah BAK). Klik tombol Next
10.  Akan muncul Specify the Transaction Log Backup Plan. Biarkan kosong check box di jendela ini. Klik Next.
11.  Akan muncul Reports to Generates. Centang Write Report.... jika anda perlu menyimpan report. Klik Next.
12.  Akan muncul jendela Maintenance Plan History, biarkan apa adanya lalu klik Next.
13.  Klik tombol Finish.
14.  Jika service SQLServerAgent belum aktif akan muncul pesan The SQLServerAgent is stopped. Maka anda harus mengaktifkan service SQLServerAgent.
Mengaktifkan SQLServerAgent
1.      Buka Server Service Manager 
2.      Pilih SQL Server Agent pada com box Service.
3.      Jika gambar merah segi empat berarti service belum berjalan.
4.      Klik tombol Start/Continue untuk menjalankan service SQL Server Agent.
5.      Jika anda ingin service ini berjalan otomatis saat komputer dinyalakan centanglah check box Auto-start service when OS starts.

Backup Database SQL Server  

Manfaat backup data akan anda rasakan setelah terjadi bencana atau kesalahan suatu operasi. Suatu saat saya menjalankan perintah query yang menyebabkan sebagian besar data berubah yang seharusnya tidak terjadi. Saya membuat perintah query tanpa kondisi yang seharusnya ditulisakn pada perintah Update Query. Berkat adanya backup data, kita degan cepat bisa memperbaiki database ke keadaan semula sebelum saya menjalankan perintah query yang keliru.
Backup data dapat dilakukan secara manual atau secara otomatis.

1. Backup data secara manual  

1.      Jalankan Enterprise Manager 
2.      Expand database server hingga tampak nama database yang akan dibackup 
3.      Klik kanan pada database, lalu pilih All Task, lalu pilih Backup Database
 
4.      Akan muncul jendela SQL Server Backup
5.      Klik tombol Add maka akan muncul jendela Select Backup Destination
6.      Isi File name di mana kita kana menyimpan backup data misalnya J:\Kantor\2011\DOKUMEN.BAK lalu klik tombol OK, Jendela Select Backup Destination akan tertutup dan kembali ke jendela SQL Server Backup 
7.      Pilih Append to Media atau Overwrite exixting media. Pilihan Append to Media adalah menyimpan backup dengan menyisipkan backup yang baru jika sebelumnya sudah pernah dilakukan backup data sedangkan pilihan Overwrite exixting media kita membackup data dengan cara menimpa data backup yang ada jika sebelumnya sudah pernah dilakukan backup data. 
8.      Klik tombol OK untuk menjalankan proses Backup. 

Teori Backup pada Oracle 10g 

Oracle backup dan recovery mengacu padateori dan praktek untuk melindungi data di oracleterhadap kehilangan dan memulihkan data, baik karena masalah teknis seperti kegagalan media penyimpanan (disk drive ) atau karena dari kesalahan yang dibuat oleh para pengguna (seperti kesalahan dalam update atau masuk sys-admin atau menghapus file DBA yang salah). 
Backup Oracle adalah himpunan konsep,strategi dan langkah-langkah untuk membuat salinan database, sehingga dapat digunakan untuk memulihkan dari kegagalan/ kesalahan pada saat tertentu.
Backup database secara fisik, merujuk pada database backup file, kontrol file dan diarsipkan ulang pada file - file log oracle. Pemulihan database merupakan himpunan konsep, strategi dan langkah-langkah untuk memulihkan suatu sistem/ user dari kesalahan atau masalah masalah yang berhubungan dengan media penyimpanan seperti Hard disk rusak
Recovery Manager (RMAN) adalah alat utama Oracle backup dan recovery yang built in(komponen pada Oracle Server). Jadi tidak perlu membayar biaya lisensi lagi untuk menggunakan produk Recovery Manager (RMAN) di Oracle.
RMAN (Recovery Manager) dimana posisi database tujuan siap untuk dibackup secara otomatis. Dijelaskan bahwa proses backup akan tercantum kapan backup dilakukan dengan identifikasi dan penempatan file backup tersebut sampai proses selesai
Recover merupakan perintah yang memiliki3 penggunaan yang berbeda :
Memulihkan secara lengkap satu atau lebih data file atau seluruh database (FULL BACKUP) Memperlihatkan pemulihan database point-in-time (DBPITR) atau table space (TSPITR). (STRATEGI BACKUP)
Menerapkan incremental backup ke dalam data file (bukan mengembalikan data file) untuk waktu berikutnya. (INCREMENTAL BACKUP)
                 

2. Planing Backup baik menggunkan SQL server dan Oracle dengan menyertakan penjelasan dari planing tersebut disertai dengan Teori/Materi fitur masing-masing produk (SQL Server dan Oracle) yang berhubungan dengan Backup.

1. Penjelasan tentang macam-macam planning backup pada SQL dan Oracle :
SQL

a. Backup satu database

Untuk membackup seluruh database maka format yang digunakan adalah :
# mysqldump -u -p [nama database] > [nama file].sql
Misal ingin membackup database blogDB dengan password „bahagia‟ dari database MySQL dan jika sudah dibackup maka namanya adalah blogdb.sql, maka format diatas menjadi :
# mysqldump -u root -pbahagia blogDB > blogdb.sql

b. Backup tabel database

Untuk membackup satu atau lebih tabel yang ada dalam suatu database maka formatnya adalah sebagai berikut :
# mysqldump -u -p [nama database] [table1] [table2] … > [nama file].sql
Misal kita ingin membackup dua tabel coba1 dab coba2 dalam database blogDB, maka format perintah menjadi :
# mysqldump -u root -pbahagia blogDB coba1 coba2 > duabuahtabel.sql

c. Backup dua atau lebih database

Jika ingin membackup dua atau lebih database menjadi maka formatnya menjadi :
# mysqldump -u -p - -database [database1] [database2] … > [nama file].sql
Membackup database blogDB dan database mahasiswa digabung menjadi satu dengan nama dua_database.sql, maka formatnya menjadi :
# mysqldump -u root -pbahagia - -database blogDB mahasiswa > dua_database.sql

d. Backup seluruh database

Jika ingin membackup seluruh database maka formatnya sebagai berikut : # mysqldump -u -p - -all-databases > [nama file].sql

e. Backup struktur data

Jika ingin membackup struktur databasenya saja tanpa mengikutsertakan data recordnya maka formatnya menjadi :
# mysqldump -u -p - -no-data [database] > [nama file].sql
Jika lebih dari satu database formatnya menjadi :
# mysqldump-u -p - -no-data - -database [database1][database2] > [nama file].sql
Jika mau membackup hanya data recordnya saja, maka formatnya : # mysqldump -u -p - -no-create-info [database] > [nama file].sql

f. Backup Kompress database

Jika ingin mengkompress hasil backup database, maka formatnya :
# mysqldump -u -p [database] | bzip2 -c > [namafile].sql.bz2
# mysqldump -u -p [database] | gzip -c > [namafile].sql.gz
Misalnya ingin membackup database blogDB dan dikompress menggunakan bzip2 atau gzip, maka formatnya :
# mysqldump -u root -pbahagia blogDB | bzip2 -c > blogdb.sql.bz2 atau
# mysqldump -u root -pbahagia blogDB | gzip -c > blogdb.sql.gz
Jika ingin variasi backup seperti backup seluruh database, beberapa tabel maka hanya diubah sebelum tanda | dengan mengikuti pola format sebelumnya. Format untuk membackup seluruh database dengan hasil sudah dikompress.
# mysqldump -u root -pbahagia - -all-databases | bzip2 -c > all_database.sql.bz2
atau
# mysqldump -u root -pbahagia - -all-databases | gzip -c > all_database.sql.gz

g. Script untuk backup

Untuk mempermudah backup bisa menggunakan script dibawah ini :
#!/bin/sh mysqldump - -all-database | gzip -c > /home/dado/all_database-`date -I`.sql.gz
ORACLE

Offline Backup

Offline backup merupakan jenis backup yang paling mudah. Melakukan offline backup melibatkan proses menutup database dab mem-backup file-file yang dibutuhkan, yaitu :
       Datafile
       Control file
       Redo log file
       Parameter file (init.sid)

Online Backup

Online backup merupakan proses backup saat database open (terbuka dan sedang digunakan).
Online backup dikenal juga dengan istilah Hot Backupatau archivelog backup.
                 

Rencana Schedule Backup Sistem Informasi Hotel

SQL Server

ini dibuat berdasarkan data pada database yang berubah sejak terakhir kalinya Full Backup.

Rencana Schedule Backup Sistem Informasi Hotel

Oracle

Incremential Backup adalah menyalin semua data yang berubah sejak terakhir kali melakukan Full Backup atau Differensial Backup. Incremental Backup disebut juga Differensial Backup.
Replikasi adalah suatu teknik untuk melakukan copy dan pendistribusian data dan objek-objek database dari satu database ke database lain yang lokasinya terpisah secara fisik. Dengan menggunakan teknik replikasi ini, data dapat didistribusikan ke lokasi yang berbeda melalui koneksi jaringan lokal maupun internet.
· Ada beberapa model replikasi secara umum, yaitu:
1)One master, one slave-->Replikasi yang hanya terdiri dari satu master dan satu slave.
2)One master, many slave-->Replikasi yang terdiri sari satu master dan beberapa slave.
3)Master/slave circular relationship-->Replikasi dimana kedua komponen bias berfungsi sebagai slave atau master.
4)Master/slave “daisy chain”
JENIS UMUM REPLIKASI
1)Replikasi Synchronous
· Proses dilakukan secara real-time antara master dengan slave.
· Keseluruhan proses penulisan pada disk master dan slave harus selesai terlebih dahulu sebelum beranjak ke transaksi selanjutnya.
· Kebutuhan akan performansi sistem yang tinggi harus dipertimbangkan (kecepatan & jarak antar site/node)
· Keuntungannya : menyediakan recovery yang konsisten karena sinkronisasi data terjaga.
2)Replikasi Asynchronous
· Proses replikasi terjadi setelah transaksi di master selesai.
· Pertukaran data secara buffering, data akan diletakkan dalam sebuah buffer terlebih dahulu, kemudian pada jangka waktu tertentu akan direplikasi ke disk slave.
· Tidak menjamin kesinkronan data apabila salah satu site/node mengalami crash saat replikasi belum selesai dilaksanakan.
· Keuntungan : efektifitas biaya proses transaksi
JENIS-JENIS REPLIKASI/MIRROR SQL 2000
1.  Snapshot  replication
Mendistribusikan 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 ‘read only’.
Replikasi ini membantu pada saat :
•  data sebagian besar statis dan tidak sering berubah
•  dapat menerima copy data yang telah melewati batas waktu yang ditentukan
•  datanya sedikit
2. Transactional replication
Memelihara kekonsistenan transaksi yang terjadi
3. Merge replication
Merge replication memungkinkan pengguna bekerja dan merubah data sesuai dengan wewenangnya.  Pada saat server tidak dikoneksikan ke seluruh lokasi dalam topologi,  replikasi merubah ke nilai data yang sama.
JENIS JENIS REPLIKASI/MIRROR ORACLE
1.      Administrasi database link
Database link, atau dikenal dengan db link, adalah sarana komunikasi antar dua database. Dengan db link, kita bisa melakukan query dari satu database ke database lain. Sering dipakai dalam sistem database terdistribusi (distributed system) dan replikasi (replication).
2.      Materialized View (Snapshot)
Solusi replikasi dari Oracle di antaranya adalah Oracle Stream dan Advanced Replication .
Advanced Replication meliputi Multimaster, Materialized View, dan hybrid (antara Multimaster replication dan materialized view).
Dengan database link biasanya digunakan untuk replikasi (replication) dan distribusi data (distributed Database). Sementara MV dengan multi join (ke banyak tabel) digunakan untuk data warehouse.
DIAGRAM & SCHEDULE (Backup/Restore)
                                                                                                                                            
Backup planing

 




 




 
KETERANGAN :
9.                  Petugas cabang melakukan pengecekan informasi tamu hotel ke DB Cabangnya sendiri
10.              Dari DB cabang akan menampilkan informasi tentang fasilitas hotel yang di request tamu
11.              Jika dalam pengecekan ditampilkan fasilitas hotel yang di request sudah dipesan/tersedia, maka petugas langsung melakukan pengecekan ke DB Hotel pusat
12.              Dari DB Hotel pusat akan akan menampilkan informasi fasilitas hotel yang di request ke DB cabang yang lain
13.              Kemudian dari DB cabang akan menampilkannya pada PC cabang

14.               Dari database server apabila terjadi penambahan, penguramgan dan juga pemberitahuan juga informasi dari database cabang.
15.              Laporan, pemberitahuan, informasi dari database admin cabang akan diperiksa di computer server.
16.              Untuk DB pusat, semua aktifitas data yang ada pada Database akan di backup ke “Backup DB Server”.

Schedule Planing
KETERANGAN :
Full backup : dilakukannya full backup karena saat hari minggu database hotel akan mengalami kepadatan. Maka harus dilakukan full backup pada hari senin.
Differential : dilakukannya differential backup pada hari rabu karena pertengahan hari dalam seminggu dan hari jumat karena waktu senggang kegiatan maka untuk dilakukannya pembackupan data terakhir dilakukan pada hari itu.
NB : differential backup merupakan metode backup database pada sql server dimana backup ini dibuat menurut data pada DB yang berubah sejak terakhir kalinya dilakukannya full backup.
Diffrential backup berukuran lebih kecil dan lebih cepat daripada full backup.
DIAGRAM & SCHEDULE (Replikasi/sincronize)
Replikasi Planing







 


 








KETERANGAN :
Terjadi proses replikasi database pada server database 1 (ormaster) menuju server database 2 (orslave). Sehingga semua data di semua lokasi sama. Melalui mekanisme replikasi asynchronous misalkan terjadi perubahan data pada master site ormaster, data akan di apply terlebih dahulu di master site tersebut untuk kemudian didistribusikan ke master site lain (orslave).
Schedule Planing








 
Replikasi setiap satu bualansekali
KETERANGAN :
Replikasi dilakukan pada hari jumat setiap satu bulan sekali pada saat database server mati, maka saat itu dilakukan replikasi. Dalam implementasi database hotel terdistribusi sistem aplikasi dapat menghasilkan performa yang baik menyangkut ketersediaan data.

Dengan adanya replikasi database yang dapat menghasilkan kesamaan posisi data pada beberapa master site.

2 comments: