Senin, 01 September 2014

Catatan Data Base

Catatan Mata Kuliah Basis Data











Pertemuan ke 3 (tiga) pada hari/tanggal  : Senin/1 September 2014


Informasi vs Data


  • Pengertian Informasi : Sebuah kumpulan data-data yang di satukan agar dapat di pakai oleh banyak  orang.
  • Pengertian Data  : Sebuah fakta yang masih belum lengkap dan masih tidak bisa di pakai.
Tujuan Basis Data :
  1. Kecepatan dan Kemudahan (speed)
  2. Efisensi Ruang Penyimpanan (space)
  3. Keakuratan (accuaracy)
  4. Ketersedian (Avalability)
  5. Kelengkapan (completeness)
  6. Keamanan (security)
  7. Kebersamaan Pemakaian (sharability) 
Komponen pada basis data :
  1.  Perangkat Keras (Hardware)
  2. Sistem Operasi (Operating system)
  3. Basis Data (Database)
  4. Sistem (Aplikasi /perangkat lunak) Pengelola Basis Data (DBMS)
  5. Pemakai (User)
  6. Aplikasi (perangkat lunak) lain (yg bersifat optional, artinya tidak harus ada)

Pengertian DBMS adalah Pengelolaan basis data secara fisik tidak dilakakan oleh pemakai secara lansung, tetapi di tangani oleh sebuah software (sistem) yang khusus. DBMS ini akan menentukan bagaimana data dapat di organisasi, di ubah, di simpan maupun di ambil kembali. Disini juga menerapkan mekanisme pengamanan data, pemakaian data secara bersama, pemaksaan keakuratan/konsistensi data.  (1.1)



 Bahasa Basis Data (Database Language)

DDl  (Data Definition Language)
 Struktur basis data yang menggambarkan skema baris data secara keseluruhan dan  didesain dengan bahasa khusus yang dapat di sebut Data Definition Langauge (DDL). Dengan bahasa ini kita dapat membuat tabel baru, membuat indeks, mengubah tabel, menentukan struktur penyimpanan tabel, dll.(1.2)

DML (Data Manipualtion Language)
 DML merupakan bentuk bahasa Basis Data yang berguna untuk melakkan manipulasi dan pengambilan data pada suatu basis data. manipulasi data dapat berupa ;
    - penambahan data baru ke suatu basis data
    - penghapusan daata dari suatu basis data
    - pengubahan data di suatu basis data (1.3)

jenis DML :
 - Prosedural, yang mensyarakatkan pemakai menentukan, data apa yang diingin kan   serta bagaimana cara mendapatakan nya.
 - Non Prosedural , yang membuat peakai dapat menentukan data apa yang diinginkan tanpa menyebutkan bagaimana cara mendapatkan nya.



Daftar Pustaka 
(1.1) Buku Basis Data (penerbit INFORMATIKA)
(1.2) Buku Basis Data (penerbit INFORMATIKA)
(1.3) Buku Basis Data (penerbit INFORMATIKA)


Pertemuan Ke 4 hari/tanggal : Kamis/4 September 2014

 

Mengetahui Diagram ER


