BAB II LANDASAN TEORI 2.1 Sistem Informasi Sistem Informasi adalah suatu sistem di dalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian yang mendukung fungsi operasi organisasi yang bersifat manajerial dengan kegiatan strategi dari suatu organisasi untuk dapat meyediakan kepada pihak luar tertentu dengan laporan-laporan yang diperlukan (Tata Sutabri, 2012:46). 2.2 Aplikasi 2.2.1 Pengertian Aplikasi Perangkat lunak aplikasi yaitu perangkat lunak yang digunakan untuk membantu pemakai komputer untuk melaksanakan pekerjaannya. Jika ingin mengembangkan program aplikasi sendiri, maka untuk menulis program aplikasi tersebut, dibutuhkan suatu bahasa pemrograman, yaitu language software, yang dapat berbentuk assembler, compiler ataupun interpreter. Jadi language software merupakan bahasanya dan program yang ditulis merupakan program aplikasinya. Language software berfungsi agar dapat menulis program dengan bahasa yang lebih mudah, dan akan menterjemahkannya ke dalam bahasa mesin supaya bisa dimengerti oleh komputer. Bila hendak mengembangkan suatu progra aplikasi untuk memecahkan permasalahan yang besar dan rumit, maka supaya program aplikasi tersebut dapat berhasil dengan baik, maka dibutuhkan prosedur dan perencanaan yang baik dalam mengembangkannya. Sekarang, banyak sekali program-program aplikasi yang tersedia dalam bentuk paket-paket program. Ini adalah program-prog ram 6 http://digilib.mercubuana.ac.id/ 7 aplikasi yang sudah ditulis oleh orang lain atau perusahaan-perusahaan perangkat lunak. Beberapa perusahaan perangkat lunak telah memproduksi paket-paket perangkat lunak yang mempunyai reputasi internasional. Program-program paket tersebut dapat diandalkan, dapat memenuhi kebutuhan pemakai, dirancang dengan baik, relatip bebas dari kesalahankesalahan, user friendly (mudah digunakan), mempunyai dokumentasi manual yang memadai, mampu dikembangkan untuk kebutuhan mendatang, dan didukung perkembangannya. Akan tetapi, bila permasalahannya bersifat khusus dan unik, sehingga tidak ada paket-paket program yang sesuai untuk digunakan, maka dengan terpaksa harus mengembangkan program aplikasi itu sendiri (Jogiyanto Hartono, 2010, pp397-398). 2.3 Android 2.3.1 Pengertian Android Android merupakan sistem operasi berbasis Linux yang didesain khusus untuk perangkat mobile seperti tablet dan smartphone. System operasi Android bersifat open source sehinga banyak programmer yang membuat aplikasi atau memodifikasi sistem operasi. Berdasarkan situs resmi, setiap hari ada lebih dari satu juta perangkat Android yang diaktifkan. Sebagian besar aplikasi yang terdapat pada Play Store bersifat gratis, tapi ada juga aplikasi berbayar sebagai cara untuk menghasilkan uang melalui aplikasi Android tersebut (Huda, 2013). Sampai saat ini, sistem operasi Android sudah memasuki versi 7. Penamaan versi Android hampir selalu menggunakan nama makanan dan diawali dengan abjad yang berurutan. Berikut adalah versi-versi Android yang teah dirilis : Android versi 1.0 (Alpha) Android versi 1.1 (Beta) Android versi 1.5 (Cupcake) Android versi 1.6 (Donut) http://digilib.mercubuana.ac.id/ 8 Android versi 2.0 & versi 2.1 (Éclair) Android versi 2.2 (Frozen Yogurt / Froyo) Android versi 2.3 (Gingerbread) Android versi 3.0, versi 3.1, & versi 3.2 (Honeycomb) Android versi 4.0 (Ice Cream Sandwich) Android versi 4.1, versi 4.2, & versi 4.3 (Jelly Bean) Android versi 4.4 (KitKat) Android versi 5.0 (Lollipop) Android versi 6.0 (Marshmallow) Android versi 7.0 (Nougat) 2.3.2 Framework Android System operasi Android didukung oleh banyak framework untuk mengembangkan aplikasinya. Aplikasi Android secara native dapat dikembangkan dengan bahasa Java atau C, sedangkan framework-nya menggunakan editor Android Studio dan SDK Android (Huda, 2013). 2.3.3 Komponen Aplikasi Android Komponen aplikasi Android merupakan bagian penting dari sebuah aplikasi Android. Setiap komponen mempunyai fungsi yang berbeda, dan antara komponen satu dengan yang lain bersifat saling melengkapi (Huda, 2013). Berikut ini adalah beberapa komponen dari aplikasi Android : 1. Activity Activity merupakan satu halaman antarmuka yang bisa digunakan oleh user untuk berinteraksi dengan aplikasi dengan aplikasi. Dalam satu activity terdapat Button, Spinner, ListView, EditText, dan sebagainya. Dalam satu aplikasi bisa terdapat lebih dari satu activity (Huda, 2013). 2. Service Service merupakan komponen aplikasi yang bisa berjalan secara background, misalnya digunakan untuk memuat data dari server database. Aplikasi seperti http://digilib.mercubuana.ac.id/ 9 music player atau radio juga memanfaatkan services agar aplikasinya dapat berjalan meski user melakukan aktivitas dengan aplikasi lain (Huda, 2013). 3. Content Provider Komponen ini digunakan untuk mengelola data sebuah aplikasi, seperti kontak telpon. Siapa saja dapat membuat aplikasi Android dan bisa mengakses kontak yang tersimpan dalam sistem Android (Huda, 2013). 4. Broadcast Reciever Fungsi komponen ini sama seperti penerima pesan. Jika aplikasi dibuat dengan komponen Broadcast Receiver, maka kita bisa mengambil tindakan seperti menyimpan kemudian menutup aplikasi atau melakukan tindakan lain (Huda, 2013). 2.3.4 Arsitektur Android Arsitektur Android dapat dijelaskan dan digambarkan sebagai berikut: 1. Applications dan Widgets Applications dan Widgets ini adalah layer dimana berhubungan dengan aplikasi saja, di mana biasanya download aplikasi di jalankan kemudian dilakukan instalasi dan jalankan aplikasi tersebut. 2. Applications Frameworks Applications Frameworks ini adalah layer di mana para pembuat aplikasi melakukan pengembanga atau pembuatan aplikasi yang akan dijalankan di sistem operasi Android, karena pada layer inilah aplikasi dapat dirancang dan dibuat, seperti contect providers yang berupa sms dan panggilan telepon. 3. Libraries Libraries ini adalah layer di mana fitur-fitur Android berada, biasanya para pembuat aplikasi mengakses libraries untuk menjalankan aplikasinya. Berjalan di atas kernel, Layer ini meliputi berbagai library C/C++ inti seperti Libc dan SSL. 4. Android Run Time Layer yang membuat aplikasi Android dapat dijalankan dimana dalam prosesnya menggunakan implementasi Linux. http://digilib.mercubuana.ac.id/ 10 5. Linux Kernel Linux Kernel adalah layer di mana inti dari operating sistem dari Android itu berada. Berisi file-file sistem yang mengatur sistem processing, memory, resource, drivers, dan sistem-sistem operasi android lainnya. Linux kernel yang digunakan android adalah linux kernel release 2.6. 2.3.5 Kelebihan Android Ada beberapa hal yang menjadi kelebihan Android (Burnette, 2010), yaitu: 1. Open source, pengembangan bebas tanpa dikenakan biaya terhadap sistem karena berbasis Linux dan open source. Pembuat perangkat menyukai hal ini karena dapat membangun platform sesuai yang diinginkan tanpa membayar royalti. Sementara pengembang software menyukai karena Android dapat digunakan pada perangkat manapun dan tanpa terikat oleh vendor manapun. 2. Arsitektur komponen dasar Android terinspirasi dari teknologi internet Mashup. Bagian dalam sebuah aplikasi dapat digunakan oleh aplikasi lainnya, bahkan dapat diganti dengan komponen lain yang sesuai dengan aplikasi yang dikembangkan. 3. Banyak dukungan service, kemudahan dalam menggunakan berbagai macam layanan pada aplikasi seperti penggunaan layanan pencarian lokasi, database SQL, browser, dan penggunaan peta. Semua itu telah tertanam pada Android sehingga memudahkan dalam pengembangan aplikasi. 4. Siklus hidup aplikasi diatur secara otomatis, setiap program terjaga antara satu sama lain oleh berbagai lapisan keamanan, sehingga kerja sistem menjadi lebih stabil. Pengguna tak perlu khawatir dalam menggunakan aplikasi pada perangkat yang memorinya terbatas. 5. Dukungan grafis dan suara terbaik. Dengan adanya dukungan 2D grafis dan animasi yang diilhami oleh Flash menyatu dalam 3D menggunakan OpenGL memungkinkan membuat aplikasi maupun game yang berbeda. 6. Portabilitas aplikasi, aplikasi dapat digunakan pada perangkat yang ada saat ini maupun yang akan datang. Semua program ditulis menggunakan bahasa http://digilib.mercubuana.ac.id/ 11 pemrograman Java dan dieksekusi oleh Android Runtime (ART), sehingga kode program portable antara ARM, X64, dan arsitektur lainnya. Sama halnya dengan dukungan masukan seperti penggunaan Keyboard, layar sentuh, dan resolusi layar semua dapat disesuaikan dengan program. 2.4 Eclipse Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform independent). Berikut ini adalah sifat dari Eclipse: 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 bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, tes perangkat lunak, pengembangan web dan lain sebagainya. 2.5 Java Dalam situs resminya (http://www.Java.com) diterangkan bahwa: “Java allows you to play online games, chat with people around the world, calculate your mortgage interest, and view images in 3D, just to name a few. It’s also integral to the intranet applications and other e-business solutions that are the foundation of corporate computing.” Java memungkinkan untuk bermain game online, chatting dengan orang di seluruh dunia, menghitung bunga hipotek, dan melihat gambar 3 dimensi, hanya http://digilib.mercubuana.ac.id/ 12 untuk beberapa langkah. Ini juga bagian internal dari aplikasi intranet dan solusi ebusiness yang merupakan dasar dari komputasi perusahaan. Alasan utama pembentukan pemograman Java adalah untuk membuat aplikasiaplikasi yang dapat diletakkan di berbagai macam perangkat elektronik, seperti microwave oven dan remote control, sehingga Java harus bersifat portable atau yang sering disebut dengan platform independent (tidak tergantung pada sistem operasi). Itulah yang menyebabkan dalam dunia pemograman Java dikenal adanya istilah ‘write once, run everywhere’, yang berarti kode program hanya ditulis sekali, namun dapat dijalankan dibawah platform manapun, tanpa harus melakukan perubahan kode program (E.M. Budi, 2010:70). 2.6 Database Database atau basis data adalah suatu kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan program atau aplikasi di dalam komputer untuk memperoleh informasi dari basis data tersebut. Konsep dasar dalam basis data adalah catatan – catatan atau potongan dari pengetahuan ataupun informasi (Satzinger, 2011). Beberapa keuntungan menggunakan basis data diantaranya : 1. Fitur – fitur yang berkelanjutan 2. Sistem memiliki tipe yang seragam 3. Dapat menyimpan kelas dengan jumlah banyak 4. Dapat mengatasi data yang interrelated (tidak berhubungan) dan kompleks 5. Adanya kelas yang hirarki 6. Adanya inheritance 7. Menghasilkan sistem yang dibangun diatas bentuk – bentuk yang stabil, dengan begitu lebih mampu untuk mengikuti perubahan. http://digilib.mercubuana.ac.id/ 13 Dan beberapa kekurangan menggunakan basis data diantaranya : 1. Kemungkinan terjadinya kerusakan data 2. Kekurangan dan perluasan logika 2.7 Metode Prototype Dalam perancangan Tugas Akhir ini penulis menggunakan metode Prototype. Prototype Model adalah salah satu metode pengembangan perangkat lunak yang banyak digunakan. Dengan Metode Prototyping ini pengembangan dan pelanggan dapat saling berinteraksi selama proses pembuatan sistem. Sering terjadi seorang pelanggan hanya mendefinisikan secara umum apa yang dibutuhkan, Pemrosesan dan data-data apa saja yang dibutuhkan. Sebaliknya disisi pengembang Kurang memperhatikan efesiensi Algoritma. Kemampuan sistem operasi dan interface yang menghubungkan manusia dengan komputer. Pada Prototyping model kadang – kadang klien hanya memberikan beberapa kebutuhan umum software tanpa detile input, proses atau detail output dilain waktu mungkin tim pembangun (developer) tidak yakin terhadap efesiensi dari algoritma yang digunakan, tingkat adaptasi terhadap sistem operasi atau rancangan form user interface. Ketika situasi seperti ini terjadi model prototyping sangat membantu proses pembangunan software. Proses pada prototyping bisa dijelaskan sebagai berikut a. Pengumpulan Kebutuhan : developer dan klien bertemu dan menentukan tujuan umum, kebutuhan yang diketahui dan gambaran bagian-bagian yang akan dibutuhkan berikutnya. Detail kebutuhan mungkin tidak dibicarakan disini, pada awal pengumpulan kebutuhan. b. Perancangan : Perancangan dilakukan cepat dan rancangan mewakili aspek software yang diketahui. Dan rancangan ini menjadi dasar pembuatan prototype. c. Evaluasi Prototype : klien mengevaluasi prototype yang dibuat dan dipergunakan untuk memperjelas kebutuhan software. http://digilib.mercubuana.ac.id/ 14 Gambar 2.1 Model Prototype (Roger S. Pressman, 2001) 2.7.1 Tahapan-tahapan Prototype Tahap-tahap pengembangan Prototype model menurut Roger S. Pressman, Ph.D. adalah : 1. Mendengarkan Pelanggan Pada tahap ini dilakukan pengumpulan kebutuhan dari system dengan cara mendengar keluhan dari pelanggan. Untuk membuat suatu system yang sesuai kebutuhan, maka harus diketahui terlebih dahulu bagaimana system yang sedang berjalan untuk kemudian mengetahui masalah yang terjadi. 2. Merancang dan Membuat Prototype Pada tahap ini, dilakukan perancangan dan pembuatan prototype system. Prototype yang dibuat disesuaikan dengan kebutuhan system yang telah didefinisikan sebelumnya dari keluhan pelanggan atau pengguna. 3. Uji Coba Pada tahap ini, Prototype dari system di uji coba oleh pelanggan atau pengguna. Kemudian dilakukan evaluasi kekurangan-kekurangan dari kebutuhan pelanggan. Pengembangan kemudian kembali mendengarkan keluhan dari pelanggan untuk memperbaiki Prototype yang ada. http://digilib.mercubuana.ac.id/ 15 2.7.2 Kelebihan Metode Prototype Kelebihan metode Prototype: 1. Adanya komunikasi yang baik antara pengembang dan pelanggan 2. Pengembangan dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan 3. Lebih menghemat waktu dalam pengembangan system 4. Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya. 2.7.3 Kekurangan Metode Prototype Kekurangan metode Prototype : 1. Resiko tinggi yaitu untuk masalah-masalah yang tidak terstruktur dengan baik, ada perubahan yang besar dari waktu ke waktu, dan adanya persyaratan data yang tidak menentu. 2. Interaksi pemakai penting. Sistem harus menyediakan dialog on-line antara pelanggan dan komputer. 3. Hubungan pelanggan dengan komputer yang disediakan mungkin tidak mencerminkan teknik perancangan yang baik. 2.8 Pengertian SQLite Android menyediakan database relasional yang ringan untuk setiap ap likasi menggunakan SQLite. Aplikasi dapat mengambil keuntungan dari itu untuk mengatur relational database engine untuk menyimp an data secara aman dan efisien (Meier, 2009). Untuk Android, SQLite dijadikan satu di dalam Android runtime, sehingga setiap aplikasi Android dapat membuat basis data SQLite. Karena SQLite menggunakan antarmuka SQL, cukup mudah untuk digunakan orang-orang dengan pengalaman lain yang berbasis databases SQL (Murphy, 2010, p225). Terdapat beberapa alasan mengapa SQLite sangat cocok untuk pengembangan http://digilib.mercubuana.ac.id/ 16 aplikasi Android, yaitu: Database dengan konfigurasi nol. Artinya tidak ada konfigurasi database untuk para developer. Ini membuatnya relatif mudah digunakan. Tidak memiliki server. Tidak ada proses database SQLite yang berjalan. Pada dasarnya satu set libraries menyediakan fungsionalitas database. Single-file database. Ini membuat keamanan database secara langsung. Open source. Hal ini membuat developer mudah dalam pengembangan ap likasi. 2.9 Pengertian XML XML adalah bahasa markup yang menggunakan tags untuk memberi label, mengkategorikan, dan mengorganisir informasi dengan cara tertentu. Markup mendeskripsikan dokumen atau struktur data serta organisasi. Konen, seperti teks, gambar, dan data adalah bagian dari kode yang mengandung tag markup. XML tidak dibatasi untuk satu set markup tertentu. Anda dapat membuat markup sendiri sesuai dengan data dan kebutuhan dokumen Anda (Dykes dan Tittel, 2005, p11). 2.10 Unified Modeling Language (UML) Unified Modeling Language atau UML adalah sebuah bahasa pemodelan umum yang digunakan untuk melakukan spesifikasi, visualisasi, konstruksi, dan dokumentasi artifak sebuah sistem perangkat lunak. UML bukanlah sebuah standar proses pengembangan dalam pengembangan metode sistem tertentu, namun pada umumnya UML dipakai untuk memodelkan sistem yang berbasis objek.UML merupakan metodologi kolaborasi antara metoda-metoda Booch, OMT (Object Modeling Technique), serta OOSE (Object Oriented Software Engineering) dan beberapa metoda lain merupakan metoda yang paling sering digunakan saat ini untuk http://digilib.mercubuana.ac.id/ 17 mengadaptasi maraknya penggunaan Bahasa “Pemrograman Berorientasi Objek”. Tujuan daripada menggunakan UML sebagai sebuah bahasa pemodelan diantaranya : 1. Dapat memberikan model yang siap pakai, bahasa pemodelan visual yang ekspresif untuk mengembangkan dan saling menukar model dengan mudah dan dimengerti secara umum. 2. Memberikan bahasa pemodelan yang bebas dari berbagai bahasa pemrograman dan proses rekayasa. 3. Dapat menyatukan praktek – praktek terbaik yang terdapat dalam pemodelan. Dalam pembuatannya sendiri UML terdiri dari diagram, konsep, notasi, dan aturan yang digunakan untuk memodelkan sistem.UML memilki 9 diagram yang memilki fungsi dan notasi masing, kesembilan diagram tersebut dibagi dalam 2 kategori yaitu diagram yang menggambarkan struktur yang statis dari sistem dan diagram yang menggambarkan struktur yang dinamis dari sistem. 1. Use Case Diagram Use Case Diagram merupakan deskripsi peringkat tinggi sebagaimana perangkat lunak atau aplikasi akan digunakan oleh pengguna. Use case tidak hanya berperan penting dalam analisis, tetapi juga sangat penting untuk perancangan (design), untuk mencari (mencoba menemukan) kelas-kelas yang terlibat dalam aplikasi, dan untuk melakukan pengujian (testing) (Nugroho, 2009). http://digilib.mercubuana.ac.id/ 18 Berikut notasi – notasi yang terdapat pada diagram use case: Tabel 2.1 Notasi Use Case Diagram No Simbol Nama Keterangan Orang, proses, atau sistem lain yang 1 Aktor berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi itu sendiri. Fungsionalitas yang disediakan 2 Use Case sistem sebagai unit-unit yang saling bertukar pesan antar unit atau aktor. Komunikasi antara aktor dan use 3 Asosiasi case yang berpartisipasi pada use case atau use case memiliki interaksi dengan aktor. 4 Generalisasi Dimana fungsi yang satu adalah fungsi yang umum dari yang lainnya. Relasi use case dimana proses 5 <<Include>> bersangkutan akan dilanjutkan ke proses yang dituju. Relasi use case yang ditambahkan 6 <<Extend>> dapat berdiri sendiri, walaupun tanpa use case tambahan itu. http://digilib.mercubuana.ac.id/ 19 Gambar 2.2 Contoh Use Case Diagram (Dennis, 2012) 2. Activity Diagram Activity Diagram digunakan untuk memberikan gambaran atau model daripada perilaku yang terdapat dalam bisnis proses terhadap objek. Activity diagram menjelaskan aktivitas-aktivitas dari berbagai user atau system, orang yang mengerjakan setiap aktivitas, dan alur yang logis pada aktivitas tersebut (Satzinger, 2012). Tidak seperti Data Flow Diagram, Activity Diagram berserta notasi yang terdapatnya memberikan bahasa pemodelan yang bersifat paralel, dapat menggambarkan kegiatan secara bersamaan, dan dapat memberikan gambaran keputusan yang sangat jelas. Namun demikian Activity Diagram juga dapat memberikan model penggambaran dari use case dari level yang paling tinggi sampai dengan use case level yang paling rendah. Singkatnya Activity Diagram dapat memodelkan seluruh bisnis proses yang ada (Nugroho, 2009). Keunggulan dari activity diagram adalah bahwa diagram tersebut lebih mudah dipahami dibandingkan dengan skenario. Selain itu , dengan menggunakan activity http://digilib.mercubuana.ac.id/ 20 diagram, kita juga bisa melihat di bagian mana sistem dari suatu skenario akan berjalan. Berikut notasi – notasi yang terdapat pada Activity Diagram : Tabel 2.2 Notasi Activity Diagram No. Simbol Nama Keterangan 1 Status Awal Status awal aktivitas 2 Status Akhir Akhir dari aktivitas 3 Aktivitas Percabanagn 4 system Menunjukan aktivitas yang (Fork) dilakukan secara paralel Penggabungan Asosiasi penggabungan dimana (Join) lebih dari satu aktivitas digabungkan menjadi satu 5 Decision 6 Aktivitas yang dilakukan Menggambarkan sebuah kejadian yang memiliki dua buah nilai jawaban http://digilib.mercubuana.ac.id/ 21 Gambar 2.3 Contoh Activity Diagram (Satzinger, 2012) 3. Class Diagram Class Diagram adalah model statis yang menampilkan class – class dan hubungan – hubungan antar class yang tetap konstan di dalam sebuah sistem. Class Diagram merupakan himpunan dari objek – objek yang sejenis. Sebuah objek memiliki keadaan sesaat (state) dan perilaku (behavior). State sebuah objek adalah kondisi objek tersebut yang dinyatakan dalam attribute / properties. Sedangkan perilaku suatu objek mendefinisikan bagaimana sebuah objek bertindak / beraksi dan http://digilib.mercubuana.ac.id/ 22 memberikan reaksi. Komponen utama dari Class Diagram adalah class, yang menyimpan dan mengatur informasi pada sistem. (Dennis, 2012). Class Diagram dapat memberikan gambaran – gambaran tentang sistem dan relasi – relasi yang terdapat di dalamnya. Berikut notasi yang terdapat dalam Class Diagram : Tabel 2.3 Notasi Class Diagram http://digilib.mercubuana.ac.id/ 23 Gambar 2.4 Contoh Class Diagram (Dennis, 2012) 4. Sequence Diagram Sequence Diagram adalah satu dari dua buah Diagram Interaksi. Sequence Diagram menggambarkan peran – peran objek yang berpartisipasi dalam sebuah use case dan melakukan penggambaran alur pesan pada satu use case. Sequence Diagram adalah sebuah model dinamis yang menampilkan urutan atau langkah – langkah secara jelas terhadap aktivitas atau pesan – pesan yang dijalankan antara objek dalam mendeskripsikan interaksi (Dennis, 2012). http://digilib.mercubuana.ac.id/ 24 Berikut notasi – notasi yang terdapat pada Sequence Diagram : Tabel 2.4 Notasi Sequence Diagram Gambar 2.5 Contoh Sequence Diagram (Dennis, 2012) http://digilib.mercubuana.ac.id/ 25 2.11 Pengujian Pengujian merupakan salah satu aktivitas kunci dari aktivitas implementasi dan pemasangan sistem. Pengujian adalah proses pemeriksaan komponen, subsistem, atau sistem untuk memastikan karakteristik operasionalnya dan apakah terdapat kecacatan pada sistem atau tidak (Satzinger, 2012). Pengujian yang dilakukan akan melibatkan serangkaian test case yang bermaksud untuk menguji software atau aplikasi yang telah dibuat. Pengujian tidak hanya untuk menemukan kesalahan (bug) pada software tetapi juga untuk memastikan sistem berjalan sesuai dengan spesifikasi (Khan, 2010). Berikut adalah aturan untuk pengujian perangkat lunak (Meyers, 1979) : 1. Pengujian dijalankan dengan maksud menemukan kesalahan. 2. Test case yang baik adalah test case yang memiliki kemungkinan yang tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebelumnya. 3. Pengujian dapat dikatakan sukses apabila semua kesalahan (bug) yang belum pernah pada system ditemukan dapat ditemukan Dalam melakukan pengujian, ada beberapa prinsip yang harus dijalankan (Pressman, 1997), yaitu : 1. Semua pengujian harus ditelusuri sesuai dengan permintaan user. 2. Pengujian harus direncanakan jauh sebelum pengujian dilaksanakan. 3. Pengujian harus dimulai dari “hal kecil” hingga “hal besar”. 4. Pengujian yang mendalam tidak mungkin dilakukan. 5. Pengujian harus dilakukan pihak ketiga yang independen agar efektif. 2.11.1. Pengujian Metode Black Box (Black Box Testing) Pengujian metode Black Box adalah pengujian yang dilakukan dengan menguji software dari segi fungsionalitas tanpa menguji desain kode lain. Pengujian ini berfungsi untuk mengetahui apakah semua fungsi telah berjalan dengan semestinya sesuai dengan kebutuhan fungsional yang telah didefinisikan (Siegel, 1996). http://digilib.mercubuana.ac.id/