Makalah Seminar Tugas Akhir PENYAJIAN DATA INDUK MAHASISWA MENGGUNAKAN TEKNOLOGI WEB SERVICE Aris Wibowo1, Maman Somantri2, R. Rizal Isnanto2 Abstract There are some software that uses the same data (Master Data). If each software using and maintaining its own master data, its difficult to determine which the most true data. There should be a solution to unify the master data and allowing other software to access it. One possible way is to use a web service. Web services can be defined as software that provides services to other software using a set of protocols and standards. Other systems interact with the web service using a recognizable interface. Interaction between the service provider and client is using a message based on the principle of request and response, which is sent using the HTTP protocol with a specific format. In this study, will create a web service to deliver master data. Based on the research results, it can be concluded that master data can delivered by web service. Additionally, web service that was created can be accessed using different programming languages, such as PHP and Java. Keywords: Master Data, Web Service, REST I.
keterbatasan sehingga tidak mampu untuk mengakses data melalui jaringan komputer. Dari permasalahan tersebut di atas, beberapa sistem yang mengakses sentralisasi data induk bisa memanfaatkan konsep terdistribusi misalnya menggunakan web service, yaitu dengan cara menyediakan layanan yang akan diakses oleh perangkat lunak lain yang membutuhkan.
PENDAHULUAN
1.1. Latar Belakang Salah satu topik di bidang teknologi informasi yang pernah dan masih menjadi trend adalah konsep arsitektur perangkat lunak terdistribusi. Dengan konsep ini, memungkinkan terjadinya distribusi perangkat lunak ke dalam beberapa mesin untuk menjalankan serangkaian bisnis proses. Hal ini akan meningkatkan efisiensi sebuah sistem, karena akan semakin banyak komponen yang bisa digunakan oleh komponen lainnya. Sebagai contoh adalah adanya penggunaan tipe data yang sama di dalam beberapa perangkat lunak. Misalnya, data mahasiswa yang digunakan dalam Sistem Informasi Akademis, dan juga Sistem Informasi Keuangan Mahasiswa. Data-data yang sama dan digunakan di beberapa tempat dinamakan data induk (Master Data). Jika tiap-tiap perangkat lunak memiliki dan memelihara sendiri data induk, akan muncul kesulitan dalam menentukan data mana yang paling benar. Salah satu solusi yang mungkin bisa digunakan adalah sentralisasi data induk dan kemudian digunakan secara bersama-sama. Data induk disajikan untuk digunakan lebih lanjut dalam perangkat lunak lainnya, dan bukan untuk disajikan secara langsung kepada pengguna. Dengan demikian, diperlukan suatu metode penyajian yang dapat memudahkan dalam pengembangan selanjutnya. Data induk juga harus bisa digunakan oleh perangkat lunak tanpa terbatas pada bahasa pemrograman yang digunakan, meskipun tidak dapat dipungkiri bahwa ada beberapa bahasa program yang mempunyai 1. 2.
1.2. Tujuan Tugas akhir ini bertujuan untuk mengimplementasikan teknologi layanan web (web service) dalam membangun layanan yang dapat menyajikan data induk mahasiswa untuk digunakan dalam perangkat lunak lain. Menganalisis pertukaran informasi yang diterima dan dikirimkan oleh Web service, dan membuktikan bahwa dalam implementasinya, Web service bersifat multi platform (tidak terbatas pada bahasa pemrograman tertentu). 1.3. Cakupan Masalah Dalam tugas akhir ini akan dibuat sistem yang memberikan layanan akses terhadap data induk mahasiswa untuk digunakan lebih lanjut di aplikasi lain. Kegiatan tersebut meliputi: a. Analisis, perancangan, dan implementasi web service yang memberikan layanan akses terhadap data induk. Web service akan dibangun menggunakan metode Restful Web service dan Windows Communication Foundation. b. Pembuatan contoh aplikasi yang mengakses layanan data induk dengan bahasa program yang berbeda, yaitu php dan java.
Mahasiswa Teknik Elektro Universitas Diponegoro Dosen Teknik Elektro Universitas Diponegoro 1
2.4. WCF Data Service WCF Data Service (sebelumnya dinamakan ADO .Net Data Service) merupakan gabungan dari pola-pola (pattern) dan teknologi yang memungkinkan untuk membuat dan mengakses layanan data melalui Web dan Intranet. WCF Data Service menampilkan data dalam bentuk resource yang dapat dialamatkan melalui sebuah URI. Dengan metode ini, WCF Data Service merupakan implementasi REST. WCF (Windows Communication Foundation) adalah sebuah model pemrograman yang digunakan untuk membuat aplikasi yang berorientasi pada layanan (service-oriented). Untuk mengakses WCF Data Service, Microsoft memberikan spesifikasi teknis tentang bagaimana berkomunikasi dengan WCF Data Service. Spesifikasi tersebut dinamakan Open Data Protocol (OData). OData adalah sebuah protokol yang digunakan untuk membuat layanan data berdasarkan REST. Dengan menggunakan OData, sebuah aplikasi dapat menampilkan data dengan menggunakan teknologi web yang sudah biasa digunakan. Layanan data ini nantinya dapat digunakan oleh client yang berada di jaringan intranet maupun internet.
II. LANDASAN TEORI
2.1. Data Induk Data Induk (Master Data) didefinisikan sebagai data yang telah dibersihkan, telah mengalami rasionalisasi, dan telah terintegrasi kedalam sistem pencatatan berskala enterprise untuk aktifitas bisnis.. Loshin mendefinisikan Data Induk sebagai obyek bisnis utama yang terdapat di beberapa aplikasi dalam suatu organisasi. 2.2. Web Service World Wide Web Consortium (W3C) menjelaskan definisi Web service sebagai sebuah sistem perangkat lunak yang didesain untuk mendukung interoperabilitas interaksi antar mesin/komputer melalui suatu jaringan komputer. Terdapat spesifikasi untuk web service, yaitu WS-*. WS-* didefinisikan sebagai kumpulan peraturan web service yang berbasiskan SOAP dan telah distandarisasi. Web Service yang mengimplementasikan spesifikasi WS-* dinamakan sebagai Big Web Service. 2.3. Restful Web Service REST adalah sebuah metode dalam menyampaikan resource melalui media web. Sedangkan resource sendiri didefinisikan sebagai segala sesuatu yang dapat disimpan di dalam sebuah komputer dan ditampilkan sebagai urutan bit, misalnya sebuah dokumen, tabel dalam sistem basis data, atau hasil dari sebuah perhitungan. Didalam RESTful Web service, sesuatu dapat dikatakan sebagai “Resource” jika mempunyai minimal satu buah URI (Universal Resource Identifier). URI akan menjadi identitas yang akan menunjukkan nama dan alamat dari resource di web Web server tidak dapat mengirimkan resource secara langsung, melainkan melalui kumpulan bit, dalam format tertentu, dan dalam bahasa tertentu. Inilah yang dinamakan representasi dari resource. Mengingat bahwa sebuah resource bersifat dinamis dan bisa berubah kapan saja, maka representasi yang dikirimkan/ditransfer adalah kondisi (state) resource pada saat diakses oleh client. Perbedaan mendasar layanan Big Web service dan layanan REST adalah bahwa Big Web Service bersifat activity-oriented yaitu berdasarkan pada “apa yang bisa dilakukan”, sedangkan REST lebih cenderung kepada “apa yang bisa digunakan”.
III. LAYANAN DATA INDUK MAHASISWA
3.1. Kebutuhan Sistem Untuk dapat membuktikan apa yang menjadi permasalahan tugas akhir ini, maka dibuatkan model simulasi sebagai berikut: 1. Layanan data induk mahasiswa. Layanan data induk ini diharapkan dapat diakses oleh beberapa perangkat lunak yang membutuhkan. Dalam hal ini adalah: Situs web Sistem Informasi Akademis. Situs web Informasi Beasiswa dan Pendaftaran Beasiswa. Situs web Sistem Informasi Pendaftaran Mahasiswa Baru, yang digunakan sebagai sumber data pada waktu pembuatan data induk mahasiswa. deployment Nodes
Master Data
Database
«use»
«use»
SPMB
«use»
SIA
«use»
Info Beasisw a
Gambar 3.1. Komponen sistem 2
uc SPMB SPMB
2. Layanan data induk sebagai sumber autentikasi pengguna terhadap sistem. Gambar 3.1 menunjukkan komponen yang terdapat dalam tugas akhir ini.
Submit SPMB Data Store
Calon Mahasisw a
Export
Validate User
«include»
Admin
3.2. Desain Data Induk Dalam data induk ini ada beberapa domain data yang perlu dimasukkan ke dalam sistem, yaitu: 1. Struktur Organisasi, mencakup daftar fakultas, jurusan, dan konsentrasi jurusan. 2. User/Pengguna. Digunakan untuk melakukan autentikasi mahasiswa. 3. Mahasiswa. Bertujuan untuk mengatur dan menyimpan data-data mahasiswa. 4. Dosen. Bertujuan untuk mengatur dan menyimpan data-data dosen. 5. Mata Kuliah. Digunakan untuk menyimpan data mata kuliah di tiap jurusan. 6. Alamat. Digunakan untuk menyimpan data alamat mahasiswa, dosen, maupun orang tua mahasiswa. 7. Sekolah. Digunakan untuk menyimpan data induk sekolah, data ini digunakan pada situs web SPMB. Dari model data tersebut, nantinya akan dibuatkan database dan layanan data dengan menggunakan ADO .Net Data Service.
Master Data
Show User
Gambar 3.2. Use Case SPMB 2. Aplikasi SIA yang akan membaca data dari induk menggunakan bahasa program php. Gambar 3.3 menjelaskan Use Case yang terjadi di aplikasi SIA. uc SIA SIA
Authenticate Authentication Serv ice
SubmitKRS User
Show MataKuliahList
MasterData
Gambar 3.3. Use Case SIA 3. Aplikasi info beasiswa, yang akan membaca data dari data induk menggunakan bahasa program java. Gambar 3.4 menggambarkan Use Case yang terjadi pada aplikasi info beasiswa.
3.3. Layanan Autentikasi Layanan autentikasi digunakan untuk mencocokkan username dan kata sandi yang diberikan oleh pengguna melalui aplikasi client dengan username dan kata sandi yang ada di database. Layanan ini dibuat dengan framework WCF. Sesuai fungsinya, layanan ini akan menampilkan satu buah service operation, yaitu Authenticate dengan dua buah parameter, yaitu username dan password. Kedua parameter ini mempunyai tipe data String. Jika proses autentikasi berhasil, akan mengembalikan response berupa ID dari pengguna dengan tipe integer.
uc Info Beasisw a Info Beasiswa
Authenticate User
Authentication Serv ice
Show UserList
«invokes»
Beasisw a Data Store Show InfoList
«invokes»
Show Beasisw aDetail
«invokes»
Submit
3.4. Aplikasi Client Terdapat tiga aplikasi client untuk membuktikan bahwa layanan data induk dapat berfungsi. Aplikasi-aplikasi tersebut adalah: 1. Aplikasi SPMB, digunakan sebagai input terhadap layanan data induk. Jika digambarkan dalam diagram Use Case, aplikasi ini akan seperti pada Gambar 3.2.
Master Data
Gambar 3.4. Use Case Info Beasiswa. IV. PENUTUP
4.1. Kesimpulan 1. Web service dapat digunakan sebagai jembatan antara beberapa aplikasi sehingga aplikasi/sistem lain dapat mengakses data tanpa berhubungan langsung dengan database.
3
[6] Shaw, J. dan Evan, S., Pro ADO .Net Data Services: Working with restful data. Apress, 2009. [7] Weerawarana, S., Curbera, F., Leymann, F., dan Storey, T., Web services Platform Architecture: SOAP, WSDL, WS-Policy, WS-Addressing, WS-BPEL, WS-Reliable Messaging, and More, New Jersey, Pearson Education, Inc, 2005. [8] ---, Java API for XML Web Service, http://en.wikipedia.org/wiki/Java_API_fo r_XML_Web_Services, Februari, 2011. [9] ---, Restlet, http://wiki.restlet.org/docs_2.0/13restlet/21-restlet.html, Februari, 2011. [10] ---, soapclient, http://php.net/manual/en/class.soapclient. php, Februari, 2011.
2. Web service dalam format Big-Web Service maupun REST dapat diakses oleh aplikasi lain meskipun dengan bahasa program yang berbeda. 3. Berdasarkan hasil pengujian aplikasi dapat disimpulkan bahwa konsep data induk menggunakan web service sudah dapat berjalan. 4. Web service dapat digunakan sebagai sarana autentikasi secara terpusat, meskipun dalam lingkup yang sederhana. 5. Client dan web service berkomunikasi menggunakan HTTP Request berupa POST dan GET. 6. Client yang dibuat menggunakan bahasa program Java, dapat mengakses Restful web service menggunakan pustaka restlet. Sedangkan untuk mengakses WCF dapat menggunakan JAX-WS. 7. Client yang dibuat menggunakan bahasa program PHP, dapat mengakses Restful web service dengan bantuan Open Data SDK untuk PHP. Sedangkan untuk mengakses WCF, menggunakan pustaka soap client. 4.2. Saran 1. Dalam tugas akhir ini belum memperhitungkan keamanan sistem. Untuk pengembangan lebih lanjut dapat dilakukan dengan menggunakan https. 2. Client yang mengakses data induk masih menggunakan satu jenis account, sehingga mempunyai hak akses yang sama. Akan lebih baik jika dapat membedakan hak akses masing-masing client. 3. Meskipun penggunaan pustaka restlet, JAX-WS, Open Data SDK, dan soap client dapat membuktikan interoperabilitas web service, namun tidak menutup kemungkinan adanya library-library lain yang lebih fleksibel dan lebih mudah. DAFTAR PUSTAKA [1] Berson, A. dan Dubov, L., Master Data Management and Customer Data Integration for a Global Enterprise, New York, McGraw-Hill, 2007. [2] Loshin, D., Master Data Management, Morgan Kaufmann, 2009. [3] Microsoft. Visual Studio 2010 Library, 2010. [4] Microsoft. MS-ODATA Open Data Protocol (OData) Specification, 2011. [5] Richardson, L. dan Ruby, S., RESTful Web services, O'REILLY, 2007.
4
BIODATA Aris Wibowo (L2F307009) dilahirkan di Pacitan, 2 Oktober 1980. Mahasiswa Teknik Elektro Reguler2 tahun 2007, Bidang konsentrasi Teknik Informatika dan Komputer, Universitas Diponegoro Semarang. Email:
[email protected]. id
Semarang,
April 2012
Menyetujui dan mengesahkan,
Pembimbing I
Maman Somantri, ST, MT. NIP. 197406271999031002 Tanggal...........................
Pembimbing II
R. Rizal Isnanto, S.T., M.M., M.T. NIP. 197007272000121001 Tanggal.............................