RSS

Praktikum Web Modul 4

MODUL 4
Fungsi dan Array

Tugas Pendahuluan
1. Jelaskan mengenai fungsi yang anda ketahui?
2. Apa yang anda ketahui tentang array dan buatlah contohnya!.
3. Apa keuntungan penggunaan fungsi dan array?

 

dowbload MODUL 4 – P.WEB

 
Tinggalkan komentar

Ditulis oleh pada 15 November 2013 in Kuliah

 

Praktikum Web Modul 3

MODUL 3
PHP Basic, Variable, Tipe Data, Struktur Kontrol dan Perulangan
I. Tugas Pendahuluan
1. php adalah server side programming, apa yang dimaksud dengan server side programming?
2. Sebutkan beberapa contoh bahasa server side programming dan client side programming!.
3. jelaskan apa yang dimaksud dengan variable dan tipe data!.
4. Jelaskan apa yang anda ketahui tentang struktu control dan perulangan!
5. Buatlah contoh kasus penggunaan struktur control dan perulangan dalam kehidupan sehari-hari.
6. Buatlah sebuah contoh setudi kasus yang menggunakan gabungan struktur control dan perulangan!.

download modul3 prak web

 
Tinggalkan komentar

Ditulis oleh pada 29 Oktober 2013 in Kuliah

 

MODEL SIMULASI

MODEL SIMULASI

Model simulasi =  model + simulasi

Pada prakteknya, modeling dan simulasi adalah proses yang berhubungan sangat erat, dan beberapa penulis membuat batasan simulasi yang mencakup modeling.

Dalam membuat suatu sistem baik sistem yang sederhana, maupun sistem yang kompleks kadang kita harus membuat rancangannya terlebih dahulu. Ibarat seorang arsitektur dalam membuat bangunan, dia harus membuat modelnya terlebih dahulu sebelum penerapan sistem dikerjakan. Berikut ini penjelasan sederhana dan singkat mengenai sistem, model, serta  simulasi. Read the rest of this entry »

 
Tinggalkan komentar

Ditulis oleh pada 27 Februari 2013 in Kuliah, mosi

 

haul pondok peta 2012

oleh : http://langitperi.blogspot.com

Ceramah Haul Pondok PETA

Haul Pondok PETA (Pesulukan Thoriqot Agung), Haul Hadlrotusyaikh Mustaqiem bin Husein, Nyai Hj Sa’diyah binti H Rois dan Hadlrotusyaikh Abdul Djalil Mustaqiem. Juga sebagai sarana silaturahmi jamaah thoriqot Syadziliyah setiap tahun yang diadakan di Tulungagung, Jawa Timur.
Kemarin, dihadiri oleh:
  • Habib Jamal Bin Thoha Baaqil (Malang)
  • KH Dr Zainur Roziqin (Malang)
  • KH Syarofuddin (Rembang)
  • KH Imron Jamil (Jombang)
  • Bapak Wagup Jatim

Read the rest of this entry »

 
1 Komentar

Ditulis oleh pada 25 November 2012 in islam, pondok peta

 

INFO Praktikum PCD kelas A. (Bu Rima)

Prosedur Praktikum PCD kelas A bisa dilihat di blog asprak.

asprak : luqman

message dari bu Rima :

Assalamualaikum wr wb.
Ja’far, saya minta bantuannya utk menyampaikan / menyebarkan file ini ke tmn2 PCD kelas A.
saya baru mndapatkn modul prakt PCD & tyt modul 1, belum sepenuhnya saya sampaikan di kelas (kebetulan yg buat modul 1, 5 & 6 adalah pak arif muntasa), shg utk melengkapi bahan prakt, maka saya berikan slide dari pak arif muntasa/ lebih jelasnya di buku yg dibuat pak arif.
Semoga membantu utk prakt modul 1.
Terimakasih, wassalam.
download juga : bab3 ,
 
Tinggalkan komentar

Ditulis oleh pada 22 September 2012 in Kuliah, pcd

 

basdat2

SQL DASAR by http://yustian.web.id/website/mysql/perintah-dasar-dalam-database-mysql/

  • Membuat database baru.
  • Membuat table baru.
  • Type column
  • Indexes dan Keys
  • Manipulasi data.
  • Inserting
  • Retrieving
  • Updateing
  • Deleting
  • Mengubah table.

1. Membuat Database Baru

  • Menampilkan database

mysql> SHOW DATABASES;

  • Membuat database

mysql> CREATE DATABASE [Nama databasemu];

  • Menggunakan database

mysql> USE [Nama databasemu];

  • Menghapus database

