Sbd

Post on 28-Sep-2015

215 views 0 download

description

komputer

Transcript of Sbd

BAB IPENGANTAR BASIS DATA

Sistem sebuah kesatuan yang terdiri atas beberapa komponen fungsional (dengan satuan fungsi/tugas khusus) yang saling berhubungan dan bersama-sama bertujuan untuk memenuhi suatu proses/pekerjaan tertentu.Sistem basis data sistem yang terdiri atas kumpulan file (tabel) yang saling berhubungan (dalam sebuah basis data di sebuah komputer) dan sekumpulan program (DBMS) yang memungkinkan beberapa pemakai dan/atau program lain untuk mengakses dan memanipulasi file-file (tabel-tabel) tersebut.

1. Sistem Pemrosesan File/ File Tradisonal

Gambar 1.1. Sistem pemrosesan file untuk suatu Universitas

Keterangan : File mahasiswa : Mhs (npm, nama, alamat, tgl_lahir) MataKul (kd_mk, nama_mk, sks) File MataKuliah : MataKul (kd_mk, nama, sks) Sistem pengelolaan data secara tradisional dengan cara menyimpan record-record pada file-file yang terpisah, yang disebut juga sistem pemrosesan file/berkas. Dimana masing-masing file diperuntukkan hanya untuk satu program aplikasi saja.

Kendala dari sistem pemrosesan file TRADISIONAL1. Program aplikasi yang dibuat harus mengetahui bagaimana berkas disimpan. Perubahan pada berkas data mengharuskan perubahan program aplikasi.2. Jika data digunakan untuk berbagai aplikasi/pemakai maka integritas data sulit dikontrol.3. Timbulnya data rangkap (redundancy data) dan Ketidakkonsistensi data (Inconsistency data) Contoh nama mata kuliah dan sks dari mahasiswa dapat muncul pada suatu file memiliki record-record mahasiswa dan juga pada suatu file yang terdiri dari record-record mata kuliah. Contoh inkonsistensi apabila terjadi perubahan jumlah sks mata kuliah, sedangkan perubahan hanya diperbaiki pada file mata kuliah dan tidak diperbaiki pada file mahasiswa. 4. Kesukaran dalam Mengakses Data 5. Data terisolir (Isolation Data) 6. Masalah Pengamanan ( Security Problem ) Mahasiswa hanya boleh mengakses file mahasiswa. Bagian Mata kuliah hanya boleh mengakses file mata kuliah, tidak boleh mengakses file mahasiswa. 7. Data Dependence Apabila terjadi perubahan atau kesalahan pada program aplikasi maka pemakai tidak dapat mengakses data.

2. Konsep Dasar Sistem Basis Dataa. Pengertian Basis DataBasis Data terdiri atas 2 kata yaitu Basis dan Data. Basis dapat diartikan sebagai markas atau gudang, tempat bersarang/berkumpul. Sedangkan Data adalah representasi fakta dunia nyata yang mewakili suatu objek seperti manusia, barang, hewan, peristiwa, konsep, keadaan dan sebagainya, yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi atau kombinasinya.Basis Data kumpulan data yang terintegrasi atau saling berhubungan satu sama lain yang disimpan sedemikian rupa agar dapat dimanfaatkan kembali dengan cepat dan mudah.

b. Pengertian Sistem Basis DataSistem basis data sistem yang terdiri atas kumpulan file (tabel) yang saling berhubungan (dalam sebuah basis data disebuah sistem komputer) dan sekumpulan program (DBMS) yang memungkinkan beberapa pemakai dan/atau program lain untuk mengakses dan memanipulasi file-file (tabel-tabel) tersebut.

Gambar 1.2. Sistem basis data untuk suatu universitas

Keterangan : Mhs ( Npm, nama, alamat, tgl_lahir ) Mt_kul ( kd_mk, nama_mk,sks ) Perhatikan gambar 1.2 di atas. Pada sistem ini record-record data disimpan pada satu tempat yakni basis data dan diantara program aplikasi maupun pemakai terdapat DBMS (Database Management System). Tabel 1. Perbedaan utama antara pemrosesan berkas dan sistem basis data

Pemrosesan BerkasSistem Basis Data

Pendefinisian DataDefinisi data merupakan bagian dari program aplikasiBasis data sudah berisi definisi atau deskripsi dari data yang disimpan

Pemisahan Program dan DataBerkas menjadi satu dengan program aplikasiBerkas disimpan terpisah dengan program aplikasi

Pemakaian Data BersamaBerkas data diakses bergantianMemungkinkan beberapa pemakai mengakses data yang sama pada waktu bersamaan

3. Penerapan Basis Data1. Industri manufaktur : produksi, stok2. Rumah Sakit : perawatan, rekam medis3. Perpustakaan : peminjaman4. Hotel : reservasi, pembayaran5. Bank : tabungan, pinjaman6. Universitas : kuliah, KRS7. Penerbangan : reservasi, jadwal8. Penjualan : keuangan, stok, Pengelolaan data customer, produk, penjualan. 9. Pabrik : Pengelolaan data produksi, persediaan barang, pemesanan, agen. 10. Kepegawaian: Pengelolaan data karyawan, gaji, pajak. 11. Telekomunikasi : Pengelolaan data tagihan, jumlah pulsa.

