Logika Bilangan Fibonacci pada JSP (Revisi)

Hay Gaes, selamat hari Rabu :D

Dalam kesempatan kali ini saya akan menerangkan sedikit tentang penerapan logika bilangan fibonacci pada bahasa pemrograman 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 
    }
}
%>

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 c = request.getParameter("angka1");
String d = request.getParameter("angka2");
int min1 = Integer.parseInt(c);
int max1 = Integer.parseInt(d);

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

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] + " ");
    }
}

Proses berjalan nya coding sebagai berikut :

  • Define array baru int[] feb = new int[max1], dengan nilai maximum array adalah variable max1.
  • Define array[0] dan array[1] untuk perhitungan awal.
  • Looping nilai i dimulai dari "2", dikarenakan array[0] dan array[1] sudah ter-define terlebih dahulu, dan nilai i lebih kecil dari nilai max1.
  • feb[i] = feb[i-1] + feb[i-2]
          1. feb[2] = feb[2-1] + feb[2-2]
    • feb[2] = feb[1] + feb[0]
    • feb[2] = 1 + 0 = 1
          2. feb[3] = feb[3-1] + feb[3-2]
    • feb[3] = 1 + 1 = 2
          3. feb[4] = feb[4-1] + feb[4-2]
    • feb[4] = 2 + 1 = 3
          4. feb[5] = feb[5-1] + feb[5-2]
    • feb[5] = 3 + 2 = 5
          5. feb[max1] = dan seterusnya
  • Proses looping nilai i dimuali dari nilai "min1" hingga lebih kecil nilai "max1"
  • Jika feb[i] lebih besar sama dengan nilai "min1" dan feb[i] lebih kecil dari nilai "max1", apabila if kondisional tersebut benar maka cetak nilai array feb[i]. Apabila if kondisional tidak terpenuhi, akan kembali lakukan proses looping untuk menentukan nilai array feb[i] selanjutnya.

Form input angka



Output bilangan fibonacci



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

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 :)