6 BAB II KAJIAN PUSTAKA 2.1 Tinjauan Mutakhir Adapun beberapa penelitian yang telah dilakukan sebelumnya mengenai sistem pendukung keputusan penerimaan karyawan yang telah diciptakan oleh orang berkreatifitas tinggi diantaranya adalah: 1. Sistem pendukung keputusan penerimaan karyawan pada PT Yodya Karya Semarang dengan metode simple additive weighting (Putra, 2013). Pada penelitian ini sistem dibuat dengan menggunakan aplikasi berbasis web. Bahasa pemrograman yang digunakan adalah PHP dan database yang digunakan MYSQL. Pada penelitian ini data hasil tes seperti hasil psikotes dan wawancara dimasukan ke dalam sistem pendukung keputusan secara manual. Untuk pendaftaran karyawan tidak dilakukan secara online. 2. Sistem pendukung keputusan penerimaan beasiswa dengan metode SAW pada SMAN 1 Garawangi (Darmawan, 2013). Pada penelitian ini sistem yang dibuat untuk menentukan siswa yang memenuhi syarat untuk mendapatkan beasiswa. Sistem ini dibuat dengan menggunakan bahasa pemrograman PHP dengan database MYSQL. Dalam penginputan data dari sistem ini semua dilakukan secara manual. Nama siswa, nilai, dan biodata lainnya yang sesuai kriteria akan dimasukan oleh admin pengguna. Setelah semua data masuk ke dalam sistem, semua data akan diseleksi dengan sistem pendukung keputusan yang nantiya akan melakukan seleksi dan menentukan siswa mana yang akan mendapatkan beasiswa sesuai dengan prestasinya. 3. Sistem pendukung keputusan untuk menentukan pemilihan jurusan bagi calon siswa baru di SMK menggunakan metode SAW (Lis, 2012). Sistem ini dibuat dengan menggunakan bahasa pemrograman PHP dengan database MYSQL. Dalam penginputan data dari sistem ini semua dilakukan secara manual. Nama siswa, nilai, dan biodata lainnya yang sesuai kriteria akan dimasukan oleh admin pengguna. Setelah semua data masuk ke dalam sistem, semua data akan 7 diseleksi dengan sistem pendukung keputusan yang nantiya akan melakukan seleksi dan menentukan jurusan mana yang cocok untuk calon pelajar SMK. 4. Sistem pendukung keputusan menggunakan metode simple additive weighting (SAW) untuk recruitment tenaga kerja baru di koperasi pegawai telkom (Murti, 2013). Pada penelitian ini sistem dibuat dengan menggunakan aplikasi berbasis web. Bahasa pemrograman yang digunakan adalah PHP dan database yang digunakan MYSQL. Pada penelitian ini data hasil tes dimasukan ke dalam sistem pendukung keputusan secara manual setelah calon pelamar selesai melakukan tes. Untuk pendaftaran karyawan tidak dilakukan secara online. Ada perbedaan antara keempat penelitian tersebut dengan penelitian ini, yaitu pada studi kasus dan mekanisme kerja sistemnya karena berbeda jenis usaha dan budaya perusahaan tersebut. Untuk melakukan proses seleksi, pelamar dapat mendaftar secara online pada web yang disediakan. Selanjutnya data masingmasing pelamar akan dicocokan antara biodata pelamar saat melakukan pendaftaran online dengan data yang dibawa oleh pelamar pada seleksi administrasi. Calon pelamar yang lulus seleksi administrasi akan melakukan serangkaian tes, yaitu psikotes dan tes wawancara secara terkomputerisasi. Hasil yang didapat dari seleksi administrasi, psikotes, dan tes wawancara semua akan diseleksi dengan mengunakan sistem pendukung keputusan yang nantinya tiga rangking teratas akan diwawancara kembali untuk menentukan dapat atau tidaknya bekerja pada perusahaan. 2.2 Tinjauan Pustaka 2.2.1 Sumber Daya Manusia (SDM) Sumber daya manusia kini makin berperan besar bagi kesuksesan suatu organisasi. Banyak organisasi menyadari bahwa unsur manusia dalam suatu organisasi dapat memberikan keunggulan bersaing. Mereka membuat sasaran, strategi, inovasi dan mencapai tujuan organisasi. Oleh karena itu, sumber daya manusia merupakan salah satu unsur yang paling vital bagi organisasi. Terdapat dua alasan dalam hal ini. Pertama, sumber daya manusia merancang dan memproduksi barang dan jasa, mengawasi kualitas, memasarkan produk, 8 mengalokasiakan sumber daya finansial, serta menentukan seluruh tujuan dan strategi organisasi. Kedua, sumber daya manusia merupakan pengeluaran utama dalam organisasi dalam menjalankan bisnis (Rachmawati, 2008). 2.2.1.1 Manajemen sumber daya manusia Manajemen sumber daya manusia merupakan konsep luas tentang filosofi, kebijakan, prosedur, dan praktik yang digunakan untuk mengelola individu atau manusia melalui organisasi. Penggunaan konsep dan sistem sumber daya manusia adalah kontrol secara sistematis dari proses jaringan fundamental organisasi yang mempengaruhi dan melibatkan semua individu dalam organisasi, termasuk proses perencanaan sumber daya manusia, design pekerjaan, susunan kepegawaian, pelatihan dan pengembangan organisasi. 2.2.1.2 Rekrutmen Rekrutmen merupakan proses mencari, menemukan, dan menarik para calon karyawan untuk dipekerjakan dalam dan oleh organisasi. Rekrutmen juga merupakan serangkaian kegitan mencari dan memikat pelamar kerja dengan motivasi, kemampuan, keahlian, dan pengetahuan yang diperlukan untuk menutupi kekurangan yang diidentifikasi dalam perencanaan kepegawaian. Adapun tujuan rekrutmen adalah untuk menutupi kekeurangan yang diidentifikasi dalam perencanaan kepegawaian. Adapun tujuan rekrutmen adalah untuk memenuhi penawaran sebanyak mungkin dari calon-calon karyawan sehingga organisasi memiliki peluang yang lebih besar untuk menentukan pilihan terhadap calon pelamar yang dianggap memenuhi standar kualifikasi organisasi. Terlebih bila mengingat sumber daya manusia yang sangat terbatas, dimana hanya sedikit jumlah karyawan yang tersedia sedangkan banyak organisasi yang membutuhkan tenaga kerja. Organisasi harus selalu melakukan rekrutmen karena beberapa sebab, seperti perluasan kegiatan organisasi, berdirinya organisasi baru, terciptanya kegiatan dan perincian pekerjaan baru, adanya promosi, mutasi, transfer karyawan ke bagian lain ataupun berhenti, karyawan yang meninggal, karyawan yang mengundurkan diri atau pensiun dini, atau sebab lain. Dengan demikian, dalam kegiatan rekutmen ini organisasi harus memiliki standar 9 kualifikasi yang sudah disepakati bersama, sebagai suatu nilai-nilai dan kebijaksanaan organisasi untuk dipakai dalam program pengembangan organisasi masa datang, khususnya program pemberdayaan sumber daya manusia. Kegiatan rekrutmen diawali dari lamaran calon karyawan yang dicari dan diakhiri dengan diterima atau ditolaknya calon karyawan tersebut. Kegiatan rekrutmen ini juga tidak lepas dari aktivitas manajemen sumber daya manusia yang lain, seperti pelatihan dan pengembangan, evolusi kinerja, promosi dan mutasi, jenjang karier, kompensasi, serta hubungan industrial karyawan. Proses rekrutmen bisa dilakukan oleh departemen personalia atau departemen sumber daya manusia, tetapi bisa juga dilaksanakan oleh sebuah lembaga atau konsultan independen di luar organisasi yang disewa oleh organisasi untuk melaksanakan rekrutmen secara lebih professional. 2.2.1.3 Seleksi Tenaga Kerja Proses seleksi tenaga kerja merupakan rangkaian tahap-tahap khusus yang digunakan untuk memutuskan pelamar melamar kerja dan diakhiri dengan keputusan penerimaan. Penerimaan akhir dilakukan oleh departemen SDM sebagai hasil evaluasi para pelamar mengenai kesesuaian potensi mereka melalui penggunaan prosedur-prosedur yang valid. Seleksi adalah kegiatan dalam manajemen SDM yang dilakukan setelah proses rekruitmen selesai dilaksanakan. Hal ini berarti telah terkumpul sejumlah pelamar yang telah memenuhi syarat untuk kemudian dipilih mana yang dapat ditetapkan sebagai karyawan dalam suatu perusahaan. Proses seleksi adalah langkah-langkah yang harus dilalui oleh para pelamar sampai akhirnya memperoleh keputusan ia diterima atau ditolak sebagai karyawan baru. Proses ini berbeda antar satu perusahaan dengan perusahaan lainnya. Ada dua konsep penting yang harus diperhatikan untuk peralatan seleksi dengan konsiteni pengukuran yang digunakan sepanjang waktu. Hasil tes seseorang dikatakan valid, bila skornya tinggi dan kenyataan dilapangan memang sesuai. Metode seleksi yang tidak dapat dipercaya tentu saja tidak akan valid (Adnyana, 2012). 10 Seleksi merupakan proses untuk mencocokan orang-orang dengan kualifikasi yang mereka miliki. Jenis-jenis seleksi : 1. Seleksi Administrasi Seleksi berupa surat-surat yang dimiliki pelamar untuk menentukan apakah sudah sesuai dengan persyaratan yang diminta organisasi perusahaan, antara lain: a. Surat Lamaran b. Ijazah c. Domisili/keberadaan status yang bersangkutan d. Pas foto e. Copy identitas (KTP, Paspor, SIM, dan lain-lain) f. Umur g. Jenis Kelamin 2. Seleksi secara tertulis a. Tes kecerdasan (Intelegensi test) b. Tes kepribadian (Personal test) c. Tes bakat (Aptitude test) d. Tes minat (Interest test) e. Tes prestasi (Achievment test) 3. Seleksi secara tdak tertulis a. Wawancara b. Kesehatan 2.2.1.4 Pengambilan keputusan Jika pelamar sudah melalui serangkaian tes, pelamar siap bergabung dengan organisasi. Organisasi akan mengambil keputusan dengan menawarkan tawaran kerja dengan beberapa cara seperti pemberitahuan lewat pos, telepon, media massa, atau pengumuman di tempat seleksi. Calon yang tidak diterima sebaiknya diberitahu disertai alasan penolakan. Alasan penolakan dapat dibuat standar untuk menghindar kesalahan atau perbedaan interperensi. Pengambilan keputusan dalam memberikan penawaran kerja ini sangat penting dan strategis 11 sebab akan menentukan keberadaan pelamar dalam pekerjaan dan posisi jabatan yang akan ditanggung nanti. Seleksi karyawan ini sangat penting karena tercapainya suatu organisasi bergantung pada bawahan. Karyawan yang profesional akan melakukan pekerjaan dengan bak untuk organisasi. Kesalahan dalam perekrutan akan menyebabkan kerugian bagi organisasi tersebut di kemudia hari. Adapun langkah-langkah untuk mencegah kelalaian dalam merekrut meliputi (Rachmawati, 2008): 1. meneliti semua informasi yang diajukan pelamar tentang aplikasi pekerjaannya 2. memperoleh otorisasi yang ditulis pelamar sebagai acuan mengetahui calon karyawan dan memeriksa terlebih dahulu acuan dari organisasi sebelumnya dengan teliti 3. menyimpan informasi atau arsip yang diperoleh tentang masing-masing pelamar selama proses seleksi 4. menolak pelamar yang membuat pernyataan dalam surat lamaran yang fiktif atau mempunyai catatan fiksi 5. mengambil tindakan disipliner jika timbul permasalahan. 2.2.2 Sistem Pendukung Keputusan (Decision Suport System atau DSS) DSS merupakan sistem informasi interaktif yang menyediakan informasi, pemodelan dan pemanipulasian data. Sistem ini digunakan untuk membantu pengambilan keputusan dalam situasi yang semiterstruktur dan situasi yang tidak terstruktur, di mana tak seorang pun tahu secara pasti bagaimana seharusnya keputusan dibuat. DSS biasanya dibangun untuk mendukung solusi atas suatu masalah atau untuk mengevaluasi suatu peluang. DSS yang seperti itu disebut aplikasi DSS. Aplikasi DSS digunakan dalam pengambilan keputusan. Aplikasi DSS menggunakan CBIS (computer based information system) yang fleksibel, interaktif, dan dapat diadaptasi, yang dikembangkan untuk mendukung solusi atas masalah manajemen yang spesifik yang tidak terstruktur. Aplikasi DSS menggunakan data, memeberikan antarmuka pengguna yang mudah, dan dapat menggabungkan peemikiran pengambil keputusan. DSS lebih ditujukan untuk 12 mendukung manajemen dalam melakukan pekerjaan yang bersifat analisis dalam kondisi yang kurang terstruktur dan dengan kriteria yang kurang jelas. DSS tidak dimaksudkan untuk mengotomatisasikan pengambilan keputusan, tetapi memberikan perangkat interaktif yang memungkinkan pengambil keputusan untuk mengambil beberapa analisis menggunakan model-model yang tersedia. Tujuan dari DSS adalah (Turban, 2005): 1. Membantu manajer dalam pengambilan keputusan dalam masalah semi terstruktur. 2. Memberikan dukungan atas pertimbangan manajer dan bukannya difungsikan untuk menggantikan peran manajer. 3. Meningkatkan efektifitas keputusan yang diambil manajer lebih daripada perbaikan efisiensinya. 4. Kecepatan komputasi. Komputer memungkinkan para pengambil keputusan untuk melakukan komputasi seara tepat dengan biaya yang rendah. 5. Peningkatan produktifitas membangun satu kelompok pengambil keputusan, terutama para pakar, bisa sangat mahal. Pendukung komputerisasi bisa mengurangi ukuran kelompok dan memungkinkan para anggotanya untuk berada di berbagai lokasi berbeda-beda (menghemat biaya perjalan). Selain itu produktifitas staf mendukung (misalnya analisis keuangan dan hukum) bisa ditingkatkan menggunakan peralatan optimalisasi yang menentukan cara terbaik untuk menjalankan sebuah bisnis. 6. Dukungan kualitas. Komputer bisa meningkatkan kualitas keputusan yang dibuat. Sebagai contoh, semakin banyak data yang diakses, makin banya juga alternatif yang bisa dievakuasi. Analisis resiko bisa dilakukan dengan cepat dan pandangan dari para pakar (beberapa dari mereka berada di lokasi yang jauh) bisa dikumpukan dengan cepat dan dengan biaya yang lebih rendah. Keahlian bahkan bisa diambil langsung dari sebuah sistem komputer melalui sistem kecerdasan tiruan. Dengan komputer, para pegambil keputusan bisa melakukan simulasi yang kompleks, memeriksa banyak skenario yang memungkinkan, dan menilai berbagai pengaruh secara cepat dan ekonomis. Semua kapabilitas tersebut mengarah kepada keputusan yang lebih baik. 13 7. Berdaya saing. Manajemen dan pemberdayaan sumber daya perusahaan. Tekanan persaingan menyebabkan tugas pengambilan keputusan menjadi sulit. Persaingan didasarkan tidak hanya pada harga, tetapi juga pada kualitas, kecepatan, kustomasi produk, dan dukungan pelanggan. Organisasi harus mampu secara sering dan cepat mengubah mode operasi, merekayasa ulang proses dan struktur, memberdayakan karyawan, serta berinovasi. Teknologi pengambilan keputusan bisa menciptakan pemberdayaan yang signifikan dengan cara memperbolehkan seseorang utnuk membuat keputusan yang baik secara cepat, bahkan jika mereka memiliki pegetahuan yang kurang. 8. Mengatasi keterbatasan kognitif dalam pemrosesan dan penyimpanan. Otak manusia memiliki kemampuan yang terbatas untuk memproses dan menyimpan informasi. Orang-orang kadang sulit untuk mengingat dan menyimpan informasi. Orang-orang kadang sulit untuk menggunakan mengingat dan menggunakan sebuah informasi dengan cara yang bebas dari kesalahan. Ditinjau dari tingkat teknologinya, DSS dibagi menjadi tiga, yaitu: 1. SPK spesifik SPK spesifik bertujuan untk memecahkan suatu masalah dengan karakteristik tertentu. Misalnya SPK penentuan harga satuan barang. 2. Pembangkit SPK Suatu software yang khusus digunakan untuk membangun dan mengembangkan SPK. Pembangkit SPK akan memudahkan perancang dalam membangun SPK spesifik 3. Perlengkapan SPK Berupa software dan hardware yang digunakan untuk medukung pembangunan SPK spesifik maupun pembangkit SPK 2.2.2.1 Arsitektur sistem pendukung keputusan Aplikasi sistem pendukung keputusan bisa terdiri dari beberapa subsistem, yaitu: 14 1. Subsistem manajemen data Subsistem manajemen data memasukan satu database yang berisi data yang relevan untuk situasi dan dikelola oleh perangkat lunak yang disebut sistem manajemen database (DBMS atau Data Base Management Sistem). Subsistem manajemen data bisa diinterkoneksikan dengan warehouse perusahaan, suatu repositori untuk data perusahaan yang relevan dengan pengambilan keputusan. 2. Subsistem manajemen model Merupakan paket perangkat lunak yang memasukan model keuangan, statistik, ilmu manajemen, atau model kuantitatif yang memberikan kapabilitas analitik dan manajemen perangkat lunak yang tepat. Bahasabahasa pemodelan untuk membangun model-model kustom juga dimasukan. Perangkat lunak itu sering disebut sistem manajemen basis model (MBMS). Komponen tersebut bisa dikoneksikan ke penyimpanan korporat atau eksternal yang ada pada model. 3. Subsitem antarmuka pengguna Pengguna berkomunikasi dengan dan memerintahkan sistem pendukung keputusan melalui subsistem tersebut. Pengguna adalah bagian yang dipertimbangkan dari sistem. Para peneliti menegaskan bahwa beberapa kontribusi unik dari sistem pendukung keputusan berasal dari interaksi yang intensif antara komputer dan pembuat keputusan. 4. Subsistem manajemen berbasis pengetahuan Subsistem tersebut mendukung semua subsistem lain atau bertindak langsung sebagai suatu komponen independen dan bersifat opsional. selain memberikan intelegensi untuk memperbesar pengetahuan si pengambil keputusan, subsistem tersebut bisa diinterkoneksikan dengan repositori pengetahuan perusahaan (bagian dari sistem manajemen pengetahuan), yang kadang-kadang disebut basis pengetahuan organisasional. Berdasarkan definisi, sistem pendukung keputusan harus mencakup tiga komponen utama dari DBMS, MBMS, dan antarmuka pengguna. Subsistem manajemen berbasis pengetahuan adalah opsional, tetapi bisa memberikan banyak 15 manfaat karena memberikan intelegensi bagi ketiga komponen utama tersebut. Seperti pada semua sistem informasi manajemen, pengguna bisa dianggap sebagai komponen sistem pendukung keputusan yang bisa dikoneksikan ke intranet perusahaan, ekstranet, atau internet. Arsitektur dari sistem pendukung keputusan ditunjukan oleh gambar 2.1 berikut. Gambar 2.1 Arsitektur DSS 2.2.2.2 Manajemen model sistem pendukung keputusan Model merupakan abstraksi dunias nyata menjadi bentuk simbolik dengan tujuan menyederhanakan, minimal biaya, dan meminimalkan resiko agar lebih efektif. Sebuah model akan sangat tergantung pada (Kusrini, 2007): Variabel waktu (tetap/tidak) Hasil (acak/terdistribusi/pola) Nilai awal (ada/tidak ada) Beberapa bentuk model diantaranya: 1. Model ikonik Model ikonik adalah perwakilan fisik dari beberapa hal, baik dalam bentuk ideal ataupun dalam skala yng berbeda. Model ikonik memiliki karakteristik yang sama dengan hal yang diwakili, terutama untuk menerangkan kejadian pada waktu yang spesifik. Model ikonik bisa berdimensi dua (foto, peta, cetak 16 biru) atau tiga (prototipe mesin, alat), apabila berdimensi lebih dari tiga, maka model tidak mungkin lagi dikonstruksi secara fisik sehingga diperlukan kategori model simbolik. 2. Model analog (model diagramatik) Model analog bisa mewakili situasi dinamik, yaitu keadaan yang berubah menurut waktu. Model ini lebih sering dipakai daripada model ikonik karena kemampuannya untuk mengetengahkan karakteristik dari kejadian yang dikaji. Model analog banyak berkesesuaian dengan penjabaran hubungan kuantitif antara sifat dan kelas-kelas yang berbeda. Melalui tranformasi sifat menjadi analognya, kemampuan membuat perubahan bisa ditingkatkan. Contoh model analog adalah kurva permintaan, kurva distribusi frekuensi pada statistik, dan diagram alir. 3. Model simbolik (model matematik) Pada hakikatnya, ilmu sistem memusatkan perhatian kepada model simbolik sebagai perwakilan dari realitas yang sedang dikaji. Format model simbolik bisa berupa bentuk angka, simbol, dan rumus. Jenis model simbolik yang umum dipakai adalah suatu persamaan (equation) Bentuk persamaan adalah tepat, singkat, dan mudah dimengerti. Simbol persamaan tidak saja mudah dimanipulasi daripada kata-kata, tetapi juga lebih cepat ditangkap maksudnya. Pada umumnya, model matematis bisa diklasifikasi menjadi dua bagian. Suatu model bisa statis dan dinamis. Model statis memberikan informasi tentang perubah-perubah model hanya pada titik tunggal dari waktu. Model dinamis lebih sulit dan mahal pembuatannya, tetapi memberikan kekuatan yang lebih tinggi dalam analisis dunia nyata. Pemilihan model tergantung pada tujuan dari pengkajian sistem dan terlihat jelas dalam formulasi permasalahan dalam tahap evaluasi kelayakan. Sifat model juga tergantung pada teknik pemodelan yang dipakai. Model yang mendasarkan pada teknik peluang dan memperhitungkan ketidakmenentuan (uncertainty) disebut model probabilistik atau model stokastik. Model merupakan suatu bentuk keputusan yang diabstraksikan menjadi bentuk simbolik. Subsitmem manajemen model dalam DSS terdiri dari sub-sub komponen berikut: 17 1. Basis model Berisi model statistik, keuangan, pengetahuan manajemen atau model quantitatif lain yang menyediakan kemampuan analisis, seperti mencari, menjalankan, menggabungkan, serta memeriksa model. Dilihat dari tingkat manajemen penggunaannya, model dalam basis model dibedakan menjadi empat, yaitu: a. Model strategis Mendukung tanggung jawab perencanaan strategis dari top manajemen Contoh: pengembangan perusahaan, pemilihan lokasi pabrik, perencanaan merjer b. Model taktikal Digunakan oleh manajemen tingkat menengah untuk membantu pengalokasian dan pengontrolan sumber daya organisasi. Contoh: perencanaan kebutuhan tenaga kerja, pembelajaran rutin, dll. c. Model operasional Mendukung manajemen level bawah dalam pelaksanaan aktifitas seharihari dalam cakupan waktu yang singkat d. Model building block Model ini merupakan model yang akan dgunakan untuk membangun model yang lain. Contohnya adalah analisis regresi, perhitungan NPV, dll. 2. Sistem manajemen basis model Software pembuat model, pembaruan model, pengubahan model, dan manipulasi data. 3. Model direktori Katalog semua model dalam basis model yang terdiri dari definisi model dan fungsi utama untuk menjawab pertanyaan tentang keberadaan dan kemapuan model. 18 4. Model eksekusi, intelegensi, dan perintah Eksekusi berfungsi mengontrol jalannya aktivitas nyata. Intelegensi menggabungkan operasi beberapa model, sedangkan perintah berfungsi menerima dan menerjemahkan instruksi model dari model lain. 2.2.2.3 Langkah-langkah pemodelan dalam DSS Saat melakukan pemodelan dan pembangunan dalam DSS dilakukan langkah-langkah sebagai berikut: 1. Studi kelayakan (intelegence) Pada langkah ini, sasaran dilakukan dan ditentukan pencarian prosedur, pengumpulan data, identifikasi masalah, identifikasi kepemilikan masalah, klasifikasi masalah, hingga akhirnya terbentuk sebuah pernyataan masalah. Kepemilikan masalah berkaitan dengan bagian apa yang akan dibangun oleh DSS dan apa tugas dari bagian tersebut sehingga model tersebut relevan dengan kebutusan si pemilik masalah. 2. Perancangan (design) Pada tahapan ini akan diformulasikan model yang akan digunakan dan kriteria-kriteria yang ditentukan. Setelah itu, dicari alternatif model yang bisa menyelesaikan permasalahan tersebut. Langkah selanjutnya adalah memprediksi keluaran yang mungkin. Kemudian, ditentukan variabelvariabel model. 3. Pemilihan (choice) Setelah pada tahap design ditentukan berbagai alternatif model beserta variabel-variabelnya, pada tahapan ini dilakukan pemilihan modelnya, termasuk solusi dari model tersebut. Selanjutnya, dilakukan analisis sensitivitas, yakni dengan mengganti beberapa variabel. 4. Membuat DSS Setelah menentukan modelnya, berikut adalah mengimplementasikannya dalam aplikasi DSS. 19 2.2.3 Simple Additive Weighting (SAW) Metode Simple Additive Weighting (SAW) sering juga dikenal istilah metode penjumlahan terbobot. Konsep dasar metode SAW adalah mencari penjumlahan terbobot dari rating kinerja pada setiap alternatif pada semua atribut. Metode SAW membutuhkan proses normalisasi matriks keputusan (x) ke suatu skala yang dapat diperbandingkan dengan semua rating alternatif yang ada. Metode ini merupakan metode yang paling terkenal dan paling banyak digunakan dalam menghadapi situasi Multiple Attribute Decision Making (MADM). MADM itu sendiri merupakan suatu metode yang digunakan untuk mencari alternatif optimal dari sejumlah alternatif dengan kriteria tertentu. Metode SAW ini mengharuskan pembuat keputusan menentukan bobot bagi setiap atribut. Skor total untuk alternatif diperoleh dengan menjumlahkan seluruh hasil perkalian antara rating (yang dapat dibandingkan lintas atribut) dan bobot tiap atribut. Rating tiap atribut haruslah bebas dimensi dalam arti telah melewati proses normalisasi matriks sebelumnya. Langkah Penyelesaian SAW sebagai berikut (Aeroyid, 2007) : 1. Menentukan kriteria-kriteria yang akan dijadikan acuan dalam pengambilan keputusan, yaitu Ci. 2. Menentukan rating kecocokan setiap alternatif pada setiap kriteria. 3. Membuat matriks keputusan berdasarkan kriteria (Ci), kemudian melakukan normalisasi matriks berdasarkan persamaan yang disesuaikan dengan jenis atribut (atribut keuntungan ataupun atribut biaya) sehingga diperoleh matriks ternormalisasi R. 4. Hasil akhir diperoleh dari proses perankingan yaitu penjumlahan dari perkalian matriks ternormalisasi R dengan vektor bobot sehingga diperoleh nilai terbesar yang dipilih sebagai alternatif terbaik (Ai) sebagai solusi. Formula untuk melakukan normalisasi tersebut adalah : (2.1) 20 Dimana : rij = rating kinerja ternormalisasi Maxij = nilai maksimum dari setiap baris dan kolom Minij = nilai minimum dari setiap baris dan kolom Xij = baris dan kolom dari matriks Dengan rij adalah rating kinerja ternormalisasi dari alternatif Ai pada atribut Cj; i =1,2,…m dan j = 1,2,…,n. Nilai preferensi untuk setiap alternatif (Vi) diberikan sebagai : (2.2) Dimana : Vi = Nilai akhir dari alternatif wj = Bobot yang telah ditentukan rij = Normalisasi matriks Nilai Vi yang lebih besar mengindikasikan bahwa alternatif Ai lebih terpilih 2.2.4 Pembangunan Sistem Pendukung Keputusan Ada dua pendekatan dalam membangun sistem pendukung keputusan, yaitu (Kusrini, 2007): 1. Membangun sistem pendukung keputusan yang dibuat dengan bahasa pemrograman sesuai dengan keperluan organisasi. Strategi pengembangannya adalah dengan menggunakan bahasa pemrograman generik atau umum, seperti visual basic, delphi, pascal, dll. 2. Menggunakan generator sistem pendukung keputusan. Generator sistem pengdukung keputusan adalah sebuah aplikasi yang mengeliminasi penulisan kode program saat merancang dan membangun sistem pendukung keputusan. Salah sau contoh generator pendukung keputusan adalah lembar kerja (spreadsheet) elektronik, seperti Excel dan Lotus 1-2-3. 21 Untuk mengembangkan suatu sistem informasi, diperlukan metodologi pengembangan sistem, yaitu menyusun suatu sistem baru untuk menggantikan sistem lama secara keseluruhan atau memperbaiki sistem yang telah ada. Pengembangan sistem informasi informasi memiliki daur hidup yang disebut daur pengembangan sistem informasi atau dinamakan SDLC (System Development Life Cycle). Metode tersebut mencakup sejumlah fase atau tahapan, yaitu analisis sistem, desain sistem, dan implementasi. 2.2.4.1 Analisis sistem Tahapan analisis sistem dimulai karena adanya permintaan terhadap sistem baru. Permintaan bisa datang dari seorang manajer di luar departemen sistem informasi atau dari pihak eksekutif yang melihat adanya masalah atau menemukan adanya peluang baru. Namun, adakalanya inisiatif pengembangan sistem baru berasal dari bagian yang bertanggung jawab terhadap pengembangan sistem informasi, yang bermaksud mengembangkan sistem yang sudah ada atau mengatasi masalah-masalah yang belum tertangani. Tujuan utama dari analisis sistem adalah menentukan hal-hal secara detail yang akan dikerjakan oleh sistem yang diususlkan. Dalam menganalisis sistem pendukung keputusan akan dilakukan langkahlangkah pembuatan model yaitu: 1. Proses studi kelayakan yang terdiri dari penentuan sasaran, pencarian prosedur, pengumpulan data, identifikasi masalah, indetifikasi kepemilikan masalah, klasifikasi masalah, hingga akhirnya terbentuk sebuah pernyataan masalah. 2. Proses perancangan model. Dalam tahapan ini akan diformulasikan model yang akan digunakan serta kriteria-kriteria yang ditentukan. Setelah itu, dicari alternatif model yang bisa menyelesaikan permasalahan tersebut. Langkah selanjutnya adalah memprediksi keluaran yang mungkin. Berikutnya, tentukan variabel-variabel model. Setelah beberapa alternatif model diberikan, pada tahap ini akan ditentukan satu model yang akan digunakan dalam sistem pendukung keputusan yang akan dibangun. 22 Dalam tahapan analisis ini, pembangun sistem sebaiknya membuat simulasi untuk memecahkan masalah menggunakan model yang dipilih dengan sampel data. Jika secara manual model tersebut bisa memecahkan masalah, maka barulah dilakukan tahap perancangan sistem. 2.2.4.2 Perancangan sistem Untuk melakukan perancangan sistem, dibutuhkan alat bantu perancangan. Dalah tahapan ini, pengembang sistem bisa menetukan arsitektur sistemnya, merancang gambaran konseptual sistem, merancang database, perancangan interface, hingga membuat flowchart program. Salah satu alat bantu yang bisa digunakan dalam pembuatan sistem bantu keputusan adalah Data Flow Diagram (DFD). DFD adalah suatu model logika data atau proses yang dibuat untuk menggambarkan asal data dan tujuan data yang keluar dari sistem, tempat penyimpanan data, proses apa yang menghasilkan data tersebut, serta interaksi antara data yang tersimpan dan proses yang dikenakan pada data tersebut. Beberapa simbol yang digunakan dalam DFD bermaksud mewakili: 1. Kesatuan luar (exernal entity) Kesatuan luar merupakan kesatuan di lingkungan luar sistem yang bisa berupa orang. Organisasi, atau sistem lain yang berada di lingkungan luarnya, yang akan memeberikan input atau menerima output dari sistem. Suatu kesatuan luar bisa disimbolkan dengan suatu notasi kotak atau suatu kotak dengan sisi kiri dan atas berbentuk garis tebal. Kesatuan luar bisa diberi identifikasi dengan huruf kecil di ujung kiri atas. atau a Gambar 2.2 Simbol kesatuan luar 2. Arus data (data flow) Arus data mengalir di antara proses, simpanan data, dan kesatuan luar. Arus data menunjukan arus data yang bisa berupa masukan untuk sistem atau hasil dari proses sistem. Arus data diberi simbol suatu panah 23 Gambar 2.3 Simbol arus data 3. Proses (process) Proses adalah kegiatan atau kerja yang dilakukan oleh orang, mesin, atau komputer dengan hasil suatu arus data yang masuk ke dalam proses untuk kemudian dihasilkan arus data yang akan keluar dari proses. Suatu proses bisa ditunjukan dengan simbol lingkaran atau dengan simbol empat persegi panjang dengan sudut-sudut yang tumpul. No proses Atau Nama proses Gambar 2.4 Simbol proses 4. Simpanan data (data store) Simpanan data merupakan simpanan dari data yang berupa file atau database komputer, arsip atau catatan manual, kotak tempat data, tabel acuan, dan agenda atau buku, simpanan data disimbolkan dengan sepasang garis horizontal paralel yang tertutup di salah satu ujungnya. Media Nama data store Gambar 2.5 Simbol simpanan data Perancangan database bisa dilakukan dengan beberapa pendekatan tergantung pada strukutur database yang diinginkan. Jika menginginkan database yang normal, maka bisa digunakan kaidah normalisasi. Perancangan database yang berupa data warehouse sangatlah berbeda dengan teknik perancangan normalisasi. Struktur yang paling sering digunakan dalam data warehouse adalah starskema dan snowflake. 2.2.4.3 ERD (Entity Relationship Diagram) ERD adalah merupakan salah satu model yang digunakan untuk mendesain database dengan tujuan menggambarkan data yang berelasi pada 24 sebuah database. Umumnya setelah perancangan ERD selesai berikutnya adalah mendesain database secara fisik yaitu pembuatan tabel, index dengan tetap mempertimbangkan performance. Kemudian setelah database selesai dilanjutkan dengan merancang aplikasi yang melibatkan database. Gambar 2.6 Komponen penyusun ERD Entitas adalah objek dalam dunia nyata yang dapat dibedakan dengan objek lain, sebagai contoh, mahasiswa, dosen, departemen. Entitias terdiri atas beberapa atribut sebagai contoh, atribut dari entitas mahasiswa adalah nim, nama, alamat, email, dll. Atribut nim merupakan unik untuk mengidentifikasikan atau membedakan mahasiswa yang satu dengan yang lainnya. Pada setiap entitas harus memiliki satu atribut unik atau yang disebut dengan primary key. Relasi adalah hubungan antara beberapa entitas. sebagai contoh relasi antar mahaiswa dengan mata kuliah dimana setiap mahasiswa bisa mengambil beberapa mata kuliah dan setiap mata kuliah bisa diambil oleh lebih dari satu mahasiswa. relasi tersebut memiliki hubungan banyak ke banyak (Hidayat, 2011). 25 Gambar 2.7 Contoh ERD Kardinalitas menyatakan jumlah himpunan relasi antar entitias. pemetaan kardiniliat terdiri dari: One to one, sebuah entitas pada A berhubungan dengan entitas B paling banyak 1 contoh pada gambar 2.7 relasi pegawai dan departemen dimana setiap pegawai hanya bekerja pada 1 departemen One to many, sebuah entitas pada A berhubungan dengan entitas B lebih dari satu contoh pada gambar 2.7 adalah 1 depertemen memiliki banyak pegawai Many to many, sebuah entitas pada A berhubungan dengan entitas B lebih dari satu dan B berhubungan dengan A lebih dari satu juga. Contoh pada gambar 2.7 adalah relasi mahasiswa dengan mata kuliah. Berikut adalah metode atau tahap untuk membuat ERD : Menentukan Entitas Menentukan Relasi Menggambar ERD sementara Mengisi Kardinalitas Menentukan Kunci Utama Menggambar ERD berdasar Key Menentukan Atribut 26 Memetakan Atribut Menggambar ERD dengan Atribut 2.2.4.4 Implementasi Tahap implementasi sistem (system implementation) merupakan tahapan untuk meletakan sistem supaya siap untuk dioperasikan. Pada tahapan ini terdapat banyak aktifitas yang dilakukan, yaitu: 1. Pemrograman dan pengetesan program Pemrograman merupakan kegiatan menulis kode program yang akan dieksekusi oleh komputer. Kode program harus berdasarkan dokumentasi yang disediakan oleh analis sistem hasil dari desain sistem. Sebelum diterapkan, program harus bebas dari kesalahan-kesalahan terlebih dahulu. Oleh sebab itu, program harus dites untuk menemukan kesalahan-kesalahan yang mungkin terjadi. 2. Instalasi perangkat keras dan lunak. Proses pemasangan perangkat keras dan instalasi perangkat lunak yang sudah ada 3. Pelatihan kepada pemakai Manusia merupakan faktor yang diperlukan dalam sistem informasi, jika ingin sukses dalam sistem informasi, maka personil-personil yang terlibat harus diberi pengertian dan pengetahuan tentang sistem informasi dan posisi serta tugas mereka. Beberapa pendekatan bisa dilakukan dalam pelatihan dan pendidikan, yaitu ceramah atau seminar, pelatihan prosedural, pelatihan tutorial, simulasi, dan latihan langsung. 4. Pembuatan dokumentasi Dokumentasi adalah melakukan pencatatan terhadap setiap langkah pekerjaan pembuatan sebuah program yang dilakukan dari awal sampai selesai. Ada tiga jenis pemakai dokumentasi dengan kebutuhan yang berbeda-beda, yaitu dokumentasi untuk pemrogram, dokumentasi dokumentasi untuk pemakai biasa (user) untuk operator, dan 27 2.2.5 Manajemen Data Subsistem manajemen data terdiri dari elemen-elemen berikut: 1. Database sistem pendukung keputusan 2. Sistem manajemen database atau database management sistem (DBMS) 3. Directory data 4. Fasilitas query 2.2.5.1 Database Database adalah kumpulan data yang saling terkait yang diorganisasi untuk memenuhi kebutuhan dan struktur sebuah organisasi serta bisa digunakan oleh lebih dari satu orang dan lebih dari satu aplikasi. Ada tiga sumber data dalam sistem pendukung keputusan, yaitu: 1. Data internal Data internal yang dimaksud adalah data yang sudah ada dalam suatu organisasi. Data tersebut bisa dikendalikan oleh organisasi tersebut. Data internal bisa berupa data mengenai orang, produk, layanan, dan proses-proses. Contoh data internal adalah: 2. Data tentang pegawai Data tentang peralatan dan mesin Data penjualan Data penjadwalan produksi Data eksternal Data eksternal adalah data yang tidak bisa dikendalikan oleh organisasiorganisasi. Data tersebut berasal dari luar sistem. Contoh dari data eksternal adalah: Peraturan perundangan Harga pasar Keadaan pesaing Kurs dolar 28 3. Data privat atau personal Data privat adalah data mengenai kepakaran atau naluri dari user terhadap masalah yang akan diselesaikan. Dengan kata lain, data privat merupakan pendapat dari user mengenai variabel yang diperlukan selama menyelesaikan masalah atau nilai dari suatu variabel. Data tersebut bersifat subjektif. 2.2.5.2 Ekstraksi Dalam membuat sebuah database sering diperlukan adanya koneksi ke data warehouse. Proses pemindahan data-data dari database operasional ke dalam warehouse atau database yang khusus digunakan untuk analisis disebut proses ekstraksi. Ekstraksi juga menangani pengambilan data dari sumber-sumber data eksternal dan data privat. Gambar 2.8 Elemen-elemen subsistem manajemen data 2.2.5.3 Organisasi data Online transaction processing (OLTP) merupakan sistem operasional yang dibangun untuk menjalankan bisnis sehari-hari. Sistem tersebut mendukung proses bisnis dalam organisasi dan dibangun untuk memasukan data dalam 29 database. Sistem pendukung keputusan dibangun untuk memperoleh informasi strategis dari database yang ada. Kesulitan analisis dengan database OLTP adalah: Kompleks dan terlalu terstruktur. Sistem lebih didesain ke arah performance tinggi untuk transaksi daripada untuk analisis. Data yang ada tidak selalu berguna untuk analisis. Data elemen yang bisa didefinisiskan secara berbeda (contoh: tanggal ada bertipe date, dan ada yang bertipe varchar). Data disebar dalam banyak sistem sehingga sulit untuk melakukan analisis secara langsung. Analisis pada OLTP bisa menurunkan performance transaksi. Dalam membangun database untuk keperluan transaksi, patokan yang digunakan adalah normalisasi, di mana kita akan menghindari adanya redundansi dalam sistem database yang dibangun. Hal itu bertujuan agar proses penginputan, pengubahan, atau penghapusan bisa dilakukan dengan cepat. Hal itu sesuai dengan karakteristik dari transaksi yang sering melakukan operasi insert, update, ataupun delete. Selain itu, hal tersebut dimaksudkan agar data yang ada selalu konsisten. Lain halnya bila kita membangun untuk keperluan analisis. Proses yang sering terjadi adalah proses pengambilan data atau select. Proses tersebut akan mudah dilakukan oleh sistem jika dilakukan dalam satu tabel saja tanpa proses pengambilan dengan fungsi agregasi. Oleh karena itu, rancangan database yang sangat normal justru akan mempersulit proses pengambilan data. Dalam perancangan database yang digunakan untuk analisis justru dianut kaidah perancangan database dengan struktur yang tidak normal, di mana redundansi bisa terjadi dimana-mana. Seringkali tersimpan data-data summary dalam database, tidak hanya data atomik transaksi. 30 2.2.5.4 Sistem manajemen database Database dibuat, diakses, dan diperbaharui melalui sistem manajemen database atau database manajemen system (DBMS). DBMS yang dimaksud adalah software pengelola database seperti Microsoft SQL Server. Microsoft Access, Oracle, My SQL, dll. Dalam memilih DBMS, tentunya harus diperhatikan beberapa hal terkait dengan aplikasi yang akan dibangun, seperti: Arsitektur sistemnya, apakah sistem akan berbasis stand alone atau client server, berbasis desktop, atau berbasis web. Hal itu perlu diperhatikan karena setiap DBMS memiliki keunggulan pada masing-masing arsitekturnya Platform sistem operasi yang digunakan Besarnya data Pentingnya dukungan keamanan 2.2.5.5 Fasilitas query Merupakan fasilitas untuk menyediakan akses data ke database serta manipulasi data dalam database. Fasilitas tersebut menjawab bagaimana kebutuhan informasi dari user bisa dipenuhi oleh database. 2.2.5.6 Directory data Merupakan sebuah katalog dari semua data dalam database. Isinya definisi data, dan fungsi utamanya adalah menjawab pertanyaan mengenai ketersediaan item-item data, sumber, dan makna eksak dari data. 2.2.5.6.1 Mysql Mysql adalah sebuah server database open source yang terkenal yang digunakan berbagai aplikasi terutama untuk server atau membuat web. Mysql berfungsi sebagai SQL (Structured Query Language) yang dimiliki sendiri dan sudah diperluas oleh Mysql umumnya digunakan bersamaan dengan PHP untuk membuat aplikasi server yang dinamis dan powerfull. Tidak sama dengan proyekproyek seperti Apache, dimana perangkat lunak dikembangkan oleh komunitas umum, dan hak cipta untuk kode sumber dimiliki oleh penulisnya masing-masing. 31 Sebagai peladen basis data, MySQL mendukung operasi basis data transaksional maupun operasi basisdata non transaksional. Pada modus operasi non transaksional, MySQL dapat dikatakan unggul dalam hal unjuk kerja dibandingkan perangkat lunak peladen basis data kompetitor lainnya. Namun demikian pada modus non transaksional tidak ada jaminan atas reliabilitas terhadap data yang tersimpan, karenanya modus non transaksional hanya cocok untuk jenis aplikasi yang tidak membutuhkan reliabilitas data seperti aplikasi blogging berbasis web (wordpress), CMS, dan sejenisnya. Untuk kebutuhan sistem yang ditujukan untuk bisnis sangat disarankan untuk menggunakan modus basis data transaksional, hanya saja sebagai konsekuensinya unjuk kerja MySQL pada modus transaksional tidak secepat unjuk kerja pada modus non transaksional. MySQL memiliki beberapa keistimewaan, antara lain : 1. Portabilitas. MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi. 2. Perangkat lunak sumber terbuka. MySQL didistribusikan sebagai perangkat lunak sumber terbuka, dibawah lisensi GPL sehingga dapat digunakan secara gratis. 3. Multi user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik. 4. Performance tuning, MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu. 5. Ragam tipe data. MySQL memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned integer, float, double, char, text, date, timestamp, dan lainlain. 6. Perintah dan Fungsi. MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query). 7. Keamanan. MySQL memiliki beberapa lapisan keamanan seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi. 32 8. Skalabilitas dan Pembatasan. MySQL mampu menangani basis data dalam skala besar, dengan jumlah rekaman (records) lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung mencapai 32 indeks pada tiap tabelnya. 9. Konektivitas. MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP, Unix soket (UNIX), atau Named Pipes (NT). 10. Lokalisasi. MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan lebih dari dua puluh bahasa. Meski pun demikian, bahasa Indonesia belum termasuk di dalamnya. 11. Antar Muka. MySQL memiliki antar muka (interface) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface). 12. Klien dan Peralatan. MySQL dilengkapi dengan berbagai peralatan (tool) yang dapat digunakan untuk administrasi basis data, dan pada setiap peralatan yang ada disertakan petunjuk online. 13. Struktur tabel. MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani alter table, dibandingkan basis data lainnya semacam PostgreSQL ataupun Oracle. 2.2.6 Pemrograman Berbasis Web Pemrograman web diambil dari dua suku kata yaitu pemrograman dan web. Pemrograman diartikan proses, cara, perbuatan program. Definisi Web adalah jaringan komputer yang terdiri dari kumpulan situs internet yang menawarkan teks dan grafik dan suara dan sumber daya animasi melalui protokol transfer hypertext. Orang banyak mengenal web dengan istilah WWW (World Wide Web), world wide web adalah layanan internet yang paling populer saat ini internet mulai dikenal dan digunakan secara luas setelah adanya layanan WWW. WWW adalah halaman-halaman website yang dapat saling terkoneksi satu dengan lainnya (hyperlink) yang membentuk samudra belantara informasi. WWW berjalan dengan protokol HyperText Transfer Protokol (HTTP). Halaman Web merupakan file teks murni (plain text) yang berisi sintaks-sintaks HTML yang 33 dapat dibuka, dilihat dan diterjemahkan dengan Internet Browser . Sintaks HTML mampu memuat konten teks, gambar, audio, video dan animasi. Kini internet identik dengan web, karena kepopuleran web sebagai standar interface pada layanan-layanan yang ada di internet, dari awalnya sebagai penyedia informasi, ini digunakan juga untuk komunikasi dari email sampai dengan chatting, sampai dengan melakukan transaksi bisnis (commerce). Banyak keuntungan yang diberikan oleh Aplikasi berbasis web dari pada aplikasi berbasis desktop, sehingga aplikasi berbasis web telah diadopsi oleh perusahaan sebagai bagian dari strategi teknologi informasinya, karena beberapa alasan : 1. Akses informasi mudah, 2. Setup server lebih mudah 3. Informasi mudah didistribusikan 4. Bebas platform, informasi dapat disajikan oleh browser web pada sistem operasi mana saja karena adanya standar dokumen berbagai tipe data dapat disajikan Bahasa pemrograman merupakan suatu teknik instruksi standar untuk memerintah komputer. Berikut adalah penjelasan tentang bahasa pemrograman yang biasa digunakan untuk membuat suatu website (Sidik, 2005): 1. HTML : HyperText Markup Language (HTML) adalah sebuah bahasa markup yang digunakan untuk membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah browser Internet. HTML saat ini merupakan standar Internet yang didefinisikan dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C). HTML berupa kode-kode tag yang menginstruksikan browser untuk menghasilkan tampilan sesuai dengan yang diinginkan. Sebuah file yang merupakan file HTML dapat dibuka dengan menggunakan browser web seperti Mozilla Firefox, Microsoft Internet Explorer dll. 2. PHP : Hypertext Preprocessor (PHP) adalah bahasa pemrograman script yang paling banyak dipakai saat ini. PHP pertama kali dibuat oleh Rasmus 34 Lerdorf pada tahun 1995. Pada waktu itu PHP masih bernama FI (Form Interpreted), yang wujudnya berupa sekumpulan script yang digunakan untuk mengolah data form dari web. PHP banyak dipakai untuk membuat situs web yang dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain. PHP biasanya berjalan pada sistem operasi linux (PHP juga bisa dijalankan dengan hosting windows). 3. ASP : ASP adalah singkatan dari Active Server Pages yang merupakan salah satu bahasa pemograman web untuk menciptakan halaman web yang dinamis. ASP merupakan salah satu produk teknologi yang disediakan oleh Microsoft. ASP bekerja pada web server dan merupakan server side scripting. 4. XML : Extensible Markup Language (XML) adalah bahasa markup serba guna yang direkomendasikan W3C untuk mendeskripsikan berbagai macam data. XML menggunakan markup tags seperti halnya HTML namun penggunaannya tidak terbatas pada tampilan halaman web saja. XML merupakan suatu metode dalam membuat penanda atau markup pada sebuah dokumen. 5. WML : WML adalah kepanjangan dari Wireless Markup Language, yaitu bahasa pemrograman yang digunakan dalam aplikasi berbasis XML (Extensible Markup Langauge). WML adalah bahasa pemrograman yang digunakan dalam aplikasi wireless. WML merupakan analogi dari HTML yang berjalan pada protocol nirkabel. 6. PERL : Perl adalah bahasa pemrograman untuk mesin dengan sistem operasi Unix (SunOS, Linux, BSD, HP-UX), juga tersedia untuk sistem operasi seperti DOS, Windows, BeOS, VMS, EBCDIC, dan PocketPC. PERL merupakan bahasa pemograman yang mirip bahasa pemograman C. 35 7. CFM : CFM dibuat menggunakan tag ColdFusion dengan software Adobe ColdFusion / BlueDragon / Coldfusion Studio. Syntax coldfusion berbasis html. 8. Javascript : Javascript adalah bahasa scripting yang handal yang berjalan pada sisi client. Javascript merupakan sebuah bahasa scripting yang dikembangkan oleh Netscape. Untuk menjalankan script yang ditulis dengan Javascript kita membutuhkan Javascript enabled browser yaitu browser yang mampu menjalankan JavaScript. 9. CSS : Cascading Style Sheets (CSS) adalah suatu bahasa stylesheet yang digunakan untuk mengatur tampilan suatu dokumen yang ditulis dalam bahasa markup. Penggunaan yang paling umum dari CSS adalah untuk memformat halaman web yang ditulis dengan HTML dan XHTML. Walaupun demikian, bahasanya sendiri dapat dipergunakan untuk semua jenis dokumen XML termasuk SVG dan XUL. Spesifikasi CSS diatur oleh World Wide Web Consortium (W3C). 2.2.6.1 PHP (Hypertext Preprocessor) PHP adalah bahasa skript yang sangat cocok untuk pengembangan Web dan dapat dimasukan ke HTML. PHP awalnya dikembangkan oleh seorang programer bernama Rasmus Lerdorf pada tahun 1995, namun semenjak itu selalu dikembangkan oleh kelompok independen yang disebut Group PHP karena tidak ada spesifikasi formal. Saat ini pengembangannya dipimpin oleh Andi Gutsman dan Zeev Suraski. Yang menyebabkan PHP dipakai oleh orang banyak adalah karena PHP adalah perangkat lunak bebas (open source) yang dirilis dibawah lisensi PHP. Artinya, untuk menggunakan bahasa pemrograman ini gratis dan bebas. Untuk web, PHP adalah bahasa skripting yang bisa dipakai untuk tujuan apapun. Diantaranya cocok untuk pengembangan aplikasi web berbasis server (server-side) dimana nantinya PHP dijalankan di server web. 36 Setiap kode PHP akan dieksekusi oleh runtime PHP, hasilnya adalah kode PHP yang dinamis tergantung kepada script PHP yang dituliskan. PHP dapat digunakan di banyak server web, sistem operasi dan platform. Selain itu PHP juga digunakan pada sistem manajemen database (RDBMS). Semuanya ini bisa diperoleh gratis, dan Grup PHP menyediakan kode sumber lengkap bagi pengguna untuk membangun, menyesuaikan dan mengutak atik sesuai fungsi yang mereka inginkan (Winarno, 2010). 2.2.6.2 Server PHP PHP diproses menggunakan mesin di server yang disebut parser PHP, kelebihan PHP yang utama adalah tersedianya parser PHP di banyak platform. Jadi konsekuensinya, PHP bisa menjalankan script PHP di banyak server seperti, Apache dan IIS, dan juga di banyak sistem operasi seperti Linux, Windows, dan MacOS. Konfigurasi yang paling banyak dipakai di dunia untuk menghosting filefile PHP adalah LAMP yang merupakan singkatan dari Linux, Apache, MySQL dan PHP. Kombinasi perangkat lunak yang disertakan dalam paket LAMP mungkin berbeda-beda, terutama penggunaannya, seperti PHP dapat diganti atau dilengkapi dengan Perl atau Phyton. Tapi akhirnya AMP. Jika dijalankan di windows akan menjadi WAMP, jika di Mac OS akan menjadi MAMP, jika di solaris menjadi SAMP, atau jika di OpenBSD menjadi OAMP. Kombinasi-kombinasi software ini telah menjadi populer karena semua software bebas biaya (open source) dan lebih mudah diadaptasi. Tak heran jika aplikasi AMP ini dibundel dengan mayoritas distro Linux saat ini. Ketika digunakan bersama-sama, software ini bisa menjadi semacam platform untuk mendukung solusi teknologi berbasis server. Aplikasi LAMP banyak digunakan di dunia perhostingan karena beberapa keunggulan, seperti: Mempermudah coding: para pemula tidak perlu mengonfigurasi satu persatu untuk bisa coding dengan PHP dan MySQL. 37 Mudah untuk menyebarkan: karena PHP adalah modul Apache standar, mudah untuk menggunakan aplikasi web dengan langsung mengupload file PHP ke server Apache yang terkoneksi ke database MySQL. Pengembangan lokal: LAMP dapat diatur sehingga aplikasi dapat dibangun secara lokal, kemudian disebarkan ke Web dengan cepat. Murah dan ada dimana-mana: banyak web host murah menyediakan layanan PHP dan MySQL. Atau dengan kata lain, ini merupakan solusi paling banyak diterapkan. 2.2.6.3 Editor PHP Untuk melakukan kegiatan coding, umumnya digunakan software editor teks seperti saat membuat kode HTML. Berikut adalah daftar beberapa editor PHP yang bisa didapatkan dengan gratis. 1. ActiveState Komodo Edit: pengecekan syntax PHP, mendukung FTP, function list dan code hint 2. Bluefish: Mendukung semua protokol yang didukung oleh GnomeVFS 3. Eclipse: Mendukung PHPEclipse dan tool pengembangan PHP. Dengan plugin tambahan yang mendukung SVN, CVS, database modeling, SSH/FTP, navigasi database, trac integration, dan lain sebagainya 4. Emacs: Editor teks advance, punya addons nXhtml yang khusus mendukung PHP. 5. Geany: Fasilitas syntax highlighting untuk HTML dan PHP. Menyediakan list fungsi-fungsi PHP. 6. jEdit: Editor open source yang mendukung SFTP dan FTP. 7. Netbeand IDE: Punya environtment khusus untuk coding PHP yang terintegrasi dengan web standar. Mendukung SFTP dan FTP. 8. Vim: Memiliki sintaks highlight PHP. 9. SciTE: cepat, punya highlighting, ada integrasi kompiler. Daftar editor PHP di atas adalah yang cross platform, adapun yang khusus untuk sistem operasi windows, antara lain: 38 1. Alleycode HTML Editor : Freeware dengan fasilitas syntax highlighting untuk PP dan HTML. 2. ConTEXT: Freeware dengan syntax highlighting. 3. CodeLobster: Freeware. 4. Crimson Editor: Editor ringan, mendukung FTP. 5. Dev-PHP IDE. 6. HTML-kit: Memiliki fasilitas syntax highlighting, mendukung FTP. 7. Intype: Editor lightweight. Versi Alpha. 8. Notepad++: Mendukung FTP dan syntax highlighting. 9. Programers Notepad: Fasilitas syntax highlighting. 10. PSPad: Medukung FTP, dan syntax highlighting. 2.2.7 Metode Pengujian Sistem Dalam testing dan implementasi sistem dikenal 2 metode pengujian yang populer, yakni pengujian black box dan pengujian white box (Rouf, 2012). 2.2.7.1 Black box Black box Testing merupakan pengujian yang berfokus pada spesifikasi fungsional dari perangkat lunak, tester dapat mendefinisikan kumpulan kondisi input dan melakukan pengetesan pada spesifikasi fungsional program. Ciri-Ciri Black Box Testing: 1. Black box testing berfokus pada kebutuhan fungsional pada software, berdasarkan pada spesifikasi kebutuhan dari software. 2. Black box testing bukan teknik alternatif daripada white box testing. Lebih daripada itu, ia merupakan pendekatan pelengkap dalam mencakup error dengan kelas yang berbeda dari metode white box testing. 3. Black box testing melakukan pengujian tanpa pengetahuan detil struktur internal dari sistem atau komponen yang dites. juga disebut sebagai behavioral testing, specification based testing, input/output testing atau functional testing Pada black box testing terdapat jenis teknik disain tes yang dapat dipilih berdasarkan pada tipe testing yang akan digunakan, yang diantaranya : 39 1. Equivalence Class Partitioning 2. Boundary Value Analysis 3. State Transitions Testing 4. Cause-Effect Graphing Kategori error yang akan diketahui melalui black box testing : Fungsi yang hilang atau tak benar Error dari antar-muka Error dari struktur data atau akses eksternal database Error dari kinerja atau tingkah laku Error dari inisialisasi dan terminasi Gambar 2.9 Black box Testing 2.2.7.2 White box White box testing adalah pengujian yang didasarkan pada pengecekan terhadap detail perancangan, menggunakan struktur kontrol dari desain program secara procedural untuk membagi pengujian ke dalam beberapa kasus pengujian. Secara sekilas dapat diambil kesimpulan white box testing merupakan petunjuk untuk mendapatkan program yang benar. Pengujian white box: 40 1. Untuk mengetahui cara kerja suatu perangkat lunak secara internal. 2. Untuk menjamin operasi-operasi internal sesuai dengan spesifikasi yang telah ditetapkan dengan menggunakan struktur kendali dari prosedur yang dirancang. Pelaksanaan pengujian white box: 1. Menjamim seluruh independent path dieksekusi paling sedikit satu kali. Independent path adalah jalur dalam program yang menunjukkan paling sedikit satu kumpulan proses ataupun kondisi baru. 2. Menjalani logical decision pada sisi true dan false. 3. Mengeksekusi pengulangan (looping) dalam batas-batas yang ditentukan. 4. Menguji struktur data internal. Berdasarkan konsep pengujian, white box (structural) testing / glass box testing yaitu dengan memeriksa kalkulasi internal path untuk mengidentifikasi kesalahan. Langkah-langkah white box: 1. Mendefinisikan semua alur logika 2. Membangun kasus untuk digunakan dalam pengujian 3. Melakukan pengujian. Kelebihan white box testing: 1. Kesalahan logika. Digunakan pada sintaks ‘if’ dan pengulangan. Dimana white box testing akan mendeteksi kondisi-kondisi yang tidak sesuai dan mendeteksi kapan proses pengulangan akan berhenti. 2. Ketidaksesuaian asumsi. Menampilkan asumsi yang tidak sesuai dengan kenyataan, untuk di analisa dan diperbaiki 3. Kesalahan ketik. Mendeteksi bahasa pemrograman yang bersifat case sensitive. Kelemahan white box testing: Untuk perangkat lunak yang tergolong besar, white box testing dianggap sebagai strategi yang tergolong boros, karena akan melibatkan sumber daya yang besar untuk melakukannya.