BAB 2 LANDAS AN TEORI 2.1
Sistem 2.1.1
Pengertian Sistem M enurut Wilkinson (2000, p3) Sistem adalah suatu kerangka kerja
terpadu yang mempunyai suatu sasaran atau lebih. M enurut M ulyadi (2001, p8) mendefinisikan, “Sistem adalah jaringan yang dibuat menurut pola yang terpadu untuk melaksanakan kegiatan pokok perusahaan.”. M enurut M cleod yang diterjemahkan oleh Teguh, H. (2001, p6) menulis, “sistem adalah sekelompok elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan tertentu.”. Tetapi menurut M athiassen (2000, p9),
sistem adalah
kumpulan dari komponen yang mengimplementasikan persyaratan model, function dan interface. Sedangkan menurut M cLeod (2001, p11) definisi sistem adalah sekelompok elemen yang terintegrasi dengan maksud yang sama untuk mencapai suatu tujuan. Suatu organisasi seperti perusahaan atau suatu bidang fungsional sangat cocok dengan definisi ini. Dalam suatu organisasi terdapat berbagai macam jenis sumber daya seperti manusia, material, uang, mesin, dan informasi, dimana sumber daya tersebut bekerja menuju tercapainya suatu tujuan tertentu yang ditentukan oleh
pemilik
modal
atau manajemennya. M odel dasar dari sistem ialah
sebagai berikut : a. Input (masukan) M erupakan sekumpulan data baik dari luar organisasi maupun dari
9
10
dalam organisasi yang akan digunakan dalam proses sistem informasi. b. Process (proses) M erupakan kegiatan konversi, manipulasi, dan analisis dari data input menjadi lebih berarti bagi manusia. c. Output (keluaran) M erupakan proses menditribusikan informasi kepada orang atau kegiatan yang memerlukannya. d. Feedback (Umpan balik) M erupakan output yang dikembalikan kepada orang-orang dalam organisasi untuk membantu mengevaluasi input. e. Subsistem M erupakan sebagian dari sistem yang mempunyai fungsi khusus. M asingmasing subsistem itu sendiri memiliki komponen input, proses, output, dan feedback M enurut M cLeod (2001, p12), hubungan antara elemen-elemen dalam sistem dapat dijelaskan dengan proses sebagai berikut : sumber daya input diubah menjadi sumber daya output. Sumber daya mengalir dari elemen input, melalui elemen transformasi, ke elemen output. Suatu mekanisme pengendalian memantau proses transformasi untuk meyakinkan bahwa sistem tersebut memenuhi tujuannya. M ekanisme pengendalian ini dihubungkan pada arus sumber daya dengan memakai suatu lingkaran umpan balik (feedback loop) yang mendapatkan informasi dari output sistem dan menyediakan informasi
bagi
mekanisme
pengendalian.
M ekanisme
pengendalian
11
membandingkan sinyal-sinyal umpan balik ke sasaran dan mengarahkan sinyal pada elemen input jika sistem operasi memang perlu diubah. Sebagai contoh jika elemen menggambarkan suatu perusahaan manufaktur, sumber daya input adalah bahan baku atau bahan mentah, kemudian melalui proses transformasi
diubah
menjadi
barang
jadi
atau
jasa.
M ekanisme
pengendaliannya adalah manajemen perusahaan, tujuannya adalah sasaransasaran yang
ingin
dicapai perusahaan, dan lingkaran
umpan baliknya
adalah arus informasi dari dan menuju manajemen. 2.1.2
Analisa Sistem Analisa sistem adalah penguraian dari suatu sistem yang utuh ke
dalam bagian-bagian komponennya. Pada analisa sistem pengumpulan data, dokumentasi dan analisa terhadap sistem yang berjalan merupakan hal penting untuk mengembangkan atau membangun sebuah sistem baru. Informasi yang dikumpulkan tahap ini akan dibawa pada tahap berikutnya yaitu perancangan sistem. M enurut Jogiyanto (2005, p8), informasi adalah data yang diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang menerimanya. Sumber informasi adalah data yang diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang menerimanya. Sumber informasi adalah data. Data adalah kenyataan yang menggambarkan suatu kejadian-kejadian dan kesatuan nyata. Kejadian-kejadian (event) adalah sesuatu yang terjadi pada saat tertentu. Kesatuan nyata (fact and entity)
12
adalah suatu objek nyata seperti tempat,benda,dan orang yang benar ada dan terjadi. 2.1.3
Data dan Informasi Data menurut Turban (2003, p15), adalah deskripsi awal dari
suatu
event, aktifitas dan transaksi yang diambil, direkam, disimpan dan
dibagi – bagi, tetapi tidak diatur menjadi sebuah arti yang khusus. M enurut M cLeod (2001, p15) data terdiri dari fakta-fakta dan
angka-angka yang
relatif tidak berarti bagi pemakai. Saat data ini diproses, data tersebut dapat diubah menjadi informasi. Sedangkan pengertian informasi adalah data yang telah diproses, atau data yang memiliki arti. Informasi juga bisa diartikan sebagai data yang diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang menerimanya. Informasi sangat dibutuhkan karena informas i merupakan suatu dasar dalam mengambil keputusan dalam perusahaan. Pengolah informasi adalah salah satu elemen kunci dalam sistem konseptual. Pengolah informasi dapat meliputi elemen-elemen komputer, elemen-elemen non-komputer, atau kombinasi keduanya.
2.2
Sistem Informasi 2.2.1
Pengertian Sistem Informasi M enurut pendapat O’Brien (2003, p7), sistem informasi adalah suatu
kombinasi yang terorganisasi dari sumber daya manusia, perangkat keras,
13
perangkat lunak, jaringan komunikasi, dan sumber data yang mengumpulkan, mengubah, dan menyebarkan informasi ke dalam sebuah organisasi.
So f
s ce st u r eciali o s p R e IS S
Pr tw og a r a re ms Re an d s Pr ou oc ed r c e ur es s
le nd o p ers a P end Us E
Cn tro l of System Pe fo rma nce
Inp ut of Da ta Res our ces
Pro ses D ata i nto In fo rmatio n
Outpu to f Inform atio n Pro duc t
S to rag e of Da ta Res our ces
Netw ork Re sources Communications Media and Net work Support
Gambar 2.1 Komponen Sistem Informasi Adapun komponen - komponen dari sistem informasi adalah metode kerja (work practices), informasi (information), manusia (people), teknologi informasi (information technologies). Alasan diperlukannya sistem informasi dalam suatu organisasi ialah sebagai berikut : a. Untuk sinkronisasi aktifitas – aktifitas dalam organisasi sehingga semua sumber daya dapat dimanfaatkan seefektif mungkin. b. Perkembangan teknologi yang semakin kompleks. c. Semakin pendeknya waktu untuk pengambilan keputusan. d. Lingkungan bisnis yang semakin kompetitif e. Pengaruh kondisi ekonomi internasional f. M eningkatnya kompleksitas dari aktifitas bisnis / organisasi
14
Dalam suatu organisasi, sistem informasi memiliki beberapa peranan dasar yaitu sistem informasi berusaha memberikan informasi aktual tentang lingkungan dari organisasi tersebut sehingga organisasi mendapat gambaran yang akurat tentang lingkungannya. Selain itu dengan aliran informasinya, sistem informasi berusaha agar elemen – elemen di dalam organisasi selalu kompak dan harmonis dimana tidak terjadi duplikasi kerja dan lepas satu sama lain. Dengan demikian dapat dilihat bahwa manfaat dari sistem informasi ialah : a. M enjadikan organisasi lebih efisien dan lebih efektif b. Lebih cepat tanggap dalam merespon perubahan c. M engelola kualitas output d. M emudahkan melakukan fungsi kontrol e. M emprediksi masa depan f. M elancarkan operasi organisasi g. M enstabilkan beroperasinya organisasi h. M embantu pengambilan keputusan 2.2.2 Metodologi Pengembangan Sistem Informasi M enurut O’Brien (2001,p 383) System Development Life Cycle (SDLC) adalah suatu metodologi yang digunakan untuk mengembangkan, memelihara, dan menggunakan sistem informasi. M etodologi ini mencakup sejumlah fase atau tahapan. M enurut Roger
S. Pressman, terdapat beragam model proses
pengembangan perangkat lunak, diantaranya:
15
1. Linear Sequential Model (M odel Sekuensial Linear) M odel ini pertama kali dikemukakan oleh Royce. M odel ini sering disebut model klasik atau waterfall. M odel ini menyarankan pendekatan pengembangan secara sekuen dan sistematik untuk pengembangan perangkat lunak. merupakan model yang tertua.
M odel ini
M odel ini terdiri atas beberapa tahap yaitu:
rekayasa dan pemodelan sistem/informasi, analisis kebutuhan perangkat lunak, desain, generasi kode, pengujian dan pemeliharaan.
Gambar 2.2 M odel Sekuensial Linier 2. Prototyping Model (M odel Prototipe) M odel Prototipe (Prototipe Paradigma) dimulai dengan pengumpulan kebutuhan. Pengembang dan pelanggan bertemu dan mendefinisikan obyektif keseluruhan dari perangkat lunak, mengidentifikasi segala kebutuhan yang diketahui, dan area garis besar di mana definisi lebih jauh merupakan keharusan kemudian dilakukan perancangan kilat. Perancangan kilat membawa kepada konstruksi sebuah prototipe yang kemudian dievaluasi oleh pelanggan/pemakai dan dipakai untuk menyaring kebutuhan pengembang perangkat lunak. Siklus dari model prototipe ada pada Gambar 2.3.
16
Gambar 2.3 M odel Prototype 3. Rapid Application Development (RAD) M odel RAD adalah sebuah model proses perkembangan perangkat lunak sekuensial linier yang menekankan siklus perkembangan yang sangat pendek. M odel RAD merupakan adaptasi “berkecepatan tinggi” dari linear sequential model dimana pengembangan yang cepat dapat diperoleh dengan menggunakan pendekatan konstruksi berbasis komponen. Pemodelan bisnis Pemodelan data Pemodelan proses Pembentukan aplikasi Pengujian dan turnover
Gambar 2.4 M odel RAD
17
4. Evalutionary Software Process Model M odel evolusioner adalah model perulangan.
M odel ini dicirikan dengan
pengembang mengembangkan versi-versi sistem yang lebih lengkap sedikit demi sedikit.
M odel telah mempertimbangkan untuk mengakomodasikan evolusi
produk secara lengkap. M odel ini terdiri dari: a. Incremental model, model ini mengkombinasikan antara linear sequential model dengan filosofi iteratif pada prototyping.
Pada masing-masing sekuen linear
menghasilkan perangkat lunak yang semakin meningkat kompleksitasnya. b. Spriral model, model ini diusulkan oleh Boehm. M odel ini menggabungkan antara sifat alami iterasi dari prototyping dengan aspek sistematik dan terkendali dari linear sequential model. M odel ini memberi peluang untuk pengembangan cepat. c. M odel rakitan komponen, model rakitan komponen menggabungkan beberapa karakter model spiral. M odel ini bersifat evolusioner, sehingga membutuhkan pendekatan iteratif untuk menciptakan perangkat lunak. Tetapi model rakitan komponen merangkai aplikasi dari komponen perangkat lunak sebelum dipaketkan (kadang-kadang disebut “kelas”). d. Concurent development model, model perkembangan konkuren disebut juga rekayasa konkuren. M odel proses yang konkuren dapat disajikan secara skematis sebagai sederetan aktivitas teknis mayor, tugas-tugas dan keadaannya yang lain.
18
5. M odel Formal M odel formal mencakup sekumpulan aktivitas yang membawa kepada spesifikasi matematis perangkat lunak komputer.
M odel ini memungkinkan perekayasa
perangkat lunak untuk mengkhususkan, mengembangkan, dan memverifikasi sitem berbasis komputer dengan menggunakan notasi matematis yang tepat. 6. Teknik Generasi Keempat Bentuk “teknik generasi keempat“ (4GT) mencakup serangkaian alat bantu perangkat lunak yang luas yang secara umum memiliki satu hal: masing-masing memungkinkan perekayasa perangkat lunak untuk mengkhususkan beberapa karakteristik perangkat lunak pada suatu tingkat yang tinggi. Alat bantu tersebut kemudian secara otomatis memunculkan kode sumber yang berdasarkan pada spesifikasi perekayasa. M eskipun jumlah tahapan dalam SDLC dalam berbagai literatur berbeda-beda, namun pada prinsipnya secara keseluruhan semua proses yang dilakukan sama saja. Tahapan-tahapan dalam SDLC adalah sebagai berikut: 1. Analisis Sistem, tahapan ini dimulai karena adanya permintaan terhadap sistem baru. Tujuan utama analisis sistem adalah untuk menetukan hal-hal detail tentang yang akan dikerjakan oleh sistem yang diusulkan (dan bukan bagaimana caranya). Analisis sistem mencakup studi kelayakan dan analisis kebutuhan. 2. Desain Sistem. Tahapan ini dibagi kedalam dua subtahapan, yakni perancangan konseptual dan perancangan fisik. Target akhir tahapan ini adalah menghasilkan
19
rancangan yang memenuhi kebutuhan yang ditentukan selama tahapan analisis sistem. Hasil akhirnya berupa spesifikasi rancangan yang sangat rinci sehingga mudah diwujudkan pada saat pemrograman. 3.
Implementasi
Sistem,
pada
tahap
ini
programmer
harus
mampu
mengimplementasikan desain sistem kedalam bahasa pemrograman, untuk kemudian dilakukan pengujian. 4. Pengembangan dan Pemeliharaan Sistem, tahap ini dilakukan untuk mendeteksi kesalahan-kesalahan sistem yang tidak terdeteksi pada masa pengujian sistem. 2.3
Computer Based Information System (CBIS ) M enurut Turban et al. (2001, p16), sebuah computer-based information system adalah sistem informasi yang menggunakan komputer dan teknologi telekomunikasi untuk melakukan tugas yang harus dilakukannya. CBIS memiliki elemen-elemen yang sama dengan sistem informasi pada umumnya yaitu hardware, software, database, jaringan, prosedur dan manusia. Sumber daya utama dalam keseluruhan sistem adalah manusia, dimana dalam sistem yang ada yang tergolong sebagai sumber daya manusia adalah semua orang yang memiliki ketertarikan terhadap sistem informasi baik dalam penggunaan langsung, pihak yang mengembangkan sistem, sampai dengan orang-orang yang berhubungan dengan pemeliharaan sistem baik perangkat lunak maupun keras. Sedangkan database merupakan elemen sumber daya yang menjadi bahan input dari sistem dimana terdiri dari serangkaian fakta-fata yang belum diolah sehingga masi belum dapat digunakan sebagai suatu informasi yang dapat berguna. Hardware
20
merupakan serangkaian alat atau mesin yang mendukung teknologi informasi seperti monitor, PC komputer, pronter, keyboard dan lain-lain. Software merupakan alat bantu berupa program komputer yang menjadi penghubung antara manusia dengan hardware sebagai alat bantu pemroses data. Prosedur adalah strategi, kebijakan, metode, dan peraturan untuk menggunakan sistem informasi. Sedangkan jaringan adalah sistem penghubung yang digunakan untuk menyalurkan baik data untuk input maupun informasi hasil output. M enurut Turban et al. (2001, p17), jenis-jenis dalam CBIS dikategorikan berdasarkan level organisasi yang menggunakannya seperti Transaction Processing Systems (TPS) untuk level yang paling bawah yaitu menangani transaksi dari perusahaan, Management Information Systems (M IS) untuk level menengah yaitu digunakan para manajer untuk menganalisa data TPS dan lain-lain, dan Executive Information Systems (EIS) untuk level atas yaitu untuk membantu membuat keputusan manajer level atas.
2.4
Sistem Billing M enurut Hunter dan Tiebaud (2000, p164), Customer Service atau bagian
operasional bertanggung jawab dalam membangun dengan pelanggan, termasuk dalam hal mengatur tagihan (Billing). Seringkali persepsi kepada pelanggan terbentuk pada suatu perusahaan, bisa ditentukan atau berkaitan dengan cara menangani billing atau tagihannya. Kemampuan untuk melihat catatan-catatan transaksi yang dilakukan pelanggan sebelumnya, biasanya berdampak positif terhadap penilaian pelanggan.
21
2.5
Service / Layanan M enurut Fitzsimmons (2006, p4), service adalah serangkaian aktifitas yang
kurang lebih berwujud intangible tetapi tidak harus berlangsung dalam interaksi antara pelanggan dan karyawan jasa atau sumber daya fisik atau sistem penyedia layanan, yang disediakan sebagai solusi untuk masalah pelanggan.
2.6
Analisis dan Perancangan Berorientasi Objek (Object-Oriented Analysis
and Design) M enurut M athiassen (2000, p35), definisi dari Object-Oriented Analysis and Design adalah suatu metode yang digunakan untuk menganalisis dan merancang suatu sistem dengan menggunakan pendekatan berorientasi objek. M enurut M athiassen (2000, p4), object sendiri memiliki arti suatu entitas yang memiliki identitas, status dan perilaku. Objek dianggap sebagai suatu entitas yang memiliki identitas, status dan perilaku dan dapat melakukan suatu operasi. Dengan menggunakan objek maka sistem dapat mengatur apa saja yang dapat dilakukan terhadap entitas tersebut. M isalnya menjadikan pelanggan sebagai objek, maka setiap objek pelanggan dapat memiliki status, identitas dan perilaku yang berbeda-beda serta akses yang berbeda pula. Sedangkan pengertian class adalah deskripsi dari kumpulan objek yang memiliki struktur, pola perilaku, dan atribut yang sama (M athiassen et al., 2000, p4). Contoh dari class misalnya sekumpulan entitas karyawan yang berbeda menjadi sebuah class karyawan, masing-masing objek didalamnya memiliki identitas seperti nama dan alamat tetapi masing-masing nama dan alamat untuk setiap karyawan dapat saja berbeda. M enurut M athiassen (2000, p5-6) keuntungan dari OOAD adalah sebagai berikut:
22
•
OOAD menyediakan informasi yang jelas mengenai konteks sistem. Dimana OOAD memfokuskan dengan kejelasan yang sama antara sistem dan konteksnya.
•
OOAD dapat mendistribusikan data khusus ke seluruh bagian organisasi serta dapat menangani data yang seragam dalam jumlah yang besar dengan berfokus pada kejelasan yang sama, baik pada sistem dan konteks.
•
M emberikan hubungan yang erat antara analisis berorientasi objek, perancangan berorientasi objek, user interface berorientasi objek dan pemrograman berorientasi objek. Dalam analisis, objek digunakan untuk menentukan kebutuhan sistem, sedangkan dalam perancangan, objek digunakan untuk mendeskripsikan sistem. Namun selain memiliki beberapa keuntungan, OOAD juga memiliki beberapa
kelemahan seperti yang dijabarkan oleh M cLeod, Jr (2001, p615) yaitu : •
Diperlukan waktu lama untuk memperoleh pengalaman pengembangan.
•
Kesulitan metodologi untuk menjelaskan sistem bisnis yang rumit.
•
Kurangnya pilihan peralatan pengembangan yang khusus disesuaikan untuk sistem bisnis.
2.7
Kegiatan Utama dalam Object-Oriented Analysis and Design (OOAD) Didalam penggunaannya OOAD memiliki empat kegiatan utama diantaranya yaitu
problem-domain analysis, application-domain analysis, component design, dan architectural design (M athiassen et al., 2000, p14-45). dan dapat digambarkan seperti berikut ini :
23
Gambar 2.5 Aktivitas Utama OOAD Dalam prakteknya sebelum kita memulai keempat kegiatan utama dalam OOAD, terlebih dahulu kita melakukan langkah-langkah pendahuluan. Beberapa langkah yang dilakukan adalah mengumpulkan ide-ide yang akan dikembangkan berdasarkan pada pemahaman terhadap masalah yang sedang dihadapi, solusi-solusi yang mungkin diterapkan untuk mengatasi masalah tersebut, dan lain-lain. Hasil dari langkah pendahuluan ini adalah system definition yaitu deskripsi singkat dari sistem komputer dalam natural language. System definition menjelaskan mengenai konteks sistem, informasi yang harus ada di dalam sistem, fungsi-fungs i yang harus dimiliki, dimana akan digunakan dan kondisi serta batasan yang harus diperhatikan. M enurut M athiassen
(2000, p39-40)
FACTOR, system definition akan berisi tentang:
dengan
menggunakan
pendekatan
24
•
Functionality: Fungsi yang dimiliki sistem yang akan membantu kegiatan yang dilakukan dalam application domain.
•
Application
Domain:
Bagian
dari
organisasi
yang
akan
mengawasi,
mengendalikan problem domain. •
Conditions: Kondisi dimana sistem akan dikembangkan dan digunakan.
•
Technology: Teknologi yang akan digunakan baik dalam pengembangan sistem dan teknologi yang mendukung pengoperasian dari sistem.
•
Objects: Objek utama dalam problem domain.
•
Responsibility: Tanggung jawab dari sistem dalam hubungan dengan konteks sistem itu sendiri. Dalam pembuatan system definition, kita harus memperhatikan pendekatan kriteria
FACTOR untuk dapat melengkapi informasi yang terkandung dalam definisi sistem yang akan dibuat. Berikut ini akan dijelaskan lebih jauh mengenai kegiatan kegiatan utama yang ada pada OOAD seperti yang sudah disebutkan diatas : a. Problem-domain Analysis Problem domain merupakan bagian dari konteks yang diatur, diawasi dan dikendalikan oleh sistem. Dengan kata lain analisis problem domain berkaitan dengan mengekspresikan kebutuhan yang harus dipenuhi oleh sistem. Tujuan dari kegiatan ini adalah untuk mengidentifikasi dan memodelkan problem domain sehingga didapatkan informasi apa saja yang dibutuhkan oleh sistem.
25
M enurut M athiassen (2000, p48) Analisis problem domain memiliki aktifitasaktifitas sebagai berikut :
Gambar 2.6 Aktifitas Problem Domain Analysis 1. Classes M enurut M athiassen (2000, p49), class adalah deskripsi dari sekumpulan objek yang memiliki struktur, pola behavior dan atribut yang sama. Hasil dari aktivitas ini adalah berupa event table yang menunjukkan class yang dipilih dan event-event yang berhubungan dengan class tersebut. M enurut M athiassen (2000, p55) terdapat tiga subaktivitas di dalam kegiatan ini, yaitu: •
M enentukan kandidat class Langkah ini merupakan kunci utama dalam menentukan problem domain. Pada umumnya cara mencarinya adalah dengan mencari sebanyakbanyaknya kata benda yang terdapat dalam rich picture, ataupun system definition.
26
•
M enentukan kandidat event Selain class, event juga merupakan bagian penting dalam problem domain. Cara untuk mencari event adalah dengan mencari sebanyakbanyaknya kata kerja yang berkaitan dengan behavior dari objek yang telah terpilih
•
M engevaluasi dan memilih secara sistematik Jika daftar class dan event yang ditentukan telah lengkap, maka kita akan mengevaluasinya secara sistematik.
Kriteria umum yang digunakan
dalam proses evaluasi adalah sebagai berikut: • class dan event ada dalam system definition • class dan event relevan untuk problem domain 2. Structure Pada aktivitas ini, kita melakukan pendefinisian terhadap class dan objek yag ada dalam problem domain. Konsep hubungan struktural yang digunakan dalam langkah ini, yaitu: •
Class Structure Generalization Structure Pada generalization, class-class umum menjelaskan properties dari suatu grup class yang khusus
•
Cluster Structure Pada cluster, class-class yang saling berhubungan dikelompokkan ke dalam satu kelompok.
27
• Object Structure terdiri dari: • Aggregation Structure Pada
aggregation,
kita
mendefinisikan
superior
objek
yang
mengandung beberapa objek. • Association Structure Pada association, kita menunjukkan relasi yang penting di antara objek-objek. Hasil dari aktivitas ini adalah class diagram dengan class-class dan struktur-struktur. 3.
Behavior
Aktivitas ini mendeskripsikan properti yang dinamik dan atribut dari setiap class yang dipilih. Konsep dari behavior menurut M athiassen (2000, p89) adalah sebagai berikut: a. Event Trace Event Trace adalah serangkaian kejadian yang melibatkan objek tertentu b. Behavioral Pattern Behavior Pattern adalah deskripsi dari penelusuran event yang mungkin untuk seluruh objek di dalam class. c. Attribute Attribute adalah deskripsi dari properti sebuah class atau sebuah event. Hasil dari aktivitas ini adalah behavior pattern dan atribut bagi classclass di dalam class diagram.
28
b. Application-domain Analysis
Gambar 2.7 Aktifitas Application Domain Analysis Application domain merupakan organisasi yang mengatur, mengawasi, atau mengendalikan problem domain. Tujuan dari kegiatan ini adalah untuk menentukan kebutuhan penggunaan sistem. Kegiatan ini berfokus pada fungsi dan interface dari sistem dan bagaimana suatu sistem akan digunakan oleh user. Berikut beberapa kegiatan utama dalam application domain analysis menurut M athiassen (2000, p117) adalah :
1. Usage M erupakan bagian dari analisis application domain yang akan menentukan bagaimanakan sistem akan berinteraksi dengan manusia dan sistem didalam konteks. Hasil analisisnya dapat digambarkan melalui suatu use case diagram yaitu pola interaksi antara sistem dengan pengguna yang berinteraksi dengan sistem.
29
Gambar 2.8 Subaktifitas Usage 2. Function Pada kegiatan ini kita menjelaskan bagaimana kemampuan dari proses dan informasi dalam sistem. Function adalah fasilitas untuk membuat sebuah model berguna untuk aktor. Tujuan dari function adalah menentukan kemampuan sistem untuk memproses informasi. Cara untuk mengidentifikasi function adalah dengan melihat deskripsi problem domain yang dinyatakan dalam class dan event, dan melihat deskripsi application domain yang dapat digambarkan dalam use case diagram
30
Gambar 2.9 Subaktifitas Function 3. Interface Interface memiliki fokus pada penentuan antar muka yang dibutuhkan oleh suatu sistem. Interface adalah fasilitas yang memungkinkan model sistem dan function dari sistem agar dapat digunakan oleh para actors. Hasil dari aktifitas ini terbagi dua yaitu yang berupa antar muka untuk user, diagram window yang dipilih, dan navigation diagram. Hasil lainnya yaitu berupa antarmuka untuk sistem lain yang berupa class diagram untuk peralatan eksternal dan prosedur untuk berinteraksi dengan sistem lain.
31
Gambar 2.10 Subaktifitas Interface
c. Architecture Design
Gambar 2.11 Aktifitas Architecture Design
Architecture design adalah tahap penyusunan sistem yang terkomputerisasi. Kegiatan ini merupakan kerangka kerja dalam aktivitas pengembangan sistem. Hasil dari aktifitas ini adalah struktur komponen dan proses sistem. Tujuan dari kegiatan ini adalah
32
mengatur ulang struktur sebuah sistem yang terkomputerisasi. Kegiatan utama dalam architecture design menurut M athiassen (2000, p176) adalah : a. Criteria Pada kegiatan ini, kita mendefinisikan kondisi dan rancangan seperti apakah yang digunakan pada perancangan. Kondisi adalah peluang dan batasan teknikal, organisasional dan manusia yang terlibat dalam pelaksanaan tugas. Criteria yang digunakan dalam menentukan kualitas dari software yang akan dibuat
ditunjukkan
melalui
tabel
di
bawah
ini:
33
Tabel 2.1 Criteria untuk M enentukan Kualitas Software Criterion
Ukuran Kemampuan dari sistem untuk dapat beradaptasi dengan
Usable
konteks teknikal dan organisasional. Pencegahan akses yang tidak diinginkan terhadap data dan
Secure
fasilitas perusahaan
Efficient
Eksploitasi ekonomis dari fasilitas technical platform
Correct
Pemenuhan terhadap kebutuhan
Reliable
Fungsi dapat dijalankan secara tepat sesuai dengan kebutuhan
Maintainable
Testable
Biaya untuk mencari dan memperbaiki kerusakan sistem Biaya untuk menjamin bahwa sistem melakukan fungsi yang diharapkan
Flexible
Biaya memodifikasi sistem
Comprehensible
Usaha yang diperlukan untuk memahami sistem Penggunaan bagian dari sistem ke dalam sistem lain yang
Reusable
berkaitan
Portable
Biaya memindahkan sistem ke technical platform lain
Interoperable
Biaya pemasangan sistem dengan sistem lain
Terdapat tiga kriteria dasar yang harus dimiliki dalam perancangan OOAD menurut M athiassen (2000, p179) yaitu:
34
• Usability: menjelaskan bahwa kualitas sistem yang paling baik adalah bergantung pada bagaimana sistem dapat bekerja memenuhi konteks dari sistem tersebut. • Flexibility:
menjelaskan
bahwa
arsitektur
sistem
harus
mampu
mengakomodasi perubahan secara menyeluruh dan kondisi teknisnya. • Comprehensibility: menjelaskan bahwa dengan semakin berkembangnya kompleksitas dari sistem komputer, model dan deskripsi harus mudah dimengerti. b. Component Pada kegiatan ini, akan menetapkan bahwa perkembangan kerumitan sistem yang terkomputerisasi, model dan penjelasannya harus mudah dipahami. Arsitektur komponen adalah struktur sistem dari komponen yang saling terkait, sedangkan komponen merupakan kumpulan dari bagian program yang mencakup keseluruhan tanggung jawab. Pola-pola arsitektur komponen antara lain: • Layered Architecture Pattern • Generic Architecture Pattern • Client-Server Architecture Pattern Hasil dari kegiatan ini adalah component diagram berupa class diagram yang dilengkapi dengan spesifikasi komponen yang kompleks. c. Processes Pada kegiatan ini, kita menjelaskan strukturisasi fisik dari sistem. Arsitektur proses adalah struktur sistem eksekusi yang terdiri dari proses-proses yang
35
saling tergantung satu sama lain. Dalam aktivitas ini, kita juga menentukan pola distribusi yang sesuai dengan model sistem. Pola-pola distribusi yang ada antara lain: a.
Centralized Pattern
b.
Distributed Pattern
c.
Decentralized Pattern
Hasil dari kegiatan ini adalah deployment diagram yang menunjukkan processor dengan komponen program dan active objects.
d. Component Design
Gambar 2.12 Aktifitas Component Design
M enurut M athiassen (2000, p232), komponen adalah sekumpulan bagian program yang membentuk suatu keseluruhan dan memiliki tanggung jawab yang jelas. Tujuan dari kegiatan ini adalah untuk menentukan implementasi dari
36
kebutuhan dalam sebuah kerangka arsitektur. Aktivitas utama dalam component design adalah : a. Model Component Model
component
merupakan
bagian
dari
sistem
yang
mengimplementasikan model dari problem domain. Dengan kata lain, model component menggambarkan model dari problem domain dan bertujuan menyampaikan data saat ini pada saat ini atau yang telah lalu kepada function, interface, dan ke pengguna maupun sistem yang lain. M elalui kegiatan ini, dapat dihasilkan class diagram yang telah direvisi (revised class diagram). b. Function Component Function
component
mengimplementasikan
merupakan
kebutuhan
bagian
fungsional.
dari Tujuan
sistem dari
yang function
component adalah memberikan kepada user interface dan komponen dari sistem lain untuk dapat mengakses model. Sebuah function menggambarkan secara eksternal behavior yang dapat diamati secara langsung dan mempunyai arti bagi pekerjaan user. Hasil dari kegiatan ini adalah class diagram dengan operasi dan fungsi-fungsinya. Terdapat empat pola eksplorasi di dalam function component yaitu: 1. Model-Class Placement 2. Function-Class Placement 3. Strategy
37
4. Active Function 5. Connecting Component c. Connecting
component
merupakan
bagian
dari
sistem
yang
menghubungkan komponen-komponen dari sistem. Dalam connecting component terdapat dua konsep yaitu: a. Coupling Coupling merupakan ukuran untuk mengukur berapa dekat hubungan di antara dua kelas atau komponen. Coupling memiliki sifat yang merugikan sehingga sebaiknya diminimalisasi. b. Cohession Cohession nerupakan ukuran untuk mengukur seberapa baik ikatan dari sebuah class atau komponen. Cohession memiliki sifat yang menguntungkan sehingga sebaiknya penggunaannya dalam rancangan class harus tinggi.
2.8
Unified Modelling Language (UML) 2.8.1
Notasi UML M enurut M athiassen (2000, p237) notasi adalah bahasa tekstual dan
graphical untuk menggambarkan
sebuah sistem dan
konteksnya yang
diformalisasikan secara terpisah. Tujuan dari notasi UM L adalah untuk menyederhanakan komunikasi dan dokumentasi.
38
2.8.2
Class Diagram M enurut M athiassen (2000, p336), Class Diagram menggambarkan
hubungan struktur objek dari sistem. Class diagram menunjukkan class objek yang membentuk sistem dan hubungan struktural di antara class Terdapat tiga hubungan antar class yang biasa digunakan dalam class diagram yaitu: •
Asosiasi
Asosiasi merupakan hubungan antara dua objek atau class. Hubungan ini menggambarkan apa yang perlu diketahui oleh sebuah class mengenai class lainnya. Hubungan ini memungkinkan sebuah objek atau class mereferensikan objek atau class lain dan saling mengirimkan pesan. Hubungan ini dapat bersifat dua arah.
Gambar 2.13 Contoh Hubungan Asosiasi •
Generalisasi
Dalam hubungan generalisasi, atribut dan perilaku yang umum pada beberapa class objek digabungkan menjadi class tersendiri (supertype class) dan atribut dan perilaku tersebut diturunkan pada class yang merupakan bagian dari induk class tersebut (subtype class).
39
Gambar 2.14 Contoh Hubungan Generalisasi •
Agregasi
Agregasi merupakan hubungan yang unik dimana sebuah objek merupakan bagian dari objek lain. Hubungan agregasi tidak simetris dimana jika objek B merupakan bagian dari objek A, namun objek A bukan merupakan bagian dari objek B. Pada hubungan ini, objek yang menjadi bagian dari objek tertentu tidak akan memiliki atribut atau behavior dari objek tersebut.
Gambar 2.15 Contoh Hubungan A gregasi 2.8.3
Statechart Diagram Statechart diagram merupakan diagram yang memodelkan perilaku
dinamis dari objek dalam sebuah class spesifik yang berisi state dan transition (M athiassen, 2000, p341). Statechart diagram digunakan dalam aktifitas behavior pada problem domain analysis.
40
Gambar 2.16 Contoh Statechart Diagram
2.8.4 Use Case Diagram Use Case diagram mendeskripsikan fungsi secara grafis hubungan antara aktor dan use case. (M athiassen, 2000, p343). Penjelasan use case biasa ditambahkan untuk menghentikan langkah-langkah interaksi.
Gambar 2.17 Contoh Use Case Diagram
41
2.8.5
Sequence Diagram Sequence diagram adalah sebuah diagram yang menggambarkan interaksi
antar objek di dalam dan di sekitar sistem (termasuk pengguna, display,dll) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait di dalamnya). Sequence diagram juga biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang memicu aktivitas tersebut,lalu proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. Message digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class.
Gambar 2.18 Contoh Sequence Diagram
42
2.9
Pengertian Database
M enurut pendapat Connolly & Begg (2002, p15) pendekatan database adalah memisahkan struktur data dari program aplikasi dan menyimpannya dalam database. Dalam menganalisa kebutuhan informasi suatu organisasi, kita berusaha menentukan entity, atribut dan relasi. Entity adalah objek dalam organisasi yang dapat dibedakan yang digambarkan dalam database. Atribut adalah property yang menggambarkan beberapa aspek suatu objek yang dikenal sebagai record. Sedangkan relasi adalah hubungan antara beberapa entity. Database menyajikan entity, atribut dan relasi yang logis antara entity. Adapun pengertian database berdasarkan pendapat O’Brien (2003, p145), database is an integrated collection of logically related data elements. Yang dapat diterjemahkan bahwa database adalah sebuah kumpulan yang terintegrasi dari elemen data yang berelasi secara logikal. Adapun menurut pandangan M cleod (2001, p250) database berguna untuk mengatasi kendala memanajemen data usaha yang dilakukan meliputi penyortiran dan penggabungan file, pemrograman komputer yang ekstensif untuk mencari dan mencocokan catatan file, serta indeks file dan kaitan yang dibangun ke dalam catatan data. Konsep database dibangun di atas indeks dan kaitan untuk mencapai suatu hubungan logis antara beberapa file.
2.10
Interaksi Manusia dan Komputer (IMK) 2.10.1 Delapan Aturan Emas untuk Desain Interface M enurut shneiderman (2010, p88), Delapan aturan emas adalah prinsipprinsip mendasar untuk mendesain interface,antara lain : 1. Berusaha untuk konsisten.
43
M erupakan konsistensi suatu aksi-aksi dalam situasi tertentu, konsistensi colour, layout, fonts, menu, dan sebagainya. 2. M emberikan kegunaan universal Bagi user yang sudah ahlli menggunakan sistem, ia membutuhkan jumlah interaksi yang lebih singkat. Interaksi yang singkat dapat diperoleh dengan shortcut sehingga memberikan kegunaan universal. 3. M engumpan balik yang informatif. Untuk setiap aksi yang dilakukan pengguna terhadap sistem, sistem harus memiliki umpan balik yang sopan dan jelas 4. M erancang dialog untuk menghasilkan keadaan akhir. Urutan-urutan diatur ke dalam group-group dengan bagian awal, tengah, akhir. Umpan balik pada saat akhir dari group aksi tersebut harus dapat memuaskan pelanggan. 5. M enyediakan pencegahan kesalahan dan penanganan kesalahan yang sederhana. Sedapat mungkin sistem dibuat tidak melakukan kesalahan pada saat pengguna sedang mengakses. Jika terjadi, maka sistem harus dapat mendeteksi dan memberikan instruksi yang sederhana dan membangun untuk recovery. 6. M engijinkan pembalikan aksi. Pengguna harus dapat kembali pada aksi yang telah dilakukan sebelumnya baik itu ada kesalahan atau tidak. 7. M endukung pusat kendali internal. Pengguna yang sudah berpengalaman menginginkan suatu perasaan bahwa mereka menguasai sistem dan sistem harus merespon semua keinginan mereka.
44
8. M engurangi beban ingatan jangka pendek. Terbatasnya kemampuan manusia untuk ingatan jangka pendek membutuhkan perhatian yang cukup. Untuk
mengatasi hal ini dapat dilakukan dengan
mengurangi frekuensi pergerakan jendela (window) dan dengan waktu pelatihan yang cukup.
2.11
XAMPP XAM PP menurut M adcoms (2009, p1) adalah suatu perangkat lunak bebas yang
mendukung banyak sistem operasi dan merupakan kompilasi beberapa program. XAM PP terdiri dari program Apache (web server), MySQL (database) dan penerjemah bahasa yang ditulis dengan bahasa perograman PHP (server side scripting) dan Perl. XAM PP dapat berjalan di system operasi Windows,Linux,M acOS maupun Solaris sehingga memudahkan membuat web server multiplatform.
2.12
PHP PHP menurut Peranginangin (2006, p2), PHP singkatan dari Hypertext
Preprocessor yang digunakan sebagai bahasa script server side dalam pengembangan web yang disisipkan pada dokumen HTM L. Penggunaan PHP memungkinkan web dapat dibuat dinamis sehingga maintenance situs web tersebut menjadi lebih mudah dan efisien. PHP merupakan perangkat lunak Open-Source yang disebarkan dan dilisensikan secara gratis. Sedangkan menurut Atkinson dan Suraski (2004, p10), PHP merupakan fitur standar yang ditawarkan oleh kebanyakan perusahaan web hosting. PHP digunakan
45
sebagai alternative karena lebih cepat dalam pengkodean dan lebih cepat untuk dieksekusi. PHP code dapat dijalankan pada berbagai macam web server dan system operasi. PHP dapat di desain untuk terintegrasi dengan Apache Web Server. PHP dapat beroperasi pada Linux,Unix,Windows, MyM acOS X. PHP di desain untuk terintegrasi dengan Apache Web Server. PHP memiliki banyak kelebihan yang tidak dimiliki oleh bahasa script sejenis.
2.13
MySQL MySQL menurut Kasiman Peranginangin (2006,p389), MySQL menggunakan
suatu format standar SQL bahasa data yang terkenal. MySQL bekerja pada berbagai sistem operasi, dan banyak bahasa. PHP menyediakan banyak fungsi untuk mendukung basis data MySQL. Sedangkan menurut Atkinson (2006, p655), MySQL adalah sebuah relasi basis data yang memiliki fitur dengan MySQL. MySQL menjadi basis data pilihan bagi banyak pengembang PHP. MySQL memiliki dua bentuk lisensi, yaitu free software dan shareware. MySQL yang biasa digunakan adalah M ySQL free software yang berada dibawah lisensi GNU/GPL (General Public License). M ySQL pertama kali dirintis oleh seorang programmer basis data bernama M ichael Widenius. Selain sebagai database server, MySQL juga merupakan program yang dapat mengakses suatu basis data MySQL yang berposisi sebagai server. Pada saat itu program berposisi sebagai client. Jadi MySQL adalah sebuah basis data yang dapat digunakan baik sebagai client maupun server.
46
2.14
Javascript Javascript adalah bahasa pemrograman berbasis objek yang diletakkan pada
client-side atau berjalan di suatu halaman web. JavaScript merupakan scripting language berbasis objek yang dapat diletakkan di halaman-halaman HTM L (Flanagan, 2002, p3).
2.15
CSS Cascading Style Sheet atau CSS adalah suatu bahasa stylesheet yang digunakan
untuk mengatur tampilan suatu halaman web. Penggunaan paling umum adalah untuk memformat halaman web yang ditulis dengan HTM L dan XHTM L. CSS dapat digunakan untuk mengatur besar kecilnya text, warna dan style font, mengatur warna atau gambar background, dan berbagai manfaat lainnya. (Schengili dan Roberts, 2000, p9).
2.16
JQuery JQuery adalah library yang sangat baik untuk mengembangkan aplikasi berbasis
AJAX. JQuery sangat baik untuk programmer JavaScript, yang menyederhanakan pengembangan dari aplikasi web 2.0. JQuery membantu programmer untuk membuat code tetap sederhana dan singkat. JQuery library didesain untuk membuat hal-hal menjadi sederhana dan dapat digunakan kembali. Library JQuery menyederhanakan proses transversal dari pohon HTM L DOM . Kita dapat menggunakan JQuery untuk menangani event, menjalankan animasi, dan menambahkan dukungan AJAX ke dalam aplikasi web dengan mudah. Kemudahan ini ditambahkan lagi dengan sifatnya yang cross-browser atau dapat digunakan di beberapa jenis browser yang berbeda. JQuery
47
membuat kita mudah untuk membuat aplikasi JavaScript yang baik dan menciptakan efek-efek animasi yang menarik perhatian, bersaing dengan Flash. JQuery sangat baik untuk: • M enambah efek animasi pada elemen-elemen JQuery membuat kita mudah untuk memberikan efek-efek seperti fading in/out, sliding in/out, dan expanding/contracting. • M embuat request XM L (Ajax) Dengan menggunakan JavaScript, kita dapat merequest data tambahan dari Web Server tanpa harus me-reload data. • M emanipulasi DOM Kita dapat dengan mudah menambah, menghilangkan, dan menyusun ulang konten di dalam halaman Web hanya dengan beberapa baris code. • M embuat slideshow image Dengan JQuery, kita dapat membuat slideshow yang menarik dengan tambahan efekefek animasi. • M embuat drop-down menu JQuery memberikan kemudahan untuk membuat menu dropdown dengan animasi. • M embuat drag-and-drop interfaces Programmer bisa mengubah posisi dan menyusun urutan elemenelemen dengan hanya drag-and-drop dalam membangun suatu halaman dengan JQuery. • M emberikan banyak keunggulan pada form Programmer dapat dengan mudah menambah complex client-side form validation, membuat text field auto-complete Ajax yang dapat menarik data dari server-side database.
48
2.16
Adobe Creative Suite Adobe Creative Suite merupakan koleksi perangkat lunak, oleh Adobe
Systems,digunakan untuk editing gambar, gambar menciptakan, animasi pembuat, video editing, dan pembangunan web. Perangkat lunak Adobe yang terlibat dalam proyek ini adalah: 2.16.1 Adobe Flash Adobe Flash merupakan program multimedia yang menciptakan animasi dan interaktivitas. Adobe flash dapat membuat file stand alone atau file tertanam ke halaman web. FLA merupakan flash file yang dapat diedit dan SWF merupakan Shockwave Flash yang dihasilkan dari extension file FLA yang tidak dapat diedit lagi. 2.16.2 Adobe Photoshop Adobe Photoshop merupakan perangkat lunak editing gambar. Perangkat lunak ini memungkinkan pengguna untuk memanipulasi gambar dari format gambar (JPEG, GIF, PNG, dan lain-lain) dan format dari file Photoshop. Pengguna dapat meng-import gambar dari extension file PSD ke format lain seperti JPEG dan GIF.