• Tidak ada hasil yang ditemukan

PENERAPAN SEAM FRAMEWORK DALAM PENGEMBANGAN MASTER TEMPLATE SILABUS DAN SATUAN ACARA PERKULIAHAN (SAP)

N/A
N/A
Protected

Academic year: 2021

Membagikan "PENERAPAN SEAM FRAMEWORK DALAM PENGEMBANGAN MASTER TEMPLATE SILABUS DAN SATUAN ACARA PERKULIAHAN (SAP)"

Copied!
88
0
0

Teks penuh

(1)

SKRIPSI

PENERAPAN SEAM FRAMEWORK DALAM PENGEMBANGAN

MASTER TEMPLATE SILABUS DAN SATUAN ACARA

PERKULIAHAN (SAP)

(Studi Kasus : Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta)

Oleh :

Retno Ayu Widiyaningrum 105091002849

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH

JAKARTA 2009

(2)

PENGESAHAN UJIAN

Skripsi yang berjudul “Penerapan Seam Framework dalam Pengembangan Master Template Silabus dan Satuan Acara Perkuliahan (SAP), Studi Kasus : Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta, telah diuji dan dinyatakan lulus dalam Sidang Munaqosah Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta, pada hari Jum’at tanggal 28 Agustus 2009. Skripsi ini telah diterima sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer pada Program Teknik Informatika

Tim Penguji,

Jakarta, Agustus 2009

Penguji I

Yusuf Durrachman M.Sc, MIT

Penguji II

Arini ST, MT

Tim Pembimbing,

Pembimbing I

Viva Arifin, MMSI NIP. 150 378 016 Pembimbing II Imam M Shofi, MT NIP. 150 408 905 Mengetahui, Dekan

Fakultas Sains Dan Teknologi

DR. Syopiansyah Jaya Putra, M.Sis NIP. 150 317 956

Ketua Program Studi Teknik Informatika

Yusuf Durrachman MIT M.Sc NIP. 150 378 017

(3)

PERNYATAAN

DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR- BENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU LEMBAGA MANAPUN.

Jakarta, 10 September 2009

Retno Ayu Widiyaningrum 105091002849

(4)

Retno Ayu Widiyaningrum, Penerapan Seam Framework dalam Pengembangan Master Template Silabus dan Satuan Acara Perkuliahan (SAP), Studi Kasus : Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta, dibimbing oleh Viva Arifin, MMSI dan Imam M Shofi, MT.

Pada proses perkuliahan, baik mahasiswa maupun dosen tentunya akan berhubungan dengan suatu mata kuliah tertentu, sehingga dalam keadaan tertentu bukan tidak mungkin akan terjadi kesulitan dalam mengorganisir mata kuliah tersebut. Selain itu, masalah yang terjadi adalah ketidakseragaman format yang diberikan serta sulitnya mengakses informasi silabus dan SAP. Untuk membantu mengorganisir data silabus dan Satuan Acara Perkuliahan (SAP), maka diperlukan suatu aplikasi yang dapat menyimpan dan mengorganisir data sehingga mudah untuk diakses oleh mahasiswa maupun dosen. Melihat permasalahan yang terjadi di Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta, penulis bermaksud mengembangkan sebuah master template untuk menangani data silabus dan SAP dengan menggunakan Seam Framework. Metode pengembangan sistem yang penulis gunakan adalah Rapid Application Development (RAD). Pada akhirnya, sistem ini dapat memberikan keluaran kepada penggunanya berupa report data silabus dan SAP. Untuk ke depannya, aplikasi ini dapat dikembangkan lagi antara lain dengan melakukan integrasi dengan aplikasi-aplikasi akademik lainnya.

Kata Kunci : Seam Framework, Silabus, Satuan Acara Perkuliahan Jumlah Halaman : 138 halaman

(5)

KATA PENGANTAR

Bismillahirrahmannirrahiim………

Segala puji dan syukur penulis panjatkan kepada Allah SWT, Yang Maha Kuasa dan telah memberikan berkah dan anugerahNya kepada penulis sehingga penulis mampu melaksanakan tugas untuk menyelesaikan skripsi ini dengan sebaik-baiknya. Shalawat serta salam tak lupa juga penulis haturkan kepada junjungan kita Nabi Besar Muhammad SAW.

Skripsi ini penulis buat sebagai syarat kelulusan dalam menempuh pendidikan jenjang Strata-1 (S1) di Universitas Islam Negeri Syarif Hidayatullah Jakarta. Selain itu juga penulis berharap apa yang penulis teliti, yang dijelaskan di dalam skripsi ini, dapat dipergunakan dengan baik oleh semua pihak yang membutuhkan, sehingga perkembangan ilmu pengetahuan dan teknologi khususnya di Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta dapat lebih maju dan lulusannya dapat bekerja secara kooperatif dengan semua elemen informatika dari seluruh dunia.

Pada kesempatan ini, penulis mengucapkan terima kasih kepada pihak- pihak yang telah membantu penulis menyelesaikan skripsi ini :

1. Bapak Dr. Syopiansyah jaya Putra M.Sis selaku Dekan Fakultas Sains dan Teknologi.

2. Bapak Yusuf Durrachman M.Sc, MIT selaku ketua Program Studi Teknik Informatika atas kesempatan untuk dapat melakukan penelitian di Program Studi Teknik Informatika UIN Jakarta.

(6)

3. Ibu Viva Arifin MMSi dan Bapak Imam M Shofi MT yang telah rela meluangkan waktunya untuk mendukung dan membimbing penulis dalam menyelesaikan skripsi ini.

4. Bapak dan Ibu penguji yang memberikan kritik dan saran pada skripsi ini. 5. Dosen-Dosen Fakultas Sains dan Teknologi yang telah

mengajarkan kepada penulis berbagai macam ilmu yang dapat penulis terapkan dalam penulisan skripsi ini.

6. Kedua orang tua penulis, Zainal Arifin, SE dan Endang Sri Hariyanti Ningsih, yang telah memberikan dukungan moril, semangat dan materiil sehingga memperlancar proses penyusunan skripsi ini. 7. Kedua kakak penulis, Andini Endah Ayu Werdhiningsih S.Kom

dan Arieanda Sudewo S.Pi yang telah menjadi tempat penulis melepaskan penat dalam penyusunan Skripsi ini.

8. Teman-Teman seperjuangan TI UIN 2005, terutama TI-B-05 atas dukungan kalian semua.

Penulis menyadari masih terdapat banyak kekurangan dalam penelitian ini, baik penulisan maupun aplikasinya sendiri. Oleh karena itu penulis mengharapkan saran dan kritik yang dapat membangun skripsi ini lebih baik lagi.

Jakarta, Agustus 2009

Penulis

v ii

(7)

DAFTAR ISI

Halaman

Halaman judul ... i

Persetujuan pembimbing ... ii

Halaman pengesahan ... iii

Halaman pernyataan ... iv

Abstrak ... v

Kata Pengantar ... vi

Daftar isi... viii

Daftar gambar ... xii

Daftar tabel ...xiv

Daftar lampiran ...xv BAB I PENDAHULUAN 1.1. Latar Belakang ... 1 1.2. Perumusan Masalah... 3 1.3. Pembatasan Masalah ... 3 1.4. Tujuan Penelitian... 5 1.5. Manfaat Penelitian ... 5 1.6. Sistematika Penulisan ... 7

(8)

BAB II LANDASAN TEORI 2.1. Penerapan ... 9 2.2. Framework ... 9 2.3. Seam Framework ... 12 2.3.1. Definisi ... 15 2.3.2. Keunggulan ... 18

2.3.3. Teknologi yang Digunakan ... 22

2.3.4. Struktur File ... 31 2.4. Pengembangan ... 33 2.5. Master Template ... 33 2.6. Silabus ... 34 2.7. SAP ... 35 2.8. Metodologi Penelitian ... 35

2.9. Unified Modelling Language (UML) ... 42

2.10. Penelitian Sebelumnya yang Berhubungan ... 47

BAB III METODOLOGI PENELITIAN 3.1. Metode Pengumpulan Data ... 49

3.1.1. Observasi ... 49

3.1.2. Studi Pustaka... 50

3.1.3. Wawancara ... 50

3.2. Metode Pengembangan Sistem ... 51

3.2.1. Analisis ... 52

(9)

3.2.2. Perancangan ... 53

3.2.3. Pengembangan ... 56

3.2.4. Pengujian ... 56

BAB IV ANALISIS DAN PERANCANGAN 4.1. Sekilas Tentang Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta... 59

4.1.1. Visi Misi Program Studi teknik Informatika ... 59

4.1.2. Tujuan Program Studi teknik Informatika ... 60