mysql> DROP DATABASE [Nama databasemu];

2. Membuat Table Baru

  • Menampilkan table

mysql> SHOW TABLES FROM [Nama databasemu];

  • Membuat table

mysql> CREATE TABLE [Nama tablemu] ( [nama column] [type column],[…]);

Contohnya:

mysql> CREATE TABLE anggota ( ID int(100)Nama varchar(255));

  • Menampilkan column

mysql> SHOW COLUMNS FROM [Nama tablemu];

  • Menghapus table

mysql> DROP TABLE [Nama tablemu];

Type column yang umum digunakan dalam MySQL:

  • Type String
  • char
  • varchar
  • text
  • blob
  • Type Numeric
  • int
  • tinyint
  • int zerofill
  • int not null
  • float
  • double
  • decimal

Menambahkan Indexing dan Keys kedalam Table:

mysql> ALTER TABLE [Nama tablemu] ADD INDEX ([Nama column yang ingin diberikan index]);

Contohnya:

mysql> ALTER TABLE anggota ADD INDEX (Nama);

mysql> CREATE TABLE [Nama tablemu] ( [nama column] [type column],[…],PRIMARY KEY ([nama column yang ingin diberikan key]));

Contohnya:

mysql> CREATE TABLE anggota ( ID int(100)Nama varchar(255),PRIMARY KEY (ID));

3. Manipulasi Data

  • Memasukan data

mysql> INSERT INTO [Nama tablemu] ([Nama column]) VALUES ([Isi/Nilai column]);

Contohnya:

mysql> INSERT INTO anggota (ID, Nama) VALUES (1,”Yustian”);

  • Mengupdate data

mysql> UPDATE [Nama tablemu] SET [Nama column]=[Isi/Nilai column]WHERE [Kondisi yang data diinginkan];

Contohnya:

mysql> UPDATE anggota SET Nama=“Yustian” WHERE ID=1;

  • Menghapus data

mysql> DELETE FROM [Nama tablemu] WHERE [Kondisi yang data diinginkan];

Contohnya:

mysql> DELETE FROM anggota WHERE ID=1;

4. Mengubah Table

  • Mengganti nama table

mysql> ALTER TABLE [Nama tablemu] RENAME [Nama yang baru];

Contohnya:

mysql> ALTER TABLE anggota RENAME anggotaku;

  • Menambah column ke dalam table

mysql> ALTER TABLE [Nama tablemu] ADD [nama column] [type column],[…];

Contohnya:

mysql> ALTER TABLE anggota ADD Nama char(100);

  • Menghapus column

mysql> ALTER TABLE [Nama tablemu] DROP [nama column];

Contohnya:

mysql> ALTER TABLE anggota DROP Nama;

  • Mengganti nama dan type column

mysql> ALTER TABLE [Nama tablemu] CHANGE [nama column] [Nama column yang baru] [type column][…];

Contohnya:

mysql> ALTER TABLE anggota CHANGE Nama Username varchar(255);

 

Penggunaan LEFT, INNER, dan RIGHT JOIN

By: http://shfind.blogspot.com/2010/08/penggunaan-left-inner-dan-right-join.html

Kali ini aku sedikit sharing buat rekan-rekan semua, terutama buat yang suka dengan database MySQL. tapi g cuma database MySQL aja, buat database yang lain sepertinya hal ini bisa dicoba, mungkin sedikit bahasanya yang beda. Coz semua bahasa pemograman itu intinya sama, tinggal disesuain aja dengan logat bahasa program itu sendiri. hehehe ….

 

Ok lanjut aja yach …. mumpung masih pagi ini ( jam 6 ), ntar lagi aku mo mandi trus berangkat jadi kuli. Mungkin rekan-rekan dah tahu penggunaan query di dB MySQL, namun kali ini coba query dengan relasi antar tabel.

 

Dalam query tabel di dB ada tiga macam ( yang kuketahui saat ini ) :

– LEFT JOIN

– INNER JOIN

– RIGHT JOIN

 

LEFT JOIN adalah relasi antar tabel, namun query yang ditampilkan adalah mengacu pada tabel yang sebelah kiri / tabel utama.

misal seperti ini :

 

mysql> select * from mahasiswa order by id asc;

+—-+————–+———-+———————–+———-+

| id | nim | kota | fakultas | angkatan |

+—-+————–+———-+———————–+———-+

| 1 | A10.111.1031 | Semarang | Manajemen Informatika | 2010 |

| 2 | A10.111.1032 | Semarang | Teknik Informatika | 2010 |

| 3 | A11.111.1040 | Kudus | Manajemen Informatika | 2009 |

