Selasa, 21 April 2009

nawan's blog: DLL dan DML

nawan's blog: DLL dan DML

BAB I

PENDAHULUAN




  1. Latar Belakang Masalah

Data dan Informasi telah menjadi bagian vital dalam pertumbuhan bisnis. Saat ini data dan informasi pada umumnya disimpan dalam satu atau lebih database. Pada skala yang luas dan historis penyimpanan data disimpan dalam sebuah gudang data atau yang lebih dikenal dengan Datawarehouse. Data dan informasi tersebut dikelola oleh sistem khusus yang dikenal dengan Database Management System (DBMS).

DBMS tidak hanya berperan untuk menyimpan data ataupun informasi, tetapi juga dapat berperan besar dalam pengelolaan, manipulasi data, hingga usiness Intelegence. DBMS seperti SQL Server, MySQL, PostgreSQL, SQL*Plus ataupun Oracle, pada umumnya berkomunikasi dengan antarmuka aplikasi dengan menggunakan dua pendekatan yakni menggunakan SQL Statement dan Stored procedure.

Oracle merupakan slaah satu produk RDBMS (Relational Database Management System) yang paling dikenal saat ini. Salah satu program yang terdapat di Oracle adalah SQL*Plus. Walaupun mirip SQL berbeda dengan SQL*Plus. SQL adalah bahasa, sementara SQL*Plus adalah suatu program (binary executable file, SQLPLUSSW.exe di Windows). Kita bisa memakai kakas (executable file) lain untuk membuat program dalam bahasa SQL. Berikut rincian perbedaannya.

SQL

SQL*Plus

Sebuah bahasa

Sebuah kakas(development tool)

ANSI standard

Oracle propietary (tidak baku)


Operasi-operasi yang bisa di-run di SQL*Plus mencakup SQL operations (yang standar di Oracle), PL/SQL operations, dan SQL*Plus operations (yang tidak standar).

SQL*Plus berperan sebagai development tool dan instant manager (disebut server-manager, server di berarti instance). SQL*Plus berperan sebagai instance manager karena dari SQL*Plus kita dapat men-start dan stop instance.


  1. Rumusan Masalah

SQL Plus merupakan salah satu aplikasi yang bisa kita gunakan untuk melakukan administrasi database. Namun ada syarat yang musti dimiliki yaitu kemampuan untuk menggunakan query SQL. Berikut penulis jelaskan beberapa penggunaan query SQL. SQL ( Structured Query Language ) merupakan bahasa query yang digunakan untuk mengakses database relasional. SQL sekarang sudah menjadi bahasa database standard dan hampir semua sistem database memahaminya. SQL terdiri dari berbagai jenis statemen. Semuanya didesain agar dia memungkinkan untuk dapat secara interaktif berhubungan dengan database.

Penggunaan SQL pada DBMS ( Database Management System ) sudah cukup luas. SQL dapat dipakai oleh berbagai kalangan, misalnya DBA ( Database Administrator ), progammer ataupun pengguna. Hal ini disebabkan karena :

  1. SQL sebagai bahasa administrasi database

Dalam hal ini SQL dipakai oleh DBA untuk menciptakan serta mengendalikan pengaksesan database.

  1. SQL sebagai bahasa query interaktif

Pengguna dapat memberikan perintah-perintah untuk mengakses database yang sesuai dengan kebutuhannya.

  1. SQL sebagai bahasa pemrograman database

Pemrogram dapat menggunakan perintah-perintah SQL dalam program aplikasi yang dibuat.

  1. SQL sebagai bahasa klien/server

SQL juga dipakai sebagai untuk mengimplementasikan sistem klien/server. Sebuah klien dapat menjalankan suatu aplikasi yang mengakses database. Dalam hal ini sistem operasi antara server dan klien bisa berbeda.

Di samping hal tersebut diatas SQL juga diterapkan pada internet atau intranet untuk mengakses database melalui halaman-halaman web untuk mendukung konsep web dinamis.

Pernyataan SQL dapat dikelompokkan menjadi 5 kelompok DDL, DML, DCL, pengendali transaksi dan pengendali programatik.

  1. DDL ( Data Definition Language )

DDL merupakan kelompok perintah yang berfungsi untuk mendefinisikan atribut-atribut database, table, atribut (kolom), batasan-batasan terhadap suatu atribut serta hubungan antar table. Yang termasuk kelompok DDL ini adalah :

CREATE untuk menciptakan table ataupun indeks

ALTER untuk mengubah struktur table

DROP untuk menghapus table ataupun indeks

  1. DML ( Data Manipulation Language )

Adalah kelompok perintah yang berfungsi untuk memanipulasi data, misalnya untuk pengambilan, penyisipan pengubahan dan penghapusan data. Yang termasuk DML :adalah

SELECT memilih data

INSERT menambah data

DELETE menghapus data

UPDATE mengubah data

  1. DCL ( Data Control Language )

Berisi perintah-perintah untuk mngendalikan pengaksesan data. Yang termasuk DCL adalah :

GRANT memberikan kendali pada pengaksesan data.

REVOKE mencabut kemampuan pengaksesan data

LOCK TABLE mengunci table

  1. Pengendali transaksi

Adalah perintah-perintah yang berfungsi untuk mengendalikan pengeksekusian transaksi. Yang termasuk kelompok ini adalah :

COMMIT menyetujui rangkaian perintah yang berhubungan erat yang telah berhasil dilakukan

ROLLBACK membatalkan transaksi yang dilakukan karena adanya kesalahan atau kegagalan pada salah satu rangkaian perintah.

  1. Batasan Masalah

