Struts Framework dan J2EE Pattern Dalam Pengembangan Sistem Informasi Akademik IPB

STRUTS FRAMEWORK DAN J2EE PATTERN
DALAM PENGEMBANGAN SISTEM INFORMASI AKADEMIK IPB

HADIKUSUMA WAHAB
G64103028

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2007

STRUTS FRAMEWORK DAN J2EE PATTERN
DALAM PENGEMBANGAN SISTEM INFORMASI AKADEMIK IPB

Skripsi
Sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer
pada Fakultas Matematika dan Ilmu Pengetahuan Alam
Institut Pertanian Bogor

Oleh :

HADIKUSUMA WAHAB
G64103028

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2007

ABSTRAK
HADIKUSUMA WAHAB. Struts Framework dan J2EE Pattern dalam Pengembangan Sistem
Informasi Akademik IPB. Dibimbing oleh DESINA KARTIKA dan WISNU ANANTA.
Aplikasi (Sistem Informasi Akademik) SIMAK IPB harus dapat memberikan informasi
yang akurat mengenai mahasiswa misalnya, program studi yang dipilih, mata kuliah yang sudah
diambil maupun yang akan diambil semester selanjutnya, perhitungan penilaian akademik per
semester atau kumulatif dari semester sebelumnya, dan status studinya. Proses pendaftaran KRS
dan update nilai mata kuliah juga harus dapat dilakukan dengan efektif dan efisien. Dan yang tidak
kalah penting adalah manajemen pengguna untuk menjaga keamanan dan integritas data.
Aplikasi SIMAK dalam penelitian ini dibangun dengan teknologi J2EE dan menggunakan
framework yang membuat sistem menjadi lebih mudah untuk dibangun dan dikelola. Framework

yang digunakan adalah Struts yang berbasiskan Model, View, Controller (MVC) pattern sehingga
kode untuk tampilan dan proses bisnis akan terpisah. Aplikasi SIMAK juga menerapkan design
pattern khususnya J2EE pattern yang digunakan sebagai katalog permasalahan pemrograman di
lingkungan J2EE beserta solusinya dan juga sebagai panduan untuk pengambilan keputusan
rancangan program. Beberapa J2EE pattern yang diterapkan dalam aplikasi SIMAK adalah, data
access object (DAO) pattern, Data Transfer Object (DTO) pattern dan decorator pattern.
Metode pengembangan sistem dalam penelitian ini adalah metode pengembangan sistem
waterfall yang terdiri dari beberapa tahapan yaitu analisis dan definisi kebutuhan, perancangan,
implementasi, pengujian, dan pengoperasian.
Dari penelitian yang dilakukan diperoleh beberapa kelebihan sistem dari aplikasi SIMAK
yaitu kemudahan dalam pengelolaan dan perbaikan aplikasi, karena aplikasi SIMAK dirancang
dengan menerapkan MVC pattern. Desain aplikasi SIMAK yang terstruktur dengan penggunaan
framework dan J2EE pattern. Kemudahan lain yang diperoleh adalah fleksibilitas dalam
mengubah implementasi data sumber, karena aplikasi SIMAK menerapkan DAO pattern seta
kemudahan perubahan antarmuka aplikasi melalui decorator pattern. Terakhir, lingkungan
pemrograman J2EE yang mempunyai skalabilitas tinggi serta menyediakan banyak pustaka opensource dan berkualitas.
Kata kunci : Sistem informasi, J2EE, framework, design pattern

Judul : Struts Framework dan J2EE Pattern dalam Pengembangan
Sistem Informasi Akademik IPB

Nama : Hadikusuma Wahab
NRP : G64103028

Menyetujui:
Pembimbing I,

Pembimbing II,

Desina Kartika M., S.Si, MCompSc.
NIP 132 158 757

Wisnu Ananta Kusuma, ST. MT.
NIP 132 312 485

Mengetahui:
Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam
Institut Pertanian Bogor

Prof. Dr. Ir. Yonny Koesmaryono, MS
NIP 131 473 999


Tanggal Lulus:

RIWAYAT HIDUP
Penulis dilahirkan di Frankfurt, Jerman pada tanggal 6 Februari 1987 sebagai anak ke dua
dari tiga bersaudara dari pasangan Abdul Wahab dan Fatimah Wahab. Penulis menyelesaikan
pendidikan menengah atas di SMA Labschool Rawamangun, Jakarta dan lulus pada tahun 2003.
Pada tahun yang sama penulis diterima sebagai mahasiswa Departemen Ilmu Komputer,
Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor. Penulis diterima
melalui jalur Undangan Seleksi Masuk IPB (USMI). Penulis pernah melaksanakan praktek lapang
selama dua bulan di Inixindo. Tugas yang diberikan pada praktek lapang tersebut berkaitan dengan
perancangan dan implementasi Sistem Paspor Indonesia.
Selama kuliah penulis aktif dalam beberapa kegiatan kemahasiswaan terutama di
Himpunan Mahasiswa Ilmu Komputer (Himalkom). Pada saat di Himalkom penulis bertugas
sebagai staf bagian research and development. Penulis mempunyai ketertarikan pada bahasa
pemrograman Java serta mempunyai sertifikasi internasional Sun Certified Java Programmer
(SCJP). Saat ini penulis aktif sebagai koordinator Java Campus Team di Departemen Ilmu
Komputer dan juga aktif di komunitas Java User Group Indonesia sebagai anggota dan Netbeans
Indonesia sebagai anggota serta penyelenggara acara rutin bulanan Netbeans Indonesia.


