Minggu, Desember 22, 2013

Tugas 3 SMBD

Diposting oleh ajeng diana di 03.17 0 komentar

Sistem Informasi Swalayan
Dalam sistem informasi swalayan ini, terdiri dari 3 subsistem yaitu:
      Subsistem gudang
Subsistem transaksi
Subsistem penggajian

Rabu, Desember 18, 2013

program c++ "menebak tahun kabisat"

Diposting oleh ajeng diana di 07.53 0 komentar
Menebak tahun kabisat atau bukan kabisat

#include <iostream.h>
main()
{ int t;
  cout<<"tahun ";
  cin>>t;
  if ((t%4<=0)||(t%400<=0))
        cout<<"kabisat"<<endl;
            else
        cout<<"Bukan kabisat"<<endl;
    cout<<"selesai";
}

Hasil running program:


Program Segitiga dengan C++

Diposting oleh ajeng diana di 07.46 0 komentar
#include <iostream.h>
void bintang(int);
void main()
{ int n;
    cout<<"tinggi bintang ";cin>>n;
    cout<<"segitiga dengan baris "<<n<<endl;
    bintang(n);
}
void bintang(int m)
{    int i,j;
    for (i=m;i>=1;i=i-1)     //for baris
    {    for (j=1;j<=i;j=j+1)  //for cetak bintang
            cout<<"*";
            cout<<endl;
    }
}

Hasil running program:


program bintang pada C++

Diposting oleh ajeng diana di 07.35 0 komentar
#include<iostream.h>
#include<iomanip.h>
void bintang (int);
void main ()
{
int n;
cout<<"Berapa baris ? ";cin>>n;
cout<<"Segitiga anda adalah : "<<endl;
bintang(n);
}

Sabtu, Desember 14, 2013

Contoh Program Java Polimorfisme

Diposting oleh ajeng diana di 21.21 0 komentar
Class Manusia
package latihanpoli;
public class manusiaa {
public void biodata(){
    System.out.println("biodata");
}
public void cetak(){
    System.out.println("cetak");
}
}

Class Staff
package latihanpoli;
import javax.swing.*;
public class staff extends manusiaa{
private String nik,nama,alamat,status;

Polimorfisme Pada Java

Diposting oleh ajeng diana di 21.20 0 komentar
Polimorfisme adalah Kemampuan suatu object  untuk memiliki bentuk dan wujud berbeda. atau bisa dibilang sebagai Kemampuan dari variabel referensi object yang memiliki aksi berbeda bila method yang sama dipanggil, dimana aksi method tergantung dari tipe objectnya. Ada beberapa hal yang harus dipenuhi dalam polymorphisme, seperti :
  1. Method yang dipanggil harus melalui basis class.
  2. Method yang dipanggil harus menjadi method pada basis class.
  3. Method access atribute (modifier) pada sub class tidak boleh lebih terbatas dari basis class.
Kegunaan dari polimorfisme adalah agar kita dapat mendefinisikan beberapa konstruktor atau metode dengan karakteristik yang berbeda-beda agar nantinya dapat digunakan untuk kasus-kasus yang berbeda.

Pemrograman Function dan Procedure pada MySQL

Diposting oleh ajeng diana di 21.05 2 komentar

Dalam function dan procedure, kita bisa memasukkan logika pemrograman. Ada beberapa karakteristik pemrograman yang didukung oleh MySQL. Beberapa di antaranya adalah penggunaan variabel, kendali kondisional, dan perulangan.
Variabel
Seperti pada pemrograman pada umumnya, kita bisa menggunakan variabel lokal pada function dan procedure. Pendeklarasian variabel memiliki sintaks sebagai berikut:
DECLARE var_name [, var_name] ... type [DEFAULT value]
Nilai inisialisasi variabel dapat dilakukan menggunakan statement DEFAULT. Jika statement DEFAULT tidak digunakan, maka nilai inisialisasi variabel adalah NULL. Penamaan variabel lokal bersifat case insensitive. Berikut adalah beberapa contoh deklarasi variabel:
DECLARE total_sale INT
DECLARE x, y INT DEFAULT 0
Pemberian nilai ke sebuah variabel dilakukan dengan menggunakan statement SET. Hasil dari query juga dapat dimasukkan ke dalam variabel menggunakan SELECT INTO. Berikut … adalah beberapa contoh pemberian nilai ke variabel.
SET total_sale = 50;
SELECT COUNT(*) INTO numPekerja FROM pekerja;
Ruang lingkup variabel adalah di antara blok BEGIN … END di mana variabel tersebut didefinisikan. Variabel dapat diakses dari blok yang berada dalam blok di mana ia didefinisikan, kecuali pada blok yang memiliki deklarasi nama variabel yang sama. Berikut adalah contoh penggunaan variabel dalam function dan stored procedure.
mysql> CREATE FUNCTION addTax(gaji FLOAT(8,2))
    -> RETURNS FLOAT (8,2)
    -> BEGIN
    -> DECLARE tax FLOAT DEFAULT 0.05;
    -> RETURN gaji * (1 - tax);
    -> END ^_^
Query OK, 0 rows affected (0.00 sec)
mysql> DELIMITER ;

Pengertian dan Fungsi NAT (Network Addess Translation)

Diposting oleh ajeng diana di 20.02 0 komentar

