BAB II LANDASAN TEORI
2.1
KONSEP DASAR SISTEM
2.1.1
Definisi Sistem
Dalam mendefinisikan sistem terdapat dua kelompok pedekatan sistem yaitu (Jogiyanto,2008): 1.
Pendekatan sistem yang lebih menekankan pada prosedur mendefinisikan sistem sebagai berikut : Suatu sistem adalah suatu jaringan kerja dari prosedur yang paling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau menyelesaikan suatu sasaran tertentu (Jogiyanto, 2008).
2.
Pendekatan
sistem
yang
lebih
menekankan
pada
elemen
atau
komponennya mendefiisikan sistem sebagai berikut: Sistem adalah kumpulan elemen-elemen yang berinteraksi untuk mencapai suatu tujuan tertentu (Jogiyanto, 2008). 2.1.2
Karakteristik Sistem
Suatu sistem mempunyai karakteristik atau sifat-sifat tertentu, yaitu mempunyai
komponen-komponen, batas sitem,
lingkungan luar
sistem,
penghubung, masukan, keluaran, pengolah dan sasaran atau tujuan (Ladjamudin, 2010). 1.
Komponen Sistem Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, yang artinya saling bekerja sama membentuk satu kesatuan. Komponenkomponen sistem atau elemen-elemen sistem dapat berupa suatu subsistem atau bagian-bagian dari sistem. Setiap sistem tidak peduli betapapun kecilnya, selalu mengandung komponen-komponen atau subsistemsubsistem. Setiap subsistem mempunyai karakteristik dari sistem yang menjalankan suatu fungsi tertentu dan mempengaruhi proses sistem secara keseluruhan.
6
http://digilib.mercubuana.ac.id/
7
Contoh : Sistem Manajemen Produksi akan terdiri dari sejumlah komponen yang saling berinteraksi seperti Surat Penawaran Harga, Konfirmasi Pemesanan, Surat Perintah Internal, Production Planning Inventory Control, dan lainlain. 2.
Batasan Sistem Batas sistem merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lainya atau dengan lingkungan luarnya. Batas sistem ini memugkinkan suatu sistem dipandang sebagai suatu kesatuan dan menunjukan ruang lingkup dari sistem tersebut.
3.
Lingkungan Luar Sistem Lingkungan luar dari suatu sistem adalah apapun diluar batas dari sistem yang mempengaruhi operasi sistem. Lingkungan luar sistem dapat bersifat menguntungkan
dan
juga
merugikan.
Lingkungan
luar
yang
menguntungkan merupakan energi dari sistem yang demikian harus dijaga dan dipelihara. Sedangkan lingkungan luar yang merugikan harus ditahan dan dikendalikan, jika tidak maka akan mengganggu kelangsungan hidup dari sistem. 4.
Penghubung Sistem Penghubung merupakan media yang menghubungkan antara satu subsistem
dengan
subsistem
lainnya.
Melalui
penghubung
ini
kemungkinan sumber-sumber daya mengalir dari satu subsistem ke subsistem lainnya. Keluaran (output) dari subsistem akan menjadi masukan (input) untuk subsistem lainnya melalui peghubung. Dengan peghubung satu subsistem dapat berinteraksi dengan subsistem lainnya membentuk satu kesatuan. 5.
Masukan Sistem Masukan sistem adalah energi yang dimasukan kedalam sistem. Masukan dapat berupa masukan perawatan (maintenance input) dan masukan sinyal (signal input). Maintenance input adalah energi yang dimasukkan supaya sistem tersebut dapat beroperasi. Signal input adalah energi yang diproses untuk mendapatkan keluaran dari sistem. Sebagai contoh di dalam sistem
http://digilib.mercubuana.ac.id/
8
komputer, program adalah maintenance input yang digunakan untuk mengoperasikan komputernya dan data adalah signal input untuk diolah menjadi informasi. 6.
Keluaran Sistem Keluaran sistem adalah energi yang diolah dan diklasifikasikan menjadi keluaran yang beguna. Keluaran dapat merupakan masukan subsistem yang lain.
7.
Pengolahan Sistem Suatu sistem dapat mempunyai suatu bagian pengolah atau sistem itu sendiri
8.
Sasaran Sistem Suatu sistem mempunyai tujuan (goal) atau sasaran (objective), kalau sistem tidak mempunyai sasaran, maka operasi sistem tidak akan ada gunanya. Sasaran dari sistem sangat menentukan masukan yang dibutuhkan sistem dan keluaran yang akan dihasilkan sistem. Suatu sistem dikatakan berhasil bila mengenai sasaran atau tujuannya.
2.2
KONSEP DASAR INFORMASI
2.2.1
Data dan Informasi Informasi adalah data yang diolah menjadi bentuk yang lebih berguna dan
lebih berarti bagi yang menerimanya (Jogiyanto, 2008). Sumber
informasi
adalah
data.
Data
adalah
kenyataan
yang
menggambarkan kejadian-kejadian dan kesatuan nyata. Kejadian-kejadian (event) adalah sesuatu yang terjadi pada saat tertentu. Menurut Jogiyanto (2008) kualitas dari suatu informasi tergantung dari tiga hal, yaitu : 1.
Akurat, yaitu informasi harus bebas dari kesalahan-kesalahan.
2.
Tepat pada waktunya, yaitu informasi yang datang pada penerima tidak boleh terlambat.
3.
Relevan, yaitu berarti informasi tersebut mempunyai manfaat untuk pemakainya.
http://digilib.mercubuana.ac.id/
9
2.2.2 Siklus Informasi Data merupakan bentuk yang masih mentah yang belum dapat bercerita banyak, sehingga perlu diolah lebih lanjut. Data diolah melalui suatu model untuk meghasilkan informasi (Jogiyanto, 2008). Data yang diolah melalui suatu model menjadi informasi, penerima kemudian menerima informasi tersebut, membuat suatu keputusan dan melakukan tindakan, yang berarti menghasilkan suatu tindakan yang lain yang akan membuat sejumlah data kembali. Data tersebut akan ditangkap sebagai input, diproses kembali lewat suatu model dan seterusnya membentuk suatu siklus. Siklus ini disebut juga dengan siklus pengolahan data (data processing cycles) (Jogiyanto, 2008)
Proses (Model) Input
Output
(data)
(Information )
Data
Dasar Data
Penerima
(Ditangkap)
Hasil Tindakan
Keputusan Tindakan
Gambar 2.1 Siklus Informasi (Jogiyanto, 2008)
2.3
KONSEP DASAR SISTEM INFORMASI
2.3.1
Definisi Sistem Informasi Menurut Jeffery L. Whitten (2008), sistem informasi merupakan
pengaturan orang, data, proses dan teknologi informasi yang beriteraksi untuk
http://digilib.mercubuana.ac.id/
10
mengumpulkan, memproses, menyimpan dan menyediakan sebagai output informasi yang diperlukan untuk mendukung sebuah organisasi. Sistem informasi merupakan pengaturan beberapa bagian yang saling berinteraksi untuk melakukan tujuan tertentu sebagai keluaran berupa informasi yang dibuthkan dalam mendukung sebuah organisasi. 2.3.2 Komponen Sistem Informasi Menurut Ladjamudin (2010), kita dapat megilustrasikan 5 komponen dalam sistem informasi seperti terlihat pada gambar berikut :
Hardware
Software
(Perangkat keras)
(Perangkat lunak)
Mesin
DATA
Procedures
People
(Prosedur)
(Manusia)
Manusia
Gambar 2.2 Komponen Sistem Informasi (Ladjamudin, 2010) Kelima komponen tersebut dapat diklasifikasikan sebagai berikut : 1.
Hardware (perangkat keras) dan Software (perangkat lunak) yang berfungsi sebagai mesin.
2.
People dan Procedures yang merupakan manusia dan tatacara menggunakan mesin.
3.
Data merupakan jembatan penghubung antara manusia dan mesin agar terjadi suatu proses pengolahan data.
Secara konseptual siklus pengembangan sebuah sistem informasi adalah sbb. (Ladjamudin, 2010): 1.
Analisis
Sistem:
menganalisis
dan
mendefinisikan
masalah
dan
kemungkinan solusinya untuk sistem informasi dan proses organisasi. 2.
Perancangan Sistem: merancang sistem baru yang dapat menyelesaikan masalah-masalah yang dihadapi perusahaan yang diperoleh dari pemilihan alternatif sistem yang baik. Kegiatan yang dilakukan antara lain merancang output, input, struktur file, program, prosedur, perangkat keras dan perangkat lunak yang diperlukan untuk mendukung sistem informasi.
http://digilib.mercubuana.ac.id/
11
3.
Programming dan Testing Sistem: pada tahap ini dilakukan perancangan algoritma dengan menggunakan psedocode yang ditulis dalam bahasa Indonesia terstruktur/bahasa inggris terstruktur. Perancangan algoritma sebaiknya
dilakukan
dengan
menggunakan
pendekatan
Top-Down
(Pemograman Modular). Setelah selesai pembuatan algoritma, maka dibuatlah program aplikasi dengan menggunakan salah satu bahasa pemograman terpilih. 4.
Implementasi Sistem: beralih dari sistem lama ke sistem baru, melakukan pelatihan dan panduan seperlunya.
5.
Operasi dan Perawatan: mendukung operasi sistem informasi dan melakukan perubahan atau tambahan fasilitas.
6.
Evaluasi Sistem: mengevaluasi sejauh mana sistem telah dibangun dan seberapa bagus sistem telah dioperasikan.
2.4
PENGEMBANGAN SISTEM Proses pengembangan sistem adalah satu set aktivitas, metode, praktek
terbaik, siap dikirimkan, dan peralatan terotomasi yang digunakan stakeholder untuk mengembangkan dan memelihara sistem informasi dan perangkat lunak. (Whitten, 2008). Kebanyakan organisasi memiliki system development process/proses pengembangan sistem resmi yang terdiri dari satu set standar proses-proses atau langkah-langkah yang mereka harapkan akan diikuti oleh semua proyek pengembangan sistem. Sementara proses ini bervariasi untuk organisasi yang berbeda, ada karakteristik umum yang ditemukan: proses pengembangan sistem di kebanyakan organisasi mengikuti pendekatan pemecahan masalah. Pendekatan tersebut biasanya terdiri dari beberapa langkah pemecahan masalah yang umum (Whitten, 2008): Tabel 2.1 Tabel korelasi antara langkah-langkah pemecahan masalah yang umum dengan proses pengembangan sistem (Whitten, 2008). Proses Pengembangan Sistem
Langkah-langkah pemecahan masalah yang umum
yang disederhanakan
http://digilib.mercubuana.ac.id/
12
1. Mengidentifikasi masalah (Juga merencanakan solusi
System initiation
untuk masalah) 2. Menganalisa dan memahami masalah.
System analysis
3. Mengidentifikasi Persyaratan dan harapan solusi. 4. Mengidentifikasi solusi alternative dan memilih tindakan
System design
terbaik. 5. Mendesain solusi yang dipilih. System implementation
6. Mengimplementasikan solusi yang dipilih 7. Mengevaluasi hasilnya. (Jika masalah tidak terpecahkan, kembalilah ke langkah 1 atau 2 seperlunya).
2.4.1
The sequential or Waterfall Strategy Pengembangan
sistem
secara
alamiah
adalah
proses
berurutan
(sequential). Strategi ini mengisyaratkan “penyelesaian” tiap proses satu per satu. Penyelesaian “berurutan” menghasilkan pengembangan sistem informasi yang seluruhnya baru. Karena penampilan pendekatan ini seperti air terjun (waterfall), maka pendekatan ini disebut proses “pengembangan air terjun” (waterfall development) (Whitten, 2008).
Gambar 2.3 The sequential or Waterfall Strategy (Whitten, 2008) Berikut penjelasan Gambar 2.3. 1.
System Initiation adalah perencanaan awal untuk sebuah proyek untuk mendefinisikan lingkup, tujuan, jadwal, dan anggaran bisnis awal. Pada permulaan sistem ini untuk menentukan lingkup proyek dan rencana pemecahan masalah.
http://digilib.mercubuana.ac.id/
13
2.
System Analysis adalah studi domain masalah bisnis untuk merekomendasikan perbaikan dan menspesifikasikan persyaratan dan prioritas bisnis untuk solusi.
3.
System Design adalah spesifikasi atau konstruksi solusi yang teknis dan berbasis komputer untuk persyaratan bisnis yang diidentifikasikan dalam analisis sistem. Desain tersebut dalam bentuk prototipe yang bekerja.
4.
System Implementation adalah mengimplementasikan solusi yang telah dipilih, kemudian mengevaluasi sistem informasi yang telah dibuat. System implementation merupakan tahapan terakhir dalam proses pengembangan sistem. System implementation meliputi kegiatan membangun, menginstall, menguji dan mengoperasikan sistem informasi.
2.5
ANALISIS
BERORIENTASI
OBJEK
(OBJECT-ORIENTED
ANALYSIS) Object-Oriented Analysis (OOA) adalah suatu pendekatan yang digunakan untuk mempelajari objek-objek yang sudah ada untuk digunakan kembali dan disesuaikan untuk penggunaannya yang baru. Selain itu, OOA juga dapat digunakan untuk membuat objek baru atau bisa juga untuk mengubah objek yang sudah ada untuk dipadukan dengan objek-objek lainnya sehingga membentuk suatu aplikasi bisnis yang berdaya guna tinggi. (Whitten, 2008). 2.6
PERANCANGAN BERORIENTASI OBJEK (OBJECT ORIENTED DESIGN) Object Oriented Design (OOD) adalah suatu pendekatan yang digunakan
untuk menentukan solusi terbaik bagi piranti lunak dalam hal perpaduan objek (objects), atribut (attributes) dan metode (methods). Perancangan suatu piranti lunak berorientasi objek membutuhkan penggunaan arsitektur piranti lunak berlapis (multilayered software architecture), juga membutuhkan spesifikasi dari subsistem yang menyediakan fungsi-fungsi (functions) yang dibutuhkan. Selain itu, gambaran tentang penggunaan objek yang membentuk sistem dan gambaran
http://digilib.mercubuana.ac.id/
14
mekanisme komunikasi yang memungkinkan aliran data mengalir melalui lapisan (layers), subsistem dan objek juga dibutuhkan. Semua itu dilakukan dan diselesaikan dengan menggunakan pendekatan OOD (Whitten, 2008). Analisis dan Desain Berbasis Objek atau OOAD adalah salah satu pendekatan dalam rekayasa atau pengembangan perangkat lunak yang memodelkan sebuah sistem sebagai kumpulan dari banyak objek yang saling berinteraksi. Setiap objek merupakan representasi dari entitas-entitas yang ada pada sistem tersebut dan dapat dibedakan berdasarkan atribut (elemen data) dan perilaku entitasnya. OOAD merupakan sekumpulan petunjuk umum yang mengarahkan kepada aktivitas analisis dan perancangan. Untuk membuat metode menjadi lebih berguna, merancangnya hingga terdapat penyesuaian, perkembangan, dan substitusi bagian dapat dengan mudah diimplementasikan. Terdapat empat aktivitas utama yang digunakan dalam menggunakan metode Unified Software Deployment untuk OOAD (Object Oriented Analysis and Design) (Whitten, 2008) ini, yaitu: 1. Problem Domain Analysis Dalam tahapan ini sistem dirancang sesuai dengan kebutuhan informasi dari pengguna, tahapan ini menentukan hasil dari keseluruhan aktivitas analisis dan perancangan. Tahapan dari Problem Domain Analysis ini adalah : 1. Menentukan Class yang ada dalam sistem dengan melakukan proses identifikasi dari definisi sistem yang telah dikembangkan. 2. Menganalisa dan mengembangkan struktur hubungan dari class-class yang ada. 3. Menganalisa behavior dari class-class tersebut untuk menentukan state dari setiap class yang termasuk dalam sistem ini. Hasil laporan perancangan yang dihasilkan dari tahapan ini adalah: 1. System Definition Mendefinisikan seluruh sistem sebagai sebuah model yang akan dilihat user saat sistem jadi. 2. Class Diagram Untuk menggambarkan hubungan antara class-class dalam sebuah sistem.
http://digilib.mercubuana.ac.id/
15
3. State Diagram Untuk menggambarkan bagaimana state dari daur hidup kelas yang ada di dalam sistem ini. Dapat dilihat dari tahap ini telah dapat dilihat model aplikasi secara keseluruhan bagaimana aplikasi tersebut akan terbentuk. 2. Application Domain Analysis Tahapan ini berfokus pada bagaimana sistem akan digunakan oleh pengguna. Tahap ini dan tahap sebelumnya dapat dimulai secara bergantian, tergantung pada kondisi pengguna (Whitten, 2008). Terdapat tiga tahapan yang akan dilakukan dalam Application Domain Analysis, yaitu: a) Menentukan pemakai, yaitu menentukan actor dan use case yang terlibat dan interaksinya. b) Menentukan fungsi sistem untuk memproses informasi dan membuat daftar fungsi. c) Menentukan interface pengguna dan sistem, untuk interaksi sesungguhnya dari pengguna dan sistem informasi yang dirancang. d) Use Case Diagram, yang menggambarkan interaksi pengguna sebagai actor dengan sistem informasi. e) Function List, yaitu kemampuan yang harus dimiliki sistem sebagai kebutuhan dasar dari user. f) User Interface Navigation Diagram, yaitu diagram untuk menggambarkan tampilan layar yang akan dirancang untuk memenuhi kebutuhan user. 3. Architectural Design Dalam tahap ini dirancang arsitektur hubungan antara Client dan Server yang memadai untuk sistem agar dapat berjalan baik. Perancangan tahap ini menentukan bagaimana struktur sistem fisik akan dibuat dan bagaimana distribusi sistem informasi pada rancangan fisik tersebut. Laporan yang dihasilkan adalah Deployment Diagram. 4. Component Design Tahap terakhir dalam Unified Software Deployment sebelum melakukan programming. Sistem akan dimodelkan secara lengkap dalam
diagram yang
disebut programming. Sistem akan dimodelkan secara lengkap dalam diagram
http://digilib.mercubuana.ac.id/
16
yang disebut sebagai
Component Diagram. Pada tahap ini dapat dilihat
bagaimana sistem bekerja dan interaksi yang terjadi antara sistem dan pengguna. 2.7
UML (Unified Modelling Language) Unified Modeling Language (UML) adalah himpunan struktur dan teknik
untuk pemodelan dan desain program berorientasi objek (OOP) serta aplikasinya. UML adalah metodelogi untuk mengembangkan sistem OOP dan sekelompok tool untuk mendukung pengembangan sistem tersebut. UML mulai diperkenalkan oleh Object Management Group, sebuah organisasi yang telah mengembangkan model, teknologi dan standar OOP sejak tahun 1980-an. Sekarang UML sudah mulai banyak digunakan oleh para praktisi OOP. UML merupakan dasar bagi tool desain berorientasi objek dari IBM (Sugiarti, 2013) Unified Modeling Language (UML) adalah sebuah “bahasa” yang telah menjadi
standar
dalam
industri
untuk
visualisasi,
merancang
dan
mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standar untuk meranacang model sebuah sistem (Sugiarti, 2013) UML tidak menentukan metode untuk sistem-sistem pengembangan hanya catatan yang saat ini telah diterima luas sebagai standar untuk pemodelan objek (Whitten, 2008). 2.7.1 Use Case Diagram Kebutuhan fungsional akan digambarkan melalui sebuah diagram yang dinamakan diagram use case. Use Case Diagram atau diagram use case merupakan pemodelan untuk menggambarkan kelakuan (behavior) sistem yang akan dibuat. Diagram use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem yang akan dibuat. Dengan pengertian yang cepat, diagram use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem dan siapa saja yang berhak menggunakan fungsi-fungsi tersebut. Terdapat beberapa simbol dalam menggambarkan diagram use case, yaitu use case, aktor dan relasi. Hal yang perlu diingat mengenai diagram use case adalah diagram use case bukan menggambarkan tampilan antar muka (user interface), arsitektur dari sistem, kebutuhan nonfungsional, dan tujuan performansi.
http://digilib.mercubuana.ac.id/
17
Sedangkan untuk penamaan use case adalah nama didefinisikan sesimpel mungkin, dapat dipahami dan menggunakan kata kerja (Sugiarti, 2013). System
Use Case 1
Actor 1
Use Case 2
Actor 2
Use Case 3
Actor 3
Gambar 2.4 Contoh Diagram Model Use Case 2.7.2
Class Diagram 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 (Sugiarti, 2013). 1.
Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas.
2.
Atribut mendeskripsikan properti dengan sebaris teks didalam kotak kelas tersebut.
3.
Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas. Class diagram mendeskripsikan jenis-jenis objek dalam sistem dan
berbagai hubungan statis yang terdapat di antara mereka. Class diagram juga menunjukan properti dan operasi sebuah kelas dan batasan-batasan yang terdapat dalam hubunganhubungan objek tersebut (Sugiarti, 2013). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain. Kelas memiliki tiga area pokok (Sugiarti, 2013) yaitu Nama, Atribut, dan Operasi.
http://digilib.mercubuana.ac.id/
18
Class2 -Attribute 1 -Attribute 2 -Attribute n +Operation 1() +Operation n()
1 *
Class1 -Attribute 1 -Attribute 2 -Attribute 3 -Attribute n +Operation 1() +Operation 2() +Operation n()
1 *
Class3 -Attribute 1 -Attribute 2 -Attribute n +Operation 1() +Operation n()
Gambar 2.5 Contoh Model Class Diagram 2.7.3 Activity Diagram Activity diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis. Yang perlu diperhatikan disini adalah bahwa diagram aktivitas menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem. Activity diagram mendukung perilaku pararel (Sugiarti, 2013). Activity Diagram juga banyak digunakan untuk mendefinisikan hal-hal berikut (Sugiarti, 2013): a. Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan. b. Urutan atau pengelompokan tampilan dari sistem/user interface dimana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujiannya. c. Rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujiannya. Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem yang sedang dirancang, bagaiman masing-masing alir berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses pararel yang mungkin terjadi pada beberapa eksekusi (Sugiarti, 2013). Activity diagrams merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya (internal processing). Oleh karena activity diagram tidak menggambarkan behaviour internal sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum (Sugiarti, 2013).
http://digilib.mercubuana.ac.id/
19
Start
Control Flow ActionState1
If True ActionState2
Finish
Gambar 2.6 Contoh Model Activity Diagram 2.7.4
Sequence Diagram Sequence Diagram menggambarkan kelakuan/perilaku objek pada use
case dengan mendeskripsikan waktu hidup objek dengan message yang dikirimkan dan diterima antar objek. Oleh karena itu untuk menggambar sequence diagram maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu (Sugiarti, 2013). Banyaknya sequence diagram yang harus digambar adalah sebanyak pendefinisian use case yang memiliki proses sendiri atau yang penting semua use case yang telah didefinisikan interaksi jalannya pesan sudah dicakup pada diagram Sekuence sehingga semakin banyak use case yang didefinisikan maka diagram Sequence yang harus dibuat juga semakin banyak (Sugiarti, 2013). Penomoran pesan berdasarkan urutan interaksi pesan. Penggambaran letak pesan harus berurutan, pesan yang lebih atas dari lainnya adalah pesan yang berjalan terlebih dahulu (Sugiarti, 2013). Sequence diagram memiliki ciri yang berbeda dengan diagram interaksi pada diagram kolaborasi sebagai berikut (Sugiarti, 2013):
http://digilib.mercubuana.ac.id/
20
1. Pada sequence diagram terdapat garis hidup objek. Garis hidup objek adalah garis tegas vertikal yang mencerminkan eksistensi sebuah objek sepanjang periode waktu. Sebagian besar objek-objek yang tercakup dalam diagram interaksi akan eksis sepanjang durasi tertentu dari interaksi, sehingga objekobjek itu diletakan di bagian atas diagram dengan garis hidup tergambar dari atas hingga bagian bawah diagram. Suatu objek lain dapat saja diciptakan, dalam hal ini garis hidup dimulai saat pesan create diterima suatu objek. Selain itu suatu objek juga dapat dimusnahkan dengan pesan Destroy, jika kasus ini terjadi, maka garis hidupnya juga berakhir. 2. Terdapat fokus kendali (Focus of Control), berupa empat persegi panjang ramping dan tinggi yang menampilkan aksi objek secara langsung atau sepanjang sub ordinat. Puncak dari empat persegi panjang adalah permulaan aksi, bagian dasar adalah akhir dari suatu aksi. Pada diagram ini mungkin juga memperlihatkan penyaringan (nesting) dan fokus kendali yang disebabkan oleh proses rekursif dengan menumpuk fokus kendali yang lain pada induknya.
: user
: form login input username password
: control login
: user
input username password get username password display username password validasi
display halaman utama user
Gambar 2.7 Contoh Model Sequence Diagram 2.8
DATABASE
2.8.1
Pengertian Database Basis data (database) adalah suatu pengorganisasian sekumpulan data
yang saling terkait sehingga memudahkan aktivitas untuk memperoleh informasi. Basis data dimaksudkan untuk mengatasi problem pada sistem yang memakai pendekatan berbasis berkas (Kadir, 2008).
http://digilib.mercubuana.ac.id/
21
Tujuan awal dan utama dalam pengolahan data pada sebuah basis data adalah agar dapat mencari data dengan mudah dan cepat. Disamping itu, pemanfaatan data untuk pengolahan data juga memiliki tujuan-tujuan tertentu. Pemanfaatan basis data dilakukan untuk memenuhi sejumlah tujuan sebagai berikut (Prayudi, 2006): 1. Kecepatan dan kemudahan (Speed) Pemanfaatan basis data memungkinkan untuk dapat menyimpan data atau melakukan perubahan/manipulasi terhadap data atau menampilkan kembali data tersebut dengan cepat dan mudah. 2. Efisiensi ruang penyimpanan (Space) Penggunaan ruang penyimpanan di dalam basis data dilakukan untuk mengurangi jumlah redudansi (pengulangan) data, baik dengan melakukan penerapan sejumlah pengkodean atau dengan membuat relasi-relasi (dalam bentuk file) antar kelompok data yang saling berhubungan. 3. Keakuratan (Accuracy) Pemanfaatan pengkodean atau pembentukan relasi antar data bersama dengan penerapan aturan/batasan tipe data, domain data, keunikan data dan sebagainya dan diterapkan dalam basis data, sangat berguna untuk menentukan keakuratan pemasukan atau penyimpanan data. 4. Ketersediaan (Availability) Pertumbuhan data (baik dari jumlah maupun jenisnya) sejalan dengan waktu akan semakin membutuhkan ruang penyimpanan yang besar. Data yang sudah jarang atau bahkan tidak pernah lagi digunakan dapat diatur untuk dilepaskan dari sistem basis data dengan cara penghapusan atau dengan memindahkannya ke media penyimpanan. 5. Kelengkapan (Completeness) Lengkap atau tidaknya data yang dikelola bersifat relatif baik terhadap kebutuhan pemakai maupun terhadap waktu. Dalam sebuah basis data, struktur dari basis data tersebut juga harus disimpan. Untuk mengakomodasi kebutuhan kelengkapan data yang semakin berkembang, maka tidak hanya menambah record-record data, tetapi juga melakukan penambahan struktur dalam basis data.
http://digilib.mercubuana.ac.id/
22
6. Keamanan (Security) Sistem keamanan digunakan untuk dapat menentukan siapa saja yang boleh menggunakan basis data dan menentukan jenis operasi apa saja yang boleh dilakukan. 7. Kebersamaan pemakai Pemakai basis data sering kali tidak terbatas hanya pada satu pemakaian saja atau oleh satu sistem aplikasi saja. Basis data yang dikelola oleh sistem (aplikasi) yang mendukung lingkungan multiuser, akan dapat memenuhi kebutuhan ini, tetapi dengan menjaga/ menghindari terhadap munculnya persoalan baru seperti inkonsistensi data (karena data yang sama diubah oleh banyak pemakai pada saat bersamaan). 2.8.2 Database Management System (DBMS) Untuk mengelola database diperlukan suatu perangkat lunak yang disebut DBMS (Database Management System). DBMS merupakan suatu sistem perangkat lunak yang memungkinkan user (pengguna) untuk membuat, memelihara, mengontrol, dan mengakses database secara praktis dan efisien DBMS dapat digunakan untuk mengakomodasikan berbagai macam pemakai yang memiliki kebutuhan akses yang berbeda-beda (Kadir, 2008). 2.8.3 RDBMS (Relational Database Management System) Relational Database Management System (RDBMS) adalah database yang mengimplementasikan data sebagai bagian dari dua dimensi tabel yang terhubung melalui foreign key (Whitten, 2008). Selain itu, RDBMS juga diartikan sebagai program komputer yang dirancang untuk pengelolaan data dengan melakukan penyimpanan, pembaruan dan pengambilan data (Hariyanto, 2007). 2.8.4
SQL (Structured Query Language) SQL mulanya akronim dari Structured Query Language. SQL menjadi
sekedar nama yang mendefinisikan bahasa, bukan lagi akronim atau singkatan. SQL adalah bahasa yang mulanya berorientasi pada basisdata. Bahasa ini menghilangkan banyak pekerjaan yang perlu dilakukan pemrogram/pengembang berkaitan dengan operasi-operasi terhadap data bila dibanding dengan menggunakan bahasa general-purpose (Hariyanto, 2007).
http://digilib.mercubuana.ac.id/
23
SQL adalah bahsa yang digunakan untuj mengakses basisdata yang tergolong relasional. Estándar SQL mula-mula didefinisikan oleh ISO (International Standars Organiqation) dan ANSI (the American National Standars Institute), yang dikenal dengan sebutan SQL86 (Kadir, 2008).
2.9
MAPPING PROBLEM DOMAIN OBJECT TO AN RDBMS FORMAT Menurut Dennis et, al (2012) cara memetakan problem domain object
dalam class diagram ke format RDBMS ada delapan tahapan, yaitu: 1. Petakan semua class konkret dalam problem domain ke tabel RDBMS. Jika, problem domain class abstrak memiliki beberapa subclass langsung, petakan juga ke dalam tabel RDBMS. 2. Petakan atribut bernilai tunggal ke dalam kolom tabel. 3. Petakan metode untuk disimpan di dalam prosedur atau modul program. 4. Petakan agregasi yang bernilai tunggal dan hubungan asosiasi dengan kolom yang dapat menyimpan primary key dari tabel terkait, yaitu, menambahkan foreign key ke dalam tabel. Lakukan hal tersebut untuk kedua sisi yang berhubungan. 5. Petakan atribut multi-valued dan buat hubungan one-to-many dari tabel yang asli ke tabel yang baru. 6. Petakan multi-valued agregasi dan hubungan asosiasi ke tabel asosiatif baru yang menghubungkan dua tabel asli bersama-sama. Masukkan primary key dari kedua tabel tersebut ke dalam tabel asosiatif yang baru, yaitu menambahkan foreign key ke tabel. 7. Untuk hubungan agregasi dan asosiasi dengan tipe campuran, copy primary key dari sisi single-valued (1..1 atau 0..1) ke kolom baru pada tabel yang memiliki hubungan multi-valued (1..* atau 0..*) yang dapat menyimpan primary key dari tabel terkait. Yaitu menambahkan foreign key ke tabel multi-valued. 8. Untuk hubungan generalisasi, pastikan bahwa primary key dari subclass sama dengan primary key dari superclass. Multiplicity dari hubungan asosiasi yang baru dari subclass ke superclass harus 1..1. Jika superclass konkret, yaitu mereka dapat menginisiasi sendiri, maka multiplicity dari
http://digilib.mercubuana.ac.id/
24
superclass ke subclass adalah 0..*, jika tidak konkret hubungannya adalah 1..1. Selanjutnya, Exclusive-or (XOR) harus ditambahkan kedalam asosiasi. Lakukan langkah ini untuk setiap superclass. Atau, sesuaikan inheritance dengan menyalin atribut superclass ke semua subclass dan hapus superclass dari desain. Berikut ini adalah contoh mapping dari class diagram ke RDBMS tabel:
Gambar 2.8 Contoh Mapping dari Class Diagram ke RDBMS Tabel 2.10
PHP (PERSONAL HOME PAGETOOLS)
2.10.1 Pengertian PHP PHP adalah sebuah bahasa pemrograman yang berjalan dalam sebuah web server (Rafiza, 2006). 2.10.2 Sejarah Singkat PHP PHP ini diciptakan oleh seorang programmer Unix dan Perl yang bernama Rasmus Lerdorf pada bulan Agustus-Septermber 1994. Pada awalnya, rasmus mencoba menciptakan sebuah script dalam website pribadinya dengan tujuan untuk memonitor siapa saja yang pernah mengunjungi websitenya. Pada awal tahun 1995-an, PHP 1 mulai dikenalkan Rasmus kepada beberapa pemrogrammer
http://digilib.mercubuana.ac.id/
25
pemula, dengan alas an bahasa pemrograman yang digunakan PHP cukup sederhana dan mudah dipahami. Selanjutnya Rasmus menulis ulang PHP dengan bahasa C untuk meningkatkan kecepatan aksesnya. Mulai bulan September sampai Oktober 1995, kode PHP ditulis ulang digabungkan menjadi PHP/F1. Baru di akhir tahun 1995 dirilis bagi umum secara gratis. (Rafiza, 2006). PHP merupakan kepanjangan dari PHP Hypertext Prepocessor yang digunakan sebagai bahasa script server side dalam pengembangan web yang disisipkan pada dokumen HTML. Penggunaan PHP memungkinkan web dapat dibuat dinamis sehingga maintenance situs web tersebut menjadi lebih mudah dan efisien. PHP merupakan software open source yang disebarkan dan dilisensikan secara gratis serta dapat di download secara bebas dari situs resminya. PHP memiliki banyak kelebihan yang tidak dimiliki oleh script sejenis (Peranginagin, 2006). PHP merupakan server side scripting language yang didesain secara spesifik untuk web. Dalam halaman HTML dapat dimasukkan kode PHP yang akan dieksekusi setiap kali halaman dikunjungi. Kode PHP diterjemahkan di web server dan dirubah menjadi HTML atau output lain yang akan dilihat oleh pengunjung halaman (Welling, 2009) Ada beberapa keunggulan yang dimiliki program PHP yaitu: 1. PHP memiliki tingkat akses yang cepat 2. PHP memiliki lifecycle yang cepat sehingga mengikuti perkembangan teknologi internet 3. PHP memiliki keamanan yang tinggi 4. PHP mampu berjalan di banyak server 5. PHP mampu berjalan di banyak platform sistem operasi 6. PHP mendukung akses ke beberapa database baik yang bersifat open source maupun comercial source 7. PHP bersifat open source 2.10.3 Prinsip Kerja PHP Sistem kerja PHP diawali dengan permintaan yang berasal dari halaman website oleh browser. Berdasarkan URL atau alamat website dalam jaringan internet,
browser
akan
menemukan
sebuah
alamat
http://digilib.mercubuana.ac.id/
dari
webserver,
26
mengidentifikasi halaman yang dikehendaki, dan menyampaikan segala informasi yang dibutuhkan oleh webserver. Selanjutnya, webserver akan mencarikan berkas yang diminta dan menampilkan isinya di browser. Browser yang mendapatkan isinya segera menerjemahkan kode HTML dan menampilkannya (Rafiza, 2006).
Web Server
Permintaan HTTP Halaman.html
Kode HTTP
Ditampilkan pada Browser User
User
Gambar 2.9 Skema pemrosesan script PHP (Rafiza, 2006) 2.11 MySQL 2.11.1 Pengertian MySQL MySQL merupakan software sistem manajemen database (Database Management System) yang sangat popular dikalangan pemrograman web, terutama di lingkungan Linux dengan menggunakan script PHP dan Perl (Sidik, 2006). MySQL adalah sebuah program database server yang mampu menerima dan mengirimkan datanya dengan sangat cepat, multiuser serta menggunakan perintah standar Structured Query Language (SQL). MySQL merupakan sebuah database server yang free, artinya kita bebas menggunakan database ini untuk keperluan pribadi atau usaha tanpa harus membeli atau membayar lisensinya.
http://digilib.mercubuana.ac.id/
27
MySQL pertama kali dirintis oleh seorang programmer database bernama Michael Widenius (Kadir, 2008). MySQL adalah salah satu jenis database server yang sangat terkenal, disebabkan MySQL menggunakan SQL sebagai bahasa dasar untuk mengakses database. MySQL termasuk RDBMS (Relation Database Management System) yang lebih polular lewat pemrograman web, terutama dilingkungan Linux. Namun, saat ini telah tersedia MySQL untuk platform sistem operasi Windows 90/ME/NT/2000/XP. MySQL mendapat penghargaan sebagai database terbaik untuk server Linux versi Linux Magazine tahun 2001 dan 2002. Dan sebagai database favorit tahun 2000. (Saputro, 2006). 2.11.2
Perbedaan MySQL dan SQL Structur Query Language (SQL) adalah sebuah bahasa permintaan
database yang terstruktur. Bahasa SQL dibuat sebagai bahasa yang dapat merealisasikan beberapa table dalam database maupun merealisasikan antar database. Bahasa SQL ditulis langsung dalam sebuah program database sehingga seorang pengguna dapat melihat langsung permintaan yang diinginkan, sekaligus melihat hasilnya. MySQL sendiri adalah sebuah program database server yang memerlukan sebuah bahasa permintaan dalam melayani permintaan user (Nugroho, 2009). Jadi dapat disimpulkan bahwa MySQL adalah program database server dan SQL adalah bahasa yang digunakan di dalamnya. 2.11.3
Data Definition Language (DDL) DDL adalah sebuah metode Query SQL yang berguna untuk
mendefinisikan data pada sebuah database, adapun Query yang dimiliki adalah (Nugroho, 2009): 1. CREATE: Digunakan untuk melakukan pembuatan table dan database. 2. DROP: Digunakan untuk melakukan penghapusan tabel maupun database. 3. ALTER: Digunakan untuk melakukan pengubahan struktur table yang telah dibuat, baik menambah Field (add), mengganti nama Field (change) ataupun menamakannya kembali (rename), sehingga menghapus (drop).
http://digilib.mercubuana.ac.id/
28
2.11.4
Data Manipulation Language (DML) DML adalah metode query yang dapat digunakan apabila DDL telah
terjadi, sehingga fungsi dari query ini adalah untuk melakukan pemanipulasian database yang telah ada atau telah dibuat sebelumnya (Nugroho, 2009). Adapun Query yang termasuk di dalamnya adalah (Nugroho, 2009): 1. INSERT: Digunakan untuk melakukan penginputannya atau pemasukan data pada table database. 2. UPDATE: Digunakan untuk melakukan pengubahan atau peremajaan terhadap data yang ada pada table. 3. DELETE: Digunakan untuk melakukan penghapusan data pada table. Penghapusan ini dapat dilakukan secara sekaligus (seluruh isi tabel) maupun hanya beberapa Recordset.
SQL
DML
DDL CREATE
DROP
ALTER
SELECT INSERT UPDATE DELETE
Gambar 2.10 SQL (Nugroho, 2009) 2.11.5
Kelebihan MySQL Beberapa kelebihan MySQL dibanding database lain, di antaranya adalah
(Nugroho, 2009): 1. MySQL sebagai Database Management System (DBMS) 2. MySQL sebagai Relation Database Management System (RDBMS) 3. MySQL adalah sebuah software database Open Source, artinya program ini bersifat free atau bebas digunakan oleh siapa saja tanpa harus membeli dan membayar lisensi kepada pembuatnya.
http://digilib.mercubuana.ac.id/
29
4. MySQL merupakan sebuah database server, jadi dengan menggunakan database ini anda dapat menghubunginya ke media internet sehingga dapat diakses dari jauh. 5. MySQL merupakan sebuah database client. Selain menjadi server yang melayani permintaan, MySQL juga dapat melakukan query yang mengakses database pada server. Jadi MySQL dapat juga berperan sebagai Client. 6. MySQL mampu menerima query yang bertumpuk dalam satu permintaan atau yang disebut Multi-Threading. 7. MySQL merupakan sebuah database yang mampu menyimpan data berkapasitas sangat besar hingga berukuran Gigabyte sekalipun. 8. MySQL didukung oleh driver ODBC, artinya database MySQL dapat diakses menggunakan aplikasi apa saja termasuk berupa visual seperti Delphi maupun Visual Basic. 9. MySQL adalah database menggunakan enkripsi password. Jadi database ini cukup aman karena memiliki password untuk mengaksesnya. 10. MySQL merupakan Server database yang multi user, artinya database ini tidak hanya digunakan oleh sepihak orang akan tetapi merupakan database yang dapat digunakan oleh banyak pengguna. 11. MySQL dapat menciptakan lebih dari 16 kunci per table, dan dalam satu kunci memungkinkan berisi belasan Field (kolom). 12. MySQL mendukung field yang dijadikan sebagai kunci primer dan kunci unik (atau Unique). 13. MySQL didukung oleh sebuah komponen C dan perl API, sehingga Database MySQL dapat diakses melalui sebuah program aplikasi yang berada di bawah protocol internet berupa Web. Biasanya aplikasi yang sering digunakan adalah PHP dan Perl. 14. MySQL memiliki kecepatan dalam pembuatan table maupun pengupdatean table. 15. MySQL menggunakan suatu bahasa permintaan standar yang bernama SQL (Structur Query Language) yaitu sebuah bahasa permintaan yang distandarkan pada beberapa database server seperti Oracle, PostGreSQL dll.
http://digilib.mercubuana.ac.id/
30
2.12 DATA CENTER 2.12.1
Pengertian Data Center Data center server adalah Pusat pemrosesan data yang didukung dengan
perangkat pengolahan data tersebut. Disebut juga dengan pusat komputerisasi. Service utama yang diberikan data centre adalah sebagai berikut : a. Business
continuance
infrastructure
(infrastruktur
yang
menjamin
kelangsungan bisnis) Aspek-aspek yang mendukung kelangsungan bisnis ketika terjadi suatu kondisi kritis terhadap data center. Aspek-aspek tersebut meliputi kriteria pemilihan lokasi data center, kuantifikasi ruang data center, laying-out ruang dan instalasi data center, sistem elektrik yang dibutuhkan, pengaturan infrastruktur jaringan yang scalable, pengaturan system pendingan dan fire suppression. b. DC security infrastructure (Infrastruktur keamanan data centre) Terdiri dari sistem pengamanan fisik dan non-fisik pada data center. Fitur sistem pengamanan fisik meliputi akses user ke data center berupa kunci akses memasuki ruangan (kartu akses atau biometrik) dan segenap petugas keamanan yang mengawasi keadaan data center (baik di dalam maupun di luar), pengamanan fisik juga dapat diterapkan pada seperangkat infrastruktur dengan melakukan penguncian dengan kunci gembok tertentu. Pengamanan non fisik dilakukan terhadap bagian software atau sistem yang berjalan pada perangkat tersebut, antara lain dengan memasang beberapa perangkat lunak keamanan seperti access control list, firewalls, IDSs dan host IDSs, fitur – fitur keamanan pada Layer 2 (datalink layer) dan Layer 3 (network layer) disertai dengan manajemen keamanan. c. Infrastruktur IP Infrastruktur IP menjadi servis utama pada data center. Servis ini disediakan pada layer 2 dan layer 3. Isu yang harus diperhatikan terkait dengan layer 2 adalah hubungan antara server farms dan perangkat layanan, memungkinkan akses media, mendukung sentralisasi yang reliable, loop-free, predictable, dan scalable. Sedangkan pada layer 3, isu yang terkait adalah memungkinkan fastconvergence routed network (seperti dukungan terhadap default gateway).
http://digilib.mercubuana.ac.id/
31
Kemudian juga tersedia layanan tambahan yang disebut Intelligent Network Services, meliputi fitur – fitur yang memungkinkan application services network-wide, fitur yang paling umum adalah mengenai QoS (Quality of Services), multicast (memungkinkan kemampuan untuk menangani banyak user secara konkuren), private LANS dan policy-based routing. d. Media penyimpanan Terkait dengan segala infrastruktur penyimpanan. Isu yang diangkat antara lain adalah arsitektur SAN, fibre channel switching, replikasi, backup serta archival. Gambar berikut menunjukkan servis utama yang disediakan oleh arsitektur Data Center yang saling berkaitan:
Gambar 2.11 Servis Utama Data Center 2.13 BLACK BOX TESTING 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 luarnya (Soetam, 2011). Jenis testing ini hanya memandang perangkat lunak dari sisi spesifikasi dan kebutuhan yang telah didefinisikan pada saat awal perancangan. Sebagai contoh,
http://digilib.mercubuana.ac.id/
32
jika terapat sebuah perangkat lunak yang merupakan sebuah sistem informasi inventori di sebuah perusahaan. Maka pada jenis white box testing, perangkat lunak tersebut akan berusaha dibongkar listing programnya untuk kemudian di tes menggunakan teknik-teknik white box testing. Sedangkan pada jenis black box testing, perangkat lunak tersebut akan dieksekusi kemudian berusaha di tes apakah telah memenuhi kebutuhan pengguna yang didefinisikan pada saat awal tanpa harus membongkar listing programnya (Soetam, 2011). Beberapa keuntungan yang diperoleh dari jenis testing ini antara lain: 1.
Anggota tim tester tidak harus dari seorang yang memiliki kemampuan teknis di bidang pemrograman.
2.
Kesalahan dari perangkat lunak ataupun bug seringkali ditemukan oleh komponen tester yang berasal dari pengguna.
3.
Hasil dari black box testing dapat memperjelas kontradiksi ataupun kerancuan yang mungkin timbul dari eksekusi sebuah perangkat lunak.
4.
Proses testing dapat dilakukan lebih cepat dibandingkan white box testing.
http://digilib.mercubuana.ac.id/