bab ii pembahasan masalah

45
BAB II PEMBAHASAN MASALAH 2.1 Gambaran Umum Aplikasi pendaftaran seminar ini merupakan suatu aplikasi nirkabel (Wireless Application) yang dapat digunakan untuk melakukan pendaftaran seminar secara online serta mendapatkan informasi mengenai kegiatan seminar di kampus melalui perangkat bergerak. Dengan mengadopsi teknologi J2ME, aplikasi ini ditujukan untuk cakupan pengguna yang luas, seperti handphone, selain itu teknologi J2ME dapat dijalankan pada perangkat yang berbeda dan yang sudah mendukung profile MIDP. Selain itu, untuk transmisi datanya menggunakan GPRS, dimana biaya yang dikenakan dihitung hanya berdasarkan jumlah byte yang dikirm dan diterima. Aplikasi ini ditujukan bagi mahasiswa, dimana nantinya mahasiswa dapat melihat jadwal seminar yang dibuka, serta langsung mendaftar melalui telepon genggam. Mekanisme penggunaan aplikasi ini sangatlah sederhana sehingga tidak menyulitkan mahasiswa dalam menggunakan aplikasi ini. Pada menu utama tersaji beberapa menu seperti jadwal, deskripsi seminar, daftar, 5

Upload: erlangga

Post on 16-Jun-2015

561 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: Bab II Pembahasan Masalah

BAB II

PEMBAHASAN MASALAH

2.1 Gambaran Umum

Aplikasi pendaftaran seminar ini merupakan suatu aplikasi nirkabel (Wireless

Application) yang dapat digunakan untuk melakukan pendaftaran seminar secara

online serta mendapatkan informasi mengenai kegiatan seminar di kampus melalui

perangkat bergerak. Dengan mengadopsi teknologi J2ME, aplikasi ini ditujukan

untuk cakupan pengguna yang luas, seperti handphone, selain itu teknologi J2ME

dapat dijalankan pada perangkat yang berbeda dan yang sudah mendukung profile

MIDP. Selain itu, untuk transmisi datanya menggunakan GPRS, dimana biaya yang

dikenakan dihitung hanya berdasarkan jumlah byte yang dikirm dan diterima.

Aplikasi ini ditujukan bagi mahasiswa, dimana nantinya mahasiswa dapat

melihat jadwal seminar yang dibuka, serta langsung mendaftar melalui telepon

genggam.

Mekanisme penggunaan aplikasi ini sangatlah sederhana sehingga tidak

menyulitkan mahasiswa dalam menggunakan aplikasi ini. Pada menu utama tersaji

beberapa menu seperti jadwal, deskripsi seminar, daftar, dan bantuan. Pada menu

jadwal, mahasiswa dapat melihat jadwal-jadwal seminar yang dibuka. Setelah

melihat jadwal seminar yang dibuka, mahasiswa dapat kembali ke menu utama atau

melalui menu yang tersedia pada form terebut untuk melakukan pendaftaran. Pada

form pendaftaran, ditampilkan form biodata mahasiswa yang harus diisi. Setelah

mendaftar, mahasiswa dapat melihat namanya pada menu mahasiswa yang

terdaftar.

5

Page 2: Bab II Pembahasan Masalah

2.2 Skema Transmisi Data

Gambar 2.1 Komponen Dasar Jaringan GPRS

“User sessions” terhubung dari mobile station (MS) ke Base Transceiver Sta-

tion (BTS), yang juga terhubung ke Base Station Controller (BSC). Kombinasi

fungsi dari BTS dan BSC sering dikenal sebagai Base Station Subsystem (BSS).

Dari sini, SGSN menyediakan akses ke GGSN, yang berperan sebagai gateway ke

“data network”. Kumpulan SGSNs dan GGSNs dalam jaringan GPRS dikenal seba-

gai GPRS Support Nodes (GSNs). Koneksi antara SGSN dan GGSN menggunakan

protokol yang disebut “GPRS Tunneling Protocol (GTP)”. Koneksi antara GGSN

dan PDN menggunakan Internet Protocol (IP). Untuk

memberikan “mobile sessions” sebuah IP address, GGSN menggunakan Dynamic

Host Configuration Protocol (DHCP). GGSN juga menggunakan server Remote

Dial-In User Service (RADIUS) untuk “authorisasi dan authentikasi “remote

users”. Servis DHCP dan RADIUS dapat dibuat di “global configuration level”