| 4 | A11.111.1041 | Salatiga | Sistem Informasi | 2009 |

| 5 | A11.111.1043 | Demak | Teknik Informatika | 2010 |

+—-+————–+———-+———————–+———-+

5 rows in set (0.05 sec)

 

mysql> select * from nim order by id asc;

+—-+————–+———-+

| id | nim | nama |

+—-+————–+———-+

| 1 | A10.111.1031 | Musthofa |

| 2 | A10.111.1032 | Bisri |

| 3 | A11.111.1040 | Alex |

| 4 | A11.111.1041 | Graham |

+—-+————–+———-+

4 rows in set (0.00 sec)

 

Jika kedua tabel itu kita relasi dengan LEFT JOIN maka akan menjadi seperti ini :

 

mysql> select a.id, a.nim, a.kota, a.fakultas, a.angkatan, b.nama from mahasiswa a left join nim b on a.nim=b.nim;

+—-+————–+———-+———————–+———-+———-+

| id | nim | kota | fakultas | angkatan | nama |

+—-+————–+———-+———————–+———-+———-+

| 1 | A10.111.1031 | Semarang | Manajemen Informatika | 2010 | Musthofa |

| 2 | A10.111.1032 | Semarang | Teknik Informatika | 2010 | Bisri |

| 3 | A11.111.1040 | Kudus | Manajemen Informatika | 2009 | Alex |

| 4 | A11.111.1041 | Salatiga | Sistem Informasi | 2009 | Graham |

| 5 | A11.111.1043 | Demak | Teknik Informatika | 2010 | NULL |

+—-+————–+———-+———————–+———-+———-+

5 rows in set (0.00 sec)

 

nah terlihat total data yang ditampilkan ada 5 baris, namun lihat pada baris kelima kolom nama, disitu tertulis NULL. kenapa NULL ? yach karena data tidak ditemukan di tabel nim.

 

Nah, jika INNER JOIN query yang ditampilkan adalah data yang sama antara tabel pertama dengan tabel kedua, misalnya kayak gini :

 

mysql> select a.id, a.nim, a.kota, a.fakultas, a.angkatan, b.nama from mahasiswa a right join nim b on a.nim=b.nim;

+——+————–+———-+———————–+———-+———-+

| id | nim | kota | fakultas | angkatan | nama |

+——+————–+———-+———————–+———-+———-+

| 1 | A10.111.1031 | Semarang | Manajemen Informatika | 2010 | Musthofa |

| 2 | A10.111.1032 | Semarang | Teknik Informatika | 2010 | Bisri |

| 3 | A11.111.1040 | Kudus | Manajemen Informatika | 2009 | Alex |

| 4 | A11.111.1041 | Salatiga | Sistem Informasi | 2009 | Graham |

+——+————–+———-+———————–+———-+———-+

4 rows in set (0.00 sec)

 

Klo yang ini, data yang ditampilkan adalah data yang sama/data yang ada antara tabel mahasiswa dan tabel nim.

 

Nah yang terakhir RIGHT JOIN, kebalikan dari LEFT JOIN tabel yang digunakan sebagai keynya adalah tabel kedua. contohnya kayak gini :

 

mysql> select a.id, a.nim, a.kota, a.fakultas, a.angkatan, b.nama from mahasiswa a right join nim b on a.nim=b.nim;

+——+————–+———-+———————–+———-+———-+

| id | nim | kota | fakultas | angkatan | nama |

+——+————–+———-+———————–+———-+———-+

| 1 | A10.111.1031 | Semarang | Manajemen Informatika | 2010 | Musthofa |

| 2 | A10.111.1032 | Semarang | Teknik Informatika | 2010 | Bisri |

| 3 | A11.111.1040 | Kudus | Manajemen Informatika | 2009 | Alex |

| 4 | A11.111.1041 | Salatiga | Sistem Informasi | 2009 | Graham |

+——+————–+———-+———————–+———-+———-+

4 rows in set (0.00 sec)

 

ini hampir sama dengan INNER JOIN, namun jika pada tabel nim saya tambahkan lagi, misal tabel nim menjadi seperti ini:

 

mysql> select * from nim order by id asc;

+—-+————–+———-+

| id | nim | nama |

+—-+————–+———-+

| 1 | A10.111.1031 | Musthofa |

| 2 | A10.111.1032 | Bisri |

| 3 | A11.111.1040 | Alex |

| 4 | A11.111.1041 | Graham |

| 5 | A20.111.1111 | THofu |

| 6 | A20.111.1112 | Zida |

+—-+————–+———-+

6 rows in set (0.00 sec)

 

