You are on page 1of 27

BAB II DASAR TEORI II.1. Teori Tentang Permasalahan II.1.1.

Pengertian Bank Oleh karena perbankan memainkan peranan yang sangat penting dalam menyalurkan dana kepada peminjam yang mempunyai kesempatan investasi yang produktif, aktivitas keuangan ini penting untuk menjamin bahwa sistem keuangan dan perekonomian berjalan mulus dan efisien (Frederic S. Mishkin, 2008).

Bank memperoleh dana dengan meminjam dan dengan menerbitkan kewajiban lainnya seperti deposito. Mereka kemudian menggunakan dana-dana tersebut untuk mendapatkan aset seperti surat berharga (sekuritas) dan pinjaman.

II.1.2. Pengertian e Banking Menurut kutipan dari http://basiloe.co.cc/tag/e-bankingbahwa, Internet banking adalah sebuah jaringan internet yang dipergunakan demi kepentingan perbankan atau menggunakan jaringan internet untuk melakukan transaksi perbankan yang dapat dilakuakan di rumah, di kantor atau dimana saja. Untuk itu hanya diperlukan komputer dan koneksi internet.Saat Bank Tradisional ( Bank yang melakukan transaksi di suatu tempat) menjadi online, haruslah memiliki jaringan internet yang sangat luas dan selalu ada selama 24 jam sehingga dapat melayani konsumen melalui sistem InternetBanking. InternetBanking merupakan teknologi canggih dan dapat memberikan lebih banyak informasi daripada tradsional bank yang hanya melayani konsumen yang datang ke suatu tempat untuk bertransaksi langsung.Adapun keuntungan-keuntungan yang dapat dirasakan ialah :
1. 2. 3.

InternetBanking lebih menghemat waktu dan biaya (biaya transportasi). Konsumen tidak harus mendatangi bank secara langsung Internetbanking memberi pelayanan selama 24 jam

II - 1

II - 2

4.

Konsumen dapat melakukan transaksi dari manapun dan kapan pun. Bagi pihak Bank :

5.

Mengurangi biaya oprasional, biaya sewa tempat, dan gaji karyawan.

II.1.3. Keamanan e banking Persyaratan dari kemanana internet banking ialah : 1. Confidentiality, ialah sistem harus memastikan bahwa informasi

dikomunikasikan dan disimpan secara aman dan hanya dapat diakses oleh mereka yang berhak saja. 2. Integrity, dimana sistem harus memastikan bahwa informasi dikirimkan secara menyeluruh, lengkap dan dalam keadaan tidak berubah. 3. Availability, ialah sistem yang bertugas mengirimkan, menyimpan dan

memproses informasi dapat digunakan ketika dibutuhkan oleh mereka yang membutuhkannya. 4. Authenticity, ialah dimana sistem harus memastikan bahwa pihak, obyek, dan informasi yang berkomunikasi adalah ril dan bukan palsu. 5. Non-Repudiation, dimana sistem melakukan transaksi tidak harus memastikan bahwa pihak yang transaksi

dapat menolak,

menyangkal

yang telah dilakukannya.

II.1.4. Pemrograman dengan JAVA Pemrograman berorientasi objek atau yang lebih lazim dikenal dengan sebutan asing ObjectOrientedProgramming (OOP) adalah inti dari pemrograman java. Beberapa ciri dari pemrograman berorientasi objek ialah abstraksi (abstraction), pembungkusan (encapsulation), pewarisan (inheritance), dan polimorfisme atau kebanyakrupaan (polymorphism) (Budi Raharjo : 2009: 35). II.1.2.1. Abstraksi Abstraksi adalah pengabstrakan atau penyembunyian kerumitan dari suatu proses. Sebagai contoh seorang programmer tidak perlu mengetahui secara detail bagaimana sebuah tombl dibuat. Yang perlu diketahui adalah bagaimana cara menggunakan objek tombol yang

II - 3

sudah ada (baik data/property maupun method-nya) (Budi Raharjo : 2009: 35). II.1.2.2. Pembungkusan (encapsulation) Proses pembungkusan itu sendiri merupakan suatu cara atau mekanisme dalam melakukan abstraksi. Dalam pemrograman tradisional, proses semacam ini sering dinamakan dengan penyembunyian informasi (information hiding).

Pembungkusan kode dalam pemrograman Java ada tiga tingkat akses yaitu private, protected, dan public. 1. Tingakt akses private, dengan mendeklarasikan data dan method

menggunakanakses prvate, berarti data dan methodhanya bisa diakses oleh kelas yang memilikinya saja. Ini berarti data dan method tersebut tidak bisa diakses oleh kelas-kelas lain yang ada pada program. 2. Tingkat akses protected, ialahsuatu data maupun method yang dideklarasikan dengan tingkat akses protected dapat diakses oleh kelas yang memilikinya dan juga oleh kelas-kelas yang masih memiliki hubungan keturunan. Untuk

mendeklarasikan data atau method dengan tingkat akses protected harus menggunakan keyword protected. 3. Tingkat akses public, data maupun method yang bersifat public dapat diakses oleh semua bagian di dalam program. Data-data atau method yang