(GPRS DHCP & RADIUS commands).

6

Page 3: Bab II Pembahasan Masalah

2.3 Alur Program

2.3.1 Alur Program Aplikasi

Gambar 2.2 Alur Program Aplikasi

Melalui alur di atas, pertama user memilih menu yang sudah disediakan di

aplikasi seperti menu jadwal, deskripsi dan komentar, daftar, kalender akademik,

mahasiswa terdaftar, bantuan, dan keluar. Jika user memilih menu jadwal, maka

aplikasi akan menampilkan jadwal seminar yang dibuka pada form jadwal seminar.

Untuk mengetahui detail dari suatu seminar, user dapat memilih menu

deskripsi dan komentar, sebelumnya user harus memasukkan id seminar.

Selanjutnya aplikasi akan terhubung ke internet dan menampilkannya pada form

deskripsi dan komentar. Jika user ingin meninggalkan komentar, user dapat

memasukkan npm beserta komentar yang ingin ditinggalkan pada kotak teks

kosong.

Apabila ingin dilakukan pendaftaran, user dapat memilih menu daftar. Pada

menu daftar user harus memasukkan id seminar, npm, nama, kelas, dan jenjang.

Setelah terisi dan mengirimkan datanya, aplikasi akan menampilkan laporannya.

7

Page 4: Bab II Pembahasan Masalah

Untuk melihat daftar mahasiswa yang sudah terdaftar, user dapat mengakses

menu mahasiswa terdaftar dimana sebelumnya harus memasukkan id seminar.

Selanjutnya aplikasi akan terhubung ke internet dan menampilkannya pada form

mahasiswa terdaftar.

Apabila mengalami kesulitan dalam penggunaan aplikasi tersebut, user dapat

mengakses menu bantuan. Dan jika sudah selesai, user dapat keluar dari aplikasi

melalui menu keluar.

2.4 Struktur Navigasi

2.4.1 Struktur Navigasi Aplikasi

Gambar 2.3 Struktur Navigasi Aplikasi

Perancangan sistem navigasi merupakan langkah untuk memberikan

visualisasi kepada perancang program agar mempermudah membuat alur

program ketika program tersebut dijalankan. Pertama kali program

dijalankan, aplikasi akan menampilkan layar splash screen selama 5 detik,

kemudian aplikasi akan masuk ke menu utama. Pada menu utama terdapat 7

menu yaitu jadwal, deskripsi dan komentar, daftar, kalender akademik,

mahasiswa terdaftar, bantuan, dan keluar. Berikut penjelasan peran masing-

masing dari menu tersebut :

Pertama-tama untuk melakukan pendaftaran, user diharuskan

mengetahui id seminar dari seminar yang diselenggarakan melalui

menu jadwal. Menu jadwal digunakan untuk menampilkan jadwal

seminar yang dibuka.

8

Page 5: Bab II Pembahasan Masalah

Apabila ingin mengetahui latar belakang dari diadakannya seminar

tersebut, user dapat mengakses menu deskripsi dan komentar. Selain

dapat untuk melihat keterangan seminar, user juga dapat

meninggalkan komentar dari suatu seminar.

Jika sudah mengetahui id seminar yang ingin diiukuti, user dapat

langsung melakukan pendaftaran dengan mengakses menu daftar.

Selanjutnya user akan dihadapkan pada form pendaftaran, user

diharuskan mengisi kotak-kotak teks yang belum terisi sebagai

biodata pendaftar. Sesudah melakukan pendaftaran, aplikasi akan

menuju form hasil, yang merupakan laporan dari proses registrasi

yang sudah dilakukan user.

Menu kalender akademik digunakan untuk melihat jadwal atau

kalender kegiatan perkuliahaan.

Setelah melakukan pendaftaran, apabila ingin mengetahui nama-

nama mahasiswa yang sudah terdaftar, user dapat mengakses menu

mahasiswa terdaftar. Pada menu ini, aplikasi akan menampilkan

kotak teks kosong yaitu id seminar. Setelah terisi dan cocok dengan

yang ada pada database maka aplikasi akan menampilkan hasilnya

pada form selanjutnya.

Apabila user mengalami kesulitan dalam penggunaan aplikasi ini,

user dapat mengakses menu bantuan.

Terakhir, yaitu menu keluar, untuk keluar dari aplikasi.

9

Page 6: Bab II Pembahasan Masalah

