Praktikum Basis Data (Oracle) – Part 1

Dengan dimulainya tahun ajaran baru untuk Praktikum Basis Data Semester ini, aku punya ide untuk share pengalaman tentang hal terkait yang mana sudah pernah aku jalani di semester sebelumnya. Aku harap bisa bermanfaat khususnya bagi yang sedang Praktikum Basis Data Oracle atau bagi teman-teman lainnya yang lagi belajar mengenai Oracle πŸ™‚

Pada bagian pertama ini, aku ingin share mengenai beberapa hal berikut :

  1. Membuat User baru di Oracle
  2. Membuat Tablespace untuk User tertentu di Oracle
  3. Memberikan hak akses agar user bisa login, bisa membuat Table, user bisa membuat Tablespace, Β user dapat membuat View, Store Procedure, Trigger dan komponen DBMS lainnya.
  4. Contoh sederhana untuk membuat tabel baru dan insert record baru pada tabel tersebut.

Pertama (Membuat Tablespace Oracle)

Tablespace yang dibuat tersendiri ini nantinya berguna untuk user tertentu sebagai lokasi penyimpanan datanya, seperti tabel, view dan lain sebagainya. Tablespace ini berupa suatu file dengan ekstensi / bertipe file “.ora“, yang disimpan pada lokasi sesuai pilihan kita. Misalkan kita akan membuat suatu tablespace dengan nama praktikum yang disimpan pada file praktikum.ora, berikut ini query-nya :

CREATE TABLESPACE praktikum DATAFILE 'D:\Oracle\praktikum.ora'
SIZE 1M
AUTOEXTEND ON NEXT 500K
MAXSIZE 3M;

Script diatas bisa dijalankan melalui SQL Plus atau Interface lainnya yang mendukung operasi database Oracle. Keterangan dari script diatas adalah sebagai berikut :

  1. Baris pertama adalah untuk membuat tablespace dengan nama tersebut yang disimpan pada Drive D:/ dengan path tersebut.
  2. Baris kedua untuk menentukan berapa besar kapasitas file tablespace ini
  3. Baris ketiga merupakan ketentuan untuk file tablespace tersebut jika kapasitas penyimpanan melampaui batas yang ditentukan di baris kedua, istilahnya akan membengkak sebesar 500Kb tiap kali terjadi pembengkakan
  4. Baris terakhir adalah ketentuan berapa besar maksimal ukuran tablespace ini (Tidak bisa bengkak lagi).

Kedua (Membuat User Baru di Oracle)

Berikut ini contoh query untuk membuat user baru di Oracle menggunakan tablespace yang sudah dibuat pada poin pertama tadi.

CREATE USER rendra IDENTIFIED BY kurniawan DEFAULT TABLESPACE praktikum;

Ketiga (Memberi Hak Akses Pada User Oracle)

Setelah berhasil membuat user baru, sekarang diberi hak akses agar bisa melakukan beberapa hal seperti, login, membuat table, membuat view dan membuat tablespace. Sintaks yang bisa digunakan adalah sebagai berikut :

GRANT CONNECT, RESOURCE TO rendra;
GRANT CREATE VIEW TO rendra;
GRANT TRIGGER TO rendra;

Konsep untuk memberi hak akses adalah seperti script diatas, jika pemberian hak akses diatas masih kurang, bisa ditambahkan sendiri sesuai format seperti tersebut diatas.

Keempat (Membuat Table Baru & Insert Record)

Setelah pemberian hak akses, silahkan coba masuk/login sebagai user yang baru dibuat tadi dengan perintah conn rendra kemudian masukkan passwordnya. Setelah berhasil masuk/login, mencoba untuk membuat 2 buah tabel yaitu tabel mhs dan jurusan. Contoh perintahnya seperti ini :

