7 BAB II LANDASAN TEORI 2.1. Konsep Dasar Sistem Untuk mendefinisikan suatu sistem pakar harus mempunyai konsep dasaruntuk memperkuat pendefinisiannya. Sistem mempunyai suatu konsep yangmendasari sebuah pengertian-pengertian yang di kemukakan oleh berbagai pakaruntuk mendefinisikan dari suatu sistem itu sendiri. 2.1.1. Pengertian Sistem Suatu sistem dapat diartikan sebagai suatu kumpulan atau himpunan dari unsur, komponen atau variable yang terorganisir, saling berinteraksi, saling tergantung satu sama lain dan terpadu (Shelly dan Rosenblatt, 2010) . Teori sistem melahirkan konsep-konsep futuristik. Salah satu konsep yang terkenal adalah konsep sibernetika (cybernetics). Konsep bidang kajian ilmiah ini terutama berkaitan dengan upaya menerapkan berbagai disiplin ilmu, yaitu ilmu perilaku, fisika, biologi dan teknik. Oleh karena itu, sibnetikan biasanya berkaitan dengan usaha-usaha otomasi tugas-tugas yang dilakukan oleh manusia sehingga melahirkan studi tentang robotika, kecerdasan buatan (artificaiaal intelegance) lain adalah masukan (input), pengelolahan dan keluaran output). 2.1.2. Karakteristik Sistem Sebuah sistem mempunyau karakteristik atau sifat-sifat tertentu, yaitu : 1) Komponen Sistem (Components) Susatu sistem terdiri dari sejumlah atau elemen yang saling berinteraksi, artinya komponen atau elemen yang saling bekerja sama dalam bentuk satu kesatuan. 2) Batasan Sistem (Boundary) Batasan sistem merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lainnya atau dengan lingkungan luar. Batas suatu sism menunjukkan lingkup (scope) dari sistem tersebut. 3) Lingkungan Luar Sistem (Environments) Lingkungan luar dari suatu sistem adalah apapun diluar batas dari sistem yang mempengaruhi operasi dari sistem. Lingkungan luar yang menguntungkan merupakan energi dari sistem dan demikian harus dijaga dan dipelihara. Sedangkan 7 http://digilib.mercubuana.ac.id/ 8 lingkungan yang merugikan harus ditahan dan dikendalikan. Jika tidak maka akan menggangu kelangsungn sistem. 4) Penghubung Sistem (Interface) Penghubung sistem merupakan media penghubung antara satu subsistem dengan subsistem yang lain untuk berinteraksi membentuk kesatuan. 5) Masukan Sistem (Interface) Masukan sistem merupakan energi yang dimasukan kedalam sistem yang berupa masukan perawatan (maintenance input)dan keluarannya (signal output). 6) Keluaran Sistem (output) Keluaran sistem adalah hasil dari energi yang diolah dan diklasifikasikan menjadi keluaan yang berguna. 7) Pengolahan Sistem (Process) Suatu sistem dapat mempunyai suatu bagian pengelolahan yang akan merubah masukan menjadi keluaran yang berguna. 8) Sasaran Sistem (objective) atau tujuan sistem (Goal) Suatu sistem harus mempunyai sasaran, karena sasaran sangat menentukan sekali masukan yang dibutuhkan oleh sistem dan keluaran yang dihasilkan sistem. Suatu sistem dapat dikatakan berhasil apabila mengenai sasaran dan tujuan. 2.2. Analisis Sistem Analisis sistem merupakan tahapan yang sangat kritis dan penting karena kesalahan dalam tahap ini dapat mempengaruhi tahapan selanjutnya, Analisis sistem dapat didefinisikan sebagai penentuan hal-hal detail tentang apa saja yang akan dikerjakan oleh sistem yang diusulkan. Analisis sistem mecakup studi kelayakan dan analisis kebutuhan. 1) Studi Kelayakan Studi kelayakan digunakan untuk menentukan kemungkinan keberhasilan solusi yang diusulkan. Tahapan ini berguna untuk memastikan bahwa solusi yang diusulkan tersebut benar-banar dapat dicapai dengan sumber daya dan dengan memperhatikan kendala serta dampak yang akan muncul. Tugas-tugas yang terdapat dalam studi kelayakan yaitu : http://digilib.mercubuana.ac.id/ 9 a. Penentuan masalah dan peluang yang dituju sistem. b. Pembentukan sasaran sistem baru secara keseluruhan. c. Pengidentifikasian para pemakai sistem. d. Pembentukan lingkup sistem. 2) Analisis Kebutuhan Analisis kebutuhan dilakukan untuk menghasilkan spesifikasi kebutuhan. Spesifikasi kebutuhan adalah spesifikasi yang dirinci tentang hal-hal yang akan dilakukan sistem ketika diimplementasikan. 2.3. 2.3.1. Manajemen Proyek Pengertian Manajement Manajemen proyek terdiri dari dua kata yaitu Manajemen dan Proyek. Manajemen meliputi kegiatan merencanakan, mengorganisasi, mencari sumber daya, memberi instuksi, memantau kemajuan, mengontrol, memiliki inovasi dan merepresentasi (Kemp 2010). Manajemen adalah suatu proses perencanaan pengorganisasian, pengarahan dan pengawasan, usaha-usaha para anggota organisasi dan penggunaan sumber daya-sumber daya organisasi lainnya agar tercapai tujuan organisasi yang telah ditetapkan. (http://library.usu.ac.id/download/fe/manajemen-ritha1.pdf) Dari beberapa pendapat di atas, maka disimpulkan bahwa manajemen itu adalah proses perencanaan, pengaturan, pengkontrolan, dan pengkoordinasian kegiatankegiatan kerja dan penggunaan sumber daya agar tercapainya suatu hasil dan tujuan yang diinginkan. 2.3.2. Pengertian Proyek Proyek dapat diasumsikan sebagai sesuatu yang besar untuk ditentukan bagaimana cara untuk menyelesaikan suatu pekerjaan(Kemp 2010). Beberapa karakteristik proyek dapat disimpulkan antara lain : 1. Pekerjaan yang tidak rutin dilibatkan 2. Diperlukan perencanaan 3. Objektif yang spesifik dapat dillihat atau produk yang spesifik dapat dibuat 7 4. Pekerjaan diselesaikan oleh beberapa orang 5. Pekerjaan diselesaikan dalam beberapa fase 6. Sumber daya yang dapat digunakan dalam proyek dibatasi 7. Proyek itu besar dan kompleks, proyek adalah suatu usaha yang bersifat sementara untuk menghasilkan suatu produk atau layanan yang unik (Kemp 2010). Proyek normalnya melibatkan beberapa orang yang saling berhubungan aktivitasnya. (Kemp 2010) atribut suatu proyek antara lain : 1. Sebuah proyek memiliki tujuan yang khusus. Proyek harus menghasilkan suatu produk khusus, layanan dan hasil akhir 2. Proyek bersifat sementara. Proyek memiliki awal dan http://digilib.mercubuana.ac.id/ 10 akhir yang jelas 3. Proyek membutuhkan sumberdaya yang didapat dari berbagai area. Sumberdaya dapat berupa hardware, software dan sumberdaya lainnya yang dilakukan oleh pengguna sistem tersebut 4. Proyek harus memiliki pelanggan utama ( primary customer) atau sponsor. 5. Proyek melibatkan ketidakpastian, karena setiap proyek bersifat unik sehingga sangat sulit untuk menentukan objektifitas proyek, mengestimasi waktu dan biaya proyek. (Kemp 2010)setiap proyek memiliki batasan yang berbeda terhadap ruang lingkup, waktu dan biaya yang biasanya disebut sebagai triple constraint (tiga kendala). Seperti itu pula seorang project manager harus memperhatikan hal-hal penting dalam manajemen proyek : 1. Ruang lingkup ( scope ) : apa yang ingin dicapai dalam proyek, produk atau layanan apa yang pelanggan harapkan dari proyek tersebut 8 2. Waktu ( time ) : berapa lama waktu yang dibutuhkan untuk menyelesaikan proyek dan bagaimana jadwal kegiatan proyek akan dilaksanakan 3. Biaya ( cost ) : berapa biaya yang dibutuhkan untuk menyelesaikan proyek Dari beberapa beberapa pendapat di atas, maka disimpulkan bahwa proyek adalah proyek bersifat sementara namun dibutuhkan sub-sub pekerjaan dalam halhal waktu, biaya dan sumber daya yang dapat menunjang jalannya proyek agar dapat menghasilkan produk atau hasil yang baik dan jelas. 2.3.3. Pengertian Manajemen Proyek Manajemen proyek adalah suatu cara untuk menyelesaikan masalah yang harus dipaparkan oleh user, kebutuhan user harus terlihat jelas dan harus terjadi komunikasi yang baik agar kebutuhan user bisa diketahui. (Kemp 2010)Manajemen Proyek adalah aplikasi pengetahuan, keahlian, peralatan dan teknik untuk kegiatan proyek yang sesuai dengan kebutuhan proyek. Sedangkan pendapat lain menyatakan bahwa manajemen proyek adalah cara mengorganisir dan mengelola sumber penghasilan yang penting untuk menyelesaikan proyek. (http://id.wikipedia.org/wiki/Manajemen_proyek) Dari beberapa pendapat diatas, maka disimpulkan bahwa manajemen proyek adalah kegiatan merencanakan, mengatur, mengkoordinasikan seluruh sumber daya, biaya, waktu untuk menghasilkan suatu hasil yang bersifat sementara atau suatu produk yang unik dan sesuai dengan kebutuhan yang diminta. Adapun perbedaan antar manajemen proyek sistem informasi dan teknologi informasi adalah : 9 Manajemen proyek sistem informasi ditekankan pada tiga faktor, yaitu : manusia, masalah dan proses. Dalam pekerjaan sistem informasi faktor manusia sangat berperan penting dalam suksesnya manajemen proyek. Pentingnya faktor manusia dinyatakan dalam model kematangan kemampuan manajemen manusia (a people management capability maturity model/ PM-CMM) yang berfungsi untuk meningkatkan kesiapan organisasi perangkat lunak (sistem informasi) dalam menyelesaikan masalah dengan melakukan kegiatan menerima, memilih, kinerja manajemen, pelatihan, http://digilib.mercubuana.ac.id/ 11 kompensasi, pengembangan karier, organisasi dan rancangan kerja serta pengembangan tim Sedangkan teknologi informasi dilihat dari kata penyusunnya adalah teknologi dan informasi. Secara mudahnya teknologi informasi adalah hasil rekayasa manusia terhadap proses penyampaian informasi dari bagian pengirim ke penerima sehingga pengiriman informasi tersebut akan lebih cepat, lebih luas sebarannya dan lebih lama penyimpanannya. Maka dari itu disimpulkan bahwa, manajemen proyek teknologi informasi adalah merencanakan, menyusun, mengorganisasikan seluruh sumber daya, waktu, dan biaya untuk membuat suatu rekayasa manusia terhadap proses penyampaian informasi kepada penerima akan lebih cepat, lebih luas sebarannya dan lebih lama penyimpanannya. 2.4. Tahapan Utama Manajemen Proyek Menurut Sartika Kurniali dkk (2013 : 43 ) terdapat 5 tahapan manajemen proyek : 1. Tahap Inisiasi (Initiation) Tahap ini merupakan tahap awal suatu proyek. Setelah pembuatan SPK (surat perintah kerja), kontrak kerja, statetement of work (SOW), PO (purchase order atau job order) atau bentuk kesepakatan dan order lainya, maka suatu perusahaan, organisasi, maupun tim dapat dikatakan telah memasuki tahap awal proyek. Proses utama dari tahap ini menghasilkan dua dokumen yaitu : a. Project Charter, merupakan dokumen dimulaianya proyek yang tujuan utamanya adalah menunjuk manajer proyek, menjelaskan kebutuhan proyek ( durasi, anggaran, otorisasi, kendala, dan lain-lain). b. Stakeholder Register, merupakan proses proses untuk menghasilkan daftar pemangku kepentingan dalam proyek. 2. Tahap Perencanaan (Planning) Target utama dari tahap ini adalah menghasilkan master dokumen perencanaan proyek atau Project Management Plan. Bobot isi dari dokumen ini bervariasi, bergantung dari kompleksitas proyek. Proses utama terkait tahap perencanaan yaitu : a. Merangkum kebutuhan dan keinginan klien b. Merinci unit-unit pekerjaan (subproyek/kegiatan) c. Melakukan estimasi biaya d. Menentukan standard an kebijakan mutu e. Perencanaan sumberdaya manusia http://digilib.mercubuana.ac.id/ 12 f. Prencanaan manajemen resiko 3. Tahap Pelaksanaan (Execution) Dalam suatu proyek ujian dan “seni” yang sesungguhnya terletak pada tahap pelaksanaan yang umumnya beriringan dengan pengawasan. Tugas pengelola proyek pada tahap ini adalah memfasilitasi dan mengawasi tim agar dapat bekerja sesui dokumen perencanaan terutama mengawal tim agar tidak behind schedule (jadwal mundur) ataupun over budget (anggaran minus). 4. Tahap Pengawasan (Monitoring and Control) Selain melakukan perencanaan, mengawasi dan memotivasi tim. Tugas utama seoran manajer proyek adalah melakukan pengawasan dan pemantauan. Tujuan utama dalam tahap pengawasan adalah memastikan agar pelaksanaan proyek tidak jauh menyimpang dari rencana. Terutama dari sisi waktu, mutu, resiko, anggaran, dan ruang lingkup pekerjaan. 5. Tahap Penyelesaian (Closing) Dalam tahap ini ada beberapa aktifitas yang penting dilakukan yaitu : a. Memastikan persetujuan resmi dari sponsor atau klien terkait penyelesaian pekerjaan. b. Mengadakan evaluasi akhir proyek (lessons learned). c. Mengkaji apakah metodologi manajemen proyek perlu diperbaiki. d. Merapikan arsip dokumentasi proyek. e. Memberi masukan kepada manajemen perusahaan terkait hal-hal yang dirasakan bermanfaat selama proyek dijalankan. f. Menyelesaikan kewajiban dengan pihak-pihak terutama pihak pemasok (supplier/vendor), outsourcing, dan sebagainya. 2.5. Penilaian Sumber Daya Manusia Dalam dunia kerja banyak sekali faktor yang dapat memotivasi karyawan untuk bekerja lebih produktif dan menghasilkan output yang memuaskan, hal tersebut dapat terlihat apabila dalam sebuah perusahaan terdapat proses penilaian kerja untuk setiap karyawan yang terlibat dalam pekerjaan. Adapun pengertian dari penilaian itu sendiri adalah sebagai berikut: Penilaian prestasi kerja adalah proses evaluasi prestasi atau unjuk kerja pegawai yang dilakukan oleh organisasi. Melalui kegiatan ini, para manajer atau supervisor bisa memperoleh data tentang bagaimana pegawai bekerja. Jika prestasi pegawai masih di http://digilib.mercubuana.ac.id/ 13 bawah standar, maka harus segera diperbaiki. Sebaliknya jika prestasi kerjanya sudah baik prilaku tersebut harus diberi penguat (reinforcement) supaya pegawai tersebut menampilkan kembali prestasi kerja yang kita kehendaki. Adapun Penilaian prestasi kerja didefinisikan sebagai berikut. (Justine.T.Sirait,2007) 1. Menetapkan standar kerja. 2. Menilai prestasi kerja pegawai secara nyata dibandingkan dengan standar kerja yang telah di tetapkan. 3. Memberikan umpan balik kepada pegawai dengan tujuan untuk memotivasi pegawai agar meninggalkan prestasi yang sudah baik. Pada saat sekarang ini, banyak perusahaan mengkombinasikan ketiga dimensi yaitu trait, behavior dan hasil kerja dengan asumsi bahwa individu yang memiliki watak baik (trait) akan melakukan proses dengan benar (perilaku) sehingga mampu menghasilkan output yang bermutu (hasil kerja). Gambar 2.9 Dimensi Penilaian Dalam perkembanganya, unsur –unsur di luar trait juga bisa ditambahkan sebagai bagian dari penilaian terhadap input, misalnya motif, sistem nilai, konsep diri dan pengetahuan. 2.5.1. Proses Penilaian Kinerja Disamping isi penilaian kinerja, hal peting lain dalam penilaian kinerja adalah proses penilaian kinerja. (Budi Purwanto,2010). Proses penilaian kerja terkait dengan hal-hal sebagai berikut: 1. Kapan waktu yang tepat untuk melakukan penilaian kinerja (bulanan, kuartalan, semesteran, atau tahunan).? 2. Bagaimana melakukan proses penilaian kinerja secara efektif dan efisien (memakai pinsl dan kertas atau komputer, penilaian dilakukan hanya ole atasan atau bersifat 360 derajat, ada sesi pemberian feedback atau tanpa pemberian feedback).? http://digilib.mercubuana.ac.id/ 14 Dalam proses penilaian adakalanya manipulasi atau kesalahan penilaian masih terjadi adapun Empat error yang terjadi akibat adanya hambatan psikologis antara atasan sebagai penilai dan bawahan sebagai pihak yang dinilai adalah sebagai berikut: 1. Halo Error, yaitu rating didasarkan atas sesuatu yang bersifat global dan bukan atas dasar penilaian terhadap dimensi penilaian yang lebih detail. 2. Leniency Error, yaitu penilaian yang condong sama terhadap semua orang yang dinilai (semua jelek atau semua baik). Kondisi ini di dunia pendidikan dikenal dengan istilah dosen pelit dan dosen murah hati. 3. Central tendency error, yang mirip dengan leniency error, tetapi penilaian condong sama ke tengah, yaitu semua dinilai pada level rata – rata. Hal ini biasanya banyak dilakukan oleh penilai yang memiliki safety Player. 4. Recency error. Yaitu penilaian yang didasarkan hanya pada peristiwa yang terjadi beberapa saat sebelum prses penilaian kinerja dilakukan. Ini bisa terjadi jika penilaian tidak rajin mencatat atau tidak pernah mendokumentaskan critical incident yang menyangkut bawahanya. 2.5.2. Sistem Penilaian Multi Raters Banyaknya kesalahan yang muncul dalam proses penilaian kinerja mendorong munculnya sistem penilaian 360 derajat yang melibatkan multi raters. Dalam sistem 360 derajat penilaian biasanya terdiri atas diri sendiri, atasan, bawahan, rekan kerja dan customer. Dengan multi raters maka hambatan psikologis yang dialami oleh atasan selaku penilai tunggal bisa dikurangi, bahkan dihilangkan. Namun karena melibatkan lebih dari satu penilai, maka pendekatan 360 derajat ini menjadi lebih kompleks dan hanya akan berhasil baik jika dilakukan tidak dengan cara manual atau konvensional. Selain mengurangi beban psikologis model 360 derajat ini dibandingkan dengan penilaian kinerja model tradisional adalah dalam fokusnya terhadap unsur feedback untuk keperluan perbaikan ke depan. Sebagaimana diketahui bersama fokus penilaian penilaian oleh coach akan digunakan untuk dasar pemberian feedback terkait dengan pengembagnan skill (atau kompensasi) dan pengambilan keputusan terkait promosi. Sementara itu hasil penilaian oleh proses integrator akan dipakai untuk dasar pemberian feedback terkait dengan proses kerja dan pengambilan keputusan. (Budi Purnawanto, 2010). 2.5.3. Hasil Proses Penilaian Kinerja Hasil dari proses penilaian kinerja adalah peringkat (rating) kinerja. Berikut ini contoh peringkat kinerja, yang berurutan dari yang tertinggi hingga terendah: http://digilib.mercubuana.ac.id/ 15 Value Explanation 1 Unsastisfatory (Tidak memuaskan) - Jauh di bawah harapan. Beberapa kinerja memenuhi harapan di daerah fokus tapi hasil jauh dibawah harapan. Ada kebutuhan yang pasti untuk perbaikan. 2 Reasonable (Cukup) - Kinerja sedikit di bawah ekspektasi. Beberapa kinerja memenuhi harapan dalam area fokus ini tapi masih perlu untuk perbaikan. 3 Good (Baik) - Harapan telah terpenuhi. Harapan dalam area fokus ini telah tercapai tapi masih perlu untuk perbaikan. 4 Very Good (Sangat Baik) - Telah melampaui harapan dan telah memenuhi apa yang diharapkan dari area fokus ini. 5 Outstanding (Luar Biasa) - Telah melampaui harapan dan lebih dari yang diharapkan yang dilakukan dalam area fokus ini. N/A Kompetensi tidak dapat dievaluasi Rating kinerja biasanya digunakan untuk keperluan pengambilan keputusan terkait dengan remunerasi dan promosi. Individu dengan peringkat yang lebih tinggi akan mendapatkan reward (dalam bentuk merit Increase) yang lebih besar dibandingkan dengan mereka yang peringkat lebih rendah, dan demikian pula sebaliknya. Kesempatan promosi juga lebih cenderung di berikan kepada individu dengan peringkat kinerja tertinggi.(Budi Purnawanto, 2010). 2.6. Monitoring Monitoring adalah pemantauan yang dapat dijelaskan sebagai kesadaran (awareness) tentang apa yang ingin diketahui, pemantauan berkadar tingkat tinggi dilakukan agar dapat membuat pengukuran melalui waktu yang menunjukkan pergerakan ke arah tujuan atau menjauh dari itu. Monitoring akan memberikan informasi tentang status dan kecenderungan bahwa pengukuran dan evaluasi yang diselesaikan berulang dari waktu ke waktu, pemantauan umumnya dilakukan untuk tujuan tertentu, untuk memeriksa terhadap proses berikut objek atau untuk mengevaluasi kondisi atau kemajuan menuju tujuan hasil manajemen atas efek tindakan dari beberapa jenis antara lain tindakan untuk mempertahankan manajemen yang sedang berjalan. 2.6.1. Sistem Monitoring Pengertian sistem monitoring dari kamus online (nonprofit dictionary) adalah “A monitoring system is the way an organization collects and analyzes data about itself in order to maximize its achievement”. Sebuah sistem monitoring melakukan proses http://digilib.mercubuana.ac.id/ 16 pengumpulan data mengenai dirinya sendiri dan melakukan analisis terhadap data-data tersebut dengan tujuan untuk memaksimalkan seluruh sumber daya yang dimiliki. Data yang dikumpulkan pada umumnya merupakan data yang real-time, baik data yang diperoleh dari sistem yang hard real-time maupun sistem yang soft real-time. Sistem yang real-time merupakan sebuah sistem dimana waktu yang diperlukan oleh sebuah komputer di dalam memberikan stimulus ke lingkungan eksternal adalah suatu hal yang vital. Waktu di dalam pengertian tersebut berarti bahwa sistem yang real-time menjalankan suatu pekerjaan yang memiliki batasan waktu tertentu (deadline). Di dalam batasan waktu tersebut suatu pekerjaan mungkin dapat terselesaikan dengan benar, atau sebaliknya dapat juga belum terselesaikan. Sistem yang hard real-time mengharuskan bahwa suatu pekerjaan harus terselesaikan dengan benar. Sesuatu yang sangat buruk akan terjadi apabila komputer tidak mampu menghasilkan output dengan tepat waktu. Hal ini seperti yang sering terjadi pada embedded system untuk kontrol suatu benda, seperti pesawat terbang, mesin jet, dan yang lainnya. Sistem yang soft real-time tidak mengharuskan bahwa suatu pekerjaan harus terselesaikan dengan benar. Seperti sistem pada multimedia dimana tidak akan memberikan pengaruh yang begitu besar terhadap output yang dihasilkan apabila untuk beberapa batasan waktu yang telah ditetapkan terjadi kehilangan data. Namun hal tersebut umumnya masih bisa ditoleransi. 2.7. Metode Waterfall Metode waterfall adalah sebuah metode yang menyarankan sebuah pendekatan yang sistematis dan sekuensial melalui tahapan-tahapan yang ad pada SDLC (Software Development Life Cycle)untuk membangun perangkat lunak(SATZINGER 2010). Gambar 2.1 Metode waterdall http://digilib.mercubuana.ac.id/ 17 Dari gambar 2.1 dapat dilihat bahwa tahapan metode waterfall diawali oleh: 1) Sistem Engineering Karena perangkat lunak adalah bagian dari sebuah sistem yang lebih besar, pekerjaan dimulai dari pembentukan kebutuhan-kebutuhan seluruh elemen sistem dan kemudian memilah mana untuk pengembangan perangkat lunak. 2) Analisa KebutuhanSoftware Pengumpulan kebutuhan dengan fokus pada perangkat lunak, yang meliputi: domain informasi, fungsi yang dibutuhkan, untuk kerja/performasi dan antarmuka. 3) Design Ada 4 atribut untuk program yaitu: struktur data, asitektur perangkat lunak, prosedur detail dan karakteristik antar muka. Proses desain mengubah kebutuhankebutuhan menjadi bentuk karakteristik yang dimengerti perangkat sebelum penulisan program. 4) Coding Penterjemah perancangan kebentuk yang dapat dimengerti oleh mesindengan menggunakan bahasa pemograman 5) Testing Setelah kode program selesai proses pengujian dapat dilakukan. Testing memfokuskan pada logika internal dari perangkat lunak, fungsi eksternal untuk mencari segala kemungkinan kesalahan dan pemeriksaan apakah sesuai dengan hasil yang diinginkan. 6) Maintenance Merupakan bagian akhir dari siklus pengembangan dan dilakukan setelah perangkat lunak siap dipergunakan 2.8. Konsep Dasar Sistem berorientasi objek Konsep dasar pemrograman yang lakukan pada pembuatan skripsi ini dibuat dengan konsep pemrograman berorientasi objek (OOP)(Kendal 2011), adapun konsep Pemograman OOP yang akan dibahas seperti : 1) Kelas (Class) http://digilib.mercubuana.ac.id/ 18 Kelas merupakan kumpulan objek yang memiliki kemiripan, ciri atau karakteristik. Kelas didefinisikan sebagai blue printyang mendefinisikan variable-variable dan metode-metode yang umum untuk semua objek. 2) Data/ Atribut/ Variabel Data adalah Komponen terkecil di dalam class atau karakteristik dari suatu class. Data merupakan istilah lain dari variable pada pemrograman berorientasi objek. 3) Objek (Object) Object adalah Bentuk nyata dari suatu class, dengan kata lain bentuk sederhana (instansiasi) dari class.Bentuk umum:NamaClass NamaObject =new NamaClass(). 4) Metode (Method) Sebuah method adalah bagian-bagian kode yang dapat dipanggil oleh programutama atau dari method lainnya untuk menjalankan fungsi yang spesifik di dalam kelas. Method dapat dibagi menjadi fungsi dan prosedur. Fungsi adalah bagian atau sub dari program yang mempunyai algoritma tertentu dalam menyelesaikan suatu masalah dengan mengembalikan hasil. 5) Constructor Constructor merupakan suatu method yang akan memberikan nilai awal pada saat suatu objek dibuat. Pada saat program dijalankan, constructor akan langsung memberikan nilai awal pada saat perintah new, membuat suatu objek.Pada saat kita bekerja dengan constructor, hal mendasar yang perlu diperhatikan, yaitu : nama Constructor sama dengan nama Class., tidak ada return type yang diberikan kedalam Constructor Signature, tidak ada return stetement, didalam tubuh constructor. 6) Pewarisan (Inheritance) Dalam pemrograman berbasis objek, Inheritance memungkinkan suatu Class bisa mewariskan atribut dan Method kepada Class yang lainnya atau subClass, sehingga membentuk Class hirarki. 7) Banyak Bentuk (Polymorphism) Karakteristik dari polymorphism yaitu memungkinkan suatu objek dapat memiliki berbagai bentuk atau banyak bentuk. Bentuk dari objek ini bisa sebagai Object dari Classnya sendiri atau Object dari superClassnya. http://digilib.mercubuana.ac.id/ 19 8) Pembungkusan (Enkapsulasi) Merupakan suatu cara bagaimana menyembunyikan sedemikian rupa suatu proses kedalam sistem, hal ini berguna untuk menghindari interferensi dari luar sistem dan juga lebih untuk menyederhakanan sistem itu sendiri. 9) Peckage Peckage adalah sebuah kontainer atau kemasan yang dapat digunakan untuk mengelompokkan kelas-kelas sehingga memungkinkan beberapa kelas yang bernama sama disimpan dalam peckage yang berbeda. 2.9. Unified Modelling Language (UML) Unified Modelling Language(UML) merupakan bahasa visual untuk pemodelan dan komunikasi mengenai sebuah sistem dengan menggunakan diagram dan teks- teks pendukung. UML hanya berfungsi untuk melakukan pemodelan. Jadi penggunaan UML tidak terbatas pada metodologi tertentu, meskipun pada kenyataannya UML paling banyak digunakan pada metodologi berorientasi objek .(Dennis and Wixom 2010). 2.9.1. Use Case Use Casepemodelan untuk kelakuan (behavior) sistem informasi yang dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Simbol-simbol use case dapat dilihat pada Tabel 2.1. Nama Simbol Use case Keterangan Fungsionalitas nama use case 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 di luar sistem informasi yang akan dibuat itu sendiri. Asosiasi / association Komunikasi antara aktor dan use case yang berpartisipasi pada use case atau use case memiliki interaksi dengan aktor. http://digilib.mercubuana.ac.id/ 20 Ekstensi / extend << extend >> Komunikasi antara aktor dan use case yang berpartisipasi pada use case atau use case memiliki interaksi dengan aktor. include / uses << uses >> Relasi use case tambahan ke sebuah use case danuse case yang ditambahkan memerlukan use case ini untuk menjalanakan fungsinya atau sebagai syarat dijalankan use case ini. Generalisasi / Hubungan generalisasi dan spesialisasi generalization (umum-khusus) antara dua buah use case yang salah satu fungsinya adalah fungsi yang lebih umum dari lainnya. Table 2.1 : Simbel Use Case Gambar 2.2 Contoh Use Case 2.9.2. Class Diagram Menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem. Simbol-simbol yang ada pada class diagram dapat dilihat pada Tabel 2.2 Nama Simbol Keterangan Sama dengan konsep interface dalam Antamuka/interface nama_interface pemrograman berorientasi objek. http://digilib.mercubuana.ac.id/ 21 Asosiasi / ssociation Relasi antarkelas dengan makna umum, asosiasi biasanya juga disertai dengan multiplicity. Asosiasi berarah / Relasi antarkelas dengan makna class yang directed association satu digunakan oleh class yang lain, asosiasi biasanya juga disertai dengan multiplicity. Generalisasi Relasi antarkelas dengan makna generalisasispesialisasi (umum-khusus). Kebergantungan / Realasi antarkelas dependency kebergantungan antarkelas.. Agregasi / Relasi antarkelas dengan makna semua- aggregation bagian (whole-part). Table 1.2 : Simbol class diagram Gambar 2.3 Contoh Class Diagram http://digilib.mercubuana.ac.id/ dengan makna 22 2.9.3. Activity Diagram Diagram aktivitas atau activity diagram menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis .Simbol-simbol yang ada pada Activity Diagram dapat dilihat pada Tabel 2.3 Nama Simbol Keterangan Status Awal Status awal aktivitas sistem. Aktivitas Aktivitas yang dilakukan sistem, aktivitas aktivitas biasanya diawali dengan kata kerja. Percabangan / Asosiasi percabangan jika ada pilihan decision aktivitas lebih dari satu. Penggabungan / Asosiasi penggabungan yang aktivitasnya join lebih dari satu dan digabungkan menjadi satu. Status akhir Swimlane Status akhir yang dilakukan sistem. nama swimlane Memisahkan organisasi bisnis yang bertanggung jawab terhadap aktivitas yang terjadi. Table 2.2 : Simbol activity diagram http://digilib.mercubuana.ac.id/ 23 Gambar 2.3 Contoh Aktivity Diagram 2.9.4. Sequence Diagram Sequence Diagram menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan menerima antar objek. Simbol-simbol yang ada pada Activity Diagram dapat dilihat pada Tabel 2.4. Nama Simbol Keterangan Actor Menggambarkan user/pengguna Life line Objek entity antar muka yang saling berintegrasi Boundry Menggambarkan sebuah form http://digilib.mercubuana.ac.id/ 24 control Menghubungkan boundy dengan table Message Spesifikasi komunikasi antar objek yang memuat informasi-informasi tentang aktifitas yang terjadi Entity Class Digunakan untuk menggambarkan hubngn kegiatan yang akan dilakukan Table 2.3 : Simbol Sequence diagram Gambar 2.4 Contoh Sequence Diagram 2.10. Basis Data Ada dua pendekatan untuk menyimpan data dalam sistem yang berdasarkan komputer. Metode yang pertama adalah menyimpan data dengan file individu, masingmasing khusus untuk aplikasi tertentu. Pendekatan kedua untuk penyimpanan data dalam sistem berdasarkan komputer meliputi membangun basis data. Basis data didefinisikan secara formal dan mengontrol penyimpanan data terpusat yang dimaksud untuk penggunaan dalam banyak aplikasi berbeda. 2.10.1. Pengertian Basis Data Menurut Connolly dan Begg (2010: 65), basis data adalah koleksi dari berbagai data secara logis yang terkait, dan deskripsi dari data ini dirancang untuk memenuhi kebutuhan informasi suatu organisasi http://digilib.mercubuana.ac.id/ 25 2.10.2. Database Management System (DBMS) Menurut Connolly dan Begg (2010: 66), Database Management System adalah sebuah sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, menciptakan, memelihara, dan kontrol akses ke basis data. DBMS memberikan beberapa fasilitas. Fasilitas DBMS antara lain mengizinkan pengguna untuk mendefinisikan basis data, biasanya melalui Data Definition Language (DDL).DDL memungkinkan pengguna untuk menentukan tipe data dan struktur dan kendala pada data yang akan disimpan dalam basis data. Selain itu DBMS juga mengizinkan pengguna untuk memasukkan, mengubah, menghapus, dan mengambil data dari basis data melalui Data Manipulation Language (DML). 2.10.3. SQL dan PL/SQL 2.10.3.1. SQL SQL singkatan dari Structured Query Language. Structured Query Language (SQL) merupakan bahasa generasi keempat yang relatif mudah dipahami (Greenberg et al. 2010). Perintah-perintah dinyatakan dalam bahasa inggris sederhana dan mempunyai struktur linear dalam baris-baris terurut.Secara umum SQL dapat digunakan untuk melakukan proses penambahan data, penghapusan data, perbaikan data, melihat data yang tersimpan dan membentuk laporan, serta melakukan ekstraksi informasi dalam suatu database 2.10.3.2. PL/SQL Dalam pembahasan sebelumnya, untuk mengakses database oracle kita menggunakan bahasa SQL. SQL merupakan bahasa yang efisien dalam mengaksesdan memanipulasi data. Walaupun SQL membuat pekerjaan menjadi mudah, ada saatnya kita ingin memanfaatkan bahasa prosedural untuk memanipulasi data (Gupta 2012). Misalnya ingin memanfaatkan fungsi control if-then - else atau looping. Tentunya tidak dapatmengandalkan SQL sepenuhnya. Di sini kita membutuhkan PL/SQL, bahasa pemrograman yang menggabungkan fleksibilitas SQL (bahasa tingkat empat atau 4GL) dengan bahasa prosedural (bahasa tingkat 3 atau 3GL). PL/SQL singkatan dari Procedural Language / SQL. PL/SQL menambahkan SQL dengan bahasa-bahasa prosedural, seperti : Variabel Struktur kontrol seperti if- then - else dan loop Prosedur dan fungsi http://digilib.mercubuana.ac.id/ 26 Berikut ini adalah struktur dari PL/SQL : DECLARE --Bagian deklarasi - variabel, jenisdata, kursor, dan subprogram BEGIN -- Bagian yang dapat dieksekusi - perintah prosedural, dan SQL EXCEPTION --Bagian yang menangani error - perintah untuk menangani error . END ; Seperti bahasa pemrograman C, untuk memasukkan komentar menggunakan karakter - - atau /* */. Untuk mengeksekusi blok ini, dapat disimpan dalam teks file biasanya dengan extention .sql , kemudian mengeksekusinya menggunakan perintah @. Cara lain adalah langsung mengetikkan di SQL*Plus , kemudian di akhiri dengan tanda / (slash). PL/SQL Blok seperti contoh diatas adalah anonymous blok. Artinya blok tersebut tidak memiliki nama dan dieksekusi saat dijalankan. Procedure, function, dan trigger adalah termasuk named PL/SQL blok. Artinya blok PL/SQL ini memiliki nama. Named PLSQL dapat dipanggil dari blok PL/SQL lain atau diakses langsung dari SQL*Plus command line dengan cara memanggil nama bloknya. 1) Prosedur (Procedure) Procedure merupakan blok yang memiliki nama. Pemanggilan procedure dilakukan melalui blok PL/SQL lain. Penggunaan procedure, merupakan fasilitas yang paling sering digunakan dalam membuat kontrol program di database oracle(Pl-Sql 2010). Procedure memiliki struktur yang mudah dipahami, terletak dalam database, dan mudah dipanggil untuk dieksekusi. Untuk membuat procedure, dan contoh sebelumnya tinggal mengganti bagian DECLARE dengan CREATE OR REPLACE PROCEDURE. Berikut ini adalah contoh pembuatan procedure : CREATEORREPLACEPROCEDURE KaryawanBaru( p_Id Karyswan.id %TYPE, p_NamaDepan Karyawan.namadepan%TYPE, p_NamaBeIakang Karyawan.namabelakang%TYPE, p_Gaji Karyawan.gaji%TYPE) AS BEGIN INSERTINTO Karyawan (id, namadepan, namabelakang, gaji) VALUES (p_Id, p_NamaDepan, p_NamaBelakang, p_Gaji); END KaryawanBaru; http://digilib.mercubuana.ac.id/ 27 Setelah procedure terbentuk maka untuk memanggilnya dengan cara berikut ; BEGIN KaryawanBaru(1008, ‘Yudhi’, ‘ Triatmanto’, 2500000); END; 2) Fungsi (Function) Functionmerupakan PL/SQL blok yang mirip dengan procedure. Perbedaannya adalah function mengembalikan suatu nilai dan dipanggil melalui suatu ekspresi(Pl-Sql 2010). Berikut ini adalah contoh membuah function : CREATEORREPLACEFUNCTION NamaLengkap(p_Id Karyawan.id%TYPE) RETURNVARCHAR2IS v_Hasil VARCHAR2(20); BEGIN SELECT namadepan || namabelakang INTO v_Hasil FROM Karyawan WHEREid = P_Id; RETURN v_Hasil; END NamaLengkap; Sama seperti membuat procedure kalimat OR REPLACE digunakan untuk menimpa function yang sudah ada jika namanya sama. Pernyataan RETURN berfungsi mengembalikan suatu nilai. 3) Pemicu (Trigger) Trigger mcrupakan PL/SQL blok yang mirip dengan procedure. Jika procedure dijalankan secara eksplisit lewat pemanggilan procedure, trigger dijalankan secara implisit lewat 'pemicu'(Pl-Sql 2010). Pemicu yang dimaksud adalah Data Manipulation Language (DML) yang terdiri atas perintah INSERT, UPDATE, atau DELETE dari suatu tabel database. Trigger ini dapat dipicu sebelum (BEFORE) atau sesudah (AFTER) operasi berjalan. Trigger juga berlaku untuk tingkat baris (FOR EACH ROW) yang berlaku untuk setiap baris tabel saat dimanipulasi, atau tingkat seluruh tabel yang dijalankan untuk seluruh tabel saat trigger ita dijalankan. Berikut ini adalah contoh penggunaan trigger : CREATEORREPLACETRIGGERubah_karyawan BEFOREINSERTONKaryawan BEGIN INSERTINTO tabel_audit (nama, waktu,komentar) VALUES (USER,TO_CHAR(SYSDATE, ‘MONTH DD, HH24:MI’ ); END; http://digilib.mercubuana.ac.id/ 28 Pada contoh di atas, Trigger diberi nama ubah karyawan yang dijalankan ketika tabel karyawan dihapus atau diubah. Di bagian yang dapat dieksekusi ketika trigger berjalan akan dimasukkan nilai nama user yang aktif login saat itu, bulan tanggal dan waktu saat itu, dan komentar ' Tabel karyawan diubah atau dihapus pada waklu ini ‘. Dengan memanfaatkan fasilitas trigger seperti contoh di atas, kita dapat menelusuri user yang melakukan perubahan data. Hal ini sangat berguna untuk keperluan audit database 2.11. Java Java adalah bahasa pemrograman berorientasi objek yang dikembangkan oleh Sun Microsystems sejak tahun 1991. Bahasa ini dikembangkan dengan model yang mirip dengan bahasa C++, namun dirancang agar lebih mudah dipakai dan platform independen, yaitu dapat dijalankan di berbagai jenis sistem operasi dan arsitektur komputer. Bahasa ini juga dirancang untuk pemrograman di internet sehingga dirancang agar aman dan portable(Kendal 2011). 2.11.1. Defenisi bahasa Java Definisi Bahasa Java menurut Sun Microsystems adalah nama sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada komputer standalone ataupun pada lingkungan jaringan. Menurut definisi lainnya, Java adalah bahasa pemrograman yang open source dan berorientasi objek (OOP) serta bersifat portable sehingga bisa dijalankan diberbagai sistem operasi. 2.11.2. Edisi Bahasa Java Definisi Bahasa Java menurut Sun Microsystems adalah nama sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada komputer standalone ataupun pada lingkungan jaringan. Menurut definisi lainnya, Java adalah bahasa pemrograman yang open source dan berorientasi objek (OOP) serta bersifat portable sehingga bisa dijalankan diberbagai sistem operasi Bahasa Java selalu dikembangkan hingga secara garis besar bahasa Java memiliki tiga edisi, yaitu: 1) J2SE (Java 2 Standard Edition) Edisi ini adalah edisi standar/dasar dari bahasa pemrograman Java. Jika kita ingin menguasai bahasa Java, maka yang harus kita kuasai terlebih dahulu adalah edisi J2SE. Edisi J2SE ini meliputi aplikasi desktop dan pada lingkungan http://digilib.mercubuana.ac.id/ 29 web browser (applet). Edisi ini mendukung pemrograman database, perancangan input/output, perancangan interface, network programming, dan sebagainya. 2) J2ME (Java 2 Micro Edition) Edisi ini adalah edisi Java yang diperuntukkan untuk membuat aplikasi berskala micro, seperti handphone, PDA, pagers, smart card, dan sebagainya. Banyak juga yang mendefinisikan bahwa edisi ini adalah edisi mobile dari bahasa pemrograman Java. Edisi J2ME ini hanya bisa mengimplementasikan sedikit dari library J2SE. Library yang digunakan dalam edisi J2ME ini adalah sebagian library J2SE ditambah library khusus J2ME. 3) J2EE (Java 2 Enterprise Edition) Edisi ini adalah edisi Java yang paling lengkap, karena diperuntukkan untuk membangun aplikasi berskala enterprise (besar). J2EE berisikan paket-paket J2SE ditambah paket-paket khusus enterprise seperti JavaBeans, Servlets, JSP (Java Server Pages), XML, dan sebagainya. Edisi ini berbasis website dan kita juga bisa menggunakan library applet untuk membangun aplikasi enterprise ini. Edisi ini memiliki tingkatan paling sulit dari semua edisi Java. 2.12. Perangkat Lunak Pendukung 2.12.1. Zkoss Framework Zkoss adalah framework berbasis komponen (componen-based) yang menyediakan tampilan antar muka (interfaces) yang kaya, dinamis dan interaktif bagi pengembangan web aplikasi(Zkoss n.d.). Zkoss atau yang biasa disingkat ZK menyertakan sebuah engineevent-driven berbasis AJAX, yaitu sekumpulan komponen-komponen beraneka ragam (rich) yang terdiri dari XML User Interface Language (XUL), XHTML dan ZK User Interface Markup Language disingkat ZUML (markup language milik ZK). Engineevent-driven sendiri merupakan sebuah engine yang dapat memungkinkan untuk melakukan model pemrograman desktop ke model pemrograman web programming. Maksudnya, konsep-konsep pemrograman pada aplikasi desktop yang dilakukan dengan cepat dan mudah atau istilah tren-nya drag and drop, dapat dilakukan pada lingkungan web. Para programmer dapat menampilkan aplikasinya dalam fitur komponen rich XUL dan XHMTL(zkoss n.d.). 2.12.2. Spring Framework Spring adalah salah satu application framework untuk aplikasi berbasis Java, tepatnya JEE(Long 2013). Spring merupakan sebuah framework (kerangka kerja) http://digilib.mercubuana.ac.id/ 30 yangdigunakan untuk membangun sebuah aplikasi Enterprise. Spring termasukframework yang lightweight (ringan) untuk mendukung secara penuh dalampengembangan aplikasi Enterprise siap pakai.Spring dapat digunakan untuk melakukan pengaturan deklarasi manajementransaksi, remote access dengan menggunakan RMI atau layanan web lainnya,fasilitas mailing, dan beragam opsi untuk pengaturan data ke database. Springjuga memungkinkan kita menggunakan hanya modul-modul tertentu sehingga kitatidak usah menggunakan semua modul spring dalam aplikasi apabila tidakdiperlukan. 2.12.2.1. Fitur-fitur dari Spring Framework 1) Transaction Management : Spring framework menyediakan sebuah layerabstrak yang generik untuk manajemen transaksi, sehingga memudahkanpara developer dalam melakukan manajemen transaksi. 2) JDBC Exception Handling : layer abstrak JDBC menawarkan exceptionyang bersifat hierarki sehingga memudahkan penanganan error. 3) Integration with Hibernate, JDO, and iBatis : Spring menawarkan layananintegrasi terbaik dengan Hibernate, JDO dan iBatas 4) AOP Framework : Spring merupakan framework AOP Terbaik yangpernah ada. 5) MVC Framework : Spring hadir dengan framework aplikasi web MVC,yang dibangun di atas inti Spring. Spring merupakan framework yangsangat fleksibel dalam pengaturan strategi interface, dan mengakomodasibeberapa teknologi view seperti JSP, Velocity, Tiles, iText, dan POI. 2.12.2.2. Arsitektur Spring 1) Spring AOP Salah satu komponen utama Spring adalah AOP framework, AOP framework digunakan untuk : A. Untuk menyediakan layanan Enterprise, terutama sebagai penggantiEJB. Layanan terpenting dalam layanan ini adalah untuk mendekralifmanajemen transaksi, yang telah disediakan dalam abstraksi springtransaction. B. Untuk memungkinkan pengguna dalam menerapkan AOP dalampenggunaan OOP. 2) Spring ORM Spring ORM berhubungan dengan akses database dan menyediakanlapisan layer terintegrasi dengan ORM yang populer termasuk JDO,Hibernate dan iBatis. 3) Spring Web http://digilib.mercubuana.ac.id/ 31 Merupakan bagian dari modul pengembangan Web Spring termasukSpring Web MVC. 4) Spring DAO DAO (Data Access Object) mendukung standarisasi akses data yangmenggunakan teknologi seperti JDBC, Hibernate dan JDO. 5) Spring Context Paket ini didasari pada paket beans untuk menambah dukungan sumberpesan dan untuk pola desain Observer, dan kemampuan untukmendapatkan sumber daya yang konsisten dengan menggunakan API. 6) Spring Web MVC Menyediakan implementasi MVC untuk aplikasi web. 7) Spring Core Paket Spring Core SpringFramework. ini merupakan Komponen Injection.BeanFactory ini memisahkan komponen menyediakan dependensi pembentukandan akses object dari logika program. Diagram Berikut menggambarkan arsitektur dari Spring : Gambar 1.2 : Arsitektur Spring http://digilib.mercubuana.ac.id/ paling penting dari fitur Dependency seperti inisialisasi, 32 Pola desain MVC (Model-View-Controller) memberikan pemecahan permasalahan coupling yang tinggi tersebut dengan men-decoupling lapisan dataaccess, business logic, dan data presentation atau user interaction. 1) Model Model merepresentasikan lapisan data enterprise dan logika atau rulebisnis yang akan mengakses dan mengupdate data tersebut. Pada bagian modeljuga merepresentasikan proses riil yang terjadi pada suatu objek. Bisa termasukdalam bagian ini adalah java beans dengan properti dan method yang dimiliki (getters, setters dan constructors). Javabeans berhubungan dengan konsepkegunaan dari website yang kita buat yang akan digunakan oleh user. Sebagai contoh, jika web yang dikembangkan adalah tentang penjualan produk, maka tentu akan terdapat beberapa java beans inti seperti : produk, customer, order, invoice. Secara singkat dapat kita sebut bahwa bagian model merupakan inti darilayer bisnis. 2) View Bagian ini bisa dibangun dengan teknologi JSP. Bagian ini yang akan memberikan tampilan kepada user, dari data yang didapatkan dari lapisan model.Jadi JSP digunakan disini hanya untuk menampilkan data saja. Bagian ini bisajuga disebut presentation layer. Selain JSP bisa juga dengan menggunakan JSF 3) Controller Bagian ini digunakan untuk menerima setiap request dan memformulasikan sutau response untuk request tersebut. Ini bisa dilakukandengan teknologi servlet, yang bisa juga diimplementasikan dengan JSP atau JSF.Arsitektur Model-ViewController adalah sebuah pola yang terbuktimembangun proyek secara lebih efektif. Hal itu dilakukan dengan memilahkomponen antara Model, View dan Controller pada bagian-bagian dalam proyek. 2.12.3. DAO Data access object atau lebih terkenal singkatannya yaitu DAO merupakandesign pattern yang biasa digunakan oleh seorang java developer dalammembangun sebuah sistem berbasis database. DAO merupakan sebuah konsepdimana digunakan untuk menangani kasus yang terjadi dalam bisnis logic, ataulebih gampangnya proses yang berhubungan dengan manipulasi data dalamdatabase. DAO merupakan pola membangun sebuah bisnis logic secaraterstruktur sesuai dengan entitas yang terdapat pada database. http://digilib.mercubuana.ac.id/ 33 2.12.4. ORACLE 11G Database Oracle adalah Database relasional yang terdiri dari kumpulan data dalam suatu sistem manajemen Database RDBMS((Greenberg et al. 2010). Perusahaan Software Oracle memasarkan jenis Database ini untuk bermacam-macam aplikasi yang bisa berjalan pada banyak jenis dan merk perangkat keras komputer (platform). Database Oracle ini pertama kali dikembangkan oleh Larry Ellison, Bob Miner dan Ed Oates lewat perusahaan konsultasinya bernama Software Development Laboratories (SDL) pada tahun 1977. Pada tahun 1983, perusahaan ini berubah nama menjadi Oracle Corporation sampai sekarang.(oracle n.d.) 2.13. Metode pengujian Black Box Metode Black Box merupakan strategi testing dimana hanya memperhatikan/memfokuskan kepada faktor fungsional dan spesifikasi perangakat lunak. Berbeda dengan metode white box, black box testing tidak membutuhkan pengetahuan mengenai alur internal (internal path), struktur atau informasi dari softwareunder test (SUT). Pengujian black box berusaha menemukan kesalahan dalam kategori diantarana: 1) Fungsi-fungsi yang salah atau hilang 2) Kesalahan interface 3) Kesalahan dalam infrastruktur 4) Kesalahan peforma 5) Kesalahan inisialisasi dan terminasi. http://digilib.mercubuana.ac.id/