Dengan menggunakan Oracle dengan program SQL*Plus beserta perintah-perintah yang terdapat didalamnya, sebagaimana yang telah dipelajari dalam mata kuliah praktikum basis data II maka diharapkan persoalan atau kasus yang diberikan dapat dipercahkan dan menghasilkan hasil akhir yang sesuai harapan.

Adapun tujuan dari latihan ini, diharapkan selain dapat memecahkan permasalahan yang dihadapi, juga dapat menambah kemampuan untuk menguasai Oracle, khususnya program SQL*Plus.

Sedangkan kasus atau permasalahan yang diberikan adalah penentuan kuadran suatu titik P(x,y). Dengan membuat blok PL/SQL yang dapat menentukan kuadran dari titik yang dimasukkan. Keterangan untuk penentuan kuadran dari suatu titik P(x, y) di dalam bidang kartesian adalah sebagai berikut :

Kuadran

Nilai X

Nilai Y

I

Positif

Positif

II

Negatif

Positif

III

Negatif

Negatif

IV

Positif

Negatif


Sebagai catatan jika x dan y bernilai 0, titik tersebut tidak terdapat pada kuadran manapun melainkan berada di garis sumbu koordinat yaitu P(0,0).




BAB II

TINJAUAN PUSTAKA




  1. Tinjauan Pustaka

Secara sederhana database (basis data) dapat diungkapkan sebagai suatu pengorganisasian data dengan bantuan komputer yang yang memungkinkan data dapat diakses dengan mudah dan cepat. Dalam hal ini, pengertian akses dapat mencakup pemerolehan data maupun pemanipulasian data, seperti menambah dan menghapus data.

Manfaat database banyak dijumpai disekeliling kita. ATM (Anjungan Tunai Mandiri) merupakan sebuah contoh teknologi informasi yang pada dasarnya memanfaatkan database. Aplikasi database yang lain dapat dijumpai pada toko-toko swalayan, perpustakaan, bahkan pada internet.

DBMS singkatan dari DataBase Management System. DBMS merupakan perangkat lunak atau program komputer yang dirancang secara khusus untuk memudahkan pengelolaan database. Salah satu macam DBMS yang populer dewasa ini berupa RDBMS (Relational DataBase Management System), yang menggunakan model basis data relasional atau dalam bentuk table-tabel yang saling terhubungkan.

Oracle merupakan slaah satu produk RDBMS (Relational Database Management System) yang paling dikenal saat ini. Salah satu program yang terdapat di Oracle adalah SQL*Plus. Walaupun mirip SQL berbeda dengan SQL*Plus. SQL adalah bahasa, sementara SQL*Plus adalah suatu program (binary executable file, SQLPLUSSW.exe di Windows). Kita bisa memakai kakas (executable file) lain untuk membuat program dalam bahasa SQL. Berikut rincian perbedaannya.

SQL

SQL*Plus

Sebuah bahasa

Sebuah kakas(development tool)

ANSI standard

Oracle propietary (tidak baku)


Operasi-operasi yang bisa di-run di SQL*Plus mencakup SQL operations (yang standar di Oracle), PL/SQL operations, dan SQL*Plus operations (yang tidak standar).

SQL*Plus berperan sebagai development tool dan instant manager (disebut server-manager, server di berarti instance). SQL*Plus berperan sebagai instance manager karena dari SQL*Plus kita dapat men-start dan stop instance.


  1. Landasan Teori

Database bisa dianggap sebagai kumpulan dari berbagai informasi yang diatur sedemikian rupa dan disimpan pada media tertentu agar informasi tersebut dapat dimanfaatkan/diambil kembali. Ada tiga macam pembagian pada sistem Database :

    1. Operasi kerja database

    2. Bagian-bagian atau komponen sistem database

    3. Konfigurasi sistem database

Pembagian berdasarkan operasi kerja meliputi

  1. Penyimpanan

  2. Pengolahan

  3. Pembacaan kembali

Penyimpanan digunakan untuk memasukkan data-data tertentu ke dalam database. Penyimpanan ini bisa berarti memasukkan data baru atau mengubah data yang lama. Data yang disimpan ke dalam database bisa berupa data mentah (data-data yang belum mengalami pengolahan), atau data-data yang siap digunakan (sudah mengalami pengolahan terlebih dahulu). Bentuk yang pertama memungkinkan proses penyimpanan menjadi sederhana, karena dari data asli langsung dimasukkan ke database. Selain itu, seluruh data asli masih kelihatan (tersedia) yang memungkinkan dilakukan pengolahan sesuai dengan kebutuhan. Bahkan jika kebutuhannya berubah, cukup dilakukan perubahan pada prosesnya, bukan pada datanya. Namun ini membawa konsekuensi, setiap kali diinginkan hasil akhirnya, harus selalu dilakukan pengolahan data.

Bentuk yang kedua adalah dari data aslinya, sebelum dilakukan penyimpanan ke database, data asli tersebut diolah terlebih dahulu untuk mendapatkan hasil akhir. Setelah itu baru disimpan ke database. Cara ini mempercepat proses secara keseluruhan, karena pada saat memasukkan data, meskipun dilakukan pengolahan awal, datanya biasanya sedikit-sedikit sehingga tidak terasa.

Sedangkan saat membaca hasil akhirnya, cukup dilakukan pembacaan langsung dari tabel yang jelas mempercepat proses. Namun cara ini akan banyak menghilangkan data-data aslinya, dan setiap terjadi perubahan sistem, akan banyak mengalami kesulitan.

