vica

Cartoon Toad Jumping Up and Down

Minggu, 16 November 2014



MERANCANG ARSITEKTUR BASIS DATA

A.    Implikasi yang Bersifat Arsitektur terhadap Backup dan Recovery Diidentifikasi
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 antar-kelompok data dalam sebuah basis data maka redundansi (pengulangan) data pasti akan selalu ada. Banyaknya redundansi ini tentu akan memperbesar ruang penyimpanan (baik di memori utama maupun memori sekunder) yang harus disediakan. Dengan basis data, efisiensi/optimalisasi penggunaan ruang penyimpanan data dapat dilakukan. Selain itu, kita dapat melakukan penekanan jumlah redundansi data, baik dengan menerapkan sejumlah pengodean atau dengan membuat relasi-relasi (dalam bentuk file) antar-kelompok data yang saling berhubungan.
3.       Keakuratan (Accuracy)
Pemanfaatan pengodean atau 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 menekan ketidak-akuratan 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 selalu kita gunakan/butuhkan. 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 off-line) baik dengan cara penghapusan atau dengan memindahkannya ke media penyimpanan offline (seperti removable disk atau tape). Di sisi lain, karena kepentingan pemakaian data, sebuah basis data dapat memiliki data yang disebar di banyak lokasi geografis. Data nasabah sebuah bank, misalnya, dipisah-pisah dan disimpan di lokasi yang sesuai dengan keberadaan nasabah. Dengan pemanfaatan teknologi jaringan computer, data yang berada di suatu lokasi/cabang dapat juga diakses (menjadi tersedia/available) bagi lokasi/cabang lain.
5.       Kelengkapan (Completeness)
Lengkap atau tudaknya data yang kita kelola dalam sebuah basis data bersifat relatif (baik terhadap kebutuhan pemakai maupun terhadap waktu). Bila seorang pemakai sudah menganggap bahwa data yang dipelihara sudah lengkap maka pemakai yang lain belum tentu berpendapat sama. Atau yang sekarang dianggap sudah lengkap, belum tentu di masa yang akan datang juga demikian. Dalam sebuah basis data, di samping data kita juga harus menyimpan struktur (baik yang mendefinisikan objek-objek dalam basis data maupun definisi detail dari tiap objek, seperti struktur file/tabel atau indeks). Untuk mengakomodasikan kebutuhan kelengkapan data yang semakin berkembang maka kita tidak hanya dapat menambah record-record data, tetapi juga dapat melakukan perubahan struktur dalam basis data, baik dalam bentuk penambahan objek baru (tabel) atau dengan penambahan field-field baru pada suatu tabel.
6.       Keamanan (Security)
Memang ada sejumlah sistem (aplikasi) pengelola basis data yang tidak menerapkan aspek keamanan dalam penggunaan basis data. Tetapi untuk sistem 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-objek di dalamnya dan menentukan jenis-jenis operasi apa saja yang boleh 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 dalam basis data kepegawaian, misalnya dapat digunakan oleh banyak pemakai, dari sejumlah departemen dalam organisasi atau oleh banyak sistem (sistem penggajian, sistem akuntansi, sistem investors,dsb). Basis data yang dikelola oleh sistem (aplikasi) yang mendukung lingkungan multiuser akan dapat memenuhi kebutuhan ini, tetapi tetap dengan menjaga/menghindari terhadap munculnya 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 perancangan perangkat lunak. Langkah-langkah tersebut menggambarkan struktur data, struktur program, karakteristik antarmuka dan prosedur yang merupakan sintesa dari keperluan-keperluan informasi. Perancangan data adalah langkah pertama dari empat kegiatan perancangan dalam rekayasa perangkat lunak. Menurut Wasserman,  aktivitas utama dalam perancangan data adalah memilih gambaran logic 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 ‘input mickey mouse’

B.    Mengidentifikasi dan Menguji Skenario Kegagalan dan Resiko
Pengidentifikasian dan pengujian terhadap berbagai scenario 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 organisai 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


Sabtu, 20 September 2014

menentukan basis dan prosedur recovery


Bab 2
MENENTUKAN BASIS DAN PROSEDUR
RECOVERY

