Senin, 03 Oktober 2011

Resume Pengenalan dan Perintah Dasar Linux


Kata Linux saat ini mungkin sudah tidak terlalu asing dikalangan pengguna internet dan kalangan mahasiswa TI / SI. Linux adalah sistem operasi yang berjalan di berbagai Platform termasuk prosesor Intel. System operasi Minix-lah yang mengawali munculnya Linux. Minix merupakan salah satu sistem operasi popular selain Mac, OS/2, Novell dan Microsoft Familly seperti MS Dos, MS 98, XP, hingga Win Seven.

Sejarah linux
Nama Linux merupakan kombinasi unik antara nama sebuah system operasi Minix yang dibuat oleh Prof. Andrew Tanenbaum dan Linus Torvald yang merupakan seorang mahasiswa di Universitas Helsinki Finlandia. Seperti halnya Minix, Linux tidak menggunakan vendor Unix komersial. Setelah system operasi cukup stabil dan memiliki banyak feature, seperti Preemptive Multitasking (kemampuan daya CPU untuk membagi banhyak aplikasi) dan Symmetric Multiprocessing (kemampuan berbagi banyak tugas diantara banyak CPU) pada tahun 1994 Linus Torvaldmeluncurkan Linux 1.0. Linux terus berkembang karena ada sejumlah distributor yang berkompetisi untuk merebut pangsa pasar. Oleh karena itu dibentuk kelompok linux bernama Linux Standard Base. Kelompok tersebut memastikan bahwa beragam linux yang ada tetap bisa menjalankan aplikasi yang sama dan saling berinterospeksi.
Hak Akses
Linux juga mengenal hak akses dalam mengakses direktori-direktori yang ada, untuk mencegah orang lain untuk menilik, mengubah atau mengeksekusi. Pengguna super “root” mempunyai kemampuan untuk mengakses setiap berkas dalam sistem. Setiap berkas memiliki pembatasan akses, pembatasan pengguna, dan memiliki asosiasi pemilik/grup.
Setiap berkas dilindungi oleh tiga lapis hak akses berikut ini:
1. Pengguna berlaku bagi pengguna yang adalah pemilik dari suatu berkas
2. Grup berlaku bagi grup yang berhubungan dengan suatu berkas
3. Lainnya berlaku bagi semua pengguna lainnya
Di dalam setiap dari tiga setelan hak izin ada hak izin sesungguhnya. Hak izin, dan cara penggunaannya untuk berkas dan direktori, diuraikan dibawah ini:
1. Baca berkas dapat ditampilkan/dibukaisi direktori dari ditampilkan
2. Tulis berkas dapat disunting atau dihapusisi direktori dari dimodifikasi
3. Eksekusi berkas eksekusi dapat dijalankan sebagai programdirektori dapat dimasuki
Direktori dan Sistem Berkas LinuxLinux merupakan sistem operasi yang bertipe modular /
berbentuk seperti pohon. Direktori root (/) merupakan hierarki tertinggi dalam sistem berkas Linux. Dalam Linux, semua dianggap sebagai berkas, termasuk harddisk, partisi, dan removable media. Di bawah direktori root , ada banyak direktori lain yang penting dan digunakan oleh banyak distro Linux yang lainnya, antara lain :
• /bin – aplikasi biner penting
• /boot – lokasi berkas konfigurasi untuk boot.
• /dev – berkas peranti (device)
• /etc – berkas konfigurasi, skrip startup, dll (etc)…
• /home – direktori pangkal (home) untuk pengguna
• /lib – libraries yang diperlukan oleh sistem
• /lost+found – menyediakan sistem lost+found untuk berkas yang berada dibawah direktori root (/)
• /media – mount (memuat) removable media seperti CD-ROM, kamera digital, dll…
• /mnt – untuk me-mount sistem berkas
• /opt – tempat lokasi untuk menginstal aplikasi tambahan (optional)
• /proc – direktori dinamis khusus yang menangani informasi mengenai kondisi sistem, termasuk proses (processes) yang sedang berjalan
• /root – direktori pangkal untuk root, diucapkan ‘slash-root’
• /sbin – sistem biner penting
• /sys – mengandung informasi mengenai system
• /tmp – berkas sementara (temporary)
• /usr – tempat aplikasi dan berkas yang sering digunakan oleh pengguna (users)
• /var – berkas variabel seperti log dan database
Perintah Dasar Linux
Sebagai panduan Anda, berikut adalah daftar perintah secara alfabet. Sebenarnya, Anda dapat saja menekan tab dua kali untuk melihat semua kemungkinan perintah yang dapat digunakan. Misalnya Anda ingin mengetahui perintah apa saja yang dimulai dengan huruf a, maka Anda cukup mengetikkan a lalu tekan tab dua kali!
Daftar Perintah Linux:
• & – Untuk menjalan perintah di belakang (background).
• adduser – Untuk menambahkan user.
• alias – Untuk memberi nama lain dari sebuah perintah.
• apt-get – Untuk menginstall atau uninstall aplikasi di linux, sebagian keluarga linux yang menggunakan adalah debian dan turunannya.
• bg – Untuk maminta sebuah proses yang dihentikan sementara(suspend) agar berjalan di background.
• cat – Menampilkan isi dari sebuah file di layar.
• chgrp – Untuk merubah kepemilikan kelompok file atau direktori.
• chmod – Untuk menambah dan mengurangi ijin pemakai untuk mengakses file atau direktori.
• chown – Merubah user ID (owner) sebuah file atau direktori.
• cp – Untuk menyalin file atau copy.
• fg – Mengembalikan suatu proses yang dihentikan sementar(suspend) agar berjalan kembali di foreground.
• find – Untuk menemukan dimana letak sebuah file.
• grep – Global regular expresion parse atau grep adalah perintah untuk mencari file-file yang mengandung teks dengan kriteria yang telah Anda tentukan.
• gzip – adalah software kompresi zip versi GNU, fungsinya untuk mengkompresi sebuah file.
• halt – Perintah ini hanya bisa dijalankan oleh super useratau Anda harus login sebagai root.
• hostname – Untuk menampilkan host atau domain name sistem dan bisa pula digunakan untuk mengesset nama host sistem.
• kill – Perintah ini akan mengirimkan sinyal ke sebuah proses yang kita tentukan.
• man – Untuk menampilkan manual page atau teks yang menjelaskan secara detail bagaimana cara penggunaan sebuah perintah.
• mesg – Perintah ini digunakan oleh user untuk memberikan ijin user lain menampilkan pesan dilayar terminal.
• mkdir – Membuat direktori baru, sama dengan perintah md di DOS.
• mount – Perintah ini akan me-mount filesystem ke suatu direktori atau mount-point yang telah ditentukan.
• mv – Untuk memindahkan file dari satu lokasi ke lokasi yang lain
• pwd – Print working directory, atau untuk menampilkan nama direktori dimana Anda saat itu sedang berada.
• nano – Salah satu editor di linux, seperti halnya notepad di windows.
• rm – Untuk menghapus file dan secara default rm tidak menghapus direktori.
• rmdir – Untuk menghapus direktori kosong.
• scp – Untuk menyalin file dari satu host ke host lainnya.
• tail – Menampilkan 10 baris terakhir dari suatu file.
• tar – Menyimpan dan mengekstrak file dari media seperti tape drive atau hard disk.
• umount – Adalah kebalikan dari perintah mount, yaitu untuk meng-unmount filesystem dari mount-pointnya.
• unalias – Kebalikan dari perintah alias, perintah ini akan membatalkan sebuah alias.
• unzip – Digunakan untuk mengekstrak atau menguraikan file yang dikompres dengan zip.
• xhost+ – Perintah ini digunakan untuk memberi akses atau menghapus akses(xhost -) host atau user ke sebuah server X.
• xset – Perintah ini untuk mengeset beberapa option di X Window seperti bunyi bel, kecepatan mouse, font, parameter screen saver dan sebagainya.
• zip – Perintah ini akan membuat dan menambahkan file ke dalam file arsip zip.
Kelebihan Linux
1. Linux dapat dikatakan paling murah karena bersifat Open source.
2. Dapat digunakan oleh beberapa user dalam sebuah sistem / organisasi karana bersifat Multiuser.
3. Kestabilan system yang sangat baik dibanding system operasi seperti Windows dan lebih tahan lama.
4. Banyak aplikasi gratis dan legal yang dapat digunakan.
5. Soerce code yang tersedia sehingga dapat dibuka dan dipelajari .
6. Dukungan perusahaan besar seperti Oracle, Netsacape, IBM, Corel, Sun, Informix, dan Adaptex.