Untuk penerapan yang sesungguhnya, dapat dipertimbangkan untuk menggabungkan antara kedua cara tersebut. Misalkan jika ada data aslinya yang memang suatu saat tidak akan pernah digunakan lagi, dapat langsung diolah. Kemudian jika dianggap proses yang akan dilakukan tidak memerlukan waktu yang cukup panjang, sebaiknya data disimpan apa adanya, dengan proses dilakukan di belakang. Bisa juga digunakan data perantara, artinya dari data asli diolah sedikit untuk mendapatkan data pertengahan baru disimpan ke database. Ini akan sangat menghemat waktu.

Bagian Pengolahan digunakan untuk mendapatkan suatu informasi sesuai dengan yang diinginkan dari data aslinya. Ambil contoh data asli mengenai mahasiswa, pengolahan/proses yang bisa dilakukan misalnya menghitung jumlah total mahasiswa, atau berdasar jurusan, kelas dan sebagainya. Proses pengolahan ini bisa dilakukan di awal sebelum data disimpan, bisa pada saat membaca hasil akhir, dapat juga dari data yang sudah disimpan di dalam database diambil kembali untuk diolah kemudian disimpan kembali.

Pembacaan kembali digunakan untuk mengambil data yang ada di dalam data base untuk diolah, kemudian disimpan kembali atau dibuat laporannya. Ada beberapa hal yang bisa dilakukan pada saat pengambilan, antara lain, mengambil seluruh isi dari sebuah tabel database, atau gabungan dari beberapa tabel database. Ini biasanya untuk ditampilkan dalam bentuk tabel. Bisa juga mengambil sebagian dari isi tabel (dengan difilter/diambil dengan kriteria tertentu), atau hanya mengambil satu baris data saja. Semua itu tergantung dari proses atau hasil yang ingin dilakukan. Bagian-bagian atau komponen dari suatu sistem database secara umum meliputi :

  1. File database/media simpan (DF)

  2. Program/mesin pengolah database (Database Engine, DE)

  3. Program aplikasi (AP)

Suatu program aplikasi, saat melakukan operasi dengan database, harus melewati/menggunakan database engine. Perintah-perintah dari program aplikasi seperti membuat tabel, membuka tabel, membaca isi tabel dan sebagainya. Perintah-perintah ini diteruskan ke database engine untuk diolah lebih lanjut. Database engine bertanggung jawab untuk melakukan operasi pada file database secara fisik, misalkan suatu tabel/isi tabel disimpan pada disk yang mana dan di mana lokasinya. Suatu data pada saat disimpan ke disk, format datanya seperti apa. Dan seterusnya.

Bahasa yang digunakan dari program aplikasi ke database engine hampir sama untuk setiap jenis database, terutama jika menggunakan perintah SQL. Sedangkan database engine harus selalu sesuai untuk setiap jenis database yang digunakan. Konfigurasi dari sistem database meliputi :

  1. Database lokal

  2. Database file server

  3. Database client server

Jika file database, database engine dan program aplikasi terletak pada komputer yang sama, maka konfigurasi ini disebut dengan database lokal. Jika program aplikasi dan database engine terletak pada satu komputer, tetapi file database terletak pada komputer lain, dan terhubung dalam jaringan, maka konfigurasi ini disebut dengan database file server. Sedangkan jika file database dan database engine terletak pada satu komputer dan program aplikasi terletak pada komputer lainnya, maka ini disebut dengan database client server. Konfigurasi database lokal memiliki konfigurasi yang paling sederhana, paling murah dan paling cepat. Tetapi jelas, jenis ini tidak dapat digunakan dalam mode multi-user atau dalam suatu jaringan.

Database file server memperbaiki fungsi database lokal dengan memungkinkan adanya mode multi-user atau kerja dalam suatu jaringan. Selain itu, server yang digunakan tidak terlalu berat, karena hanya digunakan untuk menampung file database saja. Karena database engine terpisah jauh dengan file database, menyebabkan lalu-lintas jaringan menjadi relatif padat dan ujung-ujungnya sistem menjadi cukup lambat.

Database client server memperbaiki keduanya, yaitu dengan menawarkan mode multi-user, kerja jaringan dan akses yang cepat. Berhubung server harus menyimpan file database dan database engine, maka kerja server menjadi sangat berat. Karena itu, kinerja sistem database client server sangat ditentukan oleh kemampuan dari komputer server dan oleh kompleksitas dari database engine.

Dilihat dari cara penyimpanan/representasi data dalam database, dapat dibagi menjadi dua struktur database, database berbasis relasi (relational database) dan database berbasis obyek (object oriented database). Khusus untuk Oracle, struktur yang digunakan adalah berbasis relasi dan juga obyek. Artinya, Oracle dapat dipandang sebagai database relasi biasa, tetapi dapat juga dapat diperlakukan sebagai database obyek. Dalam hal ini, data-data yang disimpan ke dalam database Oracle bisa dalam bentuk object. Misalkan data-data object untuk penyimpanan multimedia.

Secara gampang, database relasi adalah database yang bekerja berdasarkan penyimpanan data dalam bentuk tabel dengan susunan baris dan kolom, dan antara satu tabel dengan tabel lainnya dapat saling dihubungkan/direlasikan. Sedangkan database yang berbasis obyek adalah, setiap data yang ada dianggap sebagai benda, sedangkan setiap benda sangat terkait dengan bendabenda lainnya yang terhubung seperti hirarki suatu keluarga (ada induk/orang tua/leluhur, dan ada anak/keturunan).

