Senin, 19 Januari 2009

JSP (Java Server Pages)

JSP (Java Server Pages)

Java Server Pages (JSP) adalah bahasa scripting untuk web programming 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 tapi SERVER yang akan melakukan tugas tersebut. Karena itu pada saat user membuat pertama kali atau melakukan modifikasi halaman dan mengeksekusinya pada web browser akan memakan sedikit waktu sebelum ditampilkan.

Java Server Pages (JSP) merupakan perluasan dari spesifikasi Java Servlet, yang bertujuan untuk menyederhanakan dalam pengembangan suatu content yang dinamis. JSP merupakan bagian dari teknologi J2EE, bersama-sama dengan Servet, EJB, JNDI, XML.

JSP dan Servlet bekerja dalam suatu lingkungan web container yang menyediakan koneksi dan service, sedangkan JSP dan Servlet mengontrol presentasi data yang dihasilkan dari suatu proses untuk dikirimkan ke client.

Seperti tipe aplikasi java lainnya (Servlet, Applet, Midlet dll), JSP juga bertipe Strong Type artinya penggunaan variable pada halaman tersebut harus dideklarasikan terlebih dahulu. Misalnya pada sintaks pengulangan berikut:

for (int i=1; i<13;>

{

// statement

}

Seperti halnya skrip-skrip server side yang lain, JSP pun memerlukan Web server. Skrip ASP memerlukan IIS sebagai web server, PHP memerlukan IIS atau Apache, sedangkan JSP bisa menggunakan Apache Tomcat sebagai salah satu web server yang mendukungnya.

Seperti halnya ASP dan PHP, skrip JSP terintegrasi dengan kode-kode HTML. Untuk itu diperlukan pembatas awal dan akhir dimana elemen JSP diletakkan. Pembatas yang digunakan adalah tanda berikut ini:

<%

// element JSP

%>

Sebuah JSP ketika akan dijalankan, web container akan memeriksa status class servlet terakhir, jika belum ada atau berstatus lama, maka container akan melakukan kompilasi terhadap file JSP untuk dihasilkan suatu servlet yang menerapka interface HttpJspPage berdasar isi dari halaman JSP. Dari Servlet inilah kemudian dijalankan method _jspService untuk menghasilkan response dengan menggunakan class HttpServletRequest dan HttpServletResponse.

Untuk dapat menggunakan JSP, terdapat dua package tambahan lain yaitu :

● package javax.servlet.jsp

berisi kelas-kelas dan method utama JSP

● package javax.servlet.jsp.tagtest

berisi kelas-kelas dan method untuk custom tag

JSP memiliki tiga fase daur hidup: initialization, service, dan destruction

Jika disimak pada potongan source berikut <%= new java.util.Date()%> Ini adalah potongan kode Java yang berfungsi untuk menampilkan tanggal dan waktu sekarang. Dilakukan dengan cara membuat instance objek Date dan menampilkan dalam bentuk String.

JSP dapat berjalan pada aplikasi web dalam IDE. Asumsikan projek telah ada, secara simple taruh file JSP dalam folder Web Pages didalam Project view. Halaman JSP dapat dijalankan langsung dari IDE dengan menekan tombol Shift + F6. Kemungkinan lain adalah web project dijadikan package sebagai file WAR dan mengupload kedalam server.

JSP dapat diakses dengan mengetik URL berikut:

http://[host]:[port]/[WEB_PROJECT_NAME]/[JSP_NAME]

Selain itu JSP dapat berjalan dengan cara mempackage kedalam file WAR menggunakan build tool (seperti yang dijelaskan dalam bab Basic Servlet), kemudian men-deploy file WAR ke web server.

Komponen JSP digolongkan menjadi dua, elements dan template data. Pada hello.jsp, ekpresi <%= new java.util.Date()%> adalah element dan sisanya adalah template data.

Hello World!

Kontainer JSP mendukung dua tipe sintaks: Gaya JSP dan Gaya XML. Pengembang lebih menyukai sintaks XML ketika menggunakan JSP authoring tool karena lebih mudah dipahami.

Elemen Script JSP

Terdiri dari 3: Scriptlets, Expressions, dan Declarations.

Scriptlets ( <% ... %> )

media untuk memasukkan kode bit Java diantara potongan template data, mempunyai bentuk:

<% Java code; %>

Expressions ( <%= %>)

Digunakan untuk menginputkan nilai Java langsung kedalam output. Bentuk ekspresinya:

<%= Java Expression %>

Declarations ( <%! %> )

Digunakan untuk mendefinisikan method atau variabel. Bentuk Ekspresinya:

<%! Java Code %>

Setiap halaman JSP berisi variabel penunjuk ke objek servlet yang disebut objek implisit yang sudah terdefinisikan dan siap digunakan. Variabel ini memiliki ruang lingkup :

1. Application

- Dimiliki oleh container JSP

- dapat dimanipulasi oleh sembarang Servlet atau aplikasi

2. Page

- Ada pada halaman yang mendefinisikan

- Instance individu untuk tiap halaman

3. Request

- ada selama waktu Request

4. Session

- ada untuk selama session client

Berikut adalah objek implisit yang disediakan : Tipe Fungsi

1. Application

Application type: javax.servlet.ServletContext

Berisi atribut seluruh aplikasi

2. Page Scope

Config type: javax.servlet.ServletConfig

Sebagai Objek representasi dari konfigurasi JSP yang tersimpan pada Web

3. Descriptor (web.xml)

Exception type: java.lang.Throwable

Sebagai directive untuk halaman error

4. out type: javax.servlet.jsp.JspWriter

Output stream untuk responseNama Tipe Fungsi

5. response type: javax.servlet.ServletRequest

Membuat output response

6. pages type: java.lang.Object

Sebagai this untuk menunjuk ke halamannya sendiri

7. pageContext type: javax.servlet.jsp.PageContext

Berisi atribut halaman

8. Request

Request type: javax.servlet.ServletRequest

Wakil dari Request user

9. Session

Session type: javax.servlet.http.HttpSession

Berisi variabel yang disertakan pada session user

Mendefinisikan atribut yang digunakan oleh seluruh halaman JSP. Contoh pemakaiannya

<%@ page language=”java” import=”java.util.*, java.io.*” %>

Beberapa atribut directive page :

1. language

Mendefinisikan bahasa yang digunakan pada code fragmen

2. extends

Mendefinisikan kelas induk dari servlet yang dihasilkan

3. import

Mendefinisikan daftar kelas-kelas yang diimport

4. session

Menentukan apakah sebuah objek session harus didefinisikan

5. buffer

Mengontrol ukuran buffer keluaran response

6. autoFlush

Jika 'false', jika terjadi buffer overflow akan muncul exception, jika 'true', buffer akan diflush ke stream output

7. isThreadSafe

Jika 'false', container JSP hanya mengerjakan 1 request sat waktu.

8. info

Mendefinisikan suatu String yang dapat dipanggil dengan method getServletInfo()

9. errorPage

Mendefinisikan URL yang akan dikirimi sembarang objek Exception atau Error

10. isErrorPage

Jika 'true', page aktif adalah error page juga

11. contentType

Mendefinisikan nilai tipe header MIME

Untuk memasukan text dari suatu file lain. Berikut bentuk elementnya:

<%@ include file=”/xxxx/cr.txt” %>



[+/-] Selengkapnya...

Rabu, 13 Agustus 2008

SQL (Structured Query
Language) Syntax
SQL adalah bahasa non prosedural yang digunakan untuk mengakses DBMS (Database
Management System).
Pernyataan SQL dikelompokkan menjadi dua kategori utama yang
sebenarnya dianggap sebagai dua bahasa yang berbeda yaitu pernyataan untuk
memanipulasi data yang membentuk Data Manipulation Language (DML) serta
pernyataan untuk mendefinisikan objek database seperti misalnya tabel atau indeksnya
yang membentuk Data Definition Language (DDL)
I. Data Defenition Language ( DDL ) / Pembentukan database

Membuat tabel (Creating tables)
Syntax
CREATE TABLE ( ()[UNIQUE] [NOT NUL]
[PRIMARY KEY] [DEFAULT] [referential_constraint_defenition>]
[CHECK], ()
[UNIQUE] [NOT NULL] [PRIMARY KEY] [DEFAULT] [referential_constraint_defenition>]
[CHECK],. . .);
keterangan
Unique; Pada kolom tersebut tidak boleh ada data yang sama.
Not Null; tidak boleh data pada kolom tersebut bernilai null
Unique dan Not Null; kolom tersebut dapat dijadikan primary key.
Default; nilai default yang secara otomatis akan mengisi kolom dengan data default
tersebut setiap operasi insert dilakukan.
Referential_Constraint_Definition; Bila kolom tersebut merupakan foreign key terhadap
tabel lain. Dengan syntax
FOREIGN KEY REFERENCES
Contoh :
CREATE TABLE Pelajar (No_Induk CHAR(8), Nama CHAR(20), Tgl_Lahir DATE, Kelas CHAR(2));
CREATE TABLE Mata_Pelajaran(Kode CHAR(4), Nama CHAR(20), Kelas CHAR(2));
CREATE TABLE Nilai(No_Induk CHAR(8),Kode CHAR(4),Nl_Angka Number);
Membuat index (Creating indices)
Syntax
. . .
[ () REFERENCES (), . . . ]
CREATE INDEX ON ();
Contoh :
DROP TABLE Pelajar;
CREATE TABLE Pelajar (No_Induk CHAR(8) PRIMARY KEY, Nama CHAR(20), Tgl_Lahir DATE, Kelas
CHAR(2));
CREATE INDEX nm ON Pelajar(Nama);
DROP TABLE Mata_Pelajaran;
CREATE TABLE Mata_Pelajaran(Kode CHAR(4) PRIMARY KEY, Nama CHAR(20), Kelas CHAR(2));
CREATE TABLE Nilai(No_Induk CHAR(8) REFERENCES Pelajar(No_Induk), Kode CHAR(4)
REFERENCES Mata_Pelajaran(Kode), Nilai Number);
Mengubah tabel (Altering tables)
Syntax
ALTER TABLE [ ADD ( (), . . . ); ] [ MODIFY
((), . . .); ]
Keterangan
Add; Penambahan kolom baru.
Modify; Mengubah kolom yang sudah ada sebelumnya.
Contoh :
ALTER TABLE Pelajar
ADD (Jenis_Kelamin CHAR(10));
Menghapus tabel (Dropping tables)
Syntax
DROP TABLE
DROP INDEX
Contoh :
DROP TABLE Pelajar;
DROP INDEX nm;
II. Data Manipulation Language ( DML ) / Manipulasi Data
Penyisipan data (Inserting)
Syntax
INSERT INTO [()]
VALUES(,, . . . );
Contoh :
DROP TABLE Pelajar CASCADE CONSTRAINTS;
CREATE TABLE Pelajar (No_Induk CHAR(8) PRIMARY KEY, Nama CHAR(20), Tgl_Lahir DATE, Kelas
CHAR(2));
INSERT INTO Pelajar VALUES (‘00311217’,’Wempi Satria’,’02-JAN-1982’,’1’,’Laki-laki’);
INSERT INTO Pelajar VALUES (‘00311211’,’Wempi,’03-MAR -1982’,’1’,’Laki-laki’);
INSERT INTO Pelajar VALUES (‘00311210’,’Satria’,’12-DEC -1982’,’1’,’Perempuan’);
Mengubah data (Updating)
Syntax
UPDATE SET , ,. . . ,
[WHERE ];
Contoh :
UPDATE Pelajar SET No_Induk = ‘00311216’ ,Nama = ‘Wati’ WHERE No_Induk =’00311210’ and Nama
= ‘Satria’;
Menghapus data (Deletion)
Syntax
DELETE FROM
WHERE ;
Contoh :
DELETE FROM Pelajar
WHERE No_Induk = ‘00311211’;
Seleksi data (Selection)
Syntax
SELECT [*] [, , . . ., ] [, , . . . ,
] FROM WHERE [AND ] [AND
MONTH_BETWEEN ();
Contoh :
SELECT * FROM Pelajar;
SELECT a.No_Induk, a.Nama, b.Kode, b.Nama, c.Nl_Angka FROM Pelajar a, Mata_Pelajaran b, Nilai c;
WHERE a.No_Induk=c.No_Induk and b.Kode=c.kode;
Membuat tabel maya (Creating views)
Syntax
CREATE VIEW AS SELECT FROM
WHERE ;
III. Data Control Language ( DCL ) / Kontrol Data
Konfirmasi menyimpan data di memory ke database (Commit)
Syntax
COMMIT [WORK];
Contoh :
INSERT INTO Pelajar
VALUES (‘00311210’,’Satria’,’15-DEC -1982’,’1’,’Perempuan’);
COMMIT;
Mengembalikan status transaksi sebelum penyimpanan (Rollback)
Syntax
ROLLBACK [WORK];
Pemberian hak dari satu user ke user lain (Grant)
Syntax
GRANT ON TO [WITH GRAN OPTION];
Penghapusan hak yang diberikan (Revoke)
Syntax
REVOKE FROM ;
Spesifikasi akses
All Privileges; Semua hak diberikan.
Select; Untuk seleksi
Update; Untuk mengubah data
Insert; Untuk menyisipkan data
Delete; Untuk menghapus data
IV. EKSPRESI
FROM
Untuk mendefenisikan tabel yang menjadi sumber data dari suatu perintah seleksi
Contoh : SELECT * FROM Pelajar
WHERE
Untuk mendefenisikan kondisi pengambilan data dari suatu perintah seleksi
Contoh : SELECT * FROM Pelajar WHERE No_Induk = ‘00311217’;
DISTINCT
Untuk menghapus setiap duplikat dari record yang dihasilkan oleh penyataan select
Syntax : Select distinct from ;
AS
Untuk membuat nama alias field pada output
Syntax: Select AS from [where kondisi];
GROUP BY
Untuk Mengelompokkan data berdasarkan ekspresi group
Syntax : SELECT FROM WHERE GROUP
BY ;
Contoh :
SELECT a.No_Induk, b.Nama, c.Nl_Angka FROM Pelajar.a, Nilai b WHERE a.No_Induk=c.No_Induk and
b.kode=c.kode GROUP BY a.No_Induk, b.Nama, c.Nl_Angka;
ORDER BY
Untuk mengurutkan data hasil seleksi
Syntax :
SELECT FROM WHERE
ORDER BY [DESC];
Contoh :
SELECT * FROM Pelajar ORDER BY No_Induk;
HAVING
Untuk mendefenisikan batasan seleksi berdasarkan GROUP BY
Syntax :
SELECT FROM WHERE GROUP BY
HAVING ;
Contoh :
SELECT a.No_Induk, b.Nama, c.Nl_Angka FROM Pelajar.a, Nilai b WHERE a.No_Induk=c.No_Induk and
b.kode=c.kode GROUP BY a.No_Induk, b.Nama, c.Nl_Angka HAVING Nilai>80;
V. PREDIKAT COMPARISON
Pembanding dua nilai dengan syarat type data yang dibandingkan harus sama
Sama dengan =
Tidak sama dengan <>
Lebih kecil <>
Lebih kecil dan sama dengan >=
Lebih besar dan sama dengan <= BETWEEN Pembanding untuk mengecek apakah suatu nilai berada dalam range tertentu atau tidak Syntax : ... BETWEEN ... AND ... ... NOT BETWEEN ... AND ... Contoh : Menampilkan data nilai pada range 80 dan 100 SELECT * FROM Nilai WHERE Nl_Angka BETWEEN 80 AND 100; IN Untuk melakukan pengecekan apakah suatu nilai terdapat dalam suatu himpunan Syntax : IN ( ... ) IN SELECT ... Contoh : Select * FROM Pelajar a WHERE a.No_Induk IN (SELECT b.No_Induk FROM Nilai b); LIKE / NOT LIKE Untuk membandingkan data dengan pola / struktur tertentu, untuk satu karakter dipakai ( _ ) dan string ( % ) Syntax : ... LIKE
... NOT LIKE
Contoh :
SELECT * FROM Pelajar WHERE Nama LIKE ‘We%’;
IS NULL / IS NOT NULL
Untuk membandingkan suatu nilai dengan NULL
Syntax :
... IS NULL
... IS NOT NULL
Contoh :
SELECT * FROM Pelajar
WHERE Kelas IS NULL
EXIST
Untuk pengecekan apakah suatu query memiliki hasil atau tidak
Syntax : ... WHERE EXIST (SELECT ... )
Contoh : SELECT * FROM Pelajar a
WHERE EXIST (
SELECT b.No_Induk FROM Nilai b
WHERE a.No_Induk=b.No_Induk);


[+/-] Selengkapnya...

Kamis, 17 April 2008

Sekilas Mengenai JARDIKNAS

Information and Communication Technology (ICT) Pendidikan Nasional

  • Integrasi ICT dalam pembelajaran.
  • Pemanfaatan ICT dalam pengelolaan manajemen pendidikan.
  • Pemanfaatan ICT dalam berbagai kegiatan pendidikan.

Manfaat ICT pada Pendidikan Nasional

  • Peningkatan kecepatan layanan informasi yang integral, interaktif, lengkap, akurat danmudah didapat.
  • Memberikan pelayanan data dan informasi pendidikan secara terpadu.
  • Menciptakan budaya transparan dan akuntabel.
  • Merupakan media promosi pendidikan yang handal.
  • Meningkatkan komunikasi dan interaksi baik secara lokal maupun internasional.
  • Mengakses berbagai bahan ajar dari seluruh dunia, dan
  • Meningkatkan efisiensi dari berbagai kegiatan pendidikan.

Jejaring Pendidikan Nasional (JARDIKNAS)

  • JARDIKNAS merupakan Wide Area Network (WAN) Pendidikan skala Nasional
  • JARDIKNAS terdiri dari 4 zona jaringan, meliputi:
  • JARDIKNAS Kantor Dinas/Insitusi (DiknasNet)
  • JARDIKNAS Perguruan Tinggi (INHERENT)
  • JARDIKNAS Sekolah (SchoolNet)
  • JARDIKNAS Guru dan Siswa (TeacherNet and StudentNet)

Fungsi dan Pemanfaatan JARDIKNAS

  • JARDIKNAS Kantor Dinas/Institusi
    Transaksi data online SIM Pendidikan
  • JARDIKNAS Perguruan Tinggi
    Riset dan Pengembangan IPTEKS
  • JARDIKNAS Sekolah
    Akses Informasi dan e-Learning
  • JARDIKNAS Guru dan Siswa
    Akses informasi dan interaksi komunitas

Titik Koneksi Jardiknas Saat Ini:

  • Depdiknas Senayan Jakarta
  • 33 Kantor Dinas Pendidikan Propinsi
  • 441 Kantor Dinas Pendidikan Kota/Kabupaten
  • 30 LPMP (Lembaga Penjamin Mutu Pendidikan)
  • 10 SKB
  • 5 BPPLSP (Balai Pendidikan dan Pelatihan Luar Sekolah dan Pemuda)
  • 12 P4TK (Pusat Pendidikan dan Pelatihan Pendidik dan Tenaga Kependidikan)
  • 32 Perguruan Tinggi Negeri (INHERENT)
  • 38 Universitas/Poli Pendidikan Jarak Jauh Program D3-TKJ
  • 17 Balai Bahasa
  • 5 Kantor Bahasa
  • 36 UPBJJ-UT (Unit Pendidikan Belajar Jarak Jauh – Universitas Terbuka)
  • 17 Balai Teknologi Komunikasi
  • 50 Dinas Kab/Kota
  • 13 ICT Center Sister PJJ D3TKJ
  • 5 Universitas PJJ PGSD & S2 Perencanaan
  • 21 Unit Kerja Depdiknas Pusat
  • > 6500 sekolah se Indones

[+/-] Selengkapnya...