mysql>

 

dan jika kita query lagi dengan RIGHT JOIN, maka bisa liat sendiri terdapat perbedaan kan.

 

mysql> select a.id, a.nim, a.kota, a.fakultas, a.angkatan, b.nama from mahasiswa a right join nim b on a.nim=b.nim;

+——+————–+———-+———————–+———-+———-+

| id | nim | kota | fakultas | angkatan | nama |

+——+————–+———-+———————–+———-+———-+

| 1 | A10.111.1031 | Semarang | Manajemen Informatika | 2010 | Musthofa |

| 2 | A10.111.1032 | Semarang | Teknik Informatika | 2010 | Bisri |

| 3 | A11.111.1040 | Kudus | Manajemen Informatika | 2009 | Alex |

| 4 | A11.111.1041 | Salatiga | Sistem Informasi | 2009 | Graham |

| NULL | NULL | NULL | NULL | NULL | THofu |

| NULL | NULL | NULL | NULL | NULL | Zida |

+——+————–+———-+———————–+———-+———-+

6 rows in set (0.01 sec)

 

mysql>

 

Selamat mencoba ….

 

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2007 IlmuKomputer.Com

 

Riyanto

mohriyan@gmail.com

http://www.masto.co.cc

 

 

 

 

Dengan database, data atau informasi dapat disimpan secara permanen.

Informasi yang tadinya di dalam variabel, akan segera hilang bersamaan dengan

selesainya eksekusi program aplikasi. Untuk itu diperlukan database untuk menyimpan

informasi yang ingin dipertahankan saat eksekusi selesai.

Salah satu sistem database (DBMS) populer saat ini adalah MySQL. Terdapat

beberapa alasan mengapa MySQL dipilih sebagai DBMS, diantaranya: freeware,

didukung hampir semua bahasa pemrograman populer saat ini, database tercepat

(metode one-sweep multijoin), dan komunitas yang besar.

Dalam implementasinya, sering programmer hanya memanfaatkan fitur table.

Tahukah Anda, sejak MySQL versi 5.x telah tersedia fitur lain yang sangat membantu

terutama untuk aplikasi terpusat (client-server) atau tersebar (distributed), yaitu:

Trigger, Stored Procedure, Stored Function, dan View. Tutorial kali ini akan membahas

implementasi keempat fitur tersebut.

 

 

Lisensi Dokumen:

Copyright © 2003-2007 IlmuKomputer.Com

Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara

bebas untuk tujuan bukan komersial (nonprofit), dengan syarat tidak menghapus atau merubah

atribut penulis dan pernyataan copyright yang disertakan dalam setiap dokumen. Tidak

diperbolehkan melakukan penulisan ulang, kecuali mendapatkan ijin terlebih dahulu dari

IlmuKomputer.Com.

Pendahuluan

Setiap database mempunyai fasilitas yang memungkinkan aplikasi-aplikasi

untuk menyimpan dan memanipulasi data. Selain itu, database juga memberikan

fasilitas lain yang lebih spesifik yang dipakai untuk menjamin konsistensi hubungan

antar tabel dan integritas data di dalam database. Referential integrity merupakan

sebuah mekanisme untuk mencegah putusnya hubungan master/detail. Jika user

mencoba menghapus sebuah field pada tabel master sehingga record di tabel detail

menjadi yatim (tidak mempunyai induk), referential integrity akan mencegahnya.

Trigger, Stored Procedure/Function, dan View merupakan komponen dan fitur

database, yang dengan keunikan fungsi masing-masing dapat dimanfaatkan untuk

menjaga, mengelola, dan membantu kinerja database engineer dalam upaya

terjaminnya integritas sebuah database.

 

 

 

Persiapan Data

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2007 IlmuKomputer.Com

 

Sekarang masuk ke bahasan utama, yaitu implementasi. Untuk menerapkan

TRIGGER, PROCEDURE, FUNCTION dan VIEW dibutuhkan suatu relasi, misalkan:

mahasiswa dan prodi, sebagaimana yang diilustrasikan dengan perintah SQL di bawah

ini.

 

_ Membuat database “akademik”

mysql> create database akademik;

 

_ Menggunakan database

mysql> use akademik;

 

_ Membuat tabel “mahasiswa”

 

mysql> create table mahasiswa(nim char(5), nama varchar(25), alamat

varchar(50), kode_prodi char(3), primary key(nim));

_ Membuat tabel “prodi”

 

mysql> create table prodi(kode_prodi char(3), nama_prodi varchar(25),

jurusan varchar(20), primary key(kode_prodi));

