Unified Modelling Language UML

• Bagaimana validitas fungsional diuji? • Apa kelas input akan membuat kasus uji yang baik? • Apakah sistem sangat sensitif terhadap nilai input tertentu? • Bagaimana batas-batas kelas data terisolasi? • Apa efek akan kombinasi spesifik data terhadap operasi sistem? Dengan menerapkan teknik black-box, kita memperoleh satu set kasus uji yang memenuhi kriteria sebagai berikut: 1 uji kasus yang mengurangi, dengan jumlah yang lebih besar dari satu, jumlah kasus uji tambahan yang harus dirancang untuk mencapai wajar pengujian, dan 2 uji kasus yang memberitahu kita sesuatu tentang ada atau tidak adanya layani kesalahan, daripada kesalahan yang terkait hanya dengan tes khusus di tangan.

2.11 Unified Modelling Language UML

UML adalah bahasa grafis untuk mendokumentasi, menspesifikasi dan membangun sistem perangkat lunak. UML berorientasi objek, menerapkan banyak level abstraksi, tidak bergantung proses pengembangan, tidak bergantung bahasa dan teknologi, pemaduan beberapa notasi di beragam metodologi, usaha bersama dari banyak pihak, didukung oleh kakas-kakas yang diintegrasikan lewat XML XMI. Standar UML dikelola oleh OMG object management group Hariyanto, 2004. Menurut Hariyanto 2004 tujuan utama perancangan UML adalah: 1. Menyediakan bahasa permodelan visual yang ekspresif dan siap pakai untuk mengembangkan dan pertukaran model-model yang berarti. 2. Menyediakan mekanisme perluasan dan spesialisasi untuk memperluas konsep- konsep inti. 3. Mendukung spesifikasi independen bahasa pemrograman dan proses pengembangan tertentu. 4. Menyediakan bisnis formal untuk pemahaman bahasa permodelan. 5. Mendorong pertumbuhan pasar kakas berorientasi objek. 6. Mendukung konsep-konsep pengembangan level lebih tinggi seperti komponen, kolaborasi, framework dan pattern.

2.11.1 UML Diagram

UML menawarkan diagram yang dikelompokkan menjadi lima perspektif berbeda untuk memodelkan suatu sistem. Diagram UML menyajikan perspektif yang berbeda mengenai sistem informasi. Bagian berikut menjelaskan berbagai diagram UML beserta pengertiannya Whitten et al. 2004.

2.11.1.1 Class Diagram

Class Diagram merupakan kumpulan class dan object. Oleh karena itu pengertian class sangat penting sebelum merancang class diagram. Whitten et al. 2004 dalam buku Widodo dan Herlawati 2011 mengartikan class sebagai satu set objek yang memiliki atribut dan perilaku yang sama. Class terkadang disebut sebagai kelas objek object class. Secara alami, objek yang berupa buku analisis desain dan buku pemrograman kita kelompokan dalam satu kelas, yaitu kelas buku. Widodo dan Herlawati, 2011 Secara teknis, Pender dan Tom 2003 dalam buku Widodo dan Herlawati 2011 mengartikan sebuah kelas sebagai suatu definisi sumber daya yang termasuk di dalamnya informasi-informasi yang menggambarkan fitur suatu entitas dan bagaiman penggunaannya. Sedangkan objek adalam entitas yang bersifat unik yang mengikuti aturan-aturan yang sudah didefinisikan dalam kelasnya. Kelas menggambarkan suatu kelompok yang memiliki kesamaan keadaan dan perilaku. Kelas merupakan cetak biru suatu objek dalam sistem orientasi objek. Dapat dikatakan kelas adalah sejenis alat pengklasifikasi. Tabel 2.2 Notasi Class Diagram Whitten dan Bentley, 2008 Notasi Keterangan Class 1. class name 2. attributes 3. behaviors Association Agregation Generalization 1 Class 1 2 3 Guru - jabatan - no_sk_jabatan - tanggal_sk_jabatan - tanggal_mulai_jabatan - tanggal_selesai_jabatan + read TU - jabatan - no_sk_jabatan - tanggal_sk_jabatan - tanggal_mulai_jabatan - tanggal_selesai_jabatan + create + read + update + delete pegawai - id_peg - nip - nm_lengkap - ttl - jenis_kelamin - agama - status_kepegawaian - id_jabatan - masa_kerja - email - alamat_rmh - tlp_rmh - hp + create + read + update + delete Jabatan - id_jabatan - nama_jabatan + create + read + update + delete dokumentasi - id_dokumentasi - id_kategori - judul - nama_file - tgl_posting - hits + create + read + update + delete studi_kasus - id_studi_kasus - id_peg - judul - deskripsi - kronologi - solusi + create + read + update + delete laporan - id_laporan - id_peg - jenis - judul - isi_laporan + create + read + update + delete berita - id_berita - kategori - judul - headline - isi_berita + create + read + update + delete 1 1 1 1 Gambar 2.6 Contoh Kasus Knowledge Management System dalam Class Diagram Dari tabel diatas dapat dijelaskan bahwa: 1. Tabel pegawai merupakan generalisasi dari tabel Guru dan TU merupakan generalisasi pegawai karena guru dan TU memiliki atribut yang sama. 2. Tabel jabatan merupakan agregasi dari tabel pegawai karena jabatan adalah bagian dari atribut tabel pegawai. 3. Tabel pegawai memiliki asosiasi dengan tabel dokumentasi, berita, studi kasus, dan laporan karena pegawai dapat melakukan kegiatan yang ada di tabel-tabel tersebut. Hubungan kardinalitas antara tabel pegawai dengan tabel dokumentasi, berita, studi kasus, dan laporan adalah 1... satu ke banyak yang artinya seorang pegawai dapat melakukan banyak dokumentasi, berita, studi kasus dan laporan.

