Rabu, 12 November 2014

MERANCANG ARSITEKTUR BASIS DATA

BAB III
MERANCANG ARSITEKTUR BASIS DATA.

A.       Implikasi yang Bersifat Arsitektur terhadap Backup dan Recovery Diindentifikasi.
Implikasi yang bersifat arsitektur terhadap backup dan recovery dapat diidentifikasi dengan melakukan peninjauan ulang terhadap arsitektur basis data yang akan terlihat dari beberapa hal berikut.
1.      Kecepatan dan Kemudahan (Speed)
Basis data memungkinkan kita untuk dapat menyimpan data atau melakukan perubahan/manipulasi terhadap data atau menampilkan kembali data tersebut dengan lebih cepat dan mudah, daripada kita menyimpan data secara manual (non elektronis) atau secara elektronis (tetapi tidak dalam bentuk penerapan basis data, misalnya dalam bentuk spreadsheet atau dokumen teks biasa)
2.      Efisiensi Ruang Penyimpanan (Space)
Karena keterkaitan yang erat antarkelompok data dalam sebuah basis data maka redundansi (pengulangan) data pasti akan selalu ada. Banyaknya redundasi ini tentu akan memperbeesar ruang penyimpanan (baik dimemori utama maupun sekunder) yang harus disediakan. Dengan basis data, efisiensi atau optimalisasi penggunaan ruang penyimpanan dapat di lakukan. Selain itu, kita dapat melakukan penekanan jumlah redundansi data, baik dengan menerapkan sejumlah pengkodean atau dengan membuat relasi- relasi (dalam bentuk file ) antar kelompok data yang saling berhubungan.
3.      Keakuratan (Accuracy)
Pemanfaatan pengkodean atau pembentukan relasi antar data bersama dengan penerapan aturan/ batasan (constraint) tipe data, domain data, keunikan data, dsb dengan secara ketat dapat diterapkan dalam sebuah basis data sangat berguna untuk menekan ketidakakuratan pemasukan atau penyimpanan data.
4.      Ketersediaan (Availability)
Pertumbuhan data (baik disisi jumlah maupun jenisnya) sejalan dengan waktu akan semakin membutuhkan ruang penyimpanan yang besar. Padahal tidak semua data itu selalu kita gunakan karena itu kita dapat memilah adanya data utama / master, data transaksi,data histori hingga data kedaluarsa. Data yang sudah jarang atau tidak pernah kita gunakan dapat kita atur untuk dilepaskan dari sistem basis data yang sedang aktif (menjadi offline) baik dengan cara penghapusan atau dengan memindahkannya kemedia penyimpanan offline (seperti removable disk atau tape). Disisi lain, kepentingan pemakaian data, sebuah basis data dapat memiliki data yang disebar dibanyak lokasi geografis. Data nasabah sebuah bank , misalnya , dipisah-pisah  dan disimpan dilokasi yang sesuai dengan keberadana nasabah. Dengan pemanfaatan teknologi jaringan komputer, data yang berada disuatu lokasi / cabang dapat diakses(menjadi tersedia) bagi lokasi atau cabang lain.
5.      Kelengkapan (Completeness)
Lengkap/tidaknya data yang kita kelola dalam sebuah basis data bersifat preratif (baik terhadap kebutuhan pemakai atau waktu). Bila seorang pemakai sudah menganggap bahwa data yang dipelihara sudah lengkap maka pemakai yanga lain beum tentu berpendapat sama. Atau,yang sekarang dianggap sudah lengkap, belum tentu di masa yang akan datang juga demikian. Dalam sebuah basis data, disamping data kita juga harus menyimpan sturktur (baik yang mendefisinikan objek balam basis data maupun definisi detail dari setiap obyek seperti stuktur file). Untuk mengakomodasi kebutuhan kelengkapa data yang semakin berkembang maka kita hanya dapat menambahkan record data, tetapi juga dapat melakukan perubahan file-file batu  pada suatu tabel
6.      Keamanan (Security)
Memang ada sejumlah sistem pengolah basis data yang tidak menerapkan aspek keamanan dalam pengunaan basis data. Tetapi untuk sistem basis data yang besar dan serius, aspek keamanan juga dapat diterapkan dengan ketat dengan begitu, kita dapat menentukan siapa-siapa (pemakai) yang boleh menggunakan basis data beserta objek didalamnya dan menentukan jenis operasi apa saja yang dilakukannya.
7.      Kebersamaan Pemakaian (Sharability)
Pemakai basis data seringkali tidak terbatas pada satu pemakai saja, atau di satu lokasi saja atau oleh satu sistem /aplikasi saja. Data pegawai dala basis data kepegawaian , misalnya, dapat digunakan oleh banyak pemakai, dari sejumlah departemen dalam organisasi atau oleh banyak sistem (sistem penggajian,sistem akuntansi, sistem inventors, dan sebagainya). Basis data yang dikelola oleh sistem (aplikasi) yang mendukung lingkungan multiuser, akan dapat memenuhi kebutuhan ini, tetapi tetap dengan menjaga/menghindari terhadap menculnya persoalan baru seperti inkonsistensi data (karena data yang sama diubah oleh banyak pemakai pada saat yang bersamaan) atau kondisi deadlock (karena ada banyak pemakai yang saling menunggu untuk menggunakan data).
     Perancangan adalah langkah pertama dalam fase pengembangan rekayasa produk atau sistem. Perancangan itu adalah proses penerapan berbagai teknik dan prinsip yang bertujuan untuk mendefinisikan sebuah peralatan, satu proses atau satu sistem secara detail yang membolehkan dilakukan realisasi fisik. Fase ini adalah inti teknis dari proses rekayasa perangkat lunak. Pada fase ini elemen-elemen dari model analisa dikonversikan. Dengan menggunakan satu dari sejumlah metode perancangan, fase perancangan akan menghasilkan perancangan data ,perancangan antarmuka, perancangan arsitektur dan perancangan prosedur.
            Banyak langkah yang perlu dilakukan dalam peracangan perangkat lunak. Langkah-langkah tersebut menggambarkan struktur data, struktur program, karakteristik antarmuka dan detail prosedur yang merupakan sintesa dari keperluan-keperluan informasi. Perancangan data adalah langkah pertama dari empat kegiatan perancangan data adalah memilih gambaran logik dari struktur data yang dikenali selama fase spesifikasi dan pendefinisian keperluan. Pemilihan ini melibatkan analisis algoritma dari alternatif struktur dalam rangka menentukan perancangan yang paling efisien.
            Berikut adalah petunjuk dalam melakukan input data :
