Praktikum Basis Data

Untuk mencapai kompetensi yang diinginkan, siswa (orang yang mempelajari basisdata) diharapkan bisa menyelesaikan beberapa materi praktikum yang disajikan pada tabel dibawah ini :
No.MateriDownload
1.Hirarki Basi DataFile01
2.Entity Relationship DiagramFile02
3.NormalisasiFile03
4.Memahami Structure Query Language (SQL)File04
5.Pengenalan Tipe DataFile04
6.Membuat TabelFile04
7.Pengelolaan tabel dan databaseFile04
Share:

Quiz Basis Data 1

Share:

Basis Data Relasional

Pada model relasional, basis data akan “disebar” (dipilah-pilah) kedalam berbagai tabel 2 dimensi. Setiap tabel terdiri atas lajur mendatar yang disebut dengan baris data (row / record), dan lajur vertical yang biasa disebut dengan kolom (columm / field). Di setiap pertemuan baris data dan kolom itulah item-item data (satuan data terkecil) ditempatkan.

Ilustrasi Model Data Relasional Sebelum penerapan basis data dilakukan, lebih dahulu kita harus mengetahui contoh data yang akan digunakan. Contoh data ini harus dianalisis untuk mengetahui karakteristik mengenai masing-masing tabel data. Pengetahuan karakteristik dijadikan dasar untuk penetapan struktur dari masing-masing tabel. Didalam penerapan basis data, penetapan struktur table dilakukan sebelum penyimpanan data. Berikut contoh data yang akan digunakan (data yang ada tidak menggambarkan kenyataan yang sesungguhnya ).

Data pegawai, dengan isi data sebagai berikut:

Karakreristik data pegawai :
  • Memiliki 5 buah kolom data.
  • Kolom pertama berisi data karakter / string dengan lebar (banyaknya karakter) tetap, 8 karakter / digit.
  • Kolom kedua berisi data karakter / string dengan lebar maksimum 25 karakter.
  • Kolom ketiga berisi data tanggal / date.
  • Kolom keempat berisi data karakter / string dengan lebar (banyaknya karakter) tetap, 8 karakter / digit.
  • Kolom kelima berisi data angka dengan lebar tetap 11 digit.
Contoh diatas adalah karakteristik data untuk data pegawai,. Atas dasar karakteristik data tersebut selanjutnya kita bisa membentuk database physical (dengan catatan table – table yang telah terbentuk telah dilakukan normalisasi data).

Berangkat dari mendefinisikan karakteristik tersebut di atas, maka kita dapat menetapkan struktur dari masing-masing table. Secara minimal yang harus ditentukan dalam struktur table adalah :
1). Nama kolom (field / atribut).
2). Tipe data (data type)
3). Lebar (banyaknya karakter / dijit maksimum yang dapat ditampung.
4). Pendefinisian kolom (apakah null atau not null)

Berangkat dari karakteristik yang dapat kita simpulkan dari fakta yang ada dari masing-masing data, struktur dari table barang pada basis data counterhp, yang dapat ditentukan adalah sebagai berikut (struktur dengan MySql) :

Gambar Skema Basis Data Relasional (Basis data Project)


Struktur Table pada Basis data Project :
[1] Struktur Table Divisi

[2] Struktur Table Lokasipro

[3] Struktur Table Pegawai

[4] Struktur Table Pekerjaan

[5] Struktur Table Proyek

[6] Struktur Table Tanggungan

Share:

Bahasa Basis Data

DBMS merupakan perantara bagi pemakai dengan basis data dalam Disk. Cara berkomunkasi / berinteraksi antara pemakai dengan basis data diatur dalam suatu bahasa khusus yang ditetapkan oleh perusahaan pembuat DBMS. Bahasa ini disebut sebagai bahasa basis data yang meliputi sejumlah perintah (statement) yang diformulasikan dan dapat diberikan user dan dikenali / diproses DBMS untuk melakukan suatu aksi / pekerjaan tertentu.

Standarisasi SQL
SQL muncul pertama kali diawal tahun 1970-an sebagai sebuah hasil penelitian pada lab IBM,San Joe, California yang dilakukan oleh Donald C Meserly dan Raymond F Boyce. Versi pertama ini diberikan nama SEQUEL (Structure English Query Language). Rencana awalnya SEQUEL ini akan digunakan dalam DB2 sebagai sebuah produk RDBMS dari IBM. Dikemudian hari IBM memberikan nama lain pada SEQUEL ini dengan nama SQL Hasil penelitian tersebut menarik banyak perhatian, banyak perusahaan yang tertarik untuk membangun RDBMS berdasarkan pada SQL ini. Salah satunya adalah Oracle. Dan Oracle ini dinyatakan sebagai sebuah produk SQL komersial pertama.

Berdasarkan perkembangan hal diatas AmericanNationalStandardInstitute (ANSI) dan InternationalStandardOrganization (ISO) membentuk standar SQL yang dimulai tahun 1986. Standar SQL ini lebih dikenal dengan SQL86. Kemudian SQL86 ini diperbaharui lagi tahun 1992 yang diberi nama SQL92 dan standar berikutnya dikeluarkan tahun 1999 yang dikenal dengan SQL99.

Perkembangan saat ini server-server basisdata tidak mengacu sepenuhnya pada standar SQL tersebut. Masing-masing server basisdata mengembangkan dialek masing-masing. Beberapa dialek SQL ini diantaranya:

[1] PL/SQL
Dibuat oleh Oracle sebagai bahasa procedural berbasis pada SQL yang mengacu pada bahasa pemrograman ADA. PL/SQL ini menjadi bagian utama dalam perkembangan Oracle saat ini.
[2] Transact SQL
Dialek yang dikembangkan oleh Microsoft yang membuat sebuah produk DBMS yang diberi nama Microsoft SQL Server. Transact SQL ini merupakan hasil kerjasama dengan Sybase Adaptive Server.
[3] PL/PgSQL
Seperti juga pada Oracle, PostgreSQL mengembangkan bahasa procedural tersendiri yang lebih jauh berkembang sehingga memungkinkan untuk mengakomodasi ObjectOrientedDatabase Management System

SQL92 membagi secara nyata perintah-perintah SQL ini dalam tiga kategori besar yang diberi nama kelompok : DataManipulationlanguage (DML), DataDefinitionLanguage (DDL) dan DataControlLanguage (DCL).

Pada SQL99 pembagian kategori perintah didasarkan class-class (object) yang terkait satu dengan yang lainnya. Terdapat tujuh kelas dalam SQL99 yaitu: SQLConnection, SQLControl, SQLData, SQLDiagnostic, SQLSchema, SQLSession, SQLTransaction.

Standarisasi SQL berikutnya SQL:2003 yang memperkenalkan ExtendedMarkupLanguange (XML) dan auto-genertorcolumnvalues. Tahun 2006 muncul lagi SQL:2006 yang ditambahkan kemampuan untuk lebih pleksibel dalam pemrograman dasidata didalam web dengan membuat XQuery yang mengabungkan antara SQL dan XML. Terkahir tahun 2008 terdapat standar baru SQL:2008

Deskripsi Bahasa Basisdata
Bahasa basis data umumnya dapat ditempelkan (embbeded) ke bahasa pemrogarman lain, misalkan ditempelkan kedalam bahasa Java,C/C++, Pascal, Basic, Fortran, Ada dan lainnya. Bahasa tempat ditempelkannya instruksi bahasa basisdata disebut sebagai inang (host language). Pada program bahasa inag yang ditempeli kode-kode bahasa basisdata mka saat source program dikompilasi maka source program terlebih dahulu dilewatkan ke pre-kompilator (pre-compiler) yang menterjemahkan instruksi bahasa basisdata menjadi instruksi asli bahasa pemrograman inang.

Setelah itu, kode-kode yang telah dalam bahasa inang dikompilaasi menggunakan kompilator bahasa inang sehingga menghasilkan kode biner yang mengaitkan (link) instruksi – instruksi bahasa basisdata ke pustaka (library) yang berfungsi menghubung DBMS. Hasil – hasil instruksi bahasa basisdata segera ditangkap program bahasa inang dan diolah sesuai keperluan aplikasi.

Selain itu vendor DBMS juga selalu menyertakan fasilitas inteaktif memberi perintah ke DBMS secara langsung. Cara ini umumnya dipergunakan administrator untuk menjalankan tugasnya mengolah seluruh basisdata organisasi.

