Anda di halaman 1dari 6

Judul Artikel Jurnal ISSN: 1858-3939 (Print)

IMPLEMENTASI SEKURITAS PADA WEB SERVICE


DENGAN MENGGUNAKAN AUTENTIFIKASI OKHTTP
PADA LIBRARI RETROFIT DI PIRANTI MOBILE
Aditya Agus Wisanto1, Fany Triwidiastuti2, Putri Rachmanda Priyadi3
1
Universitas Raharja / Teknik Informatika, Tangerang
2
Universitas Raharja / Sistem Informasi Manajemen, Tangerang
3
Universitas Raharja / Sistem Informasi Manajemen, Tangerang

E-mail: 1aditya.agus@raharja.info

Abstrak
Web service identik dengan interaksi komunikasi data yang sama pada suatu jaringan internet. Web service
biasanya menampilkan data – data untuk pengguna khususnya bagi para developer yang ingin mengolah data
tersebut tanpa mengetahui apakah keamanan datanya terjamin atau tidak. Sekuritas pada web service sangat
dibutuhkan untuk menunjang keamanan dan kenyamanan kepada penggunanya. Implementasi pada keamanan
web service ini bisa di encode saja, decode saja, atau keduanya menggunakan Restful Api, khususnya
menggunakan library Retrofit dengan implementasi OkHttp sebagai backend aplikasi android yang fungsinya
sebagai jembatan penghubung koneksi client dan server. Pada dasarnya, keamanan dari web service ini
menggunakan dasar autentifikasi yang memanfaatkan library Tuupola Basic Auth Middleware dari framework
Slim sebagai media pembuatan web service beserta keamanannya. Agar bisa mengakses web service tersebut,
diperlukan username dan password yang telah di tanamkan pada framework Slim PHP. Keamanan web service
pada backend aplikasi android dapat di akses dengan menggunakan implementasi OkHttp untuk menginputkan
penyandian melalui permintaan Header Authorization agar mendapatkan hak akses pada keamanan web service,
seperti menggunakan metode create, read, update, delete yang telah mendapatkan hak akses penyandian melalui
permintaan Header Authorization. Dengan adanya keamanan web service ini, data pada web service menjadi
terjamin keamanannya dan dapat memperoleh kenyamanan yang di inginkan dari metode tersebut.
Kata kunci: Tuupola Basic Auth Middleware, Framework Slim Restful Api, Keamanan Web Service

Abstract
Web service is identical to the same data communication interaction on an internet network. Web services
usually display data - data for users, especially for developers who want to process the data without knowing
whether data security is guaranteed or not. Security on web services is needed to support security and comfort
to its users. Implementation of this web service security can be encoded, decoded, or both using Restful Api,
especially using the Retrofit library with the implementation of OkHttp as a backend on an android application
that functions as a bridge connecting client and server connections. Basically, the security of this web service
uses an authentication basis that utilizes the Tuupola Basic Auth Middleware library from Slim framework as a
medium for creating web services and their security. In order to access the web service, a username and
password are required which have been embedded in the Slim PHP framework. Web service security on the
Android application backend can be accessed by using the OkHttp implementation to input encryption through
the Header Authorization request in order to obtain access rights on the web service security, such as using the
create, read, update, delete methods that have been granted encryption access rights through the Header
Authorization request . With the security of this web service, the data on the web service is guaranteed to be safe
and can obtain the desired comfort from that method.
Keywords: Tuupola Basic Auth Middleware, Slim Restful Fire Framework, Web Service Security

1. Pendahuluan Seiring perkembangnya zaman pada era


teknologi terkini, sangat memudahkan untuk

JI-Tech: Jurnal Ilmiah Sekolah Tinggi Teknologi Informasi NIIT, Juni 2020, Volume X, Nomor X | 1
Judul Artikel Jurnal ISSN: 2502-3357 (Print)