1)      Kurangi jumlah aksi input yang diperlukan pemakai.
2)      Jaga konsistensi antara tampilan informasi dan input data.
3)      Bolehkan pemakai melakukan penyesuaian input.
4)      Interaksi harus fleksibel tetapi dapat disetel ke mode input yang disukai pemakai.
5)      Padamkan perintah yang tidak sesuai dengan aksi saat itu, pemakai mengendalikan aliran interaksi.
6)      Sediakan help untuk membantu aksi semua aksi input.
7)      Buang input ‘mickey mouse’.

B.       Mengidentifikai dan Menguji Skenario Kegagalan dan Resiko
Pengidentifikasian dan pengujian terhadap berbagai skenario kegagalan dan resiko dapat dilakukan dengan memantau situasi sebagai berikut :
1)      Pencurian
2)      Kehilangan Kerahasiaan
3)      Kehilangan Privacy.
4)      Kehilangan integritas.
5)      Kehilangan ketersediaan.
Proteksi basis data terhadap ancaman/gangguan melalui kendali yang bersifat teknis maupun administrasi perlu dilakukan.
Ancaman /gangguan baik disengaja atau tidak yang merusak sistem sehingga merugikan organisasi dapat berupa :
1)         Tangible, yaitu kehilangan/kerusakan hardware, software, data.
2)         Intangible, yaitu kehilangan kredibilitas, kehilangan kepercayaan client.
Kerusakan sistem basis data dapat mengakibatkan aktivitas terhenti. Lamanya waktu pemulihan basis data bergantung pada berikut ini :
1)         Apakah ada hardware dan software alternatif yang dapat digunakan.
2)         Kapan backup terakhir dilakukan.
3)         Waktu yang diperlukan untuk me-restore sistem.
4)         Apakah data yang hilang dapat dipulihkan.
Sikap Kerja
1.      Mengidentifikasi implikasi yang bersifat arsitektur terhadap back up dan recovery.
2.      Mengidentifikasi dan menguji berbagai skenario kegagalan dan resiko.








Rabu, 24 September 2014

Menentukan Basis Dan Prosedur Recovery

A.              Dasar Basis Data dengan dan Tanpa Pengarsipan
Perancangan basis data merupakan proses menciptakan perancangan untuk basis data yang akanmendukung operasi dan tujuan organisasi. Dalam merancang suatu basis data, digunakan metodologi-metodologi yang membantu dalam tahap perancangan basis data. Metodologi perancangan adalah pendeketan struktur dengan menggunakan prosedur, teknik,alat,serta bantuan dokumen untuk membantu dan memudahkan dalam proses perancangan. Dengan menggunakan teknik metode desain ini dapat membantu dalam merencanakan,mengatur,mengontrol, dan mengevaluasi database development project.
1.     Conceptual Database Design
Conceptual database design adalah proses membangun suatu model berdasarkan informasi yang digunakan oleh organisasi, tanpa pertimbangan perencanaan fisik.


