1. Administrasi Data danAdministrasi Data dan
Keamanan DatabaseKeamanan Database
Materi 5 Keamanan KomputerMateri 5 Keamanan Komputer
Diambil dari slide: Abdul KadirDiambil dari slide: Abdul Kadir
2. Data Penting untukData Penting untuk
DiorganisasikanDiorganisasikan
Data adalah asetData adalah aset Sangat bernilai untukSangat bernilai untuk
dikeloladikelola
Administrasi data yang efektifAdministrasi data yang efektif
memudahkan pembuatan keputusan dimemudahkan pembuatan keputusan di
segala tingkatsegala tingkat
Ketidakefektifan dalam adminisstrasi dataKetidakefektifan dalam adminisstrasi data
membuat pemanfaatan data menjadimembuat pemanfaatan data menjadi
berkurangberkurang
3. Masalah DataMasalah Data
Definisi berganda terhadap entitas dataDefinisi berganda terhadap entitas data
Ketidakkonsistesian terhadap data yang sama padaKetidakkonsistesian terhadap data yang sama pada
databasedatabase yang berbedayang berbeda kesulitaan dalam integrasikesulitaan dalam integrasi
datadata
Kualitas data yang rendah karena sumber data yangKualitas data yang rendah karena sumber data yang
tidak tepat atau ketidaktepatan waktu dalam mentransfertidak tepat atau ketidaktepatan waktu dalam mentransfer
data dari sistem laindata dari sistem lain mengurangi keandalanmengurangi keandalan
Kekurangakraban thd data yang ada (lokasi maupunKekurangakraban thd data yang ada (lokasi maupun
makna)makna) manfaat berkurangmanfaat berkurang
Tanggapan waktu yang lamaTanggapan waktu yang lama
Kekurangan kontrol terhadap privasi dan keamananKekurangan kontrol terhadap privasi dan keamanan
4. Administrasi Data dan DatabaseAdministrasi Data dan Database
Administrasi dataAdministrasi data
Fungsi padaFungsi pada
perusahaan ygperusahaan yg
bertanggung jawabbertanggung jawab
dalam mengeloladalam mengelola
keseluruhan datakeseluruhan data
dalam organisasidalam organisasi
Menentukan standarMenentukan standar
dan pendefinisiandan pendefinisian
data dalam lingkupdata dalam lingkup
perusahaanperusahaan
Administrasi databaseAdministrasi database
Fungsi teknis ygFungsi teknis yg
bertanggung jawabbertanggung jawab
thd perancanganthd perancangan
database secara fisikdatabase secara fisik
Menangani masalah-Menangani masalah-
masalah teknismasalah teknis
seperti pemaksaanseperti pemaksaan
keamanan, kinerjakeamanan, kinerja
database, dandatabase, dan
backup/recoverybackup/recovery
5. Administrasi Data dan DatabaseAdministrasi Data dan Database
Data administratorData administrator (DA) /(DA) / InformationInformation
resource managerresource manager: orang yang: orang yang
mengepalai fungsi administrasi datamengepalai fungsi administrasi data
Database administratorDatabase administrator (DBA): Orang(DBA): Orang
yang bertanggung jawab dalamyang bertanggung jawab dalam
merancang database secara fisik danmerancang database secara fisik dan
persoalan teknispersoalan teknis
6. Fungsi DA dan DBAFungsi DA dan DBA
Perencanaans 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
MemeliharaMemelihara data dictionary/repositorydata dictionary/repository perusahaanperusahaan
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
7. 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
8. 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
9. Peranan Baru DBAPeranan Baru DBA
Procedural DBAProcedural DBA
DBMS mendukungDBMS mendukung triggertrigger dandan storedstored
procedureprocedure perlu menentukan aturan-aturanperlu menentukan aturan-aturan
bisnis yang melekat dalam DBMS daripadabisnis 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
10. Peranan Baru DBA (lanjutan…)Peranan Baru DBA (lanjutan…)
e-DBAe-DBA
DBA harus juga mempunyai kemampuanDBA harus juga mempunyai kemampuan
dalam mengelola aplikasi dan database yangdalam mengelola aplikasi dan database yang
berjalan dalam lingkungan Internetberjalan dalam lingkungan Internet
11. Peranan Baru DBA (lanjutan…)Peranan Baru DBA (lanjutan…)
PDA DBAPDA DBA
DBA harus mampu menangani aktivitas paraDBA harus mampu menangani aktivitas para
“mobile workers”“mobile workers”
Perlu menangani sinkronisasi antara dataPerlu menangani sinkronisasi antara data
yang disimpan pada PDA dan pada serveryang disimpan pada PDA dan pada server
12. Peranan Baru DBA (lanjutan…)Peranan Baru DBA (lanjutan…)
Data warehouse administrationData warehouse administration
DBA mampu menangani database dalamDBA mampu menangani database dalam
data warehouse dan datamart untukdata warehouse dan datamart untuk
mendukung pengambilan keputusanmendukung pengambilan keputusan
13. Isu Open-SourceIsu Open-Source
Open-source DBMS (misal PostgreSQLOpen-source DBMS (misal PostgreSQL
dan MySQL) mulai populerdan MySQL) mulai populer
Umumnya memiliki fitur yg masih kalahUmumnya memiliki fitur yg masih kalah
dengan DBMs komersial seperti Oracle 9i,dengan DBMs komersial seperti Oracle 9i,
tetapitetapi
lebih ampuh daripada DBMS sepertilebih ampuh daripada DBMS seperti
Microsoft AccessMicrosoft Access
Perlu menjadi pilihan bila perusahaanPerlu menjadi pilihan bila perusahaan
bersifatbersifat cost-sensitivecost-sensitive
14. Memodelkan Data PerusahaanMemodelkan Data Perusahaan
Pemodelan data dan perancanganPemodelan data dan perancangan
database menjadi tanggung jawab kuncidatabase menjadi tanggung jawab kunci
bagi administrasi data dan databasebagi administrasi data dan database
Administrasi
Data
Administrasi
Database
Enterprise
Data
Model
Conceptual
Data
Model
Perencanaan Analisis
Logical
Data
Model
Phyical
Data
Model
Perancangan Logis Perancangan Fisik
15. Mengelola Keamanan DataMengelola Keamanan Data
Tujuan keamanan databaseTujuan keamanan database: melindungi: melindungi
ndata dari ancaman yang disengaja ataundata dari ancaman yang disengaja atau
tidak disengaja tehadap akses dantidak disengaja tehadap akses dan
integritasintegritas
Ancaman bertambah karena adanyaAncaman bertambah karena adanya
akses melalui Internet atau teknologiakses melalui Internet atau teknologi
bergerakbergerak
16. Ancaman terhadapAncaman 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 tidakPengaksesan dilakukan oleh orang yang tidak
berhakberhak
Bisa mengubah atau tidak mengubah dataBisa mengubah atau tidak mengubah data
17. Ancaman terhadapAncaman terhadap
Keamanan Data (Lanjutan…)Keamanan Data (Lanjutan…)
Kehilangan Privasi atau KerahasiaanKehilangan Privasi atau Kerahasiaan
Kehilangan privasi berarti kehilangan proteksiKehilangan privasi berarti kehilangan proteksi
yang dirasakan oleh seseorangyang dirasakan oleh seseorang
Kehilangan kerahasiaan berarti kebocoranKehilangan kerahasiaan berarti kebocoran
data yang bersifat penting bagi perusahaandata yang bersifat penting bagi perusahaan
Kehilangan Integritas DataKehilangan Integritas Data
Bila integritas dilanggar, data menjadi tidakBila integritas dilanggar, data menjadi tidak
valid atau bahkan rusakvalid atau bahkan rusak
Bisa menimbulkan kesalahan dalamBisa menimbulkan kesalahan dalam
pengambilan keputusanpengambilan keputusan
18. Ancaman terhadapAncaman 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
19. 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
20. 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 checkpointingBackup, journaling, dan checkpointing
(memfasilitasi prosedur(memfasilitasi prosedur recoveryrecovery))
21. Aturan OtorisasiAturan Otorisasi
Aturan otorisasiAturan otorisasi: kontrol yang melekat: kontrol yang melekat
dalam sistem manajemen data yangdalam 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 mengakesContoh, orang yang berhak mengakes
data bisa membaca seluruhdata bisa membaca seluruh databasedatabase
tetapi tidak bisa mengubah datatetapi tidak bisa mengubah data
22. Contoh Aturan OtorisasiContoh Aturan Otorisasi
SubjekSubjek ObjekObjek TindakanTindakan KekanganKekangan
BagianBagian
PemasaranPemasaran
Data PelangganData Pelanggan MenambahMenambah Limit kredit <= 5.000.000Limit kredit <= 5.000.000
BagianBagian
AkuntansiAkuntansi
Data PemesananData Pemesanan MenghapusMenghapus Tak adaTak ada
BagianBagian
PemenuhanPemenuhan
PesananPesanan
Data PemesananData Pemesanan MembacaMembaca
MengubahMengubah
MenghapusMenghapus
Tak adaTak ada
23. Implementasi Aturan OtorisasiImplementasi Aturan Otorisasi
Perintah SQL GRANT dipakai untukPerintah SQL GRANT dipakai untuk
menentukan otorisasi akses datamenentukan otorisasi akses data
Perintah SQL REVOKE dipakai untukPerintah SQL REVOKE dipakai untuk
mencabut otorisasimencabut otorisasi
25. 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;
26. Hak Akses pada MySQLHak Akses pada MySQL
Hak 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
27. Hak AksesHak Akses
Memberikan hak akses SELECT saja:Memberikan hak akses SELECT saja:
GRANT SELECTGRANT SELECT
ON pegawai.* TO novi;ON pegawai.* TO novi;
28. Membatasi Hak Akses padaMembatasi 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;
30. EnkripsiEnkripsi
Enkripsi: Suatu pengodean atauEnkripsi: Suatu pengodean atau
pengacakan data dengan tujuan orangpengacakan data dengan tujuan orang
tidak bisa membacanyatidak bisa membacanya
Implementasi enkripsi:Implementasi enkripsi:
Satu kunci (Contoh DES-Data EncryptionSatu kunci (Contoh DES-Data Encryption
Standard)Standard)
Dua kunci (Contoh SSL –Secure SocketDua kunci (Contoh SSL –Secure Socket
Layer)Layer)
31. Enkripsi dengan Dua KunciEnkripsi dengan Dua Kunci
Algoritma
Enkripsi
Teks asli
Kunci Publik
Teks terenkripsi
Algoritma
Dekripsi
Teks asli
Kunci Privat
32. Skema OtentikasiSkema Otentikasi
Skema otentikasi digunakan untuk menentukanSkema otentikasi digunakan untuk menentukan
seseorang apakah orang yang berhak atau tidakseseorang 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 sendiriMelalui 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, sepertiMenggunakan sesuatu yang bersifat unik, seperti
sidik jarisidik jari
33. Backup dan RecoveryBackup dan Recovery
Database backupDatabase backup: adalah mekanisme: adalah mekanisme
untuk melakukan penyalinan database keuntuk melakukan penyalinan database ke
suatu media eksternalsuatu media eksternal
Database recoveryDatabase recovery: Mekanisme untuk: Mekanisme untuk
memulihkan database dengan cepat danmemulihkan database dengan cepat dan
akurat setelah mengalami kerusakanakurat setelah mengalami kerusakan
34. Fasilitas Recovery DasarFasilitas Recovery Dasar
Fasilitas backup, menyediakan mekanismeFasilitas backup, menyediakan mekanisme
untuk menyalin keseluruhan/sebagianuntuk menyalin keseluruhan/sebagian databasedatabase
Fasilitas penjurnalan, menjagaFasilitas penjurnalan, menjaga audit trailaudit trail thdthd
transaksi dan perubahantransaksi dan perubahan databasedatabase
Fasilitas checkpoint, menunda semuaFasilitas checkpoint, menunda semua
pemrosesan dan melakukan sinkronisasipemrosesan dan melakukan sinkronisasi
terhadap file-file dan jurnal untuk membentukterhadap file-file dan jurnal untuk membentuk
titik pemulihantitik pemulihan
ManajerManajer recoveryrecovery, memungkinkan, memungkinkan
pengembalian database ke kondisi yang benarpengembalian database ke kondisi yang benar
dab memulai pemrosesan transaksidab memulai pemrosesan transaksi
35. Fasilitas PenjurnalanFasilitas Penjurnalan
Menyediakan audit trail terhadap transaksiMenyediakan 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 dapatkeadaan database yang konsisten dapat
dikembalikan lagi dengan menggunakandikembalikan lagi dengan menggunakan
informasi jurnal dan data backupinformasi jurnal dan data backup
36. Fasilitas Penjurnalan (Lanjutan…)Fasilitas Penjurnalan (Lanjutan…)
DBMS
Database
(Kini)
Catatan
Transaksi
Catatan
Perubahan
Database
Database
(Backup)
Transaksi Tindakan recovery
Efek
transaksi/tindakan
recovery
Salinan
Transaksi
Salinan database yang
diakibatkan transaksi
37. 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
38. Fasilitas Penjurnalan (Lanjutan…)Fasilitas Penjurnalan (Lanjutan…)
Catatan perubahan database (databaseCatatan perubahan database (database
change log) berisi:change log) berisi:
Salinan record sebelum dan sesudahSalinan 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
39. Prosedur Recovery dan RestartProsedur Recovery dan Restart
Disk mirroringDisk mirroring (RAID 1)(RAID 1)
Restore/RerunRestore/Rerun
Suatu teknik untuk memproses kembali transaksi harian sampaiSuatu 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 danKemudian, 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 diakhiriTransaksi diawali dengan START TRANSACTION dan diakhiri
dengan COMMIT/ROLLBACKdengan COMMIT/ROLLBACK
40. Restore/RerunRestore/Rerun
KeuntunganKeuntungan
SederhanaSederhana
Tidak perluTidak perlu
menciptakan jurnalmenciptakan jurnal
perubahanperubahan
Tidak perlu prosedurTidak perlu prosedur
restartrestart
KelemahanKelemahan
Waktu untukWaktu untuk
memproses transaksimemproses transaksi
mungkin lamamungkin lama
Transaksi baru perluTransaksi baru perlu
ditundaditunda
Ada kemungkinanAda kemungkinan
hasil transaksihasil transaksi
menjadi berbedamenjadi berbeda
dengan aslinyadengan aslinya
41. Disaster RecoveryDisaster Recovery
Setiap organisasi harus memilikiSetiap organisasi harus memiliki
mekanisme disaster recoverymekanisme disaster recovery
Untuk mengantisipasi kehancuran padaUntuk mengantisipasi kehancuran pada
pusat datapusat data
Bisa diakibatkan bencana alam atauBisa diakibatkan bencana alam atau
manusia (perang, sabotase)manusia (perang, sabotase)
DBA mempunyai peran dalam membuatDBA mempunyai peran dalam membuat
rencana recoveryrencana recovery
42. Mengontrol Akses BersamaMengontrol Akses Bersama
DBMS memiliki kontrol konkurensiDBMS memiliki kontrol konkurensi
Kontrol konkurensiKontrol konkurensi: proses pengelolaan: proses pengelolaan
terhadap akses yang dilakukan olehterhadap akses yang dilakukan oleh
sejumlah orang dengan tujuan agarsejumlah orang dengan tujuan agar
integritas data dapat terjaga dengan baikintegritas data dapat terjaga dengan baik
43. 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 diperlukanmasing mengunci data yang diperlukan
transaksi pasangannyatransaksi pasangannya
44. 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
45. Menangani DeadlockMenangani Deadlock
Ada dua cara:Ada dua cara:
Deadlock preventionDeadlock prevention
• Program harus mengunci semua record yangProgram harus mengunci semua record yang
diperlukan di awal transaksidiperlukan di awal transaksi
• Jika record telah terkunci, pemakai lain haruJika record telah terkunci, pemakai lain haru
menunggu sampai penguncian dilepaskanmenunggu sampai penguncian dilepaskan
Deadlock resolutionDeadlock resolution
• Menyerahkan sepenuhnya penanganan deadlockMenyerahkan sepenuhnya penanganan deadlock
kepada DBMSkepada DBMS
46. Contoh PersoalanContoh Persoalan
Terjadi proses pemindahbukuan dariTerjadi proses pemindahbukuan dari
rekening A ke rekening B sebesar Xrekening A ke rekening B sebesar X
Mungkinkah persoalan ini menimbulkanMungkinkah persoalan ini menimbulkan
deadlock? Kenapa?deadlock? Kenapa?
47. Contoh PersoalanContoh Persoalan
Terjadi proses pemindahbukuan dariTerjadi proses pemindahbukuan dari
rekening A ke rekening B sebesar Xrekening A ke rekening B sebesar X
Bagaimana cara mengatasi deadlock?Bagaimana cara mengatasi deadlock?
48. 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 dataFakta yang menunjukkan bahwa menjaga data
yang berkualitas tinggi itu sulit:yang berkualitas tinggi itu sulit:
2% record dalam data pelanggan kedaluarsa dalam2% 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
49. Problem Kualitas DataProblem Kualitas Data
Sumber data eksternalSumber data eksternal
Data yang berasal dari pihak luar mungkin tidakData 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 tidakdatabase, dokumen) dan ada kemungkinan tidak
konsisten dan tidak kompatibelkonsisten dan tidak kompatibel
Kekurangan Komitmen OrganisasiKekurangan Komitmen Organisasi
Pemakai internal tidak patuh terhadap aturan-aturanPemakai internal tidak patuh terhadap aturan-aturan
yang telah ditetapkan dan organisasi membiarkannyayang telah ditetapkan dan organisasi membiarkannya
50. Usaha untuk MenjagaUsaha untuk Menjaga
Kualitas DataKualitas Data
Membentuk komite yang menjamin bahwaMembentuk komite yang menjamin bahwa
kualitas data terjaga dengan baikkualitas data terjaga dengan baik
Menerapkan prinsip TQM untuk selaluMenerapkan prinsip TQM untuk selalu
meningkatkan kualitas datameningkatkan kualitas data
Mengatasi hambatan-hambatan dalamMengatasi hambatan-hambatan dalam
organisasiorganisasi
51. Data Dictionary dan RepositoryData Dictionary dan Repository
Data dictionaryData dictionary merupakan istilah lamamerupakan istilah lama
dandan repositoryrepository adalah istilah yang lebihadalah istilah yang lebih
barubaru
Data dictionaryData dictionary: Tempat penyimpanan: Tempat penyimpanan
informasi tentanginformasi tentang databasedatabase yangyang
mendokumentasikan elemen-elemen datamendokumentasikan elemen-elemen data
dalamdalam databasedatabase
RepositoryRepository: Istilah baru yang fungsinya: Istilah baru yang fungsinya
lebih kompleks daripadalebih kompleks daripada data dictionarydata dictionary
52. RepositoryRepository
RepositoryRepository atau dikenal dengan namaatau dikenal dengan nama
lengkaplengkap information repositoryinformation repository tidaktidak
hanya mencakup metadata yanghanya mencakup metadata yang
menjelaskan data dalam organisasi tetapimenjelaskan data dalam organisasi tetapi
juga lingkunganjuga lingkungan pemrosesan informasipemrosesan informasi
53. IRDSIRDS
IRDS (IRDS (Information Repository DictionaryInformation Repository Dictionary
SystemSystem) : S/W yang digunakan untuk mengelola) : S/W yang digunakan untuk mengelola
dan mengontrol akses terhadapdan mengontrol akses terhadap informationinformation
repositoryrepository
IRDS menyediakan fasilitas untuk menyimpanIRDS menyediakan fasilitas untuk menyimpan
dan memproses deskripsi data dan sumberdan memproses deskripsi data dan sumber
pemrosesan datapemrosesan data
Sistem yang mengikuti IRDS dapat mentransferSistem yang mengikuti IRDS dapat mentransfer
definisi data yang dihasilkan oleh berbagaidefinisi data yang dihasilkan oleh berbagai
produkproduk
IRDS menjadi standar ISO (1990)IRDS menjadi standar ISO (1990)
54. Mengatur Kinerja DatabaseMengatur Kinerja Database
Ada 5 hal yang perlu diperhatikan agarAda 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 aplikasiaplikasi
55. Pemasangan DBMSPemasangan DBMS
Instalasi DBMS harus benar-benar sesuaiInstalasi DBMS harus benar-benar sesuai
dengan lingkungandengan lingkungan
Biasanya tertera dalam file READMEBiasanya tertera dalam file README
Penggunaan nilaiPenggunaan nilai defaultdefault untuk parameteruntuk parameter
tertentu seringkali membuat kinerja yangtertentu seringkali membuat kinerja yang
tidak optimaltidak optimal
Sebelum melakukan instalasi DBMS, DBASebelum melakukan instalasi DBMS, DBA
harus memastikan ketersediaan ruangharus memastikan ketersediaan ruang
hard diskhard disk
56. Pemasangan DBMS (Lanjutan…)Pemasangan DBMS (Lanjutan…)
Baca manual DBMS untuk menerjemahkanBaca manual DBMS untuk menerjemahkan
parameter ukuran database secara logis (sepertiparameter ukuran database secara logis (seperti
panjang field, jumlah baris tabel, dan perkiraanpanjang field, jumlah baris tabel, dan perkiraan
pertumbuhan data) ke dalam kebutuhan ruangpertumbuhan data) ke dalam kebutuhan ruang
fisikfisik
Alokasi ruang disk untuk database perluAlokasi ruang disk untuk database perlu
mendapat perhatian. Sistemmendapat perhatian. Sistem backupbackup padapada
sistem UNIX tertentu hanya mempunyaisistem UNIX tertentu hanya mempunyai
masalah pada file yang berukuran lebih dari 1masalah pada file yang berukuran lebih dari 1
GBGB
57. Pemakaian MemoriPemakaian Memori
Supaya efisien, penggunaan memori olehSupaya efisien, penggunaan memori oleh
DBMS perlu juga diperhatikanDBMS perlu juga diperhatikan
Sebagai contoh, sistem OracleSebagai contoh, sistem Oracle
menggunakan memori untuk menaruhmenggunakan memori untuk menaruh
data dictionary.data dictionary.
Bila memori tidak cukup, sistem akanBila 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
58. Penggunaan I/OPenggunaan I/O
Aplikasi database berpengaruh besarAplikasi database berpengaruh besar
terhadap I/Oterhadap I/O
Walapun kecepatan CPU tinggi, I/O tidakWalapun kecepatan CPU tinggi, I/O tidak
bersifat proporsionalbersifat proporsional
Suatu objek yang sering diakses secaraSuatu objek yang sering diakses secara
bersamaan dapat dibagi ke dalambersamaan dapat dibagi ke dalam
beberapa diskbeberapa disk
59. Penggunaan CPUPenggunaan CPU
Hampir semua operasiHampir semua operasi databasedatabase
memerlukan aktivitas CPUmemerlukan aktivitas CPU
Penggunaan CPU perlu dimonitor ketikaPenggunaan CPU perlu dimonitor ketika
melakukan tuning databasemelakukan tuning database
Pemakaian lebih dari CPU merupakanPemakaian lebih dari CPU merupakan
alternatif untuk memperbaiki kinerjaalternatif untuk memperbaiki kinerja
sistemsistem
Pemantauan perlu dilakukan pada saatPemantauan perlu dilakukan pada saat
beban puncak ataupun saat beban rendahbeban puncak ataupun saat beban rendah
60. Tuning AplikasiTuning Aplikasi
Selain penyetelan DBMS, aplikasi punSelain penyetelan DBMS, aplikasi pun
perlu diaturperlu diatur
Memperhatikan dan memodifikasi SQLMemperhatikan dan memodifikasi SQL
dalam aplikasi kadang perlu dilakukandalam aplikasi kadang perlu dilakukan
Perubahan SQL dalam aplikasi acapkaliPerubahan SQL dalam aplikasi acapkali
dapat meningkatkan kinerja sistemdapat meningkatkan kinerja sistem
Kadangkala penyelesaian dari masalah iniKadangkala penyelesaian dari masalah ini
adalah dengan menggunakanadalah dengan menggunakan
denormalisasidenormalisasi
61. Tuning Aplikasi (lanjutan…)Tuning Aplikasi (lanjutan…)
Kadangkala DBA perlu melakukanKadangkala DBA perlu melakukan
tindakaan sepertitindakaan seperti reindexingreindexing, mengubah, mengubah
ukuran blok data, mengalokasikan file-fileukuran blok data, mengalokasikan file-file
pada peranti penyimpan.pada peranti penyimpan.
DBA juga mempunyai peran dalamDBA juga mempunyai peran dalam
mengarahkan pemrogram denganmengarahkan pemrogram dengan
memberikan teknik yang paling efektifmemberikan teknik yang paling efektif
dalam berinteraksi dengandalam berinteraksi dengan databasedatabase
62. Ketersediaan DataKetersediaan Data
Ketersedian data merupakan tuntutan denganKetersedian data merupakan tuntutan dengan
prioritas yang paling tinggiprioritas yang paling tinggi
Kegagalan dalam menyediakan ketersediaanKegagalan dalam menyediakan ketersediaan
data dapat menimbulkandata dapat menimbulkan
keluhan/ketidaknyamanan bagi pemakai dankeluhan/ketidaknyamanan bagi pemakai dan
bahkan kerugian bisnisbahkan kerugian bisnis
PengoperasianPengoperasian e-businesse-business menuntutmenuntut
ketersedian data dalam 24 x 7 x 365ketersedian data dalam 24 x 7 x 365
Tugas dari DBA adalah memastikan bahwaTugas dari DBA adalah memastikan bahwa
dampah daridampah dari downtimedowntime harus bisa diminimalkanharus bisa diminimalkan
63. Penanganan untuk MenjagaPenanganan untuk Menjaga
Ketersediaan DataKetersediaan Data
Mengantisipasi kegagalan H/WMengantisipasi kegagalan H/W penggunaan clusteredpenggunaan clustered
serverserver
Mengantisipasi data hilang atau rusakMengantisipasi data hilang atau rusak penggunaanpenggunaan
disk mirroringdisk mirroring
MenjagaMenjaga downtimedowntime pemilihan waktu yang tepatpemilihan waktu yang tepat
Beberapa DBMS menyediakan utilitas untuk melakukanBeberapa DBMS menyediakan utilitas untuk melakukan
pemeliharaan secara otomatis tanpa menghentikan sistempemeliharaan 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