mengakses data dengan keamanan yang sudah Identifikasi masalah dalam penelitian ini
terjamin kualitasnya. Web service sangat berguna merupakan suatu tahapan yang dilakukan untuk
bagi para developer, khususnya untuk membuat mendapatkan suatu permasalahan yang terjadi pada
sebuah aplikasi mobile dengan menggunakan data kalangan developer yang kesulitan menggunakan
secara online yang langsung terintegrasi dari implementasi metode keamanan web service. Dari
website, sehingga website dan aplikasi mobile dapat permasalahan tersebut akan dirumuskan menjadi
berinteraksi sejajar dengan data yang sama. permasalahan yang lebih khusus dan terperinci.
Banyak terjadi di sekitar peneliti sebagai Sehingga peneliti dapat memberikan solusi yang
developer dalam penggunaan teknologi web service terbaik untuk kedepannya sebagai acuan metode
ini, tidak menjamin akan keamanannya untuk penggunaan keamanan web service yang lebih
pengaksesan di luar jangkauan yang aksesnya sederhana.
sangat besar secara global, sehingga sulit untuk
menjamin keamanan tersebut. Oleh karena itu, para 2.2. Analisa Kebutuhan
developer wajib memasang sistem keamanan pada Analisa kebutuhan bertujuan untuk
sistem web service masing – masing agar menjaga mengidentifikasi kebutuhan para developer
kenyamanan user dalam penggunaannya. Dalam terhadap aplikasi yang dibuat. Kebutuhan tersebut
implementasi keamanan web service terdapat meliputi teknik pembuatan code yang singkat dan
beberapa library yang dapat digunakan, tujuannya mempercepat kinerja developer untuk membangun
agar mempermudah proses implementasi tersebut. sebuah aplikasi secara efisien.
Library merupakan kumpulan resource non
- volatile yang digunakan oleh program komputer 2.3. Perancangan Keamanan Web Service
dan sering digunakan untuk mengembangkan Framework Slim yang telah di hosting akan
software. Library tersebut dapat berisi konfigurasi membuat sebuah alamat hosting beserta Endpoint
data, dokumentasi, data penunjang, maupun class yang telah disediakan sebagai route menggunakan
(Chen H, 2015). Library Retrofit yang banyak skema Rest Full Api yang akan diimplementasikan
digunakan yaitu OkHttp dengan persentase 6,30% pada aplikasi mobile android. Pada Endpoint yang
dari keseluruhan aplikasi yang ada pada Google telah dibuat didalam framework Slim akan
Playstore. Kemudian Retrofit sebanyak 2,56%, dan menuliskan kode logika pengambilan data dari
Asynchronous Http Client sebanyak 2,43% database akan ditampilkan dalam bentuk JSON lalu
(AppBrain, 2016). Library ini akan menerima ditransformasikan kedalam aplikasi android
sebuah proses dasar autentifikasi dengan menggunakan library Retrofit OkHttp.
menggunakan OkHttp didalam library retrofit.
Dengan demikian, semua proses permintaan pada 2.4. Implementasi Library pada Android
sebuah endpoint dapat berjalan lancar dengan dan Slim Framework
semestinya, karena ada suatu proses permintaan Berdasarkan perancangan yang telah di
pada Header Authorization yang ditanamkan pada jelaskan sebelumnya, maka implementasi dilakukan
backend aplikasi android. Fungsi dari Header dengan membuat aplikasi get data dan post data
Authorization tersebut untuk mendapatkan akses sebagai contoh implementasi keamanan web
permintaan ketika metode Restful Api di jalankan service, hal ini dilakukan untuk mendapatkan
dengan menggunakan dasar autentifikasi untuk efisiensi penggunaan metode tersebut.
memberikan izin pengaksesan data didalam web Library yang akan diimplementasikan pada
service. aplikasi android yaitu library Retrofit, dan OkHttp.
Tujuan yang di harapkan peneliti dalam Untuk RestFull Api nya menggunakan library
implementasi metode keamanan web service, dapat tuupola basic auth PSR - 7.
memberikan informasi bagi para developer yang
2.5. Pengujian Keamanan
ingin mengembangkan teknologi web service
Proses pengujian dilakukan dengan
dengan keamanannya untuk di implementasikan
pengambilan data pada server. Data tersebut
pada aplikasi yang ingin di bangun, serta menjadi
memiliki bentuk JSON. Segala data berada pada
acuan dalam pengembangan aplikasi khususnya
server 000webhost agar memudahkan dalam
pada platform android.
pengambilan Endpoint pada aplikasi android.
Pengujian dilakukan dengan cara membuka link d
2. Metode Penelitian
Dalam tahap melakukan metode penelitian,
diperlukan suatu metode yang sistematis sehingga omain yang sudah di hosting dan menjalankan
penelitian dapat berjalan sesuai dengan yang aplikasi android untuk menguji request post dan
diharapkan. Metode penelitian ini akan get pada permintaan Header Authorization untuk
menggunakan diagram alir sebagai metode mendapatkan hak akses pada Restfull Api yang
penelitian yang akan ditunjukkan pada gambar 1. telah di tanamkan pada framework Slim.