KEUNTUNGAN BASIS DATA1. Terkontrolnya kerangkapan data/ Redundansi Data.Data redundansi yaitu munculnya data-data yang sama secara berulang-ulang pada file basis data yang semestinya tidak diperlukan. Sebagai contoh : nim_mhs dan nama_mhs tercatat pada file mahasiswa, file krs dan juga file nilai. Dalam basis data hanya mencantumkan satu kali saja field yang sama yang dapat dipakai oleh semua aplikasi yang memerlukannya. 2. Terpeliharanya keselarasan (kekonsistenan) dataSedangkan Data Inkonsistensi yaitu munculnya data yang tidak konsisten pada tabel yang sama untuk beberapa file dengan kunci yang sama. Sebagai contoh bila mahasiswa tersebut pindah atau lulus studi maka seharusnya ketiga file yang memuat data tersebut harus diubah/diupdate. Bila salah satu saja dari file yang mengandung data tersebut terlewat di update maka terjadilah tidak konsisten tadi. Dalam basis data, apabila ada perubahan data pada aplikasi yang berbeda maka secara otomatis perubahan itu berlaku untuk keseluruhan.3. Kesulitan dalam pengaksesan dataPada suatu saat dibutuhkan untuk mencetak data siapa saja mahasiswa yang mengambil matakuliah basis data, padahal belum tersedia program yang telah ditulis untuk mengeluarkan data tersebut, maka kesulitan tersebut timbul, dan penyelesaian untuk itu adalah kearah DBMS yang mampu mengambil data secara langsng dengan bahasa yang familiar dan mudah digunakan.4. Data dapat dipakai secara bersama (shared) Data dapat dipakai secara bersama-sama oleh beberapa program aplikasi (secara batch maupun on-line) pada saat bersamaan. 5. Dapat diterapkan standarisasi Jika data tersebar dalam beberapa file dalam bentuk format yang tidak sama, maka ini menyulitkan dalam menulis program aplikasi untuk mengambil dan menyimpan data. Maka haruslah data dalam satu basis data dibuat satu format sehingga mudah dibuat program aplikasinya.Dengan adanya pengontrolan yang terpusat maka DBA dapat menerapkan standarisasi data yang disimpan sehingga memudahkan pemakaian, pengiriman maupun pertukaran data. 6. Keamanan data terjamin DBA dapat memberikan batasan-batasan pengaksesan data, misalnya dengan memberikan password dan pemberian hak akses bagi pemakai (misal : modify, delete, insert, retrieve) 7. Terpeliharanya integritas data Jika kerangkapan data dikontrol dan kekonsistenan data dapat dijaga maka data menjadi akurat 8. Terpeliharanya keseimbangan (keselarasan) antara kebutuhan data yang berbeda dalam setiap aplikasi. Struktur basis data diatur sedemikian rupa sehingga dapat melayani pengaksesan data dengan cepat.9. Data independence (kemandirian data). Dapat digunakan untuk bermacam-macam program aplikasi tanpa harus merubah format data yang sudah ada.

b. Kelemahan Sistem Basis Data 1. Memerlukan tenaga spesialis 2. Kompleks 3. Memerlukan tempat yang besar 4. Mahal

5. Struktur Sistem Basis Data Secara KeseluruhanSebuah sistem pengelola basis data (DBMS) umumnya memiliki sejumlah komponen fungsional (modul) yaitu:1) Database Administrator, yaitu orang yang mempunyai kekuasaan sebagai pusat pengontrolan terhadap seluruh sistem baik data maupun program yang mengakses data.2) File Manager, yaitu yang mengelola alokasi ruang dalam disk dan struktur data yang dipakai untuk merepresentasikan informasi yang disimpan dalam disk.3) Database Manager, yaitu yang menyediakan interface antara data low level yang ada di basis data dengan program aplikasi dan query yang diberikan ke sistem.4) Query Processor, yaitu yang menerjemahkan perintah-perintah dalam query language ke perintah low level yang dapat dimengerti oleh database manager. Disamping itu query processor akan mentransformasikan permintaan user ke bentuk yang lebih efisien sehingga query menjadi lebih efektif.5) DML Precompiler, yaitu yang mengkonversi perintah DML yang ditambahkan dalam sebuah program aplikasi ke pemanggilan prosedur normal dalam bahasa induk. Precompiler ini akan berinteraksi dengan query processor.6) DDL Compiler, yaitu yang mengkonversi perintah-perintah DDL ke dalam sekumpulan tabel yang mengandung metadata. Tabel-tabel ini kemudian disimpan dalam kamus data.

KRITERIA YANG HARUS DIPENUHI DALAM BASIS DATA Berorientasi pada data, bukan pada program aplikasi. Ini berarti basis data disimpan secara terpisah dengan program aplikasinya. Data dapat digunakan oleh pemakai/ program aplikasi yang berbeda-beda. Data dalam basis data dapat berkembang dengan mudah kalau volumenya bertambah. Data yang ada dapat memenuhi kebutuhan sistem-sistem baru secara mudah Data dapat digunakan dengan cara yang berbeda-beda, baik program aplikasi atau bahasa query. Tidak boleh ada kerangkapan data. Jika ada harus seminimal mungkin.

BAB IILINGKUNGAN BASIS DATA

1. Arsitektur Basis DataSalah satu tujuan dari sistem basis data adalah untuk menyediakan fasilitas/antarmuka dalam melihat/menikmati data yang lebih ramah kepada pemakai. Tingkat dalam arsitektur basis data menurut ANSI/SPARC dibagi menjadi tiga level yaitu:1. Tingkat Eksternal (Viewl Level) Tingkat eksternal merupakan cara pandang pemakai terhadap basis data. Menggambarkan bagian basis data yang relevan bagi seorang pemakai tertentu. Tingkat eksternal terdiri dari sejumlah cara pandang yang berbeda dari sebuah basis data. Level ini sangat dekat dengan pemakai, setiap user butuh sebagian dari basis data, ada beberapa kelompok pemakai dengan pandangan berbeda butuh data dalam basis data. Cara pandang secara eksternal hanya terbatas pada entitas, atribut dan hubungan antar entitas (relationship) yang diperlukan saja. 2. Tingkat Konseptual (Conseptual Level) Tingkat konseptual merupakan kumpulan cara pandang terhadap basis data. Menggambarkan data apa (what) yang sebenarnya disimpan dalam basis data dan hubungan relasi yang terjadi antara data. Pemakai tidak memperdulikan kerumitan dalam struktur level fisik lagi, penggambaran cukup dengan memakai kotak, garis dan keterangan secukupnya.Hal-hal yang digambarkan dalam tingkat konseptual adalah : semua entitas beserta atribut dan hubungannya batasan data informasi semantik tentang data keamanan dan integritas informasi