dideklarasikan dengan tingkat akses public dapat dikenali atau dapat diakses oleh semua kelas yang ada di dalam program, baik kelas yang masih ada hubungan turunan atau tidak ada sama sekali. II.1.2.3. Pewarisan Model pemrograman berorientasi objek juga menerapkan konsep pewarisan, sama halnya seperti yang terjaci di dunia atau kehidupan nyata. Dalam terminology java, kelas induk dinamakan dengan superclass dan kelas turunan disebut dengan subclass.

II - 4

II.1.5. Arsitektur Client Server dari perspektif web Menurut e book Jeni (2007) Aplikasi web adalah jenis aplikasi yang menggunakan arsitektur client-server. Pada jenis arsitektur ini, sebuah program client terhubung pada sebuah server untuk informasi yang dibutuhkan untuk melengkapi tugas-tugas yang telah diset oleh user. II.1.6. Web Server menurut ebook Jeni (2007) Tugas dari web server sendiri ialah server menerima permintaan-permintaan dari para client web browser dan kemudian meresponnya. Beberapa permintaan yang datang dari client disertai nama dan alamat item yang client cari, sebagaimana beberapa data user yang disediakan. Server menerima permintaan tersebut, memprosesnya, dan kemudian merespon data yang dicari oleh client atau sebuah kode error yang mengindikasikan bahwa item tidak terdapat pada server atau jika terjadi beberapa error lain.

Gambar II 1 Tanggung Jawab Server

II.1.7. Web Client Tugas browser adalah menyediakan user sebuah interface dimana akan meminta server dan menampilkan respon dari server. Ketika user meminta server (sebagai contoh, mendapatkan dokumen, atau mungkin mengirim (submit) sebuah form), browserlah yang memformat permintaan tersebut ke dalam sesuatu yang server dapat mengerti.Begitu server telah selesai memproses permintaan dan kemudian mengirim

II - 5

respon, browser mengambil data yang diperlukan dari respon yang diberikan server dan kemudian merendernya untuk ditampilkan ke user.

II.1.8.

HTML Menurut e book Jeni (2007), HTML ialah sebuah singkatan dari Hypertext Markup Language, HTML dapat dimengerti sebagai sebuah kumpulan perintah-perintah untuk web browser tentang bagaimana menampilkan isi ke user. Itu merupakan standar terbuka yang telah di update oleh W3C atau World Wide Web Consortium.

Karena merupakan sebuah standar terbuka,

setiap orang mengaksesnya, berarti

bahwa browsers dikembangkan dengan standar itu di pikiran. Lebih lanjut berarti bahwa semua browsers mengetahui apa yang dilakukan ketika itu memecahkan HTML, meskipun beberapa browsers yang lebih lama mungkin memiliki permasalahan pada perenderan beberapa halaman yang ditulis menggunakan versi HTML yang lebih baru yang telah diupdate setelah pengembangannya.

II.1.9.

Pengertian HTTP Menurut e book Jeni (2007) HTTP singkatan dari HyperText Transfer Protocol. Merupakan sebuah protokol jaringan dengan fiturfitur Web-specific yang berjalan pada bagian teratas dari dua lapisan protokol lain, TCP dan IP. HTTP menggunakan urutan Request/Response: Sebuah HTTP client membuka koneksi dan mengirim sebuah pesan permintaan pada HTTP server; server kemudian mengirimkan pesan respon, biasanya berisikan resource yang diminta. Setelah mengirimkan respon, server menutup koneksi (membuat HTTP menjadi protokol tanpa status, contoh, tidak memelihara beberapa informasi koneksi diantara transaksi).

II.1.10. HTTP Requests Permintaan-permintaan dari client ke server berisikan informasi tentang macammacam ada dua protocol yang digunakan yaitu GET dan POST, GET adalah method HTTP paling sederhana dan digunakan sebagian besar untuk meminta resource tertentu dari server, apakah berupa halaman web, file gambar grafis, atau sebuah dokumen. Sedangkan POST ialah Jenis permintaan ini didesain seperti browser dapat

II - 6

membuat permintaan kompleks dari server.Mereka didesain sehingga user, melalui browser, dapat mengirim banyak data ke server. Form kompleks secara umum dicapai dengan menggunakan permintaan POST, sebagaimana form sederhana yang

memelukan proses upload file ke server. II.1.10.1. GET Menurut e book Jeni (2007) GET adalah method HTTP paling sederhana dan digunakan sebagian besar untuk meminta resource tertentu dari server, apakah berupa halaman web, file gambar grafis, atau sebuah dokumen, dan lain-lain. GET dapat digunakan untuk mengirim data di atas server, walau dengan beberapa batasan-batasan. Salah satunya Jumlah total karakter yang dapat dienkapsulasi ke dalam permintaan GET adalah terbatas, sehingga untuk situasi dimana banyak data perlu dikirimkan ke server, tidak semua pesan dapat disampaikan. Sementara

keuntungan dari penggunaan GET dalam pengiriman data di atas server adalah permintaan URL dari permintaan GET dapat dibookmark oleh browser. II.1.10.2. POST Menurut e book Jeni (2007) Method POST ialah Jenis permintaan yang didesain seperti browser dapat membuat permintaan kompleks dari server. Mereka didesain sehingga user, melalui browser, dapat mengirim banyak data ke server. Form kompleks secara umum dicapai dengan menggunakan permintaan POST, sebagaimana form sederhana yang memelukan proses upload file ke server. Satu perbedaan yang nyata antara method GET dan POST terletak pada cara GET hanya