CREATE TABLE MHS(NPM VARCHAR(15) NOT NULL,NAMA_LENGKAP VARCHAR(70),GENDER CHAR(1) NOT NULL,
TTL VARCHAR(50),
PRIMARY KEY(NPM) USING INDEX);

CREATE TABLE JURUSAN(
KD_JURUSAN INT NOT NULL,
NM_JURUSAN VARCHAR(50),
CONSTRAINT NM_JURUSAN_U PRIMARY KEY(KD_JURUSAN) USING INDEX);

Dan script dibawah ini adalah untuk insert data di tabel yang barusan dibuat tadi :

INSERT INTO MHS VALUES ('06.2009.1.04900', 'Rendra Kurniawan', 'L', 'Mojokerto, 23 Mei 1990', 1);

Bonus, script ini adalah contoh untuk membuat View di Oracle :

CREATE VIEW lihat_mhs AS
SELECT MHS.NPM, MHS.NAMA_LENGKAP, JURUSAN.NM_JURUSAN
FROM MHS INNER JOIN
JURUSAN ON MHS.KD_JURUSAN = JURUSAN.KD_JURUSAN
ORDER BY MHS.NPM ASC;

Okelah,,, sekian semoga bermanfaat… sampai ketemu di PART selanjutnya ya…
Thanks

Contoh Procedure Oracle Menentukan Huruf Vokal & Konsonan Dari Record Tabel

Selamat pagi… πŸ™‚

Pagi ini aku mau berbagi pengalaman yang aku dapat dari Praktikum Basis Data yang baru saja aku lalui, tinggal Final Project nya saja, semoga lancar. Di modul terakhir aku mendapatkan soal, “Tampilkan huruf vokal dan konsonan pada value/record dari suatu tabel!”

Kurang lebih soalnya begitu, ya intinya bagaimana caranya menampilkan huruf vokal dan konsonan pada suatu kata/kalimat yang termasuk dalam record value dari tabel yang ada menggunakan Procedure di Oracle10g. Oke, misalkan aku punya tabel dengan nama “MHS”, dengan field sebagai berikut :

NPM_MHS NAMA_MHS JURUSAN
06.2009.1.04900 Rendra Kurniawan T. Informatika
06.2009.1.04901 Muadzin Rizal T. Informatika

Nah dari tabel tersebut diatas, misalnya aku mau menentukan field yang akan aku olah adalah field NAMA_MHS untuk ditentukan huruf vokal dan konsonan dari tiap value/record yang ada yaitu “Rendra Kurniawan & Muadzin Rizal” sesuai isi tabel. Oke, kurang lebih berikut ini contoh PL/SQL Procedure di Oracle untuk menentukan vokal dan konsonan dari record yang ada di tabel MHS :

CREATE OR REPLACE PROCEDURE VOKAL IS
CURSOR NAMA IS SELECT NMSIS FROM MHS;
EMP_REC NAMA%ROWTYPE;
panjang_kar INTEGER;
karakter VARCHAR(1);
kata VARCHAR(25);
i INTEGER;
BEGIN
	OPEN NAMA;
	FETCH NAMA INTO EMP_REC;
	kata := EMP_REC.NMSIS;
	panjang_kar := LENGTH(kata);
	FOR i IN 1..panjang_kar LOOP
		karakter := SUBSTR(kata,i);
		IF INSTR(karakter, 'a') OR INSTR(karakter, 'e')
		OR INSTR(karakter, 'i') OR INSTR(karakter, 'o')
		OR INSTR(karakter, 'u') THEN
			DBMS_OUTPUT.PUT_LINE('Vokal : ' || karakter);
		ELSE
			DBMS_OUTPUT.PUT_LINE('Konsonan : ' || karakter);
		END IF;
	END LOOP;
	CLOSE NAMA;
END;

Sekian,,, semoga bermanfaat bagi semua :mrgreen:

Menampilkan Deret Bilangan Prima Dengan PL/SQL

