Logika Bilangan Prima pada JSP (Revisi)

Hay Gaes, selamat hari Rabu :D

Berikut ini saya akan menerangkan sedikit tentang penerapan logika bilangan prima pada bahasa pemrograman JSP.

Bilangan prima, dalam matematika bilangan prima adalah bilangan asli yang lebih besar dari angka 1 yang faktor pembaginya adalah 1 dan bilangan itu sendiri. Seperti contoh 2 dan 3 adalah bilangan prima, 4 bukan bilangan prima karena 4 bisa dibagi 2. Sepuluh bilangan prima yang pertama adalah 2, 3, 5, 7, 11, 13, 17, 19, 23 dan 29.

Implementasi pada bahasa pemrograman

Jika kita akan menampilkan perhitungan bilangan prima pada aplikasi yang telah kita buat, kita bisa menggunakan logika perhitungan modulus. Dimana hasil dari modulus adalah 1 maka bilangan tersebut adalah bilangan prima, dan apabila hasil sebuah modulus adalah 0 maka bilangan tersebut bukan bilangan prima.

Contoh :
7 mod 2 = 1 (Bilangan Prima)
8 mod 2 = 0 (Bukan Bilangan Prima)

Script

<%
String a = request.getParameter("angka1");
    //memanggil parameter "angka1" pada home.jsp (form input data)
String b = request.getParameter("angka2");
    //memanggil parameter "angka2" pada home.jsp (form input data)
int min = Integer.parseInt(a);
    //parse String to Integer
int max = Integer.parseInt(b);
    //parse String to Integer
for(int i=min;i<=max;i++){
    //looping dari angka terkecil hingga angka terbesar
    int x = 0;
    //Variable untuk penandaan bilangan
    for(int j=2;j<=i;j++){
        //perhitungan modulus
        if(i%j==0){
            if(i!=j){
                x = 1;
                //jika i mod j = 0, jika benar apakah i != j, jika benar maka x bernilai "1"
            }
            if(x != 1 && i==j){
                out.print(i+",");
                //jika i = j dan x != 1 maka bilangan i adalah bilangan Prima
                //jika bukan, lakukan looping pada perhitungan modulus
            }
        }
    }
}
%>

Penjelasan Penggalan Script

Penggalan script berikut menambahkan sebuah variable (String) dimana variable tersebut berfungsi untuk mendapatkan parameter pada home.jsp (halaman input data), dan juga sekaligus untuk parsing dari type data String ke type data Integer.

String a = request.getParameter("angka1");
String b = request.getParameter("angka2");
int min = Integer.parseInt(a);
int max = Integer.parseInt(b);

Setelah parameter yang kita butuhkan sudah berhasil ter-define, maka selanjutnya kita masuk kedalam tahap logika coding utama.

for(int i=min;i<=max;i++){
    int x = 0;
    for(int j=2;j<=i;j++){
        if(i%j==0){
            if(i!=j){
                x = 1;
            }
            if(x != 1 && i==j){
                out.print(i+",");
            }
        }
    }
}

Proses berjalan nya coding utama sebagai berikut :
  • Looping nilai i dari input angka terkecil "angka1" hingga angka terbesar "angka2", sekaligus mendefine 1 variable x = 0, dimana variable x tersebut berfungsi sebagai penanda saat proses perhitungan modulus berlangsung.
  • Looping nilai j dimulai dari angka "2" hingga lebih kecil sama dengan nilai i. Dikarenakan proses dimulai dari modulus 2.
  • Jika hasil i mod j = 0, apakah nilai i != j , jika benar maka ubah nilai x = 1.
  • Jika nilai i = j, apakah nilai x != 1 dan nilai i = j, jika benar maka cetak nilai i, jika salah maka lakukan proses looping pada nilai modulus.

Form input angka



Output bilangan prima


Demikianlah logika implementasi bilangan prima pada JSP.
Semoga bermanfaat :)

Bagaimana cara kerja JSP Forward ?

Hay Gaes, selamat hari Rabu :D

Sebelum kita melangkah pada JSP forward, sebelumnya saya akan membahas sedikit tentang JSP. Apakah JSP itu? JSP (Java Server Pages) adalah bahasa scripting untuk web programing yang bersifat server side seperti halnya PHP dan ASP.