4.1.3. Kurikulum Program Studi teknik Informatika ... 62

4.2. Analisis ... 63

4.2.1. Alur Kerja Sistem Berjalan... 63

4.2.2. Identifikasi Masalah ... 64

4.2.3. Uraian Singkat Sistem yang Diusulkan ... 66

4.2.4. Studi Feasibilitas ... 69

4.3. Perancangan Sistem yang Diusulkan ... 71

4.3.1. Perancangan Aplikasi... 71

4.3.2. Perancangan Basis Data... 106

4.3.3. Perancangan User Interface ... 121

4.4. Pengembangan ... 123

4.4.1. Bahasa pemrograman dan Komponen ... 123

4.4.2. Alur Kerja Seam Framework ... 124

4.5. Pengujian ... 130

(10)

4.5.1. Whitebox (Pengujian Mandiri) ... 131 4.5.2. Blackbox (Pengujian Lapangan) ... 132 BAB V KESIMPULAN DAN SARAN

5.1. Kesimpulan ... 134 5.2. Saran ... 135 DAFTAR PUSTAKA ... 137 LAMPIRAN-LAMPIRAN

(11)

DAFTAR GAMBAR

Halaman

Gambar 2.1. Arsitektur Jboss Seam ... 15

Gambar 2.2. Seam Multitier Architecture ... 20

Gambar 2.3. Java Server Faces (JSF) Architecture ... 25

Gambar 2.4. Waterfall Model ... 37

Gambar 2.5. Contoh Class Diagram ... 43

Gambar 3.1. Tahapan RAD ... 52

Gambar 3.2. Alur Penelitian ... 58

Gambar 4.1. Flowchart sistem berjalan ... 64

Gambar 4.2. Flowchart sistem yang diusulkan ... 68

Gambar 4.3. Use Case ... 74

Gambar 4.4. Login activity diagram ... 80

Gambar 4.5. Activity diagram pemasukan data dosen ... 81

Gambar 4.6. Activity diagram perubahan data dosen ... 82

Gambar 4.7. Activity diagram penghapusan data dosen ... 83

Gambar 4.8. Activity diagram detail data dosen ... 84

Gambar 4.9. Activity diagram pemasukan data silabus... 84

Gambar 4.10. Activity diagram pemasukan data SAP ... 85

Gambar 4.11. Activity diagram pencarian data silabus, SAP, dan dosen ... 86

Gambar 4.12. Activity diagram detail data silabus dan SAP ... 87

Gambar 4.13. Activity diagram perubahan data silabus... 88

(12)

Gambar 4.15. Activity diagram penghapusan data silabus dan SAP... 90

Gambar 4.16. Sequence diagram login ... 91

Gambar 4.17. Sequence diagram pemasukan data silabus dan user... 92

Gambar 4.18. Sequence diagram pemasukan data SAP... 93

Gambar 4.19. Sequence diagram pencarian data silabus dan dosen... 94

Gambar 4.20. Sequence diagram detail data silabus, SAP dan user... 95

Gambar 4.21. Sequence diagram perubahan data silabus ... 96

Gambar 4.22. Sequence diagram perubahan data SAP ... 97

Gambar 4.23. Sequence diagram perubahan data dosen... 98

Gambar 4.24. Sequence diagram penghapusan data silabus, SAP dan dosen . . . 99

Gambar 4.25. Sequence diagram penghapusan data user... 100

Gambar 4.26. Class diagram ... 102

Gambar 4.27. Tabel Matkul di Database ... 118

Gambar 4.28. Tabel Dosen di Database ... 119

Gambar 4.29. Tabel Sap di Database ... 119

Gambar 4.30. Tabel User di Database ... 119

Gambar 4.31. Struktur basis data ... 120

Gambar 4.32. Rancangan halaman utama ... 121

Gambar 4.33. Rancangan halaman pemasukan data ... 121

Gambar 4.34. Rancangan halaman tampilan data ... 122

Gambar 4.35. Rancangan halaman perubahan data ... 122

Gambar 4.36. Rancangan halaman penghapusan data ... 123

(13)

DAFTAR GAMBAR

Halaman

Gambar 2.1. Arsitektur Jboss Seam ... 15

Gambar 2.2. Seam Multitier Architecture ... 20

Gambar 2.3. Java Server Faces (JSF) Architecture ... 25

Gambar 2.4. Waterfall Model ... 37

Gambar 2.5. Contoh Class Diagram ... 43

Gambar 3.1. Tahapan RAD ... 52

Gambar 3.2. Alur Penelitian ... 58

Gambar 4.1. Flowchart sistem berjalan ... 64

Gambar 4.2. Flowchart sistem yang diusulkan ... 68

Gambar 4.3. Use Case ... 74

Gambar 4.4. Login activity diagram ... 80

Gambar 4.5. Activity diagram pemasukan data dosen ... 81

Gambar 4.6. Activity diagram perubahan data dosen ... 82

Gambar 4.7. Activity diagram penghapusan data dosen ... 83

Gambar 4.8. Activity diagram detail data dosen ... 84

Gambar 4.9. Activity diagram pemasukan data silabus... 84

Gambar 4.10. Activity diagram pemasukan data SAP ... 85

Gambar 4.11. Activity diagram pencarian data silabus, SAP, dan dosen ... 86

Gambar 4.12. Activity diagram detail data silabus dan SAP ... 87

Gambar 4.13. Activity diagram perubahan data silabus... 88

Gambar 4.14. Activity diagram perubahan data SAP... 89

(14)

Gambar 4.15. Activity diagram penghapusan data silabus dan SAP... 90

Gambar 4.16. Sequence diagram login ... 91

Gambar 4.17. Sequence diagram pemasukan data silabus dan user... 92

Gambar 4.18. Sequence diagram pemasukan data SAP... 93

Gambar 4.19. Sequence diagram pencarian data silabus dan dosen... 94

Gambar 4.20. Sequence diagram detail data silabus, SAP dan user... 95

Gambar 4.21. Sequence diagram perubahan data silabus ... 96

Gambar 4.22. Sequence diagram perubahan data SAP ... 97

Gambar 4.23. Sequence diagram perubahan data dosen... 98

Gambar 4.24. Sequence diagram penghapusan data silabus, SAP dan dosen . . . 99

Gambar 4.25. Sequence diagram penghapusan data user... 100

Gambar 4.26. Class diagram ... 102

Gambar 4.27. Tabel Matkul di Database ... 118

Gambar 4.28. Tabel Dosen di Database ... 119

Gambar 4.29. Tabel Sap di Database ... 119

Gambar 4.30. Tabel User di Database ... 119

Gambar 4.31. Struktur basis data ... 120

Gambar 4.32. Rancangan halaman utama ... 121

Gambar 4.33. Rancangan halaman pemasukan data ... 121

Gambar 4.34. Rancangan halaman tampilan data ... 122

Gambar 4.35. Rancangan halaman perubahan data ... 122

Gambar 4.36. Rancangan halaman penghapusan data ... 123

xi ii

(15)

BAB I PENDAHULUAN

1.1.Latar Belakang

Dunia pemrograman saat ini, baik pemrograman desktop maupun web based, sudah semakin marak pengerjaannya dengan menggunakan framework. Framework memang dikembangkan untuk mempermudah dalam developing suatu aplikasi. Selain itu, dengan framework, waktu yang dihabiskan untuk membangun sebuah aplikasi dapat dikurangi secara signifikan.

Seam Framework merupakan sebuah framework berbasis Java EE yang merupakan penggabungan dari 3 (tiga) komponen, yaitu Enterprise Java Bean (EJB) yang merupakan komponen back-end, Java Persistence API (JPA) yang bekerja dengan database, dan Java Server Faces(JSF) yang bekerja pada tampilan aplikasi. Penggabungan ketiganya sangat memudahkan developer karena developer hanya harus berpikir pada business logic aplikasinya saja tanpa harus berpikir bagaimana untuk membangun core aplikasinya sendiri.

Pada proses perkuliahan, baik mahasiswa maupun dosen tentunya akan berhubungan dengan suatu mata kuliah tertentu, sehingga dalam keadaan tertentu bukan tidak mungkin akan terjadi kesulitan dalam mengorganisir mata kuliah tersebut. Untuk mencegah hal itu terjadi, untuk memudahkan baik dosen maupun mahasiswa dalam menyatukan pikiran mengenai kerangka suatu mata kuliah, maka pengembangan sistem dalam hal pengorganisasian mata kuliah serta Satuan Acara Perkuliahan (SAP) dinilai perlu untuk dilakukan. Adanya sistem seperti ini otomatis akan membantu dosen dalam menerangkan kerangka suatu mata kuliah kepada mahasiswa, serta memudahkan mahasiswa dalam mencari informasi mengenai mata kuliah tersebut. Oleh karena itu, penulis ingin mencoba membangun sebuah aplikasi yang dapat mengorganisir data silabus dan Satuan Acara Perkuliahan (SAP) dengan