A.      Dasar Basis Data dengan dan Tanpa Pengarsipan
Perancangan basis data merupakan proses penciptakan perancangan untuk basis data yang akan mendukung operasi dan tujuan organisasi.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 desain ini dapat membantu dalam merancanakan,mengatur,mengontrol,dan mengevaluasi database development project.
1.       Conceptual Database Design
Conceptual database design adalah proses membangun suatu model berdasarkan informasi yang digunakan oleh organsasi,tanpa pertimbangan perencanaan fisik.
Langkah Pertama: Membuat local conceptual data model untuk setiap pandangan yang spesifik.Local coceptual data model terdiri atas berikut.
a.       Entity Types
·         Menurut Connolly,entity types merupakan kumpulan objek yang mempunyai karakteristik yang sama,dimana yang telah teridentifikasi oleh organisasi.
·         Menurut Silberschatz,entity types adalah kumpulan data entity yang memiliki tipe dan karakteristik yang sama.
Entity dibedakan menjadi 2 yaitu:
·         Strong entity,yaitu entity yang keberadaanya tidak tergantung dengan entity lain.
·         Weak entity,yaitu entity yang kebaradaanya tergantung dengan entity lain
b.      Relationship Types
Menurut Connolly,yaitu kumpulan antara entity yang saling berhubungan dan mempunyai arti.
c.       Attribute dan Attribute Domains
Attribute adalah karakteristik dari suatu entity aatau relasi.Setiap attribute diperbolehkan untuk memiliki nilai yang disebut domain.Domain adalah kumpulan dari nilai-nilai yang diperbolehkan untuk satu atau lebih attribute.
Jenis-jenis attribute.
1.       Simple attribute dan Composite attribute
Simple attribute adalah attribute yang terdiri atas koponen tunggal dimana attribute tersebut tidak dapat dipisahkan lagi,sedangkan composite attribute adalah attibute yang masih dapat dipisahkan menjadi beberapa bagian.
2.       Singlevalued attribute dan Multivalued attribute
Singlevalued attribute adalah attribute yang mimiliki satu nilai pada setiap entity,sedangkan Multivalued attribute adalah attribute yang memiliki beberapa nilai pada setiap entity.
3.       Devived attribute
Devived attribute adalah attribute yang nilai-nilainya diperoleh dari hasil penghitungan atau dapat diturunkan dari attribute lain yang berhubungan.
d.      Primary key dan alternate keys
Primary key adalah key yang dapat menjadi candidate key yang dipilih secara unik untuk mengidentifikasi suatu entity types.Camdidate kay adalah kumpulan attribute minimal yang unik untuk mengidentifikasi suatu entity types.
Alternate key adalah key yang digunakan sebagai alternatif dari key yang telah didefinisikan.
e.      Integraty constraints
Integraty constaints adalah batasan-batasan yang menentukan dalam rangka melindungi basis data untuk menghindari terjadinya inconsistent.
2.       Logical Database Design
Logical dabase design adalah proses pembuatan suatu model informasi yang digunakan pada organisasi berdasarkan pada model data yang spesifik,tetapi tidak tergantung dari DBMS yang khusus dari pertimbangan lain.
DBMS adalah software yang memungkinkan pemakai untuk mendefinisi,membuat,memelihara,dan mengontrol akses ke basis data.fasilitas DBMS.
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.
Tahap-tahap perancangan model logical langkah kedua.
a.       Menghilangkan features yang tidak compatible dengan model relasional(pilihan).
Bertujuan untuk menghasilkan modal yang kompatibel denan model relasional yaitu dengan:
1)      Menghilangkan many-to-many(*:*) binary relationship types
2)      Menghilangkan many-to-many(*:*) recursive relationship types
3)      Menghilangkan komplek relationship types
4)      Menghilangkan multi-valued attributes
b.      Memperoleh relasi untuk local logical data model
Bertujuan untuk membuat hubungan logical model yang mewakili entity, relationship dan attribute yang telah didefinisi.
Bahasa dalam basis data dibedakan menjadi dua.
1)      Data Definition Language (DDL)
DDL merupakan bahasa dalam basis data yang memungkinkan pengguna untuk membuat atau menghapus basis data,hasil dari kompilasi DDL adalah kumpulan tabe yang di simpan dalam file khusus yang disebut kamus data.
2)      Data Manipulasi Language (DML)
DML merupakan bahasa dalam basis data yang memungkinkan pengguna untuk melakukan manipulasi data pada suatu basis data.
c.       Memvalidasi relasi dengan normalisasi
Model yang dihasilkan mendekati model dari kebutuhan organisasi,konsisen dan memiliki sedikit redundansi dan stabilitas yang maksimum.
d.      Memvalidasi relasi dengan transaksi pengguna
Bertujuan untuk menjamin relasi dalam model logical tersebut mendukung user’s requirements specification secara detail.
e.      Mendefinisikan Integrity constraints
Bertujuan untuk mndefinisikan integrity constraints yang disampaikan dalam pandangan.terdapat lima tipe.
·         Required data
·         Attribute domain constraints
·         Entity integrity
·         Enterprise constraints
f.        Melihat kembali local logical data model dengan pengguna
Bertujuan untuk menjamin local logical data model dan mendukung dokumentasi yang menggambarkan model yang sudah besar.