JSP dapat berupa gabungan antara baris HTML dan fungsi-fungsi dari JSP itu sendiri. Berbeda dengan servlet yang harus dikompilasi oleh user menjadi class sebelum dijalankan, JSP tidak perlu dikompilasi oleh user akan tetapi server yang akan melakukan tugasnya tersebut.

Setelah kita mengetahui sedikit apa itu JSP, selanjutnya saya akan mencoba untuk menerangkan tentang JSP forward, dan juga sample script coding yang digunakan.

Dalam pembahasan kali ini saya akan menggunakan 2 file jsp, yang pertama adalah home.jsp (home page), dan yang lainnya adalah hitung.jsp (forward page).

home.jsp

<%-- 
    Document   : home
    Created on : Apr 2, 2016, 11:01:14 AM
    Author     : Bagus Dwiyanu
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <% 
          String angka = request.getParameter("angka1");
          if(angka != null)
          {
        %>
        <jsp:forward page="hitung.jsp">
            <jsp:param name="nama" value="Bagus Dwiyanu" />
            <jsp:param name="nim" value="1311510117" />
        </jsp:forward>
        <%
          } else {
        %>
        <form action="home.jsp">
            <table>
                <tr>
                    <td>Input Angka 1</td>
                    <td>:</td>
                    <td><input type="text" name="angka1"></td>
                </tr>
                <tr>
                    <td>Input Angka 2</td>
                    <td>:</td>
                    <td><input type="text" name="angka2"></td>
                </tr>
                <tr>
                    <td><input type="submit" value="Cetak"></td>
                </tr>
            </table>
        </form>
        <% } %>
    </body>
</html>

Penjelasan Penggalan Script

Disini script akan membaca sebuah string "angka" pada parameter "angka1" di home.jsp, apabila value "angka" sudah terisi (tidak kosong), maka home.jsp akan langsung mem-forward sebuah parameter ke hitung.jsp.

Contoh parameter disini yang akan diforward adalah :
nama parameter "nama" dengan value "Bagus Dwiyanu"
nama parameter "nim" dengan value "1311510117"

<% 
  String angka = request.getParameter("angka1");
  if(angka != null)
  {
%>
<jsp:forward page="hitung.jsp">
    <jsp:param name="nama" value="Bagus Dwiyanu" />
    <jsp:param name="nim" value="1311510117" />
</jsp:forward>

apabila string "angka" pada home.jsp belum terisi sebuah value (null), maka akan tampil form input pada home.jsp

<form action="home.jsp">
    <table>
        <tr>
            <td>Input Angka 1</td>
            <td>:</td>
            <td><input type="text" name="angka1"></td>
        </tr>
        <tr>
            <td>Input Angka 2</td>
            <td>:</td>
            <td><input type="text" name="angka2"></td>
        </tr>
        <tr>
            <td><input type="submit" value="Cetak"></td>
        </tr>
    </table>
</form>

hitung.jsp

<%-- 
    Document   : hitung
    Created on : Mar 26, 2016, 12:10:10 AM
    Author     : Bagus Dwiyanu
--%>

<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <table>
            <tr>
                <td>Bilangan Prima</td>
                <td>:</td>
                <td>
                    <%
                        //out.print("Bilangan Prima :"+request.getParameter("angka1"));
                        String a = request.getParameter("angka1");
                        String b = request.getParameter("angka2");
                        int min = Integer.parseInt(a);
                        int max = Integer.parseInt(b);
                        for(int i=min;i<=max;i++){
                            int x = 0;
                            for(int j=2;j<=i;j++){
                                if(i%j==0){
                                    if(i!=j){
                                        x = 1;
                                    }
                                    if(x != 1 && i==j){
                                        out.print(i+",");
                                    }
                                }
                            }
                        }
                        //out.print("Bilangan Prima : "+nilai);
                        //out.print("Welcome "+request.getParameter("angka1"));
                    %>
                </td>
            </tr>
            <tr>
                <td>Bilangan Fibonacci</td>
                <td>:</td>
                <td>
                    <%
                        //out.print("Bilangan Prima :"+request.getParameter("angka1"));
                        String c = request.getParameter("angka1");
                        String d = request.getParameter("angka2");
                        int min1 = Integer.parseInt(c);
                        int max1 = Integer.parseInt(d);
                        
                        int[] feb = new int[max1];
                        feb[0] = 0;
                        feb[1] = 1;
                        for(int i=2;i<max1;i++){
                            feb[i] = feb[i-1] + feb[i-2];
                        }
                        for(int i=min1;i<max1;i++){
                            if(feb[i]>=min1 && feb[i]<max1){
                                out.print(feb[i] + " ");
                            }
                        }
                    %>
                </td>
            </tr>
            <tr><td><br/></td></tr>
            <tr>
                <td>Nama : <%=request.getParameter("nama")%><td/>
            </tr>
            <tr>
                <td>NIM : <%=request.getParameter("nim")%></td>
            </tr>
        </table>
    </body>
</html>

Penjelasan Penggalan Script

Script untuk get parameter yang sudah diforward oleh home.jsp adalah sebagai berikut

<tr>
    <td>Nama : <%=request.getParameter("nama")%><td/>
</tr>
<tr>
    <td>NIM : <%=request.getParameter("nim")%></td>
</tr>

Tampilan home.jsp


Pada home.jsp ini hanya akan ada 2 inputan data saja (input data ini diperuntukan pada proses bilangan prima dan fibonacci), dan juga tombol submit.

Tidak ada input data "Bagus Dwiyanu" dan "1311510117" (parameter yg akan diforward)

Ketika form input sudah di isi, kemudian disubmit, pada hitung.jsp akan menampilkan proses bilangan prima, fibonacci, dan juga parameter yg sudah ter-forward.

Tampilan hitung.jsp


Demikianlah tutorial cara kerja JSP forward.
Semoga bermanfaat :)

