INTEGRASI DATA KEPEGAWAIAN BPPT MENGGUNAKAN METODE DATABASE MAP REDUCE RADEN PUTRI AYU PRAMESTI DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2015 DAFTAR ISI DAFTAR TABEL vi DAFTAR GAMBAR vi DAFTAR LAMPIRAN vi PENDAHULUAN 1 Latar Belakang 1 Tujuan Penelitian 2 Manfaat Penelitian 2 Ruang Lingkup Penelitian 2 TINJAUAN PUSTAKA 2 Basis Data 2 Database Management System (DBMS) 3 Map Reduce 3 METODE 4 Struktur MapReduce 4 MapReduce Process 5 Manage Process 5 Select Operation 5 Collect Process 5 Lingkungan Pengembangan Sistem 6 DAFTAR GAMBAR 1 Struktur Metode MapReduce 4 1 PENDAHULUAN Latar Belakang Saat ini di hampir di setiap Instansi tengah dikembangkan penerapan Sistem Informasi berbasis komputer atau dikenal dengan e-government. Sistem informasi ini biasanya meliputi input dan pengolahan data yang kemudian akan menghasilkan keluaran berupa informasi atau laporan yang dibutuhkan pengguna. Badan Pengkajian dan Penerapan Teknologi (BPPT) adalah salah satu lembaga pemerintahan non departemen di bawah koordinasi Kementrian Negara Riset dan Teknologi yang menjalankan e-government. Dalam pelaksanaannya egorvernment di lingkungan BPPT didukung oleh beberapa sistem dengan struktur data dan lokasi yang berbeda. Sistem tersebut diantaranya sistem infomasi penggajian, sistem informasi absensi, sistem kinerja individu, sistem perijinan online dan lain-lain. Salah satu permasalahan yang terjadi saat menerapkan sistem informasi dalam suatu organisasi atau instansi adalah saat banyaknya sumber data tersebar di suatu instansi atau organisasi tersebut yang terpisah-pisah di masing-masing sistem atau aplikasi (Sutanta, et al 2010). Masing-masing sistem dirangcang sesuai dengan kebutuhannya. Ada beberapa kebutuhan data yang sama untuk setiap sistem seperti data kepegawaian. Setiap sistem memiliki data kepegawaian dengan lokasi dan format yang berbeda, sehingga akan menimbulkan kerangkapan data kepegawaian, hal ini bisa menjadi potensi ketidakkonsistenan data. Untuk menyatukan data yang tersebar tersebut dibutuhkan integrasi data. Integrasi data dari berbagai sumber dan struktur yang berbeda bukan hal yang mudah. Seringkali ditemukan hambatan dalam melakukan integrasi data. Beberapa hambatan yang ditemuka diantaranya (Buneman 1997) : 1 Penggunaan platform perangkat keras dan perangkat lunak yang berbeda-beda di setiap sumber data 2 Arsitektur dan bentuk penyimpanan data yang berbeda-beda Salah satu metode yang dipakai saat ini untuk mengatasi hal tersebut adalah dengan Map Reduce-virtual database seperti yang telah dilakukan (Yuan Yulai etc, 2010). Struktur virtual database terdiri dari empat komponen utama yaitu : Mapper, Publisher, Executor, dan wrapper. Mapper menentukan skema global yang sesuai dengan informasi yang ada pada seluruh sumber data. Publisher menyediakan bahasa query untuk mengakses dan mengoperasikan data yang ditunjukkan oleh skema global. Executor bertugas untuk mengeksekusi sub-query, menggabungkan hasil query dan menangani permasalahan dan inkonsistensi hasil query. Wrapper bertugas untuk menerjemahkan hasil sub query ke bentuk yang mudah dapat dipahami. Map Reduce merupakan framework yang dikenalkan oleh google untuk memfasilitasi pengolahan data yang tersimpan secara terdistribusi dengan cara menguraikan pemrosesan data menjadi 2 fase yaitu fase map dan fase reduce. Penelitian ini akan mencoba untuk menerapkan metode Map reduce virtual database untuk menangani integrasi data yang tersebar di server lingkungan BPPT 2 sehingga data yang tersebar bisa dimanfaatkan secara optimal dan mengurangi terjadinya inkonsistensi data. Tujuan Penelitian Tujuan dilakukannya penelitian ini adalah untuk menerapkan metode Map Reduce Virtual Database dalam integrasi data yang tersebar pada beberapa aplikasi aplikasi BPPT dengan lokasi server yang berbeda-beda. Manfaat Penelitian Manfaat penelitian ini adalah untuk mengoptimalkan data yang tersebar di beberapa sumber database badan pengkajian dan penerapan teknologi, serta meminimalisasi inkonsistensi data. Ruang Lingkup Penelitian 1. 2. Ruang lingkup dari penelitian ini adalah : Sumber data yang digunakan adalah basisdata kepegawaian Badan Pengkajian dan Penerapan Teknologi yang diperoleh dari Biro SDMO, data absensi dan SKI dari Pusat Data Informasi dan Standardisasi serta data penggajian dari Biro keuangan. Sumber data yang digunakan tersebar di server yang terhubung melalui jaringan internal (intranet). TINJAUAN PUSTAKA Basis Data Basis data memiliki prinsip kerja dan tujuan yang sama, yaitu prinsip utamanya sebagai pengaturan, pemilahan, pengelompokan dan pengorganisasian data atau arsip. Dan tujuan utamanya adalah kemudahan dan kecepatan dalam pengambilan kembali data atau arsip (Fathansyah, 2004). Basis data dapat disertakan dengan bahan baku suatu produksi dalam proses produksi yang apabila bahan baku tidak tersedia, maka semua proses atau kegiatan produksi akan terhenti. Menurut Stephen dan Plew (2000), basis data adalah mekanisme yang digunakan untuk menyimpan informasi atau data. Dengan basis data, pengguna dapat menyimpan data secara terorganisasi. Setelah data disimpan, informasi harus mudah diambil. Kriteria dapat digunakan untuk mengambil informasi. Cara data disimpan dalam basis data yaitu menentukan seberapa mudah mencari informasi berdasarkan banyak kriteria. Data harus mudah ditambahkan ke dalam basis data, dimodifikasi, dan dihapus. Menurut Abdul (2003) basis data (database) adalah suatu pengorganisasian sekumpulan data yang saling terkait sehingga memudahkan aktivitas untuk memperoleh informasi. 3 Database Management System (DBMS) Database Management System (DBMS) merupakan kumpulan program perangkat lunak yang memperbolehkan user membuat dan memelihara database. Proses itu terdiri dari defining, constructing dan manipulating. Defining adalah proses menspesifikasikan tipe, struktur dan constrain data untuk disimpan dalam database. Constructing adalah proses menyimpan data ke dalam berbagai macam media yang pengendaliannya diatur oleh DBMS. Sedangkan manipulating adalah fungsi untuk menampilkan data, mengubah dan membuat report dari data yang ada. Menurut Abdul Kadir (2003), fitur yang umumnya terdapat pada sistem manajemen basis data adalah sebagai berikut : 1. Independensi dataprogram, basis data ditangani oleh sistem manajemen basis data sehingga program yang dapat ditulis dan tidak tergantung pada struktur data dalam basis datanya. 2. Keamanan, menjaga hak akses data dari orang yang tidak berwenang. 3. Integritas, menjaga agar data selalu dalam keadaan yang valid dan konsisten. 4. Konkurensi, memungkinkan data dapat diakses oleh banyak pemakai tanpa menimbulkan masalah. 5. Pemulihan (recovery), sistem manajemen basis data menyediakan mekanisme untuk mengembalikan basis data ke keadaan semula yang konsisten. 6. Katalog sistem, deskripsi tentang data yang terkandung dalam basis data yang dapat diakses oleh pemakai. 7. Perangkat produktivitas, menyediakan kemudahan bagi pemakai dan meningkatkan produktivitas seperti pembangkit query dan pembangkit laporan. SQL SQL digunakan untuk berkomunikasi dengan database. Menurut ANSI (American National Standards Institute), SQL merupakan bahasa standar untuk sistem manajemen database relasional. Perintah SQL digunakan untuk melakukan tugas-tugas seperti membuat, mengolah, menampilkan dan menghapus data. Beberapa sistem manajemen database relasional umum yang menggunakan SQL adalah : Oracle, Sybase, Microsoft SQL Server, Access, Mysql, dll. Menurut Janner dan Iman (2006) semua sistem manajemen basis data memiliki dua macam bahasa yaitu bahasa pendefinisian data (Data Definition LanguageDDL) dan bahasa manipulasi data (Data Manipulation LanguageDML) untuk menyatakan query dan update basisdata. Hasil kompilasi dari pernyataanpernyataan DDL disimpan dalam berkasberkas spesial yang disebut katalog sistem, kemudian memadukan dengan metadata yaitu data yang menjelaskan objekobjek basis data. Perintah yang digunakan oleh bahasa manipulasi data (DML) yaitu mengambil, menambah, mengubah dan menghapus data pada basis data. Map Reduce MapReduce adalah model pemrograman rilisan Google yang ditujukan untuk memproses data berukuran raksasa secara terdistribusi dan paralel dalam 4 cluster yang terdiri atas ribuan computer (Abror Fk, Suadi W). Dalam memproses data, secara garis besar MapReduce dapat dibagi dalam dua proses yaitu proses Map dan proses Reduce. Kedua jenis proses ini didistribusikan atau dibagibagikan ke setiap komputer dalam suatu cluster (kelompok komputer yang salih terhubung) dan berjalan secara paralel tanpa saling bergantung satu dengan yang lainnya. Proses Map bertugas untuk mengumpulkan informasi dari potonganpotongan data yang terdistribusi dalam tiap komputer dalam cluster. Hasilnya diserahkan kepada proses Reduce untuk diproses lebih lanjut. Hasil proses Reduce merupakan hasil akhir yang dikirim ke pengguna. METODE Struktur MapReduce Pada Gambar 2 terdapat contoh dari struktur MapReduce-based execute engine. Execution Engine terdistribusi secara paralel oleh sistem dengan unit terkecilnya merupakan proses. Setiap proses dari execute engine disebut dengan worker. Selain tiga proses utama pada execute engine yaitu map only process, reduce only process dan mapreduce process ada dua proses lain yang penting yaitu manage process dan collect process. Seperti terlihat pada Gambar 2 execute engine controller mengirim sejumlah query ke worker saat worker memberikan tugas kepada master yang bertugas untuk mengelola pekerjaan dari para worker. Eksekusi dari tiap tugas yang diberikan master pada worker lain berjalan secara paralel (Yuan, et al 2010). Execute Engine Controler Assign Map Task worker worker worker Map Process worker worker worker Reduce Process List of Queries worker Assign Map Reduce Task master Assign Reduce Task Assign Collect Task worker Manage Process Gambar 1 Struktur Metode MapReduce Collect Process 5 MapReduce Process Pertama proses map menganalisa data masukkan dan memetakan data ini pada beberapa reduce worker, reduce worker ini memuat data dari master worker dan data ini dirampingkan (reduce) dengan menggunakan pre-defined algotrithm. Map worker mengeksekusi query, kemudian menerjemahkan hasil query tersebut menjadi kumpulan kunci dan nilai, dan membagi kumpulan nilai ini untuk diproses oleh reduce worker. Reduce worker memuat data yang telah sidiapkan oleh map proses kemudian melakukan penggabungan data sesuai dengan sistem yang telah ditentukan. Manage Process Manage process bisa disebut sebagai inti dari sistem pengeksekusi query. Proses ini menerjemahkan daftar query menjadi tugas yang bisa dieksekusi. Proses ini juga bertanggung jawab untuk mengirimkan kembali kepada parses engine yang nantinya akan ditampilkan kepada user. Tugas dari manage process berbeda dengan master (worker). Master memberikan tugas pada worker yang idle (sedang tidak bertugas), memonitor satus dari tugas yang sedang dikerjakan worker dan memastikan proses berjalan dengan baik. Sedangkan manage process menentukan strategi dari eksekusi query, menentukan jumlah dari worker dan jumlah proses mapreduce, menghasilkan tugas untuk masing-masing worker dan mengirimkannya ke master worker. Select Operation Operasi select merupakan operasi yang sering digunakan dalam virtual database, ketika sistem virtual database menerima query select, virtual database akan menguraikan query tersebut menjadi beberapa sub query sesuai dengan sumber datanya.Saat sub query telah dihasilkan, pengelola peroses di sistem pengeksekusi queri menentukan prosedur proses map & reduce, jumlah map worker & reduce kemudian mengeksekusi sub query tersebut. Secara umum proses select dapat selesai dalam satu kali proses map dan reduce. Collect Process Hasil dari proses reduce sebagian besar didistribusikan pada beberapa mesin dan collector bertugas untuk mengumpulkan dan menggabungkan data yang tersebar tersebut. Seperti halnya reduce worker, collect worker juga harus menerjemahkan hasil dari proses pengumpulannya ke dalam format yang bisa dikenali oleh modul yang lain dari sistem database virtual kemudian mengirimkan hasil terjemahan tersebut kembali ke parser engine. 6 Lingkungan Pengembangan Sistem Proses pengerjaan penelitian ini menggunakan perangkat keras dan perangkat lunak dengan spesifikasi sebagai berikut : Perangkat keras berupa notebook: Processor Intel Pentium Core2Duo @1.99GHz, RAM kapasitas 2 GB, Harddisk kapasitas 250GB, Monitor dengan resolusi 1280x800 piksel. Perangkat lunak berupa: Sistem operasi Microsoft Windows 7 Service Pack 1x. Hadoop MapReduce. PHP 5.6 Apache 2.4 DAFTAR PUSTAKA Abdul Kadir. 2003. Dasar Aplikasi Database MySQL- Delphi. Yogyakarta : ANDI. Abror FK, Suadi W. Komputasi Pembobotan Dokumen Berbahasa Indonesia Menggunakan MapReduce. [skripsi]. Surabaya(ID); Institut Yeknologi Sepuluh November. Buneman P. 1997. Semistructure Data. Proceeding of the Sixth ACM SIGACTSIGMOD-SIGART Symposium on Principles of Database Systems. Fathansyah. 2004. Sistem Basis Data Lanjut. Bandung : Informatika. Janner Simarmata dan Iman Paryudi. 2006. Basis Data, Edisi Pertama. Yogyakarta: Andi. Stephens R, Plew R. 2000. Database Design. Carmel: SAMS Publishing. Sutanta, et al. Model Integrasi Antar Sistem E-Gov dengan Memanfaatkan Database Kependudukan Nasional. Jurnal Teknologi Indonesia. Volume 5 Nomor 1. Yuan Y, et al. 2010. VDB-MR: MapReduce-based distributed data integration using virtual database. Future Generation Computer Systems. Volume 26, hlm 1418-1425.