Selasa, 20 September 2011

Stored Procedures, Functions dan Trigger pada SQL Server

Nim/Nama : 10.41010.0222/Ananthasya Putri Jueffend
Dosen : Tan Amelia
Stored Procedures 
 Merupakan struktur pemrograman yang cukup umum digunakan di dalam database administration dan development. Jujur saja, saya juga baru mulai mempelajari kegunaan dan pemakain fitur ini dalam pemrograman aplikasi. Sebuah stored procedure merupakan sebuah nama yang dapat diasosiasikan dengan batch dari kode pemrograman SQL yang disimpan di server database. Kita juga bisa menganalogikan stored procedure sebagai sebuah fungsi yang bisa dipanggil sewaktu-waktu, tapi jangan termind-set dengan istilah ini ya, karena di SQL Server 2005 juga ada fitur function
  • Kegunaan pembuatan stored procedure pada SQL Server :
1. Stored procedure dapat digunakan untuk memanipulasi data
2. Melakukan sebuah pekerjaan (job) secara otomatis
3. Melakukan perawatan (maintenance) secara otomatis
4. Dll

Tipe Stored Procedure
  • System Stored Procedure:
-Nama dimulai dengan sp_ atau xp_ (extended stored procedur  akan dihilangkan)
-Dibuat dalam database master
-Tujuannya untuk pengaplikasian dalam database apapun
-Sering digunakan oleh sysadmin
  • Local Stored Procedure:
