Jumat, 07 November 2014

BAB 3 MERANCANG ARSITEKTUR DATA

MERANCANG ARSITEKTUR BASIS DATA

A.    Implikasi yang Bersifat Asitektur terhadap Backup dan Recovery Diidentifikasi
Implikasi yang bersifat asitektur terhadap backup dan recoverydapat diidentifikasikan 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 redundansi ini tentu akan memperbesar ruang penyimpanan (baik dimemori utama maupun memori sekunder) yang harus disediakan. Dengan basis data, efisiensi/optimalisasi penggunaan ruang penyimpanan dapat dilakukan. Selain iu, 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 aatau pembentukan relasi antar data bersama dengan penerapan aturan/batasan (constraint) tipe data domain data, keunikan data, dan sebagainya yang secara ketat dapat diterapkan dalam sebuah basis data sangat berguna untuk menekankan ketidakakuratan pemasukan/penyimpanan data.
4.      Ketersediaan (Availability)
Pertumbuhan data (baik dari sisi jumlah maupun jenisnya) sejalan dengan waktu akan semakin membutuhkan ruang penyimpanan yang besar. Padahal tidak semua data itu tidak selalu kita gunakan. Karena itu kita dapat memilah adanya data utama/master/referensi, data transaksi, data histori hingga data kadaluarsa. Data yang sudah jarang atau bahkan tidak pernah lagi kita gunakan dapat kita atur untuk dilepaskan dari sistem basis data yang sedang aktif (menjadi offline) baik dengan cara penghapusan atau dengan memindahkannya ke media penyimpanan offline (seperti removedisk atau tape). Disisi lain, karena kepentingan pemakai data, sebuah basis data dapat memiliki data yang dsebar dibanyak lokasi geografis. Data nasabah sebuah bank, misalnya, dipisah-pisahkan dan disimpan di lokasi yang sesuai dengan keberadaan nasabah. Dengan pemanfaatan teknologi jaringan komputer, data yang berada disuatu lokasi/cabang dapat juga diakses (menjadi tersedia/available) bagi lokasi/cabang lain.
5.      Kelengkapan (Completeness
Lengkap atau tidaknya data yang kita kelola dalam sebuah basis data bersifat relatif. Bila seseorang pemakai sudah menganggap bahwa data yang dipelihara sudah lengkap maka pemakai yang lain belum tentu berpendapat sama. Atau, yang sekarang dianggap sudah lengkap, belum tenyu dimasa yang akan datang juga demikian. Dalam sebuah basis data, disamping data kita juga harus menyimpan struktur. Untuk mengakomodasi kebutuhan kelengkapan data yang semakin berkembang maka kita tidak hanya dapat menambahrecord-record data, tetapi juga dapat melakukan perubahan struktur dalam basis data, baik dalam bentuk penambahan objek baru atau dengan penambahan field-field baru pada sebuah tabel.
6.      Keamanan (Security)
Memang ada sejumlah sistem pengelola basis data yang tidak menerapkan aspek keamanan dalam penggunaan basis data. Tetapi untul sistem yang besar dan serius, aspek keamanan juga dapat diterapkan dengan ketat. Dengan begitu, kita dapat menentukan siapa yang boleh menggunakan basis data beserta objek-objek di dalamnya dan menentukan jenis-jenis operasi apa saja yang boleh dilakukannya.
7.      Kebersamaan  Pemakai (Sharability)
Pemakai basis data sering kali tidak  terbatas pada satu pemakai saja, atau di satu lokasi saja atau oleh satu sistem aplikasi saja. Data pegawai dalam basis data kepegawaian, misalnya dapat digunakan oleh banyak pemakai, dan sejumlah departemen dalam organisasi atau oleh banyak sistem. Basis data yang dikelola oleh sistem yang mendukung lingkungan mutiuser, akan dapat memenuhi kebutuhan ini, tetapi tetap dengan menjaga terhadap munculnya persoalan baru seperti inkonsistensi data atau kondisi deadlock.

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 prosesatau satu sistem secara detail yang membolehkan dilakukan realisasi fisik. Fase ini adalah inti teknisdari proses rekayasa perangkat lunak. Pada fase ini dimana 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 penggunaan perangkat lunak. Langkah-langkah menggambarkan struktur data, struktur rpogram, karakteristik antar muka dan detail prosedur yang merupakan sintesa dari keperluan-keperluan informasi. Perancangan data adalah langkah pertama dari empat kegiatan perancangan rekayasa perangkat lunak. Menurut Wasserman, aktivitas utma dalam 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 efisien.
Berikut adalah petunjuk dalam melakukan input data :
a.       Kurangi jumlah aksi input yang diperlukan pemaikai
b.      Jaga konsistensi antar tampilan informasi dan input data
c.       Bolehkan pemakai melakukan penyesuaian input
d.      Intraksi harus fleksibel tetapi dapat disetel ke mode input yang disukai pemakai
e.       Padamkan perintah yang tidak sesuai dengan aksi saat itu, pemakai mengendalikan aliran interaksi.
f.       Sediakan help untuk membantu aksi semua aksi input
g.      Buang input mickey mouse

B.     Mengidentifikasi dan Menguji Skenario Kegagalan dan Resiko
Pengidentifikasian dan pengujian terhadap berbagai skenario kegagalan dan resiko dapat dilakukan dengan memantau situas sebagai berikut
a.       Pencurian
b.      Kehilangan kerahasiaan
c.       Kehilangan privacy
d.      Kehilangan integritas
e.       Kehilangan ketersediaan
Proteksi basis data terhadap ancaman/gangguan melalui kendali yang bersifat teknis maupun administrasi perlu dilakukan.
Ancaman baik disengaja atau tidak yang merusak sistem sehingga merugikan organisasi dapat berupa :
1.      Tangible, yaitu kehilangan atau kerusakan hardware, software data
2.      Intangible, yaitu kehilangan kredibilitas, kehilangan kepercayaan klien
Kerusakan sistem basis data dapat mengakibatkan aktivitas terhenti. Lamanya waktu pemulihan basis data tergantung pada berikut :
1.      Apakah adahardware dan software alternatif yang dapat digunakan
2.      Kapan backup terakhir dilakukan
3.      Waktu yang diperlukan untuk merestore sistem
4.      Apakah data yabf hilang dapat dipulihkan
Sikap kerja
1.      Mengidentifikasi implikasi yang bersifat arsitektur terhadap backup dan recovery

2.      Mengidentifikasi dan menguji berbagai skenario kegagalan dan resiko

Kamis, 18 September 2014

Menentukan Basis dan Prosedur Recovery



MENENTUKAN BASIS DAN PROSEDUR RECOVERY
A.    Dasar Basis Data dengan dan Tanpa Pengarsipan
Perancangan basis data merupakan proses menciptakan perancangan untuk basis data yang akan mendukung operasi dan tujuan organisasi. Dalam merancang suatu basis data, digunakan metedologi-metodologi yang membantu dalam tahap perancangan basis data. Meteodologi perancangan adalah pendekatan 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 mengevakuasi database development project.
1.      Conceptual Database Design
Conceptual database design adalah proses membangun suatu model berdasarkan informasi yang digunakan oleh organisasi, tanpa pertimbangan secara fisik.
Langkah pertama, Membuat local conceptual data model untuk setiap pandangan yang spesifik. Loocal coceptual data model terdiri atas berikut :
a.      Entitiy Types
Menurut Connolly, entity types adalah kumpulan objek yang mempunyai karakteristik yang sma, dimana telah dididentifikasi oleh organisasi. Menurut Silberschatz, entitiy types adalah kumpulan dari entitiy yang memiliki tipes dan karakteristik yang sama.
Entitiy dapat dibedakan menjadi dua yaitu :
-          Strong entitiy, yaitu entitiy yang keberadaannya
-          Weak entitiy, yaitu entitiy yang keberadaannya tergantung dari entitiy lain.
Contohnya adalah entitiy mahasiswa dan orang tua. Di mana mahasiswa merupakan strong entitiy dan orang tua merupakanweak entitiy karena keberadaan entitiy orang tua tergantung dari mahasiswa entitiy.
b.      Relationship Types
Menurut Connolly, definisi dari relationship types adalah kumpulan antar entitiy yang saling berhubungan dan mempunyai arti.
c.       Atttribute dan Attribute Domains
Attribute adalah karakteristik dari suatu entitiy atau relasi. Setiap attribute diperbolehhkan untuk memiliki nilai yang disebut domain. Attribute domains adalah kumpulan dari nilai-nilai yang diperbolehkan untuk satu atau lenih attribute.
Ada beberapa jenis attribute :
1.      Simple attribute dan Composite attribute
Simpe 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 beberaa bagian. Contoh simple attribute adalah nama barang sedangkan composite attribute adalah alamat pada entitiy mahasiswa, karena dalam alamat bisa dibagi menjadi entity kodepos dan entity kota.
2.      Singlevalued attribute dan Multivalued attributed
Singlevalued attribute adalah attribute yang memiliki satu nilai pada setiap entity, sedangkan multivalued attribute adalah attribute yang mempunyai beberapa nilai pada setiap entity. Contoh singlevaluedattribute adalah Nim, nama mahasiswa, tanggal lahir, dll. Sedangkan multivalued attribute contohnya jam pelajaran, hobi dll.
3.      Derived attribute
Derived attributet merupakan attribute yang nilai-nilainya diperoleh dari hasil perhitungan atau dapat diturunkan dari attribute lain yang berhubungan. Contohnya adalah attribute umur pada entitiy 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 kandidate key yang dipilih secara unik untuk mengidentifikasi suatu entitiy types. Candidate key adalah kumpulan attribute minimal yang unik untuk mengidentifikasikan suatu entity types.
Alternate key adalah key yang digunakan sebagai alternatif ari key yang telah didefinisikan.
e.       Integrity constraints
Intergrity constraints adalah batasan-batasan yang menentukan dalam rangka melindungi basis data untuk menghindari terjadinya inconsistent.

2.      Logical DatabaseDesign
Logical database design adalah proses pembuatan suatu model informasi yang digunakan pada organisasi berdasarkan pada model data yang spesifik, tetapi tidak tergantung dari Database Management System (DBMS) yang khusus dan dipertimbangkan fisik lain.
DBMS adalah software yang memungkinkan pemakai untuk mendefinisi, membua, memlihara, dan mengontrol akss ke basis data. Fasilitas yang tersedia :
a.       Memperbolehkan user untuk mendefinisikan basis data
b.      Memperbolehkan user untuk menambah, mengubah, dan menghapus serta mengambil data dari basis data.
c.       Menyediakan kontrol akses ke basis data.
Langkah kedua, membuat dan memvalidasi local logical data model untuk setiap pandangan. Bertujuan untuk membuat local logical data model dari local conceptual data model yang mempresentasikan pandangan khusus dari organisasi dan memvalidasi model tersebut untuk menjamin bahwa model tersebut mendukung kebutuhan transaksi.
Pada perancangan model logical langkah kedua, tahap-tahapannya adalah :
a.       Menghilangkan features yang tidak compatible dengan model relasional (pilihan)
Bertujuan untuk menghasilkan model yang kompatible dengan model relasional, yaitu dengan :
1)      Menghilangkan many-to-many (*:*) binary relationship types
2)      Menghilangkan many-to-many (*:*) recursive relationship types
3)      Menghilangkan complex relationship types
4)      Menghilangkan multivalued attributes
b.      Memperoleh relasi untuk local logical data model
Bertujuan untuk membuat hubungan logical model yang mewakili entitiy, relationship dan attribute yang telah didefinisi. Mendeskripsikan komposisi tiap hubungan memakai Database Definition Language (DDL) untuk relasi yang diikuti dengan daftar dari relasi attribute yang mudah lalu mengidentifikasikan primary key dan foreign key dari suatu relasi.
Bahasa dalam basis data dibagi menjadi dua :
1.      Data Definition Language (DDL)
DDL merupakan bahasa dalam basis data yang memungkinkan pengguna untuk membuat atau menghapus basis data, membuat atau menghapus tabel membuat struktur penyimpanan tabel.
2.      Data Manipulation Language (DML)
DML merupakan bahasa dalam basis data yang memungkinkan pengguna untuk melakukan manipulasi data pada suatu basis data
c.       Memvalidasi relasi dengan menggunakan normalisasi
Dengan menggunakan normalisasi, maka model yang dihasilkan mendekati model dari kebutuhan organisasi, konsisten dan memiliki sedikit redyndansi dan stabilitas yang maksimum.
d.      Memvalidasi relasi dengan transaksi pengguna
Bertujuan untuk menjamin bahwa relasi dalam model logikal tersebut mendukung user’s requirements specification secara detail. Selain itu juga untuk meyakinkan bahwa tidak ada kesalahan yang muncul sewaktu membuat relasi.
e.       Mendefinisikan Integrity constrains
Bertujuan untuk mendefinisikan integrity constraints yang disampaikan dalam pandangan.
Lima tipe integrity yang wajib diperhatikan :
-          Required  data
-          Attribute domain constranits
-          Entity entegrity
-          Referential integrity
-          Enterprise constraints
f.       Melihat kembali local logical data mode dengan pengguna
Bertujuan untuk menjamin local logical data model dan mendukung dokementasi yang menggambarkan model yang sudah benar.

