Pengenalan Oracle dan Database Relational


Bab 1

Pengenalan Oracle dan Database Relational



1.1 Pengenalan Database Relational

ORACLE adalah database relational. Sebuah database relational merupakan kumpulan dari tabel-tabel. Tabel sendiri sering kita jumpai dalam kehidupan sehari-hari, misalnya laporan keuangan bulanan, daftar harga menu, grafik-grafik dan lain-lain. Masing-masing tabel mempunyai hubungan antara satu dengan yang lain, misalnya antara tabel ruas jalan tol dengan tabel kantor cabang, sehingga dia disebut relational.

Kumpulan kertas-kertas laporan yang menumpuk di atas meja atau yang ada di laci sebetulnya dapat disebut sebagai database juga. Namun dengan pengelolaan seperti ini, akan muncul masalah jika data yang dikelola volumenya besar, sehingga menyulitkan kita dalam mengelola data-data tersebut. Kemudian mungkin kita akan menggunakan fasilitas komputer, seperti menggunakan LOTUS atau EXCEL, tapi pada prinsipnya kesulitan pekerjaan pengelolaan kita tetap sama.

Sebuah Sistem Basis Data Relational (Relational Database Management System, disingkat RDBMS) seperti ORACLE pada prinsipnya merupakan sistem yang memungkinkan kita untuk:

* Memasukkan data.
* Mengelola data.
* Mengambil data.

Prinsip ini dapat dilihat pada gambar berikut.

Gambar 1.1 Prinsip RDBMS

Informasi yang dikelola dalam sebuah RDBMS dapat diakses dengan menggunakan SQL (Structured Query Language, diucapkan ‘sequel’).



1.2 Pengenalan SQL

Informasi disimpan di ORACLE dalam bentuk tabel-tabel. Contoh sebuah tabel dapat dilihat di gambar berikut.

Tabel Pegawai

NIP


Nama_Pegawai


Golongan


Umur


Gaji

1
Mohammad Ridwan

2


27


15.000

2
Amir Hamzah

4


35


25.000

Gambar 1.2 Tabel Pegawai

Sebuah tabel mempunyai tiga karakteristik utama, yaitu nama, kolom, dan baris. Tabel di atas mempunyai nama Pegawai, mempunyai lima kolom (NIP, nama_pegawai, golongan, umur, dan gaji) dan dua baris data.

Pengelolaan tabel (membuat tabel, mengisi data, mengambil data, dll.) dilakukan dengan memberikan perintah SQL kepada ORACLE. Contoh dari sebuah perintah SQL adalah sebagai berikut:

select Nama_Pegawai from Pegawai;

Hasil dari perintah di atas adalah :

Nama Pegawai
----------------------
Mohammad Ridwan
Amir Hamzah

Contoh lain dari sebuah perintah SQL:

select
Nama_Pegawai,
Umur
from
Pegawai
where
Gaji > 20000;

Hasil dari perintah di atas adalah :

Nama Pegawai Umur
---------------------------
Amir Hamzah 35

Kata-kata kunci yang biasa diberikan dalam sebuah perintah SQL adalah select, from, where, dan order by. Kata-kata kunci ini dituliskan dalam format sebagai berikut :

select
nama_kolom1,
nama_kolom2
from
nama_tabel
where
kondisi
order by
nama_kolom1;

Bagian select menunjukkan kolom-kolom apa yang hendak ditampilkan. Bagian from menunjukkan nama tabel- tabel asal. Bagian where memungkinkan kita untuk memilih data-data yang sesuai yang hendak ditampilkan. Sedangkan bagian order by menunjukkan hasil query akan diurutkan menurut kolom apa.



1.3 Relasi antar Tabel

ORACLE disebut database relational karena antara tabel-tabel yang ada di database itu pasti ada relasi satu dengan yang lain. Pada diagram berikut ini akan diberikan contoh dua tabel yang saling berelasi, yaitu tabel Pegawai dan tabel Divisi.

Gambar 1.3 Tabel Pegawai dan Divisi

Seperti terlihat pada diagram di atas, tabel Pegawai dan tabel Divisi mempunyai relasi satu dengan yang lain. Lebih jauh diketahui bahwa relasi antara kedua tabel tersebut terletak pada Nama_Pegawai.