2.5 Rancangan Database

2.5.1 Tabel Mahasiswa

Tabel mahasiswa digunakan sebagai daftar biodata mahasiswa yang

sudah atau melakukan pendaftaran seminar. Struktur tabel dapat dilihat

sebagai berikut :

create table mhs(

npm varchar(8) not null primary key,

nama varchar(30) not null,

tlp varchar(15) not null,

jur varchar(50) not null);

Tabel 2.1 Tabel Mahasiswa

Nama Field Tipe Data Not Null Keterangan

NPM varchar(8) not Null Primary Key

nama varchar(30) not Null

tlp varchar(15) not Null

jur varchar(50) not null

2.5.2 Tabel Pendaftar

Tabel pendaftar digunakan untuk menampung data mahasiswa yang

sudah melakukan pendaftaran seminar. Struktur tabel dapat dilihat sebagai

berikut :

create table pendaftar(

npm varchar(8) not null references mhs(npm),

id_seminar varchar(5) not null references

seminar(id_seminar));

Tabel 2.2 Tabel Pendaftar

Nama Field Tipe Data Not Null Keterangan

npm varchar(8) not null foreign key

10

Page 7: Bab II Pembahasan Masalah

id_seminar varchar(5) not null foreign key

2.5.3 Tabel Seminar

Tabel seminar digunakan untuk menyimpan keterangan suatu

kegiatan seminar seperti judul seminar, kuota pendaftaran, dan lain

sebagainya. Struktur tabel dapat dilihat sebagai berikut :

create table seminar(

id_seminar varchar(5) not null primary key,

nama varchar(255) not null,

tanggal Date not null,

biaya varchar(15) not null,

lokasi varchar(8) not null,

kuota int unsigned not null,

keterangan varchar(255) not null);

Tabel 2.3 Tabel Seminar

Nama Field Tipe Data Not Null Keterangan

id_seminar varchar(5) not null primary key

nama varchar(255) not null

tanggal Date not null

biaya varchar(15) not null

lokasi varchar(8) not null

kuota int unsigned not null

keterangan varchar(255) not null

2.5.4 Tabel Komentar

Tabel komentar digunakan untuk menampung semua komentar pada

suatu seminar. Struktur tabel dapat dilihat sebagai berikut :

create table komentar(

11

Page 8: Bab II Pembahasan Masalah

npm varchar(8) not null references mhs(npm),

id_seminar varchar(5) not null references

seminar(id_seminar)

komentar varchar(255))TYPE=InnoDB;

Tabel 2.4 Tabel Komentar

Nama Field Tipe Data Not Null Keterangan

npm varchar(8) not null foreign key

id_seminar varchar(5) not null foreign key

komentar varchar(255) null

2.6 Rancangan Tampilan

2.6.1 Rancangan Tampilan Splash Screen

Gambar 2.4 Rancangan Tampilan Menu Splash Screen

Tampilan pertama ketika user menjalankan aplikasi, form splash screen

akan tampil selama 5 detik, kemudian user akan masuk ke dalam menu

utama.

2.6.2 Rancangan Tampilan Menu Utama

Tampilan berikut merupakan tampilan menu utama, dimana pada menu

utama ini terdapat daftar menu dalam bentuk list yaitu menu jadwal, menu

12

Page 9: Bab II Pembahasan Masalah

deskripsi dan komentar, menu daftar, menu kalender akademik, menu

mahasiswa terdaftar, menu bantuan, dan keluar.

Untuk melakukan pemilihan atas menu, terdapat tombol ‘PILIH’

yang akan memilih daftar menu yang dipilih user dan kemudian akan

menampilkan form baru berdasarkan daftar menu yang dipilih.

Gambar 2.5 Rancangan Tampilan Menu Utama

Berikut fungsi objek yang terdapat pada menu utama :

1. Ticker = animasi teks yang bergerak dari arah kanan ke kiri untuk

menampilkan informasi mengenai aplikasi ini.

2. List 0 = untuk menampilkan form jadwal seminar yang akan atau

sedang dibuka.

3. List 1 = untuk menampilkan form deskripsi dan komentar.

4. List 2 = untuk menampilkan form pendaftaran seminar.

5. List 3 = untuk menampilkan form kalender akademik.

6. List 4 = untuk menampilkan form mahasiswa yang sudah tedaftar.

7. List 5 = untuk menampilkan form bantuan.