Langkah ketiga, membuat dan memvalidasi global logical data model. Bertujuan untuk menyatukan local logical data model menjadi global logical data model.

Tahap-tahapnya :
a.       Menggabungkan local logical data model menjadi global model
Tugas yang harus dikerjakan :
·         Memeriksa kembali nama dan isi dari entities dari relationships dan candidate key
·         Memeriksa kembali nama dan isi dari relationships/foreign keys
·         Menggabungkan entities atau hubungan dari local data model
·         Mengikutsertakan entities atau relationships yang unik pada tiap local data model
·         Menggabungkan relationships atau foreign key dari local data model
·         Mengikutsertakan relatinships atau foreign key unik pada local data model
·         Memeriksa untuk entities dan relationship atau foreign key
·         Memeriksa integrity constrainst
·         Melakukan update dokumen
·         Menggambar ER-diagram
b.      Memvalidasi global logicaldata model
Bertujuan untuk memvalidasi relasi yang dibuat dari global logical data model dengan teknik normalisasi dan  menjamin bahwa model tersebut mendkung 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 model 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
Adalah sesuatu proses untuk menghasilkan gambaran dari implemenrasi basis data pada tempat penyimpanan, menjelaskan dasar dari relasi, organisasi file dan indeks yang digunakan untuk efisiensi data dan menghubungkan beberapa integrety constraints dan tindakan keamnan.