3. Tingkat Internal (Physical Level) Tingkat internal merupakan perwujudan basis data dalam komputer. Merupakan level terendah dalam abstraksi data Menunjukkan bagaimana (how) sesungguhnya suatu data disimpan. Pada tingkat ini menggambarkan bagaimana basis data disimpan 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 (dengan ukuran penyimpanan untuk data elemen - penempatan record - pemampatan data dan teknik encryption

2. Data IndependenceTujuan 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. 1. Physical Data Independence Bahwa internal schema dapat diubah oleh DBA tanpa menggangu conceptual schema. Dengan kata lain physical data independence menunjukkan kekebalan conceptual schema terhadap perubahan internal schema. 2. Logical Data Independence Bahwa conceptual schema dapat diubah oleh DBA tanpa menggangu external schema. Dengan kata lain logical data independence menunjukkan kekebalan external schema terhadap perubahan conceptual schema.

Prinsip data independence adalah salah satu hal yang harus diterapkan di dalam pengelolaan sistem basis data dengan alasan-alasan sbb : 1. DBA dapat mengubah isi, lokasi, perwujudan dalam organisasi basis data tanpa mengganggu program-program aplikasi yang sudah ada. 2. Pabrik / agen peralatan / software pengolahan data dapat memperkenalkan produk-produk baru tanpa mengganggu program-program aplikasi yang sudah ada. 3. Untuk memindahkan perkembangan program-program aplikasi 4. Memberikan fasilitas pengontrolan terpusat oleh DBA demi keamanan dan integritas data dengan memperhatikan perubahan-perubahan kebutuhan pengguna.

3. Pengguna Basis Data1. System Engineer, Tenaga ahli yang bertanggung jawab atas pemasangan Sistem Basis Data 2. Database Administrator (DBA), Tugas DBA : Mengontrol DBMS dan software-software Memonitor siapa yang mengakses basis data Mengatur pemakaian basis data Memeriksa security, integrity, recovery dan concurency 3. End User (Pemakai Akhir) a. Programmer aplikasi Pemakai yang berinteraksi dengan basis data melalui Data Manipulation Language (DML), yang disertakan (embedded) dalam program yang ditulis pada bahasa pemrograman induk (seperti C, pascal, cobol, dll) b. Pemakai Mahir (Casual User) Pemakai yang berinteraksi dengan sistem tanpa menulis modul program. Mereka menyatakan query (untuk akses data) dengan bahasa query yang telah disediakan oleh suatu DBMS c. Pemakai Umum (End User / Nave User) Pemakai yang berinteraksi dengan sistem basis data melalui pemanggilan satu program aplikasi permanen (executable program) yang telah ditulis (disediakan) sebelumnya d. Pemakai Khusus (Specialized/Sophisticated User) Pemakai yang menulis aplikasi basis data non konvensional, tetapi untuk keperluan-keperluan khusus seperti aplikasi AI, Sistem Pakar, Pengolahan Citra, dll, yang bisa saja mengakses basis data dengan atau tanpa DBMS yang bersangkutan. 4. Bahasa Basis Data1) Data Definition Language (DDL) Yaitu Bahasa yang digunakan dalam mendefinisikan struktur atau kerangka dari basis data, di dalamnya termasuk record, elemen data, kunci elemen, dan relasinya. Hasil DDL adalah kumpulan tabel yang disimpan dalam file khusus yang disebut kamus data (data dictionary). Kamus data adalah data yang mendeskripsikan data sesungguhnya. Kamus data ini akan selalu diakses dalam suatu operasi basis data sebelum suatu file data yang sesungguhnya diakses.2) Data Manipulation Language (DML)Yaitu perintah-perintah yang digunakan untuk mengubah, memanipulasi, dan mengambil data pada basis data. Manipulasi dapat berupa: - Penyisipan/penambahan data baru ke suatu basis data- Penghapusan data dari suatu basis data- Pengubahan data di suatu basis dataDML pada dasarnya dibagi menjadi dua yaitu: Prosedural, digunakan untuk mendefinisikan data yang diolah dan perintah yang akan dilaksanakan. Non Prosedural, yang membuat pemakai dapat menentukan data apa yang diinginkan tanpa menyebutkan bagaimana cara mendapatkannya.Selain kedua bentuk bahasa basis data diatas, pada kebanyakan sistem basis data sekarang juga terdapat bentuk yang tergolong DCL (Data Control Language) yang berkaitan dengan pengaturan sekuritas terhadap basis data.

5. Konsep DBMSManajemen Sistem Basis Data (Database Management System -DBMS) perangkat lunak yang didesain untuk membantu dalam hal pemeliharaan dan utilitas kumpulan data dalam jumlah besar..KOMPONEN BASIS DATA1. Perangkat keras (hardware)2. Sistem operasi (operating system)3. Basis Data (database), 4. Basis data Management Sytem (DBMS) adalah kumpulan program-program perangkat lunak (software) yang memperbolehkan user untuk membuat dan memelihara basis data. Menyediakan fasilitas berupa :proses defining adalah menspesifikasikan tipe, struktur dan constraint data untuk disimpan dalam basis data. Proses constructing adalah proses menyimpan data ke dalam berbagai macam media penyimpanan yang pengendaliannya diatur oleh DBMS.Manipulating adalah fungsi untuk menampilkan data tertentu (retrieve), mengubah data dan membuat report (laporan) dan data yang ada. Perangakat lunak yang termasuk DBMS seperti dBase III, FoxBase, Ms Access, Borland Interbase, Oracle, Informix, Sybase.