Langkah pertama: Membuat local conceptual data model untuk setiap pandangan yang spesifik. Local conceptual data model terdiri atas berikut :
a.     Entitiy Types
Menurut Connolly, entity types adalah kumpulan objek yang mempunyai karakteristik yang sama, dimana telah diindentifikasi oleh organisasi. Menurut Silberschatz, entity types adalah kumpulan dari entity yang memilik tipe dan karakteristik yang sama.
Entity dapat dibedakan menjadi dua adalah :
1)     Strong entity, yaitu entity yang keberadaannya tidak tergantung kepada entity lain.
2)     Weak entity, yaitu entity yang keberadaannya tergantung dari entity lain.
Contohnya adalah entity mahasiswa dan orang tua. Dimana mahasiswa merupakan strong entity dan orang tua merupakan weak entity karena keberadaan entity orang tua tergantung dari entity mahasiswa.
b.     Relationship Types
Menurut Connolly, definisi dari relationship types adalah kumpulan antar entity yang saling berhubungan dan mempunyai arti
c.      Attribute dan Attribute Domains
Attribute adalah karakteristik dari suatu entity atau relasi. Setiap attribute diperbolehkan untuk memiliki nilai yang disebut domain. Attribute domains adalah kumpulan dari nilai-nilai yang diperbolehkan untuk satu atau lebih attribute.
Ada beberapa jenis dalam attribute yaitu sebagai berikut :
1)            Simple attribute dan Composite attribute
Simple attribute adalah attribute yang terdiri atas komponen tunggal dimana attribute tersebut tidak dapat dipisahkan lagi, sedangkan composite attribute adalah attribute yang masih dapat dipisahkan menjadi beberapa bagian. Contoh dari simple attribute adalah nama barang sedangkan untuk composite attribute adalah alamat pada entity mahasiswa, karena dalam alamat bisa dibagi menjadi bagian entiti jalan, entiti kodepos dan entiti kota.
2)            Singlevalued attribute dan Multivalued attribute
Single-valued attribute adalah attribute yang memiliki satu nilai pada setiap entity, sedangkan multi-valued attribute adalah attribute yang mempunyai beberapa nilai pada setiap entity. Contoh dari single-valued attribute adalah Nim, nama mahasiswa, tanggal lahir, dan lain-lain. Sedangkan untuk multi-valued attribute contohnya adalah jam pelajaran, hobi, dan lain-lain.
3)            Derived attribute
Derived attribute merupakan attribute yang nilai-nilainya diperoleh dari hasil perhitungan atau dapat diturunkan dari attribute lain yang berhubungan. Contohnya adalah kumpulan attribute umur pada entity mahasiswa dimana attribute tersebut diturunkan dari attribute tanggal lahir dan tanggal hari ini.
d.     Primary key dan alternate keys
Primary key adalah key yang telah menjadi candidate key yang dilipih secara unik untuk mengidentifikasi suatu entity types. Candidate kay adalah kumpulan attribute minimal yang unik untukmengidentifikasi suatu entity types.
Altenate key adalah key yang digunakan sebagai alternatif dari key yang telah didefinisikan
e.     Integrity contstraints
Integrity contstraints adalah batasan-batasan yanng menentukan dalam rangka melindungi basis data untuk menghindari terjadinya inconsistent.
2.     Logical Database Design
Logical Database Design adalah proses pembuatan suatu model informasi yang digunakan pada organisasi berdasarkan pada model data yang spesifik,tetapi tidak tergantung dari DBMS yang khusus dan pertimbangan fisik lain.
DBMS adalah software yang memungkinkan pemakai untuk mengidentifikasi , membuat, melihat , mempelihara dan mengontrol akses ke basis data.Fasilitas yang di sediakan adalah:
a.      Memperbolehkan user untuk mendefinisikan basis data
b.     Memperbolehkan user untuk menambah,merubah,dan menghapus serta mengambil data dari basis data.
c.      Menyediakan kontrol akses ke basis data. Seperti security dan integrity.
Langkah kedua; membuat dan memvalidasi  local logical data model untuk setiap pemandangan. Bertujuan untuk mumbuat local logical data model dari local conceotual data model yang mempresentasikan pandangan khusus dari organisasi dan memvasilidasi model.
Tahap-tahap perancang model model logical keduan:
A.    Menghilangkan features yang tidak compatible dengan modal relasional. Bertujuan  untuk menghasilkan model yang compatible dengan modal relasional yaitu:
1.     Menghilangkan many-to-many (*.*) binary relationship types
2.     Menghilangkan many-to-many (*.*) recurcive relationship types
3.     Menhilangkan complex relationship tyepes
4.     Menghilangkan multi-valued ttributes
B.    Memperoleh relasi untuk local logical dan data modal.
  Bertujuan untuk membuat hubungan logical model yang mewakili entity,relationship dan atrributteyang telah didefinisikan.