2.1. Identifikasi Masalah 2.6. Kesimpulan

2 | JI-Tech: Jurnal Ilmiah Sekolah Tinggi Teknologi Informasi NIIT, Juni 2020, Volume 20, Nomor 1
Judul Artikel Jurnal ISSN: 1858-3939 (Print)

Pengambilan kesimpulan dilakukan setelah Pada instalasi framework Slim tersebut, diwajibkan
tahapan selesai dilakukan. Mulai dari tahapan untuk menyalakan xampp agar memberikan hak
identifikasi masalah, analisa kebutuhan, akses pada composer ketika ingin membuat
implementasi library pada android dan Slim permintaan instalasi framework tersebut.
framework, hingga pengujian keamanan pada web Fungsi dari composer ini sebagai
service melalui aplikasi android dan pengaksesan penginstalan third-party plugin seperti menginstal
pada link domain. Kesimpulan dibuat untuk Laravel, Slim, Lumen dan lain – lain. Karena
memberikan hasil pengujian implementasi nantinya penulis akan memanfaatkan library dari
penggunaan metode tersebut. Selain kesimpulan, framework Slim sebagai media keamanan Restful
ada saran yang telah dibuat sebagai acuan Api dan Retrofit OkHttp sebagai media interaksi
penelitian selanjutnya, khusus pada metode client dan server untuk permintaan Header
implementasi keamanan web service menggunakan Authorization.
library dari framework Slim maupun dari aplikasi
android. 3.1. Library Tuupola Basic Autentification
Tahap selanjutnya, penginstalan library basic
3. Hasil Penelitian dan Pembahasan authentication pada project yang telah dibuat,
Dalam penerapan implementasi metode ini seperti gambar di bawah ini :
yang akan dilakukan adalah uji coba autentifikasi
pada framework Slim Restfull Api untuk permintaan
autentifikasi dan aplikasi android untuk
menjalankan permintaan get dan post. Langkah
pertama untuk implementasi metode ini diharuskan
pemasangan composer terlebih dahulu dan
melakukan pemasangan framework Slim pada
perintah CMD ( Command Prompt ) seperti gambar
di bawah ini :

Gambar 4. Instalasi library tuupola

Instalasi library ini harus didalam project


yang telah kita buat yaitu berada di dalam “
Gambar 2. Instalasi Framework Slim C:\xampp\htdocs\ApiProjectExample\[disini] ” .

Langkah selanjutnya, membuka project


tersebut menggunakan aplikasi untuk menulis kode
– kode File PHP tersebut, bisa menggunakan
Visual Studio Code, Sublime 3, atau yang
sejenisnya. Lalu setelah itu, tambahkan kodingan
dari library tuupola basic authentication tersebut
pada bagian
“ApiProjectExample/public/index.php”.
Tambahkan kodingan pada gambar berikut :

Gambar 3. Hasil instalasi Framework Slim


Gambar 5. Instalasi library tuupola
Project ini akan dinamakan dengan nama
“ApiProjectExample” yang dimana penempatan file
project ada di dalam “C:\xampp\htdocs\[disini]”. Fungsi dari kodingan gambar diatas adalah
untuk membuat keamanan Restful Api ketika ada

JI-Tech: Jurnal Ilmiah Sekolah Tinggi Teknologi Informasi NIIT, Juni 2020, Volume X, Nomor X | 3
Judul Artikel Jurnal ISSN: 2502-3357 (Print)

permintaan dari pengguna seperti permintaan get ,


read , delete , dan update. Selanjutnya, membuat Pada gambar diatas, terlebih dahulu
metode get dan post pada project yang telah penulis membuat folder di dalam “ApiProjectExample” dan
instal sebelumnya dengan menggunakan contoh diberi nama “includes” lalu buat file PHP dengan
metode aplikasi biodata mahasiswa sederhana yang nama “Constans.php”. folder includes ini akan
terdiri nim, nama dan jurusan. berisi logika – logika kode yang biasa di sebut
Sebelum tahap penulisan kode, buat terlebih dengan design pattern MVC ( Model View
dahulu database menggunakan xampp sebagai Controller ) yang akan berisi “DbConnect.php”
server lokal yang akan menjadi penyimpanan sebagai pembuatan variabel object database dan
datanya. Pembuatan database seperti gambar “DbOperations.php” sebagai pembuatan logika
berikut : kode seperti create, read, delete dan update tetapi
hanya fungsional nya saja seperti gambar di bawah
ini :
Gambar 8. Membuat fungsi koneksi untuk database