-Ditetapkan di database lokal
-Nama sering dimulai dengan pr_ atau usp
* Dalam prakteknya lebih baik gunakan nama yang mudah:
–Tanpa prefix
–Sesuaikan dengan yang ada di aplikasi (misal menggunakan object/komponen seperti ORM)
  
Contoh Pembuatan Strore Procedure:
membuat STORE PROCEDURE dengan memakai SQL Server dengan menggunakan fasilitas Query Analyzer.
Untuk memudahkan saya akan berikan contoh kasus sederhana dibawah ini :
Kita mempunyai dua tabel, yang pertama tb_masuk dimana tabel ini berisi 
quantity barang masuk. Dan yang kedua tabel tb_keluar yang berisi data quantity barang keluar. Sekarang hitung jumlah quantity dengan rumus qty_akhir = qtymasuk-qtykeluar

tb_masuk tb_keluar
Kode Qty Kode Qty
1001 50 1002 10
1002 25 1003 11
1001 12 1004 15
1003 15 1006 20
1006 26 1002 5
1004 30 1003 3
1001 25 1001 20
1002 23 1006 2

Pertama kali buka Query Analyzer, dan diharapkan Anda sudah bisa membuat CREATE DATABASE dan CREATE TABLE dengan isinya seperti tabel diatas.
Kemudian pertama-tama bikin perintah seperti dibawah ini
CREATE PROC sp_hitungStok AS
Perintah tersebut di running terlebih dahulu.
Kemudian diedit melalui langkah-langkah berikut :
Klik Object Browser (F8)
sp02

sp03

muncul gambar seperti diatas, pilih database yang digunakan dan di expand, kemudian pilih folder Store Procedure, disini merupakan daftar dari Store Procedure termasuk Store Procedure yang kita bikin diatas. Cari nama Store Procedure yang telah kita bikin yaitu sp_hitungStok. Kemudian klik kanan dan edit…..
sp04

setelah ALTER PROC sp_hitungStok AS sisipkan perintah ini :
create table #tb_hasil(kode char(4), qty float)   insert into #tb_hasil
select kode, qty from tb_masuk
insert into #tb_hasil
select kode, qty from tb_keluar
select kode, sum(qty)from #tb_hasil group by kode order by kode
“create table #tb_hasil(kode char(4), qty float)” merupakan tabel temporary, setelah procedure selesai dijalankan table ini otomatis terhapus.
sp05

Setelah perintah disisipkan silakan di running terlebih dahulu procedure ini dengan menekan tombol Ctrl+E.
Setelah itu ditutup tidak apa-apa, atau masuk dalam window lain dengan menekan tombol Ctrl+W, pilih window sebelumnya atau untitled1.
Berikan perintah untuk memanggil procedure yang dibikin tadi dengan perintah berikut :
exec sp_hitungStok
kemudian perintah ini diblok, dan di running dengan Ctrl+E
Untuk lebih jelas hasilnya dalam bentuk grid Anda harus men-setting menu Query-Result in Grid
Anda akan melihat hasilnya :
sp06

Tabel hasil tersebut merupakan penjumlahan dari tabel tb_masuk dan tb_keluar.
Store Procedure dengan Parameter
Dengan contoh yang sama kita akan membuat suatu store procedure dengan parameter.
Seperti contoh diatas kita harus melakukan pengeditan dengan mengklik kanan Store Procedure yang kita bikin dan berikan perintah berikut :
ALTER PROC sp_hitungStok @kode char(4) AS   create table #tb_hasil(kode char(4), qty float)
insert into #tb_hasil
select kode, qty from tb_masuk where kode = @kode
insert into #tb_hasil
select kode, qty from tb_keluar where kode = @kode
select kode, sum(qty)from #tb_hasil group by kode order by kode
Lengkapnya sbb :
sp07

Kemudian di running, terus untuk memanggilnya :
exec sp_hitungStok isi_paramater
contoh : exec sp_hitung ’1001′
silakan jalankan, kita akan mendapatkan hasil berikut :
sp08

Yang akan tampil hanya kode ’1001′
Anda bisa mencobannya dengan kode lainnya.
 
Function
  adalah suatu procedure yang menghasilkan suatu nilai tertentu. Function di dalam SQL Server dibagi menjadi dua yaitu function yang sudah ada di SQL Server (bawaan) dan function buatan user.
Beberapa function bawaan Ms. SQL Server adalah sbb :


String Functions
 

1. ASCII
  • Kegunaan : Menghasilkan nilai ASCII dari suatu karakter
  • Sintaks : ASCII(<expression>)
  • Contoh :
SELECT
ASCII(‘A’) uppercase_a,
ASCII(‘abc’) lowercase_a
uppercase_a lowercase_a
----------- -----------
65              97

 
2. CHAR

  • Kegunaan : Menghasilkan karakter dari suatu angka ASCII.
  • Sintaks : CHAR(<numeric_expression>)
  • Contoh :
SELECT
CHAR(65) uppercase_a,
CHAR(97) lowercase_a
uppercase_a lowercase_a
----------- -----------
A                  a

3. CHARINDEX

  • Kegunaan : Menghasilkan nilai posisi karakter dari suatu karakter/kata/kalimat yang dicari.
  • Sintaks : CHARINDEX(<char_expression1>, <char_expression2>)
  • Contoh :