Komponen Bahasa Basisdata
Berdasarkan fungsinya, bahasa basis data dapat dipilah ke dalam 3 (tiga) bentuk yaitu :
  1. Data Definition Language (DDL)
  2. Data Manipulation Language (DML)
  3. Data Control Language (DCL)

Gambar. SQL Statement

DATA DEFINITION LANGUAGE (DDL) berfungsi menspesifikasikan skema atau struktur basisdata, hasil pernyataan DDL adalah himpunan definisi data yang disimpan secara khusus pada data dictionary (data directory). Termasuk diantaranya : CREATE, DROP, ALTER, dan RENAME.

DATA MANIPULATION LANGUAGE (DML) adalah jenis instruksi SQL yang berkaitan dengan data yang ada dalam tabel, tentang bagaimana menginput, menghapus, memperbaharui serta membaca data yang tersimpan di dalam database. Contoh perintah SQL untuk DML : SELECT, INSERT, DELETE, dan UPDATE. DML berisi sekumpulan operasi manipulasi data pada basisdata, DML biasa disebut bahasa query yaitu bahasa untuk meminta informasi dari basisdata karena komponen paling kompleks di DML adalah operasi query. Sebenarnya DML tidak hanya berisi operasi utnuk query, namun juga meliputi operasi penghapusan, pembaruan dan penyisipan.

DATA CONTROL LANGUAGE (DCL) adalah jenis instruksi SQL yang berkaitan dengan manajemen hak akses dan pengguna (user) yang dapat mengakses database maupun tabel. Termasuk diantaranya : GRANT dan REVOKE.DCL merupakan sub bahasa untuk mengendalikan struktur internal basisdata, DCL untuk menyesuaikan sistem agar supaya lebih efisian dan DCL sangat bergantung pada vendor.

TRANSACTION CONTROL LANGUAGE (TCL) adalah perintah SQL untuk proses transaksi. Proses transaksi ini digunakan untuk perintah yang lebih dari 1, namun harus berjalan semua, atau tidak sama sekali. Misalnya untuk aplikasi critical seperti transfer uang dalam sistem database perbankan. Setidaknya akan ada 2 perintah, yaitu mengurangi uang nasabah A, dan menambah uang nasabah B. Namun jika terjadi kesalahan sistem, kedua transaksi ini harus dibatalkan. Tidak bisa hanya satu perintah saja. Termasuk ke dalam TCL adalah perintah : COMMIT, ROLLCABK, dan SET TRANSACTION

Data Manipulation Language (DML)
Bentuk bahasa basis data untuk melakukan menipulasi dan pengambilan data pada suatu basis data. Manipulasi data pada dabase dapat berupa :
1). Penyisipan / penambahan data pada file / table dalam suatu basis data.
2). Penghapusan data pada file / table dalam suatu basis data.
3). Pengubahan data pada file / table dalam suatu basis data.
4). Penelusuran data pada file / table dalam suatu basis data.

Pada level phisik kita harus mendefinisikan alghoritma yang memungkinkan pengaksesan yang efisien terhadap data. Pada level yang lebih tinggi yang dipentingkan bukan efisien akses, tapi juga efisiensi interaksi pemakai dengan sistem.

DML merupakan bahasa yang bertujuan memudahkan pemakai untuk mengakses data sebagaimana direpresentasikan oleh model data. Ada 2 (dua) jenis DML adalah sebagai berikuit :
1). Prosedural, yang mensyaratkan pemakai menentukan, data apa yang diinginkan serta bagaimana cara mendapatkannya.
2). Nonprosedural, yang membuat pemakai dapat menentukan data apa yang diinginkan tanpa menyebutkan bagaimana cara mendapatkannya.

Contoh paket bahasa prosedural DML : dBase, FoxBase, sedang untuk Nonprosedural DML : SQL (Structure Query Language), QBE (Query By Example). Query adalah pernyataan yang diajukan untuk mengambil informasi di dalam suatu basis data. Query merupakan bagian dari DML yang untuk pengambilan informasi disebut Query Language.

Berikut ini adalah contoh penggunakan perintah query dengan menggunakan database MySql, dapat dilihat pada gambar berikut ini :

Perintah Query (SQL) :
Hasil Query

Gambar Hasil Perintah Query dengan DBMS MySql


Pengguna Database
Basis data yang telah diciptakan yang terdiri dari beberapa table yang saling berkaitan, tentunya harus dimanfaatkan oleh para pengguna. Di dalam suatu basis data terdapat beberapa pengguna, antara lain adalah:
1. Database Manager
Database manager adalah satu modul program yang menyediakan interface antara penyimpanan data low-level dalam database dengan satu aplikasi program dan query yang diajukan ke sistem.
Tugas dan tanggungjawab database manager: a.Interaksi dengan manager file b.Integritas c.Keamanan d.Bakcup dan recovery
2. Database Administrator
Orang yang mempunyai kekuasaan sebagai pusat pengontrolan terhadap seluruh sistem baik data maupun program yang mengakses data disebut sebagai database administrator.
Fungsi database administrator: a.Mendefinisikan pola struktur database. b.Mendefinisikan struktur penyimpanan dan metode akses. c.Mampu memodifikasi pola dan organisasi phisik. d.Memberikan kekuasaan pada user untuk mengakses data. e.Menspesifikasikan keharusan integritas data
3. Database User
Ada 4 macam pemakai database yang berbeda keperluan dan cara aksesnya, yaitu : 1. Programmer Aplikasi, 2. Casual User (user mahir), 3. User Umum (end user), dan 4. User khusus (specialized user).


Interaksi User Pada Sistem Basisdata


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, dan lain-lain).
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.
PEMAKAI UMUM (END USER / NAÏVE USER)
Pemakai yang berinteraksi dengan sistem basis data melalui pemanggilan satu program aplikasi permanen (executable program) yang telah ditulis (disediakan) sebelumnya (yang telah dibuat oleh programmer).
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, dan lain-lain, yang bisa saja mengakses basis data dengan atau tanpa DBMS yang bersangkutan.
Share:

Database Management System (DBMS)

Database Management System (DBMS) dan Aplikasi Basis Data
DBMS merupakan perangkat lunak utama dalam pengelolaan dan pengolahan basis data. DBMS-lah yang menetukan bagaimana basis data dikelola dan diorganisasi secara fisik dalam media penyimpan perangkat komputer. Jika dimanfaatkan dalam jaringan komputer, maka DBMS pula berperan dalam menerapkan mekanisme keamanan (security) dan mengontol penggunaan pada waktu yang sama.

Sebuah Sistem Pengelola Basis Data (Database Management System) terbagi atas modul-modul yang masing-masing memiliki tanggung jawab dalam membentuk Struktur Sistem Basis Data secara keseluruhan. Beberapa fungsi-fungsi dalam sistem pengelola basis data mungkin telah disediakan oleh sistem operasi.
Kelengkapan fungsi/modul antara DBMS yang satu dengan yang lain bisa berbeda, baik dari sisi kualitas maupun kuantitasnya. DBMS sederhana, seperti dBase, Paradox atau MS. Access tidak mengakomodasi pemakaian basis data oleh banyak pemakai. Tetapi dengan DBMS semacam Oracle, Sybase atau MS-SQL-Server, hal tersebut terakomodasi dengan baik.

Sebuah DBMS umumnya memiliki sejumlah modul fundamental yaitu :
  • DML Compiler
  • DML Precompiler
  • DDL Interpreter
  • Query Evaluation Engine
  • File Manager
  • Buffer Manager
Untuk DBMS dengan fasilitas/fitur yang lebih lengkap, tentu saja masih ada sejumlah modul lain, seperti modul untuk mengelola keamanan data (security), menjaga integritas data, serta melakukan penggandaan data (backup). Pemanfaatan basis data melalui DBMS hanya bermanfaat secara langsung bagi para pemakai mahir (casual user) ditandai dengan menerapkan sejumlah operasi pengolahan dan manipulasi basis data (operasi basis data), namun demikian operasi basis data tersebut berbeda di antara jenis pemakai. Pemakai akhir (end user) tidak bersentuhan langsung dengan objek basis data, tetapi lebih banyak bersinggungan dengan aktivitas nyata yang memang terjadi di mana sistem basis data itu diterapkan seperti pemasukan data transaksi penjualan, akuntansi, pencetakan laporan harian/bulanan, penutupan data transaksi bulanan dll.

