CRAYONPEDIA EDUCATION ECOSYSTEM SINGLE SIGN ON TADJ, YOOPA, MOODLE, WORDPRESS, DAN PHPBB BERBASIS WEB
TUGAS AKHIR
Oleh
MOCHAMAD YOGA TRITAMA NIM : 03214068 PROGRAM STUDI DIPLOMA 4 TEKNIK ELEKTRO
SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT TEKNOLOGI BANDUNG 2015 i
LEMBAR PENGESAHAN
CRAYONPEDIA EDUCATION ECOSYSTEM SINGLE SIGN ON TADJ, YOOPA, MOODLE, WORDPRESS, DAN PHPBB BERBASIS WEB
Oleh : Mochamad Yoga Tritama NIM : 03214068
Tugas Akhir ini telah diterima dan disahkan sebagai persyaratan untuk memperoleh gelar SARJANA SAINS TERAPAN di PROGRAM STUDI DIPLOMA 4 TEKNIK ELEKTRO SEKOLAH TEKNIK ELEKTRO DAN INFORMATIKA INSTITUT TEKNOLOGI BANDUNG Bandung, Desember 2015 Disetujui oleh : Pembimbing I
Dr. techn. Ary Setijadi Prihatmanto
Pembimbing II
Dr. Pranoto Hidaya Rusmin
ii
ABSTRAK
CRAYONPEDIA EDUCATION ECOSYSTEM SINGLE SIGN ON TADJ, YOOPA, MOODLE, WORDPRESS, DAN PHPBB BERBASIS WEB
Oleh
Mochamad Yoga Tritama NIM : 03214068 PROGRAM STUDI DIPLOMA 4 TEKNIK ELEKTRO
Efisiensi waktu dalam penyusunan tugas akhir bagi mahasiswa sangat dibutuhkan karena selain dapat menghemat waktu juga bisa membuat tugas akhir menjadi lebih berkualitas dari segi isi dan pengujiannya. Banyak mahasiswa tingkat akhir dari berbagai macam universitas / institusi yang tidak bisa mengatur waktu dalam penyusunan tugas akhir. Selain penyusunan tugas akhir mahasiswa tingkat akhir juga dituntut untuk melakukan bimbingan tugas akhir dengan dosen pembimbing untuk mengetahui sejauh mana tugas akhir yang sudah dikerjakan oleh mahasiswa. Banyak mahasiswa yang sering kali terlambat untuk datang tepat waktu dengan dosen pembimbing dari waktu perjanjian yang sudah disepakati, akibatnya mahasiswa gagal bertemu dosen pembimbing untuk konsultasi masalah tugas akhir. Karena tidak semua dosen pembimbing punya banyak waktu untuk menunggu mahasiswa yang sering kali terlambat untuk datang bertemu dengan dosen yang bersangkutan. Akhirnya penyusunan tugas akhir menjadi terhambat dan waktu menjadi terbuang percuma. Dari masalah tersebut diatas, maka dirancang sebuah sistem yang dapat mengatasi dalam penyusunan tugas akhir yang efisien antara mahasiswa dengan dosen pembimbing. Sistem ini dapat membantu mahasiswa untuk bimbingan jarak jauh dengan dosen pembimbing secara online, penyusunan tugas akhir lebih efisien karena waktu yang sebelumnya digunakan untuk berkonsultasi secara langsung dengan dosen pembimbing menjadi lebih singkat dan berkualitas. Sistem ini dinamakan Tugas Akhir Dalam Jaringan (TADJ) berbasis website. Sistem ini juga menggunakan satu akun untuk beberapa aplikasi, antara lain tadj, yoopa, e-learning, blog, dan forum.
Kata kunci : Tugas Akhir Dalam Jaringan, website
i
ABSTRACT
CRAYONPEDIA EDUCATION ECOSYSTEM WEB BASED TADJ, YOOPA, MOODLE, WORDPRESS, AND PHPBB SINGLE SIGN ON
By
Mochamad Yoga Tritama NIM : 03214068 APPLIED SCIENCE IN ELECTRICAL ENGINEERING STUDY PROGRAM
Time efficiency in the preparation of the final project for the students is needed because in addition to saving time can also make the final project to be more qualified in terms of content and testing. Many final year students from various universities / institutions that are unable to set a time in the preparation of the final project. In addition to preparation of final project final year students are also required to undertake the guidance of final project with the lecturers to determine the extent of the final project that has been done by the students. Many students are often late to arrive on time with the supervisor of the agreement that has been agreed upon, as a result of students fails to meet the supervisor to issue final consultation. Because not all lecturers have much time to wait for students who often come too late to meet with the lecturer concerned. Finally preparation of the final project to be blocked and time be wasted. From the aforementioned problems, then designed a system that can be overcome in the preparation of the final tasks efficiently between students and lecturers. This system can help students to guidance supervisor remotely online, preparation of final task more efficient because the time that was previously used to consult directly with the supervisor becomes shorter and quality. This system is called Final Project on Network (TADJ) based websites. This system also using one account to access several applications, such as tadj, yoopa, e-learning, blog, and forum.
Keywords: TADJ, Website ii
KATA PENGANTAR
Puji syukur penulis panjatkan ke hadirat Allah SWT, yang atas rahmat dan karunia Nya penulis dapat menyelesaikan tugas akhir ini. Shalawat dan salam tercurah kepada Rasulullah Muhammad SAW beserta keluarganya, sahabatnya, dan pengikutnya hingga akhir zaman nanti.
Selama melaksanakan tugas akhir ini, penulis mendapat bantuan dan dukungan dari berbagai pihak. Untuk itu, penulis ingin mengucapkan terima kasih kepada: 1. bapak Dr. Ary Setijadi Prihatmanto, MT, selaku pembimbing, yang bersedia meluangkan waktu untuk memberikan bimbingan dan masukan yang sangat bermanfaat dalam penyusunan tugas akhir ini. 2. bapak Dr. Pranoto Hidaya Rusmin, selaku dosen pembimbing II yang selalu mengevaluasi, memberikan pengarahan serta bantuan berupa bahan dan saran yang bermanfaat dalam pengerjaan tugas akhir ini. 3. kedua orang tua, kakak tercinta beserta seluruh keluarga yang senantiasa memberikan semangat dan doa. 4. teman-teman D4 ITB, sahabat-sahabat yang selalu memberi semangat dan dorongan. 5. dan semua pihak yang membantu, yang tidak dapat penulis sebutkan satu persatu.
Penulis menyadari bahwa tugas akhir ini bukanlah tanpa kelemahan, untuk itu kritik dan saran sangat diharapkan. Akhir kata, semoga tugas akhir ini dapat bermanfaat bagi para pembacanya.
Bandung, Desember 2015
Penulis
iii
DAFTAR ISI ABSTRAK .................................................................................................................i ABSTRACT ...............................................................................................................ii KATA PENGANTAR ...............................................................................................iii DAFTAR ISI ..............................................................................................................iv DAFTAR GAMBAR .................................................................................................vi DAFTAR TABEL ......................................................................................................vii BAB I PENDAHULUAN ..........................................................................................1 1.1 Latar Belakang...........................................................................................1 1.2 Rumusan Masalah .....................................................................................2 1.3 Tujuan ........................................................................................................2 1.4 Batasan Masalah ........................................................................................2 1.5 Metoda Penilitian.......................................................................................3 1.6 Sistematika Penulisan ................................................................................4 BAB II TINJAUAN PUSTAKA................................................................................5 2.1 Hypertext Preprocessor (PHP) ..................................................................5 2.2 Cascading Style Sheets (CSS) ...................................................................5 2.3 Javascript ...................................................................................................6 2.4 JQuery........................................................................................................7 2.5 XAMPP .....................................................................................................7 2.6 FileZilla .....................................................................................................8 2.7 Lightweight Directory Access Protocol (LDAP) ......................................9 2.8 Single Sign On (SSO) ................................................................................11 2.9 Internet Information Service (IIS) .............................................................11 2.10 Wordpress ..................................................................................................12 iv
2.11 PHPBB ......................................................................................................12 2.12 MySQL Server ...........................................................................................12 2.13 OpenLDAP ................................................................................................13 BAB III ANALISIS DAN PENGEMBANGAN SISTEM ........................................14 3.1 Analisis Kebutuhan Sistem........................................................................14 3.2 Deskripsi Sistem ........................................................................................16 3.3 Rancangan Sistem .....................................................................................16 3.4 Flowcart Single Sign On (SSO) TADJ .....................................................17 3.5 Flowcart Single Sign On (SSO) YOOPA .................................................18 3.6 Flowchart Single Sign On (SSO) Moodle.................................................19 3.7 Flowchart Single Sign On (SSO) Wordpress ............................................20 3.8 Flowchart Single Sign On (SSO) Phpbb ...................................................21 3.9 Flowchart Single Sign Up (SSO) ..............................................................22 3.10 Flowchart Single Sign On (SSO) Edit Data Pengguna .............................23 3.11 Rancangan Struktur Tabel Pengguna ........................................................24 3.12 Rancangan Antar Muka Login dan Sign Up .............................................24 BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM........................................26 4.1 Implementasi Sistem .................................................................................26 4.2 Implementasi Single Sign Up (SSO) .........................................................26 4.3 Implementasi Single Sign On (SSO) .........................................................27 4.4 Implementasi Single Sign On (SSO) Edit Data Pengguna ........................29 BAB V PENUTUP .....................................................................................................31 5.1 Kesimpulan ................................................................................................31 5.2 Saran ..........................................................................................................31 DAFTAR PUSTAKA ................................................................................................32
v
DAFTAR GAMBAR Gambar 1.1 Waterfall ........................................................................................................ 3 Gambar 3.2 Rancangan Sistem TADJ ............................................................................ 16 Gambar 3.3 Flowchart Single Sign On (SSO) TADJ ..................................................... 17 Gambar 3.4 Flowchart Single Sign On (SSO) YOOPA ................................................. 18 Gambar 3.5 Flowchart Single Sign On (SSO) Moodle ................................................... 19 Gambar 3.6 Single Sign On (SSO) Wordpress ............................................................... 20 Gambar 3.7 Flowchart Single Sign On (SSO) Phpbb ..................................................... 21 Gambar 3.8 Single Sign Up (SSO) ................................................................................. 22 Gambar 3.9 Single Sign On (SSO) Edit Data Pengguna ................................................ 23 Gambar 3.10 Rancangan Antar Muka Login .................................................................. 24 Gambar 3.11 Rancangan Antar Muka Sign Up .............................................................. 25 Gambar 4.12 Implementasi Single Sign Up (SSO) ......................................................... 27 Gambar 4.13 Implementasi Single Sign On (SSO) ......................................................... 27 Gambar 4.14 Implementasi Single Sign On (SSO) Moodle ........................................... 28 Gambar 4.15 Implementasi Single Sign On (SSO) Blog ................................................ 28 Gambar 4.16 Implemetasi Single Sign On (SSO) Phpbb ............................................... 29 Gambar 4.17 Implementasi Single Sign On (SSO) Edit Data Pengguna ........................ 30
vi
DAFTAR TABEL
Tabel 3.1 Rancangan Struktur Tabel Pengguna .............................................................. 24 Tabel 4.2 Tabel Pengujian Single Sign On (SSO) .......................................................... 29
vii
BAB I PENDAHULUAN 1.1 Latar Belakang Teknologi informasi merupakan salah satu teknologi yang sedang berkembang dengan pesat pada saat ini. Dengan kemajuan teknologi informasi, pengaksesan terhadap data atau informasi yang tersedia dapat berlangsung dengan cepat, efisien, dan akurat. Berbagai aplikasi komputer saat ini bermunculan, mulai dari aplikasi yang mempermudah dalam perhitungan hingga aplikasi yang menyediakan sarana pengolahan data. Aplikasi-aplikasi ini memiliki tujuan yang sama yaitu ingin mempermudah pekerjaan unit kerja. Dengan meninggalkan sistem pengolahan data secara manual dan menggantinya dengan sebuah sistem informasi maka pengolahan data yang diperlukan akan menjadi lebih cepat dan penggunaan waktu lebih efisien, serta dapat diperoleh hasil yang lebih memuaskan. Berdasarkan fenomena saat ini, penyimpanan data seharusnya diharapkan membantu pekerjaan, seperti halnya dalam mencari dan menyimpan sebuah data tugas akhir, tidak harus mencetak lembaran-lembaran file data secara manual. Saat ini belum ada sistem informasi untuk pengolahan dan penyimpanan data tugas akhir mahasiswa, masih menggunakan cara manual untuk menyimpan hingga mencetak lembaran kertas. Hal itu dirasakan kurang efektif dan tidak efisien, karena jika terjadi perubahan data maka harus mencetak ulang data secara keseluruhan, sehingga memberikan ketidakefektifan di bidang sarana dalam pengolahan datanya. Dampak dari masalah tersebut, menghabiskan lembaran kertas dari waktu ke waktu akan meningkat, ini akan bertolak belakang dengan hukum global dunia saat ini yang sedang menjunjung Go Green. Juga mempersulit dalam mengganti data dengan yang baru. Untuk mengatasi masalah tersebut, maka dibutuhkan suatu bentuk aplikasi komputer yang dapat membantu dalam pekerjaan unit kerja yaitu mengolah dan menyimpan data, agar bisa diperoleh data yang memuaskan. Aplikasi ini sangat 1
mengefektifkan waktu, membutuhkan biaya yang lebih hemat bila dibandingkan dengan menggunakan cara lama berupa arsip. Berdasarkan permasalahan yang di atas, maka dibangun suatu aplikasi berbasis web. Dalam aplikasi ini, proses memasukkan data mahasiswa, data pendaftaran, data tugas akhir, dan data dosen, yang secara keseluruhan akan dikelola oleh admin. Aplikasi ini diharapkan dapat digunakan sehingga lebih mudah dalam mengelola data administrasi. Agar pengguna tidak perlu pendaftaran di setiap sub aplikasi ini, maka dibutuhkan suatu teknologi yang dinamakan Single Sign On (SSO).
1.2 Rumusan Masalah Rumusan masalah yang dihadapi adalah cara merancang dan membangun teknologi Single Sign On (SSO) pada sistem Tugas Akhir Dalam Jaringan (TADJ).
1.3 Tujuan Tujuan dari pembuatan Tugas Akhir ini adalah menerapkan teknologi Single Sign On (SSO) pada sistem Tugas Akhir Dalam Jaringan (TADJ).
1.4 Batasan Masalah Untuk lebih memfokuskan pembahasan materi pada tugas akhir ini, maka diperlukan batasan-batasan dan ruang lingkup dalam penyusunan tugas akhir. Batasan dan ruang lingkup meliputi hal-hal sebagai berikut. 1. Perancangan dan pembangunan sistem TADJ hanya berbasis web. 2. Sistem ini di kembangkan dengan mengguakan bahasa pemrograman PHP. 3. LDAP server yang digunakan adalah openldap. 4. Database yang digunakan adalah MySQL. 5. Tidak membahas keamanan system.
2
1.5 Metoda Penilitian Metode pengerjaan yang digunakan dalam pembuatan tugas akhir ini adalah model Waterfall.
Gambar 1.1 Waterfall 1. Requirements analysis and definition: Pada proses pengumpulan dan pendefenisian kebutuhan, dan dikumpulkan semua kebutuhan yang nantinya akan dipenuhi untuk pembangunan perangkat lunak. Semua daftar kebutuhan perangkat lunak selanjutnya akan dianalisis dan didefenisikan kebutuhannya, fungsi-fungsi yang dibutuhkan yang akan dibangun dan diterapkan pada TADJ. 2. System and software design: Pada tahap ini perencanaan sistem desain perangkat lunak dengan kebutuhan (requirements) yang telah disesuaikan dengan analisis kebutuhan sebelumnya. Pada tahap ini dilakukan pembuatan desain tampilan, flowmap, dan rancangan database. 3. Implementation and unit testing: Desain yang telah dikerjakan pada tahap ini diterjemahkan kedalam kode-kode dengan menggunakan bahasa pemograman Hypertext Preprocessor. Selain itu program yang dibangun akan langsung diuji baik secara unit. Pengujian sistem dilakukan agar sistem yang dibuat telah 3
sesuai dengan kebutuhan user dan memastikan input yang dimasukkan akan menghasilkan output sesuai. 4. Integration and system testing: Hasil proses pengkodean tadi digabungkan seluruh unit program kemudian dilakukan pengujian untuk menguji kesalahankesalahan program maupun fungsi dari sistem. 5. Operation and installation: Melakukan pengoperasian atau instalasi program.
1.6 Sistematika Penulisan Adapun sistematika penulisan pada tugas akhir ini adalah sebagai berikut : BAB I
Menjelaskan latar belakang pengangkatan studi kasus, rumusan masalah, tujuan, batasan masalah, sistematika penulisan, dan metode pengerjaan.
BAB II
Membahas mengenai landasan teori yang digunakan sebagai referensi dalam pembuatan laporan tugas akhir.
BAB III
Membahas mengenai desain dan perancangan aplikasi berdasarkan modul.
BAB IV
Membahas tentang tata cara penggunaan produk sesuai dengan modul yang telah dibangun.
BAB V
Berisi tentang penutup yang membahas kesimpulan dan saran.
4
BAB II TINJAUAN PUSTAKA 2.1
Hypertext Preprocessor (PHP)
PHP merupakan bahasa scripting yang menyatu dengan HTML dan dijalankan pada serverside. Artinya semua sintaks yang diberikan akan sepenuhnya dijalankan pada server sedangkan yang dikirimkan ke browser hanya hasilnya saja. Beberapa kelebihan PHP antara lain: 1. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaannya, 2. Web Server yang mendukung PHP dapat ditemukan dimana-mana dari mulai apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah, 3. Dalam sisi pengembangan lebih mudah, karena banyaknya milis-milis dan developer yang siap membantu dalam pengembangan, 4. Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak, PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah sistem. 2.2
Cascading Style Sheets (CSS)
Cascading Style Sheets (CSS) adalah salah satu tampilan pemograman desain web (style sheet languange) yang mengontrol format tampilan sebuah halaman web yang ditulis dengan menggunakan bahasa penanda (markup languange). Biasanya CSS digunakan untuk mendesain sebuah halaman HTML dan XHTML, tetapi sekarang bahasa pemograman CSS bisa diaplikasikan untuk segala dokumen XML.
5
2.3
Javascript
Javascript adalah bahasa yang digunakan untuk membuat program yang digunakan agar dokumen HTML yang ditampilkan dalam browser menjadi lebih interaktif, tidak sekedar indah saja. JavaScript digunakan untuk menjalankan perintah program di halaman awal saat user sudah berhasil login dalam aplikasi. Penggunaan Javascript dapat meringankan beban tampilan dalam menjalankan aplikasi (Shalahuddin dan Rosa, 2010). Beberapa kelebihan Javascript, antara lain : 1. Ukuran file kecil Script dari javascript memiliki ukuran yang kecil sehingga ketika web yang memiliki javascript ditampilkan di browser maka akses tampilannya akan lebih cepat dibandingkan ketika browser membuka suatu web yang memiliki script java. Hal ini juga sangat berkepentingan dengan daya kerja server. Semakin kecil space suatu web yang disimpan dalam suatu server maka daya kerja server ketika di browsing oleh user di internet akan tidak terlalu berat, selain itu sifat javascript client side yang tidak perlu lagi di olah oleh server ketika browser memanggil web dari sebuah server. 2. Mudah untuk dipelajari Javascript merupakan bahasa semi pemograman yang merupakan gabungan antara bahasa pemograman java dengan bahasa kode HTML sehingga disebut bahasa hybrid. Walaupun javascript merupakan turunan dari java namun javascript tidak memiliki aturan yang serumit java. 3. Terbuka Javascript tidak terikat oleh hardware maupun software tertentu bahkan system operasi seperti windows maupun unix. Karena ia bersifat terbuka, maka ia dapat dibuat maupun dibaca di semua jenis komputer. Beberapa kekurangan Javascript, antara lain : 1. Script tidak terenkripsi Karena javascript bersifat client side, maka script yang kita buat di text editor dan telah dijadikan web di server, ketika user merequest web dari 6
server tersebut maka sintak javascript akan langsung ditampilkan di browser. User bisa melihat dan menirunya dari sourcenya. 2. Kemampuan terbatas Walaupun javascript mampu membuat bentuk web menjadi interaktif dan dinamis, namun javascript tidak mampu membuat program aplikasi sendiri seperti java. 3. Keterbatasan Objek Javascript tidak mampu membuat kelas-kelas yang bisa menampung objekobjek tambahan seperti java karena javascript teleh memiliki objek yang builtin pada sturktur bahasanya. 2.4
JQuery
JQuery adalah pustaka atau library JavaScript kecil yang menekankan pada interaksi antara JavaScript dan HTML. Adapun beberapa fitur yang ditawarkan oleh jQuery adalah sebagai berikut: 1. Mempermudah akses dan manipulasi ke bagian page tertentu. JQuery menawarkan sebuah selector yang robust dan efisien untuk mengambil bagian tertentu pada dokumen yang selanjutnya bisa dimanipulasi. 2. Mempermudah perubahan tampilan dokumen. JQuery dapat mengubah tampilan CSS dengan mudah. 3. Merespon interaksi user dengan webpage. JQuery mempunyai cara yang sangat elegan untuk memasukkan sebuah event ke dalam salah satu bagian dari webpage. 4. Menambah animasi, dapat memberi animasi pada webpage kita dengan jQuery. 5. Mempermudah ajax. 2.5
XAMPP
XAMPP adalah salah satu paket instalasi Apache, PHP, dan MySQL secara instan yang dapat digunakan untuk membantu proses instalasi ketiga produk tersebut, sama seperti PHPTriad. Dilengkapi dengan control panel berbasis GUI, phpMyAdmin, dan
7
add-ons yang mendukung, XAMPP bisa dijadikan sebagai web server serta mendukung PHP. 2.6
FileZilla
FileZilla adalah program aplikasi jaringan open source yang berguna untuk transfer file via protokol FTP di jaringan komputer atau internet. Software FileZilla dibuat dan dikembangkan oleh Tim Kosse.
Perangkat lunak komputer ini memiliki kelebihan pada kecepatan dan kemudahannya dalam melakukan transfer file. Jendela aplikasi terbagi menjadi dua, satu untuk menampilkan file dan folder di komputer lokal, dan satu lagi untuk menampilkan file dan folder di komputer server. Anda cukup melakukan drag dan drop untuk mentransfer file dari komputer ke server jaringan/internet, atau sebaliknya. Melalui fitur Site Manager, Anda bisa menyimpan akun dan alamat beragam server FTP, dan menggunakannya secara cepat dan mudah. FileZilla juga memungkinkan Anda melakukan koneksi ulang ke server yang terakhir Anda akses sebelumnya, cukup dengan menekan satu tombol.
Fitur utama dari Filezilla adalah:
Site manager (Manajer situs) Mengizinkan pengguna untuk membuat daftar situs FTP beserta data koneksinya, seperti nomor port yang akan digunakan, protokol yang digunakan, dan apakah akan menggunakan log anonim atau normal. Untuk log normal, nama pengguna dan kata sandinya akan disimpan. Penyimpanan kata sandi adalah opsional.
Message log (Log pesan) Ditampilkan di bagian atas jendela. Fitur ini menampilkan output berjenis konsol (console-type) yang menunjukkan perintah yang dikirim oleh FileZilla dan respon yang diterima dari server.
File and folder view Ditampilkan di bawah pesan log (Message log), menyediakan sebuah tampilan grafis antarmuka untuk FTP. Pengguna dapat menavigasi folder serta melihat dan mengubah isinya pada komputer lokal dan server dengan menggunakan tampilan antarmuka gaya Explorer. Pengguna dapat men-drag dan drop file antara komputer lokal dan server. 8
Transfer queue (Transfer antrian) Ditampilkan di sepanjang bagian bawah jendela, menunjukkan status real-time setiap antrian atau transfer file yang aktif.
2.7
Lightweight Directory Access Protocol (LDAP)
LDAP adalah sebuah protokol yang mengatur mekanisme pengaksesan layanan direktori (Directory Service) yang dapat digunakan untuk mendeskripsikan banyak informasi seperti informasi tentang people, organizations, roles, services dan banyak entitas lainnya. LDAP menggunakan model client-server, dimana client mengirimkan identifier data kepada server menggunakan protokol TCP/IP dan server mencoba mencarinya pada DIT (Directory Information Tree) yang tersimpan di server. Bila di temukan maka hasilnya akan dikirimkan ke client tersebut namun bila tidak maka hasilnya berupa pointer ke server lain yang menyimpan data yang di cari.
LDAP tersebut memiliki bentuk struktur yang berhirarki, bukannya berformat kolom dan baris, seperti halnya database normal, sehingga memudahkan untuk memasukkan sejumlah besar detail yang mirip dalam bentuk yang terorganisir. Awalnya, server LDAP merupakan sesuatu yang terdapat diantara LDAP client dan sebuah server DAP (X 500), jadi untuk mengurangi resource yang dibutuhkan menjalankan client.
LDAP sendiri didalamnya terdapat 2 service utama yaitu slapd dan slurp. Slapd merupakan LDAP daemon yang melayani request atau permintaan dari client, query dan berkomunikasi dengan backend database. Sedangkan slurp merupakan replication daemon yang berfungsi melayani replikasi data agar terus terjadi sinkronisasi data antara client dan server.
Dalam mempelajari LDAP, terdapat istilah direktori dan untuk apa dia digunakan. Direktori adalah suatu database tempat penyimpanan data, yang dapat digunakan untuk memberikan informasi – informasi yang berkaitan dengan object nya. Sebagai contoh yaitu direktori dapat berupa address book,phone book,yellow pages atau google. Suatu direktori dapat membantu mencari informasi yang anda butuhkan misalnya google. Karena kita dapat mencari seseorang, benda atau apapun yang ada 9
pada dunia ini, dengan mencarinya berdasarkan keyword atau kata kunci yang kita inputkan dan telah disusun di dalam direktori google.
Untuk membangun sebuah server LDAP, ada 3 hal yang perlu diketahui yaitu, Schema, Object Class dan Attribute. Schema adalah seperangkat aturan yang mendeskripsikan jenis data apa saja yang akan disimpan, schema akan membantu untuk menjaga konsistensi dan kualitas data sehingga dapat mengurangi terjadinya duplikasi data. Object Class adalah sekumpulan masukan yang menginformasikan jenis group dan membutuhkan atribut yang biasanya terdiri atas attribute names, attribute type, dan attribute syntax yang semuanya terkumpul dalam suatu data yang valid pada setiap kelasnya. Attribute adalah masukan yang sifatnya unik seperti uid, cn, sn, dan lain sebagainya. Attribute sendiri dapat menggunakan single value maupun multiple value.
LDAP layaknya sebuah database dengan dimensi sebanyak N, tapi akan lebih mudah jika kita berfikir LDAP layaknya sebuah pohon dengan satu objek sebagai anak dari yang lainnya dan seterusnya. Sebagai contoh jika kita akan memasukkan data sebuah orang atau personal dalam sebuah perusahaan, maka akan berbentuk sebuah perusahaan pada bagian atas, kemudian dibawahnya terdapat banyak department, kemudian terdapat para manajer dan terus ke bawah sampai kita menemukan seseorang yang kita cari, yang bukan atasan dari siapapun.
Setiap item dari data dengan LDAP telah terorganisir dalam struktur bergaya pohon, dengan masing-masing item, atau entri, memiliki distinguishing Name atau dn sendiri. Setiap entri memiliki tipe, biasanya dikenal dengan ObjectClass, mengatur atribut ke sebuah entri yang semata-mata merupakan sub-entri dari entri tersebut.
Software LDAP yang free adalah OpenLDAP yang merupakan juga kelompok Open Source Application. Banyak digunakan untuk pusat data bagi beberapa aplikasi dan banyak perangkat keras.
10
2.8
Single Sign On (SSO)
Teknologi Single-sign-on (sering disingkat menjadi SSO) adalah teknologi yang mengizinkan pengguna jaringan agar dapat mengakses sumber daya dalam jaringan hanya dengan menggunakan satu akun pengguna saja. SSO adalah Sebuah sistem authentifikasi terhadap user, dengan sekali login seorang user akan bisa mengakses beberapa aplikasi tanpa harus login di masing-masing aplikasi. Memiliki 2 bagian yaitu Single Sign On (login satu aplikasi, maka aplikasi lain yang didefinisikan ikut dalam SSO secara otomatis akan bisa diakses) dan Single Sign Out (log out di satu aplikasi, maka semua aplikasi yang didefinisikan ikut dalam SSO juga akan ikut logout secara otomatis. Untuk menggabungkan beberapa aplikasinya maka dibutuhkan sebuah site yang dikenal dengan web portal. Dengan adanya Web Portal yang menggunakan metode Single Sign On (SSO) ini, berarti setiap user hanya perlu memiliki satu username, satu password. Dan bila ingin mendapatkan layanan atau fasilitas di Web Portal, user ini hanya perlu login satu kali saja bisa dapat menggunakan semua fasilitas atau layanan aplikasi yang ada di dalam Web Portal tersebut. Hal ini dapat mempermudah user dalam menggunakan aplikasi yang ada. User tidak perlu menghapal banyak account, hanya satu account dan tidak perlu berulang kali login, cukup dengan sekali login. Hal ini juga dapat mempermudah dalam pengorganisasian data user yang ada, sehingga keamanan data user lebih terjamin, karena menggunakan tempat penyimpanan data user yang terpusat.
2.9
Internet Information Service (IIS)
IIS atau Internet Information Services atau Internet Information Server adalah sebuah HTTP web server yang digunakan dalam sistem operasi server Windows, mulai dari Windows NT 4.0 Server, Windows 2000 Server atau Windows Server 2003. Layanan ini merupakan layanan terintegrasi dalam Windows 2000 Server, Windows Server 2003 atau sebagai add-on dalam Windows NT 4.0. Layanan ini berfungsi sebagai pendukung protokol TCP/IP yang berjalan dalam lapisan aplikasi (application layer). IIS juga menjadi fondasi dari Platform Internet dan Intranet Microsoft, yang mencakup Microsoft Site Server, Microsoft Commercial Internet System dan produk-produk Microsoft Back Office lainnya. 11
IIS telah berevolusi semenjak diperkenalkan pertama kali pada Windows NT 3.51 (meski kurang banyak digunakan) hingga IIS versi 6.0 yang terdapat dalam Windows Server 2003. Versi 5.0 diintegrasikan dalam Windows 2000, sedangkan Windows XP Professional memiliki IIS versi 5.1. Windows NT 4.0 memiliki versi 4.01 yang termasuk ke dalam add-on Windows NT Option Pack. Dalam Windows NT 4.0 Workstation atau Windows 95/98, IIS juga dapat diinstalasikan sebagai Microsoft Personal Web Server (PWS).
2.10 Wordpress WordPress adalah sebuah aplikasi sumber terbuka (open source) yang sangat populer digunakan sebagai mesin blog (blog engine). WordPress dibangun dengan bahasa pemrograman PHP dan basis data (database) MySQL. PHP dan MySQL, keduanya merupakan perangkat lunak sumber terbuka (open source software). Selain sebagai blog, WordPress juga mulai digunakan sebagai sebuah CMS (Content Management System) karena kemampuannya untuk dimodifikasi dan disesuaikan dengan kebutuhan penggunanya. WordPress adalah penerus resmi dari b2/cafelog yang dikembangkan oleh Michel Valdrighi. Nama WordPress diusulkan oleh Christine Selleck, teman Matt Mullenweg. WordPress saat ini menjadi platform content management system (CMS) bagi beberapa situs web ternama seperti CNN, Reuters, The New York Times, TechCrunch, dan lainnya.
Rilis terbaru WordPress adalah versi 4.1.1 (18 Februari 2015). WordPress didistribusikan dengan Lisensi Publik Umum GNU. 2.11 PHPBB PHPBB merupakan paket forum internet yang ditulis dengan bahasa pemrograman PHP. Nama "phpBB" merupakan singkatan dari PHP Bulletin Board dan tersedia dalam GNU General Public Licence sehingga didistribusikan sebagai freeware.
2.12 MySQL Server MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread, multi-user, 12
dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL.
Tidak sama dengan proyek-proyek seperti Apache, dimana perangkat lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan Michael "Monty" Widenius.
2.13 OpenLDAP OpenLDAP adalah software LDAP yang gratis dan bersifat Open Source yang dikembangkan dibawah proyek OpenLDAP. Dirilis dibawah lisensi BSD style yang sering disebut OpenLDAP lisesi public.
13
BAB III ANALISIS DAN PENGEMBANGAN SISTEM 3.1 Analisis Kebutuhan Sistem Analisis kebutuhan ini bertujuan agar hasil pengembangan sesuai dengan harapan, maka sistem yang dibutukan adalah sebagai berikut. a. Sistem dapat mendaftarkan user secara otomatis pada LDAP berdasarkan form pendaftaran. b. Sistem dapat mendaftarkan user secara otomatis pada web TADJ berdasarkan form pendaftaran. c. Sistem dapat mendaftarkan user secara otomatis pada web YOOPA berdasarkan form pendaftaran. d. Sistem dapat mendaftarkan user secara otomatis pada moodle berdasarkan form pendaftaran. e. Sistem dapat mendaftarkan user secara otomatis pada phpbb berdasarkan form pendaftaran. f. Sistem dapat mendaftarkan user secara otomatis pada wordpress berdasarkan form pendaftaran. g. Sistem dapat membuat user login secara otomatis pada web TADJ berdasarkan form login. h. Sistem dapat membuat user login secara otomatis pada web YOOPA berdasarkan form login. i. Sistem dapat membuat user login secara otomatis pada wordpress berdasarkan form login. j. Sistem dapat membuat user login secara otomatis pada phpbb berdasarkan form login. j. Sistem dapat membuat user login secara otomatis pada moodle berdasarkan form login. k. Sistem dapat memyimpan pembaharuan data user secara otomatis pada LDAP berdasarkan form edit profile user. 14
l. Sistem dapat memyimpan pembaharuan data user secara otomatis pada web TADJ berdasarkan form edit profile user. m. Sistem dapat memyimpan pembaharuan data user secara otomatis pada web YOOPA berdasarkan form edit profile user. n. Sistem dapat memyimpan pembaharuan data user secara otomatis pada wordpress berdasarkan form edit profile user. o. Sistem dapat memyimpan pembaharuan data user secara otomatis pada phpbb berdasarkan form edit profile user. q. Sistem dapat memyimpan pembaharuan data user secara otomatis pada moodle berdasarkan form edit profile user. Berikut ini analisis kebutuhan perangkat keras dan perangkat lunak yang dibutuhkan untuk pengembangan SSO web TADJ, web YOOPA, moodle, wordpress, dan phpbb berbasis server. 1. Perangkat Keras yang akan digunakan adalah sebagai berikut. a. Processor Intel® Core i3 CPU @2.1GHz b. RAM 8 GB DDR3 c. Hardisk 500 GB 2. Perangkat Lunak yang akan digunakan dalam pembuatan aplikasi ini adalah sebagai berikut. a. Microsoft Windows Server 2013 b. IIS 7 c. OpenLDAP 2.4.40 d. PHP 5.4.24 e. MySql Server 5.6 f. Wordpress g. Phpbb 3.1.4 h. Moodle 1.9.19
15
3.2 Deskripsi Sistem TADJ adalah system Tugas Akhir Dalam Jaringan yang dibentuk dengan beberapa aplikasi lain seperti YOOPA, moodle, wordpress, dan phpbb. Dimana dengan adanya beberapa aplikasi tersebut membuat pengguna kesulitan karena banyaknya akun untuk mengakses keseluruhan system. Maka dibuatlah suatu web portal dengan LDAP sebagai tempat penyimpanannya untuk menyimpan akun pengguna tersebut. Sehingga pengguna tidak perlu membuat banyak akun karena sudah terintegrasi menggunakan LDAP tersebut. Setiap akses create, read, and update harus terintegrasi agar data pengguna di berbagai aplikasi dalam system TADJ menjadi valid. Setiap pengguna logout juga, diharapkan session dan cookie pengguna dalam beberapa aplikasi tersebut juga dihapus. Sehingga tidak ada ketidakvalidan session dan cookie.
3.3 Rancangan Sistem
Gambar 3.2 Rancangan Sistem TADJ Berikut ini penjelasan dari Gambar 3.2 Rancangan Sistem TADJ. 1.
User mengakses sistem menggunakan desktop browser.
2.
Aplikasi terhubung dengan server TADJ akan mengambil data user.
3.
Kemudian data user akan diteruskan ke server LDAP untuk kemudian di periksa keberadannya.
4.
Apabila data user belum terdaftar, maka akan dibuat user baru ke dalam LDAP dan database beberapa aplikasi dalam system TADJ.
5.
Apabila data user sudah terdaftar tapi belum login, maka akan diperiksa kecocokan username dan password, jika tidak cocok maka login gagal.
6.
Apabila user mengubah data usernya, maka data tersebut akan menggantikan data di server LDAP dan database beberapa aplikasi dalam system TADJ.
7.
Kemudian server LDAP akan mengembalikan status otentikasi ke server TADJ. 16
3.4 Flowcart Single Sign On (SSO) TADJ
Gambar 3.3 Flowchart Single Sign On (SSO) TADJ Penjelasan Gambar 3.3 Flowchart Single Sign On (SSO) TADJ sebagai berikut. 1. Aplikasi di jalankan menampilkan form sign in. 2. Pengguna memasukkan email dan password kedalam form. 3. Aplikasi mencocokkan email dan password pengguna dengan data pengguna yang tersimpan di database. 4. Ketika data pengguna cocok maka aplikasi akan membuat session untuk TADJ.
17
3.5 Flowcart Single Sign On (SSO) YOOPA
Gambar 3.4 Flowchart Single Sign On (SSO) YOOPA Penjelasan Gambar 3.4 Flowchart Single Sign On (SSO) YOOPA sebagai berikut. 1. Aplikasi di jalankan menampilkan form sign in. 2. Pengguna memasukkan email dan password kedalam form. 3. Aplikasi mencocokkan email dan password pengguna dengan data pengguna yang tersimpan di database. 4. Ketika data pengguna cocok maka aplikasi akan membuat session untuk YOOPA.
18
3.6 Flowchart Single Sign On (SSO) Moodle
Gambar 3.5 Flowchart Single Sign On (SSO) Moodle Penjelasan Gambar 3.5 Flowchart Single Sign On (SSO) Moodle sebagai berikut. 1. Aplikasi di jalankan menampilkan form sign in. 2. Pengguna memasukkan email dan password kedalam form. 3. Aplikasi mencocokkan email dan password pengguna dengan data pengguna yang tersimpan di database. 4. Ketika data pengguna cocok maka aplikasi akan membuat session dan cookie untuk moodle. 19
3.7 Flowchart Single Sign On (SSO) Wordpress
Gambar 3.6 Single Sign On (SSO) Wordpress Penjelasan Gambar 3.6 Flowchart Single Sign On (SSO) Wordpress sebagai berikut. 1. Aplikasi di jalankan menampilkan form sign in. 2. Pengguna memasukkan email dan password kedalam form. 3. Aplikasi mencocokkan email dan password pengguna dengan data pengguna yang tersimpan di database.
20
4. Ketika data pengguna cocok maka aplikasi akan membuat session dan cookie untuk wordpress.
3.8 Flowchart Single Sign On (SSO) Phpbb
Gambar 3.7 Flowchart Single Sign On (SSO) Phpbb Penjelasan Gambar 3.7 Flowchart Single Sign On (SSO) Phpbb sebagai berikut. 1. Aplikasi di jalankan menampilkan form sign in. 2. Pengguna memasukkan email dan password kedalam form.
21
3. Aplikasi mencocokkan email dan password pengguna dengan data pengguna yang tersimpan di database. 4. Ketika data pengguna cocok maka aplikasi akan membuat session dan cookie untuk phpbb.
3.9 Flowchart Single Sign Up (SSO)
Gambar 3.8 Single Sign Up (SSO) Penjelasan Gambar 3.8 Flowchart Single Sign Up (SSO) sebagai berikut. 1. Aplikasi di jalankan menampilkan form sign up. 2. Pengguna memasukkan data pengguna kedalam form. 3. Aplikasi memasukkan data pengguna tersebut kedalam database.
22
3.10Flowchart Single Sign On (SSO) Edit Data Pengguna
Gambar 3.9 Single Sign On (SSO) Edit Data Pengguna Penjelasan Gambar 3.9 Flowchart Single Sign On (SSO) Edit Data Pengguna sebagai berikut. 1. Aplikasi di jalankan menampilkan form edit data pengguna. 2. Pengguna memasukkan data pengguna yang akan diganti kedalam form. 3. Aplikasi memasukkan data pengguna tersebut kedalam database. 4. Fitur ini hanya tersedia pada web YOOPA.
23
3.11Rancangan Struktur Tabel Pengguna Nama Field
Tipe Data
Keterangan
id_user
int
Id pengguna
nama_lengkap
varchar(75)
Nama Lengkap Pengguna
username
varchar(25)
Username pengguna
email
varchar(25)
Email pengguna
password
varchar(25)
Password pengguna
Tabel 3.1 Rancangan Struktur Tabel Pengguna
3.12Rancangan Antar Muka Login dan Sign Up
Gambar 3.10 Rancangan Antar Muka Login
24
Gambar 3.11 Rancangan Antar Muka Sign Up
25
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM 4.1 Implementasi Sistem Implementasi sistem adalah tahap pengujian program yang dibangun, yang akan langsung diuji. Pengujian sistem dilakukan agar sistem yang dibuat telah sesuai dengan kebutuhan user dan memastikan input yang dimasukkan akan menghasilkan output yang sesuai. Aplikasi ini menggunakan PHP sebagai bahasa pemrograman aplikasi. MySQL sebagai database digunakan untuk menyipan data. LDAP sebagai database digunakan untuk menyimpan data pengguna untuk system Single Sign On (SSO). Spesifikasi perangkat keras untuk pengembangan aplikasi adalah sebagai berikut. a. Perangkat keras yang digunakan adalah: 1. Sistem Operasi Windows Server 2012 R2 64 bit, 2. Prosesor Intel(R) Core(TM) i3-3210 CPU @ 3.20GHz (4 CPUs), ~3.2GHz, 3. RAM 8192MB, 4. HDD 1024GB b. Perangkat lunak yang digunakan adalah: 1. Mysql server 5.6 2. Openldap 2.4.40 3. IIS 7 4. PHP 5.4.24 5. Wordpress 4.3.1 6. Phpbb 3.1.4 7. Moodle 1.9.19
4.2 Implementasi Single Sign Up (SSO) Sistem informasi TADJ dilengkapi dengan fitur Single Sign Up (SSO). Dimana pengguna cukup melakukan pendaftaran satu kali untuk dapat mengakses system
26
TADJ. Dimana data pengguna akan disimpan kedalam LDAP yang akan diteruskan untuk disimpan kedalam masing-masing database MySQL.
Gambar 4.12 Implementasi Single Sign Up (SSO)
4.3 Implementasi Single Sign On (SSO) Sistem informasi TADJ dilengkapi dengan fitur Single Sign On (SSO). Dimana pengguna cukup melakukan login satu kali untuk dapat mengakses system TADJ. Dimana data pengguna akan dicocokkan dengan data pengguna di dalam database. Pada tahap ini akun yang dipakai yaitu akun admin.
Gambar 4.13 Implementasi Single Sign On (SSO) 27
Gambar 4.14 Implementasi Single Sign On (SSO) Moodle
Gambar 4.15 Implementasi Single Sign On (SSO) Blog
28
Gambar 4.16 Implemetasi Single Sign On (SSO) Phpbb No 1 2 3 4 5
Username admin asetijadi yoga.tritama comrade test
TADJ Berhasil Berhasil Berhasil Berhasil Berhasil
YOOPA Berhasil Berhasil Berhasil Berhasil Berhasil
Status Login moodle Berhasil Berhasil Berhasil Berhasil Berhasil
wordpress Berhasil Berhasil Berhasil Berhasil Berhasil
phpbb Berhasil Berhasil Berhasil Berhasil Berhasil
Tabel 4.2 Tabel Pengujian Single Sign On (SSO)
4.4 Implementasi Single Sign On (SSO) Edit Data Pengguna Sistem informasi TADJ dilengkapi dengan fitur Single Sign On (SSO). Dimana pengguna cukup melakukan pergantian password sekali untuk dapat mengganti password akun yang lain dalam system TADJ. Dimana data pengguna yang berada di database akan diganti dengan data pengguna yang baru. Fitur ini hanya tersedia pada web YOOPA, namun diperlukan pergantian di beberapa pengaturan pada moodle, wordpress, dan phpbb jika password admin diganti.
29
Gambar 4.17 Implementasi Single Sign On (SSO) Edit Data Pengguna
30
BAB V PENUTUP 5.1 Kesimpulan Dapat disimpulkan pada semua sistem yang dibangun ini memiliki rancangan dan implementasi yang telah berjalan dengan baik sesuai dengan tujuan dari tugas akhir, yaitu penerapan teknologi Single Sign On (SSO) pada sistem Tugas Akhir Dalam Jaringan (TADJ).
5.2 Saran Saran untuk pengembengan ke depan dengan perbaikan sistem informasi dan aplikasi tugas akhir agar lebih baik dari segala segi serta dapat memperhatikan keamanan sistem dan data pengguna.
31
DAFTAR PUSTAKA [1]
https://www.wikiwand.com/id/MySQL, diakses tanggal 2 November 2015
[2]
https://www.wikiwand.com/en/OpenLDAP, diakses tanggal 2 November 2015
[3]
https://www.wikiwand.com/id/PhpBB, diakses tanggal 2 November 2015
[4]
https://www.wikiwand.com/id/WordPress, diakses tanggal 2 November 2015
[5]
https://www.wikiwand.com/id/Internet_Information_Services, diakses tanggal 2 November 2015
[6]
I.H, S. B. (2010). Pemograman Web dengan HTML. Bandung: Informatika Bandung. Y
[7]
Ramadhan, A. (2007). Pemrograman Web dengan HTML,CSS, dan Javasricpt. Jakarta: Elex Media Komputindo. Y
[8]
Prasetio, A. (2012). Buku Pintar Pemrograman Web. Jakarta: Media Kita. Y
32