Selasa, 27 September 2011

NIM / NAMA : 10410100261 / Aprily Surya Rizanda Saputra
Dosen : Tan Amelia
Judul : Stored Procedure, Function dan Trigger


1.    Stored Procedures
Contoh dengan parameter “IN”
-       Misal dibuat Stored Procedure untuk menampilkan data pegawai untuk jabatan tertentu saja, sehingga saat dipanggil deperlukan parameter berupa kode jabatan yang akan ditampilkan
CREATE PROCEDURE sp_peg_jabatan (kdjabat char (2))
select nip,namapeg,p.kodejabat,namajabat
from pegawai p left join jabatan j
on j.kodejabat = p.kodejabat
WHERE p.kodejabat = kd.jabat;
Untukk memanggil :
Call sp_peg_jabatan(‘01’);
-       Parameter berupa kode jabatan berupa nilai 01

Contoh dengan parameter “OUT”
-       Misal dibuat Stored Procedure untk mengetahui jumlah pegawai
-       Diperlukan parameter OUT untuk menampung hasil perhitungan jumlah pegawai
CREATE PROCEDURE sp_jum_peg (OUT jum int)
SELECT count(*) INTO jum FROM pegawai;
QUERY OK, 0 rows affected (0.00 sec)
call sp_jum_peg(@n);
selcet @n
@n
4
1 row in set (0.08 sec)

Contoh dengan parameter “INOUT”
-       Misal dibuat Stored Procedure untuk merubah tampilan No Telepon, dibutuhkan parameter masukan notelp yang sekaligus akan digunakan sebagai hasil keluaran
CREATE PROCEDURE
sp_telpon (INOUT notelp varchar (20))
SELECT LONCAT(“(“,left(notelp,3),”)”,
substring(notelp,4,3),”-”,substring(notelp,7))
INTO notelp;
SET @tlp = ‘021234567’;
call sp_telpon(@tlp);
select @tlp;
@tlp
(021) 234-567

Contoh dengan parameter “IN dan OUT”
-       Misal akan dibuat Stored Procedure untuk mengetahui Jumlah Pegawai untuk jabatan tertentu, maka dibutuhkan parameter yang dikirimkan berupa kode jabatan (kdjabat) dan juga parameter untuk menampung hasil perhitungan (jum)
CREATE PROCEDURE
sp_jum_peg_jabat(IN kdjabat char(2), OUT jum int)
SELECT count(*) INTO jum FROM pegawai
WHERE kodejabat = kdjabat;
call sp_jum_peg_jabat(’02’,@n);
select @n;
@n
3

2.    Function
Contoh 1:
CREATE FUNCTION AdditionOK(@Number1 Decimal(6,2))
RETURNS Decimal(6,2)
BEGIN
    RETURN @Number1 + 1450
END
Contoh 2:       
CREATE FUNCTION AdditionTWO(@Number1 Decimal(6,2),
             @Number2 Decimal(6,2))
RETURNS Decimal(6,2)
BEGIN
    DECLARE @Result Decimal(6,2)
    SET @Result = @Number1 + @Number2
    RETURN @Result
END


3.    Trigger
Contoh :
create database mytrigger;
create table coba (kode varchar(5) not null,nama varchar(35) not null,primary key (kode)) create table coba2 (kode varchar(5) not null,nama varchar(35) not null,primary key (kode)) create table tran (kode varchar(5) not null,kodetran varchar(5),jumlah double,primary key nkode (kode,kodetran))

delimiter $$
create trigger auto_insert_coba2before insert on coba for each rowbegin insert into coba2 (kode,nama) values (NEW.kode,NEW.nama);
end$$
create trigger auto_update_coba2before update on coba for each rowbegin update coba2 set nama=NEW.nama where kode=NEW.kode;
end$$
create trigger auto_delete_coba2before delete on coba for each rowbegin delete from coba2 where kode=OLD.kode;
delete from tran where kode=OLD.kode;
end$$

Minggu, 25 September 2011

Konsep dan Managemen Teknologi Informasi

Nama : Aprily Surya Rizanda Saputra
Nim : 10410100261
Tugas : Resume part 3

Konsep dan Managemen Teknologi Informasi