mengirimkan data ke server. Seperti yang dinyatakan sebelumnya,

menambahkan data ke URL yang akan mengirim. POST, di sisi lain, mengenkapsulasi atau menyembunyikan data di dalam body pesan (message body) yang dikirim. Ketika server menerima permintaan dan menentukan bahwa itu merupakan sebuah permintaan POST, dapat dilihat dari body pesan data tersebut.

II - 7

II.1.11. HTTP Respons HTTP merespon dari server yang berisi headers dan body pesan, seperti yang permintaan HTTP lakukan.Mereka menggunakan kumpulan header yang berbeda, headers berisi informasi tentang protokol HTTP yang digunakan pada server, sebagaimana tipe dari isi yang dienkapsulasi ke dalam body pesan. Nilai dari tipe isi adalah MIME-type. Ini akan memberitahu browser jika pesan berisi HTML, gambar, atau tipe lainnya. II.1.12. Dynamic dan Static pages Menurut e book Jeni 2(2007), Content statis adalah isi yang statis atau tidak dapat dirubah. Content jenis ini biasanya hanya berada pada storage/penyimpanan dimana server dapat mengaksesnya dan akan diambil berdasarkan permintaan. Ketika mereka dikirim sebagai respon dari server, cara mereka dikirim sama persis seperti ketika mereka berada pada server. Contoh dari content statis meliputi kumpulan artikel surat kabar, gambar keluarga dari galeri foto online dan lain sebagainya. Menurut e book Jeni (2007) dynamic pages ialah page yang berubah menurut input dari user dan halaman dinamis mempunyai lebih banyak flexibilitas dan kegunaan dari pada halaman statis. II.1.13. Pengertian J2EE Web Tier Platform Java 2 Enterprise Edition (J2EE) adalah suatu platform yang diperkenalkan untukdevelopment perusahaan aplikasi dalam suatu component-base.Model aplikasi yangdigunakan pada platform ini adalah model aplikasi distibuted multi-tier (Jeni,2007) Aplikasi multi-tier adalah suatu aplikasi web : layer presentasi (client browser), layer bussines logic (program yang berada pada web server), dan layerpenyimpanan (database yang akan menangani data aplikasi tersebut) terpisah dengan jelas, tetapi secara keseluruhan bertujuan untuk menciptakan sebuah aplikasi bagi user.

Salah satu strata dalam platform J2EE ketika sebelumnya berupa web-tier. Strata ini di uraikan sebagai layer yang saling berhubungan dengan browser dalam rangka

II - 8

menciptakan content yang dinamis. Ada dua teknologi pada layer ini : servlet dan JavaServerPage. II.1.14. Container Container adalah pusat dari konsep aplikasi J2EE,semua komponen J2EE mencakup komponen web (servlet,JSPs) bersandar pada keberadaan suatu Container; tanpa container yang sesuai, mereka tidak akan dapat dijalankan (JENI, 2007).

Gambar II-2 : Containers pada platform J2EE Fitur yang diberikan oleh Container 1. Pendukung Komunikasi. Container menangani semua kode yang penting dari servletuntuk berkomunikasi dengan web server. Tanpa container, developer mungkin harus menuliskan code yang akan menciptakan suatu koneksi dari server ke servlet(dan sebaliknya) dan mengatur bagaimana mereka bertemu satu sama yang lain pada tiap satuan waktu. 2. Management Lifescycle. Container menangani segalanya dalam kehidupan pada servlet, mulai loading class, instatiation dan inisialisasi, dan mengoleksisampah. 3. Pendukung Multithreading. Container mengatur tugas dari urutan waktu yang baru setiap kali suatu servlet dibuat 4. Pendukung JSP. Halaman JSP, dalam memperkerjakan, harus mencompile dalam code Java, mengcompilenya, dan memanggil metode yang sesuai dalam code.

II - 9

II.1.15. Servlet Servlet adalah sebuah class dalam bahasa pemrograman Java yang digunakan untuk meningkatkan kepabiltas dari server sebagai host dari aplikasi yang diakses melalui request-response programming model. Servlet adalah sebuah class java yang meng-implement interface Servlet dan menerima request yang berasal dari class java, web client, atau servlet lain yang membangkitkan response. Servlet juga dipanggil sebagai HTTP Servlet. Hal ini disebakan karena servlets biasanya digunakan dengan HTTP, akan tetap servlet bukanlah merupakan salah satu spesifikasi spesifik dari protokol client-server (Jeni, 2007). Servlet memiliki desain tertentu yang dapat mengatasi segala permasalahan yang melekat pada CGI dan memberikan sebuah solusi java kepada developer untuk

membuat sebuah aplikasi berbasis web. Selain menciptakan sebuah proses yang tidak terlalu membebani server pada saat kedatangan setiap request dari client, dengan menggunakan servlet hanya ada satu proses yang akan menangangi SELURUH request: proses tersebut memerlukan servlet container untuk dijalankan. Pada saat kedatangan request yang baru, container akan menciptakan sebuah thread ringan untuk mengeksekusi servlet.

Servlet juga hanya dimasukkan sekali kedalam memori, baik container yang memasukkannya kedalam memori pada saat server mulai bekerja, maupun pada saat pertama servlet dibutuhkan untuk memberikan service kepada client. Sekali servlet dimasukkan kedalam memori, ia akan bertahan didalam memori, dan siap untuk menangani request yang lain dari client. Hal ini tidaklah sama dengan CGI dimana tiap request dari client akan dimasukkan dan dikeluarkan ke dan dari memori.