2.11.1.2 Mapping Problem Domain Object to an RDBMS Format

Menurut Dennis et al. 2005 cara memetakan problem domain object dalam class diagram ke format RDBMS ada delapan tahapan, yaitu: 1. Petakan semua class konkret dalam problem domain ke tabel RDBMS. Jika, problem domain class abstrak memiliki beberapa subclass langsung, petakan juga ke dalam tabel RDBMS. 2. Petakan atribut bernilai tunggal ke dalam kolom tabel. 3. Petakan metode untuk disimpan di dalam prosedur atau modul program. 4. Petakan agregasi yang bernilai tunggal dan hubungan asosiasi dengan kolom yang dapat menyimpan primary key dari tabel terkait, yaitu, menambahkan foreign key ke dalam tabel. Lakukan hal tersebut untuk kedua sisi yang berhubungan. 5. Petakan atribut multi-valued dan buat hubungan one-to-many dari tabel yang asli ke tabel yang baru. 6. Petakan multi-valued agregasi dan hubungan asosiasi ke tabel asosiatif baru yang menghubungkan dua tabel asli bersama-sama. Masukkan primary key dari kedua tabel tersebut ke dalam tabel asosiatif yang baru, yaitu menambahkan foreign key ke tabel. 7. Untuk hubungan agregasi dan asosiasi dengan tipe campuran, copy primary key dari sisi single-valued 1..1 atau 0..1 ke kolom baru pada tabel yang memiliki hubungan multi-valued 1.. atau 0.. yang dapat menyimpan primary key dari tabel terkait. Yaitu menambahkan foreign key ke tabel multi-valued. 8. Untuk hubungan generalisasi, pastikan bahwa primary key dari subclass sama dengan primary key dari superclass. Multiplicity dari hubungan asosiasi yang baru dari subclass ke superclass harus 1..1. Jika superclass konkret, yaitu mereka dapat menginisiasi sendiri, maka multiplicity dari superclass ke subclass adalah 0.., jika tidak konkret hubungannya adalah 1..1. Selanjutnya, Exclusive-or XOR harus ditambahkan kedalam asosiasi. Lakukan langkah ini untuk setiap superclass . Atau, sesuaikan inheritance dengan menyalin atribut superclass ke semua subclass dan hapus superclass dari desain. Berikut ini adalah contoh mapping dari class diagram ke RDBMS tabel: Gambar 2.7 Contoh Mapping dari Class Diagram ke RDBMS Tabel user - id_user - username - password - level - blokir + create + read + update + delete Guru - jabatan - no_sk_jabatan - tanggal_sk_jabatan - tanggal_mulai_jabatan - tanggal_selesai_jabatan + read TU - jabatan - no_sk_jabatan - tanggal_sk_jabatan - tanggal_mulai_jabatan - tanggal_selesai_jabatan + create + read + update + delete Admin - jabatan - no_sk_jabatan - tanggal_sk_jabatan - tanggal_mulai_jabatan - tanggal_selesai_jabatan + create + read + update + delete pegawai - id_peg - nip - nm_lengkap - ttl - jenis_kelamin - agama - status_kepegawaian - id_jabatan - masa_kerja - email - alamat_rmh - tlp_rmh - hp + create + read + update + delete Jabatan - id_jabatan - nama_jabatan + create + read + update + delete user - id_user - id_peg - username - password - level - blokir + create + read + update + delete 1 1 1 laporan - id_laporan - id_peg - jenis - judul - isi_laporan + create + read + update + delete laporan - id_laporan - id_peg - id_jenis - judul - judul_seo - isi_laporan - hari - tanggal - jam - dibaca + create + read + update + delete jenis_laporan - id_jenis - nama_jenis + create + read + update + delete 1 diskusi - id_diskusi - kategori - id_pegawai - judul_diskusi - isi_diskusi + create + read + update + delete diskusi - id_diskusi - id_kategori - id_peg - judul - judul_seo - isi_diskusi - hari - jam - tanggal - dibaca - gambar + create + read + update + delete komentar - id_komentar - id_diskusi - id_peg - isi_komentar - tgl - jam_komentar + create + delete 1 1. Class user dan generalisasi dari class user terpetakan menjadi beberapa tabel yaitu: tabel data pegawai, jabatan, dan user. 2. Class TU, guru, dan admin, merupakan Class Abstrak karena memiliki hubungan Generalisasi dengan Class User sehingga tidak menjadi tabel. 3. Class Laporan dipetakan menjadi dua tabel yaitu Tabel laporan dan jenis_laporan. 4. Class diskusi dipetakan menjadi dua tabel yaitu tabel diskusi dan komentar.

