Monday, April 27, 2020

KONKURENSI PADA SISTEM BASIS DATA


Konkurensi adalah proses-proses (lebih dari satu proses) yang terjadi pada saat bersamaan. Dalam DBMS berarti mengijinkan banyak transaksi pada saat bersamaan untuk mengakses data yang sama. Dalam melakukan konkurensi dibutuhkan suatu Concurency Control Mechanism (CCM) agar transaksi yang dilakukan oleh banyak user pada suatu sistem di dalam waktu yang bersamaan tidak saling “mengganggu” dan tidak menghasilkan inconsistency data.

Prinsip-prinsip Konkurensi

Konkurensi meliputi hal-hal sbb:
    Alokasi waktu pemroses untuk proses-proses
    Pemakaian bersama dan persaingan untuk mendapatkan sumber daya
    Komunikasi antarproses
    Sinkronisasi aktivitas banyak proses.

Tiga masalah dalam Konkurensi :

1.  Lost Update Problem
Masalah operasi update yang sukses dari seorang pengguna kemudian ditimpali oleh operasi update dari pengguna lain.

2.  Uncomited dependency problem (ketergantungan yg tidak sukses/modifikasi sementara)
Masalah terjadi saat suatu transaksi membaca data dari transaksi lain yg belum dicommit.

3.  Inconsistent analysis problem
Masalah terjadi saat satu transaksi membaca beberapa nilai tetapi transaksi kedua pd waktu sama memodifikasi nilai tersebut.


Dua Outcome dari Konkurensi :

1.       Commit
Jika operasi berjalan sukses, maka transaksi disebut commited, basis data mencapai kondisi konsisten yang baru.

2.       Abort
Jika operasi berjalan tidak sukses, maka transaksi disebut aborted (gagal)Jika transaksi gagal maka basis data kembali ke keadaan konsisten sebelum transaksi dimulai. Disebut roll back atau undone.

Locking

Jika sebuah transaksi ingin record/resource tidak berubah dalam waktu tertentu maka dia meminta lock. jenis lock :

1.  Exclusive Lock (Xlock) à write lock
2.  Shared Lock (Slock) à read lock 

Deadlock

Situasi dimana dua atau lebih transaksi dalam kondisi wait-state, satu sama lain menunggu lock dilepaskan sebelum dapat memulai. Dapat diatasi dengan cara :
  • Deteksi dan pecahkan deadlock
  • Deteksi deadlock à wait-for-graph
  • Pecahkan deadlock à salah satu dirollback paksa (bagaimana penanganan rollback ini?)
  • Ostrich Algorithmà diabaikan

Alasan mengapa konkurasi sangat penting pada sistem basis data karena database pastinya akan diakses oleh banyak orang secara bersamaan, untuk menghidari kesalahan tentunya monkurensi ini sangat penting untuk menghindari masalaj tersebut. 


Sunday, April 12, 2020

MENJAWAB SOAL INTEGRITAS DATA


Apa kegunaan integritas basis data

Kegunaan integritas data sendiri yaitu untuk menjaga kemurnian data atau menjaga data-data yang tidak valid agar tidak masuk ke database. Integritas data juga tergolong murah dan mudah menjaga data integrity di level database dibandingkan dengan aplikasi, selain itu bugs nya juga sedikit.

Jelaskan jenis-jenis integritas basis data


·       Integritas Entitas (Entity Integrity), dimana tidak ada baris data duplikat dalam satu table.
·       Integritas Jangkuan (Domain Integrity), dimana tidak ada item data yang melanggar jangkuan nilai di tiap kolom data.
·       Integritas Acuan (Referential Integrity), yang menjaga relasi/korespodensi antar table.
·       Integritas Data Antar Tabel (Redundant Data Integrity), dimana data di sebuah table tidak terulang di table lain

Contoh untuk Integritas Entitas
Integritas entitas mendifinisikan sebuah baris sebagai sebuah entitas yang unik untuk suatu tabel. Dalam integritas entitas, tidak ada baris yang di duplikat didalam suatu tabel.

