BAB 2 LANDASAN TEORI 2.1 Definisi Sistem Informasi Menurut O’Brien (2005, p22), definisi sistem adalah sekumpulan komponen yang saling berkaitan dan bekerja bersama–sama untuk mencapai sebuah tujuan tertentu dengan cara menerima masukkan (input) dan menghasilkan keluaran (output) dalam sebuah proses perubahan terorganisir. Sistem tersebut dikenal juga sebagai sistem yang dinamis memiliki tiga komponen atau fungsi dasar untuk berinteraksi, yaitu : 1. Masukkan (input) Yang termasuk kedalam input adalah mengumpulkan dan merakit elemenelemen yang memasuki sistem untuk diolah. 2. Proses Merupakan kegiatan mengolah dan mengubah suatu input menjadi output. 3. Keluaran (output) Yang disebut keluaran (output) adalah kegiatan menyampaikan elemen– elemen yang telah berubah lewat pengolahan, menjadi hasil akhir yang diharapkan menuju sasaran yang telah ditetapkan. Informasi adalah data yang dikonversi atau diubah menjadi konteks yang berarti dan berguna bagi para pemakai akhir tertentu (O’Brien, 2005, p38). Menurut Laudon (2004, p8) informasi adalah data yang telah dibentuk kedalam form yang berarti dan berguna untuk manusia. 8 9 Kualitas yang dimiliki dari suatu informasi tergantung pada empat hal, yaitu : 1. Akurat Informasi harus bebas dari kesalahan-kesalahan dan tidak menyesatkan bagi orang yang menerima informasi tersebut. Akurat juga berarti informasi harus jelas mencerminkan maksudnya. Dalam prakteknya, mungkin dalam penyampaian suatu informasi banyak terjadi gangguan (noise) yang dapat merubah atau merusak isi dari informasi tersebut. 2. Tepat waktu Informasi yang diterima harus tepat pada waktunya, sebab informasi yang usang (terlambat) tidak mempunyai nilai yang baik, sehingga bila digunakan sebagai dasar dalam pengambilan keputusan akan dapat berakibat fatal. Saat ini mahalnya nilai informasi disebabkan harus cepatnya informasi tersebut didapat, sehingga diperlukan teknologi-teknologi mutakhir untuk mendapatkan, mengolah dan mengirimkannya. 3. Relevan Informasi harus mempunyai manfaat bagi penerima. Relevansi informasi untuk tiap-tiap orang satu dengan yang lainnya berbeda. Misalnya informasi mengenai sebab kerusakan mesin produksi kepada akuntan perusahaan adalah kurang relevan dan akan lebih relevan bila ditujukan kepada ahli teknik perusahaan. 10 4. Ekonomis Informasi yang dihasilkan mempunyai manfaat yang lebih besar dibandingkan dengan biaya mendapatkannya dan sebagian besar informasi tidak dapat tepat ditaksir keuntungannya dengan satuan nilai uang tetapi dapat ditaksir nilai efektivitasnya. Sistem informasi merupakan gabungan dari manusia, piranti keras, piranti lunak, jaringan telekomunikasi dan sumber data yang mengumpulkan, mengubah dan menyebarkan informasi dalam suatu organisasi (O’Brien, 2005, p6). 2.2 Pengertian Pemesanan Pemesanan adalah tindakan memesan barang oleh seseorang kepada perusahaan baik secara langsung maupun melalui pramuniaga perusahaan tersebut (Anorga, 1997, p417). Dalam bidang ekonomi istilah pemesanan sudah tidak asing lagi, bahkan sudah sangat terkenal terutama dibidang jasa transportasi. Pada bidang jasa transportasi pemesanan sering dilakukan seperti pelanggan memesan taksi, memesan tiket bus serta memesan bus untuk pariwisata. 2.3 Short Message Service (SMS) Short Message Service (SMS), merupakan pesan singkat berupa teks yang dikirim dan diterima antar sesama pengguna telepon. Pada awalnya pesan ini digunakan antar telepon genggam, namun dengan berkembangnya teknologi, pesan tersebut bisa dilakukan melalui komputer ataupun telepon rumah (anonim1). 11 Dengan SMS, pengguna telepon genggam GSM dapat mengirim dan menerima berita atau pesan singkat (biasanya sampai dengan 160 karakter). Teks dapat berupa kata atau nomor ataupun kombinasi alphanumeric. SMS diciptakan sebagai bagian dari standar GSM Phase 1. Pesan singkat pertama yang dikirimkan adalah pada bulan Desember 1992 dari sebuah Personal Computer (PC) ke sebuah telepon genggam pada jaringan Vodafone GSM di Inggris. Jika pesan singkat dilakukan dengan menggunakan huruf latin maka karakter yang dapat dikirim adalah sebanyak 160 karakter, sedangkan jika menggunkan huruf non-latin seperti huruf Arab atau Cina jumlah karakter yang dapat dikirim adalah sebanyak 70 karakter. 2.3.1 Cara Kerja SMS Seluruh jaringan operator GSM mempunyai Message Centre (MC), yang bertanggung jawab terhadap pengoperasian atau manajemen dari beberapa berita yang ada. Bila seseorang mengirim berita kepada orang lain dengan telepon gengamnya, maka berita ini harus melewati MC dari operator jaringan tersebut, dan MC ini dengan segera dapat menemukan si penerima berita tersebut. MC ini menambah berita tersebut dengan tanggal, waktu dan nomor dari si pengirim berita dan mengirim berita tersebut kepada si penerima berita. Apabila telepon genggam penerima sedang tidak aktif, maka MC akan menyimpan berita tersebut dan akan segera mengirimnya apabila telepon genggam penerima terhubung dengan jaringan atau aktif. 12 2.4 Sistem Basis Data 2.4.1 Pengertian Sistem Basis Data Basis data adalah suatu koleksi terdistribusi dari data–data yang saling berkaitan secara logika dan suatu penggambaran dari data ini, yang dirancang untuk memenuhi kebutuhan informasi dari sebuah organisasi (Connolly, 2005, p15). Tujuan dari sistem basis data secara keseluruhan adalah untuk melakukan perawatan informasi dan menyajikan kapan saja dibutuhkan. Sistem basis data terdiri dari : ▪ Field, merupakan unit terkecil dalam suatu record yang membentuk suatu atribut dari record yang merupakan suatu data. ▪ Record, merupakan kumpulan dari field-field yang saling berkaitan. ▪ File, merupakan kumpulan dari record-record yang membentuk suatu kesatuan data yang sejenis. 2.4.2 MySQL MySQL merupakan piranti lunak sistem manajemen basis data SQL atau Database Management Sistem (DBMS) yang multithread dan multi-user. MySQL AB membuat MySQL tersedia sebagai piranti lunak gratis dibawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL. MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia MySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya. 13 Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah David Axmark, Allan Larsson, dan Michael "Monty" Widenius. Beberapa kelebihan MySQL dibandingkan dengan sistem basis data sejenis seperti PostgreSQL, Microsoft SQL Server dan Oracle (Welling dan Thomson, 2001, p4) : 1. Kemampuan yang tinggi 2. Biaya yang rendah karena untuk mendapatkan MySQL tidak memerlukan biaya. 3. Mudah untuk konfigurasidan dipelajari. 4. Dapat dijalankan pada beberapa sistem operasi sistem Unix dan Microsoft Windows. 2.4.3 XAMPP XAMPP adalah perangkat lunak gratis, yang mendukung banyak sistem operasi, merupakan kompilasi dari beberapa program untuk menjalankan fungsinya sebagai server yang berdiri sendiri, yang terdiri atas program Apache HTTP Server, MySQL database, dan penterjemah bahasa yang ditulis dengan bahasa pemrogramaan PHP dan Perl. XAMPP adalah nama yang merupakan singkatan dari X (empat sistem operasi apapun), Apache, MySQL, PHP dan Perl. Program ini tersedia dalam GNU General Public License dan bebas, merupakan web server yang mudah digunakan yang dapat mampu melayani halaman dinamis. Saat ini, XAMPP tersedia untuk sistem operasi Microsoft Windows, Linux, Sun Solaris dan Mac OS X (anonim2). 14 2.5 Bahasa Pemrograman Java 2.5.1 Pengenalan Java Java adalah sebuah bahasa pemrograman komputer berbasiskan kepada Object Oriented Programming. Java diciptakan setelah C++ dan didesain sedemikian rupa sehingga ukurannya kecil, sederhana, dan portable (dapat dipindah-pindahkan di antara bermacam platform dan sistem operasi (anonim3). 2.5.2 Sejarah Singkat Java Pada 1991, sekelompok insinyur Sun dipimpin oleh Patrick Naughton dan James Gosling ingin merancang bahasa komputer untuk perangkat konsumer seperti cable TV Box. Karena perangkat tersebut tidak memiliki banyak memori, bahasa harus berukuran kecil dan mengandung kode yang liat. Juga karena manufaktur – manufaktur berbeda memilih processor yang berbeda pula, maka bahasa harus bebas dari manufaktur manapun. Proyek diberi nama kode ”Green”. Kebutuhan untuk fleksibilitas, kecil, liat dan kode yang netral terhadap platform mengantar tim mempelajari implementasi Pascal yang pernah dicoba. Niklaus Wirth, pencipta bahasa Pascal telah merancang bahasa portabel yang menghasilkan intermediate code untuk mesin hipotesis. Mesin ini sering disebut dengan mesin maya (virtual machine). Kode ini kemudian dapat digunakan di sembarang mesin yang memiliki interpreter. Proyek Green menggunakan mesin maya untuk mengatasi isu utama tentang netral terhadap arsitektur mesin. Karena orang–orang di proyek Green berbasis C++ dan bukan Pascal maka kebanyakan sintaks diambil dari C++, serta mengadopsi orientasi objek dan bukan prosedural. Mulanya bahasa yang diciptakan diberi nama ”Oak” oleh 15 James Gosling yang mendapat inspirasi dari sebuah pohon yang berada pada seberang kantornya, namun dikarenakan nama Oak sendiri merupakan nama bahasa pemrograman yang telah ada sebelumnya, kemudian SUN menggantinya dengan JAVA. Nama JAVA sendiri terinspirasi pada saat mereka sedang menikmati secangkir kopi di sebuah kedai kopi yang kemudian dengan tidak sengaja salah satu dari mereka menyebutkan kata JAVA yang mengandung arti asal bijih kopi. Akhirnya mereka sepakat untuk memberikan nama bahasa pemrograman tersebut dengan nama Java (anonim4). 2.5.3 Keunggulan Bahasa Pemrograman Java Salah satu keunggulan Java adalah sifatnya yang 'platform independence', artinya Java, baik source program maupun hasil kompilasinya sama sekali tidak bergantung kepada sistem operasi dan platform yang digunakan. Source code sebuah aplikasi dengan bahasa Java yang ditulis di atas sistem Windows NT misalnya, dengan mudah dapat dipindahkan ke sistem operasi UNIX tanpa harus mengedit satu baris kode-pun. Ini tentunya merupakan satu nilai tambah tersendiri. Dan yang lebih hebat lagi, bukan hanya source code-nya saja yang bisa dipindah-pindahkan antar sistem komputer, bahkan hasil kompilasinya pun bisa dijalankan di berbagai sistem komputer. Hal ini dimungkinkan dengan adanya bytecode. Setiap program yang ditulis dengan bahasa Java, hasil kompilasinya berupa bytecode, yaitu sekumpulan instruksi yang kelihatannya seperti kode mesin (machine code) tapi tidak spesifik untuk satu jenis prosesor tertentu. 16 Lingkungan Java terdiri dari dua bagian yaitu Java compiler dan Java interpreter. Java compiler menterjemahkan source code kedalam bytecode. Hasil kompilasi, yaitu program Java (berekstensi class), akan bisa dijalankan dengan bantuan Java interpreter. Java interpreter dapat dijalankan langsung (dari command prompt) maupun dari program applet viewer atau web browser (untuk applet). Satu layer bytecode interpreter harus ditambahkan untuk memungkinkan program Java agar bisa dijalankan pada bermacam-macam sistem komputer asalkan pada sistem komputer itu terdapat Java interpreter (anonim5). 2.6 Eclipse Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat-sifat dari Eclipse, yaitu (anonim6): • Multi-platform Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X. • Multi-language Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya. • Multi-role Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, 17 seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya. 2.7 Entity Relationship Diagram (ERD) Entity Relationship Diagram (ERD) digunakan untuk menggambarkan struktur logical basis data dalam bentuk diagram. ERD menyediakan cara yang sederhana dan mudah untuk memahami berbagai komponen dalam desain basis data (Connolly and begg, 2005, p15). ERD adalah sebuah teknik untuk merepresentasikan struktur logis dari sebuah basis data dalam bentuk gambar, sehingga pemahaman terhadap komunitas basis data lebih mudah (Connolly and begg, 2005, p330). 2.8 State Transition Diagram (STD) Menurut Pressman (2001, p302), STD mengindikasikan bagaimana sebuah sistem berperilaku sebagai sebuah konsekuensi dari kejadian (event) eksternal. Untuk itu, STD mewakili sejumlah mode dari behavior yang disebut sebagai kondisi (state) dari sistem dan cara dalam perubahan yang dihasilkan dari satu kondisi ke kondisi lainnya. Menurut Pressman (2001, p317), State Transition Diagram adalah model behavior yang mendasarkan pada pengertian dari kumpulan kondisi sistem. Model behavior adalah sebuah prinsip operasional untuk seluruh metode analisis kebutuhan. STD mewakili behavior dari sebuah sistem dengan menggambarkan kondisinya dan kejadian yang menyebabkan perubahan kondisi suatu sistem. 18 Simbol-simbol atau properti dari STD yang sering digunakan adalah sebagai berikut : a. State State disimbolkan dengan segi empat adalah kumpulan keadaan atau atribut yang memberi perincian seseorang atau benda pada waktu dan kondisi tertentu. Contohnya seperti proses user mengisi password, menentukan instruksi berikutnya. b. Transition State Merupakan simbol yang menyatakan suatu perubahan dari suatu keadaan ke keadaaan lain (perubahan suatu state). c. Condition Condition adalah suatu kejadian pada lingkungan eksternal yang dapat dideteksi oleh sistem. Contohnya adalah sebuah sinyal, interrupt atau data. Hal ini akan menyebabkan perubahan terhadap state dari state menunggu X ke state menunggu Y atau memindahkan aktivitas X ke aktivitas Y. d. Action Action adalah yang dilakukan sistem bila terjadi perubahan state atau merupakan reaksi terhadap kondisi. Aksi akan menghasilkan keluaran atau tampilan. 2.9 Software Development Life Cycle (SDLC) Software Development Life Cycle (SDLC) merupakan suatu metode yang digunakan oleh kebanyakan pengembang piranti lunak dalam mengembangkan 19 piranti lunak tertentu, dengan tujuan menghindarkan adanya masalah-masalah yang muncul dalam pengerjaan dari project tersebut. Dalam mengembangkannya SDLC memiliki beberapa model, Salah satunya adalah dengan Waterfall Process Model. Waterfall Model biasa disebut classic life cycle atau linear sequential model menawarkan sistematika, sequential approach bagi pengembangan software yang dimulai dari tingkatan sistem dan diproses melalui analisis, design, coding, testing, dan support (Pressman, 2001, p28). Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan. Sebagai contoh tahap desain harus menunggu selesainya tahap sebelumnya yaitu tahap requirement. Secara umum tahapan pada model waterfall dapat dilihat pada gambar berikut : Gambar 2.1 Waterfall Model Menurut Pressman (2001, pp28-29), tahapan-tahapan yang terdapat dalam metode waterfall, yaitu: 20 1. Analisis dan rekayasa sistem (system engineering and modeling) Dalam tahap ini, dimulai dengan menetapkan kebutuhan-kebutuhan perangkat lunak untuk semua elemen sistem, karena perangkat lunak merupakan bagian yang penting dari sebuah sistem. 2. Analisis kebutuhan perangkat lunak (software requirements analysis) Dalam tahap ini, adalah menganalisis kebutuhan agar dapat mengetahui seluruh informasi, fungsi, performa dan antarmuka yang dibutuhkan agar dapat digunakan sebagai dasar sistem yang akan dibangun. 3. Perancangan (design) Dalam tahap ini, perancangan terhadap perangkat lunak dilakukan. Perancangan perangkat lunak merupakan sebuah proses yang terdiri atas beberapa langkah yang difokuskan pada empat perlengkapan program yang berbeda yaitu struktur data, arsitektur perangkat lunak, representasi antar muka, dan prosedur yang detail. 4. Pembuatan program (coding) Dalam tahap ini, hasil perancangan diterjemahkan ke dalam bentuk yang dapat dimengerti oleh mesin/komputer. 5. Pengujian (testing) Dalam tahap ini dilakukan pengujian terhadap program yang telah selesai dikerjakan. Proses pengujian difokuskan pada logika dalam program untuk memastikan bahwa semua kode program telah diuji. Tujuan dilaksanakannya pengujian ini untuk menemukan kesalahan dan juga untuk memastikan bahwa perangkat lunak yang telah dibuat telah sesuai dengan yang diinginkan. 21 6. Pemeliharaan (maintenance) Dalam tahap ini dilakukan pemeliharaan terhadap perangkat lunak yang telah dibuat. Pemeliharaan dilakukan dengan mengecek apakah ada kesalahankesalahan setelah sistem dijalankan, dan setiap kesalahan harus diperbaiki. Selain itu juga dilakukan pengecekan apakah perangkat lunak ini dapat beradaptasi dengan segala perubahan yang ada, baik dari segi kebutuhan sistem maupun pengaruh dari luar sistem. 2.10 Diagram Aliran Dokumen Menurut Mulyadi (2001,pp58-63), diagram aliran dokumen adalah suatu model yang menggambarkan aliran dokumen dan proses untuk mengolah dokumen dalam suatu proses. Berikut ini adalah tabel yang menjelaskan komponen-komponen dari diagram aliran dokumen : Tabel 2. 2 Tabel Simbol-simbol Diagram Aliran Dokumen (Mulyadi,2001,pp58-63) Simbol Keterangan Dokumen Simbol ini digunakan untuk menggambarkan semua jenis dokumen, yang merupakan formulir untuk merekam data terjadinya suatu transaksi. Keputusan Simbol ini menggambarkan keputusan yang harus dibuat dalam proses pengolahan data. Keputusan yang dibuat ditulis dalam simbol. Garis Alir Simbol ini menggambarkan arah proses pengolahan data. Persimpangan Garis Alir Jika dua garis alir bersimpangan, untuk menunjukkan arah masing- 22 Simbol Keterangan masing garis, salah satu garis dibuat sedikit melengkung tepat pada persimpangan kedua garis tersebut. Pertemuan Garis Alir Simbol ini digunakan jika dua garis alir bertemu dan salah satu garis mengikuti garis lainnya. Proses Simbol ini untuk menunjukkan tempat-tempat dalam sistem informasi yang mengolah atau mengubah data yang diterima menjadi data yang mengalir keluar. Nama pengolahan data ditulis didalam simbol. Mulai / Berakhir (terminal) Simbol ini untuk menggambarkan awal dan akhir suatu sistem akuntansi 2.11 Interaksi Manusia Dan Komputer Interaksi Manusia dan Komputer adalah disiplin ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan manusia serta studi fenomena–fenoma besar yang berhubungan dengannya. Menurut Shneiderman (1998, p15), dalam merancang suatu sistem yang interaktif, diperlukan perancangan model yang memiliki sifat user friendly agar dapat berinteraksi dengan baik. Ada lima kriteria yang harus dipenuhi untuk merancang model yang bersifat user friendly, kriteria tersebut adalah : 1. Waktu belajar Berapa lama waktu yang diperlukan bagi pengguna untuk dapat mempelajari serta bagaimana menggunakan perintah yang berhubungan dengan tugas. 23 2. Kecepatan dalam menyajikan informasi Berapa lama waktu yang diperlukan sampai tugas diselesaikan. 3. Tingkat kesalahan Berapa banyak dan apa jenis dari kesalahan yang dibuat pengguna sewaktu melaksanakan tugas. 4. Daya ingat Seberapa baik pengguna memelihara pengetahuan masalah setelah satu jam, satu hari, satu minggu. 5. Kepuasan subjektif Seberapa banyak pengguna menyukai aspek sistem yang berbeda. Menurut Shneiderman (1998, p74), ada delapan aturan emas dalam perancangan antarmuka pengguna (user interface) antara lain: 1. Berusaha untuk konsisten Semua urutan aksi harus konsisten dalam situasi yang sama, seperti pemakaian istilah, warna, tampilan dan jenis huruf yang sama. 2. Memungkinkan pengguna menggunakan shortcut Terkadang pengguna menginginkan agar jumlah interaksi yang dilakukan dikurangi untuk meningkatkan kepraktisannya. Penggunaan shortcut dapat dilakukan untuk mengatasi hal tersebut dan meningkatkan kecepatan tampilan. 3. Memberikan umpan balik yang informatif Memberikan respon yang sesuai dengan aksi yang dilakukan pengguna, sehingga dapat membantu pengguna untuk mengerti sistem yang telah dibuat dalam suatu aplikasi. 24 4. Merancang dialog yang memberikan keadaan akhir Urutan aksi harus diatur menjadi bagian awal, tengah, dan akhir. Hal ini dilakukan agar pengguna mengetahui bahwa sekelompok tindakan telah dilakukan sehingga memberikan kepuasan pada pengguna dan memberikan kesiapan untuk melakukan tindakan selanjutnya. 5. Memberikan pecegahan kesalahan dan penanganan kesalahan secara sederhana. Sistem harus dirancang sedemikian rupa agar tidak membuat kesalahan yang serius. Jika terjadi kesalahan, sistem harus mendeteksi dan menawarkan mekanisme penanganan yang sederhana dan mudah dimengerti. 6. Memungkinkan memberikan aksi yang mudah Aksi harus bisa dibalik untuk mengurangi kegelisahan dari pengguna jika dia menjelajah ke bagian yang tidak dikenal. aksi harus bisa dibalik. Hal ini dapat mengurangi kegelisahan pengguna, karena kesalahan yang dilakukan oleh pengguna dapat diperbaiki. 7. Mendukung pusat kendali internal. Pengguna harus merasa menguasai sistem dan sistem bekerja sesuai dengan keinginannya. Kesulitan memperoleh informasi yang penting atau informasi yang diinginkan akan memberikan ketidakpuasan bagi pengguna. 8. Mengurangi beban ingatan jangka pendek Manusia memiliki ingatan yang terbatas oleh karena itu aplikasi harus dibuat sedemikian rupa agar pengguna tidak terlalu banyak menyimpan memori.