Gambar 9. Membuat fungsi logika Restful Api

Gambar 6. Membuat database, table dan field Untuk gambar 8 dan 9, saling keterkaitan
dan saling berintegrasi satu sama lain untuk
Database diberi nama “apiprojectdb” dengan menghubungkan ke file PHP database yang telah di
nama tabel “bio_mhs”. Setelah itu, buat kodingnya beri nama “Constans.php”. Dalam desainnya,
untuk mengintegrasikan framework Slim dengan Restful Api ini mempunyai 2 metode saja, yaitu
database dengan cara menyamakan nama database input data mahasiswa dan lihat mahasiswa. Hal ini
dan query table didalam framework tersebut seperti merupakan logika kode yang ada didalam file
gambar di bawah ini : “DbOperations.php”.

Gambar 10. Membuat fungsi buat data

Gambar 7. Membuat File PHP integrasi pada Pada gambar 10, terdapat logika kode yang
database fungsinya adalah untuk mengirim data yang telah

4 | JI-Tech: Jurnal Ilmiah Sekolah Tinggi Teknologi Informasi NIIT, Juni 2020, Volume 20, Nomor 1
Judul Artikel Jurnal ISSN: 1858-3939 (Print)

diinputkan agar masuk kedalam database sesuai Gambar 12. Set Authorization untuk mendapatkan
field table yan telah dibuat sebelumnya, lalu untuk hak akses keamanan.
fungsi “nimTelahAda” berfungsi memeriksa nim
apakah nim sudah terdaftar atau belum, hal ini Transformasi Base64 merupakan salah satu
untuk validasi data ketika terjadi adanya nim yang algoritma untuk Encoding dan Decoding suatu data
sama. Selanjutnya metode get yang akan di ke dalam format ASCII, yang didasarkan pada
implementasikan seperti berikut : bilangan dasar 64 atau bisa dikatakan sebagai salah
satu metoda yang digunakan untuk melakukan
Gambar 11. Membuat fungsi mendapatkan data encoding (penyandian) terhadap data binary.
Karakter yang dihasilkan pada transformasi Base64
Fungsi pada gambar diatas adalah untuk ini terdiri dari A..Z, a..z dan 0..9, serta ditambah
mendapatkan semua data yang ada di dalam dengan dua karakter terakhir yang bersimbol yaitu
database sesuai dengan query yang di tuangkan + dan / serta satu buah karakter sama dengan (=)
dalam kode tersebut dengan array yang berobjek yang digunakan untuk penyesuaian dan
“users” untuk mudah dalam pembacaan ketika menggenapkan data binary atau istilahnya disebut
hasilnya berbentuk JSON. sebagai pengisi pad. Karakter simbol yang akan
Selanjutnya, implementasi Restful Api dihasilkan akan tergantung dari proses algoritma
menggunakan library Retrofit OkHttp pada aplikasi yang berjalan.
android didalam Android Studio Untuk fungsi OkHttp sendiri ada yang
dinamakan .addHeader yang berfungsi untuk
menginputkan username dan password sebagai hak
akses pada layanan web service yang telah dibuat
menggunakan framework Slim. Pada metode
Base64 ini, akan menanamkan username dan
password sesuai username dan password pada
Gambar 12. Import library Retrofit framework Slim yang telah dibuat pembatas
pemisahan username dan password penulisan
adalah dengan menggunakan titik dua (:) dan
Fungsi penggunaan API Converter Gson memasukkan inisialisasi “Authorization” pada
sendiri adalah untuk mengkonversikan file JSON ke .addHeader untuk menerima permintaan hak akses
service Android Studio dalam pembacaan data pada layanan web service.
berformat JSON karena Android Studio tidak bisa
membaca file langsung dari database, harus di
konversikan terlebih dahulu dengan format JSON.
Karena nantinya penulis akan
memanfaatkan layanan web service. Maka,
selanjutnya adalah mengatur permission untuk
menyetujui penggunaan internet. Nantinya,
permission ini akan diletakkan pada
app/manifests/AndroidManifest.xml.