Relational Basis data Management System (RDBMS) adalah sebuah sistem yang secara otomatis menyatukan semua DBMS yang saling berhubungan. 5. Pemakai (user), manusia merupakan elemen penting pada sistem basis data. Ada beberapa jenis/tipe pemakai terhadap suatu sistem basis data yang dibedakan berdasarkan cara mereka berinteraksi terhadap sistem. Pengunaan DMBS untuk mengelola data mempunyai beberapa keuntungan, yaitu : Kebebasan data dan akses yang efisien Mereduksi waktu pengembangan aplikasi Integritas dan keamanan data Administrasi keseragaman data Akses bersamaan dan perbaikan dari terjadinya crashes (tabrakan dari proses serentak).Layanan-layanan yang sebaiknya disediakan oleh database management system adalah : 1. Penyimpanan, pengambilan dan perubahan data 2. Katalog yang dapat diakses pemakai 3. Mendukung Transaksi 4. Melayani kontrol concurrency 5. Melayani recovery 6. Melayani autorisasi 7. Mendukung komunikasi data 8. Melayani integrity 9. Melayani data independence 10. Melayani utility

Arsirektur DBMS Multiuser1. Teleprocessing Beberapa komputer terhubung ke suatu terminal

Gambar 2.2. Arsitektur Teleprocessing

Terminal-terminal tersebut mengirimkan pesan melalui subsistem pengontrol komunikasi pada sistem operasi ke program aplikasi, yang bergantian menggunakan layanan DBMS. 2. File-Server Proses didistribusikan ke dalam jaringan sejenis LAN (Local Area Network). File server mengendalikan file yang diperlukan oleh aplikasi dan DBMS. Meskipun aplikasi dan DBMS dijalankan pada masing-masing workstation tetapi tetap meminta file dari file server jika diperlukan.

Gambar 2.3. Arsitektur File Server

Kerugian arsitektur file-server adalah : Terdapat lalulintas jaringan yang besar Masing-masing workstation membutuhkan copy DBMS Kontrol terhadap concurrency, recovery dan integrity menjadi lebih kompleks karena sejumlah DBMS mengakses file secara bersamaan.

3. Client Server Sesuai dengan namanya, ada sebuah pemroses client yang membutuhkan sumber dan sebuah server yang menyediakan sumbernya. Tidak ada kebutuhan client dan server yang harus diletakkan pada mesin yang sama. Secara ringkas, umumnya server diletakkan pada satu sisi dalam LAN dan client pada sisi yang lain.

Gambar 2.4. Arsitektur Client Server

keuntungan jenis arsitektur ini adalah : Memungkinkan akses basis data yang besar Menaikkan kinerja Jika client dan server diletakkan pada komputer yang berbeda kemudian CPU yang berbeda dapat memproses aplikasi secara paralel. Hal ini mempermudah merubah mesin server jika hanya memproses basis data. Biaya untuk hardware dapat dikurangi Hanya server yang membutuhkan storage dan kekuatan proses yang cukup untuk menyimpan dan mengatur basis data Biaya komunikasi berkurang Aplikasi menyelesaikan bagian operasi pada client dan mengirimkan hanya bagian yang dibutuhkan untuk akses basis data melewati jaringan, menghasilkan data yang sedikit yang akan dikirim melewati jaringan Meningkatkan kekonsistenan Server dapat 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

Tabel 2.1. Fungsi Client ServerClient Server

Mengatur user interface Menerima dan memproses basis data yang diminta dari client

Menerima dan memeriksa sintaks input dari pemakai Memeriksa autorisasi

Memproses aplikasi Menjamin tidak terjadi pelanggaran terhadap integrity constraint

Generate permintaan basis data dan memindahkannya ke server Melakukan query/pemrosesan update dan memindahkan response ke client

Memberikan response balik kepada pemakai Memelihara data dictionary

Menyediakan akses basis data secara bersamaan

Menyediakan kontrol recovery

BAB IIIMODEL DATA ENTITY RELATIONSHIP

Model Data sekumpulan tool konseptual untuk mendeskripsikan data, relasi-relasi antar data, semantic data (makna) data & konsistensi konstrain. Secara umum cara merepresentasikan model data dalam perancangan basis data dapat dibagi dalam 2 kelompok, yakni :1. Model Lojik berdasarkan Objek, yang terdiri dari : Model Keterhubungan Entititas Diagram (Entity Relationship Diagran/ ERD) E-R model didasarkan atas persepsi terhadap dunia nyata yanga terdiri dari sekumpulan objek, disebut entity dan hubungan antar objek tersebut, disebut relationship. Entity adalah objek di dunia yang bersifat unik Model Berorientasi ObjekModel berorientasi objek berbasiskan kumpulan objek. Model Data Semantik Model Data Fungsional2. Model Lojik Data Berdasarkan Record, terdiri dari : Model RelasionalModel relasional menggunakan kumpulan tabel-tabel untuk merepresentasikan data & relasi antar data-data tersebut. Setiap tabel terdiri atas kolom-kolom, dan setiap kolom mempunyai nama yang unik Model HirarkisModel hirarkis biasa disebut model pohon, karena menyerupai pohon yang dibalik. Model ini menggunakan pola hubungan orang tua-anak. Simpul yang terhubung ke simpul pada level di bawahnya disebut orang tua. Setiap orang tua bisa memiliki satu (hubungan 1:1) atau beberapa anak (hubungan 1:M), tetapi setiap anak hanya memiliki satu orang tua. Simpul simpul yang dibawahi oleh simpul orang tua disebut anak.

Model JaringanModel ini menyerupai model hirarkis, dengan perbedaan suatu simpul anak bisa memilki lebih dari satu orang tua. Oleh karena sifatnya demikian, model ini bisa menyatakan hubungan 1:1 (satu arang tua punya satu anak), 1:M (satu orang tua punya banyak anak), maupun N:M (beberapa anak bisa mempunyai beberapa orangtua). Pada model jaringan, orang tua disebut pemilik dan anak disebut anggota.

1. Model ERD (Entity Relationship Diagram)KOMPONEN PEMBENTUK ERD :

a. Entitas (Entity)Entitas adalah sesuatu yang nyata keberadaannya yang dapat dibedakan satu terhadap lainnya. Biasanya berupa orang, tempat, objek, kejadian, konsep atau sesuatu lainnya b. Tipe Entitas dan Instansiasi EntitasTipe Entitas adalah koleksi dari entitas-entitas atau disebut juga dengan himpunan entitas yang berbagi karakteristik yang sama.