PRAKATA
Puji dan syukur penulis panjatkan kepada Allah SWT atas limpahan nikmat dan hidayahNya sehingga penulis dapat menyelesaikan karya ilmiah ini. Sholawat dan salam semoga
senantiasa tercurah kepada Nabi besar Muhammad SAW, keluarganya, para sahabat, serta para
pengikutnya yang tetap istiqomah mengemban risalah-Nya.
Melalui lembar ini, penulis ingin menyampaikan penghargaan dan terima kasih kepada Ibu
Desina Kartika M., S.Si, MCompSC. selaku pembimbing I, yang telah meluangkan waktunya
untuk membimbing penulis, memberikan ilmu-ilmu yang berharga, serta dukungan selama
penelitian ini berlangsung. Bapak Wisnu Ananta, ST. MT. selaku pembimbing II, yang telah
membimbing penulis dan selalu memberikan semangat, serta Bapak Ir. Julio Adisantoso MKom.
yang telah bersedia menjadi penguji sekaligus penyemangat dalam pelaksanaan seminar dan
sidang.
Penulis juga mengucapkan terima kasih kepada seluruh keluarga, khususnya Mamah,
Bapak, dan adek Rini yang telah memberikan dukungan, kasih sayang, doa, dan pengorbanannya
selama ini. Sherly Wijaya Rusli yang selalu menemani penulis ketika senang maupun sedih,
memberi semangat untuk terus menyelesaikan tugas akhir, dan pengorbanan yang diberikan
selama penelitian ini berlangsung.
Ifnu yang selalu membantu, memberi dukungan, pendapat dan inspirasi yang sangat
berharga selama ini. Meynar yang telah membantu selama penulisan tugas akhir dan memberi
dukungan ketika seminar dan sidang. Pis, Pandi, Firat, Jemi dan “Geng Cinta” lainnya yang telah
memberikan wawasan dan keceriaan kepada penulis. Semua teman-teman ilkomerz’40, terima

kasih untuk canda tawa, persahabatan, dan kebersamaan selama kuliah di Ilkom IPB. Temanteman griya 40, Gilang, Dawud, Yudi, Yulia, Leli, Yasmin, Irma, Icha yang selalu memberikan
semangat dan doanya kepada penulis. Serta rekan-rekan Ilkomerz angkatan 38, 39, 41, dan 42.
Seluruh staf pengajar yang telah memberikan wawasan serta ilmu yang berharga selama
penulis menuntut ilmu di Departemen Ilmu Komputer. Seluruh staf administrasi dan perpustakaan
Departemen Ilmu Komputer yang selalu memberi kemudahan dalam mengurus segala macam hal
berkaitan dengan perkuliahan, serta pihak-pihak lain yang tidak dapat disebutkan satu-persatu.
Sebagaimana manusia yang tidak luput dari kesalahan, penulis menyadari bahwa karya
ilmiah ini jauh dari sempurna. Namun penulis berharap semoga karya ilmiah ini dapat bermanfaat
bagi siapapun yang membacanya.

Bogor, Juli 2007

Hadikusuma Wahab

v

DAFTAR ISI
Halaman
DAFTAR GAMBAR ..........................................................................................................................vi
DAFTAR LAMPIRAN.......................................................................................................................vi

PENDAHULUAN
Latar Belakang .................................................................................................................................1
Tujuan Penelitian..............................................................................................................................1
Ruang Lingkup Penelitian................................................................................................................1
Manfaat Penelitian............................................................................................................................1
TINJAUAN PUSTAKA
Basis Data.........................................................................................................................................2
Structured Query Languange (SQL) ...............................................................................................2
Waterfall Life Cycle .........................................................................................................................2
Unified Modelling Language (UML) ..............................................................................................3
Java 2 Enterprise Edition .................................................................................................................3
Package ............................................................................................................................................4
Java Server Pages (JSP) & Servlet...................................................................................................4
Servlet Container .............................................................................................................................4
Design Pattern..................................................................................................................................4
MVC Pattern....................................................................................................................................4
J2EE Pattern.....................................................................................................................................4
Framework .......................................................................................................................................5
Struts Framework.............................................................................................................................5
Validator Framework .......................................................................................................................5

METODE PENELITIAN
Studi Literatur...................................................................................................................................6
Pengembangan Sistem .....................................................................................................................6
Analisis dan Definisi Kebutuhan .....................................................................................................6
Perancangan Sistem dan Perangkat Lunak ......................................................................................6
Implementasi ....................................................................................................................................7
Pengujian Integrasi dan Sistem ........................................................................................................7
Deployment.......................................................................................................................................7
HASIL DAN PEMBAHASAN
Analisis dan Definisi Kebutuhan .....................................................................................................7
Deskripsi Umum Sistem ...............................................................................................................7
Analisis Kebutuhan Pengguna......................................................................................................7
Analisis Kebutuhan Sistem...........................................................................................................7
Analisis Pengguna.........................................................................................................................7
Perancangan Sistem dan Perangkat Lunak ......................................................................................8
Perancangan Input.........................................................................................................................8
Perancangan Output ......................................................................................................................8
Perancangan Basis Data Lojik ......................................................................................................8
Perancangan Basis Data Fisik.......................................................................................................8
Perancangan Model.......................................................................................................................8

