Senin, 16 September 2013

OLTP, OLAP dan Peramalan #DW_Part_2

Kalo kita bicara tentang database, terlebih data warehouse maka juga akan membicarakan tentang apa itu yang dimasksud dengan OLTP dan OLAP.


Online Transaction Processing atau biasa disingkat dengan OLTP adalah sistem yang berorientasi proses yang memproses suatu transaksi secara langsung melalui komputer yang terhubung dalam jaringan (Nandang, 2004). Dimana OLTP suatu proses yang berfungsi sebagai operasi harian dan datanya bisa di insert, update, atau delete. Semisal seperti kasir pada sebuah super market yang menggunakan mesin dalam proses transaksinya.
Sedangkan OLAP (Online Analytical Processing) yang merupakan bagian dari Business Intelligencey yang berguna untuk menyediakan laporan analisis, seperti penjualan, marketing, BPM (Business Process Management), budgeting, forecasting, keuangan dan sebagainya. Model multidimensi, yang mengijinkan query analisis yang kompleks dengan kecepatan eksekusi yang tinggi (PC Media, 2007). Data pada OLAP disajikan biasanya merupakan suatu fungsi agregasi seperti summary, max, min average dan lain-lain. Oleh karena itu OLAP fungsinya lebih diutamakan dalam mendukung pengambilan keputusan dalam data warehouse sehingga data-data di OLAP bukanlah data yang bisa di-edit, di-ganti atau di-hapus seperti pada OLTP. Dan OLAP biasanya digunakan oleh manager dalam mencari suatu keputusan.
Tabel berikut menyajikan perbedaan utama antara OLTP dan desain sistem OLAP :
OLTP System Online Transaction Processing (Operational System) OLAP System Online Analytical Processing (Data Warehouse)
Source of data Sumber datanya adalah asli Data berasal dari berbagai OLTP Database
Purpose of data Digunakan untuk mengontrol dan menjalankan tugas dari bisnis Untuk membantu perencanaan, pemecahan masalah, dan mendukung keputusan
What the data Menunjukkan gambaran dari proses bisnis yang sedang berlangsung Tampilan multidimensi dari berbagai jenis kegiatan bisnis
Inserts and Updates Memperpendek dan mempercepat insert dan memperbarui data yang dilakukan oleh pengguna akhir Secara berkala running lebih lama tuntuk me-refresh data
Queries Sangat cepat Query sering rumit, sehingga menyebabkan agregasi
Processing Speed Relatif kecil jika data historis diarsipkan Tergantung pada jumlah data yang terlibat, merefresh sekumpulan data dan query yang rumit dapat menyita waktu, kecepatan query dapat ditingkatkan dengan menciptakan indeks
Space Requirements Lebih dinormalisasikan dengan banyak tabel Lebih besar karena adanya struktur agregasi dan data history; membutuhkan indeks
Database Design Data operasional sangat penting untuk menjalankan bisanis, kehilangan data Biasanya dinormalisasikan dengan sedikit tabel; menggunakan bintang
Backup and Recovery Mungkin memerluan kerugian keuangan yang signifikan dan tanggung jawab Backup secara teratur, beberapa lingkungan tertentu mungkin mempertimbangkan reload data OLTP sebagai metode pemulihan

Dalam mencari sebuah keputusan pasti ada suatu metode untuk melakukan pengambilan keputusan tersebut untuk kedepannya yang baik, contohnya adalah metode peramalan.  Ada dua metode peramalan yang biasa dipakai, metode forecasting dan metode backcasting.

 
Banyak perusahaan melakukan sebuah metode forecasting atau biasa disebut dengan peramalan. Teknik peramalan ini digunakan untuk penentuan jadwal produksi dimasa depan. Beberapa perusahaan banyak menggunakan metode forecasting ini, dikarenakan ketidakpastian dari masa depan yang selalu berubah-ubah. Karena metode forecasting ini bekerja dengan cara melihat sebuah history dalam perusahaan, jadi metode forecasting ini adalah metode yang membuka masalah atau problem dalam perusahaan di masa lalunya demi perbaikan perusahaan di masa depannya.
Sedangkan, metode backcasting adalah kebalikan dari metode forecasting, dimana metode back casting ini dimulai dari prediksi masalah masa yang akan datang untuk dibuat sebuah keputusan di masa saat ini.