Langkah ketiga: Membuat dan mevalidasi globsl logical data model. Bertujuan untuk menyatukan local logical data model menjadi global logical data model.
Pada perancangan model logical langkah ketiga, tahapan-tahapannya adalah sebagai berikut.
a.       Menggabungkan local logical data model menjadi  global model.
Pada langkah ini, setiap local logical data model menghasilkan E-R diagram, skema relasional kamus data dan dokumen pendukung yang mendeskripsikan constraints dari model. Beberapa tugas yang harus dikerjakan adalah sebegai berikut:
-          Memeriksa kembali  nama dan isi dari entities dari relationships dan candidate key
-          Memeriksa kembali nama dan isi dari relathionships/foreign keys
-          Menggabungkan entities atau hubungan dari local data model
-          Mengikutsertakan (tanpa menggabungkan) entities atau relathionships yang unik pada tiap local data model
-          Menggabungkan relathionships atau foreign key dari local data model
-          Mengikutsertakan (tanpa menggabungkan) relathionships/foreign key unik pada tiap local data model
-          Memeriksa untuk entities (hiubungan) dan relathionships atau foreign key
-          Memeriksa integrity constraints
-          Menggabarkan ER-diagram
-          Melakukan update dokumen
b.      Memvalidasi global logical data model
Bertujuan untuk memvalidasi relasi yang dibuat dari global logical data model dengan teknik normalisasi dan menjamin bahwa model tersebut mendukung kebutuhan transaksi.
c.       Mengecek pertumbuhan yang akan dating
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
Physical database design adalah suatu proses untuk menghasilkan gambaran dari implementasi basis data pada tempat penyimpanan, menjelaskan dasar dari relasi, organisaasi 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 diimplementasikan ke DBMS.
                Pada perancangan model physical, langkah-langkahnya adalah sebagai berikut:
a.       Merancang basis relasional
Dalam memulai merancang physical design, diperlukan untk mengumpulkan dan memahami informasi tentang relasi yang dihasilkan dari logical database design. Informasi yang penting bias didapatkan dari kamus data dan DDL.
b.      Merancang replesentasi 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 replesentasi physical. Bertujuan untuk menentukan organisa sile yang optimal untuk menyimpam data dan menentukan indeks yang dibutuhkan untuk meningkatkan performa.
Tahap-tahapannya adalah:
a.       Menganalisis transaksi
Tujuannya untuk mengerti fungsi dari transaksi yang dijalankan pada basis data dan menganalisa transaksi yang penting. Criteria kemampuan yang harus diidentifikasokan dalam menganalisa transaksi adalah:
-          Transaksi dapat berjalan  sering dan akan mempunyai dampak yang signifikan pada performa
-          Transaksi yang kritis pada operasi dan bisnis
-          Waktu selama sehari atau seminggu ketika aka nada permintaan yang tinggi pada saat basis data dibuat.
b.      Memilih file organisasi
Untuk menyimpan data secara tepat ke peyimpanan data. Beberapa pilihan struktur penyimpanan: hash, heap, sekuensial berindeks, dan clusters.
c.       Memilih indeks
Untuk meningkatkan performa dalam suatu system basis data. Salah satu pebndekatanuntuk memilih prganisasi file yang cocok untuk relasi adalah menyimpan tuples yang tidak disimpan dan dibuat sebanyak secondary indeks sebagaimana diperlukan.
Atribut yang digunakan:
-          Atribut untuk join operations untuk membuat lebih efisien
-          Atribut untuk mengakses tuples pada suatu relasi didalamnya urutan yang menunjukkan atribut.
d.      Memperkiraka kebutuhan ruang   penyimpanan
Untuk memperkirakan jumlah ruang penyimpanan yang akan diperlukan   dalam basis   data. Perkiraannya didasari pada ukuran label dalam suatu relasi. Contohnya dalam lima tahun mendatang berapa kapasitas hard disk yang dibutruhkan untuk menampung data.
                Langkah keenam: Merancang pandangan pengguna. Tujuannnya untuk merancang pandangan pengguna yang telah diidentifikasi selama mengumpulkan kebutuhan dan menganalisis langkah dari relasional Database Application Lifecycle. Contohnya: pada branch terdiri atas direktur dan manager pandangan.
                Langkah ketujuh: Merancang keamanan. Ukuran keamanan yang dapat diambil untuk melindungi basis data antara lain dari segi berikut.