Pada level implementasi, perbedaan tersebut dijembatani oleh adanya perangkat lunak aplikasi yang khusus untuk dapat digunakan oleh para pemakai akhir (end user). Aplikasi ini akan menyediakan sejumlah operasi (menu) yang sesuai dengan aktivitas nyata yang memang dilakukan oleh end user. Selanjutnya pilihan operasi user ini akan ‘diterjemahkan’ oleh aplikasi tersebut menjadi sejumlah operasi basis data elementer yang memang dapat dikenali/dikerjakan oleh DBMS. DBMS yang besar seperti Oracle, SQL-Server, Informix, IBM-DB2 dirancang sejak awal berdiri sendiri dan terpisah dari aplikasi basis data. Karena berdiri sendiri, banyak sekali fasilitas (feature) yang ditangani oleh DBMS ini, seperti masalah pemeliharaan integritas data, mekanisme backup data secara periodik dan recovery data, pengendalain pemakaian data secara multiuser (concurrency control), mekanisme pengamanan pemakaian (security mechanism) dan lain-lain.


Gambar Aplikasi Basis Data yang Terpisah dari DBMS

Perangkat lunak semacam dBaseIII+, FoxBase, MS-Access dapat saja kita golongkan sebagai DBMS jika ditinjau dari sisi fungsinya secara umum yaitu mengelola basis data, walaupun memang fasilitas tambahan yang tersedia tidak selengkap yang ada pada DBMS besar atau bahkan tidak ada sama sekali. DBMS tersebut juga berfungsi sebagai tool pembangun aplikasi basis data selain berfungsi sebagai pengelola basis data. Aplikasi basis data yang dibuat akan menyatu dengan DBMS pada saat pemakaiannya. DBMS seperti ini hanya cocok untuk sistem stand alone


Gambar Aplikasi Basis Data yang menjadi Sub-Ordinate DBMS

Penyimpanan data dalam bentuk DBMS mempunyai banyak manfaat dan kelebihan dibandingkan dengan penyimpanan dalam bentuk flat file atau spreadsheet, diantaranya :
  1. Performa yang dapat dengan penyimpanan dalam bentuk DBMS cukup besar, sangat jauh berbeda dengan performance data yang disimpan dalam bentuk flat file. Disamping memiliki unjuk kerja yang lebih baik, juga akan didapatkan efisiensi penggunaan media penyimpanan dan memori
  2. Integritas data lebih terjamin dengan penggunaan DBMS. Masalah redudansi sering terjadi dalam flat file. Redudansi adalah kejadian berulangnya data atau kumpulan data yang sama dalam sebuah database yang mengakibatkan pemborosan media penyimpanan.
  3. Independensi. Perubahan struktur database dimungkinkan terjadi tanpa harus mengubah aplikasi yang mengaksesnya sehingga pembuatan antarmuka ke dalam data akan lebih mudah dengan penggunaan DBMS.
  4. Sentralisasi. Data yang terpusat akan mempermudah pengelolaan database. Kekonsistenan data yang diakses secara bersama-sama akan lebiih terjamin dari pada data disimpan dalam bentuk file atau worksheet yang tersebar.
  5. Keamanan. DBMS memiliki sistem keamanan yang lebih fleksibel daripada pengamanan pada file sistem operasi. Keamanan dalam DBMS akan memberikan keluwesan dalam pemberian hak akses kepada pengguna.
Ragam jenis DBMS
Beberapa software atau perangkat lunak DBMS yang sering digunakan dalam membuat aplikasi program basis data dan sangat populer antara lain adalah MySQL, MS SQL Server, Oracle, IBM DB/2, dan PostgreSQL. Sementara di pasaran terdapat sejumlah software DBMS baik yang komersial atau open source antara lain adalah sebagai berikut: :
  1. DBMS yang bersifat komersial: 4th Dimension, Dataphor, Daffodil database, DB2, FileMaker Pro, FrontBase, Informix, InterBase, Matisse [1], Microsoft Access, Microsoft SQL Server, Microsoft Visual FoxPro, Mimer SQL, Netezza, NonStop SQL, Oracle, Progress 4GL, Sand Analytic Server (sebelumnya dikenal sebagai Nucleus), SmallSQL, Sybase Adaptive Server Anywhere (sebelumnya dikenal sebagai Watcom SQL), Sybase Adaptive Server Enterprise, Sybase Adaptive Server IQ, Teradata, ThinkSQL [2], VistaDB, VMDS.
  2. DBMS yang bersifat open source: antara lain : Cloudscape, Derby, Firebird, H2, HSQLDB, Ingres, MaxDB, MonetDB, MySQL, PostgreSQL, SQLite, tdbengine
Share:

Entitas dan Atribut

Entitas memiliki peranan penting dalam sistem basis data. Entitas adalah sesuatu yang dapat digambarkan oleh data. Menurut Mulyanto(2008), Entitas adalah individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain. Dapat berupa suatu elemen dari suatu lingkungan, suatu sumber daya atau sebuah transaksi yang memiliki arti penting bagi suatu model yang akan dibangun.

1. Jenis-Jenis Entitas
Terdapat himpunan entitas yang tidak memiliki atribut-atribut pembentuk kunci utama. Himpunan entitas tersebut disebut himpunan entitas lemah (weak entity set). Selain itu juga terdapat himpunan entitas yang mempunyai kunci utama. Himpunan ini disebut himpunan kuat (strong entity set). Entitas dikategorikan ada 2 jenis :
  • Entitas kuat, yaitu entitas yang keberadaanya tdk tergantung entitas lain.
  • Entitas lemah, yaitu entitas yang bergantung oleh keberadaan entitas lain.
Agar himpunan entitas lemah berarti, himpunan entitas lemah harus diasosiasikan dengan entitas yang kuat atau disebut sebagai himpunan entitas pemilik. Setiap himpunan entitas lemah bergantung keberadaannya (existence dependent) pada himpunan entitas yang mengidentifikasi.

Contoh:
  • Entitas Transaksi bergantung adanya entitas Rekening.
  • Entitas Pekerjaan (task) bergantung adanya Proyek.
Entitas yang berdiri sendiri dapat mempunyai satu identifier unik yang mengidentifikasi entitas-entitas itu. Identifier dari entitas yang bergantung selalu berupa identifier majemuk (composite identifier) dimana salah satu bagian identifier adalah identifier induknya.
Kunci utama himpunan entitas lemah dibentuk dari kunci utama himpunan entitas pengidentifikasi ditambah diskriminator (discriminator) himpunan entitas lemah. Diskriminator (discriminator) himpunan entitas lemah adalah himpunan yang memberikan tanda pembedaan terhadap entitas-entitas di himpunan entitas lemah itu. diskriminator (discriminator) himpunan entitas lemah juga disebut kunci parsial himpunan entitas.

2. Jenis-Jenis Atribut Pada Sebuah Entitas
Atribut memberikan informasi lebih rinci mengenai jenis entitas. Atribut memiliki struktur internal, yaitu tipe data. Jenis-jenis atribut dijelaskan sebagai berikut:
Atribut Key Atribut Key adalah satu atau gabungan dari beberapa atribut yang dapat membedakan seluruh baris data ( Row/Record ) dalam table. Atribut ini bersifat unik. Hal ini dikarenakan pada atribut yang dijadikan key tidak boleh ada baris data dengan nilai yang sama
Contoh : Nomor pokok mahasiswa (NPM), NIM dan nomor pokok lainnya
Atribut Simple Atribut yang bernilai atomic dalam artian tidak dapat dipecah/ dipilah lagi
Contoh : Alamat, penerbit, tahun terbit, judul buku.
Atribut Multivalue Nilai dari suatu attribute yang memiliki lebih dari satu nilai (multivalue) dari atrribute terkait.
Contoh : dari sebuah buku, yaitu terdapat beberapa pengarang.
Atribut Composite Atribut composite adalah atribut yang tersusun dari beberapa atribut yang lebih kecil dan mempunyai arti tertentu. Atribut ini dapat dipecah lagi atau memiliki sub attribute.
Contoh : dari entitas nama yaitu nama depan, nama tengah, dan nama belakang
Atribut Derivatif Atribut yang tidak harus disimpan pada basis data atau atribut yang dihasilkan dari atribut lain maupun dari suatu relasi.
Contoh : Total. Atribut ini dilambangkan dengan bentuk oval yang bergaris putus-putus
Atribut Harus Bernilai
(mandatory attribute)
Atribut harus bernilai adalah atribut yang harus memiliki nilai, sehingga dapat dikatakan tidak boleh bernilai kosong.
Contoh : no_identitas dan nama_customer harus ada nilainya dalam tabel customer.
Atribut Nilai Null
( non-mandatory attribute )
Atribut nilai null adalah atribut yang nilainya boleh kosong (tidak memiliki nilai). Dapat digunakan untuk menyatakan/mengisi atribut-atribut yang nilainya memang belum siap atau nilainya tidak ada. Nilai null tidak sama dengan spasi.
Atribut Turunan Atribut turunan adalah atribut-atribut yang nilai-nilainya berasal dari pengolahan atau diturunkan dari atribut tabel lain yang berhubungan. Atribut ini dapat ditiadakan dari sebuah tabel, karena nilainya bergantung pada nilai yang ada di atribut lain.
3. Menentukan Primary Key Pada Entitas
“Primary Key” adalah field kunci / utama dari suatu tabel yang menandai field dimana field tersebut tidak bisa diisi dengan data yang sama, / dengan kata lain Primary key menjadikan tiap record memiliki identitas atau nilai yang unik. Primary Key berfungsi untuk memudahkan menampilkan record hasil pencarian (searching), pengurutan (sorting), dan berbagai operasi query lainnya.
Dengan memilih primary key operasi query berlangsung lebih cepat. Satu tabel tidak boleh memiliki lebih dari satu primary key. Hal ini dikarenakan primary key merupakan variabel data yang menjadi identitas utama dari tabel tersebut. Contoh penerapan primary ditunjukkan pada table berikut :
KodeMp Mp
P02001 Basis Data
P01001 Jaringan Komputer Dasar
P02002 Pemrograman Web dan Perangkat Bergerak
P02003 Pemrograman Berorientasi Objek
P03003 Pemrograman Berorientasi Objek
P02004 Produk Kreatif dan Kewirausahaan
P03004 Produk Kreatif dan Kewirausahaan
Dari gambar tersebut dapat diamati bahwa masing-masing data dibedakan berdasarkan kolom KodeMp (Kode Mata Pelajaran). Ini berarti nilai pada KodeMp harus bersifat unik. Berikut merupakan aturan dalam pembuatan Primary Key adalah:
  1. Tabel hanya memiliki satu primary key
  2. Primary key tidak menggunakan bertipe BLOB
  3. Nilai primary key bersifat unik dan tidak bernilai NULL
