Asynchronous JavaScript and XMLHTTP, atau disingkat AJaX, adalah suatu

  KONSEP KEAMANAN TRANSAKSI ONLINE TANPA PASSWORD Joko Triyono Teknik Informatika, Institut Sains & Teknologi AKPRIND Yogyakarta, Jl.

  Kalisahak 28 Komplek Balapan Yogyakarta, 55222 E-mail: zainjack@gmail.com

  ABSTRACT Currently information System has become commonplace in almost all community activities. Online transactions are an integral part of life. Security of Systems information move along with the need for System information, ranging from restrictions on access rights traditionally, using a password to use certain tools. Some online transactions using public key form a key that does not require a password, such as the use of key NIK (Population Identification Number), NISN (National Student Identification Number) and others for the purpose of access to information System. So there is a tendency in the human errors occur inserting the key. The result would be detrimental to the owner of the original key. This study aims to provide a concept to secure access to online information Systems without a password by using existing resources as comparative data that pass it to the user.

  By using some of the personal data of the user as feedback, it will be on tap numeric errors that occur. Results of this research will be in getting an information Sistem security method that uses public key without a password that has a minimum level of usage errors. And it can be concluded that the use of this method to be effective in cases of Sistem information of a general nature and does not require prior registration.

  Keyword: key, online, password, transactions, security Abstrak Saat ini sistem informasi sudah menjadi hal yang biasa dalam hampir semua kegiatan masyarakat. Transaksi-transaksi online menjadi bagian tidak terpisahkan dalam kehidupan. Keamanan Sistem informasi bergerak seiring dengan kebutuhan akan Sistem informasi, mulai dari pembatasan hak akses secara tradisional, menggunakan password sampai menggunakan alat bantu tertentu. Beberapa transaksi online menggunakan kunci berupa kunci umum yang tidak memerlukan password, Seperti penggunaan kunci NIK (Nomor Induk Kependudukan), NISN (Nomor Induk Siswa Nasional) dan lain-lain untuk keperluan akses Sistem informasi. Sehingga muncul kecenderungan terjadi kesalahan manusiawi dalam memasukkan kunci tersebut. Yang berakibat akan merugikan pemilik kunci yang asli. Penelitian ini bertujuan memberikan konsep untuk mengamankan akses Sistem informasi online tanpa password dengan menggunakan sumber informasi yang telah ada sebagai data pembanding yang di umpankan kepada pemakai. Dengan menggunakan beberapa data pribadi dari pemakai sebagai umpan balik, maka akan bisa di tekan angka kesalahan yang terjadi. Hasil dari penelitian ini akan di dapatkan sebuah metode pengamanan sistem informasi yang menggunakan kunci umum tanpa password yang memiliki tingkat kesalahan pemakaian minimal. Dan dapat disimpulkan bahwa penggunaan metode ini menjadi efektif untuk kasus-kasus Sistem informasi yang bersifat umum dan tidak memerlukan registrasi terlebih dahulu.

  Kata Kunci : kunci, online, password, pengamanan, transaksi

  PENDAHULUAN

  Saat ini sistem informasi sudah menjadi hal yang biasa dalam hampir semua kegiatan masyarakat. Transaksi-transaksi online menjadi bagian tidak terpisahkan dalam kehidupan. Keamanan sistem informasi bergerak seiring dengan kebutuhan akan sistem informasi, mulai dari pembatasan hak akses secara tradisional, menggunakan password sampai menggunakan alat bantu tertentu. Beberapa transaksi online menggunakan kunci berupa kunci umum yang tidak memerlukan password, Seperti penggunaan kunci NIK (Nomor Induk Kependudukan) pada saat pendaftaran CPNS atau pengisian formulir online yang terkait dengan data kependudukan, NISN (Nomor Induk Siswa Nasional) pada saat pendaftaran sekolah, baik SMP, SMA bahkan Kuliah/Perguruan tinggi dan lain-lain untuk keperluan akses ke-sistem informasi baik dalam sebuah Sistem Informasi maupun antar Sistem informasi. Sehingga muncul kecenderungan terjadi kesalahan manusiawi dan atau kesengajaan dalam memasukkan kunci tersebut. Yang berakibat akan merugikan pemilik kunci yang asli.

  Sehingga dibutuhkan sebuah system informasi yang bisa memenuhi kebutuhan seperti bagaimana merancang dan membangun Sistem informasi yang melakukan validasi menggunakan data dari Sistem informasi lain serta bagaimana membangun sebuah Sistem informasi yang menyediakan data yang bisa digunakan oleh Sistem informasi yang lain.

  Tujuan dari penelitian ini adalah membuat sebuah konsep untuk mengamankan akses suatu sistem informasi online tanpa password dengan menggunakan sumber informasi dari sistem informasi lain yang telah ada sebagai data pembanding yang di umpankan kepada pemakai.

  Menurut (Vicenttin, 2010) bahwa suatu pendekatan dan system terkait bernama Hypatia digunakan untuk mengakses dan memproses data oleh layanan koordinasi pada lingkungan yang dinamis. Sedangkan Joko Triyono (2015) dalam penelitiannya menyebutkan bahwa teknologi API Twitter menggunakan JSON bisa menjadi perantara antara user medsos twitter dengan system informasi dan user system informasi.

  Asynchronous JavaScript and XMLHTTP, atau disingkat AJaX, adalah suatu