Sumber :
http://datawarehouse4u.info/OLTP-vs-OLAP.html
http://fe.uajy.net/fs/as/?page_id=7
http://adiwira058.wordpress.com/2008/12/09/perbedaan-oltp-dengan-olap/
http://en.wikipedia.org/wiki/Backcasting

Minggu, 08 September 2013

Data Warehouse #DW_Part_1


Data warehouse atau disebut dengan gudang data adalah database yang digunakan untuk pelaporan dan analisa data. Data warehouse merupakan repositori pusat data yang dibuat dengan mengintegrasikan data, dari satu atau lebih dari sumber yang berbeda. saat ini data warehouse digunakan untuk menyimpan sata historis dan untuk membuat laporan terupdate sebagai laporan manajemen seperti perbandingan tahunan.

Definisi dari data warehouse berfokus pada penyimpanan data. Sumber utama data dibersihkan, diubah, katalog dan dibuat tersedia untuk digunakan oleh para manajer dan profesional bisnis lainnya untuk penambangan data, pengolahan analisis online, riset pasar dan mendukung keputusan (Marakas & O'Brien 2009).



Data warehouse dapat dibagi lagi menjadi data mart untuk meningkatkan inerja dan kemudahan penggunaan di area tertentu. Dimana data mart merupakan gudang data kecil yang difokuskan pada wilayah tertentu yang menarik. atau dengan cara lain, pada sebuah oraganisasi dapat membuat sebuah satu atau lebih data mart sebagai langkah pertama menuju sebuah gudang data perusahaan yang lebih besar dan lebih kompleks.


Karakteristik data warehouse menurut Inmon, yaitu :
a. Subject Oriented (Berorientasi subject)
Data ware house berorientasi subject artinya data warehouse didesain  untuk menganalisa data berdasarkan subject-subject tertentu dalam organisasi, bukan pada proses atau fungsi aplikasi tertentu. Data warehouse diorganisasikan disekitar subject-subject utama dari perusahaan(customer, product, dan sales). Hal ini dikarenakan kebutuhan dari data warehouse untuk menyimpan data-data yang bersifat sebagai penunjang suatu keputusan, dari pada aplikasi yang berorientasi terhadap data. Jadi dengan kata lain, data yang disimpan adalah berorientasi kepada subjek bukan terhadap proses. Secara garis besar perbedaan antara data operasional dan data warehouse dapa di lihat pada tabel berikut ini.

Data Operasiaonal dan Data Warehouse
Data Operasional Data Warehouse
Dirancang berorientasi hanya pasa aplikasi dan fungsi tertentu Dirancang berdasarkan pada subjek-subjek tertentu(utama)
Fokusnya pada desain database dan proses fokusnya pada pemodelan data dan desain data
Berisi rincian atau detail data Berisi data-data history yang akan dipakai dalam proses analisis
Relasi antar table berdasarkan aturan terkini (selalu mengikuti aturan terbaru) Banyak aturan bisnis dapat tersaji antara tabel-tabel

b. Integrated (Terintegrasi)
Data warehouse dapat menyimpan data-data yang berasal dari sumber-sumber yang terpisah kedalam suatu format yang konsisten dan saling terintegritasi satu dengan lainnya. Dengan demikian data tidak bisa dipecah-pecah karena data yang ada merupakan suatu kesatuan yang enunjang keseluruan konsep data warehouse sendiri. Syarat integrasi sumber data dapat dipenuhi dengan berbagai cara seperti konsistensi dalam penanaman variabel, konsisten dalam ukuran variabel, konsisten dalam struktur pengkodean dan konsisten dalam atribut fisik dari data.

c. Time-variant (REntang waktu)
Seluruh data pada data warehouse dapat dikatakan akurat atau valid pada rentang waktu tertentu. Untuk melihat interval waktu yang digunakan dalam mengukur keakuratan suatu data warehouse, kita dapat menggunakan cara antara lain :
  • Pertama menyajikan data warehouse pada rentan waktu tertentu, misalkan antara 5 sampai 10 tahun kedepan.
  • Kedua dengan menggunakan variasi/perbedaan waktu yang disajikan dalam data warehouse baik implicit secara explicit dengan unsur waktu dalam hari, minggu, bulan, dsb. Secara implicit misalkan pada saat data tersebut diduplikasi pada setiap akhir bulan, atau per tiga bulan. Unsur waktu akan tetap ada secara implisit didalam data tersebut.
  • Cara yang ketiga, variasi waktu yang disajikan data warehouse melalui serangkaian snapshot yang panjang. Snapshot merupakan tempilan dari sebagian data tertentu sesuaikeinginan pemakai dari keseluaruhan data yang ada bersifat read-only.
 d. Non-Volatile
Maksut dari non-volatile adalah data pada data warehouse tidak di update secara real time tetapi direfresh dari sistem operasional secara reguler. Data yang baru selalu ditambahkan sebagai suplemen bagi database itu sendiri dari pada sebagai sebuah perubahan, Database tersebut secara kontinyu(berkesinambungan) menyerap data baru ini, kemudian secara incremental(berkembang secara teratur) disatukan dengan data sebelumnya. Berbeda dengan database operasional yang dapat melakukan maintenance terhadap data yang mengubah isi dari database sedangkan pada data warehouse hanya ada dua kegiatan memanipulasi data yaitu loading data (mengambil data) dan akses data (mengakses fata warehouse seperti melakukan query atau menampilkan laporan yang dibutuhkan, tidak ada kegiatan uploading data).


Arsitektur Data Warehouse 
Arsitektur yang dimaksut adalah bagaimana data warehouse dibangun, arsitektur tidak ada yang benar dan salah tetapi suatu arsitektur dibangun tergantung situasi dan kondisi. arsitektur data warehouse akan berpengaruh pada penggunaan dan pemeliharaan.
Lapisan-lapisan arsitektur data warehouse :

1. Operasional database layer / lapisan basis data operasional
  • Sumber data(source) untuk data warehose
  • Data lengkap, data hari ke hari
  • Mempunyai nilai saat ini (data berarti)
  • Tingkat kemungkinan sata besar.
2. Data Access Layer / Lapisan akses data
  • Tools untuk mengekstrak, mengubah dan mengambil(load) data.
  • Meliputi karakteristik data warehouse.
 3. Metadata Layer / Lapisan Metadata
  • File data tersimpan / Direktori
  • Lebih detil dari direktori data sistem, maksudnya lebih mendalam dan file data yang tersedia sebelumnya.
  • Ada Petunjuk untuk keseluruhan warehouse dan ada petunjuk data yang dapat diaksesreport khss ntk di analisis.
4. Informational access layer (lapisan akses informasi)
  • Akses data dan juga untuk laporan dan analisis.
  • Tools Business Intelligence masuk ke tahap ini. 

Keuntungan Data Warehouse
  • Data warehouse menyediakan model data yang bervariasi dan tidak tergantung pada satu sumber data saja. Hail ini memudahkan pimpinan perusahaan/manager membuat laporan dan menganalisa.
  • Saat membuka data yang ada dalam data warehouse, data yang tidak konsisten akan diketahui dan secepatnya dirubah. Mendukung proses pembuatan laporan, agar keputusan yang diambil adalah keputusan yang benar sesuai data.
  • Keamanan informasi didalam data warehouse terjamin, karena data warehouse terpisah dengan database operasional.
  • Data warehouse menyediakan berbagai macam bentuk laporan yang terbaru.
Kerugian Data Warehouse
  • Data warehouse tidak cocok untuk data yang tidak terstruktur.
  • Data perlu di extract, diubah, dan di load ke data warehouse, sehingga membutuhkan waktu (delay) kerja untuk data warehouse yang belum terbentuk.
  • Semakin lama masa hidup bisnis yang menggunakan data warehouse, maka semakin banyak biaya yang dikeluarkan oleh perusahaan untuk memodifikasi teknilogi data warehouse tidak berkualitas, sehinggga laporan tidak optimal.


sumber :
http://blog.ub.ac.id/benzeven/2010/11/02/dataware-house/
http://en.wikipedia.org/wiki/Data_warehouse
http://informatika.web.id/category/data-warehouse

Selasa, 12 Maret 2013

DBMS (Database Management System)


Database Management System atau yang disingkat DBMS merupakan software yang menghandel seluruh akses pada database untuk melayani kebutuhan user. (Menurut : C.J. Date)

Fungsi-fungsi dari DBMS :
1. Definisi data dan hubungan
2. Manipulasi data
3. Keamanan dan integritas data 
4. Security dan integritas data
5. Recovery/perbaikan dan concurrency data
6. Data dictionary
7. Unjuk kerja / performance

Macam-macam Database Management System   :
1. MySQL
2. Oracle
3. Microsoft SQL Server
4. Firebird
5. Microsoft Access


Kelebihan dan kekurangan disetiap Database Management System


1. MySQL 
MySQL merupakan sebuah perangkat lunak system manajemen basis data SQL (bahasa inggris : data management system) atau DNMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. 
Kelebihan MySQL, antara lain :Merupakan DBMS yang gratis / open source berlisensi GPL (generic public license).
  1. Cocok untuk perusahaan dengan skala yang kecil
  2. Tidak membutuhkan spesifikasi hardware yang tinggi untuk bisa menjalankan MySQL ini bahkan dengan spesfikasi hardware yang minimal sekalipun.
  3. Bisa berjalan pada lebih dari satu platform system operasi, misalkan LINUX, Windows, MacOS, FreeBSD, Solaris dan masih banyak lagi
  4. Cepat dalam menjalankan perintah SQL / Structured Query Language.
  5. MYSQL memiliki ragam tipe data yang sangat kaya , seperti signed / unsigned integer yang memiliki panjang data sebesar 1,2,3,4 dan 8 byte, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET dan tipe ENUM.
  6. MYSQL memiliki beberapa lapisan keamanan, seperti subnetmask, nama host, dan izin akses user dengan system perijinan yang mendetail serta sandi/password terenkripsi.
  7. MYSQL dapat melakukan koneksi dengan computer client menggunakan Protokol TCP/IP, Unix Socket (UNIX), atau Named Pipes (windows NT). 
  8. MYSQL memiliki antar muka / interface terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface).
  9. Command and function, MYSQL memiliki fungsi dan operator secara penuh yang mendukung perintah select dan where dalam query. 
  10. Structure Table, MYSQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE dibandingkan DBMS lainnya.
  11. Dapat dikoneksikan pada bahasa C, C++, Java, Perl, PHP dan Python.
  12. Mendukung penuh terhadap kalimat SQL GROUP BY dan ORDER BY. Mendukung terhadap fungsi penuh ( COUNT ( ),COUNT (DISTINCT), AVG ( ), STD ( ), SUM ( ), MAX ( ) AND MIN ( ) ).
  13. Mendukung terhadap LEFT OUTHER JOIN dengan ANSI SQL dan sintak ODBC.
  14. Mendukung ODBC for Windows 95 (dengan source program). Semua fungsi ODBC 2.5 dan sebagainya. Sebagai contoh kita dapat menggunakan Access untuk connect ke MySQL server.
  15. Menggunakn GNU automake, autoconf, dan LIBTOOL untuk portabilitas.
  16. Kita dapat menggabungkan beberapa table dari database yang berbeda dalam query yang sama.
  17. Privilege (hak) dan password sangat fleksibel dan aman serta mengujinkan ‘Host-Based’ Verifikasi.  
