This is default featured slide 1 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 2 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 3 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 4 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

This is default featured slide 5 title

Go to Blogger edit html and find these sentences.Now replace these sentences with your own descriptions.

Jumat, 30 Desember 2016

Terminator Genisys (2015)



Sinopsis :

Film Terminator Genisys merupakan bagian kelima dari seri Terminator. Film Terminator Genisys disutradarai oleh Alan Taylor (Thor: The Dark World) yang merupakan entri franchise yang baru. Cerita dalam film ini dimulai seperti aslinya, yaitu bentuk masa depan John Connor (Jason Clarke) dalam perang yang akan melanda di tahun 2029 dengan mengirimkan tentara setia Kyle Reese (Jai Courtney) kembali ke tahun 1984 untuk menyelamatkan ibunya Sarah connor (Emilia Clarke) dari Terminator yang diprogram untuk membunuh nya. Apa yang dia temukan di sisi lain, bagaimanapun, adalah bukan seperti apa yang dia harapkan.

Review Film:

Film ini di mulai di masa depan (2029). John Connor sukses menghancurkan markas Skynet dan ralaman tentang mesin waktu menjadi kenyataan. Ternyata Skynet punya triger jika pasukan pembrontak berhasil masuk ke dalam kedalam pusat skynet, secara otomatis Terminator akan di kirim ke masa lalu untuk membunuh Sarah Connor, ibu dari John Connor. Dari awal cerita ini sebenarnya seluruh cerita Terminator dari terminator I sampai VI sudah selesai dan sudah masuk satu lingkaran waktu.

Setelah tahu bahwa terminator di kirim ke tahun 1984 ketika ibu John connor masih muda, maka John connor mengirim Kyle Reese yang sebenarnya ayahnya sendiri. Saat Kyle memulai perjalanan mesin waktu, dia melihat John connor di bekap oleh salah satu tentara yang ternyata adalah robot skynet yang menyusup ke pasukan pembrontak.

Kyle rise tiba di tahun 1984 dan persis di film pertamanya, dia mengambil celana gelandangan dan dikejar polisi. Tapi apa yang terjadi, polisi yang mengejar dia adalah T-1000, terminator yang bisa berubah bentuk. Di tahun 2019 sendiri, jenis terminator ini belum pernah di lihat oleh Kyle. Saat di berlari menghindari T-1000, tiba tiba muncul truck yang di kendarai oleh perempuan muda . "Come with if you wanna Life! Now Solider!".

Pengemudi truck itu adalah Sarah connor. Kyle rise bingung bukan kepalang, bagaimana mungkin sarah connor yang katanya lemah dan hanya pelayan rumah makan bisa menghadapi terminator. Herannya lagi, dia tahu bahwa dirinya akan datang, bukannya Kyle yang menyelamatkan Sarah, tapi justru sebaliknya.

Sesaat sebelumnya,Sarah connor dan T-800 (Arnold) baru saja menghadang T-800 yang dikirim dari tahun 2029, Terminator inilah yang harusnya menjadi lawan kyle. Terminator ini berhasil di bunuh oleh Robot T-800 Arnold tua dan berhasil dilumpuhkan oleh Sarah Connor dengan tembakan tepat adi prosesor (jantung) Robot T-800 Muda. Dari sini timeline sudah berubah.

Kyle Rise heran bagaimana mungkin T-800 justru membantu manusia melawan robot terminator jahat. Sarah bercerita bahwa 10 tahun sebelumnya (1994), Dia ditolong oleh T-800 yang dikirim dari masa depan saat orang tuanya dibantai oleh terminator. Sejak saat itulah Sarah dilatih oleh T-800 Arnold untuk mempersiapkan diri akan kedatangan Terminator T-800 di tahun 1984.

Setelah sukses menghancurkan T-1000 dan T-800 Arnold Muda, mereka berencana menuju tahun 1997 untuk menghancurkan awal kebangkitan skynet. Kyle rise lebih heran lagi bagaimana mungkin di tahun 1984 mereka bisa membuat mesin waktu. Ternyata T-800 Arnold yang dikirimdari masa depan sudah dibekali ilmu untuk membuat mesin waktu. Kyle rise mencegah Sarah pergi ke tahun 1997 dan memintanya pergi ke tahun 2017 karena menurutnya, jika masa lalu berubah, maka masa depan juga berubah.  Dia meyakinkan Sarah dengan mengucapkan kalimat yang hanya sarah yang tahu.

Akhirnya mereka tiba tiba di tahun 2017.  di Tahun tersebut ada perusahaan IT yang sangat maju dan menguasai sistem operasi Gadget dan Internet Of Thing bernama Genesys. Genesys akan meluncurkan OS terbarunya yang tinggal hitungan jam diluncurkan. Genisys ini merupakan perusahaan yang didirikan oleh anak dri Ahli komputer di Terminator 2 :Judgement day.

Walaupun di tahun 2017 Skynet belum lahir, mereka menduga bahwa Genisys inilah Skynet. Skynet bekerja mirip backdor. Program jahat yang bersembunyi do program yang tiap hari dipakai oleh pengguna gadget dan peralatan komputasi. Saat mereka masih berdiskusi di rumah sakit dengan pengawasan FBI, tiba tiba muncullah John Connor dari tahun 2019.

John Connor memberi tahu Sarah bahwa dia selalu ingat pesan ibunya untuk "Survive" bagaimanapun caranya. Saat  John Connor berusaha membawa Kyle rise dan Sarah melarikan diri dari rumah sakit, John Connor bilang "Dad" ke kyle rise. Sontak saja kyle rise kaget dan baru tahu bahwa dirinya di kirim  kemasa lalu agar bisa bertemu sarah connor dan memastikan john connor exist. Permasalahannya, Sarah tidak pernah memberi tahu hal tersebut.

Pada saat bersamaan, T-800 dari 1984 (Arnold tua) datang dan langsung menembak John Connor. Pada awalnya Sarah dan kyle rise menyalahkan T-800, tapi ternyata John connor kembali berdiri dan kembali normal seperti biasa. Ternyata John Connor adalah t-3000, Terminator hybrid mirip dengan Marcus di Terminator 4, hanya saja, T-3000 merupakan  integrasi manusia dan nanobot.

Nah, ternyata John Connor di utus oleh T-5000 ke tahun 2017 untuk memastikan bahwa Skynet exist. John Connor yang dianggap sebagai penyelamat manusia justru menjadi ancaman bagi manusia di tahun 2017. Jalan cerita selanjutnya mudah ditebak. Tim Kyle rise, Sarah dan T-800 berusaha menghentikan T-3000 John Connor dan menghancurkan Perusahaan Genisys.