Object HttpServletRequest memberikan akses bagi segala informasi terhadap client request, termasuk apa saja bentuk parameter value yang dapat diletakkan pada Http request header, Http request method yang telah mereka gunakan, dan sebagainya.

II - 10

Object HttpServletResponse terdiri dari semua method yang dibutuhkan oleh developeruntuk memproduksi sebuah response yang akan dikirimkan kembali kepada client. Meliputi method-method yang harus di-set pada HTTP response header, untuk mendeklarasikan tipe MIME dari response, sebaik method yang digunakan untuk mengambil instance dari class Java I/O yang akan kita gunakan secara langsung untuk memproduksi output.

II.1.16. Servlet Lifecycle Sebuah servlet telah diatur melalui sebuah lifecycle yang telah dideskripsikan dalam spesifikasi servlet. Servlet Lifecyle mendeskripsikan bagaimana servlet di load, di instantiate, di inisialisasi, di-request service-nya didijalankan. Lifecycle dari servlet dikontrol oleh sebuah kontainer yang telah dibangun oleh servlet.(Jeni, 2007). Lifecycle dari servlet akan memberikan kesempatan bagi servlet engineuntuk mengenali permasalahan dalam hal performance dan CGI resource dan untuk mengenali permasalahan dalam hal performance dan CGI resource dan aspek keamanan pada low-level server API program. Sebuah servlet engine mungkin dapat mengeksekusi semua servlet didalam sebuah Java virtual machine(JVM).

Karena pada dasarnya mereka berada didalam JVM yang Sama, servlet secara efisien dapat melakukan sharing data dengan yang lainnya, tetapi Java mengakses private data dari yang lain haruslah dicegah. Servlet juga membuka kemungkinan untuk untuk melakukan persistence diantara request-request sebagai instance dari object, sehingga dapat menghemat memori lebih banyak daripada full-fledged process.

II.1.16.1 Instantiation Menurut e book Jeni (2007), Pada fase ini , sebuah class servlet akan di load ke dalam memory dan instance-nya akan diciptakan oleh servlet container. Container practice disebut lazy loading. Dengan menggunakan method ini, sebuah servlet class akan di-load kedalam memori, di-instantiate, dan diinisialisasi hanya setelah sebuah request telah dibuat untuknya.

II - 11

Hal ini menjadikan waktu startup menjadi lebih cepat bagi aplikasi, tetapi hal ini juga berarti bahwa ada sedikit overhead yang terjadi pada saat pemanggilan pertama sebuah servlet.Apabila kondisi ini tidak diinginkan, maka tiap servlet dapat dikonfigurasikan untuk di-load pada startup server atau aplikasi.

sebuah servlet dapat melewati fase instantiation sekali per lifetime. Hal ini berarti bahwa hubungan overhead dengan loading pendefinisian servlet class kedalam memori hanya terjadi sekali. Hal ini menunjukkan keuntungan servlet dibandingkan teknologi yang lain.

II.1.16.2 Initialization Menurut e book Jeni (2007), Pada fase ini, servlet akan menjalankan sebuah aplikasi, dimana method yang dipanggil pada fase ini adalah method init(), ia adalah sebuah tanda atau method signature yang menggambarkan pemanggilan servlet dapat dengan mudah untuk di panggil kembali. method akan mengambil sebuah parameter sebagai instance dari sebuah bject ServletConfig. Object ini adalah object yang bertanggung jawab terhadap pemenuhan status dari servlet, objek ini memiliki informasi mengenai konfigurasi dari servlet, ia juga menyediakan sebuah cara bagi servlet untuk mengakses informasi secara luas dari aplikasi dan memfasilitasi untuk menggunakan object dari ServletContext.

II.1.16.3 Service Menurut e book Jeni (2007), fase ini adalah fase dimana sebuah servlet berada di dalam lifetime-nya. Pada fase ini, servlet dapat berkali-kali dipanggil oleh container untuk menyediakan fungsionalitas-nya.method yang akan di-invole oleh servlet container pada fase ini: public void service(ServletRequest req, ServletResponse res)

II - 12

object dari servletRequest dan ServletResponse diberikan kepada sebuah method yang menyediakan method bagi developer untuk meng-extract informasi dari user request dan method untuk membangkitkan. II.1.16.3 Destruction Ada waktu-waktu tertentu dimana sebuah servlet container akan berjalan out of memory, atau untuk mendetekasi jumlah dari memori yang tersisa dengan cara menghapus satu atau lebih instance servlet dari memori. Servlet mana yang dikeluarkan dari memori ditentukan oleh servlet container. Sebuah container juga akan membebaskan instance servlet pada saat container tersebutdi shutdown. Pada saat sebuah servlet telah dihilangkan dari memori, hal iniakan disebut sebagai fasedestruction. Method yang akan dipanggil oleh container sebelum ia selesai adalah methoddestroy(). Disini, servlet kita seharusnya mampu untuk secara eksplisit membebaskan resourceyang harus dihandle seperti koneksi ke database dan sebagainya

II.1.17.Java Server Page (JSP) Menurut e book Budi Susanto JSP 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 yangmenyediakan koneksi dan service, sedangkan JSP dan Servlet mengontrolpresentasi data yang dihasilkan dari suatu proses untuk dikirimkan ke client.

