BAB II LANDASAN TEORI
2.1
Pengertian Rancang Bangun Perancangan atau rancang bangun merupakan serangkaian prosedur untuk
menerjemahkan hasil analisa dan sebuah sistem ke dalam bahasa pemograman untuk mendeskripsikan dengan detail bagaimana komponen-komponen sistem di implementasikan. Sedangkan pengertian pembangunan/bangun sistem adalah kegiatan menciptakan sistem baru maupun mengganti atau memperbaiki sistem yang telah ada baik secara keseluruhan maupun sebagian (Pressman, 2002).
2.2 Konsep Dasar Sistem 2.2.1 Pengertian Sistem Sistem adalah kumpulan dari komponen atau elemen yang saling berhubungan satu dengan lainnya membentuk satu kesatuan untuk mencapai tujuan tertentu (Jogiyanto, 2005:2). Sedangkan Al Fatta mengemukakan bahwa suatu sistem adalah sekumpulan objek-objek yang saling berelasi dan berinteraksi serta hubungan antar objek bisa dilihat sebagai satu kesatuan yang dirancang untuk mencapai satu tujuan (Al Fatta, 2007:3). Beberapa pengertian tentang sistem dapat diperoleh dari berbagai sumber dan latar belakang pemikiran yang berbeda(Teguh Wahyono, 2004).
2.2.2
Karakteristik Sistem Suatu sistem mempunyai karakteristik atau sifat-sifat yang tertentu. Untuk
memahami atau mengembangkan suatu sistem, maka perlu membedakan unsurunsur dari sistem yang membentuknya. Berikut adalah karakteristik sistem yang dapat membedakan suatu sistem dengan sistem lainnya (Al Fatta, 2007:5):
6
1. Komponen Sistem Kegitan-kegiatan atau proses dalam suatu sistem yang mentransformasikan input menjadi bentuk setengah jadi (output). Komponen ini bisa merupakan subsistem dari sebuah sistem. 2. Batas Sistem Kegitan-kegiatan atau proses dalam suatu sistem yang mentransformasikan input menjadi bentuk setengah jadi (output). Komponen ini bisa merupakan subsistem dari sebuah sistem 3. Lingkungan Luar Sistem Kegitan-kegiatan atau proses dalam suatu sistem yang mentransformasikan input menjadi bentuk setengah jadi (output). Komponen ini bisa merupakan subsistem dari sebuah sistem 4. Penghubung Sistem Penghubung sistem merupakan hal yang sangat penting, sebab tanpa adanya penghubung, sistem akan berisi kumpulan subsistem yang berdiri sendiri dan tidak saling berkaitan (Mulyanto, 2009:5). 1. Masukan Sistem Adalah sumber daya dari lingkungan yang dikonsumsi dan dimanipulasi oleh suatu sistem. 2. Keluaran Sistem Adalah sumber daya atau produk (informasi, laporan, dokumen, tampilan layer komputer, barang jadi) yang disediakan untuk lingkungan sistem oleh kegiatan dalam suatu sistem. 3. Pengolah Sistem Adalah sumber daya atau produk (informasi, laporan, dokumen, tampilan layer komputer, barang jadi) yang disediakan untuk lingkungan sistem oleh kegiatan dalam suatu sistem.
7
4. Sasaran Sistem Suatu sistem pasti memiliki sasaran (objective) atau tujuan (goal). Apabila sistem tidak mempunyai sasaran, maka operasi sistem tidak akan ada gunanya. Tanpa adanya tujuan, sistem menjadi tidak terarah dan terkendali (Mulyanto, 2009:7).
2.2.3 Klasifikasi Sistem Sistem dapat diklasifikasikan dari berbagai sudut pandang, di antaranya adalah sebagai berikut (Sutabri, 2004:14): 1. Sistem abstrak dan sistem fisik Sistem abstrak adalah suatu sistem yang berupa ide-ide pemikiran atau ide-ide yang tidak tampak secara fisik, misalnya teologi yaitu sistem yang berupa pemikiran-pemikiran hubungan antara manusia dengan Tuhan. Sedangkan sistem fisik adalah suatu sistem yang berupa pemikiran atau ide-ide yang nyata atau yang ada secara fisik. Misalnya sistem komputer, sistem akuntansi, sistem produksi dan lain sebagainya 2. Sistem alamiah dan sistem buatan manusia Sistem alamiah adalah sistem yang terjadi melalui proses alam, tidak dibuat manusia. Misalnya: sistem perputaran bumi. Sistem buatan manusia yang melibatkan interaksi antara manusia dengan mesin disebut dengan human-machine system atau ada yang menyebut dengan manmachine system.Sistem tertentu dan sistem tak tentu Sistem tertentu beroperasi dengan tingkah laku yang sudah dapat diprediksi. Contohnya: sistem komputer. Sistem tak tentu adalah sistem yang kondisi masa depannya tidak dapat diprediksi karena mengandung unsur probabilitas.
8
3. Sistem tertentu dan sistem tak tentu Sistem tertentu beroperasi dengan tingkah laku yang sudah dapat diprediksi. Contohnya: sistem komputer. Sistem tak tentu adalah sistem yang kondisi masa depannya tidak dapat diprediksi karena mengandung unsur probabilitas.
2.3 Konsep Dasar Informasi 2.3.1 Pengertian Informasi Informasi adalah data yang telah diolah menjadi sebuah bentuk yang berarti bagi penerimanya dan bermanfaat dalam pengambilan keputusan saat ini atau mendatang. Sedangkan menurut McLeod dalam informasi sebagai data yang telah diolah menjadi bentuk yang lebih berarti bagi penerimanya (Ladjamudin, 2005:5-6). Beberapa pengertian informasi dapat diperoleh dari berbagai sumber (Teguh Wahyono, 2004). Menurut Gordon B.Davis dalam bukunya Management Information System: Conceptual Foundation, Structure, and Development menyebut informasi sebagai data yang telah diolah menjadi bentuk yang berguna bagi penerimanya dan nyata, berupa nilai yang dapat dipahami di dalam keputusan sekarang maupun masa depan. Menurut Barry E. Cushing dalam buku Accounting Information System and Bussiness Organization, dikatakan bahwa informasi merupakan sesuatu yang menunjukan hasil pengolahan data yang di organisasi dan berguna kepada orang yang menerimanya. Dari semua pengertian tentang informasi seperti diatas dapat disimpulkan bahwa informasi merupakan hasil dari pengolahan data menjadi bentuk yang lebih berguna bagi yang menerimanya yang menggambarkan suatu kejadiankejadian nyata dan dapat digunakan sebagai alat bantu untuk pengambilan suatu keputusan.
9
2.3.2 Kualitas Informasi Kualitas informasi (quality of information) terkadang juga dipakai untuk menyatakan informasi yang baik. Dari sekian karakteristik yang telah dibahas, kualitas informasi sering kali di ukur berdasarkan (Kadir, 2003:46): 1. Akurat Informasi harus bebas dari kesalahan-kesalahan dan tidak bias atau menyesatkan. Akurat juga berarti informasi harus jelas mencerminkan maksudnya. 2. Ketepatan Waktu Informasi harus bebas dari kesalahan-kesalahan dan tidak bias atau menyesatkan. Akurat juga berarti informasi harus jelas mencerminkan maksudnya. 3. Relevan Informasi tersebut mempunyai manfaat untuk pemakainya. Relevansi informasi untuk setiap pemakai berbeda-beda. Misalnya informasi mengenai sebab-musabab kerusakan mesin produksi kepada akuntan perusahaan adalah kurang relevan dan akan lebih relevan bila ditujukan kepada ahli teknik perusahaan (Jogiyanto, 2005:696).
2.3.3
Nilai Informasi Nilai informasi didasarkan atas 10 (sepuluh) sifat, yaitu (Sutabri,
2004:26) 1. Mudah Diperoleh Sifat ini menunjukkan kemudahan dan kecepatan untuk memperoleh informasi. 2. Luas dan Lengkap Sifat ini menunjukkan kelengkapan isi informasi.
10
3. Ketelitian Sifat ini berhubungan dengan tingkat kebebasan dari kesalahan keluaran informasi. 4. Kecocokan Sifat ini menunjukkan seberapa baik keluaran informasi dalam hubungannya dengan permintaan para pemakai. 5. Ketepatan Waktu Sifat ini berhubungan dengan waktu yang dilalui, yang lebih pendek dari siklus untuk mendapatkan informasi. 6. Kejelasan Sifat ini menunjukkan tingkat kejelasan informasi. 7. Keluwesan Sifat ini berhubungan dengan apakah informasi tersebut dapat digunakan untuk membuat lebih dari satu keputusan, tetapi apakah juga dapat digunakan untuk lebih dari seorang pengambil keputusan. 8. Dapat Dibuktikan Sifat ini menunjukkan sejauh mana informasi itu dapat diuji oleh beberapa pemakai hingga sampai didapat kesimpulan yang sama. 9. Tidak Ada Prasangka Sifat ini menunjukkan sejauh mana informasi itu dapat diuji oleh beberapa pemakai hingga sampai didapat kesimpulan yang sama. 10. Dapat Diukur Sifat ini menunjukkan hakikat informasi yang dihasilkan oleh sistem informasi formal.
11
2.4
Konsep Dasar Sistem Informasi
2.4.1
Pengertian Sistem Informasi Sistem informasi dapat didefinisikan sebagai suatu sistem di dalam
suatu organisasi yang merupakan kombinasi dari orang-orang, fasilitas, teknologi, media, prosedur-prosedur dan pengendalian yang ditujukan untuk mendapatkan jalur komunikasi penting, memproses tipe transaksi rutin tertentu, memberi sinyal kepada manajemen dan yang lainnya terhadap kejadian-kejadian internal dan eksternal yang penting dan menyediakan suatu dasar informasi untuk pengambilan keputusan yang cerdik (Jogiyanto, 2005:697). Pengertian lain mengemukakan bahwa sistem informasi mencakup sejumlah komponen (manusia, komputer, teknologi informasi, dan prosedur kerja), ada sesuatu yang diproses (data menjadi informasi), dan dimaksudkan untuk mencapai suatu sasaran atau tujuan (Kadir, 2003:10). Sedangkan menurut Hall (2001) sistem informasi adalah sebuah rangkaian prosedur formal di mana data dikelompokkan, diproses menjadi informasi dan didistribusikan kepada pemakai (Kadir, 2003:11).
2.4.2
Komponen Sistem Informasi Dalam suatu sistem informasi terdapat komponen-komponen yaitu
hardware, software, prosedur, orang, database, jaringan komputer dan komunikasi data (Kadir, 2003:70): Perangkat keras (hardware) Mencakup peranti-peranti fisik seperti komputer dan printer. Perangkat lunak (software) Sekumpulan instruksi yang memungkinkan perangkat keras untuk dapat memproses data.
12
Prosedur Sekumpulan aturan yang dipakai untuk mewujudkan pemrosesan data dan pembangkitan keluaran yang dikehendaki. Orang Semua pihak yang bertanggung jawab dalam pengembangan sistem informasi, pemrosesan dan penggunaan keluaran sistem informasi. Basis data (database) Sekumpulan tabel, hubungan, dan lain-lain yang berkaitan dengan penyimpanan data. Jaringan komputer dan komunikasi data Sistem penghubung yang memungkinkan sumber (resources) di pakai secara bersama atau diakses oleh sejumlah pemakai.
2.5 KBIH Kelompok Bimbingan Ibadah Haji (KBIH) merupakan suatu wadah dimana para jamaah haji dibina sejak dari pendaftaran hingga pelaksanaan ibadah haji dimulai. Hal ini dilakukan untuk mewujudkan kemandirian jamaah haji dalam melaksanakan ibadah haji. Dari permasalah di atas, maka keberadaan sistem informasi sangat diperlukan yakni sistem informasi yang tepat guna, akurat dan relevan guna meningkatkan kinerja akademik. Sehubungan dengan hal itu maka penulis merancang sistem informasi KBIH berbasis web, dimana nantinya para calon jamaah haji dapat melakukan proses pendaftaran maupun mendapatkan info-info tentang haji yang lain. Hal ini cukup penting mengingat peningkatan calon jamaah haji tiap tahunnya serta memberikan pelayanan yang terbaik untuk para calon jamaah haji demi kelancaran prosesi beribadah haji. Pelayanan yang dimaksud ialah memberikan bantuan dan kemudahan untuk para calon jamaah yang akan menunaikan Ibadah Haji dan Umroh dengan
13
cara memberikan informasi-informasi mengenai Haji dan Umroh, proses pendaftaran dan kelengkapan data-data untuk syarat keberangkatannya. 2.5.1 Syarat-syarat mendirikan pelayanan Haji dan Umroh 1. Bimbingan dapat dilaksanakan oleh masyarakat melalui lembaga sosial keagamaan Islam yang telah mendapatkan izin sebagai Kelompok Bimbingan. 2. Kelompok bimbingan hanya melaksanakan bimbingan ibadah Haji dan bukan sebagai penyelenggaraan ibadah Haji 3. Izin kelompok bimbingan berlaku selama 3(tiga) tahun dengan syarat berbadan hukum Yayasan, memiliki susunan pengurus, mendapatkan rekomendasi dari kantor Departemen Agama setempat, memiliki kantor sekretariat yang tetap, dan memiliki pembimbing ibadah Haji.\ 4. Pengurus tidak dijabat oleh pegawai Departemen Agama yang masih aktif 5. Kelompok bimbingan ibadah Haji dan Umroh yang telah memperoleh izin berkewajiban menonjolkan bimbingan identitas Nasional dan bukan identitas kelompok/ daerah 6. Identitas nasional yaitu merah putih 7. Materi dan metode bibingan yang dilakukan oleh kelompok bimbingan ibadah Haji dan Umroh berpedoman pada pola pembimbingan ibadah haji yang ditetapkan oleh direktur Pembinaan Haji 8. Kelompok bimbingan tidak dibenarkan memungut biaya kecuali biaya bimbingan atas dasar kesepakatan yang besarnya maksimal Rp. 2.5000.000,- (dua juta lima ratus ribu rupiah) dengan ketentuan tidak memberatkan calon jamaah Haji, penggunaannya harus jelas sesuai dengan program di tanah air dan Arab Saudi, diketahui dan disetujui oleh Kepala Kantor Wilayah Kementrian Agama.
14
9. Kelompok
bimbingan
ibadah
Haji
dan
Umroh
berkewajiban
memberikan bimbingan kepada Jamaah, menaati peraturan perundangundangan yang berkenaan dengan penyelenggaraan ibadah Haji dan Umroh, membantu kelancaran bimbingan ibadah Haji dan Umroh dengan petugas terkait, menandatangani surat perjanjian dengan jamaah yang berisi hak dan kewajiban kedua belah pihak, menyampaikan daftar calon Jamaah haji yang di bimbing kepada kepala kantor wilayah Kementrian Agama, melaporkan kegiatan bimbingan kepada kepala kantor wilayah Kementrian Agama. 10. Kelompok bimbingan ibadah haji mengikuti aturan yang ditetapkan petugas berupa bimbingan manasik Haji di tanah air dan di Arab Saudi dan kesepakatan kedua belah pihak sesuai perjanjian 11. Kepala kantor wilayah melaksanakan pengendalian, akreditasi, dan evaluasi terhadap kegiatan kelompok bimbingan Ibadah Haji dan Umroh. 12. Kelompok Bimbingan Ibadah Haji dan Umroh dapat dikenakan sanksi berupa peringatan lisan/tertulis apabila melakukan kegiatannya tidak sebagai pembimbing melainkan bertindak sebagai penyelenggara ibadah Haji, pembekuan ijin selama-lamanya dua tahun operasional haji apabila tidak memiliki ligalitas sebagai kelompok bimbingan ibadah Haji, melakukan tindakan sebagai penyelenggara ibadah Haji dan menetapkan biaya bimbingan tidak sesuai dengan ketentuan yang berlaku, pencabutan ijin apabila melakukan tindakan sebagai penyelenggara ibadah Haji, pengurus adalah pegawai Departemen Agama yang masih aktif, dan menonjolkan identitas kelompok/daerah bukan identitas nasional, menetapkan biaya bimbingan tidak sesuai dengan ketentuan yang diberlakukan dan tidak melaksanakan kewajibannya sebagai Kelompok Bimbingan Ibadah Haji.
15
2.6
MACROMEDIA DREAMWAVER 8 Dreamweaver merupakan salah satu software pembuat website yang mempunyai banyak sekali kemudahan dalam pengoperasiannya namun juga sangat powerful dalam pembuatan website. Salah satu keunggulannya adalah kemudahannya dalam berinteraksi dengan macromedia flash, sebuah tool animasi yang sangat populer di internet. Berikut ini penjelasan singkat dari masing-masing menu dalam Dreamweaver: 1.
Insert bar membantu kita untuk memasukkan berbagai berbagai elemen-elemen pembentuk halaman web, seperti gambar, script php, simbol-simbol, shockwave, dan lain-lain. Elemen-elemen tersebut direpresentasikan dalam bentuk icon.
2. Document toolbar memberikan kita kemudahan untuk melakukan perintah-perintah yang memberikan efek pada seluruh dokumen, seperti halnya judul dokumen. 3. Property inspector menampilkan berbagai property yang dipunyai elemen tertentu. Kita bisa langsung mengubah properti dari elemen tersebut dengan tool ini, misalnya merubah warna text, memberikan background pada elemen tabel, menggabungkan kolom, dan lain-lain. 4. File Seperti pada program (aplikasi) lainnya, menu file merupakan menu yangdigunakan untuk operasi dasar aplikasi seperti membuka file, menyimpanfile, mencetak, import dan export. Menu File juga memiliki sub menu.
16
5. Preview in Browser yang berguna untuk menampilkan halaman situs di web browser 6. Edit Menu ini terdiri dari submenu yang berhubungan dengan prosesediting file,seperti Copy, Cut, Paste, Undo, Redo, Find and Replace. 7. View Menu ini digunakan untuk mengatur tampilan layar Dreamweaver, sepertipengaturan tampilan ( design view, code view, atau keduanya). 8. Modify Menu ini digunakan untuk mengubah properties dari objek yang sedang aktif. Dan juga digunakan untuk melakukan convert table ke layer 9. Text. Menu ini digunakan untuk mengatur tampilan (style) text. 10. Commands. Menu ini terdiri dari beberapa perintah berhubungan dengan sourceformating dan HTML-cleaning . Menu ini juga memiliki sub menu untuk membuat web photo album 11. Site. Menu ini berhubungan dengan manajemen file dan situs. 12. Help Menu ini merupakan menu bantuan mengenai penggunaan Dreamweaver.
17
2.7
PHP PHP kependekan dari PHP Hypertext Preprocessor, adalah sebuah bahasa
script server side yang bisa digunakan dengan bahasa HTML atau dokumennya secara bersamaan untuk membangun sebuah aplikasi di web yang sangat banyak kegunaannya. PHP mirip dengan bahasa C dan Perl yang punya kesederhanaan dalam pemrosesan perintah dan sangat kompatibel digunakan dengan aplikasi database yang ada.
Menurut pengakuan beberapa pemakai PHP yang
berpengalaman di bidang bahasa pemrograman web, PHP meningkatkan kecepatan dari proses script dan cukup stabil. Selain itu, PHP adalah aplikasi bahasa web yang open source sehingga Anda bisa mendapatkan aplikasi yang terbaru untuk menghindari adanya bug dan security hole. Fungsi-fungsi yang ada di PHP tidak case sensitive tetapi variablenya case sensitive ( membedakan huruf besar dan kecil ). Kode PHP diawali dengan tanda lebih kecil ( < ) dan diakhiri dengan tanda lebih besar ( > ). Ada tiga cara untuk menuliskan skrip PHP yaitu : 1. Script PHP ?> 14 2. 3. <SCRIPT LANGUAGE=”php”> Script PHP
Variable digunakan untuk menyimpan data sementara, dan nilainya bisa berubah-ubah setiap kali program dijalankan Dalam PHP , setiap variable salalu dimulai dengan tanda „$‟ dan diikuti dengan nama variablenya, tidak memandang data tersebut apakah integer, real maupun string, PHP akan
18
secara otomatis mengkonveksikan data menurut tipenay. Nama variable dapat berubah kombinasi antara huruf alphabet dan angkan dengan panjang maksimal 32 karakter. Secara singkat dapat dikatakan bahwa variable dalam PHP memiliki aturan : Diawali dengan tanda dolar ($) Penamaan varable bersifat case sensitive (membedakan huruf besar dan kecil) Nama variable hanya bisa diawali dengan huruf atau garis bawah, baru dapat diikuti dengan beberapa huruf atau angka meupun garis bawah. 2.8
MySQL MySQL merupakan
dikembangkan
pada
software
platform
sistem
open
source
operasi
yang pada
Linux
namun
awalnya demikian
dikembangkan untuk penggunaan pada flatform Windows. Operasi dasar yang dapat dilakukan pada MySQL meliputi pembuatan (create) database, modifikasi database dan operasi Query (operasi yang digunakan untuk menampilkan atau mengambil data dari database).
2.8.1 Tipe Data Pada MySQL Pada dasarnya ada empat grup tipe data yang didukung MySQL, yaitu data numerik, string, waktu, dan data selain numerik atau string. Tipe Data Numerik Pada type data ini data yang disimpan hanya data angka (numerik) saja. Dapat disimpan disini baik dalam bentuk angka positif maupun angka negatif.
19
Tipe Data String Pada tipe data ini dapat berisi nilai string (alphanumeric/karakter) dan numerik. Yang jelas nilai numerik disini tidak dapat untuk operasi perhitungan sebelum dilakukan konversi. Tipe Data Waktu Tipe data ini menyimpan informasi waktu, baik tanggal maupun jam. Walaupun data yang disimpan disini numerik, tetapi pembacaan terhadap data adalah string. Jadi perlu dilakukan konversi bila ingin melakukan perhitungan. Tipe Data Lainnya Disini ada tiga macam tipe data selain yang telah disebutkan diatas, yaitu ENUM dan SET. Tipe ENUM merupakan tipe data yang menyimpan beberapa pilihan data yang boleh disimpan. Sedangkan SET mirip dengan ENUM tetapi bisa memilih lebih dari satu pilihan.
2.9
Konektivitas PHP-MySQL Pembahasan mengenai MySQL secara khusus tidak akan dilakukan, sebab
pada penulisan ini penulis ingin memfokuskan penggunaan MySQL melalui PHP. Untuk menjalankan perintah-perintah MySQL dari dalam script PHP dibutuhkan fungsi-fungsi koneksi tersendiri : a.
mysql_connect ( ) PHP menyediakan fungsi ini untuk membuat koneksi ke MySQL server, fungsi ini membutuhkan tiga buah argumen : hostname, database username, dan database user password.
$link_id = mysql_connect (“localhost”,
“phpuser”, “phppass”); b. mysql_list-dbs ( ) Fungsi ini berakibat sama dengan perintah show databases pada mysql, berfungsi untuk menampilkan database-database yang tersedia. $result = mysql_list_dbs ($link_id);
20
c.
mysql_list_tables ( ) Menampilkan table-table yang berada dalam database yang sedang digunakan. $result = mysql_list_tables (“mysql”,”$link_id”);
d. mysql_num_row ( ) Kita dapat mengetahui jumlah record yang dihasilkan oleh suatu query dengan menggunakan fungsi ini. $num_rows = mysql_num_rows($result); e.
mysql_fetch_row ( ) Memanggil record-record yang diambil dari server, menghasilkan set pointer yang dihasilkan oleh query sebelumnya. $fetched_row = mysql_fetch_row($result_set);
2.10
Apache HTTP Server 1.3.23 Untuk menjalankan PHP dan MySQL, dibutuhkan web server. Web server
yang juga dikenal dengan istilah HTTPD(Hypertext transfer Protocol Daemon) atau HTTP server, adalah service yang bekerja melayani request dari HTTP client(web browser) ke computer client. Web server yang digunakan pada penulisan ini adalah Apache HTTP Server 1.3.23. Alasan penulis menggunakan Apache HTTP Server 1.3.23 karena mudah dalam penginstalannya serta kompatibel dengan PHP.
2.11
Permodelan Sistem Tujuan representasi elemen-elemen grafis ke dalam diagram adalah untuk
menyajikan beragam sudut pandang dari sebuah sistem berdasarkan fungsi masing-masing diagram tersebut. Kumpulan dari beragam sudut pandang inilah yang disebut sebuah model. Unified Modelling Language (UML) terdiri dari banyak elemen-elemen grafis yang digabungkan membentuk sebuah diagram. Alasan penggunaan UML pada proses modeling adalah karena UML menjadi
21
notasi standar untuk arsitektur perangkat lunak dan merupakan bahasa standar industri untuk memvisualisasikan, membangun, dan mendokumentasikan sistem. Diagram-diagram yang tersedia pada UML versi 1.4 ada 9 diagram yang terbagi atas 2 kategori, yaitu: A. Diagram Structural : 1. Diagram Class 2. Diagram Physical, yang terdiri dari : a. Diagram Component b. Diagram Deployment B. Diagram Behavioral : 1. Diagram Use case 2. Diagram Sequence 3. Diagram Collaboration 4. Diagram Statechart 5. Diagram Activity
2.11.1
Diagram Class Diagram Class adalah sebuah spesifikasi yang jika diinstansiasi akan
menghasilkan sebuah obyek dan merupakan inti dari pengembangan dan desain berorientasi obyek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus
menawarkan
layanan
untuk
memanipulasi
keadaan
tersebut
(metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan object beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. Sebuah Class memiliki tiga area pokok: 1) Nama, merupakan nama dari sebuah kelas 2) Atribut, merupakan peroperti dari sebuah kelas. Atribut melambangkan batas nilai yang mungkin ada pada obyek dari class
22
3) Operasi, adalah sesuatu yang bisa dilakukan oleh sebuah class atau yang dapat dilakukan oleh class lain terhadap sebuah class. Atribut dan metoda dapat memiliki salah satu sifat berikut: • Private, tidak dapat dipanggil dari luar class yang bersangkutan • Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya • Public, dapat dipanggil oleh siapa saja • Package, hanya dapat dipanggil oleh instance sebuah class pada paket yang sama. Berikut adalah notasi – notasi yang ada pada class diagram :
Tabel 2.1 Notasi-notasi Diagram Class Class
Class
adalah
blok
-
pembangun
pada
pemrograman obyek.
blok
berorientasi
Sebuah
class
digambarkan sebagai sebuah kotak yang terbagi atas 3 bagian. Bagian atas adalah bagian
nama
dari
Bagian
class. tengah
mendefinisikan property/atribut class. Bagian akhir mendefinisikan methodmethod dari sebuah class.
23
Site Config +sqlDNS:string +Adminemail:string
Asosiasi
Sebuah
asosiasi
sebuah
merupakan
relationship
paling
umum antara 2 class, dan dilambangkan oleh sebuah garis yang menghubungkan antara 2 class. Garis ini bisa melambangkan
tipe-tipe
relationship dan juga dapat menampilkan hukum-hukum multiplisitas
pada
sebuah
One-to-one,
one-to-
relationship. (Contoh: many, Composition
many-to-many).
Jika sebuah class tidak bisa berdiri
sendiri
dan
harus
merupakan bagian dari class yang lain, maka class tersebut memiliki relasi Composition terhadap class tempat dia bergantung tersebut. Sebuah relationship
composition
24
digambarkan sebagai garis dengan
ujung
berbentuk
jajaran genjang berisi/solid. Dependency
Dependency
adalah
semantik benda/things sebuah
hubungan
antara
dua
yang
mana
benda
berubah
mengakibatkan benda satunya akan berubah pula. Umumnya sebuah
dependency
digambarkan sebuah panah dengan garis terputus-putus Aggregation
Aggregation
mengindikasikan
keseluruhan
bagian
relationship disebut
dan sebagai
“mempunyai “bagian aggregation
biasanya relasi
sebuah”
dari”.
atau
Sebuah
digambarkan
sebagai sebuah garis dengan sebuah jajaran genjang yang
25
tidak berisi/tidak solid. Generalization
Sebuah
relasi
generalization
sepadan dengan sebuah relasi inheritance
pada
konsep
berorientasi obyek. Sebuah generalization dilambangkan dengan sebuah panah dengan kepala panah yang tidak solid yang
mengarah
ke
kelas
“parent”-nya/induknya.
2.11.2
Diagram Physical Component Diagram dan Deployment Diagram digabungkan dalam
sebuahdiagram Physical, yang mengkombinasikan fitur dari kedua diagram dalam sebuah diagram.
A.
Diagram Component Komponen perangkat lunak adalah bagian fisik dari sebuah sistem yang
menetap di komputer. Komponen merupakan implementasi software dari sebuah class. Komponen bisa berupa tabel, file data, file exe, file DLL, dokumen, dan lain-lain. Component Diagram mengandung komponen, interface dan relationship. Komponen diagram ini digunakan pada saat anda ingin memecah sistem menjadi komponen-komponen dan ingin menampilkan hubungan-hubungan mereka dengan antarmuka atau pemecahan komponen menjadi struktur yang lebih rendah.
26
Secara umum dapat dikatakan bahwa component diagram digunakan untuk menjelaskan kebergantungan antar beragam komponen-komponen software seperti misalnya kebergantungan antara file-file executable dengan file-file sumbernya (source file).
Tabel 2.2 Notasi-notasi Diagram Component Component
Sebuah
komponen
melambangkan
sebuah
entitas software dalam Component
sebuah sistem. Sebuah komponen sebagai
dinotasikan
sebuah
kotak
segiempat dengan dua kotak
kecil
yang
tambahan menempel
disebelah kirinya. Dependency
Sebuah
Dependency
digunakan
untuk
menotasikan relasi antara dua
komponen.
Notasinya adalah tanda panah putus-putus yang diarahkan
kepada
27
komponen tempat sebuah komponen
itu
bergantung.
B.
Diagram Deployment Deployment Diagram menunjukkan tata letak sebuah sistem secara fisik,
menampakkan bagian-bagian software yang berjalan pada bagian-bagian hardware yang digunakan untuk mengimplementasikan sebuah sistem dan keterhubungan
antara
komponen-komponen
hardware
tersebut.
Diagram
Deployment dapat digunakan pada bagian-bagian awal proses perancangan sistem untuk mendokumentasikan arsitektur fisik sebuah sistem. Berikut adalah notasinotasi yang digunakan pada diagram Deployment:
Tabel 2.3 Notasi-notasi Diagram Deployment Component
Pada
Deployment
diagram, Component
komponen-komponen yang
ada
didalam
diletakkan
node
memastikan
untuk
keberadaan
posisi mereka.
28
Node
Node
menggambarkan
bagian-bagian
hardware
dalam
sebuah
sistem.
Notasi
untuk
node
Node Nam e
digambarkan
sebagai
sebuah kubus 3 dimensi. Assosiation
Sebuah
association
digambarkan sebuah
garis
sebagai yang
menghubungkan dua node yang
mengindikasikan
jalur komunikasi antara element-elemen hardware.
2.11. 3 Diagram Use Case Use case adalah deskripsi fungsi dari sebuah sistem dari perspektif / sudut pandang para pengguna sistem. Use case mendefinisikan “apa” yang dilakukan oleh sistem dan elemen-elemennya, bukan “bagaimana” sistem dan elemen-elemennya saling berinteraksi. Use case bekerja dengan menggunakan “skenario”, yaitu deskripsi urutan-urutan langkah yang menerangkan apa yang dilakukan penggunan terhadap sistem maupun sebaliknya. Diagram Use case mengidentifikasikan fungsionalitas yang dipunyai oleh sistem (usecase), user yang berinteraksi dengan sistem (actor) dan asosiasi / keterhubungan antara user dengan fungsionalitas sistem Berikut adalah notasi yang terdapat pada diagram use-case:
29
Table 2.4 Notasi-notasi Diagram Use Case Actor adalah pengguna sistem.
Actor
Actor tidak terbatas hanya manusia saja, jika sebuah sistem
berkomunikasi
dengan aplikasi lain dan membutuhkan input atau memberikan output, maka aplikasi tersebut juga bisa dianggap sebagai actor. Use-case
Use case digambarkan sebagai lingkaran
elips
dengan
nama use case dituliskan
Asosiasi digambarkan dengan sebuah
cas e
didalam elips tersebut. Assosiation
Use-
garis
yang
menghubungkan
antara
na me
Actor dengan Use Case.
2.11.4
Diagram Sequence Diagram Sequence mendokumentasikan komunikasi/interaksi antar kelas-
kelas. Diagram ini menunjukkan sejumlah obyek dan message (pesan) – yang diletakkan diantara obyek-obyek di dalam use case. Perlu diingat bahwa di dalam 30
diagram ini, kelas-kelas dan aktor-aktor diletakkan dibagian atas diagram dengan urutan dari kiri ke kanan dengan garis lifeline yang diletakkan secara vertikal terhadap kelas dan aktor. Berikut adalah notasi-notasinya : Tabel 2.5 Notasi-notasi Diagram Sequence Object
Object dari
merupakan sebuah
instance
class
dan
dituliskan tersusun secara horizontal.
Digambarkan
sebagai
sebuah
class
(kotak)
dengan
nama
obyek didalamnya yang diawali
dengan
sebuah
titik koma. Actor
Actor
juga
berkomunikasi
dapat dengan
object, maka actor juga dapat diurutkan sebagai kolom.
Simbol
Actor
sama dengan vertic pada Actor Use Case Diagram Lifeline
Lifeline
mengindikasikan
keberadaan sebuah object
31
; Object1
dalam basis waktu. Notasi untuk Lifeline adalah garis putus-putus vertical yang ditarik dari sebuah obyek. Activation
Activation dinotasikan sebagai sebuah kotak segi empat yang
digambar
pada
sebuah lifeline. Activation mengindikasikan obyek
yang
sebuah akan
melakukan sebuah aksi. Message
Message, digambarkan dengan anak
panah
antara
horizontal
message
Activation.
Message mengindikasikan komunikasi antara objectobject.
2.11.5
Diagram Collaboration Diagram Collaboration menggunakan prinsip yang sama dengan diagram
Sequence, yaitu sama-sama memodelkan interaksi antar obyek-obyek, yang membedakannya hanya cara penggambarannya saja. Pada diagram Collaboration ini, obyek-obyek dan message (pesan) yang ada digambarkan mirip seperti 32
flowchart, hanya saja, untuk menjaga urutan pesan yang diterima oleh masingmasing objek, pesan-pesan tersebut diberi nomor urutan pesan. Berikut adalah notasi untuk diagram Collaboration :
Table 2.6 Notasi-notasi Diagram Collaboration Object
Object merupakan instance dari
sebuah
class.
Digambarkan
sebagai
sebuah
class
(kotak)
dengan
nama
obyek
didalamnya
yang
diawali dengan sebuah titik koma. Actor
Actor
juga
dapat
berkomunikasi
dengan
object, maka actor juga dapat
disertakan
dalam
ke
collaboration
diagram. Simbol Actor sama dengan tabel pada Actor
Use
Diagram.
33
Case
; Object1
Message
Message
digambarkan
dengan anak panah yang
message
mengarah antar obyek dan diberi label urutan nomor
yang
mengindikasikan urutan komunikasi yang terjadi antar obyek.
2.11.6 Diagram Statechart Diagram Statechart, atau yang biasa juga disebut diagram State digunakan untuk mendokumentasikan beragam kondisi/keadaan yang bisa terjadi terhadap sebuah class dan kegiatan apa saja yang dapat merubah kondisi/keadaan tersebut. Contohnya sebuah televisi yang dapat berada dalam kondisi menyala atau mati, jika tombol “power” ditekan maka televisi akan menyala, begitu juga sebaliknya akan mati jika tombol “power” ditekan kembali. Maka disini kita mempunyai sebuah kelas yaitu televisi, 2 state yaitu menyala dan mati dan 2 transition yaitu menyalakan TV dan mematikan TV. Tidak seperti diagram-diagram behavioural lainnya yang memodelkan interaksi diantara beberapa class, diagram State justru biasanya hanya memodelkan transisi yang terjadi hanya pada sebuah class. Berikut adalah notasi diagram State:
34
Tabel 2.7 Notasi-notasi Diagram Statechart State
Notasi
State State
menggambarkan
1
kondisi sebuah entitas, dan
digambarkan
dengan
segi
yang
empat
pinggirnya
tumpul dengan nama state di dalamnya. Transition
Sebuah
Transition
menggambarkan Transitio sebuah
perubahan
kondisi
objek
disebabkan sebuah
yang oleh event.
Transition igambarkan dengan sebuah anak panah
dengan
nama
event
yang
ditulis
diatasnya, dibawahnya atau sepanjang anak panah tersebut.
35
n
Initial State
Initial State adalah sebuah kondisi awal sebuah object
sebelum
perubahan
ada
keadaan.
Initial
State
digambarkan
dengan
sebuah lingkaran solid. Hanya satu Initial State yang diizinkan dalam sebuah diagram Final State
Final State menggambarkan ketika objek berhenti memberi
respon
terhadap sebuah event. Final
State
digambarkan lingkaran dalam
dengan solid
di
sebuah
lingkaran kosong.
36
2.11.7
Diagram Activity Activity diagram digunakan untuk mendokumentasikan alur kerja pada
sebuah sistem, yang dimulai dari pandangan business level hingga ke operational level. Pada dasarnya, activity diagram merupakan variasi dari statechart diagram. Diagram Activity mempunyai peran seperti halnya flowchart, akan tetapi perbedaannya dengan flowchart adalah diagram Activity bisa mendukung perilaku paralel sedangkan flowchart tidak bisa. Berikut adalah notasi diagam Activity :
Table 2.8 Notasi-notasi Diagram Activity Simbol
Keterangan Titik awal Titik akhir Activity Decision / Pilihan untuk mengambil keputusan Fork; Digunakan untuk menunjukkan kegiatan yang dilakukan
secara
parallel
atau
untuk
menggabungkan dua kegiatan peralel menjadi satu. Rake: menandakan adanya dekomposisi
Tanda waktu
37
<no send action>
Tanda pengiriman
<no receive action>
Tanda penerimaan
Aliran akhir (Final Flow)
38