Materi 5 Keamanan Komputer Keamanan Basis Data

63
Administrasi Data Administrasi Data dan Keamanan dan Keamanan Database Database Materi 5 Keamanan Materi 5 Keamanan Komputer Komputer Diambil dari slide: Abdul Kadir Diambil dari slide: Abdul Kadir

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