Perancangan View .........................................................................................................................8
Perancangan Controller ................................................................................................................8
Perancangan Kendali/Kontrol.......................................................................................................9
Implementasi ....................................................................................................................................9
Struktur Package...........................................................................................................................9
Implementasi Perangkat Keras .....................................................................................................9
Server........................................................................................................................................9

vi

Halaman
Client ........................................................................................................................................9
Implementasi Perangkat Lunak ..................................................................................................10
Server......................................................................................................................................10
Client ......................................................................................................................................10
Implementasi Basis Data ............................................................................................................10
Implementasi Model....................................................................................................................10
Implementasi Antarmuka............................................................................................................10
Implementasi Controller.............................................................................................................11
Pengujian Integrasi dan Sistem ......................................................................................................12

Deployment.....................................................................................................................................12
Kelebihan Sistem............................................................................................................................12
Kekurangan Sistem ........................................................................................................................13
KESIMPULAN DAN SARAN
Kesimpulan .....................................................................................................................................13
Saran................................................................................................................................................14
DAFTAR PUSTAKA ........................................................................................................................14
LAMPIRAN .......................................................................................................................................14

DAFTAR GAMBAR
1
2
3
4
5
6
7

Halaman
Model siklus hidup perangkat lunak.............................................................................................2

Arsitektur J2EE .............................................................................................................................3
Hubungan komunikasi komponen J2EE ......................................................................................3
Arsitektur MVC pattern................................................................................................................4
Arsitektur Struts framework .........................................................................................................6
Perancangan antarmuka aplikasi SIMAK ....................................................................................8
Implementasi antarmuka aplikasi SIMAK .................................................................................11

DAFTAR LAMPIRAN
1
2
3
4
5
6
7
8
9

Halaman
Use case diagram ....................................................................................................................... 16
Fungsi aplikasi SIMAK ............................................................................................................. 17
Karakterisitik pengguna............................................................................................................. 18
Diagram ER................................................................................................................................ 19
Skema basis data ........................................................................................................................ 20
Class diagram ............................................................................................................................ 21
Perancangan controller .............................................................................................................. 24
Implementasi basis data ............................................................................................................. 37
Dokumen uji aplikasi SIMAK ................................................................................................... 38

1

PENDAHULUAN
Latar Belakang
Informasi akademik merupakan elemen
penting dalam institusi pendidikan, oleh
karena itu diperlukan aplikasi Sistem
Informasi Akademik (SIMAK) yang berfungsi
untuk mengatur seluruh proses akademik.
Proses akademik meliputi mahasiswa,
fakultas, departemen, program studi, mata
kuliah,
Kartu Rencana Studi (KRS),
transkrip, serta laporan akademik.
Aplikasi SIMAK harus dapat memberikan
informasi yang akurat mengenai mahasiswa.
Informasi tersebut meliputi program studi
yang dipilih, mata kuliah yang sudah diambil
maupun yang akan diambil semester
selanjutnya, perhitungan nilai akademik per
semester atau kumulatif dari semester
sebelumnya, dan status studinya. Proses
pendaftaran KRS dan perubahan nilai mata
kuliah juga harus dapat dilakukan dengan
efektif dan efisien. Manajemen pengguna juga
diperlukan untuk menjaga keamanan dan
integritas data.
Aplikasi
SIMAK di IPB sudah
dikembangkan oleh Kantor Pusat Sistem
Informasi (KPSI) IPB yang berbasiskan
desktop application dengan asitektur clientserver. Masalah dari aplikasi yang
berbasiskan desktop application adalah setiap
client harus terpasang aplikasi SIMAK,
sehingga pemeliharaan akan menjadi sulit.
Pemeliharaan sulit dilakukan karena semua
client harus di-update apabila terdapat fitur
baru atau koreksi terhadap kesalahan program.
Hal ini akan menjadi masalah besar apabila
terdapat banyak client. Berangkat dari
kekurangan tersebut akan dikembangkan
aplikasi SIMAK yang berbasiskan web
application sehingga setiap client hanya
membutuhkan browser untuk mengakses
sistem dan pemeliharaan yang mudah karena
terpusat pada server.
Pengembangan aplikasi berbasis web dapat
diimplementasikan
dengan
berbagai
teknologi. Teknologi J2EE dipilih karena
memiliki berbagai aspek dalam membangun
aplikasi,
yaitu
portability,
reliability,
scalability, maintability, dan availabity
(McGovern 2003). Oleh karena itu akan
dikembangkan
aplikasi
SIMAK
yang
dibangun dengan teknologi J2EE dan
menerapkan konsep Model, View, Controller
(MVC) dimana kode untuk tampilan dan
proses bisnis akan terpisah. Penerapan konsep