                        NAT adalah pemetaan (translasi) alamat IP sehingga banyak IP private dalam sebuah LAN dapat mengakses IP Publik, dimana kita ketahui bahwa IP private hanya digunakan dalam LAN dan tidak bisa digunakan untuk IP publik. Melalui proses inilah, banyak komputer dapat mengakses internet karena adanya mekanisme NAT tersebut.
Intinya adalah, NAT mentranslasikan ip private seolah-olah  mengakses sebuah alamat host di internet menggunakan IP publik. Tanpa hal ini, tidak mungkin komputer lokal dapat mengakses internet. Sebagaimana juga diketahui alamat IP publik sudah semakin menipis, dan rencana kepada next generation melalui IPv6 sudah dilakukan, maka penggunaan NAT dirasakan sangat efektik, terutama dalam alokasi IP Address.
Topologi secara sederhana dapat dilihat seperti berikut :
LAN (Komputer Lokal) -> Switch/Hub -> Modem (NAT) -> Internet
                        Fungsi NAT terletak pada link out ke internet, dalam hal ini adalah Modem. Modem yang sering digunakan adalah Modem ADSL, walaupun jenis lain juga banyak digunakan. Modem ADSL menggunakan line PSTN telpon sebagai media penghubung ke provider. Dari modem inilah koneksi dapat dishare menggunakan switch/hub sehingga banyak komputer dapat mengakses internet.
Gambaran dari NAT :
Proses NAT

Setting Mikrotik dengan winbox

Diposting oleh ajeng diana di 20.01 0 komentar

                     Mikrotik sebagai gateway adalah salah satu konfigurasi yang paling sering ditemui selain sebagai manajemen bandwidth. Mikrotik sebagai gateway maksudnya adalah router mikrotik dimanfaatkan sebagai pintu gerbang tempat keluar masuknya paket dari dan ke internet, jadi semua paket akan dilewatkan melalui Mikrotik. Topologi yang digunakan pada jaringan model ini sangat sederhana, karena konfigurasi ini juga adalah konfigurasi dasar bagi seseorang yang ingin belajar tentang Mikrotik. Setiap orang yang ingin belajar tentang Mikrotik harus bisa melakukan konfigurasi ini. Berikut gambar yang saya buat untuk menggambarkan topologinya.

 

Pengertian Cisco

Diposting oleh ajeng diana di 19.59 0 komentar

