Jumat, 10 April 2020

Menjawab soal tentang integritas data

Soal
a. Apa kegunaan integritas basis data
b. Jelaskan jenis-jenis integritas basis data
c. Buatlah contoh untuk Integritas Entitas
d. Buatlah contoh untuk Integritas Domain

JAWAB

a.  Kegunaan integritas data sendiri yaitu untuk menjaga kemurnian data atau menjaga data-data yang tidak valid agar tidak masuk ke database.

b. Integritas Data dapat Di kelompokan menjadi 3 bagian :
  • Integritas data yang berada dalam relasi, yaitu integritas entitas dan integritas domain.
  • Integritas yang berada di luar relasi, yaitu integritas referensial
  • Integritas yang ditentukan sendiri di dalam suatu perusahaan, yaitu integritas perusahaan (Enterprise integrity/ user Defined Integrity).
Secara garis besar integritas data dalam model relasional meliputi :
  1. Integritas Entitas
  2. Integritas Domain
  3. Integritas Referensial
  4. Integritas Enterprise

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

d. Contoh integritas domain:
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 sebuah sistem basis data contoh sederhananya



Pengertian integritas data secara luas mengacu pada kepercayaan dari sumber daya suatu sistem. Integritas data sangat penting karena dapat memastikan keakuratan, konsistensi, aksesibilitasi, dan kualitas tinggi dari sebuah data, sehingga sangat penting untuk mengikuti aturan pengintegritasan suatu data. Data yang mempunyai integritas identik di pertahankan selama operasi apapun (seperti bisnis transfer, penyimpanan, atau pengambilan). Secara sederhana dalam istilah bisnis, integritas data adalah jaminan bahwa data konsisten, bersertifikat dan dapat dirujukan.

Integritas data artinya akurasi dan kebenaran data. Integritas data dalam sebuah sistem basis data harus dijaga untuk menjaga kebenaran data yang disimpan. 

Bebeberapa cara dan tujuan dalam menjaga integritas data, diantaranya :
  • Memasukkan aturan bisnis di dalam basis data
  • Menjaga agar data yang tidak valid tidak masuk ke basis data
  • Menjaga konsistensi data pada relasi keterkaitan antar tabel

Integritas Data dapat Di kelompokan menjadi 3 bagian :
  • Integritas data yang berada dalam relasi, yaitu integritas entitas dan integritas domain.
  • Integritas yang berada di luar relasi, yaitu integritas referensial
  • Integritas yang ditentukan sendiri di dalam suatu perusahaan, yaitu integritas perusahaan (Enterprise integrity/ user Defined Integrity).

Secara garis besar integritas data dalam model relasional meliputi :
  1. Integritas Entitas
  2. Integritas Domain
  3. Integritas Referensial
  4. Integritas Enterprise
Berikut ini adalah jenis-jenis integritas data yang disertai dengan contoh kasusnya:

  1. Create Domain,  yaitu membuat tipe data baru. Fungsi ini biasa digunakan untuk menangani data yang membutuhkan aturan bisnis sendiri,
Contoh :
Membuat tipe data “gender” untuk yang isinya hanya boleh berisi pria atau wanita
Maka sintaksnya dalam SQL adalah :
create domain gender char(2) constraint gender_domain check ( value in(‘pria’,’wanita’));

  1. Not NULL, yaitu menjaga agar suatu data tidak kosong dengan kata lain harus ada value-nya.
Contoh:  nama matakuliah pada tabel mata kuliah tidak boleh kosong.
Maka sintaksnya dalam pl / sql :
nama_matkul varchar2(15),
constraint nn_ matkul not null (nama_matkul)

  1. Unique, yaitu membuat agar suatu data tidak memiliki nilai yang sama dengan record lainnya dalam tabel yang sama.
Contoh :
email pada tabel akun_facebook hanya boleh satu email untuk satu akun.
Maka sintaksnya :
email varchar2(15),
constraint u_mail unique (email)

  1. Primary key, merupakan gabungan antara not null dan unique.
Contoh :  NIM pada tabel mahasiswa.
nim char(7) not null,
constraint pk_ nim primary key (nim)

  1. Check, memeriksa data dengan aturan bisnisinya sendiri tanpa membuat tipe data baru.
Contoh :
Sebelum memasukkan nilai ujian pada tabel nilai, data diperiksa terlebih dahulu. Data tidak boleh masuk jika bernilai negatif.
nilai number,
constraint chk_nilai check (nilai > 0)

  1. Referential Integrity, adalah integritas pada relasi antar tabel.
