Web Programming Session 9-10 and Homework

Session 9: JSP and JavaBeans

Dalam Wikipedia dijelaskan bahwa JavaBeans adalah kelas-kelas yang mengenkapsulasi banyak objek ke dalam satu objek, yang dalam hal ini disebut bean. JavaBeans berguna dalam membantu meringkas codingan Java sehingga membuat code menjadi lebih singkat. Ada beberapa hal yang perlu diperhatikan dalam menggunakan JavaBeans:

  • Mengandung sebuah constructor yang tidak menerima argumen.
  • Tidak mendeklarasi public instance variables. Semua instance variables dideklarasikan privat.
  • Mengandung setter dan getter untuk semua properties yang akan diakses oleh JSP.

Contoh JavaBeans

Dalam JSP ada 3 tag yang dapat digunakan untuk berinteraksi dengan JavaBeans, yaitu:

  • useBean, digunakan untuk mengakses atau membuat objek bean.
  • getProperty, digunakan untuk mendapatkan properti dari objek.
  • setProperty, digunakan untuk menset properti dari objek.

 

Session 10: JSP Standard Tag Library

JSP Standard Tag Library, atau biasa disebut dengan JSTL, adalah suatu cara dalam pemrograman JSP yang dapat membantu dalam mengurangi jumlah code yang dituliskan, dengan menyediakan tag untuk tugas-tugas umum yang dilakukan dalam JSP. Untuk menggunakan JSTL, diperlukan JSTL Library.

Untuk bekerja dengan JSTL. dibutuhkan taglib directive yang mengandung JSTL core library. Untuk menggunakan libary yang dibutuhkan, maka perlu menyisipkan <taglib> directive pada baris atas dari tiap JSP yang membutuhkan library tersebut.

Contohnya: <%@ taglib prefix=”c” uri=”http://java.sun.com/jsp/jstl/core” %>

JSTL tag dapat diklasifikasikan kedalam beberapa kelompok berdasarkan fungsinya, yaitu Core tags, Formatting tags, SQL tags, XML tags, dan JSTL functions.

Core tags adalah kelompok yang berisikan tag yang sering digunakan. Untuk memasukkan core tags, dapat menggunakan sintaks berikut: <%@ taglib prefix=”c” uri=”http://java.sun.com/jsp/jstl/core” %>. Berikut adalah beberapa contoh dari core tags.

JSTL Core tags

JSTL core library

 

Web Programming Session 7-8

Session 7: JSP Web Application

Salah satu penggunaan JSP dalam pengembangan web adalah dalam hal pengiriman data dari client ke server, serta validasi data yang dikirimkan. Kita akan membahas metode pengiriman data terlebih dahulu.

Ada dua metode pengiriman data dalam JSP, yaitu metode get dan metode post. Secara default, metode get digunakan dalam tag form. Dengan menggunakan metode ini, setiap parameter yang dikirimkan akan ditampilkan pada URL address di browser. Contoh penulisan script JSP untuk penggunaan metode ini adalah : <form action=”display_email_entry.jsp” method=”get”>

Berkebalikan dengan metode get, dalam metode post setiap parameter yang dikirimkan tidak akan pada URL address di browser. Contoh penulisan JSP untuk penggunaan metode ini adalah: <form action=”display_email_entry.jsp” method=”post”>

Kedua metode ini memiliki keunggulan masing-masing. Dengan menggunakan metode get, pengiriman data dapat dilakukan sedikit lebih cepat. Sementara itu, dengan menggunakan metode post, data yang dikirimkan dapat dirahasiakan. Disarankan menggunakan metode get ketika ingin mendapatkan data dari server, dan menggunakan metode post ketika ingin mengirimkan data ke server.

Dalam hal request data, JSP menyediakan tiga method yang dapat digunakan untuk kebutuhan yang berbeda, yaitu getParameter(String param), getParameterValue(String param), dan getParameterNames().

Request data dengan JSP

JSP juga dapat digunakan untuk menyisipkan suatu file yang ingin disisipkan dalam suatu page. Kita dapat menggunakan tag directive atau dengan menggunakan include action.

Dengan tag directive: <%@ include file=”/includes/header.html” %>

