BAB II LANDASAN TEORI 2.1 Rekayasa Perangkat Lunak. Model sekuensial linier untuk software engineering, sering disebut juga dengan siklus kehidupan klasik atau model air terjun. Model ini mengusulkan sebuah pendekatan kepada perkembangan software yang sistematik dan sekuensial yang mulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian, dan pemeliharaan. Dimodelkan setelah siklus rekayasa konvensional, model sekuensial linier melingkupi aktivitas–aktivitas sebagai berikut: Gambar 2.1 Skema Waterfall (Roger S. Pressman 2005:37-38) 1. Rekayasa Sistem Tahapan ini menyangkut pengumpulan kebutuhan pada tingkat sistem dengan sejumlah kecil analisis serta desain tingkat puncak. 2. Analisa Sistem 7 8 Pada tahap ini dilakukan pengumpulan perangkat lunak. Untuk memahami perangkat lunak yang dibangun, perekayasa perangkat lunak harus memahami domain informasi, tingkah laku, untuk kerja, dan antarmuka yang diperlukan. Kebutuhan baik untuk sistem maupun perangkat lunak didokumentasikan dan dilihat lagi dengan pelanggan. 3. Desain Sistem Desain perangkat lunak sebenarnya adalah proses multi langkah yang berfokus pada empat atribut program yang berbeda; struktur data, arsitek perangkat lunak, representasi antarmuka, dan detail prosedural. Proses desain menerjemahkan kebutuhan ke dalam sebuah representasi perangkat lunak yang dapat diperkirakan demi kualitas sebelum dimulai pemunculan kode. Sebagaimana persyaratan, desain didokumentasikan dan mejadi bagian dari konfigurasi perangkat lunak. 4. Pengkodean Desain harus diterjemahkan ke dalam bentuk mesin yang bisa dibaca. Langkah pembuatan kode melakukan tugas ini. Jika desain dilakukan dengan cara yang lengkap, pembuatan kode dapat diselesaikan secara mekanis. 5. Pengujian Proses pengujian berfokus pada logika internal perangkat lunak, memastikan bahwa semua pernyataan sudah diuji, dan pada eksternal fungsional yaitu mengarahkan pengujian untuk menemukan kesalahan-kesalahan dan memastikan bahwa masukan yang dibatasi akan memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan. 6. Perawatan Perangkat lunak akan mengalami perubahan setelah disampaikan kepada pelanggan. Perubahan akan terjadi kesalahan-kesalahan ditentukan, karena perangkat lunak harus disesuaikan untuk mengakomodasi perubahan-perubahan di dalam lingkungan eksternalnya. Pemeliharaan perangkat lunak menerapkan lagi setiap tahap program sebelumnya. 2.2 Konsep Dasar Sistem Informasi 2.2.1 Definisi Sistem 9 Sistem diartikan sebagai suatu jaringan kerja dan prosedur-prosedur yang saling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau untuk menyelesaikan suatu sasaran tertentu.(Jogiyanto HM, 2005:1) Dengan demikian pengertian sistem ini akan mempunyai peranan yang sangat penting dalam melakukan pendekatan sistem yang akan di analisis, pendekatan sistem dilakukan agar lebih menekankan pada komponen sistem. 2.2.2 Karakteristik Sistem Suatu sistem memiliki karakteristik atau sifat-sifat tertentu, yaitu mempunyai komponen-komponen, batas sistem, lingkungan luar sistem, masukan, keluaran, pengolahan dan sasaran atau tujuan. (Jogiyanto HM, 2005:3-6) 1. Komponen sistem (component) Suatu sistem terdiri dari sejumlah komponen yang saling berinteraksi, artinya saling bekerjasama membentuk satu kesatuan. Komponen-komponen sistem atau elemen-elemen sistem dapat berupa suatu subsistem dari sistem. 2. Batasan Sistem (Boundary) Batasan sistem merupakan daerah yang membatasi antara sistem dengan sistem yang lainnya atau dengan lingkungan luarnya. Batas sistem ini memungkinkan suatu sistem dipandang sebagai sesuatu kesatuan dan menunjukkan ruang lingkup dari sistem tersebut. 3. Lingkungan luar sistem (Environtment) Apapun di luar batas dari sistem yang mempengaruhi operasi sistem. Lingkungan luar sistem dapat bersifat menguntungkan dan juga merugikan, karena lingkungan luar yang menguntungkan merupakan energi dari sistem dan dengan demikian harus dan dipeliharan. 10 4. Penghubung sistem (interface) Media yang menghubungkan antara subsistem dengan subsistem yang lainnya. Melalui penghubung ini kemungkinan sumber-sumber daya mengalir dari satu subsistem ke subsistem lainnya. Keluaran suatu subsistem akan menjadi masukan untuk subsistem lainnya melalui penghubung. 5. Masukan sistem (Input) Energi yang dimasukan ke dalam sistem disebut masukan sistem, masukan dapat berupa masukan perawatan dan masukan sinyal maintenance input adalah energy yang dimasukan supaya sistem tersebut dapat berjalan dan merupakan suatu proses untuk mendapatkan hasil keluaran dari sistem. 6. Keluaran sistem (Output) Hasil energi yang diolah dan diklasifikasikan menjadi output yang berguna. 7. Pengolahan sistem (Process) Suatu dapat mempunyai suatu bagian pengolah atau sistem itu sendiri sebagai pengolahnya. Pengolah yang akan merubah masukan menjadi keluaran. 8. Sasaran Sistem (objective) Suatu sistem yang mempunyai tujuan atau sasaran sistem tidak mempunyai sasaran maka sistem tidak akan ada, suatu sistem dapat dikatakan berhasil bila mengenai sasaran atau tujuannya. 11 Interface Lingkungan Luar Sub sistem Boundary Sub sistem Sub sistem Sub sistem Boundary input pengelola Boundary output Gambar 2.2 Karakteristik Sistem (Jogiyanto HM, 2005:6) 2.2.3 Definisi Informasi Informasi adalah data yang diolah menjadi bentuk yang lebih berguna dan lebih berarti baik yang menerimanya, dan menggambarkan suatu kejadian nyata serta dapat diguanakan sebagai alat untuk pengambilan keputusan. Informasi dapat berupa data mentah, data tersusun, kapasitas sebuah saluran kounikasi dan lain sebagainya. (Jogiyanto HM, 2005: 7-8) 2.2.4 Definisi Sistem Informasi Sistem informasi didefinisikan oleh Robert A. Leitch dan K. Roscoe Davis yaitu “suatu sistem didalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian, mendukung operasi, bersifat manajerial dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporanlaporan yang diperlukan. (Jogiyanto HM, 2005: 11) 2.2.5 Sistem Informasi Pendaftaran Sistem Informasi Pendaftaran adalah suatu system yang dapat melakukan seluruh pemrosesan data peserta pendaftaran, yangdibutuhkan secara cepat, tepat dan dengan mengutamakan informasi keluaran yang dapat dipertanggung jawabkan.(http://nursalam8.blogspot.com) 2.2.6 Komponen Sistem Informasi 12 John Burch dan Gary Grudnitski mengemukakan bahwa sistem informasi terdiri dari komponen-komponen yang disebutnya dengan istilah blok bangunan (Building Block), yaitu blok masukan (input block), blok model (model block), blok luaran (output block), blok teknologi (technology block), blok basis data (database block) dan blok kendali (controls block). Sebagai suatu sistem, keenam blok tersebut masing-masing saling berinteraksi satu dengan yang lainnya membentuk satu kesatuan untuk mencapai sasarannya. (Jogiyanto HM, 2005: 12) 2.3 Pemodelan Sistem 2.3.1 UML Unified Modeling Language (UML) adalah sistem notasi yang sudah dibakukan di dunia pengembangan sistem, hasil kerja bersama dari Grady Booch, James Rumbaugh dan Ivar Jacobson. Dengan UML kan bisa menceritakan apa yang seharusya dilakukan oleh sebuah sistem bukan bagaimana yang seharusnya dilakukan oleh sebuah sistem. (Munawar, 2005:25) 2.3.2 Model Diagram UML Adapun model diagram UML yang sering digunakan adalah Usecase Digram, Activity Diagram, Class Diagram, dan Sequence Diagram. 1. Use Case Diagram Use case adalah konstruksi untuk mendeskripsikan bagaimana sistem akan terlihat dimata pengguna potensial. Use case terdiri dari sekumpulan scenario yang dilakukan oleh seorang actor(orang, perangkat keras, urutan waktu atau sistem yang lain). (Munawar, 2005:71) 13 Table 2.1 Simbol Use Case Diagram Simbol Nama Simbol Aktor Keterangan Seseorang atau sesuatu yang berinteraksi dengan sistem. Use Case Menggambarkan bagaimana seseorang akan menggunakan sistem. Aliran Event Untuk mendokumentasikan aliran-aliran logika dalam setiap Use Case. Include dan Include memungkinkan Use Case untuk Extends menggunakan fungsional yang di sediakan oleh Use Case lainnya. Extends memungkinkan suatu Use Case memiliki kemungkinan memperluas fungsionalitas yang di sediakan oleh Use Case lainnya. Generalisasi Digunakan untuk memperlihatkan bahwa beberapa aktor atau usecase memiliki sesuatu yang bersifat umum. add fasilitas view fasilitas booking fasilitas customer admin edit fasilitas Gambar 2.3 Contoh Use Case Diagram (Munawar, 2005:124) 2. Activity Diagram Activity diagram adalah teknik untuk mendeskripsikan logika prosedural, proses bisnis dan aliran kerja dalam banyak kasus, akan tetapi perbedaannya 14 dengan flowchart adalah activity diagram bisa mendukung perilaku pararel sedangkan flowchart tidak bisa. (Munawar, 2005:109) Tabel 2.2 Simbol Activity Diagram. Simbol Nama Simbol Keterangan Initial State Titik awal Final State Titik akhir Action State Aktifitas Sistem Decision pilihan untuk pengambilan keputusan digunakan untuk menunjukan kegiatan yang dilakukan secara parallel atau untuk fork meggabungkan dua kegiatan parallel menjadi satu <no send action> <no receive action> Signal Send tanda pengiriman Signal Receipt tanda penerimaan 15 node awal ActionState1 Menerima Pesanan keputusan [else] Pengiriman Semalam Pengiriman Biasa Menerima Pembayaran join Menutup Pesanan akhir kegiatan Gambar 2.4 Activity Diagram (Munawar, 2005: 111) 3. Sequence Diagram Sequence Diagram adalah penjabarkan sebuah skenario tunggal seperti menunjukkan sejumlah objek contoh dan pesan-pesan yang melewati objekobjek ini di dalam use case. Di dalam sequence diagram menunjukkan beberapa notasi tambahan untuk membuat dan menghapus partisipan. Untuk membuat partisipan hanya membuat sebuah tanda panah pesan langsung ke kotak partisipan, sedangkan untuk penghapusan sebuah partisipan dengan menandai menggunakan tanda X besar garis pesan yang melewati tanda tersebut menunjukkan satu partisipan menghapus dirinya sendiri. Tabel 2.3 Simbol Sequence Diagram. Simbol Nama Simbol Object LifeLine Keterangan Partisipan Form 16 merupakan sebuah focus dari control Activation Message Message (Call) pada suatu waktu. Pesan yang mengambarkan komunikasi yang terjadi antar objek. Pesan yang mengambarkan Pemanggilan yang terjadi antar objek. Message (return) Pesan yang dikirim untuk diri sendiri. Message (return) Pesan yang dikirim untuk diri sendiri. Menambahkan pemulaan dan menghentikan Lifetime titik dari suatu object Gambar 2.5 Sequence Diagram (Munawar, 2005: 91) 4. Class Diagram Class diagram adalah deskripsi kelompok obyek-obyek dengan property, perilaku(operasi) dan relasi yang sama. Disamping itu calss diagram bias memberikan pandangan global atas sebuah system. Hal tersebut tercermin dari class-class yang ada dan relasinya satu dengan lainnya. (Munawar, 2005:219) 17 Tabel 2.4 Simbol Class Diagram. Simbol Nama Simbol Keterangan mengambarkan sesuatu yang meng- Class kapsulkan informasi di class menampung nama class, atribut dan method Digunakan untuk mengelompokan kelas- Package 1, 1…*, 0…1 Asosiasi Boundary class kelas yang mempunyai persamaan. Asosiasi yang menghubungkan class dengan class Multiplycity. Boundary class, mengambarkan class yang menjadi antar muka actors dengan system. Control Class, mengabarkan class yang Control Class menjadi control atau perantara antar class dengan database. Aggregation Aggregation mengambarkan suatu class terdiri dari class lain atau suatu class adalah bagian dari class lain. Generalization merupakan sebuah taxonomic relationship antara class yang lebih umum dengan class yang lebih khusus. 18 «interface» Koleksi +equals() +add() antarmuka class abstrak Abstarct List «interface» Daftar +get() Pesanan ketergantungan (meminta antarmuka) +equals() +get() +add() metode abstrak penerapan (menyediakan antarmuka) Array List Class1 +get() +add() dikesampingkan Gambar 2.6 Class Diagram 2.4 Basis Data Basis data adalah suatu susunan / kumpulan data operasional lengkap dari suatu organisasi / perusahaan yang diorganisir / dikelola dan disimpan secara terintgrasi dengan menggunakan metode tertentu, menggunakan computer sehingga mampu menyediakan informasi optimal yang diperlukan pemakainya. Sistem Basis Data adalah suatu sistem menyusun dan mengelola recordrecord menggunakan computer untuk menyimpan atau merekam serta memelihara data operasional lengkap sebuah organisasi / perusahaan sehingga mampu menyediakan informasi yang optimal yang diperlukan pemakai untuk proses mengambil keputusan.[Linda Marlinda, S.Kom, 2006:18]. 2.5 PHP 19 PHP (PHP:Hypertext Preprocessor) adalah merupakan bahasa pemrograman yang difungsikan untuk membangun suatu website dinamis. PHP Menyatu dengan kode HTML, maksudnya adalah beda kondisi. HTML digunakan sbagai pembangun atau pondasi dari kerangka layout web, sedangkan PHP difungsikan sebagai prosesnya sehingga dengan adanya PHP tersebut, sebuah web akan sangat mudah di-maintenance. PHP Berjalan pada sisi server sehingga PHP disebut sebagai bahasa server side scripting. Artinya bahwa dalam setiap/untuk menjalankan PHP, wajib adanya server. PHP ini bersifat open source sehingga dapat dipakai secara Cuma-Cuma dan mampu lintas platform, yaitu dapat berjalan pada sistem operasi windows maupun linux. (Agus Saputra, 2011:1) 2.6 MySQL MySQL dapat juga dikatakan sebagai database yang sangat cocok bila dipadukan dengan PHP. Secara umum, database berfungsi sebagai tempat atau wadah untuk menyimpan, mengklasifikasikan data secara professional. MySQL bekerja menggunakan SQL Language (Strructure Query Language). Itu dapat diartikan bahwa MySQL merupakan standar penggunaan database di dunia untuk pengolahan data. Pada umumnya, perintah yang saling sering digunakan dalam MySQL adalah SELECT (mengambil), INSERT (Menambah), UPDATE (mengubah), dan DELETE (menghapus). Selain itu SQL menyediakan perintah untuk membuat database, field, ataupun index guna menambah atau menghapus data. (Agus Saputra, 2011:69) 2.7 Pengujian Black – Box 20 Black – Box adalah pengujian yang terfokus apakah unit program memenuhi kebutuhan (requirement) yang disebutkan dalam spesifikasi. Pada black box testing, cara pengujian hanya dilakukan dengan menjalankan atau mengeksekusi unit atau modul, kemudian diamati apakah hasil dari unit itu sesuai dengan proses bisnis yang diinginkan. (http://kelassisteminformasi.blogspot.com/2010/06/black-box-testing.html) Tujuan metode ini mencari kesalahan pada : Fungsi yang tidak benar atau hilang Kesalahan pada interface Kesalahan dalam struktur data atau akses database Kesalahan performansi atau kinerja Kesalahan inisialisasi dan tujuan akhir 2.8 PSPad Editor PSPad Editor adalah editor programmer dengan dukungan untuk profil sintaks penyorotan ganda. dengan hex editor, CP konversi, perbedaan teks, template, macro, opsi periksa ejaan, auto-completion, Code Explorer dan banyak lagi. PSPad termasuk alat tambahan yang sangat berguna untuk mengedit HTML (kompres, kode format) dan juga mengintegrasikan TopStyle Lite dan TidyHTML. Fitur tambahan termasuk dukungan untuk proyek, browsing file, cara pintas kustom, built-in FTP klien untuk mengedit file pada server.(http://www.soppeng.com/pspad-editor.html) Gambar 2.7 PSPad Editor