integrasi data kepegawaian bppt menggunakan metode - E

advertisement
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.
Download