RSS

Senin, 28 Januari 2013

Business Inteligence : Data Mining



         Data Mining adalah serangkaian proses untuk menggali nilai tambah dari suatu kumpulan data berupa pengetahuan yang selama ini tidak diketahui secara manual. Patut diingat bahwa kata mining sendiri berarti usaha untuk mendapatkan sedikit barang berharga dari sejumlah besar material dasar. Karena itu Data Mining sebenarnya memiliki akar yang panjang dari bidang ilmu seperti kecerdasan buatan (artificial intelligent), machine learning, statistik dan database. Data mining adalah proses menerapkan metode ini untuk data dengan maksud untuk mengungkap pola-pola tersembunyi. Dengan arti lain Data mining adalah proses untuk penggalian pola-pola dari data. Data mining menjadi alat yang semakin penting untuk mengubah data tersebut menjadi informasi. Hal ini sering digunakan dalam berbagai praktek profil, seperti pemasaran, pengawasan, penipuan deteksi dan penemuan ilmiah. Telah digunakan selama bertahun-tahun oleh bisnis, ilmuwan dan pemerintah untuk menyaring volume data seperti catatan perjalanan penumpang penerbangan, data sensus dan supermarket scanner data untuk menghasilkan laporan riset pasar.
      Alasan utama untuk menggunakan data mining adalah untuk membantu dalam analisis koleksi pengamatan perilaku. Data tersebut rentan terhadap collinearity karena diketahui keterkaitan. Fakta yang tak terelakkan data mining adalah bahwa subset/set data yang dianalisis mungkin tidak mewakili seluruh domain, dan karenanya tidak boleh berisi contoh-contoh hubungan kritis tertentu dan perilaku yang ada di bagian lain dari domain . Untuk mengatasi masalah semacam ini, analisis dapat ditambah menggunakan berbasis percobaan dan pendekatan lain, seperti Choice Modelling untuk data yang dihasilkan manusia. Dalam situasi ini, yang melekat dapat berupa korelasi dikontrol untuk, atau dihapus sama sekali, selama konstruksi desain eksperimental. Beberapa teknik yang sering disebut-sebut dalam literatur Data Mining dalam penerapannya antara lain: clustering, classification, association rule mining, neural network, genetic algorithm dan lain-lain. Yang membedakan persepsi terhadap Data Mining adalah perkembangan teknik-teknik Data Mining untuk aplikasi pada database skala besar. Sebelum populernya Data Mining, teknik-teknik tersebut hanya dapat dipakai untuk data skala kecil saja.
fungsi data Mining :
  1. Fungsi Deskriptif : fungsi data Mining yang memberikan deskriptif /gambaran dari data yang tersedian. contoh : produk yang sering dibeli.
  2. Fungsi Prediktif : fungsi data Mining yang memberikan prediksi/target pencapaian dari informasi sumber data. contoh : prospek kerja presiden untuk 3 tahun kedepan.
KELEBIHAN
  • Kemampuan dalam mengolah data dalam jumlah yang besar
  • Pencarian data secara otomatis
KEKURANGAN
  • Kendala database 
  • Tidak bisa melakukan analisa sendiri.

Business Inteligence : OLAP, MOLAP, ROLAP, dan HOLAP

Deskripsi Data OLAP
         im Online analvtical Processing atau disingkat OLAP adalah metoda pendekatan untuk menyajikan jawaban dari permintaan proses analisis yang bersifat dimensional secara cepat yaitu desain dari aplikasi dan teknolohi yang dapat mengoleksi, menyimpan, memanipulasi suatu data multidimensi untuk tujuan analis. OLAP adalah bagian dari kategoti yang lebih global dari pemikiran bisnis, yang juga merangkum hubungan antara pelaporan dan penggalian data. Aplikasi khusus dari OLAP adalah pelaporan bisnis untuk penjualan, pemasaran, manajemen pelaporan, manajemen proses bisnis, penganggaran dan peramalan. laporan keuangan dan bidang-bidang yang serupa. istilah OLAP merupakan perampingan dari istilah lama database OLTAP [ONLINE TRANSACTION PROCESSING].
karakteristik dari OLAP yaitu :
  • Mengijinkan user melihat data dari sudut pandang logical dan multidimensional pada data warehouse
  • Memfasilitasi query yang komplek dan analisa bagi user.
  • Mengijinkan user melakukan Drill down untuk menampilkan data pada level yang lebih detil atau roll up untuk agregasi dari satu dimensi atau beberapa dimensi.
  • Menyediakan proses kalkulasi dan perbandingan data
  • menampilkan hasil dalam bentuk number termasuk dalam tabel dan grafik.