SQL Plus merupakan salah satu aplikasi yang bisa kita gunakan untuk melakukan administrasi database. Namun ada syarat yang musti dimiliki yaitu kemampuan untuk menggunakan query SQL. Berikut penulis jelaskan beberapa penggunaan query SQL. SQL ( Structured Query Language ) merupakan bahasa query yang digunakan untuk mengakses database relasional. SQL sekarang sudah menjadi bahasa database standard dan hampir semua sistem database memahaminya. SQL terdiri dari berbagai jenis statemen. Semuanya didesain agar dia memungkinkan untuk dapat secara interaktif berhubungan dengan database.

Penggunaan SQL pada DBMS ( Database Management System ) sudah cukup luas. SQL dapat dipakai oleh berbagai kalangan, misalnya DBA ( Database Administrator ), progammer ataupun pengguna. Hal ini disebabkan karena :

  1. SQL sebagai bahasa administrasi database

Dalam hal ini SQL dipakai oleh DBA untuk menciptakan serta mengendalikan pengaksesan database.

  1. SQL sebagai bahasa query interaktif

Pengguna dapat memberikan perintah-perintah untuk mengakses database yang sesuai dengan kebutuhannya.

  1. SQL sebagai bahasa pemrograman database

Pemrogram dapat menggunakan perintah-perintah SQL dalam program aplikasi yang dibuat.

  1. SQL sebagai bahasa klien/server

SQL juga dipakai sebagai untuk mengimplementasikan sistem klien/server. Sebuah klien dapat menjalankan suatu aplikasi yang mengakses database. Dalam hal ini sistem operasi antara server dan klien bisa berbeda.

Di samping hal tersebut diatas SQL juga diterapkan pada internet atau intranet untuk mengakses database melalui halaman-halaman web untuk mendukung konsep web dinamis.

Pernyataan SQL dapat dikelompokkan menjadi 5 kelompok DDL, DML, DCL, pengendali transaksi dan pengendali programatik.

  1. DDL ( Data Definition Language )

DDL merupakan kelompok perintah yang berfungsi untuk mendefinisikan atribut-atribut database, table, atribut (kolom), batasan-batasan terhadap suatu atribut serta hubungan antar table. Yang termasuk kelompok DDL ini adalah :

CREATE untuk menciptakan table ataupun indeks

ALTER untuk mengubah struktur table

DROP untuk menghapus table ataupun indeks

  1. DML ( Data Manipulation Language )

Adalah kelompok perintah yang berfungsi untuk memanipulasi data, misalnya untuk pengambilan, penyisipan pengubahan dan penghapusan data. Yang termasuk DML :adalah

SELECT memilih data

INSERT menambah data

DELETE menghapus data

UPDATE mengubah data

  1. DCL ( Data Control Language )

Berisi perintah-perintah untuk mngendalikan pengaksesan data. Yang termasuk DCL adalah :

GRANT memberikan kendali pada pengaksesan data.

REVOKE mencabut kemampuan pengaksesan data

LOCK TABLE mengunci table

  1. Pengendali transaksi

Adalah perintah-perintah yang berfungsi untuk mengendalikan pengeksekusian transaksi. Yang termasuk kelompok ini adalah :

COMMIT menyetujui rangkaian perintah yang berhubungan erat yang telah berhasil dilakukan

ROLLBACK membatalkan transaksi yang dilakukan karena adanya kesalahan atau kegagalan pada salah satu rangkaian perintah.



BAB III

ANALISA dan PERANCANGAN




  1. Aanalisis

Dalam mata pelajaran atau mata kuliah matematika pada sub bab Trigonometri khususnya tentang diagram kartesius atau diagram kartesian, kita mengetahui bahwa dalam lingkarang atau sudut 3600 dibagi menjadi 4 kuadran. Untuk menentukan suatu titik, kita misalkan titik P(x,y) maka kita harus mengetahui terlebih dahulu batasan tiap-tiap kuadran. Adapun batasan tersebut adalah sebagai berikut :

Kuadran

Nilai X

Nilai Y

I

X >0

Y>0

II

X<0

Y>0

III

X<0

Y<0

IV

X>0

Y<0


Setelah mengetahui batasan tiap-tiap kuadran maka kita tinggal menggambarkan titik yang akan kita cari dan kita dapat mengetahui di kuadran berapakan titik P(x,y).

Akan tetapi kita masih memdapat kesulitan, bagaimana jika titik P terletak pada koordiniat P(0,0). Padahal dalam batasan untuk tiap-tiap kuadran nilai x dan y harus lebih besar atau lebih kecil dari 0 (nol). Jika kasus seperti ini terjadi maka titik P terletak pada garis sumbu koordiniat dan bukan terletak pada kuadran.

Dengan menggunakan bantuan Oracle dengan program SQL*Plus dan dasar teori Trigonometri tentang diagram kartesian atau kartesius diatas maka kita akan membuat program yang dapat mencari kuadran titik dari suatu kordinat P(x,y).


  1. Sintaks Program

declare

x integer;

y integer;

k varchar2(30);

begin

x:= -1;

y:= 2;

if x = 0 and y = 0 then

k :='Garis sumbu koordinat';

elsif x > 0 and y > 0 then

k := 'Kuadran I';

elsif x <> 0 then

k := 'Kuadran II';

elsif x <>

k := 'Kuadran III';

else

k := 'Kuadran IV';

end if;