Dampak baik :
Robot bisa menggantikan peran manusia dalam melakukan pekerjaan seperti memasak, menyapu, mengemudi  maupun pekerjaan lain yang biasa dilakukan oleh manusia. Dalam film ini, terdapat robot (yang baik) yang mampu membantu manusia untuk meyelamatkan dunia.

Dampak buruk :
Jika ada robot yang di program untuk berbuat baik, maka pasti ada robot yang di program untuk berbuat jahat, membuat kerusakan, kehancuran dan keonaran lainnya. Tergantung pada pencipta robot tersebut. Hal ini menyebabkan bahayanya robot jika diprogram berkarakter jahat.


Kamis, 29 Desember 2016

NEURAL NETWORK (JARINGAN SARAF PADA ARTIFICIAL INTELLIGENCE)

A.    PENGERTIAN ARTIFICIAL NEURAL NETWORK

Cabang ilmu kecerdasan buatan cukup banyak dan luas, serta erat kaitannya dengan disiplin ilmu yang lainnya. Hal ini bisa dilihat dari berbagai aplikasi yang merupakan hasil kombinasi dari berbagai disiplin ilmu. Salah satunya adalah Artificial Neural Network (ANN),yang  merupakan kombinasi antara ilmu artificial intelligence dengan biologi.


Neural Network merupakan kategori ilmu Soft Computing. Neural Network sebenarnya mengadopsi dari kemampuan otak manusia yang mampu memberikan stimulasi/rangsangan, melakukan proses, dan memberikan output. Output diperoleh dari variasi stimulasi dan proses yang terjadi di dalam otak manusia. Kemampuan manusia dalam memproses informasi merupakan hasil kompleksitas proses di dalam otak. Misalnya, yang terjadi pada anak-anak, mereka mampu belajar untuk melakukan pengenalan meskipun mereka tidak mengetahui algoritma apa yang digunakan. Kekuatan komputasi yang luar biasa dari otak manusia ini merupakan sebuah keunggulan di dalam kajian ilmu pengetahuan.

B.     KONSEP DASAR PEMODELAN ARTIFICIAL NEURAL NETWORK

1.      Struktur Dasar Jaringan Biologi
Pembuatan struktur jaringan syaraf tiruan diilhami oleh struktur jaringan biologi, khususnya jaringan otak manusia. Untuk lebih mengenal asal-usul serta bagaimana suatu struktur jaringan syaraf tiruan dibuat dan dapat dipakai sebagai suatu alat penghitung. Berikut ini akan diulas sedikit istilah yang secara umum digunakan.
Neuron adalah suatu unit pemroses terkecil pada otak, bentuk sederhana sebuah neuron yang oleh para ahli dianggap sebagai satuan unit pemroses tersebut digambarkan sebagai berikut :
Struktur pada gambar tersebut adalah bentuk standar dasar satuan unit jaringan otak manusia yang telah disederhanakan. Bentuk standar ini mungkin dikemudian hari akan berubah bila ada ilmuan yang dapat menciptakan bentuk standar yang lebih baik ataupun memperbaiki bentuk standar yang digunakan saat ini. Jaringan otak manusia tidak kurang dari 1013 neuron yang msing-masing terhubung oleh sekitar 1015  buah dendrite.
Dendrit (Dendrites) berfungsi untuk mengirimkan impuls yang diterima ke badan sel syaraf.
Akson (Axon) berfungsi untuk mengirimkan impuls dari badan sel ke jaringan lain
Sinapsis berfungsi sebagai unit fungsional di antara dua sel syaraf.
Secara umum jaringan syaraf terbentuk dari jutaan (bahkan lebih) struktur dasar neuron yang terinterkoneksi dan terintegrasi antara satu dengan yang lain sehingga dapat melaksanakan aktifitas secara teratur dan terus menerus sesuai dengan kebutuhan.

2.      Pemodelan Artificial Neural Network
Dari struktur neuron pada otak manusia, dan proses kerja yang dijelaskan di atas, maka konsep dasar pembangunan neural network buatan (Artificial Neural Network) terbentuk. Ide mendasar dari Artificial Neural Network (ANN) adalah mengadopsi mekanisme berpikir sebuah sistem atau aplikasi yang menyerupai otak manusia, baik untuk pemrosesan berbagai sinyal elemen yang diterima, toleransi terhadap kesalahan/error, dan juga parallel processing.
Karakteristik dari ANN dilihat dari pola hubungan antar neuron, metode penentuan bobot dari tiap koneksi, dan fungsi aktivasinya. Gambar di atas menjelaskan struktur ANN secara mendasar, yang dalam kenyataannya tidak hanya sederhana seperti itu.
a)      Input, berfungsi seperti dendrite
b)      Output, berfungsi seperti akson
c)      Fungsi aktivasi, berfungsi seperti sinapsis
Neural network dibangun dari banyak node/unit yang dihubungkan oleh link secara langsung. Link dari unit yang satu ke unit yang lainnya digunakan untuk melakukan propagasi aktivasi dari unit pertama ke unit selanjutnya. Setiap link memiliki bobot numerik. Bobot ini menentukan kekuatan serta penanda dari sebuah konektivitas.
Proses pada ANN dimulai dari input yang diterima oleh neuron beserta dengan nilai bobot dari tiap-tiap input yang ada. Setelah masuk ke dalam neuron, nilai input yang ada akan dijumlahkan oleh suatu fungsi perambatan (summing function), yang bisa dilihat seperti pada di gambar dengan lambang sigma (∑). Hasil penjumlahan akan diproses oleh fungsi aktivasi setiap neuron, disini akan dibandingkan hasil penjumlahan dengan threshold (nilai ambang) tertentu. Jika nilai melebihi threshold, maka aktivasi neuron akan dibatalkan, sebaliknya, jika masih dibawah nilai threshold, neuron akan diaktifkan. Setelah aktif, neuron akan mengirimkan nilai output melalui bobot-bobot outputnya ke semua neuron yang berhubungan dengannya. Proses ini akan terus berulang pada input-input selanjutnya.
ANN terdiri dari banyak neuron di dalamnya. Neuron-neuron ini akan dikelompokkan ke dalam beberapa layer. Neuron yang terdapat pada tiap layer dihubungkan dengan neuron pada layer lainnya. Hal ini tentunya tidak berlaku pada layer input dan output, tapi hanya layer yang berada di antaranya. Informasi yang diterima di layer input dilanjutkan ke layer-layer dalam ANN secara satu persatu hingga mencapai layer terakhir/layer output. Layer yang terletak di antara input dan output disebut sebagai hidden layer. Namun, tidak semua ANN memiliki hidden layer, ada juga yang hanya terdapat layer input dan output saja.
3.      Mengaktifkan Jaringan Syaraf Tiruan
Mengaktifkan jaringan syaraf tiruan berarti mengaktifkan setiap neuron yang dipakai pada jaringan tersebut. Banyak fungsi yang dapat dipakai sebagai pengaktif, seperti fungsi-fungsi goniometri dan hiperboliknya, fungsi unit step, impulse, sigmoid, dan lain sebagainya. Tetapi yang lazim digunakan adalah fungsi sigmoid, karena dianggap lebih mendekti kinerja sinyal pada otak.        

