BAB II LANDASAN TEORI 2.1 Konsep Dasar Sistem Informasi Suatu sistem dapat diartikan sebagai suatu kumpulan atau himpunan dari unsur, komponen atau variabel yang terorganisir, saling berinteraksi, saling tergantung satu sama lain dan terpadu (Sutabri, 2012:3). .Informasi adalah data yang telah diolah menjadi sebuah bentuk yang berarti bagi penerimanya dan bermanfaat dalam pengambilan keputusan saat ini atau mendatang. Konsep dari sistem informasi berdasarkan masukkan (input), proses (process) dan keluaran (output). Di dalam Sistem Informasi terdapat komponen-komponen yaitu : 1. Perangakt Keras, yaitu komponen untuk melengkapi kegiatan memasukkan data, memproses data, dan keluaran data. 2. Perangkat lunak, yaitu program dan intruksi yang diberikan ke computer 3. Database, yaitu kumpulan data dan informasi yang diorganisasikan sedemikian rupa sehingga mudah diakses pengguna sistem informasi. 4. Manusia, yaiut personel dari sistem informasi.
2.2 Perancangan Basis Data Perancangan basis data merupakan tahap merancang spesifikasi basis data yang akan diterapkan oleh sistem. Aktifitas perancangan basis data akan mentrasformasikan spesifikasi kebutuhan untuk tempat penyimpanan data yang akan dikembangkan selama analisis basis data ke dalam spesifikasi terstuktur untuk memandu implementasi langsung basis data. Ada 3 tahapan atau bentuk spesifikasi perancangan basis data, yakni : 1.
Perancangan basis data konseptual Merupakan upaya untuk membuat model yang masih bersifat konsep. Perancangan basis data secara konseptual terdiri dari tiga langkah, yaitu: a. Penentuan entitas pada basis data b. Pendefinisian hubungan antar entitas 6
7
c. Penerjemahan hubungan ke dalam entitas 2. Perancangan basis data secara logika Sasaran perancangan basis data secara logika untuk menterjemahkan perancangan konseptual (yang mencerminkan kebutuhan data pada organisasi yang kita analisis di tahap-tahap sebelumnya) ke perancangan basis data logika yang dapat langung di implementasikan pada sistem basis data yag dipilih. 3. Perancangan basis data secara fisik Merupakan tahapan untuk menuangkan basis data yang bersifat logis menjadi basis data fisik yang tersimpan pada media penyimpanan eksternal.Sasaran utama perancangan basis data secara fisik adalah meningkatkan efisiensi dalam pemrosesan basis data. Perancangan basis data secara fisik membutuhkan beberapa pilihan kritis yang akan berimbas pada integritas dan kinerja dari aplikasi termasuk diantaranya pemilihan DBMS yang spesifik. Kunci-kunci untuk melakukan pilihan-pilihan mencangkup : a. Pemilihan format penyimpanan (dinamakan tipe data) untuk tiap atribut dari model data logika. Format dipilih untuk meminimalisasi dan mengoptimalkan penggunaan ruang fisik dan untuk memaksimalkan integritas data. b. Pengelompokan atribut-atribut dari model data logika ke-rekaman fisik. c. Perancangan rekaman-rekaman pada memori sekunder (terutama hardisk) sehingga rekaman-rekaman secara individual maupun kelompok rekaman (kita namakan pengorganisasian berkas) dapat disimpan, dipanggil kembali serta diperbaharui dengan cepat. d. Memilih struktur (dinamakan indeks dan arsitektur basis data) untuk menyimpan
dan
menghubungkan
berkas-berkas
(file)
sehingga
pemanggilan data berlangsung dengan cara yang efisien. e. Menyiapkan strategi-strategi untuk menangani query pada basis data dengan tujuan mengoptimalisasikan kinerja basis data dalam menangani query.
8
2.3 Konsep Dasar Pengukuran Tingkat Kepuasan Pelanggan 2.3.1
Pengelolaan Kepuasan Konsumen atau CRM (Customer Relationship Management) Sistem CRM merupakan sistem yang didesain untuk pendukung
pengambilan keputusan yaitu suatu system yang membantu seorang manajer atau sekelompok kecil manajer memcahkan suatu masalah (Raymond McLeod, 2008:14) Sistem CRM mengkombinasikan kebijakan, proses dan strategi yang diterapkan organisasi menjadi satu kesatuan yang digunakan untuk melakukan interaksi dengan pelanggan dan juga untuk menulusuri informasi pelanggan. Pengukuran Nilai Tingkat Kepuasan Pelanggan
2.3.2
Pengukuruan tingkat kepuasan pelanggan bertujuan untuk mengetahui atribut apa saja dari suatu produk yang bisa membuat pelanggan merasa tidak puas (Prof. J. Supranto, M,A.,APU, 2011:2). Tabel 2.1 Tabel Nilai Tingkat Kepuasan Pelanggan Sangat Tidak
Tidak Puas
Netral
Puas
Sangat Puas
(STP)
(TP)
(N)
(P)
(SP)
(1)
(2)
(3)
(4)
(5)
Puas
Pengukuran tingkat kepuasan erat hubungannya dengan mutu produk (barang atau jasa). Pengukuran aspek mutu bermanfaat bagi pimpinan bisnis yaitu: 1. Mengetahui dengan baik bagaimana jalannya atau bekerjanya proses bisnis. 2. Mengetahui di mana harus melakukan perubahan dalam upaya melakukan perbaikan secara terus-menerus untuk memuaskan pelanggan, terutama untuk hal-hal yang dianggap penting oleh para pelanggan. 3. Menentukan apakah perubahan yang dilakukan mengarah ke perbaikan.
9
Berbagai teknik pengukuran dapat memberikan indeks mutu mengenai proses bisnis, proses pengadaan produk berupa barang atau jasa. Ukuran mutu sering terfokus pada objektif atau indeks keras yang salah satunya dengan membuat sebuah quisoner untuk mengukur tingkat kepuasan pelanggan yang termasuk kedalam metode penelitian secara kuantitatif.
2.4 Analisa Perancangan Perangkat Lunak 2.4.1
Metode Waterfall Menurut Rosa, Salahudin (2011:6) metode waterfall adalah “salah satu
model SDLC (software development life cycle) air terjun yang menyediakan pendekatan alur hidup perangkat lunak secara sekuensial atau terurut”. Proses tradisional untuk melakukan pengembangan sistem informasi dinamakan siklus hidup pengembangan sistem (Systems Development Life Cycle/SDLC) yang memuat langkah-langkah yang semestinya diikuti oleh profesional di bidang sistem informasi, seperti perancang basisdata dan pemrogram, untuk menspesifikasikan, mengembangkan serta memelihara sistem informasi. Proses ini sering digambarkan secara bertingkat. Metafora bertingkat atau air terjun (waterfall) digunakan untuk menggambarkan bahwa keluaran dari suatu tahap merupakan masukan untuk tahap berikutnya. Customer
Sistem
CS
Menu Pengambilan Hadiah
Menampilkan data customer
Validasi expired pengambilan
No
Yes Input data pengambilan hadiah
edit
simpan
Menerima Hadiah
Gambar 2.1 Siklus Hidup Pengembangan Sistem (SDLC)
10
1.
Identifikasi proyek dan seleksi Tujuannya yaitu pemahaman awal situasi bisnis.
2.
Inisiasi proyek dan perencanaan Tujuannya untuk menentukan spesifikasi kebutuhan dan bagaimana sistem dapat membantu menyelesaikan permasalahan.
3.
Analisis Tujuannya untuk menganalisis situasi bisnis untuk menspesifikasikan dan menstrukturkan kebutuhan pengguna dan meyeleksi fitur.
4.
Perancangan Logika Tujuannya untuk mendapatkan dan menstrukturkan kebutuhan sistem secara keseluruhan.
5.
Perancangan Fisik Tujuannya yaitu mengembangkan spesifikasi teknologi.
6.
Implementasi Tujuannya untuk menulis program, membuat basisdata, menginstal dan menguji sistem.
7.
Pemeliharaan Tujuannya yaitu memantau kegunaan atau fungsi sistem.
2.5 Unified Modeling Language (UML) Unifield Modeling Language (UML) adalah bahasa bahasa pemodelan standar, yang berarti UML memiliki sintaks dan simantik (Prabowo Pudjo Widodo Herlawati, Menggunakan UML 2011, p. 6). UML merupakan kesatuan dari bahasa pemodelan yang dikembangkan oleh Booch, Object Modelling Technique (OMT) dan Object Oriented Software Engineering (OOSE). Metode Booch dari Grady Booch sangat terkenal dengan nama metode Design Object Oriented. Metode ini menjadikan proses analisis dan design ke dalam empat tahapan iteratif, yaitu: identifikasi kelas-kelas dan objekobjek, identifikasi semantik dari hubungan objek dan kelas tersebut, perincian interface dan implementasi. Keunggulan metode Booch adalah pada detil dan kaya akan notasi dan elemen. Pemodelan OMT yang dikembangkan oleh Rumbaugh didasarkan pada analisis terstruktur dan pemodelan
entity-
11
relationship.Tahapan utama dalam metodologi ini adalah analisis, desain sistem, desain objek dan implementasi.Keunggulan metode ini adalah dalam penotasian yang mendukung semua konsep OO.Metode OOSE dari Jacobson lebih memberi penekanan pada usecase. OOSE memiliki 3 tahapan yaitu membuat model requirement dan analisis, desain dan implementasi, serta model pengujian (test model). Keunggulan metode ini adalah mudah dipelajari karena memiliki notasi yang sederhana namun mencakup seluruh tahapan dalam rekayasa perangkat lunak. UML bukan hanya sekedar diagram, tetapi juga menceritakan konteksnya. Ketika pelanggan memesan sesuatu dari system, bagaiman transaksinya? Bagaimana sistem mengatasi error yang terjadi? Bagaiamana kemanan terhadap sistem yang kita buat? Dan sebagainya dapat dijawab dengan UML. UML diaplikasikan untuk maksud tertentu, biasanya antara lain untuk : 1. Merancang perangkat lunak. 2. Sarana komunikasi antara perangkat lunak dengan proses bisnis. 3. Menjabarkan sistem secara rinci untuk analisa dan mencari apa yang diperlukan sistem. 4. Mendokumentasi Sistem yang ada, proses-proses dan organisasinya. 2.5.1
Diagram UML Blok pembangun utama UML adalah diagram. Beberapa diagram ada yang
rinici dan lainnya ada yang bersifat umum. UML terdiri dari banyak diagram, diantaranya : 1. Use Case Diagram Menurut Prabowo Pudjo Widodo Herlawati (2011: 16) definisi use case diagram adalah Use Case menggambarkan external view dari sistem yang akan kita buat modelnya. Use Case diagram Model use case dapat dijabarkan dalam diagram use case, tetapi yang perlu diingat, diagram tidak identik dengan model karena model lebih luas dari diagram. Komponen pembentuk diagram use case adalah : 1. Aktor, Menggambarkan pihak-pihak yang berperan dalam sistem. 2. Use Case, aktivitas / sarana yang disiapkan oleh bisnis/sistem.
12
3. Hubungan, actor mana saja yang terlibat dalam use case.
Sistem Use case Aktor
Aktor Gambar 2.2 Contoh Use Case Diagram Tabel 2.2 Tabel Simbol Use Case Diagram Simbol
Keterangan
Aktor : Seseorang atau sesuatu yang dengan
system
yang
sedang
dikembngkan.
Use Case : Peringkat tertinggi dari fungsionalitas yang dimiliki system.
Association : adalah relasi antara actor dan use case. Generalisasi : untuk memperlihatkan struktur pewaris yang terjadi.
13
2. Activity Diagram Activity diagram lebih memfokuskan diri pada eksekusi dan alur sistem dari pada bagiamana sistem itu dirakit. Diagram ini tidak hanya memodelkan software melainkan memodelkan model bisinis juga. Activity Diagram menunjukkan aktivitas sistem dalam bentuk kumpulan aksi-aksi. KEtika digunakan dalam pemodelan software diagram aktivitas merepresentasikan pemanggilan suatu fungsi tertentu. Sedangkan bila digunakan dalam pemodelan bisnis, diagram ini menggambarkan aktiviats dipicu oeh kejadian-kejadian di luar seperti pemesanan atau kejadian-kejadian internal misalnya proses penggajian tiap jumat sore.
Data Verifier
Customer
Manager
Memilih data pelanggan
Verifikasi Data Pelanggan
No Ya
Isi Quisoner
Input data quisoner
Report quisoner
Gambar 2.3 Contoh Activity Diagram
14
Tabel 2.3. Tabel Simbol Activity Diagram
Simbol
Keterangan Titik Awal
Titik Akhir
Activity
Pilihan
untuk
pengambilan
keputusan Fork : Untuk menunjukkan kegiatan yang dilakukan secara paralel Rake
:
menunjukkan
adanya
dekomposisi Tanda Waktu
Tanda Penerimaan Aliran Akhir (Flow Final)
3. Sequence Diagram Menurut Prabowo Pudjo Widodo Herlawati (2011:173) Diagram sequence menggambarkan perilaku kolektif atau interaksi di fokuskan pada rangkaian pertukaran message (kejadian, operasi, dan sejenisnya) di anatar objek-objek.
15
Tujuan Diagram Sequence dibangun adalah untuk mengijinkan user tidak hanya menggambarkan hubungan struktural melainkan juga proses dan aliran kejadian.. Sequence diagram menggambarkan kolaborasi dinamis antara sejumlah objek dan untuk menunjukkan rangkaian pesan yang dikirim antar objek, sesuatu yang terjadi pada titik tertentu dalam eksekusi sistem. Sequence diagram menjelaskan interaksi objek yang disusun berdasarkan urutan waktu. Secara mudahnya sequence diagram adalah gambaran tahap demi tahap yang seharusnya dilakukan untuk menghasilkan sesuatu sesuai dengan use case diagram. Sequence diagram berhubungan erat dengan use case diagram dimana 1 use caseakan menjadi 1 sequence diagram. Tabel 2.4 Simbol Sequence Diagram Simbol
Nama Simbol
Keterangan
Object Life Line
Partisipan Form.
Activation
Merupakan sebuah focus dari control pada
Object1
suatu waktu.
Message
Pesan yang menggambarkan komunikasi yang terjadi antar objek.
Message (Call)
Pesan yang menggambarkan pemanggilan yang terjadi antar objek.
Message (return)
Pesan yang dikirim untuk diri sendir.
16
Message (return)
Pesan yang dikirim untuk diri sendir.
Lifetime
Menambahkan pemulaan dan menghentikan titik dari suatu object.
Gambar 2.4 Contoh Sequence Diagram 4. Class Diagram Menurut Prabowo Pudjo Herlawati (2011:37) Class Diagram adalah inti dari proses pemodelan objek. Class diagram dibangun berdasarkan use case diagram, sequence diagram atau collaboration diagram yang telah dibuat sebelumnya.Kemampuan menghasilkan kode program yang dimiliki diagram kelas menyebabkan diagram ini memiliki hubungan yang khas dengan diagram UML lainnya. Class diagram merupakan kumpulan kelas-kelas objek. Class adalah satu set objek yang memiliki atribut dan perilaku yang sama, Class terkadang disebut juga object class. Secara alami, objek yang berupa buku analisi desain dan buku
17
pemograman terstruktur kita kelompokan dalam satu class, yaitu kelas buku. Kedua objek memiliki atribut dan perilaku yang serupa. Contohnya kedua objek memiliki perilaku yang sama misalnya membuka dan menutup. Suatu objek merupakan isi (instance) dari clas. Misalnya, kita mempunyai class yang memiliki anggota mobil dan diberi nama class mobil. Isi dari kelas itu misalnya toyota, BMW, mrcedes dan sebagainya. Dalam menyatakan instance suatu kelas kita menulis instance tersebut dan disertai dengan nama kelasnya. Tabel 2.5 Simbol Class Diagram Simbol
Class1
Nama Simbol
Keterangan
Class
Menggambarkan
sesuatu
yang
mengkapsulkan informasi di class menampung nama class, atribut dan method. Asosiasi 1
dengan class Multiplycity.
0..1
Agregation 1
Asosiasi yang menghubungkan class
Aggregation menggambarkan suatu class terdiri dari class lain atau suatu
*
class adalah bagian dari class lain. Generalization
Generalization merupakan sebuah taxonomic relationship antara class yang lebih umum dengan class yang lebih khusus.
18
Pembaca Kartu
Layar ATM
+terima kartu() +keluar kartu() +baca kartu()
+isian() +terima masukan() *
Account -Nomor account -Pin -Saldo +buka() +tarik dana() +potong dana() +verifikasi dana()
Dispenser Tunai *
-Saldo tunai +sediakan tunai() +sediakan tanda bukti()
Gambar 2.5 Class Diagram
2.6
PHP
2.6.1
Pengertian PHP PHP atau yang memiliki kepanjangan PHP Hypertext Preprocessor
merupakan suatu bahasabahasa scripting yang terpasang pada html, (Madcoms, 2013 p. 309). PHP digunakan untuk membuat tampilan web menjadi lebih dinamis, dengan PHP dapat menampilkan atau mejalankan bebrapa file dalam 1 file dengan cara di include ata require. PHP berjalan pada sisi server sehingga PHP disebut juga sebagai bahasa ServerSide Scripting.Artinya bahwa dalam setiap/untuk menjalankan PHP, wajib adanya web server. Cara kerja php adalah client web browser atau pengguna memakai computer kemudian pengguna tersebut mejalankan file PHP itu di web browser, kemudian file PHP itu dikirm ke web server. Web server mengirimkannya lagi ke Engine PHP atau mesin PHP maka akan berbentuk file HTML, dan file HTML ini akan dikirmkan ke web server dan web server akan memberikan ke pengguna.
19
2.6.2 Tipe Data PHP PHP mengenal beberapa macam tipe data.Tipe data ini sangat berperan penting pada saat pengolahan data yang tersimpan dalam sebuah variabel. Tabel 2.6 tipe data PHP Tipe data
Keterangan
Contoh
Integer
Dipergunakan untuk menyimpan data
$nomor = 1;
numerik berupa bilangan bulat
Floatin point
Dipergunakan untuk menyimpan tipe data numerik yang mengandung nilai
$jumlah = 100; $persen=0.05; $bunga=0.1;
desimal atau pecahan String
Dipergunakan untuk menyimpan tipe data teks dan biasanya tidak
$nama= Agus; $nope = 0817xx;
dipergunakan untuk operasi aritmatika Array
Dipergunakan untuk menyimpan data dengan nama variabel yang sama tetapi
$anak[0]=”sifa”; $anak[1]=”lana”;
memiliki ruang yang lebih dari satu dengan diidentifikasi sebagai indeks Object
Tipe data objek lahir karena PHP mendukung pemrograman berorientasi
$anak[2]=”juki”;
$ayah->nama=”amin”; $ayah->umur=”27”;
objek Juggling/variant
Tipe data ini dibentuk ketika membuat sebuah variabel tanpa didefinisikan tipe
$bilangan=0;
20
datanya
$bilangan=”bulat”;
PHP sendiri memiliki beberapa keuntungan dibandingkan dengan bahasa pemograman lainnya diantaranya : 1. Cepat. 2. Gratis karena berbasis Open Source. 3. Mudah Dipelajari karena memiliki banyak referensi. 4. Multi - Platform. 5. Banyak komuntias PHP. Di dalam PHP sendiri ada beberapa hal yang perlu kita ketahui dalam pembuatan script dengan menggunakan bahasa pemograman PHP : 1. Penulisan script php harus diantara tag . 2. Setiap satu statement atau perintah biasanya diakhiri dengan titik koma (;). 3. Case Sensitive untuk nama identifier yang dibuat oleh user. 2.7 MySQL Pada bagian ini dijelaskan tentang pengertian, dan keunggulan MySQL. 2.7.1
Pengertian MySQL Menurut Madcoms (2013:339)MySQL adalah salah satu jenis database
server yang sangat terkenal dan banyak digunakan pada banyak website di internet sebagai bank data. MySQL menggunakan SQL dan bersifat gratis, selain itu MYSQL dapat berjalan di berbagai platform, anatar lain Linux, Windows dan sebagainnya. MySQL dapat dikatakan lebih unggul dibanding databaseserver lainnya dalam query data. Hal ini terbukti untuk query yang dilakukan oleh pengguna single, kecepatan query MySQL lebih cepat sepuluh kali dibanding PostgreSQL dan lima kali lebih cepat dibanding Interbase. Tidak seperti Apache yang merupakan software yang dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber yang dimiliki oleh penulisnya masing – masing, MYSQL dimiliki dan disponsori oleh perusahaan komersial Swedia yaitu MYSQL AB.
21
2.8 Macromedia Dreamwaver CS6 Menurut Madcoms (2013:01) Macromedia Dreamweaver CS6 adalah perangkat lunak terkemuka untuk desain web yang menyediakan kemampuan visual yang intuitif pada tingkat kode, yang dapat digunakan unutk membuat dan mengedit website HTML serta aplikasi mobile seperti smartphone, tablet dan perangkat lainnya. Dengan adanya fitur layout Fluid Grid yang dirancang khusu untuk memungkinkan lintas platform, maka akan membuat layout menjadi adaptif atau dapat menyesuaikan dengan browser yang dipakai. Hasil sementara desain juga dapat dilihat dengan fasilitas Multiscreen Preview yang telah menagalami banyak perubahan dan peningkatan fungsionalitasnya. 2.9 Metode Pengujian Pengujian perangkat lunak adalah proses menjalankan dan mengevaluasi sebuah perangkat lunak secara manual maupun otomatis untuk mencari kesalahan dan menguji apakah perangkat lunak sudah memenuhi kualitas persyaratan atau belum dan juga untuk menentukan perbedaan antara hasil yang diharapkan dengan hasil yang sebenarnya. 2.9.1
Metode White Box Uji coba white Box Adalah metode perancangan test case yang
menggunakan struktur kontrol dari perancangan procedural untuk mendapatkan test case (Soetam Rizky,2011: 261). Dengan menggunakan metode white box, akan dapat diperoleh test caseyang : 1. Menjamin seluruh independent path di dalam modul yang dikerjakan sekurangkurangnya sekali. 2. Mengerjakan seluruh keputusan logical. 3. Mengerjakan seluruh loop yang sesuai dengan batasannya. 4. Mengerjakan seluruh struktur data internal yang menjamin validasi. Metode white box
atau
yang
disebut
juga
dengan
glass
box
testing merupakan metode perancangan test case yang menggunakan struktur kontrol dari perancangan prosedural untuk mendapatkan test case. Dengan menggunakan metode white box , akan dapat diperoleh test case yang :
22
1. Menjamin seluruh jalaur independen (independent path) di dalam modul yang dikerjakan sekurang-kurangnya sekali. 2. Mengerjakan seluruh keputusan logical. 3. Mengerjakan seluruh loop yang sesuai dengan batasannya. 4. Mengerjakan seluruh struktur data internal yang menjamin validasi. 2.9.2
Metode Black Box Sistem merupakan “kotak hitam” yang perilakunya hanya dapat ditentukan
dengan mempelajari input dan output yang berkaitan. Nama lain untuk cara ini adalah pengujian fungsional karena penguji hanya berkepentingan dengan fungsionalitas dan bukan implementasi perangkat lunak. Pengujian fungsional atau pengujian kotak hitam (black box testing) merupakan pendekatan pengujian yang ujiannya diturunkan dari spesifikasi program atau komponen. Sistem merupakan “kotak hitam” yang perilakunya hanya dapat ditentukan dengan mempelajari input dan output yang berkaitan. Nama lain untuk cara ini adalah pengujian fungsional karena penguji hanya berkepentingan dengan fungsionalitas dan bukan implementasi perangkat lunak. Kunci pada pengujian cacat adalah memilih input yang memiliki probabilitas besar sebagai anggota himpunan Ie. Pada banyak kasus, pemilihan ini berdasar pengalaman rekayasawan uji sebelumnya.Mereka memakai pengetahuan domain untuk mengindentifikasi kasus uji yang mungkin mengungkap cacat. Dengan black box analisis sistem akan memperoleh kumpulan kondisi dari input yang akan mengerjakan seluruh keperluan fungsional program. Tujuan metode ini untuk mencari kesalahan-kesalahan pada: 1. Fungsi yang salah atau hilang 2. Kesalahan pada interface 3. Kesalahan pada struktur data atau akses database 4. Kesalahan performasi 5. Kesalahan inisiasi