Kekurangan MySQL, antara lain :
1.    Tidak cocok untuk menangani data dengan jumlah yang besar, baik untuk menyimpan data maupun untuk memproses data.
2.  Memiliki keterbatasan kemampuan kinerja pada server ketika data yang disimpan telah melebihi batas maksimal kemampuan daya tampung server karena tidak menerapkan konsep Technology Cluster Server.
3.  Untuk koneksi ke bahasa pemrograman visual seperti vb, delphi, dan foxpro, mysql kurang support, karena koneksi ini menyebabkan field yang dibaca harus sesuai dengan koneksi dari program visual tersebut, dan ini yang menyebabkan mysql jarang dipakai dalam program visual. 

2. Oracle
Oracle adalah relational database management system (RDBMS) untuk mengelola informasi secara terbuka, komprehensif dan terintegrasi. Vendor dari oracle adalah Orace Corporation. Versi terbaru dari Oracle adalah Oracle 11g.Software ini biasa digunakan untuk pengaksesan data yang dilakukan secara online.
Kelebihan Oracle, antara lain :
1. Merupakan software DBMS yang handal dan memiliki kemampuan yang tinggi.
2. Dapat menangani jumlah data dalam ukuran yang besar.
3. Dapat mengolah data dalam ukuran besar dan mengolahnya dengan cepat sehingga didapatkan informasi yang akurat sesuai permintaan pengguna/user.
4. Memiliki kemampuan akan fleksibilitas dan skalabilitas yang dapat memenuhi tuntutan akan data dan informasi yang bervolume besar dan terus-menerus bertambah besar.
5. Memiliki kemampuan Technology Cluster Server, dimana jika terdapat lebih dari satu unit server misalnya 100 unit server maka Oracle dapat menjadikan 100 unit server tersebut aktif beke rja bersama sebagai 100 aktif server.
6. Memiliki kemampuan untuk management user dan tiap user bisa diatur hak akses terhadap suatu database oleh database administrator.
7. Bisa berjalan pada lebih dari satu platform system operasi.
8. Pemrosesan data yang sangat cepat, open source.
9. Ketika kita mengakses database dan kemudian ada kejadian seperti listrik mati misalnya maka data yang sudah kita simpan tidak rusak/hilang. Oracle memiliki kemampuan flashback, s ehingga semua jenis transaksi yang salah akan dapat dikembalikan. Dan dapat menampung data dalam sekala besar.
10. Dalam PvE maupun PvP, Oracle dapat meningkatkan kerja tim dengan berbagai buff, menghidupkan kembali orang yang mati, sehingga dicari cari untuk party, selain itu juga terlihat pada besarnya MP yang dimilikinya.
11. Dapat bekerja di lingkungan client/server (pemrosesan tersebar). 
Kekurangan Oracle, antara lain :
1. Merupakan software DMBS yang paling mahal, paling rumit, dan paling sulit untuk dipelajari.
2. Membutuhkan spesifikasi hardware yang tinggi untuk dapat menjalankan software DMBS Oracle supaya berjalan dengan stabil.
3. Hanya diperuntukan bagi perusahaan berukuran besar, dan tidak cocok untuk perusahaan kecil maupun menengah.
4. Data yang bertambah ukurannya akan mengalami kelambatan proses, jadi harus ada database management.
5. Harga yang sangat mahal untuk sebuah database dan penggunaan Oracle sangat memakan banyak biaya, mulai dari device sampai diperlukannya DBA yang handal.
6. HP dan pertahanan (DEF) yang tergolong sedang. 

