Double click select all

Minggu, 18 Desember 2011

FOTOKU

SINUSITIS



 
Bagikan berita ini :   
Senin,19 Desember 2011

SURAKARTA– Pilek dikenal dengan istilah rhinitis. Bila dilihat dari lama berlangsungnya, rhinitis bisa berlangsung singkat atau lama dan bersifat menahun. Pada rhinitis yang berlangsung singkat, biasanya gejala muncul dengan cepat dan cepat pula hilangnya, baik hilang sendiri secara spontan atau hilang setelah diberi obat-obatan.

Pada pilek yang bersifat menahun, keluhan biasanya berlangsung lama, hilang tetapi tidak hilang secara tuntas dan akan timbul kembali. Keadaan yang menahun ini biasanya lebih sulit diatasi, kadang dengan obat-obatan pun tidak menolong bahkan keluhan semakin berat dirasakan. Yang banyak dijumpai dan sering menimbulkan masalah dalam jangka waktu lama adalah rhinitis menahun.

Pada prinsipnya ada dua hal yang berbeda yang menyebabkan pilek, yaitu alerge dan non-alergi. Pada pilek yang disebabkan alergi, faktor kepekaan penderita merupakan kunci utama timbulnya keluhan ini. Kepekaan penderita pada suatu bahan, zat, makanan tertentu, dan udara dapat menimbulkan keluhan ini.

Sedangkan pilek yang disebabkan karena non-alergidisebabkan adanya gangguan keseimbangan fungsi-fungsi syaraf pada hibdung. Artinya, permukaan dalam hidung mudah mengalami pembengkakan yang menimbulkan keluhan hidung tersebut, memudahkan timbulnya rangsangan pada permukaannya dan keluar cairan yang berlebihan sehingga menimbulkan pilek.

Pilek alergi umunya bersifat menahun, gejala yang ditimbulkannya bersifat hilang timbul berupa bersin-bersin yang mengganggu, hidung terasa tersumbat disertai keluar cairan encer dan bening. Keluhan ini berlangsung tiap kali penderita kontak dengan bahan yang menjadi penyebab alergi.

Hal lain yang bisa menyebabkan pilek menahun itu merupakan gejala dari sinusitis. Sinusitis selintas memang mirip pilek. Sehingga banyak pasien yang tidak sadarbahwa dirinya tidak hanya menderita pilek, melainkan sinusitis. Karena salah satu penyebab sinusitis adalah pilek terutama pilek menahun.

Biasanya, jika infeksi, dokter cenderung memberi obat antibiotik. Padahal, ini sebenarnya bukan solusi yang tepat, karena selain hanya meredam gejala juga sekaligus membunuh antibodi yang sedang melawan infeksi tersebut. Jadi, tidaklah mengherankan bila setelah obatnya habis, penyakitnya akan timbul kembali. Pemberian anti biotik yang kurang tepat justru merugikan si pasien karena dapat melemahkan daya tahan tubuh.

Minggu, 11 Desember 2011

TRIGGER SQL



Sebuah trigger merupakan kode prosedural yang akan secara otomatis dieksekusi akibat dipicu oleh seuah event / kejadian pada suatu Tabel. Trigger dapat mencegah akses terhadap data yang spesifik, melakukan logging atau melakukan audit perubahan data. Trigger digunakan untuk pemrosesan kondisi statemen DML (Data Manipulation Language) seperti INSERT, DELETE dan UPDATE, Namun trigger tidak dapat digunakan dalam statemen SELECT.

Pengertian Trigger pada SQL Server

Terdapat tiga kejadian (event) umum yang dapat menyebabkan trigger dipicu :
- INSERT, berarti trigger dijalankan ketika terdapat sejumlah data baru yang diinput
- UPDATE, berarti trigger dijalankan ketika terdapat data / record yang diubah
- DELETE, berarti trigger dijalankan ketika terdapat data / record yang dihapus
Manfaat dari penggunaan trigger :
  1. Trigger merupakan salah satu mekanisme untuk menjalankan aturan bisnis dan menjaga integritas data dalam sebuah basis data. Mekanisme yang lainnya adalah penggunaan CONSTRAINT
  2. Trigger dapat mengevaluasi status dari sebuah tabel sebelum dan sesudah terjadi perubahan data dan melakukan aksinya sesuai perbedaan yang terjadi
  3. Trigger dapat melakukan perubahan cascade melalui melalui relasi tabel pada database, akan tetapi perubahan ini akan lebih efisien jika dieksekusi menggunakan referential integrity constraints.
  4. Trigger dapat melakukan pencegahan akses atas data yang kompleks dibanding dengan menggunakan CHECK CONSTRAINT
  5. Tidak seperti pada Check Constraint, Trigger dapat mereferensikan kolom / field dalam tabel yang berbeda.
  6. Dan lupa lagi
