Cari Blog Ini

Minggu, 30 Mei 2010

KEAMANAN DATABASE

BAB IV
KEAMANAN DATABASE


Keamanan merupakan suatu proteksi terhadap pengrusakan data dan pemakaian data oleh pemakai yang tidak punya kewenangan.
Untuk menjaga keamanan Basis Data dgn :
(1) Penentuan perangkat lunak Data Base Server yang handal.
(2) Pemberian Otoritas kepada user mana saja yang berhak mengakses, serta memanipulasi data-data yang ada.

Penyalahgunaan Database :
1. Tidak disengaja, jenisnya :
a. kerusakan selama proses transaksi
b. anomali yang disebabkan oleh akses database yang konkuren
c. anomali yang disebabkan oleh pendistribuasian data pada beberapa komputer
d. logika error yang mengancam kemampuan transaksi untuk mempertahankan konsistensi database.
2. Disengaja, jenisnya :
a. Pengambilan data / pembacaan data oleh pihak yang tidak berwenang.
b. Pengubahan data oleh pihak yang tidak berwenang.
c. Penghapusan data oleh pihak yang tidak berwenang.

Tingkatan Pada Keamanan Database :
1. Fisikal  lokasi-lokasi dimana terdapat sistem komputer haruslah aman secara fisik terhadap serangan perusak.
2. Manusia  wewenang pemakai harus dilakukan dengan berhati-hati untuk mengurangi kemungkinan adanya manipulasi oleh pemakai yang berwenang
3. Sistem Operasi  Kelemahan pada SO ini memungkinkan pengaksesan data oleh pihak tak berwenang, karena hampir seluruh jaringan sistem database menggunakan akses jarak jauh.
4. Sistem Database  Pengaturan hak pemakai yang baik.

Keamanan Data :
1. Otorisasi :
• Pemberian Wewenang atau hak istimewa (priviledge) untuk mengakses sistem atau obyek database
• Kendali otorisasi (=kontrol akses) dapat dibangun pada perangkat lunak dengan 2 fungsi :
• Mengendalikan sistem atau obyek yang dapat diakses
• Mengendalikan bagaimana pengguna menggunakannya
• Sistem administrasi yang bertanggungjawab untuk memberikan hak akses dengan membuat account pengguna.


2. Tabel View :
• Merupakan metode pembatasan bagi pengguna untuk mendapatkan model database yang sesuai dengan kebutuhan perorangan. Metode ini dapat menyembunyikan data yang tidak digunakan atau tidak perlu dilihat oleh pengguna.
• Contoh pada Database relasional, untuk pengamanan dilakukan beberapa level :
1. Relasi  pengguna diperbolehkan atau tidak diperbolehkan mengakses langsung suatu relasi
2. View  pengguna diperbolehkan atau tidak diperbolehkan mengakses data yang terapat pada view
3. Read Authorization  pengguna diperbolehkan membaca data, tetapi tidak dapat memodifikasi.
4. Insert Authorization  pengguna diperbolehkan menambah data baru, tetapi tidak dapat memodifikasi data yang sudah ada.
5. Update Authorization  pengguna diperbolehkan memodifikasi data, tetapi tidak dapat menghapus data.
6. Delete Authorization  pengguna diperbolehkan menghapus data.

• Untuk Modifikasi data terdapat otorisasi tambahan :
1. Index Authorization  pengguna diperbolehkan membuat dan menghapus index data.
2. Resource Authorization  pengguna diperbolehkan membuat relasi-relasi baru.
3. Alteration Authorization  pengguna diperbolehkan menambah/menghapus atribut suatu relasi.
4. Drop Authorization  pengguna diperbolehkan menghapus relasi yang sudah ada.

• Contoh perintah menggunakan SQL :

GRANT : memberikan wewenang kepada pemakai
Syntax : GRANT ON TO
Contoh :
GRANT SELECT ON S TO BUDI
GRANT SELECT,UPDATE (STATUS,KOTA) ON S TO ALI,BUDI

REVOKE : mencabut wewenang yang dimiliki oleh pemakai
Syntax : REVOKE ON FROM
Contoh :
REVOKE SELECT ON S FROM BUDI
REVOKE SELECT,UPDATE (STATUS,KOTA) ON S FROM ALI,BUDI