Setiap tabel dapat memiliki satu atau lebih field yang bernilai unik. Field – field tersebut memiliki kemungkinan menjadi Primary Key dan disebut sebagai Candidate Key. Key yang diperoleh dari beberapa field key disebut Composite Key.

Contoh penerapan Primary Key pada tabel Pegawai yang memiliki field :
  • no induk
  • No ktp
  • Nama
  • Tempat lahir
  • Tanggal lahir
  • Alamat
  • Kota
No induk dan no ktp adalah Candidate Key dan untuk kunci utama (primary key) adalah salah satu yang dipilih dari candidat key. Misalnya salah satu yang dipilih menjadi primary key adalah No. Induk, maka primary key nya adalah no induk.

Sumber :
Mulyanto. 2008. Rekayasa Perangkat Lunak. Kemdikbud
Share:

Normalisasi Basis Data

1. Normalisasi Basis Data
Normalisasi adalah suatu teknik untuk mengorganisasi data ke dalam tabel-tabel untuk memenuhi kebutuhan pemakai di dalam suatu organisasi. Tujuan dari normalisasi itu sendiri antara lain untuk menghilangkan kerangkapan data, untuk mengurangi kompleksitas, dan untuk mempermudah pemodifikasian data. Normalisasi merupakan teknik analisis data yang mengorganisasikan atribut-atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang non-redundant, stabil, dan fleksible. Normalisasi dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi itu sudah baik, yaitu dapat dilakukan proses insert, update, delete, dan modifikasi pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut.

Setiawan (2015) mengungkapkan bahwa normalisasi adalah proses mendesain struktur Database dan teknik analisis data yang mengorganisasikan atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang non-redundant, stabil, serta fleksibel sehingga menghasilkan sebuah table yang normal. Ada juga yang berpendapat normalisasi adalah proses penyusunan tabel – tabel yang tidak redundan (dobel), yang dapat menyebabkan anomali yaitu proses basis data yang memberikan efek samping yang tidak diharapkan (misalnya menyebabkan data tidak konsisten atau membuat data hilang ketika data yang lain dihapus).

Normalisasi database biasanya difungsikan untuk memastikan bahwa database yang dibuat berkualitas sangat baik. Tahap Normalisasi dimulai dari tahap paling ringan (1NF) hingga yang paling ketat (5NF). Biasanya hanya sampai pada tingkat 3-NF (Bentuk Normal Ketiga) , karena sudah cukup memadai untuk menghasilkan tabel-tabel yang berkualitas baik. Selanjutnya merancang DAD dengan Program EasyCase yang disebut juga Diagram Alir Data (DAD) yang terdiri dari: Diagram Context (DAD Konteks Sistem), terkadang ada yang menyebut diagram konteks sebagai diagram level 0 sampai Diagram Level (level 0,1, 2, 3, dst), dapat digambarkan dengan program case tool disertai Kamus Aliran Data yang mendeskripsikan data yang mengalir dalam aliran data.

Jika data dalam database tersebut belum di normalisasi maka akan terjadi 3 kemungkinan yang akan merugikan sistem secara keseluruhan:
  1. INSERT Anomali : Situasi dimana tidak memungkinkan memasukkan beberapa jenis data secara langsung di database.
  2. DELETE Anomali: Penghapusan data yang tidak sesuai dengan yang diharapkan, artinya data yang harusnya tidak terhapus mungkin ikut terhapus.
  3. UPDATE Anomali: Situasi dimana nilai yang diubah menyebabkan inkonsistensi database, dalam artian data yang diubah tidak sesuai dengan yang diperintahkan atau yang diinginkan.
Adapun tujuan kita melakukan proses normalisasi database :
  1. Untuk menghilangkan dan mengurangi redudansi data.
  2. Memastikan dependensi data (Data berada pada tabel yang tepat).
  3. Mengeliminasi adanya duplikasi informasi.
  4. Memudahkan pengubahan struktur tabel.
  5. Memperkecil pengaruh perubahan struktur database.
2.Penerapan Normalisasi Basis Data
Proses Normalisasi antara lain:
  • Data diuraikan dalam bentuk tabel, selanjutnya dianalisis berdasarkan persyaratan
  • tertentu ke beberapa tingkat.
  • Apabila tabel yang diuji belum memenuhi persyaratan tertentu, maka tabel tersebut perlu dipecah menjadi beberapa tabel yang lebih sederhana sampai memenuhi bentuk yang optimal.
Tahapan Normalisasi menurut Setiawan (2015) antara lain:
1) Bentuk Tidak Normal
Bentuk ini iyalah kumpulan data yang akan direkam, tidak ada keharusan mengikukti format tertentu, bisa saja data tidak lengkap atau terduplikasi (rangkap). Contoh pada Tabel Pelanggan Biaya sebagai berikut:

Tabel. Pelanggan Biaya
No_pelanggan Nama No_property Almt_property Tgl_pinjam Tgl_selesai Biaya No_pemilik Nama_pemilik
CR76 Badi PG4 Jl.Aai/07, Jakarta 1-Jul-93 31-Aug-95 350 CO40 Ewin
PG16 Jl. Huzai/12, Jakarta 1-Sep-96 1-Sep-96 450 CO93 Durki
CR56 Sirajuddin PG4 Jl.Aai/07, Jakarta 1-Sep-92 10-Jun-93 350 CO40 Ewin
PG36 Jl. Azhar /49, Jakarta 10-Oct-93 1-Dec-94 375 CO93 Durki
PG16 Jl. Huzai/12, Jakarta 1-jan-95 10-Aug-95 450 CO93 Durki
Untuk mentransformasikan tabel yang belum ternomalisasi di atas menjadi table yang memenuhi kriteria 1NF adalah kita harus merubah seluruh atribut yang multivalue menjadi atribut single value, dengan cara menghilangkan repeating group pada tabel diatas. Repeating Group (elemen data berulang) adalah (No_Property, Alamat_Property,Tgl_Pinjam, Tgl_Selesai, Biaya, No_Pemilik, Nama_Pemilik).

2) Bentuk Normal Pertama (1NF)
Ciri-cirinya adalah Setiap data di bentuk dalam flat file dan Tidak ada set atribut yang berulang –ulang. Membentuk sebuah tabel menjadi Un-Normalized, dengan mencantumkan data yang ada pada semua field. Membentuk Normal Pertama (1 Normal First) dengan flat table yang memisahkan data pada field-field yang tepat bernilai atomik, dan yang melengkapi atribut/ field yg ada.
Syarat normal ke satu (1-NF) antara lain:
  • Pada setiap data dibentuk dalam sebuah flat file, data dibentuk dalam satu demi satu record, nilai dari field itu berupa “atomic value”.
  • Tidak ada set atribute yang berulang(duplikat).
  • Ditentukannya primary key untuk tabel / relasi.
  • Tiap atribut hanya memiliki satu pengertian.
