Jumat, 10 April 2020

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

Mengapa Perancangan Basis Data merupakan Micro Life Cycle dari Perancangan Informasi


Perancangan basis data merupakan proses menciptakan perancangan untuk basis data yang akan mendukung operasi dan tujuan perusahaan. Dalam merancang suatu basis data, digunakan metodologi-metodologi yang membantu dalam tahap perancangan basis data. Metodologi perancangan adalah pendekatan struktur dengan menggunakan prosedur, teknik, alat, serta bantuan dokumen untuk membantu dan memudahkan dalam proses perancangan. Dengan menggunakan teknik metode disain ini dapat membantu dalam merencanakan, mengatur, mengontrol, dan mengevaluasi database development project.
Perancangan Basis Data memiliki beberapa tujuan, diantaranya :
  1. Memenuhi informasi yang berisikan kebutuhan-kebutuhan pengguna secara khusus dan aplikasi-aplikasinya.
  2. Memudahkan pengertian struktur informasi.
  3. Mendukung kebutuhan-kebutuhan pemrosesan dan beberapa obyek penampilan (response time, processing time, dan storage space).
Dalam Basis data dikenal beberapa siklus (alur) yang biasa digunakan, salah satu contohnya adalah siklus hidup.  Siklus kehidupan sistem informasi sering disebut macro life cycle, dimana siklus kehidupan basis data merupakan micro life cycle.

Berikut ini siklus kehidupan sistem informasi di mana terdapat siklus kehidupan sistem database:

A. Siklus Kehidupan Sistem Informasi (Macro Life Cycle )

Tahapan–tahapan yang ada pada siklus kehidupan sistem informasi yaitu:

1. Analisa Kelayakan 
Tahapan ini memfokuskan pada penganalisaan areal aplikasi yang unggul, mengidentifikasi pengumpulan informasi dan penyebarannya, mempelajari keuntungan dan kerugian , penentuan kompleksitas data dan proses, dan menentukan prioritas aplikasi yang akan digunakan.

2. Analisa dan Pengumpulan Kebutuhan Pengguna 
Kebutuhan–kebutuhan yang detail dikumpulkan dengan berinteraksi pada sekelompok pemakai atau pemakai individu. Mengidentifikasikan masalah yang ada dan kebutuhan-butuhan, ketergantungan antar aplikasi, komunikasi dan prosedur laporan.

3. Perancangan 
Perancangan terbagi menjadi dua yaitu : perancangan sistem database dan sistem aplikasi

4. Implementasi
Mengimplementasikan sistem informasi dengan database yang ada

5. Pengujian dan Validasi
Pengujian dan validasi sistem database dengan kriteria kinerja yang diinginkan oleh pengguna.

6. Pengoperasian dan Perawatan
Pengoperasian sistem setelah di validasi disertai dengan pengawasan dan perawatan sistem

 B. Siklus Kehidupan Aplikasi Database ( Micro Life Cycle )
Sistem basis data sebagai komponen mendasar dari sistem informasi organisasi yang besar, siklus hidup aplikasi basis data menjadi bagian dari siklus hidup sistem informasi.
Tahapan dalam siklus hidup aplikasi basis data dapat dilaksanakan secara tidak urut, tetapi dapat mengulang tahapan yang telah dijalankan sebelumnya sebagai feed back loops. Jadi siklus Hidup Aplikasi Basis data digunakan untuk mengembangkan basis data yang sedang hingga yang besar.

Tahapan yang ada pada siklus kehidupan aplikasi database yaitu :

1. Pendefinisian Sistem 
Pendefinisian ruang lingkup dari sistem database, pengguna dan aplikasinya.

2. Perancangan Database
Perancangan database secara logika dan fisik pada suatu sistem database sesuai dengan sistem manajemen database yang diinginkan.

3. Implementasi Database
Pendefinisian database secara konseptual, eksternal dan internal, pembuatan file–file database yang kosong serta implementasi aplikasi software.

4. Pengambilan dan Konversi Data
Database ditempatkan dengan baik, sehingga jika ingin memanggil data secara langsung ataupun merubah file–file yang ada dapat di tempatkan kembali sesuai dengan format sistem databasenya.

5. Konversi Aplikasi
Software-software aplikasi dari sistem database sebelumnya di konversikan ke dalam sistem database yang baru

6. Pengujian dan Validasi
Sistem yang baru telah di test dan di uji kinerja nya

7. Pengoperasian
Pengoperasian database sistem dan aplikasinya

8. Pengawasan dan Pemeliharaan
Pengawasan dan pemeliharaan sistem database dan aplikasi software




C. Mengapa Perancangan Basis Data Merupakan Micro Life Cycle dari Perancangan Sistem Informasi?

Itu adalah karena siklus kehidupan sistem informasi dan siklus kehidupan sistem basis data hampir sama, hanya saja siklus hidup aplikasi basis data digunakan untuk mengembangkan basis data yang sedang hingga yang besar yang mencangkup juga sistem informasi.