SELECT
CHARINDEX(‘E’, ‘ABCDEFG’) AS position
position
---------
5

 
4. LEFT & RIGHT

  • Kegunaan : Menghasilkan beberapa karakter yang berawal dari sebelah kiri (left) atau kanan (right) dari suatu karakter/kata/kalimat
  • Sintaks :
LEFT(<char_expression>,<length_integer>)
RIGHT(<char_expression>,<length_integer>)

  • Contoh :
SELECT
RIGHT(‘ABCDEF’, 3) AS three_last,
LEFT(‘ABCDEF’, 3) AS three_first
three_last three_first
---------- ------------
DEF        ABC


5. LEN

  • Kegunaan : Menghasilkan panjang dari suatu karakter/kata/kalimat.
  • Sintaks : LEN(<char_expression>)
  • Contoh :
SELECT LEN(‘ ABCD ‘) AS total_length
total_length
------------
5

6. LTRIM & RTRIM

  • Kegunaan : Menghilangkan spasi sebelah kiri atau kanan dari suatu karakter/kata/kalimat
  • Sintaks :
LTRIM(<char_expression>)
RTRIM(<char_expression>)

  • Contoh :
SELECT
( ‘*’ + LTRIM (‘ ABC ‘) + ‘*’) AS left_trimmed,
( ‘*’ + RTRIM (‘ ABC ‘) + ‘*’) AS right_trimmed
left_trimmed right_trimmed
------------ ------------
*ABC *      * ABC*


7. LOWER

  • Kegunaan : Menghasilkan tampilan huruf kecil dari suatu karakter/kata/kalimat
  • Sintaks : LOWER(<char_expression>)
  • Contoh :
SELECT
LOWER(‘STRING’) lowercase
LOWERCASE
------------
string


8. REPLACE

  • Kegunaan : Mengganti suatu karakter/kata/kalimat dengan suatu karakter/kata/kalimat lain berdasarkan posisi tertentu
  • Sintaks :
REPLACE(<string_expression1> , <string_expression2> , <string_expression3>)
  • Contoh :
SELECT
REPLACE(‘ABCDEFG’,’CDE’,’*’) AS no_CDE
no_CDE
-------------
AB*FG


9. REPLICATE

  • Kegunaan : Menduplikasi suatu karakter/kata/kalimat dengan jumlah tertentu.
  • Sintaks : REPLICATE(<expression>,<times_integer>)
  • Contoh :
SELECT
REPLICATE(‘A’,5) AS five_a,
REPLICATE(‘’,5) AS five_blanks,
REPLICATE(5,2) AS two_times_five
five_a five_blanks two_times_five
------ ----------- --------------
AAAAA              55


10. REVERSE

  • Kegunaan : Membalik suatu karakter/kata/kalimat.
  • Sintaks : REVERSE(<expression>)
  • Contoh :
SELECT
REVERSE(‘ABCD’) AS backwards_char,
REVERSE(12345) AS backwards_numeric
backwards_char backwards_numeric
-------------- ----------------
DCBA          54321


11. STR

  • Kegunaan : Menampilkan numerik secara string dengan panjang dan tempat pecahan yang bisa ditentukan
  • Sintaks : STR(<number_float [,<length_integer>[,<decimal_integer]])
  • Contoh :
SELECT
STR(1234.5678, 4) AS four_chars
STR(1234.5678, 7,2) AS seven_chars
STR(1234.5678, 3,1) AS not_enough_space
four_chars seven_chars not_enough_space
---------- ----------- ----------------
1235      1234.57    ***


12. STUFF

  • Kegunaan : Menghapus suatu kata/kalimat pada posisi dan panjang tertentu kemudian diganti dengan karakter/kata/kalimat yang lain
  • Sintaks :
STUFF(<char_expression1> ,<start_integer> , <length_integer> , <char_expression2>)
  • Contoh 1 :
SELECT
STUFF(‘ABCDABCD’,5,4,’EFG’) as alphabet
alphabet
---------
ABCDEFG

  • Contoh 2 :
SELECT
STUFF(‘ABCDABCD’,5,3,NULL) AS remove3,
STUFF(‘ABCDABCD’,5,3,’ ‘) AS blank,
STUFF(‘ABCDABCD’,5,3,’’) AS empty_string
remove3 blank empty_string
------- ------ ------------
ABCDD ABCD D ABCDD


13. SUBSTRING

  • Kegunaan : Menghasilkan potongan kata/kalimat pada posisi dan panjang tertentu dalam suatu karakter/kata/kalimat
  • Sintaks :
SUBSTRING(<expression>,<start_integer>,<length_integer>)
  • Contoh :
SELECT
SUBSTRING(‘ABCDEFG’,1,3) AS first_three,
SUBSTRING(0x001101,1,2) AS first_binary
first_three first_binary
----------- ------------
ABC 0x0011


14. UPPER

  • Kegunaan : Menghasilkan tampilan huruf kapital dari suatu karakter/kata/kalimat
  • Sintaks : UPPER(<numeric expression>)
  • Contoh :