dbms_output.put_line('P('||to_char(x)||','||

to_char(y)||') berada di '||initcap(k));

end;

/











BAB IV

IMPLEMENTASI HASIL dan PEMBAHASAN




  1. Implementasi Hasil

Untuk membuat programnya maka terlebih dahulu kita harus mendeklarasikan dahulu variabel-variabel yang digunakan. Setelah semua variabel dideklarisikan maka titik koordinat dari titik yang akan dicari harus didefiniskan. Misalkan untuk pendeklarasian dan penetuan dari titik koordinat P(x,y) adalah sebagai berikut :

declare

x integer;

y integer;

k varchar2(30);

begin

x:= -1;

y:= 2;

selanjutnya dibuat suatu perintah yang digunakan untuk mencari letak titik P(x,y) berada pada kuadran berapa ataukah berada pada baris sumbu koordinat. Perintah yang kita gunakan dalam penentuan titik kudran dari titik P(x,y) adalah percabangan. Percabangan adalah sebuah pemilihan yang didasarkan atas kondisi tertentu. Sebuah atau beberapa statemen yang terdapat pada badan percabangan hanya akan dieksekusi jika kondisi yang didefinisikan bernilai TRUE. Sebaliknya jika kondisi tersebut bernilai FALSE, badan percabangan tidak akan pernah dieksekusi karena semua kondisi yang terdapat pada badan percabangan selalu diperiksa pada saat awal.

Untuk percabangannya kita menggunakan percabangan Struktur Tiga Kondisi atau Lebih. Sintak umum untuk pembuatan badan percabangan yang mempunyai tiga kondisi atau lebih dapat anda lihat seperti berikut :

IF kondisi_1 THEN

Statemen_1;

ELSIF kondisi_2 THEN

Statemen_2;

ELSE

Statemen_3;

END IF;

Sintak diatas menunjukkan bahwa mula-mula dilakukan pengecekan nilai terhadap kondisi_1. Jika kondisi_1 bernilai TRUE, statemen_1 yang akan dieksekusi. Tetapi jika tidak, akan dilakukan pengecekan terhadap kondisi_2. Jika kondisi_2 bernilai TRUE, statemen_2 yang akan dieksekusi, tetapi jika kondisi_2 juga masih bernilai FALSE, berarti yang akan dieksekusi adalah statemen_3.

Terakhir kita tinggal menentukan hasil output atau keluaran hasil yang kita inginkan dan dengan sintaks program yang telah kita tuliskan pada bab sebelumnya maka kita akan memperoleh keluaran atau hasil akhir sebagai berikut :

P(-1,2) berada di Kuadran II


  1. Pembahasan

Sebelum memulai mengerjakan program, terlebih dahulu kita harus memahami konsep atau dasar dari soal atau kasus beserta cara pemencahan masalahan agar kita dapat membuat dan menentukan program yang sesuai untuk permasalahan yang dihadapi.

Disamping memahami konsep dan dasar dari permasalah yang dihadapi, keahlian dalam penggunaan program yang akan digunakan juga saat penting, karena tanpa pemahaman yang cukup maka kita akan kesulitan untuk menuliskan permasalahan kedalam suatu program.

Sedangkan pada sintak diatas, nilai X yang didefinisikan adalah -1 dan nilai Y yang didefinisikan adalah 2. Karena pada program diatas menggunakan prinsip percabangan maka harus dilakukan pengecekan untuk tiap cabangnya sampai semua kondisi yang ditentukan dipenuhi atau semua cabang sudah dilakukan pengecekan. Mula-mula akan diperiksa kondisi X = 0 dan Y = 0. Karena -1 dan 2 tidak sama dengan 0, maka dilakukan pengecekan terhadap kondisi berikutnya yaitu X > 0 dan Y >0. Oleh karena -1 dan 2 juga karena salah satu statement tidak terpenuhi maka dilakukan pengecekan terhadap kondisi berikutnya.

Karena nilai -1 lebih kecil dari 0 dan 2 lebih besar dari 0 maka statement pada kondisi ini dieksekusi karena kedua kondisi yang diberikan telah terpenuhi. Setelah kondisi terpenuhi maka proses pengecekan pada kondisi-kondisi selanjutnya dihentikan yang kemudian akan dilanjutkan pada perintah selanjutnya.

















BASIS DATA ( DATABASE )



  1. DEFINISI DATABASE

Data adalah representasi fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai, mahasiswa, pembeli), barang, hewan, peristiwa, konsep, keadaan, dan sebagainya yang direkam dalam bentu angka, huruf, simbol, teks, gambar, bunyi atau kombinasinya.

Database atau basis data terbentuk dari sekelompok data-data yang memiliki jenis/sifat sama. Contohnya : data mahasiswa, data dosen, dll. Demikian juga, kumpulan dari data-data mahasiswa, data-data dosen, data-data keuangan dan lainnya dapat dikumpulkan lagi menjadi kelompok besar, misalkan data-data politeknik elektronika.

DBMS (Database Management System) adalah Perangkat Lunak yang menangani semua pengaksesan ke basis data

Basis data merupakan kumpulan data yang saling berhubungan (relasi). Relasi biasanya ditunjukan dengan kunci dari tiap file yang ada. Dalam satu file terdapat record-record yang sejenis, sama besar, sama bentuk, yang merupakan satu kumpulan entitas yang seragam. Satu record terdiri dari field yang saling berhubungan menunjukan bahwa field tersebut dalam satu pengertian yang lengkap dan direkam dalam satu record.

