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
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 Jakarta, Agustus 2009 Tim Penguji, Penguji I
Penguji II
Yusuf Durrachman M.Sc, MIT
Arini ST, MT
Tim Pembimbing, Pembimbing I
Pembimbing II
Viva Arifin, MMSI NIP. 150 378 016
Imam M Shofi, MT NIP. 150 408 905
Mengetahui, Dekan Fakultas Sains Dan Teknologi
Ketua Program Studi Teknik Informatika
DR. Syopiansyah Jaya Putra, M.Sis NIP. 150 317 956
Yusuf Durrachman MIT M.Sc NIP. 150 378 017
PERNYATAAN DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENARBENAR 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
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
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 pihakpihak 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.
vi
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
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
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
ix
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
x
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
xi
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
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
xiii
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
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
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 1 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, 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.
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.
6. Dalam implementasinya, penulis menggunakan Seam Framework sebagai 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.
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 :
BAB I
PENDAHULUAN
Bab ini berisi pengantar berupa latar belakang dilakukannya 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.
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
v
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
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
xiv
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 pihakpihak 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.
vi
PERNYATAAN DENGAN INI SAYA MENYATAKAN BAHWA SKRIPSI INI BENARBENAR 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
iv
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
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 1 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,
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.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.
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.
14. Dalam implementasinya, penulis menggunakan Seam Framework sebagai 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.
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 :
BAB I
PENDAHULUAN
Bab ini berisi pengantar berupa latar belakang dilakukannya 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.
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 9
yang dikembangkan oleh Zend Technologies, Code Igniter yang dikembangkan 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. c) Hibernate
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
tersebut dapat ditemukan di websitenya : http://java.sun.com. (JENI, Java Framework, 2008:1). 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
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 lainlain. 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.
2.3.1. Definisi 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)
Gambar 2.1. Arsitektur JBoss Seam 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.
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. Stateless Context Stateless Context yang tidak memiliki state (stateless). Biasanya digunakan untuk objek-objek yang stateless seperti misalnya stateless session bean. b. Event context Event Context digunakan ketika adanya request dari sebuah page ke page lainnya. c. Page Context Page Context merupakan konsep yang sederhana, yaitu digunakan ketika sebuah komponen digunakan sebuah page.
d. Conversation Context Conversation biasa juga disebut sebagai workspace. Conversation adalah single unit. Conversation adalah single life cycle dari sebuah request. Conversation berperan agar ketika user
memberikan request yang bersifat random, aplikasi tidak akan disibukkan oleh banyaknya session yang aktif.
e. Session Context 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. Business Process 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. Application Context Application
context
bekerja
sebagaimana
ServletContext
tradisional dengan memegang informasi yang tersedia untuk semua user.
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.
Gambar 2.2. Seam Muti Tier Architecture
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-entities command. 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
(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)
The Enterprise JavaBeans architecture is a component architecture for 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 MonsonHaefel, 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-deploy EJB 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
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
tiga bagian utama, yaitu component architecture, standard set of UI 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 komponenkomponen 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.
Gambar 2.3. Java Server Faces (JSF) Architecture
JSF Control yang banyak digunakan pada aplikasi web dengan Seam Framework antara lain :
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> : javax.faces.convert.Converter untuk
java.util.concurrent.atomic.AtomicBoolean.
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
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.
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 :
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.
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
Environment. Pada implementasinya, entity dideskripsikan dengan menggunakan Annotation @entity.
d. Seam-Gen Tool Pada distribusinya, Seam Framewok juga menambahkan Seam Gen Tool yang merupakan 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 setup project 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 diexplode
Silabus/lib
Library yang digunakan dalam aplikasi
Silabus/nbproject
Project file untuk Netbeans
silabus/resources
Konfigurasi project
Silabus/resources/META-INF
Konfigurasi JPA Persistence Unit
Silabus/resources/WEB_INF
Deskriptor komponen Seam
Silabus/src/main
Source code entity
Silabus/src/hot
Source code hot redeployment
Silabus/src/test
Source code testing
Silabus/view
Source code tampilan (JSF)
.classpath, .project
File project eclipse
Build-<profile>.properties
Properties yang spesifik untuk profile tertentu
Build.properties
Properties global
Build.xml
Build file ant
2.4. Pengembangan Definisi pengembangan menurut Kamus Besar Bahasa Indonesia adalah berasal dari kata dasar “kembang” yakni suatu proses, cara, perbuatan menjadikan maju (baik, sempurna, dan sebagainya). Jadi, pengembangan merupakan
sebuah
tindakan
untuk
mengubah
sesuatu
menjadi
lebih
baik.(http://pusatbahasa.diknas.go.id/kbbi). Dalam hal ini, pengembangan berarti sebuah tindakan, proses, dan cara untuk menjadikan distribusi silabus dan Satuan Acara Perkuliahan (SAP) menjadi lebih baik, yaitu dari sistem yang masih manual menjadi sistem yang telah terkomputerisasi.
2.5. Master Template The term template, when used in the context of software engineering has various technical specifications, but is generally identified as any processing element
that can be combined with a data model and processed by a template engine to produce a result document. (en.wikipedia.org/wiki/Template_(software_engineering):2009) Dapat dikatakan bahwa template merupakan sebuah dokumen acuan yang dapat dikombinasikan dengan data yang ada untuk kemudian disatukan menjadi sebuah dokumen utuh. Master template disini merupakan sebuah bentuk dasar dari sebuah template, yang dalam hal ini data yang akan dijadikan isian adalah data silabus dan Satuan Acara Perkuliahan (SAP). Pada sistem yang akan penulis kembangkan, master template yang dimaksud adalah dalam bentuk report yang dihasilkan. Untuk membuat report sendiri, penulis menggunakan perangkat lunak iReport yang merupakan software open source dan multi platform. Alasan penggunaan software ini adalah kemudahan dalam pengoperasiannya, selain itu, software ini juga telah memiliki compiler report nya sendiri dan juga dapat menjalankan report yang telah dikompilasi tersebut. Namun, dikarenakan penulis membuat sendiri kompiler yang digunakan untuk mengkompilasi report tersebut, maka penulis hanya menggunakan iReport untuk merancang tampilan report. Sedangkan untuk mengkompilasi dan integrasi report penulis menggunakan Jasper Assistant, yaitu sebuah plugin untuk IDE Eclipse. Penggunaan Jasper Assistant dilakukan karena mempermudah penulis dalam melakukan uji coba terhadap report yang ada karena terdapat dalam satu environment, yaitu Eclipse.
2.6. Silabus Menurut Kamus Besar Bahasa Indonesia, istilah silabus berarti kerangka unsur kursus pendidikan, disajikan dalam aturan yang logis, atau dalam tingkat kesulitan
yang
makin
meningkat;
http://pusatbahasa.diknas.go.id/kbbi).
atau
ikhtisar
suatu
pelajaran.(
Silabus tidak hanya dimiliki oleh tempat-tempat kursus pendidikan, namun juga perguruan-perguruan tinggi maupun sekolah-sekolah telah menetapkan silabus dalam menyusun rencana pendidikannya. Komoponenkomponen silabus yang terdapat di Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta meliputi kode mata kuliah, nama mata kuliah, Program Studi, peminatan, bobot SKS, semester, mata kuliah prasyarat, pengajar, standar kompetensi, indikator, deskripsi, materi pokok perkuliahan, pendekatan pembelajaran, penilaian, tujuan instruksional umum, serta buku sumber.
2.7. Satuan Acara Perkuliahan (SAP) Berdasarkan pengalaman penulis selama mengikuti proses perkuliahan, dapat disimpulkan bahwa Satuan Acara Perkuliahan (SAP) adalah runutan ringkasan materi-materi serta penjelasannya yang akan diberikan pada setiap pertemuan perkuliahan. SAP mendefinisikan mengenai suatu mata kuliah, meliputi kode mata kuliah, pertemuan, pokok bahasan, sub pokok bahasan, tujuan instruksional khusus, metode, media, estimasi waktu, dan daftar pustaka.
2.8. Metodologi Penelitian Definisi penelitian : Sebuah proses yang sistematis dalam mengumpulkan dan menganalisis data guna meningkatkan pengertian/persepsi kita tentang fenomena yang akan kita teliti. (Fitrianah, Devi, Penelitian : Definisi dan Metode, 2009 : 1). Metodologi merupakan pendekatan formal untuk mengimplementasikan system development life cycle. Di dalamnya terdapat serangkaian tahapan yang perlu dilalui serta output yang diperoleh dari setiap tahapan. Sebuah pendekatan
yang dibuat dalam melaksanakan penelitian, dimana didalamnya terdapat rangkaian langkah-langkah dalam melakukan penelitian dan hasilnya. Metodologi penelitian dalam ilmu komputer/sistem informasi/teknologi informasi adalah kumpulan dari metode, prosedur, teknik, tool serta pendokumentasian yang membantu si peneliti dalam melaksanakan sebuah penelitian dalam bidang ilmu komputer/ sistem informasi/ teknologi informasi. Pengkategorian metodologi penelitian adalah sebagai berikut : Metodologi disebut process-centered apabila menekankan pada pemodelan proses sebagai inti dari konsep sistem. Disebut data-centered apabila menekankan pada pemodelan data sebagai inti dari konsep sistem. Sedangkan sebuah metodologi disebut object-oriented bila berupaya menyeimbangkan fokus bahasan baik proses dan data pada sebuah model. (Fitrianah, Devi, Penelitian : Definisi dan Metode, 2009 : 2). Pada penelitian ini, penulis menerapkan metodologi yang bersifat datacentered dengan menggunakan Rapid Application Development (RAD). Di dalam pengembangan aplikasi ataupun sistem informasi, terdapat beberapa metodologi pengembangan sistem yang sudah dikenal, antara lain :
1.
Waterfall Development Waterfall life-cycle model pertama kali diperkenalkan oleh Royce pada tahun 1970. (Scach, R.Stephen, Object Oriented and Classical Software Engineering, 2005:49). This is the most common and classic of life cycle models, also referred to as a linear-sequential life cycle model. It is very simple to understand and use. In a waterfall model, each phase must be completed in its entirety before the next phase can begin. At the end of each phase, a review takes place to determine if the project is on the right path and whether or not to continue or discard the project. (http://codebetter.com/blogs/raymond.lewallen/archive/2005/07/13/12 9114.aspx).
Gambar 2.4. Waterfall model
2. Rapid Application Development Rapid prototype is a working model that is functionally equivalent to a subset of the product. The first step in the rapid prototyping is to build a rapid prototype and let the client and future users interact and experiment with the rapid prototype. (Scach, R.Stephen, Object Oriented and Classical Software Engineering, 2005:293). These are designed to develop data intensive business applications and rely on programming and presenting information from a database. (Sommerville,Ian, Software Engineering 7th edition, 2004:29). Rapid Aplication Development (RAD) adalah sebuah model proses perkembangan
software
sekuensial
linier
yang
menekankan
siklus
perkembangan yang sangat cepat. (Sukamto, Rosa A, Rapid Application Development (RAD), Prototyping, 2009:2)
3. Spiral Life Cycle Method The idea of minimizing risk via the use of prototypes and other means is the idea underlying the spiral life cycle model. A simplified way of looking at this life cycle is a waterfall model with each phase preceded by risk analysis.
(Scach, R.Stephen, Object Oriented and Classical Software Engineering, 2005:55).
Perbandingan dari ketiga metodologi tersebut dapat dilihat pada tabel berikut ini : Tabel 2.2. Perbandingan Metodologi Perbandingan Karakteristik
Tahapan
Waterfall RAD utama yang Salah satu point yang Aspek menjadi karakteristik dimiliki oleh model utama yang dimiliki RAD adalah developer oleh model waterfall dapat membangun adalah tidak akan ada sebuah software dengan fase yang selesai cara acak untuk hingga dokumentasi mempercepat pengerjaan dari fase tersebut suatu produk. Biasa selesai dibuat dan digunakan pada project produk yang berskala kecil – dihasilkan pada fase menengah. tersebut diterima oleh software quality assurance (SQA) group. 1. Requirement 1. Analysis : client dan 2. Analysis developer bersama3. Design sama berinteraksi dan 4. Implementation bereksperimen 5. Postdelivery dengan prototype maintenance awal yang telah ada. 6. Retirement Jika client menginginkan adanya perubahan pada protoype yang ada, maka developer harus menggambarkan ulang spesifikasi yang diinginkan oleh client. Hal ini terus dilakukan hingga kedua pihak meyakini bahwa produk yang akan dibuat tersebut telah memenuhi kebutuhan client. 2. Design : developer melakukan perancanganperancangan yang sesuai dengan
Spiral Model spiral life cycle ini menggabungkan antara model waterfall dengan model prototyping dengan menambahkan risk analysis pada setiap fasenya.
1. Customer Communicatio n : komunikasi antara pengembang dengan pelanggan. 2. Planning : penentuan tujuan, alternatif dan batasan. 3. Risk Analysis : analisa alternatif dan identifikasi/pe mecahan resiko. 4. Engineering : pengembanga n level berikutnya dari produk. 5. Construction and release : testing, instalasi, dan menyediakan
support delivery product termasuk yang dihasilkan dari dengan tahap analysis. training pada 3. Prototyping cycles : user dan dilakukan pengerjaan pembuatan dari design yang dokumentasi. telah ada. Pada model RAD, di tahap 6. Customer ini memungkinkan Evaluation : penilaian untuk dilakukan terhadap hasil perubahan pada engineering. design produk yang ada, jika diharuskan adanya perubahan yang mengacu kepada produk yang berhasil dibuat. 4. Testing : developer masih dapat memasuki tahapan baik analysis, design, maupun implementation, sesuai dengan kebutuhan maintenance yang harus dilakukan. Kelebihan
Kekurangan
1. Sederhana dan 1. Hasil pengembangan mudah digunakan. bisa lebih cepat 2. Mudah diatur. dibandingkan SDLC 3. Baik digunakan lainnya pada 2. Memerlukan biaya pengembangan yang lebih sedikit aplikasi dimana 3. Mementingkan dari requirement telah segi bisnis dan diketahui. teknik 4. Berkonsentrasi pada sudut pandang user 5. Menyediakan kemungkinan perubahan secara cepat sesuai permintaan user 6. Menghasilkan jarak kesesuaian yang kecil antara kebutuhan user dan spesifikasi sistem 7. Waktu, biaya, dan effort minimal 1. Memiliki resiko 1. RAD memerlukan besar. sumber daya 2. Pendefinisian manusia yang
Model ini baik untuk digunakan pada pengembangan software internal yang berskala besar
Model ini dapat menyulitkan jika digunakan pada
kebutuhan sistem memadai untuk project berskala memakan waktu menciptakan jumlah kecil. yang lama tim RAD yang baik. 3. Tidak cocok untuk 2. RAD menuntut digunakan untuk pengembangan dan aplikasi yang pelanggan memiliki object-oriented. komitmen di dalam 4. Tidak cocok untuk aktivitas rapid-fire digunakan pada yang diperlukan project yang untuk melengkapi panjang. sebuah sistem, di dalam kerangka waktu yang sangat diperpendek. 3. Kecepatan yang tinggi dengan biaya minimal kemungkinan besar. 4. Proyek mungkin berakhir dengan lebih banyak tambahan kebutuhan daripada yang telah dipenuhi 5. Potensial adanya penambahan fitur 6. Sangat sulit membuat modul yang dapat digunakan kembali
Dalam penelitian ini, penulis memutuskan untuk menggunakan metodologi Rapid Application Development (RAD), dengan alasan : a. Penelitian yang dilakukan masih berskala kecil. b. Waktu pengembangan singkat. c. Seam Framework mendukung untuk pengembangan dengan menggunakan metodologi RAD.
2.9. Unified Modelling Language (UML)
2.9.1. Definisi The UML defines a diagrammatic notation for describing the artefacts of an OOAD. Through the UML we can visualize, specify, construct and document our software application. As our software systems become ever larger and ever more complex we need to manage that complexity and, in a sense, simplify it so we have a better understanding of it. (Barclay,K ,Savage,G , Object Oriented Design with UML and Java, 2004:3). Dengan
menggunakan
diagram-diagram
UML,
developer
dapat
melakukan pemrograman kode yang biasa dikenal dengan sebutan forward engineering, yaitu membuat kode dari model-model UML. Seperti bahasa-bahasa lainnya, UML mendefinisikan notasi dan syntax/semantik. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Notasi UML terutama diturunkan dari 3 notasi yang telah ada sebelumnya: Grady Booch OOD (Object-Oriented Design), Jim Rumbaugh OMT (Object Modeling Technique), dan Ivar Jacobson OOSE (Object-Oriented Software Engineering). (Dharwiyanti, Sri, Pengantar Unified Modelling Language (UML), 2003:2) Diagram-diagram yang terdapat di dalam pemodelan UML adalah sebagai berikut : 1.
Use Case Diagram Use case diagram menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor dengan sistem.
2.
Class Diagram Class diagram adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class diagram menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi
keadaan
tersebut
(metoda/fungsi).
Class
diagram
menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lainlain. Class diagram memiliki tiga area pokok : 1. Nama (dan stereotype) 2. Atribut 3. Metoda
Gambar 2.5. Contoh Class Diagram 3.
Statechart Diagram Statechart diagram menggambarkan transisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima. Pada umumnya statechart diagram menggambarkan class tertentu (satu
class dapat memiliki lebih dari satu
statechart
diagram). 4.
Activity Diagram Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram
tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. 5.
Sequence Diagram Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna,
display, dan sebagainya) berupa
message yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang menjadi trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. 6.
Collaboration Diagram Collaboration diagram juga menggambarkan interaksi antar objek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek dan bukan pada waktu penyampaian message. Setiap message memiliki sequence number, di mana message dari level tertinggi memiliki nomor 1. Messages dari level yang sama memiliki prefiks yang sama.
7.
Component Diagram Component diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan (dependency) di antaranya. Komponen piranti lunak adalah modul berisi code, baik berisi source code maupun binary code, baik library maupun executable, baik yang muncul pada compile time, link time, maupun run time. Umumnya
komponen terbentuk dari beberapa class dan/atau package, tapi dapat juga dari komponen-komponen yang lebih kecil. 8.
Deployment Diagram Deployment/physical
diagram
menggambarkan
detail
bagaimana
komponen di-deploy dalam infrastruktur sistem, di mana komponen akan terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisik. Sebuah node adalah server, workstation, atau piranti keras lain yang digunakan untuk men-deploy komponen dalam lingkungan sebenarnya. Hubungan antar node (misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini. (Dharwiyanti, Sri, Pengantar Unified Modelling Language (UML), 2003:4) Pada penelitian ini, penulis menggunakan perangkat lunak Star UML 5.0 dan Visual Paradigm for UML 7.0 Enterprise Edition dalam merancang aplikasi. Star UML dan Visual Paradigm adalah perangkat lunak untuk merancang aplikasi dengan menggunakan tools UML. Tabel 2.3. Notasi UML No 1
2
3
Notasi
Keterangan Class Diagram, digunakan untuk mengambarkan kelas-kelas program. Terdiri atas nama kelas, atribute yaitu properties yang dimiliki oleh kelas, dan operation yaitu aktifitas yang dapat dilakukan oleh kelas tersebut Relationship merupakan hubungan antar class. Dapat berupa one to one, one to many, maupun many to one Aktor merupakan pelaku-pelaku yang terlibat di dalam sistem.
4
Use case merupakan penjelasan kegiatan-kegiatan yang ada di dalam sistem
5
Initial node digunakan sebagai notasi awal dari proses yang dijalankan. Action merupakan notasi yang menggambarkan aksi yang terjadi di dalam suatu proses Activity Final Node merupakan notasi yang melambangkan akhir dari sebuah proses Activity merupakan aktifitas yang ada di dalam sistem. Biasa digunakan pada proses yang melibatkan proses lainnya.
6
7
8
9
Activity dengan parameter biasa digunakan pada proses yang melibatkan proses lainnya serta mengambil parameter dari proses tersebut.
10
Lifeline merupakan state dari sebuah proses yang ada di dalam sistem. Nantinya, setiap bagian dari proses akan berhenti pada lifeline yang sesuai.
2.10. Penelitian Sebelumnya yang Berhubungan Berdasarkan hasil pengamatan, penulis belum pernah menemukan penelitian yang mengambil objek yang sama dengan yang penulis lakukan. Banyak aplikasi-aplikasi yang dikembangkan dengan menggunakan Seam Framework, namun tidak mengambil objek silabus dan SAP. Penelitian tersebut antara lain pengembangan aplikasi sistem informasi konsumen dari sebuah perusahaan dan aplikasi alumni pada sebuah sekolah tinggi. Sedangkan untuk penelitian mengenai silabus dan SAP, belum pernah penulis temukan sebelumnya.
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
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 Jakarta, Agustus 2009 Tim Penguji, Penguji I
Penguji II
Yusuf Durrachman M.Sc, MIT
Arini ST, MT
Tim Pembimbing, Pembimbing I
Pembimbing II
Viva Arifin, MMSI NIP. 150 378 016
Imam M Shofi, MT NIP. 150 408 905
Mengetahui, Dekan Fakultas Sains Dan Teknologi
Ketua Program Studi Teknik Informatika
DR. Syopiansyah Jaya Putra, M.Sis NIP. 150 317 956
Yusuf Durrachman MIT M.Sc NIP. 150 378 017
iii
PENERAPAN SEAM FRAMEWORK DALAM PENGEMBANGAN MASTER TEMPLATE SILABUS DAN SATUAN ACARA PERKULIAHAN (SAP) (Studi Kasus : Program Studi Teknik Informatika UIN Jakarta)
Skripsi Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer Fakultas Sains dan Teknologi Universitas Islam Negeri Syarif Hidayatullah Jakarta
Oleh Retno Ayu Widiyaningrum 105091002849 Menyetujui, Pembimbing 1
Pembimbing 2
Viva Arifin, MMSi NIP. 150 378 016
Imam M Shofi, MT NIP. 150 408 905
Mengetahui, Ketua Program Studi Teknik Informatika
Yusuf Durrachman, MSc, M.IT NIP. 150 378 017
ii
BAB III METODOLOGI PENELITIAN
3.1.
Metode Pengumpulan Data
3.1.1. Observasi Guna mengumpulkan informasi mengenai kebutuhan sistem (system requirements) penulis melakukan pengumpulan data dengan cara observasi di tempat penelitian, yang dalam hal ini adalah Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta. Penulis terjun langsung ke lapangan untuk mengetahui sistem yang sedang berjalan saat ini. Hal ini perlu dilakukan agar penulis dapat melakukan analisis terhadap sistem yang telah berjalan serta menentukan rancangan sistem baru yang akan dibangun agar tetap sinkron dengan sistem yang sudah ada. Selain system requirements, pada langkah ini penulis juga mengumpulkan data-data yang diperlukan untuk pembangunan aplikasi. Data yang dimaksud adalah sample data silabus dan Satuan Acara Perkuliahan (SAP) berdasarkan kurikulum 2006 pada Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta.
3.1.2. Studi Pustaka
49
Pada tahapan pengumpulan data dengan cara studi pustaka, penulis mencari referensi-referensi yang relevan dengan objek yang akan diteliti. Pencarian referensi dilakukan di perpustakaan, toko buku, maupun secara online melalui internet. Setelah mendapatkan referensireferensi yang relevan tersebut, penulis lalu mencari informasi-informasi yang dibutuhkan dalam penelitian ini dari referensi-referensi tersebut. Informasi yang didapatkan digunakan dalam penyusunan landasan teori,
metodologi penelitian serta pengembangan aplikasinya secara langsung. Pustaka-pustaka yang dijadikan acuan dapat dilihat di Daftar Pustaka.
3.1.3. Wawancara Selain melakukan pengumpulan data dengan metode observasi dan studi pustaka, penulis juga melakukan pertemuan dan wawancara kepada pihak-pihak yang nantinya akan berhubungan dengan sistem yang akan dikembangkan ini. Pihak-pihak yang dimaksud adalah 1 (satu) orang dari akademik prodi yang akan berfungsi sebagai admin dari sistem ini, yaitu Bapak Yusuf Durrachman M.Sc, MIT, 2 (dua) orang dosen Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta, yaitu Ibu Arini, ST,MT (Dosen Design dan Pemrograman Jaringan), dan Bapak Muhammad Yusuf S.Kom (Dosen Praktikum Broadcast) serta 2 (dua) orang mahasiswa/i Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta, yaitu Reza Andy Pradana (Teknik Informatika Non Reguler angkatan 2005), dan Neni Ferawati (Teknik Informatika Reguler angkatan 2005). Hasil wawancara akan disajikan pada bagian Lampiran A-1 (wawancara dosen) dan Lampiran A-2 (wawancara mahasiswa).
3.2.
Metode Pengembangan Sistem Metode pengembangan sistem yang penulis gunakan dalam penelitian ini adalah metode Rapid Application Development (RAD). Pemilihan metode penelitian Rapid Application Development (RAD) ini dilakukan dengan alasan aplikasi yang akan dikembangkan merupakan aplikasi yang berskala kecil / menengah, serta terfokus pada lingkup tertentu, yang dalam hal ini lingkupnya adalah Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta. Pemilihan metodologi ini juga dengan alasan bahwa
aplikasi ini tidak membutuhkan proses komputasi yang kompleks karena pada prinsipnya aplikasi ini adalah aplikasi yang menitikberatkan pada database. Selain itu, pada pengembangan aplikasi yang dilakukan dengan menggunakan Seam Framework, juga lebih disarankan untuk menggunakan metodologi Rapid Application Development (RAD). Hal ini dikarenakan Seam Framework bersifat fleksibel dalam pengembangan aplikasi, dalam arti pengembangan dilakukan tidak secara terstruktur namun lebih kepada pengembangan per komponen.
Gambar 3.1. Tahapan RAD Tahapan-tahapan yang dilakukan oleh penulis dalam melakukan penelitian pengembangan aplikasi ini adalah : 3.2.1. Analisis Tahap analisis dikenal juga sebagai tahap mendefinisikan rencana aplikasi. Pada fase ini, penulis melakukan : a. Pengamatan terhadap sistem yang sedang berjalan di Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta mengenai pengisian dan pendistribusian silabus serta Satuan Acara Perkuliahan (SAP). b. Melakukan identifikasi masalah yang terjadi pada sistem yang sedang berjalan.
c. Menentukan alur bisnis dan aplikasi serta wilayah persoalan data yang akan didukung oleh sistem yang akan dikembangkan serta ditentukan pula jangkauan atau batasan sistem. Sistem ini sendiri diperuntukkan kepada pihak akademik prodi, sebagai pengontrol, dosen, serta mahasiswa sebagai pengguna. Tahapan-tahapan yang lebih rinci dalam melakukan analisis dapat dilihat di bab IV pada sub bab 4.2.
3.2.2. Perancangan Setelah mengetahui definisi aplikasi yang akan dibuat, yang meliputi analisis terhadap sistem, maka tahapan berikutnya adalah melakukan perancangan (design). Perancangan di sini dimaksudkan untuk membuat pemodelan terhadap aplikasi baru yang dapat mewakili sistem yang berjalan saat ini di Program Studi teknik Informatika UIN Syarif Hidayatullah Jakarta. Perancangan yang dimaksud meliputi perancangan aplikasi dan perancangan database. Untuk tampilan antarmuka (interface) aplikasi sendiri, penulis melakukan perancangan Graphical User Interface (GUI) dari aplikasi ini. a. Perancangan Aplikasi Untuk perancangan aplikasi, penulis menggunakan alat bantu (tools) yaitu Unified Modelling Language (UML). Unified Modeling Language (UML) is a visual language for capturing software designs and patterns. (Pilone,Dan, UML 2.0 in Nutshell, 2005:1) Jadi, UML merupakan sebuah bahasa yang menjadi standar untuk visualisasi, perancangan serta pendokumentasian sebuah software. Disebabkan UML menggunakan class dan operation, maka
penggunaan UML lebih cocok digunakan dalam perancangan aplikasi yang bersifat object oriented. Perancangan
aplikasi
yang
penulis
lakukan
dengan
menggunakan tools UML ini meliputi : 1. Penentuan Actor 2. Perancangan Use Case Diagram 3. Perancangan Use Case Scenario 4. Perancangan Activity Diagram 5. Perancangan Sequence Diagram 6. Perancangan Class Diagram 7. Spesifikasi proses yang diusulkan Dalam perancangan dengan UML ini, penulis menggunakan software Star UML 5.0 dan Visual Paradigm for UML 7.0 Enterprise Edition. Perancangan aplikasi ini dalam bentuk UML dapat dilihat pada Bab IV pada point 4.3.1.
b. Perancangan Basis Data Seperti yang telah dijelaskan pada bagian landasan teori, yaitu mengenai konsep Object/Relational Mapping, data-data yang digunakan dalam suatu aplikasi akan disimpan ke dalam database. Namun, dalam implementasinya, pada aplikasi yang dibuat dengan menggunakan Seam Framework, akses ke database tidak dilakukan secara langsung, melainkan melalui kelas-kelas entity. Sehingga kelas-kelas inilah yang akan menjadi representasi database sendiri dengan memetakan antara tabel-tabel yang ada pada database dengan kelas-kelas sendiri. Pada tahapan ini penulis melakukan : a. Penerjemahan class diagram ke dalam bentuk entity
b. Penerjemahan entity ke dalam basis data c. Menampilkan struktur basis data Implementasi perancangan database dapat dilihat di bab IV pada point 4.3.2.
c. Perancangan Tampilan Pada tahap ini, penulis melakukan perancangan terhadap user interface dari aplikasi ini. Perancangan yang dilakukan meliputi halaman-halaman yang ada di dalam sistem. Perincian mengenai rancangan tampilan dapat dilihat di Bab IV pada point 4.3.3.
3.2.3. Pengembangan Pada tahapan implementasi, penulis melakukan developing aplikasi berdasarkan tahapan-tahapan sebelumnya. Design database yang telah dibuat, diimplementasikan langsung, dalam hal ini penulis menggunakan database mysql dengan interface phpmyadmin. Setelah implementasi database selesai dilakukan, implementasi aplikasi juga dilakukan.
Pada
implementasi
aplikasi,
penulis
melakukan
pengembangan aplikasi dengan mengacu pada design aplikasi yang telah dilakukan. Karena aplikasi yang dikembangkan ini menggunakan Seam Framework, maka pada tahapan implementasi, yang penulis lakukan adalah meng-generate project dengan seam-gen tool lalu melakukan kostumisasi terhadap
skeleton project yang di-generate dengan
menggunakan seam gen tool tersebut. Setelah itu, penulis membuat report serta mengintegrasikan report tersebut dengan sistem. Implementasi dari tahap pengembangan ini dapat dilihat di bab IV pada sub bab 4.4.
3.2.4. Pengujian Pada tahapan pengujian, penulis melakukan deployment terhadap aplikasi yang telah dikembangkan ke target server tertentu. Pengujian meliputi proses uploading file-file project ke server, yang dalam hal ini JBoss, serta pengujian fungsional aplikasi yang meliputi tampilan data, pemasukan, perubahan, serta penghapusan data dengan memasukkan sample data yang didapatkan dari Program Studi Teknik Informatika UIN Syarif Hidayatullah jakarta. Untuk pengujian ini, penulis menerapkan 2 (dua) macam pengujian yaitu secara whitebox (pengujian mandiri) dan secara blackbox (pengujian lapangan). Perincian tahap pengujian dapat dilihat di bab IV pada sub bab 4.5. Alur penelitian secara keseluruhan dapat dilihat pada gambar dibawah ini :
Gambar 3.2. Alur Penelitian
BAB V KESIMPULAN DAN SARAN
Pengembangan master template silabus dan SAP di Program Studi Teknik Informatika UIN Syarif Hidayatullah Jakarta ini setidaknya dapat mengurangi permasalahan-permasalahan yang berhubungan dengan sistem informasi dan distribusi silabus dan SAP baik masalah yang dialami oleh pihak akademik prodi, dosen mata kuliah, maupun mahasiswa. Setelah melakukan serangkaian penelitian, seperti yang tertera pada bab III dan Bab IV, maka pada bab ini penulis akan menguraikan kesimpulan yang dapat ditarik dari rangkaian penelitian tersebut. Selain kesimpulan, penulis juga memberikan saran yang akan bermanfaat bagi pihak-pihak yang akan melanjutkan pengembangan penelitian ini.
5.1.
Kesimpulan Dari penelitian dan tulisan yang telah penulis uraikan, maka dapat ditarik
kesimpulan sebagai berikut : 1. Aplikasi yang dikembangkan ini dapat memudahkan pihak akademik prodi dalam mengumpulkan dan mengorganisir data silabus dan SAP (yang dalam hal ini, pihak akademik prodi berperan sebagai pengontrol), dapat memudahkan dosen dalam pengisian silabus dan SAP, serta memudahkan mahasiswa dalam mengakses data silabus dan SAP yang ada. Hal ini dapat dilihat dari respon yang diberikan oleh responden pada lampiran pengujian lapangan. 2. Pengembangan aplikasi master template dengan menggunakan Seam Framework 134 dapat dilaksanakan sesuai dengan analisis dan perancangan yang telah dilakukan, yang juga sesuai dengan kebutuhan penggunanya. Hal ini dapat dibuktikan dengan mengacu kepada hasil dari pengujian lapangan yang penulis lakukan yang dapat dilihat pada sub bab 4.5.2.
3. Proses integrasi report, yang dibuat dengan menggunakan Jasper Report, dengan Seam Framework dilakukan dengan menggunakan teknologi servlet. Mengenai report dan integrasinya dapat dilihat pada sub bab 4.4.2. pada point (d).
5.2.
Saran Aplikasi ini tentu saja masih belum sempurna. Masih banyak hal yang dapat
dilakukan untuk mengembangkan aplikasi ini agar menjadi lebih baik lagi, antara lain : 1. Dengan berkembangnya teknologi seluler, penulis berharap akan ada pengembangan lanjutan untuk akses aplikasi ini melalui ponsel. 2. Pengembangan juga dapat dilakukan dengan melakukan integrasi antara aplikasi ini dengan aplikasi-aplikasi akademik yang lain sehingga dapat menjadi satu kesatuan sistem yang lebih kompleks. 3. Selain di Prodi Teknik Informatika UIN Jakarta, aplikasi ini dapat juga diterapkan di prodi-prodi pada fakultas-fakultas lain. Pengembangan juga dapat dilakukan dengan menerapkan aplikasi ini pada prodi-prodi tersebut. Dapat juga dibentuk sebuah jaringan sistem silabus dan SAP dengan pusatnya di Fakultas Sains dan Teknologi, karena Fakultas Sains dan Teknologi merupakan tempat studi kasus pengembangan aplikasi ini berlangsung.
DAFTAR PUSTAKA
Allen,Dan , “Seam in Action”, Manning ; 2008 Burke, Bill, Richard Monson-Haefel, “Enterprise Java Beans”, O’Reilly ; 2006 Dharwiyanti, Sri, “Pengantar Unified Modelling Language (UML)”, Ilmu Komputer ; 2003 Fleury, Mark, and Friends, “The JBoss Extensible Server”, JBoss : 2006 JBoss Team, “Seam Dev Tools Reference Guide”, JBoss ; 2009 JENI, “Java Framework”, JENI ; 2008 JENI, “Pengembangan Aplikasi Java dengan MVC”, JENI ; 2008 King, Gavin and Friends, “Seam Reference”, Seam Framework ; 2008 King,Gavin and Friends, “Java Persistence with Hibernate”, Manning ; 2007 Mann, D.Kito, “Java Server Faces in Action”, Manning;2005 Nusairat , Joseph Faisal, “Beginning Jboss Seam, From Novice to Professional”, Apress ; 2007 Pilone,Dan, “UML 2.0 in Nutshell”, O'Reilly ; 2005 Scach, R.Stephen,“Object Oriented and Classical Software Engineering”, Mc Graw Hill ; 2005 Sommerville,Ian, “Software Engineering 7th edition”, 2004 Sriganesh,Rima Patel and Friends, “Mastering Enterprise Java Beans 3.0”, Wiley Publishing ; 2006 Sukamto, Rosa A, “Rapid Application Development (RAD), Prototyping”, 2009 Sun Microsystems,Inc. , “Enterprise Java Beans Specification v 3.0”, Sun ; 2002 http;//dictionary.reference.com/browse/framework diakses pada 8 Mei 2009 pukul 09.55 WIB
http;//oware.Com/subpages/radmethodology.htm diakses pada 2 Agustus 2009 pukul 14.10 WIB http;//pusatbahasa.diknas.go.id/kbbi diakses pada 8 Mei 2009 pukul 10.15 WIB http;//struts.apache.org/ diakses pada 8 Mei 2009 pukul 10.24 WIB
v i v i i i