1. Jelaskan keterbatasan pemrosesan file secara konvensional dan berikan contoh kasusnya!
2. Jelaskan keuntungan penggunaan basis data dan resiko penggunaan basis data dengan kasus real!
3. Jelaskan komponen-komponen lingkungan basis data dan kategori aplikasi basis data!
4. Jelaskan siklus hidup pengembangan sistem basis data!
5. Jelaskan pendekatan pengembangan prototyping!
6. Jelaskan tiga skema arsitektur basis data, disertai dengan gambar!
JAWABAN:
2. keuntungan penggunaan basis data dan resiko penggunaan basis data dengan kasus real:
Keunggulan
1. Mudah digunakan
Database relational dapat dibaca dan juga dipahami relatif lebih mudah dengan tipe database lain seperti
databse tree dan database bertingkat yang lebih sulit. Kebanyakan mata kuliah ataupun lembaga bimbingan
komputer tentang pemrograman pasti mengjarkan tentang database relasional sebagai dasar untuk memahami
jenis database yang lebih komplek seperti database tree. Bentuk tabel dari database relasional yang berupa
kolom dan juga baris dapat dengan mudah dibaca dan dipahami bagi pemula yang bahkan belum pernah
mempelajari tentang pemrograman sekalipun. ( Baca Juga: Fungsi Database)
2. Penggunaanya Fleksibel
Setiap data pada tabel yang ada pada database relasional yang datanya ingin diambil atau digunakan oleh
program dapat dimanipulasi dengan operator operator tertentu. operator seperti ‘join’, ‘where’, dan ‘and’ dapat
membentuk informasi yang dinginkan sehingga bentuk dan jumlah data bisa sesuai dengan kebutuhan program.
(Baca juga: Macam Software Database)
Pada database relasional, perancang database dapat menambahkan kendali keamanan dan juga authorisasi
dengan mudah. Atribut dari database yang sensitif dapat di tempatkan pada tabel tersendiri dengan kendali
keamanan yang spesial yang memerlukan ototentifikasi khusus. jika seorang user atau program memiliki
ototenfikasi khusus ini, program atau user tersebut dapat mengambil data sensitif pada tabel. Sistem keamanan
sepertini inilah yang membuat database relasional memiliki tingkat keamaman yang baik. (Baca juga:
Komponen Database
Data yang diambil dari database relasional memiliki tingkat presisi yang tinggi. hal ini dikarenakan, database
relasional melalukan berbagai macam operasi aljabar dan juga kalkulus relasional pada saat proses manipulasi
relasi antar satu tabel dengan lainnya. Faktor ambiguitas data pun menjadi berkurang. Hal ini sangat berbeda
pada tipe database lain yang memiliki hubungan kompleks antar tabel tabelnya. (Baca juga: Muncul Error
Establishing a Database Connection – Cara Mengatasi dan Penyebab)
Database relasional memungkinkan penggunaan bahasa pemrograman khusus untuk query database. Hal ini
membuat programmer dapat membuat suatu fungsi dengan lebih mudah. Salah satu contoh dari bahasa
pemrograman query database adalah SQL. Pada tipe database lain yang lebih kompleks, penggunaan bahasa
pemrograman untuk query database lebih sulit diterapkan atau memiliki batasan yang besar untuk diterapkan.
Baca juga:
Data yang mandiri adalah data yang tidak terikat antara satu data dengan data lain yang memiliki tingkatan
lebih rendah. Kemandirian data ini akan sangat penting untuk dicapai untuk tipe database manajemen yang
terpusat. karena bila tidak dicapai, sistem database akan memiliki beban yang tinggi dan bahkan bisa menjadi
kacau. Pada database relasional, pencapaian kemandirian data data dicapai menggunakan normalisasi struktur.
dan Normalisasi struktur pada database relasional lebih mudah diterapkan daripada penerapan di tipe database
lain yang lebih kompleks. (Baca juga: Kelebihan dan Kekurangan Database Oracle)
Kekurangan
Data yang terpisah pisah namun terhubung satu dengan yang lainnya tentu akan membutuhkan space
penyimpanan yang lebih tinggi daripada data yang hanya tersimpan menjadi satu bagian. Data yang terpisah
pisah tersebut apalagi memiliki kemungkinan untuk digunakan dengan operasi join yang menggabung
gabungkan data menjadi satu sehingga kecepatan write dan read pada space penyimpanan menjadi sangat
berpengaruh. Apalagi jika didalam data terdapat tipe data yang tidak dapat dikategorisasikan di dalam database
relasional seperti data gambar, data music, dan data multimedia lainnya yang perlu disimpan. membuat
semakain bertambahnya space yang diperlukan jika menggunakan database relasional untuk menyimpan data
data ini.
Database relasional menyembunyikan kekomplekskan penggunaan aljabar dan juga kalkulus dari sisi
pengguna. Penggunaan database relational akan membutuhkan tingkat komputasi yang tinggi karena pada
setiap operasi yang dilakukan. berbagai komputasi untuk dapat merelasikan antara data pada tabel satu dengan
data pada tabel yang lainnya juga perlu dilakukan.
3. Ekstrasi dari data relatif lambat
Perbandingan kecepatan ekstrasi data antara database relasional dan tipe database lainnya cenderung lebih
lambat. Data yang diorganisir secara hirarki tentu lebih cepat diekstrasi daripada data yang perlu di ekstrak
dengan direlasikan dahulu dengan tabel data lainnya.
Kemudahan pada penggunaan dan perancangan database relasional dapat menjadi boomerang untuk keperluan
yang tingkatannya lebih tinggi. Seorang perancang database relasional yang tidak tahu dengan bagaimana cara
data nya direlasikan dapat membuat sebuah database relational dengan desain yang buruk dan membuat
performa dari ekstrasi maupun penyimpanan database menjadi buruk juga.
Pada saat perancangan database, diperlukan pengaturan berupa batasan panjang dari data. jika terdapat
kesalahan perancangan seperti jumlah panjang data yang dispesifikan lebih pendek dari panjang data yang akan
disimpan, data akan otomatis dipoting dan ini merupakan hal yang tidak diinginkan.
6. Terisolasinya data
Pada penerapannya, database relasional yang komplesk seringkali berubah menjadi semacam sebuah pulau
pulau informasi, dimana akan sangat sulit sekali untuk melakukan sharing informasi dari sistem besar semacam
ini ke sistem besar lainnya. Pada sebuah instasi besar misalnya, tiap divisi divisi dari instansi biasanya memiliki
database sendiri sendiri. akan dibutuhkan waktu dan juga biaya yang sangat besar untuk membuat sebuah
program yang dapat menghubungkan data antara dua divisi berikut karena sifat database relasional yang akan
semakin kompleks dengan semakin banyaknya tabel yang dimilikinya
1. Perangkat Keras
Perangkat keras atau hardware yang umumnya terdapat dalam sistem basis data adalah komputer, hard disk,
memori sekunder offline (removable disk, fd), perangkat komunikasi jaringan.
2. Sistem Operasi
Sistem operasi adalah program yang dirancang untuk mengaktifkan sistem komputer dan mengendalikan
seluruh sumber daya yang ada di dalamnya termasuk operasi- operasi dasar komputer. seperti Windows, Unix
dan Linux.
3. Basis Data
Komponen adalah sekumpulan data yang terorganisir dengan baik sehingga data tersebut mudah disimpan,
diakses, dan juga dapat dimanipulasi. Sistem basis data dapat terdiri dari beberapa basis data yang memiliki
data masing- masing.
DBMS adalah software yang berperan dalam mengelola, menyimpan, dan mengambil data kembali. Adapun
mekanisme yang digunakan sebagai pelengkap adalah pengaman data, konsistensi data dan pengguna data
bersama.
Contoh dari DBMS adalah Microsoft Access, MySql, Oracle databse, Sybase, Borland-Interbasi, PostgreSQL
dll.
User adalah salah satu komponen database yang berinteraksi secara langsung dengan database. Ada beberapa
tipe user, diantaranya, programmer aplikasi, User mahir (casual user), user umum (end user) dan user khusus
(specialized user)
Aplikasi ini tergantung kebutuhan, pemakai basis data bisa dibuatkan program khusus untuk melakukan
pengisian, pengubahan atau pengambilan data yang mudah dalam pemakaianya. Program tersebut ada yang
tersedia langsung dalam DBMS atau dibuat menggunakan aplikasi lain seperti misalnya Visual Basic.
MySQL
MySQL adalah sebuah implementasi dari sistem manajemen basisdata relasional (RDBMS) yang
didistribusikan secara gratis dibawah lisensi GPL (General Public License). Setiap pengguna dapat secara
bebas menggunakan MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan produk
turunan yang bersifat komersial.
MySQL dapat pengolah database yang banyak digunakan dan biasa digunakan untuk aplikasi web. untuk lebih
jelasnya mengenai apa itu Mysql teman-teman bisa lihat di sisni.
Oracle
Oracle Database adalah sebuah Sistem Database yang cukup terkenal, Sistem ini telah banyak digunakan oleh
perusahaan-perusahaan terkenal. Oracle Databases bersifat komersial dan dikembangkan oleh Oracle
Corporation. Oracle terbagi menjadi beberapa varian dengan tujuan dan segmen penggunaan yang bermacam –
macam. untuk lebih jelasnya kunjungi halam ini.
Microsoft Access
Microsoft Access dalah sebuah program aplikasi basis data komputer relasional yang ditujukan untuk kalangan
rumahan dan perusahaan kecil hingga menengah. Aplikasi ini merupakan anggota dari beberapa aplikasi
Microsoft Office. untuk lebih jelasnya lihat halaman ini.
Microsoft SQL Server adalah sebuah sistem manajemen basis data relasional (RDBMS) produk Microsoft.
Bahasa kueri utamanya adalah Transact-SQL yang merupakan implementasi dari SQL standar ANSI/ISO yang
digunakan oleh Microsoft dan Sybase. Umumnya SQL
Server digunakan di dunia bisnis yang memiliki basis data berskala kecil sampai dengan menengah, tetapi
kemudian berkembang dengan digunakannya SQL Server pada basis data besar. untuk lebih jelasnya lihat
laman ini.
PostgreSQL
PostgreSQL adalah sebuah sistem basis data yang disebarluaskan secara bebas menurut Perjanjian lisensi BSD.
Piranti lunak ini merupakan salah satu basis data yang paling banyak digunakan saat ini, selain MySQL dan
Oracle. PostgreSQL menyediakan fitur yang berguna untuk replikasi basis data. Fitur-fitur yang disediakan
PostgreSQL antara lain DB Mirror, PGPool, Slony, PGCluster, dan lain-lain
PostgreSQL adalah sistem database yang kuat untuk urusan relasi, open source. Memiliki lebih dari 15 tahun
pengembangan aktif dan sudah terbukti segala rancangan arsitekturnya telah mendapat reputasi tentang kuat,
handal, integritas data, dan akurasi data lihat halam ini.
4.
1. Database planning (Perencanaan basis data)
Adalah aktivitas manajemen yang mendorong tahapan-tahapan dari penerapan sistem basis data untuk dapat
direalisasikan seefisien dan seefektif mungkin. Tahap ini biasanya dimulai dengan mendefinisikan 'mission
statement' dan 'mission objectives. Mission statement berisi tujuan utama dari penerapan sistem basis data. Ini
akan membantu menjelaskan maksud dari diadakannya proyek pengembangan sistem basis data ini. Sedangkan
mission objectives berisi identifikasi terhadap hal-hal atau tugas tertentu yang bisa disupport oleh basis data.
Selain itu dalam tahap perencanaan (planninng) ini juga mencakup tentang pembuatan hal-hal yang akan
menjadi standard seperti, bagaimana data akan didapatkan, bagaimana format yang akan digunakan atau
ditentukan, dokumentasi apa yang diperlukan, bagaimana desain/perancangan dan implementasi akan
dilakukan.
Adalah proses menspesifikasikan ruang lingkup atau batasan dari aplikasi sistem basis data dan user-views
utama. Yang dimaksud 'user-view' adalah apa yang diperlukan dari suatu sistem basis data dari sudut pandang
1) fungsi/peran pekerjaan seseorang, misalnya manajer, supervisor, dsb, atau 2) area pekerjaan atau department
misalnya, marketing, hrd, penjualan, dsb. Dalam pengembangan sistem basis data, user-view bisa saja berisi
satu user-view atau bisa juga banyak user-view, tergantung pada kompleksitas sistem yang akan dibangun.
Dengan mendefinisikan user-view (jika ada lebih dari satu), desainer basis data akan terbantu untuk
memastikan bahwa tidak ada user yang terlupakan dalam membuat requirement dalam sistem basis data yang
sedang dikembangkan.
Adalah proses mengumpulkan dan menganalisa informasi mengenai bagian dari organisasi yang akan didukung
oleh aplikasi sistem basis data, dan menggunakan informasi ini untuk mengidentifikasi kebutuhan pengguna
pada sistem yang baru. Pada umumnya informasi yang dikumpulkan berdasarkan masing-masing 'user-view'.
Informasi yang dikumpulkan antara lain meliputi: deskripsi tentang data yang biasanya dan/atau akan
digunakan, detil-detil bagaimana data akan digunakan, kebutuhan/syarat tambahan untuk sistem basis data yang
baru. Semua informasi dianalisa untuk mengidentifikasi kebutuhan-kebutuhan dan prasyarat untuk sistem basis
data yang baru, yang kemudian di-deskripsikan dalam spesifikasi kebutuhan (requirements specification).
Aktivitas yang tak kalah pentingnya adalah mengelola/me-manage berbagai 'user-view' (bila ada banyak user-
view). Ada beberapa pendekatan dalam me-manage 'user-view', yaitu 1) 'centralized approach', 2) 'view-
integration approach, dan 3) kombinasi dari kedua pendekatan tersebut. Centralized approach adalah apabila
berbagai 'user-view' digabungkan menjadi satu set requirement yang kemudian dibuatkan model datanya pada
dalam tahap berikutnya yaitu tahap desain/perancangan. Jadi berbagai requirement dari masing-masing 'user-
view' digabungkan terlebih dahulu dan kemudian dibuat model datanya di tahap desain/perancangan basis
data. Sedangkan 'view-integration approach', tidak menggabungkan berbagai 'use-view' menjadi satu set
requirement, tetapi membiarkannya tetap sebagai requirement yang terpisah-pisah untuk setiap masing-masing
'user-view'. Jadi setiap masing-masing 'user-view' akan dibuatkan data modelnya dalam tahap berikutnya yaitu
tahap desain/perancangan basis data. Dan setelah dibuatkan model datanya untuk masing-masing 'user-view',
kemudian masing-masing data model itu digabungkan menjadi satu (pada tahap ini atau di tahap
desain/perancangan ini). Data model yang belum digabung (dan masing terpisah-pisah) tadi biasanya disebut
dengan model data lokal (local data model), sedangkan modl data yang gabungan (setelah semua model data
digabung) biasanya disebut dengan model data global (global data model).
Untuk mendapatkan semua informasi yang dibutuhkan tadi, pada umumnya digunakan teknik yang disebut
dengan 'fact finding techniques'. Terdapat lima teknik fact finding yang umum digunakan:
Memeriksa/mengevaluasi dokumen-dokumen Wawancara Terlibat dan mengamati jalannya kegiatan kerja atau
proses bisnis perusahaan
Penelitian melalui google, forum-forum internet, artikel/panduan di internet, informasi dari designer lain yang
sudah sangat berpengalaman, dll.
Kuesioner Informasi yang didapatkan digunakan untuk keperluan seluruh tahapan dalam siklus
pengembangan basis data secara lengkap dari awal sampai akhir. Jadi bukan hanya pada tahap perencanaan,
membuat definisi sistem dan user-view, mengumpulkan kebutuhan dan menganalisa saja. Tetapi sebagian besar
memang informasi yang didapatkan digunakan dalam tahap-tahap itu.
Adalah proses pembuatan rancangan sistem basis data yang mendukung visi dan misi perusahaan. Ada tiga
tahap dalam merancang sistem basis data:
Conceptual database design (perancangan konsep basis data): adalah proses membangun model data yang
digunakan dalam sebuah enterprise, tanpa mempertimbangkan semua pertimbangan fisik dalam sistem basis
data. Fungsi dari tahap ini adalah untuk membuat representasi konseptual dari sistem basis data, termasuk
identifikasi entitas-entitas, relationship/asosiasi antar entitas, dan atribut.
Logical database design (perancangan lojik basis data): adalah proses membuat model data yang digunakan
dalam sebuah enterprise yang didasarkan oleh data model secara lebih spesifik, dan tidak perlu
mempertimbangkan aspek-aspek fisik dari sistem basis data seperti DBMS dan hal-hal fisik lainnya.
Physical database design (perancangan fisik basis data): adalah proses menghasilkan deskripsi dari
implementasi sistem basis data dalam secondary storage, yang menyajikan relasi-relasi dasar/utama, organisasi
file, indeks yang digunakan untuk mencapai akses yang efisien ke data, dan integrity constraint yang saling
berhubungan dan juga hal-hal yang berkaitan dengan keamanan.
Adalah proses memilih DBMS untuk mendukung sistem basis data. Berikut adalah langkah-langkah utama
dalam memilih DBMS:
Menggambarkan cakupan tugas berdasarkan kebutuhan perusahaan
Merekomendasikan pemilihan DBMS dan membuat laporan hasil dari evaluasi produk DBMS tersebut
Adalah perancangan antarmuka pengguna dan program aplikasi yang mengakses dan memroses basis data.
7. Prototyping
Adalah pembuatan model sistem basis data yang bisa digunakan/berjalan, dimana perancang dan pengguna
sistem basis data bisa menggunakannya untuk memvisualisasi dan mengevaluasi bagaimana sistem final akan
terlihat dan berfungsi
8. Implementation (implementasi)
Adalah realisasi fisik dari sistem basis data dan perancangan aplikasi
Adalah proses mengambil data dari sistem yang lama (bila ada sistem lama) ke sistem yang baru, dan kemudian
mengorvensi data untuk diaplikasikan ke sistem yang baru. Bila tidak ada peralihan sistem lama ke sistem baru,
maka akan menggunakan data yang baru.
Adalah proses memonitor dan merawat sistem setelah dilakukan instalasi. Beberapa aktivitas dalam tahap ini
antara lain:
1. Pengumpulan Kebutuhan
klien dan pengembang bersama-sama mendefinisikan format software / perangkat lunak, mengidentifikasikan
kebutuhan dan sistem yang dibuat.
Membangun prototyping dengan membuat perancangan sementara yang berfokus penyajian kepada pelanggan
(contoh membuat input dan format output).
3. Evaluasi Prototyping
Tahap ini dilakukan oleh pelanggan / klien, apakah prototyping yang dibuat / dibangun, sudah sesuai dengan
keinginan dan kebutuhan pelanggan atau belum. Jika tidak sesuai, prototyping akan direvisi dengan
mengulangi langkah-langkah sebelumnya. Tapi jika sudah sesuai, maka langkah selanjutnya akan dilaksanakan.
4. Mengkodekan Sistem
Di tahap ini prototyping yang sudah disepakati diterjemahkan ke dalam bahasa pemrograman yang sesuai.
5. Menguji Sistem
Setelah sistem sudah menjadi suatu software yang siap pakai, maka software harus di tes dahulu sebelum
digunakan. Hal ini bertujuan untuk meminimalisirkan kesalahan software tersebut. Pengujian dilakukan dengan
Black Box, White box, Pengjian arsitektur, Basis path dan lain-lain.
Baca Juga : Macam Macam, Fungsi dan Pengertian Topologi Jaringan Komputer
6. Evaluasi Sistem
Di tahap ini pelanggan / klien mengevaluasi sistem yang sudah dibuat sudah sesuai yang diinginkan. Jika tidak,
maka pengembang akan mengulangi langkah ke 4 dan 5. Tapi jika iya, maka langkah ke 7 akan dilakukan.
7. Menggunakan Sistem
Prangkat Lunak / Software yang telah diuji dan diterima klien / pelanggan siap digunakan.
1. Level internal atau skema internal. Level ini mendifinisikan secara detail penyimpanan basis data dan
pengaksesan data. Pada level ini memuat deskripsi struktur penyimpanan basis data, menggunakan
model data fisikal,
2. Level Konseptual (skema konseptual), memuat deskripsi struktur basis data secara keseluruhan untuk
semua pemakai. Level ini memuat deskripsi tentang entity, atribut, relasi dan konstrain tanpa memuat
deskripsi data secara detail.
3. Level eksternal (skema eksternal atau view), mendefinisikan pandangan data terhadap sekelompok
pemakai (local view) dengan menyembunyikan data lain yang tidak diperlukan oleh kelompok pemakai
tersebut.
Tugas-1b: Model Relasional
1. Jelaskan persyaratan bagaimana sebuah tabel dikatakan sebagai relasi!
2. Jelaskan masalah/anomaly dalam sebuah relasi, berikan contoh dengan tabel!
3. Jelaskan persyaratan kandidat key!
Anomali peremajaan
Anomali ini terjadi bila ada perubahan pada sejumlah data yang mubazir, tetapi tidak seluruhnya diubah.
Contoh : Tabel Pesanan
Anomali Penyisipan
Anomali ini terjadi pada saat penambahan data ternyata ada elemen yang kosong dan elemen tsb justru menjadi
key. Contoh : Tabel Kursus
NoSiswa Kursus Biaya
10 Bhs.Inggris 60000
10 Bhs.Perancis 80000
10 Bhs.Jepang 70000
15 Bhs.Inggris 60000
20 Bhs.Jepang 70000
Misalnya akan dibuka kursus baru yaitu Bhs.Jerman dengan biaya 75000 akan tetapi belum ada seorangpun
yang ikut kursus ini, shg data menjadi : Tabel Kursus
NoSiswa Kursus Biaya
10 Bhs.Inggris 60000
10 Bhs.Perancis 80000
10 Bhs.Jepang 70000
15 Bhs.Inggris 60000
20 Bhs.Jepang 70000
Bhs.Jerman 75000
Anomali penghapusan
Anomali ini terjadi apabila dalam satu baris/ tuple ada data yang akan dihapus sehingga akibatnya terdapat data
lain yang hilang. Contoh pada table kursus data NoSiswa 20 akan dihapus karena sudah tidak ikut kursus lagi
sehingga akibatnya data kursus bhs jepang dan biaya 70000 akan ikut terhapus.
Unique Identifier, untuk setiap row/tuple candidate key harus secara unik dapat menjadi identifier. Artinya,
setiap non candidate key atribut secara fungsional bergantung pada candidate tersebut.
Non Redudancy, tidak ada duplikasi candidate key untuk menjadi unique identifier, dimana tidak dapat
dilakukan penghapusan pada candidate key dimana tidak merusak sifat unique identifier.