II - 13

Gambar II-3 Kinerja JSP

Server yang menangani permintaan JSP seperti sebuah kompiler halamanyang menggabungkan template HTML dengan kode Java yang dinyatakanpada elemen JSP.Sebuah JSP ketika akan dijalankan, web container akan memeriksa statusclass servlet terakhir, jika belum Ada atau berstatus lama, maka containerakan melakukan kompilasi terhadap file JSP untuk dihasilkan suatu servletyang menerapka interface HttpJspPage berdasar isi dari halaman JSP.Dari Servlet inilah kemudian dijalankan method _jspService untukmenghasilkan response dengan menggunakan class HttpServletRequest dan HttpServletResponse.

Untuk dapat menggunakan JSP, terdapat dua package tambahan lain : package javax.servlet.jsp(berisi kelas-kelas danmethodutamaJSP) package javax.servlet.jsp.tagtest(berisi kelas-kelas dan method untuk custom tag)

II - 14

Tag asli JSP pada dokumen HTML adalah : <%-<%= <%! <% Tag --%> %> %> %> Fungsi Komentar Ekspresi (sebagai String) Deklarasi Fragmen Kode Program Contoh <%-- ini komentar --%> <%= new java.util.Date()%> <%! Date d = new Date();%> <% for (int i=0;i<10;i++) %> <%@ page import=java.util.* %>

<%@

%>

Directive

Tabel II 1 Tag JSP II.1.17.1 Objek Implisit Menurut e book Budi Susanto Objek Implisit ialahvariabel penunjuk ke objek servletyang sudah terdefinisikan dan siap digunakan. Variabel inimemiliki ruang lingkup sebagai berikut : Scope Application Page Request Session Keterangan - Dimiliki oleh container JSP - Dapat dimanipulasi oleh sembarang Servlet atau aplikasi - Ada pada halaman yang mendefinisikan - Instance individu untuk tiap halaman - Ada selama waktu Request - Ada untuk selama session client Tabel II 2 Ruang Lingkup Objek Implisit Berikut adalah objek implisit yang disediakan : Nama Application config Tipe Application javax.servlet.ServletContext Page Scope javax.servlet.ServletConfig Fungsi Berisi atribut seluruh aplikasi Sebagai Objek representasi dari konfigurasi JSP yang tersimpan pada Web Descriptor (web.xml) Sebagai directive untuk halaman error

exception

java.lang.Throwable

II - 15

out response pages

javax.servlet.jsp.JspWriter javax.servlet.ServletRequest java.lang.Object

pageContext request session

javax.servlet.jsp.PageContext Request javax.servlet.ServletRequest Wakil dari Request user Session javax.servlet.http.HttpSession Berisi variabel yang disertakan pada session user Tabel II 3 Objek Implisit

Output stream untuk response Membuat output response Sebagai this untuk menunjuk ke halamannya sendiri Berisi atribut halaman

II.1.18. Java Database Connectivity (JDBC) Menurut kutipan dari situs http://www.total.or.id/info.php?kk=Java%20Database%20Connectifit yJDBC Merupakan suatu API (Application Programming Interface) yang memungkinkan Java mengeksekusi perintah SQL (Structured Query Language). Dengan adanya teknologi ini, memungkinkan program Java untuk berinteraksi dengan berbagai databaseyang tunduk dengan aturan SQL. Hampir semua Relational Database Management Sistem (DBMS) mendukung SQL, dan Java mampu dijalankan pada kebanyakan platform, sehingga JDBC merupakan suatu pintu untuk bisa menjalankan aplikasi yang mengeksekusi database meskipun terdiri dari berbagai platform dan berinteraksi dengan DBMS yang berbeda. JDBC ini mirip dengan ODBC (Open Database Connectivity), tetapi dirancang khusus untuk program Java, sedangkan ODBC bersifat independen terhadap bahasa pemrograman. JDBC ini dibangun pertama kali oleh JavaSoft, yang merupakan bagian dari Sun Microsistem. Berikut ini merupakan class kunci dari JDBC API 1. Java.sql.Connection membuat sebuah koneksi dengan database. Secara abstrak memberikan detail dari bagaimana cara untuk berkomunikasi dengan database server.

II - 16

2. Java.sql.DriverManager mengatur JDBCdriver yang digunakan oleh aplikasi. Pada hubungannya dengan properdriverURLdan properauthentication, dapat menyediakan aplikasi dengan validinstances dari objiect koneksi. 3. Javax.sql.DataSource memisahakan detail (URL, authenticationdetails) dari bagaimana untuk memperoleh sebuah koneksi ke database. Merupakan method terbaru dan yang lebih disukai dari obtainingConnectionobjects. 4. Java.sql.Statement menyediakan method untuk para pengembang dalam mengeksekusi pernyataan SQL. 5. Java.sql.ResultSet menyediakan hasil dari sebuah pernyataan SQL. Objects ini sering dikembalikan dari method yang terletak pada Statementobject.