MAHASISWA

Gambar 3.1. Contoh sebuah Entitas

Adapun yang dimaksudnya dengan Instansiasi Entitas adalah bentuk nyata tunggal dari tipe (himpunan) entitas, yang ditampilkan dalam bentuk data yang tersimpan di dalam sebuah basis data.Contoh : Instansiasi dari Tipe (himpunan) Entitas Mahasiswa antara lainnya Hendra, Linda, Andi, Eva, dan lain sebagainya.

c. Atribut (Attribute)Suatu Entitas pada umumnya memiliki sejumlah ciri ataupun karakteristik dimana ciri ini dapat digunakan untuk membedakan suatu entitas dengan entitas yang lainnya. Contoh : Atribut dari entitas Mahasiswa adalah : Nim, Nama, TTL, Jenis Kelamin, Hobby, dan Alamat.

Beberapa hal yang perlu diketahui sehubungan dengan atribut adalah penamaan atribut atau penetapan struktur data dalam perancangan basis data serta jenis-jenis atribut. 1. Struktur DataSecara minimal, yang harus ditentukan dalam struktur data adalah: Nama data (atribut/field), Tipe data dan Lebar. Tabel 3.1. Struktur Tabel MahasiswaNama DataTipe DataLebarKeterangan

NIMCharacter10Nomor Induk Mahasiswa

Nama_MhsCharacter15Nama Mahasiswa

TTLDate8Tempat, Tanggal Lahir

Jum_SaudaraInteger2Jumlah Bersaudara

2. Jenis Jenis AtributTerdapat beberapa jenis atribut, antara lainnya adalah :1). Atribut kompositAtribut yang dapat dipecah menjadi beberapa komponen atribut-atribut lainnya. Contoh : Atribut Alamat dapat dipecah menjadi : jalan, kota, dan kode pos.Atribut tersebut antara lainnya digunakan untuk kemudahan dalam menjawab pertanyaan-pertanyaan tertentu pada basis data, Misalnya : Berapa orang yang tinggal di jalan Jenderal Sudirman ?, atau Berapa mahasiswa yang tinggal di Kota Gorontalo ? , dan sebagainya.2). Atribut bernilai banyakAtribut yang memiliki nilai lebih dari satu untuk satu entitas. Contoh : - Atribut Hobby pada entitas MAHASISWA- Atribut Prasyarat pada entitas MATA KULIAH. Dimana kita ketahui bahwa pada seorang mahasiswa biasanya memiliki hobby lebih dari satu. Terdapat pula beberapa mata kuliah prasyarat yang hanya bisa dikontrak oleh mahasiswa yang sebelumnya telah lulus dari satu atau beberapa 3). Atribut turunanAtribut yang nilainya bisa diperoleh dari atribut lainnya.Contoh : Atribut Angkatan yang merupakan turunan dari atribut NIM pada entitas MAHASISWA. Misalnya, pada atribut NIM : 5313-04-001, maka isi data dari atribut Angkatan bisa diperoleh dengan mengambil data dari karakter ke 6 sebanyak 2 digit dari atribut NIM, yakni : 04, yang menyatakan angkatan 2004.4). Atribut pengidentifikasiAtribut yang sangat penting yang harus dimiliki oleh setiap entitas/ kunci utama (primary key).

d. Kunci (Key)Kunci adalah suatu atribut yang unik yang dapat digunakan untuk membedakan suatu entitas dengan entitas yang lainnya dalam suatu himpunan entitas.Terdapat 3 macam kunci yang dapat dijelaskan yakni :1). Kunci Super (Super Key)Superkey adalah satu atau lebih atribut yang yang dimiliki oleh suatu entitas.Misalnya : pada entitas MAHASISWA, yang menjadi superkey adalah : - {Nim} - {Nim, Nama} - {Nim, Nama, Alamat} - {Nim, Nama, Alamat, Ttl}, dsb2). Kunci Kandidat (Candidate Key)Kunci kandidat adalah kumpulan atribut minimal yang unik. Kita dapat menggunakan seminimal mungkin atribut untuk membedakan satu entitas dengan entitas yang lainnya. Kunci kandidat tersebut dapat diambil dari super key entitas. Misalnya pada contoh yang telah ada, yakni pada entitas MAHASISWA, dapat ditentukan yang menjadi kunci kandidat adalah : {Nim} {Nama}, bila kita bisa menjamin tidak ada nilai yang sama {Nim + Nama}, dsb.

3). Kunci Primer (Primary Key)adalah kunci kandidat yang paling unik yang bisa diberi jaminan tidak akan ada nilai yang sama dan cukup ringkas untuk digunakan sebagai pembeda antar entitas.kunci (key) yang sifatnya paling unik dan ringkas dan bernilai tunggal adalah NIM.

e. Relasi (Relationship)Relasi adalah hubungan antara suatu himpunan entitas dengan himpunan entitas yang lainnya. Relasi ini kadang-kadang sulit ditemukan ataupun sulit diterjemahkan, sehingga dapat dikategorikan menjadi tiga, yakni :1. Relasi Keberadaan, seperti : Karyawan mempunyai Anak2. Relasi Fungsional, seperti : Dosen mengajar Mahasiswa3. Relasi Kejadian, seperti : Pelanggan membuat OrderDari adanya relasirelasi yang terbentuk maka ada beberapa hal yang perlu diketahui :1). Atribut Relasi Atribut yang terbentuk dari suatu relasi, yang tidak bisa dijadikan sebagai atribut dari masing-masing entitas yang terbentuk.Contoh : Mahasiswa mengambil Mata Kuliah. Tentunya dalam setiap pengambilan mata kuliah tertentu oleh seorang mahasiswa akan ada Nilai yang dihasilkan atau diharapkan, maka yang jadi pertanyaan, dimanakah atribut tersebut ditempelkan :*Pada entitas MAHASISWA ? berarti semua mahasiswa yang mengambil mata kuliah apapun akan mendapat nilai yang sama.* Pada entitas MATA KULIAH ? berarti semua mata kuliah yang dikontrak oleh mahasiswa siapapun mendapat nilai yang sama.* Pada relasi mengambil adalah jawabannya, sebab atribut ini hadir jika dan hanya jika seorang mahasiswa mengambil mata kuliah.2). Atribut TamuAtribut-atribut utama (primary key) yang berasal dari entitas-entitas yang dihubungkan.Contoh : NIM dan Kode_MatKul, yang berasal dari entitas Mahasiswa dan entitas Mata Kuliah yang diberikan kepada relasi mengambil ketika seorang mahasiswa mengambil sebuah mata kuliah, guna mengetahui secara jelas Mahasiswa mana yang mengambil Mata Kuliah mana, dan sebagainya.3). Kardinalitas RelasiKardinalitas adalah jumlah suatu entitas yang berelasi dengan entitas lainnya dalam suatu himpunan entitas.Kardinalitas relasi dapat dinyatakan pemakaian angka maupun dalam bentuk notasi.Sifat Angka NotasiNol0Satu1BanyakN