Langkah pertama yang dilakukan pada Tabel Pelanggan Biaya (pada Tabel 1) tersebut adalah menghilangkan elemen data yang berulang dengan data-data Pelanggan yang sesuai pada setiap baris. Hasil dari tabel yang telah memenuhi bentuk normal pertama dapat dilihat pada Tabel 2. kita dapat mengidentifikasi primary key untuk relasi Pelanggan_Biaya yang masih memiliki composite key (No_Pelanggan, No_Property).

Pada kasus ini kita akan memperoleh primary key yang bersifat composite key. Relasi Pelanggan_Biaya dapat didefinisikan sebagai berikut. Pelanggan_Biaya =(No_Pelanggan, No_Property, Nama, Alamat_Property, Tgl_Pinjam, Tgl_Selesai, Biaya,No_Pemilik, Nama_Pemilik). Berikut ditunjukkan pada Tabel berikut :
Tabel. Pelanggan Biaya
No_pelanggan Nama No_property Almt_property Tgl_pinjam Tgl_selesai Biaya No_pemilik Nama_pemilik
CR76 Badi PG4 Jl.Aai/07, Jakarta 1-Jul-93 31-Aug-95 350 CO40 Ewin
CR76 Badi PG16 Jl. Huzai/12, Jakarta 1-Sep-96 1-Sep-96 450 CO93 Durki
CR56 Sirajuddin PG4 Jl.Aai/07, Jakarta 1-Sep-92 10-Jun-93 350 CO40 Ewin
CR56 Sirajuddin PG36 Jl. Azhar /49, Jakarta 10-Oct-93 1-Dec-94 375 CO93 Durki
CR56 Sirajuddin PG16 Jl. Huzai/12, Jakarta 1-jan-95 10-Aug-95 450 CO93 Durki
3) Bentuk Normal Kedua (2NF)
Bentuk normal kedua ini iyalah didasarinya atas konsep full functional dependency (ketergantungan fungsional sepenuhnya) yang dapat didefinisikan.
Syarat normal kedua (2-NF) sebagai berikut.
  • Bentuk data ini telah dapat memenuhi kriteria bentuk normal yang pertama.
  • Atribute bukan Primary key (bukan kunci utama) haruslah memiliki ketergantungan fully functional dependency (fungsional sepenuhnya) pada primary key.
Adapun kita bisa melakukan Bentuk normal kedua (2NF) jika :
  • Harus telah berbentuk normal pertama (1NF).
  • Pada sebuah tabel semua atribut yang tidak termasuk dalam primary key memiliki ketergantungan fungsional pada primary key secara utuh. Suatu atribut dikatakan ketergantungan fungsional jika harga pada atribut tersebut menentukan harga dari atribut yang lain.
Tabel contoh bentuk tabel N2
No_pelanggan Nomor property Tgl_pinjam Tgl_selesai
CR76 PG4 1-Jul-93 31-Aug-95
CR76 PG16 1-Sep-95 1-Sep-96
CR56 PG416 1-Jan-95 10-Aug-95
CR56 PG36 10-Oct-93 1-Dec-94
CR56 PG4 1sEP-95 10-Jun-93
No_pelanggan Nama No_property Almt_property Biaya No_pemilik Nama_pemilik
CR76 Badi PG4 Jl.Aai/07, Jakarta 350 CO40 Ewin
CR76 Badi PG16 Jl. Huzai/12, Jakarta 450 CO93 Durki
CR56 Sirajuddin PG4 Jl.Aai/07, Jakarta 350 CO40 Ewin
CR56 Sirajuddin PG36 Jl. Azhar /49, Jakarta 375 CO93 Durki
CR56 Sirajuddin PG16 Jl. Huzai/12, Jakarta 450 CO93 Durki
4) Bentuk Normal Ketiga (3NF)
Walaupun relasi 2-NF memiliki redudansi yang lebih sedikit dari relasi 1-NF, namun relasi tersebut masih mendapat kemungkinan mengalami kendala bila terjadi anomaly peremajaan (update) terhadap relasi tersebut.
Syarat normal ketiga (Third Normal Form / 3 NF) sebagai berikut:
  • Bentuk data ini telah dapat memenuhi kriteria bentuk normal yang kedua.
  • Atribute bukan primary key harus tidak memiliki ketergantungan pada transitif, artinya suatu atribut bukan primary key itu tidak boleh memiliki ketergantungan fungsional (functional dependency) pada atribut yang bukan Primary key lain, seluruh atribut bukan primary key pada suatu relasi hanya memiliki ketergantungan fungsional terhadap primary key yang di relasikan saja.
Berikut contoh penerapan 3NF :
Tabel Contoh bentuk tabel N3
No_pelanggan Nama No_property Almt_property Biaya No_pemilik Nama_pemilik
CR76 Badi PG4 Jl.Aai/07, Jakarta 350 CO40 Ewin
CR76 Badi PG16 Jl. Huzai/12, Jakarta 450 CO93 Durki
CR56 Sirajuddin PG4 Jl.Aai/07, Jakarta 350 CO40 Ewin
CR56 Sirajuddin PG36 Jl. Azhar /49, Jakarta 375 CO93 Durki
CR56 Sirajuddin PG16 Jl. Huzai/12, Jakarta 450 CO93 Durki
No_pemilik Nama_pemilik
CO40 Ewin
CO93 Durki
CO40 Ewin
CO93 Durki
CO93 Durki
5) Bentuk Normal Boyce-Codd (BCNF)
Menghilangkan Ketergantungan Multivalue

6) Bentuk Normal Keempat (4NF)
Syarat 4-NF iyalah:
  • Bila dan hanya bila telah berada dalam bentuk BCNF dan tidak ada multivalued dependency nontrivial.
  • Multivalued dependency (MVD) dipakai dalam bentuk normal keempat ( 4NF ).
  • Dependensi ini dipakai untuk menyatakan hubungan satu ke bantak (one to many).

7) Bentuk Normal Kelima (5NF)
Dependensi gabungan mendasari bentuk pada normal kelima. Suatu relasi R (X,W,Z)dapat memenuhi dependensi gabungan dan jika gabungan dari proyeksi A, B, C dengan A, B, C merupakan sub sub himpunan dari atribut – atribut R. Dependensi gabungan di atas sesuai dengan notasi beikut :
  • (A, B, C )
  • dengan A = XY, B = YZ, C = ZX

Belajar Normalisasi Database 1NF, 2NF dan 3NF Bagian 1

Belajar Normalisasi Database 1NF, 2NF dan 3NF Bagian 2

Sumber:
http://www.gurupendidikan.com/pengertian-basis-data-dan-normalisasi-lengkap: Pengertian Basis Data dan Normalisasi Lengkap. Diakses pada 13 Juli 2016. Oleh: Setiawan Parta.
Share:

Entity Relationship Diagram (Erd)

Entity Relationship Diagram (ERD) merupakan suatu model untuk menjelaskan hubungan antar data dalam database berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi. ERD dalam bentuk gambar atau simbol yang mengidentifikasi tipe dari entitas di dalam suatu sistem yang diuraikan dalam data dengan atributnya, dan menjelaskan hubungan atau relasi diantara entitas tersebut (Mulyanto, 2008).
ERD dibuat untuk menggambarkan atau membuat model suatu database dengan diagram yang sederhana sehingga memudahkan dalam membuat sebuah database yang kompleks maupun yang sederhana. Dengan ERD ini juga akan memudahkan pengguna dalam hal ini orang yang merancang database tersebut dalam membuat perubahan didalam database jika sewaktu-waktu terjadi. Banyak tools perancangan basis data menggunakan konsep ini.


Ada sejumlah konvensi mengenai Notasi ERD. Notasi klasik sering digunakan untuk model konseptual. Berbagai notasi lain juga digunakan untuk menggambarkan secara logis dan fisik dari suatu basis data, salah satunya adalah IDEF1X. Contoh ERD ditunjukkan pada Gambar berikut :


Gambar Contoh Entity Relationship Diagram (ERD)