2.11.1.3 Sequence Diagram

Sequence diagram secara grafis menggambarkan bagaimana objek berinteraksi dengan satu sama lain melalui pesan pada eksekusi sebuah use case atau operasi. Diagram ini mengilustrasikan bagaimana pesan terkirim dan diterima diantara objek dan dalam sekuensi apa Whitten dan Bentley, 2008. Tabel 2.3 Notasi Sequence Diagram Whitten dan Bentley, 2008 Simbol Keterangan Boundary Biasanya berupa tepi dari sistem, seperti user interface atau suatu alat yang berinteraksi dengan sistem lain Activation Merupakan periode yang dibutuhkan saat melakukan operasi. Actor1 Merepresentasikan entitas yang berada di luar sistem,mereka bisa berupa manusia, atau perangkat sistem lain. Message1 Relasi ini digunakan untuk memanggil operasi atau metode yang dimiliki oleh suatu objek. Message mengharuskan kita menyelesaikan proses baru kemudian memanggil proses berikutnya. Message2 Relasi ini menunjukkan bahwa suatu objek hendak memanggil dirinya sendiri. Actor Form Login User Masukkan Username Password username password Cek Data Login berhasil Login gagal Pesan peringatan Halaman Home Gambar 2.8 Contoh Sequence Diagram Login Berikut penjelasan dari sequence diagram di atas: 1. Aktor melakukan operasi login dengan memasukkan username dan password ke dalam form login. 2. Dari form login akan memanggil data username dan password ke dalam tabel user di database. 3. Dilakukan pengecekan data username dan password. 4. Apabila data username dan password cocok maka login berhasil dan masuk ke halaman home. 5. Apabila data username dan password tidak cocok maka login gagal dan muncul pesan peringatan.

2.11.1.4 Use case Diagram

