Selasa, 17 Juli 2012

Kamis, 03 Mei 2012

Pembuatan Aplikasi Perpustakaan - UAS MPPL

1. Work Breakdown Structure




2. CPM - PERT




Nama Kelompok :
1. Nur Hidayatul Maghfiroh (09120045)
2. Wahyu Tri Basuki (09120070)
3. Ayu Winda Andriani (09120071)

Minggu, 29 April 2012

Sistem Informasi Tamu Hotel - UTS BDL

1. ERD Sistem Informasi Tamu Hotel
Keterangan :
1. Entity Tamu ke Entity Kamar :
    Banyak Tamu dapat memesan banyak Kamar.
2. Entity Tamu ke Entity Transaksi :
    Banyak Tamu dapat melakukan satu Transaksi.
3. Entity Transaksi ke Entity JenisPembayaran :
    Satu Transaksi mempunyai banyak JenisPembayaran.
Keterangan Supertype dan Subtype :
Supertype entity JenisPembayaran dapat dikategorikan menjadi dua subtype, yaitu KartuKredit dan Tunai.




2. CDM Sistem Informasi Tamu Hotel
Keterangan :
Diatas merupakan CDM (Conseptual Data Model) dari Sistem Informasi Tamu Hotel. Entity terdiri dari Tamu, Kamar, Transaksi, dan JenisPembayaran.
Berikut ini relasi antara entity dalam Sistem Informasi Tamu Hotel :
a.  Entity Tamu berelasi many to many ke entity Kamar, dimana banyak Tamu memesan banyak Kamar
b.   Entity Tamu berelasi many to one ke entity Transaksi, dimana banyak Tamu melakukan satu Transaksi.
c.   Entity Transaksi berelasi one to many ke entity JenisPembayaran, dimana satu Transaksi  memiliki banyak JenisPembayaran.
Entity JenisPembayaran merupakan supertype dari KartuKredit dan Tunai. Jadi entity KartuKredit dan entity Tunai sebagai subtype dari entity JenisPembayaran.




3. PDM Sistem Informasi Tamu Hotel
Keterangan :
Gambar diatas merupakan PDM (Physical Data Model) dari Sistem Informasi Tamu Hotel. Relasi yang many to many antara entity Tamu dan Kamar menimbulkan entity baru yaitu entity Pesan. Dimana pada entity tersebut terdapat atribut antara entity Tamu dan Kamar diantaranya Id_Tamu dan Id_Kamar.
Relasi yang many to one antara entity Tamu dan Transaksi atribut yang menjadi primary_key dari entity Transaksi, akan menjadi atribut dari entity Tamu dan Transaksi. Seperti pada gambar PDM atribut Id_Transaksi menjadi bagian dari entity Pesan, sedangkan atribut Id_Pesan menjadi bagian dari entity Transaksi. Begitu pula dengan relasi tabel yang one to many lainnya. Atribut yang menjadi primary_key akan menjadi bagian dari entity yang saling berelasi. 
Entity JenisPembayaran yang menjadi supertype dari entity KartuKredit dan entity Tunai.  Semua atribut dari entity JenisPembayaran akan menjadi bagian dari entity KartuKredit dan entity Tunai. Antara lain atribut Id_JenisPembayaran, Id_Transaksi, Id_Pesan. Atribut tersebut yang akan menjadi bagian dari entity KartuKredit dan entity Tunai.




3. Rencana SP (Stored Procedure)
          Di dalam Sistem Informasi Kepegawaian, rencana SP kami meliputi semua entity. Jadi rencana SP di dalam Sistem Tamu Hotel yaitu meliputi :
a.  SP_INSERT_TAMU
    Stored procedure ini di gunakan untuk menambah data tamu. 
b. SP_INSERT_KAMAR
    Stored procedure ini di gunakan untuk menambah data kamar. 
c.  SP_INSERT_PESAN
    Stored procedure ini di gunakan untuk menambah data pesan.
d.  SP_INSERT_TRANSAKSI
    Stored procedure ini di gunakan untuk menambah data transaksi.
e.  SP_INSERT_JENISPEMBAYARAN
    Stored procedure ini di gunakan untuk menambah data jenispembayaran.