(16)

pengembangan aplikasi ini dapat berjalan lebih cepat dan lebih memiliki nilai standardisasi sehingga lebih mudah untuk dikembangkan. Selain itu aplikasi akan menjadi lebih stabil dalam mengorganisir data yang banyak, dan dengan tampilan yang menarik

Objek penelitian yang diambil oleh penulis adalah Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta, mengingat sistem pengorganisasian silabus dan SAP ini sendiri belum dikembangkan di Program Studi tersebut sehingga masih banyak terjadi kesimpangsiuran dalam memahami kerangka perkuliahan itu sendiri. Hal inilah yang mendorong penulis untuk melakukan penelitian “PENERAPAN SEAM FRAMEWORK DALAM PENGEMBANGAN MASTER TEMPLATE SILABUS DAN SATUAN ACARA PERKULIAHAN (SAP)” dengan Studi Kasus pada “Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta”. Nantinya, aplikasi ini diharapkan dapat menjadi sumber informasi bagi seluruh civitas akademika Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta.

1.2.Perumusan Masalah

Berdasarkan penjabaran tersebut, penulis mengidentifikasikan masalah yang saat ini dihadapi adalah :

1. Banyaknya terjadi kesimpangsiuran informasi mengenai kerangka mata kuliah tertentu yang disebabkan oleh kondisi dimana beberapa dosen dapat mengajar satu mata kuliah yang sama.

2. Pekerjaan pembuatan silabus dan SAP mata kuliah tertentu masih dilakukan secara individual.

3. Pekerjaan pengorganisasian keseluruhan silabus dan SAP yang dilakukan oleh akademik prodi masih dilakukan secara manual.

(17)

4. Kesulitan dalam pencarian data silabus serta Satuan Acara Perkuliahan (SAP) tertentu.

5. Ketidakseragaman format Silabus dan Satuan Acara Perkuliahan (SAP) yang diserahkan oleh dosen kepada pihak akademik Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta.

Sehingga penulis merumuskan bahwa permasalahan yang akan diselesaikan dengan penelitian ini adalah : Bagaimana membuat master template silabus dan SAP dan mengintegrasikannya dengan menggunakan Seam Framework ?

1.3.Pembatasan Masalah

Dalam perancangan sistem informasi silabus dan SAP ini, penulis membatasi masalah sebagai berikut :

1. Analisis dan perancangan struktural basis data yang akan menampung keseluruhan silabus dan Satuan Acara Perkuliahan (SAP) pada Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta berdasarkan kurikulum 2006.

2. Analisis dan perancangan aplikasi berbasis web yang dapat mengakses informasi dari basis data tersebut kepada user.

3. Perancangan aplikasi sistem informasi silabus dan SAP berbasis web yang dapat mempermudah pencarian terhadap mata kuliah tertentu.

4. Data silabus dan Satuan Acara Perkuliahan (SAP) yang dimasukkan adalah silabus dan Satuan Acara Perkuliahan (SAP) yang ada pada Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta. Dalam hal ini, mata kuliah yang dijadikan sample adalah mata kuliah Aplikasi Jaringan I dan mata kuliah Desain dan Pemrograman Jaringan.

5. Dalam melakukan perancangan aplikasi, penulis menggunakan Unified Modelling Language (UML) sebagai tools-nya.

(18)

framework-nya dengan Eclipse sebagai IDE-nya, database yang digunakan adalah mysql, dan aplikasi dijalankan di application server JBoss. Sedangkan untuk reporting engine, penulis menggunakan Jasper Report.

7. Report yang dihasilkan oeh aplikasi ini ada 2 (dua), yaitu report silabus dan report Satuan Acara Perkuliahan (SAP) per mata kuliah dan mengacu kepada jumlah dosen yang mengajar mata kuliah tersebut.

8. Pengguna sistem ini nantinya adalah pihak akademik prodi sebagai pengontrol (admin), dosen, dan mahasiswa.

1.4.Tujuan Penelitian

Tujuan yang ingin dicapai oleh penulis dari penelitian ini adalah :

1. Merancang sebuah aplikasi sistem informasi silabus dan SAP yang sesuai dengan mata kuliah yang ada di Program Studi Teknik Informatika UIN Jakarta. 2. Merancang aplikasi sistem informasi silabus dan SAP sehingga pemasukan data

dapat dilakukan secara otomatis ke dalam database melalui media web.

3. Merancang aplikasi sistem informasi silabus dan SAP yang dapat memudahkan pencarian serta pengorganisasian data.

1.5.Manfaat Penelitian

1.5.1. Bagi Program Studi Teknik Informatika UIN Jakarta

Manfaat yang dapat dipetik oleh Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta dari penelitian ini antara lain :

1. Pengorganisasian data silabus dan SAP dalam bentuk basis data.

2. Dapat mempermudah pihak akademik maupun dosen dalam memasukkan dan mengorganisir data silabus dan SAP.

(19)

3. Dapat mempermudah pihak akademik maupun dosen dalam pencarian maupun perubahan data silabus dan SAP.

1.5.2. Bagi Dosen

Manfaat yang dapat diambil oleh dosen dari adanya sistem informasi silabus dan SAP ini antara lain :

1. Dapat mempermudah dalam mendistribusikan silabus serta SAP mata kuliah yang diajarnya kepada mahasiswa maupun pihak akademik.

2. Dapat menjadi acuan dalam memberikan perkuliahan kepada mahasiswa. 3. Dapat memudahkan dalam pengisian serta perubahan silabus serta SAP

nya.

1.5.3. Bagi Mahasiswa

Manfaat yang dapat diambil oleh mahasiswa Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta dengan adanya pengembangan sistem silabus dan SAP ini antara lain :

1. Mempermudah dalam mencari informasi mengenai mata kuliah tertentu. 2. Mempermudah dalam mencari referensi mengenai mata kuliah tertentu. 3. Dapat menjadi acuan dalam proses pembelajaran.

4. Dapat mengetahui runutan Satuan Acara Perkuliahan (SAP) sehingga dapat mempersiapkan diri sebelumnya.

1.6. Sistematika Penulisan

Dalam skripsi ini, penulis menjabarkan penelitian dalam Perancangan Sistem Informasi Silabus dan Satuan Acara Perkuliahan (SAP) ini dalam 5 (lima) Bab, yaitu :

(20)

penelitian, perumusan masalah, pembatasan masalah, tujuan, serta manfaat yang dapat diambil dari penelitian ini.

BAB II LANDASAN TEORI

Bab ini berisi pembahasan teori-teori yang digunakan sebagai panduan dasar dalam pengembangan sistem ini.

BAB III METODOLOGI PENELITIAN

Bab ini berisi metodologi penelitian yang digunakan serta langkah-langkah yang digunakan terkait dengan penelitian yang dilakukan.

BAB IV ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi analisis terhadap kebutuhan sistem, serta implementasi pengembangannya secara konkrit.

BAB V KESIMPULAN DAN SARAN

Bab ini merupakan bab penutup yang berisi kesimpulan serta saran yang dapat membantu pengembangan sistem informasi ini di masa yang akan datang.

(21)

ABSTRAK

Retno Ayu Widiyaningrum, Penerapan Seam Framework dalam Pengembangan Master Template Silabus dan Satuan Acara Perkuliahan (SAP), Studi Kasus : Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta, dibimbing oleh Viva Arifin, MMSI dan Imam M Shofi, MT.

Pada proses perkuliahan, baik mahasiswa maupun dosen tentunya akan berhubungan dengan suatu mata kuliah tertentu, sehingga dalam keadaan tertentu bukan tidak mungkin akan terjadi kesulitan dalam mengorganisir mata kuliah tersebut. Selain itu, masalah yang terjadi adalah ketidakseragaman format yang diberikan serta sulitnya mengakses informasi silabus dan SAP. Untuk membantu mengorganisir data silabus dan Satuan Acara Perkuliahan (SAP), maka diperlukan suatu aplikasi yang dapat menyimpan dan mengorganisir data sehingga mudah untuk diakses oleh mahasiswa maupun dosen. Melihat permasalahan yang terjadi di Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta, penulis bermaksud mengembangkan sebuah master template untuk menangani data silabus dan SAP dengan menggunakan Seam Framework. Metode pengembangan sistem yang penulis gunakan adalah Rapid Application Development (RAD). Pada akhirnya, sistem ini dapat memberikan keluaran kepada penggunanya berupa report data silabus dan SAP. Untuk ke depannya, aplikasi ini dapat dikembangkan lagi antara lain dengan melakukan integrasi dengan aplikasi-aplikasi akademik lainnya.