Deskripsi Data MOLAP 

       Multidimensional online analitycal processing (MOLAP) menyimpan data dan aggregasi pada struktur data multidimensi. Struktur MOLAP ini tidak tersimpan pada datawarehouse tapi tersimpan pada OLAP server. Sehingga performa query yang dihasilkan olehnya sangat bagus. Model penyimpanan ini sesuai untuk database dengan ukuran kecil sampai sedang.


Image



Deskripsi Data ROLAP

    ROLAP (Relational online analitycal processing ) menggunakan tabel pada database relasional datawarehouse untuk menyimpan detil data dan aggregasi kubus. Berbeda dengan MOLAP, ROLAP tidak menyimpan salinan database, ia mengakses langsung pada tabel fact ketika membutuhkan jawaban sebuah query. Sehingga query pada ROLAP mempunyai response time yang lebih lambat dibandingkan ROLAP maupun HOLAP. Karakteristik model ini digunakan untuk menyimpan data yang besar dan jarang dilakukannya proses query. Misalkan, data histori dalam jumlah besar dari beberapa tahun yang sebelumnya.


Image


Deskripsi Data HOLAP
        Gabungan model MOLAP dan ROLAP dapat kita peoleh dari HOLAP (Hibrid online analitycal processing) Detil data tersmpan pada tabel relasional tapi aggregasi data disimpan dalam format multidimensi. Misalkan proses drill down dilakukan pada sebuah tabel fakta, maka retrive data akan dilakukan dari tabel database relasional sehingga query tidak secepat MOLAP. Kubus HOLAP lebih kecil daripada kubus MOLAP tapi response time query masih lebih cepat jika dibandingkan dengan ROLAP. Model penyimpanan HOLAP ini biasanya sesuai untuk kubus yang membutuhkan performa query yang bagus dengan jumlah data yang besar


Image

Business Inteligence : Data Mart dan Data Warehouse

            Data mart adalah subset dari menyimpan data organisasi, biasanya berorientasi pada tujuan tertentu atau data subjek utama, yang dapat didistribusikan untuk mendukung kebutuhan bisnis. Sementara itu data warehouse adalah database yang berisi data dari beberapa system operasional yang terintegrasi dan terstruktur sehingga dapat digunakan untuk mendukung analisa dan proses pengambilan keputusan dalam bisnis.
       Istilah Business Intelligence pertama kali didengungkan pada tahun 1989 oleh Howard Dresner. Dia menggambarkan istilah tersebut sebagai seperangkat konsep dan metode yang berguna untuk meningkatkan pembuatan keputusan dengan bantuan sistem yang berbasiskan fakta atau realita yang terjadi.Menurut tim studi Busines Intelligence pada Departemen Keuangan Indonesia menyatakan,Business Intelligence (BI) merupakan sistem dan aplikasi yang berfungsi untuk mengubah data-data dalam suatu perusahaan atau organisasi (data operasional, data transaksional, atau data lainnya) ke dalam bentuk pengetahuan. Aplikasi ini melakukan analisis data-data di masa lampau, menganalisisnya dan kemudian menggunakan pengetahuan tersebut untuk mendukung keputusan dan perencanaan organisasi(Indonesia, 2007).Dari definisi itu, dapat dikatakan bahwa Business Intelligence merupakan suatu sistem pendukung keputusan yang berdasarkan pada data-data fakta kinerja perusahaan. Business Intelligence berguna untuk mengefisienkan finansial, manusia, material serta beberapa sumber daya lainya.
          Business Intelligence Software (BI) secara singkat juga dikenal sebagai dashboard. Ini karena secara umum BI berfungsi seperti halnya dashboard pada kendaraan. BI memberikan metrik (ukuran-ukuran) yang menentukan performa kendaraan (organisasi). BI juga memberikan informasi kondisi internal, seperti halnya suhu pada kendaraan. Dan BI juga memberikan sinyal-sinyal pada pengemudi bila terjadi kesalahan pada kendaraan, seperti bila bensin akan habis pada kendaraan. Semuanya berguna bagi pengemudi agar mampu mengendalikan kendaraannya dengan lebih baik dan mampu membuat keputusan yang tepat dengan lebih cepat. Pada prakteknya, BI akan berfungsi sebagai analis, penghitung scorecard,sekaligus memberikan rekomendasi pada user terhadap tindakan yang sebaiknya diambil. Dengan menjalankan fungsi dashboard, user BI akan mengenali potensi ketidakberesan pada perusahaan sekaligus dengan penyebabnya sebelum hal tersebut berkembang menjadi masalah yang besar. BI akan berfungsi memberikan advance alarm, memberikan informasi trend dan melakukan benchmark. BI berfungsi untuk membantu dalam membuat keputusan perusahaan atau bisnis secara cepat dan akurat.