Dengan include action: <jsp:include page=”/includes/header.html” />

Dalam penggunaannya, sering ditemukan beberapa error. Error yang umum terjadi adalah Error 404: File Not Found dan Error 500: Internet Server Error. Langkah-langkah awal yang dapat dilakukan untuk mengatasi error tersebut adalah sebagai berikut:

  • Pastikan bahwa server Tomcat sedang berjalan.
  • Pastikan URL yang dibuka adalah valid, dan mengarah ke lokasi yang tepat sesuai dengan yang diminta.
  • Pastikan seluruh file (HTML, JSP, CSS, Java) berada dalam lokasi penyimpanan yang tepat.
  • Baca dan amati pesan error yang ditampilkan untuk mengetahui informasi tentang error yang terjadi.

 

Session 8: Sessions and Cookies

Sessions

Session adalah interaksi antara client dan server yang terjadi dalam satu koneksi. Session dimulai ketika client meminta koneksi ke suatu server dan server menyetujui permintaan koneksi dari client, sehingga dapat terjadi pertukaran data diantara kedua pihak. Session berakhir ketika koneksi terputus, misalnya user menutup suatu web page dari browser.

Dalam sessions, dikenal istilah session tracking, yang mengandung makna bahwa server dapat mencatat aktivitas yang dilakukan user selama menjelajahi suatu web. Terdapat kesulitan dalam melakukan session tracking pada HTML, dimana jika suatu client telah memutuskan koneksi dengan server, dan ingin kembali mengadakan koneksi, maka server tidak dapat mengidentifikasi client dengan request sebelumnya, sehingga sulit untuk mengasosiasikan client dengan aktivitas-aktivitas yang telah dilakukan sebelumnya. Untuk mengatasi masalah ini, metode yang dapat dilakukan adalah dengan menciptakan session object oleh server.

Session tracking

Berikut adalah beberapa method yang berhubungan dengan session tracking beserta contohnya.Contoh penggunaan methods dalam session tracking

Methods dalam session tracking

Methods dalam session tracking

Cookies

Cookies adalah kumpulan data berukuran kecil yang mengandung informasi dari server dan disimpan di browser client. Cookie berguna untuk mencatat informasi mengenai aktivitas user selama menjelajah dalam suatu web.

Methods untuk cookies Methods untuk cookies

Web Programming Session 5-6 and Homework

Session 5: JavaScript Web Application

JavaScript Events

Dalam penggunaan JavaScript, dikenal istilah events. Events adalah action dari user saat sedang membuka sebuah web dalam browser, seperti mengklik suatu link, atau menempatkan kursor diatas suatu paragraf, dan sebagainya. Ada berbagai macam hal yang dapat dilakukan dari events yang terjadi, dan dapat dituliskan dalam script. Script yang digunankan untuk mendeteksi events dan memberi respon atas events disebut event handler. Berikut adalah beberapa contoh events dalam JavaScript.

Mouse Events

Mouse events adalah events yang dilakukan dengan mouse. Beberapa contohnya adalah:

  • onclick
    Event ini terjadi ketika sebuah elemen diklik sekali.
  • ondblclick
    Event ini terjadi ketika sebuah elemen diklik dua kali dalam waktu singkat.
  • onmousedown
    Event ini terjadi ketika user melakukan click and hold pada mouse di sebuah elemen.
  • onmouseup
    Berkebalikan dengan onmousedown, event ini terjadi ketika user telah selesai melakukan click and hold pada elemen yang memiliki event onmousedown.
  • onmouseover
    Event ini terjadi ketika user meletakkan kursor diatas sebuah elemen.
  • onmouseout
    Berkebalikan dengan onmouseover, event ini terjadi ketika user memindahkan kursor keluar dari suatu elemen.

Keyboard Events

Keyboard events adalah events yang dilakukan dengan keyboard. Beberapa contohnya adalah:

  • onkeydown
    Event ini terjadi ketika user melakukan press and hold  pada sebuah key di keyboard.
  • onkeyup
    Event ini terjadi ketika user melepas suatu key yang sebelumnya ditekan.
  • onkeypress
    Event ini terjadi ketika user menekan suatu key pada keyboard.