teknik pemrograman berbasis web untuk menciptakan aplikasi web interaktif.

  

Tujuannya adalah untuk memindahkan sebagian besar interaksi pada komputer web

surfer

  , melakukan pertukaran data dengan server di belakang layar, sehingga halaman

  

web tidak harus dibaca ulang secara keseluruhan setiap kali seorang pengguna

melakukan perubahan. Hal ini akan meningkatkan interaktivitas, kecepatan,

dan usability. Ajax merupakan kombinasi dari:

  DOM yang diakses dengan client side scripting language, seperti

  VBScript dan

   implementasi ECMAScript seperti JavaScript dan JScript , untuk menampilkan secara dinamis dan berinteraksi dengan informasi yang ditampilkan Objek

  XMLHTTP dari Microsoft atau

  XMLHttpRequest yang lebih umum di

   implementasikan pada beberapa browser. Objek ini berguna sebagai kendaraan pertukaran data asinkronus dengan web server. Pada beberapa framework AJAX, element HTML

  IFrame lebih dipilih daripada XMLHTTP atau XMLHttpRequest untuk melakukan pertukaran data dengan web server.

  XML umumnya digunakan sebagai dokumen transfer, walaupun format lain juga

   memungkinkan, seperti HTML, plain text.

  XML dianjurkan dalam pemakaian teknik AJaX karena kemudahan akses penanganannya dengan memakai DOM

  JSON dapat menjadi pilihan alternatif sebagai dokumen transfer, mengingat JSON

   adalah JavaScript itu sendiri sehingga penanganannya lebih mudah

Seperti halnya DHTML , LAMP , atau SPA , Ajax bukanlah teknologi spesifik,

melainkan merupakan gabungan dari teknologi yang dipakai bersamaan. Bahkan,

teknologi turunan/komposit yang berdasarkan Ajax, seperti AFLAX sudah mulai

bermunculan. (Wikipedia, 2015) JSON (JavaScript Object Notation) merupakan format pertukaran data ringan.

  Sangat mudah untuk dibaca, ditulis, diurai dan dihasilkan. Hal ini didasarkan pada bagian dari Bahasa Pemrograman JavaScript, Standar ECMA-262 Edisi 3 - Desember 1999. JSON merupakan format teks yang benar-benar independen tetapi menggunakan konvensi yang akrab bagi programmer dari keluarga bahasa C, termasuk C , C ++, C #, Java, JavaScript, Perl, Python, dan banyak lainnya. Properti ini membuat JSON menjadi bahasa pertukaran data ideal. (Introducing JSON, 2015)

  JSON dibangun di atas dua struktur: Koleksi nama / nilai pasangan. Dalam berbagai bahasa, ini direalisasikan sebagai

   objek, rekaman, struktur, kamus, tabel hash, daftar bilahan, atau array asosiatif.

  

 Menampilkan daftar nilai. Dalam kebanyakan bahasa, ini direalisasikan sebagai