Perceptron
Perceptron pada Jaringan Syaraf Tiruan (Neural Network) termasuk kedalam salah satu bentuk Jaringan Syaraf (Neural Network) yang sederhana. Perceptron biasanya digunakan untuk mengklasifikasikan suatu tipe pola tertentu yang sering dikenal dengan istilah pemisahan secara linear. Pada dasarnya perceptron pada Jaringan Syaraf Tiruan (Neural Network) dengan satu lapisan memiliki bobot yang bisa diatur dan suatu nilai ambang. Algoritma yang digunakan oleh aturan perceptron ini akan mengatur parameter-parameter bebasnya melalui proses pembelajaran. Fungsi aktivasi dibuat sedemikian rupa sehingga terjadi pembatasan antara daerah positif dan daerah negatif. 

C.    KARAKTERISTIK ARTIFICIAL NEURAL NETWORK
Karakteristik neural network ditunjukkan dalam 3 ciri yaitu : Arsitektur jaringan algoritma jaringan (Alg. Pembelajaran dan Pengenalan) dan fungsi aktivasi.
1.      Arsitektur Jaringan
Arsitektur jaringan menggambarkan bagaimana mengatur neuron-neuron dalam lapisan dan bagaimana menghubungkan neuron-neuron tersebut dengan bobot keterhubungannya (Weight (w)). Pada setiap neuron yang berada dalam satu lapisan yang sama mempunyai fungsi aktivasi yang sama, dan setiap neuron dalam satu lapisan harus dihubungkan dengan setiap neuron pada lapisan berikutnya. Arsitektur jaringan syaraf tiruan yang sering digunakan adalah :
a.       Jaringan dengan lapisan tunggal
Jaringan dengan lapisan tunggal hanya memiliki 1 lapisan dengan bobot-bobot keterhubungannya. Jaringan ini hanya menerima input pada lapisan input dan kemudian seacara langsung mengolahnya menjadi output pada lapisan output. Arsitektur jaringan dengan lapisan tunggal dapat dilihat pada gambar berikut.


b.      Jaringan dengan banyak lapisan
Jaringan dengan banyak lapisan memiliki 1 atau lebih lapisan yang terletak diantara lapisan input dan lapisan output yang disebut sebagai lapisan tersembunyi  (hidden layer). Jaringan dengan banyak lapisan ini dapat menyelesaikan permasalahan yang lebih sulit daripada jaringan dengan lapisan tunggal, tetapi tentu proses pembelajaran menjadi jauh lebih rumit dan memakan waktu yang lama. Tetapi pada sebagian besar kasus, pembelajaran dengan banyak lapisan ini lebih sukses dalam hasil pengujian masalahnya. Arsitektur jaringan dengan banyak lapisan dapat dilihat pada gambar berikut.

2.      Algoritma Jaringan

a.       Algoritma Jaringan Pembelajaran
Algoritma pembelajaran digunakan untuk menemukan nilai-nilai bobot yang tepat dalam mengirimkan suatu informasi. Algoritma yang digunakan Neural Network dalam pembelajaran tergantung pada arsitektur jaringan yang digunakan. Secara umum, algoritma pembelajaran terbagi menjadi dua bagian, yaitu supervised learning (pembelajaran terawasi) dan unsupervised learning (pembelajaran tak terawasi).
Supervised learning merupakan algoritma pembelajaran yang memerlukan target output yang diharapkan untuk diketahui sebelumnya dalam proses pembelajarannya. Setiap pola input beserta target output yang ditentukan disebut sebagai pasangan pembelajaran. Algoritma pembelajaran NN yang termasuk dalam kelompok ini antara lain hebb, perceptron dan back Propagation.
Unsupervised learning tidak memerlukan target output dan tidak dapat ditentukan hasil seperti apakah yang diharapkan selama proses pembelajaran. Tujuan pembelajaran ini adalah mengelompokkan unit-unit yang hampir sama dalam suatu area tertentu. Yang termasuk dalam Unsupervised learning antara lain :
1)      Kohonen Self-Organizing Maps
2)      Learning Vector Quantization
3)      Counterpropagation

b.      Algoritma pengenalan
Setelah menemukan nilai bobot keterhubungan antar neuron yang bersesuaian dengan nilai output, maka nilai bobot tersebut digunakan untuk menguji NN jika suatu input dimasukkan sehingga suatu nilai ouput dihasilkan. Proses ini dinamakan proses pengenalan (pengujian). Algoritma pengenalan yang digunakan tergantung pada algoritma pembelajaran yang digunakan, biasanya merupakan bagian dari algoritma pembelajarannya.

c.       Separabilitas Linear
Salah satu cara yang biasa digunakan sebagai syarat henti proses pembelajaran atau digunakan juga untuk proses pengenalan adalah separabilitas linier.(garis pembatas). Dalam aplikasi pengenalan pola, garis pembatas ini merupakan batas keputusan apakah suatu anggota termasuk dalam kelompok (berespon positip) atau bukan kelompok. (berespon negatip)..Dalam koordinat Cartesian (x,y) garis pembatas ini digambarkan sebagai garis lurus yang mempunyai persamaan :
y= mx + c
dengan :
m : gradien garis
c : konstanta atau titik potong dengan sumbu-y (0,c)

3.      Fungsi Aktivasi
Ada beberapa bentuk fungsi aktivasi yang umum digunakan dalam Neural Network, antara lain:

a. Fungsi tangga biner

Jaringan dengan lapisan tunggal sering menggunakan fungsi tangga biner untuk mengkonversikan input dari suatu variabel yang bernilai kontinu ke suatu ouput biner (0 atau 1). Fungsi tangga biner dirumuskan sebagai,

Sedangkan grafiknya dapat dilihat pada gambar dibawah ini;


b. Fungsi linear (identitas)
Fungsi linear memiliki nilai output yang sama denagn nilai inputnya. Fungsi linear dirumuskan sebagai,
y=x
dan grafik fungsi linear dapat dilihat pada gambar berikut.


c. Fungsi sigmoid biner
Fungsi ini mempunyai nilai pada range 0 sampai 1. Fungsi ini dirumuskan sebagai,