3. Microsoft SQL Server
Microsoft SQL Server, Merupakan produk andalan microsoft untuk database server. Umum digunakan di dunia bisnis yang memiliki basis data berskala kecil hingga menengah, dan berkembang dengan digunakannya SQL Server pada basis data besar. Bahasa Query utamanya adalah Transact-SQL yang merupakan implementasi dari SQL standar ANSI/ISO yang digunakan oleh Microsoft dan Sybase.
Kelebihan Microsoft SQL Server, antara lain :
1. Cocok untuk perusahaan dengan skala kecil, menengah, dan besar sehingga mampu untuk mengolah data dengan jumlah yang besar.
2. Memiliki kemampuan untuk management user dan tiap user bisa diatur hak akses terhadap suatu database oleh database administrator.
3. Untuk diterapkan pada pembangunan suatu program aplikasi, akan mudah dalam melakukan koneksi dengan computer client yang pembangunan aplikasinya menggunakan software yang sama platform dengan MS-SQL, misalnya Microsoft Visual Basic.
4. Memiliki tingkat pengamanan / security data yang baik.
5. Memiliki kemampuan untuk back-up data, rollback data, dan recovery data.
6. Memiliki kemampuan untuk membuat database mirroring dan clustering. 
Kekurangan Microsoft SQL Server, antara lain : 
1. Hanya dapat diimpelementasikan pada 1 unit server, jika terdapat tambahan server maka hanya akan berfungsi sebagai pasif / standby server (tidak memiliki kemampuan Technology Cluster Server seperti halnya pada DMBS Oracle).
2. Hanya bisa berjalan pada satu platform system operasi yaitu Microsoft Windows.
3. Merupakan software berlisensi dan berharga mahal untuk perusahaan skala kecil dan menengah. 