Dengan adanya relasi, maka kita bisa menggabungkan data-data pada kedua tabel tersebut. Contoh sebuah laporan yang merupakan gabungan antara tabel Pegawai dan tabel Divisi :

Laporan Pegawai di Divisi

NIP


Nama_Pegawai


Divisi


Umur


Gaji

1
Mohammad Ridwan

Manlalin


24


15.000

2
Amir Hamzah

SDM


21


7.000

3
Mamad

SDM


31


25.000

4
Iim

Manpultol


43


27.000

5
Dewi

Manpultol


26


18.000

Gambar 1.4 Laporan Pegawai pada suatu Divisi

Laporan di atas dihasilkan oleh perintah SQL berikut:

Select
Pegawai.NIP,
Pegawai.Nama_pegawai,
Divisi.Nama_divisi,
Pegawai.Umur,
Pegawai.Gaji
From
Pegawai,
Divisi
Where
Pegawai.Nama_Pegawai = Divisi.Nama_Pegawai ;

Seperti terlihat perintah SQL di atas akan mengambil data dari tabel Pegawai dan tabel Divisi (lihat di bagian from). Kolom-kolom yang dipilih untuk ditampilkan dapat dilihat di bagian select. Sementara bagian where menunjukkan bagaimana kedua tabel harus digabungkan, dalam hal ini maka kedua tabel digabungkan menurut kolom Nama_Pegawai.

Dalam database relational, hubungan antar tabel harus dirancang dengan baik, sehingga tidak ada duplikasi maupun inkonsistensi pada data. Keterangan lengkap tentang bagaimana mendesain database yang baik tentu saja di luar skope tulisan ini.



1.4 User

Tabel-tabel dalam ORACLE akan dikelompokkan ke dalam user-user. Misalnya tabel Pegawai dan tabel Gaji akan dimiliki oleh user SDM, tabel Kecelakaan, Gangguan Lalulintas, dan Patroli akan dimiliki oleh user MLL(Manlalin), dan seterusnya.



Gambar 1.5 Hubungan User dan Tabel

Pengelompokan tabel dalam user-user ini mempunyai kegunaan sebagai berikut:

* Menentukan siapa yang mempunyai otoritas atas suatu informasi.
* Mengatur hak-hak pengaksesan (privilege) antar skema dan antar tabel.
* Mengatur hak pemakaian disk space (kuota).

Semua objek di ORACLE (contoh objek adalah table, view, dan index) akan diasosiasikan atau dimiliki oleh satu user. Dengan demikian, maka penerapan kebijakan otorisasi dapat diterapkan tidak hanya untuk tabel, tapi juga untuk semua objek.



1.5 Objek-objek Database

Jenis-jenis objek dalam database ORACLE yang biasa dipakai dalam pembangunan aplikasi adalah :

* Tabel
* Index
* View
* Snapshot
* Sequence
* Package
* Stored Procedure
* Trigger
* Database links

Sedangkan objek-objek yang berhubungan dengan fisik database antara lain:

* Instance
* Database
* Tablespace
* Segment
* Data file



1.6 Otorisasi Akses

Otorisasi akses mengatur tindakan apa yang boleh dilakukan oleh seorang pemakai atas suatu objek yang ada di ORACLE. Dengan mengatur otorisasi akses ini, maka kita bisa menjaga kerahasiaan dan integritas informasi, karena suatu informasi hanya dapat dilihat, dirubah, ditambah, atau dihapus hanya oleh orang-orang yang berkepentingan.



1.7 Bagaimana ORACLE Mengelola Data

Pengetahuan tentang bagaimana ORACLE mengelola data sangatlah vital bagi seorang administrator.

Sebuah sistem database yang besar sekali dapat terdiri dari beberapa ORACLE server yang berjalan di server-server yang terpisah. Masing-masing server ini akan mengelola data yang sesuai dengan bagiannya saja. Misalnya server pada Divisi Akuntansi mengelola database Akuntansi, server SDM mengelola database SDM, dan seterusnya.

Sistem database yang tersebar seperti di atas disebut Distributed Database.

