Materi 5 Keamanan Komputer Keamanan Basis Data
-
Upload
mardiant-djokovic -
Category
Documents
-
view
111 -
download
16
Embed Size (px)
Transcript of Materi 5 Keamanan Komputer Keamanan Basis Data

Administrasi Data dan Administrasi Data dan Keamanan DatabaseKeamanan Database
Materi 5 Keamanan KomputerMateri 5 Keamanan KomputerDiambil dari slide: Abdul KadirDiambil dari slide: Abdul Kadir

Data Penting untuk Data Penting untuk DiorganisasikanDiorganisasikan
Data adalah aset Data adalah aset Sangat bernilai untuk Sangat bernilai untuk dikeloladikelola
Administrasi data yang efektif Administrasi data yang efektif memudahkan pembuatan keputusan di memudahkan pembuatan keputusan di segala tingkatsegala tingkat
Ketidakefektifan dalam adminisstrasi data Ketidakefektifan dalam adminisstrasi data membuat pemanfaatan data menjadi membuat pemanfaatan data menjadi berkurangberkurang

Masalah DataMasalah Data Definisi berganda terhadap entitas dataDefinisi berganda terhadap entitas data Ketidakkonsistesian terhadap data yang sama pada Ketidakkonsistesian terhadap data yang sama pada
databasedatabase yang berbeda yang berbeda kesulitaan dalam integrasi kesulitaan dalam integrasi datadata
Kualitas data yang rendah karena sumber data yang Kualitas data yang rendah karena sumber data yang tidak tepat atau ketidaktepatan waktu dalam mentransfer tidak tepat atau ketidaktepatan waktu dalam mentransfer data dari sistem lain data dari sistem lain mengurangi keandalan mengurangi keandalan
Kekurangakraban thd data yang ada (lokasi maupun Kekurangakraban thd data yang ada (lokasi maupun makna) makna) manfaat berkurang manfaat berkurang
Tanggapan waktu yang lamaTanggapan waktu yang lama Kekurangan kontrol terhadap privasi dan keamananKekurangan kontrol terhadap privasi dan keamanan

Administrasi Data dan DatabaseAdministrasi Data dan Database
Administrasi data Administrasi data Fungsi pada Fungsi pada
perusahaan yg perusahaan yg bertanggung jawab bertanggung jawab dalam mengelola dalam mengelola keseluruhan data keseluruhan data dalam organisasidalam organisasi
Menentukan standar Menentukan standar dan pendefinisian dan pendefinisian data dalam lingkup data dalam lingkup perusahaanperusahaan
Administrasi database Administrasi database Fungsi teknis yg Fungsi teknis yg
bertanggung jawab bertanggung jawab thd perancangan thd perancangan database secara fisikdatabase secara fisik
Menangani masalah-Menangani masalah-masalah teknis masalah teknis seperti pemaksaan seperti pemaksaan keamanan, kinerja keamanan, kinerja database, dan database, dan backup/recoverybackup/recovery

Administrasi Data dan DatabaseAdministrasi Data dan Database
Data administratorData administrator (DA) / (DA) / Information Information resource managerresource manager: orang yang : orang yang mengepalai fungsi administrasi datamengepalai fungsi administrasi data
Database administratorDatabase administrator (DBA): Orang (DBA): Orang yang bertanggung jawab dalam yang bertanggung jawab dalam merancang database secara fisik dan merancang database secara fisik dan persoalan teknispersoalan teknis

Fungsi DA dan DBAFungsi DA dan DBAPerencanaans DatabasePerencanaans Database
Membuat strategi/kebijakan database perusahaanMembuat strategi/kebijakan database perusahaan
Membuat arsitektur informasi perusahaanMembuat arsitektur informasi perusahaan
Membuat model biaya/manfaatMembuat model biaya/manfaat
Merancang lingkungan database/memilih teknologiMerancang lingkungan database/memilih teknologi
Membuat rencana adminsitrasi dataMembuat rencana adminsitrasi data
Analisis DatabaseAnalisis Database
Menentukan kebutuhan dataMenentukan kebutuhan data
Menentukan aturan-aturan bisnisMenentukan aturan-aturan bisnis
Menentukan kebutuhan operasionalMenentukan kebutuhan operasional
Memcahkan konflik-konflik kebutuhanMemcahkan konflik-konflik kebutuhan
Memelihara Memelihara data dictionary/repositorydata dictionary/repository perusahaan perusahaan
Perancangan DatabasePerancangan Database
Melakanakan perancangan database secara logisMelakanakan perancangan database secara logis
Merancang model ekssternal (subskema)Merancang model ekssternal (subskema)
Merancang model fisik (internal)Merancang model fisik (internal)
Merancang kontrol integritasMerancang kontrol integritas
DA
DBA