array, vektor, daftar, atau urutan.

METODE PENELITIAN

  Penelitian ini dilakukan dalam skala laboratorium di Laboratorium Jaringan dan Multimedia Institut Sains & Teknologi AKPRIND Yogyakarta. Dalam pengujian ini di lakukan pada dua buah server public, yaitu pertama sebuah server di

  

http://kependudukan.jack.lab.akprind.ac.id diilustrasikan sebagai server Kependudukan,

  kedua sebuah server di http://unsmp.jack.lab.akprind.ac.id diilustrasikan sebagai server Diknas (Hasil UN SMP), dan sebuah server lokal sebagai aplikasi yang akan melakukan transaksi dan validasi menggunakan kedua server tersebut melalui perantaraan modem atau koneksi internet umum. Gambar 1 menunjukkan arsitektur jaringan secara umum dari penelitian ini.

  Gambar 1. Arsitektur Penelitian

  Server KEPENDUDUKAN akan menyediakan data tentang kependudukan (NIK, Nama, Tempat Lahir, Tanggal Lahir, Nama Ibu), server UNSMP akan menyediakan data tentang UN Siswa (NISN, Nama, Asal SMP, Nilai UN). Sedangkan server lokal akan melakukan transaksi pendaftaran sekolah di system informasi lokal dengan menyediakan form tanpa password untuk memasukkan data identitas pendaftaran dan akan dilakukan validasi secara online terhadap kedua server tersebut, jika berhasil atau valid maka data pendaftaran tersebut akan diproses. Gambar 2 menunjukkan sequence proses validasi.

  Gambar 2. Sequence diagram validasi

  Pada SI Lokal, form akan di picu menggunakan ajax – JSON untuk melakukan request data ke SI UNSMP dengan mengirimkan parameter berisi (NISN, Nama dan Asal SMP), sedangkan request ke SI KEPENDUDUKAN dengan mengirimkan parameter berisi (NIK, Nama, Tempat dan Tanggal Lahir serta Nama Ibu), dari kedua pengiriman tersebut akan di peroleh konfirmasi validasi bernilai True atau False.

  Langkah penelitian yang harus dilakukan adalah:

  1. Merancang server service json KEPENDUDUKAN dengan parameter NIK, Nama, tempat dan tanggal lahir.

  2. Merancang server service json UNSMP dengan parameter NISN, Nama dan asal smp.

  3. Merancang SI Lokal untuk pendaftaran, dengan form pendaftaran melakukan validasi menggunakan ajax.

  4. Melakukan pengujian terhadap sistem secara database.

