Tuesday, June 5, 2007

View di MySQL - Part 1

-VIEW-
Secara definisi view merupakan table virtual yang didefinisikan berdasarkan query. Difokuskan pada aspek sekuritas, user tidak secara langsung mengakses databases yang asli.
contoh :
create view p as select *from departemen;
ket:
p merupakan view yang strukturnya berdasarkan "select *from departemen";
dengan adanya view kita dapat melakukan query pada table tanpa harus khawatir table yang sebenarnya rusak.

Trigger di MySQL - Part 1

--Trigger--
Suatu stored prosedure yang dijalankan sesudah atau pada saat terjadinya modifikasi data. Digunakan untuk menjaga integritas data. beberapa sintak :
- update(modifikasi), insert (utk proses insert), delete(menghapus data)
- before/after : apakah setelah atau pada saat DML dieksekusi
- for each row : diberlakukan untuk semua row
contoh:
buat dua databases sederhana :

CREATE TABLE siswa(
nis int(10) NOT NULL,
nama varchar(30) NOT NULL
)
CREATE TABLE wali(
nis int(10) NOT NULL,
namaWali varchar(30) NOT NULL
)


insert table--

-siswa
nis nama
2 budi
3 alif
4 didin
-wali

nis namaWali
2 udin
3 aldo
4 riki

1.Trigger delete
delimiter &&
create trigger hapuswali
before delete on siswa
for each row
begin
delete from wali where nis = OLD.nis; //OLD.nis merupaka nis yang didelete pada table siswa
end;
&&
delimiter ;
- elsekusi delete
delete from siswa where nis = 2;
--output--
- siswa
nis nama
3 alif
4 didin


- wali
nis namaWali
3 aldo
4 riki

2. Trigger update
delimiter &&
create trigger tambahsiswa
after update on siswa
for each row
begin
update nis from wali set nis = new.nis where nis = old.nis;
end;
&&
delimiter ;

siswa set nis = 12 where nis = 3;

output--
-siswa
nis nama
12 alif
4 didin

-wali
nis namaWali
12 aldo
4 riki

3. Trigger insert
Untuk insert kita akan buat suatu 2 table sederhana :
create table a (
bil int not null
)
create table b (
bil2 int not null
)
- trigger insert
delimiter &&
create trigger tambahdata
after insert on a
for each row
begin
insert into b values (2*new.bil);
end;
&&
delimiter ;


insert into a values (1),(2),(3),(4),(5);

output
- a
bil
1
2
3
4
5
- b
bil2
2
4
6
8
10

Stored Procedure di MySQL - Part 1

Apakah yang dimaksud dengan stored prosedure ?
Stored prosedure merupakan sql yang disimpan server atau stroed lainnya, berguna untuk dan efektifitas dalam query. tulisan ini, menjelaskan bagaimana stored prosedure di MySQL

a. Memulai Stored Prosedure
mysql> delimiter &&
mysql> drop procedure if exists Salam&&
Query OK, 0 rows affected (0.01 sec)
mysql> create procedure Salam()
-> begin
-> select "Assalamualaikum";
-> end;
-> &&
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;
mysql> call Salam();
+-----------------+
Assalamualaikum
+-----------------+
Assalamualaikum
+-----------------+
1 row in set (0.00 sec)
Query OK, 0 rows affected (0.00 sec)


Ket :
- delimiter && untuk memulai suatu stored procedure
- drop procedure if exists Salam&& untuk drop/delete
telah ada stored procedure dengan nama Salam
- create procedure Salam(),membuat Sp dengan nama Salam()
- begin, untuk memulai menulisan sql yang akan dieksekusi
- end ;, sebagai akhir stored procedure
- && , tutup
- delimiter ;, akhir/tutup delimiter
- call Salam(), eksekusi stored procedure

2. SP dengan parameter output
mysql> create procedure RataanGaji(out rataangaji int) //adanya parameter output yaitu rataangaji
-> begin
-> select avg(salary) into rataangaji from employee; //Menyimpan hasil avg(salary) ke rataangaji
-> end;
-> &&
Query OK, 0 rows affected (0.00 sec)
mysql> delimiter ;
mysql> call RataanGaji(@result); //@result sebagai parameter output
Query OK, 0 rows affected (0.00 sec)
mysql> select @result; //Keluarkan hasil di @result
+---------+
@result
+---------+
9905000
+---------+
1 row in set (0.00 sec)


3. SP dengan parameter input
delimiter &&
drop procedure if exists DataEmployee&&
create procedure DataEmployee(input int) //parameter int
begin
select *from employee where employee_id = input;
end;
&&
delimiter ;
call DataEmployee(101)
--outputnya--
101, 'ahmad yassin', 'yasin@yahoo.com', '081246798246', 15000000, , 1