Menjawap Contoh Soal Spesialisasi dari PEGAWAI menggunakan Model EER




Soal :
  1. Tentukan Superclass nya
  2. Tentukan Subclass nya
  3. Buatlah Notasi Spesialisasi dari PEGAWAI menggunakan Model EER
Kategori Pekerjaannya

Kategori Metode Pembayaran











Jawab

1. Superclassnya adalah Pegawai, karena Pegawai nanti memiliki percabangan subclassnya
2. Subclassnya adalah HONORER, TETAP, TEKNISI, SEKRETARIS dan ENGINEER
3. 

Pengetahuan Model Enhanced Entity Realionnship Diagram (EERD)

Apa itu EERD ? EERD atau Enhaced Entity Relationship Diagram adalah sebuah model yang berisi seluruh konsep ERD ditambah dengan konsep konsep yang berhubungan yaitu specialization dan generalization. EERD ini sangat membantu dalam membuat desain database dengan high level models dan model EERD menekankan pada superclass/subclass relationship yang  merupakan  hubungan antara superclass dan subclassnya. 


 A. Super-Kelas (Superclass)
Entitas yang merupakan induk dari subclass-subclassnya.
Contoh : Subclass SEKRETARIS, TEKNISI, SALES mempunyai superclass PEGAWAI

B. Super-Kelas (Superclass)
Subset dari suatu entitas yang dikelompokkan dalam pengertian tertentu yang perlu disajikan secara eksplisit.Subclass merepresentasikan entity yang sama dengan superclass, namun memiliki peran spesifik tertentu.  
Contoh : Entitas PEGAWAI mempunyai beberapa subclass seperti SEKRETARIS, TEKNISI, AHLI 

C. Generalisasi (Generalization)

Proses penggabungan subclass-subclass menjadi suatu entitas yang lebih umum. Contoh : Generalisasi dari MOBIL dan TRUK menjadi KENDARAAN

D. Spesialisasi (Spesialiazation)

Proses pemecahan entitas menjadi subclass-subclass beserta atribut-atributnya atau merupakan proses pendefinisian suatu himpunan subclass dari suatu entity berdasarkan karakteristik tertentu. 
Contoh : Spesialisasi dari PEGAWAI berdasarkan tipe pekerjaan.
Dalam proses spesialization terdapat beberapa jenis spesialisasi yang membantu menjelaskan keterlibatan anggota entity pada suatu superclass/subclass realitionship
  • Disjoint Constraint
Constraint yang menerangkan bahwa subclass-subclass dari spesialisasi saling disjoint, artinya entity merupakan anggota dari salah satu subclass. Disjoint Constraint direpresentasikan dengan lambang “d” yang berarti disjoint.
Contoh : entity dari spesialisasi tipe pekerjaan dari PEGAWAI merupakan anggota dari subclass PEGAWAI TETAP atau PEGAWAI HONORER
  • Non – Disjoint Constraint (overlapping)
Constraint yang menerangkan bahwa subclass-subclass dari spesialisasi tidak saling disjoint, artinya entity mungkin anggota lebih dari satu subclass. Non-Disjoint digambarkan dengan lambang “o” yang berarti overlapping.
Contoh : entity dari spesialisasi tipe barang merupakan anggota dari subclass BARANG PABRIK juga anggota dari subclass BARANG TERJUAL
  • Total Specialization Constraint
Constraint yang menerangkan bahwa setiap entity didalam superclass harus merupakan anggota dari salah satu subclass.
  • Partial Specialization Constraint
Constraint yang menerangkan bahwa setiap entity didalam superclass dapat merupakan anggota dari subclass-subclass yang didefinisikan.
Contoh dari PEGAWAI dapat merupakan anggota dari subclass MANAGER, TEKNISI atau SALES.

  • Specialization Hierarchy
Spesialisasi bertingkat dimana setiap subclass berpartisipasi didalam satu kelas / subclass relationship.

  • Specialization Lattice
Spesialisasi bertingkat dimana suatu subclass dapat berpartisipasi didalam beberapa kelas / subclass relationship.

E. Attribute Inheritance

Merupakan pewarisan atribut dari superclassnya.  Entity yang merupakan anggota dari subclass mewarisi semua atribut dari entity superclassnya

F. Shared-Subclass
Subclass yang mempunyai lebih dari satu superclass. Contoh : subclass ASISTEN PELATIH mempunyai dua superclass yang tipenya sama yaitu SALES & PELATIH.



G. Kategori

Adalah kebutuhan yang timbul untuk model suatu relationship superclass/subclass tunggal dengan lebih dari satu superclass dimana superclass-superclass tersebut menggambarkan jenis entity yang berbeda. 

Sebuah kategori mempunyai satu atau lebih superclass yang dapat mewakili tiap tipe entity. Dimana superclass/subclass lainnya bias saja hanya mempunyai satu superclass. Kategori dapat saja untuk seluruh relasi atau hanya sebagian saja.

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