4. Firebird
Firebird (juga disebut FirebirdSQL) adalah sistem manajemen basisdata relasional yang menawarkan fitur-fitur yang terdapat dalam standar ANSI SQL-99 dan SQL-2003. RDBMS ini berjalan baik di Linux, Windows, maupun pada sejumlah platform Unix. Firebird ini diarahkan dan di-maintain oleh FirebirdSQL Foundation. Ia merupakan turunan dari Interbase versi open source milik Borland. Karena itulah Interbase dan Firebird sebenarnya mempunyai CORE yang sama karena awalnya sama” dikembangkan oleh Borland. Vendor dari firebird adalah Official mozilla firefox builds.
Kelebihan Firebird, antara lain :
1. Firebird memiliki user base kecil namun aktif
2. Firebird selalu lebih banyak memiliki fitur
3. Firebird merupakan DBMS yang relatif matang untuk digunakan, dan tujuannya menetapkan peletakan kembali Oracle dan SQL server dalam aplikasi komersil
4. Firebird memiliki user-base yang loyakl, dan merupakan produk bagus untuk bekerja dengannya, dan jika ia dapat meningkatkan kecepatan development-nya, seperti juga meningkatkan marketing-nya, akan menjadi pesaing yang kuat.
Kelemahan Firebird, antara lain :
1. Replication engine (walaupun Firebird memiliki fitur lanjutan, yang menjaga identical copy dari live database). Ada proyek yang terjadi, banyak yang komersil, namun Open Source-nya sendiri terlihat tidak matang, atau terintegrasi ke dalam Firebird code utama
2. Firebird development relatif lambat, Firebird merupakan DBMS yang relatif matang untuk digunakan, dan tujuannya menetapkan peletakan kembali Oracle dan SQL server dalam aplikasi komersil. 

 5. Microsoft Access