II.1.19. Pengertian Database Database atau basis data dalam bahasa Indonesia merupakan kumpulan dari informasi yang disimpan dalam komputer dan saling berhubungan satu sama lain secara sistematik. Database ini dikelola dan dapat digunakan untuk keperluan tertentu. (Wahana Komputer : 2007 : 14) II.1.19.1 Tingkatan Database Karakter, karakter merupakan bagian data terkecil yang berjens numeric (angka), huruf ataupun karakter-karakter khusus (special character) yang membentuk item data/field. Field , field menggambarkan suatu atribut dari record yang menunjukan suatu item dari data, seperti nama, alamat dan lain sebagainya. Kumpulan dari field membentuk suatu record. Istilah lain dapat dikatakan sebagai kolom. Record, adalah kumpulan dari field membentuk suatu record. Record menggambarkan suatu unit data individu tertentu. Kumpulan dari record membentuk suatu file. Record ini dapat dikatakan sebagai baris. File, file terdiri dari record-record yang menggambarkan suatu kesatuan data yang sejenis.

II - 17

Database

File

Record

Field

Character Gambar II-4 :Tingkatan Database

II - 18

II.2. Metodologi Yang Digunakan II.2.1. Pengertian UML (Unified Modelling Language) UML (Unified Modelling Language) adalah salah satu alat bantu yang sangat handal didunia pengembangan sistem yang berorientasi objek. Hal ini disebabkan kare na UML menyediakan bahasa pemodelan visual yang memungkinkan bagi pengembang sistem untuk mebuat cetak biru atas visi mereka dalam bentuk yang baku, mudah dimengerti serta dilengkapi dengan mekanisme yang efektif untuk berbagi (sharing) dan mengkomunikasikan rancangan mereka dengan yang lain. (Munawar : 2005 :17) Ada tiga karakter penting yang melekat pada UML yaitu sketsa, cetak biru dan bahasa pemrograman. Sebagai sebuah sketsa, UML bias berfungsi sebagai jembatan dalam mengkomunikasikan beberapa aspek dari sistem. Dengan demikian semua anggota tim akan mempunyai gambaran yang sama tentang suatu sistem. UML bias juga berfungsi sebagai sebuah cetak biru karena sangat lengkap dan detil. Dengan cetak biru ini maka akan diketahui informasi detil tentang koding program (Forward Engineering).Atau bahkan membaca program dan menginterpresentasikannya kembali didalam diagram (reverse enginerering). Reverse engineering sangat

berguna pada situasi dimana code program yang tidak terdokumentasi akan dimodifikasi / dipelihara. Hal ini bias terjadi ketika dokumentasi asli hilang atau bahkan belum dibuat sama sekali. Sebagai bahasa pemrograman, UML dapat

menterjemahkan diagram yang ada di UML menjadi code program yang siap untuk dijalankan.

UML dibangun atas model 4+1 view. Model ini didasarkan pada fakta bahwa struktur sebuah sistem dideskripsikan dalam 5 view dimana salah satu diantaranya use case view.

II - 19

Design View Use Case View

Implementation View

Implementation View

Deployment View Gambar II 5 model 4 + 1

Usecase view mendefinisikan perilaku eksternal sistem. Hal ini menjadi daya tarik bagi end user, analis dan tester. Pandangan ini mendefinisikan kebutuhan sistem karena mengandung semua view yang lain yang mendeskripsikan aspek-aspek tertentu dari rancangan sistem.

Design view mendeskripsikan struktur logika yang mendukung fungsi-fungsi yang dibutuhkan di use case. Design view ini berisi definisi komponen program, classclass utama bersama-sama dengan spesifikasi data, perilaku dan interaksinya.

Implementation view menjelaskan komponen-komponen fisik dari sistem yang akan dibangun. Hal ini berbeda dengan komponen logic yang dideskripsikan pada design view. Termasuk disini diantaranya file exe, library dan database.

Process view berhubungan dengan hal-hal yang berkaitan dengan concurrency didalam sistem. Sedangkan deployment view menjelaskan bagaimana komponenkomponen fisik didistribusikan kelingkungan fisik seperti jaringan computer dimana sistem akan dijalankan. Kedua view ini menunjukan kebutuhan non fungsional dari sistem seperti toleransi kesalahann dan hal-hal yang berhubungan dengan kinerja.

II - 20

II.2.2. Use case diagram Use case adalah deskripsi fungsi dari sebuah sistem dari perspektif pengguna. Use case bekerja dengan cara mendeskripsikan tipikal interaksi antara user (pengguna) sebuah sistem dengan sistemnyya sendiri melalui sebuah cerita bagaimana sebuah sistem dipakai. Urutan langkah-langkah yang menerangkan antara pengguna dan sistem disebut scenario.Setiap scenario mendeskripsikanurutan kejadian.Setiap urutan diinisialisasi oleh orang, sistem yang lain, perangkat keras atau urutan waktu. (Munawar : 2005 :63) Diagram usecase menunjukan tiga aspek dari sistem yaitu actor, use case dan sistem actor mewakili peran orang, gambar dibawah ini menerangkan interaksi use case :
Sistem

Use case

Actor Gambar II 6 use case model

Actor

Use case juga sebagai absraksi dari interaksi antara sistem dan actor. Oleh karena itu sangat penting untuk memilih abstraksi yang cocok. Use case juga dibuat berdasarkan keperluan actor, use case harus merupakan apa yang dikerjakan software aplikasi, bukan bagaimana software aplikasi mengerjakannya. Setiap use case harus diberi nama yang menyatakan apa hal yang dicapai ddari hasil interaksinya dengan actor. Nama use case boleh terdiri dari beberapa kata dan tidak boleh ada dua use case yang memiliki nama yang sama.