Contoh:
 jika kolom NIM mahasiswa pada tabel nilai mengacu ke kolom NIM pada table mahasiswa, dan terjadi perubahan (delete atau update) pada NIM di tabel mahasiswa. Maka ada beberapa pilihan yang dapat dilakukan terhadap NIM yang di tabel nilai, diantaranya adalah :
 Delete cascade, hapus record pada kedua tabel yang bersangkutan
 Delete set null, hapus record di tabel asal dan value record pada tabel yang di jadikan  NULL
 Update cascade, perbarui isi record pada kedua table


Menjawab soal tentang proteksi basis data

Agar memiliki suatu keamanan yang efektif dibutuhkan kontrol yang tepat. Seorang DBA memegang peranan penting pada sistem basisdata, oleh karena itu DBA harus mempunyai kemampuan dan pengetahuan yang cukup agar dapat mengatur sistem basis data. Keamanan merupakan suatu proteksi terhadap pengrusakan data dan pemakaian data oleh pemakai yang tidak berwenang.

a. Sebutkan bentuk-bentuk akses yang secara secara sengaja dapat merusak atau merugikan pemilik basisdata

b. Untuk melindungi basis data, jelas level-level pengamanan basis data yang harus dilakukan. 

c. Jelaskan bentuk-bentuk otoritas user terhadap data yang disimpan dalam table/relasi basis data


JAWAB

a. Untuk kategori kedalam tindakan yang disengaja antara lain disebabkan oleh :
  1. Pengambilan data/pembacaan data oleh user yang tidak berwenang
  2. Pengubahan data oleh user yang tidak berwenang
  3. Penghapusan data oleh user yang tidak berwenang

b. Level Penguncian

Salah satu pertimbangan dalam mengimplementasikan penguncian adalah memilih level penguncian (locking level/granularity).
Beberapa level penguncian yang dikenal adalah :
  • Level Basis Data
Seluruh basis data dikunci dan tidak boleh diaksis oleh pemakai lain. Level penguncian ini dipakai dalam kasus-kasus tertentu, seperti ketika basis data sedang di-backup
  • Level Tabel
Penguncian dilakukan pada table yang memuat record yang dimaksud. Level ini biasanya dipakai pada saat dilakukan update pada hamper seluruh record table, misalnya meng-update data GAJI seluruh karyawan karena ada kenaikan gaji sebesar 5%.
  • Level Block atau halaman
Blok atau halaman fisik yang memuat record tertentu dikunci.Level pengucian ini jarang digunakan karena suatu blok fisik bisa memuat record dari beberapa table.
  • Level Record
Hanya record yang diakses saja yang dikunci, sedangkan record lain dalamsatu tabel tetap dapat diakses oleh pemakai lain. Level ini paling banyak digunakan.
  • Level Field
Penguncian dilakukan hanya pada field tertentu dari record yang diakses. Level ini biasa digunakan jika update hanya mempengaruhi satu atau dua field dalam suatu record. Level pengucian ini jarang digunakan.


c. Terdapat 3 Tingkat otoritas user  dalam mengakses database
  1. CONNECT
    • Dapat menampilkan dan merubah data
    • Membuat View dari table/ralasi yang diijinkan
    • Dapat menggunakan pernyataan ALTER, DROP TABLE, INDEX
    • Membeikan ijin kepada user lain untuk menggunakan table/relasi yang diijinkan.
  2. RESOURCE
    • Merubah struktur table
    • Membuat table baru, view baru
    • Hak yang sama dengan CONNECT
  3. DBA
    • Memberikan grant dengan level privilege kepada user
    • Melakukan DROP DATABASE
    • Hak yang sama dengan RESOURCE

4 Fungsi untuk Proteksi Basis Data pada DBMS

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. Untuk memproteksi data terhadap segala macam kemungkinan, DMBS menyediakan kontrol untuk :  1. Security , 2.Integrity,  3. Recovery, 4.Concurrency


1. SECURITY 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.

  • Untuk kategori yang tidak disengaja dapat disebabkan oleh :

  1. Kerusakan selama proses transaksi
  2. Anomali yang disebabkan oleh akses basis data yang konkuren
  3. Anomali yang disebabkan oleh pendistribusian data pada beberapa komputer
  4. Kesalahan logika yang dapat mengancam kemampuan transaksi untuk mempertahankan konsistensi basis data
  • Untuk kategori kedalam tindakan yang disengaja antara lain disebabkan oleh :

  1. Pengambilan data/pembacaan data oleh user yang tidak berwenang
  2. Pengubahan data oleh user yang tidak berwenang
  3. Penghapusan data oleh user yang tidak berwenang