Logika Bilangan Fibonacci pada JSP

Bilangan Fibonacci adalah sebuah bilangan dimana hasil dari penjumlahan fibonacci merupakan penjumlahan 2 bilangan sebelumnya, dan dilakukan secara berulang (rekursi).

Sebagai contoh input bilangan pertama adalah 0, dan bilangan ke-2 adalah 1, maka hasil yang didapat adalah 0 1 1 2 3 5 8 13 21 34 55 89 dan seterusnya.




Implementasi pada bahasa pemrograman


Pada saat menampilkan perhitungan fibonacci, maka penjumlahan antara lain

bil 1, bil 2
bil 3 = bil 1 + bil 2
bil 4 = bil 2 + bil 3
bil 5 = bil 3 + bil 4
bil 6 = bil 4 + bil 5
dan seterusnya.

Script


<%
String c = request.getParameter("angka1");
    //memanggil parameter "angka1" pada home.jsp (form input data)
String d = request.getParameter("angka2");
    //memanggil parameter "angka2" pada home.jsp (form input data)
int min1 = Integer.parseInt(c);
    //parse String to Integer
int max1 = Integer.parseInt(d);
    //parse String to Integer
int[] feb = new int[max1];
    //define array baru dengan maximum nilai array adalah variable max1
feb[0] = 0;
feb[1] = 1;
    //define array[0] dan array[1] untuk perhitungan awal
for(int i=2;i<max1;i++){
    feb[i] = feb[i-1] + feb[i-2]
        //looping i dimulai dari 2, karena feb[0] dan feb[1] sudah ter-define sebelumnya
        //feb[2] = feb[2-1] + feb[2-2]
        //feb[2] = feb[1] + feb[0]
        //feb[2] = 1 + 0 = 1
        //feb[3] = feb[3-1] + feb[3-2]
        //feb[3] = 1 + 1 = 2
        //feb[4] = feb[4-1] + feb[4-2]
        //feb[4] = 2 + 1 = 3
        //feb[5] = feb[5-1] + feb[5-2]
        //feb[5] = 3 + 2 = 5
        //feb[max1] = dan seterusnya
}
for(int i=min1;i<max1;i++){
    if(feb[i]>=min1 && feb[i]<max1){
      out.print(feb[i] + " ");
          //jika feb[i] lebih besar sama dengan dari nilai "min1" dan feb[i] lebih kecil "max1"
          //maka cetak nilai array dari feb[i]
          //jika persyaratan (if) tidak terpenuhi, maka lanjut proses looping 
    }
}
%>