Use case Diagram menunjukkan hubungan antara actor dan Use cases. Diagram ini dapat ditemukan di dalam UML, diagram ini pada dasarnya menjelaskan hal yang sama seperti yang terdapat di tabel aktor. Actor dan Use case adalah dua elemen utama di dalam penjelasan mengenai Use case Diagram. Mereka dapat terhubung satu sama lain, dengan demikian indikasi bahwa pemberian actor dalam sebuah diagram dapat berpartisipasi dalam pemberian Use case. Actor dan Use case juga saling terkait melalui penggunaan struktur class diagram. Notasi dalam Use Case: a. Aktor actor Aktor adalah segala sesuatu yang perlu berinteraksi dengan sistem untuk pertukaran informasi. Aktor menginisiasi kegiatan sistem, yakni sebuah use case, dengan maksud melengkapi beberapa tugas bisnis yang menghasilkan sesuatu yang dapat diukur. Aktor mewakili sebuah peran yang dipenuhi oleh seorang pengguna yang berinteraksi dengan sistem dan tidak berarti menggambarkan individu ataupun nama pekerjaan tunggal. Gambar 2.9 Notasi Aktor Nugroho, 2005 b. Use Case Use case adalah deskripsi dari urutan aksi-aksi yang ditampilkan sistem yang menghasilkan suatu hasil yang terukur bagi suatu actor. Use case digunakan untuk menstrukturkan perilaku pada suatu model. Secara grafis, use case digambarkan dengan elips tegas yang berisi namanya. Nama Use Case Gambar 2.10 Notasi Use Case Nugroho, 2005 c. Interaction Interaksi adalah suatu perilaku yang mencakup himpunan pesan-pesan message yang diperlukan untuk menyelesaikan suatu fungsi tertentu. Perilaku kumpulan objek-objek atas operasi individual bisa dispesifikasi dengan interaksi. Sebuah interaksi terdiri dari beberapa unsur, yaitu pesan-pesan urutan aksi perilaku yang dihasilkan oleh sebuah pesan, serta link hubungan antara objek-objek. Gambar 2.11 Notasi Interaction Nugroho, 2005 d. Relationship Relasirelationship digambarkan sebagai bentuk garis antara dua simbol dalam Use Case Diagram. Relasi antar aktor dan use case disebut juga dengan asosiasiassociation. Asosiasi ini digunakan untuk menggambarkan bagaimana hubungan antara keduanya. Relasi antara use case dengan use case: a Include : pemanggilan use case oleh use case lain atau untuk menggambarkan suatu use case termasuk di dalam use case lain. Digambarkan dengan garis berpanah dengan tulis include b Extend : digunakan untuk menunjukan bahwa satu use case merupakan tambahan fungsional dari use case lain jika kondisi atau syarat tertentu terpenuhi. Digambarkan dengan garis berpanah dengan tulis extend. guru admin login logout Knowledge Management System SMAN 46 Jakarta Pegawai Tata Usaha Registrasi include View Data Guru Input Data Guru extend Pesan Gambar 2.12 Contoh Use Case Diagram Whitten et al. 2004 Berikut penjelasan dari Use Case diatas: 1. Terdapat 3 aktor dalam use case diagram diatas, yaitu guru, admin dan pegawai tata usaha. 2. Tulisan yang berada dalam bentuk elips disebut use case, dimana dalam use case diagram diatas use case tersebut antara lain registrasi, login, logout, input data guru, view data guru, input forum diskusi, view forum diskusi, input studi kasus, view laporan, input laporan, view studi kasus, input dokumentasi pengetahuan, view dokumentasi pengetahuan, input informasi, view informasi, pesan dan search . 3. Guru dapat melakukan registrasi, login, logout, view data guru, input forum diskusi, input studi kasus, view laporan, view dokumentasi pengetahuan, pesan, view informasi dan search di dalam sistem manajemen pengetahuan SMAN 46 Jakarta. 4. Admin dapat melakukan login, logout, dan input data guru dalam sistem manajemen pengetahuan SMAN 46 Jakarta. 5. Pegawai tata usaha dapat melakukan login, logout, view forum diskusi, view studi kasus, input laporan, input dokumentasi pengetahuan dan input informasi. 6. Garis bertuliskan include pada use case login ke logout menunjukkan bahwa untuk dapat melakukan logout sebelumnya harus login terlebih dahulu. 7. Garis bertuliskan extend pada use case input data guru ke view data guru dan use case lain yang serupa menunjukkan bahwa input data guru merupakan tambahan fungsional dari view data guru.

2.11.1.5 Activity Diagram

Activity diagram secara grafis digunakan untuk menggambarkan rangkaian aliran aktivitas baik proses bisnis atau use case. Diagram ini juga dapat digunakan untuk memodelkan action yang akan dilakukan saat sebuah operasi dieksekusi, dan memodelkan hasil dari action tersebut. Tabel 2.4 Notasi Activity Diagram Whitten dan Bentley, 2008 Notasi Keterangan Action State Action state adalah langkah-langkah dalam sebuah activity. Action bisa terjadi saat memasuki activity, meninggalkan activity, atau pada event yang spesifik. Initiate Aciivty Menunjukkan arah ke action state berikutnya. Start of the Process Menujukkan dimana aliran kerja itu di mulai. Termination of the Process Menujukkan dimana aliran kerja itu berakhir. Decision Menunjukkan dimana sebuah keputusan perlu di buat dalam aliran kerja. User Guru Sistem Manajemen Pengetahuan SMAN 46 Jakarta Mulai Selesai Input Data Register Ingin Register Pilih Daftar Apakah data valid ? Menampilkan pesan berhasil Pilih “Keluar” Tidak Ya Tidak Ya Gambar 2.13 Contoh Activity Diagram Register Berikut penjelasan dari activity diagram di atas: 1. User Guru memulai kegiatan register dengan “input data register” 2. Guru memilih untuk mendaftar atau tidak jika iya akan dilakukan pengecekan data guru jika tidaka maka akan keluar sistem lalu selesai. 3. Saat pengecekan data apabila data valid maka akan tampil pesan berhasil lalu selesai, jika tidak maka kembali ke “ingin register”.

2.12 MySQL