MVC akan diakomodasi melalui Struts
framework. Selain itu, aplikasi SIMAK juga
menerapkan design pattern khususnya J2EE
pattern yang digunakan sebagai katalog
permasalahan pemrograman di lingkungan
J2EE beserta solusinya dan juga sebagai
panduan untuk pengambilan keputusan
perancangan program. Beberapa J2EE pattern
yang diterapkan dalam aplikasi SIMAK
adalah Data Access Object (DAO) pattern,
Data Transfer Object (DTO) pattern, dan
decorator pattern. Dengan berbagai konsep
tersebut diharapkan dapat dibangun aplikasi
SIMAK yang terstruktur, mudah dikelola,
serta mudah untuk dikembangkan.
Tujuan Penelitian
Tujuan dari penelitian ini adalah :
1 Menerapkan seluruh proses dalam
pengembangan perangkat lunak.
2 Mengimplementasikan teknologi J2EE
dalam pengembangan aplikasi SIMAK.
3 Mengimplementasi konsep MVC melalui
Struts framework dalam pengembangan
aplikasi SIMAK.
4 Menerapkan J2EE pattern dalam
pengembangan aplikasi SIMAK.
Ruang Lingkup Penelitian
Ruang lingkup penelitian ini adalah:
1 Membangun aplikasi SIMAK yang
menerapkan konsep MVC melalui Struts
framework.
2 Membangun aplikasi SIMAK yang
mengimplementasi J2EE pattern.
3 Aplikasi SIMAK dibatasi untuk sistem
mahasiswa phasing out.
4 Aplikasi SIMAK tidak mencakup modul
wisuda.
Manfaat Penelitian
Penelitian ini diharapkan dapat bermanfaat
bagi KPSI sebagai model pengembangan
selanjutnya dari aplikasi SIMAK sebelumnya.
Selain itu, penelitian ini juga bermanfaat
sebagai contoh aplikasi J2EE yang
menerapkan konsep MVC dan J2EE pattern.
Hal ini dapat membantu pihak yang ingin
membangun aplikasi J2EE yang terstruktur
dan mudah dikelola.

2

TINJAUAN PUSTAKA
Basis Data
Basis data merupakan sekumpulan data
atau entitas beserta deskripsinya yang secara
logika berelasi, dibuat untuk memenuhi
kebutuhan informasi suatu organisasi serta
dapat digunakan bersama-sama. Tujuan utama
basis data adalah pengelolaan dan pengolahan
data yang begitu kompleks secara mudah,
cepat dan efisien untuk berbagai kebutuhan
(Connolly dan Carolyn 2002).
Basis data terdiri dari entitas dan relasi
antar entitas. Entitas (entity) merupakan objek
tertentu dari suatu organisasi yang akan
direpresentasikan dalam basis data. Tipe
entitas merupakan sekumpulan objek yang
didefinisikan oleh pengguna, dimana tipe
entitas tersebut memiliki keberadaan yang
tidak terikat, dan merupakan representasi dari
sekumpulan objek pada dunia nyata dengan
nilai atribut yang sama
(Connolly dan
Carolyn 2002).
Relasi (relationship) adalah hubungan
antarentitas dan Entity–Relationship Model
(ER) adalah model data berbasiskan objek
yang berfungsi untuk merancang basis data
dengan pendekatan top-down yang tidak
ambigu dan mudah digunakan. Entitas,
atribut, relasi, dan batasan perhitungan
merupakan komponen dari ER. Tujuan ER
adalah
merepresentasikan
entitas
dan
relasinya.
Structured Query Languange (SQL)
SQL (Structured Query Language)
merupakan bahasa query dasar yang
digunakan untuk mengakses basis data
relasional (Connolly dan Carolyn 2002).
Ekspresi SQL mempunyai tiga klausa dasar,
yaitu :
1 SELECT
SELECT digunakan untuk menetapkan
field atau atribut yang ingin ditampilkan.
2 FROM
FROM digunakan untuk menetapkan tabel
apa saja yang akan ditelusuri selama
query.
3 WHERE
WHERE digunakan untuk mendapatkan
data dengan kriteria yang harus dipenuhi,
klausa ini bersifat opsional.

software life cycle merupakan salah satu jenis
pemodelan dari proses pengembangan
perangkat lunak. Disebut model waterfall
dikarenakan oleh terurutnya dari satu tahap ke
tahap yang lainnya (Pressman 2001). Tahap
utama dari model ini adalah membentuk
aktivitas pengembangan yang bersifat dasar,
seperti:
1 Analisis dan definisi kebutuhan
Pada tahap ini dilakukan konsultasi
dengan pengguna untuk mengetahui
batasan dan tujuan dari sistem yang akan
dirancang. Hal tersebut akan didefinisikan
secara detail dan dipergunakan sebagai
sebuah spesifikasi sistem.
2 Perancangan sistem dan perangkat lunak
Proses perancangan membagi kebutuhan
dari perangkat keras maupun perangkat
lunak. Proses ini akan membentuk secara
umum arsitektur sistem. Perancangan
perangkat lunak terdiri dari proses
mengidentifikasikan dan menjelaskan
abstraksi sistem perangkat lunak dan
keterhubungan di antaranya.
3 Implementasi
Hasil perancangan sistem pada tahap
sebelumnya mulai diimplementasikan agar
menghasilkan sistem yang dapat bekerja
dengan baik.
4 Pengujian integrasi dan sistem
Modul-modul program dan fungsi-fungsi
khusus yang termasuk di dalamnya
diintegrasikan dan diuji sebagai suatu
sistem yang lengkap, sehingga menjamin
kebutuhan perangkat lunak. Setelah
dilakukan pengujian, sistem perangkat
lunak akan diberikan ke pengguna.
5 Deployment
Pada tahap ini sistem dipasang dan
diletakkan untuk penggunaan praktis .
Tahapan ini berlangsung cukup lama dan
biasanya memakan biaya yang cukup
besar bila terjadi kesalahan pada tahaptahap awal.
Analisis dan
definisi
kebutuhan
Perancangan
sistem dan
perangkat lunak