Priviledge list : READ, INSERT, DROP, DELETE, INDEX, ALTERATION, RESOURCE

3. Backup data dan recovery :

Backup : proses secara periodik untuk mebuat duplikat ari database dan melakukan logging file (atau program) ke media penyimpanan eksternal.

Recovery : merupakan upaya uantuk mengembalikan basis data ke keadaaan yang dianggap benar setelah terjadinya suatu kegagalan.






3 Jenis Pemulihan :
1. Pemulihan terhadap kegagalan transaksi : Kesatuan prosedur alam program yang dapat mengubah / memperbarui data pada sejumlah tabel.
2. Pemulihan terhadap kegagalan media : Pemulihan karena kegagalan media dengan cara mengambil atau memuat kembali salinan basis data (backup)
3. Pemulihan terhadap kegagalan sistem : Karena gangguan sistem, hang, listrik terputus alirannya.

Fasilitas pemulihan pada DBMS :
1. Mekanisme backup secara periodik
2. fasilitas logging dengan membuat track pada tempatnya saat transaksi berlangsung dan pada saat database berubah.
3. fasilitas checkpoint, melakukan update database yang terbaru.
4. manager pemulihan, memperbolehkan sistem untuk menyimpan ulang database menjadi lebih konsisten setelah terjadinya kesalahan.

Teknik Pemulihan :
1. defered upate / perubahan yang ditunda : perubahan pada DB tidak akan berlangsung sampai transaksi ada pada poin disetujui (COMMIT). Jika terjadi kegagalan maka tidak akan terjadi perubahan, tetapi diperlukan operasi redo untuk mencegah akibat dari kegagalan tersebut.
2. Immediate Upadte / perubahan langsung : perubahan pada DB akan segera tanpa harus menunggu sebuah transaksi tersebut disetujui. Jika terjadi kegagalan diperlukan operasi UNDO untuk melihat apakah ada transaksi yang telah disetujui sebelum terjadi kegagalan.
3. Shadow Paging : menggunakan page bayangan imana paa prosesnya terdiri dari 2 tabel yang sama, yang satu menjadi tabel transaksi dan yang lain digunakan sebagai cadangan. Ketika transaksi mulai berlangsung kedua tabel ini sama dan selama berlangsung tabel transaksi yang menyimpan semua perubahan ke database, tabel bayangan akan digunakan jika terjadi kesalahan. Keuntungannya adalah tidak membutuhkan REDO atau UNDO, kelemahannya membuat terjadinya fragmentasi.


4. Kesatuan data dan Enkripsi :

• Enkripsi : keamanan data
• Integritas :metode pemeriksaan dan validasi data (metode integrity constrain), yaitu berisi aturan-aturan atau batasan-batasan untuk tujuan terlaksananya integritas data.
• Konkuren : mekanisme untuk menjamin bahwa transaksi yang konkuren pada database multi user tidak saling menganggu operasinya masing-masing. Adanya penjadwalan proses yang akurat (time stamping).

ALJABAR RELASIONAL

BAB III
ALJABAR RELASIONAL

Bahasa Query FormaL

Bahasa Query Formal adaalah Language yang digunakan oleh user untuk mendapatkan informasi dari basis data.
Aljabar Relational adalah kumpulan operasi terhadap relasi, dimana setiap operasi menggunakan satu atau lebih relasi untuk menghasilkan satu relasi yang baru.

Operator yang digunakan ada 2 yaitu:
• Operator Himpunan
• Union/gabungan ( È )
• Intersection/irisan ( ∩ )
• Difference/selisih ( – )
• Cartesian Product ( X )
• Operation Relational
• Restrict/pemilihan tuple atau record ( s )
• Project/pemilihan attribut atau field ( p )
• Divide/membagi ( ¸ )
• Join/menggabungkan ( q )


Union atau gabungan ( È )
Union dari relasi A dan B dinyatakan sebagai A È B adalah himpunan semua elemen (tuple) baik dari relasi A atau relasi B atau kedua-duanya terdapat kerangkapan data.
Contoh :
A = { 1, 2, 3 }
B = { 5, 7 }
A È B = { 1, 2, 3, 5, 7 }