Untuk lebih memahami perbedaan antara onkeydown dan onkeypress, dapat melihat contohnya disini.

Frame/Object Events

Frame/object events adalah events yang berhubungan dengan page atau suatu elemen yang berupa objek. Beberapa contohnya adalah:

  • onabort
    Event ini terjadi ketika suatu objek dimuat kedalam page yang kemudian dibatalkan.
  • onerror
    Event ini terjadi ketika terjadi error saat memuat suatu file eksternal.
  • onload
    Event ini terjadi ketika sebuah objek berhasil dimuat kedalam suatu page.
  • onresize
    Event ini terjadi ketika user mengubah ukuran dari document view.
  • onscrool
    Event ini terjadi ketika user melakukan scrool pada scroolbar di suatu elemen.
  • onunload
    Event ini terjadi ketika page telah mengalami unload.

Form Events

Form events adalah events yang terjadi pada saat user berinteraksi dengan sebuah form. Beberapa contohnya adalah:

  • onblur
    Event ini terjadi ketika user telah berpindah fokus dari suatu elemen dalam form.
  • onchange
    Event ini terjadi ketika value dari sebuah elemen mengalami perubahan.
  • onfocus
    Event ini terjadi ketika user sedang berinteraksi dengan elemen tersebut.
  • onreset
    Event ini terjadi ketika form mengalami reset.
  • onselect
    Event ini terjadi ketika user memilih atau melakukan highlight sebagian dari teks dalam elemen input atau textarea.
  • onsubmit
    Event ini terjadi ketika form mengalami proses submit.

Untuk penjelasan lebih lanjut mengenai events yang telah disebutkan diatas, dapat dilihat pada situs w3school.

Session 6: JSP Fundamental

JSP adalah salah satu bentuk file yang dibutuhkan dalam pemrograman web. JSP termasuk dalam server-side programming, yang berarti file ini berada pada sisi server. Karena hal ini, code dalam file JSP tidak dapat dilihat oleh sisi client melalui browsernya.

JSP dapat dituliskan dalam sebuah file HTML dengan menggunakan JSP tags. Tipe-tipe tag dalam JSP adalah:

  • JSP Scriplet
    Tag ini berfungsi untuk menyisipkan code Java kedalam HTML. Penulisan tag ini adalah: <% …Java statements… %>
  • JSP Expression
    Tag ini berfungsi untuk menunjukkan nilai string dari sebuah expression. Penulisan tag ini adalah: <%= …string value… %>
  • JSP Directive
    Tag ini berfungsi untuk mengatur conditions yang akan diberlalukan pada keseluruhan JSP. Penulisan tag ini adalah: <%@ …conditions… %>
  • JSP Comment
    Tag ini berfungsi untuk menuliskan catatan mengenai code. Code yang berada dalam tag ini tidak akan dijalankan. Penulisan tag ini adalah: <%– …comments… –%>
  • JSP Declaration
    Tag ini berfungsi untuk melakukan deklarasi variabel dan method dalam JSP. Penulisan tag ini adalah: <%! …declarations… %>

 

Homework Pertemuan 2 (Session 3)

Jawaban:

Nomor 1

Nomor 1

 

Nomor 2

Nomor 2

Web Programming Session 3-4

Session 3: Form Elements & How to Code A Form

About Form

Dalam HTML, terdapat cara untuk membuat form yang dapat digunakan untuk menerima serangkaian informasi dari pengunjung website. Didalam form tersebut, terdapat banyak pilihan control yang dapat digunakan untuk menerima berbagai jenis input yang diberikan, seperti:

  • Text boxes.
    Control ini dapat digunakan untuk menerima input yang berupa teks singkat, seperti nama.
  • Check boxes.
    Control ini dapat digunakan untuk menerima input yang berupa pilihan-pilihan. Pengunjung dapat memilih lebih dari satu pilihan yang tersedia. Contoh penggunaan control ini adalah pada pilihan hobi.
  • Radio buttons.
    Sama seperti control check boxes, radio buttons juga dapat digunakan untuk menerima input yang berupa pilihan, namun hanya dapat menerima salah satu dari pilihan-pilihan yang disediakan. Contoh penggunaan control ini adalah pada pilihan jenis kelamin.
  • Combo boxes.
    Control ini memiliki fungsi yang sama dengan control radio buttons, namun memiliki perbedaan pada tampilan, dimana control ini terlihat serupa dengan drop down menu.
  • List boxes.
    Tampilan dan fungsi dari control ini serupa dengan control combo boxes. Perbedaan diantara keduanya terletak pada cara menampilkan pilihan yang disediakan.

