Aji Prabowo (40213532)
Gita Aulisari (43213748)
Indah Ramdhayani (44213368)
Meianawati Fitri (45213403)
Paranita Octavani Freedy (46213827)
Steven Wu (48213647)
A. Latar Belakang
Basis data adalah kumpulan
informasi yang disimpan didalam komputer secara sistematik sehingga dapat
diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari
database tersebut. Perangkat lunak yang digunakan untuk mengolah dan mengambil
kueri (query) basis data disebut sistem manajemen basis data. Pemrosesan basis
data sebagai perangkat andalan sangat diperlukan oleh berbagai institusi dan
perusahaan. Dalam pengembangan sistem informasi diperlukan basis data sebagai
media penyimpanan data. Kehadiran basis data dapat meningkatkan Daya saing
perusahaan tersebut. Basis data dapat mempercepat upaya pelayanan kepada
pelanggan, menghasilkan informasi dengan cepat dan tepat sehingga membantu
pengambilan keputusan untuk segera memutuskan suatu masalah berdasarkan
informasi yang ada. Banyak aplikasi yang dibuat dengan berlandaskan pada basis
data antara lain semua transaksi perbankan, aplikasi pemesanan dan penjadwalan
penerbangan, proses regristasi dan pencatatan data mahasiswa pada perguruan tinggi,
aplikasi pemrosesan penjualan, pembelian dan pencatatan data barang pada
perusahaan dagang, pencatatan data pegawai beerta akrifitasnya termasuk operasi
penggajian pada suatu perusahaan, dan sebagainya. Beberapa informasi pada
perusahaan retail seperti jumlah penjualan, mencari jumlah stok penjualan,
mencari jumlah stok yang tersedia, barang apa yang paling lakudijual pada bulan
ini, dan berapa laba bersih perusahaan dapat diketahui dengan mudah dengan
basis data. Pada perpustakaan, adanya aplikasi pencarian data buku berdasarkan
judul, pengarang atau kriteria lain dapat mudah dilakukan dengan basis data.
Pencarian data peminjam yang terlambat mengembalikan juga mudah dilakukan
sehingga bisa dibuat aplikasi pembuatan surat berdasarkan informasi yang tersedia.
Tiga Tingkatan Arsitektur Basis data ANSI-SPARC
Ada 3
tingkat dalam arsitektur database yang bertujuan membedakan cara pandang pemakai terhadap database dan cara
pembuatan databasesecara fisik.
3 tingkatan arsitektur database:
1. Tingkat Eksternal (External Level)
Tingkat eksternal merupakan cara
pandang pemakai terhadap database. Pada tingkat ini menggambarkan bagian databaseyang
relevan bagi seorang pemakai tertentu. Tingkat eksternal terdiri
dari sejumlah cara
pandang yang berbeda
dari sebuah database. Masing-masing pemakai
merepresentasikan dalam bentuk yang sudah dikenalnya. Cara pandang secara
eksternal hanya terbatas
pada entitas, atribut
dan hubungan antar entitas (relationship) yang diperlukan
saja.
Contoh : view dari mahasiswa, view dari
mata kuliah
2. Tingkat Konseptual (Conseptual
Level)
Tingkat konseptual merupakan kumpulan
cara pandang terhadap database. Pada tingkat ini menggambarkan data yang disimpan
dalam databasedan hubungan antara datanya. Hal-hal yang digambarkan dalam tingkat
konseptual adalah :
- semua entitas beserta atribut dan
hubungannya
- batasan data
- informasi semantik tentang data
- keamanan dan integritas informasi
Semua cara pandang pada tingkat
eksternal berupa data yang dibutuhkan oleh pemakai harus sudah tercakup di
dalam tingkat konseptual atau dapat diturunkan dari data yang ada. Deskripsi
data dari entitas pada tingkat ini hanya terdiri dari jenis data dan besarnya atribut
tanpa memperhatikan besarnya penyimpanan dalam ukuran byte.
Contoh : entity, relationship, tipe
data dan constraint.
3 Tingkat Internal (Internal Level)
Tingkat internal
merupakan perwujudan database dalam komputer.
Pada tingkat ini menggambarkan bagaimana databasedisimpan
secara fisik di dalam peralatan storage yang berkaitan erat dengan tempat
penyimpanan/physical storage. Tingkat internal memperhatikan hal-hal berikut
ini :
- alokasi ruang penyimpanan data dan
indeks
- deskripsi record untuk penyimpanan
Contoh : organisasi file secaa sequential, raltive atau index sequential
- penempatan record
- pemampatan data dan teknik
encryption
Data Independence
Tujuan
utama dari 3
tingkat arsitektur adalah
memelihara kemandirian data
(data independence) yang berarti perubahan yang terjadi pada tingkat
yang lebih rendah tidak mempengaruhi tingkat yang lebih tinggi.
Ada 2 jenis data independence, yaitu :
1. Physical Data Independence
bahwa
internal schemadapat diubah oleh DBA tanpa menggangu conceptual schema. Dengan kata
lain physical data
independence menunjukkan
kekebalan conceptual schematerhadap
perubahan internal schema.
Contoh :
- Menambah indeks tambahan
- Merubah penyimpanan data
- Merubah organisasi file dari
sequential ke index sequential
2. Logical Data Independence
bahwa conceptual schemadapat diubah
oleh DBA tanpa menggangu external schema. Dengan kata lain logical data
independencemenunjukkan kekebalan
external schema terhadap perubahan conceptual schema.
Contoh :
- Menambah dan menghapus
suatu tipe record
- Merubah format data
Prinsip data
independence adalah salah satu
hal yang harus
diterapkan di dalam
pengelolaan sistem basis data dengan
alasan-alasan sebagai berikut :
- DBA dapat mengubah isi, lokasi, perwujudan dalam organisasi basis data tanpa mengganggu program-program aplikasi yang sudah ada.
- Pabrik/agen peralatan/softwarepengolahan data dapat memperkenalkan produk-produk baru tanpa mengganggu program-program aplikasi yang sudah ada.
- Untuk memindahkan perkembangan program-program aplikasi
- Memberikan fasilitas pengontrolan terpusat oleh DBA demi keamanan dan integritas data dengan memperhatikan perubahan-perubahan kebutuhan pengguna
Bahasa Dalam DBMS
DBMS (Database
Management systems) adalah
kumpulan program yang mengkoordinasikan semua kegiatan yang
berhubungan dengan database. Dengan adanya berbagai tingkatan
pandangan dalam suatu
database maka untuk mengakomodasikan masing-masing pengguna
dalam piranti lunak
manajemen database biasanya terdapat bahasa-bahasa tertentu yang disebut
Data Sub language. Data sub language
adalah subset bahasa yang dipakai untuk operasi manajemen database. Dalam
penggunaan biasanya dapat ditempelkan (embedded) pada bahasa tuan rumah
(Cobol, PL/1, dsb). Secara umum maka
setiap pengguna database memerlukan bahasa yang dipakai sesuai tugas
dan fungsinya.
Dalam basis data secara umum dikenal 2 data sub language :
1. Data Definition Language (DDL)
Bahasa yang digunakan dalam
mendefinisikan struktur atau kerangka dari database, di dalamnya termasuk
record, elemen data, kunci elemen, dan relasinya
2.
Data Manipulation Language (DML)
Bahasa
yang digunakan untuk
menjabarkan pemrosesan dari
database, fasilitas ini diperlukan untuk memasukkan, mengambil,
mengubah data. DML dipakai untuk operasi terhadap isi database
Ada 2 jenis DML :
a.
Procedural DML
Digunakan untuk
mendefinisikan data yang
diolah dan perintah
yang akan dilaksanakan.
b.
Non Procedural
Digunakan untuk menjabarkan data yang
diinginkan tanpa menyebutkan bagaimana cara pengambilannya. Secara khusus pengguna
menggunakan berbagai bahasa :
Programmer aplikasi
menggunakan bahasa-bahasa seperti
Cobol, Informix, dll
(host language) yang ditempelkan dengan bahasa yang dipakai dalam DBMS.
Pemakai terminal menggunakan bahasa Query
(misal SQL) atau
menggunakan program aplikasi
(yang dirancang oleh programmer). Sedangkan DBA lebih banyak menggunakan
bahasa DDL dan DML yang tersedia dalam DBMS.
DBMS mempunyai tugas untuk menangani
semua bentuk akses kepada database, secara
konsep :
1. Pengguna menyatakan permintaan
akses menggunakan DBMS
2. DBMS menangkap dan menginterpretasikan
3. DBMS mencari :
- eksternal / conceptual mapping
- conceptual schema
- konseptual / internal mapping
- internal schema
4. DBMS melaksanakan operasi yang
diminta terhadap databasetersimpan.
Proses 1 s/d 4 dapat dilakukan secara
interactive atau dicompile dulu.
Fungsi
DBMS
Layanan - layanan yang sebaiknya
disediakan oleh database management systemadalah :
- Penyimpanan, pengambilan dan perubahan data Sebuah DBMS harus menyediakan kemampuan menyimpan, mengambil dan merubah data dalam database.
- Katalog yang dapat diakses, pemakai menyediakan sebuah katalog yang berisi deskripsi item data yang disimpan dan diakses oleh pemakai.
- Mendukung Transaksi, Menyediakan mekanisme yang akan menjamin semua perubahan yang berhubungan Dengan transaksi yang sudah ada atau yang akan dibuat.
- Melayani kontrol concurrency, Sebuah DBMS harus menyediakan mekanisme yang menjamin database ter-update secara benar pada saat beberapa pemakai melakukan perubahan terhadap database yang sama secara bersamaan.
- Melayani recovery, Menyediakan mekanisme untuk mengembalikan database ke keadaan sebelum terjadinya kerusakan pada databasetersebut.
- Melayani autorisasi, Sebuah DBMS harus menyediakan mekanisme untuk menjamin bahwa hanya pemakai yang berwenang saja yang dapat mengakses database.
- Mendukung komunikasi data, Sebuah DBMS harus mampu terintegrasi dengan software komunikasi.
- Melayani integrity
Model Data
Model data
adalah kumpulan konsep
yang terintegrasi yang
menggambarkan data, hubungan
antara data dan batasan-batasan data dala suatu organisasi. Fungsi dari sebuah model
data untuk merepresentasikan data sehingga data tersebut mudah dipahami. Perkembangan
model data merupakan representasi dari suatu reaksi terhadap model-model yang mendahuluinya. Sistem
hierarkhi suatu basis
data merupakan bagian
dari perkembangan yang diciptakan
untuk mengatasi kekurangan
yang ada pada
sistem berorientasikan file (file-oriented). Basis
data jaringan dikembangkan
untuk mengatasi keterbatasan dari
desain hierarkhi. Basis data relasional muncul sebagai solusi baru untuk masalah-masalah
yang muncul pada desain hierarkhi dan desain network dan seterusnya.
1. Model Data Berbasis Objek
Model data berbasis objek menggunakan
konsep entitas, atribut dan hubungan antar entitas. Beberapa jenis model data
berbasis objek yang umum adalah :
- entity-relationship
- semantic
- functional
- object-oriented
2. Model Data Berbasis Record
Pada model data berbasis record,
database terdiri dari sejumlah
record dalam bentuk yang
tetap yang dapat
dibedakan dari bentuknya.
Ada 3 macam
jenis model data berbasis record yaitu :
a. Model data relasional
Model data ini berdasarkan konsep
relasi matematika, data dan relasi yang digambarkan pada sebuah tabel
yang mempunyai kolom
dan baris dimana kolom-kolom tersebut mempunyai nama yang unik.
Contoh :
b. Model data hierarkhi
Model data ini dikenal sebagai model struktur pohon, di mana data
direpresentasikan dalam bentuk pohon. Sebuah database hierarkhi terdiri dari
kumpulan record-record dimana record yang satu dengan yang lainnya dihubungkan
dengan link. Model hierarki mempunyai
dua konsep struktur
data yaitu record dan
parent-child relationship (PCR).
Model data jaringan dikenal sebagai STRUKTUR PLEX. Pada dasarnya struktur jaringan ini merupakan perluasan dari struktur hirarki. Kalau pada struktur hirarki, setiap child hanya mempunyai satu parent. Sedangkan pada struktur jaringan, setiap child dapat mempunyai lebih dari satu parent. Struktur jaringan ini merupakan suatu graph, terdiri dari suatu node (simpul), yang dihubungkan dengan edge.
Ada dua
struktur data Model jaringan, Yaitu RECORD dan SET. Contoh dari model data
jaringan adalah perangkat lunak IDMS (Integrated Database Management System)
yang merupakan produk dari perusahaan perangkat lunak CULLINET yang bekerja
pada mainframe IBM dengan sistem kerja DOS atau MVS.
IDMS
menggunakan sistem CODASYL atau DBTG. IDMS yang dikemukakan oleh DBTG terdiri
atas tiga bahasa basis data yaitu skema DDL, sub skema DDL dan DML.
Arsitektur DBMS Multi User
Teleprocessing
Arsitektur
tradisional untuk sistem multi user adalah teleprocessing, dimana satu komputer
dengan sebuah CPU dan sejumlah terminal seperti pada gambar di bawah ini. Semua
pemrosesan dikerjakan dalam batasan fisik komputer yang sama. Terminal untuk pemakai
berjenis 'dumb', yang
tidak dapat berfungsi
sendiri dan masing-masing dihubungkan ke
komputer pusat. Terminal-terminal tersebut
mengirimkan pesan melalui subsistem pengontrol komunikasi pada
sistem operasi ke program aplikasi, yang bergantian menggunakan layanan DBMS.
Dengan
cara yang sama,
pesan dikembalikan ke
terminal pemakai. Arsitektur
ini menempatkan beban yang
besar pada komputer
pusat yang tidak
hanya menjalankan program
aplikasi tetapi juga harus menyelesaikan sejumlah pekerjaan pada terminal
seperti format data untuk tampilan di monitor.
• contoh : ATM mesin di bank-bank.
Dengan
cara yang sama,
pesan dikembalikan ke
terminal pemakai. Arsitektur
ini menempatkan beban
yang besar pada
komputer pusat yang
tidak hanya menjalankan program aplikasi tetapi juga harus
menyelesaikan sejumlah pekerjaan pada terminal seperti format data untuk tampilan di monitor.
• contoh : ATM mesin di bank-bank.
Client Server
Untuk mengatasi kelemahan
arsitektur-arsitektur di atas
maka dikembangkan arsitektur client-server.
Client-servermenunjukkan cara komponen softwareberinteraksi dalam bentuk sistem. Sesuai
dengan namanya, ada sebuah pemroses
client yang membutuhkan sumber dan sebuah
serveryang menyediakan sumbernya. Tidak ada kebutuhan clientdan server yang harus
diletakkan pada mesin yang sama. Secara ringkas, umumnya serverdiletakkan pada satu sisi
dalam LAN dan client pada sisi yang lain.
Dalam konteks database, client
mengatur interface berfungsi
sebagai workstation tempat menjalankan
aplikasi database. Client menerima permintaan pemakai, memeriksa
sintaks dan generate kebutuhan database
dalam SQL atau
bahasa yang lain.
Kemudian meneruskan
pesan ke server, menunggu response dan bentuk response untuk pemakai akhir. Server menerima dan memproses permintaan database
kemudian mengembalikan hasil ke
client. Proses-proses ini
melibatkan pemeriksaan autorisasi,
jaminan integritas, pemeliharaan data dictionary dan mengerjakan query serta proses update. Selain itu juga menyediakan
kontrol terhadap concurrencydan recovery.
Adapun
beberapa keuntungan jenis arsitektur ini adalah :
- Memungkinkan akses databaseyang besar
- Menaikkan performa
- Jika clientdan serverdiletakkan pada komputer yang berbeda kemudian CPU yang berbeda dapat memproses aplikasi secara paralel. Hal ini mempermudah merubah mesin server jika hanya memproses database.
- Biaya untuk hardware dapat dikurangi
- Hanya server yang membutuhkan storage dan kekuatan proses yang cukup untuk menyimpan dan mengatur database
- Biaya komunikasi berkurang
- Aplikasi menyelesaikan bagian operasi pada client dan mengirimkan hanya bagian yang dibutuhkan untuk akses databasemelewati jaringan, menghasilkan data yang sedikit yang akan dikirim melewati jaringan
- Meningkatkan kekonsistenan
- Serverdapat menangani pemeriksaan integrity sehingga batasan perlu didefinisikan dan validasi hanya di satu tempat, aplikasi program mengerjakan pemeriksaan sendiri
- Map ke arsitektur open-system dengan sangat alami
Berikut ini
adalah ringkasan fungsi client-server
Ada beberapa
jenis model client – server arsitektur yaitu :
- Two Tier
Arsitektur (Arsitektur 2 lapis)
Membagi
proses load kedalam dua bagian. Aplikasi utama secara logika dijalankan/
berjalan pada sisi client yang biasanya mengirimkan request dalam bentuk sintaks SQL kesebuah database
server yang berfungsi sebagai media penyimpanan data. Kita bisa juga
menyebutnya dengan arsitektur fat clientkarena bagian terbesar atau yang utama
dari aplikasi berjalan pada sisi client/ komputer client.
- Three Tier
Arsitektur (Arsitektur 3 lapis)
Membagi
proses loading antara
- komputer client menjalankan graphical user interface (GUI) logic,
- aplikasi server menjalankan business logic, dan
- database dan/ atau legacy application. Karena 3-tier memindahkan application logic ke server sehingga sering juga disebut sebagai arsitektur fat server.
Kesimpulan
Basis data atau juga disebut
database artinya berbasiskan pada data, tetapi secara konseptual, database
diartikan sebuah koleksi atau kumpulan data-data yang saling berhubungan
(relation), disusun menurut aturan tertentu secara logis, sehingga menghasilkan
informasi. Untuk mengelola dan memanggil query basis data agar dapat disajikan
dalam berbagai bentuk yang diinginkan dibutuhkan perangkat lunak yang disebut
Sistem Manajemen Basis Data atau juga disebut Database Management System (DBMS).
Penggabungan Database Management System (DBMS) dengan Basis Data akan membentuk
satu kesatuan yang disebut Sistem Basis Data.
Komponen dasar dalam pembuatan
basis data dengan adanya data, hardware, software, dan user. Istilah- istilah
dalam basis data juga seyogyanya kita tahu, yaitu: enterprise, entitas,
atribut, nilai data, kunci elemen data, record data. Menurut ANSI/SPARC,
arsitektur basis data terbagi atas tiga level yaitu: Internal/ Physical Level,
External/View Level, Conceptual/Logical Level.
Tujuan utama dari arsitektur 3 level tersebut adalah untuk menyediakan data independence yang terbagi dua: Logical Data Independence (kebebasan data secara logika) dan Physical Data Independence (kebebasan data secara fisik). Untuk menggambarkan data pada tingkat eksternal dan konseptual digunakan model data berbasis objek atau model data berbasis record. Bahasa query formal dan komersial adalah bahasa pada model data relasional, yang mana model data relasional merupakan salah satu dari model data berbasis record. Agar terciptanya basis data, maka butuh proses pembuatan.
Langkah-langkah yang dapat diambil dalam perancangan basis data sebagai berikut: mendefinisikan kebutuhan data, rancangan konseptual, rancangan implementasi, rancangan fisik, langkah perbaikan. Suatu teknik untuk mengorganisasikan data ke dalam tabel-tabel untuk memenuhi kebutuhan pemakai di dalam suatu ogranisasi disebut normalisasi. Tujuan normalisasi: untuk menghilang kerangkapan data, untuk mengurangi kompleksitas, untuk mempermudah pemodifikasian data. Sedangkan Tahapan normalisasi: bentuk tidak normal, bentuk normal pertama (1NF), bentuk normal kedua (2NF), bentuk normal ketiga (3NF), bentuk normal boyce-codd (BCNF), bentuk normal keempat (4NF), bentuk normal kelima.
Tujuan utama dari arsitektur 3 level tersebut adalah untuk menyediakan data independence yang terbagi dua: Logical Data Independence (kebebasan data secara logika) dan Physical Data Independence (kebebasan data secara fisik). Untuk menggambarkan data pada tingkat eksternal dan konseptual digunakan model data berbasis objek atau model data berbasis record. Bahasa query formal dan komersial adalah bahasa pada model data relasional, yang mana model data relasional merupakan salah satu dari model data berbasis record. Agar terciptanya basis data, maka butuh proses pembuatan.
Langkah-langkah yang dapat diambil dalam perancangan basis data sebagai berikut: mendefinisikan kebutuhan data, rancangan konseptual, rancangan implementasi, rancangan fisik, langkah perbaikan. Suatu teknik untuk mengorganisasikan data ke dalam tabel-tabel untuk memenuhi kebutuhan pemakai di dalam suatu ogranisasi disebut normalisasi. Tujuan normalisasi: untuk menghilang kerangkapan data, untuk mengurangi kompleksitas, untuk mempermudah pemodifikasian data. Sedangkan Tahapan normalisasi: bentuk tidak normal, bentuk normal pertama (1NF), bentuk normal kedua (2NF), bentuk normal ketiga (3NF), bentuk normal boyce-codd (BCNF), bentuk normal keempat (4NF), bentuk normal kelima.
Daftar Pustaka