Stereotype adalah sebuah model khusus yang terbatas untuk. Untuk menunjukan Stereotypedigunakan simbol << diawalnya dan ditutup >> diakhirnya. <<extend>> digunakan untuk menunjukan bahwa satu usecase merupakan tambahan fungsional dari use case yang lainnya jika kondisi atau syarat tertentu dipenuhi. Sedangkan <<include>> digunakan untuk menggambarkan bahwa suatu use case

II - 21

seluruhnya merupakan fungsionalias dari use case lainnya.Biasanya <<include>> digunakan untuk menghindari pencopian suatu use case karena sering dipakai.

II.2.3. State Machine diagram Interaction diagram dan state chart menampilkan dua pandangan yang saling melengkapi tentang perilaku dinamis sistem. Interaction diagram menunjkan pesan-pesan yang dilewatkan diantara objek-objek didalam sistem selama periode waktu yang pendek. Sedangkan statechart diagram menelusuri individu-individu obyek melalui keseluruhan daur hidupnya, menspesifikasikan semua urutan yang mungkin dari pesan-pesan yang akan diterima objek tersebut, bersama-sama dengan tanggapan atas pesan-pesan tersebut. (Munawar : 2005 :73) Symbol UML untuk state transition diagram adalah segi empat yang tiap pojoknya dibuat rounded. Titik awalnya menggunakan lingkaran solid yang diarsir dan diakhiri dengan mata.

Gambar II 7 Simbol Statechart diagram State variabel seperti timer dan counter kadangkala sangat membantu. Aktivitas terdiri atas events dan action. Tiga hal yang sering dipakai disini adalah entri (apa yang terjadi ketika sistem masuk ke state), exit (apa yang terjadi ketika sistem meninggalkan state) dan do (apa yang terjadi ketika sistem ada di dalam state). Halhal lain bias ditambahkan jika perlu. Statechart diagram menampilkan state-state yang mungkin dari sebuah objek, event yang bias dideteksi dan respon atas event-event tersebut. Secara umum, pendeteksian sebuah event dapat menyebabkan sebuah obyek bergerak dari satu state ke state yang lain, hal ini disebut transition. (Munawar : 2005 :175)

II - 22

Didalam statechart di kenal istilah guard conditional yaitu bagian spesifikasi dari transition dan ditulis dengan sepasang kurung kotak [] sesudah nama event yang member label transition. State chart dapat menunjukan apa yang dilakukan oleh sebuah objek dalam merespon event tertentu. Hal ini ditunjukan dengan menambah action ke transition yang relefan pada diagram. Action ditulis setelah nama event dengan diawali tanda slash ( / ).

II.2.4. Sequence Diagram Sequence diagram digunakan untuk menggambarkan perilaku pada sebuah scenario.Diagram ini menunjukan sejumlah contoh obyek dan message (pesan) yang diletakan diantara obyek-obyek ini didalam use case. Komponen utama sequence diagram terdiri dari obyek yang dituliskan dengan kotak segiempat bernama. Pesan diwakili oleh garis dengan tanda panah dan waktu yang ditunjkan dengan progress vertical. Adapun komponen yang terdapat pada sequence diagram ialah sebagai berikut :

Obyek/Participant Obyek diletakan di dekat bagian atas diagram dengan urutan dari kiri ke kanan. Mereka diatur dalam urutan guna menyederhanakan diagram (istilah obyek hanya ada di UML satu, sedangkan di UML 2 istilah obyek diganti dengan pasticipant).

Setiap participant terhubung dengan garis titik-titik yang disebut lifeline.Sepanjang lifeline ada kotak yang disebut activation.Activation mewakili sebuah eksekusi operasi dari participant, panjang kotak ini berbanding lurus dengan durasi activation.

Gambar II 8 participant pada sequence diagram

II - 23

Message

Sebuah message bergerak dari satu participant ke participant yang lain dan dari satu lifeline ke lifeline yang lain. Sebuah participant bias mengirim sebuah message pada dirinya sendiri. Gambar II 9 massage pada sequence diagram

Time Time adalah diagram yang mewakili waktu pada arah vertical.Waktu dimulai dari atas kebawah, massage yang lebih dekat dari atas akan dijalankan terlebih dahulu di banding massage yang lebih dekat ke bawah. Dari penjelasan diatas Nampak bahwa sequence diagram menunjukan dua dimensi. Dimensi dari kiri kekanan menunjkan tata letak objek/participant dan dimensi dari atas kebawah menunjukan lintasan waktu.

II.2.5. Collaboration diagram Collaboration diagram adalah bentuk lain dari sequence diagram, bila sequence diagram diorganisir menurut waktu maka collaboration diagram diorganisir menurut ruang/space. Collaboration diagram merupakan asosiasi diantara objek objek,

panah didekat garis asosiasi menunjkan massage, sedangkan content massage ditunjukan dengan label. Angka pada massage menunjukan urutan massage.

Dengan collaboration diagram memungkinkan untuk memodelkan pengiriman sebuah massage ke banyak obyek pada class yang sama. Demikian juga hanlnya untuk menunjukan adanya obyek aktif yang mengendalikan aliran dari massage.

II - 24