1. Komponen Penyusun ERD
Salah satu cara dalam pemodelan ERD adalah harus membuat gambar simbol dan beberapa notasi yang menunjukkan makna desain ERD yang terdiri dari Entitas, Atribut, dan juga Relasi.
  1. Entitas. Entitas atau Entity merupakan suatu objek unik dan dapat diwujudkan ke dalam basis data. Dalam proses visualisasi ERD, simbol entitas biasanya diwujudkan dalam bentuk persegi panjang dalam posisi horizontal.
  2. Atribut. Atribut berfungsi untuk memberikan informasi yang lebih rinci mengenai entitas, hal ini dikarenakan setiap entitas memiliki elemen yang berfungsi memberikan deskripsi karakteristik. Atribut digambarkan dengan simbol elips.
  3. Relasi. Relasi atau Relationship (hubungan) adalah pola yang dipergunakan dalam ERD dalam menghubungkan antar entitas, umumnya digambarkan dalam bentuk garis lurus di mana kedua ujungnya menyentuh simbol-simbol entitas sebagai tanda penghubung.
Komponen – komponen lebih lengkap mengenai ERD ditunjukkan pada Gambar sebagai berikut.


Gambar Notasi ERD

2.Contoh penerapan ERD
Penerapan ERD ditunjukkan pada dibawah. Gambar tersebut menjelaskan mengenai hubungan entitas mahasiswa yang mengambil KRS berdasarkan sajian mata kuliah.


Contoh Penerapan Entity Relationship Diagram (ERD)

Umumnya urutan metodologi ERD dapat dijelaskan secara singkat pada tabel berikut :

1 Penentuan entitas Menentukan peran, kejadian, lokasi, dan konsep bagaimana menggunakan penyimpanan data
2 Penentuan relasi Menentukan hubungan antar-pasangan entitas dengan matriks relasi
3 Gambar ERD sementara Entitas digambarkan dengan kotak, sedangkan relasi digambarkan dengan garis
4 Isi kardinalitas Menentukan banyaknya kejadian suatu entitas untuk kejadian entitas yang berhubungan
5 Penentuan primary key Menentukan atribut yang digunakan untuk mengidentifikasikan satu dan hanya satu kejadian pada setiap entitas
6 Penggambaran ERD berdasarkan kunci Menghilangkan relasi many to many dan memasukkan primary dan kunci tamu pada masing-masing entitas
7 Penentuan atribut Menentukan field-field yang diperlukan sistem
8 Pemetaan atribut Memasangkan atribut dengan entitas yang sesuai
9 Penggambaran ERD dengan atribut Mengatur ERD dari langkah 6 dengan menambahkan entitas atau relasi yang ditemukan pada langkah 8
10 Periksaan atau evaluasi hasil ERD sudah menggambarkan sistem yang akan dibangun atau belum
Sumber:
  • H W Herwanto.2016.Sumber Belajar Penunjang PLPG 2016 Mata Pelajaran/Paket Keahlian Rekayasa Perangkat Lunak : Bab XV-ER Diagram. Kementerian Pendidikan Dan Kebudayaan Direktorat Jenderal Guru Dan Tenaga Kependidikan
  • http://www.infokah.com/cara-membuat-erd-tahapan-dan-studi-kasus/ : Cara Membuat ERD Tahapan dan Studi Kasus.
  • http://ruherdi.blogspot.co.id/2013/06/kardinalitas-dalam-erd.html: Kardinalitas Dalam ERD.
  • https://www.academia.edu/5734373/Dfd_erd_kardinalitas_normalisasi_.DOC?auto=download: Behavior Models, Specifying User’s Expectations, Oleh Kowal, James
Share:

Model Data

Model Data, yaitu sekumpulan cara/perkakas/tool untuk mendeskripsikan data-data, hubungan satu sama lain, semantiknya serta batasan konsistensinya. Terdapat beberapa model basis data, diantaranya yaitu model hirarki, model jaringan, model relasional dan model berorientasi objek. Model-model tersebut memiliki karakteristik yang berbeda.

1. Model Basis Data Hierarki
Model basis data hierarki adalah model basis data yang menyerupai bentuk pohon dari atas ke bawah. Lapisan paling atas adalah induk bagi lapisan yang berada di bawahnya yang disebut anak. Struktur pohon mewakili model hierarki pada penyimpanan komputer. Lapisan anak/ bawah hanya boleh memiliki satu lapisan induk yang ditunjukkan pada Gambar berikut :


Gambar Struktur Model Basis Data Hierarki (Darmawiguna, 2014)

Keuntungan dari model hierarki ini, yaitu :
  • Dari segi konseptual model ini adalah model yang sederhana Keamaan basis data terjamin
  • Pengaturan terhadap integritas data mudah dilakukan
  • Lebih efisien apabila digunakan untuk basis data berskala besar
Model hierarki juga memiliki kekurangan dalam implementasinya. Kekurangan dari model ini, adalah :
  • Implementasi sangat rumit
  • Pengelolaan yang sukar
  • Terjadi redudancy data

2. Model Basis Data Jaringan
Model basis data jaringan merupakan pengembangan dari model hierarki. Dalam model ini record-anak dapat memiliki lebih dari satu record induk. Sehingga antara record –anak dan record-induk terdapat penghubung yang dapat bekerja secara searah ataupun dua arah.Kelebihan dari model ini , yaitu :
  • Dapat menangani lebih banyak macam relasi dibandingkan dengan model hierarki
  • Akses data lebih fleksibel
  • Lebih mudah menangani data yang kompleks
  • Akses data lebih cepat
  • Mudah membentuk query yang kompleks untuk keperluan retrieve data
  • Meningkatkan integritas basis data
Model jaringan juga memiliki kelemahan mengenai beberapa hal. Kelemahan tersebut, yaitu :
  • Modifikasi struktur basis data sulit dilakukan
  • Sistem lebih rumit
  • Perubahan struktur basis data yang telah terdefinisi akan berpengaruh terhadap program yang mengakses basis data
Berikut merupakan gambaran dari model jaringan yang ditunjukkan pada Gambar dibawah :


Gambar Struktur Model Basis Data Jaringan (Darmawiguna, 2014)

3. Model Basis Data Relasional
Model basis data relasional adalah model basis data yang sering digunakan. Model ini memiliki prinsip yang didasarkan pada teori-relasional. Berkas data digambarkan dengan tabel dua dimensi yang memiliki baris dan kolom. Tabel dapat membuat relasi dengan tabel lain dengan menggunakan kunci. Gambaran model relasional ditunjukkan pada Gambar berikut :


Gambar Struktur Model Basis Data Relasional (Darmawiguna, 2014)

Kelebihan model relasional , yaitu :
  • Data sangat cepat diakses
  • Mudah melakukan perubahan terhadap struktur basis data
  • Data dipresentasikan secara logis
  • Mudah dalam mengimplementasikan integritas data
  • Data lebih akurat
  • Sudah menggunakan structure query language (SQL)
Kekurangan dari model ini, yaitu :
  • Pada tabel yang berbeda harus dilakukan joined untuk retrieve data
  • Pengguna harus memahami struktur dan prinsip kerja SQL
  • Pengguna harus memahami relasi antar tabel

4. Model Basis Data Berbasis Objek
Model basis data dimana data didefinisikan, disimpan dan diakses menggunakan pemrograman berorientasi objek (Darmawiguna, 2014). Prinsip dari model basis data ini adalah adanya encapsulasi pada setiap data dimana data diibaratkan sebagai objek yang berada dalam kapsul masing-masing sehingga objek satu dengan yang lain saling terpisah. Model ini didefinisikan dengan menggunakan bahasa pemrograman berorientasi objek yaitu bahasa Java. Gambaran model basis data berorientasi objek ditunjukkan pada Gambar :


Gambar Struktur Model Basis Data Berorientasi Object (Darmawiguna, 2014)

Kelebihan dari model basis data berorientasi objek, yaitu :
  • Programmer hanya perlu memahami konsep orientasi objek untuk dapat menggabungkan konsep orientasi objek dengan basis data relasional
  • Sifat pewarisan dapat diterapkan dari satu objek ke objek lain, sehingga lebih efisien
  • Model data berorientasi objek lebih kompatibel dengan pemrograman berorientasi objek
Kekurangan model basis data berorientasi objek, yaitu pengguna harus memahami konsep orientasi objek. Hal ini dikarenakan metode ini tidak dapat digunakan pada metode pemrograman tradisional
Share:

Cara Pandang (Abstraksi) Data