Untuk membuat form pada HTML, digunakan tag <form>. Secara garis besar, sintaks dari form ini dapat digambarkan sebagai berikut: <form parameters> …form elements… </form>

Parameters dalam form adalah metode untuk memberitahu JSP bagaimana mengirimkan informasi ke server. Elements dalam form adalah  bagian-bagian yang terdapat dalam form, seperti buttons dan controls. Dalam satu laman web, kita dapat menyisipkan lebih dari satu form.

Code the Form

Berikut adalah contoh pembuatan form pada HTML.

Contoh form

Session 4: Fundamental of JavaScript

JavaScript adalah salah satu bahasa pemrograman yang juga digunakan dalam pembuatan web. JavaScript dapat digunakan bersama dengan HTML dalam membuat suatu web. Kelebihan dari JavaScript adalah dapat membuat suatu web menjadi lebih dinamis dan interaktif. Selain itu, JavaScript memungkinkan kita menggunakan fungsi-fungsi yang terdapat pada bahasa pemrograman Java, sehingga dapat membantu kita untuk mengembangkan web menjadi lebih baik.

Dalam penulisannya, JavaScript dapat ditulis langsung dalam suatu file HTML, atau dapat ditulis secara terpisah dari HTML, dengan menggunakan ekstensi .js.

Sebagai gambaran penggunaan JavaScript, kita dapat mempelajarinya melalui situs w3schools. Anda dapat mempelajarinya disini.

Masa Depan Pengisian Daya Smartphone

Smartphone telah menjadi bagian yang tak terpisahkan dari setiap orang pada masa ini. Berbagai kegiatan manusia pun dapat didukung oleh smartphone. Semakin banyak fungsi yang dapat dilakukan sebuah smartphone, semakin baik pula smartphone itu. Hal ini membuat para produsen smartphone terus berinovasi untuk meningkatkan kualitas serta memecahkan masalah-masalah yang timbul pada smartphone keluaran sebelumnya. Salah satu masalah yang sering muncul pada sebuah smartphone adalah masalah daya pada smartphone.

Banyak pemilik smartphone memberi keluhan seputar daya smartphone mereka. Smartphone cenderung cepat kehabisan daya, sehingga perlu dilakukan pengisian daya dalam frekuensi yang cukup banyak dalam satu hari. Hal ini dianggap menghambat kegiatan seseorang karena smartphone tidak dapat menemani kegiatan yang dilakukan pemiliknya dalam waktu lama. Berbagai upaya telah dilakukan para produsen smartphone, diantaranya memberi kapasitas daya yang lebih besar, atau menjanjikan pengisian daya smartphone dalam jangka waktu yang lebih singkat.