4. SP menggunakan deklarasi variable
delimiter &&
drop procedure if exists DataEmployee2&&
create procedure DataEmployee2(input int)
begin
declare nama varchar(30);
declare gaji int;
select employee_name, salary into nama, gaji from employee where employee_id = input;
select nama,gaji;
end;
&&
delimiter ;
call DataEmployee2(101)
--output--
ahmad yassin,15000000

Wednesday, May 23, 2007

Perkembangan IT Skala Industri

Pendahuluan
Beberapa tahun yang lalu, Teknologi Informasi hanya menjadi factor pendukung dalam pengembangan skala industri. Pada saat itu IT hanya dijadikan pelengkap proses dan bagian dari otomasi proses yang ada disuatu perusahaan. Perusahaan belum memberikan kesempatan yang cukup besar ke bidang IT untuk menjadi bagian vital dari pergerakan suatu perusahaan. Perbedaan penggunaan teknologi informasi berdasarkan hierarki pada suatu perusahaan seperti adanya system informasi yang hanya diperuntukan top management, manager di setiap departemennya dan karyawan secara umum ternyata tidak dapat menyelesaikan seluruh proses bisnis yang ada. Tentunya diharapkan ada teknologi yang dapat mengakomodasi seluruh proses bisnis dan mengintegrasikan kebutuhan system pada setiap departemen menjadi suatu system utuh yang saling terkait. Pada saat ini dukungan teknologi informasi dalam pengembangan skala industri mengalami kemajuan yang sangat baik. Berbagai penemuan teknologi dan metode di pengembangan system membuat penggunan teknologi informasi di Industri menjadi suatu yang dubutuhkan. Beberapa teknologi tersebut, antara lain : OLAP, Data Warehouse, Data Mining, Supplay Chain Management, Customer Relationship Management, Knowledge Management System dan Enterprise Resource Planning. Pada tulisan ini, akan menjabarkan teknologi Enterprise Resource Palanning ( ERP ) dan penggunaannya di Industri.

Pengertian
Enterprise Resouce Planning merupakan system informasi skala enterprise yang diperuntukan bagi perusahaan jasa atau manufacturing untuk mengintegrasikan proses bisnis, otomasi system dan pengelolaan sumberdaya seperti mesin, karyawan, materi dan waktui. Secara sederhananya ERP dikembangkan untuk intergrasi semua departemen dan fungsinya dalam single system. ERP menjanjikan keuntungan dari peningkatan efisiensi dalam peningkatan kualitas dan produksi. Walaupun ERP merupakan system cross fungsi tetapi menerapkan system penyimpan tunggal berarti seluruh data perusahaan disimpan dalam satu databases.

Keuntungan ERP

Ada beberapa point yang dapat dijadikan keuntungan dalam pengembangan ERP, antara
lain :
1. Efisiensi Biaya
Perusahaan dapat melakukan efisiensi biaya karena adanya penghematan waktu untuk koordinasi dan sinkronisasi antar proses, peningkatan control dan system pendukung dalam pengambilan kebijakan dengan menggunakan analisis data skala enterprise.
2. Efektivitas Kinerja
Dengan adanya keterhubungan antar departemen akan mempermudah flow kerja atau koordinasinya dan kemudahan dalam reporting tanpa harus memanipulasi data lebih lanjut.
3. Informasi yang Terpercaya
Adanya konsistensi dan akurasi dalam pemasukan data, penggunaan databases tunggal dapat mengghindari redudansi data
4. Pengembangan Berkelanjutan
ERP dirancangan secara terstruktur dan dibagi berdasarkan beberapa modul, dengan demikian memudah dalam pengembangan system dan juga mempermudah dalam perawatan system secara umumnya.

Modul – modul dalam ERP
Secara garis besar modul ERP dibagi menjadi tiga bagian utama, yaitu :
1. Financial
Modul ini memiliki fungsi untuk mengukur keuangan dan keuntungan, controlling keuangan dan pendanaan , pengelolaan investasi dan perencanaannya.
2. Distribusi dan Manufaktur
Melakukan pengaturan logistic dari pembelian hingga distribusinya, penentuan strategi penjualan, manajemen material, perencanaan produksi hingga pengiriman produk, pemeliharaan sunber daya seperti gedung dan mesin, pengelolana kualitas
3. Human Resource
Melakukan manajemen sumber daya manusia yang efektif, pengelolaan data karyawan dan pengembangan kualitas karyawan

Tantangan dan Kekurangan ERP
Tidak semua pengembangan ERP memperoleh hasil yang baik, tidak jarang implemetasinya gagal karena beberapa factor seperti kurangnya perancangan dan system yang tidak mengakomodasi culture perusahaan tersebut. Faktor utama kegagalan tersebut antara lain :
1. Perancangan dan management yang buruk.
2. Adanya perubahan bisnis goal selama pengembangan system
3. Kurangnya pemahanan akan bisnis proses dan culture perusahaan