Langkah keempat, menterjemahkan global logical data model untuk target DBMS. Bertujuan untuk menghasilkan skema basis data relasional dalam global logical data model yang dapat diimplementasikan ke DBMS.
Langkah-langkahnya sebagai berikut :
a.       Merancang basis relasional
b.      Merancang representasi dari data yang diperoleh
c.       Merancang enterprise constraints

 Langkah kelima, merancang reprentasi physical. Bertujuan untuk menentukan organisasi file optimal untuk penyimpanan dan menentukan indeks yang dibutuhkan untuk mengingatkan perfoma.
Tahap-tahapnya sebagai berikut :
a.       Menganalisis transaksi, bertujuan untuk mengerti fungsi dari transaksi yang dijalankan pada basis data dan menganalisa transaksi yang penting. Keriteria kemapuan yang harus didentifikasikan dalam menganalisa transaksi adalah :
1.      Transaksi dapat berjalan secara sering dan akan mempunyai dampak yang  signifikan pada perfoma
2.      Transaksi yang kritis pada operasi dan bisnis
3.      Waktu selama sehari atau seminggu ketika akan ada permintaan yang tingi pada saat 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 inseks bertujuan untuk meningkatkan performa dalam suatu sistem 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 :
1.      Atribut yang sering digunakan untuk join operations untuk membuat lebih efisien
2.      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 tabel dalam suatu relasi.