Selamat pagi,,, πŸ˜‰
Kali ini aku mau berbagi satu hal baru (bagiku) tentang PL/SQL yang baru ku pelajari. Contoh source code berikut ini adalah untuk menampilkan deretan bilangan prima menggunakan PL/SQL Oracle. Oke, langsung saja lihat source code deretan bilangan prima denga PL/SQL Oracle berikut ini :

SET SERVEROUTPUT ON
DECLARE
K NUMBER(3);
I INTEGER;
BEGIN
K:=&input;
DBMS_OUTPUT.PUT('2 ');
FOR I IN 2..K LOOP
	IF MOD(I,2)>0 THEN
		IF I > 7 THEN
			IF MOD(I,3)>0 AND MOD(I,5)>0 AND MOD(I,7)>0 THEN
				DBMS_OUTPUT.PUT(TO_CHAR(I) || ' ');
			END IF;
		ELSE
			DBMS_OUTPUT.PUT(TO_CHAR(I) || ' ');
		END IF;
	END IF;
END LOOP;
DBMS_OUTPUT.NEW_LINE;
END;

Sedikit keterangan mengenai kode diatas, untuk variabel K digunakan untuk menampung hasil input yang merupakan sampai angka berapa deretan bilangan prima ditampilkan.

Konfigurasi Apache PHP Koneksi Dengan Oracle Database

Selamat siang semua :D, kali ini aku (yang barusan belajar ulang tentang Oracle) mencoba berbagi pengalaman mengenai Database Oracle dan Apache PHP MySql bagaimana bisa saling terhubung/terkoneksi di Sistem Operasi Windows. Saat kalian install PHP+Apache atau yang biasanya pake Xampp atau AppServ pasti extension oci8 (suatu extension yang digunakan untuk mengkomunikasikan Apache+PHP dengan Database Oracle) belum terinstall, namun sudah ada di dalam file konfigurasi PHPnya. Nah, bagaimana cara install / meng-koneksikan Database Oracle dengan Apache PHP ?

Berikut adalah langkah-langkah yang harus ditempuh (berlaku bagi pengguna Xampp maupun AppServ) :

  1. Pastikan Oracle Database server dan Webserver (PHP, Apache) kalian sudah diinstal dan berjalan dengan baik.
  2. Setelah itu silahkan kalian download Instant Oracle Client. Sesuaikan dengan PC kalian dan sesuaikan dengan versi berapa Oracle Database kalian. Juga tidak lupa sesuaikan kebutuhan Oracle Client nya, karena banyak versi. Ada yang Basic, Basic Lite dan sebagainya.
  3. Setelah selesai download, extract file tadi ke drive C:. Misalkan hasil extractnya jadi seperti ini C:\instantclient_10_2
  4. Setelah itu buka Environment Variables di Account kalian. Disitu ada dua area, yang satu untuk environment variables user, yang satunya lagi untuk system. Fokus di Environment Variables User saja.
  5. Disitu ada Variable PATH, edit variable tadi, tambahkan path yang sesuai dengan hasil extract file Instant Client Oracle tadi yaitu “C:\instantclient_10_2”
  6. Setelah itu OK. Kemudian mari kita masuk ke folder hasil extract tadi, disana ada file oraociei10.dll, orannzsbb10.dll, oci.dll. Nah 3 file tersebut copy ke dalam folder Apache kalian (C:\AppServ\Apache2.2\bin) atau bisa kalian sesuaikan dengan PATH dimana kalian install Apache.
  7. Kemudian, sekarang buka file php.ini yang ada di C:\Windows\php.ini, cari kata extension=php_oci8.dll. Hilangkan tanda “;” semicolon yang ada di depannya. Setelah itu save file tersebut.
  8. Terakhir, tinggal restart service Apache nya πŸ™‚

Dan,,,, sekarang coba cek di phpinfo(), tadaaaaa… bisa kan :mrgreen:. Selamat mencoba!

Oracle yang aku pakai adalah Oracle 10g XE.