BAB II LANDASAN TEORI Dalam bab ini menjelaskan teori-teori baik umum maupun khusus, tentang apa saja yang mendukung dalam pembuatan sistem ini. meliputi teori dasar sistem, teori pengembangan sistem, serta pembahasan mengenai PHP dan mySQL yang mendukung dalam pembuatan sistem ini. 2.1 Teori umum 2.1.1 Sistem 2.1.1.1 Pengertian Sistem Menurut Connolly dan Begg(2010, p266) sistem menjelaskan batasan suatu aplikasi yang utama. Suatu sistem sangatlah di butuhkan dalam perusahaan atau instansi, karena sistem adalah hal penunjang dalam kinerja perusahaan atau instansi, baik yang berskala kecil atau besar, agar dapat berjalan dengan baik diperlukan kerjasama diantara elemen yang terkait dalam sistem tersebut. 2.1.1.2 Elemen Sistem Sistem terdiri dari elemen-elemen yang saling berkaitan, elemen tersebut menyusun sebuah sistem yang terdiri dari: 1. TUJUAN Tujuan dari sistem sangat menentukan masukan yang dibutuhkan suatu sistem. 2. BATASAN 9 10 Dalam mencapai suatu tujuan dari sistem dibutuhkan batasan-batasan suatu sistem dengan sistem yang lainnya atau lingkungan luarnya. Batasan suatu sistem menunjukkan ruang lingkup dari sistem tersebut. 3. KONTROL Kontrol merupakan pengawasan dari pelaksanaan pencapaian tujuan sistem yang berupa asal masukan, frekuensi masukan data dan jenis masukan. 4. INPUT Input merupakan bagian dari sistem yang bertugas untuk menerima data dapat berupa asal masukan, frekuensi masukan data dan jenis masukan data. 5. PROSES Proses merupakan bagian yang mengolah data menjadi informasi sesuai dengan keinginan pemakai. 6. OUTPUT Output merupakan keluaran atau tujuan dari sistem yang didapat dari input dan proses yang dilakukan. 7. UMPAN BALIK Dalam suatu sistem yang baik dibutuhkan adanya umpan balik yang tujuannya sebagai perbaikan dan pemeliharaan. 2.1.2 Perangkat Lunak 2.1.2.1 Pengertian Perangkat Lunak Menurut Pressman (2010, p4) 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. Deskripsi informasi dari ke dua poin ini menjelaskan operasi dan penggunaan dari perangkat lunak 11 2.1.2.2 Karakteristik Perangkat Lunak Perangkat lunak lebih mengacu kepada logical daripada physical sistem elemen. 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. 3. Meskipun industri bergerak ke arah komponen berbasis konstruksi tetapi sebagian besar perangkat lunak tetap dibangun atau dikembangkan.. Berikut adalah karakteristik perangkat lunak (software): 1. Perangkat lunak dikembangkan atau tidak dibuat(manufactured) .Biaya (cost) perangkat lunak terpusat pada perekayasaan. Jadi proyek perangkat lunak tidak dapat dijalankan seperti proses pemanufakturan. 2. Perangkat lunak tidak habis terpakai. Tingkat kegagalan perangkat keras (hardware) yang tinggi pada awalnya, sebagai akibat dari kesalahan perancangan atau kesalahan pembuatan di pabrik. Setelah diperbaiki, tingkat kegagalan menurun sampai ke suatu tingkat yang stabil untuk beberapa periode waktu. Seiring dengan berlalunya waktu, tingkat kegagalan meningkat akibat akumulasi pengaruh debu, getaran, suhu tinggi, dan banyak masalah lingkungan lainnya terhadap komponen perangkat keras (hardware). Dengan kata lain, perangkat keras mulai habis terpakai. Sedangkan pada perangkat lunak, tingkat kegagalan yang tinggi, adalah sebagai akibat yang tidak diperkirakan. Setelah diperbaiki, tingkat kegagalan tersebut akan menurun sampai ke tingkat yang stabil. Namun, selama masa itu, perangkat lunak akan mengalami perubahanperubahan (selama maintenance). Dimana pada perubahan-perubahan itu, akan ditemukan kesalahan-kesalahan baru sehingga tingkat kegagalan akan meningkat lagi. Dan lama kelamaan, perubahanperubahan yang dilakukan dan tingkat kegagalan yang makin meningkat tersebut, membuat perangkat lunak menjadi usang. 12 3. Kebanyakan perangkat lunak dibuat sesuai kebutuhan, tidak dirakit dari komponen-komponen yang ada. Setelah perangkat keras dirancang, komponen-komponennya dapat dipilih dari katalog. Sedangkan, perangkat lunak tidak mempunyai katalog untuk komponen-komponennya. 2.1.2.3 Pengertian Rekayasa Perangkat Lunak Menurut Pressman (2010,p14), Rekayasa Perangkat Lunak adalah pembuatan dan penggunaan prinsip-prinsip keahlian teknik untuk mendapatkan perangkat lunak yang ekonomis, handal dan bekerja secara efisien pada mesin yang sesungguhnya. Rekayasa Perangkat Lunak mendirikan suatu pondasi untuk proses perangkat lunak yang lengkap dengan mengidentifikasi sejumlah aktifitas kerangka kerja yang berlaku untuk semua proyek perangkat lunak, terlepas dari hal ukuran dan kompleksitas. • Fokus pada kualitas (A Quality Focus) Pendekatan teknik apapun (termasuk rekayasa perangkat lunak) harus bersandar pada komitmen organisasi terhadap suatu mutu. Total kualitas manajemen dan filosofi yang sama mendorong budaya perbaikan proses yang berkesinambungan dan budaya inilah yang pada akhirnya mengarah pada pengembangan pendekatan yang semakin dewasa untuk rekayasa perangkat lunak. Fondasi yang mendukung rekayasa perangkat lunak adalah fokus pada kualitas. • Proses (Process) Dasar untuk rekayasa perangkat lunak adalah lapisan (layer) proses. Proses pada rekayasa perangkat lunak sebagai perekat yang memegang teknologi dan memungkinkan pengembangan perangkat lunak yang rasional dan tepat waktu. 13 • Metode (Method) Metode rekayasa perangkat lunak menyediakan teknis “bagaimana” untuk membangun perangkat lunak. Metode mencakup tugas yang mencakup analisis kebutuhan, perancangan, konstruksi program, pengujian, dan pemeliharaan (maintenance). • Alat Bantu (Tools) Alat bantu otomatis atau semi otomatis menyediakan dukungan untuk lapisan(layer) proses dan metode. Ketika alat diintegrasikan maka informasi yang dibuat oleh salah satu alat dapat digunakan oleh alat lainnya, sebuah sistem untuk mendukung perangkat lunak. 2.1.2.4 Sistem Development Life-Cycle (Waterfall Model) Menurut Roger S. Pressman (2010, p39), classic life cycle atau waterfall model adalah model klasik yang bersifat sistematis, berurutan dalam membangun software. Berikut adalah gambaran dari waterfall model : Gambar 2. 1 Sistem Development Life Cycle Sumber: (Pressman, 2010, p39). Adapun tahapan-tahapan waterfall model adalah sebagai berikut: 1. Communication Langkah ini merupakan Analisis sistem (sistem engineering and analysis) terhadap kebutuhan software, serta tahap untuk mengumpulkan data dengan mengadakan pertemuan. Perangkat lunak merupakan bagian terbesar dari sistem oleh karena itu perancangan perlu untuk dalam menentukan kebutuhan melaksanakan bagi semua 14 elemen sistem. terhubung dengan Hal ini penting elemen-elemen karena perangkat lunak akan lain seperti perangkat keras, pengguna dan basis data. 2. Planning Proses ini merupakan proses lanjutan dari communication, tahapan ini akan menghasilkan dokumen berupa user requirement atau bisa dikatakan sebagai data yang berkaitan dengan keinginan user dalam pembuatan software termasuk rencana yang akan dilakukan. Proses pengumpulan kebutuhan diintensifkan dan difokuskan khususnya terhadap perangkat lunak. Untuk mengerti pembuatan program seorang analis harus memahami informasi yang dibutuhkan perangkat lunak tersebut, fungsi-fungsi, performa, dan antarmuka. 3. Modelling Proses ini akan menerjemahkan syarat dan ketentuan dalam kebutuhan user (user requirement) dalam sebuah perancangan software yang dapat di perkirakan sebelum dilakukan coding. Perancangan perangkat lunak difokuskan pada empat atribut yang berbeda dari program : data struktur, arsitektur perangkat lunak, prosedur detil, dan karakteristik antarmuka. 4. Construction Construction merupakan proses membuat kode atau biasa di sebut coding. Pengkodean mengubah perancangan kedalam bentuk yang dapat dibaca atau dikenali komputer. Programmer akan menerjemahkan transaksi yang diminta oleh user. Tahapan ini adalah tahapan yang sangat nyata dalam mengerjakan software, dengan kata lain penggunaan komputer secara maksimal berada pada tahapan ini. Setelah tahapan ini selesai maka akan dilakukan pengujian terhadap software yang telah di buat. Proses testing ini difokuskan pada: a. Logical internal of the software Pengujian terhadap statement perangkat lunak b. Functional external Tujuannya adalah menemukan kesalahan dari sistem yang kemudian 15 akan diperbaiki. Pada pengujian ini, input yang diberikan harus mendapatkan output yang sesuai dengan yang diharapkan. 5. Deployment Tahapan ini bisa dikatakan sebagai tahapan akhir dalam pembuatan software atau sistem. Setelah melalui tahapan-tahapan sebelumnya maka sistem yang sudah jadi akan di gunakan. Kemudian software yang sudah dibuat harus dilakukan pemeliharaan secara berkala. 2.1.3 Basis Data (Database) 2.1.3.1 Pengertian Database Pengertian basis data cukup beragam banyak sumber yang telah mendefinisikan, berikut adalah sumber yang kami untuk pengertian basis data: Menurut Connolly dan Begg (2010, p65), pengertian database adalah kumpulan data yang terhubung secara logis yang dipakai bersama dan deskripsi dari data ini dirancang untuk memenuhi kebutuhan informasi sebuah organisasi. Dari sumber di atas didapat pengertian database adalah suatu sistem penyimpanan data yang tersusun atas sekumpulan data yang secara logika saling terkait yang dirancang untuk memenuhi kebutuhan informasi perusahaan. Model database relasional adalah sistem yang banyak digunakan karena struktur logikalnya yang sederhana. Pada model relasional seluruh data disusun secara logikal dalam relasi-relasi atau tabel. Setiap relasi terdiri dari baris, dan kolom dari relasi yang diberi nama tertentu disebut atribut. Sedangkan baris dari relasi disebut tuple dan setiap tuple (baris) memiliki satu nilai untuk setiap attribut. Database yang tabel-tabelnya saling terhubung dikatakan memiliki relasi. Karena tidak ada relasi yang memiliki dua tuple yang sama, maka 16 setiap baris dapat didefinisikan secara untuk dengan menggunakan primary key. Munculnya sebuah atribut dalam beberapa relasi dapat mempresentasikan hubungan antara tuple dari relasi tersebut. Pemakai database dapat berupa orang atau program aplikasi. Orang biasanya menggunakan database dari terminal dan mengambil data dan informasi dengan menggunakan query language. Query adalah pemintaan informasi dari database, dan query language adalah bahasa khusus yang userfriendly yang memungkinkan computer menjawab query. Pendekatan basis data adalah memisahkan struktur data dari program aplikasi dan menyimpannya dalam database. Database merupakan sistem penyimpanan record terkomputerisasi yang bertujuan untuk pemeliharaan informasi dan tersedia pada saat dibutuhkan. Dalam menganalisa kebutuhan informasi suatu organisasi, kita berusaha menentukan entity, attribute, dan relation.Teknologi basis data memperbolehkan sekumpulan data dengan berbagai tipe (teks, angka, gambar, suara, dan lain-lain) disimpan dalam komputer dan digunakan secara efisien tanpa adanya duplikasi oleh aplikasi yang berhubungan. 2.1.3.2 Definisi DBMS Menurut Connolly dan Begg (2010 , p66), pengertian DBMS adalah sebuah sistem piranti lunak yang memungkinkan user untuk mendefinisikan, membuat, menjaga, dan mengontrol akses ke dalam basis data. 2.1.3.3 Tujuan DBMS Tujuan utama pengolahan data dalam basis data adalah agar dapat memperoleh data yang dicari dengan mudah dan cepat. Pemanfaatan basis data dilakukan untuk memenuhi sejumlah tujuan seperti berikut ini : 1. Kecepatan dan kemudahan (speed) 2. Efisiensi ruang penyimpanan (space) 3. Keakuratan (accuracy) 17 4. Ketersediaan (availability) 5. Kelengkapan (completeness) 6. Keamanan (security) 7. Kebersamaan pemakai (sharebility) 2.1.3.4 Komponen – Komponen DBMS Menurut Connolly dan Begg (2010, p68), Database Management Sistem (DBMS) memiliki 5 komponen penting, yaitu: 1. Hardware (Perangkat Keras) Dalam menjalankan aplikasi dan DBMS diperlukan perangkat keras. Perangkat keras dapat berupaa single personal computer, single mainframe, sampai jaringan komputer. Perangkat keras yang digunakan bergantung pada persyaratan dari organisasi dan DBMS yang digunakan. 2. Software (Perangkat Lunak) Komponen perangkat lunak meliputi DBMS software dan program aplikasi beserta Sistem Operasi, termasuk perangkat lunak tentang jaringan bila DBMS digunakan dalam jaringan seperti LAN (Local Area Network). 3. Data Data merupakan komponen terpenting dari DBMS dan juga merupakan komponen penghubung antara komponen mesin (Hardware dan Software) dan komponen human (Procedures dan People). 4. Prosedur Prosedur merupakan panduan dan instruksi dalam membuat desain dan menggunakan basis data Penggunaan dari sistem dan staf dalam mengelola basis data membutuhkan prosedur dalam menjalankan sistem dan mengelola basis data itu sendiri. Prosedur di dalam basis data dapat berupa: login di dalam basis data, penggunaan sebagian fasilitas DBMS, cara menjalankan dan memberhentikan DBMS, membuat salinan backup database, memeriksa 18 hardware dan software yang sedang berjalan, mengubah struktur basis data, meningkatkan kinerja atau membuat arsip data pada media penyimpanan sekunder. 5. Manusia Komponen terakhir yaitu manusia sendiri yang terlibat dalam sistem tersebut. Komponen ini meliputi data and database administrator, database designers, application developers, dan end-users. 2.1.3.5 Diagram Alur Data (DAD) Diagram alur data (DAD) atau data flow diagram(DFD) adalah suatu teknik analisa struktur dimana sistem analyst bisa meletakkan semua representasi grafis dari proses data yang melalui organisasi (Kendall, 2005, p192). DFD mampumenggambarkan sistem informasi secara logikal maupun fisikal. DFD memiliki empatjenis simbol, yaitu : aliran data (data flow),penyimpanan data (data store), proses (proccess), sumber (source). Menurut Whitten, (2004, p334), “Data Flow Diagram (DFD) is a tool that depicts the flow of data through a sistem and the work or processing performed by that sistem” , dapat diartikan sebagai berikut, DFD adalah sebuah alat yang menggambarkan aliran data sampai sebuah sistem selesai dan kerja atau proses dan dilakukan dalam sistem tersebut. 2.1.3.6 Jenis-jenis DFD Jenis-jenis DFD antara lain: 1. Level 0 (Diagram konteks) Level ini terdapat sebuah proses yang berada di posisi pusat. 2. Level 1 (Diagram Nol) Level ini merupakan sebuah proses yang terdapat di level nol yang dipacahkan menjadi beberapa proses lainnya. 3. Level 2 (Diagram Rinci) Pada level ini merupakan diagram yang merincikan diagram dari level 1 19 • Tanda ‘*’ digunakan hanya jika proses tersebut tidak bisa dirincikan lagi. Contoh : 2.0*, artinya proses level rendah tidak bisa diperinci lagi. • Penomoran yang dilakukan berdasarkan urutan proses. 2.1.4 UML(Unified Modeling Language ) 2.1.4.1 Pengertian UML(Unified Modeling Language ) Menurut Whitten (2004,p430), UML adalah sebuah kumpulan dari konvensi pemodelan yang digunakan,untuk menentukan atau menggambarkan sebuah sistem software yang terkait dengan objek. 2.1.4.2 Class diagram Menurut Whitten (2004,p455), adalah gambar grafis menegnai struktur objek statis sebuah sistem menunjukan kelas-kelas ojek yang menyususn sebuah sistem dan juga hubungan antara kelas objek tersebut. Gambar 2. 2 Contoh Class Diagram Sumber : http://achmatim.net/wp-content/uploads/2010/01/class-diagrampenjualan.png 20 2.1.4.3 Use Case Diagram Menurut Whitten (2004,p271), Use Case Diagram adalah diagaram yang menggambarkan interaksi antara sistem dengan sistem eksternal atau pengguna. Secara grafis Use Case Diagram menggambarkan siapa yang akan menggunakan sistemdan dengan cara apa pengguna mengharapkan interaksi dengan sistem. Use case sendiri menggambarkan interaksi antara sistem,sistem eksternal, dan user, dengan kata lain mendeskripsikan siapa yang menggunakn sistem dan dengan cara apa pengguna mengharapkan interaksi dengan sistem itu. Gambar 2. 3 contoh Usecase Diagram Sumber: http://staf.cs.ui.ac.id/WebKuliah/IKI40972/review/sample-usecase.gif 21 2.1.4.4 Activity Diagram Menurut Whitten (2004,p450), Activity Diagram adalah diagram yang secara grafis menggambarkan aliran aktifitas baik proses bisnis atau use case. Diagram ini juga dapat digunakan untuk memodelkan aksi yang akan dilakukan saat sebuah operasi di eksekusi dan memodelkan hasil dari aksi tersebut. Gambar 2. 4 Contoh Activity Diagram Sumber : http://ahdazul.blog.ugm.ac.id/files/2011/05/LOGIN.jpg 2.1.4.5 Sequence Diagram Sequence diagram menggambarkan bagaimana objek berinteraksi satu sama lain melalui pesan dalam use case atau suatu operasi. Sequence diagram menggambarkan bagaimana pesan dikirim dan diterima antara objek dan dalam satu urutan. Sebuah sequence diagram memiliki aktor beserta dengan 22 pesan dan fungsi dimana pesan tersebut dikerjakan dengan berurutan seperti gambar berikut : Gambar 2. 5 Contoh Sequence Diagram Sumber: http://rahmadhidayat1.blog.ugm.ac.id/files/2010/04/4.gif 2.1.4.6 Flowchart Flowchart adalah penggambaran secara grafik dari langkahlangkah dan urut-urutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian. Flowchart biasanya mempermudah penyelesaian suatu masalah khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut. 23 Simbol-simbol flowchart yang biasanya dipakai adalah simbolsimbol flowchart standar yang dikeluarkan oleh ANSI dan ISO. Gambar 2. 6 Simbol Flowchart Proses Sumber: http://3.bp.blogspot.com/vnYD3IK4Bxk/TbbVouDKeTI/AAAAAAAAAKs/rSkJNRDjmSs/s1600/Flowchart_img_3.jpg 24 Gambar 2. 7 Simbol Flowchart Standar Sumber: http://2.bp.blogspot.com/RkfapgwEn0Y/TbbrQi_8NzI/AAAAAAAAAMI/Ri8xfTmlq3E/s640/simbol+flowchart_Page_1.j pg 25 Gambar 2. 8 Simbol Flowchart Tambahan Sumber: http://2.bp.blogspot.com/-CQDFhEZEUhQ/T444q4oewI/AAAAAAAAACU/Ty04sRts06g/s1600/Flowchart+symbol.jpg 2.1.5 Pengertian Web 26 Menurut Williams & Sawyer (2007, p63) tentang World Wide Web (www), biasa disebut dengan web,teknologi berbasis multimedia yang memungkinkan anada mengakses lebih dari sekedar teks.web juga dikenal sebagai sistem yang saling berhubungan pada komputer internet(disebut juga server) yang mana mendukung dokumen dengan format spesial dalam bentuk multimedia. 2.1.6 Hypertext Markup Language(HTML) Menurut Shelly,Woods,dan Dorin(2008,p8) HTML adalah sebuah bahasa penulisan yang digunakan untuk membuat dokumen dalam world wide web, HTML menggunakan seperangkat instruksi khusus yang disebut tags untuk mendeskripsikan struktur atau layout dari sebuah dokumen web, serta menentukan bagaimana halaman tersebut di tampilkan di browser. Menurut Shelly,Woods,danDorin(2008,p9)HTML mengkombinasikan tags deskriptif dan tags khusus yang menunjukan format style bagaimana seharusnya suatu dokumen di tampilkan dalam web browser, elemen-elemen tersebut termasuk heading, paragraph, hyperlink, list, images, dan masih banyak lagi, kebanyak elemen HTML terdiri dari 3 bagian yaitu tags pembuka, isi , dan tags penutup. 2.1.7 Cascading Style Sheet (CSS) Menurut Shelly,Woods,danDorin(2008,p10) CSS adalah sekumpulan kode yang memungkinkan untuk mengontrol sebuah elemen di dalam sebuah halaman web atau sekumpulan halaman website. 2.1.8 Web Application Menurut Conallen(2003,p9), Web Application adalah sistem web yang memungkinkan user untuk mengeksekusi logika bisnis menggunakan 27 web browser. Web Application membangun dan memperluas web sistem untuk menambahkan fungsional bisnis. 2.1.9 Interaksi Manusia dan Komputer Menurut Sneiderman (2010, p32), ada lima faktor manusia terukur yang dapat dijadikan sebagai pusat evaluasi, yaitu : 1. Waktu belajar Waktu yang dibutuhkan oleh user untuk mempelajari cara relevan dalam mengerjakan tugas dengan lancar. 2. Kecepatan kinerja Waktu yang diperlukan untuk mengerjakan suatu tugas yang diberikan. 3. Tingkat kesalahan Berapa banyak kesalahan yang dilakukan oleh userdan kesalahan- kesalahan seperti apa yang bisa terjadi saat user mengerjakan tugas tersebut. 4. Daya ingat Kemampuan user mempertahankan pengetahuannya setelah jangka waktu tertentu. 5. Kepuasan subjektif Kepuasan user terhadap berbagai aspek dari sistem. Menurut Shneiderman (2010, p88), terdapat delapan aturan emas dalam desain antarmuka yaitu: 1. Berusaha untuk konsisten Aturan ini merupakan aturan yang paling sering dilanggar, karena terdapat banyak bentuk konsistensi. Konsisten dalam hal urutan aksi, istilah yang digunakan, menu, layout, penggunaan warna, tata letak, kapitalisasi, font, dan sebagainya. 2. Menyediakan kebutuhan universal Dengan memahami kebutuhan user yang bermacam-macam dan membuat desain fleksibel yang mendukung perubahan dalam konten. 3. Memberikan umpan balik yang informatif Untuk setiap aksi user, harus ada sistem umpan balik. Untuk aksi kecil yang sering dilakukan, respon dapat dibuat dengan sederhana. 28 Sedangkan untuk aksi yang besar dan jarang dilakukan, respon harus dibuat lebih tegas dan jelas. 4. Desain dialog untuk menghasilkan penutupan atau keadaan akhir Urutan aksi hendaknya disusun ke dalam kelompok kategori awal, tengah, dan akhir. Umpan balik yang informatif dapat memberikan kepuasan pencapaian, rasa lega, sinyal untuk mempersiapkan diri memasuki kelompok kategori aksi selanjutnya. 5. Penawaran pencegahan dan penanganan kesalahan sederhana Usahakan dalam mendesain suatu sistem, diarahkan agar user tidak membuat kesalahan yang serius. Misalnya menyediakan pilihan menu, tidak mengizinkan karakter alfabet pada kotak entri numerik. Jika user melakukan kesalahan, sistem harus dapat mendeteksi kesalahan dan menawarkan instruksi yang sederhana, konstruktif, dan spesifik untuk perbaikan. Contoh, user tidak perlu mengetik ulang seluruh perintah, melainkan hanya memperbaiki bagian yang salah saja. 6. Mengizinkan pembalikan aksi yang mudah Pada suatu sistem aplikasi harus terdapat pembalikan aksi. Fitur ini dapat memperkecil kesalahan, selama user tahu bahwa aksi dapat dibatalkan. Pembalikan aksi dapat berupa tindakan tunggal, tugas data entry, atau serangkaian aksi seperti entri nama dan alamat. 7. Mendukung pusat kendali internal User yang sudah terbiasa dengan suatu aplikasi, biasanya ingin memiliki kendali atas antarmuka dan tanggapan dari aksinya. Aksi antarmuka yang tidak umum, urutan entri data yang membosankan, kesulitan dalam memperoleh informasi yang dibutuhkan, serta ketidakmampuan menghasilkan aksi yang diinginkan dapat menimbulkan keresahan dan ketidakpuasan pada user. 8. Mengurangi beban ingatan jangka pendek Manusia mempunyai keterbatasan dalam memproses informasi dengan waktu yang singkat. Oleh karena itu diperlukan tampilan yang sederhana, pengurangan jendela-gerak frekuensi, pemberian waktu pelatihan yang cukup untuk kode-kode, hafalan dan rangkaian aksi. Jika diperlukan, akses online untuk sintaks, singkatan, kode, dan informasi yang terkait harus disediakan. 29 2.2 Teori Khusus 2.2.1 Rational Unified Process (RUP) Menurut IBM (2012), Rational Unified Process (RUP) adalah kerangka proses yang menyediakan simulasi sistem pada industri untuk sistem, software, implementasi, dan manajemen proyek yang efektif. RUP adalah salah satu dari sekian banyak proses yang terdapat di dalam Rational Process Library, yang memberikan simulasi terbaik untuk pengembangan atau kebutuhan proyek. RUP mempunyai beberapa tahapan, yaitu : Gambar 2. 9 Metode RUP(Rasional Unified Process) (Sumber: http://www.ibm.com/developerworks/rational/ library/feb05/krebs/krebsfig1.gif) 1. Inception Inception merupakan tahap untuk mengidentifikasi sistem yang akan dikembangkan. Aktivitas yang dilakukan pada tahap ini antara lain mencakup analisis sistem existing, perumusan sistem target, penentuan arsitektur global 30 target, identifikasi kebutuhan, perumusan persyaratan (fungsional, performansi, keamanan, GUI, dll), perumusan kebutuhan pengujian (level unit, integrasi, sistem, performansi, fungsionalitas, keamanan, dll), UML diagram, dan pembuatan dokumentasi. 2. Elaboration Elaboration merupakan tahap untuk melakukan desain secara lengkap berdasarkan hasil analisis pada tahap inception. Aktivitas yang dilakukan pada tahap ini antara lain mencakup pembuatan desain arsitektur subsistem (architecture pattern), desain komponen sistem, desain format data (protokol komunikasi), desain database, desain user interface, pemodelan diagram UML (diagram sequence, class, component, deployment, dll.), dan pembuatan dokumentasi 3. Construction Construction merupakan tahap untuk mengimplementasikan hasil desain dan melakukan pengujian hasil implementasi. Pada tahap awal construction, ada baiknya dilakukan pemeriksaan ulang hasil analisis dan desain, terutama desain pada sequence diagram, class diagram, component dan deployment. Apabila desain yang dibuat telah sesuai dengan analisis sistem, maka implementasi dengan bahasa pemrogramanan tertentu dapat dilakukan. Aktivitas yang dilakukan pada tahap ini antara lain mencakup pengujian hasil analisis dan desain, pendataan kebutuhan implementasi lengkap (berpedoman pada identifikasi kebutuhan di tahap analisis), penentuan coding pattern yang digunakan, pembuatan program, pengujian, optimasi program, pendataan berbagai kemungkinan pengembangan atau perbaikan lebih lanjut, dan pembuatan dokumentasi. 4. Transition Transition merupakan tahap untuk menyerahkan sistem aplikasi kepada user (roll-out), yang umumnya mencakup pelatihan dan beta testing aplikasi. RUP juga mempunyai aliran kerja yang terbagi menjadi dua bagian, yaitu: 31 1. Aliran Kerja Utama a. Business Modeling Pada tahap ini, terdapat identifikasi dan deskripsi langsung dari area dan permasalahan untuk redesign atau reengineering, beserta struktur dan proses– proses bisnis organisasi. b. Requirements Tujuan utama pada fase ini adalah menyusun sistem apa yang seharusnya ada dan mengapa perlu dibuat, mendefinisikan batas dari sistem, melihat kemungkinan ancaman keamanan serta bagaimana cara penanggulangannya, dan mengestimasi biaya dan skala waktu yang rumit. Isi dari sistem dibangun yang kemudian diterjemahkan kedalam use case model dengan tambahan spesifikasi kebutuhan. Baik kebutuhan fungsional dan nonfungsional akan dikumpulkan dan dianalisis. Kebutuhan user dan stakeholder serta fitur high-level didefinisikan dan kemudian diubah menjadi specific software requirements. 32 Gambar 2. 10 Alur kerja Requirements dalam Rational Unified Process (Sumber: PT.MULTIPOLAR TECHNOLOGY.TBK) c. Analysis and Design Pada fase ini, semua requirement pada tahap kedua akan diubah menjadi spesifikasi implementasi. d. Implementation Pada tahap ini, semua analisa dan desain yang telah dibuat pada fase sebelumnya akan diimplementasikan dan diterjemahkan menjadi kode program. e. Testing Pada memverifikasi tahap ini, semua pengembang interaksi software komponen, akan kebutuhan menguji dan yang telah diimplementasikan dan kualitas dari software yang telah dikembangkan. 33 f. Deployment Pada tahap ini, pengembang software menyebarkan software yang telah selesai kepada user. Pengembang software juga menyediakan dokumentasi untuk semua fitur dan fungsi. Pada tahap ini juga, pengembang software mendapatkan umpan balik dan masukan terhadap software yang berujung pada modifikasi fungsi dan fitur agar menjadi lebih baik. 2. Aliran Kerja Pendukung a. Configuration and Change Management Tahap ini menjalankan dan merawat integritas dari proyek. Kegiatannya meliputi monitoring dan mengatur perubahan permintaan, perubahan biaya, dan tetap mengontrol berbagai versi produk. Tahap ini juga meliputi manajemen konfigurasi hardware dan software. b. Project Management Tahap ini menyediakan framework untuk mengatur software dan resiko. Tahap ini juga menyediakan pedoman untuk planning, staffing, monitoring dan secara umum menunjukan manajemen proyek. c. Enviroment Tahap ini menjelaskan tentang infrastruktur dan metode yang dibutuhkan untuk mengembangkan sistem. 2.2.2 PHP Menurut Connolly dan Begg (2010, p1043) PHP merupakan salah satu bahasa script dengan sumber terbuka yang cukup populer dan di sertai dukungan dari banyak web server lainnya, termasuk dukungan dari Apache HTTP Server dan Internet Information Server Microsoft. Pengembangan dari PHP itu sendiri juga dipengaruhi oleh sejumlah bahasa lain seperti Perl, C, dan Java maupun juga untuk sebagian halaman extend dari server yang aktif. 34 Beberapa keunggulan dari bahasa PHP dibandingkan dengan bahasa scripting lainnya adalah dari cara penulisan halaman yang dihasilkan secara dinamis dan lebih cepat, lebih mudah dipelajari dan lebih mudah digunakan. PHP memiliki library untuk berbagai web yang termasuk umum, beberapa modul ekstensi telah ada dan disediakan untuk mendukung hal-hal tersebut seperti konektivitas database, mail, dan juga XML. 2.2.3 mySQL Menurut Miftakhul Huda dan BunafitKomputer (2010, p181), MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL atau yang dikenal dengan DBMS (Database Management System), database ini multithread, multi-user.