_ Membuat relasi antara tabel “mahasiswa” dengan “prodi”

 

mysql> alter table mahasiswa add foreign key(kode_prodi) references

prodi(kode_prodi);

_ Menginputkan 5 data ke tabel “prodi”

 

mysql> insert into prodi values(‘P01′,’Eks Ilmu Komputer’,’Matematika’),

(‘P02′,’Ilmu Komputer’,’Matematika’), (‘P03′,’D3 Komsi’,’Matematika’),

(‘P04′,’D3 Rekmed’,’Matematika’), (‘P05′,’D3 Ellins’,’Fisika’);

_ Menginputkan 3 data ke tabel “mahasiswa”

 

mysql> insert into mahasiswa values(‘00543′,’Muhammad’,’Karangmalang A-50′,

‘P01’),(‘10043′,’Ahmad Sholihun’,’Karangmalang D-17′,’P02′),

(‘10041′,’Sugiharti’,’Karangmalang A-23′,’P02′);

_ Menampilkan data dari tabel  “prodi”

mysql> select * from prodi;

 

 

_ Menampilkan data dari tabel  “mahasiswa”

mysql> select * from mahasiswa;

 

1. TRIGGER

Pernyataan CREATE TRIGGER digunakan untuk membuat trigger, termasuk

aksi apa yang dilakukan saat trigger diaktifkan. Trigger berisi program yang

dihubungkan dengan suatu tabel atau view yang secara otomatis melakukan suatu aksi

 

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2007 IlmuKomputer.Com

 

ketika suatu baris di dalam tabel atau view dikenai operasi INSERT, UPDATE atau

DELETE.

 

Sintak :

CREATE

[DEFINER = { user | CURRENT_USER }]

TRIGGER trigger_name trigger_time trigger_event

ON tbl_name FOR EACH ROW trigger_stmt

 

Keterangan :

_ [DEFINER = { user | CURRENT_USER }]: Definisi user yang sedang aktif,

sifatnya opsional.

_ trigger_name: Nama trigger.

_ trigger_time: waktu menjalankan trigger. Ini dapat berupa BEFORE atau AFTER.

_ BEFORE: Membuat trigger diaktifkan sebelum dihubungkan dengan suatu

operasi.

_ AFTER: Membuat trigger diaktifkan setelah dihubungkan dengan suatu

operasi.

_ trigger_event: berupa kejadian yang akan dijalankan trigger.

_ trigger_event dapat berupa salah satu dari berikut:

_ INSERT : trigger diaktifkan ketika sebuah record baru disisipkan ke dalam

tabel. Contoh: statemen INSERT, LOAD DATA, dan REPLACE.

_ UPDATE : trigger diaktifkan ketika sebuah record dimodifikasi. Contoh:

statemen UPDATE.

_ DELETE : trigger diaktifkan ketika sebuah record dihapus. Contoh: statemen

DELETE dan REPLACE.

Catatan : trigger_event tidak merepresentasikan statemen SQL yang

diaktifkan trigger sebagai suatu operasi tabel. Sebagai contoh, trigger BEFORE

untuk INSERT akan diaktifkan tidak hanya oleh statemen INSERT tetapi juga

statemen LOAD DATA.

_ tbl_name: Nama tabel yang berasosiasi dengan trigger.

_ trigger_stmt: Statemen (tunggal atau jamak) yang akan dijalankan ketika trigger

aktif.

 

Contoh yang akan dibahas adalah mencatat kejadian-kejadian yang terjadi

beserta waktunya pada tabel mahasiswa, dan catatan-catatan tadi disimpan dalam tabel

yang lain, misal log_mhs. Misalkan struktur tabel log_mhs adalah sebagai berikut.

 

mysql> describe log_mhs;

 

 

_ Contoh 1:

mysql> create trigger ins_mhs after insert on mahasiswa

-> for each row insert into log_mhs values(‘Tambah data’,now());

 

mysql> insert into mahasiswa values(‘00631′,’Hanif’,’Kalasan’,’P01′);

 

mysql> select * from log_mhs;

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2007 IlmuKomputer.Com

 

 

 

Dari contoh diatas dapat dilihat bahwa ketika satu record pada tabel mahasiswa

disisipkan (insert), maka secara otomatis tabel log_mhs akan disisipkan satu record,

yaitu kejadian ‘Tambah data’ dan waktu saat record pada tabel mahasiswa

disisipkan.

 

_ Contoh 2 :

mysql> create trigger updt_mhs after update on mahasiswa

-> for each row insert into log_mhs values(‘Ubah data’,now());

 

mysql> update mahasiswa set nama=’Moh. Riyan’ where nim=’00543′;

 