1.     Data Definition Language(DDL)
2.     Data Manipolation Language(DML)
C.    Memvalidasi relasi dengan menggunakan normalisai
Dengan menggunakan normalisasi, maka model yang dihasilkan mendekati model dari kebutuhan organisasi.
D.    Memvalidasi relasi dengan transaksi pengguna
Bertujuan untuk menjamin bahwa relasi dalam model logika tersebut mendukung user’s requiment spesificatiom scara detail.dan juga untuk meyakinkan bahwa tidak ada kesalahan yang muncul sewaktu membuat suatu relasi.
E.     Mendefinisikan Integrity Contraints
Bertujuan untuk Mendefinisikan Integrity Contraints yang disampaikan dalam pandangan.
Ada 5 tipe Mendefinisikan Integrity Contraints yaitu:
·       Required data
·       Attribute domain constraints
·       Entity integrity
·       Referential integrity
·       Enterprise constraints
F.     Melihat kembali local logical data model dengan pengguna
Bertujuan untuk menjamin local logical data data model dan mendukung dokumentasi yang menggambarkan model yang sudah benar.
Langkah ketiga: Membuat dan memvalisidasi global logical data model. Bertujuan untuk menyatukan local logical data model menjadi global logical data model.
Pada perancangan model logical langkah ketiga , tahap-tahapannya adalah :
a.      Menggabungkan local logical data model menjadi global model
Pada langkah ini, setiap local logical data model menghasilka E-R diagram, skema relasional kamus data dan dokumen pendukung. Beberapa tugas yang harus dikerjaka :
·       Memeriksa nama dan isi entities dari relation ship dan candidate key
·       Memeriiksa nama dan isi dari relationship
·       Mengabunggakn  entities
·       Mengikutsertakan (tanpa menggabungkan)relationship
·       Memeriksa hubungan entities dengan relathionship
·       Memeiksa integrity constraits
·       Menggambarkan ER-diagram
·       Melakukan update dokumen.
  
b.     Memvalidasi global logical data model
Bertujuan untuk menvalidasi relasi yang dibuat dari global logical data model dengan teknik normalisasi dan menjamin bahwa model tersebut mendukung kebutuhan transaksi
c.      Mengecek pertumbuhan yang akan datang
Bertujuan untuk menentukan apakah ada perubahan yang signifikan seperti keadaan yang tidak terduga dimasa mendatang dan menilai apakah logical tersebut dapat menampung atau menyesuaikan perubahan yang terjadi.
d.     Melihat kembali global logical data model dengan pengguna
Bertujuan untuk menjamin model data logical yang bersifat global telah tepat untuk organisasi.
3.     Physical Database Design
Physical database design adalah suatu proses untuk mengahasilkan gambaran dari implementasi basis data pada tempat penyimpanan, menjelaskan dasar dari relasi, organisasi file dan indeks yang digunakan untuk efisiensi data dan menghubungkan beberapa integrity constraints dan tindakan keamanan.
      Langkah keempat: Menterjemahkan global logical data model untuk target DBMS. Bertujuan untuk menghasilkan skema basis data relasional dalam global logical data model yang dapat diimplemetasikan ke DBMS.
      Pada perancangan model physical, langkah-langkahnya adalah sebagai berikut :