KEUNTUNG :
Ada 7 keunggulan utama BI yang akan memberikan value bagi perusahaan adalah sebagai berikut:
1. Konsolidasi informasi Dengan BI dijalankan di dalam perusahaan, data akan diolah dalam satu platform dan disebarkan dalam bentuk informasi yang berguna (meaningful) ke seluruh organisasi. Dengan ketiadaan information assymmetry, kolaborasi dan konsolidasi di dalam perusahaan dapat diperkuat. Dengan konsolidasi, maka dapat dimungkinkan pembuatan cross-functional dan corporate-wide reports. Meskipun harus diakui, benefit ini juga mampu disediakan oleh software ERP. 
2. In-depth reporting Software Business Process Management (BPM) memang mampu memberikan report dan analisis, namun cukup sederhana dan hanya bertolak pada kondisi intern. Sedangkan BI mampu menyediakan informasi untuk isu-isu bisnis yang lebih besar pada level strategis.
3. Customized Graphic User Interface (GUI) Beberapa ERP memang berusaha membuat tampilan GUI yang user friendly, namun BI melangkah lebih jauh dengan menyediakan fasilitas kustomisasi GUI. Sehingga tampilan GUI jauh dari kesan teknis dan memberikan view of business sesuai dengan keinginan masing-masing user.
4. Sedikit masalah teknis Ini karena pertama sifatnya yang user friendly meminimasi kemungkinan operating error dari user, dan kedua BI hanya merupakan software pada layer teratas (information processing) dan bukan business process management.
5. Biaya pengadaan rendah Karena BI hanya software yang bekerja pada layer teratas dari pengolahan informasi, harga software-nya tidak semahal ERP. Biaya pengadaannya pun menjadi lebih murah dibandingkan ERP. Apalagi saat ini banyak ditunjang juga oleh produk BI yang open source.
6. Flexible databank BI membuka kemungkinan untuk berkolaborasi dengan ERP sebagai pemasok databank yang akan diolah menjadi reports dan scorecard, namun BI juga dapat bekerja dari databank yang dibuat terpisah. BI pun menjadi terbuka untuk digunakan oleh analis profesional dan peneliti, yang data olahannya bersifat sekunder.
7. Responsiveness Sifat BI lain yang tidak dimiliki oleh ERP adalah dalam hal kecepatan (responsiveness). Misalnya pada penghitungan service level sebagai salah satu Key Performance Indicator (KPI). Fungsi BI akan memberikan peringatan kepada user sebelum batas bawah dalam service level (lower limit) terlampaui. Akibatnya masalah bisa ditangani sebelum benar-benar muncul ke permukaan. Salah satu contoh padResponsivenessa industri kesehatan, penggunaan BI berjasa mencegah penyebaran suatu penyakit/wabah secara luas (outbreak). Nama-nama vendor BI memang masih asing di Indonesia.


Rabu, 29 Juni 2011

TRIGGER , VIEW, STORED PROSEDUR

TRIGGER

Menurut Wikipedia, trigger dalam database diartikan sebagai “procedural code that is automatically executed in response to certain events on a particular table or view in a database“. Singkatnya,trigger merupakan sekumpulan perintah atau sintaks yang akan secara otomatis dijalankan jika terjadi operasi tertentu dalam tabel atau view. Trigger digunakan untuk memanggil satu atau beberapa perintah SQL secara otomatis sebelum atau sesudah terjadi proses INSERT, UPDATE atau DELETE dari suatu tabel. Sebagai contoh misalnya kita ingin menyimpan id pelanggan secara otomatis ke tabel ‘log’sebelum menghapus data di tabel pelanggan.
Di MySQL, Triggers mulai dikenal di versi MySQL 5.0, dan di versi saat ini (5.1.4) fungsionalitasnya sudah bertambah. Pada versi selanjutnya pihak pengembang MySQL berjanji akan lebih menguatkan (menambah) fitur trigger ini.
Trigger sering digunakan, antara lain untuk:
·         Melakukan update data otomatis jika terjadi perubahan. Contohnya adalah dalam sistem penjualan, jika dientri barang baru maka stock akan bertambah secara otomatis.
·         Trigger dapat digunakan untuk mengimplementasikan suatu sistem log. Setiap terjadi perubahan, secara otomatis akan menyimpan ke tabel log.
·         Trigger dapat digunakan untuk melakukan validasi dan verifikasi data sebelum data tersebut disimpan.

