BAB II LANDASAN TEORI 2.1 Konsep Dasar Sistem 2.1.1 Pengertian Sistem Suatu sistem mepunyai maksud tertentu.Ada yang menyebutkan maksud dari suatu sistem adalah untuk mencapai suatu tujuan (goal) danada yang menyebutkan untuk mencapai suatu sasaran (objectives). Menurut Mustakini (2009:34), bahwa Sistem (system) dapat didefinisikan dengan pendekatan prosedur dan dengan pendekatan komponen. “Dengan pendekatan prosedur, sistem dapat didefinisikan sebagai kumpulan dari prosedurprosedur yang mempunyai tujuan tertentu”. Contoh sistem yang didefinisikan dengan pendekatan ini adalah sistem akuntansi. Sistem ini didefinisikan sebagai kumpulan dari prosedur-prosedur penerimaan kas, pengeluaran kas, penjualan, pembelian dan buku besar. 2.1.2 Karakteristik Sistem suatu sistem mempunyai karakteristik atau sifat-sifat yang tertentu, yaitu mempunyai unsur-unsur dari sistem yang membentuknya. Berikut adalah karakteristik sistem yang dapat membedakan sustu sistem dengan sistem lainnya : 1. Komponen Sistem Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, yang artinya bekerja sama membentuk satu kesatuan. Komponen-komponen sistem atau elemen-elemen sistem dapat berupa suatu subsistem atau bagian-bagian dari sistem. 2. Batas Sistem Batas sistem (boundary) merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lainnya atau dengan lingkungan luarnya.Batas sistem dengan sistem ini memungkinkan dipandang sebagai satu kesatuan. 3. Lingkungan Luar Sistem
http://digilib.mercubuana.ac.id/
Lingkungan luar sistem (environment)dari suatu sistem adalah apapun diluar batas dari sistem yang mempengaruhi operasi sitem. Dapat bersifat menguntungkan dan dapat juga bersifat merugikan sistem tersebut. 4. Penghubung sistem Penghubung (interface) merupakan media penghubung antara satu subsistem dengan subsistem yang lain. 5. Masukan Sistem Masukan (input) adalah energi yang dimasukkan kedalam sistem. 6. Keluaran Sistem Keluaran sistem adalah hasil energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna. 7. Pengolahan Sistem Suatu sistem dapat mempunyai suatu bagian pengolah yang akan merubah masukan menjadi keluaran. 8. Sasaran Sistem Suatu sistem pasti mempunyai tujuan atau sasaran. Kalau suatus sistem tidak mempunyai sasaran, maka moperasi sitem tidak akan ada gunanya.
2.1.3Tahap-tahap Analisis Sistem Menurut Mulyanto (2009:126), Tahap analisis sistem merupakan tahap yang kritis dan sangat penting, karena kesalahan di dalam tahap ini akan menyebabkan juga kesalahan di tahap selanjutnya. Tahapan ini bisa merupakan tahap yang mudah jika client sangat paham dengan masalah yang dihadapi dalam organisasinya dan tahu betul fungsionalitas dari sistem informasi yang akan dibuat. Tetapi tahap ini bisa menjadi tahap yang paling sulit jika client tidak bisa mengidentifikasi kebutuhannya atau tertutup terhadap pihak luar yang ingin mengetahui detail-detail proses bisnisnya.
Menurut Mulyanto (2009:129), Di dalam tahap analisis sistem terdapat langkah-langkah dasar yang harus dilakukan oleh seorang analis sistem, diantaranya adalah:
http://digilib.mercubuana.ac.id/
1. Identify, yaitu proses yang dilakukan untuk mengidentifikasi masalah. 2. Understand, yaitu memahami kerja dari sistem yang ada. 3. Analysis, yaitu melakukan analisa terhadap sistem. 4. Report, yaitu membuat laporan dari hasil analisis yang telah dilakukan dalam kurun waktu tertentu. 2.2 Fungsi Analisis Sistem Adapun fungsi analisa sistem adalah sebagai berikut : 1. Mengidentifikasi masalah–masalah kebutuhan pemakai (user). 2. Menyatakan secara spesifik sasaran yang harus dicapai untuk memenuhi kebutuhan pemakai. 3. Memilih alternatif–alternatif metode pemecahan masalah yang paling tepat. 4. Merencanakan dan menerapkan rancangan sistemnya. Pada tugas atau fungsi terakhir dari analisa sistem menerapkan rencana rancangan sistemnya yang telah disetujui oleh pemakai. 2.3 Analisis Sistem Menurut John W. Satzinger (2012 : 5), analisis sistem adalah proses memahami dan menentukan secara rinci apa yang sistem informasi harus capai. Sehingga dapat disimpulkan bahwa analisis sistem adalah teknik pemecahan masalah yang mengurai dan mempelajari sistem dan proses kerja untuk mengidentifikasi kekuatan, kelemahan, dan peluang untuk perbaikan dengan cara mendefinisi masalah, mengidentifikasi penyebabnya, menentukan solusi dan mengidentifikasikebutuhaninformasi yang harus memenuhi dengan solusi sistem.
2.4 Definisi data dan informasi Data adalah representasi fakta dunia nyata yang mewakili dunia objek manusia (pegawai, siswa, pembeli, pelanggan), narang, hewan, peristiwa, konsep keadaan dan sebagainya yang diwujudkan dalam bentuk angka, huruf, symbol, bunyi atau kombinasinya (farthansyah, 2012:3)
http://digilib.mercubuana.ac.id/
Sedangkan informasi (dr. Deni Darmawam, 2012:2) dapat diartikan sebagai sejumlah data yang sudah diolah atau diproses melalui prosedur pengolahan data dalam rangka menguji tingkat kebenarannya, keterpakaiannya sesuai dengan kebutuhan. Sistem pengolah data ini sangat dibutuhkan sehingga semua data dapat dengan cepat dan mudah menjadi sekumpulan informasi yang siap pakai. 2.5 Definisi Perancangan Sistem “Perancangan sistem adalah menurut desain sistem dapat didefinisikan sebagai penggambaran, perencanaan dan pembuatan sketsa atau pengaturan dari beberapa elemen yang terpisah ke dalam satu kesatuan yang utuh dan berfungsi” (Tata Sutabri, 2012:5) Dari definisi diatas dapat diketahui bahwa “perancangan sistem adalah untuk memenuhi kebutuhan kepada pemakai sistem dan juga untuk memberikan gambaran yang jelas dan rancang bangun yang lengkap kepada pemrograman computer dan ahli-ahli teknik lain yang terlibat di dalamnya.
2.6 Pengertian Basis Data Basis data terdiri dari 2 kata, yaitu Basis dan Data. Basis kurang lebih diartikan sebagai markas atau gudang, tempat bersarang/berkumpul.Sedangkan Dataadalah representasi fakta dunia nyata yang mewakili dunia objek seperti manusia (pegawai, siswa, pembeli, pelanggan), barang, hewan, peristiwa, konsep, keadaan, dan sebagainya,yang diwujudkan dalam bentuk angka, huruf, simbol, bunyi atau kombinasinya. Sebagai satu kesatuan istilah, Basis data (Database) sendiri dapat didefinisikan dalam sebuah sudut pandang seperti: 1. Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupaagar kelak dapat di manfaatkan kembali dengan cepat dan mudah. 2. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan.
http://digilib.mercubuana.ac.id/
3. Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis, sebagai komponen utama pembangun basis data. Basis data dan lemari arsip sesungguhnya memiliki prinsip kerja dan tujuan yang sama. Prinsip utamanya adalah pengaturan data/arsip. Dan tujuan utamanya adalah kemudahan dan kecepatandalam pengambilan kembali data/arsip. Perbedaanya hanya terletak pada media penyimpanan yang digunakan. Jika lemari arsip menggunakan lemari dari besi atau kayu sebagai media penyimpanan data, maka basis data menggunakan media penyimpanan elektronis seperti cakram magnetis. Hal ini merupakan konsekuensi yang logis, karena lemari arsip langsung dikelola oleh manusia, sementara basis data dikelola melalui perantaraan mesin pintar elektronis. Perbedaan media ini yang selanjutnya melahirkan perbedaan-perbedaan lain yang menyangkut jumlah dan jenis metode yang dapat digunakan dalam upaya penyimpanan. (Fathansyah,2012:3)
2.7 Konsep Dasar Informasi Manajer yang tidak memiliki kemampuan menggunakan computer mungkin akan menjadi penghambat bagi organisasi, atau lebih buruk lagi, tak bermanfaat sebagai pengambil keputusan. Kesimpulan tersebut mencerminkan kenyataan bahwa untuk beberapa decade, focus pada penggunaan computer lebih tertuju kepada mesin ketimbang kepada dimensi yang jauh lebih penting, yaitu penerapannya. Meskipun fakta menunjukkan bahwa computer tidak lebih dari sekedar sebuah alat pengolah data, banyak manajer memandangnya sebagai elemen sentral yang penting dalam suatu sistem informasi. Sikap ini cenderung menyanjung dan merancukan peran computer yang sesungguhnya, yaitu menyajikan onformasi untuk pengambilan keputusan dan untuk perencanaan serta pengendalian operasi.
http://digilib.mercubuana.ac.id/
2.7.1 Pengertian Informasi Informasi adalah sekumpulan fakta (data) yang diorganisasikan dengan cara tertentu sehingga mereka mempunyai arti bagi si penerima. Sebagai contoh, apabila kita memasukkan jumlah gaji dengan jumlah jam bekerja, kita akan mendapatkan informasi yang berguna. Dengan kata lain, informasi datang dari data yang akan diproses. (Sutarman, 2009 : 14). 2.7.2 Pengertian Sistem Informasi Menurut Agus mulyanto (2009 : 29) mendefinisikan sistem informasi sebagai suatu komponen yang terdiri dari manusia, teknologi informasi, dan prosedur kerja yang memproses, menyimpan, menganalisis, dan menyebarkan informasi untuk mencapai suatu tujuan.Sistem informasi terdiri dari komponenkomponen yang saling berinteraksi diantaranya adalah sebagai berikut : 1. Blok Masukan Input mewakili data yang masuk kedalam sistem informasi. Input disini termasuk metode-metode dan media untuk menangkap data yang akan dimasukan, yang dapat berupa dokumen-dokumen dasar. 2. Blok Model Pada blok ini terdiri dari kombinasi prosedur, logika dan model matematika yang akan memanipulasi data input dan data yang tersimpan dibasis data dengan cara yang sudah tertentu untuk menghasilkan keluaran yang diinginkan. 3. Blok Keluaran Produk dari sistem informasi adalah keluaran yang merupakan informasi yang berkualitas dan dokumen yang berguna untuk semua tingkatan manajemen serta semua pemakai sistem. 4. Blok Teknologi Teknologi merupakan “kotak alat” (tool-box) dalam sistem informasi. Teknologi digunkan untuk menerima input, menjalankan model, menyimpan dan mengakses data, menghasilkan keluaran dan membantu pengendalian dari sistem keseluruhan. 5. Blok Basis Data Basis Data (database) merupakan kumpulan dari
data
yang
saling
berhubungan satu dengan yang lainnya. Tersimpan diperangkat keras komputer dan digunakan perangkat lunak untuk memanipulasinya. 6. Blok Kendali
http://digilib.mercubuana.ac.id/
Beberapa pengandalian perlu dirancang dan diterapkan untuk meyakinkan bahwa hal-hal yang dapat merusak sistem
dapat
dicegah ataupun bila
terlanjur terjadi di kesalahan-kesalahan dapat langsung cepat diatasi. 2.8 Pengertian Distributor Mitch (2009:1) saluran distribusi dalam suatu perusahaan yang mempunyai fungsi pemasaran biasanya digambarkan sebagai bentuk penyaluran suatu produk dari perusahaan ke konsumen, dari perusahaan ke dealer ke konsumen,
dari
perusahaan
ke
dealer,
ke
grosir
dan
ke
konsumen.Distributor adalah suatu Perusahaan / Pihak yang ditunjuk oleh Pihak vendor/supplier untuk memasarkan dan menjual barang-barang vendor/supplier dalam wilayah tertentu dan jangka waktu tertentu, dimana pihak Distributor dalam menjalankan kegiatannya tidak bertindak selaku wakil dari Distributor. 2.9 Pengertian General Report Menurut Fahmi (2011:2) General Report adalah suatu bentuk informasi umum yang menggambarkan kondisi keuangan yang dimana didalam informasi tersebut terdapat informasi tentang persediaan barang, pendistribusian barang, arus kas, dan laba rugi suatu perusahaan dan jauh lebih informasi dapat dijadikan sebagai gambaran kinerja keuangan perusahaan tersebut. 2.10 Metode Waterfall Waterfall model sebagai salah satu teori dasar dan seakan wajib di pelajari dalam konteks siklus hidup perangkat lunak, merupakan sebuah siklus yang terdiri dari mulai fase hidup perangkat lunak sebelum terjadi sampai pasca produksi. Beberapa buku menyebutkan model ini sebagai model linear, tetapi beberapa referensi lain masih tetap menggunakan istilah waterfall model. Langkah langkah yang terdapat dalam waterfall model juga berbeda antara satu referensi dengan referensi yang lain. Terdapat referensi yang lain yang mengatakan bahwa dalam waterfallmodel hanya terdiri dari empat langkah, sedangkan Sommervie menyatakan bahwa waterfall model memiliki enam tahapan. Bahkan terdapat referensi lain yang menyatakan bahwa waterfall model sesungguhnya memiliki delapan tahapan.
http://digilib.mercubuana.ac.id/
Waterfall sendiri memiliki definisi bahwa sebuah proses hidup perangkat lunak memiliki sebuah proses yang linear dan sekuensial. Meski demikian dalam perkembangannya tahapan yang telah ada dapat dimodifikasi dari bentuk aslinya dengan melakukan adaptasi pada kebutuhan sistem yang ada. (Soetam Rizky 2011:25) SDLC menurut (Alan Dennis, 2012:6) adalah proses penentuan bagaimana suatu sistem informasi dapat mendukung kebutuhan bisnis, merancang sistem, membangun itu, dan memberikan kepada pengguna.
Gambar 2.1 Metode Waterfall (Alan Dennis, System Analysis and Design with UML, 2012) Tahapan dari waterfall Model merefleksikan pokok-pokok dari aktifitas pengembangan: (Alan Dennis, 2012:13) a) Planning Tahap perencanaan adalah proses dasar memahami mengapa informasi sistem harus dibangun dan menentukan bagaimana tim proyek akan mengarah. b) Analysis Tahap analisis menjawab pertanyaan-pertanyaan tentang siapa yang akan menggunakan sistem itu, apa yang akan dilakukan sistem, di mana dan kapan akan digunakan. Selama fase ini, tim proyek menyelidiki sistem saat ini,mengidentifikasi peluang perbaikan, dan mengembangkan konsep untuk sistem yang baru. c) Design Tahap desain memutuskan bagaimana sistem akan beroperasi dalam hal perangkat keras, perangkat lunak, dan infrastruktur jaringan yang akan ditempatkan pada user interface, form, dan laporan yang akan digunakan seperti
http://digilib.mercubuana.ac.id/
spesifik program, database, dan file yang akan dibutuhkan. Meskipun sebagian besar keputusan strategis tentang sistem yang dibuat dalam pengembangan konsep sistem selama tahap analisis, langkah-langkah dalam tahap desain menentukan dengan tepat bagaimana sistem akan beroperasi. d) Implementation Tahap akhir dalam SDLC adalah tahap implementasi, di mana sistem sebenarnya dibangun (atau dibeli, dalam hal desain paket perangkat lunak dan diinstal). Ini adalah fase yang biasanya mendapat perhatian yang besar, karena bagi sebagian besar sistem, tahap ini adalah bagian yang terpanjang dan paling mahal dalam proses pembangunan. 2.11 Testing Perangkat Lunak “Testing adalah sebuah proses yang dijelaskan sebagai siklus hidup dan merupakan bagian dari proses rekayasa perangkat lunak secara terintegrasi demi memastikan kualitas dari perangkat lunak serta memenuhi kebuthan teknis yang telah disepakati dari awal” Soetam Rizky (2011:237). 2.11.1 Metode Black Box “Black Box Testing” adalah tipe testing yang memperlakukan perangkat lunak yang tidak diketahui kinerja internalnya. Sehingga para tester memandang perangkat lunak seperti layaknya sebuah “kotak hitam” yang tidak penting dilihat isinya , tapi cukup dikenai proses testing di bagian luar” Soetam Rizky (2011:264). Beberapa keuntungan yang diperoleh dari jenis testing ini antara lain : a) Anggota tim tester tidak harus dari seeseorang yang memiliki kemampuan teknis di bidang pemograman. b) Kesalahan dari perangkat lunak ataupun bug seringkali ditemukan oleh komponen tester yang berasal dari pengguna. c) Hasil dari black box testing dapat memperjelas kontradiksi ataupun keracunan yang mungkin timbul dari eksekusi sebuah perangkat lunak. d) Proses testing dapat dilakukan lebih cepat dibandingkan white box testing. Beberapa teknik testing yang tergolong dalam tipe ini antara lain : a) Equivalence Partitioning
http://digilib.mercubuana.ac.id/
Pada teknik ini, tiap inputan data dikelompokkan ke dalam grup tertentu, yang kemudian dibandingkan outputnya. b) Boundary Value Analysis Merupakan teknik yang sangat umum digunakan pada saat awal sebuah perangkat lunak selesai dikerjakan. Pada teknik ini, dilakukan inputan yang melebihi dari batasan sebuah data, jika perangkat lunak berhasil mengatasi inputan yang salah, maka dapat dikatakan teknik ini telah selesai dilakukan. c) Cause Effect Graph Dalam teknik ini, dilakukan proses testing yang menghubungkan sebab dari sebuah inputan dan akibatnya pada output yang dihasilkan. d) Random Data Selection Teknik ini berusaha melakukan proses inputan data dengan menggunakan nilai acak. Dari hasil inputan tersebut kemudian dibuat sebuah tabel yang menyatakan validitas dari output yang dihasilkan. e) Feature Test Pada teknik ini dilakukan proses testing terhadap spesifikasi dari perangkat lunak yang telah selesai dikerjakan.
2.11.2 Metode White Box “White Box Testing adalah jenis testing yang lebih berkonsentrasi terhadap “isi” dari perangkat lunak itu sendiri. Jenis lebih banyak berkonsentrasi kepada sourcecode dari perangkat lunak yang dibuat”. (Rizky 2011, 264). Prinsip dari keluaran tipe testing ini adalah : 1.
Menjamin bahwa semua alur program yang indenpenden (dalam bentuk modeul, form, prosedur, class dan lainnya) telah dites minimal datu kali.
2.
Telah melakukan testing terhadap semua jenis percabangan dengan nilai true dan false.
http://digilib.mercubuana.ac.id/
3.
Telah melakukan testing terhadap semua jenis perulangan dengan kondisinormal dan kondisi yang dianggap melampaui batas perulangan (umumnya kondisi yang melampaui batas harus diatasi oleh prosedur tertentu).
4.
Telah melakukan testing terhadap struktur data internal (seperti variabel) agar terjaga validitasnya. Beberapa teknik yang terdapat dalam jenis white box testing adalah :
a) Decision (branch) coverage Testing ini terfokus pada hasil dari setiap skenario yang dijalankan terhadap bagian perangkat lunak yang mengandung percabangan (if..then..else). b) Condition Coverage Teknik ini mirip dengan teknik yang pertama, tetapi dijalankan terhadap percabangan yang dianggap kompleks atau percabangan majemuk. Hal ini biasanya dilakukan jika dalam sebuah perangkat lunak memiliki banyak kondisi yang dijalankan dalam satu proses sekaligus. c) Path Analysis Merupakan teknik testing yang berusaha menjalankan kondisi yang ada dalam perangkat lunak serta berusaha mengoreksi apakah kondisi yang dijalankan telah sesuai dengan alur diagram yang terdapat dalam proses perancangan.
d) Execution Time Pada teknik ini, perangkat lunak berusaha dijalankan kemudian dilakukan pengukuran waktu pada input masukan hingga output dikeluarkan. Waktu eksekusi yang dihasilkan kemudian dijadikan bahan evaluasi dan analisa lebih lanjut untuk melihat apakah perangkat lunak telah berjalan sesuai dengan kondisi yang dimaksudkan oleh tester.
http://digilib.mercubuana.ac.id/
e) Algorithm Analysis Teknik ini jarang dilakukan jika perangkat lunak yang dibuat berjenis sistem informasi. Sebab teknik ini membutuhkan kemampuan matematis yang cukup tinggi dari para tester, karena di dalamnya berusaha melakukan analisa terhadap algoritma yang diimplementasikan pada perangkat lunak tersebut.
2.12 Analisa dan Perancangan Berorientasi Objek (OOAD) Analisis dan Perancangan Berbasis Objek (OOAD) adalah rekayasa pendekatan software yang model sistemnya sebagai sekelompok objek yang saling berinteraksi. Setiap objek terdiri dari beberapa entitas yang mempunyai kepentingan dalam sistem yang dimodelkan, dan ditandai oleh class-classnya, elemen data dan perilakunya. Berbagai model dapat dibuat untuk menunjukkan struktur yang bersifat statis, perilaku dinamis dan run-time penyebaran obyek yang berkolaborasi. Ada beberapa notasi yang berbeda untuk mewakili model ini, seperti Unified Modeling Language (UML).
2.13 UML (Unified Modelling Language) Pada perkembangan teknik pemrograman berorientasi objek, munculah sebuah standarisasi bahasa pemodelan untuk pembangunan perangkat lunak yang dibangun dengan menggunkan teknik pemrograman berorientasi objek, yaitu Unified Modeling Language (UML). 2.14 Diagram UML Pada UML 2.3 terdiri dari 13 macam diagram yang dikelompokkan dalam 3 kategori. Pembagian kategori dan macam-macam diagram tersebut dapat dilihat pada gambar dibawah :
http://digilib.mercubuana.ac.id/
Gambar 2.2Diagram UML (Alan Dennis, System and Analysis Design with UML, 2010)
Berikut ini penjelasan singkat dari pembagian kategori tersebut. Structure
diagrams
yaitu
kumpulan
diagram
yang
digunakan
untuk
menggambarkan suatu struktur statis dari sistem yang dimodelkan. Behaviour yaitukumpulan diagram yang digunakan untuk menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada sebuah sistem. Interaction
diagrams
yaitu
kumpulan
diagram
yang
digunakan
utuk
menggambarkan interaksi sistem dengan sistem lain maupun interaksi antar subsistem pada suatu sistem (Alan denis, 2010).
2.14.1Use Case Diagram Use caseatau diagram use case merupakan pemodelan untuk sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Syarat penamaan use case adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor dan use case.
Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang.
Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor. (Dennis, 2010)
http://digilib.mercubuana.ac.id/
Berikut adalah simbol-simbol yang ada pada diagram use case : Tabel 2.1Simbol Use case(Denis, 2010) Aktor adalah orang atau sistem yang berasal dari manfaat dan eksternal untuk subjek. 1. Digambarkan sebagai salah satu tongkat (default) atau jika aktor non-manusia yang terlibat, sebagai persegi panjang dengan aktor <<>> di dalamnya (alternatif). 2. label dengan perannya. 3. Dapat
dikaitkan
dengan
aktor-aktor
lain
menggunakan spesialisasi / asosiasi superclass, dilambangkan
dengan
panah
dengan
panah
berongga. 4. Ditempatkan di luar batas subjek. Use Case: 1. Merupakan bagian utama dari fungsi sistem. 2. Dapat memperpanjang kasus penggunaan lain. 3. Dapat mencakup use case lain. 4. Apakah ditempatkan di dalam batas sistem. 5. Apakah label dengan frase kata kerja-kata benda deskriptif. Subject Boundary: 1. Termasuk nama subjek di dalam atau di atas. 2. Merupakan lingkup subjek, misalnya, sistem atau individu proses bisnis.
http://digilib.mercubuana.ac.id/
association relationship: 1. Link aktor dengan use case (s) dengan yang berinteraksi. <
>: Merupakan dimasukkannya fungsi satu kasus penggunaan dalam yang lain. 1. Memiliki
panah
penggunaan
dasar
yang untuk
diambil kasus
dari
kasus
penggunaan
digunakan. <<Extend>>: Merupakan perpanjangan dari kasus penggunaan untuk memasukkan perilaku opsional. 1. Memiliki
panah
yang
diambil
dari
kasus
penggunaan ekstensi untuk kasus penggunaan dasar. Generalization: Merupakan kasus penggunaan khusus ke yang lebih umum. 1. Memiliki
panah
yang
diambil
dari
kasus
penggunaan khusus untuk kasus penggunaan dasar.
http://digilib.mercubuana.ac.id/
Gambar 2.3 Contoh Use Case Diagram (Alan Dennis, 2010) 2.14.2 Activity Diagram Diagram aktivitas atau activity diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak. Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem. Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal berikut:
Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan
Urutan atau pengelompokan tampilan dari sistem / user interface dimana setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan
Rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya
Rancangan menu yang akan ditampilkan pada perangkat lunak (Denis, 2010) Berikut adalah simbol-simbol yang ada pada diagram aktivitas: Tabel 2.2Simbol pada diagram aktivitas (Denis, 2010) Simbol Nama Simbol Keterangan Initial Node
merupakan
tanda
awal
dari
sebuah aktivitas. Final-Activity
merupakan
tanda
Node
sebuah aktivitas.
Activity
merupakan
berakhirnya
sebuah
gambaran
aktivitas yang terjadi. Decision Node
Pilihan keputusan
http://digilib.mercubuana.ac.id/
untuk
pengambilan
Merge Node
membawa
kembali
jalur
keputusan bersama yang berbeda yang
dibuat
dengan
menggunakan keputusan simpul
Swimlane Name
Swimlane
memisahkan
organisasi
bisnis
yang bertanggung jawab terhadap aktifitas yang terjadi. Control Flow
Menunjukkan urutan eksekusi
Object Flow
Menunjukkan aliran objek dari satu kegiatan (atau tindakan) untuk
kegiatan
lain
(atau
tindakan). Gambar 2.4 Contoh Activity Diagram 2.14.3 Sequence Diagram Diagram sekuen menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Oleh karena itu untuk menggambar diagram sekuen maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu. Banyaknya diagram sekuen yang harus digambar adalah minimal sebanyak pendefinisian use case yang memiliki proses sendiri atau yang penting semua use case yang didefinisikan maka diagram sekuen yang harus dibuat juga semakin banyak (Wiley, 2012).
Berikut simbol yang ada pada Sequence Diagram: Tabel 2.3Simbol pada Sequence Diagram(Denis, 2010) Simbol
Nama Simbol
Keterangan
http://digilib.mercubuana.ac.id/
orang atau sistem yang berasal dari Actor
manfaat dan eksternal ke sistem yang berpartisipasi secara berurutan dengan mengirim dan / atau menerima pesan Berpartisipasi secara berurutan dengan
anObject : a Class
Object
mengirim dan / atau menerima pesan yang ditempatkan diatas diagram
Execcution
Menyatakan objek dalam keadaan aktif
Occurence
dan berinteraksi pesan.
Message
Pesan yang mengambarkan komunikasi yang terjadi antar objek.
Message
Pesan yang dikirim untuk diri sendiri
(return)
secara langsung.
Lifeline
Menyatakan kehidupan suatu objek.
Message (return)
Pesan yang dikirim untuk diri sendiri.
http://digilib.mercubuana.ac.id/
Sistem
User
Karyawan
buka username, password
username, password Login Gagal
username, password
cek validasi Login berhasil
Gambar 2.5Contoh Sequence Diagram
2.14.4 Class Diagram
Diagram kelas atau class diagram menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang disebut atribut dan metode atau operasi (Denis, 2010). Kelas-kelas yang ada padanstruktur sistem harus dapat melakukan fungsifungsi sesuai dengan kebutuhan sistem sehingga pembuat perangkat lunak atau programmer dapat membuat kelas-kelas di dalam program perangkat lunak sesuai dengan perancangan diagram kelas. Susunan struktur kelas yang baik pada diagram kelas sebaknya memiliki jenis-jenis kelas berikut: -
Kelas main Kelas yang memiliki fungsi awal dieksekusi ketika sistem dijalankan.
-
Kelas yang menangani tampilan sistem (view) Kelas yang mendefinisikan dan mengatur tampilan kepemakai.
-
Kelas yang diambil dari pendefinisian use case (controller) Kelas yang menangani fungsi-fungsi yang harus ada diambil dari pendefinisian use case,
http://digilib.mercubuana.ac.id/
kelas ini biasanya disebut dengan kelas proses yang menangani proses bisnis pada perangkat lunak. -
Kelas yang diambil dari pendefinisian data (model) Kelas yang digunakan untuk memegang atau membungkus data menjadi sebuah kesatuan yang diambil maupun akan disimpan ke basis data. Semua tabel yang dibuat di basis data dapat dijadikan kelas, namun untuk tabel dari hasil relasi atau atribut mutivalue pada ERD
dapat
dijadikan kelas tersendiri dapat juga tidak asalkan pengaksesannya dapat dipertan ggungjawabkan atau tetap ada di dalam perancangan (Denis, 2010). Berikut simbol-simbol yang ada pada Class Diagram: Tabel 2.4Simbol Class Diagram (Denis, 2010) Simbol Kelas
Deskripsi
Kelas pada struktur sistem nama_kelas +atribut +operasi()
Antarmuka / interface
Sama dengan konsep interface dalam pemrogrman berorientasi objek
nama_interface Asosiasi / association
Relasi antar kelas dengan makna umum, asosiasi biasanya juga disertai dengan multiplicity.
Asosiasi berarah / directed association
Relasi antar kelas dengan makna kelas yang satu digunakan oleh kelas yang lain, asosiasi biasanya juga disertai dengan multiplicity.
Generalisasi
Relasi antar kelas dengan makna generalisasi-spesialisasi (umum khusus)
http://digilib.mercubuana.ac.id/
Kebergantungan / dependency
Relasi antar kelas dengan makna Kebergantungan antar kelas
Agregasi / aggregation
Relasi antar kelas dengan makna semua-bagian (whole-part)
Gambar 2.6Contoh Class Diagram (Alan Dennis, System and Analysis Design with UML, 2010) 2.15 Perangkat Lunak Pendukung 2.15.1 PHP Menurut kamus computer, PHP adalah bahasa pemograman untuk dijalankan melalui halaman web, umumnya digunakan untuk mengelolah informasi di internet. Sedangkan dalam pengertian lain PHP adalah singkatan dari PHP Hypertext Preprocessor yaitu bahasa pemograman web server-side yang bersifat open source atau gratis. PHP merupakan script yang menyatu dengan HTML dan berada pada server.(Kurniawan 2010, 2). PHP Berjalan pada sisi server sehingga PHP disebut sebagai bahasa server side scripting.Artinya bahwa dalam setiap/untuk menjalankan PHP, wajib adanya server.PHP ini bersifat open source sehingga dapat dipakai secara Cuma-Cuma dan mampu lintas platform, yaitu dapat sistem operasi windows maupun linux. (Saputra 2011, 1) Contoh terkenal dari aplikasi PHP adalah phpBB dan mediaWiki (software di belakang Wikipedia). PHP juga dapat dilihat sebagai pilihan lain dari ASP.NET/C#?VB.NET Microsoft, CouldFusion Macromedia, JSP/kompleks
http://digilib.mercubuana.ac.id/
berupa CMS yang dibangun menggunakan PHP adalah Mambo, Joomla!, Postnuke, Xaraya, dan lain-lain(Kurniawan, 2010). 2.15.2 MySQL Jika anda ingin membuat website yang interaktif dan dinamis, perlu adanya media penyimpanan data yang fleksibel dan mudah untuk diakses. Dalam bahasa pemograman sering ada istilah database. Database adalah kumpulan datadata yang saling terkait, tersimpan, dan mudah diakses. Salah satu program yang dapat digunakan sebagai database adalah MySQL.MySQL merupakan salah satu software untuk database server yang banyak digunakan. MYSQL bersifat open source dan menggunakan SQL.MySQL bisa dijalankan di berbagai platform misalnya windows, linux, dan lain sebagainya. MySQL memiliki beberapa kelebihan antara lain: 1.
Multiuser. MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah.
2.
Peformance tuning. MySQL memiliki kecepatan yang bagus dalam menagani query sederhana, yaitu dapat memproses lebih banyak SQL persatuan waktu.
3.
Jenis kolom. MySQL memiliki tipe kolom yang sangat kompleks, seperti signed/unsigned integer, float, double, char, text, date, dan timestamp, dan masih banyak lagi.
4.
Perintah dan fungsi .MySQL memiliki operator dan fungsi secara penuh dan mendukung perintah select dan where dalam perintah query.
5.
Keamanan. MySQL memilki keamanan yang bagus karena beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang lengkap serta sandi tersenkripsi.
6.
Skalabilitas dan pembatasan. MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (record) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu, batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya.
7.
Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan protokol tcp/ip, unix soket (UNIX), atau named pipes (NT).
http://digilib.mercubuana.ac.id/
8.
Lokalisasi. MSQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa.
9.
Antar muka. MySQL memiliki interface (antar muka) terhadap aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Aplication Programming Interface).
10. Probabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti windows, linux, freeBSD, mac OS X server, solaris, amiga, dan masih banyak lagi. 11. Open source. MySQL didistribusikan secara open sorce, di bawah lisensi GPL sehingga dapat digunakan secara gratis. 12. Klien dan peralatan. MySQL dilengkapi dengan berbagai peralatan yang dapat digunakan unuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petujuk online. 13. Struktur dan Tabel. MySQL memliki struktur tabel yang lebih fleksibel dalam menangani ALTER ABLE, dibandingkan basis data lainnya, misalnya oracle. (Puspitosari 2011, 19). 2.15.3 Control Panel XAMPP
XAMPP adalah salah satu paket software web server yang terdiri dari Apache, MySQL, PHP dan phpMyAdmin. Mengapa menggunakan XAMPP? Karena XAMPP sangat mudah penggunaannya, terutama jika Anda seorang ppemula. Proses instalasi XAMPP sangat mudah, karena tidak perlu melakukan konfigurasi Apache, PHP, dan MySQL secara manual, XAMPP melakukan instalasi dan konfigurasi secara otomatis. Asal kata dari XAMPP adalah singkatan yang masing-masing hurufnya adalah:
1.
X (simbol angka 4 romawi), Program ini dapat dijalankan dibanyak sistem operasi, seperti Windows, Linux, Mac OS, dan Solaris. A (Apache), merupakan aplikasi web server. Tugas utama apache adalah menghasilkan halaman web yang benar kepada user berdasarkan kode PHP yang dituliskan oleh pembuat halaman web.
2.
M (MySQL), merupakan aplikasi database server.
3.
P (PHP), bahasa pemrograman web. Bahasa pemrograman PHP merupakan bahasa pemrograman untuk membuat web yang bersifat server-side scripting.
http://digilib.mercubuana.ac.id/
4.
P (PERL), bahasa pemrograman. Mengenal bagian XAMPP yang biasa digunakan pada umumnya :
5.
Htdoc, adalah folder tempat meletakkan berkas-berkas yang akan dijalankan, seperti berkas PHP, HTML dan skrip lain.
6.
PhpMyAdmin, merupakan bagian untuk mengelola basis data MySQL yang ada dikomputer.
Untuk
membukanya,
buka
browser
lalu
ketikkan
alamat
http://localhost/phpMyAdmin, maka akan muncul halaman phpMyAdmin. 7.
Kontrol Panel yang berfungsi untuk mengelola layanan (service) XAMPP. Seperti menghentikan (stop) layanan, ataupun memulai (start).
2.15.4 DreamweaverCS6
Dreamweaver adalah sebuah program web editir yang digunakan untuk membuat dan mendesain web dreamweaver mempunyai kehandalan dalam membuat dan mendesain web tanpa harus menulis tag-tag HTML satu persatu. Dreamweaver juga mempunyai kemampuan untuk mendukung pemograman server side dan client side. Server side digunakan untuk memproses data yang berhubungan dengan server, misalnya pengolahan database. Client side merupakan bahasa pemograman tambahan sekaligus sebagi pelengkap dari bahasa pemograman lainnya. Perangkat lunak komputer ini memiliki kelebihan pada kemudahan penggunaannya. Pembuatan website dapat dilakukan secara visual, sehingga hasilnya dapat langsung terlihat. Interface disajikan dalam mode visual tanpa kode HTML atau dalam mode HTML. Teknologi web yang didukung juga sangat beragam dan terkini, termasuk untuk kebutuhan pengembangan aplikasi mobile. Program Adobe Dreamweaver banyak diaplikasikan dan digunakan oleh kalangan pengguna komputer di bidang desainer dan programmer web. Adobe Dreamweaver merupakan software komersial. Adobe Dreamweaver dapat dijalankan di sistem operasi Windows XP SP2, Windows Vista, Windows 7. Untuk menginstall versi terbaru program ini, komputer Windows Anda harus memiliki spesifikasi minimal menggunakan prosesor Intel Pentium 4 atau AMD Athlon 64, memori (RAM) 512 MB, resolusi monitor 280x800 piksel, dan harddisk dengan kapasitas kosong minimal 1 GB. Ruang Kerja atau Workspace adalah bagian keseluruhan tampilan Adobe Dreamweaver. Ruang kerja Dreamweaver terdiri dari Welcome Screen, Menu, Insert Bar, Document Window, CSS Panel, Aplication Panel, Tag Inspector, Property Inspector, Result Panel, dan Files Panel. Masing-masing dari komponen tersebut memiliki fungsi dan aturan. Berikut di bawah ini penjelasannya: 1. Document Window berfungsi menampilkan dokumen yang sedang dikerjakan.
http://digilib.mercubuana.ac.id/
2. Insert Bar mengandung tombol-tombol untuk menyisipkan berbagai macam objek seperti imag, table dan layer ke dalam dokumen. 3. Document Toolbar berisikan tombol-tombol dan menu pop-up yang menyediakan tampilan berbeda dari Document Window. 4. Panel Groups adalah kumpulan panel yang saling berkaitan satu sama lainnya yang dikelompokkan dibawah satu judul. 5. Tag Selector berfungsi menampilkan hirarki tag disekitar pilihan yang aktif pada Design View. 6. Property Inspector digunakan untuk melihat dan mengubah berbagai property objek atau teks. 7. Files Panel digunakan untuk mengatur file-file dan folder-folder yang membentuk situs. Dreamweaver sangat nyaman digunakan untuk membuat desain layout sebuah website, karena dilengkapi banyak fitur pendukung. Selain itu teks editor ini juga banyak support bahasa pemrograman lain seperti PHP, Javascript, ASP, Action Script, C#, Java dan lain-lain. Berikut adalah fitr-fitur yang dimiliki oleh adobe dreamweaver : 1. Code Insight merupakan jendela otomatis yang muncul ketika menulis sintak. 2. Debugging dapat mengenali kesalahan dengan setiap baris program sehingga pencarian kesalahan akan semakin mudah. 3. Code Hidden dapat menyembunyikan beberapa baris programubtuk meminimalisirkan program yang sudah banyak 4. Site mengolah project sebuah website dengan fitursite, sehingga memudahkan untuk mengatur project dengan cepat. 5. Browse File ketika menulis tag img untuk menampilkan gambar, atau tag link untuk menghubungkan dengan file lain, dreamweaver menyediakan fitur browse ke direktori komputer langsung. 6. Live Preview fitur menyediakan untuk melihat hasil desain website pada bentuk mobile, desktop atau tablet. 7. Tools banyak tools atau shortcut yang mempercepat membuat beberapa code program.
http://digilib.mercubuana.ac.id/
http://digilib.mercubuana.ac.id/