8. List 6 = untuk keluar dari program.

9. Command (PILIH) = untuk melakukan pemilihan atas menu yang

dipilih.

13

Page 10: Bab II Pembahasan Masalah

2.6.3 Rancangan Tampilan Menu Jadwal

Tampilan berikut akan muncul jika user memilih menu jadwal. Pada

form ini aplikasi akan terkoneksi ke internet dan membaca respond data dari

server dan menampilkannya ke form. Untuk kembali ke menu utama,

terdapat tombol ‘KEMBALI’.

Gambar 2.6 Rancangan Tampilan Menu Jadwal

Berikut fungsi objek yang terdapat pada form ini :

Command (KEMBALI) = untuk kembali ke menu utama.

2.6.4 Rancangan Tampilan Menu Deskripsi dan Komentar

Pada Tampilan berikut, aplikasi akan menampilkan informasi

lengkap seperti latar belakang mengapa diadakannya seminar.

2.6.4.1 Rancangan Tampilan Masukkan ID

Tampilan berikut, merupakan tampilan awal pada menu deskripsi dan

komentar. Pada form ini, untuk mengetahui deskripsi dan komentar dari

suatu seminar, aplikasi meminta user untuk memasukkan id seminar. Jika

sudah terisi user dapat memilih tombol ‘OK’ untuk mengirim data ke

server. Setelah data terkirim, server akan memproses dan merespond data

tersebut ke aplikasi client. Pada aplikasi client, data yang direspond dari

server akan ditampilkan pada form deskripsi dan komentar.

14

Page 11: Bab II Pembahasan Masalah

Gambar 2.7 Rancangan Tampilan Masukkan ID

Berikut fungsi objek yang terdapat pada form ini:

1. TextField (id_seminar) = field teks untuk memasukkan id seminar.

2. Command (KEMBALI) = untuk kembali ke menu utama.

3. Command (OK) = untuk mengirim data ke server dan

menampilkan form deskripsi dan

komentar.

2.6.4.2 Rancangan Tampilan Form Deskripsi dan Komentar

Tampilan berikut akan tampil, jika user sudah memasukkan id

seminar dengan benar pada form sebelumnya. Pada form ini, aplikasi akan

menampilkan daftar komentar berdsarkan id seminar. Selain itu, apabila

user mempunyai pertanyaan, masalah atau komentar mengenai suatu

seminar, disediakan tombol isi komentar maka aplikasi akan menampilkan

form isi komentar.

15

Page 12: Bab II Pembahasan Masalah

Gambar 2.8 Rancangan Tampilan Deskripsi dan Komentar

Berikut fungsi objek yang terdapat pada form ini :

1. Command (Isi Kom..) = untuk menampilkan form isi

komentar

2. Command (KEMBALI) = untuk kembali ke form masukkan id.

2.6.4.3 Rancangan Tampilan Form Isi Komentar

Tampilan berikut akan tampil jika user memilih menu isi komentar

pada form sebelumnya. Pada form ini disediakan 2 textfield yaitu npm dan

komentar. Apabila sudah terisi kedua-duanya, user dapat memilih tombol

‘OK’ untuk mengirimnya ke server kemudian server akan menyimpannya

ke dalam database server.

Gambar 2.9 Rancangan Tampilan Form Isi Komentar

16

Page 13: Bab II Pembahasan Masalah

Berikut fungsi objek yang terdapat pada form ini :

1. TextField (npm) = area untuk mengisi npm.

2. TextField (komentar) = area untuk mengisi komentar.

3. Command (KEMBALI) = untuk menampilkan form masukkan

id.

4. Command (OK) = untuk mengirimkan data ke server

dan menampilkan form deskripsi dan

komentar.

2.6.5 Rancangan Tampilan Menu Daftar

2.6.5.1 Rancangan Tampilan Form Masukkan Biodata

Tampilan berikut merupakan tampilan awal dari menu daftar. Pada

form ini disediakan lima textfield yang harus diisi user sebagai biodata.

Lima textfield tersebut yaitu id_seminar, npm, nama, telepon, dan jurusan.

Gambar 2.10 Rancangan Tampilan Menu Daftar

17

Page 14: Bab II Pembahasan Masalah

Berikut fungsi objek yang terdapat pada form ini :

1. TextField (id_seminar) = area untuk mengisi id seminar.

2. TextField (npm) = area untuk mengisi npm.

3. TextField (nama) = area untuk mengisi nama.