Untuk mengatasi masalah ini, security harus dilakukan pada beberapa tingkatan :
  • FISIKAL
Menempatkan sistem komputer pada lokasi yang aman secara fisik dari serangan yang dapat merusak.
  • MANUSIA
Wewenang pemakai harus dilakukan dengan hati-hati untuk mengurangi kemungkinan adanya manipulasi oleh pemakai yang tidak berwenang
  • SISTEM OPERASI
Walaupun sistem databasenya aman, kelemahan pada sistem operasi memungkinkan pengaksesan data oleh pihak tidak berwenang, karena hampir seluruh jaringan sistem database menggunakan akses jarak jauh melalui terminal/jaringan.
  • SISTEM DATABASE
Beberapa pemakai yang berwenang dalam sistem database mungkin hanya boleh mengakses sebagian databasenya, yang lainnya hanya boleh melihat dan menggunakan tanpa boleh mengubahnya. Hal ini harus dapat dilakukan dalam sistem tersebut.

2. INTEGRITAS DATA

Salah satu karakteristik sistem informasi yang baik adalah kemampuannya memberikan informasi yang akurat dan tepat waktu. Keakuratan informasi hanya dapat diperoleh jika didukung perancangan dan implementasi database yang handal. Integrity di dalam istilah basis data berarti memeriksa keakuratan dan validasi data.Oleh karena itu database harus menjamin integritas (keutuhan) data yang disimpannya. Harus dijamin agar perubahan terhadap basis data yang dilkaukan user yang berhak tidak menghasilkan ketidakkonsistenan  data. Harus dijamin pula gara database tidak mengalami kerusakan secara sengaja.

Untuk itu dalam database dikenal dengan aturan integritas (integrity constraints) yang mengatur definisi dan modifikasi terhadap database sehinggan menjamin integritas database tersebut.
Terdapat beberapa jenis aturan integritas (integrity constraints) yang menjamin konsistensi dan integritas database, yaitu :

a. Aturan integritas entitas (Entity Integrity Constraints)
b. Aturan Domain (Domain Constraints)
c. Aturan integritas refensial (Referential Integrity Constraints)
d. Aturan berbasis atribut (Attribute-based Constraints) dan Aturan berbasis Record (Tuple Based Constraints)
e. Pernyataan (Assertions)
f. Pemicu (Trigger)

3. CONCURRENCY DATA

Konkurensi berarti bahwa sejumlah transaksi diperkenankan untuk mengakses data yang sama dalam waktu yang sama. Hal ini seperti ini menjadi titik perhatian bagi DBMS yang mendukung multiuser. Sehingga diperlukan mekanisme pengontrolan konkurensi. Tujuannya untuk menjamin bahwa transaksi-transaksi yang konkuren tidak saling mengganggu operasi masing-masing.

Dalam kasus konkurensi, terdapat 3 masalah yang dapat terjadi :
  1. Masalah Kehilangan Modifikasi (lost update problem)
  2. Masalah Modifikasi Sementara ( uncommitted dependency problem)
  3. Masalah Analisis Yang tidak Konsisten (inconsistent analysis problem)



4. RECOVERY SERVICES

Sebuah DBMS harus menyediakan mekanisme recovery basis data jika terjadi kerusakan. Seperti yang sudah disebutkan pada poin keempat yakni jika sebuah transaksi gagal maka basis data harus dikembalikan ke consistent state. Kegagalan sebuah transaksi bisa berupa system crash, media failure, error yang terjadi pada perangkat keras atau perangkat lunak yang menyebabkan transaksi dibatalkan.


Menjawab Soal Tentang Faktor dalam Pemilihan Paket DBMS

Bahasa pemrograman terpopuler

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

2.  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


Jawab:

1. Ada 3 faktor, meliputi:
  • Faktor teknis
a. DBMS (relational, hirarki, atau jaringan)

b. Struktur penyimpan dan akses path yang didukung DBMS

c. Ketersediaan antar muka pemakai dan pemrogram, tipe bahasa query tingkat tinggi, ketersediaan alat bantu pengembangan, kemampuan berhubungan dengan DBMS lain melalui media standard

d. Pilihan arsitektur yang berhubungan dengan operator client-server dan lain sebagainya.

  • Faktor Ekonomi
a. Software acquisiton cost :
Pembelian perangkat lunak, termasuk pilihan bahasa, pilihan antar muka seperti form, menu dan antar muka Web berbasis GUI, pilihan recovery/backup

b. Maintenance cost
Berhubungan dengan harga layanan pemeliharaan standart dari vendor dan untuk menjaga versi DBMS tetap up to date.

