BAB 2 LANDASAN TEORI 2.1 Teknologi Komunikasi dan Informasi Teknologi yang sekarang berkembang dengan sangat pesat adalah teknologi komunikasi dan informasi. Short Message Service (SMS) merupakan dampak perkembangan teknologi telepon selular yang memanfaatkan setiap kanal dan fasilitas yang tersedia seoptimal mungkin untuk memberikan layanan kepada pelanggannya. 2.2 Short Message Service (SMS) Short Message Service (SMS) adalah sebuah layanan yang dilaksanakan dengan sebuah telepon Selular untuk mengirim atau menerima pesan-pesan pendek. Pada mulanya SMS dirancang sebagai bagian daripada GSM, tetapi sekarang sudah didapatkan pada jaringan bergerak lainnya termasuk jaringan Universal Mobile Telecommunications System (UMTS). Universitas Sumatera Utara 10 Sebuah pesan SMS maksimal terdiri dari 140 bytes, dengan kata lain sebuah pesan bisa memuat 140 karakter 8-bit, 160 karakter 7-bit atau 70 karakter 16-bit untuk Bahasa Jepang, Bahasa Korea dan Bahasa Mandarin yang memakai Hanzi (Aksara Kanji/Hanja). Selain 140 bytes ini ada data-data lain yang termasuk. Adapula beberapa metode untuk mengirim pesan yang lebih dari 140 bytes, tetapi seorang pengguna harus membayar lebih dari sekali. Misalnya pesan yang dikirimkan terdiri dari 167 karakter, maka pesan ini akan dipecah menjadi 2 buah SMS (1 buah SMS dengan 160 karakter dan 1 SMS dengan 7 karakter). Kedua SMS ini akan dikirimkan sebagai 2 SMS terpisah dan di sisi penerima akan digabungkan menjadi satu SMS lagi. Elemen yang dapat mengirim maupun menerima pesan pendek dinamakan External Short Message Entities (ESME). ESME dapat berupa applikasi software di dalam mobile handset, faksimili, remote internet server, dan lain-lain. ESME juga dapat berupa server yang menghubungkan Short Message Service Center (SMSC) secara langsung atau via gateway. Dengan teknologi GSM/GPRS, operator jaringan telepon dapat dengan mudahnya melakukan pertukaran pesan dari jaringan yang berbeda. Pemetaan sinyal dilakukan diantara dua jaringan telepon. dalam pemetaan dua jaringan ini, SMSC dari pembuat ESME mengolah Home Location Register (HLR). Jaringan ini bertujuan untuk mendapatkan informasi mengenai penerima dan mengirimnya langsung. Dalam contoh ini, SMSC penerima pesan tidak berpengaruh. Universitas Sumatera Utara 11 Gambar 2.1 Proses pengiriman SMS antar sesama teknologi jaringan Untuk pengiriman pesan diantara teknologi jaringan yang berbeda (seperti GSM/GPRS dan CDMA), dilakukan dengan menyambungkan dua gateway jaringan telepon dengan menggunakan protokol pertukaran. Gambar 2.2 Proses pengiriman SMS antar teknologi jaringan yang berbeda Dalam pengiriman antara dua teknologi jaringan yang berbeda terdapat beberapa tahap. Pertama, pesan di buat dan kirimkan oleh ESME ke SMSC pengirim. Selanjutnya SMSC pengirim meneruskan pesan melalui SMSC penerima dan SMSC penerima mengirimkan pesan ke ESME penerima. Jika status report diminta oleh pengirim pesan, maka SMSC penerima membuat status report dan mengirimkanya ke ESME pengirim. Universitas Sumatera Utara 12 Dalam perkembangannya, SMS menjadi salah satu service yang banyak diminati dan digunakan oleh pengguna, hal ini karena teknologi SMS memiliki beberapa keunggulan, antara lain: 1. Harganya murah. 2. Merupakan ”deliver oriented service”, artinya pesan akan selalu diusahakan untuk dikirimkan ke tujuan. Jika suatu saat nomor tujuan sedang tidak aktif atau di luar jangkauan sinyal, maka pesan akan disimpan di SMSC server dan akan dikirimkan sesegera mungkin setelah nomor tujuan aktif kembali. Pesan juga akan tetap terkirim ke tujuan walaupun nomor tujuan sedang melakukan pembicaraan (sibuk). 3. Dapat dikirim ke banyak penerima sekaligus pada saat yang bersamaan. 4. Kegunaannya banyak, dengan cara diintegrasikan dengan aplikasi content, SMS dapat digunakan untuk berbagai macam keperluan seperti kuis, voting, chatting, reservasi, request informasi, sensus/survey, dan lainnya tergantung dengan kegunaan dan fungsi aplikasi content yang terhubungan dengan SMSC. 2.3 SMS Gateway Pada hakekatnya SMS gateway adalah sama dengan saat menggunakan telepon selular seperti biasanya. Hanya yang membedakan adalah dalam hal interfacenya saja. Bila menggunakan telepon selular maka interface-nya berupa keypad dan display dari telepon selular tersebut, sedangkan bila menggunakan SMS gateway Universitas Sumatera Utara 13 maka interface-nya berupa keyboard komputer dengan layar monitor. Karena dalam implementasinya, diperlukan sebuah GSM Modem atau sebuah telepon selular yang berfungsi sebagai GSM Modem. Istilah gateway, bila dilihat pada kamus Inggris-Indonesia diartikan sebagai pintu gerbang. Namun pada dunia komputer, gateway dapat berarti juga sebagai jembatan penghubung antar satu sistem dengan sistem lain yang berbeda, sehingga dapat terjadi suatu pertukaran data antar sistem tersebut. Dengan demikian, SMS gateway dapat diartikan sebagai suatu penghubung untuk lalu lintas data-data SMS, baik yang dikirimkan maupun yang diterima. Sebuah gateway SMS adalah cara mengirim pesan teks dengan atau tanpa menggunakan telepon selular. Secara khusus, ini adalah perangkat atau layanan yang menawarkan transit SMS oleh salah satu pesan transformasi. Penggunaan khas gateway adalah untuk meneruskan email sederhana ke ponsel penerima. Hal ini juga dapat berguna dalam mengembangkan aplikasi web yang dapat berinteraksi dengan melalui SMS. SMS Gateway merupakan pintu gerbang bagi penyebaran Informasi dengan menggunakan SMS. Anda dapat menyebarkan pesan ke ratusan nomor secara otomatis dan cepat yang langsung terhubung dengan database nomornomor ponsel saja tanpa harus mengetik ratusan nomor dan pesan di ponsel pengirim karena semua nomor akan diambil secara otomatis dari database tersebut. Selain itu , dengan adanya SMS Gateway anda dapat mengustomisasi Universitas Sumatera Utara 14 pesan-pesan yang ingin dikirim. Dengan menggunakan program tambahan yang dapat dibuat sendiri, pengirim pesan dapat lebih fleksibel dalam mengirim berita karena biasanya pesan yang ingin dikirim berbeda-beda untuk masing-masing penerimanya. Jadi aplikasi SMS gateway tersebut bisa dibuat pada sistem yang kompleks atau bahkan yang sangat sederhana sekali. 2.4 Bahasa Pemrograman Java Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Dikembangkan oleh Sun Microsystems dan dirilis tahun 1995. Java berbeda dengan JavaScript. JavaScript adalah bahasa scripting yang digunakan oleh web browser. 2.4.1 Sejarah Perkembangan Java Bahasa pemrograman Java pertama lahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, James Gosling dan Bill Joy, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang. Universitas Sumatera Utara 15 Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand Hill Road di Menlo Park. Sekitar musim panas 1992 proyek ini ditutup dengan menghasilkan sebuah program Java Oak pertama, yang ditujukan sebagai pengendali sebuah peralatan dengan teknologi layar sentuh (touch screen), seperti pada PDA sekarang ini. Teknologi baru ini dinamai "*7" (Star Seven). Setelah era Star Seven selesai, sebuah anak perusahaan Tv kabel tertarik ditambah beberapa orang dari proyek The Green Project. Mereka memusatkan kegiatannya pada sebuah ruangan kantor di 100 Hamilton Avenue, Palo Alto. Perusahaan baru ini bertambah maju, jumlah karyawan meningkat dalam waktu singkat dari 13 menjadi 70 orang. Pada rentang waktu ini juga ditetapkan pemakaian Internet sebagai medium yang menjembatani kerja dan ide di antara mereka. Pada awal tahun 1990-an, Internet masih merupakan rintisan, yang dipakai hanya di kalangan akademisi dan militer. Mereka menjadikan perambah (browser) Mosaic sebagai landasan awal untuk membuat perambah Java pertama yang dinamai Web Runner, terinsipirasi dari film 1980-an, Blade Runner. Pada perkembangan rilis pertama, Web Runner berganti nama menjadi Hot Java. Pada sekitar bulan Maret 1995, untuk pertama kali kode sumber Java versi 1.0a2 dibuka. Kesuksesan mereka diikuti dengan untuk pemberitaan pertama kali pada surat kabar San Jose Mercury News pada tanggal 23 Mei 1995. Universitas Sumatera Utara 16 Sayang terjadi perpecahan di antara mereka suatu hari pada pukul 04.00 di sebuah ruangan hotel Sheraton Palace. Tiga dari pimpinan utama proyek, Eric Schmidt dan George Paolini dari Sun Microsystems bersama Marc Andreessen, membentuk Netscape. Nama Oak, diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja "Bapak Java", James Gosling. Nama Oak ini tidak dipakai untuk versi release Java karena sebuah perangkat lunak lain sudah terdaftar dengan merek dagang tersebut, sehingga diambil nama penggantinya menjadi "Java". Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk) kesukaan Gosling. Konon kopi ini berasal dari Pulau Java. Jadi nama bahasa pemrograman Java tidak lain berasal dari kata Java (bahasa Inggris untuk Java adalah Java). 2.4.2 Kelebihan Pemrograman Java Adapun Kelebihan pemrograman Java, yaitu: 1. Multiplatform Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform/sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin/bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis Java dikerjakan diatas operating Universitas Sumatera Utara 17 system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebabnya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk menginterpretasikan bytecode tersebut. 2. OOP (Object Oriented Programming - Pemrogram Berorientasi Objek) Yang artinya semua aspek yang terdapat di Java adalah Objek. Java merupakan salah satu bahasa pemrograman berbasis objek secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut Object. Hal ini sangat memudahkan pemrogram untuk mendesain, membuat, mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir. Kelebihan ini menjadikan Java sebagai salah satu bahasa pemograman termudah, bahkan untuk fungsi fungsi yang advance seperti komunikasi antara komputer sekalipun. 3. Perpustakaan Kelas yang Lengkap Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman Java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaanperpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi. Universitas Sumatera Utara 18 4. Bergaya C++ Memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-universitas di Amerika Serikat juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer. 5. Pengumpulan sampah otomatis Memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas). 2.4.3 Kekurangan Pemrograman Java Adapun kekurangan pemrograman Java, yaitu: 1. Tulis sekali, perbaiki dimana saja Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X. 2. Mudah didekompilasi Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode Universitas Sumatera Utara 19 yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer. 3. Penggunaan memori yang banyak Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun. 2.4.4 Contoh Pemrograman Java Contoh program Hello World yang ditulis menggunakan bahasa pemrograman Java adalah sebagai berikut: public class HelloWorld { public static void main(String args[]) { System.out.println("Hello, world!"); } } Kode program tersebut dituliskan pada sebuah text editor seperti JCreator serta disimpan dengan ekstensi *.Java (contoh: HelloWorld.Java) pada Universitas Sumatera Utara 20 direkori D:/area_Java dan outputnya jika dijalankan di command prompt windows adalah sebagai berikut: Gambar 2.3 Hasil Program dengan Menggunakan Java 2.5 Tahapan Kompilasi Java Adapun tahapan kompilasi Java sebagai berikut: 1. Tulis/Ubah Pemrogram menulis program dan menyimpannya di media dalam bentuk berkas '.Java'. 2. Kompilasi Pengkompilasi membentuk bytecodes dari program menjadi bentuk berkas '.class'. 3. Muat Pemuat kelas memuat bytecodes ke memori. 4. Verifikasi Peng-verifikasi memastikan bytecodes tidak mengganggu sistem keamanan Java. 5. Jalankan Penerjemah menerjemahkan bytecodes ke bahasa mesin dan memilih mana yang tidak bisa di pakai. Universitas Sumatera Utara 21 2.6 Koneksi Database Java Koneksi database Java sering disebut sebagai JDBC, adalah sebuah application programming interface (API) untuk bahasa pemrograman Java yang mendefinisikan bagaimana klien dapat mengakses database. Ini menyediakan metode untuk query dan meng-update data dalam database. JDBC berorientasi pada database relasional. Sebuah jembatan JDBC-ke-ODBC memungkinkan sambungan ke sumber data ODBC dapat diakses dalam lingkungan host JVM. Gambar 2.4 Skema koneksi database Java Universitas Sumatera Utara 22 2.7 Database MySQL MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis di bawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual di bawah lisensi komersial untuk kasus-kasus di mana penggunaannya tidak cocok dengan penggunaan GPL. Tidak sama dengan proyek-proyek seperti Apache, di mana perangkat lunak dikembangkan oleh komunitas umum dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, di mana memegang hak cipta hampir atas semua kode sumbernya sehingga pengguna dapat mengunduh software ini dan memakainya secara gratis. 2.7.1 Perkembangan Database MySQL MySQL merupakan hasil buah pikiran dari Michael “Monty” Widenius, David Axmark dan Allan Larsson yang dimulai pada tahun 1995. Mereka kemudian mendirikan perusahaan bernama MySQL AB di Swedia. Tujuan awal ditulisnya program ini adalah untuk mengembangkan aplikasi web yang akan digunakan oleh salah satu klien MySQL AB. Universitas Sumatera Utara 23 MySQL versi 1.0 dirilis pada Mei 1996 dan penggunaannya hanya terbatas di kalangan intern saja. Pada bulan Oktober 1996, MySQL versi 3.11.0 dirilis ke masyarakat luas di bawah lisensi “Terbuka Tapi Terbatas”. Barulah pada bulan Juni 2000, MySQL AB mengumumkan bahwa mulai MySQL versi 3.23.19 diterapkan sebagai GPL (General Public License). Dengan lisensi ini, maka “Siapa pun boleh melihat program aslinya dan menggunakan program eksekusinya dengan cuma-cuma. Dan bila ingin memodifikasi pada program aslinya, maka program modifikasi tersebut harus dilepas di bawah lisensi GPL juga”. Hingga kini MySQL terus berkembang dengan berbagai penyempurnaan sehingga dirilis MySQL versi 5.0.21 pada bulan Mei 2006, yang semula untuk melakukan administrasi dalam basis data MySQL, dengan menggunakan modul yang berupa Command Prompt (perintah: mysql dan mysqladmin). Saat ini dapat dirancang sebuah database melalui modul berbasis grafik GUI (Graphical User Interface) seperti PhpMyAdmin dan MySQL Query Browser Tools. 2.7.2 Perintah Dasar Database MySQL Dalam menjalan MySQL diperlukan berbagai perintah untuk membuat suatu database, berikut ini disebutkan beberapa perintah dasar dalam menggunakan MySQL. Untuk menjalankan MySQL pertama kali cukup dengan mengetikkan mysql pada Command Prompt. Universitas Sumatera Utara 24 Perintah-perintahnya adalah sebagai berikut: 1. Menampilkan database: SHOW DATABASE ; 2. Membuat database baru: CREATE DATABASE database ; 3. Memilih database yang akan digunakan: USE database ; 4. Menampilkan tabel: SHOW TABLE ; 5. Membuat tabel baru: CREATE TABLE tabel (field spesifikasi_field,...) ; 6. Menampilkan struktur tabel : SHOW COLUMNS FROM tabel atau DESCRIBE tabel ; 7. Mengubah struktur tabel: ALTER TABLE tabel Jenis_Pengubahan ; 8. Mengisikan data: („data_kolom1‟,...); INSERT INTO atau INSERT table(kolom1,...) INTO table SET VALUES kolom1 = „data_kolom1‟,...; 9. Menampilkan data: SELECT kolom FROM tabel WHERE kriteria ORDER BY kolom atau SELECT * FROM tabel ; 10. Mengubah data: UPDATE tabel SET kolom = pengubahan_data WHERE kriteria; 11. Menampilkan data dengan kriteria tertentu: SELECT kolom1,... FROM table WHERE kriteria ; 12. Menghapus data: DELETE FROM tabel WHERE kriteria ; 13. Menghapus tabel: DROP tabel ; 14. Menghapus database: DROP database ; 15. Keluar dari MySQL: QUIT; atau EXIT; Universitas Sumatera Utara 25 2.8 JCreator JCreator adalah IDE untuk Java yang diciptakan oleh Xinox Software. Antarmuka yang mirip dengan Microsoft Visual Studio. Karena seluruhnya diprogram dalam C + +, (dengan pengecualian ke versi pertama (0,1) yang berbasis Java), Xinox Software telah menegaskan bahwa JCreator lebih cepat daripada editor Java lainnya. JCreator memiliki dua edisi, yaitu: 1. Lite Edition (LE): freeware 2. Pro Edition (Pro): shareware dikenakan biaya sekitar $89 setelah percobaan 30 hari. JCreator hanya tersedia pada sistem operasi windows. Namun, kedua versi LE dan JCreator Pro dapat berjalan di Linux (menggunakan Wine). Sejauh ini tidak ada versi Linux direncanakan untuk dirilis segera, tapi komponen baru akan dibangun untuk kompatibilitas. Fitur versi Pro adalah sebanding dengan IDE lain bahasa yang berkaitan dengan proyek fitur manajemen dan mengedit, tetapi tidak memiliki fitur-fitur canggih, seperti refactoring otomatis, dukungan untuk kerangka umum dan lainlain, yang dapat ditemukan di Java IDE seperti Eclipse dan IntelliJ IDEA. Versi LE memiliki kekurangan beberapa fitur, seperti penyelesaian kode, yang disertakan dengan IDE gratis lainnya. Berbeda dengan hari ini dominan IDE Java, Universitas Sumatera Utara 26 JCreator juga tidak memiliki plugin pihak ketiga yang biasa terjadi di Java IDE popular. Gambar 2.5 Tampilan JCreator LE 2.9 Web Server Apache Tomcat Apache Tomcat (atau Jakarta Tomcat atau hanya Tomcat) adalah sebuah servlet kontainer open source yang dikembangkan oleh Apache Software Foundation (ASF). Tomcat menerapkan Java Servlet dan JavaServer Pages (JSP) spesifikasi dari Sun Microsystems, dan menyediakan sebuah "Pure Java" HTTP lingkungan web server untuk menjalankan kode Java. Universitas Sumatera Utara 27 Tomcat tidak boleh disamakan dengan server web Apache, yang merupakan implementasi C dari web server HTTP; kedua server web tidak dibundel bersama. Apache Tomcat mencakup perangkat untuk konfigurasi dan manajemen, tetapi juga dapat dikonfigurasi dengan mengedit file konfigurasi XML. Tomcat versi 4.x dirilis dengan komponen diantaranya Catalina (wadah servlet), Coyote (konektor HTTP) dan Jasper (mesin JSP). 2.10 Java Server Page (JSP) JavaServer Pages (JSP) adalah teknologi Java yang membantu pengembang perangkat lunak melayani yang dihasilkan secara dinamis halaman web berdasarkan HTML, XML, atau jenis dokumen lainnya. Dirilis pada tahun 1999 sebagai Javaban Sun untuk ASP dan PHP, JSP dirancang untuk mengatasi persepsi bahwa lingkungan pemrograman Java tidak menyediakan pengembang dengan dukungan yang cukup untuk Web. Arsitektur, JSP dapat dilihat sebagai abstraksi tingkat tinggi servlets Java. halaman JSP yang dimuat di server dan dioperasikan dari paket server khusus yang dipasang terstruktur Java disebut Java EE Aplikasi Web, sering dikemas sebagai perang. atau. arsip file telinga. Universitas Sumatera Utara 28 JSP memungkinkan kode Java dan tindakan pra-persyaratan tertentu yang akan disisipkan dengan konten markup web statis, dengan halaman hasil sedang disusun dan dijalankan pada server untuk menyampaikan sebuah dokumen HTML atau XML. Halaman-halaman disusun dan setiap perpustakaan tergantung pada Java menggunakan Java bytecode daripada format perangkat lunak asli, dan oleh karena itu harus dilaksanakan dalam mesin virtual Java (JVM) yang terintegrasi dengan sistem host operasi untuk menyediakan lingkungan platform-netral abstrak. Sintaks JSP adalah campuran cairan dari dua bentuk konten dasar: elemen scriptlet dan markup. Markup adalah HTML biasanya standar atau XML, sedangkan elemen scriptlet adalah blok dipisahkan oleh kode Java yang dapat bercampur dengan markup. Ketika halaman ini meminta kode Java dijalankan dan outputnya ditambahkan, in situ, dengan markup sekitarnya untuk membuat halaman akhir. halaman JSP harus dikompilasi untuk kelas Java bytecode sebelum mereka dapat dieksekusi, tetapi kompilasi tersebut diperlukan hanya bila perubahan ke file sumber JSP telah terjadi. Kode Java tidak perlu lengkap (mandiri) dalam blok unsur scriptlet, tapi bisa mengangkang markup yang menyediakan konten halaman secara keseluruhan adalah sintaktis benar (misalnya, Java setiap jika/untuk/saat blok dibuka dalam satu elemen scriptlet harus secara benar tertutup dalam elemen kemudian untuk halaman untuk berhasil kompilasi). Universitas Sumatera Utara 29 Sintaks JSP menambahkan tag XML-seperti tambahan, yang disebut tindakan JSP, untuk memohon fungsionalitas built-in. Selain itu, teknologi memungkinkan untuk menciptakan perpustakaan tag JSP yang bertindak sebagai ekstensi untuk standar HTML atau tag XML. JVM mengoperasikan tag-tag dengan menyediakan cara platform independen sesuai kemampuan server web. tidak semua komersial Java adalah server Java EE spesifikasi yang sesuai. Dimulai dengan versi 1.2 dari spesifikasi JSP, JavaServer Pages telah dikembangkan di bawah Java Community Process. JSR 53 mendefinisikan baik JSP 1.2 dan Servlet 2.3 spesifikasi dan JSR 152 mendefinisikan JSP 2.0 spesifikasi. Pada Mei 2006 spesifikasi JSP 2.1 telah dirilis di bawah JSR 245 sebagai bagian dari Java EE 5. Pada 10 Desember 2009 spesifikasi JSP 2.2 telah dirilis sebagai rilis pemeliharaan JSR 245. Contoh program Hello World yang ditulis menggunakan bahasa pemrograman JSP adalah sebagai berikut: <html> <head> <title>Hello World Pada JSP</title> </head> <body> <% out.println("Hello World!!!"); %> </body> </html> Universitas Sumatera Utara 30 Jika dijalankan di web browser sebagai berikut: Gambar 2.6 Hasil Program dengan Menggunakan JSP 2.11 Data Flow Diagram (DFD) Data Flow Diagram (DFD) adalah suatu diagram yang menggunakan notasi-notasi untuk menggambarkan arus dari data sistem, yang penggunaannya sangat membantu untuk memahami sistem secara logika, tersruktur dan jelas. DFD merupakan alat bantu dalam menggambarkan atau menjelaskan sistem yang sedang berjalan logis Gambar 2.7 Contoh Data Flow Diagram Universitas Sumatera Utara