BAB 2 LANDASAN TEORI
2.1 Teori–teori Dasar/Umum 2.1.1 Pengertian Dokumen Dokumen adalah sebuah tulisan yang memuat informasi. Biasanya, dokumen ditulis di kertas dan informasinya ditulis memakai tinta baik memakai tangan atau memakai media elektronik (seperti printer). Dokumen mengandung informasi, yang merupakan produk dari tulisan yang digunakan untuk berkomunikasi atau menyimpan data. Istilah dokumen juga dapat digunakan sebagai bentuk dari pemikiran, tetapi biasanya lebih berarti secara fisik seperti halaman yang dicetak atau dokumen virtual dalam format digital. (http://id.wikipedia.org/wiki/Dokumen) 2.1.2 Pengertian Manajemen Manajemen merupakan proses memimpin dan mengatur semua atau sebagian dari perusahaan melalui penerapan dan manipulasi sumber daya. Manajemen menurut Mary Parker Follet adalah seni mengatur penyelesaian masalah melalui orang lain (http://en.wikipedia.org/wiki/management) 2.1.3 Pengertian Sistem Menurut O’Brien (2006, p24) sistem adalah sekumpulan komponen yang saling berhubungan yang bekerja bersama-sama mencapai tujuan dengan menerima input dan menghasilkan output dalam proses transformasi yang terorganisir. 7
8 Sedangkan menurut Mathiassen (2000, p9), sistem adalah sekumpulan komponen yang mengimplementasikan kebutuhan pemodelan, fungsi dan antar muka. 2.1.4 Pengertian Document Management System (DMS) "Document management" merupakan suatu istilah yang digunakan untuk menyimpan, mendapatkan kembali, menelusuri, dan administrasi dokumen yang terdapat dalam suatu organisasi. Dimana awalnya menggunakan cabinet file secara manual untuk menyimpan kertas dokumen yang dikategorikan dengan urutan alphabet berdasarkan isi dokumen. Sejak perkembangan menggunakan teknologi komputer, dokumen manajemen sekarang ini juga menggunakan dokumen elektronik dan kertas dokumen akan dikonversi menjadi bentuk dokumen elektronik. (http://www.cecer.army.mil/kws/dmsrpt.htm) Document Management mengarah pada pendekatan suatu sistem untuk menangani dokumen yang kompleks, yang memerlukan pengaturan semua langkah dalam mempersiapkan dan menghasilkan dokumen dari pembuatan yang selanjutnya untuk meng-edit, membuat format, penyusunan dan pembuatan, pencetakan, distribusi, penyajian dan penyimpanan. (Elizabeth A and Bridget N, 2001, p146)
9 Pendekatan Document management ini meliputi empat elemen : 1. Integrasi berbagai aktivitas berupa penyusunan dokumen 2. mengurangi langkah yang dibutuhkan untuk menghasilkan dokumen yang kompleks 3. Mendistibusi dokumen secara elektronik 4. Menampilkan dokumen-dokumen yang tepat. Document Management System (DMS) merupakan sebuah system computer (atau seperangkat program komputer) yang digunakan untuk menelusuri dan menyimpan dokumen elektronik dan gambar pada dokumen. (http://en.wikipedia.org/wiki/Document_Management_System) 2.1.5 Komponen Manajemen Dokumen a. Metadata Merupakan data yang terdapat pada dokumen, biasanya bersifat sebagai properti dari dokumen tersebut. Metadata dapat diinput secara manual atau dihasilkan secara otomatis oleh program. Contoh : tanggal pembuatan. b. Integration Kebanyakan sistem manajemen dokumen berusaha mengintegrasikan manajemen dokumen dengan aplikasi lainnya sehingga memudahkan user untuk mengubah, menambah, menghapus, dan menyimpannya sebagai versi baru tanpa harus keluar dari aplikasi itu. c. Capturing Penyimpanan gambar dari dokumen dengan menggunakan scanner atau OCR.
10 d. Indexing Sistem penomoran dari dokumen, agar dokumen mudah dicari dan diidentifikasi. e. Storage Penyimpanan dokumen, biasanya kapasitas harddisk yang dibutuhkan, dan sistem back up. f. Retrieval Pengambilan dokumen dan metode yang dilakukan untuk mengedit atau menghapus dokumen oleh author dokumen yang bersangkutan. g. Distribution Distribusi dari dokumen, pengendalian distribusi agar sampai ke orang yang tepat dapat melalui beberapa cara. h. Security Keamanan yang diciptakan terhadap dokumen-dokumen tersebut, proteksi dan pengendalian distribusi dari dokumen serta menjaga keaslian dokumen. i. Workflow Document management systems harus membangun modul workflow. Ada beberapa tipe workflow, dimana penggunaannya tergantung pada lingkungan e-DMS yang diajukan. Manual workflow diperlukan user untuk melihat dokumen dan memutuskan kepada siapa dokumen akan dikirim. Aturan dasar workflow mengijinkan admin untuk membuat aturan yang mengatur flow dari dokumen dalam organisasi.
11 2.1.6 Pengertian Workflow Workflow bersangkutan dengan otomatisasi dari prosedur-prosedur dimana dokumen-dokumen, informasi atau tugas-tugas di jalankan di antara para peserta sesuai dengan aturan yang telah dibuat untuk mencapai tujuan bisnis. Workflow adalah sebuah otomatisasi yang terkomputerisasi dari proses bisnis, sebagian maupun menyeluruh. Dimana dokumen, informasi atau tugastugas diberikan dari satu individu ke individu lainnya untuk ditindaklanjuti berdasarkan aturan dan prosedur yang berlaku. (David Hollingsworth, 1995, p6) Workflow Management System adalah sebuah sistem yang secara lengkap mendefinisikan,
mengatur,
dan
menjalankan
Workflow
melalui
pengeksekusian software dimana perintah pengeksekusian dijalankan oleh representasi komputer dijalankan oleh satu atau lebih workflow engine, dimana sistem ini dapat menginterpretasikan definisi proses, berinteraksi dengan individu yang terlibat, serta apabila diperlukan menggunakan aplikasi teknologi informasi dengan tepat. (David Hollingsworth, 1995, p6) 2.1.7 Karakteristik Workflow Menurut Marshak (1994), karakteristik mendasar dari sebuah workflow adalah tugas atau aktivitas yang dilakukan oleh pelaku bisnis dengan menggunakan alat-alat pendukung yang memungkinkan adanya akses terhadap beraneka sumber daya informasi yang dapat dipakai bersama.
12 Menurut David Hollingsworth karakteristik workflow adalah sistem yang memberikan dukungan kepada 3 area fungsional, yaitu: 1. Build time function: berkaitan dengan pendefinisian, pemodelan proses bisnis, serta seluruh aktivitas yang terlibat didalamnya. Tahap ini proses bisnis dalam bentuk prosedur yang terdokumentasi diterjemahkan melalui analisis, permodelan, teknik-teknik definisi sistem menjadi suatu bentuk definisi proses bisnis formal yang dapat di proses komputer. 2. run time proses
control function: berkaitan dengan manajemen
eksekusi proses bisnis dalam lingkungan operasional serta pengaturan beraneka ragam aktivitas sebagai bagian dari setiap proses bisnis. 3. run time interaction function: berkaitan dengan interaksi antara workflow dengan pelaku proses bisnis dan aplikasi teknologi informasi
Gambar 2.1 karakteristik sistem workflow
13 2.2 Teori–teori Khusus 2.2.1 .NET 2.2.1.1 Pengertian .NET Framework .Net framework adalah model pengembangan microsoft dimana software menjadi platform dan device independent, dan data selalu tersedia melalui internet. .NET framework merupakan infrastruktur dari .NET. (Microsoft Official Cource, 2002) .NET dibangun berdasarkan arsitektur terbuka atau open architecture. .NET merupakan platform yang dapat digunakan dan menjalankan generasi berikut dari microsoft windows dan web application. Tujuan dari microsoft .NET platform adalah untuk mempermudah pengembangan web. .NET platform terdiri dari teknologi utama berikut ini : •
The .NET framework
•
The .NET enterprise servers
•
Building block services
•
Visual Studio .NET
.NET framework meliputi clients, servers, services, dan terdiri dari •
Sebuah model programming yang dapat membuat Extensible Markup Language (XML) Web Services dan Applications.
•
Satu set building block services yang merupakan user-centryc set of XML Web services yang menggerakkan kendali user data dari aplikasi ke pengguna. Sebagai contohnya, Microsoft
14 passport merupakan komponen inti dari .NET initiative yang mudah untuk diintegrasikan pada berbagai macam aplikasi. •
Satu set .NET Enterprise Servers, termasuk windows 2000, Microsoft SQL Server, dan Microsoft BizTalk Server, yang mengintegrasikan,
menjalankan,
mengoperasikan
dan
mengatur XML web services dan applications. •
Client Software, seperti Windows XP dan Windows CE, yang membantu pengembang untuk menyalurkan user experience yang luas melalui seperangkat alat tertentu.
•
Tools (alat bantu), seperti Visual Studio .NET yang dapat digunakan untuk mengembangkan XML web services, window dan web application untuk memperkaya user experience.
2.2.1.2 ASP.NET ASP.NET merupakan versi terakhir dari microsoft active server pages (ASP). Kehadiran ASP.NET
dalam dunia web memberikan
kemudahan bagi para developer ASP.NET untuk meningkatkan produktivitas pengembang web karena ASP.NET memiliki model pemrograman yang mudah digunakan mempunyai pilihan bahasa yang fleksibel
yang
membedakan
ASP
classic
yang
hanya
dapat
menginterpretasikan VBscript dan Jscript saja. •
Selain itu ASP.NET juga dilengkapi fasilitas pendukung ( support tools) yang bagus sehingga memudahkan pengembangan dan juga
15 kaya akan class-class framework tanpa membutuhkan komponenkomponen tambahan untuk membangun sebuah aplikasi. Pada intinya .NET merupakan suatu pengembangan framework dari API ( Application Programming Interface ) Windows masa classic atau yang kita kenal dengan nama windows 2000. 2.2.2 Database Database adalah koleksi data logikal yang saling berhubungan dan menggambarkan deskripsi dari data tersebut, didesain untuk memenuhi kebutuhan informasi dari sebuah perusahaan (Thomas Connolly dan Caroline Begg, 2002, p14) Pengertian lain dari database yaitu penyimpanan data tunggal dan besar yang dapat digunakan secara simultan oleh berbagai departemen dan user 2.3 Analisis dan Perancangan Sistem Informasi Berorientasi Objek Menurut Mathiassen et al. (2000, p12) berpendapat bahwa analisis dan perancangan berorientasi objek adalah kumpulan dari langkah-langkah secara umum untuk menyelesaikan analisis dan perancangan. 2.3.1 Pengertian Analisis Sistem Menurut McLeod ( 2004, p161 ) analisis sistem adalah penelitian atas sistem yang telah ada dengan tujuan untuk merancang sistem baru atau diperbaharui. Sedangkan menurut Jogiyanto ( 1995, p129 ) analisis sistem adalah penguraian suatu sistem informasi yang utuh ke dalam bagian-bagian komponennya dengan maksud untuk mengidentifikasi dan mengevaluasi
16 permasalahan, kesempatan, hambatan yang terjadi dan kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan. Kesimpulan: analisis sistem adalah penelitian atas sistem yang sedang berjalan, mencari kelemahannya, kemudian merancang sistem baru untuk mengatasi kelemahan- kelemahan yang ada. 2.3.2 Pengertian Perancangan Sistem Menurut Mcleod (2004, p140) perancangan sistem adalah penentuan proses dan data yang diperlukan oleh sistem baru. Jika sistem tersebut berbasis komputer, rancangan dapat menyertakan spesifikasi jenis peralatan yang akan digunakan. Sedangkan menurut Whitten et al
(2004, p39) perancangan sistem
merupakan spesifikasi atau konstruksi dari solusi teknikal berbasis komputer bagi persyaratan bisnis yang diidentifikasi dalam analisis sistem Dengan demikian dapat disimpulkan bahwa perancangan sistem adalah penentuan spesifikasi proses dan data yang diperlukan oleh sistem baru sebagai solusi teknikal dari permasalahan yang diidentifikasi dalam analisis yang diajukan kepada pemakai informasi untuk dipertimbangkan. 2.3.3 Aktivitas Utama Object Orientation Analysis and Design (OOA&D) Menurut Mathiassen et al. (2000, p14) OOA&D terdiri dari empat aktivitas utama yaitu : o Problem Domain Analysis o Application Domain Analysis o Architectural Design o Component Design
17
Requirements For use Analisis Problem Domain
Desain Komponen Model
Analisis Application Domain
Spesifikasi komponen
Spesifikasi Arsitektur
Perancangan Arsitektur Gambar 2.1 Empat kegiatan utama dalam OOAD (Sumber: Mathiassen et al, 2000, p15 ) 2.3.4 System Choice Tujuan system choice adalah untuk mengetahui karakteristik system secara keseluruhan, memberikan informasi yang praktis, dan membantu untuk memilih kualitas sistem dengan menjawab dua pertanyaan dasar : o Sub aktivitas apa yang terdapat di dalamnya. o Teknik apa yang paling penting untuk mendukung aktivitas-aktivitas. 2.3.4.1 Pengertian System Definition Menurut Mathiassen et al. (2000, p24) pengertian System Definition yaitu deskripsi singkat dari sistem komputerisasi yang diungkapkan dengan bahasa sehari-hari.
18 2.3.4.2 Pengertian Rich Picture Menurut Mathiassen et al. (2000, p26) Rich Picture adalah sebuah gambaran informal yang digunakan menyatakan ilustrasi pemahaman terhadap situasi dari sistem yang sedang berlangsung. Rich Picture dapat digunakan sebagai alat yang berguna untuk menfasilitasi komunikasi yang baik antara pengguna dalam sistem. 2.3.4.3 FACTOR Menurut Mathiassen et al.( 2000, p39 ) Kriteria FACTOR terdiri dari 6 elemen : o Functionality yaitu fungsi sistem yang mendukung tugas- tugas application domain o Application Domain yaitu bagian dari organisasi yang mengadministrasi, memantau, atau mengawasi sebuah problem domain. o Conditions yaitu kondisi dimana sistem akan dikembangkan atau dijalankan. o Technology
yaitu
teknologi
yang
digunakan
untuk
mengembangkan dan teknologi dimana sistem akan dijalankan. o Objects yaitu objek- objek utama pada probem domain. o Responsibility yaitu tanggung jawab sistem secara menyeluruh dalam relasi setiap konteks. 2.3.5 Pengertian Problem Domain Analysis Menurut Mathiassen et al (2000, p6 ), Problem domain yaitu bagian dari konteks yang diatur, diawasi atau dipantau oleh sistem. Analisis problem
19 domain memfokuskan pada informasi apa yang harus ditangani oleh sistem dan menghasilkan sebuah model yang merupakan gambaran dari kelas-kelas, objek-objek, struktur dan perilaku (behavior) yang ada dalam problem domain.
system definition
Classes
Behaviour
Structure Model Gambar 2.2 Aktivitas dalam pemodelan Problem Domain (Sumber: Mathiassen et al, 2000, p46) 2.3.5.1 Classes Menurut Mathiassen et al (2000, p53), Class adalah gambaran atau definisi atau kumpulan objek yang mempunyai structure, behavioral pattern, dan atribut yang bersamaan. Objek adalah suatu entitas
yang
memiliki identitas, state dan behaviour, sedangkan Event adalah kejadian yang melibatkan satu atau lebih objek. 2.3.5.2 Structure Menurut Mathiassen et al (2000, p69), structure merupakan kegiatan kedua dalam problem domain. Tujuan dari structure adalah untuk mencari hubungan struktural antara kelas-kelas dan objek-objek dalam problem domain.
20 Hasil dari kegiatan structure adalah membuat class diagram. Menurut Mathiassen et al (2000, p336), Class diagram menggambarkan kumpulan dari kelas-kelas dan merupakan hubungan yang terstuktur. Menurut Mathiassen et al. (2000, p73), tipe dari Object Oriented Structure terdiri dari dua bagian yaitu : 1. Class Structure Mengekspresikan hubungan konseptual yang statis antar class, meliputi : a. Generalization : sebuah kelas umum (super class) yang menjelaskan property pada suatu kelompok kelas khusus (subclasses). Hubungan dalam generalization dapat dikatakan sebagai hubungan “ is-a”, yang berarti subclass akan mempunyai attribute dan operation yang sama dengan superclass. Person
Customer
Employee
Gambar 2.3 Generalization structure b. Cluster : sebuah kumpulan dari kelas-kelas yang saling berhubungan. Cluster digambarkan dengan notasi file folder yang didalamnya terdapat kumpulan class yang berkaitan. Class-class dalam cluster yang sama dihubungkan dengan hubungan generalization ataupun aggregation, sedangkan class-
21 class yang ada pada cluster yang berbeda dihubungkan dengan hubungan assosication. <
> cars car
engine
passenger car
C ylinder
T ax i
Gambar 2.4 Class structure 2. Object Structure, yang meliputi : a. Aggregation : objek superior (keseluruhan) yang terdiri dari sejumlah objek inferior (sebagian). Hubungan Aggregation dirumuskan sebagai hubungan “has-a” atau “is-part-of” (Mathiassen, p76) Car
Body
Wheel
Gambar 2.5 Aggregation structure Menurut Mathiassen et al (2000, p79) tiga tipe struktur aggregation, yaitu :
22 •
Whole-part, objek superior adalah jumlah dari objek inferior, jika dilakukan penambahan atau penghapusan objek inferior, maka akan mengubah pokok objek superior.
•
Container-content, objek superior adalah container bagi objek inferior, jika melakukan penambahan maupun penghapusan objek inferior, tidak akan mengubah pokok objek superior.
•
Union-member, objek superior adalah objek inferior yang terorganisasi. Tidak akan terjadi perubahan pada objek superior apabila melakukan penambahan atau penghapusan objek inferior tetapi ada batasannya
b. Association : hubungan yang penting antara sejumlah objek objek. Hubungan association digambarkan sebagai garis yang menghubungkan class-class yang relevan. Car
0..*
1..*
Person
Gambar 2.6 Association structure 3. Explore-Pattern, meliputi : a. Role-Pattern : memodelkan situasi dimana seseorang dapat memiliki beberapa peranan (role) yang berbeda di dalam problem domain.
23 b. Relation-Pattern : menghubungkan antara dua object satu dengan yang lainnya melalui hubungan yang membawa masingmasing properti. c. Hierarchy-Pattern : objek dalam satu level dapat dimiliki objek umum yang terdapat pada level umum yang diatasnya. Dalam situasi ini elemen hirarki saling berhubungan d. Item descriptor-pattern : bagian yang digunakan dalam deskripsi sistem administrasi yang berbeda-beda seperti kontrak, polis asuransi dan spesifikasi produk Menurut Lethbrige (2002,p381) urutan yang harus dilakukan untuk membuat class diagram: 1. Langkah pertama identifikasi kelas kandidat. 2. Mulailah dengan kelas yang penting, tambahkan beberapa atribut dan asosiasi dengan jelas apa yang akan dibutuhkan. 3. Mengidentifikasi generalisasi. 4. Daftarkan responbility utama pada setiap kelas. Ini merupakan pernyataan sederhana pada fungsi yang dilakukan oleh setiap kelas. Responbility adalah sesuatu pada yang dibutuhkan sistem untuk melakukan sesuatu. 5. Berdasarkan responbility yang ada putuskan operasi spesifik mana yang dibutuhkan. 6. Ulangi semua proses, kemudian ujilah model untuk melihat apa yang dibutuhkan untuk ditambah atau dihapus (kelas, atribut, asosiasi, generalisai, behavior atau operasi). Kamu akan
24 menginginkan fakta-fakta yang ada untuk memastikan semua atribut dan operasi dibutuhkan untuk memenuhi beberapa responbility dan memiliki informasi yang cukup untuk memenuhi setiap responbility yang ada. Kamu juga akan melihat jika kamu dapat menggunakan beberapa desain pattern. 7. Ulangi langkah terakhir jika dibutuhkan sampai model tercapai.
Gambar 2.7 Class Diagram 2.3.5.3 Behaviour Menurut Mathiasen et al. (2000, p90), kegiatan ketiga dalam problem domain adalah kegiatan behaviour. Behaviour bertujuan untuk membuat model dinamis dari problem domain. Hasil dari kegiatan behaviour adalah membuat statechart diagram seperti gambar dibawah ini. Behaviour pattern mendeskripsiskan kemungkinan jejak event dari semua objek di dalam kelas.
25 / Amount Deposited
/ Account Openend
Customer
/ Amount Closed State1
-name -address -balance
/ Amount Withdrawn
Gambar 2.8 Contoh Statechart Diagram Perilaku dari suatu objek ditentukan oleh urutan event- event (event trace) yang harus dilewati oleh objek tertentu sepanjang waktu. Seperti contoh di atas, kelas ”pelanggan” harus melewati event trace: account opened- amount deposited- amount withdrawn- amount depositedaccount closed sepanjang masa hidupnya. Menurut Mathiassen et al. (2000, p93) ada tiga jenis notasi untuk behaviour pattern yaitu: o Sequence: sekumpulan event muncul satu persatu o Selection: terjadi pemilihan satu event dari sekumpulan event yang muncul o Iteration: sebuah event muncul sebanyak nol atau beberapa kali 2.3.6 Application Domain Analysis Menurut Mathiassen et al.(2000, p115) application domain adalah organisasi yang mengatur, memonitor, atau mengendalikan problem domain.
26 System Definition
Interfaces
Usage Functions
Requirements
Gambar 2.9 Aktivitas dalam application domain analysis (Sumber: Mathiassen et al, 2000, p117) 2.3.6.1 Usage Menurut Mathiassen et al. (2000, p119), kegiatan usage merupakan kegiatan pertama dalam analisis application domain yang bertujuan untuk menentukan bagaimana actor melakukan interaksi dengan sistem. Actor adalah abstraksi dari user yang terlibat dalam use case. Sedangkan use case merupakan interaksi antara sistem dengan actor di dalam application domain Hasil dari usage adalah deskripsi dari semua use case dan actor. Lethbrige (2002,p235) Use case merupakan pemodelan suatu sistem dari sudut pandang bagaimana user atau sistem lain berinteraksi dengan sistem ketika mencoba untuk mencapai tujuan. Cara menggambarkan suatu use case : A. Name. Berikan secara singkat deskripsi nama suatu use case B. Actors. Daftarkan aktor-aktor yang dapat melakukan use case ini.
27 C. Goals. Menjelaskan apa yang aktor coba untuk capai. D. Preconditions. Menjabarkan status dari sistem sebelum use case terjadi dengan mendaftarkan semua kondisi yang harus terjadi sebelum aktor memulai use case ini. E. Summary. Rangkuman apa yang terjadi pada aktor saat melakukan use case. F. Related use case. Daftarkan usecase yang generalisasi, spesialisasi, extend, atau include pada use case ini. G. Steps. Jabarkan tiap-tiap langkah dari use case menggunakan format dua kolom dengan kolom kiri menunjukkan aksi yang dilakukan oleh aktor, dan kolom kanan menunjukkan respon dari sistem. H. Postconditions. Status apa yang terjadi pada sistem ini saat use case sudah selesai dilakukan.
UseCase1
Actor_1 <>
UseCase2 Actor_2
UseCase3
Gambar 2.10 Contoh UseCase diagram
28 2.3.6.2 Function Kegiatan kedua dari analisis application domain adalah kegiatan function. Function bertujuan untuk menentukan kemampuan dari suatu sistem memproses informasi. Function adalah fasilitas untuk membuat suatu model bermanfaat bagi actor. Function memfokuskan pada apa yang bisa dilakukan sistem untuk membantu actor dalam pekerjaan mereka. Menurut Mathiassen et al. (2000, p138), function mempunyai empat tipe, yaitu: o Update function: fungsi yang diaktifkan oleh event dari problem domain dan menghasilkan perubahan dalam model state. o Signal function: fungsi yang diaktifkan oleh perubahan di model state dan menghasilkan reaksi dalam konteks. o Read function: fungsi yang diaktifkan dengan adanya kebutuhan informasi oleh actor dalam melakukan tugas dan sistem akan menampilkan informasi yang diinginkan. o Compute function: fungsi yang diaktifkan oleh adanya kebutuhan informasi oleh actor dalam melakukan tugas dan terdiri dari perhitungan sejumlah informasi
29 2.3.6.3 Interface Kegiatan ketiga dari analisis application domain adalah interface, yang bertujuan untuk menentukan system’s interface. Interface digunakan oleh actor untuk berinteraksi dengan system. Menurut Mathiassen et al (2000, p151), activity interface mempunyai tiga konsep yaitu: 1.
Interface,
yaitu
fasilitas yang membuat model sistem dan
fungsi dapat digunakan oleh actor. 2. User interface, adalah interface untuk user. 3. System interface, adalah interface untuk sistem lain. Salah satu user interface yang baik adalah dapat beradaptasi dengan tugas dan memiliki pemahaman user terhadap sistem. Kualitas user interface ditentukan oleh kegunaan atau usability interface tersebut bagi pengguna. Usability bergantung pada yang menggunakan dan situasi sistem tersebut pada saat digunakan. Sehingga dapat dikatakan bahwa usability bukan merupakan ukuran yang pasti dan objektif. Ada 4 jenis pola user interface yaitu : 1.
Menu selection, yaitu menampilkan pilihan-pilihan pada user interface
2.
Form fill-in, yaitu pola klasik untuk entri data.
3. Command language, yaitu user memasukkan dan mengaktifkan perintah format sendiri.
30 4.
Direct
manipulation,
yaitu
user
memilih
objek
dan
melaksanakan function atas objek dan melihat hasil dari interaksi mereka tersebut Menurut Bennet et al (2006, p234) Sequence diagram adalah bagian dari interaksi UML diagram, sequence diagram ini secara berhubungan sesuai dengan diagram komunikasi untuk interaksi yang sederhana. Suatu interaksi menentukan pola komunikasi diantara sejumlah object atau system yang berpartisipasi dalam satu kolaborasi. Interaksi ini dijelaskan oleh rangkaian pesan yang berurutan antara object. Sequence diagram menggambarkan interaksi antara penyusunan atau perubahan objek dalam waktu yang berurutan. Sequence diagram dapat digambarkan dalam level yang berbeda dari detail dan digunakan untuk
menemukan
maksud
dalam
beberapa
tingkatan
dalam
pengembangan daur hidup. 2.3.7 Architectural design Menurut Mathiassen et al (2002, p173) keberhasilan suatu sistem ditentukan dari kekuatan desain arsitekturalnya. Arsitektur membentuk sistem yang sesuai dengan sistem tersebut dengan memenuhi kriteria desain tertentu. Arsitektur berfungsi sebagai kerangka untuk pengembangan selanjutnya. Suatu arsitektur yang tidak jelas akan menghasilkan pekerjaan yang sia-sia.
31 Analysis document
Component architecture Criteria
Architectural specification
Process architecture
Gambar 2.11 Aktivitas dalam perancangan arsitektur (Sumber: Mathiassen dkk, 2000, p176) 2.3.7.1 Criteria Menurut Mathiassen et al (2002, p178 ) tujuan dari sebuah criteria
adalah
untuk
mempersiapkan
prioritas
dari
sebuah
perancangan. Konsep utama pada criteria yaitu : 1.
Criteria : menentukan properti yang diinginkan dari sebuah arsitektur.
2.
Condition : hal–hal yang bersifat teknis, organisasional, kelebihan dan
keterbatasan manusia yang terlibat dalam tugas
Sebuah desain yang baik memiliki tiga ciri-ciri yaitu : 1.
Tidak mempunyai kelemahan. Syarat ini menyebabkan adanya penekanan pada evaluasi dari kualitas berdasarkan review dan eksperimen dalam menentukan prioritas dari criteria yang mengatur kegiatan Perancangan.
32 2.
Menyeimbangkan beberapa kriteria Konflik sering terjadi antar kriteria, maka untuk menentukan criteria mana yang diutamakan dan bagaimana cara untuk menyeimbangkannya dengan criteria yang lain bergantung pada situasi sistem tertentu.
3.
Usable, flexible, dan comprehensible Criteria ini bersifat umum dan digunakan pada sebagian setiap proyek pengembangan sistem.
33 Tabel 2.1 Criteria umum untuk kualitas software Kriteria Usable
Ukuran dari Kemampuan sistem untuk beradaptasi dengan organisasi, hubungan kerja, dan konteks secara teknis.
Secure
Pencegahan terhadap akses yang tidak dikehendaki terhadap data dan fasilitas lainnya.
Efficient
Eksploitasi secara ekonomis dari fasilitas-fasilitas technical platform.
Correct
Pemenuhan akan kebutuhan-kebutuhan.
Reliable
Pemenuhan
atas
ketepatan
yang
diperlukan
dalam
pengeksekusian suatu fungsi. Maintainable
Biaya penempatan dan perbaikan sistem yang rusak
Testable
Biaya untuk memastikan bahwa sistem yang dikembangkan akan sesuai dengan yang diharapkan.
Flexible
Biaya untuk memodifikasi sistem yang dikembangkan.
Comprehensible
Usaha
yang
dibutuhkan
untuk
memperoleh
suatu
pemahaman tentang sebuah system Reusable
Kemampuan untuk mengunakan bagian sistem ke sistem lain yang berhubungan.
Portable
Biaya pemindahan sistem ke technikal platform lainnya.
Interoperable
Biaya menggabungkan sistem ke sistem lainnya.
34 2.3.7.2 Component Architecture Menurut Mathiassen et al (2002, p190) Component architecture adalah sebuah struktur sistem dari komponen-komponen yang saling berhubungan. Component architecture membuat sistem lebih mudah untuk dimengerti, menyederhanakan desain, dan mencerminkan kestabilan sistem. Hal ini dikarenakan komponen merupakan subsistem dari suatu sistem Pola dalam desain komponen arsitektur yang umum digunakan, yaitu: 1.
Layered architecture pattern Pola ini adalah model klasik pada software. Layer arsitektur ini terdiri dari beberapa komponen yang ditunjuk sebagai layer
<> Layer i+1
<> Layer 1
<> Layer i-1
Gambar 2.12 Layered Architecture Pattern Layer menunjukkan component sedangkan panah menunjukkan dependencies yang berarti perubahan pada satu komponen akan
35 mempengaruhi komponen yang lain. Arsitektur ini sangat berguna untuk membagi sistem ke dalam komponen-komponen 2.
Generic Architecture Pattern Pola ini digunakan dalam menguraikan sistem dasar yang terdiri dari
komponen
interface,
function,
dan
model.
Model
component berada di layer yang paling bawah, kemudian dilanjutkan oleh function layer dan yang paling atas adalah interface < < c o m p o n e n t> > In te r f a c e
< < c o m p o n e n t> > U s e r In te r f a c e
< < c o m p o n e n t> > S y s te m In te r f a c e
< < c o m p o n e n t> > F u n c tio n
< < c o m p o n e n t> > M od el
< < c o m p o n e n t> > T e c h n ic a l P la f o r m
< < c o m p o n e n t> > U IS
< < c o m p o n e n t> > DBS
< < c o m p o n e n t> > F u n c tio n
Gambar 2.13 Generic Architecture Pattern 3.
Client Server Architecture Pattern Pola ini dibangun untuk mengatasi sistem yang terdistribusi di beberapa proses yang tersebar secara geografis. Arsitektur ini
36 terdiri dari sebuah server dan beberapa client. Server memiliki kumpulan operation yang dapat digunakan oleh client. Client menggunakan server secara independen. Bentuk distribusi dari bagian sistem diputuskan antara client dan server. Identifikasi komponen, didalam perancangan sistem atau subsistem, pada umumnya dimulai dengan layer architecture dan client server architecture dimana keduanya merupakan dua layer yang berbeda, tetapi saling melengkapi. Perbedaannya adalah layer architecture memberikan hierarchy discipline, sedangkan client server architecture merupakan ekspresi dari pemikiran jaringan. Dari component architecture ini akan menghasilkan class diagram dengan specification
<> Client 1
<> Client 2
<> Client n
<> Server
Gambar 2.14 Client server Architecture Pattern Ada dua macam metode berbeda dalam membagi komponen client dan server, yaitu : •
Client dan server dianggap sebagai subsistem tunggal yang masing-masing memiliki komponen, yaitu user interface(U), function (F), dan model (M)
37 •
Atau masing-masing dapat dianggap sebagai layer berbeda dalam sistem yang sama
Tabel 2.2 Form Distributed pada Client server architecture Client
Server
Architecture
U
U+F+M
Distributed presentation
U
F+M
Local presentation
U+F
F+M
Distributed functionality
U+F
M
Centralized data
U+F+M
M
Distributed data
2.3.7.3 Process Architecture Menurut Mathiassen et al (2002, p211) Process Architecture adalah struktur sistem eksekusi yang terdiri dari proses-proses yang saling bergantungan. Hasilnya berupa sebuah deployment diagram. Pada aktivitas ini, terdapat 3 jenis pola distribusi, yaitu : a) Centralized Pattern Pola ini menyimpan semua data pada server pusat dan user hanya bisa melihat user interface saja. Keuntungan dari pola ini adalah dapat diimplementasikan pada client secara murah, semua data konsisten karena hanya berada di satu tempat saja, strukturnya mudah.
38
: : Client
User Interface
more clients System Interface
. : Server
user Interface
System interface
Function
Model
Gambar 2.15 Centralized pattern b) Distributed Pattern Pada pola ini, semua terdistribusi ke user atau client dan server hanya menyebarkan model yang telah di-update di antara client. Keuntungan utama pada model ini adalah waktu akses yang rendah, sehingga tidak terjadi kemacetan jaringan, kinerja lebih maksimal, dan back-up data banyak. Kerugian dalam pola ini adalah banyaknya data yang redundant sehingga konsistensi data terancam, kemacetan jaringan yang tinggi karena semua update harus disebar kepada semua client, kebutuhan teknis yang canggih, arsitekturnya lebih sulit dimengerti dan diimplementasikan.
39
_ : Client
user interface
system interface
function
more clients
model
, : Server
System_interface
Gambar 2.16 Distributed pattern c) Decentralized Pattern Client Pola ini berada diantara kedua pola diatas. Pada pola ini client memiliki data tersendiri sehingga data umum hanya berada pada server. Server menyimpan data umum dan function atas data-data tersebut, sedangkan client menyimpan data yang merupakan milik bagian application domain client tersebut. Keuntungan pola ini adalah konsistensi data, karena tidak ada duplikasi data antara client dengan client lain ataupun dengan server, lalu lintas jaringan jarang karena jaringan hanya digunakan ketika data umum di server diupdate. Kekurangan pola ini adalah bahwa semua prosedur harus mampu melakukan fungsi yang kompleks dan memelihara model dalam jumlah besar, sehingga akan meningkatkan biaya hardware
40 :client
user_interface
system interface.
more clients function.
Model (local)
:server
User_Interface
system_interface
Function.
Model (common)
Gambar 2.17 Decentralized pattern 2.3.8 Component Design Tujuan dari component design adalah untuk menentukan kebutuhan di dalam kerangka arsitektur Architectural specifications
Design of components
Design of Component connections
Component specification
Gambar 2.18 Component design (Sumber: Mathiassen et al, 2000, p232)
41 2.3.8.1 Model Component Menurut Mathiassen et al (2002, p236) Model component adalah bagian dari sistem yang mengimplementasikan model problem domain. Hasil dari model component adalah restrukturisasi class diagram yang dibuat pada tahap analisis, terdiri dari penambahan class, attribute dan struktur baru yang menunjukkan events. Restrukturisasi class dapat terjadi pada: •
Generalization Jika terdapat dua class dengan attribute yang sama maka dapat dibentuk class baru (revised class).
•
Association Jika terdapat hubungan many- to- many
•
Embedded Iterations Embedded Iterations merupakan embedded di dalam statechart diagram. Misalnya jika sebuah class terdapat statechart diagram yang mempunyai tiga iterative events, maka kita dapat membentuk tiga class di dalam perancangan model
2.3.8.2 Function Component Menurut Mathiassen et al (2002, p252) Function component adalah bagian dari sebuah sistem yang mengimplementasikan kebutuhankebutuhan fungsional. Tujuan dari Function component adalah untuk menunjukkan pengimplementasian dari functions. Hasilnya berupa class diagram dengan operations dan spesification dari operation yang kompleks
42 2.3.8.3 Connecting Component Pada bagian ini berguna untuk menghubungkan komponenkomponen dari sistem. Terdapat dua konsep dalam connecting component, yaitu:
Coupling Merupakan ukuran untuk mengukur seberapa dekatnya hubungan antara dua kelas atau komponen. Coupling bersifat negatif, maka sebaiknya diminimalisasi.
Cohesion Merupakan sebuah ukuran yang mengukur seberapa baik ikatan dari sebuah class atau komponen. Cohesion bersifat positif, maka dari itu penggunaan cohesion dalam rancangan class atau komponen harus tinggi.
2.4. Delapan Aturan Emas Berikut ini merupakan prinsip-prinsip yang mendasari perancangan antar muka yang dapat diterapkan dalam banyak sistem (Shneiderman, 1998,p74) : 1. Adanya konsistensi (strive for consistency). Aturan ini mungkin sulit dilakukan karena terdapat banyak bentuk dari konsistensi. Serangkaian konsistensi aksi dibutuhkan dalam situasi yang serupa, istilah yang sama dipergunakan dalam menu dan layar bantu, konsisten dalam warna, rancangan, huruf, dan lain-lainnya.
43
2. Pengguna yang sering menggunakan sistem dapat menggunakan shortcut (enable frequent user to use shortcut). Jika frekuensi pengguna suatu sistem meningkat, user ingin mengurangi jumlah interaksi. Singkatan, kunci yang spesial, perintah tersembunyi, dan fasilitas makro dihargai oleh pengguna yang sering menggunakan sistem. 3. Memberikan feedback yang berisi informasi (offer information feedback). Setiap aksi pengguna harus mendapat feedback. Bagi aksi yang sering dan kecil, respon dapat berupa sesuatu yang sederhana. Akan tetapi, untuk aksi yang jarang dan utama, respon harus lebih penting. 4. Merancang dialog dengan penutupan (design dialogs to yield closure). Serangkaian aksi seharusnya diorganisasikan ke dalam kelompok: pemulaan, pertengahan, dan akhir. Feedback yang informative pada penyelesaian suatu kelompok aksi-aksi memberikan kepuasan penyelesaian bagi operator. 5. Menawarkan pencegahan kesalahan dan penanganan kesalahan sederhana (offer error prevention and error handling). Perancangan suatu sistem sedapat mungkin membuat pengguna tidak dapat melakukan kesalahan serius. Jika pengguna melakukan kesalahan, sistem harus mendeteksi kesalahan tersebut dan memberikan instruksi yang mudah dan jelas untuk perbaikan. 6. Mengijinkan pembalikan aksi yang mudah (permit easy reversal of actions). Sedapat mungkin, pembalikan aksi dapat dilakukan. Fasilitas ini mengurangi kegelisahan pengguna karena pengguna tahu bahwa suatu kesalahan dapat dibatalkan, sehingga mendorong pengguna untuk melakukan penjelajahan
44 pilihan-pilihan yang tidak biasa digunakan. 7. Mendukung tempat pengontrolan internal (support internal locus of control). Operator yang berpengalaman mempunyai perasaan yang kuat bahwa para operator tersebut bertanggungjawab terhadap suatu sistem dan sistem memberikan respon terhadap aksi-aksi yang dilakukan. 8. Mengurangi beban ingatan jangka pendek (reduce short-term memory load) Keterbatasan pemrosesan informasi manusia dalam ingatan jangka pendek memerlukan penayangan yang sederhana, menggabung penayangan banyak halaman dan waktu pelatihan yang cukup untuk kode dan rangkaian aksi.