Gambar 1.6 Contoh Instalasi Database Oracle

Meskipun data diletakkan di lokasi yang berbeda-beda, tapi USER akan melihat database sebagai satu kesatuan. Tersebarnya data-data akan transparan terhadap user.

User akan membuat koneksi dengan salah satu database server. Pada database server tersebut, koneksi user tersebut dilayani oleh sebuah instance. Instance tersebut kemudian akan mengakses database yang sesuai yang ada di server tersebut.

Gambar 1.7 Instance dan Database Oracle

Instance dapat dilihat sebagai sistem yang mengelola database. Dalam satu ORACLE server, bisa terdapat lebih dari satu instance.

Database adalah media penyimpanan yang berisi tabel-tabel.

Instance dan database masing-masing adalah independen satu dengan yang lain. Sebuah instance dapat mengelola satu atau lebih database. Ketika sebuah instance dijalankan dan dihubungkan ke suatu database, maka instance itu dikatakan berjalan (started). Ketika instance itu di shut down, maka database yang dikelola oleh instance itu tidak akan dapat diakses lagi.

Jika kita melihat lebih dalam lagi ke dalam database, maka suatu database akan diorganisasikan sebagai berikut.

Gambar 1.8 Bagan suatu Database pada Oracle

Masing-masing bagian dari database akan dijelaskan berikut ini.

Tablespace

Sebuah database dibagi satuan-satuan penyimpanan yang disebut tablespace. Sebuah databas dapat berisi satu atau lebih tablespace. Sebuah tablespace disusun dari satu atau lebih file.

Karena tablespace merupakan tempat penyimpanan tabel-tabel, DBA bertugas mengatur penggunaan tablespace ini. Tugas yang harus dilakukan DBA terhadap tablespace antara lain:

* Mengontrol penggunaan tempat (storage) untuk objek-objek database, yaitu tabel, index, dan temporary segment.
* Menentukan kuota penggunaan tempat untuk user.
* Membuat tablespace online atau offline.
* Backup dan recovery.
* Mengatur media penyimpanan yang tepat bagi tablespace sehingga meningkatkan performansi database.

Tablespace yang akan selalu dibuat secara otomatis oleh ORACLE adalah tablespace dengan nama SYSTEM. Tablespace ini pasti akan selalu ada di setiap database, dan akan berisi informasi-informasi mengenai keadaan database. Tablespace ini harus selalu tersedia (online) agar database dapat diakses.



Segment dan Extent

Semua data dalam tablespace akan dipecah-pecah menjadi segment-segment. Ada beberapa jenis segment:

* Data segment.
* Index segment.
* Rollback segment.
* Temporary segment.
* Bootstrap segment.

Parameter-parameter untuk mengatur besar segment:
Initial extent ukuran (dalam bytes) dari extent pertama milik segment, atau disebut juga ukutan awal dari segment.
Next extent ukuran (dalam bytes) dari extent selanjutnya.
Max extent maksimum jumlah extent dari suatu segment.
Min extent jumlah extent pertama yang akan dialokasikan.
Pctincrease berapa besar ukuran next extent dibandingkan dengan extent terakhir.

DESAIN DATA BASE (BAB II)


Proses Desain Data Base

  • Analisis Persyaratan
  • Desain Data Base Konseptual
  • Desain Data Base Logika
  • Perbaikan Skema
  • Desain Data Base Fisik
  • Desain Aplikasi dan Keamanan

Entity-Relationship (E-R)
  • Model data Entity-Relationship (E-R) terdiri dari sekumpulan obyek-obyek, yang disebut dengan entitas dan hubungan yang terjadi diantara obyek-obyek tersebut.
  • Model data E-R terbagi menjadi tiga konsep dasar, yaitu : himpunan entitas, himpunan relationship, dan atribut.

Entitas (Entity) dan Himpunan Entitas (Entity Set)

  • Suatu entitas merupakan suatu obyek dasar atau individu yang mewakili sesuatu yang nyata eksistensinya dan dapat dibedakan dari obyek-obyek yang lain.
  • Suatu entitas mempunyai sekumpulan sifat, dan nilai dari beberapa sifat tersebut adalah unik yang dapat mengidentifikasi entitas tersebut