Pada artikel ini, akan dipaparkan beberapa solusi inovatif yang telah ditemukan untuk mengatasi masalah daya pada smartphone.

  1. Pengisian daya smartphone menggunakan sinar matahari
    Produsen smartphone Kyocera menampilkan sebuah prototype smartphone yang menghadirkan solusi cerdas untuk mengisi daya smartphone mereka pada Mobile World Congress di Barcelona bulan Maret lalu. Menggandeng perusahaan Sunpartner, mereka memasang lapisan photovoltaic ciptaan Sunpartner pada susunan display smartphone mereka. Teknologi ini diberi nama Wysips Crystal. Lapisan ini dihubungkan dengan sebuah chip yang ada dibawahnya untuk mengkonversi energi yang ada dalam sinar matahari menjadi daya untuk smartphone.Dengan teknologi ini, Sunpartner mengklaim bahwa smartphone yang memiliki teknologi ini dapat tetap hidup selama smartphone tetap mendapatkan sinar matahari yang cukup. Sunparner juga mengatakan bahwa teknologi ini juga dapat diaplikasikan pada smartwatch serta gadget lain yang memiliki ukuran display 3 hingga 13 inchi.

    (Sumber : Gizmag)

  2. Pengisian daya smartphone super cepat
    Para peneliti dari Stanford University menemukan sebuah baterai berbahan dasar aluminium yang dapat terisi penuh hanya dalam kurun waktu kurang lebih 60 detik. Selain itu, baterai baru ini diyakini memiliki masa penggunaan yang jauh lebih lama dibandingkan baterai smartphone yang banyak digunakan saat ini. Baterai smartphone pada umumnya memiliki masa penggunaan hingga 1000 kali pengisian daya, sementara baterai ciptaan mereka mampu digunakan hingga 7500 kali pengisian daya.Meski demikian, baterai ini tetap masih memiliki kekurangan, yaitu dari segi keluaran daya yang dihasilkan, dimana baterai ini hanya mampu menghasilkan setengah dari keluaran daya baterai lithium-ion yang banyak digunakan saat ini.

    Selain kemampuan pengisian yang super cepat, baterai ini juga memiliki keunggulan lain, dimana baterai ini tidak dapat terbakar, sehingga lebih aman untuk lingkungan. Hal ini berbeda dengan baterai lithium dan alkali yang mudah terbakar.

    (Sumber : The Guardian, Telegraph)

  3. Pengisian daya smartphone menggunakan denyut jantung
    Sekelompok peneliti asal Georgia, Amerika, mengembangkan sebuah alat bernama nanogenerator, terbuat dari zink-oxide yang mampu memghasilkan aliran listrik jika alat tersebut diregangkan. Pada awalnya, daya listrik yang dihasilkan amat kecil, namun dengan berbagai pengembangan selanjutnya, listrik yang dihasilkan sudah menyamai daya baterai ukuran AA.Alat ini amatlah kecil, hingga dapat diletakkan di tempat-tempat yang mudah bergerak, seperti pada pakaian, sepatu, bahkan jantung manusia. Para pengembang masih terus berusaha mengembangkan alat ini, khususnya pada keluaran daya yang dihasilkan, agar dapat digunakan untuk mengisi daya smartphone.

    (Sumber : The Week)

Masih banyak inovasi lain yang terus dikembangkan oleh orang-orang di seluruh dunia, seperti yang dapat dibaca pada situs Pocket-Lint berikut. Semoga teknologi yang mereka kembangkan benar-benar dapat kita gunakan di masa depan.

Anda memiliki solusi lain untuk masalah ini ?

Roll the Dice

Name : Benny Y. Pratama

Class : 04 PAW

NIM : 1601236246

Computer Science and Mathematics | BINUS University

Code for MSDie :

diceroll

 

Result of the code :

diceresult

Tugas Manidri 1 Scientific Computing Lab

Name : Benny Y. Pratama

NIM : 1601236246

Class : 04PAW

Computer Science – Mathematics | BINUS University

 

Question :

Write a program that approximates the value of π by summing the terms of this series: 4/1 – 4/3 + 4/5 – 4/7 + 4/9 – 4/11 + … The program should prompt the user for n, the number of terms to sum, and then output the sum of the first n terms of this series. Have your program subtract the approximation from the value of math.pi to see how accurate it is.

Answer :

import math

def main():

final = 0

n = int(input(“Enter the number you want to sum :  “))

for i in range(1, n+1):

divider = 2 * i – 1

if i % 2 == 0:

final = final – (4.0/divider)

else:

final = final + (4.0/divider)

print(“The result is :“)

print(“The result from math.pi is = ” + str(math.pi))

print(“The total from the first %d number = ” %(i) + str(final))

print(“True error (Et) = “, str(math.pi-final))

print(“True fractional relative error = “, str((math.pi-final)/math.pi))

print(“True percent relative error = “, str(((math.pi-result)/math.pi)*100), “%”)

main()

Hello world!

Welcome to Binusian blog.
This is the first post of any blog.binusian.org member blog. Edit or delete it, then start blogging!
Happy Blogging 🙂