Kata Kunci : Seam Framework, Silabus, Satuan Acara Perkuliahan Jumlah Halaman : 138 halaman

Jumlah Daftar Pustaka : 21 sumber

(22)

DAFTAR ISI

Halaman Halaman judul ... i Persetujuan pembimbing ... ii Halaman pengesahan ... iii Halaman pernyataan ... iv Abstrak ... v Kata Pengantar ... vi Daftar isi... viii Daftar gambar ... xii Daftar tabel ...xiv Daftar lampiran ...xv BAB I PENDAHULUAN 1.1. Latar Belakang ... 1 1.2. Perumusan Masalah... 3 1.3. Pembatasan Masalah ... 3 1.4. Tujuan Penelitian... 5 1.5. Manfaat Penelitian ... 5 1.6. Sistematika Penulisan ... 7 viii

(23)

DAFTAR TABEL

Halaman Tabel 2.1. Struktur File Seam Framework... 32 Tabel 2.2. Perbandingan Metodologi ... 38 Tabel 2.3. Notasi UML... 46 Tabel 4.1. Kurikulum di Prodi TI UIN ... 62 Tabel 4.3. Hasil pengujian mandiri ... 131 Tabel 4.4. Pengujian Lapangan ... 133

(24)

KATA PENGANTAR

Bismillahirrahmannirrahiim………

Segala puji dan syukur penulis panjatkan kepada Allah SWT, Yang Maha Kuasa dan telah memberikan berkah dan anugerahNya kepada penulis sehingga penulis mampu melaksanakan tugas untuk menyelesaikan skripsi ini dengan sebaik-baiknya. Shalawat serta salam tak lupa juga penulis haturkan kepada junjungan kita Nabi Besar Muhammad SAW.

Skripsi ini penulis buat sebagai syarat kelulusan dalam menempuh pendidikan jenjang Strata-1 (S1) di Universitas Islam Negeri Syarif Hidayatullah Jakarta. Selain itu juga penulis berharap apa yang penulis teliti, yang dijelaskan di dalam skripsi ini, dapat dipergunakan dengan baik oleh semua pihak yang membutuhkan, sehingga perkembangan ilmu pengetahuan dan teknologi khususnya di Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta dapat lebih maju dan lulusannya dapat bekerja secara kooperatif dengan semua elemen informatika dari seluruh dunia.

Pada kesempatan ini, penulis mengucapkan terima kasih kepada pihak- pihak yang telah membantu penulis menyelesaikan skripsi ini :

1. Bapak Dr. Syopiansyah jaya Putra M.Sis selaku Dekan Fakultas Sains dan Teknologi.

2. Bapak Yusuf Durrachman M.Sc, MIT selaku ketua Program Studi Teknik Informatika atas kesempatan untuk dapat melakukan penelitian di Program Studi Teknik Informatika UIN Jakarta.

(25)

PERNYATAAN

DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENAR- BENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI ATAU LEMBAGA MANAPUN.

Jakarta, 10 September 2009

Retno Ayu Widiyaningrum 105091002849

(26)

DAFTAR GAMBAR

Halaman Gambar 2.1. Arsitektur Jboss Seam ... 15 Gambar 2.2. Seam Multitier Architecture ... 20 Gambar 2.3. Java Server Faces (JSF) Architecture ... 25 Gambar 2.4. Waterfall Model ... 37 Gambar 2.5. Contoh Class Diagram ... 43 Gambar 3.1. Tahapan RAD ... 52 Gambar 3.2. Alur Penelitian ... 58 Gambar 4.1. Flowchart sistem berjalan ... 64 Gambar 4.2. Flowchart sistem yang diusulkan ... 68 Gambar 4.3. Use Case ... 74 Gambar 4.4. Login activity diagram ... 80 Gambar 4.5. Activity diagram pemasukan data dosen ... 81 Gambar 4.6. Activity diagram perubahan data dosen ... 82 Gambar 4.7. Activity diagram penghapusan data dosen ... 83 Gambar 4.8. Activity diagram detail data dosen ... 84 Gambar 4.9. Activity diagram pemasukan data silabus... 84 Gambar 4.10. Activity diagram pemasukan data SAP ... 85 Gambar 4.11. Activity diagram pencarian data silabus, SAP, dan dosen ... 86 Gambar 4.12. Activity diagram detail data silabus dan SAP ... 87 Gambar 4.13. Activity diagram perubahan data silabus... 88 Gambar 4.14. Activity diagram perubahan data SAP... 89

xii BAB I

(27)

PENDAHULUAN

1.6.Latar Belakang

Dunia pemrograman saat ini, baik pemrograman desktop maupun web based, sudah semakin marak pengerjaannya dengan menggunakan framework. Framework memang dikembangkan untuk mempermudah dalam developing suatu aplikasi. Selain itu, dengan framework, waktu yang dihabiskan untuk membangun sebuah aplikasi dapat dikurangi secara signifikan.

Seam Framework merupakan sebuah framework berbasis Java EE yang merupakan penggabungan dari 3 (tiga) komponen, yaitu Enterprise Java Bean (EJB) yang merupakan komponen back-end, Java Persistence API (JPA) yang bekerja dengan database, dan Java Server Faces(JSF) yang bekerja pada tampilan aplikasi. Penggabungan ketiganya sangat memudahkan developer karena developer hanya harus berpikir pada business logic aplikasinya saja tanpa harus berpikir bagaimana untuk membangun core aplikasinya sendiri.

Pada proses perkuliahan, baik mahasiswa maupun dosen tentunya akan berhubungan dengan suatu mata kuliah tertentu, sehingga dalam keadaan tertentu bukan tidak mungkin akan terjadi kesulitan dalam mengorganisir mata kuliah tersebut. Untuk mencegah hal itu terjadi, untuk memudahkan baik dosen maupun mahasiswa dalam menyatukan pikiran mengenai kerangka suatu mata kuliah, maka pengembangan sistem dalam hal pengorganisasian mata kuliah serta Satuan Acara Perkuliahan (SAP) dinilai perlu untuk dilakukan. Adanya sistem seperti ini otomatis akan membantu dosen dalam menerangkan kerangka suatu mata kuliah kepada mahasiswa, serta memudahkan mahasiswa dalam mencari informasi mengenai mata kuliah tersebut. Oleh karena itu, penulis ingin mencoba membangun sebuah aplikasi yang dapat mengorganisir data silabus dan Satuan Acara Perkuliahan (SAP) dengan menggunakan Seam Framework, karena dengan menggunakan Seam Framework,

(28)

standardisasi sehingga lebih mudah untuk dikembangkan. Selain itu aplikasi akan menjadi lebih stabil dalam mengorganisir data yang banyak, dan dengan tampilan yang menarik

Objek penelitian yang diambil oleh penulis adalah Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta, mengingat sistem pengorganisasian silabus dan SAP ini sendiri belum dikembangkan di Program Studi tersebut sehingga masih banyak terjadi kesimpangsiuran dalam memahami kerangka perkuliahan itu sendiri. Hal inilah yang mendorong penulis untuk melakukan penelitian “PENERAPAN SEAM FRAMEWORK DALAM PENGEMBANGAN MASTER TEMPLATE SILABUS DAN SATUAN ACARA PERKULIAHAN (SAP)” dengan Studi Kasus pada “Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta”. Nantinya, aplikasi ini diharapkan dapat menjadi sumber informasi bagi seluruh civitas akademika Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta.

1.7.Perumusan Masalah

Berdasarkan penjabaran tersebut, penulis mengidentifikasikan masalah yang saat ini dihadapi adalah :

6. Banyaknya terjadi kesimpangsiuran informasi mengenai kerangka mata kuliah tertentu yang disebabkan oleh kondisi dimana beberapa dosen dapat mengajar satu mata kuliah yang sama.

7. Pekerjaan pembuatan silabus dan SAP mata kuliah tertentu masih dilakukan secara individual.

8. Pekerjaan pengorganisasian keseluruhan silabus dan SAP yang dilakukan oleh akademik prodi masih dilakukan secara manual.

(29)

9. Kesulitan dalam pencarian data silabus serta Satuan Acara Perkuliahan (SAP) tertentu.

10.Ketidakseragaman format Silabus dan Satuan Acara Perkuliahan (SAP) yang diserahkan oleh dosen kepada pihak akademik Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta.