Fungsi DA dan DBA (lanjutan…)Fungsi DA dan DBA (lanjutan…)Implementasi DatabaseImplementasi Database
Menentukan kebijakan akses databaseMenentukan kebijakan akses database
Membentuk kontrol integritasMembentuk kontrol integritas
Memasasng DBMSMemasasng DBMS
Mengawasi pemuatan databaseMengawasi pemuatan database
Menentukan prosedur pengujianMenentukan prosedur pengujian
Membuat standar pemrograman aplikasiMembuat standar pemrograman aplikasi
Membentuk prosedur utk backup/recoveryMembentuk prosedur utk backup/recovery
Melakukan pelatihan userMelakukan pelatihan user
Operasi dan PemeliharaanOperasi dan Pemeliharaan
Backup dan recovery thd databaseBackup dan recovery thd database
Memperbaharui DBMSMemperbaharui DBMS
Memonitor kinerja databaseMemonitor kinerja database
Menyetel dan mengatur kembali databaseMenyetel dan mengatur kembali database
Memaksakan prosedur dan standarMemaksakan prosedur dan standar
Melayani pemakaiMelayani pemakai
DA/DBA
DA/DBA
DBA
DBA
DA/DBA

Fungsi DA dan DBA (lanjutan…)Fungsi DA dan DBA (lanjutan…)Pertumbuhan dan PerubahanPertumbuhan dan Perubahan
Mewujudkan prosedur kontrol perubahanMewujudkan prosedur kontrol perubahan
Merencanakan pertumbuhan dan perubahanMerencanakan pertumbuhan dan perubahan
Mengevaluasi teknologi baruMengevaluasi teknologi baru
DA/DBA

Peranan Baru DBAPeranan Baru DBA
Procedural DBAProcedural DBA DBMS mendukung DBMS mendukung triggertrigger dan dan stored stored
procedureprocedure perlu menentukan aturan-aturan perlu menentukan aturan-aturan bisnis yang melekat dalam DBMS daripada bisnis yang melekat dalam DBMS daripada pada aplikasi terpisahpada aplikasi terpisah
DBA bertanggung jawab agar prosedur betul-DBA bertanggung jawab agar prosedur betul-betul efektifbetul efektif

Peranan Baru DBA (lanjutan…)Peranan Baru DBA (lanjutan…)
e-DBAe-DBA DBA harus juga mempunyai kemampuan DBA harus juga mempunyai kemampuan
dalam mengelola aplikasi dan database yang dalam mengelola aplikasi dan database yang berjalan dalam lingkungan Internetberjalan dalam lingkungan Internet

Peranan Baru DBA (lanjutan…)Peranan Baru DBA (lanjutan…)
PDA DBAPDA DBA DBA harus mampu menangani aktivitas para DBA harus mampu menangani aktivitas para
“mobile workers”“mobile workers” Perlu menangani sinkronisasi antara data Perlu menangani sinkronisasi antara data
yang disimpan pada PDA dan pada serveryang disimpan pada PDA dan pada server

Peranan Baru DBA (lanjutan…)Peranan Baru DBA (lanjutan…)
Data warehouse administrationData warehouse administration DBA mampu menangani database dalam data DBA mampu menangani database dalam data
warehouse dan datamart untuk mendukung warehouse dan datamart untuk mendukung pengambilan keputusanpengambilan keputusan

Isu Open-SourceIsu Open-Source
Open-source DBMS (misal PostgreSQL Open-source DBMS (misal PostgreSQL dan MySQL) mulai populerdan MySQL) mulai populer
Umumnya memiliki fitur yg masih kalah Umumnya memiliki fitur yg masih kalah dengan DBMs komersial seperti Oracle 9i, dengan DBMs komersial seperti Oracle 9i, tetapitetapi
lebih ampuh daripada DBMS seperti lebih ampuh daripada DBMS seperti Microsoft AccessMicrosoft Access
Perlu menjadi pilihan bila perusahaan Perlu menjadi pilihan bila perusahaan bersifat bersifat cost-sensitivecost-sensitive

Memodelkan Data PerusahaanMemodelkan Data Perusahaan
Pemodelan data dan perancangan Pemodelan data dan perancangan database menjadi tanggung jawab kunci database menjadi tanggung jawab kunci bagi administrasi data dan databasebagi administrasi data dan database
AdministrasiData
AdministrasiDatabase
EnterpriseData
Model
ConceptualData
Model
Perencanaan Analisis
LogicalData
Model
PhyicalData
Model
Perancangan Logis Perancangan Fisik

Mengelola Keamanan DataMengelola Keamanan Data
Tujuan keamanan databaseTujuan keamanan database: melindungi : melindungi ndata dari ancaman yang disengaja atau ndata dari ancaman yang disengaja atau tidak disengaja tehadap akses dan tidak disengaja tehadap akses dan integritasintegritas
Ancaman bertambah karena adanya Ancaman bertambah karena adanya akses melalui Internet atau teknologi akses melalui Internet atau teknologi bergerakbergerak