Dari pengertian diatas dapat disimpulkan bahwa basis data mempunyai beberapa kriteria penting, yaitu :

  1. Bersifat data oriented dan bukan program oriented.

  2. Dapat digunakan oleh beberapa program aplikasi tanpa perlu mengubah basis datanya.

  3. Dapat dikembangkan dengan mudah, baik volume maupun strukturnya.

  4. Dapat memenuhi kebutuhan sistem-sistem baru secara mudah

  5. Dapat digunakan dengan cara-cara yang berbeda.

Prinsip utama basis data adalah pengaturan data dengan tujuan utama fleksibelitas dan kecepatan dalam pengambilan data kembali. Adapun Tujuan basis data diantaranya adalah sebagai berikut :

  1. Efisiensi meliputi speed, space dan accurancy.

  2. Menangani data dalam jumlah besar.

  3. Kebersamaan pemakaian (Sharebility).

  4. Meniadakan duplikasi dan inkonsistensi data.


  1. TUJUAN PEMBUATAN DATABASE

Sistem database pada dasarnya adalah sistem terkomputerisasi yang tujuan utamanya untuk memelihara informasi dan membuat informasi tersebut tersedia pada saat diperlukan. Operasi-Operasi Yang Dapat Dilakukan Pada Database : menambahkan file ke sistem database, menyisipkan data ke dalam suatu file, mengambil data dari suatu file, mengubah data pada suatu file, menghapus data dari suatu file, menyajikan informasi dari suatu atau sejumlah file, mengosongkan file.

Kegunaan utama sistem basis data adalah agar pemakai mampu menyusun suatu pandangan abstraksi dari data. Bayangan mengenai data tidak lagi memperhatikan kondisi sesungguhnya bagaimana satu data masuk ke database disimpan dalam sektor mana, tetapi menyangkut secara menyeluruh bagaimana data tersebut dapat diabstraksikan mengenai kondisi yang dihadapi oleh pemakai sehari-hari. Sistem yang sesungguhnya, tentang teknis bagaimana data disimpan dan dipelihara seakan-akan disembunyikan kerumitannya dan kemudian diungkapkan dalam bahasa dan gambar yang mudah dimengerti oleh orang awam.
Ada tiga kelompok pemakai dalam tingkatan abstraksi saat memandang suatu database, yaitu :

      1. Level Fisik : Level ini merupakan level abstraksi paling rendah karena menggambarkan bagaimana data disimpan dalam kondisi sebenarnya.

      2. Level Konseptual : Level ini menggambarkan data apa yang disimpan dalam database dan hubungan relasi yang terjadi antara data dari keseluruhan database. Pemakai tidak memperdulikan kerumitan dalam struktur level fisik lagi, penggambaran cukup dengan memakai kotak, garis,dan hubungan secukupnya.

      3. Level Pandangan Pemakai (View level) : Level ini merupakan level abstraksi data tertinggi yang menggambarkan hanya sebagian saja yang dilihat dan dipakai dari keseluruhan database, hal ini disebabkan beberapa pemakai database tidak membutuhkan semua isi database.


  1. MANFAAT DATABASE

Sistem manajemen database dapat diartikan sebagai suatu program komputer yang digunakan untuk memasukkan, mengubah, menghapus, memanipulasi dan memperoleh data dengan praktis dan efisien. Adapun manfaat dari penggunaan database diantaranya adalah :

        1. Meningkatkan integritas data, dimana data selalu dalam keadaan valid; hal ini hanya dapat terjadi bila data hanya berada dalam satu tempat,

        2. Adanya independensi data, sifat yang memungkinkan perubahan struktur file tidak mempengaruhi program dan sebaliknya; juga dapat berarti bahwa data bersifat tidak bergantung pada data lain,

        3. Adanya sekuritas data, yang bermanfaat untuk menghindari pengaksesan data oleh yang tidak berhak,

        4. Penggunaan data menjadi lebih mudah, dimana pada umumnya sistem manajemen database (DataBase Management System = DBMS) menyediakan fasilitas query yang memudahkan user untuk memperoleh informasi.

        5. Terkontrolnya kerangkapan data. Dalam basis data hanya mencantumkan satu kali saja field yang sama yang dapat dipakai oleh semua aplikasi yang memerlukannya.

        6. Terpeliharanya keselarasan (kekonsistenan) data, Apabila ada perubahan data pada aplikasi yang berbeda maka secara otomatis perubahan itu berlaku untuk keseluruhan

        7. Dapat dipakai secara bersama (shared), Data dapat dipakai secara bersama-sama oleh beberapa program aplikasi (secara batch maupun on-line) pada saat bersamaan.

        8. Diterapkan standarisasi, Dengan adanya pengontrolan yang terpusat maka DBA dapat menerapkan standarisasi data yang disimpan sehingga memudahkan pemakaian, pengiriman maupun pertukaran data.

        9. Data terjamin, DBA dapat memberikan batasan-batasan pengaksesan data, misalnya dengan memberikan password dan pemberian hak akses bagi pemakai (misal : modify, delete, insert, retrieve)

        10. Integritas data, Jika kerangkapan data dikontrol dan kekonsistenan data dapat dijaga maka data menjadi akurat.

        11. Keseimbangan (keselarasan) antara kebutuhan data yang berbeda dalam setiap aplikasi. Struktur basis data diatur sedemikian rupa sehingga dapat melayani pengaksesan data dengan cepat

        12. Independence (kemandirian data)

  1. KEKANGAN DALAM DATABASE

      1. Data Redundancy