Itu lah yang di sebut diagram ER atau di sebut Diagram Entity-Relationship merupakan sebuah komponen-komponen Himpunan Entitas dan Himpunan realsi yang saling melengkapi dengan atribut-atribut yang mempresentasi kan seluruh fakta dari 'dunia nyata' yang kita tinjau, dan dapat di gambarkan dengan lebih sistematis dengan menggunakan Diagram Entity-Relationship (Diagram E-R). Notasi-notasi simbolik di dalam diagram E-R yang dapat kita pergunakan adalah :
  • Persegi panjang, yang dapat menyatakan Himpunan Entitas

  • Lingkaran/elip, mengartikan Atribut (Atribut yang berfungsi sebagai key di garis bawahi)



  • Belah ketupat, menyatakan Himpunan Relasi


  • Garis, sebagai penghubungan antara Himpunan Relasi dengan Himpunan Entitas dan Himpunan Entitas dengan artributnya.





  • Kardinalitas Relasi dapat dinyatakan dengan banyak nya garis cabang atau dengan pemakaian angka (1 dan 1 untuk relasi satu-ke-satu, dan N untuk relasi satu-ke-banyak atau N dan untuk relasi banyak-ke-banyak.













Mappina Kardinalitas

Berikut adalah contoh penggabaran kardinalitas antar himpunan entitas lengkap dengan kardinalitas relasi dan atribut-atribut nya :


  1. Kardinalitas satu-ke-satu (one-to-one)
          Relasi antara himpunan entitas Dosen dengan himpunan entitas Juruasan. Himpunan relasi nya kita beri nama 'Mengepalai'. Para relasi ini, setiap dosen paling banyak mengepalai satu jurusan (Walapun memang tidak semua dosen yang menjadi ketua jurusan).







     2.  Kardinalitas satu-ke-banyak (one-to-many)

          Adanya relasi antara himpunan entitas 'Dosen' dengan himpunan entitas kuliah. Himpunan relasi nya kita beri nama 'Mengajar'. Pada relasi ini, setiap dosen dapat mengajar. Pada relasi ini, setiap dosen dapat mengajar lebih dari satu mata kuliah, sedang setiap mata kuliah diajar hanya  oleh paling banyak satu dosen.














      3.  Kardinalitas banyak-ke-banyak (many-to-many)

           Relasi ini merupakan himpunan entitas Mahasiswa dengan himpunan entitas kuliah. Himpunan relasi nya 'Mempelajari'. Pada relasi ini, setiap mahasiswa dapat mempelajari lebih dari satu mata kuliah. Demikian juga sebaliknya, setiap mata kuliah dapat di pelajari oleh lebih dari satu orang mahasiswa.








       



Refrensi : Buku Basis Data (Penerbit Inforamtika)





Pertemuan ke 5 : Kamis, 11 September 2014

MODEL EER

(ENHANCED ENTITY RELATIONSHIP)

 

(EER) enhanced entity relationship merupakan Model Entity Relationship yang didukung dengan kosnep semantik tambahan. Dimana konsep semantik terdiri dari subsclass dan superclass dan konsep-konsep lain yang memeiliki hubungan satu sama lain, seperti specialization dan generalization . Berikut penjelasan nya :
1. Subclass dan Superclass
    Subclass adalah Subset dari sebuah entitas yang akan di kelompokan dalam pengertian tertentu yang perlu di sajikan secara eksplisit. Sedangkan Superclass adalah entitas yang merupakan induk dari subclass-subclass nya
Contoh Sublcass  Entitas PEGAWAI mempunyai beberapa subclass seperti SEKRETARIS, TEKNISI, AHLI .
Contoh :Subclass SEKRETARIS, TEKNISI, SALES mempunyai superclass PEGAWAI .
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeB8V0khyU5fNSGYel7fRHFw1PGWnmweSSgo295fozipMtztrwi-8zYsWdG8JWphBj2HfAMuPBucLIC5UEFRboTfuxQQvoKnA-PwzouQcvKZMe4Buom_QX6lkNhfzmvuNSOcLSE_cRMuw/s1600/1.PNG

Disjoint Constraint
- Constraint yang menerangkan bahwa subclass-subclass dari spesialisasi saling disjoint, artinya entity merupakan anggota dari salah satu subclass.
- Disjoint Constraint direpresentasikan dengan lambang “d” yang berarti disjoint.
- Contoh : entity dari spesialisasi tipe pekerjaan dari PEGAWAI merupakan anggota dari subclass PEGAWAI TETAP atau PEGAWAI HONORER
https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQXybWgUTvOowUnPBRik6wmNmgBVAKK6CNDETYlXnrBT4ZSyBzgg7vkurRxqdetVh_DT_eZfHTbWaSx1mubsFiCJdRnsfZeIsWgXITtMNwVm1E9fgsWZX6S1JPBr953U3OdT2qZbwtdGY/s1600/4.PNG

Non – Disjoint Constraint
- Constraint yang menerangkan bahwa subclass-subclass dari spesialisasi tidak saling disjoint, artinya entity mungkin anggota lebih dari satu subclass.
Non-Disjoint digambarkan dengan lambang “o” yang berarti overlapping.
- Contoh : entity dari spesialisasi tipe barang merupakan anggota dari subclass BARANG PABRIK juga anggota dari subclass BARANG TERJUAL
 https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgZn0nQ8BnKjhUjOePhov25Dqq9phKgnFmJf7sSPBEL68OkJjI-lU5eJnHyhY6s5OZWlF0aVmxHgBgY_MqY-Uc98kh-CRDqTdVSFylizdCDCma1kMd93yHDGaZStwHxZmNiy5uE9mw8o1Q/s1600/5.PNG

2. Spesialisasi (Spesialization)
    Specialization adalah proses pendefinisian atau pemecahan suatu himpunan subclassdari suatu entitas : entitas ini di sebut supeclass dari specialization . Himpunan subclass tersebut yang membentuk specialitation yang telah didefinisikan beberapa sifat/karateristik yang istimewa dari suatu entitas pada suatu superclass yang menggambarkan perbedaan yang jelas antatara entitas tersebut.
Contoh : Spesialisasi dari PEGAWAI berdasarkan tipe pekerjaan.

https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjeB8V0khyU5fNSGYel7fRHFw1PGWnmweSSgo295fozipMtztrwi-8zYsWdG8JWphBj2HfAMuPBucLIC5UEFRboTfuxQQvoKnA-PwzouQcvKZMe4Buom_QX6lkNhfzmvuNSOcLSE_cRMuw/s1600/1.PNG 




Pertemuan Ke-6 Hari/Tanggal : Senin, 15 September 2014


Kelompok Pemerintah SQL


SQL Data Definition Language (DDL)

Bagian dari perintah SQL untuk membuat modifikasi/menghapus strutktur basis data. Data Definition Language (DDL) mempunyai fungsi utama untuk mendefinisikan data dalam database secara logika, diantaranya yaitu di igunakan untuk mendefinisikan karakteristik dari record (meliputi nama, tipe dan lebar dari field), untuk menentukan kunci field, menyediakan cara untuk menentukan hubungan dengan data di file lain, untuk mengubah struktur dari record, untuk menampilkan struktur dari record. DDL digunakan untuk mendefinisikan, mengubah, serta menghapus basis data dan objek-objek yang diperlukan dalam basis data, misalnya tabel.
- CREATE = untuk membuat, termasuk diantaranya membuat database dan tabel baru.
- ALTER = untuk mengubah struktur tabel yang telah dibuat.
- DROP = untuk menghapus database dan tabel.

Tipe Data Pada Oracle 10g

>> Varchar 2 (size) : String dengan panjang max sebesar size. Maksimum karakter yang dapat disimpan sebesar 4000 bytes.
>>Char (size) : String dengan ukuran panjang maximal sebesar size.
>>Long : Data karakter dengan ukuran panjang bervariasi, hingga mencapai 2GB.

Contoh mengguanakan primary key :

     CREATE TABLE nama_table (
     attribut 1   tipe attribut (size),
     attribut 2   tipe attribut (size)),



     CREATE TABLE mahasiswa (
     nim char (9),
     nama varchar (10),
     Constraint pk_mahasiswa primary key (nim));

Contoh menggunakan foreign key :

    CREATE TABLE mengambil(
    nim char(9),
    kode_mk char (5),
    semester char (5),
    Constraint fk_mengambil foreign key (kode_mk,semester));




Pertemuan ke-7 : Kamis, 18 September 2014



Manipulasi Data


Penambahan Record

 Insert Data
Sintaks :   Insert Into nama_tabel (kolom1,kolom2...)
                 values (value1, value2,...)
         atau
                 Insert Into nama_tabel values (value1,value2,...);

- Insert Into Mahasiswa (nim, nama,alamat)
  values ('03109001 ','Dwi' ,' Jl.ABC. 1');

- Insert Into Mahasiswa values
   ('03109002' , ' Tri ' , ' Jl.Ternate No.123');

Contoh codingan nya =    Create Table mahasiswa
                                         (nim char (10),
                                          nama varchar (20),
                                          alamat varchar (20),
                                          KodeJur char (1),
                                          Constraint pk_mahasiswa primary key (nim)); 

Update Data
Sintaks : Update nama_tabel SET
               column = expression
- Update mahasiswa set_nama = "rangga" where nim = "1001010";


Delete Data
Sintaks : Delete Form nama_tabel where condition;

-  Delete mahasiswa where nim = '03109002'
-  Delete mahasiswa
(Perintah delete berpengaruh  pada basis data, sehingga pastikan terlebih dahulu basis data mana yang akan di hapus)

Retrive Data

- Klausa yang di gunakan
    select kolom-data
    from tabel-data
(*) where filter data
(*) group by mengelempokan
(*) having seleksi berdasarkan grup teretentu
(*) order by urutan-data

Select Kolom-Data

> Tanda '*' untuk menampilkan seluruh kolom
    select * from mahasiswa
> Kata 'AS' untuk memberikan judul kolom berbeda dengan nama kolom
    select nama AS nama mahasiswa, alamat

Where Filter-Data (I)
- Filter data menggunakan operator :
  =, <, >, <=, >=,  < >

contoh : between ,IN
              select * from mahasiswa where nama = 'Dwi'
              select * from mahasiswa where nama like 't%'
              select * from mahasiswa where nama IN





Pertemuan ke-8 : Senin, 22 September 2014

DML (Data Manipulation Language)

Tujuan Memahami DML :
  1. Mengetahui dan memahami operasi-operasi Data Manipulation Language
  2. Memahami konsep dasar transaksi
  3. Mengetahui dan memahami perinta-perintah pada transaksi
  4. Mengetahui dan memahami definis dan fungsi query
  5. Mengetahui dan memahmi klausa query dalam SQL*plus dan penggunaan nya
    Data Manipulation Language merupakan bahasa yang meumngkin kan pengguna untuk mengakses data yang sesuai dengan model data nya selain itu DML juga merupakan konsep yang menerangkan bagaimana menambah, mengubah dan menghapus baris tabel.

Perintah-perintah DML :
  • Insert 
         Berfungsi untuk menambah kan baris baru ke tabel
         sintaks : Insert Into <nama tabel> [(nama kolom1, nama kolom2...)] <query>;
         contoh : SQL> Insert Into mahasiswa values ('SRI','001212','Jl.Sukabirus);
               
  • Update
          Berfungsi untuk memodifikasi nilai pada baris tabel
          sintaks : Update <nama tabel> set <nama_kolom1>=<nilai_ekspresi1>;
                                                                  <nama_kolom2>=<nilai_ekspresi2>;
          contoh : SQL>Update mahasiswa Set nama=Dwi Where Nim='001213';
  • Delete
          Berfungsi untuk menghapus baris tunggal atau lebih dari satu baris tergantung kondisi tertentu
          sintaks : Delete From <nama_table>
                        {Where <kondisi<};
          contoh : Delete From mahasiswa Where Nim = '001212';
  • Merge 
          Berfungsi untuk melakukan update maupun insert ke suatu table tertentu berdasrakan kondisi dari tabel lain. Dengan perintah merge ini, data akan di insert kan apabila data tersebut tidak ada di tabel tujuan dan akan diupdatekan apabila data tersebut telah ada di tabel tujuan.
         sintaks : Merge Into <nama_table><nama_allas_tabel>
                       Using (table|view|sub_query)allas
                       ON (join condition0
                            When Matched Then
                                     Update Set [(coloumn1=coloumn _val1), (coloumn2=coloumn _val2),...]
                             When Not Matched Then
                                      Insert (coloumn_list)
                                      Values (column_values);


SQL,SQL*Plus dan PL\SQL

      Structured query language  (SQL) adalah bahasa query non-prosedural level tinggi yang paling sering digunakan. SQL merupakan bahasa yang di gunakan untuk mengakses Basis Data Relasional termasuk oracle. SQL Plus merupkan produk Oracle menggunakan SQL dan PL\SQL yang di tambah kan dengan sintaks bagasa tambahan untuk mengontrol kelakuan produk, dan format output dari SQL Queries (Secara sederhana dapat disebut sebagai editor untuk mengontrol kelakuan produk dan format output dari SQL Queries).


Query Dasar
      Query merupakan statment dalam SQL yang berfungsi untuk mendapatkan atau mengambil data dari database (satu atau beberapa tabel/view) berdasrakan kriteria-kriteria tertentu yang di berikan. Sebuah query selalu di awali SELECT statment. Secara umum sintaks query sederhana dapat dituliskan sperti dibawah ini :
              
                  SELECT [ALL | DISNTINCT (nama_kolom1,nama_kolom2,...)
                  From (nama_tabel_sumber1,nama_table_sumber2,...)
                  {Where (kondisi)]


  • Select = Untuk menspesifikasi kan nama-nama kolom yang akan di tampilkan. Nama-nama kolom nya dituliskan klausa ini.
  • Distinct = Untuk menampilkan record-record hasil query yang nilai atau values nya berbeda. Tujuan pengguna klausa ini untuk menghilangkan redudancy hasil query.
  • ALL = Untuk menampilkan seluruh record meskipun ada beberapa recird yang nilai nya sama. Secara default setip  statment SELECT menggunakan klaus ALL di dalam nya.
  • From = Mendifiniskan nama table yang mengandung kolom terdaftar dalam SELCT 
  • Where = Untuk mendefiniskan kondisi atau kriteria menyaring data yang diambil dari table sumber. Terdiri dari 3 elemen, yaitu nama kolom, kondisi perbandingan dan nama konstanta.


Pertemuan Ke-9 : Kamis, 25 September 2014

Normalisasi 

Normalisasi merupakan teknik analisis data yang mengorganisasikan atribut-atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang non-redundant, stabil, dan fleksible


Normalisasi dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi itu sudah baik, yaitu dapat dilakukan proses insert,update,delete, dan modifikasi pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut.

      Tujuan Dari Normalisasi Adalah
  • Untuk menghilangkan kerangkapan data/ redudansi.
  • Untuk mengurangi kompleksitas
  • Untuk mempermudah pemodifikasian data
  • Untuk menghilangkan anomali data
    Proses pada normalisasi : 
    1. Data di uraikan dalam bentuk tabel, selanjut nya di analisis berdasarkan persyaratan tertentu ke beberapa tingkat.
    2. Apabila tabel yang belum memenuhi persyaratan maka tabel tersebut perlu di pecah menjadi beberapa bentuk sederhana sampai memenuhi kriteria optimal.
    Tahapan Normalisasi 
    1. 1NF (Bentuk Normal Pertama ) adalah Setiap data di bentuk dalam flat file dan Tidak ada set atribut yang berulang –ulang.
     
    Membentuk sebuah tabel menjadi yang tidak normal, dengan mencantumkan semua field data yang ada. Membentuk Normal Kesatu (1 NF) dengan flat table memisahkan data pada field-field yang tepat bernilai atomik, dan melengkapi atribut/ field yg ada.bentuk Normal Kesatu ini mempunyai banyak .
    Syarat normal ke satu (1-NF) antara lain:
    1. setiap data dibentuk dalam flat file, data dibentuk dalam satu record demi satu record nilai dari field berupa “atomic value”.
    2. tidak ada set atribute yang berulang atau bernilai ganda.
    3. telah ditentukannya primary key untuk tabel / relasi tersebut.
    4. tiapatribut hanya memiliki satu pengertian.
    2 2NF (Bentuk Normal Kedua)Sudah memenuhi Bentuk Normal Pertama ,Menentukan atribut kunci Utama/Primari key,Atribut bukan kunci bergantung secara fungsi pada Kunci Utama/Primari key.

    Langkah selanjutnya adalah membuat data menjadi bentuk normal kedua (2NF), dengan menentukan Primary key. Dari table Registrasi tamu Primary key(*)nya adalah :

    • Kode_Kamar
    • No_Registrasi
    • ID_Penghuni

     
    Syarat normal kedua (2-NF) sebagai berikut.
    1. Bentuk data telah memenuhi kriteria bentuk normal kesatu.
    2. Atribute bukan kunci (non-key) haruslah memiliki ketergantungan fungsional sepenuhnya (fully functional dependency) pada kunci utama / primary key.
    Setelah itu kita harus mengelompokan field non kunci dengan Primary key berdasarkan ketergantungan Fungsional sehingga sebagai berikut :
     
     
    3. 3NF (Bentuk Normal ketiga ) Sudah memenuhi Bentuk Normal Kedua ,Tidak mempunyai field yang bengantung Transitif

    Setelah membuat bentuk 1NF dan 2NF Selanjutnya adalah membentuk Normal ke Tiga (3NF) yakni dengan menghilangkan field yang bergantung Transitif dan membentuk relasi dengan dengan menentukan Foreign Key yaitu Kode_Kamar dan ID_Penghuni dan menambahkan Foreign Key(**) tersebut dalam Tabel Registrasi, sehingga menjadi seperti berikut:


     
     

Sumber : - Buku Basis Data Informatika
                - http://akbar-sisteminformasi.blogspot.com/2013/03/normalisasi-data-base-1nf2nfdan-3nf.html




Mohon maaf telah menunggu, mari kita lanjut ke materi berikut nyaa


Pertemuan Ke-10,  Selasa 30 September 2014

Normalisasi Tabel Proyek


Normalisai sendiri merupakan cara pendekatan lain dalam membangun desain lojik basis data relasional yang tidak secara lansung berkaitan dengan model data, tetapi dengan menerapkan sejumlah aturan dan criteria standar untuk menghasilkan bentuk table yang normal. Namun demikian dalam pelaksanaannya desainlojik basis data relasional yag didasari baik leh prinsip normalisasi maupun yang didasari oleh transformasi secara berhati-hati dari model E-R ke bentuk fisik akan menghasilkan hasil yang mirip. 


berikut adalah contoh tabel normalisasi tabel proyek :








Tabel diatas belum dilakukan normalisasi, berikut saya akan menampilkan tabel yang sudah dinormalisasi tahap 1, Suatu relasi memenuhi 1-NF jika dan hanya jika setiap atribut dari relasi tersebut hanyamemiliki nilai tunggal dalam satu baris atau record.Aturan :
  1. Mendefinisikan atribut kunci
  2. Tidak adanya group berulang
  3. Semua atribut bukan kunci tergantung pada atribut kunci







Untuk selanjutnya saya melakukan tahap normalisasi tahap 2, untuk menghilangkan ketergantungan sebagian. sehingga tabel proyek terbagi menjadi 2 yaitu tabel proyek dan tabel pegawai seperti 2 gambar dibawah ini :



gambar proyeksi tabel tahap 2


gambar tabel proyeksi yang sudah ter-normalisasi dari tahap 2




 Untuk menghilangkan ketergantungan transitif, saya melakukan proses normalisasi tahap 3. Sehingga pada induk tabel proyek akhirnya terbagi menjadi  3 tabel yaitu tabel proyek, tabel pegawai dan tabel golongan.


Tabel proyek hasil normalisasi tahap 3 dari induk tabel proyek.





Tabel proyek hasil normalisasi tahap 3 dari induk tabel proyek.





Tabel golongan hasil normalisasi tahap 3 dari induk tabel proyek.





Pertemuan Ke-11, Selasa 28 Oktober 2014


 PL/SQL (Procedural Language/Structure Query Language)



PL/SQL (Procedural Language/Structured Query Language) merupakan pengembagan SQL oleh Oracle. Prasyarat mempelajari PL/SQL adalah paling tidak mengetahui dasar-dasar SQL. Selain itu Oracle PL/SQL memiliki beberapa definisi karakteristik antara lain :


1. Terstruktur, mudah dibaca dan mudah dipelajari, jika Anda adalah orang yang baru mengenal pemrograman maka PL/SQL adalah tempat yang tepat untuk mengawalinya. Anda akanmendapatkan PL/SQL sebagai bahasa yang mudah dipelajari dan penuh dengan keyword dan struktur yang jelas/sederhana/baku. Jika Anda adalah orang berpengalaman dalam bahasa pemrograman lain maka akan sangat mudah beradaptasi dengan syntax PL/SQL

2. Standard dan bahasa portable untuk oracle development,  Jika Anda menulis PL/SQL (procedure atau function) dalam database oracle yang ada di laptop Anda, maka procedure atau function tersebut dapat dipindahkan/dieksekusi di network database perusahaan Anda tanpa ada perubahan sama sekali (asumsi kompatibilitas versi Oracle sama).”Tulis sekali, dan dapat berjalan dimana saja” (write once, run everywhere) yaitu istilah yang dipakai PL/SQL lama sebelum kemunculan JAVA. Dimana saja disini berarti dimana saja ada database oracle.

3. Bahasa yang bersifat Embedded (Tertanam di Oracle),PL/SQL tidak di design untuk digunakan sebagai bahasa yang berdiri sendiri, tetapi dapat dipanggil dalam sebuah environment itu sendiri, contohnya Anda dapat menjalankan Program PL/SQL dari database melalui Interface SQL*plus atau juga melaui Oracle Developer Form atau Report (client-side PL/SQL). Anda tidak dapat dapat mengeksekusi PL/SQL secara terpisah atau berdiri sendiri.

4. High Performance dan terintegrasi dengan database, Saat ini Anda memiliki banyak pilihan pada saat membuat software yang berjalan di atas database oracle,Anda dapat memakai JAVA dan JDBC, Visual Basic dan ODBC,atau Delphi, C++ dan banyak lagi, tetapi akan lebih mudah  dan efisien untuk mengakses  database oracle menggunkan PL/SQL dibandingkan dengan menggunakan bahasa lainnya.
(refrensi Wikipedia)


Struktur PL/SQL mirip seperti struktur bahasa pascal dan delphi, karena bertujuan untuk memudahkan user mengerti pemrograman menggunakan PL/SQL. Contoh Sintaks seperti :

Declare
   Begin
      Exception
End

Penjelasan Struktur diatas sebagai berikut

1. Bagian Deklarasi (declaration)
Bagian ini digunakan untuk mendeklarasikan semua variabel dan konstanta dimulai dari perintah DECLARE.
2. Bagian Eksekusi (Execution).
Bagian ini berisi perintah yang akan dimasukkan dalam PL/SQL. ditulis dibawah BEGIN
3. Bagian Perkecualian (Exception)
Bagian ini berisi cara penanganan kesalahan jika program mngalami eror . Tetapi penulisan exception ini bersifat opsional.

- Berikut adalah contoh bentuk umum nya: 

DECLARE
            variabel tipe_data;
            konstan CONSTANT tipe_data := value;
            ...
BEGIN
            statement_1;
            ...
EXCEPTION
            WHEN ekspresi THEN solusi_mengatasi_eror;
            ...
END;

- Berikut di bawah merupakan contoh program tanpa menggunakan exception : 

SQL> SET SERVEROUTPUT ON
SQL>DECLARE
v1  NUMBER(8);
BEGIN
v1 := 8;
DBMS_OUTPUT.PUT_LINE('v1= ' || v1);
END;

Berikut di bawah merupakan contoh program menggunakan exception : 

SQL>SET SERVEROUTPUT ON
SQL>DECLARE
X Integer;
BEGIN
X := ‘Belajar PL/SQL’;
DBMS_OUTPUT.PUT_LINE( TO_CHAR(X) );
EXCEPTION
WHEN VALUE_ERROR THEN
DBMS_OUTPUT.PUT_LINE (‘Kesalahan pada pengisian nilai, karena nilai yang diisikan berupa karakter’);
END;

Daftar pustaka : - https://ucox19.wordpress.com/category/plsql-2/
                             - http://rohmad.net/2008/06/17/mengenal-oracle-plsql-1-contoh-kasus/






Pertemuan Ke-12, Rabu 12 November 2014


Fungsi dan Prosedur PL/SQL



Prosedur pada PL/SQL

Prosedure pada PL/SQL adalah sebuah block yang dapat berdiri sendiri serta dikompilasi untuk selanjutnya masuk ke dalam skema database.

Bentuk umum dari prosedur pada PL/SQL

Bentuk umum dari prosedure adalah :
CREATE OR REPLACE PROCEDURE
nama_prosedure;
(parameter1 tipe_data,...) AS
...
BEGIN
statement;
...
END;


Contoh Program Prosedure pada PL/SQL

1:  create or replace procedure tambah_dua(a integer) as  
2:  hasil number (5);  
3:  begin  
4:  hasil:=a+2;  
5:  dbms_output.put_line('Hasilnya :'||hasil);  
6:  end;  
7:  /  

Fungsi pada PL/SQL

Fungsi pada PL/SQL adalah block yang dapat mengembalikan nilai. Dalam pembuatanya menggunakan statement RETURN untuk proses pengembalian nilai.


Bentuk umum dari fungsi pada PL/SQL

Bentuk umum dari fungsi adalah :

CREATE OR REPLACE FUNCTION nama_fungsi
(parameter1 tipe_data,...)
RETURN tipedata_fungsi IS
variable_lokal
BEGIN
statement;
...
RETURN nilai_fungsi;
END;


Contoh Program Fungsi pada PL/SQL

1:  create or replace function  
2:  pangkat (bil integer, n integer)  
3:  return integer as  
4:  hasil integer (10);  
5:  i integer;  
6:  begin  
7:  hasil :=1;  
8:  for i in 1..n loop  
9:  hasil:= hasil*bil;  
10:  end loop;  
11:  retunr hasil;  
12:  end;  
13:  /  
Setelah fungsi terbuat. maka kini kita dapat memanggilnya, seperti contoh di bawah ini :

1:  declare   
2:  h integer;  
3:  begin  
4:  h:=pangkat(2,3);  
5:  dbms_output.put_line('Hasil:'||to_char(h));  
6:  end;  
7:  /  


pertemuan ke-13, Kamis 13 November 2014

Aljabar relasional

Aljabar relasional merupakan suatu bahasa query prosedural yang terdiri dari kumpulan operasi yang inputannya adalah satu atau dua relasi dan keluarannya sebuah relasi baru sebagai hasil dari operasi yang dilakukan. operasi dasar dalam aljabar relasional adalah : select, project, union.

Operasi-operasi Dasar Aljabar Relasional
-       Select
Operasi select berfungsi untuk menyeleksi tuple-tuple yang memenuhi predikat yang diberikan oleh tabel relasi. Operasi select menggunakan simbo sigma "σ". Predikat muncul sebagai subscript dari σ dan kondisi yang diinginkan yang ditulis dalam predikat.
Contoh penggunaan operasi select :
σNIM = 1103134394(NILAI)
Perintah diatas berarti memilih tupel-tupel dari tabel NILAI yang memiliki atribut NPM bernilai 1103134394. Hasil dari operasi diatas adalah :
1103134394CSG2D38790
1103134394MA1148590

-       Project
Operasi project digunakan untuk memilih nilai atribut-atribut tertentu dari sebuah relasi. Operasi project dilambangkan oleh simbol phi "Π"
Contoh penggunaan operasi project :
Π KD_MK,SKS(MATKUL)
Perintah diatas berarti memilih nilai atribut KD_MK dan SKS dari tabel MATKUL. Hasil dari operasi diatas adalah :
CSG2D32
MUG1B45
KUG1C13

-       Union
Operasi union berfungsi untuk mendapatkan gabungan nilai atribut dari sebuah tabel relasi dengan nilai atribut dari tabel relasi lainnya. Simbol “∪” digunakan untuk menunjukkan operasi union. Operasi union bernilai benar bila terpenuhi 2 kondisi, yaitu : Derajat dari 2 tabel relasi yang dioperasikan harus sama dan domain dari atribut yang dioperasikan juga harus sama.
Operasi union berfungsi mendapatkan gabungan nilai atribut dari sebuah relasi dengan nilai atribut dari tabel relasi lainnya. Simbol "∪" digunakan untuk menunjukkan operasi union.
Contoh penggunaan operasi union :
Misalkan terdapat 2 tabel relasi bernama HIMADIF dan HMIF seperti dibawah :
HIMADIF
NPMNamaKelas
613313041FadliIF-36-01
613313052DaniIF-36-02
613313013RikoIF-36-03

HMIF
NIMNamaKelas
1103130121M. Ali NurdinIF 37-01
1103130141Riza RulhamIF 37-02
1103130164Soli KurniawanIF 37-03

dan dari 2 tabel relasi diatas dilakukan operasi union sebagai berikut :
Π Nama(HIMADIF) ∪ Π Nama(HMIF)
Perintah diatas berarti menggabungkan hasil dari operasi project terhadap tabel HIMADIF dengan hasil dari operasi project terhadap tabel HMIF. Hasil dari operasi diatas adalah :
Dani
Fadli
M. Ali Nurdin
Riza Rulham
Soli Kurniawan

Daftar Pustaka : http://www.academia.edu/5942485/Sinopsis_Aljabar_Relasional_PUTRI






Pertemuan Ke-14, Senin 24 November 2014

Trigger


Trigger merupakan sekumpulan perintah atau sintaks yang akan secara otomatis dijalankan jika terjadi operasi tertentu dalam tabel atau view. Trigger digunakan untuk memanggil satu atau beberapa perintah SQL secara otomatis sebelum atau sesudah terjadi proses INSERT, UPDATE atau DELETE dari suatu tabel. Sebagai contoh misalnya kita ingin menyimpan id pelanggan secara otomatis ke tabel ‘log’ sebelum menghapus data di tabel pelanggan.


Contoh :  CREATE TRIGGER name [BEFORE|AFTER] [INSERT|UPDATE|DELETE]
ON tablename
FOR EACH ROW statement

*PENJELASAN
  • name, Nama trigger mengikuti peraturan penamaan variabel / identifier dalam MySQL
  • [BEFORE | AFTER] digunakan untuk menentukan kapan proses secara otomatis akan dieksekusi, sebelum atau sesudah proses.
  • [INSERT | UPDATE | DELETE] digunakan untuk menentukan event (proses) yang dijadikan trigger (pemicu) untuk menjalankan perintah-perintah di dalam triggers.
  • tablename, merupakan nama tabel dimana trigger berada.
  • statement, merupakan sekumpulan perintah atau query yang akan secara otomatis dijalankan jika event / proses yang didefinisikan sebelumnya aktif.
Contoh Trigger

Pertama-tama membuat tabel. 

CREATE TABLE jejak
(aktor varchar(10),
tanggal date,
jam date,
kegiatan varchar(100)
)
/


langkah Kedua yaitu kita mulai dengan membuat sebuah trigger untuk user yang login

Kedua membuat trigger untuk user yang sudah login terlebih dahulu. 

CREATE OR REPLACE TRIGGER entry
AFTER
LOGON
ON DATABASE
begin
insert into jejak values (
user, sdate, sdate,
'login ke database ...'
);

end;
/

jika sudah menjalankan perintah trigger sebelumnya, lalu kita perlu memeriksa trigger apakah berfungsi atau tidak, yang harus dilakukan adalah :
- disconn;
- conn nama_user/pass_user;

Trigger yang terlah kita buat berfungsi untuk melihat siapa saja user yang masuk ke dalam sistem, kemudian hasilnya akan dicatat dalam tabel jejak. 
untuk melihatnya bisa menggunakan perintah berikut : 

"select aktor, tanggal, to_char(jam, 'HH:MM:SS'), kegiatan from jejak;"
 
Daftar Pustaka :https://feradhinda1401053070.wordpress.com/2012/02/28/trigger/
 
 
Saya ucapkan terima kasih yang sebesar-besar nya kepada dosen Basis Data saya Bapak Ary Wisudiawan Degunk yang telah membimbing saya dalam menjalani mata kuliah database ini, materi yang beliau sampai kan sangat membimbing saya dalam perkuliahan ini. Banyak sekali ilmu yang beliau sampai kan sehingga saya dapat menyelesaikan perkuliahan basis data pada semester ini. Semoga ilmu yang beliau berikan dapat bermanfaat bagi saya dalam kuliah maupun kehidupan sehari-hari. Sekali lagi saya ucap kan Terima Kasih.
 

Tidak ada komentar:

Posting Komentar