SELECT
UPPER(‘string’) as uppercase
UPPERCASE
-------------
STRING


Date and Time Functions (Fungsi Tanggal dan Waktu)


1. DATEADD

  • Kegunaan : Menghasilkan tanggal dan waktu baru berdasarkan tanggal dan waktu asal/lama yang dijumlah dengan interval yang diinputkan
  • Sintaks :
DATEADD(<datepart>,<how_many_integer>,<add_to_date>)
  • Contoh :
SELECT
DATEADD(month,4, GETDATE()) as four_months_ahead
four_months_ahead
------------------------------------------------------
2006-11-11 09:39:19.747


2. DATEDIFF

  • Kegunaan : Menghasilkan selisih hari/bulan/tahun antara dua tanggal dan waktu
  • Sintaks :
DATEDIFF(<datepart>,<date_expression1>,<date_expression2>)
  • Contoh :
SELECT
DATEDIFF (day, ‘1900-01-01’, GETDATE()) AS days
days
-----------
38907

3. DATENAME

  • Kegunaan : Menghasilkan nama hari/bulan atau tahun dari tanggal tertentu
  • Sintaks : DATENAME(<date_expression>)
  • Contoh :
SELECT
GETDATE() AS full_date,
DATENAME( month, GETDATE()) AS month_name
full_date month_name
----------------------- -------------------
2006-07-11 10:18:04.827 July


4. DATEPART

  • Kegunaan : Menghasilkan nama hari/bulan atau tahun dari bagian tanggal
tertentu.
  • Sintaks : DATEPART(<date_part>,<date_expression>)
  • Contoh :
SELECT
DATEPART(year, GETDATE()) as current_year
current_year
------------
2006


5. DAY

  • Kegunaan : Menghasilkan nilai hari dari tanggal tertentu.
  • Sintaks : DAY(<date_expression>)
  • Contoh :
SELECT
DAY(GETDATE()) AS current_day,
GETDATE() AS ‘current_date’
current_day current_date
----------- ------------------------
11 2006-07-11 10:22:14.233


6. GETDATE

  • Kegunaan : Mengambil tanggal dan waktu dari sistem komputer
  • Sintaks : GETDATE()
  • Contoh :
SELECT
GETDATE() AS local_time
local_time
------------------------
2004-03-07 16:33:23.940


7. MONTH

  • Kegunaan : Menghasilkan nilai bulan dari tanggal tertentu.
  • Sintaks : MONTH(<date_expression>)
  • Contoh :
SELECT
MONTH(GETDATE()) AS current_month,
GETDATE() AS ‘current_date’
current_month current_date
------------- ------------------------
7 2006-07-11 10:32:09.810


8. YEAR

  • Kegunaan : Menghasilkan nilai tahun dari tanggal tertentu.
  • Sintaks : YEAR(<date_expression>)
  • Contoh :
SELECT
YEAR(GETDATE()) AS current_year,
GETDATE() AS ‘current_date’
current_year current_date
------------ ------------------------
2006 2006-07-11 10:34:30.043


System Functions (Fungsi Sistem)


1. CAST & CONVERT

  • Kegunaan : Mengubah tipe suatu data ke tipe data yang lain.
  • Sintaks :
CAST(<expression> AS <data_type>)
CONVERT(data_type [ ( length ) ] , expression [ , style ] )

  • Contoh 1 :
SELECT
‘$ ‘ + CAST (100 AS VARCHAR(10)) AS one_hundred_dollars
one_hundred_dollars
-------------------
$100

  • Contoh 2 :
SELECT
CONVERT(VARCHAR(25),GETDATE(),111) AS japanese_style,
CONVERT(VARCHAR(25),GETDATE(),104) AS german_style,
CONVERT(VARCHAR(25),GETDATE(),126) AS ISO8601_style
japanese_style german_style ISO8601_style
-------------------- ------------------ -------------------------
2006/07/11 11.07.2006 2006-07-11T11:03:38.093


2. ISDATE

  • Kegunaan : Memeriksa apakah suatu data merupakan tipe tanggal. Jika benar menghasilkan angka 1 dan jika salah 0
  • Sintaks : ISDATE( )
  • Contoh :
SELECT
ISDATE(GETDATE()) AS getdate_value,
ISDATE (‘07/18/2004’) AS date_value,
ISDATE(‘67/56/07’) AS not_a_date
getdate_value date_value not_a_date
------------- ----------- -----------
1               1             0


3. ISNULL

  • Kegunaan : Memeriksa apakah suatu data bertipe null. Jika benar maka data tersebut akan diganti dengan data lainnya
  • Sintaks : ISNULL(<check_expression>,<replacement_value>)
  • Contoh :
SELECT

ISNULL(NULL, ‘it is NULL’) AS null_value,
ISNULL(‘not NULL’, ‘it is NULL’) AS not_null
null_value not_null
---------- --------
it is NULL not NULL



4. ISNUMERIC

  • Kegunaan : Memeriksa apakah suatu data merupakan tipe numerik. Jika benar menghasilkan angka 1 dan jika salah 0
  • Sintaks : ISNUMERIC( )
  • Contoh :