a.      Merancang basis relasional
Dalam memulai merancang physical design, diperlukan untuk menggumpulkan dan memahami informasi tentang relasi yang dihasilkan dari logical database design. Informasi yang penting bias didapatkan dari kamus data dan DDL.
b.     Merancang representasi dari data yang diperoleh
Bertujuan untuk menentukan bagaimana setiap data yang diperoleh mewakili global logical data model ke dalam DBMS.
c.      Merancang enterprise constraints
Pada langkah ini bertujuan untuk merancang batasan-batasan yang ada pada organisasi.
Langkah kelima : Merancang representasi physical. Bertujuan untuk menentukan organisasi file yang optimal untuk penyimpanan dan menentukan indeks yang dibutuhkan untuk meningkatkan performa.
Pada langkah kelima ini, tahapan-tahapannya adalah sebagai berikut:
a.      Menganalisis transaksiBertujuan untuk mengerti fungsi dari transaksi yang dijlankan pada basis data dan menganalisa transaksi yang penting. Criteria kemampuan yang harus diidentifikasikan dalam menganalisa transaksi adalah :
·       Transaksi dapat berjalan secara sering dan akan mempunyai dampak yang signifikan pada performa.
·       Transaksi yang kritis pada operasi dan bisnis.
·       Waktu selama sehari atau seminggu ketika akan ada permintaan yang tinggi pada saat basis data dibuat.
b.     Memilih file organisasi
Bertujuan untuk menyimpan data secara tepat ke tempat penyimpanan data. Ada beberapa pilihan struktur penyimpanan, yaitu: heap; hash; sekuensial berindeks; dan clusters
c.      Memilih indeks
Bertujuan untuk meningkatkan performa dalam suatu system basis data. Salah satu pendekatan untuk memilih organisasi file yang cocok untuk relasi adalah untuk menyimpan tuples yang tidak disimpan dan dibuat sebanyak secondary indeks sebagaimana diperlukan.
Oleh karena itu, atribut yang digunakan adalah :
·       Atribut yang sering digunakan untuk join operations untuk membuat lebih efisien.
·       Atribut yang sering dipesan untuk mengakses tuples pada suatu relasi didalam urutan yang menunjukkan atribut.
d.     Memperkirakan kebutuhan ruang penyimpanan
Bertujuan untuk memperkirakan jumlah ruang penyimpanan yang akan diperlukan dalam basis data. Perkiraannya didasari pada ukuran setiap table dalam suatu relasi. Contohnya, dalam lima tahun mendatang berapa kapasitas hard disk yang dibutuhkan untuk menampung data.
Langkah keenam: Merancang pandangan pengguna. Bertujuan untuk merancang pandangan pengguna yang telah diindentifikasi selama mengumpulkan kebutuhan dan menganalisis langkah dari relasional Database Application Lifecycle. Contohnya, pada branch terdiri atas direktur dan manajer pandangan.
Langkah ketujuh: Merancang keamanan. Dalam sebuah sistem basis data, keamanan adalah elemen yang sangat penting mengingat isi dari basis data berupa informasi yang sangat penting. Menurut Silberschatz ukuran keamanan yang dapat diambil untuk melindungi basis data antara lain dari segi berikut :
·       Sistem basis data
·       Sistem oprasi
·       Jaringan
·       Fisik
·       Manusia
Langkah kedelapan mempertimbangkan pengenalan dan redundasi konrol. Pada langkah ini mempertimbangkan demormaliasi skema relation untuk meningkatkan peforma. Factor yang perlu dipertimbangkan adalah:
·       Denormaliasi membuat implementasi lebih kompleks
·       Demormaliasi selalu mengorbankan flessibilitas
·       Demormaliasi akan membuat cepat dalam retrieve data tetapi lambat dalam update
Langkah kesembilan: Memonitor dan memasang sistem oprasi. Bertujuan untuk memonitor sistem oprasi, meningkatkan peforma dan menentukan perancangan sistem yang tepat.
B.    Recovery Basis data Dilakukan Tanpa Kehilangan Transaksi yang Penting
Dalam recovery basis data dilakukan tanpa kehilangan transaksi yang penting. Dalam melakukan recovery data maka akan mengembaalikan harga sesuatu data item yang telah diubah oleh oprasi-oprasi dari transaksi keharga sebelumnya. Informasi pada log digunakan untuk mendapatkan harga lama.harus di rollback. Hal yang perlu dilakukan pada recovery :
1.     Menunda update
2.     Selama eksekusi masih berlangsung update hanya dicatat pada sistem log dan transaction workspace
3.     Setelah transaksi commit dan log sudah dituliskan ke disk, maka update dituliskan ke basis data setelah restore database
Langkah yang perlu dilakukan dalam melakukan pemeriksaan hasil restore database:
1.     Buka enterprise manager atau Query Analyzer untuk mekakuan pengecekan terhadap database yang telah di restore
2.     Pastikan dan diindentifikasi bahwa database hasil restore database tidak error dengan mengecek table-tabel didalamnya satu persatu.
3.     Jika terdapat error, buat kedalam suatu catatan yang berfungsi sebagai dokumentasi yang dapat dipergunakan kembali dimasa dating jika kemungkinan terjadi error yang sama.
4.     Setelah pengecekan dilakukan dan diindentifikasi tidak ada error, maka Enterprise Manager atau Query Analyzer dapat ditutup.