BAB I PENDAHULUAN 1.1.
Latar Belakang Seiring dengan perkembangan zaman perkembangan dunia informasi
semakin pesat, hal ini tentunya sangat berpengaruh pada perkembangan internet. Web based merupakan teknologi yang akan berkembang pesat seiring dengan perkembangan internet, hal ini dapat dilihat pada perkembangan aplikasi belakangan ini yang banyak menggunakan web based. Satu halaman web based terdiri dari berbagai macam portlets yang dapat mengirimkan informasi dari banyak sumber (Braun et al, 2004). Selain informasi, web based juga dapat menggabungkan
berbagai aplikasi
web
menjadi
satu
kesatuan.
Dalam
implementasinya suatu web based untuk dapat mengakses bagian antarmuka ataupun sebagian besar aplikasinya tentu membutuhkan otentikasi untuk masuk ke dalam system administrasi. Belakangan ini Lightweight Directory Access Protocol (LDAP) merupakan metode otentikasi yang sangat sering digunakan. Dengan menggunakan LDAP pengguna atau user hanya akan memiliki sebuah username dan password untuk dapat login pada banyak aplikasi berbasis web, hal ini tentunya akan mempermudah user untuk mengingat username dan password mereka. Walaupun demikian jika ingin melakukan otentikasi pada masing-masing aplikasi pengguna harus mengisikan username dan password berulang kali sesuai dengan jumlah aplikasi berbasis web yang diakses oleh user. Dari paparan tersebut hal ini tentu menjadi salah satu kekurangan dari metode otentikasi LDAP. Selain itu dengan menggunakan LDAP pengguna harus melakukan proses login kedalam aplikasi berbasis web dengan memasukkan username dan password , jika semakin banyak aplikasi yang diakses tentunya semakin banyak juga pengguna tersebut harus mengisi username dan password. Untuk mengatasi kelemahan-kelemahan yang ada di atas maka dikembangkan suatu mekanisme otentikasi yang baru, dimana mekanisme otentikasi tersebut disebut Single Sign On (SSO). SSO ini merupakan sebuah 1
2
metode dimana user hanya sekali melakukan login untuk dapat mengakses network resources yang ada. Karena pada dasarnya otentikasi SSO melibatkan credential user, dimana dengan melibatkan credential user pengguna dimungkinkan dapat melakukan login otomatis pada semua aplikasi berbasis web yang telah terintegrasi dengan SSO tanpa memasukkan username dan password pada form login aplikasi web setelah sempat melakukan login. Dalam pengerjaan tugas akhir ini terdapat beberapa penelitian yang melatar belakangi sehingga penulis melakukan penelitian mengenai SSO. Dimana penelitan pertama yang melatar belakangi penulis adalah Analisa Implementasi Single Sign On Pada Learning Management System dan Internet Protocol Television. Dimana dalam penelitian tersebut dibahas mengenai pengintegrasian sistem SSO berbasis Central Authentication Service (CAS) yang memanfaatkan directory pada struktur Lightweigh Directory Access Protocol (LDAP) untuk manajemen user pada LMS dan IPTV serta melihat kinerja server CAS dan LDAP dalam melayani user melalui pengujian response time dan load test. Penelitian yang kedua adalah Implementasi Sistem Single Sign On / Single Sign Out Berbasis Central Authentication Service Protocol Pada
Jaringan Lightweight Directory Access Protocol Universitas
Diponegoro. Dimana dalam penelitian tersebut Sistem Single Sign On / Single Sign Out berbasis CAS diterapkan pada jaringan berbasis LDAP pada aplikasi berbasis web di lingkungan Universitas Diponegoro. Dan penelitian yang terakhir adalah Single Sign On (SSO) dengan Menggunakan Lightweight Directory Access Protocol (LDAP) Studi Kasus di Universitas Bina Darma. Dimana dalam penelitian tersebut Single Sign On (SSO) diintegrasi hanya dengan menggunakan Lightweight Data Access Protocol (LDAP). Berlatar belakang dari penelitian yang telah dilakukan tersebut, dimana perbedaan penelitian yang akan dilakukan dengan penelitian yang telah dilakukan adalah dilakukannya pengujian black box dan white box sistem SSO serta SSO tersebut akan diintegrasikan pada Simak dan Blog System. Untuk penelitian yang kedua tidak dilakukan analisis mengenai bagaimana kinerja sistem SSO dalam menangani otentikasi user. Dalam pengembangannya pada penelitian ini akan dilakukan analisis kinerja sistem SSO berbasis CAS SSO dalam menangani
3
otentikasi user, sehingga akan diperoleh nilai dari kinerja sistem SSO SSO dalam menangani otentikasi user. Dan untuk penelitian yang ketiga SSO hanya berbasis Lightweight Directory Access Protocol (LDAP) sehingga user harus tetap login berulang kali walaupun dengan user dan password yang sama. Pada penelitian yang akan dilakukan sistem SSO akan diterapkan berbasisi CAS dengan tetap mengadopsi Lightweight Directory Access Protocol (LDAP), sehingga user tidak perlu melakukan proses login berulang kali. Untuk mengimplementasikan sistem SSO pada penelitian ini akan digunakan Central Authentication Service (CAS) sebagai otentikasi terpusat pada Simak, E-Learning dan Blog System di lingkungan Universitas Udayana. Selain melakukan implementasi, pada penelitian ini juga akan dilakukan analisis Sistem Single Sign On berbasis CAS dengan melakukan pengujian black box, white box, response time dan load test dari sistem SSO berbasis CAS. 1.2.
Rumusan Masalah Rumusan masalah yang akan digunakan sebagai acuan dalam penelitian ini
adalah : 1. Bagaimana membangun sistem Single Sign On pada jenis basis data user yang berbeda ? 2. Bagaimana kinerja dari sistem Single Sign On dalam menangani user ? 1.3.
Tujuan Penelitian Adapun tujuan yang ingin dicapai oleh penulis dalam melakukan penelitian
ini adalah : 1. Membangun proses otentikasi terpusat pada Sistem Informasi Universitas Udayana, sehingga didapat suatu sistem Single Sign On. 2. Mengetahui kinerja dari sistem Single Sign On dalam menangani user. 1.4.
Batasan Penelitian Adapun batasan masalah dari penelitian tugas akhir ini adalah :
1. Basis data user account yang digunakan pada pembangunan SSO adalah LDAP.
4
2. Sample data user yang digunakan dalam penelitian ini adalah data user Fakultas Kedokteran Hewan. 3. Integrasi SSO hanya dilakukan pada aplikasi berbasis web (Simak, ELearning dan Blog System Universitas Udayana). 4. Dalam penelitian tugas akhir ini pembangunan sistem berfokus pada Single Sign On dan tidak membahas sistem Single Sign Out. 5. Dalam menganalisis kinerja dari sistem Single Sign On untuk menangani user dilakukan pengujian response time dan load test. 1.5.
Manfaat Penelitian
Adapun manfaat yang diharapkan dari penelitian ini adalah : 1. Hasil penelitian dapat berguna sebagai informasi untuk membangun Single Sign On dengan menggunakan Central Authentication Service (CAS). 2. Hasil penelitian dapat sebagai informasi tentang kinerja dari Single Sign On dalam menangani user. 3. Dari penerapan sistem Single Sign On ini diharapkan pengguna dapat terhindar dari rasa jenuh akibat mengisi username dan password secara berulang-ulang, sehingga pengguna tidak membuang-buang waktunya hanya untuk mengisi form login. 1.6.
Metodelogi Penelitian Metodologi penelitian adalah sekumpulan peraturan, kegiatan dan prosedur
yang digunakan oleh pelaku suatu disiplin ilmu. Dalam pembahasan ini akan dipaparkan peraturan, kegiatan dan prosedur yang penulis lakukan dalam melakukan penelitian. 1.6.1. Metode Pengembangan Sistem Metodelogi yang digunakan dalam penelitian ini adalah menggunakan pendekatan Network Development Life Cycle ( NDLC ). Metodelogi ini terdiri dari tiga tahapan yaitu tahap analisis, tahap desain dan tahap implementasi.
5
1.6.1.1. Tahap Analisis Pada tahap analisis ini dilakukan dua buah tahapan yaitu baselining dan needs analysis, berikut adalah pemaparan dari tahapan–tahapan tersebut : 1. Baselining Pada tahap ini dilakukan pengumpulan data–data mengenai program atau aplikasi yang diperlukan untuk diintegrasikan pada sistem Single Sign On, yang diperoleh melalui metode wawancara dengan administrator GDLN Universitas Udayana, sehingga diperoleh data-data mengenai tipe dan kegunaan dari aplikasi yang tersedia. Dari aplikasi–aplikasi yang ada tentunya penulis dapat memilih aplikasi yang akan diintegrasikan pada sistem Single Sign On sesuai dengan tipe dan kegunaan dari aplikasi tersebut. 2. Needs Analysis Pada tahap ini dilakukan analisis permasalahan dan kebutuhan sistem yang akan digunakan untuk mengambil keputusan bagaimana sistem yang akan dibuat nantinya. Kebutuhan-kebutuhan tersebut berkaitan dengan kebutuhan dari Sistem Informasi Universitas Udayana maupun perangkat keras yang dibutuhkan untuk membangun mekanisme otentikasi terpusat. 1.6.1.2. Tahap Desain Tujuan dari pendesainan sistem ini adalah untuk mengetahui rancangan dari sistem yang diimplementasikan dengan mengacu pada data-data yang didapat sebelumnya, tahap desain ini akan membuat gambar desain sistem Single Sign On yang terintegrasi dengan Simak, E-Learning dan Blog System Universitas Udayana. Gambar 1.1 merupakan desain topologo jaringan dari sistem Single Sign On :
6
Gambar 1.1. Desain Topologi Jaringan Sistem Single Sign On Sistem Single Sign On (SSO) merupakan layanan yang memungkinkan user hanya perlu satu kali login untuk semua aplikasi berbasis web. Sesuai dengan gambar 1.1 rancangan yang dibuat terdiri dari SSO server, LDAP server dan Web server. Dimana SSO server tersebut merupakan tempat ditanamkannya sistem Single Sign On (SSO) dengan menggunakan Central Authentication service (CAS) dan LDAP server merupakan tempat peletakkan database user dari semua aplikasi berbasis web. Sedangkan Web server merupakan tempat ditanamkannya aplikasi – aplikasi yang akan diintegrasikan dengan Single Sign On, seperti halnya Simak, ELearning dan Blog System Universitas Udayana. 1.6.1.3. Tahap Implementasi Tahap implementasi adalah tahap yang dilakukan sesudah proses desain telah selesai dilaksanakan. Aplikasi utama yang harus diimplementasikan untuk membangun sistem SSO adalah CAS server. Aplikasi ini nantinya akan memberikan layanan Single Sign On. Aplikasi CAS server ini akan meneruskan ke halaman web service dan memberikan tiket sebagai bukti hak akses. Untuk
7
mengimplementasikan Single Sign On otentikasi user CAS menggunakan LDAP. Langkah pertama yang harus disiapkan adalah server Ubuntu Server 12.04 LTS dengan Tomcat Java Server dan aplikasi Apache Maven serta SSL. Lalu dilanjutkan dengan menanam aplikasi CAS Server. Untuk membuat agar SSO Server otentikasinya menggunakan LDAP maka perlu melakukan editing pada berkas deployerConfigContext.xml, cas-servlet.xml dan pom.xml. Karena aplikasi web yang diintegrasikan berbasis PHP, maka perlu diinstall apache web server, php5 dan mysql server. Apache web server bertugas menerima dan membalas permintaan situs yang datang dari klien di web server. Php5 berfungsi mendukung bahasa pemrograman php pada web server. Mysql server sebagai basis data berfungsi sebagai syarat mengimplementasi Simak, ELearning dan Blog System Universitas Udayana. Untuk membangun aplikasi berbasis web yang mendukung SSO perlu dilakukan modifikasi pada berkas yang berbeda pada masing – masing aplikasi web. Tombol login pada aplikasi web diarahakan menuju halaman login SSO server. Halaman pemrosesan login harus memuat fungsi GET tiket yang dikirimkan SSO server dengan validasi login berupa username. 1.6.2. Pengujian Sistem Dalam penelitan ini terdapat empat jenis desain pengujian yang akan dilakukan oleh penulis, dimana jenis–jenis desain pengujian tersebut adalah 1.6.2.1 Desain Pengujian Black Box, 1.6.2.2 Desain Pengujian White Box, 1.6.2.3 Desain Pengujian Response Time dan 1.6.2.4 Desain Pengujian Load Test. Untuk lebih jelasnya mengenai jenis – jenis desain pengujian tersebut akan dibahas lebih lengkap pada pembahasan di bawah : 1.6.2.1. Desain Pengujian Black Box Pengujian Black Box sistem SSO merupakan pengujian yang dilakukan untuk melihat apakah sistem SSO yang dibangun sudah dapat menangani otentikasi secara terpusat. Dimana pada pengujian black box, dilakukan proses login pada salah satu aplikasi berbasis web yang terintegrasi dengan sistem SSO. Setelah
8
aplikasi tersebut berhasil terotentikasi maka user akan mengakses aplikasi lain yang terintegrasi oleh sistem SSO. Jika pengguna telah dapat terotentikasi tanpa melakukan proses login yang kedua kalinya maka sistem SSO telah dapat menangani otentikasi secara terpusat. Dalam pengujian black box ini akan dilihat apakah input dan output yang diberikan pada pengujian sudah sesuai dengan sistem SSO. Dimana input yang dimaksud berupa proses login dan output yang diharakan adalah user yang melakukan proses login dapat terotentikasi. 1.6.2.2. Desain Pengujian White Box Pengujian white box adalah pengujian yang didasarkan pada pengecekan terhadap detail perancangan, menggunakan struktur kontrol dari desain program secara prosedural untuk membagi pengujian ke dalam beberapa kasus pengujian. Notasi yang digunakan untuk menggambarkan jalur eksekusi adalah notasi diagram alir (atau grafik program), yang menggunakan notasi lingkaran (simpul atau node) dan anak panah (link atau edge). Notasi ini menggambarkan aliran kontrol logika yang digunakan dalam suatu bahasa pemrograman 1.6.2.3. Desain Pengujian Response Time Pengujian response time SSO merupakan pengujian yang dilakukan untuk mengetahui waktu yang dibutuhkan oleh server SSO dalam melayani satu user untuk melakukan otentikasi. Dalam melakukan pengujian ini tentunya terdapat beberapa langkah yang harus dilakukan untuk melihat keberhasilan pengujian tersebut. Gambar 1.2 merupakan flowchart dari pengujian response time sistem yang dilakukan oleh penulis.
9
Gambar 1.2. Desain Pengujian Response Time Sesuai dengan gambar 1.2 pada pengujian ini dilakukan pengujian response time. Untuk dapat melakukan pengujian ini user akan mengakses halaman login SSO. Disana user akan melakukan proses login, kemudian durasi proses login yang dilakukan oleh user sampai user tersebut dialihkan ke halam utama atau user tersebut telah terotentikasi akan dicatat untuk mendapatkan nilai response time server SSO. Yang akan dianalisi pada pengujian ini adalah berapa lama waktu yang dibutuhkan oleh server SSO dalam melayani user untuk melakukan otentikasi. Untuk memperbanyak sample, pengujian ini akan dilakukan dengan jumlah satu user, dua user dan empat user yang diulang sebanyak 30 kali sehingga nantinya akan diperoleh nilai rata-rata dari pengujian response time. Dengan didapatkan nilai rata-rata tersebut diharapkan hasil pengujian akan mendapatkan nilai response time yang lebih akurat. Hasil pengujian ini nantinya akan dipaparkan dalam bentuk tabel dan grafik sehingga hasilnya akan lebih mudah untuk diamati. 1.6.2.4. Desain Pengujian Load Test Pengujian load test SSO merupakan pengujian yang dilakukan untuk mengetahui mengetahui kinerja server SSO saat diberikan beban. Dalam melakukan pengujian ini tentunya terdapat beberapa langkah yang harus dilakukan
10
untuk melihat keberhasilan pengujian tersebut. Gambar 1.3 merupakan flowchart dari pengujian load test sistem yang dilakukan oleh penulis.
Gambar 1.3. Desain Pengujian Load Test Sesuai dengan gambar 1.3 pada pengujian ini dilakukan pengujian load test SSO. Pada pengujian ini server SSO akan diberikan banyak request otentikasi user dalam waktu yang bersamaan. Yang akan dianalisis pada pengujian ini adalah average response time saat server SSO diberi beben berlebih, sehingga akan diketahui berapa lama server SSO akan melayani request otentikasi yang datang saat diberikan beban. Pengujian ini akan dilakukan sebanyak 15 kali dengan melakukan peningkatan jumlah request user secara bertahap. Hasil pengujian ini nantinya akan dipaparkan dalam bentuk tabel dan grafik sehingga hasilnya akan lebih mudah untuk diamati.
11
1.6.3. Metode Pengumpulan Data Dalam melakukan penelitian ini metode pengumpulan data yang akan digunakan adalah metode observasi. Metode observasi merupakan suatu cara dalam melakukan pengumpulan data dengan cara melakukan pengamatan secara langsung terhadap suatu objek (Sugiyono, 2009). Data yang akan diambil adalah data kuantitatif, karena nilai dari data tersebut bisa berubah-ubah atau bersifat variatif. 1.6.4. Tempat Penelitian Penelitian tentang implementasi dan analisis sistem Single Sign On ini dilaksanakan di GDLN (Global Develoment Learning Network) Universitas Udayana