Form input angka



Output bilangan fibonacci



Demikianlah logika implementasi bilangan fibonacci pada JSP.
Semoga bermanfaat :)

Logika Bilangan Prima pada JSP

Bilangan prima, dalam matematika bilangan prima adalah bilangan asli yang lebih besar dari angka 1 yang faktor pembaginya adalah 1 dan bilangan itu sendiri. Seperti contoh 2 dan 3 adalah bilangan prima, 4 bukan bilangan prima karena 4 bisa dibagi 2. Sepuluh bilangan prima yang pertama adalah 2, 3, 5, 7, 11, 13, 17, 19, 23 dan 29.

Implementasi pada bahasa pemrograman

Jika kita akan menampilkan perhitungan bilangan prima pada aplikasi yang telah kita buat, kita bisa menggunakan logika perhitungan modulus. Dimana hasil dari modulus adalah 1 maka bilangan tersebut adalah bilangan prima, dan apabila hasil sebuah modulus adalah 0 maka bilangan tersebut bukan bilangan prima.

Contoh :
7 mod 2 = 1 (Bilangan Prima)
8 mod 2 = 0 (Bukan Bilangan Prima)

Script

<%
String a = request.getParameter("angka1");
    //memanggil parameter "angka1" pada home.jsp (form input data)
String b = request.getParameter("angka2");
    //memanggil parameter "angka2" pada home.jsp (form input data)
int min = Integer.parseInt(a);
    //parse String to Integer
int max = Integer.parseInt(b);
    //parse String to Integer
for(int i=min;i<=max;i++){
    //looping dari angka terkecil hingga angka terbesar
    int x = 0;
    //Variable untuk penandaan bilangan
    for(int j=2;j<=i;j++){
        //perhitungan modulus
        if(i%j==0){
            if(i!=j){
                x = 1;
                //jika i mod j = 0, jika benar apakah i != j, jika benar maka x bernilai "1"
            }
            if(x != 1 && i==j){
                out.print(i+",");
                //jika i = j dan x != 1 maka bilangan i adalah bilangan Prima
                //jika bukan, lakukan looping pada perhitungan modulus
            }
        }
    }
}
%>

Form input angka



Output bilangan prima


Demikianlah logika implementasi bilangan prima pada JSP.
Semoga bermanfaat :)

Jepang ! Robot Pengawas Lingkungan dengan Smartphone Android



Para peneliti dari Laboratorium Takanishi di Fakultas sains dan Teknik Universitas Waseda Jepang baru saja mengumumkan proyek pembangunan robot pengawas lingkungan yang dikembangkan bersama Universitas Kokushikan dan Japan Robotech. Keunikan robot pengawas lingkungan ini adalah keberadaan sebuah smartphone Android untuk menjalankan fungsinya.



Smartphone Android pada robot ini adalah handphone dari Sony Mobile, yakni Sony Xperia So-05D. Di dalam smartphone tersebut juga tersemat aplikasi khusus yang digunakan untuk mengontrol pergerakan motor dan sensor pada robot. Aplikasi khusus tersebut akan secara periodik mengukur data dari GPS, kamera ataupun sensor eksternal. Selanjutnya, data-data tersebut akan diunggah ke ke layanan cloud Google Drive menggunakan jaringan mobile.

Robot ini kemungkinan akan dibanderol dengan harga berkisar antara 1500 USD hingga 5000 USD. Para peneliti mengatakan bahwa robot ini dibangun bertujuan untuk melakukan monitoring aktivitas hewan di hutan, monitoring radiasi di pertambangan dan lain-lain.

Robot ini bergerak dengan enam kakinya dan dilengkapi dengan dua motor DC. Masing-masing motor digunakan untuk menggerakkan tiga kaki yang terletak di kiri dan kanan. Robot ini pun mampu bergerak ke depan, belakang, ataupun berbalik kiri dan kanan. Selain itu robot ini memiliki kecepatan sebesar 0.1 meter perdetik.