Untuk kekurangan, ERP relative merupakan produk yang mahal untuk diterapkan. Dan
juga dalam tahapan pengembangan selanjutnya akan sangat tergantunga dengan vendor sebagai penyedian dan juga kompleksitas system yang berakibat beberapa fasilitas merepotkan pengguna. Tetapi beberapa masalah tersebut dapt terselesaikan seperti ada ERP yang opensource seperti compiere, openbravo, adempiere dan webERP yang memudahkan perusahaan untuk mengembangkan sistemnya sendiri. Walaupun produk tersebut tidak setangguh dan se – kompleks produk berbayar seperti SAP AG, Oracle dan JDE.

Sunday, May 13, 2007

Membangun Koneksi Ke MySQL -Java

Pada tulisan ini, saya akan menjelaskan metode koneksi MySQL - Java.
1. Kita butukan driver jdbc untuk koneksi ke java, dapat di download di site MySQL.
Dalam hal ini saya gunakan mysql- connector 5 (beta)

2. buat folder sebagai tempat untuk meletakan drivernya. contohnya :C:\mysqldriver

3. Ekstrak driver yang telah di download ke folder yang dibuat pada langkah dua.
Misalkan hasilnya : C:\mysqldriver\mysqlconnector
Maka folder ini akan terdapat mysql-connector5.jar

4. Set atau CLASSPATH (melalui environtment variable) untuk driver
misalnya : C:\mysqldriver\mysql-connector\mysql-connector5.jar

5. Buat code koneksi. Contohnya :

import java.sql.*;
public class ConnectionMySQL {

public static void main(String [] args ){

//formatnya :
jdbc:mysql://localhost:port/
String url = "jdbc:mysql://localhost:3306/praktikum";
String user = "root";
String passwd = "apasaja";

try{
Class.forName("com.mysql.jdbc.Driver");

Connection c = DriverManager.getConnection(url,user,passwd);
System.out.println("sukses!!!");
}
catch(ClassNotFoundException e){
System.out.println(e.getMessage());
}
catch(SQLException e){
System.out.println(e.getMessage());
}
}
}


Jika koneksi berhasil maka outputnya : sukses!!!, selamat mencoba

Java - Inheritance

Apa itu inherintance :
Penurunan atribut dan method dari super class ke sub classnya.
Beberapa prosudure :
1. sub class merupakan extend dari superclass
2.protected,public dan default adalah akses identifier yang dapat diwariskan
3.word super, harus berada pada baris pertama dalam konstruktor, hanya digunakan dalam pemanggilan konstruktor
4.Overriding, nama method di superclass dan sub class sama. tapi berbeda implementasi.
5.Method final dan statis tidak dapat di override
Contoh :
//super class :employee
public class Employee{
protected String name;
protected int nip;

//konstruktor
Employee(){
System.out.println("Konstruksi Employee I");
}

//overloading konstruktor
Employee(String name, int nip){
this.name = name;
this.nip = nip;
System.out.println("Konstruksi Employee II");
}

//fungsi cetak
public void cetak(){
System.out.println(this.name+" "+this.nip);
}
}

//sub class I turunan dari employee
class Manager extends Employee{
private int departemen;

//konstruktornya manager
Manager(int departemen){
super.name = "Ardi Priasa"; //set nama employee Ardi Priasa
super.nip = 64104004; //set nip untuk employee yang bernama Ardi Priasa
this.departemen = departemen; //set departemen untuk manager
System.out.println("Konstruksi Manager");
}

//overriding, beda dengan fungsi cetak employee krn cetak departemen
public void cetak(){
super.cetak();
System.out.println(super.name+" "+super.nip+" "+this.departemen);
}
}

//Penerapan
public class Output{
public static void main(String [] args){
Manager mngr = new Manager(100);
mngr.cetak();
}
}
//Outputnya
Konstruksi Employee I
Konstruksi Manager
Ardi Priasa 64104004 100

Bagaimana jika kita ingin employeenya dikontruksi oleh konstruktor II?
Jawab :
Ubah konstruktor managernya menjadi
Manager(int departemen){
super("Ardi Priasa",64104004);
this.departemen = departemen;
System.out.println("Konstruksi Manager");
}



Friday, May 11, 2007

Perancangan Model Supply Chain Management Pada Bahan Pangan