Gambar 13. Pemanggilan class ApiInterface.

Langkah selanjutnya adalah membuat class


Gambar 12. Set Permission untuk terkoneksi baru bernama ApiInterface yang fungsinya dimana
dengan internet penamaan file PHP sebagai endpoint pada tautan
web hosting https://000webhost.com/ seperti
Tahap selanjutnya adalah membuat sebuah gambar dibawah ini :
object bernama ApiClient. Object ini berisi library
Retrofit yang berfungsi untuk memanggil link
address agar bisa diakses di server hosting. Dalam
aplikasi ini, penulis akan menggunakan
000webhost sebagai web hosting nya. 3.2. Sub Section 2

4. Kesimpulan
Kesimpulan menjelaskan apa yang
diharapkan pada bagian Pendahuluan, serta
kesimpulan dari section Hasil Penelitian dan
Pembahasan. Kesimpulan juga dapat

JI-Tech: Jurnal Ilmiah Sekolah Tinggi Teknologi Informasi NIIT, Juni 2020, Volume X, Nomor X | 5
Judul Artikel Jurnal ISSN: 2502-3357 (Print)

ditambahkan dengan rencana pengembangan dengan menggunakan fitur


penelitian kedepan. REFERENCES yang disediakan oleh
Microsoft Word)
5. Daftar Notasi
Contoh penulisan notasi dapat diuraikan Buku Prosiding (Seminar Nasional atau
dengan keterangan sebagai berikut: Seminar Internasional):
Nama Belakang Penulis1, Inisial Nama Depan
n : jumlah data Penulis1., & NamaBelakangPenulis2,
Mi : nilai tengah kelas ke-i. InisialNamaDepan Penulis2. (tahun).
: Rata-rata data. Judul Makalah. Nama conference atau
Ƒi : Frekuensi. data ke-i. seminar. (volume, halaman).

6. Referensi Raniwala, A., & Chiueh, T. (2005).


Referensi/acuan utama yang digunakan Architecture and Algorithms for an IEEE
dalam penelitian ialah jurnal nasional / 802.1 1 -based Multi-Channel Wireless
internasional dan proceeding. Semua referensi Mesh Network. In Proceedings IEEE
sebaiknya up-to-date dengan perkembangan 24th Annual Joint Conference of the IEEE
keilmuan dan ditulis dengan menggunakan Computer and Communications Societies.
format pustaka APA (sebaiknya para peneliti (Vol. 3, halaman. 2223–2234). (pada
menggunakan fitur REFERENCES yang contoh ini, tahun: 2005, Vol.3, halaman:
disediakan oleh Microsoft Word atau tools 2223-2234, dengan menggunakan
bantu seperti Mendeley, End Note). REFERENCES yang sudah install Plugin
Mendeley)
Jurnal:
Buku Cetak:
NamaBelakangPenulis1,InisialNamaDepanPen
Nama Belakang Penulis, Inisial Nama Depan
ulis1., NamaBelakangPenulis2,
Penulis. Inisial Nama Tengah Penulis.
InisialNamaDepanPenu lis2., &
(tahun). Judul Buku. Kota Penerbit:
NamaBelakangPenulis3,
Penerbit.
InisialNamaDepanPenulis3. (tahun). Judul
Larose, D. T. (2005). Discovering Knowledge
Makalah. Nama jurnal atau singkatannya,
in Data: an Introduction to Data Mining.
volume(nomor/issue), halaman.
Canada: A John Wiley & Sons.
Casadei, D., Serra, G., & Tani, A. (2000).
Implementation of a Direct Control Thesis/Disertation:
Algorithm for Induction Motors Based on Nama Belakang Penulis, Inisial Nama Depan
Discrete Space Vector Modulation. IEEE Penulis. (tahun). Judul Buku. Universitas.
Transactions on Power Electronics, Mutrofin, S. (2014). Teknik Genetic Modified
15(4), 769-777. (pada contoh ini Vol.15, K-Nearest Neighbor Untuk Estimasi Hasil
Issues/nomor 4, and halaman 769-777, Produksi Gula Tebu. Institut Teknologi
Sepuluh Nopember.

6 | JI-Tech: Jurnal Ilmiah Sekolah Tinggi Teknologi Informasi NIIT, Juni 2020, Volume 20, Nomor 1

Anda mungkin juga menyukai