a. Satu ke Satu (One to One) 1 : 1Contoh : Setiap entitas pada himpunan entitas GURU yang berhubungan paling banyak dengan satu entitas pada himpunan entitas SISWA dan sebaliknya, dalam konsep Private dimana satu guru private hanya mengajar pada satu siswa dan satu siswa tersebut hanya diajar oleh satu guru. Dalam penggambaran :

Guru Private 1 Guru Private 2Guru Private 3Guru Private 4Siswa 1Siswa 2Siswa 3Siswa 4

Gambar 3.2. Kardinalitas One to One

b. Satu Ke Banyak (One to Many) 1 : NContoh : Setiap entitas pada himpunan entitas GURU Mata Pelajaran dapat berhubungan dengan banyak entitas pada himpunan entitas MURID, tapi tidak berlaku sebaliknya. Dalam konsep Sistem Pendidikan di Sekolah Dasar pada umumnya.

Guru 1Guru 2Guru 3Guru 4Murid 1Murid 2Murid 3Murid 4

Gambar 3.3. Kardinalitas One to Many

c. Banyak ke Banyak (Many to Many) N : NContoh : Setiap entitas pada himpunan entitas DOSEN dapat berhubungan dengan banyak entitas pada himpunan entitas MAHASISWA, dan sebaliknya dapat pula setiap MAHASIWA berhubungan dengan banyak DOSEN. Dalam konsep perkuliahan.

Dosen 1Dosen 2Dosen 3Dosen 4Mahasiswa 1Mahasiswa 2Mahasiwa 4Mahasiswa 3

Gambar 3. 4. Kardinalitas Many to Many

Selanjutnya dalam sebuah kardinalitas memiliki batasan-batasan untuk dapat lebih menspesifikasi jumlah instansiasi yang berpartipisasi untuk tiap entitas dalam sebuah relasi.Misalkan ada 2 buah entitas, A dn B yang terhubungkan oleh suatu relasi. Batasan kardinalitas menspesifikasi jumlah instansiasi B yang dapat atau harus berasosiasi dengan setiap instansiasi entitas A.Contoh : FILM disimpan PITA VIDEOSebuah usaha rental video yang meminjamkan pita video atau film-film, misalnya film Ada Apa Dengan Cinta mungkin memiliki beberapa (lebih dari satu) salinan pita video. Maka sifatnya adalah satu ke banyak (one to many). Tetapi juga dapat pula terjadi usaha rental tersebut mungkin belum memiliki film dengan judul tertentu pada suatu waktu tertentu (misalnya belum dapat masternya atau semua salinan sedang dipinjam oleh pelanggan). Olehnya diperlukan notasi yang jelas untuk menjelaskan rentang kardinalitas untuk relasi tersebut :

1). Kardinalitas minimumJumlah minimum instansiasi entitas B (Pita Video) yang berasosiasi dengan setiap instansiasi entitas A (Film). Pada kasus di atas : Jumlah minimum untuk PITA VIDEO adalah Nol (Rental mungkin tidak memiliki pita video suatu judul Film tertentu, mungkin belum beredar di pasaran atau mungkin film-film lama yang pita videonya sudah tidak ada lagi pada rental tersebut). Jumlah minim untuk FILM adalah satu (sebuah pita video yang ada di rental tersebut yang dipinjamkan kepada pelanggannya pastilah memiliki minimal satu buah judul film, tidak mungkin meminjamkan yang kosong, kecuali pita video kosong yang dijual untuk mengisi data tertentu tapi tidak masuk dalam contoh)

2). Kardinalitas maksimumJumlah maksimum intansiasi entitas B yang berasosiasi dengan setiap instansiasi entitas A. Pada kasus di atas : Jumlah maksimum untuk PITA VIDEO adalah banyak (Rental mungkin memiliki lebih dari satu pita video suatu judul Film tertentu) Jumlah maksimum untuk FILM adalah satu (setiap pita video yang ada di rental tersebut haruslah merupakan salinan dari satu film tertentu)

Tabel 3.2. Simbol Simbol Dasar dalam ERD SimbolKeterangan

EntitasAtributRelasiLink

Adapun penggambaran relasi antar himpunan entitas lengkap dengan kardinalitas relasi dan atribut-atributnya dapat dijelaskan dalam contoh :1). Relasi Satu ke Satu (One to one)Adanya relasi antara himpunan entitas DOSEN dengan himpunan entitas JURUSAN, dengan nama relasi Mengepalai. Pada relasi ini, setiap dosen paling banyak hanya mengepalai satu jurusan (walaupun tidak semua dosen yang menjadi ketua jurusan, tapi setiap jurusan sudah pasti dikepalai oleh paling banyak satu orang dosen).

MengepalaiNIPNama_DosenNIPKd_JurKd_JurNama_JurJURUSANDOSEN

11 1

Gambar 3. 5. Relasi Satu ke Satu (One to one)