4. TextField (kelas) = area untuk mengisi kelas.

5. TextField (jurusan) = area untuk mengisi jurusan.

6. Command (OK) = untuk

mengirim data ke server dan

menampilkan form laporan.

7. Command (KEMBALI) = untuk kembali ke menu utama.

2.6.5.2 Rancangan Tampilan Form Hasil

Tampilan berikut merupakan tampilan laporan hasil dari form

sebelumnya yaitu form masukkan biodata. Form ini berfungsi untuk

menampilkan laporan dari proses pendaftaran apakah itu berhasil atau

gagal.

Gambar 2.11 Rancangan Tampilan Form Laporan

Berikut fungsi objek yang terdapat pada form ini :

Command (KEMBALI) = untuk kembali ke menu utama.

18

Page 15: Bab II Pembahasan Masalah

2.6.6 Rancangan Tampilan Menu Kalender Akademik

Pada tampilan berikut akan tampil jika user memilih menu kalender

akademik. Pada form ini, aplikasi akan meminta data (request) pada server,

kemudian server akan memberikan (respond) data dan kemudian aplikasi

akan membaca data tersebut dan menampilkannya pada form.

Gambar 2.12 Rancangan Tampilan Form Kalender Akademik

Berikut fungsi objek yang terdapat pada form ini :

Command (KEMBALI) = untuk kembali ke menu utama

2.6.7 Rancangan Tampilan Menu Mahasiswa Terdaftar

2.6.7.1 Racangan Tampilan Masukkan Id Seminar

Pada tampilan berikut akan tampil jika user memilih menu

mahasiswa terdaftar. Pada form ini, disediakan field teks kosong dimana

mahasiswa diharuskan mengisi id_seminar untuk mengetahui nama-nama

mahasiswa yang sudah mendaftar seminar berdasarkan id seminar.

19

Page 16: Bab II Pembahasan Masalah

Gambar 2.13 Rancangan Tampilan Menu Mahasiswa Terdaftar

Berikut fungsi objek yang terdapat pada form ini :

1. TextField (id_seminar) = area untuk mengisi id seminar.

2. Command (KEMBALI) = untuk kembali ke menu utama

3. Command (OK) = untuk mengirim data ke server

dan menampilkan form laporan

2.6.7.2 Rancangan Tampilan Form Laporan

Tampilan berikut merupakan tampilan laporan hasil dari form

sebelumnya yaitu form masukkan id seminar pada menu mahasiswa

terdaftar. Form ini berfungsi untuk menampilkan laporan mahasiswa yang

sudah terdaftar berdasarkan id seminar.

20

Page 17: Bab II Pembahasan Masalah

Gambar 2.14 Rancangan Tampilan Form Laporan

Berikut fungsi objek yang terdapat pada form ini :

Command (KEMBALI) = untuk kembali ke menu utama

2.6.8 Rancangan Tampilan Menu Bantuan

Pada tampilan berikut akan tampil jika user memilih menu bantuan.

Form ini berfungsi untuk menampilkan tata cara penggunaan dari aplikasi.

Gambar 2.15 Rancangan Tampilan Menu Bantuan

Berikut fungsi objek yang terdapat pada form ini :

Command (KEMBALI) = untuk kembali ke menu utama

21

Page 18: Bab II Pembahasan Masalah

2.7 Implementasi

Listing program aplikasi mPendaftaran ini selengkapnya telah

dilampirkan pada lampiran penulisan. Sub bab ini akan menjelaskan

sebagian listing dari bagian utama program.

2.7.1 Konfigurasi Database

Konfigurasi ini berfungsi untuk memanggil driver, melakukan

koneksi, dan mengakses database yang telah kita definisikan sebelumnya.

Berikut listing programnya :

22

package mPendaftaran;

import java.io.PrintStream;import java.sql.*;