Microsoft Access (atau Microsoft Office Access) adalah sebuah program aplikasi basis data komputer relasional ditujukan untuk kalangan rumahan dan perusahaan kecil hingga menengah. Aplikasi ini merupakan anggota dari beberapa aplikasi Microsoft Office. Aplikasi ini menggunakan mesin basis data Microsoft Jet Database Engine, dan juga menggunakan tampilan grafis yang intuitif sehingga memudahkan pengguna.
Kelebihan Microsoft Access, antara lain :
  • Salah satu keunggulan Microsoft Access dilihat dari perspektif programmer adalah kompatibilitasnya dengan bahasa pemrograman Structured Query Language (SQL). Para pengguna dapat mencampurkan dan menggunakan kedua jenis bahasa tersebut (VBA dan Macro) untuk memprogram form dan logika dan juga untuk mengaplikasikan konsep berorientasi objek. 
Kekurangan Microsoft Access, antara lain :

  • Microsoft Access kurang begitu bagus jika diakses melalui jaringan sehingga aplikasi-aplikasi yang digunakan oleh banyak pengguna cenderung menggunakan solusi sistem manajemen basis data yang bersifat klien atau server.


Sumber :

  1. http://blog.politekniktelkom.ac.id/30110358/2012/11/29/kelebihan-dan-kekurangan-oracle-mysql-dan-mssql/
  2. http://industry-trade.blogspot.com/2011/04/perbandingan-macam-macam-dbms-beserta.html
  3. http://go-candra.blogspot.com/2011/03/microsoft-acces.html