Ancaman terhadap Ancaman terhadap Keamanan DataKeamanan Data
Kehilangan yang tidak disengajaKehilangan yang tidak disengaja Bisa diakibatkan olehBisa diakibatkan oleh
• Kesalahan manusiaKesalahan manusia• Kesalahan sotwareKesalahan sotware• Kegagalan hardwareKegagalan hardware
PenyusupanPenyusupan Pengaksesan dilakukan oleh orang yang tidak Pengaksesan dilakukan oleh orang yang tidak
berhakberhak Bisa mengubah atau tidak mengubah dataBisa mengubah atau tidak mengubah data

Ancaman terhadap Ancaman terhadap Keamanan Data (Lanjutan…)Keamanan Data (Lanjutan…)
Kehilangan Privasi atau KerahasiaanKehilangan Privasi atau Kerahasiaan Kehilangan privasi berarti kehilangan proteksi Kehilangan privasi berarti kehilangan proteksi
yang dirasakan oleh seseorangyang dirasakan oleh seseorang Kehilangan kerahasiaan berarti kebocoran Kehilangan kerahasiaan berarti kebocoran
data yang bersifat penting bagi perusahaandata yang bersifat penting bagi perusahaan Kehilangan Integritas DataKehilangan Integritas Data
Bila integritas dilanggar, data menjadi tidak Bila integritas dilanggar, data menjadi tidak valid atau bahkan rusakvalid atau bahkan rusak
Bisa menimbulkan kesalahan dalam Bisa menimbulkan kesalahan dalam pengambilan keputusanpengambilan keputusan

Ancaman terhadap Ancaman terhadap Keamanan Data (Lanjutan…)Keamanan Data (Lanjutan…)
Kehilangan KetersediaanKehilangan Ketersediaan Bisa disebabkan sabotase pada H/W, Bisa disebabkan sabotase pada H/W,
jaringan, dan aplikasijaringan, dan aplikasi Penetrasi virus yang dimaksud merusak dataPenetrasi virus yang dimaksud merusak data

Rencana Keamanan DataRencana Keamanan Data
MencakupMencakup Prosedur dan kebijakan administratifProsedur dan kebijakan administratif Proteksi fisikProteksi fisik Proteksi perangkat lunak manajemen dataProteksi perangkat lunak manajemen data

Proteksi S/W Manajemen DataProteksi S/W Manajemen Data
View atau subskemaView atau subskema Domain, cek, dan kontrol integritas yang lainDomain, cek, dan kontrol integritas yang lain Aturan otorisasiAturan otorisasi User-defined procedureUser-defined procedure Prosedur enkripsiProsedur enkripsi Skema otentikasiSkema otentikasi Backup, journaling, dan checkpointing Backup, journaling, dan checkpointing
(memfasilitasi prosedur (memfasilitasi prosedur recoveryrecovery))

Aturan OtorisasiAturan Otorisasi
Aturan otorisasiAturan otorisasi: kontrol yang melekat : kontrol yang melekat dalam sistem manajemen data yang dalam sistem manajemen data yang membatasi akses thd data dan tindakan-membatasi akses thd data dan tindakan-tindakan yang dapat dilakukan oleh orangtindakan yang dapat dilakukan oleh orang
Contoh, orang yang berhak mengakes Contoh, orang yang berhak mengakes data bisa membaca seluruh data bisa membaca seluruh database database tetapi tidak bisa mengubah datatetapi tidak bisa mengubah data

Contoh Aturan OtorisasiContoh Aturan Otorisasi
SubjekSubjek ObjekObjek TindakanTindakan KekanganKekangan
Bagian Bagian PemasaranPemasaran
Data PelangganData Pelanggan MenambahMenambah Limit kredit <= 5.000.000Limit kredit <= 5.000.000
Bagian Bagian AkuntansiAkuntansi
Data PemesananData Pemesanan MenghapusMenghapus Tak adaTak ada
Bagian Bagian Pemenuhan Pemenuhan PesananPesanan
Data PemesananData Pemesanan MembacaMembaca
MengubahMengubah
MenghapusMenghapus
Tak adaTak ada

Implementasi Aturan OtorisasiImplementasi Aturan Otorisasi
Perintah SQL GRANT dipakai untuk Perintah SQL GRANT dipakai untuk menentukan otorisasi akses datamenentukan otorisasi akses data
Perintah SQL REVOKE dipakai untuk Perintah SQL REVOKE dipakai untuk mencabut otorisasimencabut otorisasi

Contoh Skenario Hak AksesContoh Skenario Hak Akses

Contoh Skenario Hak AksesContoh Skenario Hak Akses
Contoh menciptakan user:Contoh menciptakan user:CREATE USER arifCREATE USER arif
IDENTIFIED BY '007arif';IDENTIFIED BY '007arif'; Contoh memberikan hak akses ke arif:Contoh memberikan hak akses ke arif:
GRANT ALL ON pegawai.* TO arif;GRANT ALL ON pegawai.* TO arif;