mysql> select * from mahasiswa;

 

 

mysql> select * from log_mhs;

 

 

Dari contoh diatas dapat dilihat bahwa ketika satu record pada tabel mahasiswa

diperbaharui (update), maka secara otomatis tabel log_mhs akan disisipkan satu record,

yaitu kejadian ‘Ubah data’ dan waktu saat record pada tabel mahasiswa

diperbaharui.

 

_ Contoh 3 :

 

mysql> create trigger del_mhs after delete on mahasiswa

-> for each row insert into log_mhs values(‘Hapus data’,now());

 

mysql> delete from mahasiswa where nim=’00631′;

 

mysql> select * from log_mhs;

 

Dari contoh diatas dapat dilihat bahwa ketika satu record pada tabel mahasiswa

dihapus (delete), maka secara otomatis tabel log_mhs akan disisipkan satu record, yaitu

kejadian ‘Hapus data’ dan waktu saat record pada tabel mahasiswa dihapus.

Dalam implementasinya untuk pekerjaan sehari-hari, pembuatan trigger dan

tabel log, digunakan untuk mencatat kejadian suatu tabel yang dianggap rawan serangan

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2007 IlmuKomputer.Com

 

cracker. Dengan struktur trigger yang baik sesuai kebutuhan, administrator dapat

melakukan pelacakan dan recovery data dengan cepat karena mengetahui record mana

saja yang “diserang”. Atau, dihubungkan dengan program aplikasi (user interface) agar

mengaktifkan alarm, jika terdapat operasi database pada waktu yang tidak seharusnya

(misalkan malam hari).

 

_ Menampilkan daftar trigger yang telah dibuat:

 

mysql> show triggers;

Keterangan (record pada kolom “statement” dan “sql_mode”):

 

S1 : insert into log_mhs values(‘Tambah data’,now())

S2 : insert into log_mhs values(‘Ubah data’,now())

S3 : insert into log_mhs values(‘Hapus data’,now())

SQL1 : STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

SQL2 : STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

SQL3 : STRICT_TRANS_TABLES,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

Karena hasil eksekusi perintah “show triggers” sangat panjang, tampilan di atas

sengaja diedit dengan tujuan agar mudah dipahami.

 

2. STORED PROCEDURE/FUNCTION

Untuk membuat stored procedure/function pada database digunakan pernyataan

CREATE PROCEDURE  atau CREATE FUNCTION.

 

2.1 PROCEDURE

Sintak :

CREATE PROCEDURE sp_name ([proc_parameter[,…]])

[characteristic …] routine_body

 

Keterangan :

_ sp_name: Nama routine yang akan dibuat

 

_ proc_parameter: Parameter stored procedue, terdiri dari :

_ IN : parameter yang digunakan sebagai masukan.

_ OUT : parameter yang digunakan sebagai keluaran

_ INOUT : parameter yang digunakan sebagai masukan sekaligus keluaran.

_ routine_body: terdiri dari statemen prosedur SQL yang valid.

Agar lebih jelas, perhatikan contoh penggunaannya berikut ini.

_ Contoh 1:

mysql> delimiter //

mysql> create procedure pMhsIlkom(OUT x varchar(25))

-> begin

->    select nama into x from mahasiswa where kode_prodi=’P01′;

-> end

-> //

 

mysql> call pMhsIlkom(@Nama);

-> select @Nama;

-> //

 

 

 

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2007 IlmuKomputer.Com

 

Dari contoh diatas terlihat bahwa parameter “x” (sebagai OUT) digunakan untuk

menampung hasil dari perintah routine_body. Pernyataan “into x”, inilah yang

mengakibatkan “x” menyimpan informasi nama (sebagai kolom yang ter-select).

Untuk menjalankan procedure digunakan ststemen call. Pernyataan “call

pMhsIlkom(@Nama)” menghasilkan informasi yang kemudian disimpan pada

parameter “@Nama”. Kemudian untuk menampilkan informasi ke layar digunakan

pernyataan “select @Nama”.

 

_ Contoh 2:

 

mysql> delimiter //

 

mysql> create procedure pMhs(out x varchar(25), out y varchar(3), in z

char(3))

-> begin

->    select nama,alamat into x,y from mahasiswa where kode_prodi=z;

-> end

-> //

 

mysql> call pMhs(@Nama,@Alamat,’P01′);

 

mysql> select @Nama, @Alamat;

 

Dari contoh yang kedua ini terlihat bahwa parameter “z” (sebagai IN) digunakan

sebagai jalur untuk masukan routine dan parameter “x” dan “y” digunakan untuk