                Cisco adalah peralatan utama yang banyak digunakan pada jaringan area luas atau Wide Area Network (WAN). Dengan cisco router, informasi dapat diteruskan ke alamat-alamat yang berjauhan dan berada di jaringan computer yang berlainan. Yang bertujuan untuk dapat meneruskan paket data dari suatu LAN ke LAN lainnya, Cisco router menggunakan tabel dan protocol routing yang berfungsi untuk mengatur lalu lintas data. 
                 Paket data yang tiba di router diperiksa dan diteruskan ke alamat yang dituju. Agar paket data yang diterima dapat sampai ke tujuannya dengan cepat, router harus memproses data tersebut dengan sangat tepat. Untuk itu, Cisco Router menggunakan Central Processing Unit (CPU) seperti yang digunakan di dalam komputer untuk memproses lalu lintas data tersebut dengan cepat. Seperti komputer, cisco router juga mempunyai sejumlah jenis memori yaitu ROM, RAM, NVRAM dan FLASH, yang berguna untuk membantu kerjanya CPU. Selain itu dilengkapi pula dengan sejumlah interface untuk berhubungan dengan dunia luar dan keluar masuk data. Sistem operasi yang digunakan oleh cisco router adalah Internetwork Operating System (IOS).

perbedaan Ip Static dengan Ip dymanic

Diposting oleh ajeng diana di 19.58 0 komentar
Ip static sesuai nama nya adalah ip yang static atau tetap.jika anda penggemar trik internet gratis tentu kenal dengan ip dari journal.dikti.go.id yaitu ip 118.98.235.40.
jika kita pakai ip itu maka ip kita akan tetap atau static saja tidak berubah ubah. jika biasa nya pengguna telkomsel maka biasa nya ip nya adalah ip kepala 182,39, atau 114 maka jika pakai ip journal.dikti.go.id ini ip kita akan dideteksi 118.98.235.40.selain ip dari journal.dikti.go.id masih banyak kok ip static lainnya.jika kita pakai webproxy anonymous maka ip kita juga akan menjadi ip static.
Contohnya kita pakai proxy mancos.de dari Jerman yaitu 87.106.61.84
maka ip kita akan tetap sama (87.106.61.84) biarpun kita keluar masuk opmin berulang kali.

Ip dinamic adalah ip yang berubah-ubah secara dinamis sesuai dengan nama nya.maksudnya ialah jika kita masuk opera mini lalu keluar lalu kita masuk lagi maka ip kita akan berubah atau tidak tetap.
contoh jika kita pertama masuk biasa nya ip kita 182.1.39.142 maka jika kita keluar lalu masuk lagi ip kita adalah 182.4.251.10 atau bahkan ip kepala 39 atau 114.itu karena jika kita pakai proxy opera mini maka ip kita diatur oleh operator lewat ISP (internet servis provider) dan dikendalikan oleh DHCP (Dinamic Host Configuration Protocol).

Perbedaan dan Pengertian IP Public dengan Private

Diposting oleh ajeng diana di 19.54 0 komentar

IP Public adalah IP address yang digunakan untuk lingkup internet, host yang menggunakan IP public dapat diakses oleh seluruh user yang tergabung diinternet baik secara langsung maupun tidak langsung (melalui proxy/NAT). IP Addressing juga dikelompokkan berdasarkan negara, Indonesia umumnya dimulai dengan kepala 202 & 203 (tapi IP komputer saya saat ini terdeteksi 118.137.213.70). IP publik inilah yang biasanya saat ini menggunakan IPV4 dan ditakutkan akan habis dalam waktu dekat.Lembaga yang mengatur / menyediakan IP Public adalah IANA, singkatan dari Internet Authorized Numbering Association
Sebuah alamat IP publik dapat berupa statis atau dinamis. Sebuah alamat IP public static tidak dapat berubah dan digunakan terutama untuk hosting halaman Web atau layanan di Internet. Di sisi lain sebuah alamat IP publik yang dinamis dipilih dari sebuah pool yang tersedia pada alamat dan perubahan masing-masing terjadi satu kali untuk menghubungkan ke Internet. Sebagian besar pengguna internet hanya akan memiliki IP dinamis yang bertugas untuk setiap komputer. Ketika terjadi disconnetted atau jaringan terputus/padam  apabila menghubungkannya kembali maka otomatis akan mendapat IP baru.
diakses oleh seluruh ,
.contoh IP Public adalah akses Speedy modem yang merupakan IP Public 125.126.0.1
 
 
 IP Private adalah IP address yang digunkan untuk lingkup intranet, host yang menggunakan IP Private hanya bisa diakses di lingkup Intranet saja.
Alamat IP  Private/Pribadi yang digunakan untuk penomoran komputer dalam jaringan pribadi termasuk rumah, sekolah dan LAN bisnis di bandara dan hotel yang memungkinkan komputer dalam jaringan untuk berkomunikasi satu sama lain. Katakanlah misalnya, jika jaringan X terdiri dari 10 komputer masing-masing dapat diberikan IP mulai dari 192.168.1.1 ke 192.168.1.10. Berbeda dengan IP publik, administrator jaringan pribadi bebas untuk menetapkan alamat IP dari pilihannya sendiri.
 (disediakan nomor IP  pada kisaran alamat IP pribad iseperti yang disebutkan di atas).
Perangkat dengan alamat IP private tidak dapat terhubung langsung ke Internet. Demikian juga, komputer di luar jaringan lokal tidak dapat terhubung langsung ke perangkat dengan IP pribadi. Hal ini dimungkinkan untuk menghubungkan dua jaringan pribadi dengan bantuan router atau perangkat serupa yang mendukung Network Address Translation.
Jika jaringan pribadi yang terhubung ke Internet (melalui koneksi Internet melalui ISP) maka setiap komputer akan memiliki IP swasta maupun IP publik. Private IP dipakai untuk komunikasi dalam jaringan dimana IP publik digunakan untuk komunikasi melalui Internet.
contoh IP private akses di LAN modem menggunakan IP Private kelas C                               192.168.1.1
 Ada alamat-alamat yang dapat kita pakai sebagai alamat jaringan yang disebut sebagai private address. Alamat tersebut adalah :
1.      Untuk kelas A : 10.0.0.1 – 10.255.255.254
2.      Untuk kelas B : 172.16.0.1 – 172.31.255.254
3.       Untuk kelas C : 192.168.0.1 – 192.168.255.254
 

Subnetting

Diposting oleh ajeng diana di 19.47 0 komentar