SELECT
ISNUMERIC(‘12345’) AS num_value,
ISNUMERIC(‘12@345’) AS not_num_value
num_value not_num_value
----------- -------------
1                  0




Trigger pada SQL
 Trigger merupakan store procedure 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.

Bentuk dasar perintahnya :

CREATE TRIGGER nama_trigger
ON nama_tabel
FOR INSERT, UPDATE, DELETE
AS
isi statement-statement Anda disini.
GO

Saya akan memberi contoh sederhana untuk mudah memahami bagaimana cara kerja trigger ini.

Misalkan kita punya data di table DaftarSiswa

DaftarSiswa
Kode Status
1001
1002
1003

Di tabel yang lain kita juga punya tabel Daftar Nilai :

DaftarNilai
Kode Nilai

Daftar nilai ini belum ada isinya yang nantinya akan kita isi dengan perintah INSERT.

Kolom Status pada tabel DaftarSiswa akan kita isi dengan “Lulus” dan “Tidak Lulus” secara automatis saat kita melakukan INSERT dan UPDATE pada tabel DaftarNilai.

Cara membuat dan mengisi kedua tabel diatas :

CREATE TABLE daftarSiswa (kode char(4), status char(10))

CREATE TABLE daftarnilai (kode char(4), nilai float)

Pada tabel DaftarSiswa diisi dengan perintah berikut :

INSERT INTO daftarSiswa VALUES(’1001′,”)

INSERT INTO daftarSiswa VALUES(’1002′,”)




INSERT INTO daftarSiswa VALUES(’1003′,”)

Setelah semuanya dijalankan di Query Analyzer, berikutnya kita akan membuat suatu trigger di tabel daftarNilai.

CREATE TRIGGER tr_status      ON daftarnilai
FOR INSERT, UPDATE
AS
DECLARE @kode char(4)
DECLARE @nilai float
SELECT @kode = kode, @nilai = nilai FROM daftarNilai
IF @nilai >= 60
UPDATE daftarSiswa SET status = ‘Lulus’ WHERE kode=@kode
ELSE UPDATE daftarSiswa SET status = ‘Tidak Lulus’ WHERE kode=@kode
go


Untuk menganalisa lihat isi kedua tabel diatas dengan perintah

SELECT* FROM daftarSiswa

SELECT* FROM daftarNilai

Setelah Anda melihat hasilnya kemudian jalankan perintah dibawah ini :

INSERT INTO daftarNilai values(’1001′,70)

INSERT INTO daftarNilai values(’1002′,50)

INSERT INTO daftarNilai values(’1003′,80)

Setelah dijalankan Anda bisa lihat kembali isi tabel daftarSiswa dan daftarNilai.

DaftarSiswa
Kode Status
1001 Lulus
1002 Tidak Lulus
1003 Lulus

DaftarNilai
Kode Nilai
1001 70
1002 50
1003 80

Disini terlihat saat kita melakukan perintah INSERT di tabel daftarNilai secara otomatis program trigger melakukan pengisian pada tabel daftarSiwa pada kolom “status”

Kamis, 15 September 2011

Resume Pertemuan2

Nim / Nama : 10.41010.0222 / Ananthasya Putri Jueffend 

Cretaing Class
class adalah template untuk pembuatan obyek. Class memiliki anggota , yaitu :
  • Atribut: Variabel global yang dimiliki sebuah kelas
  • Method: Sebuah kelas boleh memiliki lebih dari satu metode atau operasi
 Tiap anggota class memiliki kontrol pengaksesan tersendiri, artinya apakah anggota tersebut dapat diakses dengan bebas (tipe public) atau hanya dapat diakses melalui sebuah interface.
Contoh pembuatan class lampu
Class Lampu memiliki :
Atribut - status => 0 atau 1
            - merek=>'philips' atau 'national'
Method  - lampuDinyalakan();
             - lampuDimatikan();

public class Lampu {
 int status ;
 Status merek;
 void LampuDinyalakan() {
 status=1;
 }
void lampuDimatikan () {
 status=0;
 }
}

Constructor 
adalah bagian dari definisi suatu kelas yang berfungsi menciptakan instans dari kelas tersebut. Konstruktor ini bisa kita buat sendiri, atau bila kita tidak mendefinisikannya, maka kompiler Java akan membuatkan konstruktor default untuk kelas tersebut pada saat kompilasi. Yang perlu diperhatikan adalah bahwa suatu konstrukor tidak termasuk anggota suatu kelas seperti metode dan variabel dan bahwa konstruktor bisa dibuat lebih dari satu. Bentuk konstruktor sendiri mirip dengan sebuah metode. Beda yang paling mencolok adalah nama sebuah konstruktor harus sama dengan nama kelas tersebut dan konstruktor tidak memiliki definisi return type seperti sebuah metode
  Fungsinya Konstruktor, adalah :
1. Mengalokasikan ruang bagi sebuah objek
2. Memberikan nilai awal terhadap anggota data suatu kelompok
3. Membentuk tugas-tugas umum lain
Contoh :
Suatukelas kelasContoh=new Suatukelas();
SuatuKelasLain kelasContoh2 = new SuatuKelasLain("judul");
BufferedReader reader = 
    new BufferedReader(new InputStreamReader(System.in));