I. Pendahuluan
Pada tahun 1945 negara Jepang menyatakan menyerah kepada pasukan sekutu setelah dua kota nya, yaitu Hirosima dan Nagasaki diluluhlantakan dengan bom atom. Pada saat yang bersamaan, Bangsa Indonesia mendeklarasikan kemerdekaannya. Jika kita tinjau berdasarkan sejarah maka, Indonesia dan Jepang memulai suatu peradaban nya dengan kondisi yang tidak jauh berbeda. Bahkan bangsa Jepang memulai kembali peradabannya dengan bermodalkan rasa ketidakberdaya dan kekalahan pada perang dunia ke II. Tapi, Kenapa bangsa Jepang kerap beberapa langkah lebih maju dibandingkan dengan Indonesia? Bangsa Jepang memiliki wilayah yang tidak jauh lebih besar jika dibandingkan dengan pulau Sumatera memiliki ketahan pangan yang jauh lebih baik dari Indonesia.

Apakah titik point perkembangan pertanian dan teknologi di Jepang? Inovasi, point inilah yang membedakan Jepang dengan beberapa Negara berkembang lainnya. Setiap hari ilmuan, penelitian dan engineers berpikir dan berupaya untuk menemukan dan mengembangkan produk, proses, management dan metode baru untuk meningkatkan kesejahteraan dan kualitas kehidupannya. Pada tulisan ini akan dijelaskan perkembangan dan model penerpan supply chain managemen pada pertanian Indonesia yang berfokus pada optimasi dan efektivitas biaya produksi.

II. Pengertian
Supply chain management adalah sebuah ‘proses payung’ di mana produk diciptakan dan disampaikan kepada konsumen dari sudut struktural. Sebuah supply chain (rantai suplai) merujuk kepada jaringan yang rumit dari hubungan di mana organisasi mempertahankan dengan rekan bisnisnya untuk mendapatkan sumber produksi dalam menyampaikan kepada konsumen.(Kalakota, 2000, h197). Artinya supply chain managemen merupakan koordinasi antar pihak – pihak yang terkait dalam suatu produksi dari sector hilir sampai dengan hulu dan consumer. Dalam praktiknya, produksi produk pertanian akan melibatkan beberapa proses dari mengumpulkan bahan baku, penyimpanan atau penggudangan dan pemrosesan pasca produksi dan penjualan dan hal ini pendistribusian bahan pangan. Proses tersebut melibatkan beberapa pihak dengan pada bidang cakupan yang berbeda. Contohnya, pada proses pendistribusian ataupun pengumpulan dan penggudangan bahan baku membutuhan transportasi. Proses pasca produksi dan penggudangan yang harus memperhatikan lokasi dan teknologi yang dipakai. Keterkaitan berbagai pihak dalam aspek yang berbeda ini membutuhkan suatu regulasi, koordinasi dan perencanaan yang memaksimalkan keuntungan.

a. Suplier ( petani )
Suplier berperan sebagai sumber penyedia bahan pangan, tinjauan kritisnya adalah supplier berada pada beberapa sentral produksi dan mengelompok menjadi beberapa kelompok besar dalam satu kesatuan manajemen. Dengan hal ini akan mempermudah dalam trasportasi untuk
penyimpannya

b. Penyimpanan ( Gudang )
Bahan baku pangan dari petani akan disimpan pada beberapa gudang yang guna mengatur stabilitas dan ketersedian bahan pangan. Tinjauan kritisnya gudang penyimpanan memiliki teknologi yang cukup baik untuk menghindari kerusakan seperti jamur dan membusuknya bahan pangan. Lokasi gudang setidaknya berdekatan atau mudah dijangkau oleh
perusahan pangan.

c. Industri Pangan
Dengan kemudahan akses dan ketersedian bahan pangan maka diharpakan industri pangan dapat memaksimalkan produksinya dari aspek kualitas dan juga kuantitas dan dapat melakukan distribusi produk secara efektif.

d. Konsumen akhir
Konsumen memegang peranan penting dalam industri pangan, perilaku dan tingkat komsumsinya akan menetukan perkembangan industri pangan. Hal penting adalah memperlajari perilaku konsumen, menjamin ketersedian pangan dan menjaga hubung dengan konsumen dalam kepuasan penggunaan produk.

e. Transportasi
Kita dapat mengoptimalkan cost supply dengan meminimalkan biaya transportasi. Caranya dengan mengatur lokasi gudang dan industri, mengelompokan supplier dan merancang pola distribusi yang efektif ke konsumen. Kualitas transportasi harus diperhatikan untk menghindari
kerusakan pangan. Karena kerusakan bahan pangan akan menurunkan harga dan kualitas pangan secara keseluruhan

IV. Penutup
Perancangan rantai supply yang berfokus pada transportsi dan penyimpanan bahan pangan merupakan salah satu bagian dari keseluruhan system yang dpat memaksimalkan kualitas dan
keuntungandari industri bahan pangan, Berbagai teknologi di bidang informasi dan telekomunikasi dapat diterpakan untuk mendukung supply chain management bahan pangan.