Microsoft Access (atau Microsoft Office Access) adalah sebuah program aplikasi basis data komputer relasional yang ditujukan untuk kalangan rumahan dan perusahaan kecil hingga menengah. Aplikasi ini merupakan anggota dari beberapa aplikasi Microsoft Office, selain tentunya Microsoft Word, Microsoft Excel, dan Microsoft PowerPoint. Aplikasi ini menggunakan mesin basis data Microsoft Jet Database Engine, dan juga menggunakan tampilan grafis yang intuitif sehingga memudahkan pengguna.
Microsoft Access dapat menggunakan data yang disimpan di dalam format Microsoft Access, Microsoft Jet Database Engine, Microsoft SQL Server, Oracle Database, atau semua kontainer basis data yang mendukung standar ODBC.
Para pengguna/programmer yang mahir dapat menggunakannya untuk mengembangkan perangkat lunak aplikasi yang kompleks, sementara para programmer yang kurang mahir dapat menggunakannya untuk mengembangkan perangkat lunak aplikasi yang sederhana. Access juga mendukung teknik-teknik pemrograman berorientasi objek, tetapi tidak dapat digolongkan ke dalam perangkat bantu pemrograman berorientasi objek.
sejarah
Microsoft merilis Microsoft Access 1.0 pada bulan November 1992 dan dilanjutkan dengan merilis versi 2.0 pada tahun 1993 Microsoft menentukan spesifikasi minimum untuk menjalankan Microsoft Access 2.0 adalah sebuah komputer dengan system operasi Microsoft Windows 3.0, RAM berkapasitas 4 megabyte (6 megabyte lebih disarankan) dan ruangan kosong hard disk yang dibutuhkan 8 megabyte (14 megabyte lebih disarankan). Versi 2.0 dari Microsoft Access ini datang dengan tujuh buah disket floppy 3½ inci berukuran 1.44 megabyte.
Perangkat lunak tersebut bekerja dengan sangat baik pada sebuah basisdata dengan banyak record tapi terdapat beberapa kasus di mana data mengalami kerusakan. Sebagai contoh, pada ukuran basis data melebihi 700 megabyte sering mengalami masalah seperti ini (pada saat itu, memang hard disk yang beredar masih berada di bawah 700megabyte). Buku manual yang dibawanya memperingatkan bahwa beberapa kasus tersebut disebabkan oleh drive perangkat yang kuno atau konfigurasi yang tidak benar.
Nama kode (codename) yang digunakan oleh Access pertama kali adalah Cirrus yang dikembangkan sebelum Microsoft mengembangkan Microsoft Visual Basic, sementara mesin pembuat form antarmuka yang digunakannya dinamakan dengan Ruby. Bill Gates melihat purwarupa (prototype) tersebut dan memutuskan bahwa komponen bahasa pemrograman BASIC harus dikembangkan secara bersama-sama sebagai sebuah aplikasi terpisah tapi dapat diperluas. Proyek ini dinamakan dengan Thunder. Kedua proyek tersebut dikembangkan secara terpisah, dan mesin pembuat form yang digunakan oleh keduanya tidak saling cocok satu sama lainnya. Hal tersebut berakhir saat Microsoft merilisVisual Basic for Applications (VBA).
Versi
Tanggal Nama versi Nomor versi Sistem operasi yang didukung Versi Microsoft Office
1992 Microsoft Access 1.1 1 Microsoft Windows
T/A
1993 Microsoft Access 2.0 2 Microsoft Windows Microsoft Office 4.3 Professional
1995 Microsoft Access for Windows 95 7 Microsoft Windows 95 dan Windows NT 3.51 Microsoft Office 95 Professional
1997 Microsoft Access 97 8 Microsoft Windows 95/98 dan Windows NT 3.51/NT 4.0 Microsoft Office 97 Professional
1999 Microsoft Access 2000 9 Microsoft Windows 98/Me, Windows NT 4.0/2000 Microsoft Office 2000 Premium dan Office 2000 Professional
2001 Microsoft Access 2002 10 Microsoft Windows 98/Me, Windows NT/2000/XP Microsoft Office XP Professional
2003 Microsoft Access 2003 11 Microsoft Windows 2000 (Service Pack 3 ke atas)/XP (Service Pack 1 ke atas)/Server 2003 Microsoft Office System 2003
2007 Microsoft Office Access 2007 12 Microsoft Windows XP (Service Pack 2)/Server 2003/Vista/Server 2008 (Beta 2 ke atas) Microsoft Office System 2007
Pengguna
Microsoft Access digunakan kebanyakan oleh bisnis-bisnis kecil dan menengah, di dalam sebuah organisasi yang kecil bahkan mungkin juga digunakan oleh perusahaan yang cukup besar, dan juga para programmer untuk membuat sebuah sistem buatan sendiri untuk menangani pembuatan dan manipulasi data. Access juga dapat digunakan sebagai sebuah basis data untuk aplikasi Web dasar yang disimpan di dalam server yang menjalankan Microsoft Internet Information Services (IIS) dan menggunakan Microsoft Active Server Pages (ASP). Meskipun demikian, penggunaan Access kurang disarankan, mengingat telah ada Microsoft SQL Server yang memiliki kemampuan yang lebih tinggi.
Beberapa pengembang aplikasi profesional menggunakan Microsoft Access untuk mengembangkan aplikasi secara cepat (digunakan sebagai Rapid Application Development/RAD tool), khususnya untuk pembuatan purwarupa untuk sebuah program yang lebih besar dan aplikasi yang berdiri sendiri untuk para salesman.
Microsoft Access kurang begitu bagus jika diakses melalui jaringan sehingga aplikasi-aplikasi yang digunakan oleh banyak pengguna cenderung menggunakan solusi sistem manajemen basis data yang bersifat klien/server. Meskipun demikian, tampilan muka Access (form, report, query, dan kode Visual Basic) yang dimilikinya dapat digunakan untuk menangani basis data yang sebenarnya diproses oleh sistem manajemen basis data lainnya, seperti halnya Microsoft Jet Database Engine (yang secara default digunakan oleh Microsoft Access), Microsoft SQL Server, Oracle Database, dan beberapa produk lainnya yang mendukung ODBC.
Fitur
Salah satu keunggulan Microsoft Access dilihat dari perspektif programmer adalah kompatibilitasnya dengan bahasa pemrograman Structured Query Language (SQL); query dapat dilihat dan disunting sebagai statemen-statemen SQL, dan statemen SQL dapat digunakan secara langsung di dalam Macro dan VBA Module untuk secara langsung memanipulasi tabel data dalam Access. Para pengguna dapat mencampurkan dan menggunakan kedua jenis bahasa tersebut (VBA dan Macro) untuk memprogram form dan logika dan juga untuk mengaplikasikan konsep berorientasi objek.
Microsoft SQL Server Desktop Engine (MSDE) 2000, yang merupakan sebuah versi mini dari Microsoft SQL Server 2000, dimasukkan ke dalam Office XP Developer Edition dan dapat digunakan oleh Microsoft Access sebagai alternatif dari Microsoft Jet Database Engine.
Tidak seperti sebuah sistem manajemen basis data relasional yang komplit, Microsoft JET Database Engine tidak memiliki fitur trigger dan stored procedure. Dimulai dari Microsoft Access 2000 yang menggunakan Microsoft Jet Database Engine versi 4.0, ada sebuah sintaksis yang mengizinkan pembuatan kueri dengan beberapa parameter, dengan sebuah cara seperi halnya sebuah stored procedure, meskipun prosesur tersebut dibatasi hanya untuk sebuah pernyataan tiap prosedurnya. Access juga mengizinkan form untuk mengandung kode yang dapat dieksekusi ketika terjadi sebuah perubahan terhadap tabel basis data, seperti halnya trigger, selama modifikasi dilakukan hanya dengan menggunakan form tersebut, dan merupakan sesuatu hal yang umum untuk menggunakan kueri yang akan diteruskan (pass-through dan teknik lainnya di dalam Access untuk menjalankan stored procedure di dalam RDBMS yang mendukungnya.
Dalam berkas Access Database Project (ADP) yang didukung oleh Microsoft Access 2000 dan yang selanjutnya, fitur-fitur yang berkaitan dengan basis data berbeda dari versi format/struktur data yang digunakan Access (*.MDB), karena jenis berkas ini dapat membuat koneksi ke sebuah basis data MSDE atau Microsoft SQL Server, ketimbang menggunakan Microsoft JET Database Engine. Sehingga, dengan menggunakan ADP, adalah mungkin untuk membuat hampur semua objek di dalam server yang menjalankan mesin basis data tersebut (tabel basis data dengan constraints dan trigger, view, stored procedure, dan UDF). Meskipun demikian, yang disimpan di dalam berkas ADP hanyalahform, report, macro, dan modul, sementara untuk tabel dan objek lainnya disimpan di dalam server basis data yang membelakangi program tersebut.
Pengembangan Access
Access mengizinkan pengembangan yang relatif cepat karena semua tabel basis data, kueri, form, dan report disimpan di dalam berkas basis data miliknya (*.MDB). Untuk membuat Query, Access menggunakan Query Design Grid, sebuah program berbasis grafis yang mengizinkan para penggunanya untuk membuat query tanpa harus mengetahuibahasa pemrograman SQL. DI dalam Query Design Grid, para pengguna dapat memperlihatkan tabel basis data sumber dari query, dan memilih field-field mana yang hendak dikembalikan oleh proses dengan mengklik dan menyeretnya ke dalam grid. Join juga dapat dibuat dengan cara mengklik dan menyeret field-field dalam tabel ke dalam field dalam tabel lainnya. Access juga mengizinkan pengguna untuk melihat dan memanipulasi kode SQL jika memang diperlukan.
Bahasa pemrograman yang tersedia di dalam Access adalah Microsoft Visual Basic for Applications (VBA), seperti halnya dalam beberapa aplikasi Microsoft Office. Dua buahpustaka komponen Component Object Model (COM) untuk mengakses basis data pun disediakan, yakni Data Access Object (DAO), yang hanya terdapat di dalam Access 97, danActiveX Data Objects (ADO) yang tersedia dalam versi-versi Access terbaru.
Microsoft Access merupakan salah satu program aplikasi database yang paling canggih dan lengkap serta sangat mudah digunakan baik untuk menyortir, mengatur data, membuat label data serta melaporkan informasi penting, misalnya menampung daftar anggota, data-data anggota dan sebagainya. Aplikasi database adalah kumpulan objek access yang bekerja terpadu untuk menyelesaikan masalah. Dengan menggunakan sebuah perogram database, pemakai dapat melaksanakan beberapa operasi dasar, antara lain :
a) Operasi table, tabel adalah sekumpulan data atau informasi spesifik tentang subjek tertentu yang disusun dalam bentuk kolom dan baris. Kolom atau yang lebih dikenal dengan istilah field berisi judul yang mewakili sekumpulan baris. Sedangkan baris atau yang lebih dikenal istilah record berisi kumpulan data yang memiliki karakteristik pengertian yang sama. Jadi satu record mewakili satu data atau informasi tentang seseorang, maka akan berisi data Nama Anggota, Nomor Anggota, Alamat, dan lain-lain.
b) Operasi Query, Query berarti “mendefinisikan data”, yaitu memanipulasi data dan mengendalikan data tersebut melalui bahasa. Selanjutnya, bahasa yang digunakan untuk mengendalikan manipulasi data adalah bahasa query. Query umumnya digunakan untuk memanipulasi data, record dan field, yang terletak satu atau beberapa tabel dan atau query. Secara lebih spesifik query dirancang untuk merelasi record, data dan field, antara tabel-tabel atau query-query atau kombinasinya, lalu menciptakan field baru beserta record dan data baru dalam query itu sendiri, dan menyajikan bahan untuk membuat form atau report.
c) Operasi Form, form dirancang untuk menampilkan field-field yang dibutuhkan dan tabel penjelasannya dalam format tampilan yang lebih menarik. Sebuah form menitik beratkan pada informasi pada dibutuhkan. Fungsi operasinya adalah untuk memanipulasi record, dan secara lebih spesifik untuk memanipulasi data.
d) Operasi Record, Report (laporan) digunakan untuk menampilkan atau mencetak informasi yang berasal dari tabel atau query. Report merupakan hasil akhir dalam pengolahan data base yang menggunakan Mocrosoft Access. Isi report dapat dimodifikasi dalam arti memanipulasi data base, tetapi hanya menampilkan isi tabel-tabel dan atau query-query.
e) Operasi Micro, yaitu rangkaian aksi yang didefinisikan sebelumnya dimana memanipulasi objek lain dapat digunakan untuk mengotomatisasikan tugas berulang dan memodifikasi tugas berulang.
f) Operasi Module, adalah prosedure Form digunakan untuk memasukkan, menyunting dan menampilkan data yang digunakan menggunakan Access.
Fasilitas pada Microsoft Access
Microsoft Access adalah manajer database relatioship berbasis windows dan didesain dalam lingkungan windows . Microsoft Access mempunyai fasilitas :
a) Access Drag atau Drop dan menyunting query, report, macro, dan form.
b) Mangandung Multiple Document Interface (DMI) Windows.
c) Kemampuan untuk mencakup OLE (Objek Linking and Embedding) seperti suara, video atau gambar sebagai rekaman dalam database sebagai objek dalam form atau report.
d) Pengguna Macro yang memungkinkan otomatisasi tugas rutin tanpa pemrogram.
e) Bahasa Pemrograman, Access Basic, yang dimodelkan pada Visual Basic.
f) Kemampuan untuk membuat aplikasi database yang dapat didistribusikan.
g) Kemampuan menghubungkan dan bahkan menggabungkan format database berdiri sendiri.
h) Arsitektur yang dapat diskalakan memungkinkan Access digunakan sebagian database berdiri sendiri.
i) Validasi data yang baik, jika dibuat level tabel, otomatis diubah menjadi form dan report.
j) Kemampuan membuat dan menggunakan pustaka kode yang dapat dipakai ulang. Kemampuan membuat dan menggunakan Wizard
Jumat, 07 Januari 2011
dBASE
dBase adalah perkembangan pertama dari pemakaian Sistem Manajemen Database untuk komputer, dipublikasikan oleh Ashton-Tate untuk CP/M dan kemudian untuk Apple II, Mcintosh, UNIX, VMS dan IBM PC. Perkembangan dBAse terlalu lama sehingga nmengakibatkan para saingan mereka seperti Visual Foxpro, Microsoft Acces, berkembang lebih baik kepada para pemakainya.Ashton-Tate dibeli oleh Borlan pada tahun 1991 yang setelah itu produk yang diciptakan bernaung dibawah dBase Inc. Pada tahun 2004, dBase Inc mengubah namanya menjadi dataBased Intelligence, Inc.
DB2
DB2 adalah produk Sistem Manajemen Hubungan Database dari IBM atau sekarang yang populer disebut Data Server yang dimana merupakan Perangkat Lunak Manajemen Informasi. Kebanyakan DB2 disebut juga sebagai DB2 Enterprise Server Edition atau top of the line DB2 DAta Warehouse Edition (DB2 DWE) yang berjalan pada Unix, Windows dan Linux Server.
IBM DB2 Express-C merupakan edisi perangkat lunak sistem manajemen basis data keluarga IBM DB2 yang dapat diunduh, digunakan, serta diredistribusikan secara gratis. Versi gratis ini menawarkan baik fitur manajemen basis data relasional serta basisdata berbasis XML
Sejarah
Edisi DB2 Express-C pertama kali dibuat untuk rilis IBM DB2 versi 8.2. Kemudian disertai pula pada rilis-rilis berikutnya seperti versi 9.1 (Viper), 9.5 (Viper 2), serta 9.7 (Cobra). Implementasi atas fitur XML murni (Inggris: pureXML) diperkenalkan pada versi beta dari DB2 9.x.
Keterbatasan
Tidak seperti halnya edisi "express" (gratis) yang ditawarkan oleh kompetitor lain seperti Oracle, ataupun Microsoft, IBM tidak membatasi jumlah serta ukuran data yang disimpan pada basisdata, demikian pula halnya dengan jumlah pengguna yang terkoneksi. IBM juga menyediakan baik versi 32bit maupun 64bit meskipun pada beberapa platform tertentu hanya tersedia versi 64bit saja. Koneksi dapat dilakukan melalui protokol TCP/IP V4 dan V6 atau named pipe.
Keterbatasan yang ada pada versi gratis IBM DB2 Express-C adalah pada penggunaan memori yang dibatasi maksimum hingga 2GB, serta hanya dapat memanfaatkan CPUmaksimum hingga 2 CPU. Namun demikan keterbatasan ini tidak berarti DB2 Express C hanya dapat dijalankan pada mesin-mesin tua, perangkat lunak ini dapat diinstalasi dan dijalankan pada mesin terbaru sekalipun, namun dengan keterbatasan seperti yang disebutkan di atas. Hanya saja umumnya, hal ini tidak menimbulkan masalah yang berarti karena keterbatasan tersebut hanya berlaku di sisi perangkat lunak basisdata, dalam arti ketersediaan sumber daya lainnya yang tersisa dapat dimanfaatkan oleh aplikasi lain, misalnya aplikasi server berbasis java misalnya: Sun Java System Application Server.
Fitur-fitur yang terdapat pada versi Express-C hampir sama seperti pada edisi edisi DB2 Express (produk berbayar) hanya dengan batasan jumlah CPU serta memori yang lebih kecil. Lisensi yang diimplementasikan pada DB2 membatasi penggunaan perangkat lunak ini pada lingkungan yang membutuhkan ketersediaan tinggi (Inggris: high availability environments). IBM juga tidak menawarkan perbaikan/fixpack atas versi lama dari DB2 Express C untuk diunduh secara gratis, namun perangkat lunak ini dapat terus digunakan ataupun diinstalasi jika pengguna masih memilikinya.
IBM DB2 Express-C merupakan edisi perangkat lunak sistem manajemen basis data keluarga IBM DB2 yang dapat diunduh, digunakan, serta diredistribusikan secara gratis. Versi gratis ini menawarkan baik fitur manajemen basis data relasional serta basisdata berbasis XML
Sejarah
Edisi DB2 Express-C pertama kali dibuat untuk rilis IBM DB2 versi 8.2. Kemudian disertai pula pada rilis-rilis berikutnya seperti versi 9.1 (Viper), 9.5 (Viper 2), serta 9.7 (Cobra). Implementasi atas fitur XML murni (Inggris: pureXML) diperkenalkan pada versi beta dari DB2 9.x.
Keterbatasan
Tidak seperti halnya edisi "express" (gratis) yang ditawarkan oleh kompetitor lain seperti Oracle, ataupun Microsoft, IBM tidak membatasi jumlah serta ukuran data yang disimpan pada basisdata, demikian pula halnya dengan jumlah pengguna yang terkoneksi. IBM juga menyediakan baik versi 32bit maupun 64bit meskipun pada beberapa platform tertentu hanya tersedia versi 64bit saja. Koneksi dapat dilakukan melalui protokol TCP/IP V4 dan V6 atau named pipe.
Keterbatasan yang ada pada versi gratis IBM DB2 Express-C adalah pada penggunaan memori yang dibatasi maksimum hingga 2GB, serta hanya dapat memanfaatkan CPUmaksimum hingga 2 CPU. Namun demikan keterbatasan ini tidak berarti DB2 Express C hanya dapat dijalankan pada mesin-mesin tua, perangkat lunak ini dapat diinstalasi dan dijalankan pada mesin terbaru sekalipun, namun dengan keterbatasan seperti yang disebutkan di atas. Hanya saja umumnya, hal ini tidak menimbulkan masalah yang berarti karena keterbatasan tersebut hanya berlaku di sisi perangkat lunak basisdata, dalam arti ketersediaan sumber daya lainnya yang tersisa dapat dimanfaatkan oleh aplikasi lain, misalnya aplikasi server berbasis java misalnya: Sun Java System Application Server.
Fitur-fitur yang terdapat pada versi Express-C hampir sama seperti pada edisi edisi DB2 Express (produk berbayar) hanya dengan batasan jumlah CPU serta memori yang lebih kecil. Lisensi yang diimplementasikan pada DB2 membatasi penggunaan perangkat lunak ini pada lingkungan yang membutuhkan ketersediaan tinggi (Inggris: high availability environments). IBM juga tidak menawarkan perbaikan/fixpack atas versi lama dari DB2 Express C untuk diunduh secara gratis, namun perangkat lunak ini dapat terus digunakan ataupun diinstalasi jika pengguna masih memilikinya.
PostgreSQL
PostgreSQL adalah sebuah sistem basis data yang disebarluaskan secara bebas menurut Perjanjian lisensi BSD. Piranti lunak ini merupakan salah satu basis data yang paling banyak digunakan saat ini, selain MySQL dan Oracle. PostgreSQL menyediakan fitur yang berguna untuk replikasi basis data. Fitur-fitur yang disediakan PostgreSQL antara lain DB Mirror, PGPool, Slony, PGCluster, dan lain-lain.
Pengguna PostgreSQL
• Yahoo! untuk analisa prilaku pengguna web, menyimpan 2 petabyte data dan mengklaim sebagai gudang data terbesar. Menggunakan versi PostgreSQL yang dimodifikasi, dengan engine penyimpanan berbasis kolom yang sepenuhnya berbeda.
• MySpace, situs jejaring sosial populer, menggunakan basisdata Aster nCluster untuk gudang data, dibangun diatas PostgreSQL tanpa modifikasi.
• OpenStreetMap, proyek kolaboratif untuk menciptakan peta dunia yang bebas sunting.
• Afilias, register domain untuk .org, .info, dan sebagainya.
• Sony Online multiplayer online game.
• BASF, platform belanja untuk portal agribisnisnya.
• hi5.com portal jejaring sosial.
• Skype aplikasi VoIP, basisdata pusat bisnis.
• Sun xVM, perangkat lunak virtualisasi dan otomasi datacenter milik Sun
Pengguna PostgreSQL
• Yahoo! untuk analisa prilaku pengguna web, menyimpan 2 petabyte data dan mengklaim sebagai gudang data terbesar. Menggunakan versi PostgreSQL yang dimodifikasi, dengan engine penyimpanan berbasis kolom yang sepenuhnya berbeda.
• MySpace, situs jejaring sosial populer, menggunakan basisdata Aster nCluster untuk gudang data, dibangun diatas PostgreSQL tanpa modifikasi.
• OpenStreetMap, proyek kolaboratif untuk menciptakan peta dunia yang bebas sunting.
• Afilias, register domain untuk .org, .info, dan sebagainya.
• Sony Online multiplayer online game.
• BASF, platform belanja untuk portal agribisnisnya.
• hi5.com portal jejaring sosial.
• Skype aplikasi VoIP, basisdata pusat bisnis.
• Sun xVM, perangkat lunak virtualisasi dan otomasi datacenter milik Sun
MODEL ER
Konsep Model ER
Model ER adalah kumpulan konsep dari entitas, atribut, relationship serta konstrain lainnya yang menggambar kan struktur basis data dan transaksi pada basis data.
1.Antitas : Objek dalam bentuk fisik maupun konsep yang dapat dibedakan dengan objek lainnya.
2. Atribut : karakteristik atau properti dari suatu entitas.
3. Relationship : Hubungan yang terjadi antara satu entitas atau lebih.
MAHASISWA -------- MENGERJAKAN -------- TUGAS
Diagram ER untuk relationship MENGERJAKAN
Hasil dari relasi :
a. One To One ( 1 : 1 )
b. One To Many ( 1 : M )
c. Many To One ( M : 1 )
d. Many To Many ( M : M)
Penjelasan dari Relasi :
a. One To One ( 1 : 1 )
- Satu Mahasiswa Mengerjakan Satu Tugas
- Satu Tugas Dikerjakan Satu Mahasiswa
b. One To Many ( 1 : M )
- Satu Mahasiswa Mengerjakan Semua Tugas
- Semua Tugas Dikerjakan Satu Mahasiswa
c. Many To One ( M : 1 )
- Semua Mahasiswa Mengengerjakan Satu Tugas
- Satu Tugas Dikerjakan Semua Mahasiswa
d. Many To Many ( M : M )
- Semua Mahasiswa Mengerjakan Semua Tugas
- Semua Tugas Dikerjakan Semua Mahasiswa
Model ER adalah kumpulan konsep dari entitas, atribut, relationship serta konstrain lainnya yang menggambar kan struktur basis data dan transaksi pada basis data.
1.Antitas : Objek dalam bentuk fisik maupun konsep yang dapat dibedakan dengan objek lainnya.
2. Atribut : karakteristik atau properti dari suatu entitas.
3. Relationship : Hubungan yang terjadi antara satu entitas atau lebih.
MAHASISWA -------- MENGERJAKAN -------- TUGAS
Diagram ER untuk relationship MENGERJAKAN
Hasil dari relasi :
a. One To One ( 1 : 1 )
b. One To Many ( 1 : M )
c. Many To One ( M : 1 )
d. Many To Many ( M : M)
Penjelasan dari Relasi :
a. One To One ( 1 : 1 )
- Satu Mahasiswa Mengerjakan Satu Tugas
- Satu Tugas Dikerjakan Satu Mahasiswa
b. One To Many ( 1 : M )
- Satu Mahasiswa Mengerjakan Semua Tugas
- Semua Tugas Dikerjakan Satu Mahasiswa
c. Many To One ( M : 1 )
- Semua Mahasiswa Mengengerjakan Satu Tugas
- Satu Tugas Dikerjakan Semua Mahasiswa
d. Many To Many ( M : M )
- Semua Mahasiswa Mengerjakan Semua Tugas
- Semua Tugas Dikerjakan Semua Mahasiswa
PL SQL dengan SQL PLUS
PENDAHULUAN PL SQL
PL/SQL (Procedural Language/Structured Query Language) merupakan sebuah penggabungan antara bahasa pemrograman prosedural (PL) dan SQL syntax.
PL/SQL adalah fasilitas yang disediakan Oracle sehingga pengguna dapat memanfaatkan konsep pemrograman. Dalam PL/SQL dapat digunakan perintah untuk memanipulasi data yang ada dalam database Oracle. PL/SQL membentuk pemrograman terstruktur dalam memproses data.
Beberapa kelebihan PL/SQL dalam database Oracle :
• PL/SQL dapat digunakan di server sehingga client hanya dapat mengakses didalam server.
• Penggunaan PL/SQL mudah dimengerti oleh setiap pengguna.
• PL/SQL dapat didesain khusus untuk database Oracle dalam menggunakan
• program aplikasi.
Apa Itu PL/SQL Package?
Package adalah sebuah schema object yang mengelompokkan PL/SQL types, items, dan subprograms, yang terkait secara logikal. Packages biasanya memiliki dua bagian, sebuah specification dan sebuah body, meskipun kadangkala body tersebut tidak diperlukan. Specification (atau spec) merupakan antarmuka terhadap aplikasi-aplikasi kita; ia mendeklarasikan types, variables, constants, exceptions, cursors, dan subprograms yang tersedia untuk digunakan. Body secara penuh mendefinisikan cursors dan subprograms, dan juga mengimplementasikan spec.
Seperti ditunjukkan oleh Gambar 9-1, kita dapat memikirkan sebuah spec sebagai sebuah antarmuka operasional dan body sebagai sebuah “kotak hitam (black box)”. Kita dapat men-debug, meningkatkan, atau menimpa sebuah package body tanpa mengubah antarmuka (package spec) ke package tersebut.
Contoh Sebuah PL/SQL Package
Dalam contoh di bawah ini, kita mem-package sebuah record type, sebuah cursor, dan dua procedure kepegawaian. Perlu diingat bahwa procedure hire_employee menggunakan database sequence empno_seq dan function SYSDATE untuk menambahkan sebuah employee number baru dan hire date.
CREATE OR REPLACE PACKAGE emp_actions AS -- spec
TYPE EmpRecTyp IS RECORD (emp_id INT, salary REAL);
CURSOR desc_salary RETURN EmpRecTyp;
PROCEDURE hire_employee (
ename VARCHAR2,
job VARCHAR2,
mgr NUMBER,
sal NUMBER,
comm NUMBER,
deptno NUMBER);
PROCEDURE fire_employee (emp_id NUMBER);
END emp_actions;
CREATE OR REPLACE PACKAGE BODY emp_actions AS -- body
CURSOR desc_salary RETURN EmpRecTyp IS
SELECT empno, sal FROM emp ORDER BY sal DESC;
PROCEDURE hire_employee (
ename VARCHAR2,
job VARCHAR2,
mgr NUMBER,
sal NUMBER,
comm NUMBER,
deptno NUMBER) IS
BEGIN
INSERT INTO emp VALUES (empno_seq.NEXTVAL, ename, job, mgr,
SYSDATE, sal, comm, deptno);
END hire_employee;
PROCEDURE fire_employee (emp_id NUMBER) IS
BEGIN
DELETE FROM emp WHERE empno = emp_id;
END fire_employee;
END emp_actions;
Hanya deklarasi di dalam package yang terlihat dan dapat dikses terhadap aplikasi. Detil implementasi di dalam package body disembunyikan dan tidak dapat diakses. Jadi, kita dapat mengubah body (implementation) tanpa harus meng-compile ulang program-program yang memanggilnya.
Keuntungan-keuntungan dari PL/SQL Packages
Packages menawarkan beberapa keuntungan: modularitas, desain aplikasi yang lebih mudah, penyembunyian informasi, tambahan fungsionalitas, dan performa yang lebih baik.
Modularity
Packages mengijinkan kita untuk mengenkapsulasi secara logikal types, items, dan subprograms yang berhubungan di dalam sebuah PL/SQL module yang memiliki nama. Setiap package mudah dipahami, dan antarmuka antara packages adalah sederhana, jelas, dan didefinisikan dengan baik. Hal ini membantu pembangunan aplikasi.
Easier Application Design
Ketika mendesain sebuah aplikasi, seluruh yang kita butuhkan awalnya adalah informasi antarmuka di dalam package specs tersebut. Kita dapat mengkodekan dan meng-compile sebuah spec tanpa body-nya. Kemudian, stored subprograms yang mereferensi kepada package tersebut dapat di-compile juga. Kita tidak perlu mendefinisikan package bodies secara penuh sampai kita siap untuk menyelesaikan aplikasi.
Information Hiding
Dengan packages, kita dapat menentukan types, items, dan subprograms mana saja yang bersifat public (terlihat dan dapat diakses) atau yang private (tersembunyi dan tidak dapat diakses). Sebagai contoh, jika sebuah package mengandung empat subprograms, yang tiga mungkin public dan yang satu private. Package menyembunyikan implementasi dari private subprogram sehingga hanya package tersebut (bukan aplikasi kita) yang terpengaruh jika implementasi diubah. Hal ini memudahkan pemeliharaan dan peningkatan. Juga, dengan menyembunyikan detil implementasi dari pengguna, kita dapat melindungi integritas dari package tersebut.
Added Functionality
Variable-variable dan cursor-cursor public ter-package tetap ada selama satu session. Sehingga, mereka dapat digunakan secara bersama-sama oleh subprograms yang berjalan dalam environment tersebut. Juga, mereka memperbolehkan kita memelihara data melalui transaksi-transaksi tanpa harus menyimpannya di dalam database.
Better Performance
Ketika kita memanggil sebuah subprogram terpackage untuk pertama kali, seluruh package di-load ke memory. Sehingga, pemanggilan-pemanggilan berikutnya terhadap subprogram-subprogram terkait dengan di dalam package tersebut tidak memerlukan disk I/O. Juga, packages berhenti mengaitkan ketergantungan dan dengan demikian tidak memerlukan re-compile ulang yang tidak perlu. Sebagai contoh, jika kita mengubah implementasi dari sebuah function ter-package, Oracle tidak perlu meng-compile ulang subprogram-subprogram yang memanggilnya karena mereka tidak bergantung kepada package body.
STRUKTUR PL/SQL
Struktur PL/SQL mirip dengan struktur bahasa pascal atau delphi yang menggunakan struktur blok, sehingga akan mempermudah pengertian dalam pemrograman dengan PL/SQL. Struktur Blok berisi perintah SQL dengan kondisi yang berbeda. Perintah PL/SQL dapat menangani kesalahan saat dijalankan. Setiap pengetikan dengan menggunakan PL/SQL dalam SQL*Plus selalu diakhiri dengan tanda /(slash). Sintaks penggunaan PL/SQL adalah sebagai berikut :
Declare
Begin
Exception
End
Struktur diatas dapat dijelaskan sebagai berikut :
1. Bagian Judul (Header)
Bagian ini hanya digunakan jika PL/SQL diberikan nama,misalnya untuk prosedur atau fungsi. Bagian ini berisi nama blok,daftar parameter, dan pengembalian hasil (return) jika blok adalahfungsi.
2. Bagian Deklarasi (declaration)
Bagian ini untuk membuat deklarasi mengenai semua variable dan konstanta yang direferensikan dalam pernyataan PL/SQL. Bagian deklarasi ini dimulai dengan perintah DECLARE. Jika tidak ada variable atau konstanta yang ingin dideklarasikan bagian ini boleh dihilangkan, bersifat optional.
3. Bagian Eksekusi (Execution).
Bagian ini memuat pernyataan-pernyataan PL/SQL yang akan ditulis. Bagian eksekusi ini harus dimulai dengan perintah BEGIN.
4. Bagian Perkecualian (Exception)
Bagian ini memuat cara menangani kesalahan-kesalahan (error) pada waktu eksekusi program PL/SQL, bersifat optional. Jika program tidak memuat cara menangani kesalahan, bagian ini boleh dihilangkan.Setiap pernyataan PL/SQL harus diakhiri dengan tanda titik koma(;) dan semua program PL/SQL harus diakhiri dengan perintah END.
Bentuk Umum Struktur PL/SQL
DECLARE
variabel tipe_data;
konstanta CONSTANT tipe_data := nilai;
...
BEGIN
statement_1;
statement_2;
...
EXCEPTION
WHEN nama_eksepsi THEN statement_untuk_mengatasi_error;
...
END;
Contoh Program (tanpa exception)
SQL> SET SERVEROUTPUT ON
SQL>DECLARE
v1 NUMBER(3);
BEGIN
v1 := 3;
DBMS_OUTPUT.PUT_LINE('v1= ' || v1);
END;
/
Contoh Program (dengan exception)
SQL>SET SERVEROUTPUT ON
SQL>DECLARE
X Integer;
BEGIN
X := ‘Belajar Oracle’;
DBMS_OUTPUT.PUT_LINE( TO_CHAR(X) );
EXCEPTION
WHEN VALUE_ERROR THEN
DBMS_OUTPUT.PUT_LINE (‘Kesalahan pada pengisian nilai’);
END;
/
DBMS_OUTPUT merupakan paket yang disediakan oleh Oracle PL / SQL dan PUT_LINE merupakan salah satu prosedur yang dikemas. Menampilkan nilai-nilai pada SQL Plus * terminal yang harus diaktifkan dengan SERVEROUTPUT SET ON terlebih dahulu. Untuk menjalankan kode sampel ini, login ke SQL * Plus. PL / SQL blok diakhiri dengan tanda garis miring / atau garis byitself.
PENDAHULUAN SQL PLUS
SQL adalah kependekan dari Structured Query Language, digunakan untuk berkomunikasi dengan Oracle sehingga kita dapat memerintahkan informasi apa yang ingin kita SELECT, INSERT, UPDATE atau DELETE. Keempat kata yang saya tulis dengan huruf besar tersebut merupakan kata inti yang digunakan untuk memerintahkan Oracle. Apa sih SQL*Plus itu dan apa perannya dalam database Oracle? Secara sederhana kita dapat mengatakan bahwa SQL*Plus itu seperti assisten pribadi kita saat bekerja dengan Oracle. Melalui SQ*Plus inilah kita memberikan perintah kepada Oracle dan kita dapat melihat hasilnya.
Keistimewaan sql plus
• menerima tambahan masukan perintah
• menerima input SQL dari file file
• tersedia line ditor untuk memidifikasi perintah SQL
• terdapat seting untuk penanganan yang berhubungan dengan lingkungan
• hasil query d buat dalam sebuah laporn standart
• mengakses data base secara lokal dan remote
SQL *PLUS dipergunakan untuk mengakses Oracle Database Server. Untuk mengakses server dibuat sebuah service yang mengarahkan client ke server terlebih dahulu (Database Alias). Tahapan untuk membuat service tersebut sebagai berikut :
1. Pada dialog diatas diberi service name TPRAKTIKUM. Klik next
2. Pilih protocol yang menghubungkan antara client dengan server. Pada kesempatan ini untuk menghunbungkan client ke server mempergunakan protocol TCP/IP. Berikutnya klik Next.
3. Pada field Host Name masukkan nama host name atau alamat IP address server ORACLE, misalnya nt5. Klik Next
4. Pada menu field Database SID, pada layar System IDentifier, masukkan nama database SID, misalnya lab4. Berikunya klik Next.
5. Untuk mencoba service name yang sudah dibuat, perlu dilakukan testing. Klik tombol Test Service, dan akan menuju layar testing.
6. Pada layar Conection Test masukkan username dan password. Silahkan masukkan Username scott dan Password tiger, klik tombol test, maka akan ditampilkan respon server. Jika sukses akan ada komentar ….successful..
jika gagal akan muncul komentar bahwa service yang dibuat gagal.
Setelah Service Name dibuat, kini masuk kedalam SQL *PLUS untuk mengakses database server.
Buka SQL *PLUS dari menu Start��Program��Oralce-OraHome81��
Aplication Development��SQL PLUS.
Akan muncul dialog SQL plus sebagai berikut :
Masukkan pada User Name system, password manager dan Host String dengan service name yang sudah dibuat tadi (TPRAKTIKUM).
Jika Login berhasil maka akan muncul Oracle SQL *PLUS sebagai berikut :
TABLESPACE
Untuk menyimpan obyek-obyek database dibutuhkan suatu ruang memori yang disebut TABLESPACE. Untuk mengakses tablespace dibutuhkan sebuah account user. Berikut ini perintah SQL untuk membuat tablespace, user dan perintah untuk manipulasi tabel.
1. Melihat tablespace
select * from user_free_space;
2. Membuat tablespace
SQL>Create tablespace nama-tablespace datafile ‘nama-datafile.dat’ size 1M
autoextend on next 500K maxsize 2M;
3. Mengubah ukuran tablespace
SQL>alter database datafile ‘nama-datafile.dat’ resize 2M;
4. Menambah ukuran tablespace dengan cara menambahkan data file baru
SQL>alter tablespace dataku add datafile ‘nama-datafile.dat’ size 2M;
5. Menghapus table space
SQL>drop tablespace nama-tablespace including contents;
Setelah Tablespace siap, maka langkah selanjutnya membuat account baru.
Account ini akan anda pergunakan selama praktikum. Account yang sudah ada ketika instalasi selesai adalah SYS, SYSTEM dan SCOTT. Untuk membuat account baru kita mempergunakan user SYS dan SYSTEM. Pergunakan tablespace yang tadi telah anda buat untuk menyimpan data anda selama praktikum.
1. Membuat user baru dan dengan tablespace yang dipakai misalnya dtpraktek.
SQL>create user nama_user identified by password-user default
tablespace dtpraktek;
Parameter nama_user adalah nama login, dan password-user adalah password user yang dipilih. Misalnya dipilih untuk nama_user user01.
2. Berikan hak akses user pada database. Misalnya hak akses grant dan resource.
SQL> grant connect to user01;
SQL> grant resource to user01;
3. Langkah berikutnya, lakukan sambungan dengan server dengan mempergunakan user_name yang sudah dibuat tadi.
SQL> connect user01
Enter password: ******
Connected.
4. Saat ini sudah tersambung dengan server dengan mempergunakan user01.
Buat tabel mahasiswa yang memiliki struktur nim varchar(5), nama
varchar(25), alamat varcahr(30).
SQL> create table mahasiswa (nim varchar(5), nama varchar(25), alamat
varchar(30));
5. Untuk melihat tabel yang ada dalam tablespace mempergunakan perintah :
SQL> select * from tab;
6. Untuk melihat struktur tabel dapat dilakukan dengan mempergunakan
perintah :
SQL>describe mahasiswa;
7. Perintah alter berguna untuk melakukan perubahan tabel diantaranya merubah tipe field, menambah field baru dan merubah nama tabel.
Merubah tipe field tabel :
SQL>alter table mahasiswa modify (nim number(5));
Menambah field tabel :
SQL>alter table mahasiswa add (usia number(2));
Mengganti nama tabel :
SQL>alter table mahasiswa rename to mhs;
8. Untuk menambahkan data kedalam tabel, pergunakan perintah insert
SQL>insert into mahasiswa values(1,’Sumanto’,’Sleman’);
9. Data yang sudah disimpan dalam tabel dapat diedit dengan memperguanakan perintah update.
SQL>update mahasiswa set nama = ‘Sumanto’ where nim=1;
10. Untuk keperluan penghapusan data, pergunakan perintah :
SQL>delete from mahasiswa where nim=1;
CONSTRAINT
Constraint (konstrain) adalah aturan yang diberikan pada suatu tabel supaya data yang dimasukkan lebih terjamin validitasnya.
1. Memberi konstrain pada saat membuat tabel :
SQL>create table mahasiswa(nim char(5) constraint pnim primary key, nama
char(20) constraint nnama not null, alamat char(30));
2. Memberi konstrain pada tabel yang sudah ada :
SQL>alter table mahasiswa add constraint pnim primary key (nim);
SQL>alter table mahasiswa modify (nama char(20) constraint nnama not null);
3. Menghapus konstrain :
SQL>alter table mahasiswa drop constraint nnama;
ORDER BY
Klausa ORDER BY digunakan untuk mengurutkan data yang di-query. Klausa ORDER BY diikuti dengan nama kolom atau kolom alias kemudian diikuti klausa jenis urutan yang kita inginkan. Jenis urutan bisa ASC (ascending) atau DESC (descending). Sebagai ilustrasi, tampilkan semua data dengan cara diurutkan ascending berdasarkan nama mahasiswa.
SQL> select * from mahasiswa order by nama;
SQL> select * from mahasiswa order by nama desc;
WHERE
Klausa LIKE WHERE digunakan untuk membatasi query menurut criteria tertentu. Kriteria ini didefinisikan menggunakan bentuk perbandingan. Sebagai ilustrasi, tampilkan data mahasiswa yang berasal dari Jogjakarta.
SQL> select * from mahasiswa where alamat = ‘Jogjakarta’;
LIKE
Klausa LIKE digunakan untuk membatasi query menurut nilai tertentu. Nilai ini merupakan sebagian dari nilai suatu field. Sebagai ilustrasi, akan ditampilkan data mahasiswa yang memiliki nama yang nama akhirnya mengandung huruf “ni”.
SQL> select * from mahasiswa where nama like ‘%ni’;
PL/SQL (Procedural Language/Structured Query Language) merupakan sebuah penggabungan antara bahasa pemrograman prosedural (PL) dan SQL syntax.
PL/SQL adalah fasilitas yang disediakan Oracle sehingga pengguna dapat memanfaatkan konsep pemrograman. Dalam PL/SQL dapat digunakan perintah untuk memanipulasi data yang ada dalam database Oracle. PL/SQL membentuk pemrograman terstruktur dalam memproses data.
Beberapa kelebihan PL/SQL dalam database Oracle :
• PL/SQL dapat digunakan di server sehingga client hanya dapat mengakses didalam server.
• Penggunaan PL/SQL mudah dimengerti oleh setiap pengguna.
• PL/SQL dapat didesain khusus untuk database Oracle dalam menggunakan
• program aplikasi.
Apa Itu PL/SQL Package?
Package adalah sebuah schema object yang mengelompokkan PL/SQL types, items, dan subprograms, yang terkait secara logikal. Packages biasanya memiliki dua bagian, sebuah specification dan sebuah body, meskipun kadangkala body tersebut tidak diperlukan. Specification (atau spec) merupakan antarmuka terhadap aplikasi-aplikasi kita; ia mendeklarasikan types, variables, constants, exceptions, cursors, dan subprograms yang tersedia untuk digunakan. Body secara penuh mendefinisikan cursors dan subprograms, dan juga mengimplementasikan spec.
Seperti ditunjukkan oleh Gambar 9-1, kita dapat memikirkan sebuah spec sebagai sebuah antarmuka operasional dan body sebagai sebuah “kotak hitam (black box)”. Kita dapat men-debug, meningkatkan, atau menimpa sebuah package body tanpa mengubah antarmuka (package spec) ke package tersebut.
Contoh Sebuah PL/SQL Package
Dalam contoh di bawah ini, kita mem-package sebuah record type, sebuah cursor, dan dua procedure kepegawaian. Perlu diingat bahwa procedure hire_employee menggunakan database sequence empno_seq dan function SYSDATE untuk menambahkan sebuah employee number baru dan hire date.
CREATE OR REPLACE PACKAGE emp_actions AS -- spec
TYPE EmpRecTyp IS RECORD (emp_id INT, salary REAL);
CURSOR desc_salary RETURN EmpRecTyp;
PROCEDURE hire_employee (
ename VARCHAR2,
job VARCHAR2,
mgr NUMBER,
sal NUMBER,
comm NUMBER,
deptno NUMBER);
PROCEDURE fire_employee (emp_id NUMBER);
END emp_actions;
CREATE OR REPLACE PACKAGE BODY emp_actions AS -- body
CURSOR desc_salary RETURN EmpRecTyp IS
SELECT empno, sal FROM emp ORDER BY sal DESC;
PROCEDURE hire_employee (
ename VARCHAR2,
job VARCHAR2,
mgr NUMBER,
sal NUMBER,
comm NUMBER,
deptno NUMBER) IS
BEGIN
INSERT INTO emp VALUES (empno_seq.NEXTVAL, ename, job, mgr,
SYSDATE, sal, comm, deptno);
END hire_employee;
PROCEDURE fire_employee (emp_id NUMBER) IS
BEGIN
DELETE FROM emp WHERE empno = emp_id;
END fire_employee;
END emp_actions;
Hanya deklarasi di dalam package yang terlihat dan dapat dikses terhadap aplikasi. Detil implementasi di dalam package body disembunyikan dan tidak dapat diakses. Jadi, kita dapat mengubah body (implementation) tanpa harus meng-compile ulang program-program yang memanggilnya.
Keuntungan-keuntungan dari PL/SQL Packages
Packages menawarkan beberapa keuntungan: modularitas, desain aplikasi yang lebih mudah, penyembunyian informasi, tambahan fungsionalitas, dan performa yang lebih baik.
Modularity
Packages mengijinkan kita untuk mengenkapsulasi secara logikal types, items, dan subprograms yang berhubungan di dalam sebuah PL/SQL module yang memiliki nama. Setiap package mudah dipahami, dan antarmuka antara packages adalah sederhana, jelas, dan didefinisikan dengan baik. Hal ini membantu pembangunan aplikasi.
Easier Application Design
Ketika mendesain sebuah aplikasi, seluruh yang kita butuhkan awalnya adalah informasi antarmuka di dalam package specs tersebut. Kita dapat mengkodekan dan meng-compile sebuah spec tanpa body-nya. Kemudian, stored subprograms yang mereferensi kepada package tersebut dapat di-compile juga. Kita tidak perlu mendefinisikan package bodies secara penuh sampai kita siap untuk menyelesaikan aplikasi.
Information Hiding
Dengan packages, kita dapat menentukan types, items, dan subprograms mana saja yang bersifat public (terlihat dan dapat diakses) atau yang private (tersembunyi dan tidak dapat diakses). Sebagai contoh, jika sebuah package mengandung empat subprograms, yang tiga mungkin public dan yang satu private. Package menyembunyikan implementasi dari private subprogram sehingga hanya package tersebut (bukan aplikasi kita) yang terpengaruh jika implementasi diubah. Hal ini memudahkan pemeliharaan dan peningkatan. Juga, dengan menyembunyikan detil implementasi dari pengguna, kita dapat melindungi integritas dari package tersebut.
Added Functionality
Variable-variable dan cursor-cursor public ter-package tetap ada selama satu session. Sehingga, mereka dapat digunakan secara bersama-sama oleh subprograms yang berjalan dalam environment tersebut. Juga, mereka memperbolehkan kita memelihara data melalui transaksi-transaksi tanpa harus menyimpannya di dalam database.
Better Performance
Ketika kita memanggil sebuah subprogram terpackage untuk pertama kali, seluruh package di-load ke memory. Sehingga, pemanggilan-pemanggilan berikutnya terhadap subprogram-subprogram terkait dengan di dalam package tersebut tidak memerlukan disk I/O. Juga, packages berhenti mengaitkan ketergantungan dan dengan demikian tidak memerlukan re-compile ulang yang tidak perlu. Sebagai contoh, jika kita mengubah implementasi dari sebuah function ter-package, Oracle tidak perlu meng-compile ulang subprogram-subprogram yang memanggilnya karena mereka tidak bergantung kepada package body.
STRUKTUR PL/SQL
Struktur PL/SQL mirip dengan struktur bahasa pascal atau delphi yang menggunakan struktur blok, sehingga akan mempermudah pengertian dalam pemrograman dengan PL/SQL. Struktur Blok berisi perintah SQL dengan kondisi yang berbeda. Perintah PL/SQL dapat menangani kesalahan saat dijalankan. Setiap pengetikan dengan menggunakan PL/SQL dalam SQL*Plus selalu diakhiri dengan tanda /(slash). Sintaks penggunaan PL/SQL adalah sebagai berikut :
Declare
Begin
Exception
End
Struktur diatas dapat dijelaskan sebagai berikut :
1. Bagian Judul (Header)
Bagian ini hanya digunakan jika PL/SQL diberikan nama,misalnya untuk prosedur atau fungsi. Bagian ini berisi nama blok,daftar parameter, dan pengembalian hasil (return) jika blok adalahfungsi.
2. Bagian Deklarasi (declaration)
Bagian ini untuk membuat deklarasi mengenai semua variable dan konstanta yang direferensikan dalam pernyataan PL/SQL. Bagian deklarasi ini dimulai dengan perintah DECLARE. Jika tidak ada variable atau konstanta yang ingin dideklarasikan bagian ini boleh dihilangkan, bersifat optional.
3. Bagian Eksekusi (Execution).
Bagian ini memuat pernyataan-pernyataan PL/SQL yang akan ditulis. Bagian eksekusi ini harus dimulai dengan perintah BEGIN.
4. Bagian Perkecualian (Exception)
Bagian ini memuat cara menangani kesalahan-kesalahan (error) pada waktu eksekusi program PL/SQL, bersifat optional. Jika program tidak memuat cara menangani kesalahan, bagian ini boleh dihilangkan.Setiap pernyataan PL/SQL harus diakhiri dengan tanda titik koma(;) dan semua program PL/SQL harus diakhiri dengan perintah END.
Bentuk Umum Struktur PL/SQL
DECLARE
variabel tipe_data;
konstanta CONSTANT tipe_data := nilai;
...
BEGIN
statement_1;
statement_2;
...
EXCEPTION
WHEN nama_eksepsi THEN statement_untuk_mengatasi_error;
...
END;
Contoh Program (tanpa exception)
SQL> SET SERVEROUTPUT ON
SQL>DECLARE
v1 NUMBER(3);
BEGIN
v1 := 3;
DBMS_OUTPUT.PUT_LINE('v1= ' || v1);
END;
/
Contoh Program (dengan exception)
SQL>SET SERVEROUTPUT ON
SQL>DECLARE
X Integer;
BEGIN
X := ‘Belajar Oracle’;
DBMS_OUTPUT.PUT_LINE( TO_CHAR(X) );
EXCEPTION
WHEN VALUE_ERROR THEN
DBMS_OUTPUT.PUT_LINE (‘Kesalahan pada pengisian nilai’);
END;
/
DBMS_OUTPUT merupakan paket yang disediakan oleh Oracle PL / SQL dan PUT_LINE merupakan salah satu prosedur yang dikemas. Menampilkan nilai-nilai pada SQL Plus * terminal yang harus diaktifkan dengan SERVEROUTPUT SET ON terlebih dahulu. Untuk menjalankan kode sampel ini, login ke SQL * Plus. PL / SQL blok diakhiri dengan tanda garis miring / atau garis byitself.
PENDAHULUAN SQL PLUS
SQL adalah kependekan dari Structured Query Language, digunakan untuk berkomunikasi dengan Oracle sehingga kita dapat memerintahkan informasi apa yang ingin kita SELECT, INSERT, UPDATE atau DELETE. Keempat kata yang saya tulis dengan huruf besar tersebut merupakan kata inti yang digunakan untuk memerintahkan Oracle. Apa sih SQL*Plus itu dan apa perannya dalam database Oracle? Secara sederhana kita dapat mengatakan bahwa SQL*Plus itu seperti assisten pribadi kita saat bekerja dengan Oracle. Melalui SQ*Plus inilah kita memberikan perintah kepada Oracle dan kita dapat melihat hasilnya.
Keistimewaan sql plus
• menerima tambahan masukan perintah
• menerima input SQL dari file file
• tersedia line ditor untuk memidifikasi perintah SQL
• terdapat seting untuk penanganan yang berhubungan dengan lingkungan
• hasil query d buat dalam sebuah laporn standart
• mengakses data base secara lokal dan remote
SQL *PLUS dipergunakan untuk mengakses Oracle Database Server. Untuk mengakses server dibuat sebuah service yang mengarahkan client ke server terlebih dahulu (Database Alias). Tahapan untuk membuat service tersebut sebagai berikut :
1. Pada dialog diatas diberi service name TPRAKTIKUM. Klik next
2. Pilih protocol yang menghubungkan antara client dengan server. Pada kesempatan ini untuk menghunbungkan client ke server mempergunakan protocol TCP/IP. Berikutnya klik Next.
3. Pada field Host Name masukkan nama host name atau alamat IP address server ORACLE, misalnya nt5. Klik Next
4. Pada menu field Database SID, pada layar System IDentifier, masukkan nama database SID, misalnya lab4. Berikunya klik Next.
5. Untuk mencoba service name yang sudah dibuat, perlu dilakukan testing. Klik tombol Test Service, dan akan menuju layar testing.
6. Pada layar Conection Test masukkan username dan password. Silahkan masukkan Username scott dan Password tiger, klik tombol test, maka akan ditampilkan respon server. Jika sukses akan ada komentar ….successful..
jika gagal akan muncul komentar bahwa service yang dibuat gagal.
Setelah Service Name dibuat, kini masuk kedalam SQL *PLUS untuk mengakses database server.
Buka SQL *PLUS dari menu Start��Program��Oralce-OraHome81��
Aplication Development��SQL PLUS.
Akan muncul dialog SQL plus sebagai berikut :
Masukkan pada User Name system, password manager dan Host String dengan service name yang sudah dibuat tadi (TPRAKTIKUM).
Jika Login berhasil maka akan muncul Oracle SQL *PLUS sebagai berikut :
TABLESPACE
Untuk menyimpan obyek-obyek database dibutuhkan suatu ruang memori yang disebut TABLESPACE. Untuk mengakses tablespace dibutuhkan sebuah account user. Berikut ini perintah SQL untuk membuat tablespace, user dan perintah untuk manipulasi tabel.
1. Melihat tablespace
select * from user_free_space;
2. Membuat tablespace
SQL>Create tablespace nama-tablespace datafile ‘nama-datafile.dat’ size 1M
autoextend on next 500K maxsize 2M;
3. Mengubah ukuran tablespace
SQL>alter database datafile ‘nama-datafile.dat’ resize 2M;
4. Menambah ukuran tablespace dengan cara menambahkan data file baru
SQL>alter tablespace dataku add datafile ‘nama-datafile.dat’ size 2M;
5. Menghapus table space
SQL>drop tablespace nama-tablespace including contents;
Setelah Tablespace siap, maka langkah selanjutnya membuat account baru.
Account ini akan anda pergunakan selama praktikum. Account yang sudah ada ketika instalasi selesai adalah SYS, SYSTEM dan SCOTT. Untuk membuat account baru kita mempergunakan user SYS dan SYSTEM. Pergunakan tablespace yang tadi telah anda buat untuk menyimpan data anda selama praktikum.
1. Membuat user baru dan dengan tablespace yang dipakai misalnya dtpraktek.
SQL>create user nama_user identified by password-user default
tablespace dtpraktek;
Parameter nama_user adalah nama login, dan password-user adalah password user yang dipilih. Misalnya dipilih untuk nama_user user01.
2. Berikan hak akses user pada database. Misalnya hak akses grant dan resource.
SQL> grant connect to user01;
SQL> grant resource to user01;
3. Langkah berikutnya, lakukan sambungan dengan server dengan mempergunakan user_name yang sudah dibuat tadi.
SQL> connect user01
Enter password: ******
Connected.
4. Saat ini sudah tersambung dengan server dengan mempergunakan user01.
Buat tabel mahasiswa yang memiliki struktur nim varchar(5), nama
varchar(25), alamat varcahr(30).
SQL> create table mahasiswa (nim varchar(5), nama varchar(25), alamat
varchar(30));
5. Untuk melihat tabel yang ada dalam tablespace mempergunakan perintah :
SQL> select * from tab;
6. Untuk melihat struktur tabel dapat dilakukan dengan mempergunakan
perintah :
SQL>describe mahasiswa;
7. Perintah alter berguna untuk melakukan perubahan tabel diantaranya merubah tipe field, menambah field baru dan merubah nama tabel.
Merubah tipe field tabel :
SQL>alter table mahasiswa modify (nim number(5));
Menambah field tabel :
SQL>alter table mahasiswa add (usia number(2));
Mengganti nama tabel :
SQL>alter table mahasiswa rename to mhs;
8. Untuk menambahkan data kedalam tabel, pergunakan perintah insert
SQL>insert into mahasiswa values(1,’Sumanto’,’Sleman’);
9. Data yang sudah disimpan dalam tabel dapat diedit dengan memperguanakan perintah update.
SQL>update mahasiswa set nama = ‘Sumanto’ where nim=1;
10. Untuk keperluan penghapusan data, pergunakan perintah :
SQL>delete from mahasiswa where nim=1;
CONSTRAINT
Constraint (konstrain) adalah aturan yang diberikan pada suatu tabel supaya data yang dimasukkan lebih terjamin validitasnya.
1. Memberi konstrain pada saat membuat tabel :
SQL>create table mahasiswa(nim char(5) constraint pnim primary key, nama
char(20) constraint nnama not null, alamat char(30));
2. Memberi konstrain pada tabel yang sudah ada :
SQL>alter table mahasiswa add constraint pnim primary key (nim);
SQL>alter table mahasiswa modify (nama char(20) constraint nnama not null);
3. Menghapus konstrain :
SQL>alter table mahasiswa drop constraint nnama;
ORDER BY
Klausa ORDER BY digunakan untuk mengurutkan data yang di-query. Klausa ORDER BY diikuti dengan nama kolom atau kolom alias kemudian diikuti klausa jenis urutan yang kita inginkan. Jenis urutan bisa ASC (ascending) atau DESC (descending). Sebagai ilustrasi, tampilkan semua data dengan cara diurutkan ascending berdasarkan nama mahasiswa.
SQL> select * from mahasiswa order by nama;
SQL> select * from mahasiswa order by nama desc;
WHERE
Klausa LIKE WHERE digunakan untuk membatasi query menurut criteria tertentu. Kriteria ini didefinisikan menggunakan bentuk perbandingan. Sebagai ilustrasi, tampilkan data mahasiswa yang berasal dari Jogjakarta.
SQL> select * from mahasiswa where alamat = ‘Jogjakarta’;
LIKE
Klausa LIKE digunakan untuk membatasi query menurut nilai tertentu. Nilai ini merupakan sebagian dari nilai suatu field. Sebagai ilustrasi, akan ditampilkan data mahasiswa yang memiliki nama yang nama akhirnya mengandung huruf “ni”.
SQL> select * from mahasiswa where nama like ‘%ni’;
Selasa, 23 November 2010
Bagan Karyawan
40208552 | Annisa | Jakarta | 2A |
73829483 | Indra | Bogor | 1B |
38374728 | Dwi | Depok | 2B |
24732838 | Imam | Bekasi | 1A |
84722837 | Anggi | Jakarta | 1B |
65622986 | Farah | Bekasi | 2A |
72618384 | Denis | Bogor | 1B |
NO | Nama | Jabatan | Golongan | Gaji |
1 | Annisa | Office | 2A | 2.000.000 |
2 | Indra | Programer | 1B | 3.000.000 |
3 | Dwi | Personalia | 2B | 1.800.000 |
4 | Imam | Sekretaris | 1A | 1.500.000 |
5 | Anggi | Office | 1B | 3.000.000 |
6 | Farah | Personalia | 2A | 2.000.000 |
7 | Denis | Office | 1B | 3.000.000 |
Langganan:
Postingan (Atom)