# Definisi Teknologi Informasi
Teknologi Informasi dilihat dari kata penyusunnya terdiri dari 2 kata yaitu Teknologi 
dan Informasi, ada beberapa definisi teknologi yaitu :
1. Penerapan keilmuan yang mempelajari dan mengembangkan kemampuan dari 

suatu rekayasa dengan langkah dan teknik tertentu dalam suatu bidang.  
2. Aplikasi ilmu dan engineering untuk mengembangkan mesin dan prosedur agar 
memperluas dan memperbaiki kondisi manusia, atau paling tidak memperbaiki 
efisiensi manusia pada beberapa aspek.

Sedangkan informasi dapat didefinsikan sebagai berikut :  
1.  Data yang disimpan, diproses, atau ditransmisikan  
2.  Pengetahuan yang didapatkan dari pembelajaran, pengalaman, atau instruksi
3. Data yang sudah diolah menjadi suatu bentuk lain yang lebih berguna yaitu 
pengetahuan atau keterangan yang ditujukan bagi penerima dalam pengambilan 
keputusan, baik masa sekarang atau yang akan datang.  
Jadi pengertian teknologi informasi itu adalah hasil rekayasa manusia terhadap 
proses penyampaian informasi dari bagian pengirim ke penerima sehingga 
pengiriman informasi tersebut akan lebih cepat, lebih luas penyebarannya, dan 
lebih lama penyimpanannya. 



Infrastruktur & Arsitektur Sistem Informasi
     -      Infrastruktur Informasi
     -      Infrastruktur TI
     -      Mainframe Lingkungan
     -      Lingkungan PC
     -      Distributed Computing
     -      Arsitektur Peer-to-peer (P2P)

# Infrastruktur TI
     -      Dalam teknologi informasi dan Internet, infrastruktur perangkat keras (fisikal) yang digunakan untuk menghubungkan komputer dan pengguna.
     -      Infrastruktur mencakup media transmisi, termasuk saluran telepon, saluran televisi kabel, dan satelit dan antena, dan juga router, repeater, dan perangkat lain yang mengontrol jalur transmisi.
     -      Infrastruktur juga mencakup perangkat lunak yang digunakan untuk mengirim, menerima, dan mengelola sinyal yang ditransmisikan.

# Infrastruktur TI yang Ideal yaitu :
   -      TI menjadi key operational
     -      TI menjadi competitive advantage
     -      TI menjadi key enabler

# Mainframe dan Lingkunganya
   -      Mainframe adalah komputer yang berukuran  besar dan kuat yang digunakan terutama oleh organisasi-organisasi besar untuk aplikasi kritis.
     -      Mainframe memiliki prosesor lebih dari satu, sehingga lebih cepat dibanding dengan mini komputer.
     -      Mainframe secara umum membutuhkan ruangan yang besar dan khusus dimana faktor lingkungan yang terdiri dari temperatur, kelembaban udara ataupun gangguan asap dapatlah dimonitor.

# PC dan Lingkunganya
    -      Pada awalnya, komputer jenis ini diciptakan untuk memenuhi kebutuhan per-orangan (personal).
     -      Keunggulan harganya relatif murah, bentuknya kecil dan teknologi yang dimiliki diangap sudah memadai, maka personal komputer menjadi begitu cepat populer.
     -      Sekarang banyak digunakan oleh perusahaan untuk menyelesaikan pelbagai masalah yang ada diperusahaan.
     -      Software applikasi personal komputer terdiri  word processingspreadsheetsdatabasesWeb browsers dan e-mail clients, games, and software applikasi khusus.
     -      Komputer pribadi modern biasanya memiliki koneksi ke Internet, memungkinkan akses ke World Wide Web dan berbagai sumber daya lain.
Contoh : Desktop ,Notebook/ Laptop, PDA/ Pocket Computer