Implementasi

Pengujian
integrasi dan
sistem

Deployment

Waterfall Life Cycle
Proses pemodelan perangkat lunak
merupakan representasi abstrak dari sebuah
proses perangkat lunak. Waterfall atau

Gambar 1 Model siklus hidup perangkat
lunak.

STRUTS FRAMEWORK DAN J2EE PATTERN
DALAM PENGEMBANGAN SISTEM INFORMASI AKADEMIK IPB

HADIKUSUMA WAHAB
G64103028

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2007

STRUTS FRAMEWORK DAN J2EE PATTERN
DALAM PENGEMBANGAN SISTEM INFORMASI AKADEMIK IPB

Skripsi
Sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer
pada Fakultas Matematika dan Ilmu Pengetahuan Alam
Institut Pertanian Bogor

Oleh :
HADIKUSUMA WAHAB
G64103028

DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2007

ABSTRAK
HADIKUSUMA WAHAB. Struts Framework dan J2EE Pattern dalam Pengembangan Sistem
Informasi Akademik IPB. Dibimbing oleh DESINA KARTIKA dan WISNU ANANTA.
Aplikasi (Sistem Informasi Akademik) SIMAK IPB harus dapat memberikan informasi
yang akurat mengenai mahasiswa misalnya, program studi yang dipilih, mata kuliah yang sudah
diambil maupun yang akan diambil semester selanjutnya, perhitungan penilaian akademik per
semester atau kumulatif dari semester sebelumnya, dan status studinya. Proses pendaftaran KRS
dan update nilai mata kuliah juga harus dapat dilakukan dengan efektif dan efisien. Dan yang tidak
kalah penting adalah manajemen pengguna untuk menjaga keamanan dan integritas data.
Aplikasi SIMAK dalam penelitian ini dibangun dengan teknologi J2EE dan menggunakan
framework yang membuat sistem menjadi lebih mudah untuk dibangun dan dikelola. Framework
yang digunakan adalah Struts yang berbasiskan Model, View, Controller (MVC) pattern sehingga
kode untuk tampilan dan proses bisnis akan terpisah. Aplikasi SIMAK juga menerapkan design
pattern khususnya J2EE pattern yang digunakan sebagai katalog permasalahan pemrograman di
lingkungan J2EE beserta solusinya dan juga sebagai panduan untuk pengambilan keputusan
rancangan program. Beberapa J2EE pattern yang diterapkan dalam aplikasi SIMAK adalah, data
access object (DAO) pattern, Data Transfer Object (DTO) pattern dan decorator pattern.
Metode pengembangan sistem dalam penelitian ini adalah metode pengembangan sistem
waterfall yang terdiri dari beberapa tahapan yaitu analisis dan definisi kebutuhan, perancangan,
implementasi, pengujian, dan pengoperasian.
Dari penelitian yang dilakukan diperoleh beberapa kelebihan sistem dari aplikasi SIMAK
yaitu kemudahan dalam pengelolaan dan perbaikan aplikasi, karena aplikasi SIMAK dirancang
dengan menerapkan MVC pattern. Desain aplikasi SIMAK yang terstruktur dengan penggunaan
framework dan J2EE pattern. Kemudahan lain yang diperoleh adalah fleksibilitas dalam
mengubah implementasi data sumber, karena aplikasi SIMAK menerapkan DAO pattern seta
kemudahan perubahan antarmuka aplikasi melalui decorator pattern. Terakhir, lingkungan
pemrograman J2EE yang mempunyai skalabilitas tinggi serta menyediakan banyak pustaka opensource dan berkualitas.
Kata kunci : Sistem informasi, J2EE, framework, design pattern

Judul : Struts Framework dan J2EE Pattern dalam Pengembangan
Sistem Informasi Akademik IPB
Nama : Hadikusuma Wahab
NRP : G64103028

Menyetujui:
Pembimbing I,

Pembimbing II,

Desina Kartika M., S.Si, MCompSc.
NIP 132 158 757

Wisnu Ananta Kusuma, ST. MT.
NIP 132 312 485

Mengetahui:
Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam
Institut Pertanian Bogor

Prof. Dr. Ir. Yonny Koesmaryono, MS
NIP 131 473 999

Tanggal Lulus:

RIWAYAT HIDUP
Penulis dilahirkan di Frankfurt, Jerman pada tanggal 6 Februari 1987 sebagai anak ke dua
dari tiga bersaudara dari pasangan Abdul Wahab dan Fatimah Wahab. Penulis menyelesaikan
pendidikan menengah atas di SMA Labschool Rawamangun, Jakarta dan lulus pada tahun 2003.
Pada tahun yang sama penulis diterima sebagai mahasiswa Departemen Ilmu Komputer,
Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor. Penulis diterima
melalui jalur Undangan Seleksi Masuk IPB (USMI). Penulis pernah melaksanakan praktek lapang
selama dua bulan di Inixindo. Tugas yang diberikan pada praktek lapang tersebut berkaitan dengan
perancangan dan implementasi Sistem Paspor Indonesia.
Selama kuliah penulis aktif dalam beberapa kegiatan kemahasiswaan terutama di
Himpunan Mahasiswa Ilmu Komputer (Himalkom). Pada saat di Himalkom penulis bertugas
sebagai staf bagian research and development. Penulis mempunyai ketertarikan pada bahasa
pemrograman Java serta mempunyai sertifikasi internasional Sun Certified Java Programmer
(SCJP). Saat ini penulis aktif sebagai koordinator Java Campus Team di Departemen Ilmu
Komputer dan juga aktif di komunitas Java User Group Indonesia sebagai anggota dan Netbeans
Indonesia sebagai anggota serta penyelenggara acara rutin bulanan Netbeans Indonesia.