c. Hardware acquisition cost
Perangkat keras baru mungkin diperlukan, seperti memory, terminal, disk drive dan controller baru, atau penyimpan DBMS khusus.

d. Database creation and conversion cost
Biaya pembuatan sistem basis data dari konversi sistem yang sudah ada ke perangkat lunak DBMS  baru.

e. Personal cost
Akuisisi perangkat lunak DBMS untuk pertama kali oleh organisasi biasanya dilakukan dengan reorganisasi departemen data processing.

f. Training cost
Karena DBMS biasanya berupa sistem komplek, personal harus ditraining menggunakan dan memprogram DBMS. Training diperlukan pada semua level, termasuk programmer, pengembangan aplikasi dan administrasi basis data.

g. Operating cost :
Biaya operasi lanjutan dari sistem basis data biasanya tidak termasuk dalam evaluasi.

  • Faktor Organisasi
a. Familiarity of personnel with the system
Jika staff programming dalam organisasi familiar dengan DBMS tertentu, dapat mengurangi biaya training dan waktu pembelajaran.

b. Availability of vendor service
Kedengan sistem sangat penting, karena perubahan dari non-DBMS tersediaan asisten vendor dalam pemecahan permasalahan ke lingkungan DBMS kebanyakan membutuhkan bantuan vendor pada awalnya.


2. Faktor yang harus dipertimbangkan
  • Kebutuhan hardware
Keutuhan hardware pada server bisa disesuaikan dengan keperluan, untuk akses yang cepat Anda bisa memilih server dengan prosesor generasi terbaru dengan RAM yang besar. Tetapi perlu diingat semakin tinggi spesifikasi hardware yang Anda gunakan nantinya akan berpengaruh pada biaya yang akan dikeluarkan.
  • Kemampuan database server
Ini berkaitan dengan spesifikasi hardware yang digunakan dan jenis databasenya. Untuk keperluan database yang kami lebih merekomendasikan untuk menggunakan database semacam Oracle yang terbukti sudah banyak digunakan sampai saat ini.
  • Ketersediaan update
Tentunya dalam memilih database Anda perlu memperhatikan support, terutama ketersediaan update software. Saat ini perkembangan dunia IT berjalan dengan cepat, jadi jika ada perubahan pastikan database server yang Anda gunakan selalu support.
  • Support bahasa pemrograman
Developer dalam memilih database server yang diperhitungkan salah satunya adalah support bahasa pemrograman. Setiap database pastinya memiliki support bahasa pemrograman yang berbeda-beda, jadi Anda bisa menyesuaikan dengan kebutuhan sistem yang akan Anda bangun.
  • Harga
Nah yang terakhir tentang harga, ini menjadi salah satu faktor utama yang penting untuk diperhatikan. Sesuaikan budget anggaran dengan kebutuhan database server, yang terpenting jangan kurang dalam hal spesifikasi hardware dan kemampuan database server.

Perancangan Konseptual, Perancangan Logik dan Mengapa tahap Perencanaan tersebut tidak Tergantung pada DBMS yang akan digunakan

A. Perancangan Database Konseptual (Conceptual Database Design)

Perancangan secara konsep merupakan langkah pertama dalam merancang database. Sesuai dengan namanya, pada tahap ini anda hanya menentukan konsep-konsep yang berlaku dalam sistem database yang akan dibangun. Pemahaman seorang perancang database terhadap sistem yang akan dibangun sangat menentukan baik atau tidaknya hasil rancangan database-nya.

Dalam tahap ini, setidaknya yang harus diketahui :
1. Prosedur kerja secara keseluruhan yang berlaku pada sistem yang sedang
berjalan.
2. Informasi (output) apa yang diinginkan dari database ?
3. Apa saja kelemahan-kelemahan dari sistem yang sedang berjalan ?
4. Pengembangan sistem di masa yang akan datang.
5. Bagaimana tingkat keamanan data saat ini ?
6. Siapa saja yang terlibat dalam sistem yang sedang berjalan.
7. Apa saja input yang di perlukan ?


B. Perancangan Database Logic (Logical Database Design)

Perancangan database logic merupakan tahapan untuk memetakan proses perancangan konseptual ke dalam model database yang akan digunakan. Perancangan database secara logic ini tidak tergantung pada DBMS yang digunakan, sehingga tahap perancangan ini disebut juga pemetaan model data.

Berikut langkah-langkah dalam merancang database logic :
1. Mendefinisikan Entity Yang Dibutuhkan
2. Menentukan Attribute Setiap Entity Beserta Kuncinya
3. Menentukan Relasi Antar Entity Beserta Kunci Tamunya (foreign key)