                        Subnetting merupakan teknik memecah network menjadi beberapa subnetwork yang lebih kecil. Subnetting hanya dapat dilakukan pada IP addres kelas A, IP Address kelas B dan IP Address kelas C. Dengan subnetting akan menciptakan beberapa network tambahan, tetapi mengurangi jumlah maksimum host yang ada dalam tiap network tersebut.
Beberapa alasan mengapa kita perlu melakukan subnetting, diantaranya adalah sebagai berikut:
  1. Untuk mengefisienkan alokasi IP Address dalam sebuah jaringan supaya bisa memaksimalkan penggunaan IP Address
  2. Mengatasi masalah perbedaan hardware dan media fisik yang digunakan daam suatu network, karena Router IP hanya dapat mengintegrasikan berbagai network dengan media fisik yang berbeda jika setiap network memiliki address network yang unik.
  3. Meningkatkan security dan mengurangi terjadinya kongesti akibat terlalu banyaknya host dalam suatu network 

Pengertian Router Pada Jaringan

Diposting oleh ajeng diana di 19.46 0 komentar

          Router adalah sebuah alat untuk mengirimkan paket data antar jaringan melalui proses yang disebut dengan routing. Sebuah router bertanggung jawab untuk menghubungkan koneksi antar dua jaringan atau lebih dengan memilih jalur yang terbaik supaya paket yang dikirim sampai ke tujuan.
          
         Router adalah perangkat jaringan yang digunakan untuk membagi protocol kepada anggota jaringan yang lainnya, dengan adanya router maka sebuah protocol dapat di-sharing kepada perangkat jaringan lain. contohnya aplikasinya adalah jika kita ingin membagi IP Address kepada  anggota jaringan maka kita dapat menggunakan router ini, ciri-ciri router adalah adanyan fasilitas DHCP (Dynamic Host configuration Protocol), dengan mensetting DHCP, maka dapat membagi IP Address, fasilitas lain dari router adalah adanya NAT (Network Address Translator) yang dapat memungkinkan suatu IP Address atau koneksi internet di sharing ke IP Address lain.
secara umum router memiliki 2 koneksi yaitu :
   1) koneksi WAN (koneksi ke ISP)
   2) koneksi ke LAN

          Pada dsarnya prinsip router secara umum adalah dengan memeriksa alamat IP tujuan dari paket yang dikirim, setelah mendapatkan alamat IP tujuan router kemudian memilih jalur terbaik, dalam hal ini pemilihan jalur berdasrkan bantuan routing tabel.

          Misalnya jika pada suatu jaringan (komputer) dengan contoh memiliki IP Address   192.168.1.0 , maka agar komputer lain dapat berkomunikasi, harus membagi host id.
contohnya pembagian host id :
  1) 192.168.1.1
  2) 192.168.1.2
  3) 192.168.1.3
  4) 192.168.1.4
  5) 192.168.1.5 

keterangan :
192.168.1.
network id  host id

Materi Jaringan Komputer

Diposting oleh ajeng diana di 19.45 0 komentar

Pengertian, Fungsi dan Cara Kerja Firewall Dalam Suatu Jaringan Komputer LAN dan WAN 

PENGERTIAN FIREWALL
                      Firewall adalah sebuah sistem atau perangkat yang mengizinkan lalu lintas jaringan yang dianggap aman untuk melaluinya dan mencegah lalu lintas jaringan yang tidak aman. Umumnya, sebuah firewall diimplementasikan dalam sebuah mesin terdedikasi, yang berjalan pada pintu gerbang (gateway) antara jaringan lokal dan jaringan lainnya. Firewall umumnya juga digunakan untuk mengontrol akses terhadap siapa saja yang memiliki akses terhadap jaringan pribadi dari pihak luar. Saat ini, istilah firewall menjadi istilah generik yang merujuk pada sistem yang mengatur komunikasi antar dua jaringan yang berbeda. Mengingat saat ini banyak perusahaan yang memiliki akses ke Internet dan juga tentu saja jaringan korporat di dalamnya, maka perlindungan terhadap aset digital perusahaan tersebut dari serangan para hacker, pelaku spionase, ataupun pencuri data lainnya, menjadi esensial."

                      Oleh karena itu firewall adalah suatu mekanisme untuk melindungi keamanan jaringan komputer dengan menyaring paket data yang keluar dan masuk di jaringan. Paket data yang “baik” diperbolehkan untuk melewati jaringan dan paket dapa yang dianggap “jahat” tidak diperbolehkan melewati jaringan. Firewall dapat berupa perangkat lunak atau perangkat keras yang ditanam perangkat lunak yang dapat menfilter paket data. Firewall dapat juga berupa suatu sikap yang ditanam dan diajarkan kepada staf IT suatu perusahaan untuk tidak membocorkan data perusahaan kepada perusahaan. Ini untuk mencegah salah satu jenis hacking yaitu social enggeneering.

