PROYEK AKHIR
RANCANG BANGUN SISTEM LELANG ONLINE
SULISTYAWAN YAHYA NRP. 7406.030.174
DOSEN PEMBIMBING : WIRATMOKO YUWONO, ST NIP. 19791121.200501.1.003
NUR ROSYID MUBTADA’I, S.KOM NIP. 19740718.200112.1.001
JURUSAN TEKNIK INFORMATIKA KONSENTRASI TEKNIK KOMPUTER DAN JARINGAN POLITEKNIK ELEKTRONIKA NEGERI SURABAYA INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA - 2010
PROYEK AKHIR
RANCANG BANGUN SISTEM LELANG ONLINE
SULISTYAWAN YAHYA NRP. 7406.030.174
DOSEN PEMBIMBING : WIRATMOKO YUWONO, ST NIP. 19791121.200501.1.003
NUR ROSYID MUBTADA’I, S.KOM NIP. 19740718.200112.1.001
JURUSAN TEKNIK INFORMATIKA KONSENTRASI TEKNIK KOMPUTER DAN JARINGAN POLITEKNIK ELEKTRONIKA NEGERI SURABAYA INSTITUT TEKNOLOGI SEPULUH NOPEMBER SURABAYA - 2010
RANCANG BANGUN SISTEM LELANG ONLINE Oleh: SULISTYAWAN YAHYA 7406.030.174
Proyek Akhir ini Diajukan Sebagai Salah Satu Syarat Untuk Menyelesaikan Program Pendidikan Diploma III di Politeknik Elektronika Negeri Surabaya Institut Teknologi Sepuluh Nopember Surabaya Disetujui oleh : Dosen Pembimbing :
Tim Penguji :
1. Isbat Uzzin Nadhori, S,Kom NIP. 197405052003121002
1. Wiratmoko Yuwono, ST NIP. 197911212005011003
2. Rengga Asmara, S.Kom NIP. 198105082005011002
2. Nur Rosyid Mubtada’i, S.Kom NIP. 197407182001121001
3. Idris Winarno, SST, M.Kom NIP. 198203082008121001 Mengetahui Ketua Jurusan Teknologi Informasi
Arna Fariza,S.Kom,M.Kom NIP. 197107081999032001
i
ABSTRAK Teknologi hadir untuk memberikan kemudahan-kemudahan terhadap suatu masalah yang dihadapi oleh masyarakat. Salah satu teknologi yang sangat banyak digunakan dan sangat populer saat ini adalah layanan internet. Kemajuan tersebut juga memberikan kemudahan bagi pelaku lelang, Karena secara umum, transaksi lelang dan transaksi jual beli produk dilakukan secara tradisional dimana para pembeli dan penjual atau pelaku lelang bertemu secara langsung dan melakukan transaksi terjadi pada saat itu. Hal ini mempunyai banyak kelemahan diantaranya adalah masalah waktu yang harus cocok antara pembeli dan penjual, jarak antara pembeli dan penjual yang mungkin sangat jauh sehingga membutuhkan biaya perjalanan dan kelemahan lainnya. Pada tugas akhir ini, dibuatlah suatu sistem lelang berbasis on line dengan menggunakan JSP dan database Oracle sehingga dapat memberikan informasi. Dalam sistem ini memiliki beberapa fasilitas yang dapat memudahkan pencarian informasi tentang barang yang ditawarkan , yang dicari dan barang dilelang. Dengan hasil konsep sistem ini, diharapkan masyarakat dapat memanfaatkan layanan apa saja yang ditawarkan tanpa harus datang langsung bertatap muka antara pelelang dan penawar,cukup dengan melihat melalui web yang tersedia.. KATA KUNCI : Aplikasi web, layanan lelang
ii
ABSTRACT Technology presents to give the ease towards a problem dealing with the community. One of technology that is the internet service. This progress also gives the ease for the prepetrators of the auction, because generally, the auction transaction and the trade transaction in the product carry out traditionally where the buyers and the sellers or the perpetrators of the auction meet directly and carry out the transaction at the time. This has many weaknesses including the problem of time that must be suitable between the buyer and the seller, the buyer's clearance and the seller that possibly very far so it needs travel expenses and some weaknesses.. In this final task, is made an auction system on line by using JSP and Oracle database that can provide information. Based system has some features that can make it easier to find information about the goods offered, sought and the goods auctioned. With the concept of this system, it is expected that the society can benefit from what services offered without having to come directly face to face between the auctioneer and the bidder, simply by looking through the available web. KEYWORDS: web applications, auction services
iii
KATA PENGANTAR
Syukur Alhamdulillah saya panjatkan kepada Allah SWT yang senantiasa melimpahkan rahmat dan hidayah-Nya sehingga dapat terselesaikannya Proyek Akhir ini yang berjudul : “RANCANG BANGUN SISTEM LELANG ONLINE” Proyek Akhir ini dibuat dengan maksud untuk memenuhi salah satu persyaratan guna menyelesaikan studi di Politeknik Elektronika Negeri Surabaya - Institut Teknologi Sepuluh Nopember. Dalam menyelesaikan Proyek Akhir ini, kami melaksanakan berdasarkan teori-teori yang telah kami peroleh dalam perkuliahan, literature dan bimbingan dari dosen pembimbing serta pihak-pihak lain yang telah banyak memberikan semangat dan bantuan. Penyusun sadar bahwasanya masih banyak kesalahan dan kekurangan dalam penyusunan buku laporan Proyek Akhir ini, untuk itu penyusun mohon maaf dan mengharapkan kritik dan saran guna penyempurnaan pada buku selanjutnya. Selain itu juga diharapkan pembaca dapat mengembangkan Proyek Akhir ini. Semoga buku ini memberikan manfaat dalam menghasilkan sumber daya manusia yang berkualitas.
Surabaya, Januari 2010
Penyusun
iv
UCAPAN TERIMA KASIH Selain itu, pada kesempatan yang baik ini, penulis ingin mengucapkan terima kasih kepada semua pihak yang telah membantu penulis dari awal hingga selesainya tugas akhir ini, antara lain : 1. Allah SWT. Alhamdulillah atas segala rahmat dan karuniaNya. Yang selalu membimbing dan memberikan petunjuk kepada kita semua . serta Nabi Muhammad SAW teriring sholawat serta salam atas Beliau dan keluarganya. 2. Ibu dan Bapak tercinta, terima kasih atas kasih sayang, dukungan dan do’anya yang tak pernah berhenti. Sanak saudara, bude pakde, bule paklek, sepupu, keponakan terima kasih atas bantuan do’anya dan bantuan materinya. Semoga Allah meridhoi. Amin. 3. Bapak Wiratmoko Yuwono, ST dan Nur Rosyid Mubtada’i, S.Kom selaku pembimbing yang telah sabar memberi bimbingan kepada kami dan terima kasih atas semuanya. 4. Dr. Ir. Dadet Pramadihanto, M.eng, P.hd selaku Direktur Politeknik Elektronika Negeri Surabaya – Institut Teknologi Sepuluh Nopember Surabaya. 5. Ibu Arna Fariza, S.Kom, M.Kom. selaku Kepala Jurusan Teknik Informatika PENS ITS. Terima kasih atas waktu dan pengarahan yang telah Ibu berikan. 6. Semua teman-teman sister Kediri dan Pak Chevy sekeluarga. 7. Seluruh teman-teman PJJ yang sudah lulus dan belum yang telah membantu proyek akhir ini. 8. Untuk Angin sekeluarga terima kasih bantuannya selama mengerjakan Tugas Akhir ini. Maaf selalu merepotkanmu dan keluargamu, Jasamu takkan aku lupakan kawan. 9. Dan semuanya untuk yang kenal dengan Sulistyawan Yahya 10. Yang terakhir untuk seluruh pihak yang tidak dapat saya sebutkan satu persatu, yang telah memberi dukungan, dan bantuan berupa materi maupun non materi atas berhasilnya proyek akhir ini. Harapan saya, semoga keihklasan dalam membantu hingga terselesaikannya proyek akhir ini mendapatkan balasan pahala dari Allah SWT. Amin.
v
DAFTAR ISI
LEMBAR PENGESAHAN ............................................................. i ABSTRAK ....................................................................................... ii ABSTRACT ..................................................................................... iii KATA PENGANTAR ...................................................................... iv UCAPAN TERIMA KASIH ............................................................ v DAFTAR ISI ................................................................................... vi DAFTAR GAMBAR........................................................................ viii DAFTAR TABEL ............................................................................ ix BAB I PENDAHULUAN 1.1 Latar Belakang................................................................ 1 1.2 Tujuan............................................................................. 2 1.3 Rumusan Masalah........................................................... 2 1.4 Batasan Masalah ............................................................ 2 1.5 Metodologi...................................................................... 2 BAB II TEORI PENUNJANG 2.1 Lelang Online ................................................................ 5 2.2 Pengenalan JSP .............................................................. 6 2.2.1 Arsitektur JSP ................................................................. 7 2.2.2 Web Container ............................................................... 8 2.2.3 Java Virtual Machine (JVM) .......................................... 8 2.2.4 Mengenal Tag Scriplet.................................................... 8 2.2.5 Mengenal Ekspresi JSP................................................... 9 2.2.6 Mengenal Direktif JSP.................................................... 9 2.2.7 Mengenal tag deklaratif .................................................. 13 2.2.8 Standard Action .............................................................. 13 2.2.9 Daftar obyek implisit ...................................................... 15 2.2.10 Variable Request............................................................. 16 2.2.11 Variable Respone............................................................ 17 2.2.12 Form dan pembacaan parameter ..................................... 17 2.3 JDBC .............................................................................. 17 2.4 Database Oracle .............................................................. 18 2.4.1 Sejarah Database Oracle ..................................................18 2.4.2 Arsitektur Oracle 10g........................................................ 20 2.5 Structured Query Language (SQL)................................... 21
vi
BAB III PERANCANGAN SISTEM 3.1. Desain Sistem..................................................................23 3.1.1 Blok Diagram Sistem ......................................................23 3.1.2 Data Flow Diagram .........................................................24 3.1.3 Flowchart Sistem.............................................................27 3.2 Desain Database .............................................................28 3.2.1 ERD ................................................................................28 3.2.2 Tabel-table yang digunakan ...........................................29 3.3 Perancangan Aplikasi Web .............................................32 3.3.1 Koneksi Database............................................................32 3.3.2 Desain Interface Halaman Utama....................................33 3.3.3 Desain Interface login ....................................................34 3.3.4 Desain Interface Registrasi..............................................35 3.3.5 Desain Interface Pendaftaran Barang Lelang ..................35 3.3.6 Desain Interface Detail Barang Lelang ...........................36 3.3.7 Desain Interface Tawar Barang Barang Lelang ..............37 BAB IV PENGUJIAN DAN ANALISA 4.1. Pengujian Sistem.............................................................39 4.1.1 Kategori Registrasi..........................................................39 4.1.2 Kategori Login ................................................................44 4.1.3 Kategori Jual Barang.......................................................45 4.1.4 Kategori Tawar Barang ...................................................47 BAB V PENUTUP 5.1 Kesimpulan .....................................................................53 5.2 Saran ...............................................................................53 DAFTAR PUSTAKA ......................................................................55 TENTANG PENULIS ...................................................................... 57 LAMPIRAN ..................................................................................... 59
vii
DAFTAR GAMBAR
Gambar 2.1 Arsitektur JSP.............................................................. 7 Gambar 2.2 Arsitektur Oracle 10g .................................................. 20 Gambar 3.1 Blok Diagram Sistem Lelang ...................................... 23 Gambar 3.2 DFD Sistem Lelang Online level 0 ............................. 24 Gambar 3.3 DFD Sistem Lelang Online level 1 ............................. 25 Gambar 3.4 DFD Sistem Lelang Online level 2 ............................. 26 Gambar 3.5 Flowchart Sistem ........................................................ 27 Gambar 3.6 CDM............................................................................ 28 Gambar 3.7 PDM............................................................................ 29 Gambar 3.8 Halaman Utama .......................................................... 33 Gambar 3.9 Halaman Utama Member ............................................ 34 Gambar 3.10 Desain Interface Login................................................ 34 Gambar 3.11 Desain Interface Pendaftaran ...................................... 35 Gambar 3.12 Desain Interface Pendaftaran Barang Lelang.............. 36 Gambar 3.13 Desain Interface Detail Barang Lelang ....................... 36 Gambar 3.14 Desain Interface Tawar Barang................................... 37 Gambar 4.1 Link Registrasi ............................................................ 40 Gambar 4.2 Form Registrasi ........................................................... 41 Gambar 4.3 Konfirmasi Registrasi.................................................. 42 Gambar 4.4 Pesan Konfirmasi ........................................................ 43 Gambar 4.5 Hasil Registrasi User................................................... 43 Gambar 4.6 Form Login User ......................................................... 44 Gambar 4.7 Halaman Utama Member ........................................... 44 Gambar 4.8 Form Jual Barang........................................................ 45 Gambar 4.9 Konfirmasi Jual Barang .............................................. 46 Gambar 4.10 Barang yang telah disimpan........................................ 46 Gambar 4.11 Menu daftar barang ..................................................... 47 Gambar 4.12 Halaman Detail Barang Lelang................................... 48 Gambar 4.13 Form Menawar Barang ............................................... 49 Gambar 4.14 Form Masukan Saldo ................................................. 50 Gambar 4.15 Tampilan Hasil masukan Saldo .................................. 50 Gambar 4.16 Konfirmasi Penawaran Barang ....................................51 Gambar 4.17 Menu Daftar Barang ....................................................52
viii
DAFTAR TABEL
Tabel 2.1 Tabel 2.2 Tabel 2.3 Tabel 3.1 Tabel 3.2 Tabel 3.3 Tabel 3.4 Tabel 3.5
Daftar Atribut Directive Page ..........................................12 Daftar Obyek Implisit ......................................................15 Variable request pada JSP................................................16 Daftar Tabel yang digunakan ...........................................30 Tabel Member ..................................................................30 Tabel Barang....................................................................31 Tabel Tawar Barang.........................................................31 Tabel Kategori .................................................................32
ix
Bab I Pendahuluan
BAB 1 PENDAHULUAN 1.1 LATAR BELAKANG Kemajuan teknologi informasi yang pesat serta potensi pemanfaatannya secara luas, membuka peluang bagi pengaksesan, pengelolaan, dan pendayagunaan informasi dalam volume yang besar secara cepat dan akurat. Kenyataan telah menunjukkan bahwa penggunaan media elektronik merupakan faktor yang sangat penting dalam berbagai transaksi internasional, terutama dalam transaksi perdagangan, salah satunya adalah lelang online. Bisnis lelang online melelang berbagai macam barang mulai dari lelang lukisan, lelang tanah, mobil bekas, perangko kuno, hingga perabotan rumah tangga, atau tanaman. Banyak sekali barang yang sering terjual pada lelang online terutama barang yang unik atau hanya ada 1, contohnya seperti lukisan, perhiasan, dll. Di Indonesia, pada saat ini pelelangan yang masih lebih digemari adalah pelelangan yang tradisional. Akan tetapi pelelangan yang masih tradisional ini sangat banyak kekurangannya, terutama dalam hal waktu. Untuk mengikuti lelang, peserta lelang baik itu pelelang ataupun pembeli harus datang ke balai lelang tempat di adakannya lelang pada saat jam buka saja. Tentu saja untuk mengikuti lelang ini peserta harus meluangkan waktu lebih untuk mengikuti lelang hingga usai. Lain halnya jika lelang dilakukan secara online, dari segi waktu jauh lebih efisien dibandingkan dengan lelang yang tradisional, karena pada lelang online ini peserta cukup menggunakan layanan internet saja untuk dapat melakukan pelelang, penawaran harga ataupun mencari barang lelang. Lelang online pun dapat melayani pelelangan atau penawaran harga barang lelang 24 jam dalam sehari Mengacu pada hal-hal tadi, penulis mencoba untuk membuat sebuah situs yang menyediakan jasa layanan pelelangan online, dimana nantinya situs ini akan membantu kebutuhan masyarakat untuk menjual barang lelang ataupun mencari barang lelang yang diinginkannya.
1
Bab I Pendahuluan
1.2 TUJUAN Tujuan dari proyek akhir ini adalah penentuan spesifikasi teknis dan non-teknis dari rancang bangun penggunaan internet untuk sistem lelang on line yang mungkin diimplementasi dengan pemenuhan keperluan sistem yang baik. Hasil dari proyek akhir ini diharapkan dapat memberi manfaat untuk memperoleh wawasan yang lebih luas tentang teknologi internet, yaitu tentang aplikasi web. Sehingga pada masa yang akan datang dapat diimplementasikan ke sistem yang nyata dan berguna bagi masyarakat.
1.3 RUMUSAN MASALAH Permasalahan yang diangkat dalam penerapan sistem ini adalah 1. 2.
Bagaimana cara untuk mempermudah member / user sehingga dapat melakukan proses penjualan, penawaran barangnya. Bagaimana cara untuk menarik minat pengguna internet dalam menjual dan membeli barang secara online.
1.4 BATASAN MASALAH Pada sistem ini permasalahan dibatasi pada : 1. 2. 3. 4.
Hanya member / user terdaftar saja yang dapat melakukan penjualan, penawaran barang. Setiap user boleh menawar barang lebih dari satu kali. Proses penawaran akan dibatasi oleh waktu dan saldo yang dimiliki oleh user. Pada sistem ini tidak terdapat fasilitas untuk melakukan pembayaran/ bertransaksi uang secara online.
1.5 METODOLOGI Sistematika studi ini dibagi menjadi beberapa bab bahasan
yang
meliputi :
BAB I Pendahuluan Membahas tentang latar belakang, tujuan, rumusan masalah, batasan masalah dan metodologi.
2
Bab I Pendahuluan
BAB II Teori Penunjang Berisikan teori teori yang menunjang pengerjaan proyek akhir. BAB III Perencanaan dan Pembuatan Berisikan desain sistem tentang Lelang Online, seperti alur sistem, daftar tabel beserta fungsinya, relasi antar table, serta desain user interface. BAB IV Pengujian dan Evaluasi Pengujian sistem untuk mengetahui tingkat kesuksesan proyek akhir ini BAB V Penutup Dalam bab ini berisi kesimpulan dan saran yang diharapkan dapat mengembangkan proyek akhir ini lebih baik lagi. Daftar Pustaka Berisi tentang referensi yang digunakan penulis untuk menyelesaikan proyek akhir ini. Sehingga memudahkan dalam pengerjaannya.
3
Bab I Pendahuluan
---Halaman ini sengaja dikosongi---
4
Bab II Teori Penunjang
BAB II TEORI PENUNJANG 2.1 LELANG ONLINE Pengertian lelang adalah suatu proses dari membeli dan menjual barang dengan menawarnya. Barang akan dijual kepada penawar yang menang. Jauh sebelum penggunaan Internet, lelang telah banyak digunakan di berbagai negara. Selama ada barang dan ada yang berminat, lelang selalu dapat terjadi. Apa saja barang yang dapat dilelang? Disadari atau tidak, hampir semuanya dapat dilelang. Tentu tidak asing dengan pelelangan benda-benda yang sering menjadi incaran kolektor seperti perangko, uang kuno, lukisan, dan lain sebagainya. Tetapi tidak hanya itu, bahkan barang berupa rumah, peternakan, tanah, ataupun service, juga merupakan suatu jenis lelang yang cukup banyak terjadi. Pada intinya, lelang merupakan suatu model bisnis di mana pelakunya mengumpulkan barang dan mengharapkan permintaan yang tinggi dari peminat barang-barang tersebut. Pada lelang konvensional, dapat dibayangkan proses lelang sebagai berikut, para peminat berkumpul di sebuah gedung (atau gudang, rumah, lapangan, dan lainlain). Barang disodorkan di depan secara bergantian, para peminat saling berlomba menawar dengan harga yang semakin lama semakin tinggi, hingga akhirnya didapatkan sebuah harga tertinggi. Dengan ketukan palu, maka barang berpindah tangan kepada penawar tertinggi tersebut. Dengan maraknya teknologi Internet, cepat atau lambat maka akan terwujud lelang online, yang menawarkan keuntungan-keuntungan antara lain sebagai berikut: 1. Tidak Terbatas oleh Waktu. Dengan lelang online, dapat melakukan penawaran kapanpun Anda mau, 24 jam sehari dan 7 hari seminggu. 2. Tidak Terbatas oleh Tempat. Tidak perlu melihat wajah saingan-saingan yang ikut menawar item favorit, karena bisa jadi mereka berdiri pada benua yang berbeda, tentunya selama tempat tersebut terjangkau Internet. 5
Bab II Teori Penunjang
3. Jumlah Penawar yang Besar. Jika seluruh penawar pada sebuah website lelang online yang besar (misalnya eBay) dikumpulkan menjadi satu, rasanya tidak akan ada tempat yang nyaman untuk menampung mereka semua. Sementara semakin banyak penawar, maka itulah yang diharapkan oleh pengelola lelang. Lelang online menyediakan ruang yang cukup sekalipun semua manusia di dunia berpartisipasi. 4. Jumlah Penjual yang Besar. Dengan adanya jumlah penawar yang besar, tentunya juga memicu penjual untuk memasang barangnya, tentunya ini harus didukung oleh kemudahan-kemudahan yang disediakan pada website yang bersangkutan. 5. Jaringan Ekonomi. Dengan adanya jumlah penawar yang besar, akan memicu lebih banyak penjual, demikian juga sebaliknya. Hal ini akan menimbulkan siklus ekonomi permintaan dan persediaan, menjadikan sebuah sistem yang berguna bagi pesertanya
2.2 PENGENALAN JSP 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 yang disisipkan. JSP merupakan suatu teknologi web berbasis bahasa pemrograman Java dan berjalan di platform java, serta merupakan bagian teknologi J2EE (Java 2 Enterprise Edition). JSP sangat tangguh dan sesuai untuk menangani presentasi di web. 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. Makanya pada saat user membuat pertama kali atau melakukan modifikasi halaman dan mengeksekusinya pada web browser akan memakan sedikit waktu sebelum ditampilkan. JSP dan Servlet bekerja dalam suatu lingkungan web container yang menyediakan koneksi dan service: sedangkan dan Servlet 6
Bab II Teori Penunjang
mengontrol presentasi data yang dihasilkan dari suatu proses untuk dikirimkan ke client. 2.2.1 Arsitektur JSP JSP merupakan bagian dari J2EE dan khususnya merupakan komponen web dari aplikasi J2EE secara keseluruhan. JSP juga memerlukan JVM (Java Virtua Machine) supaya dapat berjalan, yang berarti juga mengisyaratkan keharusan menginstal JVM di server, dimana JSP akan dijalankan. Selain JVM, JSP memerlukan web server yang disebut Web Container.
Gambar 2.1 Arsitektur JSP Tujuan dari adanya spesifikasi JSP dalam J2EE API adalah untuk menyederhanakan pembuatan halaman web yang bersifat dinamis, dengan cara memisahkan content dan presentasi dari halaman web tersebut. Pada saat JSP dipanggil oleh client melalui web browser, JSP tersebut akan di compile terlebih dahulu menjadi sebuah Servlet, kemudian hasilnya dikembalikan kepada client.
7
Bab II Teori Penunjang
2.2.2 Web Container Web container adalah service yang dijalankan oleh suatu Java Application Server khususnya untuk service yang kompatibel dengan dengan Servlet dan JSP. Selain menjadi service oleh Java Application Server, Web Container dapat berdiri sendiri. Contoh Web Container adalah Tomcat, ServletExec, Resin, Jrun, Blazix. Web Container juga dapat bekerja sama dengan web server, misalnya Tomcat dengan Apache, JRUN dengan IIS. 2.2.3 Java Virtual Machine (JVM) Sebelum menginstal Web Container sebagai prasyarat untuk menjalankan JSP, maka kita terlebih dahulu harus menginstal Java Virtual Machine. Java Virtual Machine adalah software yang berfungsi untuk menterjemahkan program Java supaya dapat dimengerti oleh Komputer. Untuk menginstal JVM kita memerlukan JDK (Java Development Kit) karena kita memerlukan class-class API untuk development. 2.2.4
Mengenal Tag Scriplet
Tanda <%%> menyatakan salah satu tag JSP yang dikenal dengan sebutan tag scriplet. Tag tersebut mengisyaratkan bahwa kode yang ada didalamnya adalah kode JSP. Di dalam tag tersebut sebenarnya anda bisa menuliskan pernyataan-pernyataan Java. Dalam hal ini setiap pernyataan diakhiri dengan titik koma (;). Pernyataan adalah satu instruksi lengkap yang akan diproses oleh Java. Kode berikut: Out.print (“Selamat Belajar JSP”); Merupakan contoh sebuah pernyataan, yaitu untuk mengirimkan string yang menjadi argumen print() ke halaman web. Di dalam bahasa Java, pernyataan untuk menampilkan tulisan Selamat Belajar JSP yaitu System.Out.print (“Selamat Belajar JSP”); Namun pada penulisan kode JSP, kata system perlu dibuang. Dalam hal ini out merupakan suatu objek yang telah terdefinisi (disediakan oleh JSP). Selain menggunakan print(), kadangkala pemrogram JSP memakai println(). Perbedaan kedua metode ini :
8
Bab II Teori Penunjang
Print() tidak menambah baris baru (newline) pada keluaran, sedangkan. Println() menambahkan baris baru. Perbedaan kedua metode ini terletak pada kode HTML yang dibangkitkan dan bukan pada tampilan browser.
2.2.5 Mengenal Ekspresi JSP Hasil suatu ekspresi JSP dapat dijadikan sebagai keluaran pada halaman web dengan menggunakan bentuk tag yang bersifat khusus, yakni seperti berikut : <%= ekspresi Java%> Tanda <%= %> biasanya dinamakan tag ekspresi. Dalam hal ini semua ekspresi dikonversikan ke string (deretan karakter) dan disisipkan ke halaman web. Sebagai contoh : Waktu Sekarang : <%= new java.util.Data() %> Akan menambahkan string hasil : new java.util.Date() Di belakang string Waktu Sekarang. Perlu diketahui, new java.util.Date() merupakan ekspresi yang biasa digunakan pada pemrograman Java untuk mendapatkan waktu sekarang.
2.2.6 Mengenal Direktif JSP Directive adalah media yang digunakan JSP untuk mengirimkan “pesan” ke JSP container. Directive berguna untuk melakukan setting nilai global seperti deklarasi class atau method. Setting yang dilakukan oleh directive berlaku pada seluruh halaman (hanya halaman itu saja). Sintaks Directive Secara umum sintaks directive adalah sebagai berikut : <%@ nama_directive atribut1=”nilai1” atribut2=”nilai2” . . . %> Jenis Directive Directive pada JSP terdiri atas tiga jenis tentu saja dengan fungsi yang berbeda-beda. JSP memiliki tiga buah direktif : 9
Bab II Teori Penunjang
-
Page : digunakan untuk mendefinisikan atribut-atribut yang terdapat pada halaman JSP Include : digunakan untuk menyisipkan suatu berkas atau mengimpor suatu kelas. Taglib : digunakan untuk mendefinisikan tag-tag buatan pemrogram.
page directive Directive ini berfungsi untuk mendefinisikan atribut-atribut yang akan berlaku pada halaman tersebut. Sebagai contoh dengan menggunakan directive ini suatu halaman bisa diberikan informasi mengenai apa, meng-import package-package yang akan digunakan, menyatakan halaman tersebut terlibat dalam HTTP session, mendefinisikan URL yang akan ditampilkan apabila terjadi error pada halaman JSP tersebut dan lain-lain. Pada sebuah halaman JSP dapat berisi atas banyak page directive. Tanda yang digunakan untuk directive ini adalah : <%@ page atribut1 atribut2 . . . %> Atribut untuk tipe directive ini dapat dilihat pada contoh berikut : - Atribut language Atribut ini mendefinisikan bahasa pemrograman apa yang digunakan pada halaman tersebut. Atribut ini ada dikarenakan apabila dimasa yang akan datang JSP engine dapat men-support bahasa pemrograman lain. Berikut adalah contoh penggunaannya : <%@ page language=”java” %> - Atribut info Atribut ini hanya mendefinisikan informasi dari halaman. Dengan menggunakan atribut ini suatu aplikasi servlet dapat mengambil informasi tersebut dengan method Servlet.getServletInfo(). Berikut adalah contohnya : <%@ page info=”Ini adalah halaman JSP-nya Chocolove” %> - Atribut errorPage Atribut ini mendefinisikan URL yang akan ditampilkan apabila terjadi error pada halaman JSP tersebut. <%@ page errorPage=”error.jsp” %> 10
Bab II Teori Penunjang
- Atribut contentType Nilai default dari atribut ini adalah “text/html”. - Atribut session Menyatakan halaman tersebut terlibat dalam HTTP session. Apabila halaman JSP menggunakan directive page dengan atribut ini artinya halaman tersebut nantinya akan digunakan untuk mengakses atau memberikan nilai pada variabel yang disimpan pada session. <%@ page session=”true” %> isErrorPage dan isThreadSafe. Untuk penggunaan atribut tentu saja tidak harus dituliskan satu-satu seperti contoh di atas, tapi dapat disatukan sekaligus, seperti contoh berikut : <%@ page language=”java” import=”java.sql.*, java.io.*, java.util.*” session=”true” buffer=”24kb” autoFlush=”true” info=”Contoh penggunaan Directive” errorPage=”error.jsp” isErrorPage=”false” isTreadSafe=”false” %> - include directive Directive ini berfungsi untuk menyisipkan isi dari suatu file dengan tipe teks pada suatu halaman JSP. Sintaks yang digunakan oleh directive ini adalah : <%@ include file="/namafile_yang_akan_disisipkan" %> Bisa dilihat pada directive ini mempunyai satu atribut yaitu file. URL dari file yang akan disisipkan harus diawali dengan tanda "/". Apabila yang akan disisipkan adalah file header.html maka penulisannya adalah : <%@ include file="/header.html" %> Sedangkan apabila file header.html berada dalam direktori "html-file" maka penulisannya menjadi sebagai berikut : <%@ include file="/html-file/header.html" %> - taglib directive Directive ini berfungsi untuk penggunaan tag-tag yang dibuat sendiri oleh user pada halaman JSP. Tag-tag tersebut biasanya disimpan dalam “tag library” dalam bentuk file yang dikompres (ZIP atau JAR). Dalam file yang dikompres tersebut terdapat class-class dalam suatu paket. Dan
11
Bab II Teori Penunjang
untuk memanggil atau mengoperasikan method atau properti dalam class tersebut digunakan directive ini. Sintaks dari directive ini adalah : <%@ taglib uri=”tag_library_URI” prefix=”tag_prefix” %> Atribut uri (Uniform Resource Identifier) berfungsi sebagai “tag library descriptor”. Dan atribut prefix berfungsi sebagai ID yang akan mempermudah “JSP Compiler” menentukan tag-tag dari “external library”. Tag-tag yang telah dikenali oleh “JSP Compiler” adalah jsp, jspx, java, javax, servlet dan sunw. Berikut adalah contoh tag dari “external library” : <%@ taglib uri="http://jakarta.apache.org/taglibs/application1.0" prefix="app" %>
Isi Atribut Pada contoh di atas, secara default tidak dapat dijalankan dan akan menampilkan pesan error. Karena “tag library” ini belum diinstall pada sistem. Tabel 2.1 Daftar atribut directive page
12
Bab II Teori Penunjang
2.2.7 Mengenal Tag Deklaratif Semua bahasa pemrograman menyediakan variable yang berfungsi untuk menyimpan suati nilai dan nilai yang ada di dalamnya dapat diubah sewaktu-waktu. Begitu halnya JSP, JSP menyediakan tag yang secara khususu ditujukan untuk melakukan pendeklarasian variable yang berlevel halaman. Variabel seperti ini akan dikenali di sepanjang halaman. Tag yang dimaksud dinamakan tag deklaratif. Tag ini berbentuk sebagai berikut : <%!.....%> Contoh mendeklarasikan variabel bernama buku yang bertipe string, dan variabel bernama harga bertipe int. <%! String buku; Int harga = 60000; %>
2.2.8 Standard Action Dengan JSP, anda bisa mengirimkan suatu nilai yang ditangani sebuah form kemudian nilai tersebut dikirim ke dokumen JSP. Standard Action adalah tag yang berfungsi untuk menjalankan suatu operasi yang spesifik, seperti : Memforward dari suatu halaman JSP ke halaman JSP yang lain. Menyisipkan suatu halaman / operasi pada halaman JSP dari halaman JSP yang lain. Penanganan Applet atau Java Bean pada suatu halaman JSP Standar action cara penulisannya mirip dengan aturan penulisan pada XML. Sintak dari Standard Action ini adalah : <jsp:nama_aksi atribut1 atribut2 .... /> Atau :
13
Bab II Teori Penunjang
<jsp:nama_aksi atribut1 atribut2 .... /> /* pada bagian ini bisa diisi dengan JSP Action yang lain */ Berikut adalah Standard Action yang terdapat dan dikenali oleh JSP: - param action (jsp:param) - forward action (jsp:forward) - include action (jsp:include) - plugin action (jsp:plugin) - use bean action (jsp:useBean) - set property action (jsp:setProperty) - get property action (jsp:getProperty) jsp:param Standar Action ini berfungsi untuk mendefinisikan suatu variabel dan nilainya. Sintak yang digunakan adalah : <jsp:param name="nama_parameter" value="nilai_parameter" />
jsp:forward Fungsi dari Standar Action ini adalah untuk mengirimkan (memforward) suatu permintaan dari suatu halaman JSP ke halaman JSP yang lain, halaman HTML atau Servlet yang masih berada pada konteks aplikasi web tersebut. Misalnya pada server.xml dikonfigurasi suatu konteks aplikasi web sebagai berikut : Maka halaman JSP pengirim dan HTML, JSP atau servlet penerima harus berada pada satu direktori yaitu C:\JSP. Sintaknya : <jsp:forward page="url_tujuan" /> Atau : <jsp:forward page="<%= url_tujuan %>" />
14
Bab II Teori Penunjang
Atau : <jsp:foward page="url_tujuan"> <jsp:param name="nama_parameter1" value="nilai_parameter" /> <jsp:param name="nama_parameter2" value="<%= nilai_parameter %>" />
2.2.9 Daftar Objek Implisit JSP menyediakan sejumlah objek yang dikenal dengan sebutan objek implicit (implicit object) atau terkadang disebut variable terdefinisi (predefined variable). Tabel 2.2 Daftar obyek implicit (variable terdevinisi) pada JSP Objek Keterangan Request
Variabel ini berhubungan dengan objek permintaan HTTP (HTTPServletRequest). Variabel ini memungkinkan pengaksessan seperti parameter-parameter permintaan, tipe permintaan (GET atau POST), dan judul HTTP
Response
Variabel ini berhubungan dengan objek tanggapan terhadap klien (HTTPServletResponse). Antara lain dapat digunakan untuk menciptakan cookie. Variabel ini digunakan untuk mengirim keluaran ke klien. Bisa digunakan dalam bentuk out.println() atau out.print() Variabel ini digunakan untuk menangani sesi
Out
Session
15
Bab II Teori Penunjang
Application
ServletContext
Config
Merupakn variable yang merujuk ke objek ServletConfig untuk halaman sekarang. Menyimpan informasi tentang objek halaman sekarang.
pageContext Page
Merupakan sinonim dari this. Menyatakan halaman JSP.
2.2.10 Variabel Request Beberapa metode yang terdapat pada variabel request dapat dilihat pada tabel berikut:
Tabel 2.3 Variable request pada JSP Metode
Keterangan
getParameter(String nama)
Memperoleh nilai parameter nama dengan hasil bertipe String. Kalau parameter nama tidak tersedia, maka hasilnya berupa null.
getParameterNames()
Menghasilkan suatu Enumeration yang berisi nama-nama parameter yang terdapat pada permintaan.
getProtocol()
Menghasilkan suatu string yang menyatakan nama dan versi protokol yang digunakan untuk melakukan permintaan.
getRemoteAddr()
Menghasilkan suatu string yang menyatakan alamat IP klien yang mengirimkan permintaan
16
Bab II Teori Penunjang
getRemoteHost()
Menghasilkan suatu string yang menyatakan nama host milik klien yang mengirimkan permintaan.
getScheme()
Menghasilkan suatu string yang menyatakan skema yang digunakan untuk melakukan permintaan (misalnya http,https,atau ftp)
getServerName()
Menghasilkan nama server yang melakukan permintaan. Menghasilkan bilangan bertipe int yang menyatakan nomor port yang menerima permintaan.
getServerPort()
2.2.11 Variabel Response Fungsi metode variabel response sangat bervariasi, antara lain digunakan untuk cookie, menambah judul tanggapan, mengubah judul tanggapan, mengirim suatu kode tanggapan kesalahan atau mengalihkan ke suatu URL yang lain.
2.2.12 Form dan pembacaan parameter Form Form sangat penting untuk mendapatkan informasi penting dari user sebuah website. Pada contoh berikut ini kita membuat form sederhana untuk survey warna kesukaan user dan mengambalikan nilainya ke user. Langkah pertama, buat entry form html . form html tersebut akan mengirimkan ke form.jsp untuk diproses. Membaca parameter dari HTML form. Parameter dari HTML Form dapat dibaca melalui interaksi dengan obyek HttpServletRequest, yaitu dengan menggunakan method getParameter(). Sebagai contoh : String name = request.getParameter("NAME"); String sex = request.getParameter("SEX"); String email = request.getParameter("EMAIL");
17
Bab II Teori Penunjang
2.3 JDBC JDBC adalah suatu nama trademark, bukan sebuah singkatan. Walaupun demikian, JDBC sering dikira singkatan dari “Java Database Connectivity”. JDBC API terdiri atas sejumlah class dan standart sebagai alat bantu bagi pembuat program (developer) dan memberikan kemungkinan untuk menulis aplikasi database dengan menggunakan semua JAVA API. JDBC API memudahkan untuk mengirim statement SQL ke sistem database relasional dan mendukung bermacam macam dialek SQL. JDBC 2.0 lebih dari sekedar SQL, ia memiliki kemampuan untuk berinteraksi dengan sumber data yang lain, seperti file yang berisi data tabular. Keuntungan menggunakan teknologi JDBC diantaranya adalah sebagai berikut : Mempertahankan data enterprise yang telah ada Dengan teknologi JDBC, aplikasi tidak terpaku pada arsitektur tertentu, dapat terus mrnggunakan database yang telah terpasang dan dapat mengakses informasi dengan mudah. Menyederhanakan development enterprise Kombinasi Java API dan JDBC API menjadikan pembuatan aplikasi lebih mudah dan ekonomis. JDBC menyembunyikan kompleksitas tugas-tugas akses data sehingga programmer tidak perlu mengetahui apa yang terjadi di belakang layar. JDBC API mudah untuk dipelajari, dan tidak mahal dalam pemeliharaan. Tidak perlu konfigurasi pada jaringan komputer Dengan JDBC API, tidak ada konfigurasi yang diperlukan pada sisi klien. Dengan driver yang ditulis dalam bahasa pemrograman Java, semua informasi yang diperlukan untuk membuat koneksi didefinisikan oleh JDBC URL atau oleh sebuah objek DataSource yang diregistrasi dengan JDNI (Java Naming and Directory Interface). Akses penuh ke metadata Dengan JDBC API menyediakan akses metadata sehingga aplikasi yang memerlukan fasilitas dan kapibilitas dari koneksi database tertentu dapat dibangun dangan lebih baik. Koneksi database menggunakan URL
18
Bab II Teori Penunjang
Teknologi JDBC memakai keunggulan standart internet yaitu URL (Uniform Resource Locator) untuk mengidentifikasikan koneksi database. 2.4 Database Oracle Database oracle adalah database server dengan model RDBMS (relational database management system). Sebagai server, oracle bertugas melayani permintaan client atau proses untuk mengunakan sumber daya database seperti data dan memori dan proses server. Database ini dapat dipandang sebagai container yang berisi berbagai objek. 2.4.1 Sejarah Database Oracle Database oracle adalah produksi dari Oracle Corporation, sebuah perusahaan computer raksasa yang saat ini bermarkas di Redwood, California. Database Oracle dimulai pada tahun 1977 ketika Larry Ellison melihat peluang bagus yang belum dimanfaatkan oleh perusahaan-perusahaan saat itu, bersama dua temannya Bob Miner dan Ed Qates, mendirikan sebuah perusahaan bernama Relational Software Incorporated dan mulai membuat prototype sebuah relational database menggunakan bahasa C. Tahun 1979 versi pertama keluar dengan menyertakan interface SQL untuk berinteraksi dengan database. Tahun 1983 nama perusahaan berubah menjadi Oracle Corporation, dengan mengeluarkan oracle versi ketiga. Tahun 1984 diluncurkan database versi ke empat, yang telah mendukung beberapa system operasi saat itu. Selanjutnya perkembangan terus dilakukan sesuai dengan kemajuan teknologi computer. Pada versi yang ke delapan yang dipasarkan sejak tahun 1998, Oracle mulai mengadopsi konsep orientasi objek (object oriented). Konsep orientasi objek pada database sedikit berbeda dengan konsep yang dikenal pada pemprograman. Pada perkembangan selajutnya pada versi ke delapan ini, Oracle memperkenalkan fitur-fitur baru yang dikenal dilingkungan internet sehingga mereka membubuhkan huruf ”i” yang merupakan huruf awal ”internet”. Dan sampai sekarang Oracle telah mengeluarkan versi ke 10gi.
19
Bab II Teori Penunjang
2.4.2 Arsitektur Oracle 10g
Gambar 2.2 Arsiteltur Oracle 10g Secara umum komponen DBMS Oracle terdiri atas memory, proses, dan file-file. Lebih jauh lagi, komponen-komponen tersebut dikelompokkan sebagai berikut:
1. Instance - System Global Area (SGA): Merupakan penyangga/buffer memori dan terdiri dari beberapa komponen utama : Shared Pool – Berisi perintah SQL yang sering digunakan oleh user. Database Buffer Cache – Berisi data yang sering diakses oleh user. Redo Log Buffer – Menyimpan informasi transaksi yang dibutuhkan pada saat recovery (pemulihan) database. Java Pool - Menampung object java dan kode aplikasi ketika Oracle Java Virtual Machine digunakan. Large Pool 20
Bab II Teori Penunjang
2.
3.
- Menampung data untuk kegiatan besar seperti RMAN (Recovery Manager) backup n’ restore. Streams Pool - Menampung sekumpulan data yang berhubungan dengan antrian melakukan aksi ke database. - Proses-proses yang berjalan di Oracle 10g : PMON, SMON, DBWR, LGWR, CKPT, dan lain-lain Database - Datafile - Control file - Redo log file Komponen lain - process: Server Process, user process - memory: Program Global Area (PGA) - File: Archived log, parameter, dan password file
2.5 Structured Query Language (SQL) SQL merupakan singkatan dari Structured Query Language. dalam dunia database istilah query dapat diartikan “permintaan data”. SQL juga merupakan bahasa tingkat empat yang berfungsi menampilkan hasil atau melakukan sesuatu pada data yang kita inginkan. Saat ini SQL merupakan bahasa query standart di berbagai software database. Berbagai software database dapat diakses menggunakan bahasa SQL. Anda dapat mengunakan SQL di software database apapun. SQL merupakan bahasa standar yang digunakan untuk manipulasi dan memperoleh data dari sebuah basis data relasional. SQL dapat digunakan untuk hal sebagai berikut: a. Mengubah struktur basis data b. Mengubah pengaturan keamanan sistem c. Memberikan hak akses kepada user untuk mengakses basis data atau tabel d. Pembaharuan isi basis data e. Mendapatkan informasi dari basis data Perintah SQL dikelompokkan menjadi lima macam: 1. Data Definition Language(DDL) Adalah perintah SQL yang digunakan untuk menjelaskan objek dari basis data, dengan kata lain DDL digunakan untuk membuat 21
Bab II Teori Penunjang
kerangka basis data. Perintah yang digunakan pada DDL: a. CREATE: Digunakan untuk membuat objek database b. ALTER: Digunakan untuk memodifikasi bjek database c. DROP: Digunakan untuk menghapus objek database 2. Data Manipulation Language(DML) Adalah perintah yang digunakan untuk mengoperasikan atau memanipulasi isi basis data. Perintah yang digunakan pada DML: a. SELECT: Digunakan untuk mengambil data dari basis data b. INSERT: Digunakan untuk menambahkan data ke dalam basis data c. DELETE: Digunakan untuk menghapus data pada database d. UPDATE : Digunakan untuk memodifikasi data pada basis data 3. Security Adalah perintah yang digunakan untuk menjamin keamanan data, yang terdiri atas: a. GRANT:Digunakan untuk memberi akses kepada pengguna tertentu untuk mengakses ke database. b. REVOKE : Digunakan untuk mencabut hak pengguna mengakses database 4. Integrity Adalah perintah yang digunakan untuk menjaga kesatuan/integritas data, Misal: RECOVER TABLE digunakan untuk memperbaiki tabel pada basis data. 5. Auxilliary Adalah perintah-perintah pelengkap atau tambahan, misal: RENAME dan UNLOAD.
22
Bab III Perancangan dan Pembuatan Sistem
BAB III PERANCANGAN DAN PEMBUATAN SISTEM Pada bab ini akan dijelaskan mengenai desain sistem aplikasi, perancangan database dan pembuatan aplikasi. Desain aplikasi itu sendiri ditujukan untuk memberikan gambaran secara umum terhadap aplikasi yang akan dibuat. Dengan desain aplikasi juga akan mempermudah untuk pengembangan lebih lanjut terhadap aplikasi yang dibuat. Web untuk Proyek Akhir ini menggunakan database Oracle10g dimana berfungsi sebagai media penyimpanan data atau informasi yang terkumpul dimana antara tabel tersebut saling berhubungan atau berelasi. Oleh karena Web ini bertujuan untuk memberikan informasi yang dinamis maka digunakan JSP(Java Server Pages) sebagai jembatan antara informasi yang akan dibuat dengan basis data yang ada. Untuk membuat aplikasi pada Proyek Akhir ini terlebih dahulu dilakukan pembuatan desain data, desain proses, serta desain antar muka. Desain data berguna untuk mengetahui data apa saja yang dibutuhkan dalam proses tersebut. Desain proses berguna untuk mengintegrasikan semua proses yang terjadi dalam aplikasi yang akan dibuat. Sedangkan desain antarmuka bertujuan untuk digunakan sebagai jembatan antara pengguna dengan sistem aplikasi yang dibuat, sehingga pengguna dapat mengoperasikan aplikasi yang dibuat. 3.1 DESAIN SISTEM 3.1.1 Blok Diagram Sistem Pada proyek akhir ini terlihat seperti pada gambar di bawah ini:
Admin
User
Web Gambar 3.1 Blok Diagram Sistem lelang 23
Bab III Perancangan dan Pembuatan Sistem
User melakukan login, setelah login user dapat melakukan beberapa hal diantaranya melakukan penjualan barang, penawaran barang, dan bertransaki terhadap barang yang dilelang. Admin selaku media penyedia jasa, bertugas untuk mengawasi dan mengontrol dalam setiap proses yang dilakukan oleh user. Setiap proses yang dilakukan oleh user akan disimpan dalam database web server dan admin bisa melihat informasi mengenai proses-proses yang dilakukan oleh user juga melalui database web server. 3.1.2 Data Flow Diagram (DFD) Data Flow Diagram menjelaskan proses–proses yang terjadi pada sistem penyedia jasa layanan pelelangan online dari hirarki diagram. Proses-proses yang terjadi pada sistem penyedia jasa layanan pelelangan online akan di gambarkan pada DFD di bawah ini:
registrasi user
1 sistem lelang online
melihat info user administrator
+ Gambar 3.2 DFD Sistem Lelang Online level 0 Pada gambar di atas proses yang terjadi adalah user harus melakukan registrasi jika ingin melakukan proses selanjutnya seperti melelang barang, menawar barang. Kemudian administrator melihat info tentang user, baik profil user, barang yang dilelang user, dan barang yang sedang ditawar oleh user.
24
Bab III Perancangan dan Pembuatan Sistem
Gambar 3.3 DFD Sistem Lelang Online level 1 Pada level 1 ini, user yang telah terdaftar bisa melakukan proses transaksi seperti melelang barang dan menawar barang tapi sebelumnya harus login terlebih dahulu. Ketika user memasukan username dan passwordnya, maka akan dicek di data user apakah username tersebut ada di database user, jika ada maka login berhasil, jika tidak dipastikan user belum registrasi.
25
Bab III Perancangan dan Pembuatan Sistem
Gambar 3.4 DFD Sistem Lelang Online level 2 Pada level 2 ini, setelah user login maka akan masuk ke proses melelang dan menawar barang. Saat proses melelang barang, semua informasi tentang barang akan disimpan di tabel barang. Sedangkan, jika user menawar barang maka semua informasi tentang menawar barang akan disimpan di tabel tawar barang.
26
Bab III Perancangan dan Pembuatan Sistem
3.1.3 Flowchart Sistem Flowchart menggambarkan aliran pada sistem lelang online ini. Start
No
Yes If login
If member
Login
No
Admin
Yes
Registrasi
Area Member
Jual barang
Tawar barang
Form Jual
Form Tawar
No
If logout Yes
End
Gambar 3.5 Flowchart Sistem Secara umum user yang ingin masuk ke dalam sistem harus memasukkan username dan password terlebih dahulu pada halaman login, apabila user yang masuk belum memilikinya, proses registrasi dapat dilakukan. Setelah user dapat masuk ke dalam sistem, user dapat melakukan jual barang dan tawar barang.
27
Bab III Perancangan dan Pembuatan Sistem
3.2 DESAIN DATABASE 3.2.1 Entity Relational Diagram (ERD) Dari data yang didapatkan, selanjutnya akan dilakukan analisa dan perancangan terhadap sistem yang akan di buat pada proyek akhir ini. Berikut ini gambar ERD konseptual: kategori id_kategori nama_kategori kategori
barang id_barang nama_barang des krips i_barang s tatus_barang lama_penaw aran gambar harga_aw al tgl_mulai tgl_akhir_penjualan
melelang_barang
member id_us er username pas s w ord email nama_lengkap alamat tahun_lahir jenis _kelamin kota kode_pos telepon jumlah_s aldo
barang_ditawar
taw ar_barang id_taw ar harga_penaw aran tgl_penaw aran
menawar_barang
Gambar 3.6 Perancangan secara konsep ( CDM ) Setelah dibuat desain Data Konseptual, selanjutnya dibuat Physical Data Model untuk membantu dalam pembuatan tabel seperti yang terlihat pada gambar 3.3 dibawah ini: 28
Bab III Perancangan dan Pembuatan Sistem
KATEGORI ID_KATEGORI numeric(10) NAMA_KATEGORI char(20)
ID_KATEGORI = ID_KATEGORI
BARANG
ID_USER = ID_USER
MEMBER ID_USER USERNA ME PASSWORD EMA IL NAMA_LENGKA P A LA MA T TAHUN_LA HIR JENIS_KELA MIN KOTA KODE_POS TELEPON JUMLAH_SA LDO
numeric(10) c har(50) c har(20) c har(20) c har(50) c har(50) numeric(4) integer numeric(6) numeric(30) numeric(30) numeric(13)
ID_BARA NG ID_KATEGORI ID_USER NAMA_BARANG DESKRIPSI_BARANG STA TUS_BA RA NG LAMA_PENA WA RA N GAMBA R HARGA _AWAL TGL_MULA I TGL_AKHIR_PENJUALA N
ID_BARANG = ID_BARANG
BARANG_DITA WA R ID_BARA NG numeric (10) ID_TAWAR numeric (10)
ID_USER = ID_USER
ID_TAWAR = ID_TAWAR
MENAWAR_BA RANG ID_USER ID_TAWAR
numeric(10) numeric(10)
numeric(10) numeric(10) numeric(10) char(50) char(1000) char(10) numeric(4) char(50) numeric(13) date date
TAWAR_BA RA NG ID_TAWAR numeric(10) HARGA _PENAWARAN numeric(13) TGL_PENAWARAN date
ID_TAWAR = ID_TAWAR
Gambar 3.7 Perancangan secara fisik ( PDM )
3.2.2 Tabel-tabel yang digunakan Skema database untuk aplikasi Lelang Online ini terdiri atas beberapa tabel yang saling berelasi, antara lain :
29
Bab III Perancangan dan Pembuatan Sistem
Tabel 3.1 Daftar tabel yang digunakan Nama Tabel Keterangan member Tabel untuk mengetahui user yang terdaftar di dalam sistem barang Tabel untuk mengetahui barang-barang ada di dalam sistem kategori Tabel untuk mengetahui jenis-jenis kategori barang yang tersedia dalam sistem Tawar_barang Tabel untuk melakukan proses penawaran terhadap suatu barang
Nama Field id_user username password email nama_lengkap jenis_kelamin tahun_lahir alamat kota kode_pos telepon jumlah_saldo
Tabel 3.2 Tabel Member Tipe Data Fungsi Number Untuk menyimpan Id_user Varchar2(30) Untuk menyimpan username Varchar2(20) Untuk menyimpan password Varchar2(30) Untuk menyimpan email Varchar2(50) Untuk menyimpan nama_lengkap Integer(2) Untuk menyimpan jenis_kelamin Number(4) Untuk menyimpan tahun_lahir Varchar2(50) Untuk menyimpan alamat Varchar2(40) Untuk menyimpan kota Number(6) Untuk menyimpan kode_pos Number(15) Untuk menyimpan telepon Number(13) Untuk menyimpan jumlah_saldo
30
Keterangan Primary Key
Bab III Perancangan dan Pembuatan Sistem
Nama Field Id_barang Nama_barang Harga_awal Deskripsi_barang Status_barang Id_kategori Lama_penawaran Gambar Tgl_akhir_penjualan Tgl_mulai Id_user
Nama Field Id_tawar Id_barang Tgl_penawaran Harga_penawaran Id_user
Tabel 3.3 Tabel Barang Tipe Data Fungsi Number Untuk menyimpan id_barang Varchar2(50) Untuk menyimpan Nama barang Number(13) Untuk menyimpan harga awal Varchar2(1000) Untuk menyimpan deskripsi barang Varchar2(20) Untuk menyimpan status barang Number Untuk menyimpan id kategori Number(2) Untuk menyimpan lama penawaran Varchar2(50) Untuk menyimpan gambar Date Untuk menyimpan tanggal akhir Date Untuk menyimpan tanggal mulai Number Untuk menyimpan id user Tabel 3.4 Tabel Tawar_barang Tipe Data Fungsi Number Untuk menyimpan id tawar Number Untuk menyimpan id barang Date Untuk menyimpan tanggal penawaran Number(13) Untuk menyimpan harga penawaran Number Untuk menyimpan id user
31
Keterangan Primay key
Foreign Key
Foreign Key
Keterangan Primary Key Foreign Key
Foreign Key
Bab III Perancangan dan Pembuatan Sistem
Nama Field Id_kategori Nama_kategori
Tabel 3.5 Tabel Kategori Tipe Data Fungsi Number Untuk menyimpan id kategori Varchar2(50) Untuk menyimpan nama kategori
Keterangan Primary Key
3.3 PERANCANGAN APLIKASI WEB Ada beberapa program yang sangat penting agar aplikasi Sistem Lelang online ini dapat berjalanan. Salah satu diantaranya adalah Koneksi database .
3.3.1 Koneksi Database Hal pertama yang perlu dilakukan adalah menghubungkan database dengan program sehingga pada nantinya program yang dijalankan dapat mengambil nilai-nilai dari database. Berikut adalah file koneksi.jsp yang digunakan sebagai koneksi ke database Oracle 10g. <%@ page import="java.sql.*" %> <% String status=null; //ResultSet rs=null; String ora="jdbc:oracle:thin:@localhost:1521:orcl"; Class.forName("oracle.jdbc.driver.OracleDriver"); Connection con=DriverManager.getConnection(ora,"onishuya","polergrino"); if (con==null) status = "Gagal"; else status = "Berhasil"; Statement st = con.createStatement(); %>
32
Bab III Perancangan dan Pembuatan Sistem
3.3.2 Desain Interface Halaman Utama Dalam sistem ini dibuat desain interface dengan menggunakan aplikasi Macromedia Dreamweaver MX dan bahasa pemrograman JSP dan database Oracle 10g. Berikut adalah desain interface untuk halaman utama :
Gambar 3. 8 Halaman Utama (index.jsp) Pada halaman utama terdapat menu login, daftar barang, jual barang dan panduan. Jika belum terdaftar sebagai member, maka menu daftar barang dan jual barang tidak dapat diakses, hanya menu panduan yang bisa diakses. Jika sudah terdaftar berarti sudah memiliki user untuk login, jika login berhasil akan muncul halaman member seperti gambar berikut :
33
Bab III Perancangan dan Pembuatan Sistem
Gambar 3.9 Halaman Utama Member 3.3.3 Desain Interface Login Interface Login ini digunakan untuk login user ke halaman member.
Gambar 3.10 Desain Interface Login 34
Bab III Perancangan dan Pembuatan Sistem
3.3.4 Desain Interface Registrasi Sistem Lelang ini bersifat keanggotaan jadi Interface Pendaftaran digunakan untuk melakukan pendaftaran bagi user yang belum menjadi member.
Gambar 3.11 Desain Interface Pendaftaran 3.3.5 Desain Interface Pendaftaran Barang Lelang Interface Pendaftaran Barang Lelang digunakan mendaftarkan barang lelang baru.
35
untuk
Bab III Perancangan dan Pembuatan Sistem
Gambar 3.12 Desain Interface Pendaftaran Barang Lelang 3.3.6 Desain Interface Detail Barang Lelang Interface Detail Barang Lelang digunakan untuk melihat barang lelang secara detail.
Gambar 3.13. Desain Interface Detail Barang Lelang 36
Bab III Perancangan dan Pembuatan Sistem
3.3.7 Desain Interface Tawar Barang Interface tawar barang digunakan untuk memasukkan nilai tawaran Anda.
Gambar 3.14 Desain Interface Tawar Barang Lelang
37
Bab III Perancangan dan Pembuatan Sistem
( Halaman ini sengaja dikosongkan )
38
Bab IV Pengujian dan Analisa
BAB IV PENGUJIAN DAN ANALISA 4.1 Pengujian Sistem Pada bab pengujian dan analisa ini akan dibahas mengenai pengujian dari perangkat lunak (software) yang dibuat. Hal ini bertujuan untuk mengetahui sejauh mana ketepatan eksekusi perangkat lunak yang telah dibuat serta tidak menutup kemungkinan mengatahui kelemahannya. Sehingga dari sini nantinya dapat disimpulkan apakah perangkat lunak yang dibuat dapat berjalan secara benar dan sesuai dengan kriteria yang diharapkan. Untuk pengujian terhadap aplikasi yang telah direncanakan akan dilakukan dimulai langkah-langkah berikut : Kategori Registrasi Kategori Login Kategori Jual Barang Kategori Tawar Barang 4.1.1 Kategori Registrasi Registrasi adalah proses dimana user mendaftarkan diri, untuk menjadi member/pelanggan. Setelah registrasi dengan mengisi form pendaftaran member dengan lengkap dan benar maka user akan mempunyai user name dan password yang nantinyaakan digunakan untuk login ke dalam sistem. Pada saat registrasi user harus mengisi Nama, alamat, tempat lahir, tanggal lahir,nomor telepon, email, username, password dan sebagainya. Sebelumnya user harus mengklik link tanda register pada halaman login.
39
Bab IV Pengujian dan Analisa
Gambar 4.1 Link Registrasi Jika link “Registrasi” Pada form login diatas kita klik, maka akan muncul form registrasi seperti gambar di bawah ini terdiri dari enam textbox yang pertama adalah textbox untuk menampung Id untuk login berikutnya dan yang kedua adalah textbox nama lengkap untuk menampung nama lengkap user, textbox ke tiga adalah textbox password untuk menampung password user, textbox yang ke empat yaitu textbox telepon untuk menampung telepon user, dan textbox ke lima yaitu textbox alamat untuk menampung alamat user.
40
Bab IV Pengujian dan Analisa
Gambar 4.2 Form Registrasi Setelah data diisi lengkap klik tombol KIRIM untuk mengecek hasil inputan, apakah sudah benar atau belum. Seperti gambar di bawah ini.
41
Bab IV Pengujian dan Analisa
Gambar 4.3 Konfirmasi Registrasi Jika sudah benar klik tombol Sudah Benar maka data akan disimpan dalam database tabel member. Dan jika di klik tombol OK maka akan memanggil form login.jsp.
42
Bab IV Pengujian dan Analisa
Gambar 4.4 Pesan Konfirmasi
Gambar 4.5 Hasil Registrasi user Jika berhasil proses registrasi maka di database oracle akan muncul username yang baru terdaftar. 43
Bab IV Pengujian dan Analisa
4.1.2 Kategori Login Form login user dapat di lihat seperti Gambar 4.6 dibawah ini, user bisa login jika username dan password sudah terdaftar di database, Pada form login bawah ini, setelah memasukkan username dan password kemudian klik “login” maka user akan dapat masuk kehalaman member.
Gambar 4.6 Form login user
Gambar 4.7 Halaman Utama Member 44
Bab IV Pengujian dan Analisa
Pada halaman utama member, terdapat beberapa menu diantaranya profilku, daftar barang, jual barang dan panduan. Menu profilku terdapat salah satu menu untuk melihat barang yang dilelang oleh user yang login. Pada menu daftar barang menampilkan daftar barang yang dilelang oleh user lainnya. Menu jual barang berfungsi sebagai form untuk menjual atau melelang barang kita. 4.1.3 Kategori Jual Barang Pada kategori menu Jual Barang ini adalah tempat user untuk menjual atau melelang barangnya. User mengisikan nama barang, kategori, deskripsi barang, status barang, lama penawaran, harga awal barang yang dilelang. Bentuk form jual barang seperti di bawah ini:
Gambar 4.8 Form Jual Barang Setelah form diisi secara lengkap, klik tombol kirim, maka data inputan akan diproses pada halaman konfirmasi lelang barang. Jika 45
Bab IV Pengujian dan Analisa
detail barang sudah benar klik tombol sudah benar. Di halaman ini tanggal mulai akan otomatis muncul sesuai dengan tanggal pada saat proses jual barang, demikian juga dengan tanggal akhir penjualan akan otomatis muncul. Tanggal akhir penjualan merupakan hasil penambahan lama penawaran dengan tanggal saat melelang barang.
Gambar 4.9 Konfirmasi Jual Barang Setelah data tersimpan di database maka barang yang telah tersimpan akan ditampilkan di halaman utama member. Seperti gambar berikut :
Gambar 4.10 Barang yang telah disimpan 46
Bab IV Pengujian dan Analisa
4.1.4 Kategori Tawar Barang Kategori ini terdapat di menu daftar barang pada halaman utama member, jika meng-klik menu daftar barang maka akan muncul seperti di bawah ini :
Gambar 4.11 Menu daftar barang Semua barang yang telah dilelang oleh user akan ditampilkan di daftar barang, tapi barang yang dilelang oleh user yang sedang login tidak akan bisa ditawar dan barang yang telah habis tanggal penawarannya tidak akan bisa ditawar walau masih ditampilkan. Jika ingin melihat barang secara detail silahkan klik pada nama barang. Maka akan ditampilkan detail barangnya seperti Gambar 4.12 di bawah ini. Tapi jika ingin langsung menawar barang tersebut silahkan klik Tawar pada kolom action.
47
Bab IV Pengujian dan Analisa
Gambar 4.12 Halaman Detail Barang Lelang Pada halaman detail barang lelang akan ditampilkan semua klasifikasi tentang barang lelang tersebut. Jika ingin langsung menawar barang silahkan klik link menawar barang. Maka yang ditampilkan ketika meng-klik link tersebut seperti Gambar 4.13 di bawah ini.
48
Bab IV Pengujian dan Analisa
Gambar 4.13 Form Menawar Barang Di form menawar barang ini, harus memasukkan nilai tawaran terhadap barang tersebut. Jika nilai tawaran kurang dari harga awal atau harga saat ini dan Anda tidak mempunyai saldo yang cukup maka tidak akan bisa melakukan proses penawaran. Jika anda belum mempunyai saldo silahkan mengisi saldo dengan meng-klik tulisan deposito. Maka akan tampil seperti gambar 4.14 dan gambar 4.15 di bawah ini:
49
Bab IV Pengujian dan Analisa
Gambar 4.14 Form masukan saldo
Gambar 4.15 Tampilan hasil masukan saldo
50
Bab IV Pengujian dan Analisa
Jika semua kriteria tersebut telah terpenuhi maka akan tampil seperti gambar 4.16 di bawah ini :
Gambar 4.16 Konfirmasi Penawaran Barang Selanjutnya tekan tombol sudah benar maka nilai tawaran akan dimasukkan ke dalam database. Untuk memastikan apakah nilai tawaran tersebut sudah masuk, bisa dilihat di menu daftar barang seperti gambar 4.17 berikut ini :
51
Bab IV Pengujian dan Analisa
Gambar 4.17 Menu Daftar Barang
52
Bab V Penutup
BAB 5 PENUTUP Pada bab-bab sebelumnya, yaitu dari bab II sampai dengan bab IV telah diuraikan bebrapa hal yang berhubungan dengan pembuatan aplikasi ini, mulai dari latar belakang, teori-teori penunjang, perancangan dan pembuatan aplikasi, sampai dengan implementasinya yang disertai uji coba dan analisa. Pada bab ini diuraikan beberapa hal yang dapat disimpulkan dari hasil-hasil pengujian aplikasi dan beberapa saran dengan harapan untuk lebih menyempurnakan perancangan yang telah dibuat. 5.1
Kesimpulan Dari hasil uji coba Proyek Akhir dengan judul : “ Rancang Bangun Sistem Lelang Online “ini, dapat diperoleh beberapa kesimpulan antara lain : 1. User harus terdaftar terlebih dahulu agar dapat melakukan transaksi meliputi jual barang dan tawar barang. 2. Mempermudah penawar dan pelelang untuk mendapatkan informasi barang lelang dan untuk memantau perubahan harga terbaru barang lelang 5.2
Saran Proyek akhir ini masih bisa dikembangkan lebih lanjut , beberapa saran untuk pengembangan diberikan berikut ini : 1. Aplikasi yang dibuat pada proyek akhir ini masih perlu untuk disempurnakan lagi. Misal pada proses autentikasi user maupun, memasukkan deposito. 2. Sistem pelelangan online ini dapat dikembangkan menjadi versi WAP agar informasi dapat di akses melalui ponsel.
53
Bab V Penutup
---- Halaman ini sengaja dikosongkan ----
54
DAFTAR PUSTAKA
[1] Noor Sahib Maricar, ”Oracle SQL Simplified”.Ekuator Digital Publishing, Jakarta 2005. [2] ____________. Modul Pemrograman Web JSP. PENSITS. [3] Informasi pada http://www.java.sun.com/jsp/ [4] Informasi pada http://www.oracle.com/ [5] Ridwan Sanjaya, Onno W. Purbo,”Membangun web dengan JSP”. PT Elex Media komputindo, Jakarta 2002
55
TENTANG PENULIS Nama Alamat
TTL Email Hobby Motto
: SULISTYAWAN YAHYA : Kelurahan Pakunden RT 21 RW 04 Kecamatan Pesantren Kota Kediri 64132 : Kediri, 2 Pebruari 1986 : [email protected] : Futsal, renang, bersepeda : Hidup adalah hari ini.
Riwayat Pendidikan : • TK Dharma Wanita Pakunden I • SDN Pakunden I • SMPN 3 Kediri • SMAN 5 Kediri • CCIT Kediri • D3 PENS-ITS
1991-1992 1992-1998 1998-2001 2001-2004 2005-2006 2006-2010
Penulis telah mengikuti seminar proyek akhir pada tanggal 27 januari 2010 sebagai salah satu syarat untuk memperoleh gelar Ahli Madya (A.Md).
56
LAMPIRAN File koneksi.jsp <%@ page import="java.sql.*" %> <% String status=null; //ResultSet rs=null; String ora="jdbc:oracle:thin:@localhost:1521:orcl"; Class.forName("oracle.jdbc.driver.Oracl eDriver"); Connection con=DriverManager.getConnection(ora,"onishuya ","polergrino"); if (con==null) status = "Gagal"; else status = "Berhasil"; Statement st = con.createStatement(); %> File index.jsp <%@include file="WEB-INF/jspf/header.jspf" %>