# Distributed Computing
-      Komputasi terdistribusi adalah bidang ilmu komputer yang mempelajari sistem terdistribusi.
     -      Sistem terdistribusi terdiri dari beberapa komputer otonom yang berkomunikasi melalui jaringan komputer.
     -      Komputer berinteraksi satu sama lain untuk mencapai tujuan bersama.
     -      Program komputer yang berjalan dalam sistem terdistribusi disebut program terdistribusi.
     -      Fungsi sistem terdistribusi untuk memecahkan masalah komputasi.
     -      Dalam komputasi terdistribusi, masalah dibagi menjadi banyak tugas, masing-masing yang diselesaikan oleh satu komputer.

Arsitektur Peer-to-peer (P2P)
    -      Peer-to-peer (P2Padalah arsitektur aplikasi terdistribusi yang  tugas atau beban kerja sama rata.
    Kelebihan :
     - Lebih murah
     - Mudah untuk disetup
     - Mudah dan murah dalam perawatan
     - Tidak membutuhkan sistem perasi berbasis server

     Kekurangan :
     - Setiap user harus mengatur sistem keamanan setiap komputernya
     - User dapat menjadi bingung karena tidak ada pusat data yang mengatur
     - Membutuhkan user yang berpengalaman
     - Terbatas untuk 10 komputer atau kurang

Selasa, 20 September 2011

Materi Stored Procedures, Functions dan Trigger pada SQL Server

NIM / Nama : 10410100261 / Aprily Surya Rizanda Saputra
Dosen : Tan Amelia
Tugas : Stored Procedures, Functions dan Trigger pada SQL Server


# Stored Procedures
1. Stored procedure pada dasarnya adalah sebuah program yang disimpan di dalam database server, karena stored procedure ini dapat menerima suatu input parameter dan output parameter serta dapat menghasilkan suatu message succes atau error.
2. Stored procedure sangat bermanfaat untuk aplikasi database, baik untuk meningkatkan kinerja maupun untuk pemeliharaan. Karena setelah procedure dijalankan di server, akses berikutnya akan menjadi lebih mudah dan cepat karena eksekusi telah tersimpan di dalam memory.
3. Stored procedure juga dapat menjalankan procedure yang lain, dan juga dapat memberitahukan bahwa ia telah dijalankan dengan sukses atau gagal.
4. Stored procedure dapat menerima parameter input, dengan menggunakan variabel lokal, dan menghasilkan data dengan menggunakan output parameter, return code, result set dari statement SELECT.

# Functions
Function adalah suatu blok PL/SQL yang memiliki konsep sama dengan procedure, hanya saja pada function terdapat pengembalian nilai (return value).
Karena function dapat mengembalikan sebuah nilai, function dapat diakses seperti layaknya sebuah variabel biasa.

Bentuk Umum :

CREATE OR REPLACE FUNCTION nama_function (parameter_1, …)
RETURN tipe_data AS
variabel_1 tipe_data;

BEGIN
statemen_1;

RETURN nilai_yang_dikembalikan;
END;

Statemen RETURN tipe_data diatas menunjukkan bahwa function akan mengembalikan nilai dengan tipe data tertentu
Statemen RETURN nilai_yang_dikembalikan berfungsi untuk mengembalikan nilai yang telah diproses dalam function

Contoh Function Tanpa Parameter :
(1)
CREATE OR REPLACE FUNCTION tulis_teks RETURN VARCHAR2 AS
S VARCHAR2(20)
BEGIN
S := ‘HALLO SEMUA’;
RETURN S;
END;
/

(2)
SET SERVEROUTPUT ON
DECLARE
X VARCHAR2(20);
BEGIN
X := tulis_teks;
DBMS_OUTPUT.PUT_LINE(X);
END;
/

Contoh Function Dengan Parameter :
(1)
CREATE OR REPLACE FUNCTION 
pangkat (bil INTEGER, n INTEGER)
RETURN INTEGER AS
HASIL INTEGER(10);
I INTEGER;
BEGIN
HASIL := 1;
FOR I IN 1..n LOOP
HASIL := HASIL * bil;
END LOOP;
RETURN HASIL;
END;
/

(2)
SET SERVEROUTPUT ON
DECLARE
H INTEGER;
BEGIN
H := pangkat(2, 3);
DBMS_OUTPUT.PUT_LINE(‘Hasil = ‘ || TO_CHAR(H));
END;
/

Contoh Function Dalam Function :
(1)
CREATE OR REPLACE FUNCTION kuadrat (X NUMBER)
RETURN NUMBER AS
HASIL NUMBER(10);
BEGIN
HASIL := X * X;
RETURN HASIL;
END;
/

(2)
CREATE OR REPLACE FUNCTION determinan
(a NUMBER, b NUMBER, c NUMBER)
RETURN NUMBER AS
D NUMBER(10);
BEGIN
D := kuadrat(b) – (4 * a * c);
RETURN D;
END;
/


# Trigger pada SQL
Trigger adalah blog pada PL/SQL atau prosedur yang berhubungan dengan tabel, view, skema atau database yang dijalankan secara implicit pada saat terjadi sebuah event. Trigger merupakan store prosedur yang dijalankan secara automatis saat user melakukan modifikasi data pada tabel. Modifikasi data yang dilakukan pada tabel yaitu berupa perintah INSERT, UPDATE dan DELETE. INSERT, UPDATE dan DELETE bisa digabung jadi satu trigger yang dinamakan Multiple Trigger.

Tipe dari Trigger adalah :
1. Application trigger : diaktifkan pada saat terjadi event yang berhubungan dengan sebuah aplikasi.
2. Database trigger : diaktifkan pada saat terjadi event yang berhubunga dengan data (seperti operasi DML) atau event yang berhubungan dengan system (misal logon atau shut down) yang terjadi pada sebuah skeam atau database.

Trigger perlu dibuat pada saat :
1. Membuat sebuah aksi tertentu terhadap suatu event.
2. Memusatkan operasi global.

Trigger tidak perlu dibuat, jika :
1. Fungsionalitas yang diperlukan suatu ada pada Oracle server.
2. Duplikat atau sama dengan fungsi trigger yang lain.

Sintak penulisan dari database trigger, berisi komponen berikut :
1. Trigger timing :
            a. Untuk tabel : BEFORE, AFTER
            b. Untuk view : INSTEAD OF
2. Trigger event : INSERT, UPDATE, atau DELETE
3. Nama tabel : yaitu nama tabel atau view yang berhubunga dengan trigger.
4. Tipe trigger : baris atau pernyataan (statement)
5. Klausa WHEN : untuk kondisi pembatasan pada trigger
6. Trigger body : bagian prosedur yang dituliskan pada trigger.

Trigger timing adalah waktu kapan trigger diaktifkan. Ada tiga macam trigger triming, yaitu :
1. BEFORE : trigger dijalankan sebelum DML event pada tabel.
2. AFTER : trigger dijalankan setelah DML event pada tabel.
3. INSTEAD OF : trigger dijalankan pada sebuah view.

Trigger event ada 3 kemungkinan : INSERT, UPDATE, atau DELETE. Pada saat trigger event UPDATE,  kita dapat memasukkan daftar kolom untuk mengidentifikasi kolom mana yang berubah untuk mengaktifkan sebuah trigger (contoh : UPDATE OF salary ...). Jika tidak ditentukan, maka perubahanya akan berlaku untuk semua kolom pada semua baris.

Tipe trigger ada 2 macam yaitu :
1. Statement : trigger dijalankan sekali saja pada saat terjadi sebuah event. Statement trigger juga dijalankan sekali, meskipun tidak ada satupun baris yang dipengaruhi oleh event yang terjadi
2. Row : trigger dijalankan pada setiap baris yang dipengaruhi oleh terjadinya sebuah event. Row trigger tidak dijalankan jika event dari trigger tidak berpengaruh pada satu baris pun.

Trigger body mendefinisikan tindakan yang perlu dikerjakan pada saat terjadinya event yang mengakibatkan sebuah trigger menjadi aktif.

Selasa, 13 September 2011

Tutorial SQL

Nim / Nama : 10.41010.0261 / Aprily Surya R S
Dosen           : Tan Amelia
Tugas           : Tutorial SQL

SQL (Structured Query Language) (baca: sequel) adalah salah satu bahasa generasi level ke-4 (4th GL) yang awalnya dikembangkan oleh IBM di San Jose Research Laboratory. Berbeda dengan bahasa pemrogramman level ke-3 (3rd GL), SQL adalah bahasa yang bersifat request oriented dan bersifat non-prosedural sehinggan lebih mudah untuk dipelajari karena sintaksis yang digunakan hampir menyerupai bahasa yang digunakan oleh manusia untuk berkomunikasi. Oleh karena itu, SQL lebih fleksibel dalam penggunaannya. Selain itu, SQL juga bersifat non case sensitif. Banyak vendor pembuat DBMS (Database Management System) yang saat ini menggunakan SQL sebagai standarisasi dalam produk mereka, seperti ORACLE, Microsoft SQL Server, PostGreSQL, dan MySQL.
SQL sendiri terbagi atas beberapa bagian, yaitu:
Tiga bagian utama SQL:
  1. DDL (Data Definition Language), yaitu bahasa yang memiliki kemampuan untuk mendefinisikan data yang berhubungan dengan pembuatan dan penghapusan objek seperti tabel, indeks, bahkan basis datanya sendiri. Misalnya, CREATE, DROP, dan ALTER.
  2. DML (Data Manipulation Language), yaitu bahasa yang berhubungan dengan proses manipulasi data pada tabel, record. Misalnya, INSERT, UPDATE, SELECT, dan DELETE.
Perintah SQL Standar dalam SQL Server 2000 (Transact SQL)
Berikut beberapa perintah dan fungsi yang sering digunakan di dalam Transact SQL.
Perintah - Keterangan
CREATE DATABASE - Membuat Database
ALTER DATABASE - Mengubah Database
DROP DATABASE - Membuat Database
CREATE TABLE - Membuat Tabel
ALTER TABLE - Mengubah struktur tabel
DROP TABLE - Menghapus tabel
CREATE VIEW - Membuat view
ALTER VIEW - Menghapus view
DROP VIEW - Menghapus view
CREATE PROCEDURE - Membuat stored procedure
ALTER PROCEDURE - Mengubah stored procedure
DROP PROCEDURE - Menghapus stored procedure
CREATE TRIGGER - Membuat trigger
ALTER TRIGGER - Mengubah trigger
DROP TRIGGER - Menghapus trigger
CREATE INDEX - Membuat index
DROP INDEX - Mengubah index
SELECT - Menampilkan data dari tabel
COMMIT - Menuliskan perubahan ke dalam disk
ROLLBACK - Membatalkan perubahan yang dilakukan setelah perintah COMMIT yang terakhir.
Berikut beberapa fungsi yang sering digunakan di dalam Transact SQL.
Fungsi - Keterangan
SUM ( ) - Menjumlahkan record
AVG ( ) - Rata-rata nilai
MAX ( ) - Menampilkan nilai terbesar
MIN ( ) - Menampilkan nilai terkecil
COUNT ( ) - Menghitung jumlah record
SYSDATE ( ) - Menampilkan tanggal dari sistem
Dasar-dasar SQL
  1. DDL (Data Definition Language)
  2. Perintah - Keterangan CREATE TABLE - Membuat tabel CREATE INDEX - Membuat index ALTER TABLE - Mengubah struktur tabel DROP TABLE - Menghapus tabel DROP INDEX - Menghapus index GRANT - Memberikan hak akses REVOKE - Menghapus hak akses
  3. DML (Data Manipulation Language)
  4. Perintah - KeteranganSELECT - Menampilkan record dari tabel atau view INSERT - Menyisipkan record ke dalam tabel UPDATE - Menghapus record dari tabel DELETE - Menghapus record dari tabel COMMIT - Menuliskan perubahan ke dalam disk ROLLBACK - Membatalkan perubahan yang dilakukan setelah perintah COMMIT terakhir. 
Mengenal Function SQL
Function atau fungsi dalam perintah SQL digunakan untuk menghasilkan sebuah nilai atau output. Ada berbagai macam fungsi yang ada pada SQL.

1. Fungsi Agregasi/Agregates     Fungsi yang dihasilkan dari sebuah group data.
a. SUM = Untuk menjumlah suatu kolom tertentu yang telah definisikan dalam    perintah select.
    Sintak : SELECT SUM (nama_kolom) FROM nama_tabel [WHERE = Kondisi]
    Contoh : SELECT SUM (SKS) FROM Mata_Kuliah
b. COUNT = Untuk menghitung jumlah baris dalam sebuah tabel.
    Sintak : SELECT COUNT nama_kolom FROM nama_tabel [WHERE]
    Contoh : SELECT COUNT (*) FROM mahasiswa
                   SELECT COUNT (SKS) FROM Mata_Kuliah
c. AVG = Untuk menghitung nilai rata – rata dari suatu kolom tertentu yang telah definisikan dalam perintah select.
    Sintak : SELECT AVG nama_kolom FROM nama_tabel [WHERE]
    Contoh : SELECT AVG (SKS) FROM Mata_Kuliah
d. MIN = Untuk mengetahui nilai terkecil dari sebuah kolom tertentu dalam perintah select.
    Sintak : SELECT MIN nama_kolom FROM nama_tabel [WHERE]
    Contoh : SELECT MIN (SKS) FROM Mata_Kuliah
e. MAX = Untuk mengetahui nilai terbesar dari sebuah kolom tertentu dalam perintah select.
    Sintak : SELECT MAX nama_kolom FROM nama_tabel [WHERE]
    Contoh : SELECT MAX (SKS) FROM Mata_Kuliah

2. Fungsi Waktu
a. GETDATE = Untuk menampilkan tanggal sekarang.
    Contoh : SELECT GETDATE()
b. DATEADD = Untuk memambah jumlah hari, tanggal atau tahun yang ditentukan.
    Sintak : DATEADD (datepart, jumlah, tanggal)
    Contoh : SELECT DATEADD (day, 10, getdate())
                   SELECT DATEADD (Month, 10, getdate())
                   SELECT DATEADD (Year, 10, getdate())
c. DATEDIFF = Untuk mengetahui rentan waktu (bisa hari, bulan, tahun).
    Sintak : DATEDIFF (datepart,tanggal_awal, tanggal_akhir)
    Contoh : SELECT DATEDIFF (month, '01/01/2007','01/01/2008')
d. DATENAME Untuk menampilkan nama hari, bulan atau tahun.
    Sintak : DATENAME (datepart, tanggal)
    Contoh : SELECT DATENAME (month, getdate()) AS 'Bulan Sekarang'

3. Fungsi Aritmatika
a. SQRT = Untuk mencari akar dari niai tertentu.
    Contoh : SELECT SQRT (100)
b. CEILING = Untuk pembulatan ke atas dari angka decimal
    Contoh : SELECT CEILING (25.25)
    Keterangan : Akan menghasilkan nilai 26
c. FLOOR = Untuk pembulatan ke bawah dari angka decimal
    Contoh : SELECT FLOOR (25.25)
    Keterangan : Akan menghasilkan nilai 25

4. Fungsi Karakter
a. LOWER dan UPPER
    LOWER = mengubah huruf besar ke huruf kecil
    UPPER = mengubah huruf kecil ke huruf besar
    Contoh : 1. SELECT LOWER (Nama) FROM Mahasiswa
                   2. SELECT UPPER (Nama) FROM Mahasiswa
b. LEN = Untuk menghitung jumlah karakter.
    Contoh : SELECT Nama, LEN (Nama) FROM Mahasiswa
c. LTRIM dan RTRIM
    LTRIM = memotong karakter spasi di kiri string
    RTRIM = memotong karakter spasi di kanan string
    Contoh : SELECT LTRIM (' Sistem Basis Data')
                   SELECT RTRIM (' Sistem Basis Data ')
    Keterangan : Akan menghasilkan “Sistem Basis Data”
d. SUBSTRING = Mengambil beberapa karakter dari sebuah deretan string.
    Contoh : SELECT SUBSTRING ('Sistem Basis Data',8,5)
    Keterangan : Mengambil string dari karakter ke 8 sebanyak 5 karakter. Hasilnya adalah ‘Basis’
e. LEFT dan RIGHT
    LEFT = Mengambil beberapa karakter dari kiri
    RIGHT = Mengambil beberapa karakter dari kakan
    Contoh : SELECT LEFT ('Sistem Basis Data',6)
    Keterangan : Mengambil string sebanyak 6 karakter dari sebelah kiri. Hasilnya adalah ‘Sistem’