Pada dasarnya pengguna system basis data adalah orang-orang yang tidak/kurang terlatih di bidang teknologi computer, pengembang seharusnya menyembunyikan kompleksitas system dari pengguna. Ini bias dilakukan dengan menyediakan beberapa peringkat abstraksi yang bertujuan untuk menyederhanakan interkasi penggunan dengan system. Beberapa peringkat abstraksi adalah sebagai berikut :
  1. PERINGKAT FISIK. Peringkat terendah dari yang mendeskripsikan bagaimana data sesungguhnya disimpan dalam media penyimpanan fisik seperti hardisk, pita magnetic dan sebagainya. Peringkat fisik mendeskripsikan struktur data peringkat rendah yang kompleks secara terperinci, misalnya struktur data yang digunajan, pola representasi bit yang digunakan dan sebagainya.
  2. PERINGKAT LOGIKA. Peringkat logika adalah Abstraksi yang mendeskripsikan data yang disimpan di basis data dan hubungan di antara data-data tersebut; serta mendeskripsikan basis data dengan struktur yang relative sederhana.
  3. Pada peringkat ini, pengguna tidak perlu mengetahui kerumitan dari struktur fisik yang kompleks.
  4. PERINGKAT PENGGUNA. Peringkat pengguna menyederhanakan interaksi pengguna dengan system. Peringkat pengguna yang sering dijumpai adalah antarmuka pengguna grafis (Garphical User Interface/GUI) pada perangkat lunak aplikasi basis data.

Gambar. Tiga Peringkat Abstraksi Data

Share:

Hierarki Basis Data

Arsitektur basis data merupakan serangkaian pengetahuan tentang pemodelan data. Pengetahuan tentang File, table, field, record indeks, abstraksi data dan serangkaian konsep yang digunakan untuk membuat diskripsi struktur basis data. Melalui diskripsi Struktur basis data dapat ditentukan jenis data, hubungan dan konstrain (keterbatasan) data yang ditangani. Dalam basis data, data diorganisasikan kedalam bentuk elemen data (field), rekaman (record), dan berkas (file). Definisi dari ketiganya adalah sebagai berikut:
  • Elemen (kolom atau field) data adalah satuan data terkecil yang tidak dapat dipecah lagi menjadi unit lain yang bermakna. Misalnya data siswa terdiri dari NIS, Nama, Alamat, Telepon atau Jenis Kelamin.
  • Rekaman (record) merupakan gabungan sejumlah elemen data yang saling terkait. Istilah lain dari record adalah baris atau tupel.
  • Berkas(file) adalah himpunan seluruh record yang bertipe sama
Struktur hirarki sebuah database dapat digambarkan dalam diagram hirarki sebagai berikut :


Gambar Struktur Hirarki Sistem Basis Data


Gambar Struktur Penyimpanan File dan Table dalam Basis Data

Share:

Sejarah Perkembangan Basis Data


Share:

Keunggulan Penggunaan DBMS

1) Kemandirian Program dan Data
Pemisahan deskripsi data (metadata) dari program aplikasi yang menggunakan data tersebut dinamakan kemadirian data (data independence). Dengan pendeaktan basis data, deskripsi data disimpan di lokasi terpusat yang dinamakan repository. Karakteristik system basis data ini mengizinkan organisasi data berubah (sampai batas-batas tertentu) tanpa mempengaruhi program aplikasi yang memproses data tersebut (tidak memerlukan pemrograman ulang/reprogramming).
2) Mengurangi Pengulangan Data (Redudansi) yang tidak perlu.
Sasaran perancangan dengan pendekatan basis data adalah menyatukan berkas-berkas data pada suatu struktur logika yang tunggal. Setiap fakta primer direkam hanya pada satu tempat di basis data. Misalny, dari contoh di atas, IP seorang mahasiswa hanya tersimpan pada table mahasiswa. Pendekatan basis data tentu saja tidak menghilangkan redudansi data sama sekali, tetapi mengizinkan perancang secara hati-hati mengendalikan redudansi. Sebagai contoh (gambar 1.4), setiap NIM pada table Pengambilan MataKuliah harus berpasangan dengan NIM pada table Mahasiswa. Hal ini menegaskan bahwa ada relasi antara table mahasiswa dan table Pengambilan MataKuliah.
3) Memperbaiki Konsistensi Data.
4) Memperbaiki Kesempatan Berbagi Data (Data Sharing).
5) Menambah Produktivitas Pengembangan Program Aplikasi.
6) Memaksakan Standar.

Share:

Karakteristik Pendekatan Basis Data

Cara Pandang Data
Pada dasarnya pengguna system basis data adalah orang-orang yang tidak/kurang terlatih di bidang teknologi computer, pengembang seharusnya menyembunyikan kompleksitas system dari pengguna. Ini bias dilakukan dengan menyediakan beberapa peringkat abstraksi yang bertujuan untuk menyederhanakan interkasi penggunan dengan system. Beberapa peringkat abstraksi adalah sebagai berikut :

1) PERINGKAT FISIK. Peringkat terendah dari yang mendeskripsikan bagaimana data sesungguhnya disimpan dalam media penyimpanan fisik seperti hardisk, pita magnetic dan sebagainya. Peringkat fisik mendeskripsikan struktur data peringkat rendah yang kompleks secara terperinci, misalnya struktur data yang digunajan, pola representasi bit yang digunakan dan sebagainya.
2) PERINGKAT LOGIKA. Peringkat logika adalah Abstraksi yang mendeskripsikan :
  • data yang disimpan di basis data dan hubungan di antara data-data tersebut.
  • Basis data dengan struktur yang relative sederhana
Pada peringkat ini, pengguna tidak perlu mengetahui kerumitan dari struktur fisik yang kompleks.
3) PERINGKAT PENGGUNA. Peringkat pengguna menyederhanakan interaksi pengguna dengan system. Peringkat pengguna yang sering dijumpai adalah antarmuka pengguna grafis (Garphical User Interface/GUI) pada perangkat lunak aplikasi basis data.

Gambar. Tiga Peringkat Abstraksi Data

Share:

Sistem Pengolahan Data Dengan Pemrosesan Berkas

Secara perlahan, lewat kemampuannya yang semakin tinggi, computer memasuki dunia bisnis. Agar bermanfaat untuk aplikasi-aplikasi bisnis, computer harus dapat menyimpan, memanipulasi serta memanggil berkas (file) data yang berukuran sangat besar. Sistem pemrosesan berkas berbasis computer dikembangkan untuk kebutuhan ini. Meskipun secara perlhan, system pemrosesan berkas berevolusi, struktur dan kegunaannya hanya berubah sedikit dalam beberapa decade ini.

Beberapa alasan yang perlu diketahui tentang system pemrosesan berkas :
  • System pemrosesan berkas masih digunkan hingga saat ini, terutama untuk system pencadangan (backup) dan recovery basis data.
  • Pemahaman permasalahan dan keterbatasan pada system pemrosesan berkas dapat membantu kita menyelesaikan masalah-masalah yang sama (atau mirip) yang mungkin kita jumpaipada perancangan system basis data

   

Gambar. Sistem Pemrosesan Berkas di Perusahaan X


Karakteristik Pemrosesan Berkas
Gambar diatas merupakan system pemrosesan berkas pada perusahaan X. Dapat dilihat bahwa pendekatan system berfokus pada pemrosesan data yang diperlukan untuk setiap departemen secara individual (setiap departemen diperlakukan sedemikian rupa seolah-olah mereka merupakan unit-unit bisnis mandiri tanpa saling terkait), dimana setiap program atau system hanya dikembangkan untuk memenuhi kebutuhan sebagian departemen yang membutuhkannya.

Berkas yang sama (berkas Master Pelanggan) perlu digandakan untuk memenuhi kebutuhan pemrosesan data pada dua system yang berbeda (Sistem Pemesana dan Sistem Faktur). Akibatnya jika ada perubahan pada satu berkas di suatu system, perubahan itu mungkin tidak tercermin pada berkas yang sama yang digunakan di system lain sehingga nilai data-data dan informasi-informasi yang sama mungkin tidak konsisten di sutu berkas dan di berkas lainnya.

Kekurangan Sistem Pemrosesan Berkas
  • Kebergantungan program dan data
  • Duplikasi data
  • Keterbatasan berbagi data
  • Proses pengembangan membutuhkan waktu yang lama
  • Kesulitan dalam pemeliharaan

Share:

Konsep Dasar Basis Data

Secara umum, Sistem Basis Data didefinisikan sebagai koleksi dari data-data yang terorganisasi sedemikian rupa sehingga data mudah disimpan dan dimanipulasi (diperbarui, dicari, diolah dengan perhitungan-perhitungan tertentu serta di hapus).

