BAB II LANDASAN TEORI
2.1 Konsep Dasar Sistem
Suatu sistem dapat terdiri dari beberapa subsistem atau sistem bagian. Komponen atau subsistem dalam suatu sistem tidak dapat berdiri lepas sendirisendiri. Komponen atau subsistem saling berinteraksi dan saling berhubungan membentuk satu kesatuan sehingga tujuan atau sasaran dapat tercapai. Secara sederhana sistem dapat diartikan sebagai suatu kumpulan atau himpunan dari unsur atau variable-variabel yang saling berinteraksi, dan saling bergantung satu sama lain.
Gambar 2.1 Model Sistem (Hanif Al Fatta, 2007)
Gambar 2.1 menunjukan bahwa sistem harus mempunyai beberapa komponen, yakni masukan, pengolahan, keluaran, dan balikan atau kontrol.
2.1.1 Pengertian Sistem
Suatu sistem dapat terdiri dari beberapa subsistem atau sistem bagian. Komponen atau subsistem dalam suatu sistem tidak dapat berdiri lepas sendiri sendiri. Komponen atau subsistem saling berinteraksi dan saling berhubungan membentuk satu kesatuan sehingga tujuan atau sasaran dapat tercapai.
7
8
Menurut Bonnie Soeherman [2008:3] “Sistem adalah serangkaian komponen-komponen yang saling berinteraksi dan bekerja sama untuk mencapai tujuan tertentu.” Dengan demikian, secara sederhana sistem dapat diartikan sebagai suatu kumpulan atau himpunan dari unsur atau variable-variabel yang saling terorganisasi, saling berinteraksi, dan saling bergantung satu sama lain. Dari beberapa pengertian sistem tersebut maka pengertian sistem ini akan mempunyai peranan yang sangat penting dalam melakukan pendekatan sistem yang akan dianalisa.
2.2 Konsep Dasar Informasi
Sumber informasi adalah data yang merupakan kenyataan yang menggambarkan suatu kejadian-kejadian dan kesatuan nyata. Makna kata adalah segala sesuatu yang dapat diterima oleh indra manusia dari rangsangan – rangsangan yang ada di sekitarnya, baik tersurat maupun tersirat. Sedangkan makna kata dalam dunia komputer adalah segala sesuatu yang bisa dikodekan atau disimbolkan atau dilambangkan dengan kode-kode, symbol-symbol, atau lambing-lambang yang telah di sediakan disetiap komputer.
2.2.1 Pengertian Informasi
Menurut Tata Sutabri [2012:21] Informasi adalah proses lebih lanjut dari data yang sudah memiliki nilai tambah. Informasi dapat dikelompokan menjadi 3 bagian, yaitu: a. Informasi strategis. Informasi ini
digunakan untuk menggambil keputusan jangka panjang, yang
mencakup informasi ekternal, rencana perluasan perusahaan, dan sebagainya. b. Informasi Taknis. Informasi ini dibutuhkan untuk mengambil keputusan jangka menengah, seperti informasi tren penjualan yang dapat di manfaatkan untuk menyusun rencana penjualan.
9
c. Informasi Teknis. Informasi ini dibutuhkan untuk keperluan operasional sehari-hari, seperti informasi persediaan barang stock, retur penjualan, dan laporan kas harian.
2.2.2 Definisi Sistem Informasi
Seperti telah kita ketahui bahwa informasi merupakan hal yang sangat penting di dalam pengambilan keputusan. Informasi dapat di peroleh dari system informasi. Dalam arti luas system informasi dapat di pahami sebagai sekumpulan subsistem yang saling berhubungan, berkumpul bersama-sama dan membentuk satu kesatuan, saling berinteraksi dan bekerjasama anatra bagiam satu dengan yang lainya dengan cara-cara tertentu untuk melakukan fungsi pengolahan data, menerima
masukan
(input)
berupa
data-data,
kemudian
mengolahnya
(processing), dan menghasilkan keluaran (output) berupa informasi sebagai dasar bagi pengambilan keputusan yang berguna dan mempunyai nilai nyata yang dapat di rasakan akibatnya baik pada saat itu juga maupun dimasa mendatang, mendukung kegiatan operasional, manajerial dan strategis organisasi, dengan memanfaatkan berbagai sumber daya yang ada dan tersedia bagi funsi tersebut guna mencapai tujuan (Edhy Sutanta,2011:16). Menurut Tata Sutabri (2012:38), Sistem informasi adalah suatu system dalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian yang mendukung funsi operasi organisasi yang bersifat manajerial dengan kegiatan strategi sari suatu organisasi untuk dapat menyediakan laporan-laporan yang di perlukan oleh pihak luat tertentu.
2.3 Metode Waterfall
(Rosa & Shalahuddin, 2013, p. 28) Model SDLC air terjun (waterfall) sering juga disebut model sekuensial linier (sequential linear) atau alur hidup klasik (classic life cycle). Model air tejun menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut dimulai dari analisis, desain,
10
pengkodean, pengujian, dan tahap pendukung (support). Berikut adalah gambar model air terjun:
Gambar 2.2 Ilustrasi Model Waterfall (Rosa & Shalahuddin, 2013, p. 29)
1. Analisis kebutuhan perangkat lunak Proses
pengumpulan
kebutuhan
dilakukan
secara
intensif
untuk
memspesifikasikan kebutuhan perangkat lunak agar dapat dipahami perangkat lunak seperti apa yang dibutuhkan oleh user. Spesifikasi kebutuhan perangkat lunak pada tahap ini perlu untuk didokumentasikan. 2. Desain Desain perangkat lunak adalah proses multi langkah yang fokus pada desain pembuatan program perangkat lunak termasuk struktur data, arsitektur perangkat lunak, representasi antarmuka, dan prosedur pengkodean. Tahap ini mentranslasi kebutuhan perangkat lunak dari tahap analisis kebutuhan ke representasi desain agar dapat diimplementasikan menjadi program pada tahap selanjutnya. Desain perangkat lunak yang dihasilkan pada tahap ini juga perlu didokumentasikan. 3. Pembuatan kode program Desain harus ditranslasikan ke dalam program perangkat lunak. Hasil dari tahap ini adalah program komputer sesuai dengan desain yang telah dibuat pada tahap desain. 4. Pengujian Pengujian fokus pada perangkat lunak secara segi logik dan fungsional dan memastikan bahwa semua bagian sudah diuji. Hal ini dilakukan untuk meminimalisir kesalahan (error) dan memastikan keluaran yang dihasilkan sesuai dengan yang diinginkan.
11
5. Pendukung (support) atau pemeliharaan (maintenance) Tidak menutup kemungkinan sebuah perangkat lunak mengalami perubahan ketika sudah dikirimkan ke user. Perubahan bisa terjadi karena adanya kesalahan yang muncul dan tidak terdeteksi saat pengujian atau perangkat lunak harus beradaptasi dengan lingkungan baru. Tahap pendukung atau pemeliharaan dapat mengulangi proses pengembangan dimulai dari analisis spesifikasi untuk perubahan perangkat lunak yang sudah ada, tapi tidak untuk membuat perangkat lunak baru. Model waterfall adalah model SDLC yang paling sederhana. Model ini hanya cocok untuk pengembangan perangkat lunak dengan spesifikasi yang tidak berubah-ubah.
2.4 UML (Unitified Modelling Language)
(Rosa & Shalahuddin, 2013, p. 137) Pada perkembangan teknik pemrograman berorientasi objek, munculah sebuah standarisasi bahasa pemodelan untuk pembangunan perangkat lunak yang dibangun dengan menggunakan teknik pemrograman berorientasi objek, yaitu Unified Modeling Language (UML). UML muncul karena adanya kebutuhan pemodelan visual untuk menspesifikasikan, menggambarkan membangun, dan mendokumentasi dari sistem perangkat lunak. Definisi UML menurut Rosa Salahuddin (2011:118)”UML merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah system dengan menggunakan diagram dan teks-teks pendukung.” Definisi UML menurut Verdi Yasin (2012:194) “Unified Modelling Language (UML) adalah sebuah “bahasa” yang telah menjadi standar dalam industry untuk visualisasi, merancang dan mendokumentasikan system piranti lunak.” UML hanya berfungsi untuk melakukan pemodelan. Jadi, penggunaan UML tidak terbatas pada metodologi tertentu, meskipun pada kenyataannya UML paling banyak digunakan pada metodologi berorientasi objek.
12
2.4.1 Sejarah UML
Banyaknya metodologi-metodologi yang berkembang pesat, munculah ide untuk membuat sebuah bahasa yang dapat dimengerti semua orang. Usaha penyatuan ini banyak mengambil dari metodologi-metodologi yang berkembang saat itu. Maka dibuat bahasa yang merupakan gabungan dari beberapa konsep seperti konsep Object Modelling Technique (OMT) dari Rambaugh dan Booch (1991), konsep The Classes, Responsibilities, Collaborators (CRC) dari Rebecca Wirfs-Brock (1990), konsep pemikiran Ivar Jacobson, dan beberapa konsep lainnya dimana James R. Rumbaigh, Grady Booch, dan Ivar Jacobson bergabung dalam sebuah perusahaan yang bernama Rational Software Corporation menghasilkan bahasa yang disebut dengan Unified Modeling Language (UML). Pada 1996, Object Management Group (OMG) mengajukan proposal agar adanya standarisasi pemodelan berorientasi objek pada bulan September 1997 UML diakomodasi oleh OMG sehingga sampai saat ini UML telah memberikan kontribusinya yang cukup besar didalam metodologi berorientasi objek dan halhal yang terkait didalamnya. Secara fisik, UML adalah sekumpulan spesifikasi yang dikeluarkan oleh OMG, UML terbaru adalah UML 2.3 yang terdiri dari 4 macam
spesifikasi,
yaitu
Diagram
Interchange
Specification,
UML
Infrastructure, UML Superstructure, dan Object Constraint Language (OCL).
2.4.2 Diagram-diagram UML Menurut [Rosa, 2011], UML merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teksteks pendukung. UML memiliki 13 macam diagram yaitu:
13
Gambar 2.3 Diagram UML (Rosa & Shalahuddin, 2013, p. 140)
Tabel 2. 1 Tipe Diagram UML No
Diagram
1
Class Diagram
Kegunaan Menggambarkan
struktur
sistem
dari
segi
pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem 2
Object Diagram
Menggambarkan
struktur
sistem
dari
segi
penambahan objek dan jalannya objek dalam system
14
Lanjutan Tabel 2.1 Tipe Diagram UML 3
Component
Diagram ini dibuat untuk menunjukan organisasi
Diagram
dan ketergantungan diantara kumpulan komponen dalam sebuah system
4
Composite Stuctur
Digunakan untuk menggambarkan struktur dari
Diagram
bagian-bagian yang saling terhubung maupun mendeskripsikan struktur pada saat berjalan dari instance yang saling berhubung.
5
Package Diagram
Menyediakan cara pengumpulan elemen-elemen yang saling terkait dalam diagram UML
6
Deployment Diagram
7
Use Case Diagram
Menunjukan konfigurasi komponen dalam proses eksekusi aplikasi
Diagram use case merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat.
8
Activity Diagram
Diagram menggambarkan workflow
(aliran kerja)
atau menggambarkan aktivitas sebauah sistem atau proses bisnis 9
State Machine Diagram
10
Sequence Diagram
Digunakan untuk menggambarkan perubahan status atau tansisi status dari sebuah mesin atau sistem
Menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan massage yang dikirimkan dan diterima antar objek
11
Communication
Penederhanaan dari diagram kolaborasi pada UML
Diagram
versi 1.x jadi diagram communication sudah tidak muncul lagi pada diagram versi 2.x.
Lanjutan Tabel 2.1 Tipe Diagram UML
15
12
Timing Diagram
Diagram yang fokus pada penggambaran terkait batasan waktu.
13
Interaction Overview Diagram
Berfungsi
untuk
menggambarkan
sekumpulan
urutan aktivitas
2.4.3 Use Case Diagram
(Rosa & Shalahuddin, 2013, p. 155) Use case atau diagram use case merupakan pemodelan untuk kelakuan (behaviour) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Secara kasar, use case digunakan untuk mengetahui fungsi apa saja yan ada didalam sebuah sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi itu. Syarat penamaan pada 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. 1. Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar 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 aktor. Berikut adalah simbol-simbol yang ada pada diagram use case:
Tabel 2.2 Simbol-simbol Diagram Use Case (Rosa & Shalahuddin, 2013, p. 156) Simbol use case
Deskripsi Fungsionalitas yang disediakan sistem sebagai unitunit yang saling bertukar pesan antar unit/aktor;
nama use case
biasanya dinyatakan menggunakan kata kerja diawal frase nama use case
Lanjutan Tabel 2.2 Simbol-simbol Diagram Use Case
16
aktor / actor
Orang, proses atau sistem lain yang berinteraksi dengan sistem informasi yang dibuat diluar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang; biasanya
nama aktor
dinyatakan menggunakan kata benda di awal frase nama aktor.
asosiasi / association
Komunikasi antara aktor dan use case yang berpartisipasi pada use case atau use case memiliki interaksi dengan aktor
ekstensi / extend «extends»
Relasi use case tambahan ke sebuah use case dimana use case yang ditambahkan dapat berdiri sendiri walau tanpa use case tambahan itu; mirip dengan prinsip inheritance pada pemrograman berorientasi objek; biasannya use case tambahan memiliki nama depan yang sama dengan use case yang ditambahkan
Generalisasi / generalization
Hubungan generalisasi dan spesialisasi (umumkhusus) antara dua buah use case dimana fungsi yang satu adalah fungsi yang lebih umum dari lainnya
Menggunakan / include / uses
Relasi use case tambahkan ke sebuah use case dimana use case yang ditambahkan memerlukan
<
>
use case ini untuk menjalankan fungsinya atau sebagai syarat dijalankan use case ini
2.4.4 Activity Diagram
(Rosa & Shalahuddin, 2013, p. 161) 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
17
sistem bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem. Diagram aktivitas juga banyak digunakan untuk mendefinisikan hal-hal berikut: 1. Rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan. 2. Urutan atau pengelompokkan tampilan dari sistem / user interface dimana setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan. 3. Rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah pengujian yang didefinisikan kasusu ujinya. 4. Rancangan menu yang ditampilkan pada perangkat lunak. Berikut adalah simbol-simbol yang ada pada diagram aktivitas:
Tabel 2.3 Simbol-simbol Activity Diagram (Rosa & Shalahuddin, 2013, p. 162) Simbol
Deskripsi
Status Awal
Status awal aktivitas sistem, sebuah diagram aktivitas memiliki sebuah status awal
Aktivitas
Aktivitas yang dilakukan sistem, aktivitas biasanya diawali dengan kata kerja
aktivitas Percabangan / decision
Asosiasi percabangan dimana jika ada pilihan aktivitas lebih dari satu
18
Lanjutan Tabel 2.3 Simbol-simbol Activity Diagram Penggabungan / join
Asosiasi penggabungan dimana lebih dari satu aktivitas digabungkan menjadi satu
Status akhir
Status akhir yang dilakukan sistem, sebuah diagram aktivitas memiliki sebuah status akhir
Swimlane
nama swimlane
Memisahkan
organisasi
bisnis
yang
bertanggung jawab terhadap aktivitas yang terjadi
2.4.5 Sequence Diagram
(Rosa & Shalahuddin, 2013, p. 165) 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. Membuat diagram sekuen juga dibutuhkan untuk melihat skenario yang ada pada use case. Banyaknya diagram sekuen yang harus digambarkan adalah minimal sebaganyak pendefinisian use case yang memiliki proses sendiri atau yang penting semua use case yang telah didefinisikan interaksi jalannya pesan sudah dicakup pada diagram sekuen sehingga semakin banyak use case yang didefinisikan maka diagram sekuen yang harus dibuat juga semakin banyak. Berikut adalah simbol-simbol yang ada pada diagram sequence:
19
Tabel 2.4 Simbol-simbol Sequence Diagram (Rosa & Shalahuddin, 2013, p. 165) Simbol
Deksripsi
Actor
Orang,
proses,
atau
sistem
lain
yang
berinteraksi dengan sistem informasi yang akan dibuat diluar sistem informasi yang akan dibuat sendiri, jadi walaupun simbol dari aktor
nama aktor
adalah gambar orang, tapi aktor belum tentu
atau
merupakan nama_aktor
orang;
biasanya
dinyatakan
menggunakan kata benda di awal frase nama actor
a a_a tanpa waktu aktif
to
garis hidup / lifeline
Menyatakan kehidupan suatu objek
Objek
Menyatakan objek yang berinteraksi pesan
nama_objek : nama_kelas waktu aktif
Menyatakan objek dalam keadaan aktif dan berinteraksi, semua yang terhubung dengan waktu aktif ini adalah sebuah tahapan yang dilakukan didalamnya
pesan tipe create
<> pesan tipe call
1: nama_metode()
Menyatakan suatu objek membuat objek lain, arah panah mengarah pada objek yang dibuat
Menyatakan
suatu
objek
memanggil
operasi/metode yang ada pada objek lain atau dirinya sendiri
20
Lanjutan Tabel 2.4 Simbol-simbol Sequence Diagram pesan tipe send
Menyatakan
1: masukan
bahwa
suatu
objek
mengirimkan data/masukan/informasi ke objek lainnya, arah panah mengarah pada objek yang dikirimi
pesan tipe return
Menyatakan bahwa suatu objek yang telah
1: keluaran
menjalankan suatu operasi atau metode menghasilkan suatu kembalian ke objek tertentu, arah panah mengarahkan pada objek yang menerima kembalian
pesan tipe destroy
Object
Menyatakan suatu objek mengakhiri hidup objek yang lain, arah panah mengarah pada
<<destroy>>
objek yang diakhiri, sebaiknya jika ada create maka ada destroy
2.4.6 Class Diagram
(Rosa & Shalahuddin, 2013, p. 141) 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. 1. Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas. 2. Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas. Kelas-kelas yang ada pada struktur sistem harus dapat melakukan fungsi-fungsi sesuai dengan kebutuhan sistem. Susunan struktur kelas yang baik pada diagram kelas sebaiknya memiliki jenis-jenis kelas berikut: 1. Kelas main, kelas yang memiliki fungsi awal dieksekusi ketika sistem dijalankan. 2. Kelas yang menangani tampilan sistem, kelas yang mendefinisikan dan mengatur tampilan ke pemakai.
21
3. Kelas yang diambil dari pendefinisian use case, kelas yang menangani fungsifungsi yang harus ada diambil dari pendefinisian use case. 4. Kelas yang diambil dari pendefinisian data, kelas yang digunakan untuk memegang atau membungkus data menjadi sebuah kesatuan yang diambil maupun akan disimpan ke basis data. Berikut adalah simbol-simbol yang ada pada diagram kelas:
Tabel 2.5 Simbol-simbol Diagram Kelas (Rosa & Shalahuddin, 2013, p. 146) Simbol
Deskripsi
Kelas
kelas pada struktur sistem
Antarmuka / Interface
sama
dengan
konsep
interface
dalam
pemrograman berorientasi objek
Asosiasi / Association
relasi antar kelas dengan makna umum, asosiasi biasanya juga disebut dengan multiplicity
Asosiasi
berarah
/
Directed relasi antar kelas dengan makna kelas yang satu
Association
digunakan oleh kelas yang lain, asosiasi biasanya juga disertai dengan multiplicity
Generalisasi
relasi antar kelas dengan makna generalisasispesialisasi (umum khusus)
Kebergantungan / Dependency
relasi antar kelas dengan makna kebergantungan antar kelas
Agregasi / Aggregation
relasi antar kelas dengan makna semua-bagian (whole-part)
2.5 Perancangan Berorientasi Objek
22
Perancangan berorientasi objek merupakan tahap lanjutan setelah analisa sistem yang merupakan proses spesifikasi yang terperinci atau pendefinisian dari kebutuhan-kebutuhan
fungsional
dan
persiapan
untuk
rancang
bangun
implementasi yang menggambarkan bagaimana suatu sistem dibentuk. Pada sebuah model berbasis objek terdapat beberapa istilah yang sering digunakan, untuk lebih jelasnya penulis uraikan sebagai berikut: 1. Kelas, kumpulan atas definisi data dan fungsi dalam suatu unit untuk suatu tujuan tertentu. Sebuah class adalah dasar dari modularitas dan struktur OOP. 2. Objek, Membungkus data dan fungsi bersama menjadi suatu unit dalam sebuah program komputer, objek merupakan dasar dari modularitas dan struktur dalam sebuah program komputer berorientasi objek. 3. Abstraksi, Kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya, yaitu kemampuan untuk memfokus pada inti. 4. Polimorfisme,
Melalui
pengiriman
pesan.
Tidak
bergantung
kepada
pemanggilan subrutin, bahasa orientasi objek dapat mengirim pesan, metode tertentu yang berhubungan dengan sebuah pengiriman pesan tergantung kepada objek tertentu di mana pesan tersebut dikirim.
2.6 Basis Data Berorientasi Objek
Pemodelan basis data berorientasi objek yang saat ini semakin popular karena kemampuannya untuk menggambarkan relasi-relasi dan tipe-tipe data yang lebih kompleks, menggambarkan data serta pemrosesannya dengan notasi yang konsisten serta lebih sederhana. Model berorientasi objek dibangun berdasarkan objek, seperti model
E-R yang didasarkan pada entitas. Suatu objek
mengapsulkan/membungkus (encapsulating) data dan perilaku sehingga kita dapat menggunakan model berorientasi objek tidak hanya untuk pemodelan dan pengorganisasian data, melainkan juga untuk pemodelan dan pengorganisasian proses. Untuk memodelkan aplikasi dunia nyata dengan metodologi berorientasi objek, kita perlu memodelkan data maupun proses yang berjalan pada objek yang bersangkutan. Beberapa motivasi dan keuntungan dari penggunaan pemodelan berorientasi objek, yaitu: (Adi Nugroho,2011:115)
23
1. Kemampuan untuk menangani tipe-tipe data dan masalah-masalah yang lebih kompleks dan sulit. 2. Perbaikan komunikasi antara pengguna, analisis, perancang, dan pemrogram. 3. Peningkatan derajat konsistensi antara tahap analisis, perancangan, serta kegiatan pemrograman karena metodologi berorientasi objek menggunakan model yang sama untuk setiap tahap itu. 4. Ketangguhan dan ketegaran sistem (robustness). 5. Penggunaan ulang hasil-hasil analisis, perancangan, serta pemrograman (reusable component). 6. Peningkatan konsistensi antara model-model yang dikembangan selama analisis, perancangan, serta pemrograman berorientasi objek.
Pemrograman berorientasi objek (OOP) adalah suatu cara baru dalam berpikir serta berlogika untuk menghadapi masalah-masalah yang akan dicoba atasi dengan bantuan komputer. OOP, tidak seperti pendahulunya (pemrograman terstruktur), mencoba melihat permasalahan lewat pengamatan dunia nyata yang setiap objeknya adalah entitas tunggal yang memiliki kombinasi struktur data dan fungsi tertentu. (Adi Nugroho,2011:121).
2.7 PHP
PHP atau kependekan dari Hypertext Preprocessor adalah salah satu bahasa pemrograman open source yang sangat cocok atau dikhususkan untuk pengembangan web dan dapat ditanamkan pada sebuah script HTML [Ahmad dan Virgi:2011]. (mAster.com, 2012, p. 5) PHP merupakan singkatan dari PHP Hypertext Preprocessor
yang
digunakan
sebagai bahasa
script server-side
dalam
pengembahan web yang disisipkan pada dokumen HTML. Berbeda dengan HTML yang hanya bisa menampilkan konten statis, PHP bisa berinteraksi dengan database, file, dan folder, sehingga membuat PHP bisa menampilkan konten yang dinamis dari sebuah website.
24
Karena penggunaan PHP memungkinkan web dapat dibuat dinamis, 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 ditulis menggunakan bahasa C. PHP memiliki banyak kelebihan yang tidak dimiliki oleh bahasa script sejenisnya. PHP difokuskan pada pembuatan script server-side, yang bisa melakukan apa saja yang dapat dilakukan oleh CGI, seperti mengumpulkan data dari form, menghasilkan isi halaman web dinamis, dan kemampuan mengirim serta menerima cookies, bahkan lebih pada kemampuan CGI. PHP dapat digunakan pada semua sistem operasi, antara lain LINUX, UNIX (termasuk variannya HP-UX, Solaris, dan Open BSD), Microsoft Windows, Mac OS, RISC OS. PHP juga mendukung banyak Web Server, seperti Apache, Microsoft Internet Information Server (MIIS), Personal Web Server (PWS), Netcape and iPlanet Servers, Oreilly Website Pro Server, Audium, Xitami, OmniHTTPd, dan masih banyak lagi lainnya, bahkan PHP dapat bekerja sebagai suatu CGI Processor. PHP tidak terbatas pada hasil keluaran HTML (Hypertext Markup Language). PHP juga memiliki kemampuan untuk mengolah keluaran gambar, file PDF, dan movie flash. PHP juga menghasilkan text seperti XHTML dan file XML lainnya.
2.8 MySQL (Structured Query language)
MySQL merupakan suatu perangkat lunak database yang berbentuk database relasional atau dalam bahasa basis data sering disebut dengan Relationship Database Management System (RDBMS) yang menggunakan suatu bahasa permintaan yang bernama SQL. Istilah antara MySQL dan SQL mempunyai perbedaan arti, MySQL adalah sebuah program database sedangkan SQL adalah bahasa perintah (Query) dalam program MySQL. Selain MySQL ada beberapa program database server lain yang menggunakan standar query berupa
25
SQL antara lain yaitu Oracle, PostgreSQL, MySQL front, MsQL, SQL Server dan lai-lain. “SQL merupakan bahasa standar untuk relational database management system” Setiyo cahyono (2006:13). Pernyataan-pernyataan SQL digunakan untuk melakukan fungsi-fungsi seperti update data pada database atau pengambilan data dari database.
Gambar 2.4 MySQL
2.9 Dreamweaver CS 5.5
Pengertian macromedia dreamweaver adalah sebuah software HTML editor professional yang digunakan untuk mendesain secara visual dan mengelola situs web maupun halaman web. Bilamana kita menyukai untuk berurusan dengan kode-kode HTML secara manual atau lebih menyukai bekerja dengan lingkungan secara visual dalam melakukan editing, Dreamweaver membuatnya lebih mudah dengan menyediakan tools yang sangat berguna dalam peningkatan kemampuan dan peningkatan kemampuan dan pengalaman kita dalam mendesain web. Dreamweaver CS 5.5 dalam hal ini digunakan untuk web desain. Dreamweaver CS 5.5 mengikutsertakan banyak tools untuk kode-kode dalam halaman web beserta fasilitas-fasilitasnya, antara lain : Referensi HTML, CSS dan Javascript, Javascript debugger, dan editor kode (tampilan kode dan Code inspector) yang mengizinkan kita mengedit kode Javascript, XML, dan dokumen teks lain secara langsung dalam Dreamweaver.
26
Gambar 2.5 Dreamweaver 5.5
Teknologi
Dreamweaver
Roundtrip
HTML
mampu
mengimpor
dokumen HTML tanpa perlu memformat ulang kode tersebut dan kita dapat menggunakan Dreamweaver pula untuk membersihkan dan memformat ulang HTML bila kita menginginkannya. Selain itu Dreamweaver juga dilengkapi kemampuan manajemen situs, yang memudahkan kita mengelola keseluruhan elemen yang ada dalam situs. Kita juga dapat melakukan evaluasi situs dengan melakukan pengecekan broken link, kompatibilitas browser, maupun perkiraan waktu download halaman web. Evaluasi Macromedia DreamWeaver diantaranya sebagai berikut :
DreamWeaver 3 : merupakan versi lamanya yaitu web authoring terbaik pada tahun 2000
DreamWeaver 4 : merupakan software yang lebih baik lagi dan lebih canggih pada tahun 2002
Macromedia Dreamweaver MX : pertama kali di tampilkan pada tahun 2004, selain software untuk mendesain web, juga bisa untuk menyunting kode dan untuk membuat aplikasi web dengan menggunakan bahasa pemrograman
27
JSP, PHP, JSP atau Coldfusion. Dilengkapi dengan fasilitas yang cukup lengkap untuk manajemen situs.
2.10 Testing Perangkat Lunak
“Testing adalah sebuah proses yang dijelaskan sebagai siklus hidup dan merupakan bagian dari proses rekayasa perangkat lunak secara terintegrasi demi memastikan kulaitas dari perangkat lunak serta memenuhi kebutuhan teknis yang telah disepakati dari awal” Soetam Rizky (2011:237).
2.10.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 : 1. Anggota tim tester tidak harus dari seseorang 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.
Beberapa teknik testing yang tergolong dalam tipe ini antara lain : 1. Equivalence Partitioning Pada teknik ini, setiap inputan data dikelompokan ke dalam grup tertentu, yang kemudian dibandingkan outputnya. 2. Boundary Value Analysis Merupakan teknik yang sangat umun digunakan pada saat awal sebuah perangkat lunak selesai dikerjakan. Pada teknik ini, dilakukan inputan yang melebihi dari
28
batasan sebuah data, jika perangkat lunak berhasil mengatasi inputan yang salah, maka dapat dikatakan teknik ini telah selesai dilakukan.
3. Cause Effect Graph Dalam teknik ini, dilakukan proses testing yang menghubungkan sebab dari sebuah inputan dan akibatnya pada output yang dihasilkan. 4. Random Data Selection Teknik berusaha melakukan proses inputan data yang menggunakan nilai acak. Dari hasil inputan tersebut kemudian dibuat sebuah tabel yang menyatakan validitas dari output yang dihasilkan. 5. Feature Test Pada teknik ini dilakukan proses testing terhadap spesifikasi dari perangkat lunak yang telah selesai dikerjakan.
2.10.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” Soetam Rizky (2011:264). Prinsip dari keluaran tipe testing ini adalah : 1. Menjamin bahwa semua alur program yang indenpenden (dalam bentuk modul, form, prosedur, class dan lainnya) telah dites minimal satu kali. 2. Telah melakukan testing terhadap semua jenis percabangan dengan nilai true dan false. 3. Telah melakukan testing terhadap semua jenis perulangan dengan kondisi normal 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 : 1. Decision (branch) coverage
29
Testing ini terfokus pada hasil dari setiap skenario yang dijalankan terhadap bagian perangkat lunak yang mengandung percabangan (if..then..else). 2. 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. 3. 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. 4. 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. 5. 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.11 Pengertian Kepuasan Nasabah
Menurut Usi Usmara (2008 : 113) Kepuasan atau ketidakpuasan pelanggan
sebagi
respon
pelanggan
terhadap
evaluasi
ketidaksesuaian
(disconfirmation) yang di persepsikan antara harapan awal sebelum pembelian (atau norma kinerja lainnya) dan kinerja aktual produk yang di rasakan setelah pemakaiannya.
30
1. Kepuasan atau ketidakpuasan pelanggan adalah sebuah fungsi dari meningkatnya disconfirmation (ketidaksesuaian) atas perbedaan antara harapan yang lampau dengan kinerja obyek saat ini 2. Literatur tentang kepuasan atau ketidakpuasan pelanggan menunjukan bahwa harapan dan persepsi terhadap kinerja akan mempengaruhi kepuasan pelanggan secara langsung 3. Harapan dan tingkat kinerja aktual akan mempengaruhi kepuasan pelanggan dan akan menjadi masukan bagi pelanggan dalam mempersepsikan kualitas jasa. Agar organisasi mampu menciptakan kepuasan pelanggan, maka organisasi
harus
bertanggung
jawab
terhadap
komunikasi
performance
(penampilan), dan kepuasan pelanggan. Terdapat empat langkah yang dapat di lakukan oleh organisasi agar karyawan dapat menyadari tuntunan tersebut : 1. Mendefinisikan Pelanggan Pada tahap ini organisasi mendefinisikan pelanggan sebagai individu atau unit yang menerima output dari suatu proses sistem 2. Organisasi harus memahami tingkat harapan pelanggan mengenai kualitas. Bila pelanggan terpuasakan dengan pelayanan yang diterima dan pelayanan tersebut dapat memenuhi kebutuhan, keinginan dan harapan pelanggan maka kepuasan akan tercapai 3. Organisasi harus memahami strategi untuk menciptakan custamer service quality (kualitas layanan pelanggan). Strategi merupakan masalah yang penting karena srategi menentukan pelatihan, perilaku dan penyampaian jasa yang spesifik secara tepat. 4. Organisasi harus dapat mengukur dan menciptkan umpan balik mengenai kepuasan pelanggan. Pengukuran merupakan hal yang sangat penting didalam custamer service (layanan pelanggan) Kepuasan Pelanggan adalah tingkat perasaan seseorang setelah membandingkan kinerja (hasil) yang dia rasakan dibandingkan dengan harapannya.Kepuasan
atau
ketidakpuasan
pembeli
dengan
produk
akan
mempengaruhi tingkah laku berikutnya. Jika konsumen merasa puas, untuk selanjutnya ia akan memperlihatkan peluang pembeli yang lebih tinggi dalam
31
kesempatan berikutnya.Konsumen yang puas juga akan cenderung mengatakan sesuatu yang serba baik tentang produk yang bersangkutan kepada orang lain.Munculnya manajemen rekapitulasi kepuasan nasabah berasal dari masalahmasalah yang diakibatkan oleh pelayanan perbankan, baik dari pelayanan fasilitas bank, sistem pelayanan transaksinya maupun prosedur perbankan. Maka dari itu untuk mengetahui tentang tingkat kepuasan nasabah selama bertransaksi di Bank BCA, nasabah di beri kuisioner oleh pihak customer service tujuan untuk meningkatkan kualitas layanan di Bank dan membantu memudahkan perusahaan dalam melakukan evaluasi terhadap tingkat kepuasan nasabah terhadap kegiatan operasional cabang. Menurut Sugiyono (2011:142) yaitu teknik pengumpulan data yang dilakukan dengan cara memberikan seperangkat pertanyaan atau pertanyaan tertulis kepada responden untuk di jawabnya. Kuisioner merupakan teknik pengumpulan data yang efisien bila peneliti tahu dengan pasti variabel yang akan diukur dan tahu apa yang diharapkan dari responden.
2.12 Populasi Dan Sampel
Menurut (Yanti Budiasih 2012) populasi adalah kumpulan dari seluruh elemen (unit atau individu) sejenis yang dapat di bedakan yang menjadi obyek penelitian . Sedangkan Sampel adalah Bagian dari populasi (sebagian atau wakil populasi yang di teliti). Sampel penelitian adalah sebagian dari populasi yang diambil sebagai sumber data dan dapat mewakili seluruh populasi. Menurut Husaini Usman dan R Purnomo Setiady Akbar [2008:181] populasi adalah semua nilai baik hasil perhitungan maupun pengukuran baik kuantitatif dan kualitatif, daripada karakteristik tertentu mengenai sekelompok objek yang lengkap dan jelas. Sedangkan sampel adalah penelitian yang menggunakan seluruh aanggota populasinya. Menurut Danang Sunyoto (2013:10) populasi didefinisikan sebagai keseluruhan dari obyek yang akan di teliti. Sedangkan Sampel adalah sebagai bagian dari populasi.
32
Sampel digunakan untuk mewakili populasi yang diteliti. Dalam penelitian ini di gunakan teknik pengambilan sampel random sampling, yaitu pengambilan sampel secara acak yang merupakan bagian dari populasi yang dapat mewakili semua populasi. Teknik ini dapat di katakana simple (sederhana) karena pengambilan
sampel
anggota
populasi
di
lakukan
secar
acak
tanpa
mempertimbankan strata yang ada di dalam populasi tersebut. Bank BCA KCU Wahid Hasyim memiliki jumlah nasabah 3580, dapat dijabarkan dalam rumus Slovin (1960) yang di kutip Danang Sunyoto (2013:25) sebagai berikut :
Keterangan : n = Banyak Sampel N = Banyak Populasi e = Persentase Kesalahn yang diinginkan atau ditolerir
Jadi perhitungan berdasarkan rumus adalah
33
Dengan menggunakan rumus di atas, dari populasi sebanyak 3580 nasabah, dengan tingkat kesalahan 10% maka di peroleh jumlah sampel yang di teliti sebanyak 98 orang responden yang di terdiri dari berbagai status sosial.