PRAKATA
Puji dan syukur penulis panjatkan kepada Allah SWT atas limpahan nikmat dan hidayahNya sehingga penulis dapat menyelesaikan karya ilmiah ini. Sholawat dan salam semoga
senantiasa tercurah kepada Nabi besar Muhammad SAW, keluarganya, para sahabat, serta para
pengikutnya yang tetap istiqomah mengemban risalah-Nya.
Melalui lembar ini, penulis ingin menyampaikan penghargaan dan terima kasih kepada Ibu
Desina Kartika M., S.Si, MCompSC. selaku pembimbing I, yang telah meluangkan waktunya
untuk membimbing penulis, memberikan ilmu-ilmu yang berharga, serta dukungan selama
penelitian ini berlangsung. Bapak Wisnu Ananta, ST. MT. selaku pembimbing II, yang telah
membimbing penulis dan selalu memberikan semangat, serta Bapak Ir. Julio Adisantoso MKom.
yang telah bersedia menjadi penguji sekaligus penyemangat dalam pelaksanaan seminar dan
sidang.
Penulis juga mengucapkan terima kasih kepada seluruh keluarga, khususnya Mamah,
Bapak, dan adek Rini yang telah memberikan dukungan, kasih sayang, doa, dan pengorbanannya
selama ini. Sherly Wijaya Rusli yang selalu menemani penulis ketika senang maupun sedih,
memberi semangat untuk terus menyelesaikan tugas akhir, dan pengorbanan yang diberikan
selama penelitian ini berlangsung.
Ifnu yang selalu membantu, memberi dukungan, pendapat dan inspirasi yang sangat
berharga selama ini. Meynar yang telah membantu selama penulisan tugas akhir dan memberi
dukungan ketika seminar dan sidang. Pis, Pandi, Firat, Jemi dan “Geng Cinta” lainnya yang telah
memberikan wawasan dan keceriaan kepada penulis. Semua teman-teman ilkomerz’40, terima
kasih untuk canda tawa, persahabatan, dan kebersamaan selama kuliah di Ilkom IPB. Temanteman griya 40, Gilang, Dawud, Yudi, Yulia, Leli, Yasmin, Irma, Icha yang selalu memberikan
semangat dan doanya kepada penulis. Serta rekan-rekan Ilkomerz angkatan 38, 39, 41, dan 42.
Seluruh staf pengajar yang telah memberikan wawasan serta ilmu yang berharga selama
penulis menuntut ilmu di Departemen Ilmu Komputer. Seluruh staf administrasi dan perpustakaan
Departemen Ilmu Komputer yang selalu memberi kemudahan dalam mengurus segala macam hal
berkaitan dengan perkuliahan, serta pihak-pihak lain yang tidak dapat disebutkan satu-persatu.
Sebagaimana manusia yang tidak luput dari kesalahan, penulis menyadari bahwa karya
ilmiah ini jauh dari sempurna. Namun penulis berharap semoga karya ilmiah ini dapat bermanfaat
bagi siapapun yang membacanya.

Bogor, Juli 2007

Hadikusuma Wahab

v

DAFTAR ISI
Halaman
DAFTAR GAMBAR ..........................................................................................................................vi
DAFTAR LAMPIRAN.......................................................................................................................vi
PENDAHULUAN
Latar Belakang .................................................................................................................................1
Tujuan Penelitian..............................................................................................................................1
Ruang Lingkup Penelitian................................................................................................................1
Manfaat Penelitian............................................................................................................................1
TINJAUAN PUSTAKA
Basis Data.........................................................................................................................................2
Structured Query Languange (SQL) ...............................................................................................2
Waterfall Life Cycle .........................................................................................................................2
Unified Modelling Language (UML) ..............................................................................................3
Java 2 Enterprise Edition .................................................................................................................3
Package ............................................................................................................................................4
Java Server Pages (JSP) & Servlet...................................................................................................4
Servlet Container .............................................................................................................................4
Design Pattern..................................................................................................................................4
MVC Pattern....................................................................................................................................4
J2EE Pattern.....................................................................................................................................4
Framework .......................................................................................................................................5
Struts Framework.............................................................................................................................5
Validator Framework .......................................................................................................................5
METODE PENELITIAN
Studi Literatur...................................................................................................................................6
Pengembangan Sistem .....................................................................................................................6
Analisis dan Definisi Kebutuhan .....................................................................................................6
Perancangan Sistem dan Perangkat Lunak ......................................................................................6
Implementasi ....................................................................................................................................7
Pengujian Integrasi dan Sistem ........................................................................................................7
Deployment.......................................................................................................................................7
HASIL DAN PEMBAHASAN
Analisis dan Definisi Kebutuhan .....................................................................................................7
Deskripsi Umum Sistem ...............................................................................................................7
Analisis Kebutuhan Pengguna......................................................................................................7
Analisis Kebutuhan Sistem...........................................................................................................7
Analisis Pengguna.........................................................................................................................7
Perancangan Sistem dan Perangkat Lunak ......................................................................................8
Perancangan Input.........................................................................................................................8
Perancangan Output ......................................................................................................................8
Perancangan Basis Data Lojik ......................................................................................................8
Perancangan Basis Data Fisik.......................................................................................................8
Perancangan Model.......................................................................................................................8
Perancangan View .........................................................................................................................8
Perancangan Controller ................................................................................................................8
Perancangan Kendali/Kontrol.......................................................................................................9
Implementasi ....................................................................................................................................9
Struktur Package...........................................................................................................................9
Implementasi Perangkat Keras .....................................................................................................9
Server........................................................................................................................................9