HASIL DAN PEMBAHASAN

  Sistem yang telah di rancang dan dikonfigurasi di uji-coba untuk mengetahui validasi dari fungsi-fungsi yang telah direncanakan. Pengujian di lakukan secara interface maupun dengan melakukan pembandingan di ranah dbms terhadap hasil transaksi.

  1. Merancang server service json KEPENDUDUKAN dengan parameter NIK, Nama, tempat dan tanggal lahir.

  Sebuah aplikasi kependudukan nasional seperti bank data E-KTP, sebenarnya bisa di berdaya-gunakan untuk kebutuhan masyarakat luas, dengan penambahan server service untuk data-data yang sifatnya umum.

  Dalam penelitian ini di analogikan sebuah system informasi kependudukan akan ditambahkan sebuah server service JSON untuk mengambil sebagian data untuk keperluan penelitian. Data yang diambil atau di share adalah NIK, Nama, tempat dan tanggal lahir. Server Service JSON ini akan menjadi perantara bagi system di luar yang membutuhkan tanpa harus mengetahui password atau susunan tabel dari system induk. Gambar 3 menunjukkan script yang di tempatkan pada server service JSON. 1. 2. 'kependudukan' , 'kependudukan' ); <?php 3. mysql_connect('localhost', 4. mysql_select_db('kependudukan'); 5. $wh=''; 6. $wh=$wh." where nik='".$_POST['nik']."'"; 7. if(isset($_POST['nama'])) $wh=$wh." and upper(nama)=upper('".$_POST['nama']."')"; 8. if(isset($_POST['tmplahir'])) $wh=$wh." and upper(tempatlahir)=upper('".$_POST['tmplahir']."')"; 9. if(isset($_POST['tgllahir'])) $wh=$wh." and tanggallahir='".$_POST['tgllahir']."'"; 10. $sql="SELECT nik,nama,tempatlahir,tanggallahir FROM `penduduk` ". $wh; 11. $query = mysql_query($sql); 12. if ($query) { 13. $posts = array(); 14. if(mysql_num_rows($query)) { 15. while ($post = mysql_fetch_assoc($query)) { 16. $posts[] = $post; 17. } } 18. echo json_encode(array('kependudukan'=>$posts)); 19. } ?>

  Gambar 3. Script Server Service JSON Kependudukan

  Baris 17, digunakan untuk mengirimkan data berbentuk array kedalam format JSON ke pihak peminta data.

  2. Merancang server service json UNSMP dengan parameter NISN, Nama dan asal Smp.

  UNSMP sebagai analogi sistem informasi Ujian Nasional SMP (NEM) yang menampung data nilai UN SMP. Pada system ini juga di tanamkan sebuah server service JSON yang akan digunakan untuk share data UN ke pihak pemakai. Gambar 4 menunjukkan script server service JSON yang melayani permintaan data UN.

  1. 2. 'unsmp' , 'unsmp' ); <?php 3. mysql_connect('localhost', 4. mysql_select_db('unsmp'); 6. 5. $wh=$wh." where nik='".$_POST['nik']."' and $wh='';

upper(nama)=upper('".$_POST['nama']."') and nisn='".$_POST['nisn']."'";

7. if(isset($_POST['smp'])) $wh=$wh." and upper(namasmp)=upper('".$_POST['smp']."')"; 8. $sql="SELECT hasilun.nik, hasilun.nisn, hasilun.nama, hasilun.ipa, hasilun.mtk, hasilun.bind, hasilun.bing, sekolah.namasmp, sekolah.alamat 9. FROM `hasilun` , `sekolah` ". $wh; 10. $query = mysql_query($sql); 11. if ($query) { 12. $posts = array(); 13. if(mysql_num_rows($query)) { 14. while ($post = mysql_fetch_assoc($query)) { 15. $posts[] = $post; 16. }} 17. echo json_encode(array('unsmp'=>$posts)); 18. ?> } Gambar 4. Script Server Service JSON UNSMP

  Baris 16, digunakan untuk mengirimkan data ke pihak pemohon melalui format JSON.

  3. Merancang SI Lokal untuk pendaftaran, dengan form pendaftaran melakukan validasi menggunakan ajax.

  Penelitian ini difokuskan pada pemakaian data bersama lintas server, sehingga

  bagian ini dibuat dalam area Lokal/Intranet sedangkan kedua system diatas di buat pada area public/internet. Dengan memanfaatkan teknologi AJAX dan JSON, maka dimungkinkan terjadinya komunikasi antar server, antar area public dan lokal/intranet. SI Lokal disini hanya melakukan proses pendaftaran dengan memanfaatkan data-data public yang telah ada di internet dalam hal ini adalah SI- Kependudukan dan SI-UNSMP. Tiap obyek yang di masukkan di dalam form akan dilakukan validasi ke penyedia informasi secara background dan akan ditampilkan informasi apakah data tersebut valid atau tidak. Gambar 5 menunjukkan tampilan form pendaftaran.

  Gambar 5. Tampilan Form Pendaftaran

  Dari gambar tersebut terlihat bahwa aplikasi ini di letakkan di lokalhost. Tiap komponen dari form setelah diisi akan langsung divalidasi untuk menentukan data tersebut benar atau tidak. Proses Validasi secara umum mengikuti alur seperti pada gambar 6.

  Gambar 6. Proses validasi data

  Secara umum dari penelitian ini bisa digambarkan sebagai berikut: Saat transaksi data pada form / tiap obyek, maka data langsung akan di validasi ke server online yang telah ditentukan, dengan memanfaatkan event form dan teknologi AJAX untuk kemudian dikirimkan melalui jalur internet menggunakan JSON dengan . dilakukan decode dan encode Gambar 7,8,9 menunjukkan script yang digunakan.

  <tr><td width=20%>NIK : </td><td width=50%><input type=text name=nik size=30 onchange="shownik(this.value)"></td><td><div id=vnik></div></td> <tr><td width=20%>NAMA : </td><td width=50%><input type=text name=nama size=70

onchange="showniknama(frm.nik.value,this.value)"></td><td><div id=vniknama></div></td>

<tr><td width=20%>TEMPAT LAHIR : </td><td width=50%><input type=text name=tlahir size=50

onchange="showniknamatmplahir(frm.nik.value,frm.nama.value,this.value)"></td><td><div

id=vniknamatmplahir></div></td>

  Gambar 7. Potongan Form

  Di bagian yang dicetak tebal adalah event form yang digunakan untuk mengirimkan data ke AJAX. Pada gambar tersebut terlihat parameter yang digunakan, mulai dari 1 parameter shownik(this.value), 2 parameter showniknama( frm.nik.value,

  this.value

  ), 3 parameter showniknamatmplahir( frm.nik.value, frm.nama.value,

  this.value

  ). Ini menunjukkan bahwa data untuk validasi akan selalu terkait, mulai dari check nik, lalu nama yang di ikuti nik, lalu tempat lahir yang diikuti nama dan nik. Adapun AJAX yang menghandle event tersebut seperti pada gambar 8.

  function shownik(str) function showniknama(str,str1) { { xmlHttp2=GetXmlHttpObject() xmlHttp=GetXmlHttpObject() var url="getnik.php?nik="+str var url="getniknama.php?nik="+str+"&nama="+str1 xmlHttp2.onreadystatechange=snik xmlHttp.onreadystatechange=sniknama xmlHttp2.open("GET",url,true) xmlHttp.open("GET",url,true) xmlHttp2.send() xmlHttp.send() }

  } function showniknamatmplahir(str,str1,str2) { xmlHttp1=GetXmlHttpObject() var url="getniknamatmplahir.php?nik="+str+"&nama="+st r1+"&tmplahir="+str2 xmlHttp1.onreadystatechange=sniknamatmplahir xmlHttp1.open("GET",url,true) xmlHttp1.send() }

  Gambar 8. AJAX yang menghandle event form

  Pada gambar tersebut terlihat bahwa masing-masing function dengan parameternya akan mengirimkan atau meneruskan request melalui

  xmlHttp.open(“GET”,url,true)

  sesuai dengan alamat url yang telah di tentukan. Gambar 9 menunjukkan url yang ditunjuk oleh AJAX.

  1. <?php 2. $data = array('nik' => $_GET['nik']); 3. $ch = curl_init(); 4. curl_setopt($ch, CURLOPT_URL, 'http://kependudukan.lab.akprind.ac.id/c/penduduk.php'); 5. curl_setopt($ch, CURLOPT_POST, 1); 6. curl_setopt($ch, CURLOPT_POSTFIELDS, $data); 7. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 8. $result = curl_exec($ch); 9. $decode = json_decode($result, true); 10. if($decode) { 11. foreach ($decode['kependudukan'] as $row) { 12. include "tmp.php"; intmp('nik',$row['nik']); echo "valid"; 13. }} 14. else echo $data; 15. ?>

  Gambar 9. Script getnik.php

  Script ini menerima request dari Ajax untuk kemudian di bundle dengan json untuk dikirimkan ke server 'http://kependudukan.lab.akprind.ac.id/c/penduduk.php' baris 4. Begitu data dikirimkan, maka request akan juga diterima melalui ‘curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);’ pada baris 7 untuk kemudian di decode dan dikirimkan ke penerima berita. Data yang valid akan ada response sedangkan yang tidak valid akan menghasilkan response NULL, baris 10 s/d 13 menunjukkan proses tersebut.

  4. Melakukan pengujian terhadap sistem secara database.

  Setelah dilakukan telaah dan pengujian transaksi, maka perlu dilakukan pengujian langsung ke database, untuk melihat benarkah data yang ditransaksikan sudah benar. Pada gambar 5 telah dilakukan pengujian transaksi terhadap data sebagai berikut NIK : 3402124907710004, Atas Nama : Eny Windari, Tempat Lahir : Madiun, Tanggal Lahir : 1971-07-09, NISN : 340151 dan Asal Sekolah dari : SMP Negeri 1 Ngaglik .

  Gambar 10 menunjukkan data asli dari Data Kependudukan dan gambar 11 menunjukkan data asli dari Data UNSMP. Sedangkan gambar 12 menunjukkan Data hasil transaksi yang terletak di server lokal.

  Gambar 10. Data Kependudukan

  Gambar 11. Data UNSMP Gambar 12. Data Hasil Transaksi

  Dari paparan gambar terbukti bahwa transaksi bisa dilakukan walaupun di server lokal, dengan menggunakan kombinasi teknologi AJAX dan JSON. Dan terbukti pula bahwa proses validasi bisa dilakukan dengan lancar.

  SIMPULAN

  Berdasarkan penelitian yang telah dilakukan, dapat disimpulkan bahwa proses validasi transaksi bisa dilakukan dengan menggunakan kombinasi teknologi AJAX dan JSON sehingga sangat memungkinkan dalam pengembangan sebuah sistem informasi keterkaitan antar sistem menjadi sangat erat dan kuat serta saling ketergantungan. Bahkan dalam penelitian ini telah dibuktikan transaksi yang bersifat intranet bisa menggunakan data yang bersifat public atau internet asal terminal intranet telah terhubung ke internet. Dengan metode ini maka dalam berbagi data, pemilik data tidak perlu merasa risau akan keamanan informasi, karena yang dibagikan adalah beberapa data yang telah di setujui, dan penerima data tidak pernah mengetahui user, password dan sistem dbms dari pemilik data.

  Saran untuk pengembangan dan penelitian lanjutan adalah perlu dilakukan penelitian lebih mendalam dalam hal teknik dan implementasi serta keterlibatan para pihak untuk bisa menerbitkan regulasi dan komunikasi antar para pihak pemilik data, sehingga data yang telah ada bisa lebih bermanfaat untuk meningkatkan dan mempercepat proses kemajuan bangsa.

DAFTAR PUSTAKA

  Application-only authentication

  . (2015). Retrieved Agustus 25, 2015, from Developers and Documentations OAuth: https://dev.twitter.com/oauth/application-only

  Introducing JSON

  . (2015, 08 01). Retrieved 08 22, 2015, from JSON: http:json.org Triyono, J. (2015). Sistem Informasi Agroteknologi Berbasis Web dan Jejaring Sosial

  Twitter. Seminar Nasional IENACO 2015 (Industrial Engineering National Confrence).

  Surakarta: UMS Surakarta. Vicenttin, V. S. (2010). Coordinating Service for Accessing and Processing Data in

  Dynamic Environments. On the Move to Meaningfull Internet System. OTM 2010 (pp. 309-325). Greece: Confederated International Conference : CoopIS, IS, DOA, and ODBASE.

  Wikipedia

  . (2015, Maret 11). Retrieved Agustus 31, 2015, from AJAX: https://id.wikipedia.org/wiki/AJAX