-          System basis data: beberapa pengguna berwenang diizinkan untuk mengakses bagian basis data tertentu dan ada para pengguna yang lain hanya untuk membaca data, tetapi tidak punya hak untuk mengubahnya. Kewajiban dari system basis data adalah menjaga batasan sepereti di atas tetap terjaga.
-          System operasi: tidak peduli betapa aman system basis datanya, apabila terjadi kelemahan dalam system operasi. Hal ini sama artinya dengan adanya akses yang tidak diinginkan dalam basis data.
-          Jaringan: seluruh system basis data memperbolehkan untuk mengakses lewat terminal atau jaringan, keamanan software-level dalam software jaringan penting sebagai keamanan fisik, keduanya dibvutuhkan dalam internet dan jaringan pribadi.
-          Fisik: situs yang mengandung system computer harus secara fisik aman dari entri secara diam-diam dan bahaya oleh para penyelundup.
-          Manusia: otoritas pada pengguna harus dilakukan secara hati-hati untuk mengurangi adanya kejadian dimana pengguna yang berwenang memberikan akses kepada orang lain dengan imbalan suap atau lainnya.
Langkah kedelapan: Mempertimbangkan pengenalan dan redundansi control. Pada langkah physical database design ini mempertimbangkan denormalisasi skema relational untuk meningkatkan performa, hasil dari normalisasi adalah perancang basis data logical secara structural, konsisten, dan menekan jumlah redudansi. Factor yang perlu dipertimbangkan adalah:
-          Denormalisasi membuat impementasi
-          Denormalisasi selalu mengorbankan fleksibilitas
-          Denormalisasi akan membuat cepat dalam retrieve data tetapi lambat dalam update
Langkah kesembilan: Memonitor dan memasang system operasi. Bertujuan untuk memonitor system operasi, meningkatkan performa dan mementukan perancangan system yang tepat atau menggambarkann perubahan kebutuhan.
B.       Recovery Basis Data Dilakukan Tanpa Kehilangan Transaksi Yang Penting
Dalam melakukan recovery basis data dilakukan tanpa kehilangan transaksi yang penting. Maka akan mengembalikan harga data item yang telah diubah oleh operasi-operasi dari transaksi ke harga sebelumnya.
Informasi pada  log digunakan untuk mendapatkan harga lama dari data yang harus di rollback. Hal yang perlu dilakukan pada saat recovery basis data agar 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 eksekusinya masih berlangsung update hanya dicatat pada system log dan transaction workspace
3.       Setelah transaksi commit dan log sudah dituliskan ke disk, maka update dituliskan                 ke basis data
Setelah melakkan restore database, dilakukan pengecekan apakah restore database berjalan dengan baik atau tidak.
Langkah-langkah yang perlu dilakukan dala melakukan pemeriksan hasil restore database adalah:
1.       Buka enterprise manager atau query analyzer untuk melakukan pengecekan terhadap database yabng telah direstore
2.       Pastikan dan diidentifikasi bahwa database hasil restore database tidak error dengan mengecek table-tabel didalamnya satu persatu
3.       Jika error, buat kedalam catatan yang berfungsi sebagai dokumentasi yang dapat dipergunakan kembali dimasa dating jika kemungkinan terjadi eror yang sama
4.       Setelah pengecekan dilakukan dan diidentifikasi tidak ada error, maka enterprire manager atau query a nalyzer dapat tertutup