Sehingga penulis merumuskan bahwa permasalahan yang akan diselesaikan dengan penelitian ini adalah : Bagaimana membuat master template silabus dan SAP dan mengintegrasikannya dengan menggunakan Seam Framework ?

1.8.Pembatasan Masalah

Dalam perancangan sistem informasi silabus dan SAP ini, penulis membatasi masalah sebagai berikut :

9. Analisis dan perancangan struktural basis data yang akan menampung keseluruhan silabus dan Satuan Acara Perkuliahan (SAP) pada Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta berdasarkan kurikulum 2006.

10.Analisis dan perancangan aplikasi berbasis web yang dapat mengakses informasi dari basis data tersebut kepada user.

11.Perancangan aplikasi sistem informasi silabus dan SAP berbasis web yang dapat mempermudah pencarian terhadap mata kuliah tertentu.

12.Data silabus dan Satuan Acara Perkuliahan (SAP) yang dimasukkan adalah silabus dan Satuan Acara Perkuliahan (SAP) yang ada pada Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta. Dalam hal ini, mata kuliah yang dijadikan sample adalah mata kuliah Aplikasi Jaringan I dan mata kuliah Desain dan Pemrograman Jaringan.

13.Dalam melakukan perancangan aplikasi, penulis menggunakan Unified Modelling Language (UML) sebagai tools-nya.

(30)

framework-nya dengan Eclipse sebagai IDE-nya, database yang digunakan adalah mysql, dan aplikasi dijalankan di application server JBoss. Sedangkan untuk reporting engine, penulis menggunakan Jasper Report.

15.Report yang dihasilkan oeh aplikasi ini ada 2 (dua), yaitu report silabus dan report Satuan Acara Perkuliahan (SAP) per mata kuliah dan mengacu kepada jumlah dosen yang mengajar mata kuliah tersebut.

16.Pengguna sistem ini nantinya adalah pihak akademik prodi sebagai pengontrol (admin), dosen, dan mahasiswa.

1.9.Tujuan Penelitian

Tujuan yang ingin dicapai oleh penulis dari penelitian ini adalah :

4. Merancang sebuah aplikasi sistem informasi silabus dan SAP yang sesuai dengan mata kuliah yang ada di Program Studi Teknik Informatika UIN Jakarta. 5. Merancang aplikasi sistem informasi silabus dan SAP sehingga pemasukan data

dapat dilakukan secara otomatis ke dalam database melalui media web.

6. Merancang aplikasi sistem informasi silabus dan SAP yang dapat memudahkan pencarian serta pengorganisasian data.

1.10. Manfaat Penelitian

1.10.1.Bagi Program Studi Teknik Informatika UIN Jakarta

Manfaat yang dapat dipetik oleh Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta dari penelitian ini antara lain :

4. Pengorganisasian data silabus dan SAP dalam bentuk basis data.

5. Dapat mempermudah pihak akademik maupun dosen dalam memasukkan dan mengorganisir data silabus dan SAP.

(31)

6. Dapat mempermudah pihak akademik maupun dosen dalam pencarian maupun perubahan data silabus dan SAP.

1.5.2. Bagi Dosen

Manfaat yang dapat diambil oleh dosen dari adanya sistem informasi silabus dan SAP ini antara lain :

4. Dapat mempermudah dalam mendistribusikan silabus serta SAP mata kuliah yang diajarnya kepada mahasiswa maupun pihak akademik.

5. Dapat menjadi acuan dalam memberikan perkuliahan kepada mahasiswa. 6. Dapat memudahkan dalam pengisian serta perubahan silabus serta SAP

nya.

1.6.3. Bagi Mahasiswa

Manfaat yang dapat diambil oleh mahasiswa Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta dengan adanya pengembangan sistem silabus dan SAP ini antara lain :

5. Mempermudah dalam mencari informasi mengenai mata kuliah tertentu. 6. Mempermudah dalam mencari referensi mengenai mata kuliah tertentu. 7. Dapat menjadi acuan dalam proses pembelajaran.

8. Dapat mengetahui runutan Satuan Acara Perkuliahan (SAP) sehingga dapat mempersiapkan diri sebelumnya.

1.7. Sistematika Penulisan

Dalam skripsi ini, penulis menjabarkan penelitian dalam Perancangan Sistem Informasi Silabus dan Satuan Acara Perkuliahan (SAP) ini dalam 5 (lima) Bab, yaitu :

(32)

penelitian, perumusan masalah, pembatasan masalah, tujuan, serta manfaat yang dapat diambil dari penelitian ini.

BAB II LANDASAN TEORI

Bab ini berisi pembahasan teori-teori yang digunakan sebagai panduan dasar dalam pengembangan sistem ini.

BAB III METODOLOGI PENELITIAN

Bab ini berisi metodologi penelitian yang digunakan serta langkah-langkah yang digunakan terkait dengan penelitian yang dilakukan.

BAB IV ANALISIS DAN PERANCANGAN SISTEM

Bab ini berisi analisis terhadap kebutuhan sistem, serta implementasi pengembangannya secara konkrit.

BAB V KESIMPULAN DAN SARAN

Bab ini merupakan bab penutup yang berisi kesimpulan serta saran yang dapat membantu pengembangan sistem informasi ini di masa yang akan datang.

(33)

BAB II LANDASAN TEORI 2.1. Penerapan

Berdasarkan definisi yang diberikan oleh Kamus Besar Bahasa Indonesia (KBBI), penerapan, yang berasal dari kata dasar “terap”, berarti : proses, cara, perbuatan menerapkan.

