Wednesday, October 19, 2016

Membuat Captcha Sederhana Menggunakan Java

  No comments
Assalamu'alaikum. Disela-sela keseibukan penulis akan mencoba membagi sedikit ilmu kepada teman-teman yang ingin belajar bahasa pemrograman java. Pada kesempatan ini, kita akan membuat sebuah captcha sederhana menggunakan java. Apa itu captcha? Anda bisa tanya sendiri sama mbah Google. :D
Oke... sebelum kita bahas sebaiknya anda persiapkan mental anda dan siapkan juga secangkir kopi. Karena ini akan membuat kepala anda sedikit panas.

Disini kita membahas Captcha penjumlahan angka. Contohnya saat anda akan login pada situs resmi UIN SUSKA RIAU yaitu Iraise.

tampilan captcha pada Iraise
Pada saat ingin login anda harus memasukkan angka penjumlahan yang disediakan. Pada prinsip nya, sebuah captcha tersebut akan menampilkan angka-angka random. Angka-angka tersebutlah yang
akan menentukan berapa hasil yang seharusnya kita inputkan. Apabila salah maka akan disuruh mencoba kembali. Jika anda memasukkan dengan benar maka akan langsung masuk ke Iraise nya.

Jadi hal yang harus kita pahami disini adalah penggunaan angka random, ScannerFormat, dan perulangan-percabangan.

1. Memasukkan Angka Random ke Rumus
Silahkan buat skrip seperti dibawah ini:

import java.util.Scanner;
import java.util.Random;
public class captcha{
    public static void main(String [] args){
        Scanner key = new Scanner(System.in);
        //munculan angka random
        int x = (int) (Math.random()*50);
        int y = (int) (Math.random()*50);
        //rumus dari Captcha
        int z = x + y;

//untuk output nya
 System.out.println(x+ " + " + y + " = ");
        System.out.println("");
        System.out.println("Hasilnya adalah ");
        System.out.print("------> ");
        int hasil = key.nextInt();
 
        }
}

Jika skrip ini kita run, maka outputnya akan seperti ini :
Output sebelum dimasukkan hasil
 Setelah di ketikkan angka hasilnya, maka:
Output setelah dimasukkan hasil

Nah, Apa yang kurang? yaaa... perhitungan apakah jawaban kita benar atau salah. Jika jawaban kita benar apa yang akan dilakukan java selanjutnya dan jika jawaban kita salah apa yang akan dilakukan java selanjutnya.
Dalam perhitungan ini, kita menggunakan perulangan while dan percabangan if. Sedikit info:
  • Perulangan while digunakan untuk menjalankan serangkaian kode secara berulang-ulang. Sintaks nya seperti ini :
while (kondisi){
    pernyataan;
}

Jika kondisi dievaluasi bernilai true maka pernyataan akan dieksekusi dan proses berlanjut diulangi.

  • Percabangan if  menyatakan pernyataan akan dieksekusi bila memenuhi syarat atau kondisi tertentu. Sintaks nya seperti ini :
if (kondisi){
     pernyataan;}

2. Memasukkan Skrip Captcha Sederhana

Setelah kita mempelajari semua prinsip-prinsip nya, masukkan skrip dibawah ini dengan benar:

import java.util.Scanner;
import java.util.Random;
public class captcha{
    public static void main(String [] args){
        Scanner key = new Scanner(System.in);
        //munculan angka random
        int x = (int) (Math.random()*50);
        int y = (int) (Math.random()*50);
        //rumus dari Captcha
        int z = x + y;

//untuk output nya
 System.out.println(x+ " + " + y + " = ");
        System.out.println("");
        System.out.println("Hasilnya adalah ");
        System.out.print("------> ");
        int hasil = key.nextInt();

//perulangan dan percabangan
        while (hasil!=z){
            if (hasil>z){
                System.out.println("Hasilnya terlalu besar. Coba Lagi!");
                System.out.print("------>");
                hasil=key.nextInt();
            }
            if (hasil<z){
                System.out.println("Hasilnya terlalu kecil. Coba Lagi!");
                System.out.print("------>");
                hasil=key.nextInt();
            }
            if (hasil==z){
                System.out.println("Anda Hebat");
                }
            }
        }
    }
    

Maka hasil Outputnya akan seperti ini:



  • Pada inputan pertama saya memasukkan nilai yang kecil dari hasil seharusnya.
  • Pada inputan kedua saya memasukkan nilai yang besar dari hasil seharusnya.
  • pada inputan ketiga saya memasukkan nilai yang sama dari hasil seharusnya.
Mungkin itu dulu yang dapat saya bagi. Jika ada pertanyaan silahkan bertanya dikolom komentar dibawah. Semoga bermanfaat bagi kita semua. Wassalam...

No comments :

Post a Comment