menampung hasil dari perintah routine_body. Pernyataan “into x, y”, inilah yang

mengakibatkan “x” dan “y” menyimpan informasi nama  dan alamat (sebagai kolom

yang ter-select).

Pernyataan “call pMhs(@Nama, @Alamat)” menghasilkan informasi yang

kemudian disimpan pada parameter @Nama dan @Alamat, sedangkan parameter

“z” digunakan untuk menampung string ‘P01’ yang kemudian digunakan untuk

memproses routine_body . Kemudian untuk menampilkan informasi ke layar

digunakan pernyataan “select @Nama, @Alamat”.

 

Jika diperhatikan pada contoh1 dan contoh2, dalam membuat routine selalu

menggunakan delimiter. Hal ini digunakan untuk mengubah pernyataan delimiter dari

“;” ke “//” ketika suatu procedure sedang didefinisikan. Sehingga sebelum delimiter

ditutup, meskipun sudah ditekan enter masih dianggap satu-kesatuan perintah.

Jika menggunakan perintah delimiter, maka untuk menutupnya digunakan

karakter backslash (‘\’) karena karakter ini merupakan karakter escape untuk MySQL.

 

2.2 FUNCTION

Secara default, routine (procedure/function) diasosiasikan dengan database

yang sedang aktif. Untuk dapat mengasosiasikan routine secara eksplisit dengan

database yang lain, buat routine dengan format: db_name.sp_name.

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2007 IlmuKomputer.Com

 

MySQL mengijinkan beberapa routine berisi statemen DDL, seperti CREATE

dan DROP. MySQL juga mengijinkan beberapa stored procedure (tetapi tidak stored

function) berisi statemen SQL transaction, seperti COMMIT. Stored function juga

berisi beberapa statemen baik yang secara eksplisit atau implisit commit atau rollback.

 

Sintak :

CREATE FUNCTION sp_name ([func_parameter[,…]])

RETURNS type

[characteristic …] routine_body

proc_parameter:

[ IN | OUT | INOUT ] param_name type

func_parameter:

param_name type

 

type:

Any valid MySQL data type

 

characteristic:

LANGUAGE SQL

| [NOT] DETERMINISTIC

| { CONTAINS SQL | NO SQL | READS SQL DATA | MODIFIES SQL DATA }

| SQL SECURITY { DEFINER | INVOKER }

| COMMENT ‘string

 

routine_body:

Valid SQL procedure statement or statements

 

Keterangan :

_ sp_name: Nama routine yang akan dibuat

 

_ proc_parameter: Spesifikasi parameter sebagai IN, OUT, atau INOUT valid

hanya untuk PROCEDURE. (parameter FUNCTION selalu sebagai parameter IN)

_ returns: Klausa RETURNS dispesifikan hanya untuk suatu FUNCTION. Klausa ini

digunakan untuk mengembalikan tipe fungsi, dan routine_body harus berisi suatu

statemen nilai RETURN.

_ comment: Klausa COMMENT adalah suatu ekstensi MySQL, dan mungkin

digunakan untuk mendeskripsikan stored procedure. Informasi ini ditampilkan dengan

statemen SHOW CREATE PROCEDURE dan SHOW CREATE FUNCTION.

_ Contoh:

mysql> delimiter //

 

mysql> create function fcNamaMHS(x char(25)) returns char(40)

-> return concat(‘Nama : ‘, x);

-> //

Query OK, 0 rows affected (0.00 sec)

 

mysql> select fcNamaMHS(‘Sholihun’);

 

 

Dari contoh diatas terlihat bahwa parameter “x” diperlakukan sebagai IN karena

sebagaimana dijelaskan sebelumnya bahwa fungsi hanya bisa dilewatkan dengan

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2007 IlmuKomputer.Com

 

parameter IN. Kemudian untuk pengembalian nilainya, digunakan tipe data dengan

kisaran nilai tertentu (dalam hal ini char(40)) dengan diawali pernyataan returns.

Pernyataam “concat(‘Nama : ‘, x)” merupakan routine_body yang akan

menghasilkan gabungan string “Nama :” dengan nilai dari parameter “x” yang didapat

ketika fungsi ini dieksekusi. Perintah yang digunakan untuk mengeksekusi fungsi

adalah “select fcNamaMHS(‘Sholihun’)”.

 

_ Menampilkan status fungsi tertentu:

 

mysql> show function status like ‘fcNamaMHS’\G

 

 

Berisi tentang database bersangkutan, tipe fungsi, definer dan lain-lain.

 

3. VIEW

Sintak :

CREATE

[OR REPLACE]