Hak Akses pada MySQLHak Akses pada MySQLHak akses Keterangan
SELECT Hak akses ini memungkinkan pemakai melakukan operasi SELECT.Beberapa sistem menggunakan hak akses READ yang identik dengan hak akses SELECT.
INSERT Hak akses ini memungkinkan pemakai melakukan operasi INSERT
UPDATE Hak akses ini memungkinkan pemakai melakukan operasi UPDATE
DELETE Hak akses ini memungkinkan pemakai melakukan operasi DELETE
INDEX Hak akses ini memungkinkan pemakai menciptakan indeks dan menghapus indeks
DROP Hak akses ini memungkinkan pemakai menghapus tabel
EXECUTE Hak akses yang memungkinkan pemakai menjalankan ’stored procedure’ (prosedur tersimpan)
FILE Hak akses yang memungkinkan pemakai menjalankan SELECT ... INTO OUTFILE and LOAD DATA INFILE
ALTER Hak akses yang memungkinkan pemakai melaksanakan pernyataan ALTER TABLE untuk mengubah tabel
LOCK TABLES Hak akses yang memungkinkan pemakai mengunci tabel
ALL Memberikan seluruh hak akses kecuali GRANT OPTION
GRANT OPTION Memungkinkan hak akses bisa diwariskan

Hak AksesHak Akses
Memberikan hak akses SELECT saja:Memberikan hak akses SELECT saja:GRANT SELECT GRANT SELECT
ON pegawai.* TO novi;ON pegawai.* TO novi;

Membatasi Hak Akses pada Membatasi Hak Akses pada Kolom TertentuKolom Tertentu
GRANT SELECTGRANT SELECT
ON pegawai.infoprib TO terra;ON pegawai.infoprib TO terra;
GRANT SELECTGRANT SELECT
ON pegawai.bagian TO terra;ON pegawai.bagian TO terra;
GRANT SELECT (nip, kode_bag), GRANT SELECT (nip, kode_bag), UPDATE (nip, kode_bag) UPDATE (nip, kode_bag)
ON pegawai.pekerjaan TO terra;ON pegawai.pekerjaan TO terra;

GRANT OPTIONGRANT OPTION

EnkripsiEnkripsi
Enkripsi: Suatu pengodean atau Enkripsi: Suatu pengodean atau pengacakan data dengan tujuan orang pengacakan data dengan tujuan orang tidak bisa membacanyatidak bisa membacanya
Implementasi enkripsi:Implementasi enkripsi: Satu kunci (Contoh DES-Data Encryption Satu kunci (Contoh DES-Data Encryption
Standard)Standard) Dua kunci (Contoh SSL –Secure Socket Dua kunci (Contoh SSL –Secure Socket
Layer)Layer)

Enkripsi dengan Dua KunciEnkripsi dengan Dua Kunci
Algoritma Enkripsi
Teks asli
Kunci Publik
Teks terenkripsi
Algoritma Dekripsi
Teks asli
Kunci Privat

Skema OtentikasiSkema Otentikasi
Skema otentikasi digunakan untuk menentukan Skema otentikasi digunakan untuk menentukan seseorang apakah orang yang berhak atau tidak seseorang apakah orang yang berhak atau tidak untuk mengakses sistemuntuk mengakses sistem
Perwujudan yang biasa dilakukan:Perwujudan yang biasa dilakukan: Melalui identifikasi yang diketahui oleh dirinya sendiri Melalui identifikasi yang diketahui oleh dirinya sendiri
berupa password atau PINberupa password atau PIN Menggunakan alat seperti smartcardMenggunakan alat seperti smartcard Menggunakan sesuatu yang bersifat unik, seperti Menggunakan sesuatu yang bersifat unik, seperti
sidik jarisidik jari

Backup dan RecoveryBackup dan Recovery
Database backupDatabase backup: adalah mekanisme : adalah mekanisme untuk melakukan penyalinan database ke untuk melakukan penyalinan database ke suatu media eksternal suatu media eksternal
Database recoveryDatabase recovery: Mekanisme untuk : Mekanisme untuk memulihkan database dengan cepat dan memulihkan database dengan cepat dan akurat setelah mengalami kerusakanakurat setelah mengalami kerusakan

