Penerapan Service Oriented Architecture Menggunakan Web ... · sistem operasi, perangkat keras,...
Transcript of Penerapan Service Oriented Architecture Menggunakan Web ... · sistem operasi, perangkat keras,...
PENERAPAN SERVICE ORIENTED ARCHITECTURE
MENGGUNAKAN WEB SERVICE
PADA SISTEM INFORMASI AKADEMIK
GHOFFAR SETIAWAN
G64103058
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
2007
PENERAPAN SERVICE ORIENTED ARCHITECTURE
MENGGUNAKAN WEB SERVICE
PADA SISTEM INFORMASI AKADEMIK
Skripsi
Sebagai salah satu syarat untuk memperoleh gelar Sarjana Komputer
pada Fakultas Matematika dan Ilmu Pengetahuan Alam
Institut Pertanian Bogor
Oleh:
GHOFFAR SETIAWAN
G64103058
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
2007
ABSTRAK
GHOFFAR SETIAWAN. Penerapan Service Oriented Architecture Menggunakan Web Service
Pada Sistem Informasi Akademik. Dibimbing oleh WISNU ANANTA KUSUMA dan RINDANG
KARYADIN.
Web service merupakan salah satu bentuk implementasi Service Oriented Architecture yang
dapat memberikan banyak keuntungan bagi sebuah organisasi. Sebuah aplikasi berbasis teknologi
Web service dapat menyediakan data maupun fungsi tertentu bagi aplikasi lain meskipun berbeda
sistem operasi, perangkat keras, maupun bahasa pemrograman yang digunakan untuk
membangunnya. Keunggulan web service ini dapat dimanfaatkan untuk memecahkan
permasalahan integrasi sistem informasi dalam suatu organisasi. Institusi pendidikan merupakan
sebuah organisasi yang di dalamnya terdapat beberapa entitas/unit yang memiliki fungsi khusus. Setiap unit dapat memiliki satu atau lebih sistem perangkat lunak yang berbeda-beda. Dalam
menjalankan suatu fungsi tertentu, suatu perangkat lunak bisa jadi memerlukan data atau fungsi
dari unit lain.
Penelitian ini adalah menerapkan konsep Service Oriented Architecture pada pengembangan
sistem informasi akademik sehingga memiliki interoperability lintas platform dan mampu
berkomunikasi dengan unit lain dengan menyediakan service yang dapat diakses oleh aplikasi lain.
Publikasi service dilakukan pada Universal Description Discovery and Integration server yang
menyimpan informasi alamat untuk proses service binding. Strategi tertentu perlu digunakan untuk
mengembalikan data dalam web service tergantung pada data yang dikembalikan. Pembuatan web
service harus memastikan SOAP dapat dibentuk dari objek yang menjadi nilai kembalian bagi web
service client. Pada penelitian ini, penggunaan array suatu tipe data struktur digunakan untuk
mengganti objek yang tidak dapat dikonversi menjadi SOAP.
Kata kunci: Web Service, SOAP, UDDI Server
Judul : Penerapan Service Oriented Architecture Menggunakan Web Service Pada Sistem Informasi Akademik
Nama : Ghoffar Setiawan NRP : G64103058
Menyetujui:
Pembimbing I
Wisnu Ananta Kusuma, ST., MT. NIP 132312485
Pembimbing II
Rindang Karyadin, ST., M.Kom.
NIP 132311915
Mengetahui:
Dekan Fakultas Matematika dan Ilmu Pengetahuan Alam Institut Pertanian Bogor
Prof. Dr. Ir. Yonny Koesmaryono, MS NIP 131473999
Tanggal lulus:
RIWAYAT HIDUP Penulis dilahirkan di Magetan pada tanggal 17 Maret 1986 sebagai anak pertama dari
pasangan Supriyadi dan Sri Sudiyem. Penulis menyelesaikan pendidikan menengah atas di
SMUN 1 Sooko 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 Seleksi Penerimaan Mahasiswa Baru (SPMB). Penulis pernah melaksanakan praktek lapang selama dua bulan di PT. Superintending
Company of Indonesia.
PRAKATA
Alhamdulillahirabbil ‘alamin, puji syukur penulis panjatkan ke hadirat Allah Subhanahu
wata’ala atas segala rahmat dan karunia-Nya sehingga tugas akhir dengan judul Penerapan Service
Oriented Architecture Menggunakan Web Service Pada Sistem Informasi Akademik. Shalawat
dan salam selalu untuk junjungan Nabi Muhammad Shallalahu ‘alaihi wasallam beserta keluarga
dan sahabat.
Penulis menyadari bahwa selesainya penulisan karya ilmiah ini tidak terlepas dari pihak-
pihak yang telah banyak membantu. Oleh karena itu penulis ingin mengucapkan terima kasih
kepada Ayah, Ibu, serta adikku yang selalu mengalirkan do’a, kasih sayang, dan dukungannya
kepada penulis. Bapak Wisnu Ananta Kusuma, ST, MT. selaku pembimbing I, Bapak Rindang
Karyadin, ST, M.Kom. selaku pembimbing II yang telah memberikan bimbingan, wawasan, saran, dan kritik yang membangun bagi penulis selama pengerjaan tugas akhir ini.
Ungkapan terima kasih penulis sampaikan kepada teman seangkatan ilkomerz 40 yang
banyak membantu penulis menyelesaikan karya ilmiah ini baik secara langsung maupun tidak.
Semangat penulis terpompa kembali tatkala mendapat sms motivasi dari Meynar dan Arum.
Bantuan Risha “Mamen” Raditya kepada penulis mendapatkan komponen server dan diskusi
membahas web service turut memperkaya wawasan penulis. Motivasi, inspirasi, dan informasi
juga diperoleh penulis melalui rekan-rekan Sarang Rayap dan Bboys yaitu Nono, Dona,Pis, Pandi,
Mulyadi, Nacha, Gemma, Iqbal,Ryan. Pengujian interoperability dapat dilakukan dengan mudah
berkat web server portable dari Dhanny. Bantuan Nurhadi “Cunning” Susanto memperoleh sistem
operasi versi server, database server, dan konfigurasi jaringan dalam mesin virtual sangat
meringankan beban penulis dalam implementasi sistem. Bantuan Albert, Meynar dan Rachman
SJMP menjelang sidang sangat memperingan penulis dalam menempuh sidang.
Penulis bersyukur memiliki rekan-rekan di Himasurya Plus yang turut memotivasi penulis
sehingga tidak mudah patah semangat menyelesaikan karya ilmiah ini. Kepedulian Sika, Anggi,
Dian, Mada, dan Ratna turut membesarkan hati penulis. Semangat juang penulis raih juga dari adik
kelas SMU asal penulis, Yuki, Doddy, Putri, dan Triyanto.
Sebagaimana manusia yang tidak luput dari kesalahan. Penulis menyadari bahwa karya
ilmiah ini jauh dari sempurna. Penulis berharap semoga tulisan ini dapat bermanfaat khususnya di
bidang software engineering di lingkungan Departemen Ilmu Komputer Institut Pertanian Bogor.
Jazakumullahu khairan katsiira.
Bogor, Agustus 2007
Ghoffar Setiawan
vii
DAFTAR ISI
Halaman
DAFTAR GAMBAR ................................................................................................................viii
DAFTAR LAMPIRAN .............................................................................................................viii
PENDAHULUAN
Latar Belakang ........................................................................................................................ 1 Tujuan .................................................................................................................................... 1 Ruang Lingkup ....................................................................................................................... 1 Manfaat .................................................................................................................................. 1
TINJAUAN PUSTAKA Service Oriented Architecture .................................................................................................. 1 Web Service ............................................................................................................................ 2 Komponen Web Service .......................................................................................................... 2 Protokol Web Service .............................................................................................................. 2 Arsitektur Model Aplikasi Three-Tier ...................................................................................... 3 Linear Sequential Model ......................................................................................................... 3
METODE PENELITIAN Analisis Kebutuhan ................................................................................................................. 4 Perancangan ............................................................................................................................ 4 Implementasi .......................................................................................................................... 4 Pengujian ................................................................................................................................ 4 Lingkungan Implementasi ....................................................................................................... 4
HASIL DAN PEMBAHASAN Analisis kebutuhan .................................................................................................................. 4
Identifikasi Pengguna Sistem .............................................................................................. 4 Kebutuhan Fungsional ........................................................................................................ 4 Pemodelan Kebutuhan Fungsional ...................................................................................... 5 Kebutuhan Antarmuka dan Komunikasi .............................................................................. 7
Perancangan ............................................................................................................................ 7 Arsitektur Model Aplikasi................................................................................................... 7 Perancangan Basis Data ...................................................................................................... 7 Identifikasi Kelas Domain................................................................................................... 9 Identifikasi Kelas Aplikasi dan Interaksinya ...................................................................... 11 Perancangan Arsitektur Fisik ............................................................................................ 11 Perancangan Antarmuka ................................................................................................... 12 Penanganan Kesalahan...................................................................................................... 13
Implementasi ........................................................................................................................ 13 Typed Dataset................................................................................................................... 13 Pembuatan Pustaka Kelas ................................................................................................. 13 Pembuatan Komponen Service .......................................................................................... 13 Penanganan Kegagalan SOAP Serialization oleh Interface ICollection .............................. 13 Publikasi Web Service ....................................................................................................... 14 Pembuatan Lapisan User Interface .................................................................................... 14 Penanganan Kesalahan...................................................................................................... 14 Keunggulan Sistem .......................................................................................................... 14
Pengujian .............................................................................................................................. 15
KESIMPULAN DAN SARAN
Kesimpulan ........................................................................................................................... 15 Saran .................................................................................................................................... 15
DAFTAR PUSTAKA ................................................................................................................ 15
viii
DAFTAR GAMBAR
Halaman
1 Pola SOA. ................................................................................................................................. 2 2 Pemetaan pola SOA dalam web service. .................................................................................... 2 3 Model aplikasi three-tier. .......................................................................................................... 3 4 Metode linear sequential model................................................................................................. 3 5 Diagram use case subsistem manajemen data mahasiswa. .......................................................... 5 6 Diagram use case subsistem manajemen data akademik. ............................................................ 6 7 Diagram use case subsistem manajemen data wisuda. ................................................................ 6 8 Diagram use case subsistem pembayaran SPP. .......................................................................... 7 9 Entity relationship diagram. ...................................................................................................... 9 10 Diagram kelas domain. .......................................................................................................... 10 11 Deployment diagram. ............................................................................................................ 12 12 Perancangan antarmuka operator client . .............................................................................. 13 13 Perancangan halaman web. ................................................................................................... 13 14 Contoh penggunaan try…catch…finally. ............................................................................... 14 15 Pengujian interoperability. .................................................................................................... 15
DAFTAR LAMPIRAN
Halaman
1 Table-oriented steps (TOS) ..................................................................................................... 17 2 Skema tabel ............................................................................................................................ 36 3 Kelas MataKuliah dan turunannya ........................................................................................... 37 4 Kelas SPP dan turunannya....................................................................................................... 37 5 Kelas DokCetak dan turunannya ............................................................................................. 38 6 Kelas Daftar dan turunannya ................................................................................................... 38 7 Kelas DaftarDomain dan turunannya ....................................................................................... 38 8 Kelas DaftarHasilPencarian dan turunannya ............................................................................ 39 9 Kelas Pencari dan turunannya ................................................................................................. 39 10 Sequence diagram ................................................................................................................. 40
1
PENDAHULUAN
Latar Belakang
Service oriented architecture (SOA)
merupakan sebuah konsep arsitektur
perangkat lunak yang mendefinisikan
penggunaan layanan untuk memenuhi
kebutuhan suatu perangkat lunak. Layanan ini
tidak hanya dapat digunakan oleh sistem yang
menaunginya namun dapat digunakan juga
oleh sistem lain yang berbeda, sehingga
integrasi antarsistem dapat dicapai. Dibandingkan dengan arsitektur berorientasi
objek terdistribusi, SOA lebih sesuai untuk
mengintegrasikan sistem yang heterogen dan
lebih mudah beradaptasi dengan perubahan
lingkungan.
Web service merupakan salah satu bentuk
implementasi SOA yang dapat memberikan
banyak keuntungan bagi sebuah organisasi.
Web service menggunakan seperangkat
teknologi standar terbuka yang
memungkinkan sebuah aplikasi dapat berkomunikasi dan menyediakan layanan bagi
aplikasi lain melalui jaringan komputer. Web
service memberikan kemudahan upaya
integrasi antarsistem dengan latar belakang
teknologi yang heterogen. Sebuah aplikasi
berbasis teknologi Web service dapat
menyediakan data maupun fungsi tertentu
bagi aplikasi lain meskipun berbeda sistem
operasi, perangkat keras, maupun bahasa
pemrograman yang digunakan untuk
membangunnya.
Keunggulan web service ini dapat
dimanfaatkan untuk memecahkan
permasalahan integrasi sistem informasi
dalam suatu organisasi, misalnya institusi
pendidikan tinggi. Institusi pendidikan
merupakan sebuah organisasi yang di
dalamnya terdapat beberapa entitas/unit yang
memiliki fungsi khusus. Setiap unit dapat
memiliki satu atau lebih sistem perangkat
lunak yang berbeda-beda. Dalam menjalankan
suatu fungsi tertentu, suatu perangkat lunak
bisa jadi memerlukan data atau fungsi dari unit lain. Sebagai contoh untuk menjalankan
salah satu proses bisnis atau layanan yang
dimiliki oleh unit administrasi akademik, yaitu
pengelolaan wisuda, diperlukan data bebas
pustaka dari perpustakaan dan bebas SPP dari
bank. Tanpa SOA, data ini diperoleh secara
manual sehingga menjadi tidak efisien.
Dengan adanya web service, data dari
perpustakaan dan bank dapat diperoleh
dengan mudah.
Penelitian ini menerapkan service oriented
architecture menggunakan Web service pada
pengembangan sistem informasi akademik.
Sistem ini memiliki fungsi utama mengelola
data mahasiswa dan akademik. Penerapan
SOA memungkinkan sistem informasi
akademik dapat diintegrasikan dengan sistem
di perpustakaan dan bank untuk
menyelesaikan proses bisnis tertentu.
Tujuan
Tujuan penelitian ini adalah menerapkan konsep SOA pada pengembangan sistem
informasi akademik sehingga memiliki
interoperability lintas platform dan mampu
berkomunikasi dengan unit lain dengan
menyediakan service yang dapat diakses oleh
aplikasi lain.
Ruang Lingkup
Ruang lingkup penelitian ini adalah:
1 Sistem informasi akademik mengelola
data terbatas pada mahasiswa dan yang
terkait langsung dengan perkuliahan.
2 Uji interoperability dengan sistem
eksternal dilakukan dengan
mengembangkan sistem yang dapat
mengkonsumsi service dengan
lingkungan pengembangan yang
berbeda, tidak dengan memanfaatkan
sistem yang ada pada entitas/unit yang
bersangkutan.
Manfaat
Sistem yang dikembangkan dalam
penelitian ini diharapkan memberikan gambaran pengembangan sistem informasi
akademik di lingkungan institusi pendidikan.
Penggunaan web service memungkinkan
sistem mampu menyediakan service bagi
sistem lain. Penyediaan service dapat
meningkatan efisiensi pengembangan sistem
dalam lingkungan yang heterogen yaitu multi
entitas dan multi platform. Sistem ini bersifat
interoperability lintas platform sehingga
memudahkan proses integrasi sistem secara
keseluruhan.
TINJAUAN PUSTAKA
Service Oriented Architecture
Service oriented architecture atau SOA
didefinisikan sebagai kebijakan, praktek,
kerangka kerja yang memungkinkan
fungsionalitas aplikasi disediakan dan
dikonsumsi sebagai seperangkat service pada
sebuah unit yang sesuai dengan kebutuhan
2
service customer. Service dapat digunakan,
dipulikasikan, ditemukan, dan diabstraksikan
menggunakan standar antarmuka (Sprott &
Wilkes 2004).
SOA menggambarkan pola yang
membantu sebuah aplikasi client terhubung
pada sebuah service. Pola tersebut menyajikan
mekanisme yang digunakan untuk
menggambarkan sebuah service,
mempublikasikan dan menemukan service,
dan berkomunikasi dengan service. Pola tersebut digambarkan pada Gambar 1 (Manes
2003).
Service
Broker
Service
Provider
Service
Service
Consumer
Client
Service
Contract
Find Register
Bind
Gambar 1 Pola SOA.
Web Service
Sebuah web service adalah sebuah sistem
perangkat lunak yang didesain untuk
mendukung interaksi machine-to-machine
yang dapat beroperasi melalui suatu jaringan.
Web service memiliki sebuah antarmuka yang
digambarkan dalam sebuah format yang dapat
diproses mesin (khususnya WSDL). Sistem lain berinteraksi dengan Web service dengan
cara yang ditentukan oleh deskripsi Web
service. Deskripsi ini menggunakan pesan
SOAP yang disampaikan menggunakan HTTP
dengan sebuah serialisasi XML yang dengan
berhubungan standar web lain yang. (W3C
2004)
Komponen Web Service
Komponen utama arsitektur web service
adalah service provider, service registry, dan
service requester. Sebuah service adalah
sebuah aplikasi yang tersedia untuk digunakan
oleh requester yang sesuai prasyarat awal
yang ditetapkan oleh service provider. Web
service dapat disusun dengan berbagai service
lain menjadi service atau aplikasi baru.
Berbagai service disebar pada suatu tempat pada web oleh service provider. Sebuah
service tertentu yang disebut registry
menyediakan dukungan untuk
mempublikasikan dan menemukan service.
Registry merupakan sebuah tempat
penyimpanan deskripsi service yang dapat
dicari dimana service provider
mempublikasikan service-nya. Sebuah bahasa
deskripsi digunakan untuk mendeskripsikan
web service. Fungsionalitas dan kebijakan
akses dicatat dan diterbitkan dengan sebuah
registry. Berbagai service digunakan melalui
sebuah jaringan dengan menggunakan
informasi yang disimpan dalam deskripsi
service (Menasce & Almeida 2002).
Web service bersandar pada pola SOA.
Pemetaan pola SOA dalam web service
beserta komponennya dapat dilihat pada
Gambar 2 (Manes 2003).
UDDI
Service
Provider
Service
Service
Consumer
Client
WSDL
Find Register
Bind
(SOAP)
Gambar 2 Pemetaan pola SOA dalam web service.
Protokol Web Service
Web service berdasarkan pada sekumpulan
protokol kunci. Protokol-protokol ini
merupakan blok bangunan web service
platform. Protokol utama adalah (Turban et all 2005):
XML
Extensible Markup Language membuat
web service lebih mudah bertukar data
antaraplikasi yang bervariasi dan untuk
mengesahkan dan menerjemahkan data
tersebut. Sebuah dokumen XML
menggambarkan sebuah web service dan
memasukkan detil informasi bagaimana
web service dapat dijalankan.
SOAP
Simple Object Access Protocol adalah
seperangkat aturan yang memfasilitasi
XML untuk melakukan pertukaran data
antaraplikasi jaringan. SOAP
mendefinisikan sebuah standar umum
yang mengijinkan berbagai web service
yang berbeda untuk saling beroperasi.
SOAP merupakan spesifikasi platform
independent yang mendefinisikan
3
bagaimana pesan dapat dikirimkan di
antara dua sistem perangkat lunak
melalui penggunaan XML. Pesan
tersebut khususnya mengikuti pola
request/response.
WSDL
Web Service Description Language
digunakan untuk menciptakan dokumen
XML yang menggambarkan tugas yang
dilakukan oleh web service. WSDL mendefinisikan antarmuka yang dari web
service.
UDDI
Universal Description Discovery and
Integration memungkinkan untuk
pembuatan direktori publik atau privat.
Direktori web service ini dapat dicari.
UDDI merupakan registry dari deskripsi
web service.
Protokol Keamanan
Standar keamanan yang masih dalam
tahap pengembangan adalah Security Assertion Markup Language (SAML) .
Standar ini digunakan untuk autentikasi
dan otorisasi. Standar keamanan lainnya
adalah XML Signature, XML
Encryption, XKMS, dan XACML.
Arsitektur Model Aplikasi Three-Tier
Berbicara mengenai suatu aplikasi, ada
beberapa komponen yang terlibat di
dalamnya, yaitu user interface, business
service, dan data provider. Lapisan user
interface merupakan bagian aplikasi yang
berinteraksi dengan user. Lapisan ini
menampilkan semua data yang diperlukan
dengan menggunakan objek-objek window.
Lapisan ini menerima masukan dan
modifikasi user terhadap data dengan
menggunakan objek-objek window. Lapisan business service mengendalikan semua data
yang diakses dan meng-update data yang ada
dalam basis data. Lapisan ini biasanya dapat
digunakan oleh modul-modul lain dalam
aplikasi. Lapisan data provider bertanggung
jawab menyimpan data dan menyediakan data
yang akan diberikan ke lapisan user interface.
Arsitektur model aplikasi three-tier
memisahkan lapisan user interface, business
service, dan data provider dalam bagian yang
berbeda sebagaimana terlihat pada Gambar 3 (Hadiwinata 2003).
User
interface
Business
service
Data
provider
Gambar 3 Model aplikasi three-tier.
Linear Sequential Model
Pada metode Linear Sequential Model,
proses pengembangan sistem dibagi menjadi 4
tahap utama, yaitu tahap analisis, tahap
perancangan, tahap implementasi dan tahap
pengujian. Antara tahap yang satu dengan
tahap yang lain saling berhubungan. Pada saat
berada pada suatu tahap, dapat melanjutkan ke
tahap selanjutnya apabila tahap tersebut
dianggap selesai atau kembali ke tahap sebelumnya jika terdapat perubahan atau
penambahan proses baru. Tahapan metode
Linear Sequential Model dapat dilihat pada
Gambar 4 (Pressman 2001).
analysis testcodedesign
Gambar 4 Metode linear sequential model.
Tahap Analisis
Kegiatan pada tahap analisis adalah
melakukan analisis untuk menentukan kebutuhan (reqiurement) dalam proses
pengembangan sistem. Setelah diperoleh
kebutuhan dalam pembangunan suatu
sistem aplikasi, kemudian disusun
diagram konteks. Hasil dari tahap ini
adalah deskripsi umum sistem, analisis
kebutuhan, dan diagram konteks.
Tahap Perancangan
Kegiatan pada tahap perancangan adalah
menerjemahkan kebutuhan-kebutuhan
yang didefinisikan dalam tahapan analisis ke dalam bentuk model presentasi sistem
aplikasi. Pada tahap ini dirancang
arsitektur perangkat lunak, antarmuka,
input, proses dan output dalam
menggunakan aplikasi.
Tahap Implementasi
Kegiatan pada tahap implementasi adalah
mengimplementasikan rancangan yang
telah disusun pada tahap perancangan
menjadi instruksi-instruksi program.
Dalam tahap implementasi, antarmuka dibuat agar dapat dimengerti untuk
memudahkan pengguna dalam
menggunakan sistem ini.
4
Tahap Pengujian
Hasil implementasi kemudian diuji dan
dievaluasi, selanjutnya pengujian
dibandingkan dengan hasil uji yang
diharapkan. Apabila tidak sesuai dengan
yang diharapkan akan dilakukan
perbaikan kemudian diuji kembali,
sampai memenuhi hasil yang diharapkan.
METODE PENELITIAN
Pengembangan sistem informasi akademik akan menerapkan SOA dengan
metode pengembangan linear sequential
model.
Analisis Kebutuhan
Tahap ini dilakukan untuk
mengidentifikasi kebutuhan sistem yang akan dikembangkan dan tipe pengguna sistem.
Kebutuhan meliputi kebutuhan fungsional dan
kebutuhan non fungsional. Kebutuhan
fungsional dimodelkan dengan pembuatan
diagram use case dan instrumen lain untuk
memudahkan pemahaman dalam tahap
selanjutnya. Kebutuhan sistem dipengaruhi
oleh tipe pengguna sistem.
Perancangan
Aktivitas dalam tahap perancangan
meliputi perancangan basis data yang
diwujudkan dengan pembuatan Entity Relationship Diagram (ERD). Pembuatan
diagram Unified Modelling Language (UML)
untuk pemodelan objek dalam sistem baik
objek yang berfungsi sebagai penyedia service
maupun eksekutor proses bisnis, serta
pemodelan arsitektur sistem.
Implementasi
Tahap ini dilakukan untuk menransformasi
model pada tahap perancangan menjadi kode-
kode yang bisa dieksekusi komputer untuk
setiap tier sistem. Untuk data provider, wujud implementasinya adalah kueri berbasis
pemrograman yang dapat dieksekusi oleh
DBMS. Untuk Business service, wujud
implementasinya adalah kumpulan kelas yang
saling bekerjasama untuk mencapai tujuan
tertentu. Kumpulan kelas tersebut digunakan
untuk pembuatan service. Untuk user
interface wujud implementasinya adalah
antarmuka yang berinteraksi langsung dengan
pengguna serta meminta service. Berbagai
service yang dihasilkan dipublikasikan ke server UDDI.
Pengujian
Tahap ini dilakukan dengan memeriksa
apakah semua service telah memenuhi
spesifikasi kebutuhan yang telah ditentukan
melalui antarmuka yang telah dibuat. Jika
sudah tidak ditemukan kesalahan pada seluruh
service, suatu perangkat lunak akan dibuat
untuk uji interoperability. Perangkat lunak ini
dibuat dengan lingkungan pengembangan
yang berbeda dan mampu mengonsumsi
service yang telah dibuat.
Lingkungan Implementasi
Lingkungan implementasi yang digunakan
adalah sebagai berikut:
Perangkat lunak: Microsoft Windows
Server 2003 SP 2, IIS Versi 6, Microsoft
SQL Server 2005, Microsoft Visual
Studio 2005, Microsoft Office Visio
2003, Crystal report 11, VMWare
Workstation 4.5.2, Microsoft Windows
XP SP2, WOS Portable 2 (PHP 5.1.6,
Apache 2, Mysql 5), Zend Studio 5, Mozilla Firefox 2.
Perangkat keras: Prosesor Intel Pentium
IV 2.8 GHz, RAM 1430 MB, harddisk 80
GB, keyboard, mouse, dan monitor.
HASIL DAN PEMBAHASAN
Analisis kebutuhan
Tahap analisis kebutuhan meliputi
identifikasi pengguna, membuat daftar
kebutuhan fungsional serta pemodelannya,
dan mengidentifikasi kebutuhan non
fungsional.
Identifikasi Pengguna Sistem
Pengguna sistem dikategorikan menjadi
tiga, yaitu mahasiswa, pegawai staf akademik
departemen, dan staf kantor Administrasi dan
Jaminan Mutu Pendidikan (AJMP). Setiap
kategori pengguna memiliki hak akses yang
berbeda terhadap fitur sistem. Setiap
pengguna sistem memiliki identitas pengenal
dan password yang unik dan disimpan dalam
basis data. Identitas pengenal dan password
digunakan tatkala akan memasuki sistem.
Kebutuhan Fungsional
Sistem yang dikembangkan harus mampu
melakukan operasi terhadap data dalam basis
data. Operasi meliputi penambahan,
penghapusan, pengubahan dan pencarian yang
biasa disingkat CRUD (Create, Read, Update,
Delete). Data yang dikelola meliputi data
5
model kurikulum mayor-minor dan passing
out.
Untuk memudahkan proses administrasi,
sistem harus mampu membangkitkan
dokumen yang siap dicetak. Dokumen
memiliki format tetap namun isinya berbeda
sesuai parameter masukan dalam operasi serta
data yang dilibatkan.
Jika terdapat operasi yang menyebabkan
perubahan data dalam basis data, sistem harus
mencatat informasi yang bersangkutan dengan operasi tersebut dalam sebuah log file.
Kebutuhan fungsional sistem
selengkapnya adalah:
1 Menyimpan data KRS
2 Mengubah data KRS
3 Mencari data KRS
4 Menyimpan data mata kuliah
5 Mengubah data mata kuliah
6 Menghapus data mata kuliah
7 Mencari data mata kuliah
8 Mengelola data tugas akhir 9 Mencetak transkrip
10 Mencetak daftar kuliah
11 Mencetak KRS
12 Menyimpan data mahasiswa
13 Mengubah data mahasiswa
14 Menghapus data mahasiswa
15 Mencari data mahasiswa
16 Memeriksa kelengkapan syarat wisuda
17 Mengelola data SPP
18 Membaca data pembayaran SPP
19 Mencatat history/log sistem
20 Memeriksa validitas operator
21 Memeriksa validitas mahasiswa
Pemodelan Kebutuhan Fungsional
Pemodelan dilakukan untuk memudahkan
pemahaman dan mengomunikasikan tujuan
suatu kebutuhan serta pihak-pihak yang
terlibat. Pemodelan dilakukan dengan
pembuatan diagram use case yang
menggambarkan aktor beserta use case dalam
sistem. Aktor ialah segala sesuatu yang
berinteraksi secara langsung dengan sistem, baik manusia maupun non manusia. Dalam
penelitian ini, aktor meliputi mahasiswa, staf
administrasi akademik departemen, staf kantor
AJMP, sistem pengelolaan pembayaran SPP
di bank, dan sistem pencatatan peminjaman
dan pengembalian buku di perpustakaan.
Aktor manusia digambarkan sebagai garis-
garis dan lingkaran sedangkan aktor non
manusia digambarkan dengan kotak dengan
stereotype aktor.
Pemodelan sistem dibagi menjadi empat subsistem berdasarkan data yang dikelola.
Keempat subsistem tersebut adalah subsistem
manajemen data akademik, subsistem
manajemen data mahasiswa, subsistem
manajemen data wisuda, dan subsistem
manajemen data SPP. Pembagian sistem ke
dalam empat subsistem juga dapat
mempermudah pembacaan diagram use case.
Diagram Use case disajikan pada Gambar 5
hingga Gambar 8.
<<system>>
Sistem Informasi Kemahasiswaan
Operator pegawai AJMP
Staff administrasi
akademik
departemen
<<SubSystem>>
Manajemen Data
Mahasiswa
memeriksa
validitas operator
menyimpan data
mahasiswa
mengubah data
mahasiswa
menghapus data
mahasiswa
mencari data
mahasiswa
mencatat
history/log sistem
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<include>>
<<Include>>
<<include>>
Gambar 5 Diagram use case subsistem manajemen data mahasiswa.
6
<<system>>
Sistem Informasi Kemahasiswaan
Operator pegawai AJMP
Staff administrasi
akademik
departemen
mencetak transkrip
nilai mahasiswa
mencetak daftar
kuliah
mencetak KRS
<<SubSystem>>
Manajemen Data
Akademik
mahasiswa
menyimpan data KRS
memeriksa
validitas mahasiswa
memeriksa
validitas operator
menyimpan data
mata kuliah
mengubah data mata
kuliah
menghapus data
mata kuliah
mencari data mata
kuliah
mencatat
history/log sistem
mengubah data KRS
mencari data KRS
Mengelola data
tugas akhir
Gambar 6 Diagram use case subsistem manajemen data akademik.
<<system>>
Sistem Informasi Kemahasiswaan
Operator pegawai AJMP<<aktor>>
Sistem pencatatan
peminjaman/
pengembalian buku
perpustakaan
<<aktor>>
Sistem manajemen
Transaksi keuangan
bank
<<SubSystem>>
Manajemen Data Wisuda
memeriksa
kelengkapan syarat wisuda
memeriksa
validitas operator<<include>>
Gambar 7 Diagram use case subsistem manajemen data wisuda.
7
<<system>>
Sistem Informasi Kemahasiswaan
Operator pegawai AJMP
<<aktor>>
Sistem manajemen
Transaksi keuangan
bank
<<SubSystem>>
Pembayaran SPP
memeriksa
validitas operator
membaca data
pembayaran SPP
mencatat
history/log sistem
Mengelola data SPP <<include>>
<<include>>
Gambar 8 Diagram use case subsistem pembayaran SPP.
Setiap Use case memiliki skenario utama
dan beberapa skenario alternatif. Diagram Use case tidak mendeskripsikan secara jelas jalur
skenario, jadi diperlukan instrumen tersendiri
untuk menjelaskannya. Untuk
mendeskripsikan jalur skenario setiap Use
case digunakan table-oriented steps yang
terdapat pada Lampiran 1.
Kebutuhan Antarmuka dan Komunikasi
Sistem memerlukan antamuka berbasis
web yang bisa diakses melalui web browser
dan antarmuka operator client yang diakses
melalui komputer khususnya yang terhubung dalam intranet. Sistem melibatkan lebih dari
satu komputer yang saling terhubung melalui
jaringan baik intranet maupun internet.
Komunikasi antarkomputer dilakukan dengan
protokol TCP/IP yang mampu melewatkan
data berbasis teks.
Perancangan
Penerapan SOA pada sistem
memungkinkan sistem menyediakan fungsi
yang dapat dipakai oleh sistem lain. Fungsi
sistem harus mengakses basis data dan
mengakomodasi proses bisnis tertentu. Dengan demikian sistem melibatkan banyak
pengguna dan melibatkan jaringan komputer.
Antarmuka sistem melibatkan antarmuka
berbasis web untuk diakses melalui internet
dan operator client untuk lingkungan intranet.
Arsitektur Model Aplikasi
Sistem dibagi menjadi tiga lapisan, yaitu
user interface, business service dan data
provider. Lapisan User interface berinteraksi
langsung dengan pengguna yaitu mahasiswa,
staf administrasi akademik departemen, dan staf kantor AJMP. Pengguna memberikan
masukan, menerima data dan
memodifikasinya melalui lapisan ini. Wujud nyata lapisan user interface adalah halaman
web dan antarmuka operator client. Lapisan
business service menyediakan service bagi
lapisan user interface dan mengolah data yang
diambil dari lapisan data provider. Lapisan
business service terdiri atas kumpulan
komponen yang mengeksekusi fungsi tertentu
dan menghasilkan dokumen WSDL yang
mendeskripsikan service. Lapisan data
provider melibatkan DBMS untuk
memanipulasi, menyimpan, dan menyediakan data. Ketiga proses tersebut menggunakan
Stored procedure dan berbagai kelas.
Perancangan Basis Data
Entitas yang diperlukan adalah pengguna
sistem, pegawai, fakultas, departemen,
mahasiswa, mata kuliah, KRS, SPP, dosen,
tugas akhir. Entitas Mahasiswa memiliki
atribut agama dan jalur masuk yang nilainya
spesifik. Karena agama dan jalur masuk hanya
memiliki beberapa kemungkinan dan masing-
masing kemungkinan dapat memiliki atribut
tambahan yang spesifik, maka agama dan jalur masuk dijadikan entitas. Data mata
kuliah yang terlibat dalam sistem meliputi
mata kuliah mayor-minor dan passing out.
Mata kuliah mayor-minor memiliki atribut
yang berbeda dengan mata kuliah passing out,
sehingga muncul entitas mata kuliah mayor-
minor dan mata kuliah passing out. SPP yang
dikelola juga memilki tipe mayor-minor dan
passing out. Atribut SPP mayor-minor lebih
banyak daripada SPP passing out sehingga
muncul entitas SPP mayor-minor.
Seorang mahasiswa dapat mengambil
banyak mata kuliah dan satu mata kuliah
8
dapat diambil banyak mahasiswa, sehingga
keterhubungan “mengambil” antar mahasiswa
dan mata kuliah adalah N:N. Keterhubungan
antara mahasiswa dan mata kuliah merupakan
konsekuensi dari keterhubungan menentukan
antara mahasiswa dan KRS, sehingga
keterhubungan antara mahasiswa dan mata
kuliah merupakan realisasi penentuan KRS
dengan bentuk nyata adalah kuliah. Dengan
demikian keterhubungan antara mahasiswa
dan mata kuliah lebih tepat memiliki nama “kuliah”. Entitas tugas akhir dan dosen juga
memiliki keterhubungan N:N. Seorang dosen
dapat membimbing banyak tugas akhir dan
satu tugas akhir dapat dibimbing oleh dua atau
lebih dosen. Nama keterhubungan adalah
“bimbingan tugas akhir”.
Mahasiswa dan pegawai bisa menjadi
pengguna sistem. Setiap mahasiswa dan
pegawai memiliki identitas yang unik
sehingga entitas mahasiswa dan pegawai
memiliki keterhubungan 1:1 dengan entitas pengguna sistem dengan nama keterhubungan
“menjadi”. Mahasiswa memiliki 1 agama dan
diterima di universitas melalui satu jalur
penerimaan, sehingga entitas mahasiswa
memiliki keterhubungan 1:1 dengan entitas
agama dengan nama keterhubungan
“menganut” dan memiliki keterhubungan 1:1
dengan entitas jalur masuk dengan nama
keterhubungan “melalui”. Satu mahasiswa
diwajibkan menyelesaikan satu tugas akhir,
sehingga entitas mahasiswa memiliki keterhubungan 1:1 dengan entitas tugas akhir
dengan nama keterhubungan
“menyelesaikan”. Setiap KRS dapat disahkan
jika SPP telah dibayar, sehingga entitas KRS
memiliki keterhubungan 1:1 dengan entitas
SPP dengan nama keterhubungan
“membiayai”.
Satu mata kuliah mata passing out bisa
menjadi syarat bagi mata kuliah passing out
lainnya, dengan demikian entitas mata kuliah
memiliki keterhubungan 1:N dengan dirinya
sendiri dengn nama keterhubungan
“mensyaratkan”. Hal ini terjadi juga pada
entitas mata kuliah mayor minor. Satu fakultas
terdiri atas beberapa departemen dan satu
departemen hanya terdapat pada satu fakultas,
sehingga entitas fakultas memiliki
keterhubungan 1:N dengan entitas departemen
dengan nama keterhubungan “membawahi”.
Seorang mahasiswa hanya dapat memilih satu departemen dan satu departemen memiliki
banyak mahasiswa, sehingga entitas
mahasiswa memiliki keterhubungan 1:N
dengan entitas departemen dengan nama
keterhubungan “memilih”. Seorang
mahasiswa wajib membayar SPP setiap
semester dan satu SPP dibayar atas nama
hanya satu mahasiswa, dengan demikian
entitas mahasiswa memiliki keterhubungan
1:N dengan entitas SPP dengan nama
keterhubungan “membayar”. Seorang mahasiswa wajib menentukan KRS pada
setiap semester dan satu KRS hanya berlaku
untuk satu mahasiswa, sehingga entitas
mahasiswa memiliki keterhubungan 1:N
dengan KRS dengan nama keterhubungan
“menentukan”. Seorang dosen dapat
mengesahkan banyak KRS pada setiap
semester dan satu KRS hanya dapat disahkan
oleh satu dosen, sehingga entitas dosen
memiliki keterhubungan 1:N dengan KRS
dengan nama keterhubungan “menandatangani”.
Entitas memiliki lebih dari satu atribut.
Satu atau lebih atribut pada setiap entitas
menjadi primary key. Entitas dan primaty key
dimodelkan dengan ERD pada Gambar 9
sedangkan atribut entitas secara lengkap
terdapat Lampiran 2.
9
Memilih
MahasiswaNim
KRS
MataKuliah
DepartemenFakultas
Dosen
SPP
TugasAkhir
JalurMasukIPB
SPPMayorMinor
Nip NamaDosen
KodeJalurMasukKodeFak KodeDept
KodeMK
KodeKRS
KodeTA
KodeKRSNim
KodeKRSNim
Membawahi
N
1
N1
Agama
KodeAgamaMenganut
N
1
Melalui
N
1
Menyelesaikan
1
1
Membayar
1N
Menentukan
1
N
Menandatangani
N
1
Membimbing
NN KodeTA
Nip
Membiayai1
1
Bertipe
1
1
MengikutiN N
KodeMKNim
Merealisasikan
N
1
PenggunaSistem
Menjadi
ID
1
1
Pegawai
KodePeg
1
Menjadi
1
KodeKRS
Mensyaratkan
1 N
MataKuliahPO
Mensyaratkan
1 N
MataKuliahMami
KodeMK
Bertipe
1
1
Bertipe
1
1
Wisuda
KodeSKL
Nim
Mengikuti
1
1
Gambar 9 Entity relationship diagram.
Identifikasi Kelas Domain
Kelas domain merupakan kelas stabil yang dapat digunakan kembali berdasarkan dunia
nyata dan merepresentasikan domain bisnis
tertentu. Kelas domain pada sistem informasi
akademik yaitu mata kuliah, SPP, mahasiswa,
dokumen cetak, tugas akhir, KRS, dan syarat
wisuda. Kelas domain digunakan pada lapisan
business service untuk melakukan fungsi
tertentu.
Selain kelas domain tersebut, diperlukan
kelas pendukung yang mendukung
terpenuhinya kebutuhan fungsional. Adanya
kebutuhan fungsional mencatat log operasi
yang mengubah data menyebabkan perlunya kelas pengguna, log dan penulis log. Sistem
harus mampu melakukan operasi pencarian
data yang setiap hasil yang ditemukan
diwujudkan dalam kelas domain. Operasi
tersebut dilakukan oleh kelas pencari. Setiap
kelas domain hasil pencarian dikumpulkan
pada suatu kelas tertentu. Kelas yang
menampung kelas domain ialah kelas daftar
yang merupakan kelas abstrak turunan kelas
CollectionBase dalam .Net Framework.
Seluruh kelas domain dimodelkan dalam
kelas diagram pada Gambar 10.
10
+New()
+Mencetak()
+Pemohon[1] : Mahasiswa
+Pencetak[1] : Pengguna
+TanggalCetak[1] : Date
+WaktuCetak[1] : Date
+TahunAkademik[1] : String = 1000/1001
+Semester[1] : JenisSemester = ganjil
+TingkatStudi[1] : JenisTingkatStudi = TPB
+KodeTempatStudi[1] : String
+SudahTercetak[1] : Boolean
DokCetak
+New()
+KapanDiselenggarakan() : String
+IdentifikasiDepartemen() : String
+SimpanMataKuliah()
+UbahMataKuliah()
+HapusMataKuliah()
+Kode[1] : String
+Nama[1] : String
+JumlahSKS[1] : Byte
+SKSKuliah[1] : Byte
+SKSPraktikum[1] : Byte
+KodeMataKuliahSyarat[1] : String
+Deskripsi[1] : String
MataKuliah
+New()
+MemeriksaSyaratBebabStudiTerpenuhi(in CalonWisudawan : Mahasiswa) : Boolean
+YangHarusMemenuhi[1] : Mahasiswa
+SyaratBebanStudiTerpenuhi[1] : Boolean
+SyaratSemuaSudahLunas[1] : Boolean
+SyaratSudahBebasPustaka[1] : Boolean
SyaratWisuda
+New()
-Operasi[1] : JenisOperasi
-TargetOperasi[1] : String
-WaktuOperasi[1] : Date
-PemakaiSistem[1] : Pengguna
Log
+Tulis(in Log : Log)
+TentukanPosisiFile(in Posisi : String)
+Posisi[1] : String
PenulisLog
+New()
+DapatkanDaftarPilihanMataKuliah(in KodeKRS : String) : DaftarPilihanMataKuliah
+HitungJumlahSKS(in MataKuliahYangDiambil : DaftarPilihanMataKuliah) : Byte
+SimpanKRS()
+UbahKRS()
+HapusKRS()
+KodeKRS[1] : String
+TahunAkademik[1] : String = 1000/1001
-SemesterKe[1] : JenisSemester
+JumlahSKS[1] : Byte
+JumlahSKSKumulatif[1] : Byte
+NIPDosen[1] : String
+NamaDosen[1] : String
+Pengambil[1] : Mahasiswa
+MataKuliahYangDiambil[1] : DaftarPilihanMataKuliah
KRS
+New()
+SimpanTugasAkhir()
+UbahTugasAkhir()
+HapusTugasAkhir()
+Kode[1] : String
+Judul[1] : String
+Peneliti[1] : Mahasiswa
+NamaPembimbing[1..*] : String
+NrpPembimbing[1..*] : String
TugasAkhir
+New()
+SimpanMahasiswa()
+UbahMahasiswa()
+HapusMahasiswa()
+DapatkanNamaDepartemen() : String
+DapatkanKodeFakultas() : String
+DapatkanNamaFakultas() : String
+Nim[1] : String
+Nama[1] : String
+TanggalLahir[1] : Date
+AsalSMU[1] : String
+Kelamin[1] : JenisKelamin
+Agama[1] : Agama
+AlamatAsal[1] : String
+AlamatLokal[1] : String
+TahunMasuk[1] : Integer
+StatusStudi[1] : StatusStudi
+StatusPernikahan[1] : StatusPernikahan
+JalurMasukIPB[1] : JalusMasukIPB
+KotaAsal[1] : String
+KodeDepartemen[1] : String
Mahasiswa
+New()
-Username[1] : String
-Level[1] : LevelPengguna
-Bagian[1] : String
-AlamatIP[1] : String
-Antarmuka[1] : JenisAntarmuka
-WaktuLogin[1] : Date
Pengguna
1
1 memohon4
1
1
1
1
mencari info
1
1
mengelola
1
1
memenuhi
1
1
mencatat
1
1
mencatat
11
menulis
11
mengelola
1
1
mengambil
1
1
mengelola
1
1
menyelesaikan
1
1
mengelola
1
1
melunasi
+New()
+CariBerdasarkan(in KriteriaPencarian : String, in YangDicari : String) : DaftarHasilPencarian
+ParameterPencarian[1] : String
+KriteriaPencarian[1] : String
Pencari
+New()
+TambahItem()
+ItemSelanjutnya()
+ItemSebelumnya()
+HapusItem()
+HitungJumlahItem() : Integer
+Item[1] : String
Daftar
1
1
memakai1
1
1
1
memeriksa
1
1
memeriksa
+New()
+HitungTotalBiayaSPP() : Integer
+UbahDataSPP()
+SimpanDataSPP()
+HapusDataSPP()
+Pembayar[1] : Mahasiswa
+UntukPembayaran[1] : KRS
+BatasWaktuPembayaran[1] : Date
+TanggalPembayaran[1] : Date
+NilaiPembayaran[1] : Integer
+SudahLunas[1] : Boolean
+TotalBiayaSPP[1] : Integer
+Keterangan[1] : String
+BPMK[1] : Integer
+BPMP[1] : Integer
+BPIF[1] : Integer
+Status[1] : StatusSPP
SPP
Gambar 10 Diagram kelas domain.
Kelas domain mata kuliah memiliki dua
turun yaitu kelas mata kuliah passing out dan
mata kuliah mayor-minor. Hal ini karena
sistem melibatkan data mata kuliah passing
out dan mata kuliah mayor minor yang
memiliki atribut dan fungsi yang berbeda.
Dengan alasan yang sama, kelas domain SPP juga memiliki dua turunan yaitu kelas SPP
passing out dan kelas SPP mayor minor.
Pemodelan kelas domain mata kuliah pada
Lampiran 3 sedangkan kelas domain SPP
pada Lampiran 4.
Kelas domain dokumen cetak merupakan
kelas abstrak. Kelas ini memiliki turunan yang
menyediakan informasi yang akan dicetak.
Kebutuhan fungsional sistem di antaranya
ialah mencetak KRS, daftar kuliah, dan
transkrip nilai. Berbagai kelas yang digunakan
untuk memenuhi kebutuhan fungsional tersebut adalah kelas turunan kelas domain
dokumen cetak yang dimodelkan dengan
diagram pada Lampiran 5.
Kelas daftar memiliki dua turunan.
Pertama ialah kelas daftar domain yang
11
berfungsi untuk mengumpulkan kelas domain
dan kedua ialah kelas daftar hasil pencarian
yang berfungsi mengumpulkan berbagai kelas
yang terbentuk dari hasil pencarian. Kelas
daftar beserta kedua turunannya dimodelkan
pada Lampiran 6.
Kelas daftar domain dan kelas daftar hasil
pencarian diturunkan lagi sesuai untuk
memenuhi kebutuhan fungsional. Sebagai
contoh, kebutuhan fungsional mencetak
transkrip nilai memerlukan kelas yang memiliki properti yang bertipe nilai
mahasiswa. Kelas ini adalah kelas daftar nilai
yang merupakan turunan dari kelas daftar
domain. Kelas daftar domain beserta
turunannya dimodelkan dalam Lampiran 7.
Contoh lainnya, kebutuhan fungsional
mencari data mahasiswa memerlukan kelas
yang menampung kelas mahasiswa yang
terbentuk dari hasil pencarian data, kelas ini
adalah kelas daftar hasil pencarian mahasiswa
dan merupakan turunan kelas daftar hasil pencarian. Kelas daftar hasil pencarian beserta
turunannya domodelkan pada Lampiran 8.
Kelas pencari berfungsi memenuhi
kebutuhan fungsional pencarian data,
sehingga kelas pencari diturunkan sesuai
dengan data yang dicari. Sebagai contoh,
kebutuhan fungsional mencari mata kuliah
melibatkan kelas pencari mata kuliah yang
merupakan turunan kelas pencari. Kelas
pencari beserta turunannya dimodelkan pada
Lampiran 9.
Identifikasi Kelas Aplikasi dan
Interaksinya
Kelas aplikasi merupakan semua kelas
terdapat pada sistem baik pada lapisan user
interface, business service, maupun data
provider. Kelas aplikasi dari ketiga lapiasan
saling berinteraksi untuk menyelesaikan satu
use case tertentu. Sebagai contoh pada use
case mencari data mahasiswa. Kelas aplikasi
pada lapisan data provider berfungsi
memanggil stored procedure dan menampung
hasil eksekusinya. Kelas aplikasi ini kemudian memberikan datanya kepada kelas aplikasi
pada lapisan business service untuk
menginisiasi kelas domain yang sesuai. Ketika
pemrosesan data telah terpenuhi pada lapisan
business service, langkah selanjutnya adalah
menampilkan hasil melalui kelas pada lapisan
user interface.
Kelas aplikasi dibagi menjadi tiga
golongan, yaitu kelas controller, kelas view,
dan kelas boundary. Kelas controller adalah
kelas yang mengelola interaksi antara
pengguna dan kelas domain dalam aplikasi
atau sistem. Controller mengetahui kapan
meminta domain kelas menjalankan aplikasi.
Controller kelas biasanya ditambahkan untuk
setiap use case. Fungsi utama controller
adalah meyakinkan pengguna berinteraksi
dengan sistem sesuai definisi pada use case.
Kelas view memiliki fungsi utama mengelola
antamuka pengguna yang membatasi
pengguna dengan sistem. Setiap kelas view mengetahui bagaimana menampilkan kelas
domain dengan tampilan yang spesifik. Kelas
boundary berinteraksi dengan sistem lain,
basis data, dan piranti eksternal dengan sistem
yang dibuat, sebagai contoh, sebuah kelas
boundary digunakan untuk memisahkan
sistem yang dibuat dari basis data. Jika objek
apapun dalam aplikasi memerlukan data dari
basis data, objek ini meminta kelas boundary
untuk mengambil data dari basis data. Dengan
demikian jika basis data berubah, hanya kerja internal dalam kelas boundary yang harus
disesuaikan.
Ketiga golongan kelas aplikasi memiliki
ciri khusus pada namanya. Kelas controller
memiliki nama dengan akhiran manager,
sebagai contoh KRSManager dan
MahasiswaManager. Kelas view memiliki
nama dengan awalan UI, sebagai contoh
UISPPPO dan UIMahasiswa. Kelas boundary
yang memiliki nama dengan awalan
DBAccessor, sebagai contoh DBAccessorUntukMataKuliah.
Interaksi kelas aplikasi pada untuk use
case melibatkan kelas service yang
merupakan turunan dari kelas dalam .Net
framework yaitu kelas WebService dalam
namespace System.Web.Services. Kelas
service mampu menggunakan secara langsung
objek-objek dalam .Net Framework untuk
mengekspos XML Web Service. Interaksi
kelas aplikasi dimodelkan dengan sequence
diagram pada Lampiran 10.
Perancangan Arsitektur Fisik
Antarmuka sistem meliputi antamuka
berbasis web dan operator client. Antarmuka
berbasis web diperuntukkan bagi pengguna
mahasiswa sedangkan operator client
diperuntukkan bagi pengguna staf administrasi
departemen dan staf kantor AJMP. Halaman
web sistem dapat diakses melalui komputer
yang terhubung dengan internet, sedangkan
antarmuka operator client hanya dapat
berfungsi pada komputer dalam intranet.
12
Terdapat tiga server yang digunakan dalam
sistem ,yaitu web server, application server,
dan database server. Web server berfungsi
menyediakan layanan antarmuka kepada
pengguna yang mengakses melalui internet.
Halaman-halaman web yang merupakan
lapisan user interface disimpan pada directory
dalam web server. Applicaton server berfungsi
menyediakan service yang dapat dikonsumsi
oleh halaman web pada web server maupun
antarmuka operator client. Komponen yang
mengeksekusi proses bisnis dan
mempublikasikan service terdapat dalam
application server. Dengan demikian
application server merupakan target operasi
publish, find dan bind terhadap service.
Application server dapat mengambil data pada
database server. Tempat penyimpanan semua
data adalah database server. Pemisahan server
menjadi tiga agar beban sistem tidak tertumpu
pada satu sumber daya dan memudahkan
pemeliharaan seperti pada Gambar 11.
Web Client
Browser support javascript
Web Server
Web Server IIS 6
.Net Framework 2.0
Operator Client
Sistem Operasi Windows XP SP2
.Net Framework 2.0
<<Executable>>
SimakOptUI.exe
<<File>>
Simak Web Site (ekstensi .aspx)
* 1
<<internet>>
Application Server
.Net Framework 2.0
<<File>>
Simak Web Service (ekstensi .asmx)
Database Server
Windows Server 2003 SP2
SQL Server 2005
<<File>>
Penyedia data web service (ekstensi .asmx)
.Net Framework 2.0
* 1
<<Lan>>
1
1
<<Lan>>
11
<<Lan>>
Web Server IIS 6
UDDI Server
Windows Server 2003 SP2
Windows Server 2003 SP2
Gambar 11 Deployment diagram.
Perancangan Antarmuka
Antarmuka operator client merupakan
aplikasi multiple document interface (MDI).
Aplikasi memiliki jendela utama yang dapat
menampung banyak jendela anak. Jendela
utama memiliki tombol navigasi untuk
menampilkan maupun menutup jendela anak. Satu jendela anak menampilkan domain data
tertentu beserta data domain lain sebagai
pelengkap. Sebagai contoh jendela anak
untuk data mahasiswa, SPP, KRS. Setiap
jendela anak memiliki tombol untuk
melakukan operasi terhadap data, seperti
pencarian, penghapusan, penambahan, dan
pengubahan data. Antarmuka sistem dalam
bentuk halaman web mengandung header,
menu, dan bagian untuk menampilkan data
secara tabular. Menu operasi antara
antarmuka operator client dan antarmuka web
berbeda karena disesuaikan dengan use case
bagi setiap pengguna. Sebelum pengguna
memasuki jendela atau halaman utama,
pengguna harus memberikan identitas dan
password pengguna. Antarmuka operator client digambarkan pada Gambar 12
sedangkan halaman web digambarkan pada
Gambar 13.
13
Menu Utama
Menu pada jendela anak
Menu pada jendela anak
Jendela anakJendela anak
Gambar 12 Perancangan antarmuka operator client .
Header
Menu operasi
Tempat menampilkan hasil
operasi
Gambar 13 Perancangan halaman web.
Penanganan Kesalahan
Kesalahan atau error dapat terjadi pada lapisan data provider, business service,
maupun user interface. Kesalahan yang
muncul pada lapisan data provider seringkali
disebabkan oleh interaksi yang tidak tepat
antara aplikasi dengan basis data, sebagai
contoh aplikasi mengakses database server
yang tidak sedang berjalan. Kesalahan pada
lapisan user interface sering muncul saat kelas
pada lapisan user interface melakukan proses
binding terhadap service. Kelas pada lapisan
data provider harus memiliki mekanisme
penanganan error tatkala berinteraksi dengan basis data dan kelas pada lapisan user
interface harus memiliki mekanisme
penanganan error saat binding service.
Implementasi
Pada tahap implentasi, hasil yang didapat
pada tahap perancangan diwujudkan melalui
pembuatan kelas dengan barisan kode yang
dapat dieksekusi oleh .Net Framework. Kelas
pada lapisan data provider, business service,
dan user interface dibuat melalui project yang
berbeda dalam Visual Studio.Net namun dalam satu solution. Pemisahan project
berdasarkan perbedaan lapisan memberi
kemudahan dalam perawatan sistem, seperti
upaya update fitur maupun pengubahan layout
antarmuka.
Typed Dataset
Dataset berisi tabel-tabel data yang
menyimpan data yang digunakan dalam
aplikasi secara sementara. Data dalam basis
data dapat dimuat dalam dataset sehingga data
tersedia bagi aplikasi dalam memori lokal.
Aplikasi dapat bekerja dengan data dalam
dataset sekalipun koneksi dengan basis data
terputus. Pembuatan typed dataset dapat
menyimpan informasi basis data yang
digunakan, seperti tabel, kolom, relasi,dan
stored procedure. Dataset termasuk lapisan
data provider dan berbagai kelas dalam
lapisan tersebut yang menggunakannya secara
langsung.
Pembuatan Pustaka Kelas
Pembuatan pustaka kelas dapat
meningkatkan cohesion dalam aplikasi. Kelas
pada lapisan data provider dan business
service serta tipe data enumeration dibuat
dalam satu project dan dikompilasi bersama
menjadi sebuah file pustaka kelas. Pustaka
kelas ini digunakan untuk mengeksekusi
proses bisnis yang diinginkan, seperti
mengubah data mahasiswa dan mencetak
transkrip nilai.
Pembuatan Komponen Service
Komponen service berfungsi
menghasilkan web service sehingga
fungsionalitas pada sistem dapat diakses oleh
lapisan user interface sistem maupun lain.
Pembuatan komponen service dilakukan dalam project tersendiri dan memiliki
referensi pada pustaka kelas sebab pustaka
kelas merupakan komponen yang
mengeksekusi proses bisnis. Seluruh web
service dibuat dalam satu komponen service
untuk meminimalkan ketergantungan
antarkomponen dalam aplikasi. Setiap
pembuatan web service dalam komponen
service dilakukan dengan pembuatan web
method.
Penanganan Kegagalan SOAP Serialization
oleh Interface ICollection
Setiap data hasil eksekusi suatu proses
bisnis akan dikonversi oleh komponen service
menjadi dokumen SOAP yang dapat
dieksekusi oleh sistem atau mesin lain. Data
hasil eksekusi dapat diberikan kepada web
service client dengan melewatkan suatu objek
dalam web method. Web service dapat
menghasilkan data tunggal maupun tidak,
namun permasalahan muncul tatkala web
method harus melewatkan objek yang
merupakan turunan kelas CollectionBase yang menggunakan interface ICollection.
Komponen service dalam .Net Framework
hanya dapat menghasilkan SOAP dari objek
14
yang tidak menjadi turunan kelas
CollectionBase.
Untuk memecahkan masalah tersebut, web
method yang mengembalikan banyak data
tidak melewatkan objek turunan kelas
CollectionBase namun array yang berisi tipe
data struktur. Struktur didefinisikan menurut
data yang dieksekusi dan diinisialisasi dalam
controller kelas. Sebagai contoh, jika web
service harus mengembalikan banyak data
mahasiswa, maka web method akan mengembalikan array StrukMahasiswa yang
diinisialisasi oleh kelas MahasiswaManager.
Publikasi Web Service
Web service harus dipublikasikan sehingga
dapat ditemukembalikan oleh subsistem atau entitas di luar sistem. Temukembali web
service merupakan langkah awal untuk proses
binding. Publikasi web service dilakukan
melalui UDDI Server. Informasi yang harus
diberikan sebagai masukan UDDI server
meliputi service provider, contact
information, dan access point yang merupakan
alamat URL tempat web service berada.
Bagian service provider berisi informasi
yang terkait organisasi atau lembaga yang
mempublikasikan service, misal nama
organisasi dan kategori bidang usaha. Bagian contact information berisi informasi bagi web
service client untuk menghubungi pihak yang
mempublikasikan web service, misal alamat
dan nomor telepon. Alamat URL pada bagian
Access point menunjuk pada direktori dimana
dokumen WSDL disimpan. Alamat URL
memungkinkan WSDL dapat dilihat
langsung web service client melalui web
browser.
Pembuatan Lapisan User Interface
Pembuatan antarmuka pengguna meliputi
project untuk antarmuka operator client dan
web site. Kedua project memiliki referensi
kepada web service sesuai access point yang ditunjukkan UDDI server. Pembuatan
antarmuka operator client dilakukan dengan
membuat beberapa kelas turunan
System.Windows.Forms.Form dalam .Net
Framework. Satu kelas ditentukan sebagai
parent window yang dapat menampung kelas
lain sebagai child window. Pembuatan
antarmuka berbasis web dilakukan dengan
membuat beberapa kelas turunan
System.Web.UI.Page dalam .Net Framework.
Kelas yang dibuat dalam kedua project menginisialisasi komponen-komponen visual
yang telah ada dalam .Net Framework sesuai
perancangan antarmuka.
Penanganan Kesalahan
Dalam .Net Framework terdapat
pernyataan digunakan untuk menangkap berbagai kelas berfungsi menunjukkan
eksepsi. Pernyataan tersebut adalah
Try…Catch…Finally. Pernyataan ini dipakai
untuk menangkap eksepsi saat berbagai kelas
dalam lapisan data provider berusaha bekerja
dengan basis data dan berbagai kelas dalam
lapisan user interface berusaha
menginisialiasasi web service. Gambar 14
adalah contoh potongan kode yang
menunjukkan penggunaan pernyataan
Try…Catch…Finally dalam suatu kelas untuk menangkap eksepsi yang muncul pada
service binding.
Dim SimakServ As SimakIpbService.Service = New SimakIpbService.Service
Try
If SimakServ.PeriksaKelengkapanSyaratWisuda(Me.TextBox1.Text) = True Then
Me.lblStatus.Text = "Status : Syarat Wisuda telah Terpernuhi"
Else
Me.lblStatus.Text = "..." + ControlChars.NewLine + "..."
End If
Catch ex As Exception
MsgBox("Server mati", MsgBoxStyle.Information, "Peringatan")
End Try
Gambar 14 Contoh penggunaan try…catch…finally.
Keunggulan Sistem
Sistem menyediakan fungsionalitasnya
dalam bentuk service yang dapat digunakan sistem lain. Sistem juga dapat menggunakan
service yang telah disediakan oleh sistem
lain. Hal ini menunjukkan sistem memiliki
kemampuan interoperability sekaligus dapat diintegrasikan dengan sistem lain. Contoh
15
pemakaian service sistem informasi akademik
adalah ketika diperlukan pemeriksaan seorang
mahasiswa apakah telah memenuhi syarat
wisuda. Sistem di perpustakaan dapat
mengonsumsi service yang memberikan data
mahasiswa untuk pemeriksaan syarat bebas
pustaka. Jika mahasiswa dinyatakan bebas
pustaka, bukti elektronik dapat diberikan
kepada sistem informasi akademik dalam
bentuk service. Hal ini lebih handal dan cepat
daripada pemrosesan secara manual.
Pengujian
Pengujian sistem dibagi menjadi dua, yaitu
pengujian fungsionalitas web service dan
pengujian interoperability. Pengujian
fungsionalitas web service dilakukan dengan metode black box melalui antarmuka operator
client dan web site. Pengujian
interoperability dilakukan dengan pembuatan
web service lain dengan lingkungan
pengembangan yang berbeda, yaitu PHP dan
web server Apache untuk dikonsumsi oleh
web service sistem informasi akademik seperti
pada Gambar 15.
Sistem Untuk Uji Introperability
Windows XP SP2
Apache 2
MySql 5
PHP 5
Simak Server
Windows Server 2003
SQL Server 2005
IIS 6
service
Gambar 15 Pengujian interoperability.
KESIMPULAN DAN SARAN
Kesimpulan
SOA dapat diterapkan dalam sistem
informasi akademik. Fungsionalitas sistem disajikan dalam bentuk service yang dapat
dikonsumsi sistem lain. Web service sistem
juga dapat mengonsumsi web service dari
sistem lain. Hal ini mengindikasikan
interoperability telah tercapai.
Strategi tertentu perlu digunakan untuk
mengembalikan data dalam web service
tergantung pada data yang dikembalikan.
Tidak semua objek yang dihasilkan dari
lingkungan pengembangan dapat dikonversi
menjadi SOAP yang merupakan protokol standar pertukaran data. Salah satu strategi
yang bisa ditempuh adalah mengembalikan
array dari struktur yang berisi data objek yang
tidak dapat dikonversi.
Saran
Sistem yang telah dikembangkan telah
memenuhi kemampuan interoperability yang
menjadi dasar upaya integrasi sistem. Pada
penelitian selanjutnya integrasi sistem
informasi akademik dengan sistem lain dalam
satu lingkungan universitas dapat dilakukan
untuk meningkatkan efisiensi dan integritas
data dan untuk mewujudkan proses bisnis
yang lebih komprehensif.
Penerapan protokol keamanan web service
pada sistem informasi akademik dapat
menjadi topik penelitian dengan
memanfaatkan hasil penelitian ini. Salah satu
penelitian yang dapat dilakukan adalah penerapan Security Assertion Markup
Language (SAML) pada sistem informasi
akademik dengan memperhatikan kebutuhan
service berbagai unit/entitas dalam institusi
pendidikan.
DAFTAR PUSTAKA
Hadiwinata, Mario. 2003. XML Web Service
dengan Visual Basic.Net. Jakarta: Elex
Media Komputindo.
Koolwaij, et al. 2002. The Promise of Web
Service an Analysis. https://doc.telin.nl/dscgi/ds.py/Get/File-
27842 [7 November 2006]
Manes, A.T. 2003. Web Services A Manager’s
Guide. USA: Addison-Wesley.
Menasce DA, Almeida VAF. 2002. Capacity
Planning for Web Service Metrics,
Models, and Methods. Upper Saddle
River New Jersey: Prentice Hall PTR.
Pressman, R.S. 2001. Software Engineering:
A Practitioner’s Approach. Fifth
Edition. New York,USA: McGraw Hill.
Sprott D, Wilkes L. 2004. Understanding
Service Oriented Architecture. 10:17.
[Microsoft Architect Journals].
http://www.architecturejournal.net/200
4/issue1/pdf/journal1_english.pdf
[7 November 2006]
Turban, et al. 2005. Introduction to
Information Technology. USA: John
Wiley & Sons, Inc.
[W3C] World Wide Web Consortium. 2004.
Web Service Architecture
http://www.w3.org/TR/ws-arch/ [15 Juli 2006]
LAMPIRAN
17
Lampiran 1 Table-oriented steps (TOS)
TOS untuk use case menyimpan data KRS
Use case name : menyimpan data KRS
Description : use case ini memasukkan data KRS baru mahasiswa pada awal semester.
Main Course of events : muncul data KRS baru dalam database
Precondition : aktor baik operator pegawai AJMP atau staff administrasi akademik
departemenberhasil masuk sistem dan berhadapan dengan jendela utama
aplikasi.
Successful postcondition : aktor berhadapan dengan jendela utama aplikasi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. use case ini dimulai dengan menjalankan step 1 use case memeriksa validitas operator
2. memilih menu menyimpan data KRS 3. menampilkan jendela form pengisian
KRS
4. memberikan masukan data KRS 5. memasukkan KRS ke dalam database
6. menampilkan pesan data KRS berhasil
disimpan
7. menjalankan step 1 use case mencatat
histori/log sistem
8. use case ini berakhir dan aktor berhadapan
dengan jendela utama aplikasi
Alternate Course # 1 : mata kuliah dalam KRS dimana syaratnya belum terpenuhi
Precondition : saat step 4, aktor memasukkan mata kuliah yang syartnya belum terpenuhi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. memeriksa status mata kuliah berdasarkan
2. menampilkan pesan bahwa mata kuliah tidak
dapat diambil
3. use case berlanjut pada step 4
Alternate Course # 2 : aktor membatalkan menyimpan data KRS
Precondition : saat step 2 atau 4, aktor aktor memutuskan untuk tidak menyimpan data KRS
Postcondition : aktor berhadapan dengan jendela utama aplikasi dan tidak ada penambahan data
KRS
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. meminta membatalkan menyimpan data
KRS
2. menutup jendela anak dari menu menyimpan
data KRS
18
Lanjutan Lampiran 1
TOS untuk use case mengubah data KRS
Use case name: mengubah data KRS
Description : use case ini mengubah item data KRS dalam database
Main Course of events : data KRS berubah
Precondition : aktor baik operator pegawai AJMP atau staff administrasi akademik
departemen berhasil masuk sistem dan berhadapan dengan jendela
utama aplikasi.
Successful postcondition : aktor berhadapan dengan jendela utama aplikasi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. use case ini dimulai dengan menjalankan step 1
use case memeriksa validitas operator
2. memilih menu mengubah data KRS 3. meminta NIM, semester dan tahun ajaran
4. memberikan NIM dan semester 5. mencari data KRS
6. menampilkan data KRS
7. mengubah item data KRS 8. memeriksa status mata kuliah
9. menyimpan perubahan KRS
10. menampilkan pesan perubahan KRS
berhasil
11. menjalankan step 1 use case mencatat
histori/log sistem
12. use case ini berakhir dan aktor berhadapan
dengan jendela utama aplikasi
Alternate Course # 1 : syarat item mata kuliah baru belum terpenuhi
Precondition : saat step 7, aktor memasukkan mata kuliah yang syartnya belum terpenuhi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. memeriksa status mata kuliah berdasarkan
2. menampilkan pesan bahwa mata kuliah tidak
dapat diambil
3. use case berlanjut pada step 7
Alternate Course # 2 : aktor membatalkan untuk menyimpan data KRS
Precondition : saat step 4 atau 7, aktor memutuskan untuk tidak mengubah data KRS
Postcondition : aktor berhadapan dengan jendela utama aplikasi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. meminta membatalkan mengubah data KRS 2. menutup jendela anak dari menu mengubah
data KRS
19
Lanjutan Lampiran 1
TOS untuk use case mencari data KRS Use case name : mencari data KRS
Description : use case ini mencari data KRS
Main Course of events : pencarian data KRS sukses
Precondition : aktor baik operator pegawai AJMP, staff administrasi akademik departemen
maupun mahasiswa berhasil masuk sistem dan berhadapan dengan jendela utama
aplikasi.
Successful postcondition : aktor berhadapan dengan data KRS yang dicari
operator pegawai AJMP / staff administrasi
akademik departemen/mahasiswa Sistem
1. use case ini dimulai dengan menjalankan step 1 use case memeriksa validitas
operator/mahasiswa
2. memilih menu mencari KRS 3. meminta kriteria dan parameter
pencarian
4. memberikan kriteria dan parameter pencarian 5. mencari data KRS dalam database
6. menampilkan hasil pencarian
7. use case berakhir
Alternate Course # 1 : aktor membatalkan untuk mencari data KRS
Precondition : saat step 4, aktor memutuskan untuk tidak mencari data KRS
Postcondition : aktor berhadapan dengan jendela utama aplikasi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. meminta membatalkan mencari KRS 2. menutup jendela anak dari menu mencari
data KRS
20
Lanjutan Lampiran 1
TOS untuk use case menyimpan data mata kuliah Use case name : menyimpan data mata kuliah
Description : use case ini memasukkan data mata kuliah
Main Course of events : muncul data mata kuliah baru dalam database
Precondition : aktor baik operator pegawai AJMP atau staff administrasi akademik
departemenberhasil masuk sistem dan berhadapan dengan jendela utama
aplikasi.
Successful postcondition : aktor berhadapan dengan jendela utama aplikasi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. use case ini dimulai dengan menjalankan step 1
use case memeriksa validitas operator
2. memilih menu menyimpan data mata kuliah 3. menampilkan jendela form pengisian data mata kuliah
4. memberikan masukan data mata kuliah 5. memeriksa validitas masukan
6. memasukkan data mata kuliah ke dalam
database
7. menampilkan pesan data mata kuliah
berhasil disimpan
8. menjalankan step 1 use case mencatat
histori/log sistem
9. use case ini berakhir dan aktor berhadapan
dengan jendela utama aplikasi
Alternate Course # 1 : masukan tidak valid Precondition : saat step 4, aktor memasukkan nilai yang tidak valid
operator pegawai AJMP / staff
administrasi akademik departemen Sistem
1. menampilkan pesan bahwa masukan tertentu tidak valid
2. use case berlanjut pada step 3
Alternate Course # 2 : penambahan data gagal karena internal error database
Precondition : saat step 6, muncul internal error dalam database
Postcondition : aktor berhadapan dengan jendela utama aplikasi dan tidak ada penambahan data
KRS
operator pegawai AJMP / staff
administrasi akademik departemen Sistem
1. menampilkan pesan penambahan data gagal dan
deskripsi error
2. use case berlanjut pada step 3
Alternate Course # 3 : aktor membatalkan menyimpan data mata kuliah
Precondition : saat step 4, aktor memutuskan untuk tidak menyimpan data mata kuliah
Postcondition : aktor berhadapan dengan jendela utama aplikasi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. meminta membatalkan menyimpan data
mata kuliah
2. menutup jendela anak dari menu menyimpan
data mata kuliah
21
Lanjutan Lampiran 1
TOS untuk use case menghapus data mata kuliah Use case name: menghapus data mata kuliah
Description : use case ini menghapus data mata kuliah tertentu dalam database
Main Course of events : penghapusan data mata kuliah berhasil
Precondition : aktor baik operator pegawai AJMP atau staff administrasi akademik departemen
berhasil masuk sistem dan berhadapan dengan jendela utama aplikasi.
Successful postcondition : aktor berhadapan dengan jendela utama aplikasi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. use case ini dimulai dengan menjalankan step 1
use case memeriksa validitas operator
2. memilih menu menghapus data mata kuliah 3. meminta kode mata kuliah
4. memberikan kode mata kuliah 5. mencari data mata kuliah
6. menampilkan data mata kuliah yang
ditemukan
7. meminta penghapusan 8. menghapus data mata kuliah
9. menjalankan step 1 use case mencatat
histori/log sistem
10. use case ini berakhir dan aktor berhadapan
dengan jendela utama aplikasi
Alternate Course # 1 : mata kuliah yang dihapus menjadi syarat mata kuliah lain
Precondition : saat step 8, sistem gagal menghapus mata kuliah
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. menampilkan mata kuliah yang bergantung
pada mata kuliah yang dihapus
2. merubah syarat mata kuliah pada mata
kuliah yang bergantung pada mata kuliah yang dihapus
3. use case berlanjut pada step 7
Alternate Course # 2 : aktor membatalkan untuk menghapus data mata kuliah
Precondition : saat step 4 atau 7, aktor memutuskan untuk tidak menghapus data mata kuliah
Postcondition : aktor berhadapan dengan jendela utama aplikasi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. meminta membatalkan menghapus data mata
kuliah
2. menutup jendela anak dari menu menghapus
data mata kuliah
22
Lanjutan Lampiran 1
TOS untuk use case mencari data mata kuliah Use case name: mencari data mata kuliah
Description : use case ini mencari data mata kuliah
Main Course of events : pencarian data mata kuliah sukses
Precondition : aktor baik operator pegawai AJMP atau staff administrasi akademik departemen
berhasil masuk sistem dan berhadapan dengan jendela utama aplikasi.
Successful postcondition : aktor berhadapan dengan data KRS yang dicari
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. use case ini dimulai dengan menjalankan step 1
use case memeriksa validitas operator
2. memilih menu mencari mata kuliah 3. meminta kriteria pencarian
4. memberikan kriteria pencarian 5. mencari data mata kuliah dalam
database
6. menampilkan hasil pencarian
7. use case berakhir
Alternate Course # 1 : aktor membatalkan untuk mencari data mata kuliah
Precondition : saat step 4, aktor memutuskan untuk tidak mencari data mata kuliah Postcondition : aktor berhadapan dengan jendela utama aplikasi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. meminta membatalkan mencari mata kuliah 2. menutup jendela anak dari menu mencari
data mata kuliah
TOS untuk use case Use case name: membaca data pembayaran SPP
Description : use case ini memberikan data secara lengkap yang diperlukan untuk proses
pembayaran SPP pada sistem di bank
Main Course of events : pembacaan data berhasil
Precondition : aktor bisa mengakses layanan sistem informasi akademik
Successful postcondition : sistem menerima konfirmasi data telah diterima secara lengkap
Sistem manajemen
Transaksi keuangan bank Sistem
1. use case ini dimulai dengan permintaan
mengakses layanan sistem
2. meminta identitas mahasiswa
3. memberikan indentitas mahasiswa 4. memungut data untuk pembayaran SPP
5. menghitung beban SPP
6. mengirim nilai beban SPP dan data
tambahan yang sesuai
9. memberikan konfirmasi data telah diterima
10. use case ini berakhir
23
Lanjutan Lampiran 1
TOS untuk use case mengubah data mata kuliah Use case name: mengubah data mata kuliah
Description : use case ini mengubah data mata kuliah dalam database
Main Course of events : data mata kuliah berubah
Precondition : aktor baik operator pegawai AJMP atau staff administrasi akademik departeme
berhasil masuk sistem dan berhadapan dengan jendela utama aplikasi.
Successful postcondition : aktor berhadapan dengan jendela utama aplikasi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. use case ini dimulai dengan menjalankan
step 1 use case memeriksa validitas operator
2. memilih menu mengubah data mata kuliah 3. meminta kode mata kuliah
4. memberikan kode mata kuliah 5. mencari data mata kuliah
6. menampilkan data mata kuliah yang
ditemukan
7. mengubah item data mata kuliah 8. memeriksa nilai masukan berdasarkan
9. menyimpan perubahan mata kuliah
10. menampilkan pesan perubahan mata kuliah
berhasil
11. menjalankan step 1 use case mencatat
histori/log sistem
12. use case ini berakhir dan aktor berhadapan
dengan jendela utama aplikasi
Alternate Course # 1 : masukan tidak valid
Precondition : saat step 7, aktor memebri masukan tidak valid
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. menampilkan pesan bahwa masukan tertentu
tidak valid
1. use case berlanjut pada step 7
Alternate Course # 2 : aktor membatalkan untuk mengubah data mata kuliah
Precondition : saat step 4 atau 7, aktor memutuskan untuk tidak mengubah data mata kuliah
Postcondition : aktor berhadapan dengan jendela utama aplikasi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. meminta membatalkan mengubah data mata
kuliah
2. menutup jendela anak dari menu mengubah
data mata kuliah
24
Lanjutan Lampiran 1
TOS untuk use case mengelola data tugas akhir Use case name: mengelola data tugas akhir
Description : use case ini menambah, mengubah menghapus maupun sekedar melihat data
tugas akhir
Main Course of events : pengelolaan data tugas akhir berhasil
Precondition : aktor baik operator pegawai AJMP atau staff administrasi akademik departemen
berhasil masuk sistem dan berhadapan dengan jendela utama aplikasi
Successful postcondition : aktor menerima pesan proses pengelolaan data tugas akhir berhasil
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. use case ini dimulai dengan menjalankan step 1 use case memeriksa validitas operator
2. memilih menu mengelola data tugas akhir 3. meminta masukan sebagai parameter
4. memberikan masukan 5. melakukan operasi pengelolaan data
tugas akhir
6. jika operasi menyebabkan perubahan
data dalam database maka
menjalankan step 1 use case mencatat histori/log sistem
7. memberikan konfirmasi operasi telah
berhasil diselesaikan
8. use case ini berakhir
Alternate Course # 1 : aktor membatalkan mengelola data tugas akhir
Precondition : saat step 4, aktor aktor memutuskan untuk tidak mengelola data tugas akhir
Postcondition : aktor berhadapan dengan jendela utama aplikasi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. meminta membatalkan mengelola data tugas
akhir
2. menutup jendela anak dari menu mengelola
data tugas akhir
25
Lanjutan Lampiran 1
TOS untuk use case mencetak transkip nilai mahasiswa Use case name: mencetak transkip nilai mahasiswa
Description : use case ini mencetak daftar nilai mahasiswa pada semester tertentu atau
keseluruhan
Main Course of events : muncul hasil pencetakan (print out) daftar nilai
Precondition : aktor baik operator pegawai AJMP atau staff administrasi akademik departemen
berhasil masuk sistem dan berhadapan dengan jendela utama aplikasi.
Successful postcondition : aktor berhadapan dengan jendela utam aplikasi
operator pegawai AJMP / staff administrasi
akademik departemen/ mahasiswa Sistem
1. use case ini dimulai dengan menjalankan step 1
use case memeriksa validitas opertor
2. memilih menu mencetak transkip nilai mahasiswa 3. meminta NIM , tahun akademik, dan
semester
4. memberikan NIM, tahun akademik dan semester 5. mencari data nilai dalam database
6. menampilkan preview daftar nilai
7. meminta mencetak daftar nilai pada preview 8. mencetak daftar nilai
9. menampilkan pesan pencetakan nilai
berhasil
10. use case ini berakhir dan aktor berhadapan
dengan jendela utama aplikasi
Alternate Course # 1 : aktor membatalkan untuk mencetak transkip nilai
Precondition : saat step 4 atau 7, aktor aktor memutuskan untuk tidak mencetak transkip nilai
Postcondition : aktor berhadapan dengan jendela utama aplikasi dan tidak ada print out daftar
nilai
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. meminta membatalkan pencetakan 2. menutup jendela anak dari menu mencetak
transkip
26
Lanjutan Lampiran 1
TOS untuk use case mencetak daftar kuliah Use case name: mencetak daftar kuliah
Description : use case ini mencetak informasi inti mata kuliah apa saja yang diambil pada
semester tertentu dan siapa saja yang mengikutinya.
Main Course of events : muncul hasil pencetakan (print out) daftar kuliah
Precondition : aktor baik operator pegawai AJMP atau staff administrasi akademik departemen
berhasil masuk sistem dan berhadapan dengan jendela utama aplikasi.
Successful postcondition : aktor berhadapan dengan jendela utama aplikasi
operator pegawai AJMP / staff administrasi
akademik departemen/ mahasiswa Sistem
1. use case ini dimulai dengan menjalankan step 1
use case memeriksa validitas opertor
2. memilih menu mencetak daftar kuliah 3. meminta tahun akademik, semester, kode departemen atau program studi
4. memberikan tahun akademik, semester, kode
departemen atau program studi
5. mencari data nilai dalam database
6. menampilkan preview daftar kuliah
7. meminta mencetak daftar kuliah pada preview 8. mencetak daftar nilai
9. menampilkan pesan pencetakan daftar
kuliah berhasil
10. use case ini berakhir dan aktor berhadapan
dengan jendela utama aplikasi
Alternate Course # 1 : aktor membatalkan untuk mencetak transkip nilai Precondition : saat step 4 atau 7, aktor aktor memutuskan untuk tidak mencetak daftar kuliah
Postcondition : aktor berhadapan dengan jendela utama aplikasi dan tidak ada print out daftar
kuliah
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. meminta membatalkan pencetakan daftar
kuliah
2. menutup jendela anak dari menu mencetak
daftar kuliah
27
Lanjutan Lampiran 1
TOS untuk use case mencetak KRS Use case name: mencetak KRS
Description : use case ini mencetak daftar mata kuliah yang diambil seorang mahasiswa pada
semester tertentu.
Main Course of events : muncul hasil pencetakan (print out) KRS
Precondition : aktor baik operator pegawai AJMP atau staff administrasi akademik departemen
berhasil masuk sistem dan berhadapan dengan jendela utama aplikasi.
Successful postcondition : aktor berhadapan dengan jendela utama aplikasi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. use case ini dimulai dengan menjalankan step 1 use case memeriksa validitas operator
2. memilih menu mencetak KRS 3. meminta NIM , tahun akademik, dan
semester
4. memberikan NIM dan semester 5. mencari data KRS dalam database
6. menampilkan preview KRS
7. meminta mencetak KRS pada preview 8. mencetak KRS
9. menampilkan pesan pencetakan daftar
kuliah berhasil
10. use case ini berakhir dan aktor berhadapan
dengan jendela utama aplikasi
Alternate Course # 1 : aktor membatalkan untuk mencetak transkip nilai
Precondition : saat step 4 atau 7, aktor aktor memutuskan untuk tidak mencetak daftar kuliah
Postcondition : aktor berhadapan dengan jendela utama aplikasi dan tidak ada print out KRS
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. meminta membatalkan pencetakan 2. menutup jendela anak dari menu mencetak
KRS
28
Lanjutan Lampiran 1
TOS untuk use case menyimpan data mahasiswa Use case name: menyimpan data mahasiswa
Description : use case ini menyimpan data mahasiswa ke dalam database
Main Course of events : muncul baris baru dalam database yang mengandung data mahasiswa
Precondition : aktor baik operator pegawai AJMP atau staff administrasi akademik departemen
berhasil masuk sistem dan berhadapan dengan jendela utama aplikasi.
Successful postcondition : aktor berhadapan dengan jendela utama aplikasi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. use case ini dimulai dengan menjalankan
step 1 use case memeriksa validitas operator
2. memilih menu penambahan data mahasiswa 3. menampilkan jendela form data mahasiswa
4. memberi masukan data mahasiswa yang
ingin disimpan
5. memeriksa validitas nilai masukan
6. memasukan data ke dalam database
7. menampilkan pesan penambahan data
berhasil
8. menjalankan step 1 use case mencatat
histori/log sistem
9. use case ini berakhir dan aktor berhadapan
dengan jendela utama aplikasi
Alternate Course # 1 : masukan tidak valid
Precondition : saat step 4, aktor memberi masukan yang tidak valid
operator pegawai AJMP / staff
administrasi akademik departemen Sistem
1. memeriksa validitas nilai masukan
2. menampilkan pesan masukan tertentu tidak valid
3. use case berlanjut pada step 3 main course
Alternate Course # 2 : penambahan data gagal karena internal error database
Precondition : saat step 6, muncul internal error dalam database
operator pegawai AJMP / staff
administrasi akademik departemen Sistem
1. menampilkan pesan penambahan data gagal dan
deskripsi error
2. use case berlanjut pada step 3 main course
Alternate Course # 3 : aktor membatalkan penambahan data mahasiswa
Precondition : saat step 3, 4 dan 5, aktor memutuskan untuk tidak menambah data mahasiswa
Postconditin : aktor tidak berhadapan dengan jendela form data mahasiswa
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. membatalkan penambahan data 2. menutup jendela form data mahasiswa
29
Lanjutan Lampiran 1
TOS untuk use case mencari data mahasiswa Use case name: mencari data mahasiswa
Description : use case ini mencari data mahasiswa
Main Course of events : pencarian data mahasiswa sukses
Precondition : aktor baik operator pegawai AJMP atau staff administrasi akademik departemen
berhasil masuk sistem dan berhadapan dengan jendela utama aplikasi.
Successful postcondition : aktor berhadapan dengan data KRS yang dicari
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. use case ini dimulai dengan menjalankan step 1
use case memeriksa validitas operator
2. memilih menu mencari mahasiswa 3. meminta kriteria pencarian
4. memberikan kriteria pencarian 5. mencari data mahasiswa dalam
database
6. menampilkan hasil pencarian
7. use case berakhir
Alternate Course # 1 : aktor membatalkan untuk mencari data mahasiswa
Precondition : saat step 4, aktor memutuskan untuk tidak mencari data mahasiswa
Postcondition : aktor berhadapan dengan jendela utama aplikasi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. meminta membatalkan mencari mahasiswa 2. menutup jendela anak dari menu mencari
data mahasiswa
30
Lanjutan Lampiran 1
TOS untuk use case menghapus data mahasiswa Use case name: menghapus data mahasiswa
Description : use case ini menghapus data mahasiswa di dalam database
Main Course of events : penghapusan data mahasiswa berhasil
Precondition : aktor baik operator pegawai AJMP atau staff administrasi akademik departemen
berhasil masuk sistem dan berhadapan dengan jendela utama aplikasi.
Successful postcondition : aktor berhadapan dengan jendela utama aplikasi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. use case ini dimulai dengan menjalankan
step 1 use case memeriksa validitas operator
2. memilih menu menghapus data mahasiswa 3. meminta NIM
4. memberikan NIM 5. mencari data mahasiswa
6. menampilkan data yang ditemukan
7. meminta penghapusan 8. menghapus data mahasiswa
9. menampilkan pesan data mahasiswa telah
dihapus
10. menjalankan step 1 use case mencatat
histori/log sistem
11. use case ini berakhir dan aktor berhadapan
dengan jendela utama aplikasi
Alternate Course # 1 : terdapat ketergantungan data lain terhadap data mahasiswa yang dihapus Precondition : saat step 8, penghapusan data gagal
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. menampilkan pesan data tidak dapat dihapus
dan data yang memiliki ketergantungngan
2. use case berlanjut pada step 4 main course
Alternate Course # 2 : aktor membatalkan menghapus data mahasiswa
Precondition : saat step 4 atau 7, aktor memutuskan untuk tidak menghapus data mahasiswa
Postcondition : aktor tidak berhadapan dengan jendela form data mahasiswa
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. membatalkan menghapus data mahasiswa 2. menutup jendela anak menu menghapus data
mahasiswa
31
Lanjutan Lampiran 1
TOS untuk use case mengubah data mahasiswa Use case name: mengubah data mahasiswa
Description : use case ini mengubah data mahasiswa di dalam database
Main Course of events : perubahan data mahasiswa berhasil
Precondition : aktor baik operator pegawai AJMP atau staff administrasi akademik departemen
berhasil masuk sistem dan berhadapan dengan jendela utama aplikasi.
Successful postcondition : aktor berhadapan dengan jendela utama aplikasi
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. use case ini dimulai dengan menjalankan
step 1 use case memeriksa validitas operator
2. memilih menu mengubah data mahasiswa 3. meminta NIM
4. memberi NIM 5. mencari data mahasiswa dalam database
6. menampilkan hasil yang ditemukan
7. mengubah data
8. memeriksa validitas nilai masukan
9. menyimpan perubahan data
10. menampilkan perubahan data disimpan
11. menjalankan step 1 use case mencatat
histori/log sistem
12. use case ini berakhir dan aktor berhadapan
dengan jendela utama aplikasi
Alternate Course # 1 : masukan tidak valid
Precondition : saat step 7, aktor memberi masukan yang tidak valid
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. memeriksa validitas nilai masukan
2. menampilkan pesan masukan tertentu tidak
valid
3. use case berlanjut pada step 7 main course
Alternate Course # 2 : pengubahan data gagal karena internal error database
Precondition : saat step 9, muncul internal error dalam database
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. menampilkan pesan penambahan data gagal
dan deskripsi error
2. use case berlanjut pada step 7 main course
Alternate Course # 3 : aktor membatalkan penambahan data mahasiswa
Precondition : saat step 4 atau 7, aktor memutuskan untuk tidak mengubah data mahasiswa
Postconditin : aktor tidak berhadapan dengan jendela form data mahasiswa
operator pegawai AJMP / staff
administrasi akademik departemen Sistem
1. membatalkan mengubah data mahasiswa 2. menutup jendela anak menu mengubah data
mahasiswa
32
Lanjutan Lampiran 1
TOS untuk use case memeriksa kelengkapan syarat wisuda Use case name: memeriksa kelengkapan syarat wisuda
Description : use case ini memeriksa apakah mahasiswa tertentu dapat diwisuda atau tidak
Base use case : mencetak Surat Keterangan Lulus (SKL)
Main Course of events : pemeriksaan syarat wisuda sukses
Precondition : aktor operator pegawai AJMP departemen berhasil masuk sistem dan berhadapan
dengan jendela utama aplikasi.
Successful postcondition : aktor menerima pesan bahwa syarat wisuda sudah lengkap atau
belum
operator pegawai AJMP sistem
Sistem
manajemen
Transaksi
keuangan bank
Sistem
pencatatan
peminjaman/pe
ngembalian
buku
perpustakaan
1. use case ini dimulai dengan
menjalankan step 1 use
case memeriksa validitas
operator
2. memilih menu memeriksa
syarat wisuda
3. meminta NIM
4. memberikan NIM 5. memeriksa beban
studi
6. meminta bukti pelunasan
tanggungan
pembayaran
7. memberi bukti
pembayaran
8. meminta bukti
bebas pustaka
9. memberi
bukti bebas
pustaka
10. menampilkan pesan
syarat wisuda
sudah/belum
lengkap
11. use case ini berakhir
Alternate Course # 1 : aktor membatalkan untuk memeriksa kelengkapan syarat wisuda
Precondition : saat step 4, aktor memutuskan untuk tidak memeriksa kelengkapan syarat wisuda
Postcondition : aktor berhadapan dengan jendela utama aplikasi
operator pegawai AJMP sistem
Sistem
manajemen
Transaksi
keuangan
bank
Sistem
pencatatan
peminjaman/pen
gembalian buku
perpustakaan
1. memutuskan membatalkan
memeriksa kelengkapan
syarat wisuda
2. menutup jendela anak
menu memeriksa
kelengkapan syarat
wisuda
33
Lanjutan Lampiran 1
TOS untuk use case mencatat histori/log sistem Use case name: mencatat histori/log sistem
Description : use case ini mencatat operasi yang dilakukan aktor dalam sistem beserta informasi
tambahan yang terkait dengan operasi yang dieksekusi. Operasi aktor yang
dicatat adalah operasi data yang baik pembacaan, penambahan, perubahan,
dan penghapusan serta operasi yang menghasilkan keluaran tertentu seperti
mencetak KRS.
Base Use cases : 1. mencetak transkip nilai mahasiswa
2. mencetak daftar kuliah 3. mencetak KRS
4. mengelola data tugas akhir
5. menyimpan data KRS
6. mengubah data KRS
7. mencari data KRS
8. menyimpan data mata kuliah
9. mengubah data mata kuliah
10. menghapus data mata kuliah
11. mencari data mata kuliah
12. menyimpan data mahasiswa
13. mengubah data mahasiswa 14. menghapus data mahasiswa
15. mencari data mahasiswa
16. memeriksa kelengkapan syarat wisuda
17. mengelola data SPP
Main Course of events : operasi dan informasi tambahan tercatat dalam file log
Precondition : aktor baik operator pegawai AJMP, staff administrasi akademik departemen
maupun mahasiswa berhasil menjalankan operasi terhadap data dalam
database maupun operasi mencetak keluaran.
Successful postcondition : file log berisi operasi dan informasi tambahan aktual.
operator pegawai AJMP / staff administrasi
akademik departemen/ mahasiswa Sistem
1. use case ini dimulai ketika aktor telah berhasil
menjalankan operasi terhadap data dalam
database maupun operasi mencetak keluaran
2. mengidentifikasi operasi yang
dieksekusi
3. membaca informasi tambahan yang
terkait dengan operasi yang dilakukan
4. mencatat operasi dan informasi
tambahan kedalam file log
5. use case ini berakhir dan aktor dapat melakukan
operasi lain
34
Lanjutan Lampiran 1
TOS untuk use case memeriksa validitas operator Use case name: memeriksa validitas operator
Description : use case ini mengijinkan aktor baik operator pegawai AJMP maupun staff
administrasi akademik departemen memasuki Sistem dan sehingga dapat
melakukan operasi-operasi yang tersedia.
Base Use cases : 1. mencetak transkip nilai mahasiswa
2. mencetak daftar kuliah
3. mencetak KRS
4. mengelola data tugas akhir 5. menyimpan data KRS
6. mengubah data KRS
7. mencari data KRS
8. menyimpan data mata kuliah
9. mengubah data mata kuliah
10. menghapus data mata kuliah
11. mencari data mata kuliah
12. menyimpan data mahasiswa
13. mengubah data mahasiswa
14. menghapus data mahasiswa
15. mencari data mahasiswa 16. memeriksa kelengkapan syarat wisuda
17. mengelola data SPP
Main Course of events : pemeriksaan validitas operator berhasil
Precondition : aktor baik operator pegawai AJMP maupun staff administrasi akademik
departemen menjalankan aplikasi dan berhadapan dengan jendela pertama
aplikasi.
Successful postcondition : aktor memasuki sistem dan berhadapan dengan jendela utama aplikasi.
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. use case ini dimulai ketika aktor
menjalankan aplikasi dan berhadapan
dengan jendela pertama aplikasi
2. meminta username dan password aktor
3. memberikan username dan password 4. memeriksa validitas masukan username dan
password berdasarkan data operator dalam
database
5. sistem menampilkan jendela/halaman utama
aplikasi
6. use case ini berakhir ketika aktor
berhadapan dengan jendela /halaman utama
aplikasi
Alternate Course # 1 : masukan username dan password salah
Precondition : saat step 3, aktor memberi masukan username dan password salah
operator pegawai AJMP / staff
administrasi akademik departemen Sistem
1. memeriksa validitas masukan username dan
password berdasarkan data operator dalam
database
2. menampilkan pesan username atau password
tidak valid/salah
3. use case berlanjut pada step 2 main course
35
Lanjutan Lampiran 1
Alternate Course # 2 : aktor membatalkan memasuki sistem
Precondition : pada step 1,2,3, dan 4 aktor memutuskan untuk tidak memasuki system
Postcondition : tidak ada jendela alikasi yang dihadapi aktor
operator pegawai AJMP / staff administrasi akademik
departemen Sistem
1. aktor menutup aplikasi
TOS untuk use case memeriksa validitas mahasiswa
Use case name: memeriksa validitas mahasiswa
Description : use case ini mengijinkan aktor mahasiswa dapat memasuki Sistem dan sehingga
dapat melakukan operasi-operasi yang tersedia.
Base Use cases : 1. menyimpan data KRS
2. mencari data KRS
3. mencari data mata kuliah Main Course of events : pemeriksaan validitas mahasiswa berhasil
Precondition : aktor mahasiswa berhadapan dengan halaman login melalui web browser.
Successful postcondition : aktor memasuki sistem dan berhadapan dengan jendela utama aplikasi.
operator pegawai AJMP / staff administrasi
akademik departemen Sistem
1. use case ini dimulai ketika aktor mengakses
web browser dan menghadapi halaman login
aplikasi
2. meminta NIM dan password aktor
3. memberikan NIM dan password 4. memeriksa validitas masukan NIM dan password berdasarkan data operator dalam
database
5. sistem menampilkan jendela/halaman utama
aplikasi
6. use case ini berakhir ketika aktor
berhadapan dengan halaman utama aplikasi
Alternate Course # 1 : masukan NIM dan password salah
Precondition : saat step 3, aktor memberi masukan NIM dan password salah
operator pegawai AJMP / staff
administrasi akademik departemen Sistem
1. memeriksa validitas masukan NIM dan password
berdasarkan data operator dalam database
2. menampilkan pesan NIM atau password tidak
valid/salah
3. use case berlanjut pada step 2 main course
Alternate Course # 2 : aktor membatalkan memasuki sistem
Precondition : pada step 1,2,3, dan 4 aktor memutuskan untuk tidak memasuki system
Postcondition : tidak ada jendela alikasi yang dihadapi aktor
operator pegawai AJMP / staff administrasi akademik departemen Sistem
1. aktor menutup aplikasi
36
Lampiran 2 Skema tabel
PenggunaSistem(ID, Username, Password, level)
Departemen (KodeDept, NamaDept, Kodefak, SandiDept)
Fakultas (KodeFak, NamaFak)
Pegawai (KodePeg, NamaPeg, TempatKerja)
JalurMasukIPB (KodeJalurMasuk, NamaJalurMasuk, Deskripsi)
MataKuliahMami (KodeMK, StatusBagiMayor, StatusBagiMinor, SebagaiSupportingCost,
HargaPerSKSKuliahMinor, HargaPerSKSKuliahMayor,
HargaPerSKSKuliahSC, HargaPerSKSPraktikumMinor,
HargaPerSKSPraktikumMayor, HargaPerSKSPraktikumSC, KodeMKSyarat)
Mahasiswa (Nim, NamaMahasiswa, TanggalLahir, Kelamin, AsalSMU, KodeAgama,
AlamatAsal, AlamatLokal, TahunMasuk, StatusStudi, StatusPernikahan,
kodeJalurMasuk, KotaAsal, KodeDept)
Mengikuti (Nim, KodeMK, KodeKRS, NilaiMutu, StatusKuliah, NilaiAngka)
MataKuliah (KodeMK, NamaMK, DeskripsiMK, SKS,SKSKuliah, SKSKPraktikum, SKSKuliah)
Agama (KodeAgama, NamaAgama)
SPP (KodeKRS, Nim, NilaiPembayaran, BPMP, BPMK, BPIF, TanggalPembayaran,
BatasPembayaran, Status)
TugasAkhir (KodeTA, Nim, Judul)
SPPMayorMinor (Nim, KodeKRS, BiayaSPPKuliah, BiayaSPPPraktikum, JatahDept, JatahFak, JatahRektor)
Dosen (Nip, NamaDosen)
KRS (KodeKRS, JumlahSKS, JumlahSKSKum, Nip, Nim, TahunAkademik, Semester)
Membimbing (KodeTS, Nip, PebimbingKe)
MataKuliahPO (KodeMK, Status, KodeMKSyarat)
37
Lampiran 3 Kelas MataKuliah dan turunannya
+New()
+KapanDiselenggarakan() : String
+IdentifikasiDepartemen() : String
+SimpanMataKuliah()
+UbahMataKuliah()
+HapusMataKuliah()
+Kode : String
+Nama : String
+JumlahSKS : Byte
+SKSKuliah : Byte
+SKSPraktikum : Byte
+KodeMataKuliahSyarat : String
+Deskripsi : String
MataKuliah
+Status : BebanStudi
MataKuliahPO
+BiayaBagiMinor() : Integer
+BiayaBagiMayor() : Integer
+BiayaBagiSupprtingCost() : Integer
+StatusBagiMinor : BebanStudi
+StatusBagiMayor : BebanStudi
+SupportingCost : Boolean
+HargaPerSKSKuliahMinor : Integer
+HargaPerSKSPraktikumMinor : Integer
+HargaPerSKSKuliahMayor : Integer
+HargaPerSKSPraktikumMayor : Integer
+HargaPerSKSKuliahSC : Integer
+HargaPerSKSPraktikumSC : Integer
MataKuliahMami
Lampiran 4 Kelas SPP dan turunannya
+New()
+HitungTotalBiayaSPP() : Integer
+UbahDataSPP()
+SimpanDataSPP()
+HapusDataSPP()
+Pembayar[1] : Mahasiswa
+UntukPembayaran[1] : KRS
+BatasWaktuPembayaran[1] : Date
+TanggalPembayaran[1] : Date
+NilaiPembayaran[1] : Integer
+SudahLunas[1] : Boolean
+TotalBiayaSPP[1] : Integer
+Keterangan[1] : String
+BPMK[1] : Integer
+BPMP[1] : Integer
+BPIF[1] : Integer
+Status[1] : StatusSPP
SPP
+New()
+DeskripsiPassingOut[1] : String
SPPPassingOut
+New()
+HitungBiayaSPP() : Integer
+HitungBiayaSPPPraktikum() : Integer
+BiayaSPPKuliah[1] : Integer
+BiayaSPPPraktikum[1] : Integer
+DeskripsiMayorMinor[1] : String
-JatahDept[1] : Byte
-JatahFak[1] : Byte
-JatahRektor[1] : Byte
SPPMayorMinor
38
Lampiran 5 Kelas DokCetak dan turunannya
+New()
+Mencetak()
+Pemohon[1] : Mahasiswa
+Pencetak[1] : Pengguna
+TanggalCetak[1] : Date
+WaktuCetak[1] : Date
+TahunAkademik[1] : String = 1000/1001
+Semester[1] : JenisSemester = ganjil
+TingkatStudi[1] : JenisTingkatStudi = TPB
+KodeTempatStudi[1] : String
+SudahTercetak[1] : Boolean
DokCetak
+New()
+DapatkanDaftarNilai(in Nim : String, in KodeKRS : String) : DaftarNilai
+Mencetak(in InfoMahasiswa : Mahasiswa, in nilai : DaftarNilai)
+DapatkanDataMahasiswa(in Nim : String)
+DapatkanNamaDepartemen(in Nim : String)
+DapatkanNilaiKumulatif(in Nim : String) : Integer
+DapatkanSKSKumulatif(in Nim : String) : Integer
+DapatkanDataKRS(in Nim : String, in TahunAkademik : String, in Semester : JenisSemester)
DokTranskip
+New()
+DapatkanKRS() : KRS
+Mencetak(in KRSMahasiswa : KRS)
DokKRS
+New()
+Mencetak(in Peserta : DaftarMahasiswa, in MataKuliah : DaftarMataKuliah)
+DapatkanDaftarMataKuliah() : DaftarMataKuliah
+BuatKoleksiKuliah(in Jumlah : Integer)
+BuatKoleksiPeserta(in Jumlah : Integer)
+DapatkanJumlahKuliah() : Integer
+DapatkanJumlahPeserta() : Integer
+DaftarKuliah[0..*] : StrukDaftarKuliah
+PesertaKuliah[0..*] : StrukPesertaKuliah
DokDaftarKuliah
Lampiran 6 Kelas Daftar dan turunannya
+New()
+TambahItem()
+ItemSelanjutnya()
+ItemSebelumnya()
+HapusItem()
+HitungJumlahItem() : Integer
+Item[1] : String
Daftar
+New()
+DeskripsiDomain[1] : String
DaftarDomain
+New()
+ParameterPencarian[1] : String
+KriteriaPencarian[1] : String
DaftarHasilPencarian
Lampiran 7 Kelas DaftarDomain dan turunannya
+New()
+DeskripsiDomain[1] : String
DaftarDomain
+New(in NimMahasiswa : String, in KodeKRS : String)
+TambahItem(in Nilai : NilaiMahasiswa)
+HitungIP() : Decimal
+NimMahasiswa[1] : String
+KodeKRS[1] : String
+Item[1] : NilaiMahasiswa
DaftarNilai
+New()
+TambahItem(in MataKuliahMAMI : MataKuliahMami)
+TambahItem(in MataKuliahPO : MataKuliahPO)
DaftarMataKuliah
+New()
+TambahItem(in PilihanMataKuliahPO : MataKuliahPO)
+HapusItem(in PilihamMataKuliahPO : MataKuliahPO)
+HapusItem(in PilihanMataKuliahMami : MataKuliahMami)
+TambahItem(in PilihanMataKuliahMami : MataKuliahMami)
+JenisMK : JenisMK
+Item : MataKuliahPO
+ItemMKMami : MataKuliahMami
-ProgramKuliah : ProgramKuliah
DaftarPilihanMataKuliah
+New()
+TambahItem(in Mahasiswa : Mahasiswa)
DaftarMahasiswa
39
Lampiran 8 Kelas DaftarHasilPencarian dan turunannya
+New()
+ParameterPencarian[1] : String
+KriteriaPencarian[1] : String
DaftarHasilPencarian
+New()
+TambahItem(in KRS : KRS)
+Item : KRS
DaftarHasilPencarianKRS
+New()
+TambahItem(in MataKuliah : MataKuliah)
+Item : MataKuliahPO
+ItemMKMami : MataKuliahMami
DaftarHasilPencarianMataKuliah
+New()
+tambahItem(in TugasAkhir : TugasAkhir)
+Item : TugasAkhir
DaftarHasilPencarianTugasAkhir
+New()
+TambahItem(in Mahasiswa : Mahasiswa)
+Item : Mahasiswa
DaftarHasilPencarianMahasiswa
+New()
+TambahItem(in SPPMayorMinor : SPPMayorMinor)
+TambahItem(in SPPPAssingOut : SPPPassingOut)
+Item : SPPPassingOut
+ItemSPPMami : SPPMayorMinor
DaftarHasilPencarianSPP
Lampiran 9 Kelas Pencari dan turunannya
+New()
+CariBerdasarkan(in KriteriaPencarian : String, in YangDicari : String) : DaftarHasilPencarian
+ParameterPencarian[1] : String
+KriteriaPencarian[1] : String
Pencar
+New()
+CariBerdasarkan(in Kriteria : KriteriaPencarianKRS, in YangDicari : String)
PencariKRS
+New()
+CariBerdasarkan(in Kriteria : KriteriaPencarianMahasiswa, in YangDicari : String)
PencariMahasiswa
+New()
+CariMataKuliahMamiBerdasarkan(in Kriteria : KriteriaPencarianMataKuliah, in YangDicari : String, in Pembanding : String)
+CariMataKuliahPOBerdasarkan(in Kriteria : KriteriaPencarianMataKuliah, in YangDicari : String, in Pembanding : String)
PencariMataKuliah
+New()
+CariSPPPOBerdasarkan(in Kriteria : KriteriaPencarianSPP, in YangDicari : String, in Pembanding : String)
+CariSPPMAMIBerdasarkan(in Kriteria : KriteriaPencarianSPP, in YangDicari : String, in Pembanding : String)
PencariSPP
+New()
+CariBerdasarkan(in Kriteria : KriteriaPencarianTugasAkhir, in YangDicari : String)
PencariTugasAkhir
40
Lampiran 10 Sequence diagram
Sequence Diagram menyimpan data KRS
KRSManager DBAccessorUntukKRSKRS Log PenulisLogUIFormKRS
data KRS
New()
DapatkanDataMahasiswa(Nim)
Data mahasiswa
Mahasiswa DaftarPilihanMataKuliah
New()
New()
SimpanKRS()
PeriksaStatusMataKuliah()
alt[Status = False]
TampilkanPesanMataKuliahTidakDapatDiambil()
alt[Status = True]
New()
info operasi menyimpan KRS
New()
Sd
mencatat history/log sistem
ref
<<create>>
<<create>>
<<create>>
<<create>>
<<create>>
Service
New()
TampilkanPesanSukses()
Sequence Diagram mengubah data KRS
MataKuliahManager DBAccessorUntukMataKuliahMataKuliah Log PenulisLogUIMataKuliah
DapatkanDataMataKuliah(KodeMataKuliah)
Data mata kuliah
New
TampilkanMataKuliah()
Data mata kuliah hasil perubahan
alt[Status = False]
TampilkanKodeSalah()
alt[Status = True]
New()
info operasi perubahan mata kuliah
New()
Sd
mencatat history/log sistem
ref
<<create>>
<<create>>
<<create>>
PeriksaKodeMataKuliah:=PeriksaKodeMataKuliah()
DapatkanKodeDepartemen()
kode mata kuliah
UbahMataKuliah()
Service
New()
TampilkanPesanSukses()
Sequence Diagram menulis history/log sistem
Log PenulisLog
Info operasi
Tulis(Log)
41
Lanjutan Lampiran 10
Sequence Diagram mencari data KRS
DaftarHasilPencarianKRS UIDaftarHasilPencarianKRSKRSManager DBAccessorUntukKRSKRS DaftarPilihanMataKuliahPencariKRS
CariBerdasarkan:=CariBerdasarkan(Kriteria, YangDicari)
Loop 0, jumlah KRSNew()
<<create>>
<<create>>
Cari(Kriteria, YangDicari)
data KRS yang ditemukan
New()
TambahItem
Service
New()<<create>>
Data KRS
TampilkanDaftarKRS()
MahasiswaManager
DapatkanDataMahasiswa(Nim)
data mahasiswa
Sequence Diagram menyimpan data mata kuliah
MataKuliahManager Log PenulisLogUIFormMataKuliah
data mata kuliah
New()
Sd
mencatat history/log sistem
ref
<<create>>
<<create>>
New
SimpanMataKuliah
Service
New()
TampilkanPesanSukses()
MataKuliahPO MataKuliahMami
alt [Jenis MK = Passing Out]
alt[Jenis MK = Mayor Minor]
New()<<create>>
SimpanMataKuliah()
info operasi simpan MK
42
Lanjutan Lampiran 10
Sequence Diagram mengubah data mata kuliah
MataKuliahManager DBAccessorUntukMataKuliahLog PenulisLogUIMataKuliah
TampilkanMataKuliah()
alt
New
info operasi perubahan mata kuliah
Sd
mencatat history/log sistem
ref
<<create>>
Service
New
TampilkanPesanSukses
MataKuliahPO MataKuliahMami
[Jenis MK = Passing Out]
DapatkanDataMKPO(KodeMK)
Data mata kuliah PO
New()<<create>>
alt[Jenis MK = Mayor Minor
DapatkanMKMami
Data mata kuliah MAMI
New
TampilkanMataKuliah
Data mata kuliah hasil perubahan
UbahMataKuliahPO()
TampilkanMataKuliah
Data mata kuliah hasil perubahan
UbahMataKuliahMami()
<<create>>
Sequence Diagram menghapus data mata kuliah
MataKuliahManager DBAccessorUntukMataKuliahLog PenulisLogUIMataKuliah
Sd
mencatat history/log sistem
ref
<<create>>
Data mata kuliah
Service
New()
alt [Jenis MK = Passing Out]
MataKuliahPO MataKuliahMami
New()
DapatkanDataMKPO(KodeMK)
TampilkanMataKuliah()
HapusMKPO(KodeMK)
alt [Jenis MK = Mayor minor]DapatkanMKMami()
Data mata kuliah
Data mata kuliah
TampilkanPesanSukses()
<<create>>
New()
TampilkanMataKuliah
HapusMKMami(KodeMK)
New
info operasi penghapusan mata kuliah
43
Lanjutan Lampiran 10
Sequence Diagram mencari data mata kuliah
DaftarHasilPencarianMataKuliah UIDaftarHasilPencarianMKMataKuliahManager DBAccessorUntukMataKuliah
data mata kuliah yang ditemukan
Loop 0, jumlah MK
PencariMataKuliahService
New()<<create>>
Daftar Mata Kuliah
TampilkanMataKuliah()
MataKuliahPO MataKuliahMami
alt[Jenis MK = Passing Out]
New()
CariMKPO(Kriteria, YangDicari, Pembanding)
New()
Loop 0, jumlah MK
altCariMKMami(Kriteria, YangDicari, Pembanding)
data mata kuliah yang ditemukan
TambahItem(MataKuliahPO)
TambahItem(MataKuliahMami)
New()
Sequence Diagram menyimpan tugas akhir
TugasAkhirManager TugasAkhirUIFormTugasAkhir Log PenulisLog
data tugas akhir
New()
SimpanTugasAkhir()
ref
New()
info operasi menyimpan data tugas akhir
Sd
mencatat history/log sistem
<<create>>
Service
TampilkanPesanSukses()
New()
Sequence Diagram mengubah tugas akhir
TugasAkhirManager TugasAkhir Log PenulisLogUITugasAkhir
New()
Data tugas akhir hasil perubahan
New()
info operasi perubahan tugas akhir
Sd
mencatat history/log sistem
ref
<<create>>
<<create>>
Service
New()
TampilkanPesanSukses()
UbahTugasAkhir()
44
Lanjutan Lampiran 10
Sequence Diagram mencari tugas akhir
TugasAkhirManager DBAccessorUntukTugasAkhirTugasAkhir UIHasilPencarianTugasAkhir
New
Mahasiswa
New
DaftarHasilPencarianTugasAkhirPencariTugasAkhir
Cari(Kriteria, YangDicari)
data tugas akhir yang ditemukan
Loop 0, jumlah TA
tambahItem
Service
New()
Data Tugas Akhir
CariBerdasarkan(Kriteria, YangDicari)
MahasiswaManager
TampilkanTugasAkhir
Sequence Diagram mencetak transkrip
PencetakTranskrip DBAccessorUntukTranskripDokTranskrip UIDokTranskrip DaftarNilai Mahasiswa
DapatkanDataMahasiswa(Nim)
Data mahasiswa
New <<create>>
DapatkanDaftarNilai
kode KRS
<<create>>
TambahItem(Nilai)
Loop 1, jumlah kodeMK
New(NimMahasiswa, KodeKRS)
Mencetak
DapatkanDaftarNilai
Service
New<<create>>
Data transkrip
New
Sequence Diagram mencetak daftar kuliah
PencetakDaftarKuliah DBAccesorUntukMataKuliahDokDaftarKuliah UIDokDaftarKuliah
data daftar mata kuliah
MataKuliah DaftarMataKuliah
DapatkanDaftarmataKuliah(KodeDept, TahunAkademik, Semester)
CariDataDaftarKuliah(Semester, KodeDepartemen, TahunAkademik)
New()
TambahItem(MataKuliah)
Loop 1, jumlah MK
Mahasiswa DaftarMahasiswa
<<create>>
<<create>>
Loop 1, jumlah Mahasiswa
CariPesertaKuliah(Kuliah, TahunAkademik)
data peserta kuliah
New<<create>>
TambahItem(Mahasiswa)
New()
Mencetak()
Service
New()<<create>>
Daftar Kuliah
45
Lanjutan Lampiran 10
Sequence Diagram mencetak KRS
PencetakKRS KRSDokKRS UIDokKRS DaftarPilihanMataKuliah DBAccessorUntukKRS
DapatkanDataKRS(Nim, TahunAkademik, Semester)
data KRS
<<create>>
<<create>>
DapatkanDataPilihanMataKuliah(Nim, TahunAkademik, Semester)
data pilihan mata kuliah
Loop 1, jumlah
MKTambahItem
TampilkanKRS()
New
Mencetak()
DapatkanKRS(Nim, TahunAkademik, Semester)
Service
New()
Data KRS
New()<<create>>
Sequence Diagram menyimpan data mahasiswa
MahasiswaManager MahasiswaUIFormMahasiswa Log PenulisLog
data mahasiswa
New()
SimpanMahasiswa()
New()
info operasi simpan mahasiswa
refSd
mencatat history/log sistem
<<create>>
Service
New<<create>>
TampilkanPesanSukses()
Sequence Diagram mengubah data mahasiswa
MahasiswaManager Mahasiswa UIMahasiswa Log PenulisLog DBAccessorUntukMahasiswa
New
info operasi ubah data mahasiswa
refSd
mencatat history/log sistem
DapatkanDataMahasiswa(Nim)
data mahasiswa
New()
data mahasiswa hasil perubahan
UbahMahasiswa
<<create>>
<<create>>
Service
New()
TampilkanPesanSukses()
TampilkanMahasiswa()
46
Lanjutan Lampiran 10
Sequence Diagram menghapus data mahasiswa
MahasiswaManager Mahasiswa UIMahasiswa Log PenulisLog DBAccessorUntukMahasiswa
New()
info operasi hapus data mahasiswa
refSd
mencatat history/log sistem
DapatkanDataMahasiswa(Nim)
data mahasiswa
New()
<<create>>
<<create>>
HapusMahasiswa()
Service
New
TampilkanMahasiswa
<<create>>
TampilkanPesanSukses
Sequence Diagram mencari data mahasiswa
MahasiswaManager Mahasiswa PencariMahasiswa UIDaftarHasilPencarianMhsDaftarHasilPencarianMahasiswa DBAccessorUntukMahasiswa
New
<<create>>CariBerdasarkan(Kriteria, YangDicari)
Loop 0, jumlah Mahasiswa
TambahItem(Mahasiswa)
Cari(Kriteria, YangDicari)
data mahasiswa yang ditemukan
Service
New()
Data Mahasiswa
TampilkanMahasiswa()
Sequence Diagram menyimpan data SPP
SPPManager SPPMayorMinor SPPPassingOut Log PenulisLog DBAccessorUntukSPP
DapatkanDataMahasiswa(Nim)
data mahasiswa
Mahasiswa
New()
alt[jenis SPP = Mayor minor
New()
alt
New()[jenis SPP = Passing Out
SimpanDataSPP()
SimpanDataSPP()
New()
info operasi simpan SPP
refSd
mencatat history/log sistem
UIFormSPP
data SPP
<<create>>
<<create>>
<<create>>
<<create>>
Service
New<<create>>
TampilkanPesanSukses()
47
Lanjutan Lampiran 10
Sequence Diagram mengubah data SPP
SPPManager SPPMayorMinor SPPPassingOut Log PenulisLog DBAccessorUntukSPP
data SPP
Mahasiswa
New()<<create>>
alt
New()
New()
info operasi simpan SPP
New()
refSd
mencatat history/log sistem
UISPPMayorMinor UISPPPassingOut
data SPP
data SPP hasil perubahan
alt
New()
TampilkanSPP()
UbahDataSPP()
[jenis SPP = Passing Out ]
TampilkanSPP()
data hasil perubahan
UbahDataSPP()
[jenis SPP = Mayor minor ]
DapatkanDataSPP(Nim, TahunAkademik, Semester)
DapatkanDataSPP(Nim, TahunAkademik, Semester)
<<create>>
<<create>>
<<create>>
<<create>>
Service
New()<<create>>
Sequence Diagram menghapus data SPP
SPPManager SPPMayorMinor SPPPassingOut Log PenulisLog DBAccessorUntukSPP
data mahasiswa
Mahasiswa
New()<<create>>
alt
New()
New
info operasi hapus SPP
refSd
mencatat history/log sistem
UISPPMayorMinor UISPPPassingOut
data SPP
alt
New()
TampilkanSPP()
[jenis SPP = Passing Out ]
TampilkanSPP
[jenis SPP = Mayor minor ]
DapatkanDataMahasiswa(Nim)
DapatkanDataSPP(Nim, TahunAkademik, Semester)
<<create>>
<<create>>
<<create>>
Service
Message1
Hapus(Nim, TahunAkademik, Semester)
48
Lanjutan Lampiran 10
Sequence Diagram mencari data SPP
SPPManager SPPMayorMinor SPPPassingOutPencariSPP DBAccessorUntukSPPMahasiswaManager
<<create>>
DaftarHasilPencarianSPP UIDaftarHasilPencarianSPP
DapatkanDataMahasiswa(Nim)
CariBerdasarkan:=CariBerdasarkan(Kriteria, YangDicari)
Cari
data SPP yang ditemukan
Loop 0, jumlah SPP
alt
alt
New
[jenis SPP = Mayor minor ]
[jenis SPP = Passing out ]
TambahItem(SPPMayorMinor)
New()
TambahItem(SPPPAssingOut)
data mahasiswa
<<create>>
<<create>>
Service
New()
TampilkanSPP()
Data SPP
Sequence Diagram memeriksa validitas mahasiswa
PemeriksaMahasiswa DBAccessorUntukMahasiswaUILoginMahasiswa
Nim, password
alt[Status = True]
alt [Status = False]
Service
New<<create>>
TampilkanMainWindow()
TampilkanPesan()
PeriksaPenggunaMahasiswa(Nim, Password)
Sequence Diagram memeriksa validitas operator
PemeriksaPengguna DBAccessorUntukPenggunaUILoginPengguna
username, password
<<create>>
alt[Status = True]
alt[Status = False]
Service
New
TampilkanMainWindow
TampilkanPesan()
PeriksaOperator(Username, Password)