Dan grafik fungsi ini dapat dilihat pada gambar berikut :


d. Fungsi sigmoid bipolar
Fungsi ini mempunyai nilai pada range antara –1 sampai 1. Fungsi ini dirumuskan sebagai,

Sedangkan grafik fungsinya dapat dilihat pada gambar berikut ,


D.    KELEBIHAN DAN KEKURANGAN ARTIFICIAL NEURAL NETWORK
1.      Kelebihan Artificial Neural Network
·         Mampu mengakuisisi pengetahuan walau tidak ada kepastian
·         Mampu melakukan generalisasi dan ekstraksi dari suatu pola data tertentu
·         JST dapat menciptakan suatu pola pengetahuan melalui pengaturan diri atau kemampuan belajar (self organizing)
·         Memiliki fault tolerance, gangguan dapat dianggap sebagai noise saja
·         Kemampuan perhitungan secara paralel sehingga proses lebih singkat
·         ANN mampu :
-          Klasifikasi: memilih suatu input data ke dalam kategori tertentu yang sudah ditetapkan
-          Asosiasi: menggambarkan suatu obyek secara keseluruhan hanya dengan bagian dari obyek lain
-          Self organizing: kemampuan mengolah data-data input tanpa harus mempunyai target
-          Optimasi: menemukan suatu jawaban terbaik sehingga mampu meminimalisasi fungsi biaya

2.      Kekurangan Artificial Neural Network
·         Black Box
·         Kurang mampu untuk melakukan operasi operasi numerik dengan presisi tinggi
·         Kurang mampu melakukan operasi algoritma aritmatik, operasi logika dan simbolis
·         Lamanya proses training yang mungkin terjadi dalam waktu yang sangat lama untuk jumlah data yang besar 

E.     KEGUNAAN ARTIFICIAL NEURAL NETWORK
•         Pengenalan pola (pattern recognition)
–        Huruf, tanda tangan, suara, gambar yang sudah sedikit berubah (mengandung noise)
–        Identifikasi pola saham
–        Pendeteksian uang palsu, kanker
•         Signal Processing
–        Menekan noise pada saluran telepon
•         Peramalan
–        Peramalan saham
•         Autopilot dan simulasi
•         Kendali otomatis otomotif


Daftar Pustaka :
http://www.webpages.ttu.edu/dleverin/neural_network/neural_networks.html
Sharma, Vidushi, dkk.2012. International Journal of Advanced Research in Computer Science and Software Enginering : A comprehensive Study of Arthificial Neural Network.India
www.wikipedia.org
http://elektronika-dasar.web.id/teori-elektronika/perceptron-dan-lapisan-jaringan-syaraf-tiruan-neural-network/


Minggu, 13 November 2016

TUGAS SOFTSKILL :SISTEM PAKAR / SISTEM CERDAS

 
Sistem Pakar(dalam bahasa Inggris :expert system) adalah sistem informasi yang berisi dengan pengetahuan dari pakar sehingga dapat digunakan untuk konsultasi. Pengetahuan dari pakar di dalam sistem ini digunakan sebagi dasar oleh Sistem Pakar untuk menjawab pertanyaan (konsultasi).

1. VENDING MACHINE


Vending machine merupakan suatu alat atau mesin yang menjual barang secara otomatis. Vending Machine tidak membutuhkan tenaga operator untuk menjual barang, kita dapat memilih sendiri barang yang kita inginkan.
 
Awal Mula Vending Machine

Vending Machine menurut sejarahnya ditemukan pada abad pertama oleh seorang pahlawan dari Alexandria. Vending Machine modern pertama kali diperkenalkan di London pada tahun 1880, vending machine ini menjual kartu pos. Sedangkan di US pada tahun 1888 dibuat vending machine untuk menjual permen karet, mesin dibuat oleh Thomas Adams Gum Company yaitu perusahaan pembuat permen karet. Perkembangan vending machine justru berkembang pesat di Jepang. Dimana hampir segala kebutuhan sehari-hari jika bisa di buat vending machinenya.

Vending Machine di Indonesia

Sekarang ini kita juga dapat menemukan vending machine di indonesia, namun hanya dibeberapa tempat saja kita dapat menjumpainya, tidak seperti di jepang atau negara maju lainnya kita dapa t menemukan vending machine dengan mudahnnya. Vending Machine ada di Indonesia umumnya hanya menjual minuman saja dan minuman yang dijual biasanya minuman sejenis softdrink dan dalam bentik kaleng atau botol. Vending Machine kebanyak didatangkan atau diimport dari luar negeri, seperti Jepang, Korea, China, Amerika, dan lainnya. Sebenarnya di Indonesia ada perusahaan yang memproduksinya, yaitu PT METEC SEMARANG yang berlokasi di kawasan berikat Tanjung Emas Export Procesing Zone, Semarang  Jawa Tengah. Namun produk yang dihasilkan diexport lagi dan dipasarkan di Jepang, karena perusahaan ini merupakan anak cabang dari perusahaan KUBOTA, japan yang memproduksi vending machine.

Cara Penggunaan

Cara pengguanaan mesin ini sangatlah mudah yaitu kita tinggal memasukan uang koin atau kertas (ada juga yang menggunakan kupon), lalu kita tekan tombol sesuai dengan barang yang kita inginkan, maka barang yang kita pilih akan dengan sendiri keluar. Mudah kan?
 
2. SISTEM PAKAR BERBASIS MOBILE UNTUK MENDETEKSI PENYAKIT PADA GINJAL

Pada  penelitian  ini,  sistem  pakar  dirancang  menggunakan  teknologi  mobile, sehingga pengguna sistem pakar dapat dengan mudah mengakses aplikasi. Secara umum, sistem pakar yang dirancang terdiri dari 2 (dua) bagian yaitu mesin inferensi (inference engine) yang akan diletakkan di sisi  server.Bagian ini dibuat dengan menggunakan bahasa pemrograman PHP. Sedangkan  basis  pengetahuan  sistem  pakar  disimpan  di  basis  data  MySQL.  Bagian  kedua adalah  sisi  client yang  diletakkan  di  perangkat  mobile pengguna.  Bagian  ini  dibuat  dengan teknologi J2ME (Java 2 Micro Edition).


Kedua bagian, clientdan server,terhubung melalui jaringan internet menggunakan mekanisme request dan  response.Client akan meminta data ke  serverdan  serverakan menanggapinya dengan  mengirimkan  data  yang  diminta.  Protokol  yang digunakan  dalam  komunikasi  kedua bagian  adalah  WAP  atau  wireless  application  protocol sehingga  aksesnya  akan  lebih  cepat.