FUNGSI FIREWALL

A. Mengontrol dan mengawasi 
    paket data yang mengalir di jaringan Firewall harus dapat mengatur, memfilter dan mengontrol lalu lintas data yang diizin untuk mengakses jaringan privat yang dilindungi firewall. Firewall harus dapat melakukan pemeriksaan terhadap paket data yang akan melawati jaringan privat. Beberapa kriteria yang dilakukan firewall apakah memperbolehkan paket data lewati atau tidak, antara lain : 
1. Alamat IP dari komputer sumber
2. Port TCP/UDP sumber dari sumber.
3. Alamat IP dari komputer tujuan.
4. Port TCP/UDP tujuan data pada komputer tujuan
5. Informasi dari header yang disimpan dalam paket data.

B. Melakukan autentifikasi terhadap akses.

C. Applikasi proxy Firewall 
     mampu memeriksa lebih dari sekedar header dari paket data, kemampuan ini menuntut firewall untuk mampu mendeteksi protokol aplikasi tertentu yang spesifikasi.

D. Mencatat setiap transaksi kejadian yang terjadi di firewall
      Ini Memungkinkan membantu sebagai pendeteksian dini akan penjebolan jaringan.

beberapa jenis firewall :
1.      Packet filter : Setiap paket yang masuk atau keluar jaringan akan di ataur apakah diterima atau ditolak berdasarkan aturan user-defined. Packet filtering ini cukup efektif dan transparan kepada pengguna, tetapi sulit untuk mengkonfigurasi. namu rentan terhadap serangan IP spoofing .
2.      Gateway aplikasi : Mekanisme keamanan untuk aplikasi tertentu, seperti FTP , dan Telnet server. Hal ini sangat efektif, namun dapat memberlakukan degradasi kinerja.
3.      Circuit-level gateway : Mekanisme keamanan koneksi TCP maupun UDP. Setelah sambungan telah dibuat, paket dapat mengalir antara host tanpa pemeriksaan lebih lanjut.
4.      Proxy server: Memotong semua pesan masuk dan keluar jaringan. proxy server efektif menyembunyikan alamat jaringan dengan baik.

CARA KERJA FIREWALL
                       Jika kamu menggunakan internet secara teratur setiap hari,atau komputer kamu terhubung dengan internet setiap kali menggunakannya, maka kamu harus memiliki sebuah firewall yang aktif di komputer. Firewall dapat melindungi komputer kamu dari serangan hacker dan situs web tertentu yang telah diblok oleh firewall tersebut. 
Firewall pada dasarnya merupakan sebuah penghalang antara komputer anda (jaringan)dengan internet. Firewall bisa diumpamakan sebuah satpam yang menjaga pintu gerbang rumah anda untuk menyaring pengunjung yang datang ke tempat anda.
                        Dan apabila firewall menemukan data  yang dicurigai membawa hal berbahaya dan dapat merusak, seperti virus, spyware, dan trojan, firewall akan melarangnya untuk keluar atau masuk ke dalam jaringan. Dalam mengontrol lalu lintas keluar masuk data dalam jaringan, firewall menggunakan salah satu atau ketiga metode berikut ini :
1. Packet Filtering – Paket data diperiksa menggunakan seperangkat aturan penyaringan. Paket yang lulus proses penyaringan diizinkan untuk meneruskan perjalanannya, sedangkan yang tidak lulus penyaringan akan dihapus.
2. Proxy Service – Data yang berasal dari Internet diterima oleh firewall kemudian diteruskan kepada komputer yang me-request-nya, begitu juga sebaliknya.
3. Stateful Inspection – Metode membandingkan bagian kunci dari paket data tersebut dengan database data-data terpercaya. Data yang keluar dari firewall ditandai dengan ciri-ciri khusus, selanjutnya data yang masuk akan dibandingkan dengan ciri-ciri khusus tersebut. Jika dalam proses perbandingan terdapat kecocokan, data diizinkan masuk. Jika terdapat ketidakcocokan, firewall akan menghapus data tersebut.

