BAB II LANDASAN TEORI 2.1 Teori Aplikasi Web Web aplikasi-disebut "webapps," jaringan-centric ini kategori perangkat lunak mencakup beragam aplikasi. Dalam bentuk yang paling sederhana, webapps bisa sedikit lebih dari satu set file hypertext terkait yang menyajikan informasi menggunakan teks dan grafis yang terbatas. Namun, seperti Web 2.0 muncul, webapps berkembang dalam lingkungan komputasi canggih yang tidak hanya menyediakan fitur yang berdiri sendiri, fungsi komputasi, dan konten untuk pengguna akhir, tetapi juga terintegrasi dengan database perusahaan dan aplikasi bisnis [Pressman, 2010]. 2.2. Rekayasa Perangkat Lunak Perangkat lunak atau sering disebut software adalah sebuah instruksi yang apabila dijalankan menghasilkan fungsi dan hasil yang diinginkan. Perangkat lunak juga berarti struktur data yang dapat memanipulasi informasi [Pressman, 2010]. Deskripsi informasi dari ke dua poin ini menjelaskan operasi dan penggunaan dari perangkat lunak. Perangkat lunak lebih mengacu kepada logical dari pada physical system element. Oleh karena itu, perangkat lunak mempunyai karakteristik yang membedakan dengan perangkat keras yaitu : 1. Perangkat lunak dikembangkan atau direkayasa bukan diciptakan. 2. Perangkat lunak tidak akan habis atau hilang. 7
8 3. Meskipun industri bergerak ke arah komponen berbasis konstruksi tetapi sebagian besar perangkat lunak tetap dibangun atau dikembangkan. 2.2.1 SDLC (System Development Life Cycle) System Development Life Cycle atau Siklus Hidup Pengembangan Sistem adalah proses sistem serta metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut [Pressman, 2010]. Waterfall Model sebuah perancangan yang secara berurutan dan sering digunakan dalam proses pengembangan perangkat lunak. 2.2.2 Waterfall Model Waterfall model disebut sebagai siklus kehidupan yang klasik, yang pendekatannya secara berurutan dan sistematis dalam pengembangan perangkat lunak. [Pressman, 2010] Berikut ini merupakan fase dalam model waterfall: Gambar 2.1 Waterfall Model Sumber: Software Engineering Roger S. Pressman (2010) 1. Communication Langkah ini merupakan analisi terhadap kebutuhan software, dan tahap untuk pengumpulan data. Cara untuk mendapatkan datanya tersebut dapat dilakukan dengan melakukan pertemuan dengan user, mencari jurnal dan artikel, baik dari buku maupun internet.
9 2. Planning Proses planning merupakan tahapan lanjutan dari proses communication. Pada tahapan ini akan dihasilkannya suatu dokumen user requirement. Data ini akan masuk dalam proses pembuatan software. Pada tahapan ini juga disusun suatu rencana yang akan dilakukan. 3. Modeling Proses modeling ini akan merepresentasikan rancangan software yang akan dikembangkan sebelum dibuatnya code. Proses ini berfokus pada rancangan arsitektur software, struktur data, representasi interface, dan detail procedural. 4. Construction Construction merupakan proses pembuatan code. Coding merupakan penerjemahan desain dalam bahasa yang dikenali oleh komputer. Tahapan inilah yang merupakan tahapan secara nyata dalam mengerjakan suatu software. Setelah proses coding selesai maka akan dilakukann testing terhadap sistem yang sudah dibuat. Tujuannya adalah menemukan kesalahankesalahan yang ada pada sistem untuk kemudian diperbaiki lagi. 5. Deployment Tahapan ini bisa dikatakan final dalam pembuatan software. Setelah software ini siap digunakan user tetap saja harus dilakukannya pemeliharaan secara berkala.
10 2.2.3. Digram Dalam Unified Modeling Language (UML) Unified modeling language adalah bahasa standar untuk menulis rancangan software. UML dapat digunakan untuk membangun dan mendokumentasikan kerangka software. Di sisi lain, dengan membangun rancangan arsitektur untuk digunakan para konstruksi perusahaan, pembangun software membuat UML diagram untuk membantu pengembang software untuk membangun software Sehingga lebih mudah untuk dipahami, mudah untuk menentukan sistem dan mudah untuk menjelaskan desain system [Pressman, 2010]. 2.2.3.1 Model Use Case Model use case diagram membantu untuk menentukan fungsi dan fitur software dari perspektif pengguna. Use case menjelaskan bagaimana pengguna berinteraksi dengan sistem dengan cara mendefinisikan langkah langkah yang diperlukan untuk mencapai tujuan tertentu. Use case diagram merupakan gambaran dari semua use case dan hubungan antar setiap use case. Berikut adalah simbol-simbol yang digunakan pada use case diagram: No. Simbol Keterangan 1 Aktor Merupakan kesatuan eksternal yang berinteraksi dengan sistem. 2 Use Case Rangkaian/uraian sekelompok yang saling terkait dan membentuk sistem.
11 3 Generelation Menggambarkan hubungan khusus atau interaksi dalam objek. Tabel 2.1 Simbol Use Case Diagram Dalam use case diagram, use case ditampilkan dalam bentuk oval. Para aktor terhubung dengan setiap use case menggunakan garis. Karena use case diagram menampilkan semua use case, hal ini sangat membantu untuk memastikan bahwa semua fungsi dari sistem sudah tercakup [Pressman, 2010]. Gambar 2.2 Use Case Diagram Sumber: Software Engineering Roger S. Pressman (2010) Pada diagram ini, gambar stick figure merepresentasikan sebuah actor yang terkait dengan satu kategori pengguna (atau elemen interaksi lainnya). Biasanya sistem yang kompleks memiliki lebih dari satu aktor.
12 2.2.3.2 Class Diagram Untuk kelas model, termasuk atribut kelas, pengoperasian, dan hubungan antar kelas dengan kelas lain, UML menyediakan model class diagram. Class diagram menyediakan view statis atau struktural dari sistem. Class diagram tidak menunjukkan sifat dinamis dari komunikasi antar objek setiap kelas dalam diagram. Berikut adalah simbol-simbol yang digunakan pada Class diagram: No. Simbol Nama 1 Class Class 1 2 3 Ikon yang digunakan untuk mewakili kelas dan interface. Class terdiri dari: 1. Class Name 2. Attributes 3. Behaviours 2 Association Relasi antar class dengan makna umum 3 Generalization Relasi antar class dengan makna generalisasi-spesialisasi (umumkhusus) 4 Realization Menunjukkan implementasi antarmuka
13 5 Dependency Relasi anatar class dengan makna kebergantungan antar class Tabel 2.2 Simbol Class Diagram Unsur utama dalam class diagram adalah kotak, yang merupakan ikon yang digunakan untuk mewakili kelas kelas. Setiap kotak dibagi dengan garis horizontal. Bagian atas berisi nama class. Bagian tengah berisi atribut tiap kelas. Setiap atribut mengacu pada sesuatu yang merupakan objek pada kelas. Setiap atribut dapat memiliki nama, tipe dan simbol. Simbol ditunjukkan dengan -, #, ~ atau +, yang masing masing menunjukan atribut tersebut private, protected, package atau public [Pressman, 2010]. Gambar 2.3. Class Diagram Thoroughbred Class Sumber: Software Engineering Roger S. Pressman (2010) Diagram kelas juga dapat menunjukkan hubungan antara kelas. Sebuah kelas yang merupakan subclass dari kelas lain terhubung dengan panah dengan garis yang solid dengan panah segitiga berongga. Arah panah menunjukan dari subclass ke superclass. Dalam UML, hubungan tersebut disebut generalisasi. Sebagai contoh, pada Gambar 2.4, kelas Thoroughbred
14 dan QuarterHorse terbukti subclass dari kelas abstrak Horse. Panah dengan garis putus-putus untuk poros panah menunjukkan implementasi antarmuka. Dalam UML, hubungan tersebut disebut realisasi. Sebagai contoh, pada Gambar 2.4, mengimplementasikan kelas Horse atau menyadari antarmuka OwnedObject. Gambar 2.4. Class Diagram QuarterHorse Sumber: Software Engineering Roger S. Pressman (2010) 2.2.3.3 Sequence Diagram Berbeda dengan class diagram yang menampilkan struktur statis dari komponen sistem software, sequence diagram digunakan untuk menampilkan struktur yang dinamis antara obyek selama fungsi dijalankan. Sequence diagram menampilkan proses pengiriman pesan antar obyek untuk menyelesaikan fungsi tertentu. Alasan lain dengan menggunakan sequence diagram adalah untuk menampilkan interaksi suatu use case atau satu skenario sistem software. Berikut adalah simbol-simbol yang digunakan pada sequance diagram:
15 No. Simbol Nama 1 LifeLine: objek entity, antarmuka yang saling berinteraksi. 3 Activation:menggambarkan hubungan antara object dengan message. 4 5 Message(call): menggambarkan alur message yang merupakan kejadian objek pengirim lifeline ke objek penerima lifeline. Message(return): menggambarkan alur pengambilan message ke objek pemanggil dan tanda bahwa objek penerima telah menyelesaikan prosesnya. Tabel 2.3. Simbol Sequance Diagram Sequence diagram menampilkan metode panggilan menggunakan panah horizontal dari pelaku ke target pelaku, diberi label dengan nama metode dan termasuk parameter, jenis dan jenis timbal balik. Untuk kasus looping, conditional, dan struktur kontrol lainnya dalam sequence diagram, dapat menggunakan frame interaksi seperti persegi panjang yang mengelilingi bagian dari diagram [Pressman, 2010].
16 Gambar 2.5. Sequence Diagram Sumber: Software Engineering Roger S. Pressman (2010) 2.2.3.4 Activity diagram UML model Activity diagram menjelaskan perilaku dinamis dari system atau bagian bagian sistem melalui aliran proses yang dilakukan sistem. Hal ini sama dengan model flow chart tetapi sedikit berbeda dikarenakan activity diagram dapat menampilkan aliran proses sistem secara bersamaan [Pressman, 2010]. Berikut adalah simbol-simbol yang digunakan pada activity diagram: No. Simbol Nama 1 Initial Node Menunjukkan titik awal kegiatan 2 Final Node Menunjukkan akhir kegiatan
17 3 State/Activities Mewakili tugas yang dilakukan oleh perangkat lunak sistem. 4 Fork (Percabangan) Mewakili pemisahan aktivitas yang bersamaan menjadi 2 atau lebih 5 Join (Penggabungan) Simbol untuk menyinkronkan alur kontrol yang ada pada tingkatan yang sama. 6 Decision Simbol untuk alur kontrol bercabang yang dikarenakan adanya kondisi. Tabel 2. 4. Simbol Activity Diagram Komponen utama dari activity diagram adalah action node, diwakili oleh bulat persegi panjang, yang sesuai dengan tugas yang dilakukan oleh software panah dari satu node ke node lain menjelaskan aliran kontrol. Hal ini berarti bahwa setelah action pertama selesai, action kedua baru dijalankan. Sebuah lingkaran hitam pekat menjelaskan awal proses activity dimulai. Sebuah titik hitam yang yang dikelilingi lingkaran hitam menjelaskan akhir dari proses activity. Garis horizontal berwarna hitam merupakan pemisah dua action atau lebih secara bersamaan.
18 Gambar 2.6. Activity Diagram Sumber: Software Engineering Roger S. Pressman (2010) 2.3 Website World Wide Web atau lebih sering dikenal sebagai web adalah suatu layanan sajian informasi yang menggunakan konsep hyperlink (tautan), yang memudahkan surfer (sebutan para pemakai komputer yang melakukan browsing atau penelusuran informasi malalui internet) [Ardhana, 2012]. Keistimewaan inilah yang telah menjadikan web sebagai service yang paling cepat pertumbuhannya. 2.3.1 Xampp Menurut Bunafit Nugroho (2008:2), XAMPP merupakan paket php berbasis open source yang dikembangkan oleh sebuah komunitas open source. dengan menggunakan XAMPP, tidak usah lagi bingung untuk melakukan penginstalan program lain, karena semua kebutuhan telah disediakan oleh XAMPP. XAMPP
19 adalah perangkat lunak bebas mendukung banyak sistem operasi yang merupakan kompilasi dari beberapa perangkat lunak. XAMPP dikembangkan oleh sebuah tim proyek bernama Apache Friends. Fungsinya adalah sebagai server yang berdiri sendiri (localhost),yang terdiri atas program Apache HTTP Server, MySQL database, dan penerjemah bahasa yang ditulis dengan bahasa pemrograman PHP dan Perl. Nama XAMPP merupakan singkatan dari X berarti mendukung 4 sistem operasi, Apache, MySQL, PHP dan Perl. 2.3.1.1 MySQL (My Structure Query Language) MySQL (My Structure Query Language) adalah sistem manajemen database relasional yang menggunakan Query Terstruktur Language (SQL) untuk menyimpan, bekerja dengan, dan mengambil informasi melalui Internet. [Matthews, 2015]. MySQL disebut "paling populer database open source di dunia," dengan jutaan website menggunakannya sebagai sumber daya web yang berjalan pada server web, seperti halnya PHP. Dan MySQL juga dapat dijalankan pada server yang berdiri sendiri tidak terhubung ke Web. MySQL dibangun untuk menangani volume besar, akses database multiuser. mysql.com mengatakan "Banyak organisasi yang tumbuh paling cepat terbesar dan dunia termasuk Facebook, Google, Alcatel Lucent, dan Zappos mengandalkan MySQL. "MySQL rendah atau tidak ada biaya, kemudahan penggunaan, kecepatan, kehandalan, dan kegunaan untuk kecil untuk situs besar membuatnya mudah untuk melihat mengapa ia memiliki digunakan secara luas.
20 2.3.1.2 PHP (Hypertext Preprocessor) Menurut Anhar (2010:3), PHP singkatan dari : Hypertext Preprocessor yaitu bahasa pemrograman web server-side yang bersifat open source. PHP merupakan script yang terintegrasi dengan HTML dan berada pada server (server side HTML embedded scripting). PHP adalah script yang digunakan untuk membuat halaman website yang dinamis. Dinamis berarti halaman yang akan ditampilkan dibuat saat halaman itu diminta oleh client. Mekanisme ini menyebabkan informasi yang diterima client selalu yang terbaru atau up to date. Semua script PHP dieksekusikan pada server dimana script tersebut dijalankan. 2.3.2 Hypertext Mark up Langueage (HTML) Menurut Oktavian (2010:13), HTML adalah suatu bahasa yang dikenali oleh web browser untuk menampilkan informasi dengan lebih menarik dibandingkan dengan tulisan teks biasa (plain text). HTML adalah kependekan dari Hyper Text Markup Langueage fasilitas hypertext merupakan metode yang menautkan link dalam sutu dokumen ke dokumen lain melalui suatu teks. HTML merupakan halaman yang berada pada suatu situs internet atau web. Jadi, suatu situs terdiri atas beberapa halaman HTML atau web page. Semakin menarik halaman web-nya, semakin sering website dikunjungi. Misalnya, dengan menampilkan gambar-gambar yang menarik, suarasuara, animasi huruf dan multimedia. Sesungguhnya, HTML merupakan halaman web yang jika diklik oleh pengguna, browser akan menampilkan dokumen yang tertaut dengan link tersebut.
21 2.4 Konsep Dasar Sistem Penjualan a. Pengertian Penjualan Penjualan merupakan satu usaha yang dilakukan untuk mendistribusikan barang kebutuhan yang telah dihasilkan oleh produsen kepada konsumen dengan memperoleh jasa beruba uang menuntut harga. Menurut Basu Swastha (2001 : 8): Menjual adalah ilmu dan seni mempengaruhi pribadi yang dilakukan oleh penjualan untuk mengajak orang lain Agra bersedia membeli barang atau jasa yang ditawarkan. Dengan demikian penjualan dapat diartikan sebagai prosedur pengeluaran barang dan penerimaan uang oleh perusahaan. b. Pengertian Sistem Penjualan Sistem penjualan adalah sistem yang melibatkan sumber daya dalam satu organisasi, prosedur, data, serta sarana pendukung untuk mengoperasikan sistem penjualan, sehingga menghasilkan informasi yang bermamfaat bagi pihak manajemen dalam pengembalian keputusan. c. Tujuan Pelaksanaan Penjualan Guna mendukung kelancaran penjualan, maka perlu dibuat satu sistem yang dapat memberi layanan dan kemudahan bagi proses kegiatan transaksi penjualan. Tujuan pelaksanaan sistem penjualan tersebut adalah sebagai berikut: 1. Menghindari dari human eror atau kesalahan dalam perhitungan saat transaksi terjadi. 2. Meberikan pelayan yang baik bagi konsumen.
22 3. Mempermudah pembuatan laporan dengan informasi dengan informasi yang akurat dan dalam waktu yang tepat dan menjaga keamanan data. 2.5 Konsep Dasar Sistem Servis Pengertian Servis Servis sering juga disebut dengan istilah perbaikan (Jasa). Pengertian dari perbaikan itu sendiri adalah usaha untuk mengembalikan kondisi dan fungsi dari satu benda atau alat yang rusak akibat pemakaian alat tersebut pada kondisi semula. Menurut Djaslim Saladin (2004 : 134) Jasa adalah setiap kegiatan atau manfaat yang ditawarkan oleh satu pihak pada pihak lain dan pada dasarnya tidak berwujud, serta tidak menghasilkan kepemilikan sesuatu. Proses produksinya mungkin dan mungkin juga tidak dikaitkan dengan satu produk fisik.