Syntax membuat Trigger :
CREATE TRIGGER {Nama_Trigger}
ON {Nama_Table}
FOR {DELETE | INSERT | UPDATE}
AS
{SQL Statement}
Syntax menghapus Trigger :
DROP TRIGGER {Nama_Trigger}
ALTER TRIGGER {Nama_Trigger}
ON [Nama_Table}
FOR {DELETE | INSERT | UPDATE}
AS
{SQL Statement}
Syntax mendapatkan informasi mengenai trigger :
sp_helptext {Nama_Trigger}
sp_help {Nama_Trigger}
sp_columns {Nama_Trigger}
Contoh penggunaan :
DROP TRIGGER info
CREATE TRIGGER info
ON BARANG
FOR INSERT
AS
PRINT ‘Data Telah Ditambahkan ke tabel Barang…!’


Membuat trigger di SQL Server 2005



Trigger artinya kode SQL yang dikerjakan oleh DBMS ketika suatu kejadian terjadi.
Misalnya ada tabel barang dan tabel pembelian, untuk lebih jelasnya bisa dilihat pada gambar dibawah ini. dalam tabel barang tersebut ada nama barang dan jumlah stock , IDEnya adalah ketika tabel pembelian ditambahkan, jumlah stock barang akan terupdate secara otomatis.misalnya ketika barang A dibeli sejumlah 3 buah maka nanti stock barang akan bertambah 3 secara otomatis. proses tersebut bisa dilakukan dgn trigger
tabeltrigger
menurut MSDN, syntac dari trigger adalah sebagai berikut
Syntax
CREATE TRIGGER trigger_name
ON { table | view }
[ WITH ENCRYPTION ]
{
{ { FOR | AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] [ , ] [ DELETE ] }
[ WITH APPEND ]
[ NOT FOR REPLICATION ]
AS
[ { IF UPDATE ( column )
[ { AND | OR } UPDATE ( column ) ]
[ ...n ]
| IF ( COLUMNS_UPDATED ( ) { bitwise_operator } updated_bitmask )
{ comparison_operator } column_bitmask [ ...n ]
} ]
sql_statement [ ...n ]
}
}
biar lebih mengerti, kita mulai dengan contoh.. jadi kita butuh membuat 2 tabel tersebut di SQL server 2005, script sebagai berikut
create table BARANG
(
BAR_ID int not null,
BAR_NAMA varchar(255) not null,
BAR_STOCK int null
default 0,
constraint PK_BARANG primary key (BAR_ID)
)
go

create table PEMBELIAN
(
PEM_ID int not null,
BAR_ID int null ,
PEM_JUMLAH int null ,
constraint PK_PEMBELIAN primary key (PEM_ID)
)
go

create index RELATION_FK on PEMBELIAN (BAR_ID)
go

alter table PEMBELIAN
add constraint FK_PEMBELIA_RELATION_BARANG foreign key (BAR_ID)
references BARANG (BAR_ID)
go

INSERT INTO BARANG (BAR_ID,BAR_NAMA) VALUES (1,’AQUA’);
INSERT INTO BARANG (BAR_ID,BAR_NAMA) VALUES (2,’TOTAL’);
INSERT INTO BARANG (BAR_ID,BAR_NAMA) VALUES (3,’AQUADES’);