Fasilitas Recovery DasarFasilitas Recovery Dasar Fasilitas backup, menyediakan mekanisme Fasilitas backup, menyediakan mekanisme
untuk menyalin keseluruhan/sebagian untuk menyalin keseluruhan/sebagian databasedatabase Fasilitas penjurnalan, menjaga Fasilitas penjurnalan, menjaga audit trail audit trail thd thd
transaksi dan perubahan transaksi dan perubahan databasedatabase Fasilitas checkpoint, menunda semua Fasilitas checkpoint, menunda semua
pemrosesan dan melakukan sinkronisasi pemrosesan dan melakukan sinkronisasi terhadap file-file dan jurnal untuk membentuk terhadap file-file dan jurnal untuk membentuk titik pemulihantitik pemulihan
Manajer Manajer recoveryrecovery, memungkinkan pengembalian , memungkinkan pengembalian database ke kondisi yang benar dab memulai database ke kondisi yang benar dab memulai pemrosesan transaksipemrosesan transaksi

Fasilitas PenjurnalanFasilitas Penjurnalan
Menyediakan audit trail terhadap transaksi Menyediakan audit trail terhadap transaksi dan perubahan databasedan perubahan database
Pada saat kegagalan pada sistem terjadi, Pada saat kegagalan pada sistem terjadi, keadaan database yang konsisten dapat keadaan database yang konsisten dapat dikembalikan lagi dengan menggunakan dikembalikan lagi dengan menggunakan informasi jurnal dan data backupinformasi jurnal dan data backup

Fasilitas Penjurnalan (Lanjutan…)Fasilitas Penjurnalan (Lanjutan…)
DBMS
Database(Kini)
CatatanTransaksi
CatatanPerubahanDatabase
Database(Backup)
Transaksi Tindakan recovery
Efek transaksi/tindakan recovery
Salinan Transaksi
Salinan database yang diakibatkan transaksi

Fasilitas Penjurnalan (Lanjutan…)Fasilitas Penjurnalan (Lanjutan…)
Catatan transaksi (transaction log) berisi:Catatan transaksi (transaction log) berisi: Identitas transaksiIdentitas transaksi Data transaksiData transaksi Tipe transaksi (misalnya: Insert)Tipe transaksi (misalnya: Insert) Waktu transaksiWaktu transaksi Identitas terminal atau pemakaiIdentitas terminal atau pemakai Nilai data yang dimasukkanNilai data yang dimasukkan Tabel dan record yang diaksesTabel dan record yang diakses Record-record yang terubahRecord-record yang terubah Nilai lama dan nilai baruNilai lama dan nilai baru

Fasilitas Penjurnalan (Lanjutan…)Fasilitas Penjurnalan (Lanjutan…)
Catatan perubahan database (database Catatan perubahan database (database change log) berisi:change log) berisi: Salinan record sebelum dan sesudah Salinan record sebelum dan sesudah
transaksitransaksi Before-imageBefore-image: salinan sebuah record : salinan sebuah record
sebelum dimodifikasisebelum dimodifikasi After-imageAfter-image: salinan sebuah record : salinan sebuah record
sesudah dimodifikasisesudah dimodifikasi

Prosedur Recovery dan RestartProsedur Recovery dan Restart Disk mirroringDisk mirroring (RAID 1) (RAID 1) Restore/RerunRestore/Rerun
Suatu teknik untuk memproses kembali transaksi harian sampai Suatu teknik untuk memproses kembali transaksi harian sampai titik kegagalan berdasarkan salinan backup databasetitik kegagalan berdasarkan salinan backup database
Pertama-tama, database dihentikanPertama-tama, database dihentikan Kemudian, backup terbaru dihubungkan ke database dan Kemudian, backup terbaru dihubungkan ke database dan
seluruh transaksi setelah penyalinan dijalankan kembaliseluruh transaksi setelah penyalinan dijalankan kembali Menjaga integritas transaksiMenjaga integritas transaksi
Menggunakan model transaksiMenggunakan model transaksi Transaksi diawali dengan START TRANSACTION dan diakhiri Transaksi diawali dengan START TRANSACTION dan diakhiri
dengan COMMIT/ROLLBACKdengan COMMIT/ROLLBACK

Restore/RerunRestore/Rerun
KeuntunganKeuntungan SederhanaSederhana Tidak perlu Tidak perlu
menciptakan jurnal menciptakan jurnal perubahanperubahan
Tidak perlu prosedur Tidak perlu prosedur restartrestart
KelemahanKelemahan Waktu untuk Waktu untuk
memproses transaksi memproses transaksi mungkin lamamungkin lama
Transaksi baru perlu Transaksi baru perlu ditundaditunda
Ada kemungkinan Ada kemungkinan hasil transaksi hasil transaksi menjadi berbeda menjadi berbeda dengan aslinyadengan aslinya

Disaster RecoveryDisaster Recovery
Setiap organisasi harus memiliki Setiap organisasi harus memiliki mekanisme disaster recoverymekanisme disaster recovery
Untuk mengantisipasi kehancuran pada Untuk mengantisipasi kehancuran pada pusat datapusat data
Bisa diakibatkan bencana alam atau Bisa diakibatkan bencana alam atau manusia (perang, sabotase)manusia (perang, sabotase)
DBA mempunyai peran dalam membuat DBA mempunyai peran dalam membuat rencana recoveryrencana recovery