Entitas
Sebagai contoh : setiap mahasiswa pada suatu perguruan tinggi merupakan suatu entitas, dan NIM secara unik dapat menjadi identitas seorang mahasiswa

Atribut dalam E-R

Dikarakterisasikan dalam beberapa tipe :

Atribut sederhana dan komposit

Atribut bernilai tunggal dan banyak

Atribut null

Atribut turunan

Tipe – tipe Kardinalitas Relasi

Satu – satu (One to One)

Satu – Banyak (One to Many)

Banyak – Satu (Many to One)

Banyak – Banyak (Many to Many)


Agregasi

Satu keterbatasan dari model E-R adalah tidak mungkin untuk mengekspresikan suatu himpunan relasi yang secara langsung menghubungkan sebuah himpunan entitas dengan sebuah himpunan relasi. Untuk mengatasi hal tersebut, digunakan suatu notasi khusus yang dinamakan dengan agregasi.

Contoh, relasi antara himpunan entitas mahasiswa dengan himpunan entitas mata kuliah. Terdapat beberapa mata kuliah yang mengandung kegiatan praktikum. Himpunan relasi “Kegiatan” dalam diagram ER berikut ini menunjukkan entitas mahasiswa yang mengikuti kegiatan praktikum, karena sedang mengambil mata kuliah yang ada praktikumnya

KONSEP DASAR SISTEM BASIS DATA


Kelompok :
1. Riska W.A G 231 08 0042
2. Ana Rissanti G 231 08 0043
3. M. Ady Prasetyo G 231 08 0041
4. Achmad Fauzi G 231 08 0022

A. Pengertian Sistem Basis Data

Sistem basis data merupakan sistem yang terdiri dari kumpulan file atau tabel yang saling berhubungan dan memungkinkan beberapa pemakai mengakses dan memanipulasinya.Sistem basis data juga bisa d artikan suatu sistem yang menyusun dan mengelola data, sehingga mampu menyediakan informasi yang diperlukan oleh pemakai.

B. Komponen Sistem Basis Data

Dalam sistem basis data terdapat beberapa komponen utama yaitu:

1.Perangkat keras (Hardware)

Perangkat keras yang biasanya terdapat dalam basis data adalah sistem jaringan(Network),harddisk,disk,dan perangkat komunikasi untuk sistem jaringan

2.Sistem Operasi

Merupakan program yang mengaktifkan sistem komputer, mengendalikan seluruh sumbe daya dalam komputer dan melakukan operasi operasi dasar dlm komputer. Program basis data akan aktif jika sistem operasi yang dikehendaki sesuai.beberapa sistem operasi yang ada saat ini antara lain Ms-DOS,Ms-Windows,UNIX,LINUX, Novel-Netware Dll.

3.Basis Data

Merupakan koleksi data yang terorganisasi dengan cara sedemikian rupa sehingga data tesebut mudah di simpan dan di manipulasi,

4. Database Management System(DBMS)

Merupakan kumpulan program aplikasi yang di gunakan untuk membuat dan mengelola basis data. Perangkat lunak yang termasuk DBMS antara lain: Access,MySQL,Oracle,DB2,Informix dan lainya

5.Pemakai(Users)

Pemakai atau User d golongkan dalam beberapa tingkatan yaitu: Programmer Aplikasi,Casual User,Naive User,dan Specialist User

6.Administrator Basis Data

Databse Administrator(DBA) adalah orang yang bertanggung jawab dan bekerja sama dengan analis sistem dan user-user yang lain guna melengkapi berbagai tugas.

C. Abstraksi Data

Pandangan terhadap basis data sering disebut sebagai Arsitektur basis data atau Abstraksi basis data yang kemudian terbagi menjadi beberapa level

1.Level Fisik(Physical Level)

Merupakan level abstraksi yang paling rendah menjelaskan secara detail bagaimana data disimpan dalam kondisi sebenarnya atau diorganisasikan secara fisik atau aktual.Pandangan ini bersifat sangat teknis danlebih berorientasi pada mesin, yaitu berkaitan dengan organisasi berkas basis data

2.Level Konseptual(Conceptual Level)