Pada file manual sering terjadi penyimpanan data yang sama pada lokasi yang terpisah (cross location) tidak dapat dihubungkan, kalaupun dapat hanya dihubungkan dengan petunjuk silang (cross reference). Data yang terpisah selain memakan banyak tempat, juga sukar diremajakan (up-date) sekaligus secara bersamaan. Permasalahan yang timbul dapat dilihat pada kasus berikut.

    1. Kapuas Pontianak Bank, Pontianak, Kalimantan Barat, mempunyai kegiatan pelayanan nasabah dalam hal rekening tabungan, rekening cek, dan pinjaman. Yang pertama menggunakan otomatisasi sistem transaksi adalah rekening tabungan. Waktu itu bank membeli paket perangkat lunak komersial yang khusus didesain untuk institusi tabungan. Mereka tidak memakai sistem DBMS tetapi sistem file tradisonal. Sesudah dua tahun kegiatan tabungan otomatisasi, bank mulai mengotomatisasikan juga kegiatan deposito dan kegiatan peminjaman dengan membeli perangkat lunak dari perusahaan penjual yang sama. Masing-masing sistem berdiri sendiri-sendiri. Tidak lebih dari satu file yang dapat digunakan pada waktu bersamaan, dan juga tidak mungkin membuat hubungan antara data tersebut. Karena sistem berdiri sendiri-sendiri, maka masing-masing file berisikan data yang berlebihan (redundancy) satu sama lain. Nama nasabah, alamat, nomor telepon, dan nomor kartu penduduk terdapat tiga file bersangkutan. Karena itu, bila nasabah menggunakan layanan ketiga sistem tersebut, maka dua data dari beberapa file tersebut adalah redundancy.

    2. Duplikasi data, data yang sama disimpan dalam beberapa file. Karena file-file dan program aplikasi disusun oleh programmer yang berbeda, sejumlah informasi mungkin memiliki duplikasi dalam beberapa file. Sebagai contoh nama mata kuliah dan sks dari mahasiswa dapat muncul pada suatu file memiliki record-record mahasiswa dan juga pada suatu file yang terdiri dari record-record mata kuliah. Kerangkapan data seperti ini dapat menyebabkan pemborosan tempat penyimpanan dan biaya akases yang bertambah. Disamping itu dapat terjadi inkonsistensi data. Misalnya, apabila terjadi perubahan jumlah sks mata kuliah, sedangkan perubahan hanya diperbaiki pada file mata kuliah dan tidak diperbaiki pada file mahasiswa. Hal ini dapat mengakibatkan kesalahan dalam laporan nilai mahasiswa.

      1. Data Inconsistency

Duplikasi data akan mengakibatkan data menjadi tidak konsisten. Inkonsistensi data (data tidak konsisten) terjadi dikarenakan bila terjadi perubahan terhadap data maka data harus dirubah dibeberapa tempat, hal ini tentunya tidak efisien.

      1. Data Terisolir (Isolation Data)

Karena data tersebar dalam berbagai file, dan file-file mungkin dalam format format yang berbeda, akan sulit menuliskan program aplikasi baru untuk mengambil data yang sesuai.

      1. Data Integrity

Basis data berisi file yang saling berhubungan, masalah utama adalah bagaimana kaitan antar file tersebut terjadi meski diketahui bahwa file A terkait dengan file B, namun secara teknis ada field yang mengaitkan kedua file tersebut oleh karena itu field kunci tidak dapat diabaikan dalam merancang suatu basis data.



Aturan keintegritasan data :

      1. Entity integrity

Nilai atribut primary key tidak boleh null (tidak dikenal)

Contoh:

PEGAWAI(NIP,Nama,Alm,Gaji,KdDiv)

NIP sebagai primary key tidak boleh bernilai null atau kosong atau tidak dikenal.

      1. Referential integrity

Nilai atribut foreign key harus sssuai dengan nilai atribut rujukan (primary key) pada relasi lain.

Contoh:

PEGAWAI(NIP,Nama,Alm,Gaji,KdDiv)

DIVISI(KdDiv,Ket,Lokasi)

Atribut KdDiv sebagai foreign key pada relasi PEGAWAI Harus mempunyai nilai yang sesuai dengan rujukannya atribut KdDiv pada DIVISI.

      1. Entity participation

Keharusan/ketidakharusan adanya keanggotaan dari suatu relationship, pada saat perancangan database.

      1. Domain constraint

Domain merupakan sekumpulan nilai yang diizinkan untuk satu atau lebih dari satu atribut.

      1. Enterprise constraint

Aturan yang dispesifikasikan oleh DBA atau pemakai.




      1. Data Security

Yang dimasud dengan data security adalah suatu cara pengaman data bari berbagai gangguan, seperti pencurian data, perubahan data, pengerusakan data, dll.

Berikut ini adalah beberapa cara pengaman data dari sekian banyak cara pengaman data yang bisa dilakukan. Pada contoh dibawah ini akan diberikan contoh pengaman data pada Oracle, yaitu :

  1. Grant security (system privilege dan object privilege)

Oracle grant security terdiri dari system privilege dan object privilege. System privilege memberikan hak akses kepada user untuk mengatur dan mengelola sistem database Oracle. Terdapat sekitar 80 system privilege yang ada di Oracle.

contoh :

sql> grant create any cluster to customer_role;

sql> grant select any table to fred;

sql> grant create any table to public;

sql> grant create tablespace to dba_role;

Object privilege merupakan hak akses yang diberikan kepada user untuk melakukan beberapa operasi pada beberapa objek database seperti; tabel, view, sequence, atau procedure.