Keterangan :Pada masing-masing entitas memiliki 2 buah atribut. Pada entitas Dosen dengan atribut NIP sebagai primary key dan atributNama Dosen. Pada entitas Jurusan dengan atribut Kode Jurusan sebagai primary key dan atribut Nama Jurusan. Dan dua atribut yang terdapat pada relasi mengepalai, yaknik NIP dan Kode Jurusan. Karena kedua atribut tersebut berasal atau milik (karateristik) dari entitas Dosen dan entitas Jurusan maka kedua atribut tersebut dinamakan dengan atribut asing atau kunci tamu (Foreign Key). Adanya kedua atribut tersebut dapat menunjukkan Dosen mana yang mengepalai Jurusan mana (menjadi ketua jurusan) atau sebaliknya dapat diketahui Jurusan mana yang dikepalai oleh seorang Dosen.2). Relasi satu ke banyak (One to many)Adanya relasi antara himpunan entitas Dosen dengan himpunan entitas Mata Kuliah, dengan relasi yang dinamakan Mengajar. Pada relasi ini setiap dosen dapat mengajar lebih dari satu mata kuliah, sedangkan mata kuliah yang diajar paling banyak hanya diajar oleh satu orang dosen saja.

MengajarNIPNama_DosenNIPKd_MkKd_MkNama_MkMATAKULAHDOSEN

N1 Gambar 3.6. Relasi satu ke banyak (One to many)Keterangan :Pada relasi Mengajar terdapat dua atribut tambahan yang berasal dari entitas yang dihubungkan. Hal ini dimungkinkan bahkan umum terjadi. Dengan keempat relasi tersebut dapat diketahui jadwal pelaksanaan setiap mata kuliah serta dosen yang mengajarkannya.3). Relasi banyak ke banyak (many to many)Adanya relasi antara himpunan entitas Mahasiswa dengan himpunan entitas Mata Kuliah, dengan relasi yang dinamakan Mempelajari. Pada relasi ini, setiap mahasiswa dapat mempelajari lebih dari satu mata kuliah , dan sebaliknya sebuah mata kuliah dapat pula dipelajari oleh lebih dari satu orang mahasiswa.

MempelajariNIMNama_MhsNIMKd_MkKd_MkNama_MkMATAKULIAHMAHASISWANN

Gambar 3.7. Relasi banyak ke banyak (many to many)

4). Derajad RelasiAdalah sejumlah entitas yang berparsitipasi dalam suatu relasi. Umumnya ada 3 derajad relasi pada penggambaran diagram E-R : Unary RelationshipRelasi berderajad 1 (Unary Relationship) adalah relasi dimana entitas yang terlibat di dalamnya hanya 1 (satu) buah entitas.Contoh : KARYAWAN menikahi KARYAWAN lainnya ( 1 : 1 )

KARYAWANMenikahi

Gambar 3.8. Unary Relationship ( 1 : 1 )KARYAWAN memimpin KARYAWAN lainnya ( 1 : N )

KARYAWANMemimpin

Gambar 3.9. Unary Relationship ( 1 : N )

KARYAWAN berteman KARYAWAN lainnya (N : N )

KARYAWANBerteman

Gambar 3.10. Gambar 3.9. Unary Relationship ( N : N )

Binary Relations7hipRelasi berderajad 2 sering juga disebut dengan relasi biner (Binary Relationship) adalah relasi yang melibatkan 2 buah entitas. Relasi ini adalah relasi yang banyak ataupun sering terjadi.Contoh :PRIA menikahi WANITA ( 1 : 1 )

PRIAMenikahiWANITA

FAKULTAS mengatur JURUSAN ( 1 : N )

FAKULTASMengaturJURUSAN

DOSEN mengajar MATAKULIAH ( N : N )

DOSENMengajarMATAKULIAH

Gambar 3.11. Binary Relationship (1:1, 1:N dan N:N) Ternary RelationshipRelasi berderajad 3, yaitu relasi tunggal yang menghubungkan 3 entitas yang berbeda.

SUPPLIERMenyediakanGUDANGKOMPONENHarga Per UnitCara PengirimanContoh :

Gambar 3.12. Ternary Relationship

Keterangan : Entitas SUPPLIER dapat menyediakan berbagai (banyak) KOMPONEN ke beberapa (banyak) GUDANG. Kedua atribut pada relasi menyediakan yakni Harga per Unit dan Cara Pengiriman dapat dijelaskan dengan contoh bahwa SUPPLIER X mengirim KOMPONEN C ke GUDANG Y dengan Cara Pengiriman dengan angkutan laut dan Harga per Unit nya sebesar Rp. 1.250.000.5). Relasi GandaAdalah relasi yang lebih dari satu (Multiple Relationship) antara entitas-entitas yang sama.Contoh : relasi DOSEN membimbing MAHASISWA, dan

MembimbingDOSENMAHASISWAMengajarrelasi DOSEN mengajar MAHASISWA

Gambar 3.13. Relasi GandaKeterangan : Cara menafsirkan sama dengan cara menafsirkan 2 relasi biner biasa yang terjadi antara entitas DOSEN dan entitas MAHASISWA, yakni : Relasi DOSEN membimbing MAHASISWAKardinalitas maksimumnya dapat ditentukan sebagai banyak ke banyak (N:N), pada situasi penyusunan proyek tugas akhir, dimana mahasiswa tersebut dibimbing oleh banyak dosen (biasanya 2 dosen pembimbing) dan setiap dosen mungkin membimbing lebih dari satu orang mahasiswa (baik sistem perorangan maupun perkelompok).Kardinalitas minimum di disisi MAHASIWA adalah satu, sebab seorang mahasiswa minimal dibimbing oleh satu orang dosen pembimbing, dan kardinalitas minimum pada sisi DOSEN adalah nol sebab mungkin saja ada seorang dosen yang belum diperkenankan untuk membimbing mahasiswa oleh sebab aturan atau syarat-syarat tertentu. relasi DOSEN mengajar MAHASISWAKardinalitas Maksimumnya sama dengan pada relasi Dosen membimbing Mahasiswa, sebab seorang Dosen biasanya mengajar lebih dari satu orang mahasiswa dan sebaliknya setiap mahasiswa biasanya diajar oleh lebih dari satu orang dosen di mata kuliah yang berbeda atau pada mata kuliah yang sama dengan sistem Team Teaching.Kardinalitas minimumnya, pada sisi MAHASISWA adalah satu, sebab sebuah perkuliahan yang diikutui oleh mahasiswa harus ada Dosen pengajarnya minimal satu orang dosen. Dan pada sisis DOSEN kardinalitas minimumnya adalah nol sebab ada kemungkinan seorang dosen tidak atau belum mengajar seorang mahasiswa pun (misalnya apda kasus dosen baru yang belum berpengalaman atau mungkin dosen yang sedang tugas belajar).