new SuatuKelas().sebuahMetode();
Relasi antar kelas

Adalah keterkaitan hubungan antar kelas secara konseptual, relasi antar kelas telah dibagi menjadi 4, yaitu :
 - Asosiasi : Merupakan hubungan antara dua kelas di yang merupakan hubungan struktural yang menggambarkan himpunan link antar obyek
Agregasi : Merupakan hubungan antara dua kelas di mana kelas yang satu merupakan bagian dari kelas yang lain namun kedua kelas ini dapat berdiri sendiri-sendiri
- Pewarisan : Hubungan hirarki antar class. Class dapat diturunkan dari class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi
Hubungan Dinamis  : Rangkaian pesan (message) yang di-passing dari satu class ke class lain. Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram


Rabu, 14 September 2011

Resume Pertemuan1

Nim / Nama : 10.41010.0222 / Ananthasya Putri Jueffend



Program Kumpulan Object ( PKO )

adalah paradigma pemograman yang berorientasikan kepada objek. Dalam PBO, terdapat 2 hal penting, yaitu kelas dan objek.

Kelas adalah cetak biru dari objek. Maksudnya, kelas merupakan kerangka yang mendefinisikan variabel-variabel data dan perlakuan-perlakuan umum dari sebuah objek tertentu.

Objek adalah instan dari kelas. Objek sendiri merupakan  sesuatu yang ada di sekitar kita bisa berupa formula, sistem, benda dan metode. Selain itu, objek juga memiliki identitas yang khas.
PBO memiliki 4 dasar utama:

1. Abstraksi
Abstraksi menjabarkan sesuatu menjadi hal yang abstrak menjadi model program, dengan filtering. Dengan abstraksi, dunia real, pembuatan data dan proses bisa dimodelkan menjadi sebuah kode program

2. Encapsulasi
Encapsulasi merupakan proses information hidding, maksudnya penyembunyian informasi penting dalam kelas-kelas tertentu. Informasi yang penting ditempatkan dalam area yang private

3. Inheritance
Inheritance merupakan turunan dari kelas utama. Inheritance dalam Java menganut sistem single-parent. Maksudnya turunan memiliki tepat 1 buah induk

4. Polymorphism
Polymorphism (Polimorfisme) ialah kelas dari sebuah turunan yang memiliki perlakuan berbeda dari kelas induk. Polimorfisme sendiri berarti kemampuan suatu objek untuk mengungkap banyak hal melalui satu cara yang sama. Polimorfisme merupakan salah satu hal penting dalam PBO, karena polimorfisme mengijinkan kelas induk untuk mendefinisikan sebuah method yang umum untuk semua turunannya, dan selanjutnya kelas turunannya bisa memperbarui implementasi dari method tersebut secara spesifik sesuai karakter masing-masing.

Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas atau objek-objek. Program Kumpulan Object terdiri dari 3 yaitu 
  • Data : Berisi tentang identitas dan informasi
  • Atribut : Satuan data terkecil yang tidak dapat dipecah lagi menjadi unit lain yang bermakna. Contoh pada data mahasiswa dapat berupa nim, nama_m, tmpt_lhr_m, dan atribut lainnya.
  • Method : Berisi tentang perilaku, kemampuan, dan proses 
 
Access Modifier hanya bisa di akses di dalam kelas itu sendiri, terdiri dari 4P yakni :
  1. Private :  Type yang menggunakan access modifier ini membuat type tersebut hanya bisa diakses dari type yang bersangkutan. merupakan access modifier default yang digunakan untuk variable (field) dan method. private merupakan access modifier yang paling secure. semua type yang dilabeli access modifier private membuat type tersebut tidak dapat diakses dari luar type yang bersangkutan
  2. Protected : Type yang menggunakan access modifier ini membuat type tersebut hanya bisa diakses dari type yang bersangkutan dan turunan dari type yang bersangkutan. protected lebih terbatas dari internal
  3. Package : Type yang menggunakan access modifier ini membuat type tersebut hanya bisa diakses dari kelas lain tetapi masih di dalam package
  4. Public : Type yang menggunakan access modifier ini membuat type tersebut bisa diakses tanpa pembatasan apapun. secara default, enumeration dan interface menggunakan access modifier ini

 Semua sifat induk bisa diwariskan ke dalam class anaknya, ex :

class
Nama class = Identitas
Data = Kumpulan Data
Method = Kumpulan Method / Operation

Selasa, 13 September 2011

Tugas1 Tutorial SQL

Nim/Nama : 10.41010.0222/Ananthasya Putri Jueffend
Dosen : Tan Amelia
Tugas : Tutorial SQL


Structured Query Language ( SQL )

SQL atau juga sering disebut sebagai query merupakan suatu bahasa yang digunakan untuk mengakses database. SQL dikenalkan pertama kali dalam IBM pada tahun 1970 dan sebuah standar ISO dan ANSII ditetapkan untuk SQL. Standar ini tidak tergantung pada mesin yang digunakan (IBM, Microsoft atau Oracle). Hampir semua software database mengenal atau mengerti SQL. Jadi, perintah SQL pada semua software database hampir sama.
Terdapat 3 jenis perintah SQL, yaitu DDL, DML dan DCL yaitu :