Basis pengetahuan atau knowledge basemerupakan komponen yang paling penting dari suatu sistem  pakar.  Basis  pengetahuan  harus  disusun berdasarkan  fakta-fakta  yang  diperoleh  dari berbagai sumber terpercaya, baik dari pengetahuan seorang pakar, maupun referensi lainnya. Dalam  kaitannya  dengan  ginjal,  ternyata  ditemukan  banyak  sekali  variasi  gejala  dan  jenis penyakit  yang  mungkin  terjadi  pada  ginjal.  Dari  hasil  analisis  yang  dilakukan,  didapatkan setidaknya terdapat 84 rule. Setiap rule terdiri dari fakta-fakta sedemikian hingga membentuk pohon keputusan sampai sembilan level kedalaman.


Berikut ini beberapa contoh rule yang ditemukan dalam penelitian ini.
Contoh Rule 1 :
JIKA ada demam
DAN ada pembengkakan
DAN ada perubahan warna pada kulit
DAN ada nyeri pada bagian tertentu
DAN tidak ada nyeri ketika berkemih
DAN ada darah dalam urin
DAN tidak ada nanah dalam urin
DAN tekanan darah rendah
DAN ada mual dan muntah
MAKA menderita penyakit GAGAL GINJAL AKUT
Contoh Rule 2 :
JIKA ada demam
DAN tidak ada pembengkakan
DAN ada perubahan warna pada kulit
DAN ada nyeri pada bagian tertentu
DAN tidak ada nyeri ketika berkemih
DAN ada darah dalam urin
DAN tidak ada nanah dalam urin
DAN tekanan darah tinggi
DAN tidak ada mual dan muntah
MAKA menderita penyakit KANKER GINJAL
DAN ada perubahan warna pada kulit
DAN tidak ada nyeri pada bagian tertentu
DAN tidak ada nyeri ketika berkemih
DAN ada darah dalam urin
DAN tidak ada nanah dalam urin
DAN tekanan darah normal
DAN tidak ada mual dan muntah
MAKA menderita penyakit GLOMERULONEFRITIS AKUT
Seluruh rule yang telah ditemukan harus disimpan dalam sebuah basis data, sehingga dengan mudah  dapat  diakses  dan  ditambahkan.  Untuk  menyimpan  rule  dan  kesimpulan  terdapat beberapa  entitas antara  lain  entitas  pertanyaan digunakan  untuk  menyimpan  fakta-fakta  dari basis pengetahuan, entitas jawaban digunakan untuk menyimpan kesimpulan dari serangkaian fakta yang membentuk  rule.Pada penelitian ini, basis pengetahuan disimpan dalam 4 (empat) tabel basis data, yaitu tabel pertanyaan, jawaban, jurusan dan arahan. Rancangan  layar  pengguna  (user  interface)  dirancang  dengan  memperhatikan  sisi kenyamanan  (user  friendly).  Rancangan  aplikasi  dibuat  dengan  tampilan  berbasis  teks  agar dapat  ditampilkan  pada  berbagai  jenis  perangkat  mobile.  Rancangan  layar  menu  utama aplikasi  terdiri  dari  menu  “Beranda”  untuk  kembali  ke  halaman  awal,  “Konsultasi”  untuk melakukan  konsultasi,  “Kamus”  untuk  mengakses  halaman  kamus  istilah,  “Tentang”  untuk mengakses  penjelasan  singkat  terkait  aplikasi,  menu “Bantuan”  untuk  mengetahui  petunjuk menjalankan aplikasi dan menu “Admin Login” untuk mengakses halaman admin.

3. SISTEM PAKAR TROUBLESHOOTING LAPTOP BERBASIS WEB

Banyaknya pengguna Laptop yang kurang memiliki pengetahuan yang cukup terhadap penanganan kerusakan mengakibatkan banyak sekali pengguna Laptop atau suatu institusi yang mengeluarkan biaya yang tidak sedikit hanya untuk memperbaiki kerusakan yang terjadi pada Laptop Mereka. Oleh sebab itu aplikasi sistem pakar ini dibuat untuk membantu pengguna Laptop dalam melakukan diagnosis awal terhadap suatu kerusakan Laptop yang dialami beserta solusi untuk mengatasi kerusakan tersebut. Proses pembangunan sistem pakar ini menggunakan metode akuisisi pengetahuan dengan teknik pengumpulan data yang digunakan yaitu wawancara dan pengumpulan berkas dokumen. Sedangkan metode perancangan menggunakan Diagram Alir Data (DAD). Tools pemrograman yang digunakan dalam pembangunan sistem pakar ini menggunakan Adobe Dreamweaver 8 sedangkan basis datanya menggunakan MySQL. Dalam perancangan aplikasi sistem pakar ini meminta suatu input berupa jawaban dari user terhadap pertanyaan yang diajukan, kemudian output yang dihasilkan oleh komputer berupa kemungkinan kerusakan yang dialami, penjelasan kerusakan serta solusi atau saran untuk mengatasi kerusakan tersebut. Adapun kesimpulan yang diperoleh yaitu aplikasi sistem pakar ini sudah dapat melakukan diagnosis awal terhadap suatu dan memberikan langkah solusi untuk mengatasinya.


 
 

Sabtu, 15 Oktober 2016

OPTIMALISASI KEAMANAN WEBSITE MENGGUNAKAN CAPTCHA (Completely Automated Public Turing test to tell Computerd and Human Apart)


Byancha Rizka Mulyanti

Program Studi Pengetahuan Teknologi Sistem Cerdas
Jurusan Sistem Informasi Fakultas Ilmu Komputer dan Teknologi Informasi

Email : byancha71@gmail.com / charizkaaa@gmail.com