4. Rencana Trigger
Rencana Trigger dalam Sistem Informasi Tamu Hotel kami gunakan pada entity yang meliputi :
a.  HAPUS1 ON TAMU
      Trigger ini digunakan untuk menghapus data tamu. Jika data tamu yang berada pada table tamu dihapus (delete) melalui id_tamu, maka data yang berada pada table pesan pun ikut terhapus. 
b.  HAPUS2 ON PESAN
      Trigger ini digunakan untuk menghapus data pesan. Jika data kamar yang berada pada table pesan dihapus (delete) melalui id_kamar, maka data yang berada pada table kamar pun ikut terhapus.
c.  TG_UPDATE_PESAN ON PESAN
   Trigger ini digunakan untuk mengupdate data pesan (jumlah kamar). Jika data pesan (jumlah_kamar) yang berada pada table pesan diubah (update) melalui id_pesan, maka data yang berada pada table pesan_audit pun ikut terupdate.



4. Rencana Function
Rencana Function dalam Sistem Informasi Tamu Hotel kami gunakan pada entity yang meliputi :
a.  GET_TAMU
    Function ini digunakan untuk mengecek jumlah data yang diinputkan ke dalam table tamu.


5. Rencana Package
Rencana Package dalam Sistem Informasi Tamu Hotel kami gunakan pada entity yang meliputi :
a.  HOTEL
    Package ini digunakan untuk mengelompokkan data stored procedure insert.


Nama Kelompok :
1. Nur Hidayatul Maghfiroh  (09120045)
2. Wahyu Tri Basuki (09120070)
3. Ayu Winda Andriani (09120071)

Minggu, 12 Februari 2012

Logika Fuzzy - Kecerdasan Buatan

Buat class logika_fuzzy

package KECERDASAN_BUATAN;

/**
 *
 * @author Wahyu Basuki
 */
public class logika_fuzzy {
     double data_kecepatan;
     double nilai_TR = 10;
     double nilai_RS = 20;
     double nilai_RSDG = 30;
     double nilai_RP = 40;


     public logika_fuzzy(double input_kecepatan){
     data_kecepatan=input_kecepatan;

     }


     public  double pelan(){
             if((data_kecepatan>=0)&&(data_kecepatan<=25)){
                 return (1);
             }
             else if((data_kecepatan>25)&&(data_kecepatan<=50)){
                 return (data_kecepatan - 50 ) / (25 - 50);
             }
             else{
                 return 0;
             }
         }

         public double sedang(){
             if((data_kecepatan>=25)&&(data_kecepatan<=50)){
                 return (data_kecepatan - 25) / (50-25) ;
             }
             else if((data_kecepatan>50)&&(data_kecepatan<=75)){
                 return (data_kecepatan - 75) / (50-75);
             }
             else{
                 return 0;
             }
         }

         public double agak_cepat(){
             if((data_kecepatan>50 && data_kecepatan<=75)){
               return (data_kecepatan - 50) / (75-50);

             }
             else if((data_kecepatan>75 && data_kecepatan<100)){
           return (data_kecepatan - 100) / (75 - 100);                       }
             else{
                 return 0;             }
         }

         public double cepat(){
             if((data_kecepatan>=75)&&(data_kecepatan<100)){
                 return (data_kecepatan - 75) / (100-75);
             }
             else if((data_kecepatan>100)){
                 return (1);
             }
             else{
                 return 0;
             }
         }
public double DEFUZZIFIKASI (){
return pelan()*nilai_TR+sedang()
*nilai_RS+agak_cepat()*nilai_RSDG
+cepat()*nilai_RP/(pelan()+sedang()+agak_cepat()+cepat());
}
}



Buat class uji_coba untuk memanggil method tersebut