1. DDL atau Data Definition Language
DDL merupakan perintah SQL yang berhubungan dengan pendefinisian suatu struktur database, dalam hal ini database dan table. Beberapa perintah dasar yang termasuk DDL ini antara lain :
  • CREATE TABLE : untuk Membuat Tabel
  • CREATE INDEX : untuk Membuat Index
  • CREATE VIEW : untuknMembuat View
  • ALTER TABLE : untuk Mengubah atau menyisipkan ke dalam tabel
  • DROP TABLE : untuk Menghapus Tabel
  • DROP INDEX : untuk Menghapus Index
  • DROP VIEW : untuk Menghapus View
  • GRANT : untuk Memberi izin akses kepada user

2. DML atau Data Manipulation Language
DML merupakan perintah SQL yang berhubungan dengan manipulasi atau pengolahan data atau record dalam table. Perintah SQL yang termasuk dalam DML antara lain :
  • SELECT digunakan untuk memilih data dari suatu tabel atau view
  • INSERT digunakan untuk Menyisipkan baris dari suatu tabel
  • UPDATE digunakan untuk Mengubah isi dari kolom (field) pada suatu tabel
  • DELETE digunakan untuk Menghapus baris dari suatu tabel
3. DCL atau Data Control Language
DCL (bukan BCL) merupakan perintah SQL yang berhubungan dengan pengaturan hak akses user MySQL, baik terhadap server, database, tabel maupun field. Perintah SQL yang termasuk dalam DCL antara lain :
  • GRANT : perintah untuk memberikan hak akses tabel dan view terhadap user, dan perintah ini dapat diletakkan pada sebuah program aplikasi atau secara interaktif
  • REVOKE : perintah untuk mencabut hak akses pada tabel dan view dari user, dan perintah ini dapat dilakukan melalui program aplikasi atau secara interaktif



Contoh yang diambil dari Database Northwind

Bekerja dengan SilverlightWebDemos
Klik pada "SilverlightWebDemos", lalu klik kanan dan pilih "Add New Item".

01
Dari template yang ada, pilih "ADO .NET Entity Data Model". Beri nama "Northwind.edmx". Saya akan menggunakan database Northwind sebagai contoh.

02
Sesaat akan tampil pesan seperti di bawah ini, klik Yes saja.

03
Setelah klik Yes, kemudian akan ditampilkan "Entity Data Model Wizard". Lalu pilih "Generate from database" dan klik tombol Next.

04
Isikan koneksi string database Northwind yang ada pada komputer Anda. Kemudian klik tombol Next.

05
Pilihlah "Database Objects" yang ingin Anda sertakan di dalam ADO .NET Entity Data Model. Saya hanya memilih "Tables" saja. Hilangkan centang pada Views dan Stored Procedure. Lalu klik Finish.

06
Tunggulah beberapa saat. Setelah itu Visual Studio akan menampilkan struktur ADO .NET Entity Data Model untuk database Northwind Anda sebagai berikut :

07
Ok. Semua sudah dilakukan dengan baik. Yang Anda lihat sebenarnya representasi code yang ditampilkan secara visual. Di belakang layar, Anda sudah dibuatkan class-class yang berhubungan dengan table yang Anda letakkan di dalam ADO .NET Entity Data Model.
Langkah berikutnya adalah membuat ADO .NET Data Service pada aplikasi web Anda
Klik kanan kembali pada project website Anda. Lalu pilih "Add New Item".

01
Dari template yang ada, pilih "ADO .NET Data Service" dan beri nama "Northwind.svc" dan klik tombol Add.

08
Setelah itu akan ditampilkan halaman code sebagai berikut :

09
Perhatikan area yang saya beri warna merah. Itu adalah area tempat Anda menambahkan kode yang diperlukan agar ADO .NET Data Service dapat berfungsi dengan baik. Tambahkan kode berikut ini pada dua area merah tersebut :

10
11
NorthwindModel.NortwindEntities adalah class yang terbentuk saat Anda melakukan generate via ADO .NET Entity Model Wizard di langkah sebelumnya. Anda bisa melihatnya pada file web.config untuk lebih jelasnya. Sedangkan config.SetResourceContainerAccessRule() itu adalah method yang harus Anda panggil untuk membuat entity yang ada bisa Anda akses berdasarkan apa hak aksesnya (bisa All, AllRead, Write, dsb). Anda bisa mengacu pada dokumentasi ADO .NET Data Service untuk mendapatkan informasi yang lebih detail mengenai ini.
Setelah semua sudah diisi, simpanlah hasil perubahan Anda. Dan saatnya sekarang Anda mengkonsumsi service-nya melalui browser. Caranya adalah klik kanan pada file "Northwind.svc" lalu klik "View in Browser"


12


Klik kanan pada folder "10_Astoria" lalu pilih "Add New Item" dan dari template yang ada lalu klik "Silverlight" dan klik "Silverlight Page". Beri nama "AstoriaTest.xaml".

13