BAB II LANDASAN TEORI 2.1
Konsep Dasar Sistem Informasi 2.1.1
Pengertian Sistem
Menurut Hutahaean (2014:2) sistem adalah suatu jaringan kerja dari prosedurprosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan kegiatan atau untuk melakukan sasaran yang tertentu. 2.1.2
Karakteristik Sistem
Menurut Hutahaean (2014:3-5) supaya sistem itu dikatakan sistem yang baik, maka harus memiliki karakteristik yaitu: a) Komponen Suatu sistem terdiri dari sejumlah komponen-komponen yang saling berinteraksi, yang artinya saling bekerja sama membentuk satu kesatuan. Komponen sistem terdiri dari komponen yang berupa subsistem atau bagian-bagian dari sistem. b)
Batasan Sistem (Boundary) Batasan sistem merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lain atau dengan lingkungan luarnya. Batasan sistem ini memungkinkan suatu sistem dipandang sebagai suatu kesatuan. Batasan suatu sistem menunjukkan ruang lingkup (scope) dari sistem tersebut.
c) Lingkungan Luar Sistem (Environment) Lingkungan luar sistem (environment) adalah diluar batas dari sistem yang mempengaruhi operasi sistem. Lingkungan dapat bersifat menguntungkan yang harus tetap dijaga dan yang merugikan yang harus dijaga dan dikendalikan, kalau tidak akan mengganggu kelangsungan hidup dari sistem. d) Penghubung Sistem (Interface) Penghubung sistem merupakan media penghubung antara satu subsistem dengan subsistem lainnya. Melalui penghubung ini memungkinkan sumber-sumber daya mengalir dari subsistem ke subsistem lain. Keluaran (output) dari subsistem akan menjadi masukkan (input) untuk subsistem lain melalui penghubung. 5
http://digilib.mercubuana.ac.id/
6
e) Masukkan Sistem (Input) Masukkan sistem adalah energi yang dimasukkan kedalam sistem, yang dapat berupa perawatan (maintenance input), dan masukkan sinyal (signal input). Maintenance input adalah energi yang dimasukkan agar sistem dapat beroperasi. Signal input adalah energi yang diproses untuk didapatkan keluaran. Contoh dalam sistem computer program adalah maintenance input sedangkan data adalah signal input untuk diolah menjadi informasi. f) Keluaran Sistem (Output) Keluaran sistem adalah hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna dan sisa pembuangan. Contoh komputer menghasilkan panas yang merupakan sisa pembuangan, sedangkan informasi adalah keluaran yang dibutuhkan. g) Pengolah Sistem Suatu sistem menjadi bagian pengolah yang akan merubah masukkan menjadi keluaran. Sistem produksi akan mengolah bahan baku menjadi bahan jadi, sistem akuntansi akan mengolah data menjadi laporan-laporan keuangan. h) Sasaran Sistem Suatu sistem pasti mempunyai tujuan (goal) atau sasaran (objective). Sasaran dari sistem sangat menentukan input yang dibutuhkan sistem dan keluaran yang akan dihasilkan sistem. 2.2
Pengertian Informasi Menurut Tata Sutabri (2012:22) pasda buku Analisis Sistem Informasi,
Informasi adalah data yang telah diklarifikasikan atau diolah atau diinterprestasikan untuk digunakan dalam proses pengambilan keputusan. Sedangkan menurut Shelly (2012:7) “Informasi adalah data yang telah ditransformasi menjadi bentuk yang lebih berguna bagi pemakai”. 2.3
Pengertian Sistem Informasi Sistem informasi adalah suatu sistem didalam suatu organisasi yang
mempertemukan kebutuhan pengelelolaan, transaksi harian,
http://digilib.mercubuana.ac.id/
mendukung operasi,
7
bersifat manajerial, dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan-laporan yang dibutuhkan Hutahaean (2014:13). 2.3.1
Komponen Sistem Informasi
Menurut Hutahaean (2014:13-14), sistem informasi terdiri dari komponenkomponen yang disebut dengan istilah blok bangunan (buiding block) yaitu: 1.
Blok Masukan (input block)
Input mewakili data yang masuk kedalam sistem informasi. Input yang dimaksud adalah metode dan media untuk menangkap data yang akan dimasukan, yang dapat berupa dokumen-dokumen besar. 2. Blok Model (model block) Blok ini terdiri dari kombinasi prosedur, logika dan model matematika yang akan memanipulasi data input dan data yang tersimpan di basis data dengan cara yang sudah tertentu untuk menghasilkan keluaran yang diinginkan. 3. Blok Keluaran (output block) Produk dari sistem informasi adalah keluaran yang merupakan informasi yang berkualitas dan dokumentasi yang berguna untuk semua tingkatan manajemen serta semua pemakai sistem. 4.
Blok Teknologi (technology block)
Teknologi merupakan “tool box” dalam sistem informasi. Teknologi digunakan untuk menerima input, menjalankan model, menyimpan dan mengakses data, menghasilkan dan mengirimkan keluaran, dan membantu pengendalian dari sistem secara keseluruhan. Teknologi terdiri dari 3 bagian utama yaitu teknis (brainware), perangkat lunak (software), dan perangkat keras (hardware). 5.
Blok Basis Data (database block)
Basis data (database) merupakan kumpulan data yang saling berkaitan dan berhubungan satu sama lain, tersimpan di perangkat keras komputer dan menggunakan perangkat lunak untuk memanipulasinya. Data perlu disimpan dalam basis data untuk keperluan penyediaan informasi lebih lanjut. Data didalam basis data perlu diorganisasikan supaya informasi yang dihasilkan berkualitas.
http://digilib.mercubuana.ac.id/
8
Basis data diakses atau dimanipulasi menggunakan perangkat lunak paket yang disebut DBMS (Database Management System). 6. Blok kendali (control block) Banyak hal yang dapat merusak sistem informasi, seperti bencana alam, api, temperature, air, debu, kecurangan-kecurangan, kegagalan-kegagalan sistem itu sendiri, ketidakefisienan, sabotase dan lain sebaginya. Beberapa pengendalian perlu dirancang dan diterapkan untuk menyakinkan bahwa hal-hal yang dapat merusak sistem dapat dicegah ataupun bila terlanjur terjadi maka kesalahankesalahan dapat langsung cepat diatasi. 2.4
Sistem Pemesanan Sistem pemesanan adalah suatu aktifitas yang dilakukan oleh customer sebelum
membeli. Pemesanan adalah salah satu prosedur yang dilakukan pelanggan untuk mendapatkan jasa. Menurut Kamus Besar Bahasa Indonesia yang dimaksud pemesanan adalah “proses, perbuatan, cara memesan (tempat,barang,jasa,dsb) kepadamorang lain. 2.5
Analisa Perancangan Perangkat Lunak Rekayasa Perangkat Lunak (RPL) atau Softwere Engineering(SE) adalah satu
bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembangan perangkat lunak, dan sebagainya (Simarmata, 2010:10). 2.5.1
Pengertian SDLC (System Development Life Cycle)
System Development Life Cycle (SDLC), Merupakan proses mengembangkan atau mengubah suatu sistem perangkat lunak dengan menggunakan model dan metodologi yang digunakan orang untuk mengembangkan sistem-sistem perangkat lunak sebelumnya (berdasarkan best practice atau cara-cara yang sudah teruji baik) (Pressman, 2010).
http://digilib.mercubuana.ac.id/
9
Gambar 2.1SDLC (System Development Life Cycle)Sumber: (Nugroho 2010:4)
2.5.2
Model Waterfall
Metode waterfall adalah proses memahami bagaimana sebuah sistem informasi dapat mendukung kebutuhan bisnis dengan cara mendesain sistem, membangunnya dan memberikan sistem tersebut kepada pengguna sistemnya. Pelaku yang menjadi kunci bagi waterfall adalah analis sistem (system analyst), yang menganalisa situasi bisnis, mengidentifikasi peluang untuk peningkatan dan mendesain sebuah sistem informasi untuk mengimplementasikan peluang tersebut. Metode
waterfall
merupakan
metode
SDLC
yang
dimana
dengan
menggunakan metode ini, analis dan user meneruskan proses pengembangan sistem secara berurut dari satu tahap ke tahapan lainnya. Pada setiap penyelesaian tahapannya, dihasilkan suatu keluaran yang disajikan kepada komite persetujuan dan project sponsor untuk persetujuan kelanjutan proyek dari satu tahap ke tahap berikutnya. Setelah hasil keluaran dari suatu tahap selesai dan disetujui, maka tahap tersebut berakhir dan pelaksanaan pekerjaan untuk tahap selanjutnya dimulai. Metode waterfall memiliki keuntungan dimana persyaratan dan kebutuhan sistem diidentifikasi jauh sebelum proses programming dimulai, sehingga dapat membatasi perubahan yang terjadi terhadap persyaratan dan kebutuhan tersebut sepanjang proyek berlangsung. Namun, metode ini juga memiliki kerugian dimana terdapat rentang waktu yang cukup panjang antara penyelesaian system proposal di tahap analisis dan penyelesaian sistem. Juga dibutuhkannya desain sistem yang
http://digilib.mercubuana.ac.id/
10
spesifik secara menyeluruh sebelum proses programming dimulai. (Dennis et al: 2012)
Gambar2.2Metode Waterfall (Dennis et al: 2012)
Waterfall memiliki 4 (empat) tahap dasar yang menjadi inti dalam pelaksanaannya. Dimana empat tahapan ini dapat dikembangkan lagi menjadi tahapan-tahapan yang lebih spesifik, tergantung kepada proyek pengembangan yang dilakukan. Keempat tahapan tersebut antara lain perencanaan (planning), analisa (analysis), desain (design) dan implementasi (implementation) (Dennis et al 2012). a. Perencanaan (Planning) Tahap perencanaan merupakan tahap mendasar yang dimaksudkan untuk memahami kenapa sebuah sistem informasi harus dibangun dan menentukan bagaimana cara kerja tim proyek dalam membangun sistem tersebut. Tahap ini dibagi lagi kedalam dua bagian: 1.
Project initiation Selama inisiasi proyek, nilai yang dimiliki oleh sistem yang dikembangkan bagi organisasi diidentifikasi. Ide mengenai sistem baru yang didapatkan dari suatu departemen di dalam organisasi (misalnya: marketing), dituangkan dalam bentuk system request. System request menggambarkan dengan singkat kebutuhan bisnis dan bagaimana sistem informasi dapat memenuhi kebutuhan
http://digilib.mercubuana.ac.id/
11
tersebut sehingga menghasilkan nilai bisnis bagi organisasi. Setelah itu, bagian pengembangan sistem bekerja sama dengan project sponsor (pihak yang mengeluarkan system request) untuk membuat studi analisis kelayakan dari proyek tersebut. 2. Project management Selama manajemen proyek, manajer proyek menyusun rencana kerja (workplan), menyusun staf untuk proyek dan menentukan teknik yang akan membantu tim dalam menngendalikan dan mengarahkan proyek melalui keseluruhan waterfall. Hasil keluaran dari tahap ini adalah laporan project plan, yang memberikan gambaran mengenai bagaimana langkah yang akan diambil tim proyek dalam mengembangkan sistem. b. Analisa (Analysis) Tahapan analisa dilakukan untuk menjawab pertanyaan-pertanyaan seperti apa fungsi yang akan dimiliki sistem, siapa saja yang akan menggunakan sistem, serta dimana dan kapan sistem tersebut akan digunakan. Selama tahap ini, tim menginvestigasi sistem berjalan, berusaha untuk menemukan peluang baru, serta mengembangkan konsep untuk sistem baru. Tahapan ini memiliki tiga langkah yang termasuk didalamnya, antara lain adalah sebagai berikut: 1. Pengembangan strategi analisis yang akan menjadi panduan bagi tim pengembang. Umumnya strategi analisis berisi analisa sistem berjalan, permasalahan yang ditemukan, serta cara untuk mendesain sistem baru. 2. Selanjutnya adalah requirements gathering. Analisis terhadap informasi yang dikumpulkan kemudian menghasilkan pengembangan konsep untuk sistem baru, konsep yang akan digunakan sebagai dasar untuk mengembangkan suatu model analisis yang mendeskripsikan bagaimana proses bisnis akan beroperasi dengan adanya sistem baru yang dikembangkan. 3. Hasil analisa, konsep sistem dan model analisis digabungkan kedalam system proposal. Yang akan disajikan kepada project sponsor atau pihak penentu lain untuk proses pengambilan keputusan apakah pengembangan sistem akan dilanjutkan atau tidak.
http://digilib.mercubuana.ac.id/
12
c. Desain (design) Tahap desain menentukan bagaimana sistem akan beroperasi, dilihat dari segi hardware, software, infrastruktur jaringan, user interface, forms and reports, basis data dan file-file yang dibutuhkan. Langkah-langkah dalam tahap ini menentukan bagaimana sistem akan beroperasi. Langkah-langkah tersebut antara lain: 1. Pengembangan strategi desain. Langkah ini dimaksudkan untuk menentukan apakah program akan dikembangkan sendiri oleh organisasi melalui programmernya, menggunakan jasa dari pihak konsultan, atau bahkan hanya membeli program yang sudah jadi. 2. Berlanjut ke langkah kedua yaitu pengembangan desain arsitektur standar untuk sistem. Dimana desain ini menjelaskan hardware, software dan infrastruktur jaringan yang akan digunakan. Serta apakah organisasi diharuskan untuk menambah atau mengganti infrastruktur yang sudah dimiliki untuk menerapkan sistem. 3. Langkah selanjutnya merupakan pengembangan spesifikasi file dan basis data. Yang akan menentukan data apa saja yang akan disimpan dan bagaimana prosedur penyimpanannya. 4. Dan yang terakhir adalah pengembangan desain program, yang akan menjelaskan bagaimana program akan dibutuhkan dan fungsi yang akan dimiliki oleh program. d. Implementasi (implementation) Pada tahap terakhir ini, sistem yang dikembangkan benar-benar dibangun secara harfiah. Secara umum, tahap ini merupakan tahap yang paling diperhatikan selama pengembangan sistem, lantaran sifatnya yang membutuhkan waktu paling lama dan biaya yang paling besar. Tahap ini dibagi kedalam tiga langkah sebagai berikut: 1. System construction
http://digilib.mercubuana.ac.id/
13
Pada langkah pertama ini, sistem dibangun dan diuji untuk mengetahui apakah sistem berfungsi sebagaimana dengan rancangan yang diinginkan. 2. System installation Selama langkah kedua, sistem lama dikonversi dengan sistem baru. Hal ini dapat dilakukan secara langsung, parallel maupun bertahap. 3. Support Plan Tim analis kemudian menyusun support plan yang berisi review pasca implementasi, baik formal dan informal, serta cara sistematis untuk mengidentifikasi perubahan major dan minor yang dibutuhkan untuk sistem.
2.6
Analisis dan Perancangan Sistem Analisis sistem (systems analysis) dapat diartikan sebagai suatu proses untuk
memahami sistem yang ada, dengan menganalisa jabatam dan uraian tugas (business users), proses bisnis (business process), ketentuan atau aturan (business rule), masalah dan mencari solusinya (business problem & solution),business tolls dan rencana-rencana perusahaan (business plans). (Yakub,2012). Fungsi Analisis Sistem adalah: 1. Mengidentifikasikan masalah-masalah dari pengguna 2. Menyatakan secara spesifik sasaran yang harus dicapai untuk memenuhi kebutuhan pengguna 3. Memilih alternatif-alternatif metode pemecahan masalah 4. Merencanakan dan menerapkan rancangan sistemnya sesuai dengan permintaan pengguna Perancangan sistem dapat didefinisikan sebagai penggambaran, perencanaan, dan pembuatan sketsa atau pengaturan dari beberapa elemen terpisah ke dalam satu kesatuan yang utuh dan berfungsi. Tujuan dari rancangan sistem adalah untuk memenuhi kebutuhan kepada pemakai sistem dan untuk memberikan gambaran secara jelas dan rancang bangun yang lengkap kepada pemrograman komputer dan ahli-ahli teknik lainnya. (Yakub,2012). 2.7
Perancangan Berorientasi Objek
http://digilib.mercubuana.ac.id/
14
Menurut A.S Rosa (2013:100) metodologi berorientasi objek adalah suatu strategi pembangunan perangkat lunak yang mengorganisasikan perangkat lunak sebagai kumpulan objek yang berisi data dan operasi yang diberlakukan terhadapnya. Metodologi berorientasi objek merupakan suatu cara bagaimana sistem perangkat lunak dibangun melalui pendekatan objek secara sistematis. Pada saat ini, metode berorientasi objek banyak dipilih karena metodologi lama
banyak
menimbulkan
masalah
seperti
adanya
kesulitan
pada
saat
mentransformasi hasil dari satu tahap pengembangan ke tahap berikutnya, misalnya pada metode pendekatan terstruktur, jenis aplikasi yang dikembangkan pada saat ini berbeda dengan masa lalu. Aplikasi yang dikembangkan saat ini sangat beragam (aplikasi bisnis, realtime, utility, dan sebagainya) dengan platform yang berbeda- beda, sehingga menimbulkan
tuntutan
kebutuhan
metodologi
pengembangan
yang
dapat
mengakomodasi ke semua jenis aplikasi tersebut. Keuntungan menggunakan metodologi berorientasi objek adalah sebagai berikut : 1.
Meningkatkan produktifitas Karena kelas dan objek yang ditemukan dalam suatu masalah masih dapat dipakai ulang untuk masalah lainnya yang melibatkan objek tersebut (Reusable).
2.
Kecepatan pengembangan Karena sistem yang dibangun dengan baik dan benar pada saat analisis dan perancangan akan menyebabkan berkurangnya kesalahan pada saat pengkodean.
3.
Kemudahan pemeliharaan Karena dengan model objek, pola pola yang cenderung tetap dan stabil dapat dipisahkan dan pola pola yang mungkin sering berubah ubah.
4.
Adanya konsistensi Karena sifat pewarisan dan penggunaan notasi yang sama pada saat analisis, perancangan maupun pengkodean.
5.
Meningkatkan kualitas perangkat lunak
http://digilib.mercubuana.ac.id/
15
Karena pendekatan pengembangan lebih dekat dengan dunia nyata dan adanya konsistensi pada saat pengembangannya, perangkat lunak yang dihasilkan akan mampu memenuhi kebutuhan pemakai serta mempunyai sedikit kesalahan. 2.8
Konsep Dasar Basis Data 2.8.1
Definisi Basis Data
Basis data terdiri dari 2 kata, yaitu basis dan data. Basis dapat diartikan sebagai markas, gudang, tempat berkumpul. Sedangkan data adalah fakta yang mewakili suatu objek seperti manusia, barang, hewan, peristiwa, keadaan, dan sebagainya yang direkam dalam bentuk angka, huruf simbol, teks, gambar, bunyi atau kombinasinya (Yanto, 2016:10-11). Basis data sendiri dapat didefinisikan dalam sejumlah sudut pandang seperti : a.
Himpunan kelompok data yang saling berhubungan yang di organisasi sedemikian rupa agar dapat dimanfaatkan kembali dengan cepat dan mudah.
b. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan untuk memenuhi berbagai kebutuhan. c. Kumpulan file yang saling berhubungan yang disimpan dalam media penyimpanan elektronis. Basis data tidak sekedar penyimpanan secara elektronik, karena: 1. Pada penyimpanan dokumen berisi data dalam file teks, file spreed sheet, tidak ada pemilihan dan pengelompakan data sesuai jenis atau fungsi sehingga menyulitkan pencarian data. 2. Keutamaan
basis
data
adalah
pengaturan,
pemilihan,
pengelompokan,
pengoperasian data yang akan disimpan sesuai jenis dan fungsinya. 2.8.2 Komponen dalam basis data Komponen penting dalam basis data yaitu : 1. Data Merupakan
informasi
yang
disimpan
dalam
yangterintegrasi. 2. Hardwere
http://digilib.mercubuana.ac.id/
suatu
struktur
tertentu
16
Merupakan perangkat keras berupa komputer dengan media penyimpanan yang digunakan untuk menyimpan data karena pada umunya basis data memiliki ukuran yang besar. 3. Sistem Operasi Program yang mengaktifkan dan memfungsikan sistem komputer, mengendalikan seluruh sumber daya dalam komputer, dan melakukan operasi dasar dalam komputer meliputi input, proses, dan output. 4. Basis Data Basis data sebagai inti dari sistem basis data. Basis data menyimpan data serta struktur sistem basis data baik untuk entitas maupun objek-objek secara detail. 5. Database Management System Merupakan perangkat lunak yang digunakan untuk melakukan pengelolaan basis data. Sebagai contoh Microsoft Acces, Pardox, SQL Server, Mysql, Oracle. Secara konsep terjadi dalam DBMS adalah: a. User melakukan pengaksesan basis data untuk informasi yang diperlukan menggunakan bahasa query biasa disebut dengan SQL. b. DBMS menerima permintaan user dan menganalisis permintaan tersebut. c. DBMS memeriksa skema eksternal user, skema konseptual dan struktur penyimpanan. d. DBMS mengeksekusi operasi-operasi yang diperlukan untuk memenuhi permintaan user. 6. User Merupakan pengguna yang menggunakan data yang tersimpan dan terkelola. User dapat berupa seseorang yang mengelola basis data yang disebut database administator (DBA), bisa juga disebut end user.Aplikasi LainnyaProgram yang dibuat untuk memberikan interface kepada user sehingga lebih mudah dan terkontrol dalam mengakses basis data(Yanto, 2016:12-13). 2.8.3 Tujuan Basis Data
http://digilib.mercubuana.ac.id/
17
Basis data digunakan untuk mengatasi permasalahan pengolahan data dengan metode pengarsipan berkas dan basis data sangat diperlukan dalam membangun sistem informasi pada sebuah perusahaan sehingga dengan basis data dapat meningkatkan kinerja perusahaan dan meningkatkan daya saing perusahaan(Yanto, 2016:5). Karena basis data dibangun dengan tujuan sebagai berikut: a. Kecepatan dan Kemudahan (Speed) Dengan memanfaatkan basis data memungkinkan kita untuk menyimpan data atau melakukan
perubahan terhadap data atau menmpilkan kembali data tersebut
secara lebih efektif. b. Efisiensi Ruang Penyimpanan (Space) Karena keterkaitan yang erat antarkelompok data dalam sebuah basis data, maka redudansi (pengulangan) data pasti akan selalu ada, yang mengakibatkan besarnya ruang penyimpanan yang disediakan. Maka dari itu dengan basis data, dapat menjadi lebih efisiensi atau optimalisasi penggunaan ruang penyimpanan, dapat juga melakukan penekanan jumlah redudansi data, baik dengan menerapkan sejumlah pengodean atau dengan membuat relasi-relasi (dalam bentuk tabel) antarkelompok data yang saling berhubungan. c. Akurasi Data (Accuracy) Pemanfaatan pengkodean atau pembentukan relasi anatardata bersama dengan penerapan aturan atau batasan (constraint) tipe data, domain data, keunikan data, dan sebagainya, yang secara ketat dapat diterapkan dalam sebuah basis data, yang sangat berguna untuk menekan ketidakakuratan penyimpanan data. d. Ketersediaan Data (Availability) Pertumbuhan data (baik dari sisi jumlah maupun jenisnya) sejalan dengan waktu akan
semakin
membutuhkan
ruang
penyimpanan
yang
besar.
Untuk
meaksimalkan ketersediaan data yang digunakan maka kita dapat memilah adanya data utama atau master atau referensi, data transaksi, data histori hingga data kadaluarsa. Jika data yang sudah jarang atau bahkan tidak pernah lagi digunakan, dapat diatur untuk dilepaskan dari sistem basis data yang sedang aktif (off-line)
http://digilib.mercubuana.ac.id/
18
baik dengan cara penghapusan atau dengan memindahkan ke media penyimpanan off-line (seperti removable disk atau tape). e. Kelengkapan Data (Completeness) Lengkap atau tidaknya data yang dikelola dalam sebuah basis data bersifat relative (baik terhadpa kebutuhan pemakai maupun terhadap waktu). Untuk mengakomodasi kebutuhan kelengkapan data yang semakin berkembang, dapat dengan menambah record-record data, tetapi juga dapat melakukan perubahan struktur dalam basis data, baik dalam bentuk penambahan objek baru (tabel) atau dengan penambahan field-field baru pada suatu tabel. f. Keamanan Data (Security) Untuk sebuah sistem yang besar dan serius, aspek keamanan dalam basis data juga dapat diterapkan dengan ketat. Dengan cara menentukan siapa-siapa (pemakai) yang boleh menggunakan basis data beserta objek-objek di dalamnya dan menentukan jenis-jenis operasi apa saja yang boleh dilakukannnya. g. Kebersamaan Pemakai (Sharability) Pemakai basis data seringkali tidak terbatas pada satu pemakai saja, atau di satu lokasi saja atau sistem atau aplikasi saja, contohnya data pegawai dalam basis data kepegawaian, misalnya dapat digunakan oleh banyak pemakai, dari sejumlah departemen dalam perusahaan atau oleh banyak sistem (sistem penggajian, sistem akuntansi, sistem inventori, dan sebagainya). Basis data yang di kelola oleh sistem (aplikasi) yang mendukung lingkungan multi-user, akan dapat memenuhi kebutuhan ini, tetapi tetap dengan menjaga atau menghindari munculnya persoalan baru seperti inkonsistensi data (karena data yang sama diubah oleh banyak pemakai pada saat yang bersamaan) atau kondisi deadlock (karena ada banyak pemakai yang saling menunggu untuk menggunakan data). 2.9
Unified Modeling Language (UML) 2.9.1
Pengenalan UML
Pada perkembangan teknologi perangkat lunak, diperlukan adanya bahasa yang digunakan untuk memodelkan perangkat lunak yang akan dibuat dan perlu adanya standarisasi agar orang di berbagai negara dapat mengerti pemodelan
http://digilib.mercubuana.ac.id/
19
perangkat lunak. Banyak orang yang telah membuat bahasa pemodelan pembangunan perangkat lunak sesuai dengan teknologi pemrograman yang berkembang pada saat itu, misalnya yang sempat berkembang dan digunakan oleh banyak pihak adalah Data Flow Diagram(DFD) untuk memodelkan perangkat lunak yang menggunakan pemrograman prosedural atau struktural. 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). UML adalah kosakata umum berbasis objek dan diagram teknik yang cukup efektif untuk memodelkan setiap proyek pengembangan sistem mulai tahap analisis sampai tahap perancangan dan tahap implementasi(Dennis et al: 2012) . 2.9.2
Diagram UML
Unified modeling language atau yang lebih biasa disebut UML adalah teknik pemodelan yang dimaksudkan untuk memberikan gambaran umum mengenai proyek pengembangan sistem mulai dari tahap analisis hingga tahap desain. (Dennis et al: 2012) UML menggambarkan diagram yang berbeda-beda untuk mengembangkan berbagai sudut pandang dari proyek pengembangan sistem. Terdapat 14 (empat belas) diagram yang digunakan dalam teknik UML secara keseluruhan, dan secara garis besar, UML dibagi kedalam 2 (dua) kategori utama dalam pembagian diagramnya, yang dibagi berdasarkan fungsi dari diagram-diagram tersebut.Kategori tersebut antara lain dijelaskan sebagai berikut: a. Structure diagrams Merupakan kategori yang terdiri dari diagram-diagram UML yang digunakan untuk menggambarkan suatu struktur statis dari sistem yang dimodelkan. Yang termasuk kedalam kategori ini antara lain adalah class diagram, object diagram, component diagram, composite structure diagram, package diagram, dan deployment diagram. b. Behavioral diagrams
http://digilib.mercubuana.ac.id/
20
Diagram-diagram UML yang termasuk kedalam kategori ini adalah yang digunakan untuk menggambarkan perilaku (behavior) sistem atau rangkaian perubahan yang terjadi pada sistem yang dimodelkan. Behavioral diagrams memungkinkan analis dalam proses pemodelan kebutuhan fungsional dalam pengembangan sistem informasi (Dennis et al: 2012). Kategori ini antara lain terdiri dari use case diagram, activitydiagram, sequence diagram, communication diagram, interaction overview timing, dan protocol state machine serta behavioralstate machine diagram. Diagram
Structure Diagram
Behavior Diagram
Component Diagram
Class Diagram
Object Diagram
Use Case Diagram
Activity Diagram
State Machine Diagram
Interaction Diagram Composite Structure Diagram
Deployment Diagram
Package Diagram
Interaction overview Diagram
Sequance Diagram
Communication Diagram
Timing Diagram
Gambar 2.3 Diagram UML (Sumber: Dennis et al: 2012)
2.9.3
Use Case Diagram
Use Case diagram merupakan permodelan untuk sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih actor dengan
http://digilib.mercubuana.ac.id/
21
sistem informasi yang akan dibuat. Use case digunakan untuk mengetahui fungsi apa saja yang ada di dalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi itu. Syarat penamaan use case adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut actor dan use case. 1. 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. 2. Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau actor. Use case diagram merupakan suatu diagram yang menangkap kebutuhan bisnis untuk sistem dan untuk menggambarkan interaksi antara sistem dan lingkungannya. (Dennis et al, 2012). Berikut adalah simbol-simbol yang ada pada diagram use case: Tabel 2.1 Simbol Use Case Simbol Use Case
Deskripsi “Represents a major piece of system functionality.” Use Case
Menggambarkan bagaimana seseorang akan menggunakan sistem. “a person or system that derives benefit from and is external to the subject.”
Aktor/Actor
Seseorang atau sesuatu yang berinteraksi dengan sistem.
Actor
Asosiasi / Association
“Links an actor with the use case(s) with which it interacts.” Untuk mendokumentasikan aliran-aliran logika dalam setiap
http://digilib.mercubuana.ac.id/
22
Use Case
Ekstensi / Extend
“Represents the extension of the use case to include optional behavior.”
Extends
Memungkinkan suatu Use Case memiliki kemungkinan memperluas fungsionalitas yang disediakan oleh use case lainnya
Generelisasi / Generalization
Hubungan generalisasi dan spesialiasasi (umum-khusus) antara dua buah use case dimana fungsi yang satu adalah fungsi yang lebih umum dari lainnya
http://digilib.mercubuana.ac.id/
23
Menggunakan Include / Uses
Include
<<uses>>
“Represents the inclusion of the functionality of one use case within another.” Include memungkinkan Use Case untuk menggunakan fungsional yang di sediakan
http://digilib.mercubuana.ac.id/
24
Tabel 2.2 Perbedaan Include dan Extend pada Use Case (Dennis et al:2012) Include
Extend
Use case terpanggil (included use
Use case ekstensi tidak selalu
case) selalu diperlukan oleh use
dibutuhkan oleh use case dasar
case dasar Yang memutuskan kapan
Yang memutuskan kapan dipanggilnya
dipanggilnya use case included
use case extend adalah use case extend
adalah use case dasar
itu sendiri
Panah hubungan dari use case
Panah hubungan dari use case extend
dasar ke use case include
ke use case dasar
Gambar 2.4Use Case Diagram (Sommerville, 2011)
2.9.4
Activity Diagram
Pengertian Diagram Activity adalah yang menggambarkan alur kerja bisnis independen dari class, aliran kegiatan dalam Use case, atau desain rinci sebuah metode (Dennis et al 2012). Tabel 2.3 Simbol Diagram Activity Simbol Status Awal / Initial Node
Deskripsi “Is used to represent a set of actions.” Merupakan tanda awal dari sebuah aktivitas
http://digilib.mercubuana.ac.id/
25
Aktivitas / Activity
“Is used to represent a set of actions.” Merupakan sebuah gambaran aktivitas yang terjadi
Aktivitas
Percabangan / Decision
“Is used to represent a test condition to ensure that the control flow or object flow only goes down one path.” Pilihan untuk pengambilan keputusan
Penggabungan / Join
Asosiasi penggabungan dimana lebih dari satu aktivitas digabungkan menjadi satu
Status akhir / Final-Activity Node
“Is used to stop all control flows and object flows in an activity (or action).” Merupakan tanda berakhirnya sebuah aktivitas.
Swimlane
“Separate business organization that is responsible for the activity that occurs.” Memisahkan organisasi bisnis yang bertanggung jawab terhadap aktifitas yang terjadi.
Control Flow
“Shows the sequence of execution.” Menunjukkan urutan eksekusi
Object Flow
“Shows the flow of an object from one activity (or action) to another activity (or action).” Menunjukkan aliran objek dari satu kegiatan (atau tindakan) untuk kegiatan lain (atau tindakan).
http://digilib.mercubuana.ac.id/
26
Gambar 2.5 Contoh Activity Diagram (Sumber: Dennis et al :2012)
2.9.5
Sequence Diagram
Sequence Diagram merupakan urutan model dinamis yang menggambarkan contoh class yang berpartisipasi dalam use case dan pesan yang lewat di antara mereka dari waktu ke waktu. (Dennis et al, 2012). Sequence diagram merupakan diagram interaksi yang disusun berdasarkan urutan waktu. Cara membaca diagram sekuensial dari atas ke bawah. Setiap diagram sekuensial mempresentasikan satu flow dari beberapa flow didalam use case. Berikut adalah simbol-simbol yang ada pada diagram sequence : Tabel 2.4 Sequence Diagram Simbol Aktor
Deskripsi “Is a person or system that derives benefit from and is external to the system.” orang atau sistem yang berasal dari manfaat dan eksternal ke sistem yang
http://digilib.mercubuana.ac.id/
27
berpartisipasi secara berurutan dengan mengirim dan / atau menerima pesan Actor
Garis hidup / Lifeline
“Denotes the life of an object during a sequence.” Menyatakan kehidupan suatu objek.
Objek / Object
“Participates in a sequence by sending and/or receiving messages.”
nama objek: nama kelas
Waktu Aktif / Execcution Occurrence
Berpartisipasi secara berurutan dengan mengirim dan / atau menerima pesan yang ditempatkan diatas diagram
“Is a long narrow rectangle placed atop a lifeline.”
Menyatakan objek dalam keadaan aktif dan berinteraksi pesan Pesan / Message
“Conveys information from one object to another one.”
<
>
Pesan yang mengambarkan komunikasi yang terjadi antar objek. Pesan tipe call 1: nama metode()
Menyatakan
suatu
objek
memanggil
operasi atau metode yang ada pada objek lain atau dirinya sendiri.
Pesan tipe send
Menyatakan
bahwa
suatu
objek
mengirimkan data atau masukan atau 1: masukan
informasi ke objek lainnya, arah panah mengarah pada objek yang dikirimi
http://digilib.mercubuana.ac.id/
28
informasi. Pesan tipe return 1: keluaran
“a return is labeled with the value being returned and shown as a dashed arrow.” Pesan
yang
dikirim
untuk
diri
sendiritertentu, arah panah mengarah pada objek yang menerima kembalian. Pesan tipe destroy
Menyatakan suatu objek mengakhiri hidup objek lain, arah panah mengarah
<<destroy>>
pada objek yang diakhiri.
Gambar 2.6 Contoh Sequence Diagram (Sumber: Dennis et al :2012)
http://digilib.mercubuana.ac.id/
29
2.9.6
Class Diagram
Class Diagram adalah ilustrasi hubungan antara class yang dimodelkan didalam sistem. Class Diagram sangat mirip dengan diagram hubungan entitas (ERD). Diagram class menggambarkan class yang meliputi atribut, perilaku dan states, sementara dalam ERD hanya mencakup atribut. (Dennis et al 2012). Berikut adalah simbol-simbol yang ada pada diagram class : Tabel 2.5 Class Diagram Simbol Kelas / Class
Deskripsi “Represents a kind of person, place, or thing about which the system will need to capture and store information”
Nama Kelas -Atribut
Kelas pada struktur sistem.
+Operasi()
Antarmuka / Interface
Sama dengan konsep interface dalam pemrograman berorientasi objek
Nama Interface Asosiasi / Association
“Represents a relationship between multiple classes or a class and itself. “ Asosiasi yang menghubungkan class dengan class Multiplycity.
Asosiasi berarah / Directed association
Relasi antar kelas dengan makna kelas yang satu digunakan oleh kelas yang lain, biasanya juga disertai dengan multiplicity
Generalisasi / Generalization
“Represents a-kind-of relationship between multiple classes. “ Generalization merupakan sebuah taxonomic relationship antara class yang lebih umum dengan
http://digilib.mercubuana.ac.id/
30
Kebergantungan / Dependency
Relasi antar kelas dengan makna kebergantungan antar kelas
Agregasi / Aggregation
“Represents a logical a-part-of relationship between multiple classes or a class and it self.”
*
1
menggambarkan suatu class terdiri dari class lain atau suatu class adalah bagian dari class lain.
Gambar 2.7 Contoh class Diagram (Sumber: Dennis et al :2012)
http://digilib.mercubuana.ac.id/
31
2.10
Perangkat Lunak Pendukung
2.10.1
Microsoft Visio
Microsoft Visio adalah softwere pembuat diagram dan flowchart berbasis vektor yang awalnya dibuat oleh Visio Corporation. Pada tahun 1995 Visio 4.0 dirilis.ini merpakan visio pertama yang dapat berjalan di windows 95 dan sekaligus menjadi versi terakhir yang dibuat Visio Corporation. Pada bulan januari 2000, Microsoft mengakuisisi Visio Corporation dengan membeli seluruh sahamnya. Ini merupakan akusisi terbesar yang pernah Microsoft lakukan. Kini Visio merupakan salah satu divisi di Microsoft dan terus mengembangkan softwere dengan nama barunya yaitu Microsoft Office Visio. Visio mulai terintergrasi didalam Microsoft Office sejak Office 2007. Sejumlah fitur baru ditambahkan, terutama integrasi antara data dengan diagram dan otomatisasi dalam pembuatan bagan dan diagram. Di Office 2010, Visio mengalami perubahan antar muka mengikuti standar aplikasi Office lainnya (Pascal Steven Andy,2010:171 ). 2.10.2 Balsamiq Mockup Mockup artinya model atau replika mesin atau struktur, yang digunakan untuk tujuan instruksional atau eksperimental. Balsamiq mockup adalah program aplikasi yang digunakan dalam pembuatan tampilan user interface sebuah aplikasi. Software ini sudah menyediakan tools yang dapat memudahkan dalam membuat desain prototyping aplikasi yang akan kita buat. Software ini berfokus pada konten yang ingin digambar dan fungsionalitas yang dibutuhkan oleh pengguna. Alih-alih menggambar sketsa (wireframe) atau prototype rancangan desain website di atas kertas balsamiq mockups membantu seorang web desainer membuat tampilan web dalam bentuk gambar di komputer. Tujuannya selain agar membuat tampilan (desain) website menarik juga dapat menyesuaikan dengan kebutuhan customer (pelanggan). Dengan alat pembuat mockup maka seorang web desainer dapat menganalisa tata letak, desain dan fungsi.
http://digilib.mercubuana.ac.id/
32
Kelebihan Balsamiq Mockups dibanding software pembuat mockup lainnya adalah aplikasi ini berbasis cloud, disertai aplikasi desktop yang memungkinkan kita dengan cepat dan mudah membuat rancangan website. Dengan konten yang terbuat seperti dari gambaran tangan, akan membuat kita fokus pada pemecahan masalah user interface yang lebih besar, daripada pada perincian website. Di websitenya sendiri ada dua pilihan untuk para pengguna, ada versi trial for dekstop dan ada juga yang bisa kita download untuk versi dekstop. Namun ada juga yang disediakan dalam versi berbayar. Aplikasi ini bisa digunakan untuk sistem operasi Windows, Mac OS, dan Linux.(http://enggar.net/2016/01/balsamiq-mockup/)
Gambar 2.8 Logo Balsamiq Mockups (sumber: https://balsamiq.com)
http://digilib.mercubuana.ac.id/