Mengontrol Akses BersamaMengontrol Akses Bersama
DBMS memiliki kontrol konkurensiDBMS memiliki kontrol konkurensi Kontrol konkurensiKontrol konkurensi: proses pengelolaan : proses pengelolaan
terhadap akses yang dilakukan oleh terhadap akses yang dilakukan oleh sejumlah orang dengan tujuan agar sejumlah orang dengan tujuan agar integritas data dapat terjaga dengan baikintegritas data dapat terjaga dengan baik

Mengontrol Akses BersamaMengontrol Akses Bersama(Lanjutan…)(Lanjutan…)
Penanganan yg biasa dilakukan: LockingPenanganan yg biasa dilakukan: Locking Penguncian bisa pada level database, tabel, Penguncian bisa pada level database, tabel,
atau recordatau record Jenis locking:Jenis locking:
Shared lockShared lock Exclusive lockExclusive lock
Problem penguncian: deadlockProblem penguncian: deadlock DeadlockDeadlock: Keadaan yang membuat dua buah : Keadaan yang membuat dua buah
transaki saling menunggu karena masing-transaki saling menunggu karena masing-masing mengunci data yang diperlukan masing mengunci data yang diperlukan transaksi pasangannyatransaksi pasangannya

Ilustrasi DeadlockIlustrasi Deadlock
User 1User 1
Mengunci record AMengunci record A
Meminta record BMeminta record B
(Menunggu B)(Menunggu B)
User 2User 2
Mengunci record BMengunci record B
Meminta record AMeminta record A
(Menunggu A)(Menunggu A)
Deadlock

Menangani DeadlockMenangani Deadlock
Ada dua cara:Ada dua cara: Deadlock preventionDeadlock prevention
• Program harus mengunci semua record yang Program harus mengunci semua record yang diperlukan di awal transaksidiperlukan di awal transaksi
• Jika record telah terkunci, pemakai lain haru Jika record telah terkunci, pemakai lain haru menunggu sampai penguncian dilepaskanmenunggu sampai penguncian dilepaskan
Deadlock resolutionDeadlock resolution• Menyerahkan sepenuhnya penanganan deadlock Menyerahkan sepenuhnya penanganan deadlock
kepada DBMSkepada DBMS

Contoh PersoalanContoh Persoalan
Terjadi proses pemindahbukuan dari Terjadi proses pemindahbukuan dari rekening A ke rekening B sebesar Xrekening A ke rekening B sebesar X
Mungkinkah persoalan ini menimbulkan Mungkinkah persoalan ini menimbulkan deadlock? Kenapa?deadlock? Kenapa?

Contoh PersoalanContoh Persoalan
Terjadi proses pemindahbukuan dari Terjadi proses pemindahbukuan dari rekening A ke rekening B sebesar Xrekening A ke rekening B sebesar X
Bagaimana cara mengatasi deadlock?Bagaimana cara mengatasi deadlock?

Mengelola Kualitas DataMengelola Kualitas Data
Data berkualitas tinggi:Data berkualitas tinggi: AkuratAkurat KonsistenKonsisten Tersedia pada waktu yang tepatTersedia pada waktu yang tepat
Fakta yang menunjukkan bahwa menjaga data Fakta yang menunjukkan bahwa menjaga data yang berkualitas tinggi itu sulit:yang berkualitas tinggi itu sulit: 2% record dalam data pelanggan kedaluarsa dalam 2% record dalam data pelanggan kedaluarsa dalam
satu bulan karena hal-hal seperti:satu bulan karena hal-hal seperti:• Pelanggan meninggalPelanggan meninggal• Pelanggan berpindah lokasiPelanggan berpindah lokasi• Pelangan bercerai dsbPelangan bercerai dsb

Problem Kualitas DataProblem Kualitas Data
Sumber data eksternalSumber data eksternal Data yang berasal dari pihak luar mungkin tidak Data yang berasal dari pihak luar mungkin tidak
akurat, alah, atau tidak lengkapakurat, alah, atau tidak lengkap
Penyimpanan data yang redundanPenyimpanan data yang redundan Data tersebar dalam berbagai bentuk (spreadsheet, Data tersebar dalam berbagai bentuk (spreadsheet,
database, dokumen) dan ada kemungkinan tidak database, dokumen) dan ada kemungkinan tidak konsisten dan tidak kompatibelkonsisten dan tidak kompatibel
Kekurangan Komitmen OrganisasiKekurangan Komitmen Organisasi Pemakai internal tidak patuh terhadap aturan-aturan Pemakai internal tidak patuh terhadap aturan-aturan
yang telah ditetapkan dan organisasi membiarkannyayang telah ditetapkan dan organisasi membiarkannya