(http://pusatbahasa.diknas.go.id/kbbi).

Jadi, penerapan adalah sebuah cara untuk melakukan sesuatu berdasarkan aturan atau metode tertentu. Dalam konteks ini, aturan yang akan dijadikan acuan adalah Seam Framework. Mengenai Seam Framework, akan dijelaskan pada bagian berikutnya.

2.2. Framework

Beberapa definisi framework :

The American Heritage® Dictionary of the English Language : A

structure for supporting or enclosing something else, especially a skeletal support used as the basis for something being constructed.

The Free Online Dictionary of Computing : In object-oriented systems,

a set of classes that embodies an abstract design for solutions to a number of related problems.

(http://dictionary.reference.com/browse/framework)

Framework dalam dunia komputer digunakan sebagai sebuah acuan utama berupa kerangka program yang bersifat global, yang dapat disesuaikan dengan keinginan penggunanya. Framework yang dikembangkan saat ini telah mencakup berbagai macam bahasa pemrograman. Pada pemrograman web, framework telah dikembangkan untuk bahasa pemrograman antara lain PHP, dan Java. Untuk PHP, framework yang banyak digunakan misalnya Zend Framework

(34)

oleh Ellislab, Inc., dan Seagull Framework yang memiliki lisensi dibawah BSD. Sedangkan untuk bahasa pemrograman Java, framework yang tersedia sangat banyak. Disini penulis akan memaparkan 3 buah framework berbasis Java, yaitu :

a) Apache Struts

Apache Struts adalah sebuah framework aplikasi web untuk tujuan pembangunan aplikasi web berbasis Java Enterprise Edition. Apache Struts mengembangkan Java Servlet API serta menggadopsi arsitektur Model View Controller (MVC). Model digunakan untuk merepresentasikan business atau database code, sedangkan view digunakan untuk merepresentasikan page design code, dan controller digunakan untuk merepresentasikan navigational code. Apache Struts pertama kali dibuat oleh Craig McClahanan dan kemudian didonasikan untuk Apache Foundation pada bulan Mei tahun 2000. (http://struts.apache.org/)

b) Seam Framework

Seam Framework merupakan salah satu framework yang berbasiskan Java, dengan spesifikasi Java Enterprise Edition (JEE).

(JENI, Java Framework, 2008:1)

Seam Framework dibuat dengan menggabungkan antara Enterprise Java Beans (EJB) 3.0 dengan Java Server Faces (JSF). Seam Framework dibuat dan dikembangkan oleh JBoss yang merupakan salah satu divisi dari RedHat. Project pengembangan Seam pertama kali dilakukan pada bulan September tahun 2005 dan dipelopori oleh Gavin King sebagai project leader.

(35)

Hibernate is an open source ORM service implementation. Hibernate is an ambitious project that aims to be a complete solution to the problem of managing persistent data in Java. It mediates the application’s interaction with a relational database, leaving the developer free to concentrate on the business problem at hand. Hibernate is a nonintrusive solution. You aren’t required to follow many Hibernate-specific rules and design patterns when writing your business logic and persistent classes; thus, Hibernate integrates smoothly with most new and existing applications and doesn’t require disruptive changes to the rest of the

application.(King,Gavin and Friend, Java Persistence with

Hibernate, 2007:4)

Dari kutipan diatas, dapat diketahui bahwa Hibernate di-design khusus untuk mapping model pemrograman object oriented dengan model pemrograman database relasional.

Hibernate bersifat open source dan didistribusikan dibawah GNU Lesser General Public License. Fitur utama dari Hibernate adalah melakukan pemetaan dari java classes ke dalam bentuk tabel database (dan juga dari Java data type ke dalam bentuk SQL). Hibernate juga menyajikan data query dan fasilitas pemanggilan data dari database. Dari ketiga macam Java Framework yang umum digunakan tersebut, penulis memilih untuk menggunakan Seam Framework dalam penelitian ini. Hal ini dikarenakan kemudahan dalam konfigurasi project-nya serta arsitektur project yang rapi.

2.3. Seam Framework

Seam Framework merupakan salah satu framework yang berbasiskan Java, dengan spesifikasi Java EE. Seam Framework sendiri dapat dijalankan mulai dari java versi 1.5. Pada pengembangan aplikasi ini, penulis menggunakan java development kit (JDK) 1.6 dan Java Runtime environment (JRE) 1.6. Implementasi Java EE sangatlah beragam. Hal ini diketahui dari banyaknya teknologi siap pakai yang berbasis pada spesifikasi Java EE, seperti servlet, JSP, JSF, EJB, JMS, ataupun JCA. Penjelasan mengenai masing-masing teknologi

(36)

Pada penerapannya, Java EE memerlukan container atau middleware, sehingga setiap objek yang dikembangkan oleh developer serta pengelolaan objek juga dilakukan oleh container tersebut. Contoh beberapa container yang ada antara lain JBoss, Jonas, Weblogic, Websphere, serta GlassFish. Pada penelitian ini, Seam Framework dijalankan pada JBoss Application Server.

Application servers are middleware platforms for development and deployment of component-based software. The application server o ers an environment in which users can deploy application components / software components, developed either by the users themselves or by third-party providers, that correspond to server-side parts of distributed applications. Most application servers implement one of the industry standards currently adopted for server-side application components: Java 2 Enterprise Edition (J2EE), .NET, and the CORBA Component Model. (Fleury, Mark, and Friends, The JBoss Extensible Server, 2006:1).

Jadi, JBoss Application server merupakan sebuah container / middleware untuk melakukan pengembangan dan deployment untuk aplikasi-aplikasi berbasis komponen. Pada penelitian ini, penulis memilih menggunakan JBoss karena aplikasi yang dikembangkan dengan menggunakan Seam Framework merupakan aplikasi yang berbasis komponen. Selain itu, Seam Framework juga dikembangkan oleh vendor JBoss.

Salah satu spesifikasi dari Java EE yang merupakan keunggulan dari Seam Framework adalah penggunaan Annotations.

Annotation, as known as metadata, stands for additional definition that can be attached to an element within the code to help further explain or characterized

it. Annotation are used to provide additional context to the

program.(Sriganesh,Rima Patel and friends, Mastering Enterprise Java Beans 3.0,2006:76)

Dari kutipan diatas, dapat diketahui bahwa Annotation merupakan definisi tambahan yang diberikan kepada suatu elemen tertentu yang berguna untuk membantu memberikan penjelasan mengenai karakter suatu code. Java Annotation dikeluarkan sebagai salah satu spesifikasi dari Java mulai dari Java

(37)

1.5. Perbedaan antara Annotation dengan comment adalah jika comment pada tahap kompilasi akan diabaikan, maka berbeda dengan Annotation. Java Annotation tidak sekedar memberi keterangan pada Java code tapi juga mampu diproses oleh compiler. Pemrosesan Annotation terjadi ketika suatu code yang berisi Annotation itu di compile ataupun di interpreter oleh compiler, deployment tools, development tools, dan sebagainya. Hasil dari pemrosesan Annotation dapat bermacam-macam bentuk. Sebagai contoh, pada JavaDocs, pemrosesan Annotation dapat menghasilkan core documents ataupun dapat juga melakukan bermacam-macam tipe kompilasi.

Java 5 Annotation dapat diaplikasikan pada berbagai elemen dari Java Code, seperti methods, variables, constructors, package declaration, dan lain-lain. Penulisan Annotation diawali dengan simbol @ dan diikuti dengan nama dari Annotation tersebut.

Ketika membangun sebuah aplikasi dengan menggunakan Seam Framework, developer akan menggunakan banyak Annotation. Sebagian besar Annotation tersebut didefinisikan oleh EJB 3.0 Specification. Sementara, Annotation yang digunakan untuk data validation adalah Annotation yang didefinisikan oleh Hibernate Validator. Keseluruhan Annotation ini didefinisikan dalam package org.jboss.seam.Annotations.

Seperti pada pengembangan aplikasi-aplikasi lainnya, penggunaan Integrated Development Environment (IDE) sangatlah membantu dalam pengembangan aplikasi. Oleh karena itu, penulis menggunakan Eclipse sebagai IDE nya karena pada IDE Eclipse ini sendiri, sudah dikembangkan plugin untuk membangun aplikasi dengan Seam Framework.

(38)

Ada beberapa definisi yang penulis dapatkan mengenai Seam Framework, antara lain :

a. JBoss Seam, merupakan solusi fondasi Web 2.0, yang mengintegrasikan MyFaces, Hibernate, dan JBoss Micro Kernel sebagai Inversion of Control (IOC)-nya.(JENI-Pengembangan Aplikasi Java dengan MVC, 2008:5)

b. Seam is a fully featured application framework on top of Java EE 5. It is also one of the most popular enterprise Java framework today. Seam deeply integrates many other standard-based or open source frameworks (e.g., JSF, EJB3, JMS, Web Services, jBPM, JBoss Rules, Ajax4jsf, RichFaces, Facelets, Spring, iText, Quartz, TestNG, etc.), and provides a single programming model for developers to "drive" those underlying frameworks via simple annotated POJOs (Plain Old Java Objects). It makes life easier for developers to tackle complex enterprise applications with many component frameworks. (JBoss, Seam Dev Tools Reference Guide, 2009:3).

c. JBoss Seam is a framework that brings together existing Java Platform, Enterprise Edition (Java EE) standards to enable them to work as an integrated solution. At its core, the Seam framework ties the Enterprise JavaBeans 3 (EJB3) and JavaServer Faces (JSF) specifications.

(Nusairat , Joseph Faisal, Beginning Jboss Seam, From Novice to Professional, 2007:1).

Seam Framework memadukan dua buah framework yaitu Enterprise Java Beans (EJB) dan Java Server Faces (JSF) sehingga developer dapat dengan mudah mengakses lingkup komponen back end EJB dari lingkup front end dengan pengalamatan kepada nama dari komponen Seam Framework tersebut.

(39)

Seam juga memperkenalkan konsep bijection, yang diadopsi dari fitur dependency injection milik Spring dimana sebuah objek dapat di-injeksi maupun di-outjeksi dari / ke variabel tertentu dengan menggunakan Annotation @in dan @out. Selain konsep bijection, Seam juga mengembangkan konsep context. Tiap-tiap komponen dari Seam berada di dalam sebuah context tertentu. Context default dari tiap-tiap komponen adalah conversation. Dengan Seam Framework, seorang developer dapat meng-generate aplikasi web CRUD (Create-Read-Update-Delete) dari sebuah database dengan menggunakan command-line tool bawaan dari Seam, yaitu seam-gen.

Context pada Seam Framework terdiri atas tujuh macam, yaitu : a. StatelessContext

Stateless Context yang tidak memiliki state (stateless). Biasanya digunakan untuk objek-objek yang stateless seperti misalnya stateless session bean.

b. Eventcontext

Event Context digunakan ketika adanya request dari sebuah page ke page lainnya.

c. PageContext

Page Context merupakan konsep yang sederhana, yaitu digunakan ketika sebuah komponen digunakan sebuah page.

d. ConversationContext

Conversation biasa juga disebut sebagai workspace. Conversation adalah single unit. Conversation adalah single life cycle dari sebuah request. Conversation berperan agar ketika user

(40)

disibukkan oleh banyaknya session yang aktif.

e. SessionContext

Session Context bekerja seperti HttpSession object. Contoh penggunaan Session Context adalah misalkan ketika user melakukan request terhadap list data tertentu yang diambil dari database. Ketika akan melakukan perubahan pada salah satu data tersebut, maka agar tidak kehilangan data sebelumnya, maka data harus disimpan di Session Context sehingga data akan tetap dipertahankan hingga Seam Context di-destroy.

f. BusinessProcess Context

Business Process Context digunakan untuk mekanisme Business Process yaitu suatu cara untuk me-manage interaksi multiple screens dan multiple users. Yaitu interaksi antar user pada station yang berbeda-beda. Karena Seam merupakan produk JBoss, maka secara alami Seam menggunakan JBoss jBPM (Business Process Manager).

g. ApplicationContext

Application context bekerja sebagaimana ServletContext

tradisional dengan memegang informasi yang tersedia untuk semua user.

(41)

Fitur tambahan yang dimiliki oleh Seam selain yang telah disebutkan diatas antara lain PDF Document Creator, e-mailing, graph creation, dan pembuatan Microsoft Excel worksheets.

2.3.2. Keunggulan

Pada penelitian ini, penulis memilih untuk mengimplementasikan Seam Framework. Hal ini disebabkan Seam Framework memiliki keunggulan-keunggulan antara lain sebagai berikut :

a. Konfigurasi via Annotation

Pada framework-framework yang diluncurkan sebelum Seam Framework, konfigurasi aplikasi dilakukan oleh file-file Extensible Markup Language (XML) yang sangat banyak sehingga dapat menyulitkan developer dalam pengerjaan aplikasi. Pada Seam Framework, konfigurasi XML yang diperlukan hanya pada navigasi page.

b. Pembagian aplikasi (Three Tier Application)

Seperti pada gambar dibawah ini, Seam Framework membagi aplikasi atas tiga bagian, yaitu Model yang di-handle oleh objek-objek POJO (Plain Old Java Object), View yang di-handle oleh Java Server Faces (JSF) pada Presentation Layer, dan Controller yang di-handle oleh Enterprise Java Beans 3.0 dan berada pada Business Logic Layer. Sedangkan pada layer persistence, di-handle oleh Hibernate yang langsung berhubungan dengan database.

(42)

c. Generate CRUD Application

Pada seam gen tool, terdapat sebuah command yang merupakan fitur handal pada Seam Framework yaitu melalui seam gen tool, developer dapat meng-generate CRUD (Create, Read, Update, Delete) application yaitu dengan generate-entitiescommand.

d. Integrasi JSF dan EJB 3.0

JSF dan EJB 3.0 adalah dua fitur unggulan yang mengadopsi spesifikasi Java EE. EJB 3.0 adalah sebuah component model untuk yang menangani server side business dan persistence logic (dengan JPA). Sedangkan JSF merupakan component model yang menangani presentation tier. Penggunaan JSF ataupun EJB3 secara individual

(43)

(terpisah) dapat digunakan untuk menyelesaikan masalah komputasi umum. Namun, dengan adanya integrasi antara keduanya, proses komputasi dapat berjalan dengan lebiah baik. Seam Framework lah disini yang berperan dalam mengintegrasikan kedua component model tersebut.

e. Konsep Bijection

Dependency injection atau Inversion of Control (IoC) saat ini menjadi konsep yang familiar bagi kebanyakan developer Java. Dependency

Injection memungkinkan sebuah komponen untuk mengambil

referensi melalui proses injeksi oleh container kepada komponen lain sebagai setter method maupun variabel instan. Implementasi bijection ini sendiri adalah dengan menggunakan Annotation @in dan @out. In essence, bijection lets you alias a context variable to a component instance variable, by specifying that the value of the instance variable is injected, outjected, or both. Of course, we use Annotations to enable bijection. (King, Gavin, Seam Reference & Friends,2008:116)

Sehingga pada intinya, dengan menggunakan Seam Framework, seorang developer hanya perlu fokus pada business logic saja, tanpa harus memusingkan masalah code-code, konfigurasi, maupun masalah tampilan, karena bagian-bagian tersebut telah ditangani dengan baik oleh komponennya masing-masing.

2.3.3. Teknologi yang digunakan

a. Enterprise Java Beans 3.0 (EJB 3.0)

Dari sumber-sumber referensi yang relevan, penulis mendapatkan definisi dari Enterprise Java Beans (EJB), antara lain :

EJB 3 is the standard programming model for creating secure and scalable business components that access transactional resources. EJB 3 also encompasses the Java Persistence API (JPA), which defines a standard persistence model for translating data between a relational database and Java entity classes.(Allen,Dan , Seam in Action, 2008:6)

(44)

the development and deployment of component-based distributed business applications. Applications written using the Enterprise JavaBeans architecture are scalable, transactional, and multi-user secure. These applications may be written once, and then deployed on any server platform that supports the Enterprise JavaBeans specification.(Sun Microsystems,Inc. , Enterprise Java Beans Spesification v 3.0 : 2002)

Enterprise JavaBeans is a standard server-side component model for distributed business applications. ( Burke, Bill, Richard Monson-Haefel, Enterprise Java Beans : 2006)

Dari beberapa kutipan diatas, dapat diketahui bahwa Enterprise Java Beans (EJB) 3.0 merupakan sebuah model pemrograman / spesifikasi baru yang di-design untuk pembuatan aplikasi yang aman dan fleksibel, sehingga memudahkan developer untuk menggunakan komponen yang telah dibuat ke dalam lingkungan server yang lain.

EJB 3.0 dan Java Persistence tidak hanya bersifat platform independent -seperti Java pada umumnya- tapi juga implementation independent. JDBC API tidak hanya dapat berjalan di Windows ataupun Unix, tapi juga dapat mengakses database relasional dari berbagai vendor (DB2, Oracle, MySQL, MS SQL server, dan sebagainya) dengan menggunakan driver JDBC yang berbeda-beda. Developer tidak perlu lagi menulis code untuk implementasi database yang berbeda, yang harus dilakukan hanya mengganti JDBC driver dan menyesuaikan parameter koneksi database-nya. Hal ini sama dengan EJB dan Java Persistence. Idealnya, EJB Component (Enterprise Bean) ataupun Java Persistence component (Entity Bean) dapat berjalan pada berbagai server aplikasi yang mengimplementasikan spesifikasi ini, hal ini berarti bahwa developer dapat membangun dan men-deployEJB Business System pada satu server, seperti BEA’s Weblogic, dan setelah itu memindahkannya ke EJB Server yang berbeda, seperti Pramati, Sybase’s EA Server ataupun

(45)

IBM’s WebSphere atau ke Open Source Project seperti JBoss, Apache Geronimo, atau JOnAS. Implementation Independence berarti business component tidak tergantung pada brand server yang digunakan. Hal ini akan memberikan banyak pilihan kepada developer pada saat sebelum, selama dan setelah development dan deployment aplikasi tersebut.

Spesifikasi EJB 3.0 terdiri atas dua bagian. Bagian pertama mendefinisikan model pemrograman baru EJB untuk session beans dan message-driven beans, dan sejenisnya. Sedangkan bagian kedua dari spesifikasi tersebut adalah yang berkaitan dengan persistence, yaitu entites, object/relational mapping metadata, persistence manager interface, dan query language. Bagian kedua ini disebut juga dengan Java Persistence API (JPA).

b. Java Server Faces (JSF)

Java Server Faces (JSF) pertama kali diperkenalkan sebagai salah satu Java Spesification Request (JSR) oleh Sun pada bulan Mei tahun 2001. Versi final dari spesifikasi tersebut, yaitu JSF 1.0 di-release pada tanggal 3 Maret 2004, dan dilanjutkan dengan JSF 1.1 pada tanggal 27 Mei 2004.

JSF is the standard presentation framework for the web-tier that provides both a user-interface component model and a server-side event model.( Allen,Dan , Seam in Action, 2008:6).

JavaServer Faces (JSF, or simply “Faces”) makes it easy to develop web applications by bringing support for rich, powerful user interface components (such as text boxes, list boxes, tabbed panes, and data grids) to the web development world.(Mann, D.Kito, Java Server Faces in Action, 2005 : 38)

Seperti yang telah dipaparkan sebelumnya, Java Server Faces (JSF) bekerja pada presentation tier pada aplikasi yang dibangun dengan menggunakan Seam Framework. Java Server Faces (JSF) melingkupi

(46)

widgets, dan application infrastructure. Komponen arsitektur JSF mendefinisikan sebuah cara untuk membangun UI Widgets. Arsitektur ini berperan dalam memberikan standard UI Widgets pada aplikasi, seperti buttons, hyperlinks, dan text fields.

Tidak seperti aplikasi desktop, aplikasi web based harus dipersiapkan untuk dapat ditampilkan pada banyak client, dengan media yang berbeda-beda, misalnya desktop browser, ponsel, dan PDA. JSF memiliki arsitektur yang powerful dalam menampilkan komponen-komponen presentation tier-nya pada media yang berbeda-beda tersebut. JSF juga memiliki fasilitas tambahan untuk validasi input (seperti length of field), serta converting objek dari dan ke dalam bentuk string untuk ditampilkan.

JSFControl yang banyak digunakan pada aplikasi web dengan Seam Framework antara lain :

(47)

a) Navigation Control