Level ini memberikan gambaran tentang data apa yang sebenarnya perlu disimpan dalam database, serta hubungan atau relasi yang terjadi diantara data dari keseluruhan database.

3.Level Pandangan Pemakai(View Level)

Level ini merupakan level abstraksi data tertinggi yaitu pandangan para pemakai basis data sehingga memiliki cara pandang yang berbeda beda tergantung dari data yang dapat di akses pemakai.

D.Schema

Schema memberika deskripsi hubungan antar data dalam basis data secara lengkap.Schema menunjukkan pandangan seorang perancang yang digunakan pada lingkup sistem atau organisasi secara keseluruhan.

1.Subschema

Merupakan deskripsi terpisah dari atribut,record,dan batasan nilai yang akan digunakan oleh sebuah program aplikasi. Subschema menunjukkan pandangan seorang programmer. Contoh penulisan notasi untuk Schema dan subschema dilakukan dengan format sebagai berikut:

Daftar_Barang_schema: (Kode_Barang Char(10),

Nama_Barang Char(50),

Harga_Barang Integer(20),

Jumlah_Barang Num(4),

Primary Key (Kode_Barang))

2.Instance Schema

Instance Schema menunjukkan isian nilai-nilai aktual elemen data dalam sebuah relasi yang direpresentasikan dalam bentuk tabel.Contoh penulisan bentuk instance schema dilakukan dengan format berikut:

E.Bahasa Basis Data (Batabase Language)

Bahasa basis data adalah suatu cara berinteraksi atau berkomunikasi antara pemakai dengan basis data yang diatur dalam bahasa khusus yang telah ditetapkan.Database Language dibagi menjadi 2 yaitu; Data Definition Language(DDL) dan Data Manipulation Language(DML).

1. Data Definition Language(DDL)

Merupakan suatu paket bahasa DBMS yang berguna untuk melakukan spesifikasi terhadap skema basis data.Hasil kompilasi perintah DDL adalah kumpulan tabel yang disimpan dalam file khusus yang di sebut kamus data(Data Dictionary).

2. Data Manipulation Language(DML)

DML merupakan suatu paket DBMS yang memperbolehkan pemakai untuk mengakses atau memanipulasi data .DML dapat mengambil informasi yang tersimpan dalam basisdata, menyisipkan informasi baru atau menghapus informasi dari basis data

keMbali kE HabiTaT!!!!


biNun sangaD kapaN gw baKal baLik sMg!!hiduP taNpa kePAstiaN,terkatung2 dLm keGelapaN,,hLaah..wHy???cz insTruktur maGangKuwh mo koNsuLatasi dL ma pErsoNALia,,yaH taG laeN dan taG bUkaN boUt saLLarY!!yUpz gaJi!!sekaLi lagi GAJI!!gaJi ideNtiK deNgan uaNg!!uaNg ideNtiK deNgaN keKayaAn,,Klo kaYa bs beLi mCm2 mKanAN,,daN maKanan iTu senDiri iDentiK dengan diRikuWh yNg hoBi mKan saNgadH!!daN diRiKuwH ideNtik denGan NduTz!!so,i geT coNcLutioN tHaT "uaNg meNyebabkan keGendUtaN"he2..iTuLah huKum KEkELan nDutz..kaREnA nDut iTu kekaL taG kaN hiLang seLamaNya!!sekaLi nDutz teTap nDuTz"hu2..so sad..

lanjuTz..mari bercerita tTg rMbuT kribokuwh lagi..
gw udH giVe uP daH ngUrusiN niH kRibO,,jalaN teraKhiR yG gW teMpuH aDLh mNabRaKkaN raMbuT gw dGn guNtiNg,,hiKz..buBbYe rMbuT luRus vS kRibo gw...
yng terSisa hnYa beBeraPa heLai rMbt saJah,,g ada lg rMbt pNjang gw..
saYang juGA seH,,secaRa rMbT gw udH lmyN pNjNg,pLanNinG gw bwT jD moDeL ikLan sHamPo kaNdas suDah,,hikZ..
tP gPP..bsK juGa bakal pNjg lg koG!!tP g tw kPn..
o iye,gw pTg di LUTUYE LoH,,,he3,,bergaya..
ga2..mana kuat gw ke SaLon LutUye,,
yG beneR tuh,mbAKnya yg moTong rMbt Gw Tuh keRja di saLon LUTUYE..
wee!!!MbAKnya udH profesional bgd bo'!!
buah karyanya keRen aBz!!termasuK rMBt gw yG dPtOng ma dY..hi2..narsis..