Intersection atau irisan ( Ç )
Intersection dari relasi A dan B dinyatakan sebagai A Ç B himpunan semua elemen atau tuple dari relasi A, sekaligus dari relasi B.
Contoh :
A = { 1, 2, 3 }
B = { 2, 3, 5,7 }
A Ç B = { 2, 3 }

Difference atau selisih ( – )
Difference dari relasi A dan B dinyatakan dengan A - B adalah himpunan semua elemen atau tuple dari relasi A, tetapi bukan dari relasi B.
Contoh :
A = { 1, 2, 3 }
B = { 3, 5, 7 }
A – B = { 1, 2 }

Cartesian Product ( X )
Product cartesian dari relasi A dan B dinyatakan dengan A X B himpunan semua elemen atau tuple yang dibentuk dari anggota2 relasi A sebagai elemen pertama dan anggota2 relasi B sebagai elemen kedua.
Contoh :
A = { 1, 2, 3 }
B = { 5, 7 }
A X B = { ( 1,5), (1,7), ( 2,5), (2,7), (3,5), (3,7)

DATABASE MANAGEMENT SYSTEM

BAB II
DATABASE MANAGEMENT SYSTEM

Database Management Systems (DBMS)

Kumpulan file yang saling berkaitan dan program untuk pengelolanya disebut DBMS. Basisdata adalah kumpulannya datanya, sedang program pengelolanya berdiri sendiri dalam suatu paket program yang komersil untuk :
- Mambaca data
- Mengisi Data
- Menghapus Data dan Melaporkan data dalam database

D B M S adalah perangkat lunak yang menangani semua pengaksesan database. Mempunyai fasilitas membuat, mengakses, memanipulasi dan memelihara basis data.

BAHASA dalam DBMS
1. Data Definision Language (DDL), hasil kompilasi dari perintah DDL adalah satu set dari table yang disimpan dalam file khusus disebut data dictionary/directory.
2. Data Manipulation Language (DML), bahasa yang memperbolehkan pemakai untuk akses atau memanipulasi data sebagai yang telah diorganisasikan sebelumnya dalam model data yang tepat.
Secara dasar ada dua tipe DML :
1. Prosedural, yang membutuhkan pemakai untuk menspesifikasikan data apa yang dibutuhkan dan bagaimana untuk mendapatkannya contoh dbase III, foxbase.
2. Non prosedural, yang membutuhkan pemakai untuk menspesikasikan data apa yang dibutuhkan tanpa menspesifikasikan bagaimana untuk mendapatkannya. Contoh SQLstructured query language, QBEquery by example.
FUNGSI DBMS
1. Data Definition, DBMS harus dapat mengolah pendefinisian data.
2. Data Manipulation, DBMS harus dapat menangani permintaan dari pemakai untuk mengakses data.
3. Data Security & Integrity, DBMS harus dapat memeriksa security dan integrity data yang didefinisikan oleh DBA.
4. Data Recovery & Concurency, DBMS harus dapat menangani kegagalan - kegagalan pengaksesan database yang dapat disebabkan oleh sesalahan sistem, kerusakan disk, dsb.
5. Data Dictionary, DBMS harus menyediakan data dictionary.
6. Performance, DBMS harus menangani unjuk kerja dari semua fungsi seefisien mungkin.
KOMPONEN DBMS
1. Query Prosesor, komponen yang mengubah bentuk query kedalam instruksi kedalam database manager.
2. Database Manager, menerima query & menguji eksternal & konceptual untuk menentukan apakah record - record tersebut dibutuhkan untuk memenuhi permintaan kemudian database manager memanggil file manager untuk menyelesaikan permintaan.
3. File manager, memanipulasi penyimpanan file dan mengatur alokasi ruang penyimpanan disk.
4. DML Prosessor, modul yang mengubah perintah DML yang ditempelkan kedalam program aplikasi dalam bentuk fungsi-fungsi.
5. DDL compiler, merubah statement DDL menjadi kumpulan table atau file yang berisi data dictionary/meta data.
6. Dictionary manajer, mengatur akses dan memelihara data dictionary.

PERBEDAAN TRADITIONAL FILE MANAGEMENT (FMS) DENGAN DBMS

TRADITIONAL FILE MANAGEMENT
1. Bersifat program oriented
2. Bersifat kaku
3. Terjadi kerangkapan data dan tidak terjaminnya keselarasan data (data inkonsistensi)
DATABASE FILE MANAGEMENT (DBMS)
1. Bersifat data oriented
2. Bersifat luwes/fleksible
3. Kerangkapan data serta keselarasan data dapat terkontrol
Keterangan :
Program oriented “ Susunan data di dalam file , distribusi data pada peralatan strorage, dan organisasi filenya dipilih sedemikian rupa, sehingga program aplikasi dapat menggunakan secara optimal “.
Data oriented “ Susunan data, organisasi file pada database dapat dirubah, begitu pula strategi aksesnya tanpa mengganggu program aplikasi yang sudah ada “.


ARSITEKTUR SISTEM DATABASE
Terbagi menjadi 3 tingkatan :
1. Internal Level : Tingkat yangg basis datanya secara fisik ditulis dan disimpan dimedia storage atau level yg berkaitan erat dengan tempat penyimpanan“ “Menerangkan struktur/cara menyimpanan penyimpanan basisdata secara fisik dan organisasi file yang digunakan“.
2. Konseptual Level “Menerangkan secara menyeluruh dari basis data dengan menyembunyikan penyimpanan data secara fisik“.
3. External level : “Menerangkan View basisdata dari seorang pemakai (cara seorang pemakai menggunakan data)”.
DATA INDEPENDENCE
Merupakan salah satu kelebihan system database dimana DBA dapat merubah struktur storage & strategi akses dalam pengembangan system database tanpa mengganggu program-program aplikasi yang sudah ada.
Tujuannya :
a. Pemisahan antara pembuatan defenisi data dari prosedure untuk memproses data
tersebut.
b. Untuk memudahkan, karena DATA DEPENDENT berarti, sulit mengubah storage
structure atau strategi access tanpa harus mengubah program applikasi.

2 (Dua) Tingkat Data Independence
1. Physical data independence, yaitu “perubahan internal schema dapat dilakukan tanpa menggangu conceptual schema”.
2. Logical data independence, yaitu” conceptual schema dapat dirubah tanpa mempengaruhi ekternal schema”.

ALASAN PERLUNYA PRINSIP DATA INDEPENDENCE DITERAPKAN PADA PENGELOLAAN SISTEM DATABASE
1. Database Administrator dapat merubah isi, lokasi dan organisasi database tanpa mengganggu program aplikasi yang ada.
2. Vendor hardware & software pengelolaan data bisa memperkenalkan produk - produk baru tanpa mengganggu program - program aplikasi yang telah ada.
3. Untuk memudahkan perkembangan program aplikasi.
4. Memberikan fasilitas pengontrolan terpusat oleh DBA demi security dan integritas data, dengan memperhatikan perubahan - perubahan kebutuhan user


Perancangan Database

Tujuan Perangancan Database
1. 1. Untuk memenuhi informasi yang berisikan kebutuhan-kebutuhan user secara khusus dan aplikasinya.
2. Memudahkan pengertian struktur informasi
3. Mendukung kebutuhan-kebutuhan pemrosesan dan beberapa objek penampilan (respone time, processing time dan strorage space)

Aplikasi Database Dalam Life Cycle
1. System definition
2. Design
3. Implementation
4. Loading atau data convertion
5. Aplication conversion
6. Testing dan Validation
7. Operation
8. Monitoring dan Maintenance

Fase Proses Perancangan Database
1. Pengumpulan dan analis
2. Perancangan database secara konseptual
3. Pemeliharaan DBMS
4. Perancangan database secara logik (data model mapping)
5. Perangcangan database secara fisik
6. Implementasi sistem database

Phase Pengumpulan Data dan Analis
1. Menentukan kelompok pemakai dan bidang-bidang aplikasinya
2. Peninjauan dokumentasi yang ada
3. Analisa lingkungan operasi dan pemrosesan data
4. Daftar pertanyaan dan wawancara

Phase Perancangan Database Secara Konseptual
Tujuan dari fase ini adalah menghasilkan conseptual schema untuk database yang tergantung pada sebuah DBMS yang spesifk. Dua aktifitas perarel : Perancangan skema konseptual dan perancangan transaksi.


Phase Pemeliharaan DBMS
Faktor-faktor yang mempengaruhi : Faktor teknis dan faktor ekonomi dan politik organisasi.


Phase Perancangan Database Secara
Logika (pemetaan model data) terbagi menjadi 2 tingkatan: yaitu pemetaan system independent dan penyesuaian skema ke DBMS yang spesifik.


Phase Perancangan Database Secara Fisik
Beberapa petunjuk dalam pemilihan perancangan secara fisik :
1. Response time
2. Space utility
3. Transaction Throughput

INTERAKSI MANUSIA DAN KOMPUTER

PENDAHULUAN

Istilah “ramah dengan pengguna” digunakan untuk menunjuk kepada kemampuan yang dimiliki oleh perangkat lunak atau program aplikasi yang sudah dioperasikan, dan mempunyai sebuah kemampuan lain sehingga pengguna merasa betah dalam mengoperasikan program tersebut.

1.1 ANTARMUKA MANUSIA – KOMPUTER

DEFINISI

  1. • Bidang ilmu interaksi manusia dan komputer adalah ilmu yang mempelajari tentang bagaimana mendesain, mengevaluasi, dan mengimplementasikan sistem komputer yang interaktif sehingga dapat digunakan oleh manusia dengan mudah.
  2. • Pengertian Interaksi = komunikasi 2 arah antara manusia (user) dan sistem komputer. Interaksi menjadi maksimal apabila kedua belah pihak mampu memberikan stimulan dan respon (aksi & reaksi) yang saling mendukung, jika salah satu tidak bisa, maka interaksi akan mengalami hambatan atau bahkan menuju pembiasan tujuan.
  3. • Definisi interaksi manusia dan komputer = sebuah hubungan antara manusia dan komputer yang mempunyai karakteristik tertentu untuk mencapai suatu tujuan tertentu dengan menjalankan sebuah sistem yang bertopengkan sebuah antarmuka (interface).
  4. Prinsip kerja komputer = input �� proses �� output Kepada komputer diberikan data yang umumnya berupa deretan angka dan huruf. Kemudian diolah didalam komputer yang menjadi keluaran sesuai dengan kebutuhan dan keinginan manusia.

Agar pengguna dan computer dapat saling berinteraksi, sehingga pengguna merasakan adanya keramahan system computer kepadanya, diperlukan sebuah media yang memungkinkan interaksi tersebut berlangsung. Contoh sederhana dari interaksi ini adalah ketika pengguna menerapkan statemen readln untuk memasukan data yang diminta oleh computer, dan statemen writeln yang digunakan sebagai sarana untuk mencetak hasil proses yang telah dikerjakan oleh computer.

Tetapi saat ini, dialog berbasis tekstual seperti contoh diatas tidak begitu disukai lagi, karena terlihat kaku serta tidak luwes dan kurang menarik.

Oleh karena itu dikembangkan semacam antarmuka berbasisi grafis yang kemudian dikenal dengan istilah yang sangat terkenal yaitu GUI (Graphical User Interface), dengan ini pengguna merasakan berbagai kemudahan dalam pengoperasian sebuah program aplikasi.

1.2 BIDANG STUDI

Tujuan utama disusunnya berbagai cara interaksi manusia dan computer pada dasarnya adalah untuk memudahkan manusia dalam mengoperasikan computer dan mendapatkan berbagai umpan balik yang ia perlukan selama ia bekerja pada sebuah system computer. Sehingga jika kita ingin mempelajari tentang interaksi manusia dan computer secara sungguh-sungguh, baik secara langsung maupun tidak langsung, maka sebenarnya ada beberapa bidang ilmu lain juga harus kita pahami. Bidang ilmu tersebut antara lain adalah :

1. Teknik elektronika

memberikan kerangka kerja untuk dapat merancang sistem HCI

2. Psikologi

memahami sifat & kebiasaan, persepsi & pengolahan kognitif, ketrampilan motorik pengguna

3. Perancangan grafis dan tipografi

sebuah gambar dapat bermakna sama dengan seribu kata. Gambar dapat digunakan sebagai sarana dialog cukup efektif antara manusia & komputer

4. Ergonomik

berhubungan dengan aspek fisik untuk mendapatkan lingkungan kerja yang nyaman, misal : bentuk meja & kursi kerja, layar tampilan, bentuk keyboard, posisi duduk, pengaturan lampu, kebersihan tempat kerja

5. Antropologi

ilmu pengetahuan tentang manusia, memberi suatu pandangan tentang cara kerja berkelompok yang masing – masing anggotanya dapat memberikan konstribusi sesuai dengan bidangnya

6. Linguistik

merupakan cabang ilmu yang mempelajari tentang bahasa. Untuk melakukan dialog diperlukan sarana komunikasi yang memadai berupa suatu bahasa khusus, misal bahasa grafis, bahasa alami, bahasa menu, bahasa perintah

7. Sosiologi.

studi tentang pengaruh sistem manusia-komputer dalam struktur sosial, misal adanya PHK karena adanya otomasi kantor.

1.3 PERANTI BANTU PENGEMBANG SISTEM

Penggunaan peranti bantu untuk mengembangkan antarmuka mempunyai keuntungan antara lain :

  1. Antarmuka yag dihasilkan menjadi baik

· Hasil rancangan sementara segera dapat dibuat prototype dan diimplementasikan, bahkan sebelum aplikasinya ditulis.

· Perubahan yang diinginkan pengguna dapat segera dilakukan karena antarmukanya mudah dimodifikasi.

· Sebuah apliksi dapat mempunyai lebih dari satu antarmuka.

· Sejumlah aplikasi yang berbeda dapat mempunyai antarmuka yang konsisten, karena mereka dapat dibangun dengan menggunakan peranti bantu yang sama.

· Memberikan “wajah” yang unik dari sebuah program aplikasi, dan “sentuhan khusus kepada sebuah program aplikasi.

· Memugkinkan sejumlah ahli bekerja bersama untuk memberikan kontribusinya masing-masing, misalnya ahli grafis, psikologi, ahli kognitif, maupun human factor.

  1. Program antarmukanya menjadi mudah ditulis dan lebih ekonomis untuk dipelihara.

· Program antarmuka menjadi lebih tersetruktur dan lebih modular karena sudah dipisahkan dari aplikasinya.

· Program antarmuka lebih reusable karena peranti bantu menggabungkan bagian-bagian yang sama.

· Kehandalan antarmuka menjadi lebih tinggi karena program ini dibangkitkan secara otomatis dari spesifikasi yang lebih tinggi.

· Spesifikasi ntarmuka menjadi lebih dinyatakan, divalidasi, dan dievaluasi, seta dimodifikasi.

· Kegayutan peranti diisolasi didalam peranti bantu, sehingga antarmukanya lebih diport ke berbagai aplikasi pada lingkungan yang berbeda.

1.1 STRATEGI PENGEMBANGAN ANTARMUKA

Secara garis besar, pengembangan bagian antarmuka perlu memperhatikan bebrapa hal sebagai berikut :

  • Pengetahuan tentang mekanisme fungsi manusia sebagai pengguna computer.
  • Berbagai informasi yang berhubungan dengan karakteristik dialog yang cukup lebar, seperti ragam dialog, struktur, isi tekstual dan grafis, tanggapan waktu, dan kecepatan tampilan.
  • Penggunaan prototype yang didasarkan pada spesifikasi dialog formal yang disusun secara bersama-sama antara (calon ) pengguna dan perancang system, serta peranti bantuyang mungkin dapat digunakan untuk mempercepat proses pembuatan prototype,
  • Teknik evaluasi yang digunakan untuk mengevaluasi hasil proses prototype yang telah dilakukan.

Bidang interaksi manusia dengan computer adalah bida ilmu yang terbuka untuk dipengaruhi dan mempengaruhi berbagai disiplin ilmu yang lain, yang cakupannya meliputi teknik dan ilmu computer sampai ilmu pengetahuan tentang manusia, seperti psikologi, linguistic, dan ergonomic.