Langkah keenam, merancang pandangan pengguna. Bertujuan untuk merancang pandangan pengguna yang telah diidentifikasi selama mengumpulkan kebutuhan dan menganalisis langkah dari relasional Database Application Lifecycle.

Langkah ketujuh, merancang keamanan. Keamanan adalah elemen yang sangat penting mengingat isi dan dasis data berupa informasi yang sangat penting. Menurut Silberschatz ukuran keamanan yang dapat diambil untuk melindungi basis data antaralain :
·         Sistem basis data
·         Sistem operasi
·         Jaringan
·         Fisik
·         Manusia
Langkah kedelapan, mempertimbangkan pengenalan dan redundansi kontrol. Faktor yang perlu dipertimbangkan adalah :
-          Denormalisasi membuat implementasi lebih kompleks
-          Denormalisasi selalu mengorbankan fleksibilitas
-          Denormalisasi akan membuat cepat dalam retrieve data tetapi lambat dalam update

B.    Recovery Basis Data Dilakukan Tanpa Kehilangan Transaksi yang Penting

Dengan melakukan recovery data maka akan mengembalikan harga suatu data item yang telah diubah oleh operasi-operasi dari transaksi ke harga sebelumnya.
Inforinformasi pada log digunakan untuk mendapatkan harga lama dari data yang harus di rollback. Hal yang harus dilakukan pada saat recovery basis data agar tidak kehilangan transaksi yang penting adalah :
1.      Menunda update yang sesungguhnya ke basis data sampai transaksi menyelesaikan eksekusinya dengan sukses dan mencapai titik commit
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 kebasis data.
Langkah yang perlu dilakukan dalam melakukan pemeriksaan gasil restore database adalah :
1.      Buka enterprise manager atau query analyzer untuk melakukan pengecekan terhadap database yang telah di-restore
2.      Pastikan dan diidentifikasikan bahwa database hasil restore database tidak eror dengan mengecek tabel didalamnya satu persatu
3.      Jika terdapat eror, buat kedalam suatu catatan yang berfungsi sebagai dokumentasi yang dapat dipergunakan kemali dimasa datang jika kemungkinan terjadi eror yang sama
4.      Setelah pengecekan dilakukan data diidentifikasi tidak ada eror, maka Enterprise Manager atau Query Analyzer dapat ditutup