Berikut ini bentuk umum perintah untuk membuat triggers:

CREATE TRIGGER name
[BEFORE|AFTER] [INSERT|UPDATE|DELETE]
ON tablename
FOR EACH ROW statement
Keterangan dari bentuk umum perintah membuat trigger:
·         name, Nama trigger mengikuti peraturan penamaan variabel / identifier dalam MySQL
·         [BEFORE | AFTER] digunakan untuk menentukan kapan proses secara otomatis akan dieksekusi, sebelum atau sesudah proses.
·         [INSERT | UPDATE | DELETE] digunakan untuk menentukan event (proses) yang dijadikan trigger (pemicu) untuk menjalankan perintah-perintah di dalam triggers.
·         tablename, merupakan nama tabel dimana trigger berada.
·         statement, merupakan sekumpulan perintah atau query yang akan secara otomatis dijalankan jika event / proses yang didefinisikan sebelumnya aktif.
DELIMITER $$

CREATE TRIGGER penjualan.before_insert BEFORE INSERT ON penjualan.pelanggan
FOR EACH ROW BEGIN
INSERT INTO `log` (description, `datetime`, user_id)
VALUES (CONCAT('Insert data ke tabel pelanggan id_plg = ', NEW.id_pelanggan), now(), user());
END;
$$ 

DELIMITER ;
Untuk menghapus trigger, dapat menggunakan perintah DROP TRIGGER dengan diikuti dengan nama tabel dan nama triggernya. Berikut ini bentuk umum dan contoh perintah untuk menghapus trigger.
Bentuk umum dan contoh menghapus trigger:
DROP TRIGGER tablename.triggername;
Contoh menghapus trigger bernama ‘before_insert’ yang ada di tabel pelanggan.
DROP TRIGGER penjualan.before_insert;








VIEW

SQL View pada MySQL digunakan untuk membuat tampilan sebuah tabel. Di dalamnya memungkinkan kita untuk bisa membuat, mengupdate dan menghapus tampilan tabel tersebut. Dan tabel yang ditampilkan merupakan tabel hasil dari perintah-perintah MySQL.
Didalamnya akan terlihat adanya baris dan kolom seperti halnya tabel biasa dari sebuah database. Dan tabel yang ditampilkan hanya satu tabel sekalipun merupakan hasil perintah join pada MySQL.

Untuk membuat View kita menggunakan perintah CREATE VIEW dengan bentuk sbb:
CREATE VIEW namaview AS
SELECT namakolom
FROM namatabel
WHERE persyaratan
View yang dihasilkan merupakan data yang terupdate karena setiap kita menjalakan kueri CREATE VIEW tersebut, maka database akan mengcreate data terbaru. Contoh:
CREATE VIEW Mahasiswa Jawa Barat AS
SELECT ID,Nama
FROM Mahasiswa
WHERE Propinsi=Jawa Barat
Hal ini akan menghasilkan tampilan data ID dan nama mahasiswa yang berasal dari propinsi Jawa Barat.
Sedangkan untuk menghapus sebuah view kita menggunakan perintah DROP pada kueri MySQL. Perintahnya adalah sbb:
DROP VIEW Mahasiswa Jawa Barat
Maka view tersebut akan terhapus.









Stored Procedure
Stored Procedure adalah kumpulan perintah SQL yang diberi nama dan disimpan di server. Stored Procedure biasanya berisi perintah-perintah umum yang berhubungan dengan database pada server, dan menghasilkan sekumpulan record. Stored Procedure ditulis dalam bentuk sebuah script.
Stored Procedure akan meningkatkan performasi database, meningkatkan sekuritas database. Performasi ditingkatkan melalui pemakaian tempat penyimpanan lokal (lokal terhadap database), program yang telah terkompilasi terlebih dahulu, dan pemakaian cache. Setiap kali sebuah perintah atau Stored Procedure dikirimkan ke server untuk diproses, server harus menentukan apakah dikirimkan ke server untuk diproses, server harus menentukan apakah pengirim mempunyai hak untuk menjalankan perintah tersebut dan apakah perintah tersebut benar, Setelah hak dan perintah diperiksa dan benar, SQL Server akan membuat rencana eksekusi.
Tabel Sales Order
Sebagai contoh kita akan membuat tabel sales order dan diisi dengan sebuah data:

CREATE TABLE sales_order(
customer_name VARCHAR( 50 ) NOT NULL ,
total_price DECIMAL( 9, 0 ) NOT NULL DEFAULT '0',
total_hpp DECIMAL( 9, 0 ) NOT NULL DEFAULT '0',
profit DECIMAL( 9, 0 ) NOT NULL DEFAULT '0',
so_id INT NOT NULL AUTO_INCREMENT ,
PRIMARY KEY (so_id)
) ENGINE = InnoDB;
INSERT INTO sales_order (customer_name,so_id) VALUES ('Serba Prima', 1);
Tabel Sales Item
Kemudian kita akan membuat tabel sales_item diisi dengan 2 data:
CREATE TABLE sales_item(
so_id INT NOT NULL ,
item_name VARCHAR( 100 ) NOT NULL ,
item_price DECIMAL( 8, 0 ) NOT NULL ,
hpp DECIMAL( 8, 0 ) NOT NULL ,
item_id INT NOT NULL AUTO_INCREMENT ,
PRIMARY KEY (item_id)
) ENGINE = InnoDB;

INSERT INTO sales_item(so_id,item_name,item_price,hpp) VALUES (1, 'Keyboard', 100000,85000);
INSERT INTO sales_item(so_id,item_name,item_price,hpp) VALUES (1, 'Mouse', 50000,40000);

Store Procedure Resume Sales Order
Kemudian Store Procedurenya
CREATE PROCEDURE resume_sales_order (IN p_so_id INT)
BEGIN
    DECLARE v_total_price DECIMAL;
    DECLARE v_total_hpp DECIMAL;
    SELECT SUM(item_price),SUM(hpp) INTO v_total_price,v_total_hpp FROM sales_item WHERE so_id=p_so_id;
    UPDATE sales_order SET total_price=v_total_price,total_hpp=v_total_hpp,profit=v_total_price-v_total_hpp WHERE so_id=p_so_id;
END
//
Menjalankan Store Procedure
Untuk menjalankan store procedurnya dengan menjalankan 
CALL resume_sales_order(1) 

Kamis, 23 Juni 2011

Membuat Syntax MySQL Toko Buku dengan Microsoft SQL Server

Microsoft SQL Server adalah sebuah sistem manajemen basis data relasional (RDBMS) produk Microsoft. Bahasa kueri utamanya adalah Transact-SQL yang merupakan implementasi dari SQL standar ANSI/ISO yang digunakan oleh Microsoft dan Sybase.

Cara Kita membuat database dan tabel - tabel nya terlebih dahulu dan juga relasi nya juga., jangan lupa isi datanya setelah kita membuat databasenya. Gambar nya sebagai berikut :


Beberapa contoh - contoh syntax MySQL query :


 Query :
 SELECT     MAX(kd_barang) AS Kode_Barang, MAX(kd_tipe_bacaan) AS Tipe_Bacaan, MAX(jumlah_stok) AS Stok_Terbanyak
FROM         dbo.[1103103_barang]


 Query :
SELECT     kd_penerbit, SUM(total_bersih_pembelian) AS TOTAL_Belanja
FROM         dbo.[1103103_pembelian]
GROUP BY kd_penerbit


Query :
SELECT     kd_kategori, kd_tipe_bacaan, jumlah_stok
FROM         dbo.[1103103_barang]
GROUP BY jumlah_stok, kd_kategori, kd_tipe_bacaan


Query :
SELECT     dbo.[1103103_penjualan_detil].no_penjualan, dbo.[1103103_penjualan_detil].kd_barang, SUM(dbo.[1103103_penjualan].total_bersih_penjualan)
                      AS Total_Penjualan
FROM         dbo.[1103103_penjualan_detil] INNER JOIN
                      dbo.[1103103_penjualan] ON dbo.[1103103_penjualan_detil].no_penjualan = dbo.[1103103_penjualan].no_penjualan
GROUP BY dbo.[1103103_penjualan_detil].kd_barang, dbo.[1103103_penjualan_detil].no_penjualan