ebook img

Sebuah Kajian Pustaka PDF

14 Pages·2016·0.39 MB·English
by  
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Sebuah Kajian Pustaka

PENGAMANAN WEB SERVICE STUDI KASUS SISTEM INFORMASI AKADEMIK STMIK EL RAHMA Eko Yunianto1, Eko Riswanto2 1Teknik Informatika STMIK El Rahma, 2 Teknik Informatika STMIK El Rahma e-mail: [email protected], [email protected] Abstract Interoperability is a urgent part in building a information system. The more dynamic and flexible a information system, it will be easier to do development. One form of the flexibility of the system is to utilize the web service. With the opening of a service system, we need a data security. One method is OAuth 2 which will perform the data access restrictions for each client. From the concept of interoperability of web service systems are built then for its implementation can be assembled an Academic Information System. This system is built with a simple server from Node JS, using technology as a Restful web service technology, OAuth 2 as a method of securing resources and Mongo DB as a data storage medium. While the framework is used at the core of the system is Sails JS which is one of the Realtime MVC framework on Node JS with a little coding (less coding). Keywords: Node JS, Restful, Mongo DB, web service, OAuth 2, Sails JS PENDAHULUAN Teknologi informasi terus berkembang denganmenggunakan teknologi-teknologi baru yang mendukungnya. Salah satu teknologi yang mendukung teknologi informasi adalah komputasi terdistribusi (distributed computing) yang memungkinkan dilakukan komputasi pada banyak mesin, dan hasilnya dimanfaatkan oleh banyak mesin. Perkembangan teknologi ini terjadi setelah ditemukanya teknologi web. Teknologi komputasi terdistribusi yang di maksud adalah web service. Konsep web service dikembangkan untuk mengintegrasikan sistem-sistem informasi tanpa mempermasalahkan perbedaanplatform yang digunakan oleh masing-masing sumber [1]. Web service merupakan sebuah cara terbaik dan baru untuk membangun sistem perangkat lunak yang berorientasi pada distribusi komponen. Teknologi web service masih dikembangkan, sehingga untuk membangun sebuah layanan web yang mampu mengintegrasikan banyak sistem dengan menciptakan sebuah sistem terintegrasi yang handal dan aman dari serangan masih sulit untuk dilakukan. Permasalahan yang sering terjadi adalah dari aspek keamanan dan bagaimana cara mengintegrasikan dan mengembangkan sebuah sistem denganberbagai macam teknologi yang berbeda [2].(cid:0) Salah satu metode pengaman adalah denganmelakukan pembatasan akses data. Pembatasan akses yang di maksud adalah interaksi yang di ijinkan oleh pengguna terhadap aplikasi pihak ketiga yang akan mengakses data pada server. Metode pengamanan ini disebut dengan OAuth [3]. STMIK El Rahma yang selanjutnya di sebut dengan El Rahma adalah salah satu institusi pendidikan tinggi yang mempunyai lokasi di Yogyakarta. Sebagai institusi pendidikan, El Rahma mempunyai sebuah sistem manajemen untuk mengelola kegiatan akademik yang selanjutnya disebut dengan SIMAK. SIMAK El Rahma dibangun berbasis web application dengan Apache Web Server yang selanjutnya disebut Apache dan menggunakan PHP Hypertext Preprocessor yang selanjutnya disebut PHP. SIMAK El Rahma mempunyai tiga fungsi pokok yaitu pengisian Kartu Rencana Studi (KRS), penilaian hasil belajar mahasiswa oleh dosen dan pencetakan Kartu Hasil Studi (KHS) termasuk juga transkrip nilai. Sebuah aplikasi yang berbasis web application memerlukan resource yang besar karena semua data dibebankan dan di proses oleh server. Karena hal tersebut, jika sebuah web application diakses oleh banyak user dalam satuan waktu, akan membuat respon dari sistem menjadi lambat. Ini terjadi di semua sistem yang berbasis web application. Hasil survei yang dilakukan oleh Juniper Research dimana rata-rata pengguna menunggu untuk sebuah halaman web adalah 4 detik. Sedangkan peforma PHP dan apache mempunyai tren waktu tunggu naik setiap pertambahan pengguna [4]. METODE PENELITIAN 1. Metode Penelitian a. Metodologi Analisis Metode yang dipakai untuk menganalisa dan merancang web service pada SIMAK El Rahma ini adalah . i. Observasi Observasi dilakukan dengan cara melakukan test secara langsung dengan menggunakan SIMAK El Rahma yang berjalan. ii. Literatur Metodologi ini digunakan untuk menambah data dan informasi guna menunjang pembangunan sistem dengan mempelajari buku-buku yang berisi konsep dan teori yang akan digunakan sebagai dasar dari pengembangan penulisan laporan ini. b. Metodologi Perancangan Tahapan dalam metodologi menggunakan metode Software Development Life Cycle (SDLC) dengan urutan sebagai berikut[5]. i. System Analysis (Analisa Sistem) Karena piranti lunak selalu merupakan bagian yang lebih besar, tahap ini dimulai dengan membuat daftar kebutuhan untuk setiap elemen sistem dan mengalokasikan sebagian subset dari kebutuhan tersebut ke dalam piranti lunak. Tahapan ini sangat penting ketika piranti lunak harus bekerja sama dengan elemen lain seperti piranti keras, masyarakat dan basis data. Analisis dan perancangan sistem meliputi pengumpulan kebutuhan pada tingkat sistem ditambah dengan sedikit analisis dan perancangan tingkat akhir. ii. SoftwareRequirementsAnalysis(AnalisaKebutuhanSistem) Proses pengumpulan kebutuhan dilakukan dengan lebih intens dan lebih fokus pada piranti lunak. Untuk mengetahui sifat dari program yang akan dibuat, perancang piranti lunak harus mengerti baik ruang lingkup informasi piranti lumak maupun fungsi-fungsi, fitur dan antarmuka yang dibutuhkan. Kebutuhan yang harus dipenuhi baik sistem maupun piranti lunak akan didokumentasikan dan kemudian di-review bersama-sama dengan pelanggan. iii. Design (Desain) Perancangan piranti lunak adalah proses yang terfokus pada 3 atribut yang berbeda dari program struktur data, arsitektur piranti lunak, dan detail prosedur. Proses perancangan ini menerjemahkan kebutuhan menjadi sebuat representasi piranti lunak yang dapat diuji kualitasnya sebelum proses coding dimulai. Sama halnya dengan kebutuhan sistem, hasil peranancangan ini juga didokumentasikan dan menjadi bagian dari konfigurasi piranti lunak. iv. Coding Hasil rancangan dari tahap di atas harus diterjemahkan menjadi bahasa yang IJCCS Vol. x, No. x, July 201x : first_page – end_page 3 dapat dibaca oleh mesin, yang akan dilakukan dalam tahap coding. Jika perancangan dilakukan dengan detil, coding akan dapat dilakukan secara mudah. v. Testing Sesudah code dihasilkan, testing program dimulai. Proses testing difokuskan pada logika piranti lunak, memastikan bahwa setiap pernyataan sudah di uji, dan pada fungsi eksternal, yang dilakukan dengan menjalankan tes untuk memastikan input yang dimasukkan akan menghasilkan hal yang sama dengan hasil yang diinginkan. vi. Maintenance Piranti lunak pasti akan mengalami perubahan setelah dikirimkan ke pelanggan (salah satu pengecualian adalah embedded software). Perubahan akan terjadi karena error ditemukan, karena piranti lunak harus disesuaikan dengan linkungan eksternal, atau karena pelanggan membutuhkan peningkatan fungsi atau peforma. Perawatan sistem mengaplikasikan tahapan siklus hidup piranti lunak yang sebelumnya ke program yang sudah ada, bukan ke program yang baru. 2. Arsitektur Penyusun Sistem a. Mesin penyedia layanan Node.JS adalah sebuah platform untuk membangun real-time application. NodeJS dapat menangani event input-output server, dengan kata lain NodeJS dapat memungkinkan para developer Javascript untuk membuat event-drivenservers dalam JavaScript . Node JS adalah kompilasi dikemas Google mesin JavaScript V8, platform lapisan libUV abstraksi, dan perpustakaan inti, yang itu sendiri terutama ditulis dalam JavaScript [6]. Node.JS diciptakan oleh Ryan Dahl mulai tahun 2009, dan pertumbuhannya yang disponsori oleh Joyent, mantan atasannya. Tujuan asli Dahl adalah untuk membuat situs web dengan kemampuan push yang terlihat dalam aplikasi web seperti Gmail. Node.JS telah menjadi asynchronous framework popular untuk Javascript. Node JS merupakan aplikasi internet yang sangat scalable terutama web server. Program ini dituliskan dalam JavaScript, menggunakan event-driven, asynchronous I/O untuk meminimalkan overhead dan memaksimalkan skalabilitas. Node JS mengimplementasikan multipleWebsocket Servers dan mendukung protocol HTTP/1.1[6]. b. Media penyimpanan data Mongo DB adalah database dimana tiap tabel tidak memiliki relasi dengan tabel lainnya. Mongo DB berisi collection. Setiap collection terdiri dari documents. Setiap documents terdiri dari fields. Sebuah collections dapat di indexes, yang meningkatkan kinerja pengurutan data[7]. Ada 6 konsep yang harus di mengerti yaitu [8]: i. Mongo DB memiliki konsep yang sama dengan database lainnya seperti MySQL atau Oracle. Mongo DB dapat memiliki database lebih dari satu database, masing- masingnya bertindak sebagai “high level containers”. ii. Sebuah database dapat tidak memiliki collection atau lebih dari satu collection. Sebuah collection memiliki banyak kesamaan dengan table traditional pada database seperti MySQL. Sebuah collection dan tabel tradisional dalam hal ini dapat di anggap sama. iii. Sebuah database dapat tidak memiliki documents atau lebih dari satu documents. Sebuah documents dapat dianggap sama dengan sebuah row pada tabel tradisional. iv. Sebuah documents terdiri dari satu atau lebih fields atau columns. v. Indexes di Mongo DB seperti indexes di Relational Database (cid:0)Management System. vi. Cursors pada Mongo DB di gunakan untuk meminta atau memanggil (cid:0)data. c. Teknik transfer data REST (Representational State Transfer) pertama kali di kenalkan oleh Roy Fielding pada disertasinya untuk memperoleh gelar Ph.D. Restful di desain berdasarkan cara kerja orientasi objek tetapi bukan arsitektur yang berorientasi pada object. REST merupakan salah satu jenis web service yang menerapkan konsep perpindahan antar state. State disini dapat digambarkan seperti jika browser meminta suatu halaman web, maka server akan mengirimkan state halaman web yang sekarang ke browser. Bernavigasi melalui link-link yang disediakan sama halnya dengan mengganti state dari halaman web. Begitu pula REST bekerja, dengan bernavigasi melalui link-link HTTP untuk melakukan aktivitas tertentu, seakan-akan terjadi perpindahan state satu sama lain. Perintah HTTP yang bisa digunakan adalah fungsi GET, POST, PUT atau DELETE. Balasan yang dikirimkan adalah dalam bentuk XML sederhana tanpa ada protokol pemaketan data, sehingga informasi yang diterima lebih mudah dibaca dan di-parsing disisi client [9]. d. Teknik pengamanan data Gambar 1 Flow OAuth 2 [3] OAuth 2.0 authorization framework adalah aplikasi pihak ketiga yang membatasi akses pada HTTP. Pembatasan akses yang di maksud adalah interaksi yang di ijinkan oleh pengguna terhadap aplikasi pihak ketiga yang akan mengakses data pada server. Ptotokol OAuth 2.0 ini menggantikan protokol OAuth 1.0 [3]. Alur OAuth 2.0 authorization framework ditunjukkan oleh gambar 1. OAuth didefinisikan menjadi 4 aturan, yaitu : i. Penggunaan sumber pengguna Membutuhkan sebuah entitas dari pengguna untuk menjaga sumber data. Ketika sumber adalah seorang manusia maka akan di anggap sebagai pengguna biasa. ii. Penggunaan sumber server Pada server terdapat sebuah hosting server yang mempunyai kapabilitas untuk menerima, merespon dan memproteksi sumber dari permintaan menggunakan access token. IJCCS Vol. x, No. x, July 201x : first_page – end_page 5 iii. Pengguna Aplikasi membangun sebuah proteksi pada sumber data dimana untuk mengaksesnya harus menggunakan otoritas. Aturan pada sisi pengguna tidak berdampak pada implementasi aplikasi seperti di akses dari desktop, server dan perangkat lain. iv. Otoritas server Server memberikan sebuah access token setelah proses autentifikasi berhasil dilakukan. Access token ini akan digunakan sebagai kunci untuk melakukan akses pada sumber data. 3. Rancangan Sistem a. Diagram use case Sistem dirancang menggunakan metode Unified Modelling Language (UML). Tahapan pertama dari UML adalah membuat Use Case Diagram. Identifikasi aktor dan use case ini didasari pada kebutuhan fungsi-fungsi sistem. Kebutuhan akan fungsi ini diakomodir di use case. Selanjutnya use case menyediakan nilai hasil kepada actor. Atas dasar spesifikasi ini paling tidak di dapat cara menentukan actor[10]. Berdasarkan penjelasan mengenai use case, pemodelan sistem dilakukan untuk mendeskripsikan use case apa saja dan actor yang akan terlibat dalam sistem. Sedangkan secara aliran kerja, web service yang akan dibangun mengikuti alur data yang sudah ada seperti pada tabel 1. Tabel 1 Tabel requirement actor dan use case No Requirement Aktor Use-Case 1 Setelah terauthentikasi pada saat login, mahasiswa Mahasiswa Login dapat melihat daftar matakuliah tawaran, kemudian KRS melakukan pengisian KRS kemudian melakukan melakukan pencetakan KRS. 2 Mahasiswa melakukan kuliah selama satu semester Mahasiswa KHS sesuai dengan mata kuliah pada KRS kemudian dapat melihat daftar nilai pada matakuliah tertentu dan secara keseluruhan dalam KHS, kemudian mahasiswa dapat mencetak KHS dalam waktu tertentu dan atau keseluruhan 3 Dosen bisa melakukan pengisian nilai pada setiap Dosen Login mahasiswa yang di ampu setelah terauthentifikasi Form Nilai pada saat login 4 Admin setelah melakukan login mampu untuk Admin Login melakukan pengisian KRS, mengisi daftar nilai, dan KRS(cid:0)For juga melakukan pencetakan KHS m Nilai KHS Dari tabel rreeqquuiirreemmeenntt aaccttoorr dan use case bbiissaa ddii bbeennttuukk sseebbuuaahh rreellaassii ddaarrii use case dan actor sseebbaaggaaii llaannddaassaann ppeennggerjaan berikutnya ditunjukkan gambar 2. Gambar 2 . Use case diagram b. Diagram activity Diagram activity sssaaannngggaaattt bbbeeerrrggguuunnnaaa uuunnntttuuukkk mmmeeemmmooodddeeelllkkkaaannn kkkeeegggiiiaaatttaaannn yyyaaannnggg aaakkkaaannn dddiiilllaaakkkuuukkkaaannn ssaaaatt sseebbuuaahh ooppeerraassii ddiieekksseekkuussii ddaann uunnttuukk mmeemmooddeellkkaann hhaassiill-hhaassiill ddaarrii kkeeggiiaattaann-kegiatan iinnii,, sseeppeerrttii mmeemmooddeellkkaann event yang menyebabkan window aakkaann ddiittaammppiillkkaann aattaauu ditutup[10].. DDiibbaawwaahh iinnii mmeerruuppaakan simbol-ssiimmbbooll yyaanngg aaddaa ppaaddaa ddiiaaggrraamm aakkttiivviittaass.. Activity diagram tteennttaanngg ppeennggiissiiaann KRS bisa dilihat pada gambar 3. GGaammbbaarr 3 Activity diagram pengisian KRS Sedangkan aaccttiivviittyy ddiiaaggrraamm uunnttuukk pprroosseess ppeemmbbeerriiaann nniillaaii ddaarrii ddoosseenn kkeeppaaddaa ssiisstteemm dituunnjjuukkkkaann sseeppeerrttii ppaaddaa ggaammbbaarr 44. IJCCS VVooll.. xx,, NNoo.. xx,, JJuullyy 220011xx :: ffiirrsstt__ppaaggee – end_page 7 Gambar 4 Activity diagram pemberian nilai Activity diagram selanjutnya adalah diagram yang menggambarkan alur siswa dapat melakukan pengecekan nilai dan mencetak hasil belajar (KHS). Pada diagram ini digambarkan proses dari mulai melakukan login sampai dengan legalisasi oleh bagian admin. Proses secara lengkapnya bisa dilihat pada gambar 5. Gambar 5Activity diagram KHS c. DiagramSequence Sequence diagram secara grafis menggambarkan bagaimana objek berinteraksi satu sama lain melalui pesan pada eksekusi sebuah use case atau operasi. Sequence diagram mengilustrasikan bagaimana pesan terkirim dan diterima di antara objek dan dalam sekuensi/rangkaian[10]. Sequence diagram yang terbentuk meliputi sequence diagram pengisian krs seperti pada gambar 6, pemberian nilai seperti pada gambar 7 dan sequence diagram KHS seperti pada gambar 8. Ketiga sequence diagram tersebut menggambarkan alur data dari sistem informasi akademik yang di bangun pada penelitian. Sedangkan class diagram ditunjukkan oleh gambar 9. Gambar 6 Sequence diagram pengisian KRS IJCCS Vol. x, No. x, July 201x : first_page – end_page 9 Gambar 7Sequence diagram penilaian Gambar 8Sequence diagram KHS d. Diagram Class GGaammbbaarr 99Class Diagram Sistem Informasi Akademik HHAASSIILL DDAANN PPEEMMBBAAHHAASSAANN PPeenneelliittiiaann iinnii mmeemmbbeerriikkaann 66 bbuuaahh service uunnttuukk ddiigguunnaakkaann ddaallaamm mmeennggeemmbbaannggkkaann aapplliikkaassii aattaauu ddiigguunnaakkaann oolleehh service lain untuk bertukar iinnffoorrmmaassii.. BBeebbeerraappaa AAPPII yyaanngg disediakan adalah : 1. AAAPPPIII mmmaaahhhaaasssiiissswwwaaa yyyaaannnggg dddiiiggguuunnnaaakkkaaannn uuunnntttuuukkk mmmeeelllaaakkkuuukkkaaannn mmmaaannniiipppuuulllaaasssiii dddaaatttaaa pppaaadddaaa dddaaatttaaa mahasiswa. 2. AAAPPPIII DDDooossseeennn yyyaaannnggg dddiiiggguuunnnaaakkkaaannn uuunnntttuuukkk mmmeeelllaaakkkuuukkkaaannn mmmaaannniiipppuuulllaaasssiii dddaaatttaaa pppaaadddaaa dddaaatttaaa dddooossseeennn... 3. AAPPII mmaattaakkuulliiaahh yyaanngg ddiigguunnaakkaann uunnttuukk mmeellaakkuukkaann mmaanniippuullaassii ddaattaa ppaaddaa ddaattaa matakuliah. 4. AAAPPPIII jjjuuurrruuusssaaannn yyyaaannnggg dddiiiggguuunnnaaakkkaaannn uuunnntttuuukkk mmmeeelllaaakkkuuukkkaaannn mmmaaannniiipppuuulllaaasssiii dddaaatttaaa pppaaadddaaa dddaaatttaaa jjjuuurrruuusssaaannn... 5. AAAPPPIII nnniiilllaaaiii yyyaaannnggg dddiiiggguuunnnaaakkkaaannn uuunnntttuuukkk mmmeeemmmaaannniiipppuuulllaaasssiii dddaaatttaaa nnniiilllaaaiii pppaaadddaaa tttaaabbbeeelll kkkhhhsss 6. AAAPPPIII kkkrrrsss yyyaaannnggg dddiiiggguuunnnaaakkkaaannn uuunnntttuuukkk mmmeeelllaaakkkuuukkkaaannn mmmaaannniiipppuuulllaaasssiii dddaaatttaaa pppaaadddaaa dddaaatttaaa kkkrrrsss... 7. API kkkhhhsss yyyaaannnggg dddiiiggguuunnnaaakkkaaannn uuunnntttuuukkk mmmeeelllaaakkkuuukkkaaannn mmmaaannniiipppuuulllaaasssiii dddaaatttaaa pppaaadddaaa dddaaatttaaa kkkhhhsss... SSSeeelllaaannnjjjuuutttnnnyyyaaa pppeeemmmbbbaaatttaaasssaaannn hhhaaakkk aaakkkssseeesss dddaaatttaaa ttteeerrrhhhaaadddaaappp wwweeebbb ssseeerrrvvviiiccceee SSSiiisssttteeemmm IIInnnfffooorrrmmmaaasssiii AAAkkkaaadddeeemmmiiikkk mmmeeennngggggguuunnnaaakkkaaannn ttteeekkknnnooolllooogggiii OOOAAAuuuttthhh 222 dddiiimmmaaannnaaa dddiii bbbaaagggiii mmmeeennnjjjaaadddiii bbbeeebbbeeerrraaapppaaa mmmaaacccaaammm yaitu : 1. AAddmmiinn,, yyaaiittuu lleevveell aakksseess tteerrttiinnggggii yyaanngg ddiippeerrbboolleehhkkaann uunnttuukk mmeellaakkuukkaann aakksseess kkee semua API. 2. Second,,, yyyaaaiiitttuuu llleeevvveeelll aaakkkssseeesss IIIIII (((dddooossseeennn))) yyyaaannnggg dddiiipppeeerrrbbbooollleeehhhkkkaaannn uuunnntttuuukkk mmmeeelllaaakkkuuukkkaaannn ppeemmbbaahhaarruuaann ddaattaa ddoosseenn ddaann iinnppuutt nniillaaii ppaaddaa ffoorrmm nniillaaii.. 3. Third,,, yyyaaaiiitttuuu llleeevvveeelll aaakkkssseeesss IIIIIIIII (((mmmaaahhhaaasssiiissswwwaaa))) yyyaaannnggg dddiiipppeeerrrbbbooollleeehhhkkkaaannn uuunnntttuuukkk melakukan ppeemmbbaahhaarruuaann ddaattaa mmaahhaassiisswwaa,, kkrrss ddaann mmeelliihhaatt kkhhss.. IJCCS VVooll.. xx,, NNoo.. xx,, JJuullyy 220011xx :: ffiirrsstt__ppaaggee – end_page

Description:
Information System. This system is built with a simple server from Node JS, using technology as a Keywords: Node JS, Restful, Mongo DB, web service, OAuth 2, Sails JS. PENDAHULUAN .. [4] Padilla and Hawkins, 2010 , PRO PHP Aplication Performance, Apress, New York. [5] Juliadi D, Ariani T
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.