2.9 Unified Modelling Languange
2.9.2 Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa
message yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).
Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang men-
trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. (Darwiyanti &Wahono, 2003)
2.9.3 Class Diagram
Class (Kelas) adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Kelas menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi).
Diagram kelas menggambarkan struktur dan deskripsi kelas, paket dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. (Darwiyanti & Wahono, 2003)
Gambar 2.9 Contoh diagram kelas
2.9.4 Activity Diagram
Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision
juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.
Activity diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena itu activity diagram tidak menggambarkan perlakuan internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses- proses dan jalur-jalur aktivitas dari level atas secara umum. (Darwiyanti &Wahono, 2003)
Gambar 2.10 Contoh activity diagram
2.10 JAVA
Java dibuat dan diperkenalkan pertama kali oleh sebuah tim Sun Microsystem yang dipimpin oleh Patrick Naughton dan James Gosling pada tahun 1991 dengan code nama Oak. Tahun 1995 Sun mengubah nama Oak tersebut menjadi Java. Ide pertama kali kenapa java dibuat adalah karena adanya
motivasi untuk membuat sebuah bahasa pemrograman yang bersifat portable dan
platform independent (tidak tergantung mesin dan sistem operasi) yang dapat digunakan untuk membuat piranti lunak yang dapat ditanamkan (embedded) pada berbagai macam peralatan elektronik consumer biasa, seperti microwave, remote control, telepon, card reader dan sebagainya. (Common Labz, 2008)
Java adalah bahasa pemogramman yang sederhana dan tangguh. Berikut ini adalah beberapa karakteristik dari Java sesuai dengan definisi Sun.
1. Sederhana. Bahasa pemrograman Java menggunakan sintaks mirip dengan C++ namun sintaks pada Java telah banyak diperbaiki terutama menghilangkan penggunaan pointer yang rumit dan multiple inheritance. Java juga menggunakan automatic memory allocation dan memory garbage collection.
2. Berorientasi objek. Java mengunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali. Pemrograman berorientasi objek memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek-objek tersebut.
3. Dapat didistribusi dengan mudah. Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi pada Java.
4. Interpreter. Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah
dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang berbeda-beda.
5. Robust. Java mempuyai reliabilitas yang tinggi. Compiler pada Java mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java mempunyai runtime-Exception handling
untuk membantu mengatasi error pada pemrograman.
6. Aman. Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut.
7. Architecture Neutral. Program Java merupakan platform independent. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform yang berbeda dengan Java Virtual Machine.
8. Portabel.Source code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus dikompilasi ulang.
9. Performance. Performance pada Java sering dikatakan kurang tinggi. Namun performance Java dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan Inprise, Microsoft ataupun Symantec yang menggunakan Just In Time Compilers (JIT).
10.Multithreaded. Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan.
11.Dinamis. Java didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa menggangu program yang menggunakan class tersebut.
2.11 MySQL Server 5
MySQL adalah salah satu Relational Database Management System (RDBMS) yang didistribusikan secara gratis di bawah lisensi GPL (General Public License) yang dibuat oleh MySQLAB. MySQL merupakan turunan dari konsep database SQL (Structured Query Languange) untuk pemilihan/seleksi dan pemasukan data yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis.
Pada MySQL terdapat beberapa storage engine (mesin penyimpanan data) yang berbeda-beda dan dapat ditentukan oleh proggramer database tersebut. Gambar di bawah ini merupakan arsitektur MySQL:
Kelebihan MySQL:
1. Portability. Berjalan stabil pada berbagai sistem operasi (Windows,Linux, Mac OS, Solaris dsb)
2. Free dan Open Source. Didistribusikan secara gratis dan open source. 3. Multiuser. dapat digunakan oleh beberapa pengguna dalam waktu yang
bersamaan tanpa mengalami masalah atau konflik
4. Performance Tuning. Memiliki kecepatan yang baik dalam menangani
5. Column Types. memiliki tipe kolom yang kompleks, seperti : signed/unsigned integer, float, double, char, varchar, blob, time, datetime, timestamp, year, set serta enum
6. Command dan Functions. memiliki operator dan fungsi secara penuh yang mendukung perintah SELECT dan WHERE dalam query
7. Security. memiliki lapisan sekuritas, seperti level subnetmask, nama host
dan izin akses pengguna disertai dengan password enkripsi.
8. Scalability dan Limits. Mampu menangani basis data dalam skala besar dengan jumlah records lebih dari 50 juta dan 60 ribu tabel serta 5 miliar baris.
9. Connectivity. Dapat melakukan koneksi dengan client menggunakan protokol TCP/IP, Unix soket atau Named Pipes.
10.Localization. Dapat mendeteksi pesan kesalah (error code) pada client
dengan menggunakan lebih dari dua puluh bahasa.
11.Interface. Memiliki interface terhadap berbagai aplikasi dan bahasa pemrograman dengan fungsi API (Application Programming Interface). 12.Clients dan Tools. dilengkapi dengan berbagai tool yang dapat digunakan
untuk administrasi database
13.Struktur Tabel. Memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE dibandingkan Oracle atau PostgreSQL. (MySQL, 2000)
40
Bab analisis dan perancangan perangkat lunak berisi analisis aplikasi yang sudah ada serta analisis dan perancangan dari perangkat lunak yang akan dibangun. Pada bab ini akan ditentukan pula kebutuhan dan pemodelan dari perangkat lunak yang akan dibangun, dimana pemodelan menggunakan Unified Modeling Language (UML).
3.1 Analisis Aplikasi eBdesk Collaboration
Pada sub bab ini akan dijelaskan mengenai perangkat lunak yang sudah ada sebelumnya, dalam hal ini adalah aplikasi eBdesk Collaboration, dimana aplikasi pencarian dokumen akan diletakkan pada eBdesk Collaboration.
3.1.1 Deskripsi Sistem
Aplikasi eBdesk Collaboration adalah sebuah aplikasi yang ditujukan sebagai sarana untuk berkolaborasi antar pegawai dalam sebuah perusahaan. Beberapa fitur utama dalam aplikasi eBdesk Collaboration adalah sharing
dokumen, galeri, blog, kegiatan dan forum. Berikut ini akan dijelaskan secara singkat fungsi dari masing-masing fitur yang ada :
1. Pengaturan Profile
Pada modul aplikasi Profile, pengguna dapat melakukan beberapa fungsionalitas seperti mengganti password, mengganti atau mengupload
foto, mengedit personal informasi pengguna baik itu berupa nama depan, nama lengkap, alamat rumah, alamat email dan sebagainya.
2. Pengelolaan Dokumen
Pada modul dokumen, pengguna dapat mengelola dokumen seperti mengupload dokumen, mengisi informasi terhadap dokumen yang diupload, mendownload file yang ada dalam dokumen.
3. Pengelolaan Galeri
Pada modul galeri , pengguna dapat mengelola galeri seperti membuat galeri foto baru, menambahkan foto ke galeri yang sudah ada, mendownload foto yang ada di dalam suatu galeri, memberikan komentar terhadap foto yang sudah di upload.
4. Pengelolaan Kegiatan
Pada modul kegiatan, pengguna dapat melihat kegiatan yang ada, membuat kegiatan baru, menambah informasi pada kegiatan dan memberikan suatu komentar terhadap event.
5. Pengelolaan Blog
Pada modul blog, pengguna dapat mengelola blog seperti membuat blog baru, mengedit dan menghapus blog, dan memberikan komentar terhadap blog yang telah dibuat.
6. Pengelolaan Forum
Pada modul forum, pengguna bisa saling bertukar informasi, berdiskusi tentang suatu hal dan memberikan komentar terhadap suatu topik yang ada.