Abstrak
Keamanan sistem komputer berbasis web merupakan halyang harus diperhatikan, karena sistem berbasis web  sangat  rentan  terhadap  tindakan  kejahatan  komputer.  Serangan  terhadap  sistem  tersebut  banyak  dilakukan dengan  menggunakan  robot  program  (bots)  yang  menyamar  layaknya  sebagai  manusia.  Berdasarkan  masalah tersebut  diperlukan  metode  pengujian  untuk  membedakan  proses  validasi  antara  robot  dengan  manusia.  Metode tersebut  sering  disebut  dengan  reverse  turing  test. CAPTCHA  (Completely  Automated  Public  Turing  test  to  tell Computers and Human Apart) merupahkan salah satu dari metode reverse turing test. Berdasarkan hasil penelitian ini  menunjukkan  bahwa  CAPTCHA  dapat  diimplementasikan  dengan  baik  dan  dapat  menjadi  solusi  untuk memproteksi  sistem  komputer  berbasis  web  dari  serangan  robot,  sehingga  sistem  menjadi  relatif  lebih  aman  dan terhindar dari usaha-usaha penyusupan yang dilakukan oleh pihak yang tidak bertanggung jawab .
Keyword : Reverse Turing Test, CAPTCHA, Keamanan, Website
1. PENDAHULUAN
Perkembangan  teknologi  informasi  terutama  dalam  bidang  jaringan  komputer  berkembang  dengan  pesat khususnya  penggunaan  Internet.  Tidak  semua  pengguna Internet  dapat  menghargai  privasi  orang  lain.  Bany ak pengguna Internet yang dengan sengaja mencari keuntungan dan memanfaatkan kelemahan sistem orang lain  untuk melakukan tindakan kejahatan komputer. Serangan terhadap sebuah sistem komputer kebanyakan dilakukan melalui Internet,  serangan  itu  terutama  dilakukan  untuk  mendapatkan  sesuatu  sesuai  dengan  keinginan  penyerang. Dalam Internet banyak program yang diotomatiskan untuk membanjiri tempat polling dan tempat pemilihan secara  online. Salah satu alternatif untuk menghindari serangan yang terjadi pada Internet menggunakan metode pengujian atau tes terhadap  pengguna  sistem  komputer.  Pengujian  tersebut  bertujuan  mengetahui  bahwa  suatu  sistem  diakses  oleh pengguna atau mesin  scriptyang di otomatisasi. Pengujian ini sering dikenal  dengan metode  Reverse Turing Test. CAPTCHA adalah salah satu aplikasi metode Reverse Turing Test. Penggunaan CAPCHA dapat menjadi solusi yang tepat, sehingga Internet dapat ditingkatkan keamanannya dari pihak-pihak penyerang yang tidak bertanggung jawab. Penelitian ini bertujuan untuk mengimplementasikan  CAPTCHA dengan  script  PHP untuk proses authentikasi dan memproteksi website dari serangan script robot yang telah disiapkan oleh para penyerang.

2. TINJAUAN PUSTAKA
A.  CAPTCHA
CAPTCHA (Completely Automated Public Turing test to tell Computers and Human Apart)pada dasarnya adalah suatu progam yang sebagian besar manusia dapat melewatinya, akan tetapi komputer tidak dapat melewatinya (Ahn,2004).   Aplikasi  CAPTCHA  banyak  digunakan  pada penyedia  web  mail contohnya  Hotmail  dan  Yahoo. CAPTCHA dikembangkan untuk mencegah program robot atau  botsyang menciptakan ratusan email account untuk mengirimkannya  ke  user(mori,2003).  Bots ini  digunakan  oleh  spammer untuk  melakukan penyerangan  terhadap sistem  dengan  menggunakan  HTTP  POST  request submission. Program robot akan mengambil  nilai  variabel  yang terdapat pada  HTTP POSTrequest tersebut dari form yang akan disubmitsebelumnya dan mengirimkannya kembali secara berulang-ulang. Penyerang dapat dengan mudah melakukan hal tersebut dengan menulis scriptmenggunakan bahasa perl.
 
CAPTCHA terbagi dalam beberapa jenis, antara lain :
1)  Berdasarkan Visual (Visual Based)
Virtual Based CAPTCHA memiliki beberapa variasi, yang paling umum digunakan saat ini adalah teks yang dimiringkan dan ditempelkan pada sebuah gambar dan pengenalan bentuk. CAPTCHA yang menggunakan teks dimiringkan  yang  ditempelkan  pada  gambar  disebut  Gimpy,  EZ-Gimpy   adalah  varian  dari  Gimpy,  Pessimal print dan  buffletext.Ez-Gimpy yang sekarang ini  digunakan  oleh  Yahoo  dan  suatu  versi  serupa  digunakan  oleh  Hotmail.  Perbedaan  yang  mendasar  antara gimpy dan  EZ-gimpy adalah  Gimpy memiliki  tiga  atau  lebih  kata  yang  dimiringkan  yang  ditempelkan  pada suatu gambar, sedangkan EZ-Gimpy hanya memiliki satu kata yang dimiringkan pada suatu gambar.
2)  Berdasarkan suara (Sound Based) Sound  based  CAPTCHA kebanyakan  digunakan  untuk  membantu  mereka  yang  tuli  atau  mempunyai masalah dengan pendengaran. Suatu contoh sound based CAPTCHAadalah bunyi yang sesuai. CAPTCHA ini digunakan  pada  Hotmail,  Yahoo  dan  Altavista  sebagai tambahan  terhadap  CAPTCHA  visual  based ketika pendaftaran sebuah email account untuk masing-masing penyedia layanan email ini. Tes ini menjalankan klip audio  yang  berisi  rekaman  suatu  urutan  kata  atau  angka-angka  yang  dimiringkan  dan  jika  kata atau  angkaangka yang diduga tepat maka dapat melewati tes ini. (Tsui,2004).
B.  GD LIBRARY
 PHP  tidak  terbatas  hanya  pada  pembuatan  output  HTML  saja,  PHP  memungkinkan  untuk  membuat  dan memanipulasi gambar seperti garis kotak, lingkaran dan poligon dengan warna yang disesuaikan dengan keinginan. Pembuatan  gambar  tersebut  PHP  memanfaatkan  pustaka  grafik  yang  bernama  GD  yang  dapat  di  download  di http://www.boutel.com/gd/.  Pustaka  GD  mendukung  format  gambar  seperti  JPEG,  GIF,  PNG,  SWF,  TIFF  dan JPEG2000. Pustaka  GD  memiliki  sejumlah  fungsi  untuk  operasi  gambar.  Fungsi-fungsi  itulah  yang  digunakan  untuk memanipulasi dan membuat gambar dalam PHP. Adapun fungsi-fungsi tersebut adalah :