Contoh :
create table Pembelian
(ID Pembelian smallint,
ID model smallint,
DeskripsiModel varchar (40),
Primary Key (IDPembelian));

contoh untuk Integritas Domain
Domain adalah nilai-nilai yang dimungkinkan diasosiasikan dengan setiap atribut, Integritas domain merupakan validasi masukan dari sebuah kolom. Dengan integritas domain, tidak ada data yang melanggar jangkauan nilai di tiap kolom data.

Jenis domain yang harus dimiliki oleh setiap atribut :
1.   Karakter bebas
2.   Alphanumerik
3.   Alphabet
4.   Numerik

Pemeliharaan integritas domain :
1.  Pendifinisian skema
2.  Pemanfaatan properti field
3.  Penerapan proses validasi pada pemasukan data

Contoh :
Create table biografi
(idpenulis smallint unsigned not null,
tahunLahir year not null,
kotalahir varchar (40) not null default
‘Kosong’);
create domain nilai numerik(3,2)
constraint value-test check (value >=0.00)


PENTINGNYA INTEGRITAS DATA DALAM SISTEM BASIS DATA


Integritas data adalah menjamin konsistensi data terhadap semua konstrain yang diberlakukan terhadap data tersebut, sehingga memberikan jaminan keabsahan data itu sendiri.
Tujuannya adalah menjaga data agar data yang tidak valid tidak masuk ke database. Menjaga konsistensi data pada relasi keterkaitan antar tabel.
Integritas data dapat dikelompokkan sebagai berikut :
1.     Entity Integritas
Entity integritas  mendefenisikan sebuah baris  sebagai sebuah entitas yang unik untuk suatu tabel. Entity integritas memaksa  integritas  dari colum atau primary key dari suatu tabel (melalui index, unique, constrains, primarykey) tidak boleh null.
2.     Domain integritas
Domain Integritas merupakan validasi dari masukan untuk sebuah kolom. Anda dapat memaksa domain integritas dengan membatasi tipe (melalui data types), format (melalui  check  constraints  dan  rules),  atau range  nilai-nilai  yang  mungkin  (melalui Foreign Key Constraints, Check Constraints, Default Definitions dan rules).
3.     Refferential Integritas
Refferential integritas  memastiakn bahwa seluruh nilai dari foreign key  cocok dengan  nilai primary key yang dihubungkan.
4.      User Defined integritas
User difined integritas mengizinkan  kita untuk menentukan  spesific business rules  sendiri  yang tidak sama pada kategori integrity yang lain
Jenis-jenis Integritas Data :
  • Domain integrity (Integritas jangkauan nilai)
Tidak ada item data yang melanggar jangkauan nilai di tiap kolom data.
  • Integrity Entity (Integritas Entitas)
Tidak ada baris data duplikat dalam satu tabel.
  • Integrity Referential (Integritas acuan)
Menjaga relasi atau korespondensi antar tabel.
  • Redudant Data Integrity (Integritas Data Antar Tabel)
Data di sebuah tabel tidak berulang di tabel lain.
  • Bussiness Rule Integrity (Integritas Aturan Nyata)
Data di suatu tabel harus memiliki nilai yang layak dan dapat diterima ditempat sistem basis data itu diterapkan. Integritas jenis ini bersifat kasuistis, artinya sangat bergantung pada jenis data, lokasi, lingkungan, dan waktu penerapan basis data.
  • Membuat Constraint
Constraint merupakan suatu aturan yang membatasi jenis data yang diijinkan untuk dimasukkan ke dalam tabel.

ASPEK-ASPEK TERHADAP KEAMANAN DATA


Beberapa bentuk serangan atau akses yang secara sengaja dapat merusak atau merugikan pemilik data:

·     SQL injection, yaitu jenis aksi hacking pada keamanan komputer di mana seorang penyerang bisa mendapatkan akses ke basis data di dalam system,
·     Pengambilan data / pembacaan data oleh pihak yang tidak berwenang,
·     Pengubahan data oleh pihak yang tidak berwenang,
·     Penghapusan data oleh pihak yang tidak berwenang,
·     Pencurian backup database.