Usaha untuk Menjaga Usaha untuk Menjaga Kualitas DataKualitas Data
Membentuk komite yang menjamin bahwa Membentuk komite yang menjamin bahwa kualitas data terjaga dengan baikkualitas data terjaga dengan baik
Menerapkan prinsip TQM untuk selalu Menerapkan prinsip TQM untuk selalu meningkatkan kualitas datameningkatkan kualitas data
Mengatasi hambatan-hambatan dalam Mengatasi hambatan-hambatan dalam organisasiorganisasi

Data Dictionary dan RepositoryData Dictionary dan Repository
Data dictionaryData dictionary merupakan istilah lama merupakan istilah lama dan dan repository repository adalah istilah yang lebih adalah istilah yang lebih barubaru
Data dictionaryData dictionary: Tempat penyimpanan : Tempat penyimpanan informasi tentang informasi tentang databasedatabase yang yang mendokumentasikan elemen-elemen data mendokumentasikan elemen-elemen data dalam dalam databasedatabase
RepositoryRepository: Istilah baru yang fungsinya : Istilah baru yang fungsinya lebih kompleks daripada lebih kompleks daripada data dictionarydata dictionary

RepositoryRepository
RepositoryRepository atau dikenal dengan nama atau dikenal dengan nama lengkap lengkap information repositoryinformation repository tidak tidak hanya mencakup metadata yang hanya mencakup metadata yang menjelaskan data dalam organisasi tetapi menjelaskan data dalam organisasi tetapi juga lingkungan juga lingkungan pemrosesan informasipemrosesan informasi

IRDSIRDS IRDS (IRDS (Information Repository Dictionary Information Repository Dictionary
SystemSystem) : S/W yang digunakan untuk mengelola ) : S/W yang digunakan untuk mengelola dan mengontrol akses terhadap dan mengontrol akses terhadap information information repositoryrepository
IRDS menyediakan fasilitas untuk menyimpan IRDS menyediakan fasilitas untuk menyimpan dan memproses deskripsi data dan sumber dan memproses deskripsi data dan sumber pemrosesan datapemrosesan data
Sistem yang mengikuti IRDS dapat mentransfer Sistem yang mengikuti IRDS dapat mentransfer definisi data yang dihasilkan oleh berbagai definisi data yang dihasilkan oleh berbagai produkproduk
IRDS menjadi standar ISO (1990)IRDS menjadi standar ISO (1990)

Mengatur Kinerja DatabaseMengatur Kinerja Database
Ada 5 hal yang perlu diperhatikan agar Ada 5 hal yang perlu diperhatikan agar kinerja database terjaga dengan baik:kinerja database terjaga dengan baik:
1.1. Pemasangan DBMSPemasangan DBMS
2.2. Pemakaian memoriPemakaian memori
3.3. Penggunaan I/OPenggunaan I/O
4.4. Penggunaan CPUPenggunaan CPU
5.5. TuningTuning aplikasi aplikasi

Pemasangan DBMSPemasangan DBMS
Instalasi DBMS harus benar-benar sesuai Instalasi DBMS harus benar-benar sesuai dengan lingkungandengan lingkungan
Biasanya tertera dalam file READMEBiasanya tertera dalam file README Penggunaan nilai Penggunaan nilai defaultdefault untuk parameter untuk parameter
tertentu seringkali membuat kinerja yang tertentu seringkali membuat kinerja yang tidak optimaltidak optimal
Sebelum melakukan instalasi DBMS, DBA Sebelum melakukan instalasi DBMS, DBA harus memastikan ketersediaan ruang harus memastikan ketersediaan ruang hard diskhard disk

Pemasangan DBMS (Lanjutan…)Pemasangan DBMS (Lanjutan…)
Baca manual DBMS untuk menerjemahkan Baca manual DBMS untuk menerjemahkan parameter ukuran database secara logis (seperti parameter ukuran database secara logis (seperti panjang field, jumlah baris tabel, dan perkiraan panjang field, jumlah baris tabel, dan perkiraan pertumbuhan data) ke dalam kebutuhan ruang pertumbuhan data) ke dalam kebutuhan ruang fisikfisik
Alokasi ruang disk untuk database perlu Alokasi ruang disk untuk database perlu mendapat perhatian. Sistem mendapat perhatian. Sistem backupbackup pada pada sistem UNIX tertentu hanya mempunyai sistem UNIX tertentu hanya mempunyai masalah pada file yang berukuran lebih dari 1 masalah pada file yang berukuran lebih dari 1 GBGB

Pemakaian MemoriPemakaian Memori
Supaya efisien, penggunaan memori oleh Supaya efisien, penggunaan memori oleh DBMS perlu juga diperhatikanDBMS perlu juga diperhatikan
Sebagai contoh, sistem Oracle Sebagai contoh, sistem Oracle menggunakan memori untuk menaruh menggunakan memori untuk menaruh data dictionary. data dictionary.
Bila memori tidak cukup, sistem akan Bila memori tidak cukup, sistem akan sering membaca struktur tabel dari disk. sering membaca struktur tabel dari disk. Hal ini mempengaruhi kinerja sistemHal ini mempengaruhi kinerja sistem