1)  Fungsi untuk menciptakan gambar                
imagecreate (int x_size, int y_size) Fungsi ini akan mengembalikan nilai bilangan bulat  yang menyatakan identitas gambar.  x_sizemenyatakan koordinat X, dan y_size menyatakan koordinat Y.
2)  Fungsi untuk menentukan warna int imagecolorallocate (resource image, int red, int green, int blue) Argumen  resource  image menyatakan  identitas  gambar,  berupa  nilai  kembalian  yang  dihasilkan  oleh  fungsi imagecreate.  Dan  argumen  int  red,  int  green,  int  blue menyatakan  komponen  warna  yang menyusun suatu warna. Nilai dari ketiga argumen iniberkisar antara 0 sampai 255. Fungsi ini menghasilkan nilai kembalian berupa bilangan bulat yang menyatakan identitas warna.
3)  Penampilan gambar ke browser int imagejpeg (resource image [,string filename [, int quality]]) int imagepng (resource image [, string filename]) int imagegif (resource image [, string filename]) Fungsi ini untuk menampilkan gambar ke web browser adalah imagejpeg untuk gambar JPEG, imagepng untuk gambar PNG, dan imagegif untuk gambar GIF.
4)  Dealokasi memori int imagedestroy (resource image) Operasi  gambar  memerlukan  pengalokasian  memori  yang cukup  besar.  Cara  yang  digunakan  untuk membebaskan memori yang digunakan adalah dengan memanggil fungsi imagedestroy.
5)  Pembuatan garis
int imageline (resource image, int x1, int y1, int x2, int y2, int color) int imagedashedline (resource image, int x1, int y1, int x2, int y2, int color) Garis dapat dibuat dengan menggunakan fungsi imagelinedan imagedashedlineuntuk garis putus-putus.
6)  Pembuatan lingkaran atau elips int  imagearc  (resource  image,  int  cx,  int  cy,  int  w,  int  h,  int  s,  int  e,  int color) int imageellipse (resource image, int cx, int cy, int w, int h, int s, int e, int color) Lingkaran atau elips dapat dibuat dengan menggunakan fungsi imagearc atau pada PHP 4.0.6 dengan pustaka GD versi 2.0.2 ke atas terdapat fungsi imageellipse.
7)  Pembuatan kotak
int imagerectangle (resource image, int x1, int y1,int x2, int y2, int col) int  imagefilledrectangle  (resource  image,  int  x1,  int  y1,  int  x2,  int  y2,  int color) Kotak  dapat  dibuat  dengan  menggunakan  fungsi  imagerectangle dan  jika  menginginkan  kotak  tersebut diarsir atau diberi warna pada bagian dalam kotak dapat menggunakan fungsi imagefilledrectangle.
8)  Pembuatan poligon int imagepolygon (resource image, array points, intnum_points, int color) int imagefilledpolygon (resource image, array points, int num_points, int color) Poligon dapat dibuat dengan menggunakan fungsi imagepolygondan jika menginginkan kotak tersebut diarsir atau diberi warna pada bagian dalam kotak dapat menggunakan fungsi imagefilled polygon.
9)  Penampil teks
int imagechar (resource image, int font, int x, inty, string c, int color) int imagecharup (resource image, int font, int x, int y, string c, int color) int imagestring (resource image, int font, int x, int y, string s, int color) array  imagettftext  (resource  image,  int  size,  int  angle,  int  x,  int  y,  int  color, string fontfile, string text) array imagettfbbox (int size, int angle, string fontfile, string text) Terdapat  dua  buah  fungsi  yang  dapat  digunakan  untuk menampilkan  sebuah  karakter.  Fungsi  tersebut  adalah imagechar dan  imagecharup.  imagecharup digunakan  untuk  menampilkan  karakter  yang  menghadap  ke atas.  String  atau  sederetan  karakter  juga  dapat  ditampilkan  menggunakan  fungsi  imagestring.  PHP  juga menyediakan dua buah fungsi yang digunakan untuk menampilkan True Type Font yaitu  imagettftext  dan imagettfbbox.
C.  REVERSE TURING TEST
Reverse  Turing  Test  merupakan  suatu  metode  pengujian  untuk  membedakan antara  manusia  dan program komputer  yang diotomatiskan (robot). Tes ini dapat dengan mudah dilewati oleh user manusia, tetapi sangat sulit untuk program komputer  yang diotomatiskan. Alternatif lain  yang digunakan untuk melakukantes tersebut adalah dengan menggunakan CAPTCHA. Tes tersebut harus memiliki kriteria sebagai berikut :
1)  Tes dibuat secara otomatis
2)  Tes sangat mudah digunakan  oleh  user  manusia,  yaitutes  yang  dihasilkan  harus  mudah  dipecahkan  oleh
usermanusia.
3)  Tes sangat sulit untuk digunakan oleh program komputer
4)  Kecil kemungkinan untuk menebak jawaban dengan tepat.
3. METODE PENELITIAN
Metode  yang  digunakan  dalam  penelitian  ini  menggunakan  studi  literatur  dan  eksperimen.  Sedangkan kebutuhan perangkat lunak dan perangkat keras yang digunakan antara lain : seperangkat komputer dengan beberapa software pendukung antara lain : Apache sebagai  web server, PHP 4.2.0 sebagai  interpreter, Library GD2.0, Opera dan Mozilla Firefox sebagai browserdan text editor.
4. HASIL DAN PEMBAHASAN
A.  CAPTCHA sebagai alternatif Reverse Turing Test
CAPTCHA dapat digunakan sebagai alternatif reverseturing test untuk memproteksi suatu website dari para penyerang yang tidak berhak.
Berikut ini penjelasan cara kerja CAPTCHA.
1)  Di generate  rangkaian kode yang berupa huruf dan angka atau sebuah kata, dan kemudian akan dihasilkan image  CAPTCHA.  Sesuai  dengan  algoritma  public  key  cryptography akan  digenerate  private  key  yang hanya dapat berpasangan dengan rangkaian kode yang dihasilkan tersebut (public key).
2)  Private  key akan  dirender  sebagai  hidden  field  di  form,  dan  harus  ada  input  box yang  akan  menerima masukan dari user berupa public keyatau image CAPTCHAyang ditampilkan.
3)  Private keydan public key yang akan disubmitoleh user akan dibandingkan dengan algoritma  public key criptograhy, jika ada kecocokan, berarti captcha sah dan jika tidak ada kecocokan, berarti ada indikasi yang melakukan submit bukan manusia.
B.  Implementasi CAPTCHA
Pada  bagian  ini  akan  dijelaskan  cara  pembuatan  CAPTCHA  dengan  menggunakan  pemrograman  PHP.  PHP mendukung  Object  Oriented  Programming,  maka  dalam  pembuatan  modul  CAPTCHA  ini  digunakan  OOP  pada PHP. Sebelum pembuatan modul ini perlu dilakukan beberapa tahapan antara lain instalasi dan konfigurasi pustaka GD, PHP dan Apache sebagai web server untuk mengimplementasikan modul tersebut.
1)  Instalasi Pustaka GD
 Pustaka GD adalah pustaka yang menyediakan fungsi-fungsi untuk memanipulasi gambar pada web. Pustaka GD memiliki sejumlah fungsi untuk operasi gambar. PHP menggunakan pustaka GD untuk keperluan manipulasi  gambar.  Sebelum  menggunakannya  maka  perlu  diinstall  terlebih  dahulu.  Pustaka  GD  yang digunakan dalam penelitian ini adalah versi 2.0.0.