public class konek{ private Connection con; private ResultSet rs; private Statement stmt; private String id,npm,nama,jur,telepon; public konek() { try { Class.forName("com.mysql.jdbc.Driver").newInstance(); con = DriverManager.getConnection("jdbc:mysql://localhost:3306/mpendaftaran",

"root", ""); stmt = con.createStatement(); } catch(SQLException e) { System.out.println(e); } catch(Exception e) { System.out.println(e); } }

Page 19: Bab II Pembahasan Masalah

Untuk melakukan koneksi ke database, sebelumnya harus

memanggil driver-nya terlebih dahulu. Setelah load driver sukses,

berikutnya mendefinisikan URL lokasi dari database serta melakukan

koneksi melalui method getConnection(). Pada aplikasi ini, penulis

menggunakan mysql sebagai databasenya sehingga port standart yang

digunakan yaitu port 3306 berikut nama databasenya, serta diikuti username

dan password. Karena proses query memerlukan objek statement, maka

dibuatlah objek statement untuk menjalankan perintah SQL.

2.7.2 Listing Program Pada Kelas Induk

Listing berikut merupakan listing yang terdapat pada kelas induk

dalam hal ini yaitu kelas mPendaftaran. Metode-metode yang berada pada

kelas ini dapat dipanggil dari luar kelasnya.

import javax.microedition.lcdui.*;

import javax.microedition.midlet.*;

import javax.microedition.media.*;

public class mPendaftaran extends MIDlet{

static mPendaftaran instance;

private static Display display;

private Tampilan_Awal splash;

private Player player;

public mPendaftaran(){

instance = this;

display = Display.getDisplay(this);

splash = new Tampilan_Awal(display,this);

}

public void startApp(){

display.setCurrent(splash);

23

Page 20: Bab II Pembahasan Masalah

}

public void pauseApp(){}

public void destroyApp(boolean unconditional){

notifyDestroyed();

}

public static void keluar(){

instance.destroyApp(true);

instance = null;

}

public void mulai(){

try {

player=

Manager.createPlayer(getClass().getResourceAsStream("/raintear.mid"),"audio/midi

");

player.setLoopCount(-1);

player.start();

} catch(Exception e) {

e.printStackTrace();

}

}

public void berhenti(){

player.close();

}

}

Pada listing di atas, digunakan untuk mengirim parameter induk

yaitu display dan mp agar dapat digunakan di luar kelas. Kelas ini terdiri dari

beberapa metode yaitu metode startApp(), pauseApp(), dan destroyApp()

24

Page 21: Bab II Pembahasan Masalah

merupakan daur hidup dari aplikasi j2me sedangkan metode mulai() dan

berhenti() merupakan daur hidup dari paket media.

2.7.3 Listing Program Menu Jadwal

Berikut merupakan sebagian listing program pada menu jadwal baik

dari sisi client maupun server

2.7.3.1 Listing Program Pada Client

private String excuteJSP() throws IOException{

HttpConnection conn = null;

int responsecode;

try{

String url = "http://localhost:8084/mPendaftaran/a.jsp";

conn = (HttpConnection)Connector.open(url);

conn.setRequestMethod(HttpConnection.POST);

responsecode = conn.getResponseCode();

if(responsecode != HttpConnection.HTTP_OK){

throw new IOException("Http Error : " + responsecode);

}

int size=100;

StringBuffer tmp = new StringBuffer(size);

InputStreamReader input = new

InputStreamReader(conn.openInputStream());

char[] buffer = new char[25];

while((input.read(buffer,0,buffer.length))!=-1){

tmp.append(buffer);

buffer = new char[25];

25

Page 22: Bab II Pembahasan Masalah

}

stop_thread=false;

input.close();

String resultText = tmp.toString();

return resultText;

}catch(Exception e){

throw new IllegalArgumentException(e.getMessage());

}finally{

if(conn!=null){

conn.close();

}

}

}

public void run(){

while(stop_thread){

try{

String rsl = excuteJSP();

deleteAll();

append(rsl);

}catch(Exception e){

deleteAll();

append("Maaf, Ada Kesalahan");

}

}

}

Listing di atas merupakan sebagian listing program dari sisi client

dimana berfungsi untuk mengirim data ke server (request) dan menerima

data dari server (respond) melalui proses thread.

26

Page 23: Bab II Pembahasan Masalah

2.7.3.2 Listing Aplikasi Pada Server

rs = stmt.executeQuery("select * from seminar");

ResultSetMetaData rsMetaData = rs.getMetaData();

int numberOfColumns = rsMetaData.getColumnCount();

for (int i = 1; i < numberOfColumns + 1; i++) {

String columnName = rsMetaData.getColumnName(i);

System.out.print(columnName + " ");

}

while(rs.next()){

out.println("\n");

String id_seminar = rs.getString(1);

out.println("id_seminar : " + id_seminar);

String judul = rs.getString(2);

out.println("Judul : " + judul);

String tanggal = rs.getString(3);

tgl = tanggal.substring(8,10);

bln = tanggal.substring(5,7);

thn = tanggal.substring(0,4);

out.println("Tanggal : "+tgl+"/"+bln+"/"+thn);

String biaya = rs.getString(4);

out.println("Biaya : " + biaya);

String lokasi = rs.getString(5);

out.println("Tempat : " + lokasi);

String kuota = rs.getString(6);

out.println("Kouta : " + kuota);

27

Page 24: Bab II Pembahasan Masalah

String pendaftar = rs.getString(7);

out.println("Pendaftar : "+ pendaftar);

}

2.7.4 Listing Program Pendaftaran

Digunakan untuk proses pendaftaran yang akan dilakukan oleh user

melalui menu pendaftaran pada menu utama.

2.7.4.1 Listing Program Pada Client

try{String url="http://localhost:8084/mPendaftaran/b.jsp?

a="+id+"&b="+npm+"&c="+nama+"&d="+tlp+"&e="+jur;conn = (HttpConnection)Connector.open(url);conn.setRequestMethod(HttpConnection.POST);

responsecode = conn.getResponseCode();

if(responsecode!=HttpConnection.HTTP_OK){throw new IOException("Ada kesalahan : " + responsecode);

}

}catch(Exception e){e.printStackTrace();

}finally{if(conn!=null){

conn.close();}

}

Listing di atas digunakan untuk mengirim (request) permintaan user

melalui ponsel. Aplikasi pada ponsel akan mengirim berupa parameter-

parameter seperti a, b, c, d, dan e melalui koneksi HTTP.

2.7.4.2 Listing Program Pada Server

con.setAutoCommit(false); String id = request.getParameter("a"); String npm = request.getParameter("b"); String nama = request.getParameter("c"); String tlp = request.getParameter("d"); String jur = request.getParameter("e");

28

Page 25: Bab II Pembahasan Masalah

rs = stmt.executeQuery("select kuota,pendaftar from seminar where id_seminar="+id); while(rs.next()){ kuota = rs.getInt(1); pendaftar = rs.getInt(2); } if(kuota==0){ out.println("Kuota pendaftaran sudah penuh"); } else{ kuota--; pendaftar++;

UQ = stmt.executeUpdate("INSERT INTO mhs(npm,nama,tlp,jur) VALUES('"+npm+"','"+nama+"','"+tlp+"','"+jur+"');"); UQ2 = stmt.executeUpdate("INSERT INTO pendaftar

VALUES('"+npm+"','"+id+"');");

UQ3 = stmt.executeUpdate("UPDATE seminar SET kuota="+kuota+",pendaftar="+pendaftar+";"); con.commit(); if(UQ>0 && UQ2>0 && UQ3>0 ){ out.println("Selamat,"); out.println("Harap datang ke seminar tepat pada waktunya"); }else{ out.println("Perhatian"); out.println("====================="); out.println("Pendaftaran Mengalami Kegagalan"); } } con.setAutoCommit(true); }catch(SQLException e){ e.printStackTrace(); }catch(Exception ex){ ex.printStackTrace(); }finally{ con.setAutoCommit(true); stmt.close(); con.close(); }

Listing di atas, digunakan untuk menangkap parameter-parameter

yang dikirim dari client, kemudian lakukan proses transaksi atau

pengolahan data pada database melalui perintah SQL.

2.7.5 Tampilan Program

29

Page 26: Bab II Pembahasan Masalah

2.7.5.1 Tampilan Splash Screen

Gambar 2.16 Tampilan Splash Screen

Pada saat aplikasi di jalankan, aplikasi akan menampilkan animasi

splash screen selama 5 detk, setelah itu aplikasi akan masuk ke menu

utama.

2.7.5.2 Tampilan Menu Utama

30

Page 27: Bab II Pembahasan Masalah

Gambar 2.17 Tampilan Menu Utama

Tampilan di atas, merupakan tampilan menu utama yang berupa list

dengan tipe implicit di mana user diperbolehkan untuk memilih satu buah

item saja dari tujuh pilihan yang ada. Pada menu utama ini terdapat tujuh

menu yaitu :

1. Menu jadwal seminar, untuk melihat jadwal seminar yang akan atau

sudah dibuka.

2. Deskripsi dan komentar, untuk melihat keterangan lebih lanjut

kegiatan seminar yang akan diadakan serta dapat meninggalkan

komentar.

3. Pendaftaran, untuk melakukan proses pendaftaran seminar.

4. Kalender akademik, untuk melihat kalender akademik.

5. Mahasiswa terdaftar, untuk melihat daftar mahasiswa yang sudah

terdaftar berdasarkan id seminar.

6. Bantuan, untuk menampilkan form bantuan.

7. Keluar, untuk keluar dari program.

31

Page 28: Bab II Pembahasan Masalah

2.7.5.3 Tampilan Menu Jadwal

Gambar 2.18 Tampilan Menu Jadwal

Submenu ini berfungsi untuk menampilkan informasi tentang

kegiatan seminar yang akan atau sedang diadakan.

2.7.5.4 Tampilan Menu Deskripsi dan Komentar

32

Page 29: Bab II Pembahasan Masalah

Gambar 2.19 Tampilan Menu Deskripsi dan Komentar

Sub menu ini berfungsi untuk mencari informasi tentang seminar

yang diadakan berdasarkan id seminar yang dimasukkan.

Gambar 2.20 Tampilan Daftar Komentar

33

Page 30: Bab II Pembahasan Masalah

Form di atas merupakan form daftar komentar, berfungsi untuk

menampilkan daftar komentar yang dimasukkan user berdasarkan id

seminar.

2.7.5.5 Tampilan Menu Pendaftaran

34

Page 31: Bab II Pembahasan Masalah

Gambar 2.21 Tampilan Menu Pendaftaran

Submenu di atas berfungsi sebagai form pendaftaran mahasiswa yang

mengikuti seminar. Pada form ini terdapat lima data yang harus diisi, yaitu

id seminar, npm, nama, telepon, dan jenjang/jurusan.

2.7.5.6 Tampilan Menu Mahasiswa Terdaftar

35

Page 32: Bab II Pembahasan Masalah

Gambar 2.22 Tampilan Masukkan Id Seminar

Pada sub menu di atas, berfungsi untuk mencari daftar mahasiswa

yang sudah terdaftar mengikuti seminar berdasarkan id seminar yang

dimasukkan.

Gambar 2.23 Tampilan Mahasiswa Terdaftar

Form di atas merupakan form laporan dari sub menu mahasiswa

terdaftar. Form ini berfungsi untuk menampilkan informasi mahasiswa

yang sudah terdaftar berdasarkan id seminar yang sudah dimasukkan

sebelumnya.

36

Page 33: Bab II Pembahasan Masalah

2.8 Spesifikasi

Spesifikasi perangkat keras yang digunakan penulis dalam

pembuatan website ini adalah sebagai berikut :

Intel Core 2 Duo 1.66GHz

Motherboard ASUS P4V8X-X

Memory 1 GB

Monitor LG StudioWorks 15”

Keyboard PS/2 Octus

Mouse USB Nexus

Adapun spesifikasi dari perangkat lunak yang digunakan adalah

sebagai berikut :

J2sdk-1_6_2_01-windows-i586

Penulis menggunakan java versi j2sdk 1.6 dalam pembuatan aplikasi

mPendaftaran ini.

J2ME Wireless Toolkit 2.2

Penulis menggunakan J2ME Wireless Toolkit untuk membuat dan

menjalankan aplikasi mPendaftaran.

mysql-connector-java-3.0.9

Penulis menggunakan mysql connector sebagai jembatan penghubung

file java dengan database MySQL.

Netbeans IDE 5.5.1

Penulis menggunakan netbeans sebagai media untuk mengetik,

menjalankan, dan web server. Pada netbeans, sudah dibundle web

server Apache Tomcat.

Microsoft Windows XP SP2

37

Page 34: Bab II Pembahasan Masalah

Penulis menggunakannya sebagai sistem operasi dalam pembuatan

aplikasi ini.

MySQL Server 5.2

Penulis menggunakan MySQL server sebagai tempat penyimpanan

database.

MySQL Control Center

Penulis menggunakannya sebagai tempat pembuatan database melalui

tampilan GUI (Graphic User Interface).

Adapun spesifikasi minimum dari perangkat handphone yang

dibutuhkan adalah sebagai berikut :

J2ME™ MIDP 2.0

Mendukung koneksi GPRS.

Untuk spesifikasi minimum komputer harus memenuhi spesifikasi

berikut :

Pentium III 800 MHz ke atas.

RAM 256 MB

Ruang kosong pada hardisk sebesar 50 MB.

38