C. Mengapa Perancangan Konseptual dan tahap Perancangan Logik, tidak tergantung pada DBMS yang akan digunakan

Perancangan database secara fisik merupakan tahapan untuk mengimplementasikan hasil perancangan database secara logis menjadi tersimpan secara fisik pada media penyimpanan eksternal sesuai dengan DBMS yang digunakan. Dapat disimpulkan bahwa proses perancangan fisik merupakan transformasi dari perancangan logis terhadap jenis DBMS yang digunakan
sehingga dapat disimpan secara fisik pada media penyimpanan.

Perancangan database adalah transformasi model data yang dihasilkan oleh proses analisis menjadi struktur data yang dibutuhkan pada saat implementasi. Suatu database dibangun berdasarkan kebutuhan informasi dalam suatu organisasi, oleh sebab itu pada umumnya perancangan database dimulai dari pengamatan kebutuhan informasi. Pada perancangan database ini dihasilkan tabel-tabel database yang akan dihubungkan pada ERD.

Rabu, 08 April 2020

Menjawab Soal Tentang Perancangan Basis Data

Pada database yang digunakan oleh single user atau hanya beberapa user saja, perancangan database tidak sulit. Tetapi jika ukuran database yang sedang atau besar perancangan database akan menjadi sangat kompleks. Oleh karena itu para pemakai mengharapkan penggunaan database yang sedemikian rupa sehingga sistem harus dapat memenuhi kebutuhan-kebutuhan seluruh user tersebut. 
Berikut adalah beberapa pertanyaan dan jawaban tentang perancangan basis data

1. Sebutkan 6 tahap  perancangan basis data !
Proses perancangan database terdiri dari 6 tahap:
  • Tahap 1, Pengumpulan data dan analisis
  • Tahap 2, Perancangan database secara konseptual
  • Tahap 3, Pemilihan DBMS
  • Tahap 4, Perancangan database secara logika (data model mapping)
  • Tahap 5, Perancangan database secara fisik
  • Tahap 6, Implementasi Sistem database
Secara khusus proses perancangan berisi 2 aktifitas paralel:
  1. Aktifitas yang melibatkan perancangan dari isi data dan struktur database,
  2. Aktifitas mengenai perancangan pemrosesan database dan aplikasi-aplikasi perangkat lunak.

2. Manakah tahap pada perancangan database yang paling penting?
Menurut saya semua tahap sangatlah penting dalam perancangan database, tapi diantara itu pasti ada tahap yang lebih penting. Jadi menurut saya tahap ke-2 adalah tahap yang penting dalam perancangan, karena pada tahap ini akan dihasilkan conceptual schema untuk database yang tergantung pada sebuah DBMS yang spesifik. Sering menggunakan sebuah high-level data modelseperti ER/EER modelselama tahap ini. Dalam conceptual schema, kita harus merinci aplikasi -aplikasi database yang diketahui dan transaksi-transaksi yang mungkin.

Jadi dengan konsep yang spesifik dan jelas, akan membuat sebuah database terstruktur dan lebih berfungsi serta mudah dipahami

3. Mengapa perancangan skema dan aplikasi dilakukan secara parallel ?
Karena untuk mencegah ketidaksinkronan saat perancangan database dan tidak terjadi kerangkapan data. itulah mengapa perancangan skema dilakukan secara paralel agar menghasilkan skema basis data konseptual

4. Mengapa digunakan model data implementation-independent selama perancangan skema konseptual ?
Skema konseptual tidak tersedia sebagai stabil dari isi basis data. Pemilihan DBMS dan keputusan desain dapat berubah tanpa mengubah skema konseptual DBMS-Independent

5. Mengapa diperlukan koleksi (Pengumpulan data) dan analisa kebutuhan
Karena ini suatu tahap dimana kita melakukan proses identifikasi dan analisa kebutuhan-kebutuhan data dan ini disebut pengumpulan dan analisa. Untuk menentukan kebutuhan-kebutuhan suatu sistem database, kita harus mengenal lebih dulu bagian-bagian lain dari sistem informasi yang akan berinteraksi dengan sistem database, termasuk para user yang ada dan para user yang baru beserta aplikasi-aplikasinya. Kebutuhan-kebutuhan dari para user dan aplikasi-aplikasi inilah yang kemudian dikumpulkan dan dianalisa

Teori Komputasi dan Implementasinya di Berbagai Bidang

Pengertian Komputasi   Komputasi dapat digambarkan sebagai suatu cara dalam memecahkan suatu persoalan atau masalah dari data input deng...