Mengatur Setting Firewall
Administrator jaringan dapat menambah dan mengurangi saringan yang digunakan pada firewall, antara lain :
1. Alamat IP – Setiap mesin, tidak hanya komputer, yang terhubung dengan Internet memiliki alamat unik yang dinamakan IP. Jika sebuah alamat IP terlalu banyak mengirimkan paket data yang mencurigakan, firewall dapat memblokir semua paket data dari alamat IP tersebut.
2. Nama Domain – Semua server di Internet memiliki nama domain untuk memudahkan kita menghapalnya daripada harus menggunakan sederetan alamat IP, misalnya Anda tentu lebih mudah menghapal nama domain pcmedia.co.id daripada angka 202.158.39.108, bukan? Firewall dapat memblokir semua akses menuju nama domain tertentu, atau hanya mengizinkan akses kepada beberapa nama domain tertentu.
3. Protokol – Dalam berkomunikasi, sesama komputer menggunakan jalur-jalur tertentu. Jalur-jalur komunikasi tersebut dikenal dengan nama protokol. Sebagai contoh, untuk berkomunikasi dengan web server, web browser menggunakan jalur HTTP. Firewall dapat menyaring lalu lintas data pada beberapa protokol yang jamak digunakan semisal HTTP, FTP, UDP, ICMP, SMTP, SNMP, telnet, dan lain-lain.
4. Port – Setiap server menggunakan port-port bernomor untuk menyediakan layanan di Internet. Satu port untuk satu layanan. Sebagai contoh, jika sebuah server menjalankan web server dan FTP server, biasanya web server akan menggunakan port 80, dan FTP server menggunakan port 21. Firewall dapat memblokir akses ke port 21 untuk melarang akses FTP dari dan ke komputer yang dilindunginya.
5. Kata-kata atau Frase tertentu – Firewall dapat memblokir setiap data keluar dan masuk yang mengandung kata atau frase tertentu dengan cara mengendus (sniff) setiap paket data dan mencocokkan setiap kata atau frase yang ada di dalamnya dengan daftar black list. Sebagai contoh, administrator dapat memasukkan kata-kata porn, sex, nude, dan kata-kata berbau pornografi lainnya untuk melarang setiap komputer mengakses website porno.

program pascal antrian

Diposting oleh ajeng diana di 19.27 0 komentar


 uses crt;
 var x:array[1..10] of string;
     i,n,pil:integer;
     procedure masuk;
     begin if (n=10) then writeln('sudah penuh') else
        begin n:=n+1;
              readln(x[n]);
        end;
    end;
    procedure keluar;
    begin
        for i:=1 to n-1 do x[i]:=x[i+1];
        n:=n-1;
    end;
    procedure cetak; begin for i:=1 to n do writeln(x[i]);readln;end;
 

Trigger Pada MySQL

Diposting oleh ajeng diana di 19.23 0 komentar
Trigger 
a.  MEMBUAT TRIGGER
b.  BEFORE TRIGGER
c.  AFTER TRIGGER
                            d.  MELIHAT TRIGGER YANG SUDAH DIBUAT

TRIGGER 
Trigger adalah sebuah objek database yang diasosiasikan dengan sebuah tabel. Trigger diaktifkan ketika sebuah event terjadi pada tabel yang diasosiasikan. Tabel yang diasosiasikan dengan trigger haruslah sebuah tabel yang permanen dan bukan temporary tabel.

      1. Membuat Trigger
Trigger bisa dibuat dengan syntax sbb :

CREATE TRIGGER <trigger_name> <trigger_time> <trigger_event>
ON <table>
FOR EACH ROW <trigger_body statements>

      Pada sintaks di atas, trigger_name adalah nama dari trigger yang akan kita buat.
Trigger_time adalah saat aktivasi trigger. Parameter trigger_time dapat berisi BEFORE atau AFTER, yang menandakan apakah aktivasi trigger dilakukan sebelum atau sesudah terjadi perubahan pada tabel.
Trigger_event menunjukkan jenis statement yang mengaktifkan trigger.

Trigger_event dapat didefinisikan sebagai salah satu dari:
·         INSERT: trigger diaktifkan ketika sebuah baris baru ditambahkan ke tabel, sebagai contoh melalui statement INSERT, LOAD DATA, atau REPLACE.
·         UPDATE: trigger diaktifkan ketika sebuah baris dimodifikasi, sebagai contoh melalui statement UPDATE.
·         DELETE: trigger diaktifkan ketika sebuah baris dihapus, melalui statement DELETE dan REPLACE. Namun demikian, DROP TABLE dan TRUNCATE TABLE tidak mengaktifkan trigger DELETE

Tidak boleh ada dua buah trigger yang sama pada sebuah tabel yang memiliki trigger_time dan trigger_event yang sama. Sebagai contoh, kita tidak dapat membuat dua buah BEFORE UPDATE trigger pada satu buah tabel yang sama, namun kita dapat membuat trigger BEFORE UPDATE dan AFTER UPDATE untuk satu tabel yang sama.

trigger_body merupakan definisi statement yang dijalankan ketika sebuah trigger diaktifkan. Jika ada beberapa statement yang ingin dijalankan, statement-statement tersebut dapat didefinisikan di antara BEGIN AND.