vi

Halaman
Client ........................................................................................................................................9
Implementasi Perangkat Lunak ..................................................................................................10
Server......................................................................................................................................10
Client ......................................................................................................................................10
Implementasi Basis Data ............................................................................................................10
Implementasi Model....................................................................................................................10
Implementasi Antarmuka............................................................................................................10
Implementasi Controller.............................................................................................................11
Pengujian Integrasi dan Sistem ......................................................................................................12
Deployment.....................................................................................................................................12
Kelebihan Sistem............................................................................................................................12
Kekurangan Sistem ........................................................................................................................13
KESIMPULAN DAN SARAN
Kesimpulan .....................................................................................................................................13
Saran................................................................................................................................................14
DAFTAR PUSTAKA ........................................................................................................................14
LAMPIRAN .......................................................................................................................................14

DAFTAR GAMBAR
1
2
3
4
5
6
7

Halaman
Model siklus hidup perangkat lunak.............................................................................................2
Arsitektur J2EE .............................................................................................................................3
Hubungan komunikasi komponen J2EE ......................................................................................3
Arsitektur MVC pattern................................................................................................................4
Arsitektur Struts framework .........................................................................................................6
Perancangan antarmuka aplikasi SIMAK ....................................................................................8
Implementasi antarmuka aplikasi SIMAK .................................................................................11

DAFTAR LAMPIRAN
1
2
3
4
5
6
7
8
9

Halaman
Use case diagram ....................................................................................................................... 16
Fungsi aplikasi SIMAK ............................................................................................................. 17
Karakterisitik pengguna............................................................................................................. 18
Diagram ER................................................................................................................................ 19
Skema basis data ........................................................................................................................ 20
Class diagram ............................................................................................................................ 21
Perancangan controller .............................................................................................................. 24
Implementasi basis data ............................................................................................................. 37
Dokumen uji aplikasi SIMAK ................................................................................................... 38

1

PENDAHULUAN
Latar Belakang
Informasi akademik merupakan elemen
penting dalam institusi pendidikan, oleh
karena itu diperlukan aplikasi Sistem
Informasi Akademik (SIMAK) yang berfungsi
untuk mengatur seluruh proses akademik.
Proses akademik meliputi mahasiswa,
fakultas, departemen, program studi, mata
kuliah,
Kartu Rencana Studi (KRS),
transkrip, serta laporan akademik.
Aplikasi SIMAK harus dapat memberikan
informasi yang akurat mengenai mahasiswa.
Informasi tersebut meliputi program studi
yang dipilih, mata kuliah yang sudah diambil
maupun yang akan diambil semester
selanjutnya, perhitungan nilai akademik per
semester atau kumulatif dari semester
sebelumnya, dan status studinya. Proses
pendaftaran KRS dan perubahan nilai mata
kuliah juga harus dapat dilakukan dengan
efektif dan efisien. Manajemen pengguna juga
diperlukan untuk menjaga keamanan dan
integritas data.
Aplikasi
SIMAK di IPB sudah
dikembangkan oleh Kantor Pusat Sistem
Informasi (KPSI) IPB yang berbasiskan
desktop application dengan asitektur clientserver. Masalah dari aplikasi yang
berbasiskan desktop application adalah setiap
client harus terpasang aplikasi SIMAK,
sehingga pemeliharaan akan menjadi sulit.
Pemeliharaan sulit dilakukan karena semua
client harus di-update apabila terdapat fitur
baru atau koreksi terhadap kesalahan program.
Hal ini akan menjadi masalah besar apabila
terdapat banyak client. Berangkat dari
kekurangan tersebut akan dikembangkan
aplikasi SIMAK yang berbasiskan web
application sehingga setiap client hanya
membutuhkan browser untuk mengakses
sistem dan pemeliharaan yang mudah karena
terpusat pada server.
Pengembangan aplikasi berbasis web dapat
diimplementasikan
dengan
berbagai
teknologi. Teknologi J2EE dipilih karena
memiliki berbagai aspek dalam membangun
aplikasi,
yaitu
portability,
reliability,
scalability, maintability, dan availabity
(McGovern 2003). Oleh karena itu akan
dikembangkan
aplikasi
SIMAK
yang
dibangun dengan teknologi J2EE dan
menerapkan konsep Model, View, Controller
(MVC) dimana kode untuk tampilan dan
proses bisnis akan terpisah. Penerapan konsep

