BAB II LANDASAN TEORI 2.1. Perjalanan Dinas PT. PETER-GO CONSULTANT salah satu perusahaan yang bergerak dalam bidang konsultan kontruksi dalam pengerjaan beberapa proyek mulai dari soil investigations, building audit, dan melayani beberapa permintaan penelitian tentang proyek-proyek pembangunan, maka dibutuhkan keberedaan suatu sistem untuk perusahaan mengontrol keuangan yang harus dikeluarkan untuk para pegawai yang melakukan perjalanan dinas, khususnya biaya transportasi, penginapan, akomodasi dan jumlah hari yang diperlukan dalam sebuah perjalanan dinas. Masalah kalkulasi atau perhitungan jumlah biaya yang dikeluarkan dalam sebuah perjalanan dinas sangat menjadi perhatian sebuah perusahaan dalam menyediakan biaya bagi para pegawai yang melakukan perjalanan dinas. Sistem kalkulasi perjalanan dinas dibutuhkan karena pada dasarnya setiap perjalan dinas harus dikontrol dalam hal biaya yang dikeluarkan untuk perjalanan dinas. Dan proses kalkulasi dilakukan untuk menjamin adanya kepastian dalam perhitungan jumlah biaya yg disiapkan atau dikeluarkan oleh pihak perusahaan untuk pegawai yang melakukan perjalan dinas. PT. PETER-GO CONSULTANT masih menggunakan sistem manual dalam setiap pegawai yang akan melakukan perjalanan dinas. Surat pengajuan perjalanan dinas yang dikirim pegawai, yang akan melakukan perjalanan dinas diketik secara manual dan diserahkan kepada perusahaan, lalu perusahaan menyiapkan biaya yang akan diperlukan untuk kebutuhan sebuah perjalanaan dinas berdasarkan surat penjalanan dinas yang diajukan pegawai tersebut, maka terkadang perusahaan mengalami masalah dalam pencarian data transaksi perjalanan dinas karna kumpulan-kumpulan berkas diarsip secara manual. 5 6 2.2. Konsep Perjalanan Dinas Perjalanan dinas merupakan sebuah kebutuhan, kebiasaan, dan bagian dari keseharian setiap para pegawai perusahaan swasta maupun pejabat pemerintahan untuk melakukan sebuah rutinitas perkejaan yang biasanya dilakukan di kantor tempat dimana para pegawai tersebut bekerja, namun karena keperluan tugas yang harus dijalankan diluar kantor tempat para pegawai biasanya mengerjakan rutinitas kerja pada setiap harinya, maka perjalanan dibutuhkan bagi setiap perusahaan swasta maupun dinas pemerintahan. 2.3. Konsep Dasar Sistem Informasi 2.3.1. Sistem Secara sederhana, suatu sistem dapat diartikan sebagai sebuah kumpulan atau himpunan dari unsur, komponen, atau variabel yang terorganisir, saling berintegrasi, saling tergantung satu sama lain, dan terpadu. [Tata Sutabri, 2012:10] 2.3.2. Informasi Menurut Tata Sutabri (2012:29) informasi adalah data yang telah diklasifikasikan atau diinterpretasi untuk digunakan dalam proses pengambilan keputusan. Sistem pengolahan informasi mengolah data menjadi informasi atau tepatnya mengoleh bentuk tak berguna menjadi berguna bagi penerimanya. 2.3.3. Sistem Informasi Menurut Rudy (2012:2) menyebutkan bahwa “Sistem Informasi adalah cara yang terorganisir untuk mengumpulkan, memasukkan, dan memproses data dan menyimpannya, mengelola, mengontrol dan melaporkannya sehingga dapat mendukung organisasi untuk mencapai tujuan”. Menurut Yakub (2012:17) mendefinisikan bahwa “Sistem Informasi adalah suatu sistem yang dibuat oleh manusia yang terdiri dari komponen – komponen dalam organisasi untuk menyajikan informasi”. Dari pengertian di atas, dapat disimpulkan bahwa sistem informasi adalah sekumpulan komponen yang saling terhubung yang mengumpulkan, memproses, menyimpan, dan mendistribusikan informasi yang berguna bagi pengguna. 7 2.4. Pengembangan Sistem Informasi Sebuah sistem informasi bisa dikatakan berjalan dengan baik tentu dengan pengelolaan pelaksanaan yang baik. Dalam pengembangan sistem informasi, ada metode yang paling umum digunakan dengan istilah SDLC (System Development Life Cycle). Inilah acuan untuk bisa membangun dan mengelola sebuah sistem informasi yang baik. 2.4.1. Pengertian SDLC (System Development Life Cycle) Pengertian SDLC adalah suatu proses berkelanjutan dari planning, analisis, desain dan implementasi. Yang pada setiap prosesnya dilakukan perbaikan secara bertahap. [Dennis dkk 2012:39] 2.4.2. Perancangan SDLC (Model Waterfall) Model perancangan SDLC adalah dengan model waterfall. Terdapat 5 langkah dalam model waterfall, Adalah : Gambar 2-1. Metode waterfall (Dennis dkk 2012) 1. Planning Dalam tahapan ini, menjelaskan dan mengargumentasi untuk melanjutkan proyek yang telah dipilih.Rencana kerja yang matang juga disusun untuk menjalankan tahapan-tahapan lainnya. Pada tahap ini ditentukan secara detail rencana kerja yang harus dikerjakan, durasi yang diperlukan masing–masing tahap, sumber daya manusia, perangkat lunak, dokumentasi, perangkat keras, maupun finansial diestimasi. Pembuatan perencanaan ini bukan langkah mudah karena untuk 8 mengestimasi beban kerja dan durasi dari masing-masing tahap dibutuhkan pengalaman yang cukup banyak. Kesalahan pada tahap ini akan mengakibatkan keuntungan yang diperoleh tidak maksimal, bahkan bisa rugi. Pada tahapan ini peran manajemen sistem informasi berpengalaman sangat dibutuhkan. 2. Analysis Tahap kedua, adalah tahap analisis, yaitu tahap dimana kita berusaha mengenali segenap permasalahan yang muncul pada pengguna dengan mendekomposisi dan merealisasikan komponen-komponen sistem. Tujuan utama dari tahap analisis adalah untuk memahami dan mendokumentasikan kebutuhan bisnis dan persyaratan proses dari sistem baru. Menganalisa kebutuhan sebagai bahan dalam membuat spesifikasi di tahapan selanjutnya. 3. Design Tahap perancangan (design), dimana kita mencoba mencari solusi permasalahan yang didapat dari tahap analis.tahapan mengubah kebutuhan yang masih berupa konsep menjadi spesifikasi sistem yang riil untuk diimplementasikan.Jika pada tahapan analisis (from requirement to specification), maka tahapan desain adalah (from specification to implementation). Jadi, bagaimana membuat spesifikasi yang detail untuk bisa diimplementasikan. 4. Implementation Tahap implementasi, dimana kita mengimplementasikan perancangan sistem ke situasi nyata. Di sini kita mulai berurusan dengan pemilihan perangkat keras dan penyusunan perangkat lunak aplikasi (pengkodean/coding). 5. System Pada tahapan sistem dilakukan pengujian (testing) dan pemeliharaan, yang dapat digunakan untuk menentukan apakah sistem/perangkat lunak yang kita buat sudah sesuai dengan kebutuhan pengguna atau belum. Jika belum, proses selanjutnya adalah bersifat 9 iteratif, yaitu kembali ke tahap-tahap sebelumnya. Tahap pemeliharaan/perawatan di mana kita mulai melakukan pengoperasian sistem dan jika diperlukan melakukan perbaikan-perbaikan kecil. Kemudia jika waktu penggunaan sistem habis, maka kita akan masuk lagi pada tahap perencanaan (design). 2.5. Konsep Dasar Berorientasi Obyek Obyek adalah “benda”, yang secara fisik atau konseptual dapat ditemui di sekeliling kita. Obyek adalah riil. Contoh obyek adalah orang, perangkat keras, perangkat lunak, dokumen, dan lain-lain. Setiap obyek memiliki dua ciri, yaitu atribut (property atau data) yang menjadi ciri khas dari suatu obyek dan method (behavior/function), yaitu apa yang dapat dilakukan oleh obyek. Berorientasi Obyek (object oriented) berarti permasalahan didefinisikan melalui istilah dari obyek yang mengkapsulasi data (atribut) dan perilaku (behavior), yaitu melalui paradigma/pendekatan obyek. Selain object, ada beberapa istilah yang akan membantu untuk memahami pengertian dalam skripsi ini: a. Class, yaitu kumpulan obyek yang sejenis. Secara lebih lugas obyek adalah instant dari sebuah class, atau dengan pengertian lain dengan class kita menggambarkan property dan behavior dari tipe obyek. b. Inheritance, adalah penurunan atribut atau method dari suatu obyek class ke obyek class lainnya. c. Polymorphisme, berasal dari bahasa Yunani yang berarti banyak bentuk. Dalam konsep ini memungkinkan digunakannya suatu interface yang sama untuk memerintah suatu obyek untuk melakukan suatu aksi atau tindakan yang mungkin secara prinsip sama tetapi secara proses berbeda. Secara sederhana bisa juga disebut : satu interface, banyak aksi. Metodologi adalah cara sistematis untuk mengerjakan pekerjaan analisis dan desain. Metodologi berorientasi obyek adalah metode penyelesaian masalah dengan menggunakan pendekatan berorientasi obyek. 10 2.6. Analisa dan Perancangan Berorientasi Obyek Analisa dan desain berorientasi obyek berarti merumuskan dan menyelesaikan masalah serta menghasilkan suatu hipotesa dan diagnosa (solusi), memodelkannya dengan pendekatan/paradigma obyek (obyek adalah riil punya atribut/data dan perilaku). Object oriented analysis adalah suatu metoda analisis yang memeriksa syarat-syarat dari sudut pandang kelas-kelas dan objek-objek yang ditemui pada ruang lingkup permasalahan. Pada tahap ini, kegiatan-kegiatan yang dilakukan dalam menganalisa sistem sebagai berikut: Menganalisa sistem yang ada dan mempelajari apa yang dikerjakan oleh sistem yang ada. Menspesifikasikan sistem, yaitu spesifikasi masukan yang digunakan oleh database, proses yang dilakukan dan keluaran yang dihasilkan. Mendefinisikan kebutuhan-kebutuhan sistem melalui skenario atau penggunaan kasus-kasus. Kemudian, membuat suatu model obyek dengan kemampuan memenuhi kebutuhan-kebutuhan. Dalam melakukan analisa dan perancangan sistem berorientasi obyek penulis menggunakan UML (Unified Modelling Language) untuk memodelkannya. 2.7. Analisis dan Perancangan Sistem 2.7.1. Analisis Sistem Analisis sistem adalah penguraian dari suatu sistem informasi yang utuh ke dalam bagian-bagian komponennya dengan maksud untuk mengidentifikasi permasalahan-permasalahan, kesempatan-kesempatan, hambatan-hambatan yang terjadi pada kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan-perbaikannya. 2.7.2. Fungsi Analisis Sistem Fungsi Analisis Sistem adalah: 1. Mengidentifikasikan masalah-masalah dari pengguna 11 2. Menyatakan secara spesifik sasaran yang harus dicapai untuk memenuhi kebutuhan pengguna 3. Memilih alternatif-alternatif metode pemecahan masalah 4. Merencanakan dan menerapkan rancangan sistemnya sesuai dengan permintaan pengguna 2.7.3. Perancangan Sistem Perancangan sistem diawali dengan menentukan segala keperluan yang akan memenuhi apa yang akan dibutuhkan oleh sistem, siapa yang mengambil langkah ini dan bagaimana mereka akan disesuaikan. Umumnya perancangan sistem bergerak dari input ke output. Keluaran (output) sistem yang terdiri dari report dan file untuk memuaskan kebutuhan organisasi, harus dibatasi dengan jelas. 2.7.4. Model Use Case Model use case memberikan informasi rinci tentang perilaku dari sistem atau aplikasi yang sedang dikembangkan. Di dalamnya terdapat use case diagram dan activity diagram yang menggambarkan bagaimana pengguna berinteraksi dengan sistem. Model use case mengidentifikasi persyaratan sistem dalam hal fungsi yang harus ada untuk mencapai tujuan yang ditetapkan oleh pengguna atau untuk memecahkan masalah yang diidentifikasi oleh pengguna. Use Case menggambarkan perilaku utama yang mengidentifikasikan pengguna dalam persyaratan dan menggambarkan hasil yang diberikan kepada pengguna, use case tidak menggambarkan bagaimana sistem beroperasi secara internal. Aktor adalah pengguna sistem dan mewakili peran yang berbeda bahwa orang dan sistem lain bermain ketika mereka berinteraksi dengan sistem. 2.7.5. Model Analisis Model analisis harus mencapai sasaran berikut: Menggambarkan apa yang dibutuhkan oleh pengguna Membangun dasar bagi pembuatan desain perangkat lunak Membatasi serangkaian persyaratan yang dapat divalidasi begitu perangkat lunak dibangun. 12 2.8. Unified Modelling Language (UML) UML (Unified Modeling Language) merupakan kosakata umum berbasis objek dan diagram teknik yang cukup efektif untuk memodelkan setiap proyek pengembangan sistem mulai tahap analisis sampai tahap desain dan implementasi (Dennis dkk, 2012:513). 2.8.1. Use Case Diagram Use case diagram menggambarkan kebutuhan sistem dari sudut pandang pengguna. Digunakan untuk menggambarkan hubungan antara internal sistem dan eksternal sistem atau hubungan antara use case dan aktor. Tabel 2-1. Notasi Use Case Diagram (Dennis dkk 2012) 1. Aktor (actor) ,menggambarkan pihak-pihak yang berperan dalam sistem. 2. Use case, aktifitas / sarana yang disiapkan oleh bisnis / sistem. 3. Sistem boundary, adalah sebuah kotak yang mewakili sebuah sistem. 4. Hubungan (link) , aktor mana saja yang terlibat dalam Use case, dan bagaimana hubungan Use case dengan Use case lain. ada hubungan antar Use case. Digolongkan menjadi 2: yaitu extend digambarkan dengan keterangan <<extend>>, dan include digambarkan dengan keterangan <<include>> . berikut perbedaanya : Include Extend Use case terpanggil (included use Use case ekstensi tidak selalu case) selalu diperlukan oleh use dibutuhkan oleh use case dasar case dasar 13 Yang memutuskan dipanggilnya kapan use case included Yang memutuskan dipanggilnya use case kapan extend adalah use case dasar adalah use case extend itu sendiri Panah hubungan dari use case dasar Panah hubungan dari use case ke use case include extend ke use case dasar Gambar 2-2. Contoh Use Case Diagram (Dennis dkk: 2012) Gambar 2-3 Notasi Penggunaan Include dan Extend Use Case (Dennis dkk 2012:520) 14 Use case biasanya disertai dengan penjelesan narasi yang dirangkum dalam tabel yaitu disebut Use case Description. Use case. Description merupakan tabel yang digunakan untuk membuat dan menjelaskan keterangan terperinci mengenai tiap tiap Use case. Terdapat istilah pre condition dan post condition, fungsinya adalah memberikan informasi penting mengenai keadaan sistem sebelum dan sesudah Use case. Hal ini dapat dilakukan dengan memberikan penjelasan singkat atau dapat pula berupa nama Use Case. (Dennis dkk: 2012) 2.8.2. Activity Diagram Pengertian diagram Activity adalah yang menggambarkan alur kerja bisnis independen dari class, aliran kegiatan dalam use case, atau desain rinci sebuah metode. [Dennis dkk 2012 :513] Gambar 2-4 Contoh Activity Diagram (Dennis dkk : 2010) 15 2.8.3. Sequence Diagram Sequence Diagram merupakan urutan model dinamis yang menggambarkan contoh class yang berpartisipasi dalam use case dan pesan yang lewat di antara mereka dari waktu ke waktu. (Dennis dkk 2012 : 540) Gambar 2-5 Sequence Diagram (Dennis dkk :2012) Tabel 2-2 Komponen Sequence Diagram (Dennis dkk :2012) 16 2.8.4. Class Diagram Class Diagram adalah ilustrasi hubungan antara class yang dimodelkan didalam sistem Class Diagram sangat mirip dengan diagram hubungan entitas (ERD) (Dennis dkk 2012:513). Komponen class diagram : Tabel 2-3 Komponen Class Diagram (Dennis dkk :2012) Gambar 2-6 Contoh Class Diagram (Dennis dkk : 2012) 2.9. Pengertian Basis Data Basis data (database) diartikan sebuah koleksi atau kumpulan data-data yang saling berhubungan, disusun menurut aturan tertentu secara logis, sehingga 17 menghasilkan informasi. Selain itu, untuk mengelola dan memanggil query basis data agar dapat disajikan dalam berbagai bentuk yang dibutuhkan perangkat lunak yang disebut Sistem Manajement Basis Data atau disebut juga Database Management System (DBMS). 2.10. Perancangan Basis Data Merupakan tahap merancang basis data yang akan diterapkan oleh sistem. Menurut Fathansyah (2012:2) basis data dapat didefisinikan dalam sejumlah sudut pandang seperti: a) Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah. b) Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan. c) Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis. 2.10.1. Tujuan Perancangan Basis Data a) Untuk memenuhi informasi yang berisikan kebutuhan-kebutuhan user secara khusus dan aplikasi-aplikasinya. b) Mendukung kebutuhan-kebutuhan pemrosesan dan beberapa obyek penampilan. 2.11. Web Mobile Mobile web bertujuan untuk mengakses layanan data secara wireless dengan menggunakan perangkat mobile seperti handphone, pda dan perangkat portable yang tersambung ke sebuah jaringan telekomunikasi selular. Mobile web yang diakses melalui perangkat mobile perlu dirancang dengan mempertimbangkan keterbatasan perangkat mobile seperti sebuah handphone yang memiliki sebuah layar dengan ukuran yang terbatas ataupun beberapa keterbatasan pada sebuah perangkat mobile. Mobile Web umumnya berukuran ringan disetiap halamannya yang ditulis dengan Extensible Hypertext Markup Language (XHTML) atau Wireless Markup Language (WML) untuk mengirimkan konten ke perangkat mobile. 18 2.12. Adobe Dreamweaver Adobe Dreamweaver merupakan perangkat lunak yang ditujukan untuk membuat suatu situs web. Versi Dreamweaver ini adalah Dreamweaver CS6. Versi ini memiliki performa lebih baik dan memiliki tampilan yang memudahkan anda untuk membuat dan mengelola halaman web, termasuk diantaranya dalam hubungannya dengan bahasa pemrograman HTML5, PHP dan database MySQL. Gambar 2-7. Tampilan Adobe Dreamweaver CS6 2.13. HTML5 HTML5 adalah revisi kelima dari HTML (yang pertama kali diciptakan pada tahun 1990 dan versi keempatnya, HTML4, pada tahun 1997) dan hingga bulan Juni 2011 masih dalam pengembangan. HTML5 adalah suatu spesifikasi atau standard yang dikeluarkan oleh W3C (World Wide Web Consortium) sebagai revisi dari standard HTML. Tujuan utamanya telah meningkatkan bahasa dengan dukungan untuk multimedia terkini dengan tetap mudah dibaca oleh manusia dan secara konsisten dimengerti oleh komputer dan perangkat (web browser, parser, dll). HTML5 dimaksudkan untuk menggolongkan tidak hanya HTML 4, tapi XHTML 1 dan DOM Level 2 HTML juga. HTML5 ini merupakan hasil proyek dari lembaga persatuan website dunia, World Wide Web Consortium (W3C) dan Web Hypertext Application Technology Working Group (WHATWG). Proyek tersebut dimulai di tahun 2009 untuk menyempurnakan bahasa penanda sebelumnya yang dianggap sudah lawas. 19 Tujuan utama dengan adanya HTML5 adalah mengurangi penggunaan pluginplugin 3rd party pada HTML sehingga dapat mempercepat kinerja web itu sendiri. Plugin-plugin tersebut seperti Adobe Flash, Microsft Silverlight, Java dan lain-lainnya. 2.14. XAMPP XAMPP merupakan singkatan dari X (Empat sistem operasi apapun), Apache, MySQL, PHP, Perl. XAMPP mempunyai tool yang menyediakan paket perangkat lunak kedalam satu buah paket. Dalam paketnya sudah terdapat Apache (Web Server), MySQL (Database), PHP (Server Side Scripting), Perl, FTP server, phpMyAdmin dan berbagai pustaka bantu lainnya. Dengan menginstal XAMPP maka tidak perlu lagi menginstal dan konfigurasi web server Apache, PHP dan MySQL secara manual. XAMPP akan menginstalasi dan mengkonfigurasikannya secara otomatis pada perangkat keras. 2.15. PHP PHP adalah bahasa pemrograman script server-side yang didesain untuk pengembangan web, tetapi juga bisa digunakan sebagai bahasa pemrograman umum (wikipedia). PHP pertama kali di kembangkan pada tahun 1995 oleh Rasmus Lerdorf, namun sekarang dikelola oleh The PHP Group. Situs resmi PHP beralamat di http://www.php.net. Pada awalnya PHP adalah singkatan dari Personal Home Page, namun karena dalam perkembangannya PHP tidak hanya digunakan untuk membuat halaman web pribadi, PHP saat ini merupakan singkatan dari PHP: Hypertext Preprocessor, sebuah kepanjangan rekursif, yakni permainan kata dimana kepanjangannya berisi juga singkatan itu sendiri. PHP dirilis dalam lisensi PHP License, sedikit berbeda dengan lisensi GNU General Public License (GPL) yang biasa digunakan untuk proyek Open Source. Namun penggunaan PHP tetap tidak dikenakan biaya (gratis). PHP juga banyak mendukung database populer yang sering digunakan dalam beberapa web server, antara lain Adabas D, Empress, FrontBase, PostgreSQL , FIlePro(read only), mSQL, Solid, Hyperwave, Direct MS-SQL, Sybase, IBM DB2, MySQL, Velocis, Informix, ODBC dan Unix dbm. 20 2.16. MySQL MySQL adalah sebuah perangkat lunak system manajemen basis data SQL (DBMS) yang multithread, dan multi-user. MySQL adalah implementasi dari system manajemen basisdata relasional (RDBMS). MySQL dibuah oleh TcX dan telah dipercaya mengelola system dengan 40 buah database berisi 10.000 tabel dan 500 di antaranya memiliki 7 juta baris. MySQL AB merupakan perusahaan komersial Swedia yang mensponsori dan yang memiliki MySQL. Pendiri MySQL AB adalah dua orang Swedia yang bernama David Axmark, Allan Larsson dan satu orang Finlandia bernama Michael “Monty”. Setiap pengguna MySQL dapat menggunakannya secara bebas yang didistribusikan gratis dibawah lisensi GPL(General Public License) namun tidak boleh menjadikan produk turunan yang bersifat komersial.