Keyword OLD dan NEW dapat digunakan untuk mereferensi nilai sebelum dan sesudah trigger dilakukan. Sebagai contoh OLD.nama_kolom menunjukkan nilai kolom sebelum data tersebut dihapus atau diupdate, sedangkan NEW.nama_kolom menunjukkan nilai kolom sebuah data yang akan dimasukkan atau nilai kolom data setelah diupdate.

      2. BEFORE TRIGGER
Berikut adalah contoh trigger yang dijalankan sebelum data dimasukkan ke dalam sebuah tabel.
mysql> DELIMITER #
mysql> CREATE TRIGGER sebelum_insert BEFORE INSERT ON pegawai FOR EACH ROW
BEGIN
IF NEW.gaji IS NULL OR NEW.gaji = 0
THEN
SET NEW.gaji = 500000;
ELSE
SET NEW.gaji = NEW.gaji + 100000;
END IF;
END #
Query OK, 0 rows affected (0.23 sec)
Mysql> DELIMITER ;

Dalam TRIGGER diatas adalah salah satu contoh trigger yang akan dijalankan sebelum sebuah even dipanggil (BEFORE INSERT). Dalam trigger ini akan mengganti nilaigaji jika gaji yang di-INSERT-kan bernilai NULL atau 0 dan akan menambahkan nilai 100rb jika kita masukkan selain NULL dan 0.
Berikut contoh masukkan data setelah didefinisikan trigger :

INPUT NILAI NULL atau 0

mysql> insert into pegawai values('PEG-1017','Astuti','Kudus','Staff Junior',0);
Query OK, 1 row affected (0.05 sec)

mysql> select * from pegawai;
+----------+-----------------------+-------------+-----------------+---------+
| nip      | nama_peg              | alamat_peg  | jabatan         | gaji    |
+----------+-----------------------+-------------+-----------------+---------+
| PEG-1001 | Soeharto Mangundirejo | Yogyakarta  | C.E.O           | 9000000 |
| PEG-1002 | Felix Nababan         | Medan       | Manager         | 8000000 |
| PEG-1003 | Olga Syahrini         | Jakarta     | Kepala Unit     | 6000000 |
| PEG-1004 | Chelsea Olivia        | Bandung     | Kepala Unit     | 6000000 |
| PEG-1005 | Tuti Wardani          | Jawa Tengah | Supervisor      | 4500000 |
| PEG-1006 | Budi Drajat           | Malang      | Supervisor      | 4500000 |
| PEG-1007 | Bambang Pamungkas     | Kudus       | Staff Senior    | 3000000 |
| PEG-1008 | Ely Oktafiani         | Yogyakarta  | Staff Senior    | 3000000 |
| PEG-1009 | Rani Wijaya           | Magelang    | Staff Senior    | 3000000 |
| PEG-1010 | Rano Karno            | Solo        | Staff Junior    | 2000000 |
| PEG-1011 | Rahmadi Sholeh        | Yogyakarta  | Staff Junior    | 2000000 |
| PEG-1012 | Ilham Ungara          | Jakarta     | Staff Junior    | 2000000 |
| PEG-1013 | Endang Melati         | Madiun      | Staff Junior    | 2000000 |
| PEG-1014 | Donny Damara          | Makasar     | Tenaga Kontrak  | 1000000 |
| PEG-1015 | Paijem                | Yogyakarta  | Tenaga Kontrak  |  500000 |
| PEG-1016 | Djono                 | Yogyakarta  | Tenanga Kontrak | 1000000 |
| PEG-1017 | Astuti                | Kudus       | Staff Junior    |  500000 |
+----------+-----------------------+-------------+-----------------+---------+
17 rows in set (0.00 sec)

INPUT DENGAN NILAI