1. <s:button> : Merupakan komponen tombol yang mengontrol Action pada Conversation.

2. <s:conversationId> : Digunakan untuk menambahkan conversation id ke JSF Link ataupun button.

3. <s:taskId> : Digunakan untuk menambahkan task id ke output link (ataupun JSF Control sejenisnya, ketika task tersebut diaktifkan dengan menggunakan #{task}

4. <s:link> : Sebuah link yang mendukung invocation dari sebuah action dengan control melalui conversation propagation.

5. <s:conversationPropagation> : Digunakan untuk melakukan kostumisasi conversation propagation untuk sebuah command link ataupun button.

6. <s:defaultAction> : Digunakan untuk memerintahkan default action untuk dijalankan ketika sebuah form di-submit dengan menggunakan tombol enter.

b) Converter dan Validator

1. <s:convertDateTime> : melakukan konversi date and time menurut timezone yang ada pada Seam Framework.

2. <s:convertEntity> : digunakan untuk menetapkan entity converter pada komponen tertentu. Biasa digunakan untuk radio button dan dropdown.

3. <s:convertEnum> : digunakan untuk memberikan enum converter pada komponen tertentu. Biasa digunakan untuk radio button dan dropdown.

4. <s:convertAtomicBoolean> :

(48)

5. <s:convertAtomicInteger> javax.faces.convert.Converter untuk java.util.concurrent.atomic.AtomicInteger 6. <s:convertAtomicLong> javax.faces.convert.Converter untuk java.util.concurrent.atomic.AtomicLong

