BAB II
LANDASAN TEORI
2.1. Tinjauan Pustaka
Untuk referensi atau tinjauan pustaka pada penelitian ini, berdasarkan uraian latar belakang sebelumnya, maka berikut ini merupakan tinjauan pustaka dalam penelitian ini :
1. Oleh Hendra, Antonius dan Kartono (2017) dari STMIK Widya Dharma Pontianak dengan “Perancangan Katalog Elektronik Berbasis Web Untuk Penjualan dan Promosi Study Kasus PD Bukit Jaya” Permasalahan yang ada Sistem penjualan yang digunakan PD Bukit Jaya saat ini masih menggunakan fasilitas media social facebook dan Instagram. Dengan menggunakan fasilitas seperti ini sebagai sarana penjualan maka lingkup penjualan dan promosi pun masih kecil karena hanya orang-orang yang bergabung dalam akun facebook, instagram dan teman-teman yang tau saja. Oleh karena itu, PD Bukit Jaya membutuhkan sebuah website e-commerce yang dapat memperluas lingkup penjualan dan juga mempermuda PD Bukit Jaya dalam mengelola penjualan produk. Tujuan dilakukan penelitian ini adalah untuk menganalisa sistem yang sedang berjalan, merancang sistem informasi penjualan sepatu roda, aksesoris dan seperpat berbasis e-commerce dan mengimplementasikan sistem informasi tersebut pada PD Bukit Jaya. Perancangan sistem informasi ini menggunakan bahasa pemrograman HTML, database MySQL dan CSS. Perbedaan pada penelitian ini dengan penelitian yang penulis usulkan yaitu penelitian ini
menggunakan CSS untuk pengembangan aplikasi web sedangkan penulis menggunakan Framework Codeigniter dan pemodelan menggunakan UML (Unified Modelling Language).
2. Oleh Depi Linda (2016) dari Fakultas Ilmu Komputer Informatics & Business Institute Darmajaya dengan “Merancang e-katalog Berbasis Website Sebagai Media Informasi pada Badan Perpustakaan Arsip dan Dokumentasi Daerah (BPAD) Lampung” Permasalahan yang ada pada penelitian ini yaitu pada Badan Perpustakaan Arsip dan Dokumentasi Daerah (BPAD) Lampung yang masih melakukan pembukuan tulis tangan di atas kertas, sehingga Solusi dari permasalahan dengan melakukan aktivitas pembukuan yang dilakukan secara komputerisasi dan media penyimpanan pembukuan menggunakan basis data.
Dalam pengembangannya untuk optimalisasi pembukuan menjadi secara komputerisasi menggunakan Bahasa Pemograman PHP, MySQL sebagai penyimpanan pembukuan, prototyping untuk pengembangan sistem pada metodologi penelitian. Dengan perubahan aktivitas pembukuan secara komputerisasi menjadikan kinerja lebih cepat dan penghitungan menjadi akurat serta untuk laporan harian, bulanan, dan tahunan dapat diketahui tanpa kendala apapun. Perbedaan pada penelitian ini penulis menggunakan Framework Codeigniter dan Sistem pemodelan menggunakan UML (Unified Modelling Language).
3. Oleh Masrifah & Suhari, Y (2014) melakukan penelitian untuk “Rancang bangun Aplikasi E-commerce Menggunakan Framework Codeigniter”. Pada penelitian ini menghasilkan sebuah aplikasi e-commerce yang diimplemnetasikan dengan
tujuan untuk mengoptimalkan penjualan dan menekan biasa promosi.
Permasalahan yang ada pada penelitian ini yaitu proses memasukkan data pegawai, guru dan data siswa, proses memasukkan data jadwal mata pelajaran, proses memasukkan nilai ujian serta rekapan raport siswa semua kegiatan akademik dilakukan secara manual dengan kertas, pulpen dan komputer yang ada hanya digunakan membuat laporan. Pada penelitian ini memberikan solusi dengan mengembangkan sebuah Sistem Informasi Akademik berbasis web yang dapat mempermudah pengolahan data akademik sekolah dan lebih maksimal dan praktis karena dapat di akses dari mana saja sekaligus menjaga data tetap aman yang sebelumnya semua dilakukan secara manual dan data mudah hilang. Sistem ini dirancang dengan CSS berbasis web menggunakan bahasa PHP dengan metodologi waterfall dan MySQL sebagai database. Perbedaan pada penelitian ini penulis menggunakan Sistem pemodelan menggunakan UML (Unified Modelling Language).
4. Oleh Ni Nyoman Utami Januhari (2015) STMIK STIKOM Bali melakukan riset tentang “Analisa Perancangan Sistem Informasi E-commerce Pemesanan Barang”. Pada penelitian ini membahas tentang dengan adanya persaingan dibidang jasa yang semakin ketat, diperlukan cara untuk memperluas pemesaran dan mempermudah pemesanan barang. Dengan memanfaatkan teknologi e- commerce pada pemesanan barang dapat memberikan layanan kepada pelanggan selama 24 jam agar dapat mempertahankan pelanggan yang ada dan menarik pelanggan baru. Hasil dari penelitian ini adalah Analisa yang telah dicapai berupa Analisa kebutuhan data dan Analisa kebutuhan proses serta konfigurasi
jaringan komputer. Sistem ini dirancang dengan pengembangan aplikasi web menggunakan UA (Unified Approach) dengan bahasa pemograman PHP dan MySQL sebagai database nya. Perbedaan pada penelitian ini penulis menggunakan Framework Codeigniter dengan menggunakan metode MVC (Model, View, Controller).
5. Oleh Indah Ayu Putri Pribadi, Nurma Nugraha (2017) dari Fakultas Teknologi Industri dan Pusat Studi Komputasi Matematika, Universitas Gunadarma, Jawa Barat dengan “Pembuatan Aplikasi Website Berbasis Pelanggan Pada Toko Online Swmproject8 Menggunakan Framework Codeigniter”. Permasalahan yang dialami oleh online shop SWMProject8 yaitu melakukan penjualan online secara manual melalui akun Instagram dan melalui aplikasi chatting (whatsapp dan line@). Dalam menggunakan kedua aplikasi tersebut sering terjadi complain dari customer karena lambatnya umpan balik (response) admin ketika customer ingin melakukan pembelian produk, terjadinya kendala dalam perhitungan total pembelian, pesanan yang terlupa direkap ataupun pesanan yang double rekap, maka dari itu dibuatlah aplikasi website berbasis pelanggan pada toko online SWMProject8 untuk memperbaiki pelayanan dari toko online SWMProject8.
Dalam melakukan kegiatan belanja secara langsung karena menghabiskan waktu dan tenaga, ataupun melalui aplikasi chatting seperti whatsapp dan line@ yang mana membuat customer harus antri dilayanin bergantian dengan customer lainnya. Dengan demikian aplikasi website ini akan mempermudah customer yang ingin melakukan pembelian dengan cepat tanpa perlu antri, serta dengan adanya aplikasi website ini akan meningkatkan nilai pelayanan kepada customer
saat melakukan pembelian. Perbedaan pada penelitian ini penulis menggunakan Framework Codeigniter dengan menggunakan metode MVC (Model, View, Controller).
2.2. Sistem
Sistem adalah jaringan kerja dari prosedur - prosedur yang saling berhubungan, berkumpul bersama – sama untuk melakukan suatu kegiatan atau menyelesaikan suatu sasaran tertentu. Sistem juga merupakan kumpulan elemen - elemen yang saling terkait dan bekerja sama untuk memproses masukan (input) yang ditujukan kepada sistem tersebut dan mengolah masukan tersebut sampai menghasilkan keluaran (output) yang diinginkan (Kristianto, 2008). Sistem memiliki arti suatu rangkaian komponen yang saling berhubungan untuk mencapai suatu tujuan (Kusuma & Wira, 2006). Sistem didefinisikan sebagai kumpulan dari komponen - komponen yang berhubungan yang berinteraksi untuk melakukan suatu tugas guna mencapai suatu tujuan (Williams, et al., 2007).
2.3. E- Katalog
e-katalog dapat didefinisikan sebagai sebuah tempat penyimpanan elektronik informasi tentang barang, produk, atau pun jasa. Sebagai bagian dari eProcurement, e-katalog memainkan peranan yang penting karena berisikan daftar item, spesifikasi dan harga yang menjadi rujukan dalam komparasi berbagai produk sejenis. Melalui e-katalog, pengguna jasa dapat memastikan bahwa penawaran yang disampaikan oleh vendor telah memenuhi atau tidak sesuai dengan standar yang ditetapkan.
Manajemen katalog memainkan peran penting dalam menciptakan siklus implementasi penuh dari Solusi E-Procurement. Katalog berarti "Sebuah pencacahan lengkap item disusun secara sistematis dengan rincian deskriptif".
ekatalog adalah dokumen elektronik yang membawa spesifikasi produk, daftar dan informasi secara detail. e-katalog dapat diakses kepada para pelanggan dan mitra melalui internet. Sebuah manajemen katalog sukses meningkatkan hubungan kerja antara pembeli dan pemasok juga secara otomatis menyediakan bagian untuk produk bersumber, pemasok dan proses pemesanan. Selain ini mereka menyediakan link ke review produk dan informasi industri. e-katalog mengatur informasi rinci mengenai produk dan layanan yang ditawarkan, mengklasifikasikan, mengkategorikan dan mendistribusikan informasi produk dengan benar. e-katalog tidak terbatas hanya menyediakan informasi rinci tetapi juga memberikan manfaat sebagai berikut :
1. Membantu pemasok dalam menciptakan, menganalisis dan memvalidasi konten katalog.
2. Mengarahkan dan dapat melakukan pemantauan dan pemeliharaan semua komunikasi antara semua pihak yang terlibat.
3. Melakukan validasi terhadap konten format data, logika bisnis dan struktur coding.
4. Pemantauan semua proses manajemen katalog.
5. Memperbarui daftar pada saat yang produk baru di pasar dengan membuatnya tersedia bagi pelanggan.
6. Memberikan perbandingan fitur produk, memeberikan masukan terkait produk dan produk dan layanan alternatif untuk pelanggan.
Manfaat menggunakan e-katalog adalah :
1. Penanganan katalog manual sangat melelahkan dan membosankan pilihan karena mengkonsumsi banyak ruangdan waktu dan juga terbukti menjadi mahal. Tapi katalog online memungkinkan data diperbarui dan diakses dengan cepat dan mudah.
2. Katalog online juga lebih mudah dicari dan membantu pemulihan instan.
3. katalog akan membantu pengguna untuk mengelompokkan barang/produk menjadi jauh lebih mudah sehingga membuatnya mudah diakses.
4. Memberikan peluang menerima order pembelian secara online yang akan mengakibatkan penghematan biaya.
5. Hal ini meningkatkan keakuratan order karena mengurangi waktu yang sebelumnyadigunakan untuk mengkonfirmasi tanda kutip dan harga atau singkatnya kita dapat mengatakan itu mengurangi waktu percakapan dengan menghadirkan detail produk dan spesifikasi panjang penuh.
6. Pembelian dibuat dengan memilih item dari katalog on-line.
7. Pemasok dapat menerima pesanan pembelian sebagai order elektronik di pasar.
8. Datanya lebih akurat sehingga mengurangi tingkat kesalahan ketidak sesuaian antara faktur dan pesanan pembelian.
9. Solusi manajemen katalog dapat meningkatkan efisiensi dalam proses pengadaanyang ada organisasi yang terdiri dari proses desain, manajemen perubahan dan komunikasi.
2.4. Promosi
Adapun definisi promosi menurut (William J. Stanton, 2008) adalah :
“Promosi is the element in an organization marketing mix that erves to inform, persuade, and remind the market of the organization or product.” (Promosi adalah unsur dari bauran pemasaran suatu organisasi yang bertujuan memberitahukan, membujuk dan mengingatkan pasar dari organisasi/produk).
2.5. Sistem Informasi
Sistem informasi adalah suatu buatan manusia yang secara umum terdiri atas sekumpulan komponen berbasis komputer dan manual yang dibuat untuk menghimpun, menyimpan, dan mengolah data serta menyediakan informasi keluaran kepada para pemakai.Sistem informasi terdiri dari komponen-komponen yang disebut dengan istilah blok bangunan (building block), yang terdiri dari blok masukan, blok model, blok keluaran, blok teknologi, blok basis data, dan blok kendali (Kadir A, 2003).
2.6. Web
Menurut Raharjo (2011), web adalah: “Software yang berfungsi untuk menampilkan dan melakukan interaksi dengan dokumen-dokumen yang tersimpan dalam suatu web server”. Web adalah: “Sekumpulan halaman yang terdiri dari beberapa halaman yang berisi informasi dalam bentuk data digital baik berupa text, gambar, video, audio, dan animasi lainnya yang disediakan melalui jalur koneksi internet”. (Abdulla, 2016).
Pada awalnya aplikasi web dibangun dengan hanya menggunakan bahasa yang disebut HTML (Hyper Text Markup Langauge). Pada perkembangan berikutnya, sejumlah skrip dan objek dikembangkan untuk memperluas kemampuan HTML seperti PHP dan ASP pada skrip dan Apllet pada objek.
Aplikasi Web dapat dibagi menjadi dua jenis yaitu aplikasi web statis dan dinamis.
Web statis dibentuk dengan menggunakan HTML. Kekurangan aplikasi seperti ini terletak pada keharusan untuk memelihara program secara terus menerus untuk mengikuti setiap perkembangan yang terjadi. Kelemahan ini diatasi oleh model aplikasi web dinamis. Pada aplikasi web dinamis, perubahan informasi dalam halaman web dilakukan tanpa perubahan program tetapi melalui perubahan data. Sebagai implementasi, aplikasi web dapat dikoneksikan ke basis data sehingga perubahan informasi dapat dilakukan oleh operator dan tidak menjadi tanggung jawab dari webmaster.
Arsitektur web meliputi klien, web server, middleware dan basis data.
Klien berinteraksi dengan web server. Secara internal, web server berkomunikasi dengan middleware yang berkomunikasi dengan basis data. Contoh middleware adalah PHP dan ASP. Pada mekanisme aplikasi web dinamis, terjadi tambahan proses yaitu server menerjemahkan kode PHP menjadi kode HTML. Kode PHP yang diterjemahkan oleh mesin PHP yang akan diterima oleh klien (Kadir, 2009).
2.7. MySQL
MySQL merupakan alat pengembangan aplikasi yang digunakan untuk menyimpan data. MySQL adalah sebuah program database server yang mampu menerima dan mengirimkan datanya dengan sangat cepat, multi user serta
menggunakan perintah standard SQL (Structured Query Language) (Nugroho, 2005).
MySQL merupakan software RDBMS (server database) yang dapat mengelola database dengan sangat cepat dapat menampung data dalam jumlah yang sangat besar, dapat diakses oleh banyak user (multi-user), dan dapat melakukan suatu proses secara sinkron atau berbarengan (multi-threatded) (Raharjo, 2011).
2.8. Framework
Framework adalah sekumpulan perintah atau program dasar dimana perintah dasar tersebut dapat digunakan lagi untuk menyelesaikan masalah yang lebih kompleks sehingga dapat digunakan untuk membantu membuat aplikasi baru atau aplikasi kompleks tanpa harus membuat program dari awal (Hidayatullah &
Kawistara, 2015). Framework adalah kumpulan intruksi-intruksi yang dikumpulkan dalam class dan function-function dengan fungsi masing-masing untuk memudahkan developer dalam memanggilnya tanpa harus menuliskan syntax program yang sama berulang-ulang serta dapat menghemat waktu (Sidik, 2012).
2.9. CodeIgniter
Menurut Sidik (2012) CodeIgniter adalah : “Sebuah framework PHP yang bersifat open source dan menggunakan metode MVC (Model, View, Controller) untuk memudahkan developer atau programmer dalam membangun sebuah aplikasi berbasis web tanpa harus membuatnya dari awal”
Codeigniter ini dibangun untuk para pengembang dengan bahasa pemrogram PHP yang membutuhkan alat untuk membuat web dengan fitur lengkap. Codeigniter dikembangkan oleh Rick Ellis, CEO Ellislab, Inc. kelebihan dari codeigniter jika dibandingkan dengan framework lain adalah sebagai berikut:
Gratis (Open-Source)
Kerangka kerja Codeigniter memiliki lisensi dibawah Apache/BSD open- surce sehingga bersifat bebas atau gratis.
Berukuran Kecil.
Ukuran yang kecil merupakan keunggulan tersendiri jika dibandingkan framework lain yang berukuran besar dan membutuhkan resource yang besar dan juga dalam eksekusi maupun penyimpananya.
Menggunakan Konsep MVC (Model View Controller).
Codeigniter merupakan konsep MVC yang memungkinkan pemisahan antara layer application-logic dan presentation. Dengan konsep ini kode PHP, query MySQL, Javascript dan CSS dapat saling dipisah-pisahkan sehingga ukuran file menjadi lebih kecil dan lebih mudah dalam perbaikan kedepannya atau maintenance.
Model kode merupakan program (berupa OOP class) yang digunakan untuk berhubungan dengan database MySQL sekaligus untuk memanipulasinya (input-edit-delete).
View Merupakan kode program berupa template atau PHP untuk menampilkan data pada browser.
Controller merupakan kode program (berupa OOP class) yang digunakan untuk mengontrol aliran atau dengan kata lain sebagai
pengontrol model dan view.
Adapun alur dari program aplikasi berbasis codeigniter yang menggunakan konsep MVC ditunjukkan pada gambar berikut:
Gambar 2.1 Konsep Aliran MVC Sumber: (Hidayatullah & Kawistara, 2015)
4. URL Yang Sederhana Dan Extensible.
Secara default URL yang dihasilkan codeigniter sangat bersih dan SEF (Search Engine Friendly). Disamping itu sistem dapat dikembangkan dengan plugin dan helper atau dengan menggunakan hooks.
5. Dokumentasi Lengkap Dan Jelas.
Dari sekian banyak framework codeigniter adalah framework dengan dokumentasi yang lengkap dan jelas. Hal ini didukung dengan banyaknya komunitas dan forum untuk bertukar masalah berkaitan dengan framework codeigniter. Disamping itu terdapat banyak situs internet yang
Controller
Model View
menyediakan template-template web berbasis codeigniter yang gratis dengan penjelasan yang lengkap sehingga mempermudah pengembang dalam mengembangkan aplikasi web dengan menggunakan framework codeigniter.
2.10. Sublime Text
Sublime text salah satu kode editor yang biasa digunakan oleh para programmer untuk membuat suatu program.
Menurut Supono dan Putratama (2016:14) “Sublime text merupakan perangkat lunak text editor yang digunakan untuk membuat atau meng-edit suatu aplikasi. Sublime text mempunyai fitur plugin tambahan yang memudahkan programmer”. Selain itu, menurut Faridi (2015:3) menjelaskan bahwa “Sublime Text 3 adalah editor berbasis python, sebuah teks editor yang elegan, kaya akan fitur, cross platform, mudah dan simple yang cukup terkenal di kalangan developer (pengembang), penulis dan desainer”.
Jadi dapat disimpulkan bahwa sublime text ialah teks editor yang digunakan untuk membuat program aplikasi yang secara otomatis untuk mempermudah progremer dalam mengetikkan kode editor.
2.11. Wamp server
Wamp server digunakan untuk membangun sebuah website untuk membantuan web server mengkoneksikan file-file website ke basis data.
Menurut Kadir (2008:357) “Wamp server adalah sebuah software yang mengemas MySql, PHP, dan Apache sehngga memudahkan para pengembang sistem yang hendak menggunakan ketiga software tersebut dalam menginstal dan
melakukan koneksi”. Sedangkan menurut Sibero (2013:370) menerangkan bahwa
“Wamp (Window, Apache, MySQL, dan PHP) adalah sebuah paket yang berisikan kumpulan software yang digunakan untuk membangun suatu website”.
Dari penjelasan para ahli di atas dapat disimpulkan bahwa Wamp Server merupakan suatu perangkat lunak yang menyimpan dan menterjemahkan database menjadi sebuah halaman website.
2.12. UML (Unified Modelling Language)
Unified Modeling Language (UML) adalah sebuah bahasa yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem piranti lunak. UML menawarkan sebuah standard untuk merancang model sebuah sistem (Yasin & Verdi, 2012).
UML adalah salah satu standard bahasa yang banyak digunakan di dunia industri untuk mendefinisikan requiretment, membuat analisis & desain, serta menggambarkan arsitektur dalam pemrograman berorientasi objek. Bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks-teks pendukung (Rosa & Shalahuddin, 2014).
2.12.1. Diagram UML
Diagram berbentuk grafik yang menunjukkan simbol elemen model yang disusun untuk mengilustrasikan bagian atau aspek tertentu dari sistem. Sebuah diagram merupakan bagian dari suatu view tertentu dan ketika digambarkan biasanya dialokasikan untuk view tertentu.
UML terdiri dari 13 macam diagram yang dikelompokkan dalam 3 kategori yaitu:
Sturcture Diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan suatu struktur statis dari sistem yang dimodelkan, seperti class diagram, object diagram, component diagram, composite structure diagram, package diagram, dan deployment diagram.
Behavior Diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada sebuah sistem, seperti use case diagram, activity diagram, dan state machine diagram.
Interactions Diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan interaksi sistem dengan sistem lain maupun interaksi antar subsistem pada suatu sistem, seperti sequence diagram, communication diagram, timing diagram dan interaction overview diagram.
2.12.2. Use Case Diagram
Use Case Diagram merupakan pemodelan untuk kelakuan (behavior) sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan 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 tersebut. Syarat penamaan pada use case adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada use case yaitu mendefinisikan apa yang disebut use case dan aktor. Use case merupakan fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor (Rosa &
Shalahuddin, 2014). Simbol use case di tampilkan pada tabel 2.1 seperti berikut
Tabel 2.1 Simbol Use Case
Simbol Deskripsi
Use Case Fungsionalitas yang disediakan sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor, biasanya dinyatakan dengan menggunakan kata kerja di awal frase nama use case.
Aktor/Actor Orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang.
Asosiasi/association Komunikasi antara aktor dan use case yang berpatisipasi interaksi dengan use case atau use case memiliki interaksi dengan aktor.
Ekstensi/extend
<<extend>>
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; biasanya use case tambahan memiliki nama depan yang sama dengan use case yang ditambahkan.
Generalisasi/generalization Hubungan generalisasi dan spesialisasi (umum- khusus) antara dua buah use case dimana fungsi yang satu adalah fungsi yang lebih umum dari lainnya.
Menggunakan/Include/uses
<<include>>
Relasi use case tambahan ke sebuah use case dimana use case yang ditambahkan memerlukan use case ini untuk menjalankan fungsinya atau sebagai syarat dijalankan use case ini.
Sumber : Rosa A.S (2014)
2.12.3. Activity Diagram
Teknik untuk menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak. Diagram ini sangat mirip dengan sebuah flowchart karena kita dapat memodelkan sebuah alur
kerja dari satu aktivitas ke aktivitas lainnya atau dari satu aktivitas ke keadaan sesaat (state).
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 pengelempokan tampilan dari sistem/user interface dimana setiap aktivitas dianggap memiliki sebuah rancangan antarmuka tampilan.
3. Rancangan pengujian diman setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujiannya.
Simbol-simbol yang digunakan untuk pembuatan activity diagram dapat dilihat pada tabel 2.2 seperti berikut
Tabel 2.2 Simbol Activity Diagram
Simbol Deskripsi
Status awal Status awal aktivitas system, sebuah diagram aktivitas memiliki sebuah status awal
Aktivitas Aktivitas yang dilakukan sistem, aktivitas biasanya diawali dengan kata kerja
Percabangan/Decision Asosiasi percabangan dimana jika ada pilhan aktivitas lebih dari satu
Penggabungan / Join Asosiasi penggabungan dimana lebih dari satu aktivitas digabungkan menjadi satu
Tabel 2.2 Simbol Activity Diagram
Simbol Deskripsi
Status akhir Status akhir yang di lakukan system, sebuah diagram aktivitas pasti memiliki status akhir
Swimlane Memisahkan organisasi bisnis yang bertanggung jawab terhadap aktivitas yang terjadi.
Sumber : Rosa A.S (2014) 2.12.4. Class Diagram
Menurut Rosa (2014:141) Class diagram merupakan gambaran dari struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem.
Simbol class diagram di tampilkan pada tabel 2.3 seperti berikut : Tabel 2.3 Simbol-Simbol Class Diagram
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 disertai dengan multiplicity
Asosiasi berarah / Directed Association
Relasi antar kelas dengan makna kelas yang atu digunakan oleh kelas
Tabel 2.3 Simbol-Simbol Class Diagram
yang lain, asosiasi biasanya juga disertai dengan multiplicity
Generalisasi Relasi antar kelas dengan makna generalisasi-spesialisasi (umum khusus)
Kebergantungan / Dependency Relasi antar kelas dengan makna kebergantungan antar kelas
Agregasi / Aggregation Relasi antar kelas dengan makna semua-bagian (whole-part)
Sumber : Rosa A.S (2014)
2.13. Extreme programming (XP)
Menurut (Pressman, 2010), Extreme programming (XP) adalah metodologi pengembangan perangkat lunak yang ditujukan untuk meningkatkan kualitas perangkat lunak dan tanggap terhadap perubahan kebutuhan pelanggan. Jenis pengembangan perangkat lunak semacam ini dimaksudkan untuk meningkatkan produktivitas dan memperkenalkan pos pemeriksaan di mana persyaratan pelanggan baru dapat diadopsi.
Tahapan-tahapan dari Extreme programming terdiri dari planning seperti memahami kriteria pengguna dan perencanaan pengembangan, design seperti perancangan prototype dan tampilan, coding termasuk pengintegrasian, dan yang terakhir adalah testing.
Extreme programming merupakan Agile Methods yang paling banyak digunakan dan menjadi sebuah pendekatan pengembangan perangkat lunak yang sangat terkenal (Widodo, 2008). Extreme programming diperkenalkan menjadi sebuah metodologi dalam pengembangan perangkat lunak untuk menangani perubahan-perubahan yang biasanya sering terjadi pada saat proses pengembangan perangkat lunak berlangsung. Extreme programming juga digunakan untuk mengatasi berbagai requirements yang tidak jelas dari klien/pelanggan (Widodo, 2008).
Gambar 2.2 Proses Extreme Programming (Sumber: Pressman, 2010:74)
Extreme programming berjalan berdasarkan lima nilai pokok (Pressman, 2010):
1. Simplicity
Extreme programming hanya melakukan pekerjaan yang dibutuhkan dan yang diminta, tidak lebih dari itu. Hal ini akan memaksimalkan pekerjaan-pekerjaan yang dilakukan sampai pada suatu waktu. Extreme programming mengambil langkah- langkah kecil yang sederhana untuk dapat menyelesaikan pekerjaan dan mengurangi terjadinya kegagalan.
2. Communication
Setiap orang dalam Extreme programming merupakan bagian dari tim di mana setiap orang melakukan komunikasi harian secara langsung dengan cara tatap muka.
Tim akan bekerja bersama-sama dalam segala hal mulai dari analisis kebutuhan sampai pengkodean. Tim akan membuat solusi terbaik untuk menyelesaikan pekerjaan bersama-sama.
3. Feedback
Extreme programming akan melaksanakan setiap tanggung jawab perulangan (iteration) secara serius yaitu dengan menyampaikan perangkat lunak yang sudah berjalan. Tim mendemonstrasikan perangkat lunak dari awal dan dengan intensitas yang sering kemudian membuat perubahan-perubahan yang diperlukan dari tanggapan yang ada.
4. Respect
Setiap orang dalam Extreme programming memberi dan merasakan rasa hormat (respect) yang pantas didapatkan sebagai anggota tim. Setiap anggota tim turut berkontribusi meskipun itu hanya hal yang sederhana. Para pengembang menghargai
keahlian (expertise) yang dimiliki klien/pelanggan dan sebaliknya. Manajemen menghargai hak untuk menerima tanggung jawab dan menerima kewenangan pekerjaan masing- masing.
5. Courage
Tim dalam Extreme programming akan menyampaikan kebenaran perkembangan dan perkiraan pelaksanaan proyek. Tim dalam Extreme programming tidak menyampaikan alasan kegagalan karena Extreme 16 programming berencana untuk berhasil. Tim dalam Extreme programming tidak merasa takut pada apapun karena di dalam tim tidak ada yang bekerja sendiri. Tim akan menyesuaikan pada perubahan- perubahan kapan pun itu akan terjadi.
2.14. Analisa PIECES
Untuk mengidentifikasi masalah harus dilakukan analisis terhadap kinerja, informasi, ekonomi, keamanan aplikasi, efesiensi, dan pelayanan. Panduan ini dikenal dengan analisis PIECES (Performance, Information, Economy, Control, Eficiency, And Services). Dari analisis ini biasanya didapatkan beberapa masalah utama. Hal ini penting karena yang muncul dipermukaan bukan masalah utama tapi gejala dari masalah utama saja (Alfatta, 2007).
2.14.1. Analisis Kinerja (Performance)
Masalah kinerja terjadi ketika tugas – tugas bisnis yang dijalankan tidak mencapai sasaran. Kinerja diukur dengan jumlah produksi dan waktu tanggap.
Jumlah produksi adalah jumlah produksi yang bisa diselesaikan selama jangka
waktu tertentu. Pada bagian pemasaran, kinerja diukur berdasarkan volume, pekerjaan, pangsa pasar yang diraih, atau citra prusahaan.
2.14.2. Analisis Informasi (Information)
Informasi adalah komoditas krusial bagi pengguna akhir. Evaluasi terhadap kemampuan sistem informasi dalam menghasilkan informasi yang bermanfaat perlu dilakukan untuk menyikapi keperluan dan menagani masalah yang muncul.
Dalam hal ini meningkatkan kualitas informasi tidak dengan menambah jumlah informasi, maka akan menimbulkan masalah baru.
2.14.3. Analisis Ekonomi (Economy)
Alasan ekonomi merupakan motivasi paling umum bagi suatu proyek. Pijakan dasar bagi kebanyakan manager adalah biaya atau rupiah. Persoalan eknomis dan peluang berkaitan dengan masalah biaya.
2.14.4. Analisis Keamanan (Control)
Tugas – tugas bisnis perlu dimonitor dan dibetulkan jika ditemukan kinerja dibawah standar. Kontrol dipasang untuk meningkatkan kinerja sistem, mencegah, atau mendeteksi kesalahan sistem, menjamin keamanan data, informasi dan persyaratan.
2.14.5. Analisis Efisiensi (Eficiency)
Efisiensi menyangkut bagaimana menghasilkan Output sebanyak – banyaknya dengan input yang sekecil mungkin. Berikut adalah indikasi bahwa suatu sistem dapat dikatakan efisiensi:
1. Banyak waktu yang terbuang pada aktifitas sumber daya manusia, mesin, atau komputer.
2. Data di input atau disalin secara berlebihan.
3. Data diproses secara berlebihan.
4. Informasi dihasilkan secara berlebihan.
5. Usaha yang dibutuhkan untuk tugas – tugas terlalu berlebihan.
6. Materi yang dibutuhkan untuk tugas – tugas terlalu berlebihan.
2.14.6. Analisis Layanan (Sevices)
Berikut adalah beberapa kriteria penelitian dimana kualitas suatu sistem bisa dikatakana buruk:
1. Sistem menghasilkan produk yang tidak akurat.
2. Sistem menghasilkan produk yang tidak konsisten.
3. Sistem menghasilkan produk yang tidak dipercaya.
4. Sistem tidak mudah digunakan.
5. Sistem canggung untuk digunakan.
6. Sistem tidak fleksibe 2.15. Pengujian Sistem
Menurut Alfatta (2007) pengujian sistem merupakan proses mengeksekusi sistem prangkat lunak untuk menentukan apakah sistem prangkat lunak tersebut cocok dengan spesifikasi sistem dan berjalan sesuai dengan lingkungan yang di inginkan. Pengujian perangkat lunak adalah: “elemen dari jaminan perangkat lunak dan mempresentasikan kajian pokok dari spesifikasi, desain dan pengkodean.
Selain itu, pengujian juga dapat diartikan sebagai sebuah proses eksekusi suatu program dengan maksud menentukan kesalahan” (Pressman, 2012).
Pengujian dalam konteks rekayasa perangkat lunak sebenarnya merupakan rangkaian empat langkah yang diimplementasikan secara berurutan:
1. Pengujian unit, pengujian fokus pada masing-masing komponen secara individual, dengan memastikan bahwa komponen tersebut berfungsi secara tepat sebagai suatu unit.
2. Pengujian integrasi, membahass isu-isu yang berkaitan dengan dua masalah yaitu verifikasi dan pembangunan program, yang dilakukan dengan teknik perancangan kasus pengujian (test case) yang berfokus pada input dan output.
Pengujian integrasi bersumber pada perancangan antarmuka, usecase, class diagram, sequence diagram.
3. Pengujian validasi, menyediakan jaminan akhir bahwa perangkat lunak memenuhi semua persyaratan informasi, fungsional, prilaku dan persyaratan kinerja.
4. Pengujian sistem, memverifikasi bahwa semua elemen saling bertautan dengan benar dan keseluruhan fungsi sistem/kinerja dapat dicapai.
2.15.1. Blackbox Testing
Metode ujicoba black box memfokuskan pada apakah unit program memenuhi kebutuhan (requirement) yang disebutkan dalam sepesifikasi. Pada black box testing, cara pengujiannya hanya dilakukan dengan menjalankan atau mengeksekusi unit atau modul, kemudian diamati apakah hasil dari unit itu sesuai dengan proses bisnis yang diinginkan. Black Box Testing bukanlah solusi alternatif
dari White Box Testing tapi lebih merupakan pelengkap untuk menguji hal-hal yang tidak dicakup oleh White Box Testing.
Black Box Testing cenderung di gunakan untuk menemukan hal-hal seperti berikut:
1. Fungsi yang tidak benar atau tidak ada.
2. Kesalahan antarmuka (interface errors).
3. Kesalahan pada struktur data dan akses basis data.
4. Kesalahan performansi (performance errors).
5. Kesalahan inisialisasi dan terminasi.
2.15.2. Pengujian UAT
Metode pengujian User Acceptance Test (UAT) dilakukan dengan meminta calon pengguna untuk mencoba menjalankan program aplikasi yang dibuat kemudian mengisi kuesioner penilaian yang sudah disiapkan. Survey penggunaan program aplikasi oleh calon pengguna yang dipilih secara acak baik responden umum, Pelanggan, maupun bukan pelanggan. Data yang dikumpulkan pada saat survei merupakan data statistik hasil penyebaran angket/kuesioner kepada calon pengguna yang akan dipilih secara acak. Data yang ingin diketahui dari calon pengguna secara garis besar meliputi apakah program aplikasi yang dibuat sudah menarik, apakah program aplikasi yang dibuat sudah user friendly.