mysql> insert into pegawai values('PEG-1018','Puspito','Magelang','Staff Junior',
Query OK, 1 row affected (0.03 sec)

mysql> select * from pegawai;
+----------+-----------------------+-------------+-----------------+---------+
| nip      | nama_peg              | alamat_peg  | jabatan         | gaji    |
+----------+-----------------------+-------------+-----------------+---------+
| PEG-1001 | Soeharto Mangundirejo | Yogyakarta  | C.E.O           | 9000000 |
| PEG-1002 | Felix Nababan         | Medan       | Manager         | 8000000 |
| PEG-1003 | Olga Syahrini         | Jakarta     | Kepala Unit     | 6000000 |
| PEG-1004 | Chelsea Olivia        | Bandung     | Kepala Unit     | 6000000 |
| PEG-1005 | Tuti Wardani          | Jawa Tengah | Supervisor      | 4500000 |
| PEG-1006 | Budi Drajat           | Malang      | Supervisor      | 4500000 |
| PEG-1007 | Bambang Pamungkas     | Kudus       | Staff Senior    | 3000000 |
| PEG-1008 | Ely Oktafiani         | Yogyakarta  | Staff Senior    | 3000000 |
| PEG-1009 | Rani Wijaya           | Magelang    | Staff Senior    | 3000000 |
| PEG-1010 | Rano Karno            | Solo        | Staff Junior    | 2000000 |
| PEG-1011 | Rahmadi Sholeh        | Yogyakarta  | Staff Junior    | 2000000 |
| PEG-1012 | Ilham Ungara          | Jakarta     | Staff Junior    | 2000000 |
| PEG-1013 | Endang Melati         | Madiun      | Staff Junior    | 2000000 |
| PEG-1014 | Donny Damara          | Makasar     | Tenaga Kontrak  | 1000000 |
| PEG-1015 | Paijem                | Yogyakarta  | Tenaga Kontrak  |  500000 |
| PEG-1016 | Djono                 | Yogyakarta  | Tenanga Kontrak | 1000000 |
| PEG-1017 | Astuti                | Kudus       | Staff Junior    |  500000 |
| PEG-1018 | Puspito               | Magelang    | Staff Junior    | 1100000 |
+----------+-----------------------+-------------+-----------------+---------+
18 rows in set (0.00 sec)

Namun demikian, kita tidak dapat mengupdate tabel yang sama dengan tabel yang diasosiasikan dengan trigger menggunakan trigger.

Mysql> DELIMITER #
mysql> CREATE TRIGGER before_update BEFORE UPDATE ON pegawai FOR EACH ROW
BEGIN
UPDATE pegawai SET gaji=gaji+(NEW.gaji - OLD.gaji) WHERE nip=NEW.nip;
END #
Query OK, 0 rows affected (0.03 sec)
mysql> DELIMITER ;

mysql> UPDATE pegawai SET gaji = 2000000 WHERE nip="PEG-1017";

ERROR 1442 (HY000): Can't update table 'pegawai' in stored function/trigger because it is already used by statement which invoked this stored function
/trigger.

     3. AFTER TRIGGER
Berikut adalah contoh trigger yang dijalankan setelah update dilakukan terhadap tabel
     
Untuk mencobanya kita buat dulu table pencatat, nanti di table pencatat ini akan kita buat syntax untuk mencatat perubahan yang terjadi.

mysql> create table pencatat(catatan varchar(50));
      Query OK, 0 rows affected (0.48 sec)

mysql> delimiter #

kita buat TRIGGERnya untuk mencatat perubahan yang terjadi

mysql> CREATE TRIGGER trigger_cat AFTER UPDATE ON pegawai FOR EACH ROW
BEGIN
INSERT INTO pencatat
VALUES(concat('akun',NEW.nip,'dari ',OLD.gaji,'to',NEW.gaji));
END
#

Query OK, 0 rows affected (0.17 sec)

mysql> delimiter ;

     Kita rubah nilai dari gaji yang ada

mysql> UPDATE pegawai SET gaji=gaji+200000;
Query OK, 18 rows affected (0.09 sec)
Rows matched: 18  Changed: 18  Warnings: 0

mysql> select * from pencatat;
+---------------------------------------+
| catatan                               |
+---------------------------------------+
| akun PEG-1001 dari 9000000 to 9200000 |
| akun PEG-1002 dari 8000000 to 8200000 |
| akun PEG-1003 dari 6000000 to 6200000 |
| akun PEG-1004 dari 6000000 to 6200000 |
| akun PEG-1005 dari 4500000 to 4700000 |
| akun PEG-1006 dari 4500000 to 4700000 |
| akun PEG-1007 dari 3000000 to 3200000 |
| akun PEG-1008 dari 3000000 to 3200000 |
| akun PEG-1009 dari 3000000 to 3200000 |
| akun PEG-1010 dari 2000000 to 2200000 |
| akun PEG-1011 dari 2000000 to 2200000 |
| akun PEG-1012 dari 2000000 to 2200000 |
| akun PEG-1013 dari 2000000 to 2200000 |
| akun PEG-1014 dari 1000000 to 1200000 |
| akun PEG-1015 dari 500000 to 700000   |
| akun PEG-1016 dari 1000000 to 1200000 |
| akun PEG-1017 dari 500000 to 700000   |
| akun PEG-1018 dari 1100000 to 1300000 |
+---------------------------------------+
18 rows in set (0.00 sec)

TRIGGER diatas akan dieksekusi setelah perintah UPADATE dijalankan.

    4. Melihat dan Menghapus Trigger yang Sudah Dibuat
Untuk melihat TRIGGER kita bisa menggunakan syntax

mysql> show triggers in lab4;
mysql> drop trigger <nama_trigger>



 

ajeng diana Copyright © 2015 Design by ajengdiana dianastore