MVC akan diakomodasi melalui Struts
framework. Selain itu, aplikasi SIMAK juga
menerapkan design pattern khususnya J2EE
pattern yang digunakan sebagai katalog
permasalahan pemrograman di lingkungan
J2EE beserta solusinya dan juga sebagai
panduan untuk pengambilan keputusan
perancangan program. Beberapa J2EE pattern
yang diterapkan dalam aplikasi SIMAK
adalah Data Access Object (DAO) pattern,
Data Transfer Object (DTO) pattern, dan
decorator pattern. Dengan berbagai konsep
tersebut diharapkan dapat dibangun aplikasi
SIMAK yang terstruktur, mudah dikelola,
serta mudah untuk dikembangkan.
Tujuan Penelitian
Tujuan dari penelitian ini adalah :
1 Menerapkan seluruh proses dalam
pengembangan perangkat lunak.
2 Mengimplementasikan teknologi J2EE
dalam pengembangan aplikasi SIMAK.
3 Mengimplementasi konsep MVC melalui
Struts framework dalam pengembangan
aplikasi SIMAK.
4 Menerapkan J2EE pattern dalam
pengembangan aplikasi SIMAK.
Ruang Lingkup Penelitian
Ruang lingkup penelitian ini adalah:
1 Membangun aplikasi SIMAK yang
menerapkan konsep MVC melalui Struts
framework.
2 Membangun aplikasi SIMAK yang
mengimplementasi J2EE pattern.
3 Aplikasi SIMAK dibatasi untuk sistem
mahasiswa phasing out.
4 Aplikasi SIMAK tidak mencakup modul
wisuda.
Manfaat Penelitian
Penelitian ini diharapkan dapat bermanfaat
bagi KPSI sebagai model pengembangan
selanjutnya dari aplikasi SIMAK sebelumnya.
Selain itu, penelitian ini juga bermanfaat
sebagai contoh aplikasi J2EE yang
menerapkan konsep MVC dan J2EE pattern.
Hal ini dapat membantu pihak yang ingin
membangun aplikasi J2EE yang terstruktur
dan mudah dikelola.

2

TINJAUAN PUSTAKA
Basis Data
Basis data merupakan sekumpulan data
atau entitas beserta deskripsinya yang secara
logika berelasi, dibuat untuk memenuhi
kebutuhan informasi suatu organisasi serta
dapat digunakan bersama-sama. Tujuan utama
basis data adalah pengelolaan dan pengolahan
data yang begitu kompleks secara mudah,
cepat dan efisien untuk berbagai kebutuhan
(Connolly dan Carolyn 2002).
Basis data terdiri dari entitas dan relasi
antar entitas. Entitas (entity) merupakan objek
tertentu dari suatu organisasi yang akan
direpresentasikan dalam basis data. Tipe
entitas merupakan sekumpulan objek yang
didefinisikan oleh pengguna, dimana tipe
entitas tersebut memiliki keberadaan yang
tidak terikat, dan merupakan representasi dari
sekumpulan objek pada dunia nyata dengan
nilai atribut yang sama
(Connolly dan
Carolyn 2002).
Relasi (relationship) adalah hubungan
antarentitas dan Entity–Relationship Model
(ER) adalah model data berbasiskan objek
yang berfungsi untuk merancang basis data
dengan pendekatan top-down yang tidak
ambigu dan mudah digunakan. Entitas,
atribut, relasi, dan batasan perhitungan
merupakan komponen dari ER. Tujuan ER
adalah
merepresentasikan
entitas
dan
relasinya.
Structured Query Languange (SQL)
SQL (Structured Query Language)
merupakan bahasa query dasar yang
digunakan untuk mengakses basis data
relasional (Connolly dan Carolyn 2002).
Ekspresi SQL mempunyai tiga klausa dasar,
yaitu :
1 SELECT
SELECT digunakan untuk menetapkan
field atau atribut yang ingin ditampilkan.
2 FROM
FROM digunakan untuk menetapkan tabel
apa saja yang akan ditelusuri selama
query.
3 WHERE
WHERE digunakan untuk mendapatkan
data dengan kriteria yang harus dipenuhi,
klausa ini bersifat opsional.

software life cycle merupakan salah satu jenis
pemodelan dari proses pengembangan
perangkat lunak. Disebut model waterfall
dikarenakan oleh terurutnya dari satu tahap ke
tahap yang lainnya (Pressman 2001). Tahap
utama dari model ini adalah membentuk
aktivitas pengembangan yang bersifat dasar,
seperti:
1 Analisis dan definisi kebutuhan
Pada tahap ini dilakukan konsultasi
dengan pengguna untuk mengetahui
batasan dan tujuan dari sistem yang akan
dirancang. Hal tersebut akan didefinisikan
secara detail dan dipergunakan sebagai
sebuah spesifikasi sistem.
2 Perancangan sistem dan perangkat lunak
Proses perancangan membagi kebutuhan
dari perangkat keras maupun perangkat
lunak. Proses ini akan membentuk secara
umum arsitektur sistem. Perancangan
perangkat lunak terdiri dari proses
mengidentifikasikan dan menjelaskan
abstraksi sistem perangkat lunak dan
keterhubungan di antaranya.
3 Implementasi
Hasil perancangan sistem pada tahap
sebelumnya mulai diimplementasikan agar
menghasilkan sistem yang dapat bekerja
dengan baik.
4 Pengujian integrasi dan sistem
Modul-modul program dan fungsi-fungsi
khusus yang termasuk di dalamnya
diintegrasikan dan diuji sebagai suatu
sistem yang lengkap, sehingga menjamin
kebutuhan perangkat lunak. Setelah
dilakukan pengujian, sis