2. Transformasi ER ke model data relasionalTahap transformasi merupakan upaya untuk membangun basis data fisik yang ditempatkan dalam memori sekunder. Adapun tahap untuk transformasi ER ke model data relasional adalah sebagai berikut:Diagram ER : Basis dataEntity: Tabel-tabel/ file-file dataAtribut: FieldTransformasi Dasar Entity Relationship terdiri dari:1. Setiap himpunan entitas (Entity set) : tabelSetiap entity set diubah menjadi tabel dan atribut menjadi fieldnya.

Hasil pemetaan:

Gambar 3.14. Pemetaan himpunan entitas2. Derajat dengan relasi 1 : 1Penggunaan field key dua kali pada satu tabel dengan nama dan fungsi berbeda. Relasi one to one selalu menyertakan dua pilihan peleburan relasi (dalam bentuk penyertaan atribut ke salah satu tabel)3. Derajat dengan relasi 1 : NDibentuk tabel baru yang mendapatkan field dari atribut relasi yang ditambah dengan atribut key dari himpunan entitasnya.

Gambar 3.15. Pemetaan relasi 1 : N

4. Derajat dengan Relasi N : NRelasi many to many maka himpunan relasi akan menjadi tabel tersendiri.

Gambar 3.16. Pemetaan Relasi N : N

3. Contoh aplikasi ERDTabel 3.2. Metodologi ERD Contoh Kasus

1. Menentukan entitas Menentukan peran, kejadian, lokasi, hal nyata

dan konsep dimana penggunaan untuk

menyimpan data

2. Menentukan relasi Menentukan hubungan antar pas angan entitas

menggunakan matriks relasi

3. Gambar ERD sementara Entitas digambarkan dengan kotak, dan relasi

digambarkan dengan garis

4. Isi kardinalitas Menentukan jumlah kejadian satu entitas

untuk sebuah kejadian pada entitas yang

berhubungan

5. Tentukan kunci utama Menentukan atribut yang mengidentifikasikan

satu dan hanya satu kejadian masing-masing

entitas

6. Gambar ERD berdasarkan kunci Menghilangkan relasi many to many dan

memasukkan primary dan kunci tamu pada

masing-masing entitas

7. Menentukan atribut Menentukan field field yang diperlukan

system

8. Pemetaan atribut Memasangkan atribut dengan entitas yang

sesuai

9. Gambar ERD dengan atribut Mengatur ERD dari langkah 6 dengan

menambahkan entitas atau relasi yang

ditemukan pada langkah 8

10. Periksa hasil Apakah ERD sudah menggambarkan system

yang akan dibangun?

Contoh Kasus:

Sebuah perusahaan mempunyai beberapa bagian.Masing-masing bagian mempunyai pengawas dan setidaknya satu pegawai.Pegawai ditugaskan paling tidak di satu bagian (dapat pula dibeberapa bagian).Paling tidak satu pegawai mendapat tugas di satu proyek.Tetapi seorang pegawai dapat libur dan tidak dapat tugas di proyek.

1. Menentukan entitasEntitasnya : pengawas, bagian, pegawai, proyek2. Menentukan relasi dengan matrik relasi Tabel 3.3 Matrik relasi

Bagian Pegawai Pengawas Proyek

Bagian ditugaskan ke dijalankan oleh

Pegawai milik bekerja pada

Pengawas menjalankan

Proyek menggunakan

3. Gambar ERD sementara Hubungkan entitas sesuai dengan matrik relasi yang dibuat

Gambar 3.17. Gambar ERD sementara

4. Mengisi kardinalitas Dari gambaran permasalahan dapat diketahui bahwa: Masing-masing bagian hanya punya satu pengawas Seorang pengawas bertugas di satu bagian -masing-masing bagian ada minimal satu pegawai Masing-masing pegawai bekerja paling tidak di satu bagian Masing-masing proyek dikerjakan paling tidak oleh satu pegawai Seorang pegawai bisa mendapatkan libur

Gambar 3.18. Pengisian kardinalitas

5. Menentukan kunci utama. Kunci utamanya: Nomor Pengawas, Kode Bagian, Nomor Pegawai, Nomor Proyek

Gambar 3.19. Menentukan kunci utama

6. Menggambar ERD berdasarkan kunci. Ada dua relasi many to many pada ERD sementara, yaitu antara bagian dengan pegawai, pegawai dengan proyek, oleh sebab itu kita buat entitas baru yaitu bagian -pegawai dan pegawai-proyek Kunci utama dari entitas baru adalah kunci utama dari entitas lain yang akan menjadi kunci tamu di entitas yang baru.

Gambar 3.20. Menggambar ERD berdasarkan kunci

7. Menentukan atribut Atribut yang diperlukan adalah: nama bagian, nama proyek,nama pegawai, nama pengawas, nomor proyek, nomor pegawai, nomor pengawas.8. Memetakan atribut

Tabel 3.4. Memetakan AtributAtribut Entitas

Nama bagian Bagian

Nama proyek Proyek

Nama pegawai Pegawai

Nama pengawas Pengawas

Nomor proyek Proyek

Nomor pegawai Pegawai

Nomor pengawas Pengawas

9. Menggambar ERD dengan atribut

Gambar 3.21. Menggambar ERD dengan atribut

10. Memeriksa Hasil ERD akhir: untuk pemodelan data pada sistem.

1