Level-level pengamanan basis data

·     Fisikal : Adalah lokasi-lokasi dimana terdapat sistem komputer haruslah aman secara fisik terhadap serangan perusak.
·     Manusia : Adalah wewenang pemakai harus dilakukan dengan berhati-hati untuk mengurangi kemungkinan adanya manipulasi oleh pemakai yang berwenang.
·     Sistem Operasi : Merupakan kelemahan pada Sistem Operasi ini memungkinkan pengaksesan data oleh pihak tak berwenang, karena hampir seluruh jaringan sistem database menggunakan akses jarak jauh
·     Sistem Database : Adalah pengaturan hak pemakai yang baik.

Bentuk otoritas user terhadap data

·     Relasi, yaitu pengguna diperbolehkan atau tidak diperbolehkan mengakses langsung suatu relasi.
·     View, yaitu pengguna diperbolehkan atau tidak diperbolehkan mengakses data yang terapat pada view.
·     Read Authorization, yaitu pengguna diperbolehkan membaca data, tetapi tidak dapat memodifikasi.
·     Insert Authorization, yaitu pengguna diperbolehkan menambah data baru, tetapi tidak dapat memodifikasi data yang sudah ada.
·     Update Authorization, yaitu pengguna diperbolehkan memodifikasi data.
·     Delete Authorization, yaitu pengguna diperbolehkan menghapus data.

FUNGSI PROTEKSI BASIS DATA



DBMS pada umumnya memiliki fasilitas proteksi data, yaitu fasilitas yang bertujuan untuk melindungi data dari berbagai resiko yang mungkin terjadi dan membawa dampak dalam basis data

Security merupakan suatu proteksi terhadap pengrusakan data dan pemakaian data oleh user yang tidak berwenang. Organisasi harus dapat mengidentifikasi masalah keamanan yang mungkin mengganggu jalan operasional basis data.
Penyalahgunaan basis data dapat dikategorikan sebagai tindakan yang disengaja maupun yang tidak sengaja.

Percaya atau tidak, keamanan data / data security akan atau bahkan sudah menjadi hal penting dalam kehidupan kamu sehari-hari. Betapa tidak, kini melakukan perekaman data hingga penyebaran data semakin gampang.

Oleh karena itu, kemanan data menjadi prioritas utama guna menjamin kerahasiaan dan terjaganya konfidensi pengguna dengan penyedia layanan penyimpanan data. Berikut beberapa aspek keamanan data pada DBMS

Confidentiality / Privacy


Kerahasiaan data. Data hanya boleh diakses oleh orang yang berwenang

·     Data-data pribadi
·     Data-data bisnis; daftar gaji, data nasabah
·     Sangat sensitif dalam e-commerce dan healthcare

Serangan : penyadapan (teknis dengan sniffer / logger, man in the middle attack; non-teknis dengan social engineering).
Proteksi: enkripsi

Integrity
Informasi tidak boleh berubah (tampered, altered, modified) oleh pihak yang tidak berhak

Serangan
·     Pengubahan data oleh orang yang tidak berhak, spoofing
·     Virus yang mengubah berkas

Proteksi
·     Message Authentication Code (MAC), digital signature / certificate, hash functions, logging


Availability
Informasi harus tersedia ketika dibutuhkan 

Serangan
·     Meniadakan layanan (Denial of Service / DoS attack) atau menghambat layanan (server dibuat lambat)

Proteksi

·     Backup, redundancy, DRC, BCP, firewall


Non-repudiation

Tidak dapat menyangkal (telah melakukan transaksi)

·     Menggunakan digital signature
·     Loggin

Authentication

Meyakinkan keaslian data, sumber data, orang yang mengakses data, server yang digunakan
·     Identity Card
·     Password , PIN
·     Biometric Identity

Serangan: identitas palsu, terminal palsu, situs gadungan

Access Control