II.2.6. Activity Diagram Activity Diagram adalah teknik untuk mendiskripsikan logika procedural, proses bisnis dan aliran kerja dalam banyak kasus. Activity Diagram mempunyai peran seperti halnya flowchart, akan tetapi perbedaannya dengan flowchart adalah activity diagram bias mendukung perilaku parallel sedangkan flow chart tidak bisa. (Munawar : 2005 :109) Activity diagram menunjukan apa yang terjadi, tetapi tidak menunjukan siapa melakukan apa. Dalam pemrograman hal tersebut tidak menunjukan class mana yang bertanggungjawab atas setiap action. Pada pemodelan proses bisnis, hal tersebut tidak bias menunjukan organisasni mana yang menjalankan sebuah aksi.

II.2.7. Deployment Diagram Deployment diagram menyediakan gambaran bagaimana sistem secara fisik akan terlihat. Sistem terdiri dari node-node dimana setiap node diwakili untuk sebuah kubus.Garis yang menghubungkan antara dua kubus menunjukan hubungan diantara kedua node tersebut. Tipe node berupa device yang berwujud hardware dan bisa juga prosesor (yang mengeksekusi component) atau execution environment (software yang menjadi host atau mengandung software yang lain)

Gambar II 10 lambang deployment diagram

II.2.8. Component Diagram Component software adalah bagian fisik dari sebuah sistem, karena menetap dikomputer, bukan dibenak para analis. Komponenn bisa berupa table, file, data, file exe, dan lain-lain (dynamic link), dokumen dan lain-lain. Component sangat

II - 25

berkaitan erat dengan interface, interface sendiri dalam UML adalah serangkaian operation yang menspesifikasikan perilaku sebuah class, interface bisa berwujud konseptual maupun fisik. Adapun bentuk-bentuk dari component ialah 1. Deployment component, yang menjadi basis dari executable sistem. File exe, ActiveX control, java bean dan lain-lain. 2. Work product Component; yaitu file-file yang dibutuhkan untuk pembuatan deployment component. Contoh untuk component kedua ini diantaranya file data, file source code dan lain lain. 3. Executable component, yang dibuat sebagai hasil dari sistem yang akan dijalankan (running sistem) Hal penting dari component adalah component mewakili potongan-potongan yang independen yang bisa dipesan dan diperbaharui sewaktu-waktu. II.2.9. Metodologi perancangan Model RAD Rapid Aplication Development (RAD) adalah sebuah model proses perkembangan perangkat lunak sekuensial lilier yang menekankan siklus perkembangan yang sangat pendek. Model RAD ini merupakan sebuah adaptasi kecepatan tinggi dari model sekuensial linier dimana perkembangan cepat dicapai dengan menggunakan pendekatan konstruksi berbasis komponen. Jika kebutuhan dipahami dengan baik proses RAD memungkinkan tim

pengembangan menciptakan sistem fungsional yang utuh dalam periode waktu yang sangat pendek (kira-kira 60 sampai 90 hari).

II - 26

Pemodelan bisnis Pemodelan Data Pemodelan Proses Pembentukan aplikasi

Pengujian dan turnover

Gambar II 11 Model RAD

Business modeling Aliran informasi diantara fungsi-fungsi bisnis dimodelkan dengan suatu cara untuk menjawab pertanyaan-pertanyaan berikut informasi apa yang mengendalikan proses bisnis? Informasi apa yang dimunculkan? Siapa yang memunculkannya?kemana informasi itu pergi?

Data modeling Aliran informasi yang didefinisikan sebagai bagian dari fase business modeling disaring kedalam serangkaian objek data yang dibutuhkan untuk menopang bisnis tersebut.Karakteristik (disebut atribut) masing-masing objek didefinisikan dan hubungan antara objek-objek tersebut didefinisikan.

II - 27

Prosess modeling Aliran informasi yang didefinisikan didalam fase data modeling ditransformasikan untuk mencapai ailran informasi yang perlu bagi implementasi sebuah fungsi bisnis.Gambaran pemrosesan diciptakan untuk menambah, memodifikasi,

menghapus, dan mendapatkan kembali sebuah objek data.

Application generation RAD mengasumsikan pemakaian teknik generasi ke empat. Selain menciptakan perangkat lunak dengan menggunakan bahasa pemrograman generasi ketiga yang konvensional, RAD lebih banyak memproses kerja untuk memakai lagi komponen program yang ada (pada saat memungkinkan) atau menciptakan komponen yang bias dipakai lagi (bila perlu). Pada semua kasus, alat-alat bantu otomatis dipakai untuk memfasilitasi konstruksi perangkat lunak.

Testing dan Turnover Karena proses RAD menekankan pada pemakaian kembali, banyak komponen program telah diuji. Hal ini mengurangi keseluruhan waktu pengujian. Tetapi

komponen baru harus diuji dan semua interface harus dilatih secara penuh. Seperti semua proses model yang lain. Pendekatan RAD memiliki kekurangan : 1. Bagi proyek yang besar tetapi berskala, RAD memerlukan sumber daya manusia yang memadai untuk menciptakan jumlah tim RAD yang baik. 2. RAD menuntut pengembang dan pelanggan memiliki komitmen di dalam aktivitas rapid-fire yang diperlukan untuk melengkapi sebuah sistem, didalam kerangka waktu yang sangat terpendek. Jika komitmen tersebut tidak ada dari tiap konstituen, proyek RAD gagal.

You might also like