BAB 2 LANDASAN TEORI 2.1 Teori–teori Dasar/Umum 2.1.1 Pengertian Data Menurut Turban (2010, p41), data adalah deskripsi dasar dari benda, peristiwa, aktivitas dan transaksi yang direkam, dikelompokkan, dan disimpan tetapi belum terorganisir untuk menyampaikan arti tertentu. Menurut Hoffer et al (2009, p46), data adalah representasi dari objek-objek dan kejadian yang disimpan yang memiliki makna dan kepentingan di dalam lingkungan pengguna. Menurut Connolly dan Begg (2010, p20), data adalah komponen yang paling penting dalam DBMS, berasal dari sudut pandang end-user. Data bertindak sebagai jembatan yang menghubungkan antara mesin dengan pengguna. Berdasarkan teori para ahli diatas dapat disimpulkan bahwa, data adalah deskripsi dasar dari benda, peristiwa, aktivitas dan transaksi yang direkam, dikelompokkan, dan disimpan dalam jumlah yang besar tetapi belum diolah. 2.1.2 Pengertian Informasi Menurut Turban (2008, p5), informasi adalah data yang sudah diorganisasi sehingga memiliki arti dan nilai untuk penerima. Menurut O'Brien (2010, p34), informasi adalah data yang telah diubah ke dalam suatu konteks yang memiliki arti dan berguna bagi end-user tertentu. Menurut Stair, R.M., & Reynolds, G.W. (2010, p5) adalah sekumpulan faktafakta yang diolah dengan sedemikian caranya sehingga memiliki nilai tambah dibalik nilai dari fakta individu itu sendiri. Berdasarkan definisi di atas, dapat disimpulkan bahwa informasi adalah data yang telah terorganisir sehingga memiliki makna dan nilai bagi penerima informasi. 2.1.3 Database 2.1.3.1 Pengertian Database Menurut Connolly dan Begg (2010, p65), database adalah kumpulan data yang saling berhubungan satu sama lain yang digunakan secara bersamaan, dan kumpulan data ini didesain untuk memenuhi kebutuhan informasi suatu perusahaan. Menurut Jeffrey A. Hoffer (2009, p46), database adalah sebuah koleksi 7 8 data yang terorganisasi secara logikal. Menurut O'Brien (2010, p173), database adalah kumpulan elemen data yang terintegrasi yang berhubungan secara logikal. Berdasarkan definisi di atas dapat disimpulkan bahwa database adalah kumpulan data dalam bentuk file atau tabel yang saling berhubungan, tersimpan berdasarkan skema tertentu, dan digunakan untuk memenuhi kebutuhan informasi suatu perusahaan. 2.1.3.2 Pengertian Database Management System (DBMS) Menurut Connolly dan Begg (2010, p66), “Database Management System (DBMS) is a software system that enables users to define, create, maintain, and control access to the database”. Yang dapat diartikan bahwa DBMS adalah perangkat lunak (software) yang memungkinkan pengguna (user) untuk mendefinisikan, membuat, memelihara dan mengontrol akses terhadap database. Sebuah DBMS harus menyediakan fasilitas sebagai berikut : 1. Mampu mendifinisikan database, biasanya melalui Data DefinitionLanguage (DDL). DDL memungkinkan pengguna (user) untuk menentukan tipe data, struktur, dan batasan terhadap data yang akan disimpan ke dalam database. 2. Memungkinkan pengguna (user) untuk memasukkan (insert), mengubah (update), menghapus (delete) dan mengambil (retrieve) data dari database, biasanya melalui Data Manipulation Language (DML). DML memungkinkan pengguna (user) untuk melakukan query. 3. Menyediakan hak akses ke database. Sebagi contoh DBMS dapat menyediakan : a. Sistem keamanan yang memungkinkan untuk mencegah user yang tidak berkepentingan untuk melakukan akses terhadap database. b. Sistem integrasi untuk menjaga konsistensi data yang tersimpan. c. Sistem kendali atau kontrol yang memungkinkan database dapat diakses secara bersamaan. d. Sistem pemulihan atau recovery yang memungkinkan untuk dapat mengembalikan keadaan database ke kondisi konsisten seperti semula jika terjadi kesalahan. 9 e. Sebuah katalog yang bisa diakses oleh pengguna (user) yang di dalamnya terdapat deskripsi atau penjelasan dari data yang terdapat di dalam database. 2.1.3.2.1 Fungsi Database Management System (DBMS) DBMS sangat bermanfaat bagi perusahaan dalam menjalankan proses bisnisnya. Dengan adanya DBMS perusahaan diharapkan mampu bersaing dengan perusahaan lain pada era globalisasi seperti sekarang ini. Menurut Connolly dan Begg (2010, p99-p104), fungsi DBMS adalah sebagai berikut : Penyimpanan, pengambilan, dan peng-update-an data Sebuah DBMS harus dapat menyediakan suatu kemampuan/fitur untuk menyimpan, mengambil, dan meng-update data bagi pengguna (user) dalam sebuah DBMS. Katalog User-Accesible Sebuah DBMS harus menyediakan sebuah katalog yang menyimpan deskripsi tentang item data dan mudah diakses oleh pengguna (user). Mendukung transaksi Sebuah DBMS harus menyediakan mekanisme yang memastikan setiap peng-update-an data dilakukan sesuai dengan transaksi yang diberikan. Layanan kendali konkurensi Sebuah DBMS harus menyediakan sebuah mekanisme untuk memastikan bahwa basis data di-update dengan benar ketika banyak pengguna (user) melakukan update basis data secara bersamaan. Layanan Perbaikan Sebuah DBMS harus menyediakan sebuah mekanisme untuk memperbaiki basis data ketika sebuah basis data mengalami kerusakan (recovery). Layanan Autorisasi Sebuah DBMS harus menyediakan sebuah mekanisme untuk memastikan bahwa pengguna (user) memiliki otoritas/hak untuk mengakses basis data. Mendukung komunikasi data Sebuah DBMS harus mampu diintegrasikan dengan perangkat lunak (software) komunikasi. Layanan Integritas 10 Sebuah DBMS harus mampu memastikan bahwa data di dalam basis data tersimpan dengan baik dan perubahan yang terjadi pada data harus mengikuti aturan tertentu yang telah ditetapkan. Layanan peningkatan keterbatasan data Sebuah DBMS harus memasukkan sebuah fasilitas tambahan untuk mendukung keterbatasan program dari struktur basis data yang sebenarnya agar menjadi lebih lengkap. Layanan Utilitas Sebuah DBMS harus dapat menyelesaikan seperangkat layanan utilitas yang membantu database admin mengelola basis data secara efektif. 2.1.3.2.2 Komponen Database Management System (DBMS) DBMS merupakan sebuah aplikasi perangkat lunak (software) yang tentunya memiliki komponen-komponen penting di dalamnya agar menjadi satu kesatuan di dalam sebuah sistem. Menurut Connolly dan Begg (2010, p68-71), terdapat lima komponen yang sangat penting, yaitu : 1. Perangkat keras (Hardware) DBMS dan aplikasinya membutuhkan perangkat keras (hardware) untuk dapat mengoperasikannya. Perangkat keras (hardware) tersebut dapat berupa PC, sebuah mainframe, dan jaringan komputer. Sedangkan, jenis perangkat keras tertentu tergantung pada kebutuhan organisasi dan DBMS yang digunakan. Beberapa DBMS hanya dapat bekerja pada perangkat keras atau sistem operasi tertentu. DBMS membutuhkan jumlah minimum dari main memory dan disk space untuk bekerja. 2. Perangkat Lunak (Software) Komponen perangkat lunak terdiri dari software DBMS itu sendiri dan program aplikasi yang dibutuhkan untuk menjalankan sistem, termasuk network software jika digunakan pada jaringan. Pada umumnya, program aplikasi ditulis dalam bahas pemprograman 3GL, seperti C, C++, Java, Visual Basic, Cobol, Fortran, Ada, atau Pascal, atau menggunakan 4GL, seperti SQL yang di- embed dalam generasi ketiga. 3. Data 11 Komponen terpenting dalam DBMS, terutama dalam sudut pandang end-user, Data berperan sebagai jembatan antara komponen mesin dan komponen manusia. Basis data memiliki data operasional dan metadata. 4. Prosedur Merupakan instruksi atau aturan yang mengatur desain dan penggunaan basis data. Pengguna sistem dan staf yang mengatur basis data membutuhkan dokumentasi prosedur untuk menjalankan atau mengoperasikan sistem. Instruksi-instruksi tersebut, antara lain : o Log on pada DBMS o Menggunakan fasilitas DBMS tertentu atau aplikasi program o Memulai dan menghentikan DBMS o Membuat salinan backup dari basis data o Mengatasi kegagalan perangkat keras (hardware) dan perangkat lunak (software). Termasuk prosedur untuk mengidentifikasi komponen yang gagal, dan mengembalikan basis data ke keadaan semula. o Mengubah struktur dari tabel, mengatur ulang basis data melalui multiple disks, meningkatkan performa, atau menyimpan data pada secondary storage. 5. Manusia Merupakan komponen yang terakhir yang terlibat dalam sistem. Terdapat lima tipe komponen manusia yang terlibat dalam sistem, yaitu Data Administrators, Database Administrators, Database Designers, Application Developers, dan End users. 2.1.4 Data Warehouse 2.1.4.1 Pengertian Data Warehouse Menurut Turban (2011, p52), data warehouse adalah kumpulan data yang dihasilkan untuk mendukung proses pengambilan keputusan, tetapi juga dapat berfungsi sebagai tempat penyimpanan data saat ini dan historikal data yang potensial bagi manajer dalam organisasi. Menurut O'Brien (2010, p191), data warehouse adalah kumpulan data yang diekstrak dari database operasional, historis, dan eksternal, yang dibersihkan, diubah, dan dikatalogkan untuk penelusuran dan analisis untuk pengambilan keputusan bisnis. 12 Menurut Darudiato dalam jurnalnya (2008:59), data warehouse merupakan kumpulan informasi yang diperoleh dari basis data operasional yang digunakan untuk membuat Business Intelligent yang mendukung aktivitas analisis bisnis dan pekerjaan pembuatan keputusan. Jadi data warehouse merupakan ringkasan dari data-data dari berbagai sumber data operasional dimana data ringkasan tersebut akan ditampilkan dalam Business Intelligent yang akan sangat berguna dalam melakukan analisis dan pengambilan keputusan. Berdasarkan teori di atas dapat disimpulkan, data warehouse adalah adalah kumpulan dari database yang berorientasi subjek, terintegrasi, timevariant dan non-volatile, yang mendukung proses pengambilan keputusan. 2.1.4.2 Karakteristik Data Warehouse Menurut W.H Inmon (2005, p29), karakteristik dari data warehouse adalah sebagai berikut a) Subject Oriented (Berorientasi Subjek) Data warehouse bersifat subject oriented artinya data warehouse digunakan untuk menganalisa data berdasarkan subjek- subjek tertentu dalam organisasi, bukan berorientasi pada berbagai aplikasi tertentu, yang mempermudah pengguna(user dalam melakukan pengambilan keputusan. Beberapa perbedaan antara data primitif (data operasional) dan data warehouse diantaranya sebagai berikut : Tabel 2.1 Perbedaan antara Data Operasional dan Data Warehouse Data Operasional Data Warehouse Berorientasi pada aplikasi Berorientasi subyek Dapat berubah Tidak dapat berubah Dapat diakses oleh sebuah unit Dapat diakses oleh sebuah dalam satu waktu set unit dalam satu waktu Jumlah data yang diproses Jumlah data yang diproses kecil besar Tidak ada redudancy data Ada redudancy data 13 Untuk komunitas karyawan Untuk komunitas manajer Gambar 2.1 Karakteristik Data Warehouse : Subject Oriented (Sumber : W.H Inmon, 2005, p30) b) Integrated (Terintegrasi) Data warehouse bersifat integrated artinya data warehouse menyimpan data dari berbagai sumber berbeda 14 yang disimpan ke dalam suatu format yang konsisten dan data tersebut terintegrasi satu sama lain, dimana data-data tersebut merupakan suatu kesatuan sehingga tidak dapat dipecah-pecah. Syarat integrasi sumber data dapat dipenuhi dengan berbagai cara seperti konsistensi dalam penamaan dan ukuran variabel, konsisten dalam struktur pengkodean, dan konsisten dalam atribut fisik dari data. Gambar 2.2 Karakteristik Data Warehouse : Integrated (Sumber : W.H Inmon, 2005, p31) c) Non-volatile (Tidak dapat diubah) Data warehouse bersifat non volatile, artinya data warehouse tidak dapat diubah. Pengguna (user) tidak dapat mengubah data warehouse yang sudah ada. Berbeda dengan database operasional yang memiliki tiga kegiatan operasi seperti insert, update, dan delete, data warehouse hanya memiliki dua kegiatan yaitu loading dan akses data. 15 Gambar 2.3 Karakteristik Data Warehouse : Non volatile (Sumber : W.H Inmon, 2005, p32) d) Time Variant Dalam OLTP, record yang ada merupakan record terbaru untuk mempercepat proses karena semakin sedikit data yang disimpan maka waktu pemrosesan data semakin cepat. Lain halnya dengan data warehouse yang berisi record-record yang bersifat historis dan dapat tetap berada dalam sistem untuk jangka waktu 5-10 tahun sehingga dapat digunakan sebagai bahan analisis pengambilan keputusan. Tetapi, record yang terlalu lama juga tidak efektif karena bisa memberikan hasil analisa yang kurang sesuai dengan trend di masa mendatang. Oleh karena itulah, data pada data warehouse bersifat time variant atau akurat pada periode tertentu. Selain itu, data pada data warehouse dikatakan memiliki perbedaan/rentang waktu (time variance) karena data warehouse juga mempunyai dimensi waktu sehingga data warehouse akurat selama periode waktu tertentu dan dapat digunakan untuk mempelajari trend dan perubahan. Hal ini sangat berbeda dengan datapada OLTP, dimana data hanya akurat untuk waktu sesaat setelah diakses. Aspek yang menunjukkan karakteristik time variant dalam data warehouse adalah sebagai berikut : Data warehouse merepresentasikan data untuk kurun waktu 5-10 tahun, sedangkan OLTP merepresentasikan data untuk jangka waktu yang lebih singkat, yaitu sekitar 60-90 hari. Karena aplikasi yang digunakan pada OLTP harus memiliki waktu respon yang singkat maka data yang diproses harus optimal. 16 Setiap struktur data pada data warehouse mengandung elemen waktu seperti tahun, bulan, minggu, hari, dan sebagainya. Data pada data warehouse merupakan serangkaian snapshot, yaitu potongan data yang dikelompokkan sesuai dengan urutan waktu. Gambar 2.4 Karakteristik Data Warehouse : Time-variant (Sumber : W.H Inmon, 2005, p32) 2.1.4.3 Anatomi Data Warehouse Dalam menentukan bentuk dasar dari data warehouse yang akan digunakan dalam perusahaan, terlebih dahulu kita harus mengetahui kebutuhan informasi yang diperlukan oleh perusahaan. Data warehouse terdiri atas tiga jenis dasar sistem, yaitu : 1. Data warehouse fungsional (Functional Data Warehouse) Data warehouse fungsional dibangun berdasarkan kebutuhan informasi dari tiap bagian fungsi bisnis perusahaan. Data warehouse fungsional merupakan pendekatan yang digunakan untuk membangun suatu sistem data warehouse dengan biaya investasi yang rendah. Keuntungan dari bentuk ini adalah sistem mudah dibangun dengan biaya yang relatif murah sedangkan kerugiannya adalah resiko kehilangan konsistensi data dan terbatasnya kemampuan dalam pengumpulan data bagi pengguna (user). 17 Gambar 2.5 Data Warehouse Fungsional (Sumber : Gustiarahman, 2006, p17) 2. Data warehouse terpusat (Centralized Data Warehouse) Data warehouse terpusat dibangun dari data operasional yang dikumpulkan dalam pusat penyimpanan data yang digunakan oleh pengguna untuk membangun data warehouse fungsional masing-masing. Menurut W.H Inmon (2005, p193), kebanyakan organisasi membangun dan memelihara lingkungan data warehouse terpusat yang tunggal. Pengaturan ini masuk akal karena alasan sebagai berikut : a. Data di dalam data warehouse saling terintegrasi antar cabang perusahaan dengan pusat dan gambaran integrasi tersebut hanya terdapat pada kantor pusat. b. Perusahaan beroperasi pada model bisnis terpusat c. Volume dari data dalam data warehouse seperti tempat penyimpanan yang bersifat tunggal dan terpusat d. Sekalipun data dapat terintegrasi dan diedarkan antar area lokal yang beragam, data tersebut akan tidak praktis untuk diakses. Keuntungan dari bentuk ini adalah data benar-benar terpadu karena konsistensinya yang tinggi sedangkan kerugiannya adalah biaya yang mahal serta perlu waktu yang cukup lama dalam membangun bentuk ini. 18 . Gambar 2.6 Data Warehouse Terpusat (Sumber : Gustiarahman, 2006, p18) 3. Data warehouse terdistribusi (Distributed Data Warehouse) Perusahaan yang memiliki cabang tersebar di seluruh dunia membutuhkan informasi yang mencakup tidak hanya wilayah lokal saja tetapi juga wilayah global. Global data warehouse membutuhkan informasi terpadu dari data warehouse tempat infomasi dikumpulkan. Disamping itu, ada kebutuhan yang lain untuk data warehouse yang terpisah di setiap cabang perusahaan. Dalam kasus ini, menurut W.H Inmon (2005, p193), data warehouse terdistribusi dibutuhkan. Tiga tipe dari data warehouse terdistribusi : a. Data warehouse yang terdistribusi secara geografi terdiri dari data warehouse lokal dan data warehouse global. b. Data warehouse yang terdistribusi dalam banyak prosesor, secara logis ada satu data warehouse tetapi secara fisiknya ada banyak data warehouse yang saling berhubungan. c. Data warehouse yang tumbuh dalam sumber yang tidak terkoordinasi. Keuntungan dari bentuk ini adalah kelebihan dalam mengakses data dari luar perusahaan yang telah mengalami sinkronisasi terlebih dahulu dan tetap terjaga konsistensinya, namun kerugian dari bentuk ini adalah bentuk yang paling mahal dan kompleks untuk diterapkan, karena sistem operasinya dikelola secara terpisah. 19 Gambar 2.7 Data Warehouse Terdistribusi (Sumber : Gustiarahman, 2006, p19) 2.1.4.4 Arsitektur Data Warehouse Dalam perancangan data warehouse diperlukan proses, tools, teknologi terkait dengan data warehouse. Arsitektur data warehouse, seperti berikut: Gambar 2.8 Gambaran Arsitektur Data Warehouse (Sumber : Connolly & Begg, 2010, p1203) Komponen-komponen yang terdapat di dalam arsitektur data warehouse adalah: 1. Operational Data Sumber-sumber data yang ada di data warehouse disediakan: 20 Mainframe data operasional ada pada generasi pertama database hierarki dan database jaringan. Data departemental disimpan di berbagai macam file, seperti: VSAM, RMS dan relational DBMS seperti Informix dan Oracle. Data pribadi disimpan di dalam workstation dan private server. Sistem eksternal seperti internet, database komersial, atau database yang berhubungan dengan organisasi dari supplier atau konsumen. 2. Operational Data Store Sebuah operational data store (ODS) adalah sebuah data warehouse dari data operasional dan saling terintegrasi yang digunakan untuk analisis. ODS biasanya melakukan penstrukturan dan penyediaan data seperti halnya sebuah data warehouse, tetapi sebenarnya bertindak secara sederhana sebagai suatu tempat penampungan sementara sebelum data akan dipindahkan ke warehouse. Membangun sebuah operational data store dapat membantu dalam pembangunan sebuah data warehouse, karena ODS menyediakan data yang sudah di ekstrak dari sumber dan sudah di bersihkan. Ini dapat diartikan bahwa pekerjaan yang tersisa untuk mengintegrasikan dan merestrukturisasi data warehouse disederhanakan. 3. Load Manager Load manager atau biasa disebut komponen fronted, melakukan sebuah operasi terkait dengan ekstraksi dan pemuatan data ke dalam warehouse. Data mungkin diekstrak secara langsung dari sumber data atau dari operational data store. Operasi dilakukan oleh manajer, dapat mencakup sebuah transformasi sederhana dari sebuah data, yang bertujuan untuk mempersiapkan data untuk masuk ke dalam warehouse. Ukuran dan kompleksitas komponen ini akan bervariasi antara data warehouse dan dapat dibangun dengan menggunakan kombinasi vendor data loading tools dan custom built program. 4. Warehouse Manager Warehouse manager melakukan semua operasi yang berhubungan dengan pengelolaan data di dalam warehouse. Komponen ini dikonstruksikan dengan menggunakan vendor data management dan custom built program. 21 Operasi–operasi yang dilakukan dengan menggunakan warehouse manager adalah : Analisis data untuk memastikan konsistensi. Transformasi dan penggabungan dari sumber data, dari tempat penyimpanan sementara ke dalam tabel di dalam data warehouse. Membuat indeks-indeks dan view berdasarkan tabel. Melakukan denormalisasi (jika diperlukan). Melakukan aggregation (jika diperlukan). Backup dan archive data. 5. Query Manager Query Manager yang juga disebut komponen back end, melakukan semua operasi yang berhubungan dengan pengelolaan user queries. Komponen ini dibangun dengan menggunakan vendor user-end data acces tools, data warehouse monitoring, fasilitas database, dan custom built program. Kompleksitas dari query manager ini ditentukan oleh fasilitas yang disediakan oleh end user access tools dan database. Operasi yang dilakukan oleh komponen ini termasuk mengarahkan query ke tabel yang tepat dan penjadwalan eksekusi query. Dalam beberapa kasus, manager query juga menghasilkan profil permintaan untuk memungkinkan manajer warehouse untuk menentukan indeks dan agregasi yang sesuai. 6. Detailed Data Area dari data warehouse ini menyimpan semua detail data di dalam skema database. Kebanyakan kasus yang ada, detail data tidak di simpan secara online, tetapi dibuat melalui agregasi data pada tingkatan detail berikutnya. 7. Lightly dan Highly Summarized Data Area ini menyimpan semua lightly dan highly summarized data yang dihasilkan oleh warehouse manager. Area dari data warehouse ini adalah sebuah tempat untuk menampung sementara sebelum dilakukannya perubahan secara berkelanjutan untuk merespon perubahan profil query. Tujuannya adalah untuk mempercepat pencapaian query. Biaya operasi ini akan meningkat berhubungan dengan proses peringkasan data. Ini dapat diseimbangkan dengan menghapus keperluan secara terus-menerus untuk melakukan operasi ringkasan dalam menjawab query user. Ringkasan data 22 akan terus di-update ketika terdapat data baru yang terisi ke dalam warehouse. 8. Archive / Backup Data Area dari data warehouse ini menyimpan semua detail dan ringkasan data yang bertujuan untuk melakukan archiving dan backup. Meskipun data ringkasan di generate dari detail data, itu memungkinkan untuk backup ringkasan data secara online, jika data ini disimpan melebihi waktu/periode penyimpanan untuk detail data. Data dipindahkan ke penyimpanan archive seperti magnetic tape atau optical drive. 9. Metadata Area dari warehouse ini menyimpan sebuah definisi metadata (data dari data), yang digunakan oleh semua proses didalam warehouse. Tujuan digunakannya metadata adalah untuk: Ekstraksi dan proses loading metadata digunakan untuk memetakan sumber data ke dalam tampilan yang umum dari data dalam warehouse. Proses pengelolaan warehouse, metadata digunakan untuk mengotomatisasikan pembuatan tabel ringkasan. Proses pengelolaan query, metadata digunakan untuk mengarahkan suatu query dengan sumber data yang tepat. 10. End-User Access Tools Tujuan dari data warehousing adalah untuk menghasilkan sebuah informasi untuk bisnis user dalam strategi pembuatan keputusan. Para user ini berhubungan dengan data warehouse menggunakan end-user access tools. Ada lima kategori utama dari end-user access tools: Reporting and query tools Reporting tools meliputi production reporting tools dan writers. Production reporting tools digunakan untuk menghasilkan laporan operasional regular atau mendukung high-volume batch job, seperti pesanan pelanggan/faktur dan pembayaran staf. Report writer adalah dekstop tools yang dirancang untuk end-user. Query tools data warehouse dirancang untuk menerima SQL dalam proses query data yang tersimpan didalam data warehouse. Application development tools 23 Aplikasi yang sesuai dengan kebutuhan user, yang dirancang secara ramah untuk sisi client server. Beberapa aplikasi terintegrasi dengan OLAP tools dan dapat mengakses semua sistem basis data utama, seperti Oracle, Sybase, Infomix. Executive information system (EIS) tools. EIS, yang sering disebut sebagai everybody’s information system, yang sebenarnya dibangun untuk mendukung high-level pembuatan keputusan yang stategis. Namun akhirnya meluas dan mendukung semua tingkat manajemen. EIS yang terisolasi dengan mainframe memungkinkan user untuk membuat aplikasi pendukung pengambilan keputusan untuk menyediakan data organisasi dan mengakses ke sumber data eksternal. Online analytical processing (OLAP) tools OLAP berbasis pada konsep database multidimensi dan memperbolehkan user untuk menganalisis data dengan menggunakan sebuah view yang kompleks dan multidimensional. Tools ini juga didukung oleh multidimensional database (MDDB), atau oleh database relasional yang dirancang untuk mendapatkan multidimensional queries. Data mining tools Data mining adalah sebuah proses menemukan korelasi, pola dan arah baru yang mempunyai arti dengan mining sejumlah besar data dengan menggunakan teknik statistik, matematika dan artificial intelligence. Data mining memiliki potensi untuk menggantikan kemampuan OLAP tools. 24 2.1.4.5 Struktur Data Warehouse Menurut Inmon (2005:34), struktur data warehouse dapat digambarkan sebagai berikut : Gambar 2.9 Struktur pada Data Warehouse (Sumber : Inmon, 2005, p34) Dimana Inmon (2005:34) menyatakan bahwa terdapat beberapa level detail dalam data warehouse. Level detail dalam data warehouse terdiri dari tingkat older level of detail, current level of detail, level of lightly summarized data, dan level of highly summarized data. Alur data ke dalam data warehouse dimulai dari data operasional. Dimana ketika usia data di data warehouse sudah tua atau lama maka data akan di transfer dari current detail ke older detail. Kemudian data diringkas dan ditransfer dari current detail menuju lightly summarized data, kemudian dari lightly summarized data menuju highly summarized data. 2.1.4.6 Data Warehousing Tools and Technique 2.1.4.6.1 Extraction, Transformation, Loading (ETL) 25 Menurut Miranda dalam jurnalnya (2011:1-12), membuat data warehouse tidak sekedar memindahkan data operasional ke dalam data warehouse, memindahkan data dari beberapa sumber berpotensi menimbulkan masalah besar terutama terkait dengan isu tidak konsistennya data. Data warehouse tidak hanya digunakan dalam melakukan loading, integrasi, dan menyimpan data dalam jumlah besar, namun juga berpotensi untuk mendapatkan sudut pandang baru dari sebaran data, dan memungkinkan untuk memberikan pelaporan dan jawaban dari pertanyaan pengguna yang bersifat ad hoc secara cepat dan lebih baik. 2.1.4.6.1.1 Extraction Tahapan pertama dalam proses ETL adalah extraction. Menurut Thomas Connolly (2010, p1208), extraction adalah sebuah tahapan dimana mengambil data dari sumber data bagi Environment Data Warehouse (EDP), sumber ini biasanya terdiri dari database OLTP dan juga bisa terdapat beberapa sumber lainnya seperti database pribadi, data ERP dan data penggunaan dari web. Selain itu, menurut Fahad Sultan (2010, p411), data extraction merupakan proses ekstraksi data yang bersumber dari data operasional organisasi dan juga sumber eksternal lain, seperti file, html, dokumen, dan lainnya untuk data pada data warehouse. Berdasarkan definisi di atas dapat disimpulkan bahwa extraction merupakan kegiatan ekstraksi data yang bersumber dari data operasional dan data eksternal untuk dimasukkan ke- dalam lingkungan data warehouse. 2.1.4.6.1.2 Transformation Tahapan kedua dalam proses ETL adalah transformation. Menurut Connolly dan Begg (2010, p1208), transformation merupakan tahapan yang menggunakan beberapa peraturan atau fungsi dari data yang sudah diambil dan mengukur bagaimana data tersebut dapat digunakan untuk analisis dan dapat meliputi transformasi seperti penjumlahan data, encoding data, penggabungan data, pemisahan data, penghitungan data dan pembuatan surrogate keys. Menurut Fahad Sultan (2010, p411), transformation merupakan teknik transformasi data yang telah diterapkan pada data untuk 26 membuat data yang ada menjadi lebih seragam, Setelah proses transformasi, data yang dihasilkan akan menjadi lebih homogen (sama), serta menjadi lebih konsisten dan meminimalkan error atau kesalahan. Tindakan ini dapat meningkatkan kinerja data warehouse. Berdasarkan definisi diatas dapat disimpulkan bahwa, transformation merupakan proses penggabungan dan pengubahan data agar data yang ada menjadi seragam sehingga data tersebut bias dimuat ke dalam satu tabel baru yang disebut tabel fakta / tabel dimensi, dimana tabel tersebut berisikan surrogate key yang digunakan untuk menghubungkan antara tabel dimensi dan tabel fakta dalam data warehouse. 2.1.4.6.1.3 Loading Tahapan ketiga dalam proses ETL adalah loading. Menurut Thomas Connolly (2010, p1209), loading adalah tahapan untuk memasukkan data yang sudah mengalami proses transformasi ke dalam data warehouse. Menurut Fahad Sultan, loading merupakan proses peletakan data yang telah dibersihkan dan ditransformasi ke dalam data warehouse. Berdasarkan definisi diatas dapat disimpulkan bahwa, loading merupakan proses memasukkan data yang telah dibersihkan dan ditransformasikan ke dalam data warehouse. 2.1.4.6.1.4 ETL Tools Tahapan keempat dalam proses ETL adalah proses ETL (ETL tools). Menurut Connolly dan Begg (2010, p1209), proses ETL dapat dibuat dengan membuat sebuah program sendiri atau dengan membeli sebuah program ETL yang berada di pasaran. 2.1.4.6.1.5 Data Profilling and Data Quality Control Tahapan kelima dalam proses ETL adalah data profiling and data quality control. Menurut Connolly dan Begg (2010, p1209), data profilling and data quality control menyediakan informasi penting tentang jumlah dan kualitas data yang bersumber dari sistem. Misalnya data profilling dapat 27 mengindikasikan berapa banyak baris yang telah hilang, salah dan pemasukkan atau input data yang kurang lengkap. 2.1.4.6.1.6 Metadata Management Tahapan terakhir dalam proses ETL adalah metadata management. Menurut Thomas Connolly (2010, p1209), metadata management adalah sebuah penyimpanan yang diatur oleh peralatan ETL yang akan menjelaskan tentang rincian sumber sistem, rincian pengubahan data dan rincian dari pengubahan atau pemisahan data. 2.1.5 Dimensionality Modelling (Permodelan Dimensional) Menurut Connolly and Begg (2010, p1227), dimensionality modelling (permodelan dimensional) merupakan suatu teknik desain logikal yang bertujuan untuk merepresentasikan data dalam bentuk dasar atau standar serta desain ini memungkinkan untuk melakukan pengaksesan data dengan performa yang tinggi. Setiap model dimensional yang terbentukdan terbuat dari gabungan beberapa primary key yang disebut tabel fakta (fact table) dan sekumpulan tabel yang lebih kecil didalamnya yang disebut tabel dimensi (dimensional table). Setiap tabel dimensi memiliki sebuah primary key yang berhubungan secara langsung dengan sebuah key lain yang berada dalam tabel fakta. Keuntungan menggunakan pemodelan dimensional antara lain : 1. Pengaksesan data dapat dilakukan dengan lebih efisien; 2. Model dimensi dapat diperluas lagi jika dibutuhkan; 3. Kemampuan untuk menggambarkan keadaan bisnis secara umum; 4. Kemampuan untuk menangani perubahan akan kebutuhan. 2.1.5.1 Fact Table (Tabel Fakta) Menurut Connolly dan Begg (2010), tabel fakta adalah tabel yang berisikan composite primary key yang terdapat pada dimensional model. Primary key dari tabel fakta dibuat dari 2 atau lebih foreign key. Tabel fakta mengandung sesuatu yang dapat diukur seperti harga, jumlah barang dan lainlain. 28 Gambar 2.10 Contoh Tabel Fakta (Sumber : Thomas Connolly, C. B. (2010). Database Systems : A Practical Approach To Design, Implementationand Management Fifth Edition) 2.1.5.2 Dimensional Table (Tabel Dimensi) Menurut Connolly dan Begg (2010), tabel dimensi adalah kumpulan dari tabel yang lebih kecil dibandingkan tabel fakta pada dimensional model. Setiap tabel dimensi mempunyai simple (noncomposite) primary key yang berhubungan dengan salah satu komponen composite key pada tabel fakta. Gambar 2.11 Contoh Tabel Dimensi (Sumber : Thomas Connolly, C. B. (2010). Database Systems : A Practical Approach To Design, Implementation, and Management Fifth Edition) 2.1.5.3 Skema Bintang (Star Schema) Menurut Connolly dan Begg (2010, p1227), skema bintang merupakan struktur logikal yang terdapat tabel fakta yang berisi data faktual, serta dikelilingi oleh tabel dimensi yang berisikan data referensi (dimana dapat didenormalisasikan). 29 Gambar 2.12 Contoh Star Schema (Sumber : Thomas Connolly, C. B. (2010). Database Systems : A Practical Approach To Design, Implementation, and Management Fifth Edition) 2.1.5.3.1 Keuntungan Menggunakan Skema Bintang Menurut Connolly dan Begg (2010, p1230), keuntungan menggunakan skema bintang antara lain : Efisiensi, dalam arti struktur database yang konsisten menjadikan akses data lebih efisien dengan menggunakan alat untuk menampilkan data termasuk laporan tertulis dan query. Kemampuan untuk mengatasi perubahan kebutuhan, skema bintang dapat beradaptasi terhadap perubahan kebutuhan yang terjadi, karena sebuah tabel diemensi memiliki kesamaan dalam hal menyediakan akses ke tabel fakta. Extensibility, dalam arti model dimensional ini dapat dikembangkan lebih lanjut. Contohnya, dengan menambah tabel fakta selama data 30 tersebut masih konsisten, menambah tabel dimensi selama masih terdapat nilai tunggal pada tabel dimensi tersebut yang mendefinisikan setiap record yang terdapat dalam tabel fakta. Proses query yang dapat diprediksi, aplikasi data warehouse yang mencari data dari level bawah akan lebih mudah dengan menambahkan jumlah atribut pada tabel dimensi sebuah skema bintang. 2.1.5.3.2 Jenis Skema Bintang Skema bintang merupakan suatu rancangan database yang terdapat dalam data warehouse yang menggambarkan secara jelas hubungan antara struktur tabel fakta dan tabel dimensi. Skema bintang terdiri dari beberapa jenis, yaitu sebagai berikut : 1. Skema bintang sederhana Dalam skema bintang sederhana, setiap tabel harus mempunyai primary key yang terdiri dari satu atau lebih foreign key dan primary key tersebut harus bersifat unique. Gambar berikut ini menggambarkan hubungan antara tabel fakta dan dimensi. Gambar 2.13 Skema Bintang Sederhana ( Sumber : W.H Inmon, 2005, p129) 2. Skema bintang dengan banyak tabel fakta Skema bintang juga dapat memiliki lebih dari satu tabel fakta. Hal tersebut terjadi dikarenakan skema ini berisi lebih banyak tabel fakta pembelian dan tabel fakta persediaan. Walaupun terdapat banyak tabel fakta, skema ini menggunakan tabel dimensi secara bersamaan. 2.1.5.4 Snowflake Schema 31 Selain skema bintang (star schema), juga terdapat snowflake schema. Menurut Thomas Connolly (2010, p.1229), snowflake schema adalah sebuah model data dimensional yang terdiri dari tabel fakta yang diletakkan di tengah-tengah dan dikelilingi oleh tabel dimensi yang sudah mengalami proses normalisasi. Gambar 2.14 Snowflake Schema (Sumber : Thomas Connolly, C. B. (2010). Database Systems : A Practical Approach To Design, Implementation, and Management Fifth Edition) 2.1.5.5 Starflake Schema Selain star schema dan snowflake schema masih terdapat star flake schema. Menurut Thomas Connolly (2010, p.1230), starflake schema adalah sebuah model data dimensional yang terdiri dari tabel fakta yang diletakkan di tengah - tengah dan dikelilingi oleh tabel dimensi yang sudah mengalami proses normalisasi maupun denormalisasi. 2.1.5.6 Surrogate Key Surrogate Key adalah Key yang digunakan dalam tabel dimensi adalah surrogate key dan menurut Thomas Connolly (2010, p.1079), surrogate key adalah salah satu fitur penting dalam tabel dimensi yang dibuat berdasarkan 32 bilangan bulat, yang berfungsi untuk menggabungkan antara tabel dimensi dengan tabel fakta. 2.1.6 Online Transaction Processing (OLTP) Menurut Thomas Connolly (2010, p1198), OLTP adalah sebuah sistem yang dirancang untuk memaksimalkan kapasitas pemrosesan transaksi. Dapat diartikan bahwa OLTP adalah sebuah sistem yang dirancang untuk memasukkan data yang sesuai ke dalam database dan dirancang untuk memaksimalkan kapasitas pemrosesan transaksi. 2.1.7 Online Analytical Processing (OLAP) Menurut Connolly dan Begg (2010, p1250), Online Analytical Processing (OLAP) merupakan sintesis dinamis, analisis dan konsolidasi volume terbesar dari multidimensional data. Teknologi OLAP memungkinkan data warehouse digunakan secara efektif untuk proses online analysis, memberikan respon yang cepat terhadap analytical queries yang kompleks. Berikut ini beberapa keuntungan yang diperoleh dengan menerapkan OLAP, yaitu : 1. Meningkatkan produktivitas dari end-users bisnis dan pengembang teknologi informasi. 2. Meningkatkan penghasilan dan keuntungan potensial dengan memungkinkan perusahaan untuk merespon permintaan pasar lebih cepat. 3. Mengurangi back-log dari pengembangan aplikasi untuk staf teknologi informasi dengan membuat end-user bebas untuk membuat perubahan skema dan memungkinkan organisasi untuk merespon permintaan pasar lebih cepat. 4. Mengurangi lalu lintas jaringan dalam sistem OLTP atau dalam data warehouse 2.1.8 Data Mart Menurut Paulraj & Sivaprakasam (2012, p279) Sebuah data mart adalah struktur sederhana dari data warehouse yang terdapat pada subjek yang berbeda (atau fungsional area), seperti bagian keuangan, penjualan, pemasaran. Data Mart sering dibangun oleh divisi tertentu dalam sebuah organisasi. Ditentukan berdasarkan subjek tunggal, data mart biasanya menggambarkan data dari sumber yang kecil. Sumbernya bisa berasal dari dalam sistem, pusat data warehouse 33 ataupun data eksternal. Data mart arsitektur dapat ditunjukkan pada gambar 2.15. Langkah-langkah utama dalam menerapkan data mart yaitu : - To Design the Schema - Construct the physical storage - Populate the data mart with data from source systems, - Access it to make informed decisions, and - Manage it over time Gambar 2.15 : Overview of Data Mart 2.2. Teori – teori Khusus 2.2.1 Pembelian Pembelian merupakan proses bisnis yang dilakukan antar dua pihak yaitu pihak supplier dan pihak perusahaan untuk mendapatkan bahan-bahan produk yang akan dijual oleh perusahaan. Menurut Render (2011, p414), pembelian adalah perolehan barang dan jasa. Secara umum definisi pembelian adalah suatu usaha pengadaan barang atau jasa dengan tujuan yang akan digunakan sendiri, untuk kepentingan proses produksi maupun untuk dijual kembali. Menurut Stevenson (2009, p518), pembelian adalah proses mendapatkan material, bagian - bagian, persediaan, dan layanan yang diperlukan untuk memproduksi sebuah produk atau menyediakan sebuah layanan. Menurut Mulyadi (2008, p316), Pembelian adalah suatu usaha yang digunakan dalam perusahaan untuk pengadaan barang yang diperlukan oleh perusahaan. 2.2.2 Persediaan 34 Persediaan dapat diartikan sebagai barang-barang yang disimpan untuk digunakan atau dijual pada masa atau periode yang akan datang. Persediaan terdiri dari persediaan bahan baku, persediaan bahan setengah jadi, dan persediaan barang jadi. Persediaan bahan baku dan bahan setengah jadi disimpan sebelum digunakan atau dimasukan kedalam proses produksi, sedangkan persediaan barang jadi atau barang dagangan disimpan sebelum dujual atau dipasarkan. Dengan demikian setipa perusahaan yang melakukan kegiatan usaha umumnya memiliki persediaan. Inventory atau persediaan adalah suatu teknik untuk manajemen material yang berkaitan dengan persediaan. Manajemen material dalan inventory dilakukan dengan beberapa input yang digunakan yaitu: permintaan yang terjadi (demand) dan biaya-biaya yang terkait dengan penyimpanan, setra biaya apabila terjadi kekurangan persediaan (short-age). Pengendalian pengadaan persediaan perlu diperhatikan karena berkaitan langsung dengan biaya yang harus ditanggung perusahaan sebagai akibat adanya persediaan. Oleh sebab itu, persediaan yang ada harus seimbang dengan kebutuhan, karena persediaan yang terlalu banyak akan mengakibatkan perusahaan menanggung risiko kerusakan dan biaya penyimpanan yang tinggi disamping biaya investasi yang besar. Tetapi jika terjadi kekurangan persediaan 10 akan berakibat terganggunya kelancaran dalam proses produksinya. Oleh karenanya diharapkan terjadi keseimbangan dalam pengadaan persediaan sehingga biaya dapat ditekan seminimal mungkin dan dapat memperlancar jalannya proses produksi. Pengertian persediaan menurut Agus Ristono (2009:1) menyatakan bahwa: Persediaan dapat diartikan sebagai barang-barang yang disimpan untuk digunakan atau dijual pada masa atau periode yang akan datang. Persediaan terdiri dari persediaan bahan baku, persediaan barang setengah jadi, dan persediaan barang jadi. Dari pengertian diatas dapat diketahui bahwa persediaan terdiri dari persediaan bahan baku, persediaan barang setengah jadi, dan persediaan barang jadi. Persediaan bahan baku dan barang setengah jadi di simpan sebelum di gunakan atau dimasukkan ke dalam proses. Persediaan menurut Moh. Benny Alexandri (2009:135) menyatakan : Persediaan adalah suatu aktiva yang melipiti barang-barang milik perusahaan dengan maksud untuk dijual dalam suatu periode usaha tertentu atau persediaan 35 barang-barang yang masih dalam pengerjaan atau proses produksi ataupun persediaan bahan baku yang menunggu penggunaannya dalam suatu proses produksi. 2.2.2.1 Tujuan Pengeloloaan Persediaan Suatu pengendalian persediaan yang dijalankan oleh suatu perusahaan sudah tentu memiliki tujuan-tujuan tertentu. Pengendalian persediaan yang dijalankan adalah untuk menjaga tingkat persediaan pada tingkat yang optimal sehingga diperoleh penghematan-penghematan untuk persediaan tersebut. Hal inilah yang dianggap penting untuk dilakukan perhitugan persediaan sehingga dapat menunjukan tingkat persediaan yang sesuai dengan kebutuhan dan dapat menjaga kontinuitas produksi dengan pengorbanan atau pengeluaran biaya yang ekonomis. Tujuan pengelolaan persediaan menurut Agus Ristono (2009:4) adalah : 1) Untuk dapat memenuhi kebutuhan atau permintaan konsumen dengan cepat (memuaskan konsumen). 2) Untuk menjaga kontinuitas produksi atau menjaga agar perusahaan tidak mengalami kehabisan persediaan yang mengakibatkan terhentinya proses produksi, hal ini dikarenakan : a. Kemungkinan barang (bahan baku dan penolong) menjadi langka sehingga sulit diperoleh, b. Kemungkinan supplier terlambat mengirimkan barang yang dipesan. 3) Untuk mempertahankan dan bila mungkin meningkatkan penjualan dan laba perusahaan. 4) Menjaga agar pembelian secara kecil-kecilan dapat dihindari, karena dapat mengakibatkan ongkos pesan menjadi besar. 5) Menjaga supaya penyimpanan dalam emplacement tidak besar-besaran karena akan mengakibatkan biaya menjadi besar. 2.2.2.2 Faktor-faktor Yang Menentukan Persediaan Yang menjadi masalah bagi perusahaan adalah bagaimana menentukan persediaan yang optimal, oleh karena itu perlu diketahui faktor-faktor yang mempengaruhi besar kecilnya persediaan. 36 Menurut Agus Ristono (2009:6) faktor-faktor yang menentukan persediaan adalah sebagai berikut : a. volume atau jumlah yang dibutuhkan, yaitu yang dimaksudkan untuk menjaga kelangsungan (kontinuitas) proses produksi. semakin banyak jumlah bahan baku yang dibutuhkan, maka akan semakin besar tingkat persediaan bahan baku. b. kontinuitas produksi tidak terhenti, diperlukan tingkat persediaan bahan baku yang tinggi dan sebaliknya. c. sifat bahan baku/penolong, apakah cepat rusak (durable good) atau tahan lama (undurable good). 2.2.2.3 Jenis dan Macam Persediaan Pembagian jenis persediaan dapat berdasarkan proses manufaktur yang dijalani dan berdasarkan tujuan. maka persediaan dibagi dalam tiga kategori yang sederhana dijelaskan oleh Agus Ristono (2009:7) yaitu: 1) Persediaan bahan baku dan penolong 2) Persediaan bahan setengah jadi 3) Persediaan bahan jadi Pembagian jenis persediaan berdasarkan tujuan terdiri dari : 1. Persediaan pengamanan (safety stock) Persediaan pengamanan atau sering pula disebut sebagai safety stock adalah persediaan yang dilakukan untuk mengantisipasi unsur ketidakpastian permintaan dan persediaan. Apabila persediaan pengamanan tidak mampu mengantisipasi tersebut, maka akan terjadi kekurangan persediaan (stockout). Faktor-faktor yang menentukan besarnya safety stock a. Pengunaan bahan baku rata-rata b. Faktor lama atau lead time (procurement time) 2. Persediaan antisipasi Persediaan antisipasi disebut sebagai stabilization stock merupakan persediaan yang dilakukan untuk menghadapi fluktuasi permintaan yang sudah dapat diperlukan sebelumnya. 3. Persediaan dalam pengiriman (transit stock) Persediaan dalam pengiriman disebut work-in process stock adalah persediaan yang masih dalam pengiriman, yaitu : 37 a. Eksternal transit stock adalah persediaan yang masih berada dalam transportasi. b. Internal transit stock adalah persediaan yang masihmenunggu untuk proses atau menunggu sebelum dipindahkan.