7. <s:validateEquality> : merupakan tag yang terletak di dalam sebuah input control untuk melakukan validasi apakah parent dari input control tersebut sama atau berbeda dengan referensinya. 8. <s:validate> : merupakan sebuah control nonvisual, yang berguna

untuk melakukan validasi dari input field dengan menggunakan Hibernate Validator.

9. <s:validateAll> : merupakan sebuah control nonvisual, yang digunakan untuk melakukan validasi dari seluruh child dari input field dengan menggunakan Hibernate Validator.

c. Formatting

1. <s:decorate> : digunakan untuk memberikan pemberitahuan pada JSF input field ketika validasi gagal dilakukan ataupun ketika di

set required=”true”.

2. <s:div> : merupakan tag yang digunakan untuk me-render tag <div> HTML

3. <s:span> : merupakan tag yang digunakan untuk me-render tag <span> HTML

4. <s:fragment> : merupakan sebuah komponen non rendering yang digunakan untuk meng-enable/disable rendering pada child dari komponen tertentu.

(49)

5. <s:label> : digunakan untuk memberikan label pada JSF input field.

6. <s:message> : digunakan untuk memberikan validation error message pada JSF input field.

d. Seam Text

1. <s:validateFormattedText> : digunakan untuk memastikan bahwa data yang di-submit adalah Seam Text yang valid.

2. <s:formattedText> : digunakan untuk memberikan keluaran (output) berupa Seam Text.

e. Dropdown

1. <s:enumItem> : digunakan untuk memberikan sebuah komponen

selectItem dari sebuah enum value.

2. <s:selectItems> : digunakan untuk membuat List<SelectItem>

dari sebuah List, Set, DataModel ataupun Array. f. Lain-lain

1. <s:cache> : digunakan untuk melakukan cache pada page fragment yang telah di-render dengan menggunakan JBoss Cache.

2. <s:fileUpload> : digunakan untuk membuat sebuah control untuk upload file. Tag ini harus diletakkan dalam sebuah form dengan encoding type : mulipart/form-data. Contohnya : <h:form enctype="multipart/form-data">

3. <s:graphicImage> : tag ini digunakan untuk mengizinkan sebuah image untuk disertakan pada sebuah komponen Seam.

4. <s:remote> : digunakan untuk meng-generate Javascript’s stubs yang dibutuhkan untuk menggunakan Seam Remoting.

(50)

c. Java Persistence

Persistence merupakan kunci dari pengembangan platform Java EE. Pada versi Java EE sebelumnya, spesifikasi EJB masih tergabung dengan EJB sendiri. Namun, mulai Java EE 5, persistence sudah mulai dibuat spesifikasinya sendiri, yaitu Java Persistence 1.0. Persistence menyediakan abstraksi pada layer atas dari JDBC sehingga code yang dibuat dapat diisolasi dari database-nya langsung. Persistence juga dapat digunakan untuk mendeskripsikan object relational mapping (ORM). Hal ini berarti Java Persistence API dapat secara otomatis melakukan pemetaan dari Java object dari dan ke dalam bentuk database relasional. Persistence juga menyediakan query language sendiri yang sangat mirip dengan SQL. Persistence action dapat diakses dari package

javax.persistence.EntityManager.

Pada penelitian ini, penulis menggunakan basis data mysql sehingga untuk melakukan koneksi antara basis data dengan persistence dari aplikasi sendiri, penulis menggunakan library tambahan yang berupa driver basis data yaitu mysql-connector-java.

Pada spesifikasi Java Persistence yang baru, EntityManager

merupakan sentral dari semua persistence actions. Entity-entity yang dibuat merupakan plain Java object yang dialokasikan sama seperti Java object lainnya. EntityManager bertugas untuk mengatur pemetaan O/R

antara entity class ke data source. EntityManager menyediakan API untuk pembuatan query, mencari objek, sikronisasi objek, serta pemasukan objek ke database. Selain itu, dapat juga menyediakan fitur caching serta mengatur interaksi antara entity dalam Java EE

(51)

Environment. Pada implementasinya, entity dideskripsikan dengan menggunakan Annotation @entity.

d. Seam-Gen Tool

Pada distribusinya, Seam Framewok juga menambahkan Seam Gen Tool yangmerupakan sebuah tool tambahan berbasis command line yang diberikan oleh Seam Framework untuk melakukan generate project. Seam gen tool telah disertakan pada setiap distribusi Seam Framework, yang dapat dimanfaatkan untuk melakukan setupproject yang kemudian dapat di-develop pada IDE seperti Eclipse dan Netbeans, dapat juga dimanfaatkan untuk meng-generate kerangka aplikasi, serta melakukan reverse engineer pada aplikasi dari database.

2.3.4. Struktur File

Karena aplikasi ini merupakan penerapan dari Seam Framework, maka dalam penyusunan struktur file juga harus mengikuti standar baku yang dimiliki oleh Seam Framework itu sendiri.

Tabel 2.1. Struktur File Seam Framework Struktur File Keterangan

Silabus/bootstrap Embedded konfigurasi JBoss untuk testing Silabus/exploded-archives Struktur package Java EE yang telah

di-explode

Silabus/lib Library yang digunakan dalam aplikasi Silabus/nbproject Project file untuk Netbeans

silabus/resources Konfigurasi project

Gambar

Gambar 2.1. Arsitektur JBoss Seam
Gambar 2.2. Seam Muti Tier Architecture
Gambar 2.3. Java Server Faces (JSF) Architecture
Tabel 2.1. Struktur File Seam Framework
+5

Referensi

Garis besar

Dokumen terkait

Dari analisa mutu gambir yang dilakukan ekstrak gambir yang dihasilkan pada metoda pengukusan selama 60 menit, dan pengulangan pengukusan atau perebusan memiliki

Selain itu, analisis terhadap pasar dan pemasaran pada suatu usulan proyek ditujukan untuk mendapatkan gambaran tentang potensi pasar bagi produk yang tersedia

melakukan salat tahajud secara rutin saya jauh lebih baik dari pada. sebelumnya, saya lebih bisa menerima apa adanya, bisa lebih sabar

Agar penulisan Laporan Akhir ini lebih terarah dan tidak menyimpang dari permasalahan yang ada maka penulis membatasi ruang lingkup permasalahan yang akan dibahas

menyatakan dengan sesungguhnya bahwa skripsi yang berjudul “Efektivitas Biolarvasida Minyak Daun Jeruk Purut ( Citrus hystrix ) terhadap Larva Instar III Nyamuk

Oleh karena itu berdasarkan permasalahan peneliti akan melakukan penelitian dengan objek penelitian tamu yang menginap di Hotel M’Borro Baturraden, dengan judul

(4) Wajib Retribusi Pengendalian Menara Telekomunikasi sebagaimana dimaksud pada ayat (1) adalah orang pribadi atau Badan yang menurut ketentuan peraturan

Kematangan kompos ditandai dengan telah hancurnya bahan dasar, suhu kembali mendekati suhu udara ditandai dengan telah hancurnya bahan dasar, suhu kembali mendekati