[ALGORITHM = {UNDEFINED | MERGE | TEMPTABLE}]

[DEFINER = { user | CURRENT_USER }]

[SQL SECURITY { DEFINER | INVOKER }]

VIEW view_name [(column_list)]

AS select_statement

[WITH [CASCADED | LOCAL] CHECK OPTION]

 

Keterangan :

_ create: Statemen ini digunakan untuk membuat suatu view baru, atau mengganti

suatu view yang telah ada (exist) jika klausa OR REPLACE diberikan.

_ select_statement: Suatu statemen SELECT yang menyediakan definisi dari view.

Statemen ini dapat men-select dari tabel dasar atau view yang lain. Statemen ini

membutuhkan CREATE VIEW privilege untuk view, dan beberapa privilege untuk

setiap kolom terpilih oleh statemen SELECT.

_ [(column_list)]: Daftar kolom yang akan dipilih.

 

View termasuk dalam komponen database. Secara default, suatu view baru

dibuat ke dalam database yang diaktifkan. Untuk membuat secara eksplisit di dalam

suatu database tertentu, maka buatlah nama view dengan format:

db_name.view_name.

Contoh yang akan diberikan adalah view untuk menyimpan informasi detail

mahasiswa, dalam hal ini melibatkan 2 tabel, yaitu mahasiswa dan prodi.

 

_ Contoh:

mysql> create view vDetailMhs as

->    select m.nim, m.nama, m.alamat, p.nama_prodi, p.jurusan

->    from mahasiswa m, prodi p

->    where (m.kode_prodi=p.kode_prodi);

 

mysql> select * from vDetailMhs;

Komunitas eLearning IlmuKomputer.Com

Copyright © 2003-2007 IlmuKomputer.Com

 

 

 

Dari contoh diatas dapat dijelaskan bahwa view tersebut berisi informasi

mahasiswa (nim, nama, alamat) dan informasi prodi mahasiswa yang bersangkutan

(nama_prodi dan jurusan). Implementasi view dalam program aplikasi adalah untuk

memudahkan dalam mendesain laporan (report).

 

Kesimpulan

Berdasarkan materi yang disajikan dapat ditarik kesimpulan sebagai berikut:

_ Stored Procedure/Function merupakan kumpulan perintah SQL yang diberi nama

dan disimpan di server SQL. Stored Procedure biasanya berisi perintah-perintah

umum yang berhubungan dengan database, baik perintah DDL (data definition

language) maupun DML (data manipulation language).

_ Trigger merupakan kumpulan perintah SQL yang secara otomatis dijalankan untuk

merespon sebuah perintah tertentu. Biasanya, secara fisik trigger menjadi satu

dengan table atau view.

_ View mirip dengan Stored Procedure. Dalam implementasinya, view biasa

digunakan untuk menyederhanakan query yang kompleks untuk keperluan

reporting. View dapat terdiri dari satu atau lebih query, termasuk nested query.

Record pada sebuah view ada yang dapat dimanipulasi, dan ada pula yang tidak,

tergantung  DBMS yang digunakan.

 

Daftar Pustaka

Manual MySQL Server 5.1

 

Biografi Penulis

Riyanto, Lahir di Pati, 20 Juli 1982. Menyelesaikan S1 Ilmu

Komputer UGM, Yogyakarta pada tahun 2007. Saat ini mengelola

software house yang bergerak di bidang Sistem Informasi dan

Networking. Beberapa karyanya telah diterbitkan sebagai buku,

diantaranya:

_ Pengembangan Aplikasi Manajemen Database dengan

Java 2 (SE/ME/EE).

_ Pengembangan Aplikasi Sistem Informasi Geografis

Berbasis Desktop dan Web.

_ Membuat Sendiri Sistem Informasi Penjualan dengan PHP

dan MySQL (Studi Kasus Aplikasi Mini Market Integrasi Barcode Reader).

_ Sistem Informasi Geografis Berbasis Mobile.

_ Membuat Sendiri Aplikasi Mobile GIS Platform Java ME, BlackBerry, dan

Android. (Proses Cetak)

Penulis juga aktif sebagai IT Trainer di beberapa lembaga pelatihan di Yogyakarta.

Informasi lebih lanjut tentang penulis dapat Anda temukan di

http://www.masto.co.cc.

 

 

 
Tinggalkan komentar

Ditulis oleh pada 3 Juli 2012 in Uncategorized

 
Gambar

nilai prak.sistal D1

nilai prak.sistal D1

liat : klik >>> D1

 
Tinggalkan komentar

Ditulis oleh pada 22 Juni 2012 in Uncategorized