setelah anda menjalankan script tersebut, maka anda akan mempunyai 2 tabel, yaitu tabel barang dengan isi 3 buah data, dan tabel pembelian dengan data masih kosong.3 data di tabel barang tersebut secara defaut stocknya adalah 0
kemudian saatnya kita buat trigger sehingga ketika kita menambahkan data di tabel pembelian dengan jumlah pembelian barang tertentu, maka stock di tabel barang akan bertambah sesuai dengan barang yg dibeli, syntac trigger tersebut adalah sebagai berikut
create trigger tambahStockbarang on pembelian
for insert
as
update b set b.bar_stock = b.bar_stock + i.pem_jumlah
from barang b join inserted i on b.bar_id = i.bar_id

arti dari kode tersebut adalah sebagai berikut
create trigger tambahStockbarang on pembelian
membuat trigger dengan nama tambahStockBarang dimana trigger tersebut akan terpicu jika ada perubahan di tabel pembelian
for insert
as

perubahan tersebut adalah penambahan(insert) di tabel pembelian , selain penambahan bisa juga diisi dengan perubahan(update) atau penghapusan(delete)
for disini juga bisa rubah isinya jadi after atau instead of . perbedaanya adalah waktu trigger dikerjakan, biasaya yg sering digunakan adalah for
update b set b.bar_stock = b.bar_stock + i.pem_jumlah
from barang b join inserted i on b.bar_id = i.bar_id

ini adalah kode yg dikerjakan ketika kejadian trigger terpicu, kode diatas bertujuan merubah nilai bar_stock pada tabel barang dengan menambahkan nilai bar_stock yg sekarang dengan jumlah barang yg dibeli (pem_jumlah). perhatikan disini ada tabel yang bernama inserted, tabel tersebut merupakan tabel logika yg digunakan untuk menyimpan data yang memicu terjadinya trigger, dalam hal ini nilai data yg dimasukkan(insert) kedalam tabel pembelian, selain inserted, tabel logika lainnya adalah deleted, tabel logika ini digunakan untuk trigger yg terpicu dengan kejadian delete
kita coba masukkan kode berikut
INSERT INTO PEMBELIAN (PEM_ID, BAR_ID, PEM_JUMLAH) VALUES (1,1,4);
INSERT INTO PEMBELIAN (PEM_ID, BAR_ID, PEM_JUMLAH) VALUES (2,3,2);
INSERT INTO PEMBELIAN (PEM_ID, BAR_ID, PEM_JUMLAH) VALUES (3,1,1);

arti kode tersebut
pem_id haruslah beda karena merupakan primary key
beli aqua(kode bar_id=1) sebanyak 4
beli aquades (kode bar_id=3) sebanyak 2
beli aqua lagi sebanyak 1
sehingga secara keseluruhan yg dibeli aqua sebanyak 5 dan aquades sebanyak 2
karena default nilai stock barang adalah 0, maka seharusnya nilai aqua 5 dan aquades 2 adalah jumlah stock barang sekarang ini
dan kita lihat data barang… walah
hasil trigger


Trigger ketika Delete

ide dari trigger yang akan saya utarakan disini adalah supaya ketika data di tabel pembelian terhapus, otomatis data jumlah stock barang dari barang yang terhapus di tabel pembelian tadi berkurang. kode triggernya seperti ini
create trigger kurangiStockbarang on pembelian
for
delete
as
update b set b.bar_stock = b.bar_stock
- d.pem_jumlah
from barang b join
deleted d on b.bar_id = d.bar_id
sebenarnya hampir sama dengan kode trigger ketika penambahan barang baru, saya memberi tanda yang bercetak tebal adalah kode yang saya rubah dari kode trigger dari artikel pertama
perbedaan paling mencolok adalah untuk menangkap nilai dari tabel yang dihapus anda mengunakan tabel virtual yang bernama deleted
yang perlu diperhatikan adalah struktur tabel contoh diatas (tabel barang dan table pembelian) kemungkinan tidak cocok untuk dijalankan pada kondisi yang sebenarnya. karena biasanya transaksi pembelian memungkinkan untuk pembelian barang lebih dari 1 macam barang, dan struktur tabel yang saya pakai tidak memungkinkan hal tersebut. karena dalam pembuatan tabel tersebut saya lebih menekankan contoh pemakaian trigger di SQL server 2005


SUMBER :


imam2net.web.id/2011/11/pengertian-trigger-pada-sql-server.html
indrakharisma.wordpress.com/.../membuat-trigger-di-sql-server-2005..