STRUTS FRAMEWORK DAN J2EE PATTERN DALAM PENGEMBANGAN SISTEM INFORMASI AKADEMIK IPB
HADIKUSUMA WAHAB G64103028
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2007
STRUTS FRAMEWORK DAN J2EE PATTERN DALAM PENGEMBANGAN SISTEM INFORMASI AKADEMIK IPB
Skripsi Sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer pada Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor
Oleh : HADIKUSUMA WAHAB G64103028
DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2007
ABSTRAK HADIKUSUMA WAHAB. Struts Framework dan J2EE Pattern dalam Pengembangan Sistem Informasi Akademik IPB. Dibimbing oleh DESINA KARTIKA dan WISNU ANANTA. Aplikasi (Sistem Informasi Akademik) SIMAK IPB harus dapat memberikan informasi yang akurat mengenai mahasiswa misalnya, program studi yang dipilih, mata kuliah yang sudah diambil maupun yang akan diambil semester selanjutnya, perhitungan penilaian akademik per semester atau kumulatif dari semester sebelumnya, dan status studinya. Proses pendaftaran KRS dan update nilai mata kuliah juga harus dapat dilakukan dengan efektif dan efisien. Dan yang tidak kalah penting adalah manajemen pengguna untuk menjaga keamanan dan integritas data. Aplikasi SIMAK dalam penelitian ini dibangun dengan teknologi J2EE dan menggunakan framework yang membuat sistem menjadi lebih mudah untuk dibangun dan dikelola. Framework yang digunakan adalah Struts yang berbasiskan Model, View, Controller (MVC) pattern sehingga kode untuk tampilan dan proses bisnis akan terpisah. Aplikasi SIMAK juga menerapkan design pattern khususnya J2EE pattern yang digunakan sebagai katalog permasalahan pemrograman di lingkungan J2EE beserta solusinya dan juga sebagai panduan untuk pengambilan keputusan rancangan program. Beberapa J2EE pattern yang diterapkan dalam aplikasi SIMAK adalah, data access object (DAO) pattern, Data Transfer Object (DTO) pattern dan decorator pattern. Metode pengembangan sistem dalam penelitian ini adalah metode pengembangan sistem waterfall yang terdiri dari beberapa tahapan yaitu analisis dan definisi kebutuhan, perancangan, implementasi, pengujian, dan pengoperasian. Dari penelitian yang dilakukan diperoleh beberapa kelebihan sistem dari aplikasi SIMAK yaitu kemudahan dalam pengelolaan dan perbaikan aplikasi, karena aplikasi SIMAK dirancang dengan menerapkan MVC pattern. Desain aplikasi SIMAK yang terstruktur dengan penggunaan framework dan J2EE pattern. Kemudahan lain yang diperoleh adalah fleksibilitas dalam mengubah implementasi data sumber, karena aplikasi SIMAK menerapkan DAO pattern seta kemudahan perubahan antarmuka aplikasi melalui decorator pattern. Terakhir, lingkungan pemrograman J2EE yang mempunyai skalabilitas tinggi serta menyediakan banyak pustaka opensource dan berkualitas. Kata kunci : Sistem informasi, J2EE, framework, design pattern
Judul : Struts Framework dan J2EE Pattern dalam Pengembangan Sistem Informasi Akademik IPB Nama : Hadikusuma Wahab NRP : G64103028
Menyetujui: Pembimbing I,
Pembimbing II,
Desina Kartika M., S.Si, MCompSc. NIP 132 158 757
Wisnu Ananta Kusuma, ST. MT. NIP 132 312 485
Mengetahui: Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor
Prof. Dr. Ir. Yonny Koesmaryono, MS NIP 131 473 999
Tanggal Lulus:
RIWAYAT HIDUP Penulis dilahirkan di Frankfurt, Jerman pada tanggal 6 Februari 1987 sebagai anak ke dua dari tiga bersaudara dari pasangan Abdul Wahab dan Fatimah Wahab. Penulis menyelesaikan pendidikan menengah atas di SMA Labschool Rawamangun, Jakarta dan lulus pada tahun 2003. Pada tahun yang sama penulis diterima sebagai mahasiswa Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam, Institut Pertanian Bogor. Penulis diterima melalui jalur Undangan Seleksi Masuk IPB (USMI). Penulis pernah melaksanakan praktek lapang selama dua bulan di Inixindo. Tugas yang diberikan pada praktek lapang tersebut berkaitan dengan perancangan dan implementasi Sistem Paspor Indonesia. Selama kuliah penulis aktif dalam beberapa kegiatan kemahasiswaan terutama di Himpunan Mahasiswa Ilmu Komputer (Himalkom). Pada saat di Himalkom penulis bertugas sebagai staf bagian research and development. Penulis mempunyai ketertarikan pada bahasa pemrograman Java serta mempunyai sertifikasi internasional Sun Certified Java Programmer (SCJP). Saat ini penulis aktif sebagai koordinator Java Campus Team di Departemen Ilmu Komputer dan juga aktif di komunitas Java User Group Indonesia sebagai anggota dan Netbeans Indonesia sebagai anggota serta penyelenggara acara rutin bulanan Netbeans Indonesia.
PRAKATA Puji dan syukur penulis panjatkan kepada Allah SWT atas limpahan nikmat dan hidayahNya sehingga penulis dapat menyelesaikan karya ilmiah ini. Sholawat dan salam semoga senantiasa tercurah kepada Nabi besar Muhammad SAW, keluarganya, para sahabat, serta para pengikutnya yang tetap istiqomah mengemban risalah-Nya. Melalui lembar ini, penulis ingin menyampaikan penghargaan dan terima kasih kepada Ibu Desina Kartika M., S.Si, MCompSC. selaku pembimbing I, yang telah meluangkan waktunya untuk membimbing penulis, memberikan ilmu-ilmu yang berharga, serta dukungan selama penelitian ini berlangsung. Bapak Wisnu Ananta, ST. MT. selaku pembimbing II, yang telah membimbing penulis dan selalu memberikan semangat, serta Bapak Ir. Julio Adisantoso MKom. yang telah bersedia menjadi penguji sekaligus penyemangat dalam pelaksanaan seminar dan sidang. Penulis juga mengucapkan terima kasih kepada seluruh keluarga, khususnya Mamah, Bapak, dan adek Rini yang telah memberikan dukungan, kasih sayang, doa, dan pengorbanannya selama ini. Sherly Wijaya Rusli yang selalu menemani penulis ketika senang maupun sedih, memberi semangat untuk terus menyelesaikan tugas akhir, dan pengorbanan yang diberikan selama penelitian ini berlangsung. Ifnu yang selalu membantu, memberi dukungan, pendapat dan inspirasi yang sangat berharga selama ini. Meynar yang telah membantu selama penulisan tugas akhir dan memberi dukungan ketika seminar dan sidang. Pis, Pandi, Firat, Jemi dan “Geng Cinta” lainnya yang telah memberikan wawasan dan keceriaan kepada penulis. Semua teman-teman ilkomerz’40, terima kasih untuk canda tawa, persahabatan, dan kebersamaan selama kuliah di Ilkom IPB. Temanteman griya 40, Gilang, Dawud, Yudi, Yulia, Leli, Yasmin, Irma, Icha yang selalu memberikan semangat dan doanya kepada penulis. Serta rekan-rekan Ilkomerz angkatan 38, 39, 41, dan 42. Seluruh staf pengajar yang telah memberikan wawasan serta ilmu yang berharga selama penulis menuntut ilmu di Departemen Ilmu Komputer. Seluruh staf administrasi dan perpustakaan Departemen Ilmu Komputer yang selalu memberi kemudahan dalam mengurus segala macam hal berkaitan dengan perkuliahan, serta pihak-pihak lain yang tidak dapat disebutkan satu-persatu. Sebagaimana manusia yang tidak luput dari kesalahan, penulis menyadari bahwa karya ilmiah ini jauh dari sempurna. Namun penulis berharap semoga karya ilmiah ini dapat bermanfaat bagi siapapun yang membacanya.
Bogor, Juli 2007
Hadikusuma Wahab
v
DAFTAR ISI Halaman DAFTAR GAMBAR ..........................................................................................................................vi DAFTAR LAMPIRAN.......................................................................................................................vi PENDAHULUAN Latar Belakang .................................................................................................................................1 Tujuan Penelitian..............................................................................................................................1 Ruang Lingkup Penelitian................................................................................................................1 Manfaat Penelitian............................................................................................................................1 TINJAUAN PUSTAKA Basis Data.........................................................................................................................................2 Structured Query Languange (SQL) ...............................................................................................2 Waterfall Life Cycle .........................................................................................................................2 Unified Modelling Language (UML) ..............................................................................................3 Java 2 Enterprise Edition .................................................................................................................3 Package ............................................................................................................................................4 Java Server Pages (JSP) & Servlet...................................................................................................4 Servlet Container .............................................................................................................................4 Design Pattern..................................................................................................................................4 MVC Pattern....................................................................................................................................4 J2EE Pattern.....................................................................................................................................4 Framework .......................................................................................................................................5 Struts Framework.............................................................................................................................5 Validator Framework .......................................................................................................................5 METODE PENELITIAN Studi Literatur...................................................................................................................................6 Pengembangan Sistem .....................................................................................................................6 Analisis dan Definisi Kebutuhan .....................................................................................................6 Perancangan Sistem dan Perangkat Lunak ......................................................................................6 Implementasi ....................................................................................................................................7 Pengujian Integrasi dan Sistem ........................................................................................................7 Deployment.......................................................................................................................................7 HASIL DAN PEMBAHASAN Analisis dan Definisi Kebutuhan .....................................................................................................7 Deskripsi Umum Sistem ...............................................................................................................7 Analisis Kebutuhan Pengguna......................................................................................................7 Analisis Kebutuhan Sistem...........................................................................................................7 Analisis Pengguna.........................................................................................................................7 Perancangan Sistem dan Perangkat Lunak ......................................................................................8 Perancangan Input.........................................................................................................................8 Perancangan Output ......................................................................................................................8 Perancangan Basis Data Lojik ......................................................................................................8 Perancangan Basis Data Fisik.......................................................................................................8 Perancangan Model.......................................................................................................................8 Perancangan View .........................................................................................................................8 Perancangan Controller ................................................................................................................8 Perancangan Kendali/Kontrol.......................................................................................................9 Implementasi ....................................................................................................................................9 Struktur Package...........................................................................................................................9 Implementasi Perangkat Keras .....................................................................................................9 Server........................................................................................................................................9
vi
Halaman Client ........................................................................................................................................9 Implementasi Perangkat Lunak ..................................................................................................10 Server......................................................................................................................................10 Client ......................................................................................................................................10 Implementasi Basis Data ............................................................................................................10 Implementasi Model....................................................................................................................10 Implementasi Antarmuka............................................................................................................10 Implementasi Controller.............................................................................................................11 Pengujian Integrasi dan Sistem ......................................................................................................12 Deployment.....................................................................................................................................12 Kelebihan Sistem............................................................................................................................12 Kekurangan Sistem ........................................................................................................................13 KESIMPULAN DAN SARAN Kesimpulan .....................................................................................................................................13 Saran................................................................................................................................................14 DAFTAR PUSTAKA ........................................................................................................................14 LAMPIRAN .......................................................................................................................................14
DAFTAR GAMBAR 1 2 3 4 5 6 7
Halaman Model siklus hidup perangkat lunak.............................................................................................2 Arsitektur J2EE .............................................................................................................................3 Hubungan komunikasi komponen J2EE ......................................................................................3 Arsitektur MVC pattern................................................................................................................4 Arsitektur Struts framework .........................................................................................................6 Perancangan antarmuka aplikasi SIMAK ....................................................................................8 Implementasi antarmuka aplikasi SIMAK .................................................................................11
DAFTAR LAMPIRAN 1 2 3 4 5 6 7 8 9
Halaman Use case diagram ....................................................................................................................... 16 Fungsi aplikasi SIMAK ............................................................................................................. 17 Karakterisitik pengguna............................................................................................................. 18 Diagram ER................................................................................................................................ 19 Skema basis data ........................................................................................................................ 20 Class diagram ............................................................................................................................ 21 Perancangan controller .............................................................................................................. 24 Implementasi basis data ............................................................................................................. 37 Dokumen uji aplikasi SIMAK ................................................................................................... 38
1
PENDAHULUAN Latar Belakang Informasi akademik merupakan elemen penting dalam institusi pendidikan, oleh karena itu diperlukan aplikasi Sistem Informasi Akademik (SIMAK) yang berfungsi untuk mengatur seluruh proses akademik. Proses akademik meliputi mahasiswa, fakultas, departemen, program studi, mata kuliah, Kartu Rencana Studi (KRS), transkrip, serta laporan akademik. Aplikasi SIMAK harus dapat memberikan informasi yang akurat mengenai mahasiswa. Informasi tersebut meliputi program studi yang dipilih, mata kuliah yang sudah diambil maupun yang akan diambil semester selanjutnya, perhitungan nilai akademik per semester atau kumulatif dari semester sebelumnya, dan status studinya. Proses pendaftaran KRS dan perubahan nilai mata kuliah juga harus dapat dilakukan dengan efektif dan efisien. Manajemen pengguna juga diperlukan untuk menjaga keamanan dan integritas data. Aplikasi SIMAK di IPB sudah dikembangkan oleh Kantor Pusat Sistem Informasi (KPSI) IPB yang berbasiskan desktop application dengan asitektur clientserver. Masalah dari aplikasi yang berbasiskan desktop application adalah setiap client harus terpasang aplikasi SIMAK, sehingga pemeliharaan akan menjadi sulit. Pemeliharaan sulit dilakukan karena semua client harus di-update apabila terdapat fitur baru atau koreksi terhadap kesalahan program. Hal ini akan menjadi masalah besar apabila terdapat banyak client. Berangkat dari kekurangan tersebut akan dikembangkan aplikasi SIMAK yang berbasiskan web application sehingga setiap client hanya membutuhkan browser untuk mengakses sistem dan pemeliharaan yang mudah karena terpusat pada server. Pengembangan aplikasi berbasis web dapat diimplementasikan dengan berbagai teknologi. Teknologi J2EE dipilih karena memiliki berbagai aspek dalam membangun aplikasi, yaitu portability, reliability, scalability, maintability, dan availabity (McGovern 2003). Oleh karena itu akan dikembangkan aplikasi SIMAK yang dibangun dengan teknologi J2EE dan menerapkan konsep Model, View, Controller (MVC) dimana kode untuk tampilan dan proses bisnis akan terpisah. Penerapan konsep
MVC akan diakomodasi melalui Struts framework. Selain itu, aplikasi SIMAK juga menerapkan design pattern khususnya J2EE pattern yang digunakan sebagai katalog permasalahan pemrograman di lingkungan J2EE beserta solusinya dan juga sebagai panduan untuk pengambilan keputusan perancangan program. Beberapa J2EE pattern yang diterapkan dalam aplikasi SIMAK adalah Data Access Object (DAO) pattern, Data Transfer Object (DTO) pattern, dan decorator pattern. Dengan berbagai konsep tersebut diharapkan dapat dibangun aplikasi SIMAK yang terstruktur, mudah dikelola, serta mudah untuk dikembangkan. Tujuan Penelitian Tujuan dari penelitian ini adalah : 1 Menerapkan seluruh proses dalam pengembangan perangkat lunak. 2 Mengimplementasikan teknologi J2EE dalam pengembangan aplikasi SIMAK. 3 Mengimplementasi konsep MVC melalui Struts framework dalam pengembangan aplikasi SIMAK. 4 Menerapkan J2EE pattern dalam pengembangan aplikasi SIMAK. Ruang Lingkup Penelitian Ruang lingkup penelitian ini adalah: 1 Membangun aplikasi SIMAK yang menerapkan konsep MVC melalui Struts framework. 2 Membangun aplikasi SIMAK yang mengimplementasi J2EE pattern. 3 Aplikasi SIMAK dibatasi untuk sistem mahasiswa phasing out. 4 Aplikasi SIMAK tidak mencakup modul wisuda. Manfaat Penelitian Penelitian ini diharapkan dapat bermanfaat bagi KPSI sebagai model pengembangan selanjutnya dari aplikasi SIMAK sebelumnya. Selain itu, penelitian ini juga bermanfaat sebagai contoh aplikasi J2EE yang menerapkan konsep MVC dan J2EE pattern. Hal ini dapat membantu pihak yang ingin membangun aplikasi J2EE yang terstruktur dan mudah dikelola.
2
TINJAUAN PUSTAKA Basis Data Basis data merupakan sekumpulan data atau entitas beserta deskripsinya yang secara logika berelasi, dibuat untuk memenuhi kebutuhan informasi suatu organisasi serta dapat digunakan bersama-sama. Tujuan utama basis data adalah pengelolaan dan pengolahan data yang begitu kompleks secara mudah, cepat dan efisien untuk berbagai kebutuhan (Connolly dan Carolyn 2002). Basis data terdiri dari entitas dan relasi antar entitas. Entitas (entity) merupakan objek tertentu dari suatu organisasi yang akan direpresentasikan dalam basis data. Tipe entitas merupakan sekumpulan objek yang didefinisikan oleh pengguna, dimana tipe entitas tersebut memiliki keberadaan yang tidak terikat, dan merupakan representasi dari sekumpulan objek pada dunia nyata dengan nilai atribut yang sama (Connolly dan Carolyn 2002). Relasi (relationship) adalah hubungan antarentitas dan Entity–Relationship Model (ER) adalah model data berbasiskan objek yang berfungsi untuk merancang basis data dengan pendekatan top-down yang tidak ambigu dan mudah digunakan. Entitas, atribut, relasi, dan batasan perhitungan merupakan komponen dari ER. Tujuan ER adalah merepresentasikan entitas dan relasinya. Structured Query Languange (SQL) SQL (Structured Query Language) merupakan bahasa query dasar yang digunakan untuk mengakses basis data relasional (Connolly dan Carolyn 2002). Ekspresi SQL mempunyai tiga klausa dasar, yaitu : 1 SELECT SELECT digunakan untuk menetapkan field atau atribut yang ingin ditampilkan. 2 FROM FROM digunakan untuk menetapkan tabel apa saja yang akan ditelusuri selama query. 3 WHERE WHERE digunakan untuk mendapatkan data dengan kriteria yang harus dipenuhi, klausa ini bersifat opsional.
software life cycle merupakan salah satu jenis pemodelan dari proses pengembangan perangkat lunak. Disebut model waterfall dikarenakan oleh terurutnya dari satu tahap ke tahap yang lainnya (Pressman 2001). Tahap utama dari model ini adalah membentuk aktivitas pengembangan yang bersifat dasar, seperti: 1 Analisis dan definisi kebutuhan Pada tahap ini dilakukan konsultasi dengan pengguna untuk mengetahui batasan dan tujuan dari sistem yang akan dirancang. Hal tersebut akan didefinisikan secara detail dan dipergunakan sebagai sebuah spesifikasi sistem. 2 Perancangan sistem dan perangkat lunak Proses perancangan membagi kebutuhan dari perangkat keras maupun perangkat lunak. Proses ini akan membentuk secara umum arsitektur sistem. Perancangan perangkat lunak terdiri dari proses mengidentifikasikan dan menjelaskan abstraksi sistem perangkat lunak dan keterhubungan di antaranya. 3 Implementasi Hasil perancangan sistem pada tahap sebelumnya mulai diimplementasikan agar menghasilkan sistem yang dapat bekerja dengan baik. 4 Pengujian integrasi dan sistem Modul-modul program dan fungsi-fungsi khusus yang termasuk di dalamnya diintegrasikan dan diuji sebagai suatu sistem yang lengkap, sehingga menjamin kebutuhan perangkat lunak. Setelah dilakukan pengujian, sistem perangkat lunak akan diberikan ke pengguna. 5 Deployment Pada tahap ini sistem dipasang dan diletakkan untuk penggunaan praktis . Tahapan ini berlangsung cukup lama dan biasanya memakan biaya yang cukup besar bila terjadi kesalahan pada tahaptahap awal. Analisis dan definisi kebutuhan Perancangan sistem dan perangkat lunak
Implementasi
Pengujian integrasi dan sistem
Deployment
Waterfall Life Cycle Proses pemodelan perangkat lunak merupakan representasi abstrak dari sebuah proses perangkat lunak. Waterfall atau
Gambar 1 Model siklus hidup perangkat lunak.
3
Unified Modelling Language (UML) Unified Modelling Language (UML) adalah keluarga notasi grafis yang didukung oleh meta-model tunggal untuk membantu pendeskripsian dan desain sistem perangkat lunak. UML biasanya digunakan pada sistem yang dibangun mengunakan pemrograman berorientasi objek (Fowler 2004). Beberapa diagram UML yang sering digunakan adalah, class diagram, use case diagram, dan sequence diagram. Class diagram merupakan diagram UML yang mendeskripsikan jenis-jenis objek di dalam sistem dan hubungan statis yang terdapat di antara mereka (Fowler 2004). Class diagram juga menunjukkan properti dan operasi sebuah objek dan batasan-batasan yang terdapat dalam hubungan di antara objek-objek tersebut. Beberapa elemen yang terdapat dalam Class diagram adalah properti, atribut, dan asosiasi. Use case diagram merupakan diagram UML yang mendeskripsikan persyaratan fungsional dari sistem (Fowler 2004). Selain itu, terdapat pula interaksi antara pengguna sistem dan sistem itu sendiri melalui sebuah narasi tentang bagaimana sistem tersebut digunakan. Sequence diagram menunjukkan bagaimana kelompok-kelompok objek saling berkolaborasi dalam sebuah fungsi tunggal (Fowler 2004). Diagram ini menunjukkan sejumlah objek dan pesan-pesan yang melewati objek-objek ini pada sebuah fungsi tunggal. Java 2 Enterprise Edition Java 2 Enterprise Edition atau J2EE adalah platform berbasis web yang digunakan untuk membangun aplikasi berskala enterprise dengan arsitektur multi-tier (Armstrong et al. 2005). Dengan arsitektur ini, J2EE akan membuat aplikasi yang dibangun menjadi lebih efektif dari segi biaya dan waktu. J2EE dibangun dari beberapa komponen tier yaitu: • Komponen client-tier yang berada di mesin client. • Komponen web-tier yang berada di J2EE server. • Komponen business-tier yang berada di J2EE server. • Enterprise information system (EIS)-tier yang berada di EIS server.
Namun berdasarkan lokasi penyebaran komponen, J2EE hanya dibagi menjadi tiga tier yaitu, mesin client, J2EE server, dan EIS server. Arsitektur J2EE dapat dilihat pada Gambar 2.
Gambar 2 Arsitektur J2EE (Armstrong et al. 2005). Komunikasi antara client-tier, web-tier, business-tier dan EIS-tier dapat dilihat pada Gambar 3.
Gambar 3 Hubungan komunikasi komponen J2EE (Armstrong et al. 2005). J2EE memiliki memiliki kelebihan utama, yaitu portability, reliability, scalability, maintability, dan availabity (McGovern 2003). Dilihat dari sudut portability, J2EE bersifat multiplatform sehingga dapat berjalan di beberapa sistem operasi, seperti Windows, UNIX, Linux, Solaris, dan MacOS. Reliability dapat dilihat dari sudut pandang sistem operasi yang digunakan. Beberapa sistem operasi mempunyai tingkat kehandalan dan ketahanan terhadap malicious code yang berbeda-beda. Dengan menggunakan sistem operasi yang tepat maka aspek reliability dapat tercapai. Aplikasi dengan J2EE dapat juga bersifat scalable, karena J2EE memiliki metode clustering untuk memproses suatu request oleh beberapa server tanpa mengubah kode sumber aplikasi. Selain itu teknologi
4
J2EE juga mempunyai banyak pustaka opensource dan berkualitas. Package Package adalah sebuah bentuk pengelompokan kelas atau interface yang saling berhubungan pada bahasa pemrograman Java (Campione 2000). Package dapat merupakan anggota package lain, jadi terdapat suatu struktur hirarki di mana package paling atas memiliki beberapa subpackage dan seterusnya sampai hirarki tersebut berakhir pada kelas. Kegunaan dari package adalah memudahkan pencarian dan penggunaan suatu kelas atau interface, menghindari konflik penamaan, dan akses kontrol kelas.
masalah dalam pembangunan sebuah sistem. Hal ini disebabkan karena biasanya permasalahan tidaklah unik, dengan mengetahui deskripsi lengkap dari suatu permasalahan maka akan dapat dengan mudah diketahui pattern apa yang cocok sebagai solusi dari permasalahan tersebut dan ketika menghadapi masalah yang sama atau mirip maka pattern tersebut dapat digunakan kembali. MVC Pattern Pola atau pattern yang memisahkan antara tampilan antarmuka (view), bisnis proses (controller), dan objek data (model) (McGovern 2003). Arsitektur MVC pattern dapat dilihat pada Gambar 4.
Java Server Pages (JSP) & Servlet Java Server Pages (JSP) merupakan teknologi untuk menghasilkan halaman dinamis seperti HTML, DHTML, XHTML, dan XML pada sisi server. Servlet adalah kelas Java yang berada di bawah JSP, namun lebih bersifat khusus untuk menangani request dan response terhadap web server (Armstrong et al. 2005). Setiap halaman JSP akan diubah menjadi servlet terlebih dahulu sebelum dieksekusi. Teknologi yang sejenis dengan JSP adalah ASP dan PHP. Servlet Container Servlet container berguna untuk mengatur daur hidup seluruh objek servlet dalam aplikasi J2EE (McGovern 2003). Selain itu servlet container juga berfungsi sebagai web container untuk memberikan layanan inisialisasi parameter, koneksi basis data, memudahkan servlet untuk menggunakan sumber atau komponen lain dalam aplikasi, dan manajemen session. Design Pattern Design pattern adalah unsur-unsur rancangan yang seringkali muncul pada berbagai jenis sistem. Design pattern merupakan katalog permasalahan beserta solusi yang sudah teruji dalam perancangan sistem (Gamma et al. 1995). Design pattern yang sering dijadikan untuk bidang studi adalah design pattern yang berasal dari Gang of Four (GoF) yaitu, Erich Gamma, Richard Helm, Ralph Johnson, dan John Vlissides. GoF mengumpulkan pattern-pattern yang biasa dipakai dalam membangun sebuah sistem menjadi suatu katalog lengkap yang dapat dipakai dalam memecahkan berbagai
Controller
Manipulasi
Model
Interaksi
Ditampilkan
View
Gambar 4 Arsitektur MVC pattern. Layer Model merupakan proses bisnis utama. Di dalamnya terdapat kode untuk persistensi data dan proses bisnis. Secara singkat, layer Model ini menangani isi dari aplikasi. Di layer ini diputuskan data yang akan diberikan pada client. Layer View menangani masalah-masalah yang berkaitan dengan tampilan. Layer ini hanya melakukan pengaturan terhadap data agar tampilannya sesuai dengan kebutuhan pengguna. Layer Controller mengatur alur pengguna. Di sini dilakukan pemrosesan request untuk menentukan proses bisnis mana yang akan dieksekusi. Biasanya layer controller juga digunakan untuk mengatur ijin akses. J2EE Pattern Selain GoF, juga terdapat Gang of Three (GoT) yang terdiri dari Deepak Alur, John Crupi, dan Dan Malks. J2EE pattern sebenarnya mengacu kepada design pattern berdasarkan GoF dan memiliki fungsi yang sama yaitu sebagai katalog permasalahan dan solusi yang sudah teruji dalam pengembangan aplikasi J2EE. Namun GoT lebih fokus pada design pattern dalam J2EE dan tidak terdapat
5
tumpang tindih antara kedua kelompok ini (Alur et al. 2003). Beberapa J2EE pattern dalam penelitian ini adalah: 1 Data Access Object Pattern Data Access Object (DAO) pattern adalah pola yang mengenkapsulasi data akses dan manipulasi ke dalam lapisan yang berbeda (Alur et al. 2003). Dengan menggunakan DAO pattern maka aplikasi tidak perlu mengetahui bagaimana sebuah data diakses atau dimanipulasi. DAO pattern akan diimplementasikan dengan membuat sebuah objek yang bersifat abstrak dan mengenkapsulasi seluruh akses ke sumber data yang bersifat persisten. Objek ini akan berfungsi sebagai akses data yang bersifat umum untuk berbagai macam data sumber seperti, RDBMS, LDAP, OODB, XML, flat files, dan lain lain. 2 Data Transfer Object Pattern Data Transfer Object (DTO) pattern atau adalah pola yang mengenkapsulasi bisnis data dan mengirimkannya secara sekaligus dalam satu waktu (Alur et al. 2003). DTO pattern juga berfungsi sebagai jembatan penghubung antar lapisan dalam aplikasi. Dengan pola ini proses perpindahan data menjadi sederhana dan terintegrasi. 3 Decorator Pattern Decorator pattern merupakan pola untuk menangkap seluruh request sebelum atau sesudah diberikan kepada target (Crawford & Kaplan 2003). Pola ini dapat diterapkan dalam berbagai komponen. Pada komponen yang berisi proses bisnis dapat berguna untuk proses pencatatan aplikasi dan keamanan. Pada komponen antarmuka setiap halaman yang akan diberikan kepada target atau pengguna akan didekorasi terlebih dahulu. Framework Framework adalah aplikasi semi-complete yang dapat digunakan untuk membuat aplikasi lain yang lebih spesifik (Husted 2003). Framework yang ideal merupakan intisari dari pendekatan terbaik dalam pengembangan perangkat lunak. Struts Framework Struts framework adalah web framework pada J2EE yang menerapkan MVC pattern (Husted 2003). Struts mempunyai beberapa kelas yang berhubungan untuk membentuk MVC pattern.
Beberapa komponen framework adalah: • • • • •
dalam
Struts
ActionForward ActionForm ActionMapping ActionServlet Action
ActionServlet berfungsi untuk mengatur seluruh alur navigasi dalam sistem. Di lain pihak, Action berfungsi untuk mengakses kelas yang berhubungan dengan proses bisnis atau lojik dari sistem. Ketika ActionServlet menerima permintaan dari container yang terdapat dalam web server, maka ActionServlet akan menggunakan URI (Universal Resources Identifier) atau “path” untuk menentukan kelas Action mana yang akan digunakan untuk menangani permintaan tersebut. Kelas Action berfungsi untuk mengakses lapisan bisnis pada aplikasi untuk mendapatkan, menyimpan, mengubah, dan menghapus informasi yang berasal dari basis data. Untuk menerima dan validasi input dari pengguna, ActionServlet membungkus input tersebut ke dalam sebuah kelas ActionForm yang mempunyai metode aksesor dan mutator terhadap atribut yang dimilikinya. Seluruh detail mengenai ActionForm, Action, ActionForward, ActionMapping dideklarasikan dalam struts-config.xml. ActionServlet akan membaca file ini pada waktu start-up dan membuat objek konfigurasi terhadap basis data yang digunakan. Gambar 5 menunjukkan arsitektur serta interaksi antarkomponen dalam Struts framework. Struts framework termasuk ke dalam kategori MVC framework yang berbasiskan action. Selain itu, terdapat jenis MVC framework lain yang berbasiskan komponen. Pendekatannya adalah membangun aplikasi berbasis web seperti membangun aplikasi desktop. Contoh MVC framework yang berbasis komponen adalah Java Server Faces (JSF), Tapestry, dan Wicket. Validator Framework Validasi merupakan elemen yang penting dalam pembangunan aplikasi. Validasi yang tepat akan membuat data yang tersimpan di
6
dalam basis data menjadi data yang valid dan dapat dipercaya.
Gambar 5 Arsitektur Struts framework. Berbagai kesalahan input yang umum terjadi dalam sebuah aplikasi adalah: • Email hanya berupa kombinasi alfabet tanpa terdapat karakter @ dan domain dari email tersebut. • Nama dapat berupa karakter apapun, padahal biasanya nama hanya kombinasi huruf alfabet. • Tanggal tidak sesuai dengan format tertentu dalam aplikasi misalnya dd/mm/yyyy atau mm/dd/yyyy. Dengan menggunakan validator framework maka akan memudahkan implementasi validasi terhadap input pengguna. Validasi ini dapat berupa input yang harus diisi oleh pengguna, panjang minimal atau maksimal dari input, format tanggal, email, dan validasi yang dapat dibuat sendiri agar sesuai dengan aplikasi yang dibangun (Husted 2003).
METODE PENELITIAN Studi Literatur Studi literatur diawali dengan menganalisis dan membandingkan beberapa framework MVC yang tersedia di lingkungan J2EE. Selain itu, dilakukan juga studi implementasi terhadap beberapa J2EE pattern.
Pengembangan Sistem Metode pengembangan sistem dalam penelitian ini adalah metode pengembangan sistem waterfall yang terdiri dari beberapa tahapan yaitu analisis dan definisi kebutuhan, perancangan sistem dan perangkat lunak, implementasi, pengujian dan integrasi sistem, dan deployment. Analisis dan Definisi Kebutuhan Pada tahap ini dilakukan analisis dan definisi kebutuhan aplikasi SIMAK dengan berkomunikasi secara langsung kepada pengguna SIMAK sebelumnya, yaitu administrator, staf fakultas, staf departemen, dan staf program studi. Komunikasi ini dilakukan untuk mendapatkan deskripsi umum, tujuan, kebutuhan pengguna, kebutuhan sistem, dan pengguna aplikasi SIMAK. Proses analisis dan definisi kebutuhan juga melibatkan programmer KPSI yang membangun SIMAK sebelumnya untuk menjamin keakuratan analisis dan definisi kebutuhan aplikasi. Perancangan Sistem dan Perangkat Lunak Perancangan aplikasi merupakan tahap yang mendefinisikan analisis kebutuhan menjadi suatu representasi aplikasi sebelum diimplementasikan. Perancangan dilakukan dengan pemodelan notasi grafis UML. Beberapa diagram UML yang dipakai dalam perancangan adalah class diagram, use case
7
diagram, dan sequence diagram. Perancangan didasarkan pada J2EE pattern untuk mendapatkan rancangan aplikasi yang tersruktur.
fakultas, staf departemen, dan staf program studi.
2 Analisis Kebutuhan Pengguna Implementasi Implementasi dari perancangan yang sudah dilakukan sebelumnya dilakukan dengan menggunakan Struts framework dan J2EE pattern. Lingkungan implementasi yang digunakan adalah sebagai berikut: • Perangkat Lunak: Windows XP Professional, J2EE 1.4, MySQL 4.1, Netbeans 5.5, Apache Tomcat 5.5, Mozilla Firefox 2.0, dan Internet Explorer 7. • Perangkat Keras: Intel Centrino Duo 1.6 Ghz, RAM 1.24 GB, harddisk 80 GB, keyboard, mouse, dan monitor. Pengujian Integrasi dan Sistem Pengujian sistem dilakukan oleh pengguna yaitu administrator SIMAK IPB. Pengujian dilakukan dengan metode black box testing. Jika pada pengujian terdapat kesalahan pada sebuah fungsi maka akan segera dilakukan perbaikan kemudian dilakukan pengujian kembali. Regression testing dilakukan sampai mencakup seluruh fungsi sehingga sistem dapat berjalan sebagaimana mestinya. Deployment Pada tahap ini aplikasi SIMAK di-deploy pada servlet container untuk dapat dioperasikan. Servlet container yang akan digunakan adalah Apache Tomcat.
HASIL DAN PEMBAHASAN Analisis dan Definisi Kebutuhan Pada tahap ini didapatkan beberapa gambaran umum dan definisi kebutuhan dari aplikasi SIMAK. Beberapa hal yang dianalisis pada tahap ini adalah: 1 Deskripsi Umum Sistem Aplikasi SIMAK adalah perangkat lunak berbasis web yang mengatur seluruh proses akademik mulai dari mahasiswa, fakultas, departemen, program studi, mata kuliah, KRS, transkrip, sampai laporan akademik. Untuk menjaga keamanan dan integritas data, diperlukan manajemen pengguna SIMAK yang dibagi menjadi empat macam pengguna. Pengguna meliputi administrator, staf
Kebutuhan pengguna terhadap aplikasi SIMAK adalah sebagai berikut: • Terdapat manajemen pengguna untuk membatasi hak akses terhadap setiap data. • Terdapat modul untuk mengatur fakultas, departemen, program studi dan mata kuliah yang disediakan oleh program studi tersebut. • Terdapat fungsi untuk mengatur mahasiswa dan mata kuliah yang diambil oleh mahasiswa tersebut. • Proses penilaian dapat dilakukan dengan meng-upload file yang berisi nilai mahasiswa yang berformat Microsoft Excel. • Terdapat fungsi untuk membuat laporan akademik mahasiswa baik perorangan maupun keseluruhan dengan format PDF. • Terdapat fungsi untuk mencetak daftar absensi untuk perkuliahan maupun ujian dengan format PDF sesuai dengan data KRS mahasiswa. Use case diagram pada Lampiran 1 akan menggambarkan lebih detail keterhubungan antara kebutuhan pengguna dan sistem. 3 Analisis Kebutuhan Sistem Untuk memenuhi kebutuhan pengguna, aplikasi SIMAK akan dirancang agar memiliki fungsi dan batasan-batasan yang dapat memenuhi semua kebutuhan pengguna. Fungsi aplikasi SIMAK dapat dilihat pada Lampiran 2. 4 Analisis Pengguna Pengguna aplikasi SIMAK adalah staf rektorat, fakultas, departemen, dan program studi di IPB. Staf rektorat mempunyai wewenang penuh terhadap aplikasi SIMAK atau disebut sebagai administrator. Di sisi lain, staf fakultas hanya dapat melihat data yang ada di bawah fakultasnya, staf departemen hanya dapat melihat data yang ada di bawah departemennya, dan staf program studi hanya dapat melihat data program studinya masing-masing. Aplikasi SIMAK menerima masukan dari pengguna melalui perintah yang diklik pada mouse atau yang diketikkan melalui keyboard.
8
Karakteristik dari pengguna aplikasi SIMAK disajikan pada Lampiran 3. Perancangan Sistem dan Perangkat Lunak Pada tahap ini diperoleh hasil perancangan dari aplikasi SIMAK. Perancangan aplikasi SIMAK meliputi: 1 Perancangan Input Perancangan input berfungsi untuk menerima input dari pengguna aplikasi SIMAK. Input yang ada pada aplikasi SIMAK berupa teks yang diketik oleh pengguna melalui keyboard dan pilihan menu/link yang diklik oleh pengguna melalui mouse. Pada sejumlah form isian yang membutuhkan input berupa teks, dilakukan validasi agar tidak tidak terjadi kesalahan terhadap input data. Perpindahan halaman dalam aplikasi SIMAK ditentukan melalui link pilihan menu dan submenu. Aplikasi SIMAK juga menerima input berupa file berformat Microsoft Excel (*.xls) sebagai input untuk KRS dan nilai mahasiwa. 2 Perancangan Output Output pada aplikasi SIMAK berupa halaman web yang bersifat dinamis. Halaman dinamis akan menampilkan data yang tersimpan di dalam data sumber yang dipanggil melalui query tertentu sehingga isi halamannya bisa berubah-ubah pada saat runtime. Selain itu aplikasi SIMAK juga menghasilkan output yang berupa file berformat PDF (*.pdf) untuk keperluan cetak absensi, transkrip, atau laporan lainnya.
yang merupakan bagian dari controller yang berfungsi memproses segala input yang dimasukkan oleh pengguna dan memberitahu pada kelas ActionMapping tentang proses selanjutnya. Aplikasi SIMAK menerapkan DAO pattern untuk akses ke data sumber. Pada penelitian ini, akses data sumber dibatasi pada ANSI-92 SQL. Dalam penerapannya, DAO pattern membutuhkan DTO yang berfungsi sebagai objek yang berisi data dari pengguna untuk dipindahkan dari kelas Action ke kelas DAO. DTO merupakan objek-objek yang merepresentasikan tabel-tabel dalam basis data. Di dalam kelas DAO, objek tersebut diolah ke basis data. Class diagram dari perancangan model dapat dilihat pada Lampiran 6. 6 Perancangan View Perancangan view atau antarmuka dirancang untuk memberikan tampilan yang sesuai dengan kebutuhan pengguna. Aplikasi SIMAK memiliki desain antarmuka yang dapat dilihat pada Gambar 6. BANNER
MENU
CONTENT
3 Perancangan Basis Data Lojik Pada basis data ini model yang digunakan adalah model basis data relasional (Relational Data Model). Tahapan desain model lojik diakhiri dengan mendapatkan diagram EntityRelationship (ER) yang menggambarkan model lojik dari basis data. Diagram ER aplikasi dapat dilihat pada Lampiran 4. 4 Perancangan Basis Data Fisik Perancangan basis data model fisik pada aplikasi SIMAK adalah tahapan dimana perancangan basis data lojik telah diimplementasikan ke dalam bentuk tabeltabel yang disebut skema basis data. Skema basis data dapat dilihat pada Lampiran 5. 5 Perancangan Model Dalam perancangan MVC pattern, model harus berisi segala macam proses bisnis pada SIMAK. Struts menyediakan kelas Action
FOOTER
Gambar 6 Perancangan antarmuka aplikasi SIMAK. Perancangan antarmuka aplikasi SIMAK menerapkan decorator pattern sehingga setiap halaman yang akan diberikan ke pengguna akan didekorasi terlebih dahulu dengan format yang sudah ditentukan. Penerapan pattern ini akan memudahkan perubahan antarmuka dengan hanya mengubah format dekorasi. Decorator pattern diimplementasikan dengan menggunakan pustaka Sitemesh. 7 Perancangan Controller Controller merupakan bagian yang menghubungkan antara model dan antarmuka. Perancangan controller akan menggambarkan proses atau kejadian agar input pengguna
9
menghasilkan output yang diinginkan. Perancangan controller digambarkan menggunakan sequence diagram sehingga terlihat hubungan dari input pengguna, objekobjek yang terlibat dalam proses, dan output yang diberikan kepada pengguna. Beberapa contoh perancangan controller aplikasi SIMAK dapat dilihat pada Lampiran 7.
peringatan bahwa terjadi kesalahan terhadap akses basis data.
8 Perancangan Kendali/Kontrol
1 Struktur Package
Perancangan kendali/kontrol ditujukan untuk mengantisipasi kesalahan pengguna pada saat mengoperasikan aplikasi SIMAK serta melindungi aplikasi dari pengguna yang tidak memiliki hak akses. Untuk mengantisipasi kesalahan, aplikasi SIMAK telah dilengkapi dengan kemampuan validasi input pengguna terhadap form isian.
Aplikasi SIMAK mempunyai struktur package sebagai berikut:
Validasi pada aplikasi SIMAK terdiri dari dua lapisan yaitu validasi di sisi client dan di sisi server. Validasi di sisi client akan mengurangi beban kerja server dalam melakukan validasi, contohnya validasi jika field harus diisi, field harus diisi dengan format tertentu, field harus diisi dengan angka, dan sebagainya. Seluruh validasi tersebut akan dilakukan di sisi client menggunakan Javascript. Apabila pengguna mematikan Javascript di browser maka aplikasi SIMAK secara otomatis akan melakukan validasi di sisi server. Perancangan kendali/kontrol diterapkan dengan menggunakan Validator framework yang disediakan oleh Struts. Dalam perancangan dibutuhkan kelas ValidatorForm yang berfungsi untuk mengikat setiap form yang ada pada aplikasi SIMAK. Kelas ValidatorForm mempunyai atribut yang sama dengan nama field yang ada di dalam form serta memiliki fungsi aksesor dan mutator untuk atribut tersebut. Seluruh fungsi validasi disimpan dalam dua file yang berbeda, yaitu validation.xml dan validation-rules.xml. File validation.xml berfungsi untuk menyimpan jenis validasi yang akan diterapkan pada setiap field dalam setiap form, sedangkan file validation-rules.xml menyimpan jenis-jenis validasi yang bisa digunakan. Selain validasi terhadap kesalahan input, aplikasi SIMAK juga melakukan pengendalian kesalahan pada sistem dengan memberikan informasi yang tepat kepada pengguna. Misalnya, jika terjadi segala jenis kesalahan yang berhubungan dengan akses basis data di halaman manapun, aplikasi SIMAK akan memberikan halaman
Implementasi Pada tahap ini seluruh perancangan yang dibuat pada tahap sebelumnya diimplementasikan. Implementasi aplikasi SIMAK meliputi:
• Default package, menyimpan file properties untuk pencatatan aplikasi SIMAK. • org.simak, menyimpan file ApplicationResources.properties untuk semua label yang terdapat dalam halaman aplikasi SIMAK. • org.simak.action, menyimpan kelas-kelas turunan Action. • org.simak.form, menyimpan kelas-kelas turunan ValidatorForm. • org.simak.dao, menyimpan interface DAO. • org.simak.dao.sql92, menyimpan implementasi dari DAO berupa akses SQL. • org.simak.decorator, menyimpan decorator untuk tabel pada setiap halaman SIMAK. • org.simak.model, menyimpan kelas-kelas model. • org.simak.util, menyimpan kelas-kelas multiguna. • org.simak.util.report, menyimpan kelaskelas multiguna untuk keperluan report. 2 Implementasi Perangkat Keras Spesifikasi minimal perangkat keras yang digunakan dalam pengembangan aplikasi SIMAK adalah: Server • Prosesor Intel Xeon 3.4 Ghz (Dual CPU). • RAM 512 MB. • Harddisk 80 GB. • Ethernet card port 10/100-Mbps. • Monitor dengan resolusi 800×600. • Mouse dan keyboard. Client • Prosesor minimum Intel Pentium III 800 MHz. • Kapasitas RAM minimum 256 MB.
10
• • • •
Harddisk minimum 10 GB. Ethernet card port 10/100-Mbps. Monitor dengan resolusi 800×600. Mouse dan keyboard.
3 Implementasi Perangkat Lunak Spesifikasi perangkat lunak yang digunakan dalam pengembangan aplikasi SIMAK adalah: Server • • • •
Microsoft Windows Server 2003. Apache Tomcat. Java Runtime Enviroment. MySQL.
Client • Microsoft Windows XP. • Mozilla Firefox atau Internet Explorer. 4 Implementasi Basis Data
1 2 3 4 5
public static DepartemenDAO createDepartemenDAO() { return new SQL92DepartemenDAO(); }
Langkah yang perlu dilakukan untuk mengubah jenis akses data sumber hanyalah dengan mengganti return value dari fungsi di atas. Misalnya, terdapat sebuah fungsi createDepartemenDAO() yang berfungsi menambah atau menyimpan data departemen pada file XML mengembalikan kelas XMLDepartemenDAO. Kelas XMLDepartemenDAO harus didefinisikan terlebih dahulu dan mengimplementasikan seluruh akses ke file XML. Fungsi createDepartemenDAO() menjadi seperti di bawah, 1 2 3 4
akan
public static DepartemenDAO createDepartemenDAO() { return new XMLDepartemenDAO(); }
Implementasi basis data aplikasi SIMAK disimpan pada RDBMS seperti yang telah disebutkan pada spesifikasi perangkat lunak. Hasil implementasi basis data dapat dilihat pada Lampiran 8.
6 Implementasi Antarmuka
5 Implementasi Model
Implementasi decorator pattern memerlukan sebuah halaman aplikasi sebagai dekorator dan file decorators.xml untuk konfigurasinya. File decorators.xml berisi konfigurasi untuk menentukan halaman yang ingin didekorasi berdasarkan URI pattern. Aplikasi SIMAK mendekorasi semua output yang berupa halaman JSP sedangkan output yang berupa report dengan format PDF tidak didekorasi.
Setiap kelas Action akan memanggil DAO untuk akses atau manipulasi ke data sumber. Berikut adalah contoh potongan kode dalam kelas DepartemenDispatchAction yang merupakan turunan dari DispatchAction untuk manipulasi tabel departemen pada basis data, 1 2 3 4 5 6
Departemen departemen = new Departemen(); //Set nilai ke objek departemen DepartemenDAO dao = DAOFactory.createDepartemenDAO(); dao.createDepartemen(departemen);
Pada baris pertama dan dua, objek departemen diinstansiasi dari kelas Departemen. Objek departemen ini berlaku sebagai DTO. Pada baris empat dan lima dibuat instansiasi DepartemenDAO. Proses instansiasi objek dao ini menerapkan factory pattern untuk abstraksi jenis akses ke data sumber. Dan pada baris enam, objek dao memanggil fungsi createDepartemen() untuk membuat departemen baru dengan parameter yang dikirim adalah objek departemen yang sudah diberi nilai sebelumnya. Pada penelitian ini DAOFactory hanya mengimplementasikan akses ke ANSI-92 SQL. Berikut potongan kode dalam kelas DAOFactory,
Implementasi dari perancangan antarmuka pada aplikasi SIMAK dapat dilihat pada Gambar 7.
Seluruh report dalam aplikasi SIMAK diakses dengan awalan URI /report/ sehingga pada tag excludes dimasukkan pattern /report/*, yang berarti seluruh output berupa report tidak akan didekorasi. Berikut isi dari file decorators.xml, 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
<decorators defaultdir="/decorators"> <excludes> <pattern>/report/* <decorator name="main" page="mainDecorator.jsp"> <pattern>* <decorator name="panel" page="panelDecorator.jsp"/>
11
Gambar 7 Implementasi antarmuka aplikasi SIMAK. Setelah mendefinisikan konfigurasi dekorasi, maka dibuat halaman dekorasi mainDecorator.jsp. Halaman ini akan mengambil isi dari halaman yang ingin ditampilkan ke pengguna. Dengan demikian, halaman yang ditampilkan ke pengguna telah didekorasi terlebih dahulu. 7 Implementasi Controller Implementasi controller melibatkan banyak komponen inti dari Struts framework. Seluruh konfigurasi controller ada dalam file struts-config.xml. Mapping setiap request dari pengguna yang berupa URI akan langsung memanggil kelas Action. Setelah kelas Action dieksekusi, maka kelas Action akan memberitahu langkah selanjutnya kepada kelas ActionForward untuk memberikan response yang sesuai kepada pengguna. Berikut contoh implementasi mapping dalam struts-config.xml untuk menambah mahasiswa baru, 1 2 3 4 5 6 7 8 9 10 11 12 13 14
<set-property property="cancellable" value="true"/>
Definisi ActionMapping dilakukan pada baris pertama, sedangkan baris kedua mendefinisikan path URI, yaitu /CreateMahasiswa. Setiap kali terdapat
request dengan path URI /CreateMahasiswa, maka akan dipanggil kelas Action yang didefinisikan pada baris tiga dan empat yaitu MahasiswaDispatchAction. Jika proses pembuatan mahasiswa mengalami kesalahan, maka pengguna akan dikembalikan ke halaman yang didefinisikan pada baris tujuh dan delapan yaitu halaman createMahasiswa.jsp. Di lain pihak, jika proses sukses, maka kelas MahasiswaDispatchAction akan mengembalikan nilai “list” yang akan diterima oleh tag forward dan kemudian akan diberikan halaman listMahasiswa.jsp kepada pengguna. Aplikasi SIMAK memiliki banyak form yang harus diisi dan divalidasi terlebih dahulu sebelum diproses. Setelah kelas-kelas turunan dari ValidatorForm dibuat, maka ditentukan field dalam form yang harus divalidasi. Beberapa macam validasi yang digunakan adalah: • Required, field harus diisi. • Mask, field harus sesuai dengan format atau pola tertentu. • MinLength, field harus sesuai dengan panjang minimum yang didefinisikan. • Integer, field harus bilangan bulat. • IntRange, field harus bilangan bulat yang berada diantara range tertentu. • Float, field harus diisi dengan bilangan real. Validasi mask digunakan pada saat validasi NRP mahasiswa dimana format atau polanya diawali oleh satu huruf dan diikuti delapan angka. Selain NRP, validasi mask
12
juga digunakan untuk kode mata kuliah yang mempunyai pola tiga huruf dan diikuti tiga angka. Selain jenis-jenis validasi di atas, aplikasi SIMAK juga membuat validasi tambahan, yaitu pengecekan agar NRP sesuai dengan program studinya. Misalnya pengguna ingin menambahkan data mahasiswa dengan program studi Matematika, pengguna mengisi field NRP dengan G64103028 terlebih dahulu. Setelah itu pengguna memilih program studi Matematika. Ketika tombol submit ditekan, aplikasi SIMAK akan memberikan pesan kesalahan bahwa NRP dengan program studi tidak sesuai. Hal ini dikarenakan setiap mahasiswa program studi Matematika harus diawali dengan G541. Implementasi validasi dilakukan melalui file validation.xml. Kode di bawah merupakan potongan file validation.xml untuk validasi field NRP, nama mahasiswa, dan program studi ketika ingin menambah atau mengubah data mahasiswa. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
Pengujian Integrasi dan Sistem Pengujian aplikasi dilakukan dengan menggunakan dokumen uji yang dibuat berdasarkan kesepakatan antara penulis dan programmer SIMAK sebelumnya. Proses pengujian dilakukan oleh programmer SIMAK sebelumnya. Ketika terdapat kesalahan, maka kesalahan segera diperbaiki dan diuji kembali. Proses ini dilakukan berulang kali sampai semua jenis pengujian fungsi pada dokumen uji berfungsi dengan baik. Hasil pengujian dapat dilihat pada Lampiran 9. Deployment Sebelum bisa dioperasikan, aplikasi SIMAK harus terlebih dahulu di-deploy dalam servlet container. Pada penelitian ini digunakan Apache Tomcat sebagaimana tertulis pada implementasi perangkat lunak pada server aplikasi SIMAK. Aplikasi SIMAK yang ingin di-deploy harus berbentuk file Web Archive (WAR). Berikut adalah langkah-langkah yang diperlukan untuk deployment aplikasi SIMAK: 1 Install Apache Tomcat. 2 Masukkan file WAR aplikasi SIMAK ke dalam $CATALINA_HOME/webapps. 3 Jalankan Apache Tomcat menggunakan control panel yang disediakan oleh Apache Tomcat. Kelebihan Sistem Aplikasi SIMAK memiliki beberapa kelebihan ditinjau dari teknologi dan arsitektur yang digunakan yaitu: • J2EE Teknologi J2EE merupakan teknologi Java berbasis web sehingga mudah diakses oleh setiap komputer yang terhubung dalam jaringan. Aplikasi SIMAK mempunyai beberapa kelebihan yang diturunkan dari teknologi J2EE, yaitu portability, reliability, scalability, dan maintainability. • MVC Pattern Aplikasi SIMAK dirancang dengan menerapkan MVC pattern. Dengan MVC pattern, aplikasi SIMAK terbagi menjadi tiga bagian yaitu, model, view, dan controller. Dengan demikian, terbentuk “separation of concern” dalam aplikasi SIMAK, dimana proses bisnis ditangani oleh model, tampilan antarmuka oleh view, dan controller sebagai penghubung antara model dan view.
13
Pembagian ini akan memudahkan pembangunan aplikasi dalam tim yang berjumlah besar. Pembangunan aplikasi dapat bersifat horizontal, dimana tim untuk proses bisnis, tim perancangan tampilan, dan juga tim yang membentuk akses ke basis data dapat bekerja secara paralel. Setelah masing-masing menyelesaikan bagiannya, maka bagianbagian tersebut digabung menjadi sebuah aplikasi yang utuh. Konsep MVC juga membuat aplikasi SIMAK menjadi lebih mudah dikelola. Ketika terjadi perubahan pada proses bisnis, maka tim yang bertanggung jawab dalam proses bisnis dapat dengan mudah mengubah proses bisnis SIMAK tanpa perlu memperhatikan aspek lain dalam aplikasi (tampilan atau controller). Atau ketika pengguna aplikasi SIMAK menginginkan perubahan tampilan antarmuka, tim yang bertanggung jawab terhadap tampilan antarmuka dapat dengan mudah mengubah tampilan antarmuka aplikasi SIMAK. Walaupun dalam penelitian ini aplikasi SIMAK tidak dikembangkan dalam sebuah tim besar, manfaat dari konsep MVC tetap dirasakan. Beberapa di antaranya adalah, membuat aplikasi menjadi mudah untuk dibangun, memiliki struktur yang rapi, mudah dikelola, dan mudah untuk dikembangkan lebih lanjut. • J2EE Pattern Perancangan aplikasi SIMAK didasarkan pada J2EE pattern untuk membuat aplikasi SIMAK menjadi lebih teratur dan terstruktur. Hal ini membuat aplikasi SIMAK menjadi lebih mudah dikembangkan serta dikelola. • DAO Pattern DAO pattern membuat akses ke basis data menjadi fleksibel, perubahan pada tabel basis data tidak mempengaruhi bagian lain dalam aplikasi, serta pengembangan yang lebih lanjut untuk akses ke data sumber selain basis data. Akses basis data diimplementasikan dengan menggunakan ANSI-92 SQL sehingga mendukung seluruh jenis basis data karena ANSI-92 SQL adalah bahasa query dasar untuk setiap basis data. Jika aplikasi SIMAK ingin didukung dengan aplikasi berbasis desktop application, maka DAO pattern yang telah diterapkan oleh SIMAK berbasis web dapat langsung digunakan untuk mengakses basis data SIMAK. Hal ini disebabkan implementasi
DAO pattern yang menerapkan “programming by interface”.
konsep
• Decorator Pattern Perubahan antarmuka aplikasi SIMAK dapat dilakukan dengan mudah melalui decorator pattern. Jika tidak menggunakan pattern ini, biasanya setiap halaman aplikasi akan memasukkan halaman lain yang bersifat umum seperti header, menu, dan footer. Namun apabila bagian menu ingin dihapus atau dipindahkan maka setiap halaman yang memasukkan halaman menu harus diubah. Hal ini akan menjadi rumit jika aplikasi sudah memiliki jumlah halaman yang banyak. Dengan decorator pattern, maka antarmuka dapat diubah hanya melalui halaman dekorasi. Kekurangan Sistem Kekurangan yang terdapat pada aplikasi SIMAK adalah dari segi konsep MVC sendiri. MVC mempunyai kekurangan utama yaitu, penambahan suatu modul harus meliputi seluruh aspek lapisan, yaitu model, view, dan controller. Dilihat dari segi teknologi yang digunakan, J2EE terbukti menggunakan banyak memory sehingga aplikasi akan menjadi lambat apabila memory pada server tidak mencukupi. Hal ini dapat diatasi dengan menambah memory pada server, namun harga memory untuk server masih tergolong mahal.
KESIMPULAN DAN SARAN Kesimpulan Aplikasi SIMAK adalah perangkat lunak berbasis web yang mengatur seluruh proses akademik mulai dari mahasiswa, fakultas, departemen, program studi, mata kuliah, KRS, transkrip sampai laporan akademik. Aplikasi ini dibangun dengan menggunakan Struts framework yang menerapkan MVC pattern. Dengan MVC pattern, aplikasi SIMAK terbagi menjadi tiga bagian utama yaitu, model, view, dan controller. Penerapan J2EE pattern membuat aplikasi SIMAK menjadi lebih terstruktur. J2EE pattern yang diterapkan adalah DAO pattern, DTO pattern, dan decorator pattern. DAO pattern membuat akses ke data sumber menjadi lebih fleksibel. DTO pattern membuat proses pengiriman data menjadi lebih sederhana dan mudah dilakukan. Decorator pattern digunakan sebagai
14
antarmuka aplikasi SIMAK. Dengan pattern tersebut, perubahan tampilan aplikasi menjadi mudah dilakukan. Arsitektur aplikasi SIMAK membuat aplikasi menjadi mudah dikelola. Hal ini dirasakan ketika aplikasi SIMAK sudah mencapai tahap pengujian dan terjadi kesalahan. Kesalahan tersebut dapat langsung dideteksi dan diperbaiki dengan mudah tanpa harus mempengaruhi bagian lain dalam aplikasi. Saran Aplikasi SIMAK lebih dikembangkan dengan:
lanjut
dapat
1 Memperbaiki DAO pattern menjadi lebih fleksibel dengan menerapkan ObjectRelational Mapping (ORM). Framework yang bisa digunakan untuk menerapkan ORM adalah Hibernate dan TopLink. 2 Menerapkan lebih banyak J2EE pattern. 3 Menerapkan unit testing untuk melakukan pengujian seluruh unit aplikasi SIMAK. Unit testing dapat dilakukan dengan menggunakan JUnit. 4 Menggunakan application framework seperti Spring yang berfungsi sebagai penghubung antara komponen dan framework dalam aplikasi SIMAK serta membuat aplikasi menjadi lebih loosely coupled.
DAFTAR PUSTAKA Alur D, Crupi J, Malks D. 2003. Core J2EE™ Patterns: Best Practices and Design Strategies, 2nd Edition. United States: Addison-Wesley. Armstrong E, et al. 2005. The J2EE™ 1.4 Tutorial. Canada: Willey Publishing. Campione M. 2000. Java™ Tutorial 3rd Edition. United States: Addison-Wesley. Connolly TM, Carolyn EB. 2002. Database System: A Practical Approach To Design, Implementation, and Management. England: Addison-Wesley. Crawford W, Kaplan J. 2003. J2EE Design Patterns. United States: O’Reilly. Fowler M. 2004. UML Distilled : A Brief Guide to the Standard Object Modelling Language 3rd Edition. United States: Addison-Wesley. Gamma E, Helm R, Johnson R, Vlissides J. 1995. Design Patterns: Elements of
Reusable Object-Oriented Software. United States: Addison-Wesley. Hightower R. Jakarta Struts Live. Colorado: SourceBeat. Husted T. 2003. Struts in Action : Building Web Application with the Leading Java Framework. United States : Manning. McGovern J. 2003. Java™ 2 Enterprise Edition 1.4 Bible. Canada: Willey Publishing. Pressman, RS. 2001. Software Engineering: A Practitioner’s Approach 5th Edition. New York: McGraw-Hill.
LAMPIRAN
16
Lampiran 1 Use case diagram
17
Lampiran 2 Fungsi aplikasi SIMAK Kode fungsi
Deskripsi
[SIMAK-001] [SIMAK-002] [SIMAK-003] [SIMAK-004] [SIMAK-005] [SIMAK-006] [SIMAK-007] [SIMAK-008] [SIMAK-009] [SIMAK-010] [SIMAK-011] [SIMAK-012] [SIMAK-013] [SIMAK-014] [SIMAK-015] [SIMAK-016] [SIMAK-017] [SIMAK-018] [SIMAK-019] [SIMAK-020] [SIMAK-021] [SIMAK-022] [SIMAK-023] [SIMAK-024] [SIMAK-025] [SIMAK-026] [SIMAK-027] [SIMAK-028] [SIMAK-029] [SIMAK-030] [SIMAK-031] [SIMAK-032] [SIMAK-033] [SIMAK-034] [SIMAK-035] [SIMAK-036] [SIMAK-037] [SIMAK-038] [SIMAK-039] [SIMAK-040] [SIMAK-041] [SIMAK-042] [SIMAK-043] [SIMAK-044] [SIMAK-045] [SIMAK-046]
Melakukan autentikasi terhadap pengguna Melihat dan mencari data mata kuliah Menambah data mata kuliah Mengubah data mata kuliah Menghapus data mata kuliah Melihat data detail riwayat mata kuliah Menambah data detail riwayat mata kuliah Mengubah data detail riwayat mata kuliah Menghapus data detail riwayat mata kuliah Melihat dan mencari data mahasiswa Menambah data mahasiswa Mengubah data mahasiswa Menghapus data mahasiswa Melihat dan mencari data KRS mahasiswa Menambah data KRS mahasiswa melalui upload file Menghapus data KRS mahasiswa Melihat data detail KRS berupa mata kuliah yang diambil mahasiswa Menghapus data mata kuliah pada detail KRS mahasiswa Upload file nilai mata kuliah mahasiswa Mengubah data nilai mata kuliah mahasiswa Mencetak KRS mahasiswa Mencetak transkrip mahasiswa Mencetak daftar absensi mahasiswa untuk perkuliahan dan ujian Mencetak riwayat nilai per mahasiswa Mencetak riwayat nilai mahasiswa per program studi Mencetak rekapitulasi nilai mahasiswa per program studi Melihat dan mencari data pengguna aplikasi Menambah data pengguna aplikasi Mengubah data pengguna aplikasi Menghapus data pengguna aplikasi Melihat dan mencari data fakultas Menambah data fakultas Mengubah data fakultas Menghapus data fakultas Melihat dan mencari data departemen Menambah data departemen Mengubah data departemen Menghapus data departemen Melihat dan mencari data program studi Menambah data program studi Mengubah data program studi Menghapus data program studi Melihat dan mencari data konfigurasi status studi Menambah data konfigurasi status studi Mengubah data konfigurasi status studi Menghapus data konfigurasi status studi
18
Lampiran 3 Karakterisitik pengguna Kategori pengguna
Hak akses ke aplikasi
Keterangan
Administrator
[SIMAK-001], [SIMAK-002], [SIMAK-003], [SIMAK-004], [SIMAK-005], [SIMAK-006], [SIMAK-007], [SIMAK-008], [SIMAK-009], [SIMAK-010], [SIMAK-011], [SIMAK-012], [SIMAK-013], [SIMAK-014], [SIMAK-015], [SIMAK-016], [SIMAK-017], [SIMAK-018], [SIMAK-019], [SIMAK-020], [SIMAK-021], [SIMAK-022], [SIMAK-023], [SIMAK-024], [SIMAK-025], [SIMAK-026], [SIMAK-027], [SIMAK-028], [SIMAK-029], [SIMAK-030], [SIMAK-031], [SIMAK-032], [SIMAK-033], [SIMAK-034], [SIMAK-035], [SIMAK-036], [SIMAK-037], [SIMAK-038], [SIMAK-039], [SIMAK-040], [SIMAK-041], [SIMAK-042], [SIMAK-043], [SIMAK-044], [SIMAK-045], [SIMAK-046]
Staf Fakultas
[SIMAK-001], [SIMAK-002], [SIMAK-006], [SIMAK-010], [SIMAK-014], [SIMAK-015], [SIMAK-016], [SIMAK-017], [SIMAK-019], [SIMAK-020], [SIMAK-021], [SIMAK-022], [SIMAK-023], [SIMAK-024], [SIMAK-025], [SIMAK-026],
Staf fakultas hanya bisa melihat semua informasi departemen,dan program studi yang dimilikinya
Staf Departemen
[SIMAK-001], [SIMAK-002], [SIMAK-006], [SIMAK-010], [SIMAK-014], [SIMAK-015], [SIMAK-016], [SIMAK-017], [SIMAK-019], [SIMAK-020], [SIMAK-021], [SIMAK-022], [SIMAK-023], [SIMAK-024], [SIMAK-025], [SIMAK-026],
Staf departemen hanya bisa melihat semua informasi program studi yang dimilikinya
Staf Program Studi
[SIMAK-001], [SIMAK-002], [SIMAK-006], [SIMAK-010], [SIMAK-014], [SIMAK-015], [SIMAK-016], [SIMAK-017], [SIMAK-019], [SIMAK-020], [SIMAK-021], [SIMAK-022], [SIMAK-023], [SIMAK-024], [SIMAK-025], [SIMAK-026],
Staf program studi hanya bisa melihat informasi program studinya
19
Lampiran 4 Diagram ER id_fak
nama_status _mk
status_mk kode_fak
Fakultas
nama_fak
1
Status_MK
memiliki N
id_dep kode_dep
N
Departemen
1 memiliki
kode_mk 1 nama_dep
koordinator
memiliki id_rk
N
id_ps
1 kode_ps
PS
sem
N memiliki
nama_mk
kode_mk
thn_akd
N Riwayat_Kurikulum
1 memiliki
Kurikulum
nama_ps gelar
sks_prak
1
sks
sks_kuliah sks
memiliki
sks_kuliah
sks_prak
memiliki
N nrp Mahasiswa
1
N mengisi
N KRS
1 mendapat
Nilai_Mutu
nama_mhs N thn_akd mempunyai nama_status _studi
1
id_krs
N mendapat
sp
nlai_mutu
sem
1 Status_Studi
status_studi
nama_status _ulang
Status_Ulang
status_ulang
angka
20
Lampiran 5 Skema basis data Fakultas id_fak
kode_fak
nama_fak
id_dep
id_fak
kode_dep
nama_dep
kode_mk
id_ps
id_dep
kode_ps
nama_ps
gelar
id_ps
nama_mhs
status_studi
id_ps
nama_mk
koordinator
id_rk
kode_mk
id_ps
id_krs
nrp
kode_mk
Departemen
PS
Status_Studi
Mahasiswa nrp
status_studi
nama_status_studi
Kurikulum kode_mk
sks
sks_kuliah
sks_prak
Riwayat Kurikulum thn_akd
sem
sks
sks_kuliah
sks_prak
status_mk
KRS
Nilai_Mutu
thn_akd
sem
angka
status_ulang
sp
nilai_mutu
Status_MK
Status_Ulang
nilai_mutu
status_ulang
nama_status_ulang
status_mk
nama_status_mk
User username
password
nama_user
nip
roles
id_fak
id_dep
Kalkulasi_Status_Studi id_status_studi
jenis_status_studi
thn_akd
ips_min
ips_maks
ipk_min
ipk_maks
id_ps
21
Lampiran 6 Class diagram
22
Lanjutan Lampiran 6 Class diagram
23
Lanjutan Lampiran 6 Class diagram << Struts >>
uses
ActionForm
<< Struts >>
ValidatorForm
FakultasForm - idFak : int - kodeFak :String - namaFak : String Method aksesor dan mutator seluruh atribut
DepartemenForm
idFak : int idDep : int idPs : int nrp : String namaMhs : String thnAkd : String sem : String totalSks : int
Method aksesor dan mutator seluruh atribut
MahasiswaForm
- idFak : int - idDep : int - idPs : int - kodePs :String - namaPs : String - gelar : String
-
Method aksesor dan mutator seluruh atribut
Method aksesor dan mutator seluruh atribut
Method aksesor dan mutator seluruh atribut
KrsForm -
ProgramStudiForm
- idFak : int - idDep : int - kodeDep :String - kodeMk : String - namaDep : String
KurikulumForm -
idFak : int idDep : int idPs : int kodeMk : String koordinator : String nama : String sks : int sksKuliah : int sksPrak : int
Method aksesor dan mutator seluruh atribut
RiwayatKurikulumForm -
idFak : int idDep : int idPs : int idRiwayatKurikulum : int idStatusMk : int kodeMk : String nama : String sks : int sksKuliah : int sksPrak : int sem : String thnAkd : String
KrsDetailForm
idFak : int idDep : int idPs : int namaMhs : String nrp : String idStatusStudi : String
-
Method aksesor dan mutator seluruh atribut
KalkulasiStatusStudi Form
UserForm - idFak : int - idDep : int - idPs : int - namaUser : String - nip : String - username : String - password : String - roles : String Method aksesor dan mutator seluruh atribut
idKrs : int idStatusUlang : int kodeMk : String nilaiMutu : String sp : String
-
id : int ipsMin : float ipsMaks : float ipkMin : float ipkMaks : float jenisStatusStudi : String thnAkd : String
Method aksesor dan mutator seluruh atribut
Method aksesor dan mutator seluruh atribut
KrsFileForm
NilaiFileForm
- content : FormFile
- content : FormFile
Method aksesor dan mutator seluruh atribut
Method aksesor dan mutator seluruh atribut
AbsensiReportForm - idFak : int - idDep : int - idPs : int - jenisAbsensi : String - kodeMk : String - thnAkd : String - sem : String Method aksesor dan mutator seluruh atribut
RekapNilaiSemester ReportForm - idFak : int - idDep : int - idPs : int - thnAkd : String - sem : String Method aksesor dan mutator seluruh atribut
RiwayatNilai ReportForm - idFak : int - idDep : int - idPs : int - nrp : String - thnAkd : String - sem : String Method aksesor dan mutator seluruh atribut
24
Lampiran 7 Perancangan controller 1.
Melakukan autentikasi terhadap pengguna
LogonSubmit :ActionMapping
LogonForm : ValidatorForm
LogonAction : Action
UserDAO
Pengguna 1. Input 'username' dan 'password' lalu klik 'submit'
2. validate() validation
[ if not valid ] 3. execute()
[ else ]
4. getUsername() username 5. getPassword() password 6. getRoles() roles
7. read data
login_failed 8. forward ke logon.jsp 9. forward ke mainMenu.jsp
1. 2.
3. 4. 5. 6.
7.
8.
login_success
Pengguna menginput username dan password sebagai autentikasi ke dalam sistem. Validasi terhadap input yang dimasukkan oleh pengguna misalnya, peringatan panjang minimum dan maksimum dari username dan password, peringatan jika field username atau password dikosongkan. • Jika validasi gagal maka staf akan dikembalikan ke halaman login untuk input username dan password kembali. • Jika validasi berhasil maka data username dan password akan disimpan di dalam LogonForm. LogonAction akan melakukan validasi username dan password yang dimasukkan oleh staf dengan yang berada di basis data. Data username yang berada di LogonForm diambil oleh LogonAction. Data password yang berada di LogonForm diambil oleh LogonAction. LogonAction membaca data username dan password yang ada di basis data untuk membandingkan nilainya serta menentukan hak dari staf sebagai pengguna biasa atau administrator. LogonSubmit akan menerima nilai logon_failed dari LogonAction jika logon gagal dan staf dikembalikan ke halaman logon dengan peringatan bahwa username dan password yang dimasukkan tidak sesuai atau tidak ada dalam basis data. LogonSubmit akan menerima nilai login_succcess dari LogonAction jika logon berhasil maka staf akan diberikan halaman utama.
25
Lanjutan Lampiran 7 2.
Modul mahasiswa
2.1. Melihat dan mencari data mahasiswa
1. 2.
Pengguna melihat daftar mahasiswa melalui menu yang disediakan sistem. Mahasiswa akan memanggil fungsi search() pada MahasiswaDispatchAction untuk memberikan daftar mahasiswa kepada pengguna. 3. MahasiswaDispatchAction akan memanggil fungsi searchMahasiswa() pada MahasiswaDAO untuk mendapatkan semua daftar mahasiswa dari basis data. 4. MahasiswaDispatchAction akan memberikan nilai list kepada Mahasiswa dan selanjutnya Mahasiswa akan memberikan halaman listMahasiswa.jsp kepada pengguna. 5. Pengguna menginput kriteria pencarian pada form mahasiswa agar memberikan daftar mahasiswa yang lebih spesifik. 6. Validasi terhadap input yang dimasukkan oleh pengguna • Jika validasi gagal maka pengguna akan dikembalikan ke halaman form pencarian. • Jika validasi berhasil maka data kriteria pencarian akan disimpan di dalam MahasiswaForm. 7. Mahasiswa akan memanggil fungsi search() pada MahasiswaDispatchAction. 8. MahasiswaDispatchAction mengambil data input kriteria pencarian yg disimpan dalam MahasiswaForm, data yang diambil berupa, • Nama atau, • NRP atau, • Fakultas atau, • Departemen atau. • Program Studi atau, • Status studi. 9. MahasiswaDispatchAction akan mencari daftar mahasiswa yang diminta pada basis data melalui MahasiswaDAO. 10. Mahasiswa akan menerima nilai failed dari MahasiswaDispatchAction jika pencarian gagal dan pengguna dikembalikan ke halaman exception.jsp. 11. Mahasiswa akan menerima nilai list dari MahasiswaDispatchAction jika pencarian berhasil dan pengguna akan diberikan daftar mahasiswa sesuai dengan kriteria pencarian.
26
Lanjutan Lampiran 7 2.2. Menambah data mahasiswa
Pengguna
CreateMahasiswa :ActionMapping
1. Input data baru pada form mahasiswa
MahasiswaForm : ValidatorForm
MahasiswaDispatchAction : DispatchAction
Mahasiswa
MahasiswaDAO
2. validate() validation
[ if not valid ] [ else ]
3. create() loop
4. getXxx() xxx
5. setXxx() mahasiswa 6. createMahasiswa(mahasiswa)
failed 7. forward ke exception.jsp 8. forward ke listMahasiswa.jsp
1. 2.
3. 4.
5. 6.
7. 8.
list
Pengguna menginput data mahasiswa baru pada form mahasiswa. Validasi terhadap input yang dimasukkan oleh pengguna, • Jika validasi gagal maka pengguna akan dikembalikan ke halaman form input data mahasiswa. • Jika validasi berhasil maka data kriteria pencarian akan disimpan di dalam MahasiswaForm. CreateMahasiswa akan memanggil fungsi create() pada MahasiswaDispatchAction. MahasiswaDispatchAction mengambil data input mahasiswa yg disimpan dalam MahasiswaForm, data yang diambil berupa, • Nama • NRP • Fakultas • Departemen • Program Studi • Status studi MahasiswaDispatchAction akan menyimpan nilai input ke dalam objek mahasiswa MahasiswaDispatchAction akan menyimpan data mahasiswa ke basis data melalui fungsi createMahasiswa(mahasiswa) pada MahasiswaDAO dengan mengirimkan parameter objek mahasiswa sebagai pembawa nilai atau data transfer object. CreateMahasiswa akan menerima nilai failed dari MahasiswaDispatchAction jika proses penyimpanan ke basis data gagal dan pengguna dikembalikan ke halaman exception.jsp. CreateMahasiswa akan menerima nilai success dari MahasiswaDispatchAction jika proses penyimpanan ke basis data berhasil dan pengguna akan dikembalikan ke halaman listMahasiswa.jsp.
27
Lanjutan Lampiran 7 2.3. Mengubah data mahasiswa
1. 2. 3.
Pengguna memilih mahasiswa yang ingin diupdate dari daftar mahasiswa. Mahasiswa akan memanggil fungsi initUpdate() pada MahasiswaDispatchAction. MahasiswaDispatchAction akan memanggil fungsi MahasiswaDAO untuk mendapatkan data detail mahasiswa. 4. Pengguna akan diberikan halaman updateMahasiswa.jsp untuk mengupdate data mahasiswa. 5. Pengguna mengupdate data pada form mahasiswa dengan mengklik tombol update 6. Validasi terhadap input yang dimasukkan oleh pengguna. • Jika validasi gagal maka pengguna akan dikembalikan ke halaman form update mahasiswa. • Jika validasi berhasil maka data update akan disimpan di dalam MahasiswaForm. 7. UpdateMahasiswa akan memanggil fungsi update() pada MahasiswaDispatchAction. 8. MahasiswaDispatchAction mengambil data input mahasiswa yg disimpan dalam MahasiswaForm, data yang diambil berupa, • Nama • NRP • Fakultas • Departemen • Program Studi • Status studi 9. MahasiswaDispatchAction akan menyimpan data mahasiswa ke basis data melalui fungsi updateMahasiswa(mahasiswa) pada MahasiswaDAO dengan mengirimkan parameter objek mahasiswa sebagai pembawa nilai atau data transfer object. 10. UpdateMahasiswa akan menerima nilai failed dari MahasiswaDispatchAction jika proses penyimpanan ke basis data gagal dan pengguna dikembalikan ke halaman exception.jsp. 11. UpdateMahasiswa akan menerima nilai list dari MahasiswaDispatchAction jika proses penyimpanan ke basis data berhasil dan pengguna akan dikembalikan ke halaman listMahasiswa.jsp.
28
Lanjutan Lampiran 7 2.4. Menghapus data mahasiswa
1. 2. 3. 4. 5. 6.
Pengguna menghapus data mahasiswa dengan mengklik tombol delete dari daftar mahasiswa. DeleteMahasiswa akan memanggil fungsi delete() pada MahasiswaDispatchAction. MahasiswaDispatchAction mengambil NRP melalui MahasiswaForm. MahasiswaDispatchAction menghapus mahasiswa pada basis data melalui MahasiswaDAO dengan memanggil fungsi deleteMahasiswa(nrp). DeleteMahasiswa akan menerima nilai failed dari MahasiswaDispatchAction jika proses penghapusan ke basis data gagal dan pengguna dikembalikan ke halaman exception.jsp. DeleteMahasiswa akan menerima nilai list dari MahasiswaDispatchAction jika proses penghapusan ke basis data berhasil dan pengguna akan dikembalikan ke halaman listMahasiswa.jsp.
29
Lanjutan Lampiran 7 3.
Modul pengguna aplikasi
3.1. Melihat dan mencari data pengguna aplikasi
1. 2.
Pengguna melihat daftar pengguna aplikasi melalui menu yang disediakan sistem. User akan memanggil fungsi search() pada UserDispatchAction untuk memberikan daftar pengguna aplikasi kepada pengguna. 3. UserDispatchAction akan memanggil fungsi searchUser() pada UserDAO untuk mendapatkan semua daftar pengguna aplikasi dari basis data. 4. UserDispatchAction akan memberikan nilai list kepada User dan selanjutnya User akan memberikan halaman listUser.jsp kepada pengguna. 5. Pengguna menginput kriteria pencarian pada form pengguna aplikasi agar memberikan daftar pengguna aplikasi yang lebih spesifik. 6. Validasi terhadap input yang dimasukkan oleh pengguna • Jika validasi gagal maka pengguna akan dikembalikan ke halaman form pencarian. • Jika validasi berhasil maka data kriteria pencarian akan disimpan di dalam UserForm. 7. User akan memanggil fungsi search() pada UserDispatchAction. 8. UserDispatchAction mengambil data input kriteria pencarian yg disimpan dalam UserForm, data yang diambil berupa, • Nama atau, • Username atau, • NIP atau, • Jabatan atau, • Fakultas, departemen atau program Studi. 9. UserDispatchAction akan mencari daftar pengguna aplikasi yang diminta pada basis data melalui UserDAO. 10. User akan menerima nilai failed dari UserDispatchAction jika pencarian gagal dan pengguna dikembalikan ke halaman exception.jsp. 11. User akan menerima nilai list dari UserDispatchAction jika pencarian berhasil dan pengguna akan diberikan daftar pengguna aplikasi sesuai dengan kriteria pencarian.
30
Lanjutan Lampiran 7 3.2. Menambah data pengguna aplikasi
1. 2.
3. 4.
5. 6.
7. 8.
Pengguna menginput data pengguna aplikasi baru pada form input pengguna aplikasi. Validasi terhadap input yang dimasukkan oleh pengguna, • Jika validasi gagal maka pengguna akan dikembalikan ke halaman form input data pengguna aplikasi. • Jika validasi berhasil maka data kriteria pencarian akan disimpan di dalam UserForm. CreateUser akan memanggil fungsi create() pada UserDispatchAction. UserDispatchAction mengambil data input user yg disimpan dalam UserForm, data yang diambil berupa, • Nama • Username • NIP • Jabatan • Fakultas • Departemen • Program Studi UserDispatchAction akan menyimpan nilai input ke dalam objek user UserDispatchAction akan menyimpan data pengguna aplikasi ke basis data melalui fungsi createUser(user) pada UserDAO dengan mengirimkan parameter objek user sebagai pembawa nilai atau data transfer object. CreateUser akan menerima nilai failed dari UserDispatchAction jika proses penyimpanan ke basis data gagal dan pengguna dikembalikan ke halaman exception.jsp. CreateUser akan menerima nilai success dari UserDispatchAction jika proses penyimpanan ke basis data berhasil dan pengguna akan dikembalikan ke halaman listUser.jsp.
31
Lanjutan Lampiran 7 3.3. Mengubah data pengguna aplikasi
1. 2. 3.
Pengguna memilih pengguna aplikasi yang ingin diupdate dari daftar pengguna aplikasi. User akan memanggil fungsi initUpdate() pada UserDispatchAction. UserDispatchAction akan memanggil fungsi UserDAO untuk mendapatkan data detail pengguna aplikasi. 4. Pengguna akan diberikan halaman updateUser.jsp untuk mengupdate data pengguna aplikasi. 5. Pengguna mengupdate data pada form pengguna aplikasi dengan mengklik tombol update 6. Validasi terhadap input yang dimasukkan oleh pengguna. • Jika validasi gagal maka pengguna akan dikembalikan ke halaman form update pengguna aplikasi. • Jika validasi berhasil maka data update akan disimpan di dalam UserForm. 7. UpdateUser akan memanggil fungsi update() pada UserDispatchAction. 8. UserDispatchAction mengambil data input user yg disimpan dalam UserForm, data yang diambil berupa, • Nama • Username • NIP • Jabatan • Fakultas • Departemen • Program Studi 9. UserDispatchAction akan menyimpan data pengguna aplikasi ke basis data melalui fungsi updateUser(user) pada UserDAO dengan mengirimkan parameter objek user sebagai pembawa nilai atau data transfer object. 10. UpdateUser akan menerima nilai failed dari UserDispatchAction jika proses penyimpanan ke basis data gagal dan pengguna dikembalikan ke halaman exception.jsp. 11. UpdateUser akan menerima nilai list dari UserDispatchAction jika proses penyimpanan ke basis data berhasil dan pengguna akan dikembalikan ke halaman listUser.jsp.
32
Lanjutan Lampiran 7 3.4. Menghapus data pengguna aplikasi
Pengguna
DeleteUser :ActionMapping
UserForm : ValidatorForm
UserDispatchAction : DispatchAction
UserDAO
1. Pilih pengguna aplikasi yang ingin dihapus dari daftar pengguna aplikasi 2. delete() 3. getUsername() username 4. deleteUser(nrp) failed 5. forward ke exception.jsp list 6. forward ke listUser.jsp
1. 2. 3. 4. 5. 6.
Pengguna menghapus data pengguna aplikasi dengan mengklik tombol delete dari daftar pengguna aplikasi. DeleteUser akan memanggil fungsi delete() pada UserDispatchAction. UserDispatchAction mengambil username melalui UserForm. UserDispatchAction menghapus pengguna aplikasi pada basis data melalui UserDAO dengan memanggil fungsi deleteUser(username). DeleteUser akan menerima nilai failed dari UserDispatchAction jika proses penghapusan ke basis data gagal dan pengguna dikembalikan ke halaman exception.jsp. DeleteUser akan menerima nilai list dari UserDispatchAction jika proses penghapusan ke basis data berhasil dan pengguna akan dikembalikan ke halaman listUser.jsp.
33
Lanjutan Lampiran 7 4.
Modul fakultas
4.1. Melihat dan mencari data fakultas
1. 2.
Pengguna melihat daftar fakultas melalui menu yang disediakan sistem. Fakultas akan memanggil fungsi search() pada FakultasDispatchAction untuk memberikan daftar fakultas kepada pengguna. 3. FakultasDispatchAction akan memanggil fungsi searchFakultas() pada FakultasDAO untuk mendapatkan semua daftar fakultas dari basis data. 4. FakultasDispatchAction akan memberikan nilai list kepada Fakultas dan selanjutnya Fakultas akan memberikan halaman listFakultas.jsp kepada pengguna. 5. Pengguna menginput kriteria pencarian pada form fakultas agar memberikan daftar fakultas yang lebih spesifik. 6. Validasi terhadap input yang dimasukkan oleh pengguna • Jika validasi gagal maka pengguna akan dikembalikan ke halaman form pencarian. • Jika validasi berhasil maka data kriteria pencarian akan disimpan di dalam FakultasForm. 7. Fakultas akan memanggil fungsi search() pada FakultasDispatchAction. 8. FakultasDispatchAction mengambil data input kriteria pencarian yg disimpan dalam FakultasForm, data yang diambil berupa, • Nama fakultas atau, • Kode fakultas. 9. FakultasDispatchAction akan mencari daftar fakultas yang diminta pada basis data melalui FakultasDAO. 10. Fakultas akan menerima nilai failed dari FakultasDispatchAction jika pencarian gagal dan pengguna dikembalikan ke halaman exception.jsp. 11. Fakultas akan menerima nilai list dari FakultasDispatchAction jika pencarian berhasil dan pengguna akan diberikan daftar fakultas sesuai dengan kriteria pencarian.
34
Lanjutan Lampiran 7 4.2. Menambah data fakultas
CreateFakultas :ActionMapping
Pengguna
1. Input data baru pada form fakultas
FakultasForm : ValidatorForm
FakultasDispatchAction : DispatchAction
Fakultas
FakultasDAO
2. validate() validation
[ if not valid ] [ else ]
3. create() loop
4. getXxx() xxx
5. setXxx() fakultas 6. createFakultas(fakultas)
failed 7. forward ke exception.jsp 8. forward ke listFakultas.jsp
1. 2.
3. 4.
5. 6.
7. 8.
list
Pengguna menginput data fakultas baru pada form fakultas. Validasi terhadap input yang dimasukkan oleh pengguna, • Jika validasi gagal maka pengguna akan dikembalikan ke halaman form input data fakultas. • Jika validasi berhasil maka data kriteria pencarian akan disimpan di dalam FakultasForm. CreateFakultas akan memanggil fungsi create() pada FakultasDispatchAction. FakultasDispatchAction mengambil data input fakultas yg disimpan dalam FakultasForm, data yang diambil berupa, • Nama fakultas • Kode fakultas FakultasDispatchAction akan menyimpan nilai input ke dalam objek fakultas FakultasDispatchAction akan menyimpan data fakultas ke basis data melalui fungsi createFakultas(fakultas) pada FakultasDAO dengan mengirimkan parameter objek fakultas sebagai pembawa nilai atau data transfer object. CreateFakultas akan menerima nilai failed dari FakultasDispatchAction jika proses penyimpanan ke basis data gagal dan pengguna dikembalikan ke halaman exception.jsp. CreateFakultas akan menerima nilai success dari FakultasDispatchAction jika proses penyimpanan ke basis data berhasil dan pengguna akan dikembalikan ke halaman listFakultas.jsp.
35
Lanjutan Lampiran 7 4.3. Mengubah data fakultas
1. 2. 3.
Pengguna memilih fakultas yang ingin diupdate dari daftar fakultas. Fakultas akan memanggil fungsi initUpdate() pada FakultasDispatchAction. FakultasDispatchAction akan memanggil fungsi FakultasDAO untuk mendapatkan data detail fakultas. 4. Pengguna akan diberikan halaman updateFakultas.jsp untuk mengupdate data fakultas. 5. Pengguna mengupdate data pada form fakultas dengan mengklik tombol update 6. Validasi terhadap input yang dimasukkan oleh pengguna. • Jika validasi gagal maka pengguna akan dikembalikan ke halaman form update fakultas. • Jika validasi berhasil maka data update akan disimpan di dalam FakultasForm. 7. UpdateFakultas akan memanggil fungsi update() pada FakultasDispatchAction. 8. FakultasDispatchAction mengambil data input fakultas yg disimpan dalam FakultasForm, data yang diambil berupa, • Nama fakultas • Kode fakultas 9. FakultasDispatchAction akan menyimpan data fakultas ke basis data melalui fungsi updateFakultas(fakultas) pada FakultasDAO dengan mengirimkan parameter objek fakultas sebagai pembawa nilai atau data transfer object. 10. UpdateFakultas akan menerima nilai failed dari FakultasDispatchAction jika proses penyimpanan ke basis data gagal dan pengguna dikembalikan ke halaman exception.jsp. 11. UpdateFakultas akan menerima nilai list dari FakultasDispatchAction jika proses penyimpanan ke basis data berhasil dan pengguna akan dikembalikan ke halaman listFakultas.jsp.
36
Lanjutan Lampiran 7 4.4. Menghapus data fakultas
DeleteFakultas :ActionMapping
FakultasForm : ValidatorForm
FakultasDispatchAction : DispatchAction
FakultasDAO
1. Pilih fakultas yang ingin dihapus dari daftar fakultas 2. delete() 3. getIdFak() idFak 4. deleteFakultas(idFak) failed 5. forward ke exception.jsp list 6. forward ke listFakultas.jsp
1. 2. 3. 4. 5. 6.
Pengguna menghapus data fakultas dengan mengklik tombol delete dari daftar fakultas. DeleteFakultas akan memanggil fungsi delete() pada FakultasDispatchAction. FakultasDispatchAction mengambil NRP melalui FakultasForm. FakultasDispatchAction menghapus fakultas pada basis data melalui FakultasDAO dengan memanggil fungsi deleteFakultas(nrp). DeleteFakultas akan menerima nilai failed dari FakultasDispatchAction jika proses penghapusan ke basis data gagal dan pengguna dikembalikan ke halaman exception.jsp. DeleteFakultas akan menerima nilai list dari FakultasDispatchAction jika proses penghapusan ke basis data berhasil dan pengguna akan dikembalikan ke halaman listFakultas.jsp.
37
Lampiran 8 Implementasi basis data Nama Fakultas
Tipe Tabel
Primary Key id_fak
Deskripsi Tabel Fakultas berisi data seluruh fakultas di IPB
Departemen
Tabel
id_dep
Tabel Departemen berisi data seluruh departemen
PS
Tabel
id_ps
Tabel PS berisi seluruh data seluruh program studi
Mahasiswa
Tabel
nrp
Tabel Mahasiswa berisi data seluruh mahasiswa
Status_Studi
Tabel
status_studi
Tabel Status_Studi berisi jenis-jenis status studi
Mahasiswa
Tabel
kode_mk
Tabel Mahasiswa berisi mata kuliah
Riwayat_Mahasiswa
Tabel
id_rk
Tabel Riwayat_Mahasiswa berisi riwayat seluruh mata kuliah
KRS
Tabel
id_krs
Tabel KRS berisi mata kuliah yang diambil mahasiswa beserta nilainya
Nilai_Mutu
Tabel
nilai_mutu
Tabel Nilai_Mutu berisi jenis-jenis nilai mutu (A, B, C, D, dan E)
Status_Ulang
Tabel
status_ulang
Status_MK
Tabel
status_mk
User
Tabel
username
Tabel Status_Ulang berisi jenis-jenis status ulang mata kuliah (Tidak mengulang, D, dan E) Tabel Status_MK berisi jenis-jenis status mata kuliah (Umum, Wajib, dan Pilihan) Tabel User berisi pengguna dari aplikasi
Kalkulasi_Status_ Studi
Tabel
id_status_studi
Tabel Kalkulasi_Status_Studi berisi batasan minimal dan maksimal nilai akademik mahasiswa
38
Lampiran 9 Dokumen uji aplikasi SIMAK 1.
Deskripsi dan hasil uji fungsi autentikasi No 1
2
3
Deskripsi Uji Memeriksa proses autentikasi berjalan sesuai dengan username dan password yang ada pada basis data
Memeriksa keamanan aplikasi jika pengguna sudah mengetahui struktur halaman aplikasi dan bermaksud untuk langsung mengaksesnya lewat URL web browser Memeriksa error handling jika basis data tidak aktif
Kondisi Awal Halaman logon
Skenario Uji Pengguna memasukkan data login (username dan password) yang valid dan meng-klik tombol ‘Login’ Pengguna memasukkan data login (username dan password) yang tidak valid
Halaman kosong atau halaman logon
Pengguna mengetikkan halaman aplikasi langsung melalui URL web browser
halaman logon
Pengguna memasukkan data login (username dan password) (valid atau tidak valid) dan mengklik tombol ‘Login’
Hasil yang Diharapkan Pengguna memasuki halaman menu utama
Hasil Uji OK
Pengguna tidak bisa memasuki halaman utama dan diberikan pesan bahwa username dan password yang dimasukkan salah Tampilan halaman logon akan muncul
OK
redirect ke halaman sqlException.jsp yang memberi pesan bahwa terjadi kesalahan pada akses basis data
OK
OK
39
Lanjutan Lampiran 9 2.
Deskripsi dan hasil uji fungsi hasil autentikasi untuk setiap jabatan No 1
2
Deskripsi Uji Memeriksa hasil autentikasi untuk administrator yang akan menampilkan menu yang hanya bisa diakses oleh administrator
Memeriksa hasil autentikasi untuk staf yang akan menampilkan menu yang hanya bisa diakses oleh staf
Kondisi Awal Halaman logon
Halaman logon
Skenario Uji Pengguna memasukkan data login (username dan password) yang valid untuk administrator dan meng-klik tombol ‘Login’ Pengguna memasukkan data login (username dan password) yang tidak valid
Pengguna memasukkan data login (username dan password) yang valid untuk staf dan meng-klik tombol ‘Login’ Pengguna memasukkan data login (username dan password) yang tidak valid
Hasil yang Diharapkan Pengguna memasuki halaman utama untuk administrator dengan beberapa menu khusus oleh administrator
Hasil Uji OK
Pengguna tidak bisa memasuki halaman utama dan diberikan pesan bahwa username dan password yang dimasukkan salah Pengguna memasuki halaman menu utama untuk staf dengan beberapa batasan hak akses
OK
Pengguna tidak bisa memasuki halaman utama dan diberikan pesan bahwa username dan password yang dimasukkan salah
3.
Deskripsi dan hasil uji seluruh fungsi modul umum untuk jabatan administrator
3.1.
Deskripsi dan hasil uji fungsi modul mata kuliah
OK
OK
3.1.1. Deskripsi dan hasil uji fungsi menu mata kuliah No 1
Deskripsi Uji Menampilkan halaman mata kuliah
Kondisi Awal Halaman menu utama
Skenario Uji Pengguna meng-klik menu ‘Mata Kuliah’
Hasil yang Diharapkan Masuk ke halaman mata kuliah yang berisi form pencarian mata kuliah
Hasil Uji OK
40
Lanjutan Lampiran 9 3.1.2. Deskripsi dan hasil uji fungsi pencarian mata kuliah No
Deskripsi Uji
1
Pengguna memasuki halaman pencarian data dan belum memasukkan parameter apapun Pengguna memasukkan parameter pencarian
2
Kondisi Awal Halaman mata kuliah
Halaman mata kuliah
Skenario Uji Pengguna meng-klik tombol ‘Cari’
Pengguna memasukkan parameter pencarian dan meng-klik tombol ‘Cari’
Hasil yang Diharapkan Menampilkan tabel daftar mata kuliah dan menu aksi (lihat detail, ubah, dan hapus)
Hasil Uji OK
Tampilan mata kuliah sesuai dengan parameter pencarian dan menu aksi (lihat detail, ubah, dan hapus)
OK
Hasil yang Diharapkan Muncul peringatan bahwa field tertentu pada form harus diisi
Hasil Uji OK
Muncul peringatan bahwa input tidak valid dan saran input yang harus diisi pada field tersebut Menampilkan pesan bahwa mata kuliah telah ditambah dan tabel daftar mata kuliah Kembali ke tabel daftar mata kuliah
OK
Menampilkan pesan bahwa akses ke basis data error dan silahkan menghubungi administrator Menampilkan satu riwayat mata kuliah yang sesuai dengan mata kuliah yang dimasukkan sebelumnya dengan nilai tahun akademik kosong (default)
OK
3.1.3. Deskripsi dan hasil uji fungsi menambah mata kuliah No 1
2
Deskripsi Uji Melakukan validasi terhadap berbagai macam input yang dimasukkan oleh pengguna
Memeriksa hasil terhadap penambahan mata kuliah
Kondisi Awal Halaman form buat mata kuliah
Halaman form buat mata kuliah
Skenario Uji Pengguna langsung meng-klik tombol tambah dengan membiarkan seluruh field kosong Pengguna memasukkan input yang tidak valid pada salah satu field Pengguna meng-klik tombol ‘Tambah’
Pengguna meng-klik tombol ‘Batal’ 3
4
Memeriksa hasil terhadap penambahan mata kuliah jika akses ke basis data error Memeriksa daftar riwayat mata kuliah ketika dilakukan penambahan mata kuliah
Halaman form buat mata kuliah
Pengguna memasukkan data valid dan meng-klik tombol ‘Tambah’
Halaman tabel daftar mata kuliah
Pengguna meng-klik tombol ‘Detail’
OK
OK
OK
41
Lanjutan Lampiran 9 3.1.4. Deskripsi dan hasil uji fungsi menghapus mata kuliah No
Deskripsi Uji
1
Memeriksa hasil dari penghapusan mata kuliah
Kondisi Awal Tabel daftar mata kuliah dengan menu aksi
Skenario Uji
Hasil yang Diharapkan
Pengguna meng-klik tombol ‘Hapus’
Muncul konfirmasi apakah data ingin dihapus
Pengguna meng-klik tombol ‘OK’
Menampilkan pesan bahwa mata kuliah telah dihapus dan tabel daftar mata kuliah Tidak melakukan penghapusan mata kuliah
Pengguna meng-klik tombol ‘Cancel’
Hasil Uji OK OK
OK
3.1.5. Deskripsi dan hasil uji fungsi merubah mata kuliah No 1
2
Deskripsi Uji Melakukan validasi terhadap berbagai macam input yang dimasukkan oleh pengguna Memeriksa hasil terhadap perubahan mata kuliah
Kondisi Awal Halaman form ubah mata kuliah Halaman form ubah mata kuliah
Skenario Uji Pengguna memasukkan input yang tidak valid pada salah satu field Pengguna meng-klik tombol ‘Ubah’
Pengguna meng-klik tombol ‘Batal’
Hasil yang Diharapkan Muncul peringatan bahwa input tidak valid dan saran input yang harus diisi pada field tersebut Menampilkan pesan bahwa mata kuliah tersebut telah diubah dan tabel daftar mata kuliah Kembali ke daftar mata kuliah
Hasil Uji OK
OK
OK
3.1.6. Deskripsi dan hasil uji fungsi melihat detail dan riwayat mata kuliah No
Deskripsi Uji
1
Memeriksa hasil dari detail mata kuliah yang dilakukan sebelumnya yang berupa informasi mata kuliah yang lebih detail Memeriksa hasil dari detail mata kuliah yang dilakukan sebelumnya yang berupa daftar riwayat mata kuliah tersebut
2
Kondisi Awal Halaman hasil pencarian mata kuliah
Halaman hasil pencarian mata kuliah
Skenario Uji Pengguna meng-klik tombol ‘Detail’
Pengguna meng-klik tombol ‘Detail’
Hasil yang Diharapkan Menampilkan informasi detail mata kuliah
Hasil Uji OK
Tabel menampilkan daftar riwayat mahasiswa dari mata kuliah tersebut dan menu aksi untuk menambah, mengubah dan menghapus riwayat mahasiswa
OK
42
Lanjutan Lampiran 9 3.1.7. Deskripsi dan hasil uji fungsi menambah riwayat mata kuliah No 1
2
Deskripsi Uji Melakukan validasi terhadap berbagai macam input yang dimasukkan oleh pengguna
Memeriksa hasil terhadap penambahan riwayat mata kuliah
Kondisi Awal Halaman form buat riwayat mata kuliah
Halaman form buat riwayat mata kuliah
Skenario Uji Pengguna langsung meng-klik tombol tambah dengan membiarkan seluruh field kosong Pengguna memasukkan input yang tidak valid pada salah satu field Pengguna memasukkan data valid dan meng-klik tombol ‘Tambah’ Pengguna meng-klik tombol ‘Batal’
Hasil yang Diharapkan Muncul peringatan bahwa field tertentu pada form harus diisi
Hasil Uji OK
Muncul peringatan bahwa input tidak valid dan saran input yang harus diisi pada field tersebut Menampilkan pesan bahwa mata kuliah telah ditambah dan tabel daftar riwayat mata kuliah Kembali ke daftar riwayat mata kuliah
OK
OK
OK
3.1.8. Deskripsi dan hasil uji fungsi menghapus riwayat mata kuliah No
Deskripsi Uji
1
Memeriksa hasil dari penghapusan riwayat mata kuliah
Kondisi Awal Tabel daftar riwayat mata kuliah dengan menu aksi
Skenario Uji Pengguna meng-klik tombol ‘Hapus’ Pengguna meng-klik tombol ‘OK’
Pengguna meng-klik tombol ‘Cancel’
Hasil yang Diharapkan Muncul konfirmasi apakah data ingin dihapus Menampilkan pesan bahwa riwayat mata kuliah telah dihapus dan tabel daftar riwayat mata kuliah Tidak melakukan penghapusan riwayat mata kuliah
Hasil Uji OK
Hasil yang Diharapkan Muncul peringatan bahwa input tidak valid dan saran input yang harus diisi pada field tersebut Menampilkan pesan bahwa riwayat mata kuliah tersebut telah diubah dan tabel daftar riwayat mata kuliah Kembali ke riwayat daftar mata kuliah
Hasil Uji OK
OK
OK
3.1.9. Deskripsi dan hasil uji fungsi merubah riwayat mata kuliah No
Deskripsi Uji
1
Melakukan validasi terhadap berbagai macam input yang dimasukkan oleh pengguna Memeriksa hasil terhadap perubahan riwayat mata kuliah
2
Kondisi Awal Halaman form ubah riwayat mata kuliah Halaman form ubah riwayat mata kuliah
Skenario Uji Pengguna memasukkan input yang tidak valid pada salah satu field Pengguna meng-klik tombol ‘Ubah’
Pengguna meng-klik tombol ‘Batal’
OK
OK
43
Lanjutan Lampiran 9 3.2.
Deskripsi dan hasil uji fungsi modul mahasiswa
3.2.1. Deskripsi dan hasil uji fungsi menu mahasiswa No
Deskripsi Uji
1
Menampilkan halaman mata mahasiswa
Kondisi Awal Halaman menu utama
Skenario Uji Pengguna meng-klik menu ‘Mahasiswa’
Hasil yang Diharapkan Masuk ke halaman mahasiswa yang berisi form pencarian mahasiswa
Hasil Uji OK
3.2.2. Deskripsi dan hasil uji fungsi pencarian mahasiswa No
Deskripsi Uji
1
Pengguna memasuki halaman pencarian mahasiswa dan belum memasukkan parameter apapun Pengguna memasukkan parameter pencarian
2
Kondisi Awal Halaman mahasiswa
Halaman mahasiswa
Pengguna meng-klik tombol ‘Cari’
Hasil yang Diharapkan Menampilkan tabel daftar mahasiswa dan menu aksi ( ubah dan hapus)
Hasil Uji OK
Pengguna memasukkan parameter pencarian dan meng-klik tombol ‘Cari’
Tampilan mahasiswa sesuai dengan parameter pencarian dan menu aksi (ubah dan hapus)
OK
Hasil yang Diharapkan Muncul peringatan bahwa field tertentu pada form harus diisi
Hasil Uji OK
Muncul peringatan bahwa input tidak valid dan saran input yang harus diisi pada field tersebut Menampilkan pesan bahwa mata kuliah telah ditambah dan tabel daftar mata kuliah Kembali ke tabel daftar mahasiswa
OK
Menampilkan pesan bahwa akses ke basis data error dan silahkan menghubungi administrator
OK
Skenario Uji
3.2.3. Deskripsi dan hasil uji fungsi menambah mahasiswa No 1
2
Deskripsi Uji Melakukan validasi terhadap berbagai macam input yang dimasukkan oleh pengguna
Memeriksa hasil terhadap penambahan mahasiswa
Kondisi Awal Halaman form buat mahasiswa
Halaman form buat mahasiswa
Skenario Uji Pengguna langsung meng-klik tombol tambah dengan membiarkan seluruh field kosong Pengguna memasukkan input yang tidak valid pada salah satu field Pengguna memasukkan data valid dan meng-klik tombol ‘Tambah’ Pengguna meng-klik tombol ‘Batal’
4
Memeriksa hasil terhadap penambahan mahasiswa jika akses ke basis data error
Halaman form buat mahasiswa
Pengguna meng-klik tombol ‘Tambah’
OK
OK
44
Lanjutan Lampiran 9 3.2.4. Deskripsi dan hasil uji fungsi menghapus mahasiswa No
Deskripsi Uji
1
Memeriksa hasil dari penghapusan mahasiswa
Kondisi Awal Tabel daftar mahasiswa dengan menu aksi
Skenario Uji Pengguna meng-klik tombol ‘Hapus’ Pengguna meng-klik tombol ‘OK’
Pengguna meng-klik tombol ‘Cancel’
Hasil yang Diharapkan Muncul konfirmasi apakah data ingin dihapus Menampilkan pesan bahwa mahasiswa telah dihapus dan tabel daftar mahasiswa Tidak melakukan penghapusan data mahasiswa
Hasil Uji OK
OK
OK
3.2.5. Deskripsi dan hasil uji fungsi merubah mahasiswa No 1
2
Deskripsi Uji Melakukan validasi terhadap berbagai macam input yang dimasukkan oleh pengguna Memeriksa hasil terhadap perubahan mahasiswa
Kondisi Awal Halaman form ubah mahasiswa
Halaman form ubah mahasiswa
Skenario Uji Pengguna memasukkan input yang tidak valid pada salah satu field Pengguna meng-klik tombol ‘Ubah’
Pengguna meng-klik tombol ‘Batal’ 3.3.
Hasil yang Diharapkan Muncul peringatan bahwa input tidak valid dan saran input yang harus diisi pada field tersebut Menampilkan pesan bahwa mahasiswa tersebut telah diubah dan tabel daftar mahasiswa Kembali ke daftar mahasiswa
Hasil Uji OK
OK
OK
Deskripsi dan hasil uji fungsi modul KRS
3.3.1. Deskripsi dan hasil uji fungsi menu KRS No 1
Deskripsi Uji Menampilkan halaman KRS
Kondisi Awal Halaman menu utama
Skenario Uji Pengguna meng-klik menu ‘KRS’
Hasil yang Diharapkan Masuk ke halaman KRS yang berisi form pencarian KRS mahasiswa
Hasil Uji OK
3.3.2. Deskripsi dan hasil uji fungsi pencarian KRS No
Deskripsi Uji
1
Pengguna memasuki halaman pencarian data dan belum memasukkan parameter apapun Pengguna memasukkan parameter pencarian
2
Kondisi Awal Halaman KRS
Halaman KRS
Skenario Uji Pengguna meng-klik tombol ‘Cari’
Pengguna memasukkan parameter pencarian dan meng-klik tombol ‘Cari’
Hasil yang Diharapkan Menampilkan tabel seluruh daftar KRS dan menu aksi (lihat dan hapus)
Hasil Uji OK
Tampilan KRS sesuai dengan parameter pencarian dan menu aksi (lihat dan hapus)
OK
45
Lanjutan Lampiran 9 3.3.3. Deskripsi dan hasil uji fungsi menambah KRS No
Deskripsi Uji
1
Melakukan penambahan KRS dengan meng-upload file KRS (Excel) ke server untuk selanjutnya diproses
2
3
Melakukan pengecekan bahwa data KRS sudah masuk ke dalam basis data Memeriksa hasil terhadap penambahan KRS jika akses ke basis data error
Kondisi Awal Halaman form buat KRS
Skenario Uji Pengguna langsung meng-klik tombol ‘Upload’ tanpa terlebih dahulu memilih file KRS Pengguna memasukkan file yang tidak valid Pengguna memasukkan file yang valid
Halaman form pencarian KRS
Pengguna meng-klik tombol ‘Cari’
Halaman form buat KRS
Pengguna meng-klik tombol ‘Upload’
Hasil yang Diharapkan Muncul pesan bahwa proses upload gagal
Hasil Uji OK
Muncul pesan bahwa proses upload gagal
OK
Muncul pesan bahwa proses upload sukses dan nilai mata kuliah dari KRS yang baru dimasukkan adalah BM (Belum Masuk) Data KRS yang baru diupload muncul dalam tabel daftar KRS.
OK
Menampilkan pesan bahwa akses ke basis data error dan silahkan menghubungi administrator
OK
Hasil yang Diharapkan Muncul konfirmasi apakah data ingin dihapus Menampilkan pesan bahwa KRS telah dihapus dan tabel daftar KRS Tidak melakukan penghapusan KRS Muncul konfirmasi apakah data ingin dihapus Menampilkan pesan bahwa KRS tidak bisa dihapus karena tahun akademik sudah dilalui dan tabel daftar KRS Tidak melakukan penghapusan KRS
Hasil Uji OK
OK
3.3.4. Deskripsi dan hasil uji fungsi menghapus KRS No
Deskripsi Uji
1
Memeriksa hasil dari penghapusan KRS jika semester belum dilalui
2
Memeriksa hasil dari penghapusan KRS jika semester sudah dilalui
Kondisi Awal Tabel daftar KRS dengan menu aksi
Tabel daftar KRS dengan menu aksi
Skenario Uji Pengguna meng-klik tombol ‘Hapus’ Pengguna meng-klik tombol ‘OK’
Pengguna meng-klik tombol ‘Cancel’ Pengguna meng-klik tombol ‘Hapus’ Pengguna meng-klik tombol ‘OK’
Pengguna meng-klik tombol ‘Cancel’
OK
OK OK
OK
OK
46
Lanjutan Lampiran 9 3.3.5. Deskripsi dan hasil uji fungsi melihat detail KRS No
Deskripsi Uji
1
Memeriksa hasil dari lihat detail KRS melalui menu aksi pada tabel daftar KRS
2
Memeriksa hasil dari lihat detail KRS melalui menu aksi pada tabel daftar KRS
Kondisi Awal Halaman hasil pencarian KRS
Halaman hasil pencarian KRS
Skenario Uji Pengguna meng-klik tombol ‘Lihat’ dengan kondisi semester KRS yang ingin dilihat belum dilalui (selesai)
Pengguna meng-klik tombol ‘Lihat’ dengan kondisi semester KRS yang ingin dilihat sudah dilalui (selesai)
Hasil yang Diharapkan Menampilkan informasi detail KRS dan menu untuk menambah, menghapus, dan mengubah data KRS, serta cetak KRS, dan transkrip Menampilkan informasi detail KRS dan menu untuk mengubah data KRS (nilai), cetak KRS, dan transkrip
Hasil Uji OK
OK
3.3.6. Deskripsi dan hasil uji fungsi menambah detail KRS No 1
2
Deskripsi Uji Melakukan validasi terhadap berbagai macam input yang dimasukkan oleh pengguna
Memeriksa hasil terhadap penambahan detail KRS
Kondisi Awal Halaman form buat detail KRS
Halaman form buat detail KRS
Skenario Uji Pengguna langsung meng-klik tombol tambah dengan membiarkan seluruh field kosong Pengguna memasukkan input yang tidak valid pada salah satu field Pengguna memasukkan data valid dan meng-klik tombol ‘Tambah’ Pengguna meng-klik tombol ‘Batal’
3
Memeriksa hasil terhadap penambahan detail KRS jika akses ke basis data error
Halaman form buat detail KRS
Pengguna meng-klik tombol ‘Tambah’
Hasil yang Diharapkan Muncul peringatan bahwa field tertentu pada form harus diisi
Hasil Uji OK
Muncul peringatan bahwa input tidak valid dan saran input yang harus diisi pada field tersebut Menampilkan pesan bahwa detail KRS telah ditambah dan tabel daftar detail KRS Kembali ke tabel daftar detail KRS
OK
Menampilkan pesan bahwa akses ke basis data error dan silahkan menghubungi administrator
OK
OK
OK
47
Lanjutan Lampiran 9 3.3.7. Deskripsi dan hasil uji fungsi menghapus detail KRS No
Deskripsi Uji
1
Memeriksa hasil dari penghapusan detail KRS
Kondisi Awal Tabel daftar detail KRS dengan menu aksi
Skenario Uji Pengguna meng-klik tombol ‘Hapus’ Pengguna meng-klik tombol ‘OK’
Pengguna meng-klik tombol ‘Cancel’
Hasil yang Diharapkan Muncul konfirmasi apakah data ingin dihapus Menampilkan pesan bahwa detail KRS telah dihapus dan tabel daftar detail KRS Tidak melakukan penghapusan detail KRS
Hasil Uji OK
Hasil yang Diharapkan Muncul peringatan bahwa input tidak valid dan saran input yang harus diisi pada field tersebut Menampilkan pesan bahwa detail KRS tersebut telah diubah dan tabel daftar detail KRS Kembali ke daftar detail KRS
Hasil Uji OK
OK
OK
3.3.8. Deskripsi dan hasil uji fungsi merubah detail KRS No 1
2
Deskripsi Uji Melakukan validasi terhadap berbagai macam input yang dimasukkan oleh pengguna Memeriksa hasil terhadap perubahan mata kuliah
Kondisi Awal Halaman form ubah detail KRS
Halaman form ubah detail KRS
Skenario Uji Pengguna memasukkan input yang tidak valid pada salah satu field Pengguna meng-klik tombol ‘Ubah’
Pengguna meng-klik tombol ‘Batal’ 3.4.
OK
OK
Deskripsi dan hasil uji fungsi modul upload nilai
3.4.1. Deskripsi dan hasil uji fungsi mengupdate nilai No 1
2
3
Deskripsi Uji Melakukan update nilai dengan mengupload file Nilai (Excel) ke server untuk selanjutnya diproses
Melakukan pengecekan bahwa nilai sudah masuk ke dalam basis data Memeriksa hasil terhadap update nilai jika akses ke basis data error
Kondisi Awal Halaman form upload nilai
Tabel daftar KRS dengan menu aksi Halaman form upload nilai
Skenario Uji Pengguna langsung meng-klik tombol ‘Upload’ tanpa terlebih dahulu memilih file Nilai Pengguna memasukkan file yang tidak valid Pengguna memasukkan file yang valid Pengguna meng-klik tombol ‘Ubah’
Pengguna meng-klik tombol ‘Upload’
Hasil yang Diharapkan Muncul pesan bahwa proses upload gagal
Hasil Uji OK
Muncul pesan bahwa proses upload gagal
OK
Muncul pesan bahwa proses upload sukses
OK
Tabel daftar detail KRS dengan nilai yang baru diupdate
OK
Menampilkan pesan bahwa akses ke basis data error dan silahkan menghubungi administrator
OK
48
Lanjutan Lampiran 9 3.5.
Deskripsi dan hasil uji fungsi modul report
3.5.1. Deskripsi dan hasil uji fungsi modul report KRS No
Deskripsi Uji
1
Memeriksa hasil report KRS
2
Menampilkan SKS dari setiap mata kuliah dan jumlahnya
Kondisi Awal Tabel daftar detail KRS
Tabel daftar detail KRS
Skenario Uji Pengguna meng-klik tombol ‘Cetak KRS’
Pengguna meng-klik tombol ‘Cetak KRS’
Hasil yang Diharapkan Report KRS dalam format PDF sesuai dengan data KRS yang di-input melalui file KRS (Excel) Report KRS menampilkan SKS dari setiap mata kuliah dan jumlahnya
Hasil Uji OK
Hasil yang Diharapkan Report transkrip dalam format PDF sesuai dengan data nilai yang di-input melalui file Nilai (Excel) Transkrip akan menampilkan nama mata kuliah yang statusnya mengulang dengan menambahkan tanda * pada akhir nama mata kuliah Transkrip memberikan hasil kumulatif sesuai dengan aturan dan formula yang berlaku
Hasil Uji OK
OK
3.5.2. Deskripsi dan hasil uji fungsi modul report transkrip No
Deskripsi Uji
Kondisi Awal Tabel daftar detail KRS
Pengguna meng-klik tombol ‘Cetak Transkrip’
Skenario Uji
1
Memeriksa hasil report transkrip
2
Memeriksa hasil transkrip jika terdapat mata kuliah yang mengulang dari semester sebelumnya
Tabel daftar detail KRS
Pengguna meng-klik tombol ‘Cetak Transkrip’
3
Memeriksa hasil kumulatif transkrip (ip semester, ip kumulatif, dan status studi)
Tabel daftar detail KRS
Pengguna meng-klik tombol ‘Cetak Transkrip’
OK
OK
3.5.3. Deskripsi dan hasil uji fungsi modul report absensi mata kuliah No 1
Deskripsi Uji Memeriksa hasil report absensi mata kuliah
Kondisi Awal Halaman form absensi mata kuliah
Skenario Uji Pengguna mengisi form dan meng-klik tombol ‘Cetak’
Hasil yang Diharapkan Report absensi mata kuliah dalam format PDF sesuai dengan form yang di-input sebelumnya
Hasil Uji OK
49
Lanjutan Lampiran 9 3.5.4. Deskripsi dan hasil uji fungsi modul report riwayat nilai mahasiswa No
Deskripsi Uji
Kondisi Awal Halaman form riwayat nilai mahasiswa Halaman form riwayat nilai mahasiswa
Skenario Uji
1
Memeriksa hasil report riwayat nilai per mahasiswa
Pengguna mengisi nrp yang ingin dicetak dan mengklik tombol ‘Cetak’
2
Memeriksa hasil report riwayat nilai per program studi (seluruh mahasiswa)
3
Memeriksa hasil report riwayat nilai jika terdapat mata kuliah yang mengulang dari semester sebelumnya
Halaman form riwayat nilai mahasiswa
Pengguna memilih program studi atau input nrp dan mengklik tombol ‘Cetak’
4
Memeriksa hasil kumulatif transkrip (ip semester, ip kumulatif, dan status studi)
Halaman form riwayat nilai mahasiswa
Pengguna mengisi form dan meng-klik tombol ‘Cetak’
Pengguna memilih program studi dan meng-klik tombol ‘Cetak’
Hasil yang Diharapkan Report riwayat nilai mahasiswa dalam format PDF sesuai dengan nrp yang diinput sebelumnya Report riwayat nilai mahasiswa per program studi dalam format PDF sesuai dengan program studi yang dipilih sebelumnya Report riwayat nilai mahasiswa akan menampilkan nama mata kuliah yang statusnya mengulang dengan menambahkan tanda * pada akhir nama mata kuliah Report riwayat nilai memberikan hasil kumulatif sesuai dengan aturan dan formula yang berlaku
Hasil Uji OK
Hasil yang Diharapkan Report riwayat nilai mahasiswa dalam format PDF sesuai dengan nrp yang diinput sebelumnya Report rekapitulasi nilai akan menampilkan nilai mata kuliah yang sebelumnya dan yang sudah diperbaiki
Hasil Uji OK
OK
OK
OK
3.5.5. Deskripsi dan hasil uji fungsi modul report rekapitulasi nilai No
Deskripsi Uji
1
Memeriksa hasil report rekapitulasi nilai mahasiswa
2
Memeriksa hasil report riwayat nilai jika terdapat mata kuliah yang mengulang dari semester sebelumnya Memeriksa hasil kumulatif transkrip (ip semester, ip kumulatif, dan status studi)
3
Kondisi Awal Halaman form rekapitulasi nilai mahasiswa Halaman form rekapitulasi nilai mahasiswa
Halaman form rekapitulasi nilai mahasiswa
Skenario Uji Pengguna mengisi form dan meng-klik tombol ‘Cetak’
Pengguna mengisi form dan meng-klik tombol ‘Cetak’
Pengguna mengisi form dan meng-klik tombol ‘Cetak’
Report riwayat nilai memberikan hasil kumulatif sesuai dengan aturan dan formula yang berlaku
OK
OK
50
Lanjutan Lampiran 9 3.6.
Deskripsi dan hasil uji fungsi modul khusus administrator
3.6.1. Deskripsi dan hasil uji fungsi modul manajemen user 3.6.1.1. Deskripsi dan hasil uji fungsi menu manajemen user No 1
Deskripsi Uji Menampilkan halaman mata manajemen user
Kondisi Awal Halaman menu utama
Skenario Uji Pengguna meng-klik menu ‘Manajemen User’
Hasil yang Diharapkan Masuk ke halaman manajemen user yang berisi form pencarian user
Hasil Uji OK
Hasil yang Diharapkan Menampilkan tabel daftar user dan menu aksi ( ubah dan hapus)
Hasil Uji OK
Tampilan tabel daftar user sesuai dengan parameter pencarian dan menu aksi (ubah dan hapus)
OK
Hasil yang Diharapkan Muncul peringatan bahwa field tertentu pada form harus diisi
Hasil Uji OK
Muncul peringatan bahwa input tidak valid dan saran input yang harus diisi pada field tersebut Menampilkan pesan bahwa user telah ditambah dan tabel daftar user Kembali ke tabel daftar user
OK
Menampilkan pesan bahwa akses ke basis data error dan silahkan menghubungi administrator
OK
3.6.1.2. Deskripsi dan hasil uji fungsi pencarian user No
Deskripsi Uji
1
Pengguna memasuki halaman pencarian user dan belum memasukkan parameter apapun Pengguna memasukkan parameter pencarian
2
Kondisi Awal Halaman manajemen user
Halaman manajemen user
Skenario Uji Pengguna meng-klik tombol ‘Cari’
Pengguna memasukkan parameter pencarian dan meng-klik tombol ‘Cari’
3.6.1.3. Deskripsi dan hasil uji fungsi menambah user No 1
2
4
Deskripsi Uji Melakukan validasi terhadap berbagai macam input yang dimasukkan oleh pengguna
Memeriksa hasil terhadap penambahan user
Memeriksa hasil terhadap penambahan user jika akses ke basis data error
Kondisi Awal Halaman form buat user
Halaman form buat user
Halaman form buat user
Skenario Uji Pengguna langsung meng-klik tombol tambah dengan membiarkan seluruh field kosong Pengguna memasukkan input yang tidak valid pada salah satu field Pengguna memasukkan data valid dan meng-klik tombol ‘Tambah’ Pengguna meng-klik tombol ‘Batal’ Pengguna meng-klik tombol ‘Tambah’
OK
OK
51
Lanjutan Lampiran 9 3.6.1.4. Deskripsi dan hasil uji fungsi menghapus user No
Deskripsi Uji
1
Memeriksa hasil dari penghapusan user
Kondisi Awal Tabel daftar user dengan menu aksi
Hasil yang Diharapkan Muncul konfirmasi apakah data ingin dihapus Menampilkan pesan bahwa user telah dihapus dan tabel daftar user Tidak melakukan penghapusan data user
Hasil Uji OK
Hasil yang Diharapkan Muncul peringatan bahwa input tidak valid dan saran input yang harus diisi pada field tersebut Menampilkan pesan bahwa user tersebut telah diubah dan tabel daftar user Kembali ke daftar user
Hasil Uji OK
Hasil yang Diharapkan Masuk ke halaman fakultas yang berisi form pencarian fakultas
Hasil Uji OK
Pengguna meng-klik tombol ‘Cari’
Hasil yang Diharapkan Menampilkan tabel daftar fakultas dan menu aksi ( ubah dan hapus)
Hasil Uji OK
Pengguna memasukkan parameter pencarian dan meng-klik tombol ‘Cari’
Tampilan tabel daftar fakultas sesuai dengan parameter pencarian dan menu aksi (ubah dan hapus)
OK
Skenario Uji Pengguna meng-klik tombol ‘Hapus’ Pengguna meng-klik tombol ‘OK’
Pengguna meng-klik tombol ‘Cancel’
OK
OK
3.6.1.5. Deskripsi dan hasil uji fungsi merubah user No 1
2
Deskripsi Uji Melakukan validasi terhadap berbagai macam input yang dimasukkan oleh pengguna Memeriksa hasil terhadap perubahan user
Kondisi Awal Halaman form ubah user
Halaman form ubah user
Skenario Uji Pengguna memasukkan input yang tidak valid pada salah satu field Pengguna meng-klik tombol ‘Ubah’
Pengguna meng-klik tombol ‘Batal’
OK
OK
3.6.2. Deskripsi dan hasil uji fungsi modul fakultas 3.6.2.1. Deskripsi dan hasil uji fungsi menu fakultas No 1
Deskripsi Uji Menampilkan halaman mata fakultas
Kondisi Awal Halaman menu utama
Skenario Uji Pengguna meng-klik menu ‘Fakultas’
3.6.2.2. Deskripsi dan hasil uji fungsi pencarian fakultas No
Deskripsi Uji
1
Pengguna memasuki halaman pencarian fakultas dan belum memasukkan parameter apapun Pengguna memasukkan parameter pencarian
2
Kondisi Awal Halaman fakultas
Halaman fakultas
Skenario Uji
52
Lanjutan Lampiran 9 3.6.2.3. Deskripsi dan hasil uji fungsi menambah fakultas No 1
2
4
Deskripsi Uji Melakukan validasi terhadap berbagai macam input yang dimasukkan oleh pengguna
Memeriksa hasil terhadap penambahan fakultas
Memeriksa hasil terhadap penambahan fakultas jika akses ke basis data error
Kondisi Awal Halaman form buat fakultas
Halaman form buat fakultas
Halaman form buat fakultas
Skenario Uji Pengguna langsung meng-klik tombol tambah dengan membiarkan seluruh field kosong Pengguna memasukkan input yang tidak valid pada salah satu field Pengguna memasukkan data valid dan meng-klik tombol ‘Tambah’ Pengguna meng-klik tombol ‘Batal’ Pengguna meng-klik tombol ‘Tambah’
Hasil yang Diharapkan Muncul peringatan bahwa field tertentu pada form harus diisi
Hasil Uji OK
Muncul peringatan bahwa input tidak valid dan saran input yang harus diisi pada field tersebut Menampilkan pesan bahwa fakultas telah ditambah dan tabel daftar fakultas Kembali ke tabel daftar fakultas
OK
Menampilkan pesan bahwa akses ke basis data error dan silahkan menghubungi administrator
OK
Hasil yang Diharapkan Muncul konfirmasi apakah data ingin dihapus Menampilkan pesan bahwa fakultas telah dihapus dan tabel daftar fakultas Tidak melakukan penghapusan data fakultas
Hasil Uji OK
OK
OK
3.6.2.4. Deskripsi dan hasil uji fungsi menghapus fakultas No
Deskripsi Uji
1
Memeriksa hasil dari penghapusan fakultas
Kondisi Awal Tabel daftar fakultas dengan menu aksi
Skenario Uji Pengguna meng-klik tombol ‘Hapus’ Pengguna meng-klik tombol ‘OK’
Pengguna meng-klik tombol ‘Cancel’
OK
OK
53
Lanjutan Lampiran 9 3.6.2.5. Deskripsi dan hasil uji fungsi merubah fakultas No 1
2
Deskripsi Uji Melakukan validasi terhadap berbagai macam input yang dimasukkan oleh pengguna Memeriksa hasil terhadap perubahan fakultas
Kondisi Awal Halaman form ubah fakultas
Halaman form ubah fakultas
Skenario Uji Pengguna memasukkan input yang tidak valid pada salah satu field Pengguna meng-klik tombol ‘Ubah’
Pengguna meng-klik tombol ‘Batal’
Hasil yang Diharapkan Muncul peringatan bahwa input tidak valid dan saran input yang harus diisi pada field tersebut Menampilkan pesan bahwa fakultas tersebut telah diubah dan tabel daftar fakultas Kembali ke daftar fakultas
Hasil Uji OK
OK
OK
3.6.3. Deskripsi dan hasil uji fungsi modul departemen 3.6.3.1. Deskripsi dan hasil uji fungsi menu departemen No 1
Deskripsi Uji Menampilkan halaman mata departemen
Kondisi Awal Halaman menu utama
Hasil yang Diharapkan Masuk ke halaman departemen yang berisi form pencarian departemen
Hasil Uji OK
Pengguna meng-klik tombol ‘Cari’
Hasil yang Diharapkan Menampilkan tabel daftar departemen dan menu aksi (ubah dan hapus)
Hasil Uji OK
Pengguna memasukkan parameter pencarian dan meng-klik tombol ‘Cari’
Tampilan tabel daftar departemen sesuai dengan parameter pencarian dan menu aksi (ubah dan hapus)
OK
Skenario Uji Pengguna meng-klik menu ‘Departemen’
3.6.3.2. Deskripsi dan hasil uji fungsi pencarian departemen No
Deskripsi Uji
1
Pengguna memasuki halaman pencarian departemen dan belum memasukkan parameter apapun Pengguna memasukkan parameter pencarian
2
Kondisi Awal Halaman departemen
Halaman departemen
Skenario Uji
54
Lanjutan Lampiran 9 3.6.3.3. Deskripsi dan hasil uji fungsi menambah departemen No
Deskripsi Uji
1
Melakukan validasi terhadap berbagai macam input yang dimasukkan oleh pengguna
2
Memeriksa hasil terhadap penambahan departemen
Kondisi Awal Halaman form buat departemen
Halaman form buat departemen
Skenario Uji Pengguna langsung meng-klik tombol tambah dengan membiarkan seluruh field kosong Pengguna memasukkan input yang tidak valid pada salah satu field Pengguna memasukkan data valid dan meng-klik tombol ‘Tambah’ Pengguna meng-klik tombol ‘Batal’
4
Memeriksa hasil terhadap penambahan departemen jika akses ke basis data error
Halaman form buat departemen
Pengguna meng-klik tombol ‘Tambah’
Hasil yang Diharapkan Muncul peringatan bahwa field tertentu pada form harus diisi
Hasil Uji OK
Muncul peringatan bahwa input tidak valid dan saran input yang harus diisi pada field tersebut Menampilkan pesan bahwa departemen telah ditambah dan tabel daftar departemen Kembali ke tabel daftar departemen
OK
Menampilkan pesan bahwa akses ke basis data error dan silahkan menghubungi administrator
OK
Hasil yang Diharapkan Muncul konfirmasi apakah data ingin dihapus Menampilkan pesan bahwa departemen telah dihapus dan tabel daftar departemen Tidak melakukan penghapusan data departemen
Hasil Uji OK
OK
OK
3.6.3.4. Deskripsi dan hasil uji fungsi menghapus departemen No
Deskripsi Uji
1
Memeriksa hasil dari penghapusan departemen
Kondisi Awal Tabel daftar departemen dengan menu aksi
Skenario Uji Pengguna meng-klik tombol ‘Hapus’ Pengguna meng-klik tombol ‘OK’
Pengguna meng-klik tombol ‘Cancel’
OK
OK
55
Lanjutan Lampiran 9 3.6.3.5. Deskripsi dan hasil uji fungsi merubah departemen No
Deskripsi Uji
1
Melakukan validasi terhadap berbagai macam input yang dimasukkan oleh pengguna Memeriksa hasil terhadap perubahan departemen
2
Kondisi Awal Halaman form ubah departemen
Halaman form ubah departemen
Skenario Uji Pengguna memasukkan input yang tidak valid pada salah satu field Pengguna meng-klik tombol ‘Ubah’
Pengguna meng-klik tombol ‘Batal’
Hasil yang Diharapkan Muncul peringatan bahwa input tidak valid dan saran input yang harus diisi pada field tersebut Menampilkan pesan bahwa departemen tersebut telah diubah dan tabel daftar departemen Kembali ke daftar departemen
Hasil Uji OK
Hasil yang Diharapkan Masuk ke halaman program studi yang berisi form pencarian program studi
Hasil Uji OK
OK
OK
3.6.4. Deskripsi dan hasil uji fungsi modul program studi 3.6.4.1. Deskripsi dan hasil uji fungsi menu program studi No 1
Deskripsi Uji Menampilkan halaman mata program studi
Kondisi Awal Halaman menu utama
Skenario Uji Pengguna meng-klik menu ‘Program Studi’
3.6.4.2. Deskripsi dan hasil uji fungsi pencarian program studi No
Deskripsi Uji
1
Pengguna memasuki halaman pencarian program studi dan belum memasukkan parameter apapun Pengguna memasukkan parameter pencarian
2
Kondisi Awal Halaman program studi
Halaman program studi
Pengguna meng-klik tombol ‘Cari’
Hasil yang Diharapkan Menampilkan tabel daftar program studi dan menu aksi (ubah dan hapus)
Hasil Uji OK
Pengguna memasukkan parameter pencarian dan meng-klik tombol ‘Cari’
Tampilan tabel daftar program studi sesuai dengan parameter pencarian dan menu aksi (ubah dan hapus)
OK
Skenario Uji
56
Lanjutan Lampiran 9 3.6.4.3. Deskripsi dan hasil uji fungsi menambah program studi No 1
2
Deskripsi Uji Melakukan validasi terhadap berbagai macam input yang dimasukkan oleh pengguna
Memeriksa hasil terhadap penambahan program studi
Kondisi Awal Halaman form buat program studi
Halaman form buat program studi
Skenario Uji Pengguna langsung meng-klik tombol tambah dengan membiarkan seluruh field kosong Pengguna memasukkan input yang tidak valid pada salah satu field Pengguna memasukkan data valid dan meng-klik tombol ‘Tambah’ Pengguna meng-klik tombol ‘Batal’
4
Memeriksa hasil terhadap penambahan program studi jika akses ke basis data error
Halaman form buat program studi
Pengguna meng-klik tombol ‘Tambah’
Hasil yang Diharapkan Muncul peringatan bahwa field tertentu pada form harus diisi
Hasil Uji OK
Muncul peringatan bahwa input tidak valid dan saran input yang harus diisi pada field tersebut Menampilkan pesan bahwa program studi telah ditambah dan tabel daftar program studi Kembali ke tabel daftar program studi
OK
Menampilkan pesan bahwa akses ke basis data error dan silahkan menghubungi administrator
OK
Hasil yang Diharapkan Muncul konfirmasi apakah data ingin dihapus Menampilkan pesan bahwa program studi telah dihapus dan tabel daftar program studi Tidak melakukan penghapusan data program studi
Hasil Uji OK
OK
OK
3.6.4.4. Deskripsi dan hasil uji fungsi menghapus program studi No
Deskripsi Uji
1
Memeriksa hasil dari penghapusan program studi
Kondisi Awal Tabel daftar program studi dengan menu aksi
Skenario Uji Pengguna meng-klik tombol ‘Hapus’ Pengguna meng-klik tombol ‘OK’
Pengguna meng-klik tombol ‘Cancel’
OK
OK
57
Lanjutan Lampiran 9 3.6.4.5. Deskripsi dan hasil uji fungsi merubah program studi No 1
2
Deskripsi Uji Melakukan validasi terhadap berbagai macam input yang dimasukkan oleh pengguna Memeriksa hasil terhadap perubahan program studi
Kondisi Awal Halaman form ubah program studi Halaman form ubah program studi
Skenario Uji Pengguna memasukkan input yang tidak valid pada salah satu field Pengguna meng-klik tombol ‘Ubah’
Pengguna meng-klik tombol ‘Batal’
Hasil yang Diharapkan Muncul peringatan bahwa input tidak valid dan saran input yang harus diisi pada field tersebut Menampilkan pesan bahwa program studi tersebut telah diubah dan tabel daftar program studi Kembali ke daftar program studi
Hasil Uji OK
Hasil yang Diharapkan Masuk ke halaman kalkulasi status studi yang berisi form pencarian kalkulasi status studi
Hasil Uji OK
OK
OK
3.6.5. Deskripsi dan hasil uji fungsi modul kalkulasi status studi 3.6.5.1. Deskripsi dan hasil uji fungsi menu kalkulasi status studi No 1
Deskripsi Uji Menampilkan halaman mata kalkulasi status studi
Kondisi Awal Halaman menu utama
Skenario Uji Pengguna meng-klik menu ‘Kalkulasi status studi’
3.6.5.2. Deskripsi dan hasil uji fungsi pencarian kalkulasi status studi No
Deskripsi Uji
1
Pengguna memasuki halaman pencarian kalkulasi status studi dan belum memasukkan parameter apapun Pengguna memasukkan parameter pencarian
2
Kondisi Awal Halaman kalkulasi status studi
Halaman kalkulasi status studi
Skenario Uji Pengguna meng-klik tombol ‘Cari’
Pengguna memasukkan parameter pencarian dan meng-klik tombol ‘Cari’
Hasil yang Diharapkan Menampilkan tabel daftar kalkulasi status studi dan menu aksi (ubah dan hapus)
Hasil Uji OK
Tampilan tabel daftar kalkulasi status studi sesuai dengan parameter pencarian dan menu aksi (ubah dan hapus)
OK
58
Lanjutan Lampiran 9 3.6.5.3. Deskripsi dan hasil uji fungsi menambah kalkulasi status studi No 1
2
Deskripsi Uji Melakukan validasi terhadap berbagai macam input yang dimasukkan oleh pengguna
Memeriksa hasil terhadap penambahan kalkulasi status studi
Kondisi Awal Halaman form buat kalkulasi status studi
Halaman form buat kalkulasi status studi
Skenario Uji Pengguna langsung meng-klik tombol tambah dengan membiarkan seluruh field kosong Pengguna memasukkan input yang tidak valid pada salah satu field Pengguna memasukkan data valid dan meng-klik tombol ‘Tambah’
Pengguna meng-klik tombol ‘Batal’ 4
Memeriksa hasil terhadap penambahan kalkulasi status studi jika akses ke basis data error
Halaman form buat kalkulasi status studi
Pengguna meng-klik tombol ‘Tambah’
Hasil yang Diharapkan Muncul peringatan bahwa field tertentu pada form harus diisi
Hasil Uji OK
Muncul peringatan bahwa input tidak valid dan saran input yang harus diisi pada field tersebut Menampilkan pesan bahwa kalkulasi status studi telah ditambah dan tabel daftar kalkulasi status studi Kembali ke tabel daftar kalkulasi status studi Menampilkan pesan bahwa akses ke basis data error dan silahkan menghubungi administrator
OK
OK
OK
OK
3.6.5.4. Deskripsi dan hasil uji fungsi merubah kalkulasi status studi No
Deskripsi Uji
1
Melakukan validasi terhadap berbagai macam input yang dimasukkan oleh pengguna Memeriksa hasil terhadap perubahan kalkulasi status studi
2
Kondisi Awal Halaman form ubah kalkulasi status studi Halaman form ubah kalkulasi status studi
Skenario Uji Pengguna memasukkan input yang tidak valid pada salah satu field Pengguna meng-klik tombol ‘Ubah’
Pengguna meng-klik tombol ‘Batal’
Hasil yang Diharapkan Muncul peringatan bahwa input tidak valid dan saran input yang harus diisi pada field tersebut Menampilkan pesan bahwa kalkulasi status studi tersebut telah diubah dan tabel daftar kalkulasi status studi Kembali ke daftar kalkulasi status studi
Hasil Uji OK
OK
OK
59
Lanjutan Lampiran 9 4.
Deskripsi dan hasil uji seluruh fungsi modul umum untuk jabatan staf
4.1.
Deskripsi dan hasil uji fungsi modul mata kuliah
4.1.1. Deskripsi dan hasil uji fungsi pencarian mata kuliah No
Deskripsi Uji
1
Pengguna memasuki halaman pencarian data dan belum memasukkan parameter apapun Pengguna memasukkan parameter pencarian yang terbatas sesuai dengan tingkatan jabatan staf
2
Kondisi Awal Halaman Mata Kuliah
Halaman Mata Kuliah
Skenario Uji Pengguna meng-klik tombol ‘Cari’
Pengguna memasukkan parameter pencarian
Hasil yang Diharapkan Tabel menampilkan daftar mata kuliah dan hanya ada menu aksi untuk melihat detail mata kuliah Tampilan mata kuliah sesuai dengan parameter pencarian dan hanya ada menu aksi untuk melihat detail mata kuliah
Hasil Uji OK
OK
4.1.2. Deskripsi dan hasil uji fungsi melihat detail dan riwayat mata kuliah No
Deskripsi Uji
1
Memeriksa hasil dari detail mata kuliah yang dilakukan sebelumnya yang berupa informasi mata kuliah yang lebih detail Memeriksa hasil dari detail mata kuliah yang dilakukan sebelumnya yang berupa daftar riwayat mata kuliah tersebut
2
4.2.
Kondisi Awal Halaman hasil pencarian mata kuliah
Halaman hasil pencarian mata kuliah
Skenario Uji Pengguna meng-klik tombol ‘Detail’
Pengguna meng-klik tombol ‘Detail’
Hasil yang Diharapkan Menampilkan informasi detail mata kuliah
Hasil Uji OK
Tabel menampilkan daftar riwayat mahasiswa dari mata kuliah tersebut dan tidak ada menu aksi yang tersedia
OK
Deskripsi dan hasil uji fungsi modul mahasiswa
4.2.1. Deskripsi dan hasil uji fungsi menu mahasiswa No 1
Deskripsi Uji Menampilkan halaman mata mahasiswa
Kondisi Awal Halaman menu utama
Skenario Uji Pengguna meng-klik menu ‘Mahasiswa’
Hasil yang Diharapkan Masuk ke halaman mahasiswa yang berisi form pencarian mahasiswa
Hasil Uji OK
60
Lanjutan Lampiran 9 4.2.2. Deskripsi dan hasil uji fungsi pencarian mahasiswa No
Deskripsi Uji
1
Pengguna memasuki halaman pencarian mahasiswa dan belum memasukkan parameter apapun Pengguna memasukkan parameter pencarian
2
4.3.
Kondisi Awal Halaman mahasiswa
Halaman mahasiswa
Skenario Uji Pengguna meng-klik tombol ‘Cari’
Pengguna memasukkan parameter pencarian dan meng-klik tombol ‘Cari’
Hasil yang Diharapkan Menampilkan tabel daftar mahasiswa
Hasil Uji OK
Tampilan mahasiswa sesuai dengan parameter pencarian
OK
Deskripsi dan hasil uji fungsi modul KRS
4.3.1. Deskripsi dan hasil uji fungsi menu KRS No 1
Deskripsi Uji Menampilkan halaman KRS
Kondisi Awal Halaman menu utama
Skenario Uji Pengguna meng-klik menu ‘KRS’
Hasil yang Diharapkan Masuk ke halaman KRS yang berisi form pencarian KRS mahasiswa
Hasil Uji OK
4.3.2. Deskripsi dan hasil uji fungsi pencarian KRS No
Deskripsi Uji
1
Pengguna memasuki halaman pencarian data dan belum memasukkan parameter apapun Pengguna memasukkan parameter pencarian
2
Kondisi Awal Halaman KRS
Halaman KRS
Skenario Uji Pengguna meng-klik tombol ‘Cari’
Pengguna memasukkan parameter pencarian dan meng-klik tombol ‘Cari’
Hasil yang Diharapkan Menampilkan tabel seluruh daftar KRS dan menu aksi lihat
Hasil Uji OK
Tampilan KRS sesuai dengan parameter pencarian dan menu aksi lihat
OK
Hasil yang Diharapkan Menampilkan informasi detail KRS dan menu untuk cetak KRS dan transkrip
Hasil Uji OK
Menampilkan informasi detail KRS dan menu untuk cetak KRS dan transkrip
OK
4.3.3. Deskripsi dan hasil uji fungsi melihat detail KRS No
Deskripsi Uji
1
Memeriksa hasil dari lihat detail KRS melalui menu aksi pada tabel daftar KRS
2
Memeriksa hasil dari lihat detail KRS melalui menu aksi pada tabel daftar KRS
Kondisi Awal Halaman hasil pencarian KRS
Halaman hasil pencarian KRS
Skenario Uji Pengguna meng-klik tombol ‘Lihat’ dengan kondisi semester KRS yang ingin dilihat belum dilalui (selesai) Pengguna meng-klik tombol ‘Lihat’ dengan kondisi semester KRS yang ingin dilihat sudah dilalui (selesai)
61
Lanjutan Lampiran 9 4.4.
Deskripsi dan hasil uji fungsi modul upload nilai
4.4.1. Deskripsi dan hasil uji fungsi mengupdate nilai No 1
Deskripsi Uji Melakukan update nilai dengan mengupload file Nilai (Excel) ke server untuk selanjutnya diproses
2
Melakukan pengecekan bahwa nilai sudah masuk ke dalam basis data
3
Memeriksa hasil terhadap update nilai jika akses ke basis data error
4.5.
Kondisi Awal Halaman form upload nilai
Tabel daftar KRS dengan menu aksi Halaman form upload nilai
Skenario Uji Pengguna langsung meng-klik tombol ‘Upload’ tanpa terlebih dahulu memilih file Nilai Pengguna memasukkan file yang tidak valid Pengguna memasukkan file yang valid Pengguna meng-klik tombol ‘Ubah’
Pengguna meng-klik tombol ‘Upload’
Hasil yang Diharapkan Muncul pesan bahwa proses upload gagal
Hasil Uji OK
Muncul pesan bahwa proses upload gagal
OK
Muncul pesan bahwa proses upload sukses
OK
Tabel daftar detail KRS dengan nilai yang baru di-update
OK
Menampilkan pesan bahwa akses ke basis data error dan silahkan menghubungi administrator
OK
Hasil yang Diharapkan Report KRS dalam format PDF sesuai dengan data KRS yang diinput melalui file KRS (Excel) Report KRS menampilkan SKS dari setiap mata kuliah dan jumlahnya
Hasil Uji OK
Deskripsi dan hasil uji fungsi modul report
4.5.1. Deskripsi dan hasil uji fungsi modul report KRS No
Deskripsi Uji
1
Memeriksa hasil report KRS
2
Menampilkan SKS dari setiap mata kuliah dan jumlahnya
Kondisi Awal Tabel daftar detail KRS
Tabel daftar detail KRS
Skenario Uji Pengguna meng-klik tombol ‘Cetak KRS’
Pengguna meng-klik tombol ‘Cetak KRS’
OK
62
Lanjutan Lampiran 9 4.5.2. Deskripsi dan hasil uji fungsi modul report transkrip No
Deskripsi Uji
Kondisi Awal Tabel daftar detail KRS
Pengguna meng-klik tombol ‘Cetak Transkrip’
Skenario Uji
1
Memeriksa hasil report transkrip
2
Memeriksa hasil transkrip jika terdapat mata kuliah yang mengulang dari semester sebelumnya
Tabel daftar detail KRS
Pengguna meng-klik tombol ‘Cetak Transkrip’
3
Memeriksa hasil kumulatif transkrip (IP semester, IP kumulatif, dan status studi)
Tabel daftar detail KRS
Pengguna meng-klik tombol ‘Cetak Transkrip’
Hasil yang Diharapkan Report transkrip dalam format PDF sesuai dengan data nilai yang diinput melalui file Nilai (Excel) Transkrip akan menampilkan nama mata kuliah yang statusnya mengulang dengan menambahkan tanda * pada akhir nama mata kuliah Transkrip memberikan hasil kumulatif sesuai dengan aturan dan formula yang berlaku
Hasil Uji OK
OK
OK
4.5.3. Deskripsi dan hasil uji fungsi modul report absensi mata kuliah No 1
Deskripsi Uji Memeriksa hasil report absensi mata kuliah
Kondisi Awal Halaman form absensi mata kuliah
Skenario Uji Pengguna mengisi form dan meng-klik tombol ‘Cetak’
Hasil yang Diharapkan Report absensi mata kuliah dalam format PDF sesuai dengan form yang di-input sebelumnya
Hasil Uji OK
63
Lanjutan Lampiran 9 4.5.4. Deskripsi dan hasil uji fungsi modul report riwayat nilai mahasiswa
No
Deskripsi Uji
Kondisi Awal
Skenario Uji
Hasil yang Diharapkan
Hasil Uji
1
Memeriksa hasil report riwayat nilai per mahasiswa
Halaman form riwayat nilai mahasiswa
Pengguna mengisi nrp yang ingin dicetak dan mengklik tombol ‘Cetak’
Report riwayat nilai mahasiswa dalam format PDF sesuai dengan nrp yang diinput sebelumnya
OK
2
Memeriksa hasil report riwayat nilai per program studi (seluruh mahasiswa)
Halaman form riwayat nilai mahasiswa
Pengguna memilih program studi dan meng-klik tombol ‘Cetak’
OK
3
Memeriksa hasil report riwayat nilai jika terdapat mata kuliah yang mengulang dari semester sebelumnya
Halaman form riwayat nilai mahasiswa
Pengguna memilih program studi atau input nrp dan mengklik tombol ‘Cetak’
4
Memeriksa hasil kumulatif transkrip (IP semester, IP kumulatif, dan status studi)
Halaman form riwayat nilai mahasiswa
Pengguna mengisi form dan meng-klik tombol ‘Cetak’
Report riwayat nilai mahasiswa per program studi dalam format PDF sesuai dengan program studi yang dipilih sebelumnya Report riwayat nilai mahasiswa akan menampilkan nama mata kuliah yang statusnya mengulang dengan menambahkan tanda * pada akhir nama mata kuliah Report riwayat nilai memberikan hasil kumulatif sesuai dengan aturan dan formula yang berlaku
Hasil yang Diharapkan Report riwayat nilai mahasiswa dalam format PDF sesuai dengan nrp yang diinput sebelumnya Report rekapitulasi nilai akan menampilkan nilai mata kuliah yang sebelumnya dan yang sudah diperbaiki
Hasil Uji OK
OK
OK
4.5.5. Deskripsi dan hasil uji fungsi modul report rekapitulasi nilai No
Deskripsi Uji
1
Memeriksa hasil report rekapitulasi nilai mahasiswa
2
Memeriksa hasil report riwayat nilai jika terdapat mata kuliah yang mengulang dari semester sebelumnya Memeriksa hasil kumulatif transkrip (ip semester, ip kumulatif, dan status studi)
3
Kondisi Awal Halaman form rekapitulasi nilai mahasiswa Halaman form rekapitulasi nilai mahasiswa
Halaman form rekapitulasi nilai mahasiswa
Skenario Uji Pengguna mengisi form dan meng-klik tombol ‘Cetak’
Pengguna mengisi form dan meng-klik tombol ‘Cetak’
Pengguna mengisi form dan meng-klik tombol ‘Cetak’
Report riwayat nilai memberikan hasil kumulatif sesuai dengan aturan dan formula yang berlaku
OK
OK