Cara  yang  dilakukan  untuk  instalasi  pustaka  GD  adalah  dengan  source  code  yang  di  download  di http://www.boutel.com/gd/.  Adapun  caranya  adalah  Mengekstrak  file  kode  sumber  atau  source  code  dari pustaka GD
# gunzip < gd-2.0.0.tar.gz | tar xvf –
Proses  ekstraksi  file  ini  akan  secara  otomatis  membuat  direktori  gd-2.0.0  dan  file  source  code  berada  pada direktori  tersebut.  Setelah  proses  ekstraksi  selesai  dilakukan  maka  perlu  mengkonfigurasi  dan  kompilasi terhadap kode sumber tersebut sebelum diinstalasi
# cd gd-2.0.0
#  ./configure  –with-prefix=/usr/local/gd2  –with-jpeg-dir=/usr/local  –with-pngdir=/usr –with-xpm-dir=/etc/X1186
# make
# make install
2)  Instalasi PHP dan Apache Web Server
 PHP dan Apache web server biasanya telah disertakan secara default pada CD instalasi Linux. Namun jika  tidak  menyertakan  paket  ini  pada  saat  instalasi  Linux,  dapat  dilakukan  instalasi  paket  tersebut  secara manual, baik dengan menggunakan paket RPM pada distribusi Linux RedHat dan turunannya
3)  Pembuatan Modul CAPTCHA
Modul CAPTCHA yang akan dibuat adalah EZ-Gimpy. EZ-Gimpyadalah visual based CAPTCHA  yang terdiri dari image dan sebuah kata teks yang digabungkan didalamnya. Modul  tersebut terdiri  dari beberapa file  yang  saling terkait. File tersebut  diantaranya adalah  file  scriptPHP yang  berekstensi  php,  File  True  Type  Font yang  berekstensi  ttf,  dan  file  pustaka  untuk  kata-kata  yang  akan ditampilkan.
a)  Pembuatan file konfigurasi config.inc.php
File  ini  berisi  konfigurasi  untuk  modul  CAPTCHA,  Konfigurasi  tersebut  digunakan  untuk  memudahkan dalam penggunaan modul tersebut.
b)  Pembuatan file utama captcha.class.php
File  ini  berupa  class  utama  dari  modul  CAPTCHA  tersebut.  File  ini  berisi  script-script  yang  digunakan dalam pembentukan image CAPTCHA.
c)  Pembuatan file pustaka kata word.dic
 File ini adalah file pendukung yang berisi kata-kata yang akan ditampilkan sebagai  public key pada image CAPTCHA. Kata-kata yang terdapat dalam file tersebut nantinya akan diambil secara random. File tersebut  adalah  sebuah  file  text  ASCII.  Kata-kata  yang  terdapat  dalam  file  tersebut  dengan  mudah  dapat ditambah  atau  dikurangi  sesuai  dengan  kebutuhan.  Setiap  kata  akan  dipisahkan  oleh  baris,  artinya  setiap kata harus ditulis dalam baris yang berbeda.
4)  Pengujian CAPTCHA
 Pada tahapan ini akan dilakukan pengujian untuk mengetahui modul tersebut sudah berjalan dengan baik atau  belum.  Pengujian  ini  dilakukan  oleh  peneliti  sehingga  hasil  outputnya  sesuai  dengan  yang  diharapkan. Langkah-langkah  yang  dilakukan  dalam  pengujian  modul  CAPTCHA  adalah  dengan  melihat  output  image yang dihasilkan, kata yang ditampilkan serta distorsi yang dihasilkan. Hasil pengujian ini menunjukkanbahwa modul CAPTCHA sudah berjalan dan hasil outputnya sudah sesuai dengan harapan.
5. KESIMPULAN
Berdasarkan penelitan yang telah dilakukan dapat disimpulkan bahwa :
a) Telah dihasilkan sebuah modul CAPTCHA dengan menggunakan script PHP yang dapat memproteksi website dari serangan robot,
b) Berdasarkan hasil pengujian membuktikan bahwa modulCAPTCHA dapat bekerja dengan baik sesuai dengan harapan.

6. DAFTAR PUSTAKA
Captcha Project, http://www.captcha.net
Ahn,  L.V.,  Blum,  M.,  dan  Langford,  J.,  2004,  “Telling  Humans  and  Computers  Apart  Autpmatically”,
http://www.cs.cmu.edu/~biglou/captcha_cacm.pdf
Chew,  M.,  Baird,  H.  S,  2003,  “Baffletext  :  A  human  Interactive  Proof”
http://cs.berkeley.edu/~mmc/papers/drr02.pdf.
Elmatsani, H. M, 2004, “Verification Word”, http://program-ruti.org/veriword/
Indrajit,  R.E.,  Prastowo,  B.N.,  dan  Yuliardi,  Rofiq,  2002,  “Memahami  Sekuriti  Linux”,  Elexmedia  komputindo,
Jakarta.
Kadir, Abdul, 2003, “Dasar Pemrograman Web Dinamis Menggunakan PHP”, Andi Offset, Yogyakarta
Mori,  G.,  Malik,  J.,  2003,  “Recognizing  Objects  in  Adversarial  Clutter  :  Breaking  a  Visual  CAPTCHA”,
http://www.cs.berkeley.edu/~mori/research/papers//mori_cvpr03.pdf
Nugroho  A,  2004,  “Implementasi  CAPTCHA  sebagai  Pendukung  Proses  Registrasi  Online”  Tugas  Akhir,
Universitas Ahmad Dahlan, Yogyakarta.
Nogajski, H., 2004” PHP-Class hn_captcha Version 1.2”,
http://hn273.users.phpclasses.org/browse/package/1569.html
O’Brien, Matt, 2001, “Computer or Human ? New program can tell”.
http://www.captcha.net/news/computer_human.html.
Pinkas, B., Sander, T., 2004, “Securing password against dictionary attacks” www.pinkas.net/papers/pwdweb.pdf
Roy, G.M, 2004, “Session Captcha v.1.0”, http://www.gavinroy.com/downloads/captcha_v1.tar.gz
Suprapti,  Iswanti,  2003,  “Studi  Sistem  Keamanan  Data  dengan  Metode  Public  Key Cryptography”,  Tugas  Akhir,
Institut Teknologi Bandung.
Tsui, Annete, 2004, “CAPTCHA”,
http://www.cs.sjsu.edu/faculty/stamp/CS265/projects/SPR04/section2/papers/Tsui.doc
http://www.kecoak-elektronik.net/log/2007/11/15/breaking-the-captcha/
http://www.boutell.com/gd/manual2.0.28.html