ya sudalah...iank jeLaz bNtr lagi gw balik sMg..

berTemu kuaNd2!!!

uWh,,,mizz u aLL!!!!!!!!!!

o iYe meT vaLentiNe juge ye,,

meT menikMi coKlat!!!klo gw mah kGk bKl ngarasain cKlt..

buKaN kRn mo diEt,,tP kRna g da yG ngasih..

cian..


kRiBo!!!!


raMbuT saiia kRibo kawaNd!!!

gR2 isEng paKe caThok_nya mBaK ocHa iaNk terNyaTA kepaNasaN..
daN terNyata caThoKnya uDah k9k noRmaL!!!
oH God...heLp mE!!!!!!!!!!!!!!!!!!!!!!
uDh 3 hR,g blik2 ni,,

gMn*nasiBkuwh????


kauand!!!!B-)
sebentar lg gw blik sMg...X(
a liTtLe haPpY,bUt tOo muCh saD..:-S
gMn g?!!!secara gw Tuh dSruH pLg pTgHan feB,diMana pda WakTu terseBut gW loM dPt gaJiiiii!!!!meMaNg beTman!!!!!!!!!!!!(manusia kampret!!.red)X(
mana koSt juGa bYr seBuLaN lagi...aNjriiiiiiiiiiiiiiiiiiiiTTTTTTTTT!!!!!!!!!!!!!!!!!!!!
msa' sEtEngAh buLan disiNi cMn kerJa roDi??mLz bgD gT loh!!!!
kLo soaL laPoran seH gw udah nyANte,,,kn UdaH Kelar!!(beLagu neY!!)B-)
TaPi secara financiaL,gw ga kuuuuuuuaaaaaatttt!!!!!$-)
meMang anjiiiiiNk!!!! :-$kuCing neY!!!!
caPe deH...#:-S
tapi q harus bertahan!!!chayooo!!!!!!!!!!!:D/

mY*sCraRy*beDrooM...


ini kisah nyatakuwh,,,
tKp : kmar kost:(
pUkuL : 10 mLm
swSAna uJan diSerTai angin kencaNg..:-SS
hoRrOr!!!!:-SS

LeTz daNce read toGeTher!!!

jadi gini ceritany..mulai tadi malem mbak didi (yg tinggal di kamr sebelah kmrq) pindah kost..
sedih juga seh,,cz g bs nntn TV lage..:((
yg bikin gw lbh sedih lagi sKrg kost gw jadi sepi..
asli sepi bgd!!!
jadi 2 kmar didpn kmr gw kosong,truz ditambh lgi sebelah kmar gw juga kosong.. :-S
lengkap sudah kesendiriankuwh,,,mna suami jauh lagii..hiKz!!jadi pgn pulang!!!!!
lanjut!!!tadi mlm pas gw mo bo2..ada swara2 aneh gitu dari kamar mba sebelah..
pertma seh sok2 an cuek gitu..B-) gw adalah pemberani!!
pdhal dlm ati takut juga..:
coz swasanya juga serem seh!!ujan deres dengen angin kencangnya seolah bekerjasama untuk membuatku gundah gulana resah gelisah,hlah..
swara aneh pertama :"tok..tok..tok.."(persis kek org ngtok pntu!!)
swara aneh kedua :"tok..tok..tok.."(tpi lebih keras)
trus da swara krusek2 gitu..
pokoknA sereM bgd!!
asli!!!
udah ngebayangin yg ngga2 ja tuh..
terbayang hantunya di film the grudge2,,
n pilm kuntilanak gitu!!!hikz!!
tapi akirny gw tidur juga..:D I-
gw ga brani kluar kamar n tetep berlindung dbwh selimut..8-Xngantuk seh..(:
sMoga ntAR mLem ga ada swara aneh2 lagi..
amiiiin..
[-O<