contoh :

sql> grant select, insert on customer to fred, mary, joe;

sql> grant insert on order_table to update_role;

sql> grant all on customer to fred;

sql> grant select on customer_view to mary;



  1. Role-based grant security

Role-based grant security pada dasarnya adalah kumpulan dari beberapa privilege yang dikumpulkan menjadi satu. Ini merupakan salah satu cara untuk memudahkan dalam pemberian hak akses kepada user.

contoh :

sql> create role system_admin;

sql> grant select, update on customer to system_admin;

sql> grant select on item_table to system_admin;

sql> grant system_admin to user 1, user 2, user 3;

  1. Grant execute security

Oracle menyediakan kemampuan untuk membuat hak akses dengan menciptakan suatu program tertentu melalui store procedure dan bahasa PL/SQL.

Secara spesifik sdministrator dapat berkreasi dalam membuat hak akses user. Secara keseluruhan grant execute security memiliki cukup perbedaan dengan traditional grant security yang telah dibahas sebelumnya.











DAFTAR PUSTAKA



dotnet.netindonesia.net/?0::756 – 5

kpjaya.files.wordpress.com/2007/03/baran-2006.pdf

lecturer.eepis-its.edu/~tessy/lecturenotes/db1/Bab1.pd osen.stieperbanas.ac.id/user/99070/bahan/Kuliah1-sim.doc

pti.stis.ac.id/wp-content/uploads/2007/12/pertemuan-06-07.pp

www.master.web.id/mwmag/issue/04/content/fokus/fokus.html - 52k

www.cert.or.id/~budi/courses/el695/projects/dian.doc

www.cs.ui.ac.id/WebKuliah/citra/2005/citra13.ppt

www.hilman.net/security.html - 23k

www.mti.ugm.ac.id/~adji/courses/resources/career/Thesis1-53.do

Masih tentang UNF


BASIS DATA I




  1. RELASI UNF KARENA :

    1. Non Single Value

NIM

Nama_Mahasiswa

Kode_MK_1

SKS_1

Kode_MK_2

SKS_2

091901

Cloud Strife

BD-1

2

BD-2

2

091902

Tifa Lockheart

AP-1

2

AP-2

2

091903

Vincent Valentine

KK-1

3

KK-2

3



non single value

    1. Non Atomic

NIP

Nama_Pegawai

Tempat_tanggal_lahir

12345

Yuffei Kisaragi

Sleman, 19 Februari 1980

12346

Squall Leonheart

Bogor, 20 Desember 1983

12347

Rinoa Heartilly

Jakarta, 25 Semtember 1985



non atomic

    1. Non Flat File

ISBN

Judul

Halaman

Topik

979-533-791-2

PHP

631

Pemrograman

979-533-791-2

PHP

631

Internet



non Flat File


  1. RELASI TERBENTUNYA 1NF, 2NF & 3NF

    1. Non Single Value

  • Bentuk UNF

NIM

Nama_Mahasiswa

Kode_MK_1

SKS_1

Kode_MK_2

SKS_2

091901

Cloud Strife

BD-1

2

BD-2

2

091902

Tifa Lockheart

AP-1

2

AP-2

2

091903

Vincent Valentine

KK-1

3

KK-2

3

  • Bentuk 1NF

NIM

Nama_Mahasiswa

Kode_MK

SKS

091901

Cloud Strife

BD-1

2

091901

Cloud Strife

BD-2

2

091902

Tifa Lockheart

AP-1

2

091902

Tifa Lockheart

AP-2

2

091903

Vincent Valentine

KK-1

3

091903

Vincent Valentine

KK-2

3


    1. Non Atomic

  • Bentuk UNF

NIP

Nama_Pegawai

Tempat_tanggal_lahir

12345

Yuffei Kisaragi

Sleman, 19 Februari 1980

12346

Squall Leonheart

Bogor, 20 Desember 1983

12347

Rinoa Heartilly

Jakarta, 25 Semtember 1985


  • Bentuk 1NF

NIP

Nama_Pegawai

Tempat_Lahir

Tanggal_Lahir

12345

Yuffei Kisaragi

Sleman

19 Februari 1980

12346

Squall Leonheart

Bogor

20 Desember 1983

12347

Rinoa Heartilly

Jakarta

25 Semtember 1985




    1. Non Flat File

  • Bentuk 1NF

ISBN

Judul

Halaman

Topik

979-533-791-2

PHP

631

Pemrograman

979-533-791-2

PHP

631

Internet


  • Bentuk 2NF

Tabel Buku

ISBN

Judul

Halaman

979-533-791-2

PHP

631

979-533-791-2

PHP

631


Tabel Topik

ISBN

Topik

979-533-791-2

Pemrograman

979-533-791-2

Internet


  • Bentuk 3NF

Tabel Buku

ISBN

Judul

Halaman

979-533-791-2

PHP

631

979-533-791-2

PHP

631


Tabel Kode Buku

Kode_buku

Topik

P05

Pemrograman

I12

Internet


Tabel Topik

ISBN

Topik

979-533-791-2

Pemrograman

979-533-791-2

Internet


  1. DIAGRAM DATA DEPENDENCY

    1. Non Single Value

NIM ...................................................... Kode_MK



Nama_mahasiswa SKS

    1. Non Atomic

NIP




Nama_pegawai Tempat_lahir Tanggal_Lahir

    1. Non Flat File

ISBN ........................................................... Kode_buku





Judul Halaman Topik