package KECERDASAN_BUATAN;
  import java.io.BufferedReader;
  import java.io.IOException;
  import java.io.InputStreamReader;

  public class uji_coba {

  public static void main(String args[]){
  BufferedReader dataIn = new BufferedReader
  (new InputStreamReader(System.in));
         double nilai_kecepatan =0;
        
         try {

     System.out.println(" ╔════════════════════════╗");
     System.out.println("              Wahyu Tri Basuki             ");
     System.out.println("                  09120070                 ");
     System.out.println("             KECERDASAN BUATAN             ");
     System.out.println(" ╚════════════════════════╝");

     System.out.println("Masukan Nilai Kecepatan  : ");
     nilai_kecepatan = Double.valueOf(dataIn.readLine()) ;
     System.out.println("");

     logika_fuzzy kecepatan = new logika_fuzzy
     (nilai_kecepatan);

      System.out.println ("•••••••••••••••••");
      System.out.println ("•  FUZZIFIKASI  •");
      System.out.println ("•••••••••••••••••");
      System.out.println("Kecepatant: " + nilai_kecepatan + " m/s");
      System.out.println("Pelan     : " + kecepatan.pelan());
      System.out.println("Sedang    : " + kecepatan.sedang());
      System.out.println("Agak Cepat: " + kecepatan.agak_cepat());
      System.out.println("Cepat     : " + kecepatan.cepat());
      System.out.println("");

      System.out.println ("•••••••••••••••••");
      System.out.println ("•    ATURAN     •");
      System.out.println ("•••••••••••••••••");

      System.out.println("Nilai TR  : " + kecepatan.pelan());
      System.out.println("Nilai RS  : " + kecepatan.sedang());
      System.out.println("Nilai RSDG: " + kecepatan.agak_cepat());
      System.out.println("Nilai RP  : " + kecepatan.cepat());
      System.out.println("");


      System.out.println ("•••••••••••••••••");
      System.out.println ("• DEFUZZIFIKASI •");
      System.out.println ("•••••••••••••••••");
      System.out.println(": "+ kecepatan.DEFUZZIFIKASI());
      System.out.println("");
      System.out.println ("Teknik Informatika\nUniversitas Wijaya Kusuma Surabaya 11/12");
         }catch (IOException a){
                 System.out.println("Error!");

 }
 }
 }



Tampilan output

Membuat Kotak - Grafika Komputer

Buat class kotak

import java.awt.*;
import java.awt.event.*;

public class kotak extends Frame{
kotak(){

super("Menggambar Objek Kotak");
addWindowListener(JE);
setSize(310,150);
setVisible(true);
}

public void paint(Graphics Gambar){
Gambar.setColor(Color.BLUE);
Gambar.drawRect(50, 50, 70, 70);
Gambar.fillRect(200, 50, 70, 70);
}

JendelaEvent JE = new JendelaEvent();
public class JendelaEvent extends WindowAdapter{
public void windowClosing(WindowEvent wc){
dispose();
System.exit(1);
}
}
}




Buat class test untuk memanggil method tersebut

public class test {
public static void main(String[] args) {
kotak ok = new kotak();
}
}


Tampilan output

Grafik Sinus dan Cosinus - Grafika Komputer

Buat class KanvasAnimasi

import javax.swing.*;
import java.awt.*;

class KanvasAnimasi extends Canvas {
public void paint(Graphics g){
                
g.setColor(Color.white);
g.drawLine(10,10,10,210);
g.drawLine(5,110,380,110);
g.drawString("1",2,14);
g.drawString("-1",14,210);
g.drawString("0",13,123);
g.drawString("90",100,123);
g.drawString("180",190,123);
g.drawString("270",280,123);
g.drawString("360",370,123);        
g.setColor(Color.red);
for(int i=0; i<360;i+=1){
int y=(int)(Math.sin(i*Math.PI/180)*100)*-1;
g.drawOval(i+10,y+110,1,1);
try{
Thread.sleep(10);}
catch(Exception e){
}
}

g.setColor(Color.green);
for(int i=0; i<360;i+=1){
int y=(int)(Math.cos(i*Math.PI/180)*100)*-1;
g.drawOval(i+10,y+110,1,1);
try{
Thread.sleep(10);
}catch(Exception e){
}
}
}
}


Buat class Animasi untuk memanggil method tersebut

import javax.swing.*;
import java.awt.*;
class Animasi extends JFrame {
KanvasAnimasi gambar = new KanvasAnimasi();
Animasi(){
setTitle("Grafik Sinus dan Cosinus");
setLocation(200,100);
setSize(410,260);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
}
void komponenVisual(){
getContentPane().setLayout(new BorderLayout());
getContentPane().add(gambar,BorderLayout.CENTER);
getContentPane().setBackground(Color.BLACK);
setVisible(true);
}

public static void main(String[]args){
Animasi anime = new Animasi();
anime.komponenVisual();
}
}



Tampilan output


Assalamu'alaikum Wr. Wb.