Secara teoritis, basis data tidak harus berurusan dengan kompoter (misalnya catatan belanja seorang ibu rumah tangga juga meruapakan basis data dalam bentuk sederhana), namun juga basis data dalam hubungannya dengsan system berbasis computer.


1. Data dan Basis Data
Pengertian data dalam kaitannya dengan pemrosesan data menggunakan system terkomputerisasi adalah fakta-fakta tentang segala sesuatu di dunia nyata (teks, grafik, suara serta video) yang bermanfaat dilingkup pengguna serta dapat direkam dan disimpan pada media computer. Sebagai contoh, pada data siswa, data adalah NIS, nama siswa, tanggal lahir, alamat, nomor telepon, foto, dan lain-lain.

Basis Data didefinisikan sebagai kumpulan terorganisasi dari data-data yang berhubungan sedemikian rupa sehingga mudah disimpan, dimanipulasi serta dipanggil oleh pengguna. Basis data sendiri dapat di definisikan dalam sejumlah sudut pandang seperti :
  • Himpunan kelompok data/arsip yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat & mudah.
  • Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan/penumpukan (redundansi), untuk memenuhi berbagai kebutuhan.
  • Kumpulan file/tabel/arsipyang saling berhubungan yang disimpan dalam media penyimpanan elektronis.

2. Data Versus Informasi
Informasi didefinisikan sebagai data yang telah diolah sedemikian rupa sehingga memiliki makna tertentu bagi pengguna. Sebagai contoh, jika kita mendapatkan deretan angka 197007142008011007 tanpa keterangan apapun, kita tidak bias menarik makna dari deret angka tersebut. Lanin halnya jika kita menghubungkan deret angka tersebut dengan data lainnya NIP yang dimiliki oleh Yuli Pamungkas sebagai seorang ASN, barulah deret angka tersebut bermakna bagi pengguna. Dalam hal yang terakhir ini, deret angka 197007142008011007 menjadi sebuah informasi-sebuah data yang memiliki makna tertentu.

Deret angka 197007142008011007 merupakan NIP Aparatur Sipil Negera (ASN) yang bernama Yuli Pamungkas, potongan kode 1970 (tahun lahir); 07 (bulan lahir); 14 (tanggal lahir); 2008 (tahun diangkat menjadi ASN); 01(bulan diangkat menjadi ASN); 1 (jenis kelamin); 007 (nomor urut pegawai).

3.Metadata
Data hanya berguna jika dihubungkan dengan konteks tertentu. Mekanisme untuk menyediakan konteks tersebut adalah Metadata. Metadata adalah data yang menjelaskan data yang lainnya. Penjelasan ini dadpat berupa definisi data, struktur data, aturan, serta batasan. Misalnya, jika kita tinjau deret angka 197007142008011007, metadatanya mungkin berupa NIP ASN yang berkarakteristik 18 karakter numeric, tidak diperkenankan berhuruf, tidak diperkenankan bertanda baca (:,’,* dan sebagainya), tidak diperkenankan berangka negative, deskripsi bahwa data yang bersangkutan adalah NIP seorang ASN dan sebagainya.

Dalam konteks system basis data, metadata mengizinkan perancnag basis data dan pengguna memahami segala sesuatu data : jenis, makna serta karakteristiknya. Metadata ini sangat penting agar data yang bersangkutan tidak disalahartikan, bermakna ganda serta tidak membingungkan.
Share:

Pengantar Basis Data

Saat ini kita bias melihat bahwa system basis data adalah komponen yang sangat penting dalam kehidupan sehari-hari manusia. Hampir tidak bias dibayangkan mengenai apa yang akan terjadi saat ini jika system basis data tidak ada.
Sisi kehidupan kita mulai dari rumah hingga di luar rumah tidak akan terlepas dengan apa yang namanya system basis data (tata kelola lemari arsip, atm, pembelian tiket kereta api, pembayaran di mini market, pembayaran spp di sekolah, peminjaman buku di perpustakaan dan lain sebagainya. Untuk itulah pada website ini kita akan diajak mempelajari apa itu basis data, tetapi materi yang disajikan akan diarahkan pada system basis data yang sudah terkomputerisasi.

PENDAHULUAN
Bagian ini memberikan pengantar pada pembaca mengenai hal-hal yang melatarbelakangi pentingnya sistem basis data dalam kehidupan sehari-hari.

KONSEP DASAR BASIS DATA
Bahasan pada Konsep Dasar Basis Data meliputi definisi sistem basis data secara umum, data dan basis data, data versus informasi serta tentang metadata. 

SISTEM PENGOLAHAN DATA DENGAN PEMROSESAN BERKAS
Pada bagian ini akan dibahas tentang Sistem Pengolahan Data dengan Pemrosesan Berkas yang meliputi karakteristis pemrosesan berkas serta kekurangan dari sistem pemrosesan berkas.

KARAKTERISTIK PENDEKATAN BASIS DATA
Pada bagian ini akan dibahas mengenaipPendekatan basis data yang memberikan tekanan pada integritas dan pembagian data dalam organisasi (atau, minimal bagian terbesar dalam organisasi), yang meliputi hierarki basis data, cara pandang data, model data, bahasa basis data dan pengguna basis data dan administrator

KEUNGGULAN PENGGUNAAN DBMS
Pada bagian ini akan dibahas mengenai keunggulan-keunggulan sistem basis data bertipe relasional dibandingkan dengan sistem pemrosesan berkas. Meskipun begitu, keunggulan-keunggulan ini juga mencakup keunggulan sistem basis data relasional atas tipe-tipe sistem basis data lainnya (hierarki serta jaringan).

SEJARAH SISTEM BASIS DATA
Pemrosesan data mengendalikan pertumbuhan komputer, seperti pada awal dari komputer komersial. Teknik untuk penyimpanan data dan pemrosesan berevolusi menurut waktu yang secara garis besar diuraikan dalam bahasan ini.

Saat ini kita dapat melihat bahwa system basis data adalah komponen yang sangat penting dalam kehidupan sehari-hari. Hampir tidak bias dibayangkan mengenai apa yang mungkin akan terjadi saat ini jika system basis data tidak ada. Di sekolah beberapa kegiatan pada dasarnya menggunakan system basis data, seperti penyimpanan arsip siswa dan guru yang tertata rapi di dalam lemari arsip, pembayaran spp yang dicatat dalam computer di bagian pembayaran. Kemudian, kita kita masuk ke ruang perpustakaan dan meminjam buku tertentu dan data peminjaman dicatat di computer perpustakaan. Langkah-langkah itu pastilah melibatkan basis data, sekalipun mungkin pada taraf yang paling sederhana.

Interaksi-interaksi diatas adalah contoh dari apa yang dinamakan aplikasi basis data tradisional, yang lebih sering menyimpan dan memanggil teks atau angka-angka saja. Pada beberapa tahun ini perkembangan teknologi semakin memungkinkan terciptanya aplikasi-aplikasi basis data dengan bentuk lebih canggih, diataranya :
  • Aplikasi-aplikasi di internet, aplikasi yang memuat selain teks juga gambar, suara serta video (aplikasi multimedia) tampil secara bersamaan dalam satu halaman web.
  • Aplikasi Sistem Informasi Geografis (SIG) yang membuat kita dapat menyimpan serta menampilkan data-data pada peta, grafik, statistic, data penyebaran batuan tertentu disuatu area tertentu, data cuaca pada periode tertentu, sitra hasil kerja satelit, peta penyebaran vegatasi dan/atau hewan tertentu dan lain sebagainya.
  • Aplikasi e-Commerce (Aplikasi perdagangan di dunia maya), yang pada hakekatnya merupakan aplikasi basis data yang berjalan lewat jaringan internet, yang tampak mulai menggantikan perdagangan konvesional.
Kita dapat melihat pada gambaran sebelumnya bahwa system basis data merupakan sesuatu yang sangat penting sehingga tidak bias diabaikan begitu saja dalam aplikasi-aplikasi computer modern. Namun, segala sesuatu tentu harus dimulai dari awal. Sebelum kita bias melakukan perancangan basis data yang baik dan atau menyusun/membuat aplikasi-aplikasi basis data yang sangat canggih, kita harus berangkat dari konsep-konsep dasar terlebih dahulu.
Share:

Popular Posts

Featured Post

Praktikum Basis Data

Untuk mencapai kompetensi yang diinginkan, siswa (orang yang mempelajari basisdata) diharapkan bisa menyelesaikan beberapa materi praktikum ...

Blog Archive

Mengenai Saya

Foto saya
Cimahi, Jawa Barat, Indonesia

Recent Posts