Penggunaan I/OPenggunaan I/O
Aplikasi database berpengaruh besar Aplikasi database berpengaruh besar terhadap I/Oterhadap I/O
Walapun kecepatan CPU tinggi, I/O tidak Walapun kecepatan CPU tinggi, I/O tidak bersifat proporsionalbersifat proporsional
Suatu objek yang sering diakses secara Suatu objek yang sering diakses secara bersamaan dapat dibagi ke dalam bersamaan dapat dibagi ke dalam beberapa diskbeberapa disk

Penggunaan CPUPenggunaan CPU
Hampir semua operasi Hampir semua operasi database database memerlukan aktivitas CPUmemerlukan aktivitas CPU
Penggunaan CPU perlu dimonitor ketika Penggunaan CPU perlu dimonitor ketika melakukan tuning databasemelakukan tuning database
Pemakaian lebih dari CPU merupakan Pemakaian lebih dari CPU merupakan alternatif untuk memperbaiki kinerja sistemalternatif untuk memperbaiki kinerja sistem
Pemantauan perlu dilakukan pada saat Pemantauan perlu dilakukan pada saat beban puncak ataupun saat beban rendahbeban puncak ataupun saat beban rendah

Tuning AplikasiTuning Aplikasi
Selain penyetelan DBMS, aplikasi pun Selain penyetelan DBMS, aplikasi pun perlu diaturperlu diatur
Memperhatikan dan memodifikasi SQL Memperhatikan dan memodifikasi SQL dalam aplikasi kadang perlu dilakukandalam aplikasi kadang perlu dilakukan
Perubahan SQL dalam aplikasi acapkali Perubahan SQL dalam aplikasi acapkali dapat meningkatkan kinerja sistemdapat meningkatkan kinerja sistem
Kadangkala penyelesaian dari masalah ini Kadangkala penyelesaian dari masalah ini adalah dengan menggunakan adalah dengan menggunakan denormalisasidenormalisasi

Tuning Aplikasi (lanjutan…)Tuning Aplikasi (lanjutan…)
Kadangkala DBA perlu melakukan Kadangkala DBA perlu melakukan tindakaan seperti tindakaan seperti reindexingreindexing, mengubah , mengubah ukuran blok data, mengalokasikan file-file ukuran blok data, mengalokasikan file-file pada peranti penyimpan.pada peranti penyimpan.
DBA juga mempunyai peran dalam DBA juga mempunyai peran dalam mengarahkan pemrogram dengan mengarahkan pemrogram dengan memberikan teknik yang paling efektif memberikan teknik yang paling efektif dalam berinteraksi dengan dalam berinteraksi dengan databasedatabase

Ketersediaan DataKetersediaan Data
Ketersedian data merupakan tuntutan dengan Ketersedian data merupakan tuntutan dengan prioritas yang paling tinggiprioritas yang paling tinggi
Kegagalan dalam menyediakan ketersediaan Kegagalan dalam menyediakan ketersediaan data dapat menimbulkan data dapat menimbulkan keluhan/ketidaknyamanan bagi pemakai dan keluhan/ketidaknyamanan bagi pemakai dan bahkan kerugian bisnisbahkan kerugian bisnis
Pengoperasian Pengoperasian e-businesse-business menuntut menuntut ketersedian data dalam 24 x 7 x 365ketersedian data dalam 24 x 7 x 365
Tugas dari DBA adalah memastikan bahwa Tugas dari DBA adalah memastikan bahwa dampah dari dampah dari downtimedowntime harus bisa diminimalkan harus bisa diminimalkan

Penanganan untuk Menjaga Penanganan untuk Menjaga Ketersediaan DataKetersediaan Data
Mengantisipasi kegagalan H/W Mengantisipasi kegagalan H/W penggunaan clustered penggunaan clustered serverserver
Mengantisipasi data hilang atau rusak Mengantisipasi data hilang atau rusak penggunaan penggunaan disk mirroringdisk mirroring
Menjaga Menjaga downtimedowntime pemilihan waktu yang tepat pemilihan waktu yang tepat Beberapa DBMS menyediakan utilitas untuk melakukan Beberapa DBMS menyediakan utilitas untuk melakukan
pemeliharaan secara otomatis tanpa menghentikan sistem pemeliharaan secara otomatis tanpa menghentikan sistem ((nondisruptive utilitynondisruptive utility))
Mengantisipasi masalah yang terkait dengan jaringanMengantisipasi masalah yang terkait dengan jaringan Perlu strategi penanganan cepat manakala jaringan tergangguPerlu strategi penanganan cepat manakala jaringan terganggu Penggunaan teknologi terbaru firewall dan routerPenggunaan teknologi terbaru firewall dan router