Mekanisme untuk mengatur siapa boleh melakukan apa
·     Membutuhkan adanya klasifikasi data: public, private, confidential, (top) secret
·     Role-based access

Accountability

·     Dapat dipertanggung-jawabkan
·     Melalui mekanisme logging dan audit
·     Adanya kebijakan dan prosedur (policy & procedures)

Friday, April 3, 2020

FAKTOR PEMILIHAN PAKET DBMS BESERTA PERTIMBANGANYA.

a. Pada Tahap Pemilihan DBMS : Sebutkan  dan jelaskan faktor untuk memperlancar pemilihan paket DBMS untuk system informasi dalam organisasi.

b.  Jika diambil keputusan akan menggunakan DBMS Oracle pada sistem basis data yang baru dari DBMS SQLServer pada sistem basis data yang lama, faktor apa saja yang harus dipertimbangkan dan jelaskan alasannya


Jawaban


a.
Faktor Teknis :
·     Tipe model DBMS yang dipilih (tipe DBMS : hirarki, relational, object, dll).
·     Struktur Penyimpanan (Storage)
·     Jalur pengaksesan yang didukung
·     User Interface
·     Programmer
·     Bahasa Query

Faktor Ekonomi :
·     Biaya penyediaan Hardware dan Software
·     Biaya Konversi Pembuatan Database
·     Biaya Maintenance
·     Biaya Pengoperasian
·     Biaya Personal
·     Biaya Training

Faktor Organisasi :
·     Struktur Data
·     Kompleksitas
·     Ketersediaan dari service vendor
·     Sharing antar aplikasi
·     Perkembangan dan Pengontrolan Data

b. Hal pertama yang harus di perhatikan yaitu faktor ekonomi, karena dari SQL Server yang gratis dan berbayar mempunyai fitur dan perbedaan yang khusus, tentu berbayar lah yang mempunyai penyimpanan yang lebih.

Kemudian dari aspek hardware nya dalam pembuatan database dalam SQL Server dan Oracle itu berbeda dalam segi pemyimpanan/storage.


Thursday, April 2, 2020

TAHAP PERANCANGAN KONSEPTUAL DAN LOGIK, TIDAK TERGANTUNG PADA DBMS YANG DIGUNAKAN. MENGAPA?


Perancangan Konseptual adalah proses yang mengidentifikasi permasalahan yang bertujuan solusi secara prinsip, dimana hal ini dapat dicapai dengan beberapa tahapan yaitu : membuat daftar kebutuhan; mengidentifikasi masalah secara abstrak; membuat fungsi keseluruhan; membuat sub-fungsi; membuat solusi alternatif; melakukan pemilihan kombinasi; membangun konsep; dan evaluasi konsep, sehingga didapatkan sebuah solusi konsep.

Untuk perancangan database tergantung pada DBMS yang spesifik. Dengan menggunakan sebuah high-level data model seperti ERD (Entity Relationship Diagram) model selama fase ini. Dalam konseptual skema, kita harus memerinci aplikasi-aplikasi basis data yang diketahui dan transaksi-transaksi yang mungkin. Memberikan gambaran yang lengkap dari struktur basis data yaitu arti, hubungan, dan batasan-batasan. Conceptual schema bersifat tetap. Alat komunikasi antar pemakai basis data, designer, dan analis.

Dibawah ini merupakan sifat – sifatnya:
·     Mampu menyatakan relationship, batasan-batasan
·     Menampilkan sebuah diagram / gambaran proyeknya
·     Formal, minimum dalam menyatakan spesifikasi data (tidak ada duplikasi)
·     Simple dan Efisien

Perancangan Logik adalah pada saat basis data didesain, aplikasikan dari transaksi utama harus sudah diketahui dan transaksi - transaksi baru dapat didefinisikan kemudian. Tentukan karakteristik dari transaksi  dan periksa apakah basis data sudah memuat semua informasi untuk melaksanakan transaksi.

Tahap konseptual dan logic sebaiknya dilaksanakan secara paralel dengan menggunakan umpan balik agar didapat skema desain dan transaksi yang stabil.