BAB II LANDASAN TEORI 2.1. Teori Umum 2.1.1. Konsep Dasar Sistem Sebuah sistem akan memberikan manfaat yang tepat akan memberikan banyak dampak setiap perusahaan dalam memenuhi target sasaran serta mampu mewujudkan setiap tujuan yang di inginkan perusahaan tersebut. Sistem terdapat beberapa pandangan menurut para ahli, diantaranya: Menurut Sutarman (2012: 13). “Sistem adalah kumpulan elemen yang saling berhubungan dan berinteraksi dalam satu kesatuan untuk menjalankan proses pencapaian suatu tujuan yang sama”. Menurut Sherlly-Rosenblatt (2012, p7), “Sistem adalah serangkaian komponen yang saling berhubungan yang menghasilkan hasil tertentu”. Menurut James A.Hall (2011, p5), “Sistem adalah sebuah kelompok dari dua atau lebih komponen yang saling berhubungan atau subsistem untuk mencapai tujuan bersama”. Dari kesimpulan diatas menjelaskan bahwasanya setiap komponen saling berkaitan satu sama lain untuk untuk mencapai sebuah tujuan yang sama. 2.1.2. Karakteristik Sistem Sistem akan berjalan dengan baik apabila memiliki karakteristik dalam pelaksanaanya. Tata Sutabri (2012: 13) mengemukakan karakteristik sistem adalah sebagai berikut: 1. Komponen Sistem (Component) Suatu sistem terdiri dari sejumlah komponen yang berinteraksi, yang bekerja sama membentuk suatu kesatuan. 2. Batasan Sistem (Boundary) Ruang lingkup sistem merupakan daerah yang membatasi antara sistem dengan sistem lainnya atau sistem dengan lingkungan luarnya. 7 http://digilib.mercubuana.ac.id/ 8 3. Lingkungan Luar Sistem (Environment) Bentuk apapun yang ada di luar ruang lingkup atau batasan sistem yang mempengaruhi oprasi sistem tersebut dengan lingkungan luar sistem. 4. Penghungung Sistem (Interface) Media yang menghubungkan sistem dengan subsistem yang lain disebut dengan penghubungan sistem atau interface. 5. Masukan sistem (Input) Energi yang dimasukan ke dalam sistem disebut masukan sistem, yang dapat berupa pemeliharaan (Maintenance Input) dan sinyal (Sinyal Input). 6. Keluaran sistem (Output) Hasil dari energy yang diolah dan diklasifikasikan menjadi keluaran yang berguna. 7. Pengolahan sistem (Process) Suatu sistem dapat mempunyai suatu proses yang akan mengubah masukan menjadi keluaran. 8. Sasaran sistem (Objective) Suatu sistem memiliki tujuan dan sasaran yang pasti dan bersifat deterministik. Bedasarkan urian menurut para ahli bahwa setiap system perlu adanya sebuah lingkup sistem, batas sistem, input, proses dan, output agar sistem yang dibangun dapat berjalan dengan sangat baik. 2.1.3. Konsep Dasar Data 1. Pengertian Data Menurut Considine et al (2012: 7), data adalah fakta mentah yang berhubungan atau menjelaskan suatu kejadian. Sedangkan menurut Rainer dan Cegielski (2011: 10), data merujuk pada deskripsi dasar suatu benda, kejadian, aktivitas dan transaksi yang direkam, diklasifikasikan, dan disimpan tetapi tidak disusun untuk mengungkapkan arti tertentu. Contohnya angka, huruf, figur, suara, dan gambar. http://digilib.mercubuana.ac.id/ 9 Dari pengertian data yang telah dijelaskan menurut para ahli diatas dapat disimpulkan bahwa data adalah sesuatu yang belum memiliki arti bagi yang menerimanya karena data itu adalah sebuah fakta mentah yang memerlukan adanya pengolahan agar bisa menghasilkan sebuah informasi. 2. Bentuk Data Menurut Yakub (2012:5) data dapat dibentuk menjadi 5 antara lain: a. Teks Teks merupakan sederetan huruf, angka, dan simbol-simbol yang kombinasinya tidak tergantung pada masing-masing item secara individual misalnya, artikel, koran, majalah, dan lain-lain. b. Data yang Terformat Data yang terformat merupakan data dengan suatu format tertentu, misalnya, data yang menyatakan tanggal atau jam, dan nilai mata uang. c. Citra (Image) Citra (Image) merupakan data dalam bentuk gambar, citra dapat berupa grafik, foto, hasil rontsen, dan tanda tangan. d. Audio Audio merupakan data dalam betuk suara misalnya, instrument musik, suara orang, suara binatang, detak jantung, dan lain-lain. e. Video Video merupakan data dalam bentuk gambar bergerak dan dilengkapi dengan suara misalnya, suatu kejadian dan aktiviitas dalam bentuk film. 3. Sumber Data Menurut Yakub (2012:6), data dapat diperoleh dari berbagai sumber untuk memperolehnya. Sumber data diklasifikasikan sebagai sumber data internal, sumber data personal, dan sumber data eksternal. a. Data Internal Data internal sumbernya adalah orang, produk, layanan, dan proses. Data internal umumnya disimpan dalam basis data perusahaan dan biasanya dapat diakses. http://digilib.mercubuana.ac.id/ 10 b. Data Personal Sumber data personal bukan hanya berupa fakta, tetapi dapat juga mencakup konsep, pemikiran dan opini. c. Data Eksternal Sumber data eksternal dimulai dari basis data komersial hingga sensor dan satelit. Data ini tersedia di compact disk, flashdisk atau media lainnya dalam bentuk filmm, suara, gambar, atlas, dan televisi. 2.1.4. Konsep Dasar Informasi Informasi adalah sekumpulan fakta (data) yang diorganisasikan dengan cara tertentu sehingga mereka mempunyai arti bagi si penerima. Sutarman (2012:14). Menurut Sherlly-Rosenblatt (2012, p7), informasi adalah data yang telah diubah menjadi output yang lebih berharga bagi penggunanya. Bedasarkan beberapa definisi diatas, informasi adalah sekumpulan sebuah data yang mentah kemudian dengan adanya pengolahan maka data tersebut mempunyai output yang berguna bagi penerimanya. 2.1.5. Kualitas Informasi Kualitas suatu informasi tergantung dari 3 hal, yaitu informasi harus akurat, tepat waktu, dan relevan. Penjelasan tentang kualitas informasi tersebut dipaparkan dibawah ini. Menurut Tata Sutabri (2012:43). 1. Akurat (Accurate) Informasi harus bebas dari kesalahan-kesalahan dan tidak menyesatkan. Akurat juga berarti informasi harus jelas mencerminkan maksudnya. Informasi harus akurat karena biasanya dari sumber informasi sampai penerima informasi ada kemungkinan terjadi gangguan yang dapat mengubah atau merusak informasi tersebut. 2. Tepat Waktu (Timelines) Informasi yang datang pada si penerima tidak boleh terlambat. Informasi yang sudah usung tidak akan mempunyai nilai lagi karena informasi merupakan suatu landasan dalam pengambilan keputusan. http://digilib.mercubuana.ac.id/ 11 Bila pengambilan keputusan terlambat maka dapat berakibat fatal bagi organisasi. 3. Relevance (Relevance) Informasi tersebut mempunyai manfaat untuk pemakainya, dimana relevansi informasi informasi untuk tiap-tiap individu berbeda tergantung pada yang menerima dan yang membutuhkan. Nilai informasi ditentukan oleh dua hal yanitu manfaat dan biaya. Suatu informasi dikatakan bernilai apabila manfaatnya lebih efektif dibandingkan dengan biaya mendapatkannya. 2.1.6. Fungsi Informasi 1. Fungsi Informasi Menurut Tata Sutabri (2012: 24), Fungsi utama informasi adalah menambah pengetahuan atau mengurangi ketidakpastian pemakai informasi. Setiap informasi yang diberikan kepada pemakai adalah hasil dari input data yang dimasukan kedalam pengolahan, tetapi dalam sebuah sistem pengambilan keputusan yang komplek, informasi hanya untuk mengurangi bermacam-macam pilihan informasi, informasi yang disediakan bagi pengambil keputusan memberikan suatu kemungkinan faktor resiko pada tingkat-tingkat pendapatan yang berbeda. 2. Model Proses Informasi Fungsi informasi yang penting lainnya adalah memberikan standarstandar, aturan-aturan ukuran dan aturan-aturan keputusan untuk penentuan dan penyebaran tanda-tanda kesalahan dan umpan balik guna mencapai tujuan kontrol. Data merupakan bentuk mentah yang belum dapat bercerita banyak sehingga perlu diolah lebih lanjut. Data diolah melalui suatu model agar menghasilakan informasi. Data diolah melalui suatu model informasi, si penerima akan menerima informasi tersebut untuk membuat suatu keputusan dan melakukan tindakan yang akan mengakibatkan munculnya sejumlah data lagi. Data tersebut ditangkap sebagai input, diproses kembali lewat suatu model, dan seterusnya http://digilib.mercubuana.ac.id/ 12 sehingga membentuk suatu siklus. Siklus inilah yang disebut sebagai Siklus informasi information cycle Agar lebih jelas perhatikan gambar dibawah ini. Gambar 2.1. Siklus Informasi (Sumber : Tata Sutabri. 2012 . Analisis Sistem Informasi. Yogyakarta : Andi) 2.1.7. Konsep Dasar Sistem Informasi 1. Konsep Dasar Sistem Informasi Sistem informasi adalah sistem yang dapat didefinisikan dengan mengumpulkan, memproses, menyimpan, manganalisis, menyebarkan informasi untuk tujuan tertentu. Seperti sistem lainnya, sebuah sistem informasi terdiri atas input (data, intruksi) dan output (laporan, kalkulasi). Sutarman (2012: 13). Sistem informasi adalah suatu sistem didalam suatu organisasi yang mempertemukan kebutuhan pengolahan transaksi harian yang mendukung fungsi operasi organisasi yang bersifat manajerial dengan kegiatan strategi dari suatu organisasi untuk dapat menyediakan kepada pihak luar tertentu dengan laporan-laporan yang diperlukan. Tata Sutabri (2012: 16). Dari menurut para ahli diatas, dapat disimpulkan bahwa sistem informasi adalah gabungan brainware, hardware, software, jaringan dan data yang saling berhubungan untuk menyimpan, mengumpulkan serta memproses untuk dukungan dalam pengambilan keputusan bagi suatu oraganisasi. http://digilib.mercubuana.ac.id/ 13 2. Komponen Sistem Informasi Tata Sutabri (2012: 47), mengemukakan bahwa “Sistem informasi terdiri dari komponen-komponen yang disebut blok bangunan (Building Block), yang terdiri dari blok masukan, blok model, blok keluaran, blok teknologi, blok basis data, dan blok kendali. Sebagai suatu sistem, keenam blok bangunan tersebut masing masing saling berinteraksi satu sama dengan yang lain membentuk suatu kesatuan untuk mencapai sasaran”. Blok bangunan itu terdiri dari: a. Blok Masukan (input block) Input mewakili data yang masuk ke dalam sistem informasi. input disini mewakili metode-metode dan media untuk menangkap data yang akan dimasukan , yang dapat berupa dokumen-dokumen dasar. b. Blok Model (model block) Blok ini terdiri dari kombiinasi prosedur, logika, dan model matematik yang memanipulasi data input dan data tersimpan di basis data dengan cara yang tertentu untuk menghasilkan keluaran yang diinginkan. c. Blok Keluaran (output block) Produk dari sistem informasi adalah keluaran yang merupakan informasi yang berkwalitas dan dokumentasi yang berguna untuk semua tingkatan manajemen serta semua pemakai sistem. d. Blok Teknologi (technology block) Teknologi digunakan untuk menerima inputt, menjalankan model, menyimpan dan mengakses data, menghasilkan dan mengirim keluaran dan membantu pengendalian dari sistem secara keseluruhan. Teknologi terdiri dari tiga bagian utama yaitu teknisi (humanware atau brainware), perangkat lunak (software) dan perangkat keras (hardware). e. Blok basis data (Database block) Basis data merupakan dari data yang saling berhubungan satu dengan yang lainnya, tersimpan satu dengan yang lainnya, tersimpan diperangkat keras komputer dan digunakan perangkat lunak untuk http://digilib.mercubuana.ac.id/ 14 memanipulasinya. Data perlu disimpan di dalam basis data untuk keperluan penyediaan informasi lebih lanjut. f. Block kendali (control block) Beberapa pengendalian perlu dirancang dan ditterapkan untuk meyakinkan bahwa hal-hal yang dapat merusak sistem dapat dicegah ataupun bila terlanjur terjadi kesalahan dapat segera diatasi. 2.2. Teori Khusus 2.2.1. Konsep Dasar Pembuatan Aplikasi Android 1. Konsep Dasar Android Android (sistem oprasi) merupakan sebuah sistem operasi yang berbasis Linux untuk telepon seluler seperti telepon pintar dan komputer tabelt. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh berbagai macam piranti bergerak. Pada saat perilisan perdana Android, 5 November 2007, Android bersama konsorsium dari perusahaan-perushaan seperti Google, dan perusahaan yang menciptakan perangkat seluler seperti HTC, Sony dan Samsung yang mempunyai nama lain yaitu Open Handset Alliance (OHA), telah memberikan sebuah persetujuan akan memberikan sebuah support dalam melakukan pengembangan standar open source pada perangkat seluler. Dipihak lain sebuah perusahann Google kode-kode yang dibawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler. Tidak hanya menjadi sistem Android di smartphone, saat ini Android menjadi pesaing utama dari Apple pada sistem operasi Tabelt PC, Pesatnya pertumbuhan Android selain faktor yang disebutkan diatas adalah karena Android itu sendiri adalah platform yang sangat lengkap baik itu sistem operasinya, aplikasi dan tool pengembangan, market aplikasi Android serta dukungan yang sangat tinggi dari komunitas Open Source di dunia, sehingga Android terus berkembang pesat baik dari segi http://digilib.mercubuana.ac.id/ 15 tekhnologi maupun dari segi device yang ada di dunia. (Nazruddin Safaat H, 2014:3). 2. Arsitektur Android Arsitektur Android terdiri dari : Applications, Application Framework, Libraries, Android Runtime dan Kernel Linux. Untuk lebih jelasnya dapat dilihat pada gambar berikut: Gambar 2. 2. Arsitektur Android (http://elinux.org/Android_Architecture) Menurut Herdi (2012) secara garis besar arsitektur android terdiri dari empat layer komponen yaitu: a. Layer Application Inilah layer pertama pada OS Android, biasa dinamakan layer Applications dan Widget. Layer ini merupakan layer yang berhubungan dengan aplikasi-aplikasi inti yang berjalan pada Android OS. Seperti klien email, program SMS, kalender, browser, peta, kontak, dan lain-lain. Semua aplikasi ini dibuat dengan menggunakan bahasa Java. Apabila kalian membuat aplikasi, maka aplikasi itu ada di layer ini. b. Layer Application Framework Applications Framework merupakan layer dimana para pembuat aplikasi menggunakan komponen-komponen yang ada di sini untuk http://digilib.mercubuana.ac.id/ 16 membuat aplikasi mereka. Beberapa contoh komponen yang termasuk di dalam Applications Framework adalah sebagai berikut: 1) Views 2) Content Provider 3) Resource Manager 4) Notification Manager 5) Activity Manager c. Layer Library Libraries merupakan layer tempat fitur-fitur android berada. Pada umumnya library diakses untuk menjalankan aplikasi. Beberapa library yang terdapat pada android diantaranya adalah library Media untuk memutar media video atau audio, library untuk menjalankan tampilan, library graphic, library SQLite untuk dukungan database, dan masih banyak library lainnya. d. Android Runtime Android RunTime merupakan layer yang membuat aplikasi android bisa dijalankan. Android RunTime dibagi menjadi dua bagian yaitu: 1) Core Libraries : berfungsi untuk menerjemahkan bahasa Java/C. 2) Dalvik Virtual Machine : sebuah mesin virtual berbasis register yang dioptimalkan untuk menjalankan fungsi-fungsi pada Android secara efisien. e. Linux Kernel Linux Kernel merupakan layer tempat keberadaan inti dari operating system android. Layer ini berisi file-file system yang mengatur system processing, memory, resource, drivers, dan sistem android lainnya. Inilah yang membuat file sistem pada Android mirip dengan file sistem pada sistem operasi berbasis Linux. Kernel yang digunakan adalah kernel Linux versi 2.6, dan versi 3.x pada Android versi 4.0 ke atas. Kernel ini berbasis monolithic. http://digilib.mercubuana.ac.id/ 17 3. Pengertian Dalvik Virtual Marchine (DVM) Semua hardware yang berbasis android dijalankan dengan menggunakan Virtual Machine untuk eksekusi aplikasi, sehingga pengembang tidak perlu khawatir tentang implementasi perangkat keras tertentu. Dalvik Virtual machine mengaksekusi executabel file, sebuah format yang dioptimalkan untuk memastikan memori yang digunakan sangat kecil. The executabel file diciptakan dengan mengubah kelas bahasa java dan kompilasi menggunakan tools yang disediakan dalam SDK Android (Safaat H. 2011). 4. Pengertian Android Software Development Kit (SDK) Android SDK adalah tool API (application Programming Interface) yang diperlukan untuk mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Android merupakan subset perangkat lunak untuk ponsel yang meliputi sistem operasi, middleware dan aplikasi kunci yang release oleh Google. Saat ini di sediakan Android SDK (Software Development Kit) sebagai alat bantu dan API untuk mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemograman java (Safaat H 2011 : 5). 5. Definisi Java Java adalah bahasa yang dapat dijalankan disembarang platform, diberagam lingkungan Internet, consumer electronic products, dan computer applications. Bahasa Java merupakan karya Sun Microsystem Inc. Rilis resmi level beta dilakukan pada November 1995. Dua bulan berikutnya Netscape menjadi perusahaan pertama yang memperoleh lisensi bahasa Java dari Sun. Pada pengembangan enterprise applications, kita menggunakan sejumlah besar paket. Pada consumer electronic product, hanya sejumlah kecil bagian bahasa yang digunakan. Masingmasing edisi berisi Java 2 Software Development Kit (SDK) untuk mengembangkan aplikasi dan Java 2 Runtime Envirotment (JRE) untuk menjalankan aplikasi. http://digilib.mercubuana.ac.id/ 18 Java telah berjalan pada segala perangkat dari laptop sampai pusat data, konsol game sampai supercomputer ilmiah. Terdapat 930 juga download terhadap java Runtime Envirotment setiap tahun dan 3 miliar telepon mobile (handphone) yang menjalankan java. a. JDK 1.0 (Januari 21, 1996) b. JDK 1.1 (February 19, 1997) c. J2SE 1.2 (December 8, 1998) d. J2SE 1.3 (May 8, 2000) e. J2SE 1.4 (February 6, 2006) f. J2SE 5.0 (September 30, 2004) g. Java SE 6 (December 11, 2006) h. Java SE 7 (July 28, 2011) i. Java SE 8 (March 18, 2014) 6. Definisi JDK (Java Development Kit) Java Development Kit (JDK) adalah perangkat pengembangan aplikasi Java yang bisa diunduh secara www.oracle.com/technetwork/java/javanese/download. gratis di Perangkat ini mutlak diperlukan untuk membuat aplikasi Android, mengingat aplikasi Android itu berbasis Java. Sebagaimana diketahui, Java adalah salah satu bahasa pemrograman yang biasa digunakan untuk membuat aplikasi. Namun perlu diketahui, tidak semua pustaka dalam Java digunakan di Android. Sebagai contoh, Android tidak menggunakan Swing. (Abdul Kadir, 2013). Java Development Kit (JDK) berisi sekumpulan kakas baris perintah (command-line tool) untuk menciptakan program Java. Pada 2009-2010, Oracle Corporation mengakuisisi Sun Microsystem, Inc., alamat URL untuk men-download JDK http://www.oracle.com/technetwork/java/index.html. berpindah menjadi JDK berisi sekumpulan kakas, utilitas, dan dokumentasi serta kode applet contoh http://digilib.mercubuana.ac.id/ 19 untuk pengembangan program Java. (Bambang Hariyanto, 2014). Berikut adalah daftar komponen utama JDK: a. Kompilator (javac) b. Interpreter program Java (java) c. Applet viewer(appletviewer) d. Debugger (jdb) e. Class file disassemble (javap) f. Header and stub file generator (javah) g. Documentation generator (javadoc) h. Applet demo i. Kode sumber Java API Versi Java tersedia untuk Sun Solaris, Windows NT/2000, Windows 95/98, Linux, OS/2, Macintosh, dan banyak lagi. (Bambang Hariyanto, 2014). 7. Definisi Android Studio Untuk membangun aplikasi android diperlukan IDE (Integrated Development Enviromment). Aplikasi perangkat lunak yang menyediakan fasilitas lengkap untuk programmer komputer untuk pengembangan perangkat lunak. Salah satunya yaitu dengan menggunakan Android Studio. Menurut Felker (2013) Android Studio adalah sebuah IDE dari Google yang diperkenalkan saat event Google I/O pada bulan Mei tahun 2013 dan merupakan IDE. Alternative salain IDE Eclipse. Dalam website resminya dikatakan bahwa Android Studio adalah IDE resmi untuk mengembangkan aplikasi android, yang berbasis intellij IDEA. 8. Definisi PHP Menurut Sibero (2012:49), “PHP (Personal Home Page) adalah pemograman (interpreter) adalah proses penerjemahan baris sumber menjadi kode mesin yang dimengerti komputer secara langsung pada saat baris kode dijalankan”. http://digilib.mercubuana.ac.id/ 20 Menurut Kustiyahningsih (2011:114), “PHP (atau resminya PHP: Hypertext Preprosesor) adalah skrip bersifat Bersifat server-side yang di tambahkan ke dalam HTML. PHP sendiri merupakan singkatan dari Personal Home Page Tools. Skrip ini akan membuat suatu aplikasi dapat di gabungkan ke dalam syntak HTML sehingga suatu halaman web tidak lagi bersifat statis, namun menjadi bersifat dinamis. Sifat server side berarti pengerjaan script dilakukan di server, baru kemudian hasilnya dikirimkan ke browser yang ditampilkan menggunakan HTML jika dijalankan tidak dengan browser maka harus ada client yang menampilkan data hasil dari PHP tersebut”. 9. Definisi JSON JSON (JavaScript Object Notation) merupakan format untuk pertukaran data seperti halnya XML. JSON sangat mudah dimengerti oleh manusia, karena formatnya yang sederhana. Tidak hanya manusia, mesin pun dapat membaca JSON dengan sangat mudah. Format ini dibuat berdasarkan bagian dari bahasa pemrograman JavaScript, Standar ECMA262 Edisi ke-3 Desember 1999. JSON merupakan format teks yang tidak bergantung pada bahasa pemrograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer golongan C termasuk C, C++, C#, Java, JavaScript, Perl, Python dan lain-lain. (Setiawan, Andjarwirawan dan Handojo: 2013). 10. Definisi Web Service Menurut Deitel & Deitel (2012), web service merupakan sebuah komponen software yang disimpan pada suatu komputer dan dapat diakses oleh aplikasi atau komponen software yang lain pada komputer lain melalui jaringan. 2.2.2. Konsep Dasar Database 1. Konsep Database Menurut Kustiyahningsih (2011:146), “Database adalah Struktur penyimpanan data. Untuk menambah, mengakses dan memperoses data http://digilib.mercubuana.ac.id/ 21 yang disimpan dalam sebuah database komputer, diperlukan sistem manajemen database seperti MYSQL Server”. 2. Jenis Database Yang Digunakan Dalam pembuatan aplikasi android ini menggunakan MySQL. Karena Menurut Raharjo (2011:21), “MySQL merupakan RDBMS (atau server database) yang mengelola database dengan cepat menampung dalam jumlah sangat besar dan dapat diakses oleh banyak user”. 2.2.3. UML (Unified Modeling Language) 1. Definisi UML Menurut Widodo (2011 : 6), mengatakan sebagai bahasa , berarti UML memiliki sintaks dan sematik. Pada saat membuat model dengan UML, kita harus memperhatikan sebuah aturan, aturan yang harus diikuti, bagaimana element yang dibuat, terutama model-model yang dibuat yang saling berhubungan antar setiap satu model dengan model lainya yang harus mengikuti standart yang ada. Blok pembangun utama UML adalah diagram. Beberapa diagram ada yang rinci (jenis timing diagram) dan lainnya ada yang bersifat umum (misalnya diagram kelas). Para pengembang sistem berorientasi objek menggunakan bahasa model untuk menggambarkan, membangun, dan mendokumentasikan sistem yang mereka rancang, UML memungkinkan para anggota team untuk bekerja sama dalam bahasa model yang sama dalam mengaplikasika beragam sistem. Intinya, UML merupakan alat komunikasi yang konsisten dalam mensupport para pengembang sistem saat ini. Sebagai perancang sistem, mau tidak mau pasti akan menjumpai UML, baik sendiri yang membuat atau sekedar membaca diagram UML buatan orang lain (Pilone, 2005 dalam Widodo, Herlawati, 2011 : 7). 2. Jenis-jenis Diagram UML Dari beberapa refrensi dari para ahli bahwa UML mempunyai Sembilan diagram, karena adanya tiga diagram yang digabungkan menjadi satu yaitu diagram interaksi, dan diagram yang digabungkan menjadi satu http://digilib.mercubuana.ac.id/ 22 yaitu diagram urutan, diagram perwaktuan dan diagram komunikasi. Dan diagram tersebut antara lain: a. Diagram kelas (Class Diagram) Sebuah gambaran kelas-kelas yang terdapat pada suatu sistem yang satu dengan yang lain. Di diagram ini terdapat pula atribut dan operasi. b. Diagram Paket (Package Diagram) Diagram ini memperlihatkan sekelompok elemen-elemen pada model dan kumpulan kelas-kelas. c. Diagram Use case. Diagram ini memperlihatkan model sebuah sistem yang berjalanan ataupun proses bisnis yang diusulkan yang terdiri dari tiap aktor-aktor. d. Diagram interaksi dan Sequence (urutan). Diagram urutan adalah diagram interaksi antar objek yang menekankan pada pengiriman pesan dalam suatu waktu tertentu. e. Diagram Komunikasi (Communication Diagram) Diagram sebagai pengganti diagram koloborasi UML 1.4. diagram kombinasi dari informasi yang telah di ambil dari sebuah class, sequence, use case diagram. f. Diagram Statechart (Statechart Diagram). Diagram yang memperlihatkan keadaan dalam perubahan pada sistem, menggambarkan transisi, kejadian aktivitas. Diagram ini terutama penting untuk memperlihatkan sifat dinamis dari antarmuka (interface), kelas, koloborasi dan terutama penting pada pemodelan sistem-sistem yang reaktif. g. Diagram Aktivitas Tipe khusus dari diagram status yang memperlihatkan sebuah tahapantahapan dari suatu aktivitas ke aktivitas lainnya dalam suatu sistem. Diagram ini terutama penting dalam pemodelan fungsi-fungsi suatu sistem dan memberi tekanan pada aliran kendali antar objek. http://digilib.mercubuana.ac.id/ 23 h. Diagram Komponen Diagram komponen ini memperlihatkan organisasi serta kebergantungan sistem/perangkat lunak komponen-komponen yang telah ada sebelumnya. Diagram ini berhubungan dengan diagram kelas dimana komponen secara tipikal dipetakan ke dalam satu atau lebih kelas-kelas antarmuka-antarmuka serta koloborasi-koloborasi. i. Diagram Deployment (Deployment Diagram) Diagram ini memperlihatkan konfigurasi saat aplikasi dijalankan (runtime). Memuat simpul-simpul beserta komponen-komponen yang ada di dalamnya. Diagram deployment berhubungan erat dengan diagram komponen dimana diagram ini memuat satu atau lebih komponenkomponen. Diagram ini sangat berguna saat aplikasi kita berlaku sebagai aplikasi yang dijalankan pada banyak mesin. Diagram yang digunakan dalam pengembangan perangkat lunak, dalam pengertian ke Sembilan diagram diatas, maka perlu dilihat terlebih dahulu pada pengembangan perangkat lunak, diagram apa saja yang dibutuhkan. Namun pada penelitian ini hanya menggunakan 4 diagram. 3. Use case Menurut Dennis et al (2012), Use case diagram merupakan suatu diagram yang menangkap kebutuhan bisnis untuk sistem dan untuk menggambarkan interaksi antara sistem dan lingkungannya. Tabel 2.1. Notasi Use case Diagram Term and Definition Symbol An actor Is a person or system that derives benefit from and is external to the system. Is Iabeled with its role. Can be associated with other actors by http://digilib.mercubuana.ac.id/ Actor role name 24 a specialization/superclass association, denoted by an arrow with a hollow arrowhead. Is placed outside the system boundary. A use case Represents a major piece of system functionality. Can extend another use case. Can use another use case. Is placed inside the system boundary. Is Iabeled with a descriptive verb-noun Use case name phrase. A system boundary Includes the name of the system inside or on top. System name Represents the scope of the system. An assoclation relationship Links an actor with the use case (s) with which it interacts. Sumber: Dennis at al, (2012) a. Aktor (actor), menggambarkan pihak-pihak yang berperan dalam sebuah sistem. b. Use case, aktifitas/sarana yang disiapkan oleh bisnis/sistem. c. System boundary, adalah sebuah kotak yang mewakili sebuah sistem. d. 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>>. http://digilib.mercubuana.ac.id/ 25 4. Class Diagram Menurut Dennis et al (2012), Class Diagram adalah ilustrasi hubungan antara class yang dimodelkan didalam sistem. Class diagram sangat mirip dengan diagram hubungan entitas (ERD). Diagram class menggambarkan class yang meliputi atribut, perilaku dan states, sementara dalam ERD hanya mencakup atribut. Berikut adalah beberapa komponen Class Diagram (Dennis et al, 2012:513), Tabel 2.2. Komponen Class Diagram Term and Definition Symbol A Class (sebuah class) Mewakili jenis orang, tempat atau hal yang system harus menangkap dan menyimpan informasi. Memiliki nama yang diketik dengan huruf tebal dan berpusat diatas kompartemen. Memiliki daftar atribut ditengah Kompartemen. Memiliki daftar operasi. Tidak secara eksplisit menunjukkan operasi yang tersedia untuk semua kelas. An Attribut (sebuah atribut) Merupakan sifat yang menggambarkan bagian derived suatu objek. Attribut name / Dapat diturunkan dari atribut lain, ditunjukkan oleh penempatan garis miring sebelum nama atribut. http://digilib.mercubuana.ac.id/ attribut name 26 Operation name A Method (sebuah metode) Merupakan tindakan atau fungsi bahwa sebuah () class dapat melakukan. Dapat diklasifikasikan sebagai konstruktor, query, atau memperbaharui operasi. Termasuk tanda kurung yang mungkin mengandung parameter khusus atau informasi yang dibutuhkan untuk melakukan operasi. 1..* verb phrase An Association (sebuah asosiasi) Merupakan hubungan antara beberapa class atau 0..1 class dirinya sendiri. Diberi label oleh kata kerja frase mana yang merupakan hubungan yang tepat. Bisa ada diantara satu atau lebih class. Berisi banyaknya simbol yang mewakili minimum dan maximum misalnya waktu class dapat dikaitkan dengan contoh class lain. Sumber: Dennis et al (2012) 5. Activity Diagram Menurut Dennis et al (2012), Activity diagram adalah yang menggambarkan alur kerja bisnis independen dari class, aliran kegiatan dalam Use case, atau desain rinci sebuah metode. Berikut Komponen Activity Diagram Dennis et al (2012): Tabel 2.3. Komponen Activity Diagram Actor Digunakan untuk melakukan tindakan. http://digilib.mercubuana.ac.id/ Aktor 27 Activity Digunakan untuk mewakili serangkaian tindakan. Activity Object Node Digunakan untuk mewakili suatu objek yang terhubung ke satu set arus objek. Class Control Flow Menunjukkan urutan eksekusi. Object Flow Menunjukkan arus dari sebuah objek dari satu kegiatan (atau tindakan) untuk kegiatan lain (atau tindakan). Initial Node Menggambarkan awal dari serangkaian tindakan atau kegiatan. Initial Activity Node Digunakan untuk menghentikan semua arus kontrol dan arus objek dalam suatu kegiatan (atau tindakan) Final activity Node Digunakan untuk menghentikan aliran kontrol tertentu atau aliran objek Decision Node Digunakan untuk mewakili kondisi tes untuk memastikan bahwa aliran kontrol atau aliran objek hanya turun satu jalur [Decision Criteria] Marge Node Digunakan untuk membawa kembali jalur keputusan bersamayang berbeda yang dibuat menggunakan keputusan-node http://digilib.mercubuana.ac.id/ 28 Fork Node Adalah node kontrol yang memiliki satu dan dua atau lebih aliaran keluar. Join Node Adalah gabungan dari satu atau lebih activity aliran masuk Swimline Digunakan untuk memecah sebuah diagram aktivitas Name dalam baris dan kolom untuk menetapkan aktivitas individu (atau tindakan) kepada individu atau benda yang bertanggung jawab untuk melaksanakan kegiatan (atau tindakan) Sumber: Dennis et al (2012) Activity Diagram dibuat dengan bedasarkan usecase. Activity Diagram menggambarkan setiap alur kerja pada use case. 6. Sequence Disgram Menurut Dennis et al (2012), 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. Berikut merupakan komponen utama dalam Sequence Diagram. Tabel 2.4. Komponen Sequence Diagram Term and Definition An Actor (Aktor) Orang atau sistem yang berasal dari luar sistem yang dapat memberikan manfaat. Berpartisipasi secara berurutan oleh mengirim dan / http://digilib.mercubuana.ac.id/ Symbol 29 atau menerima pesan. Ditempatkan dibagian atas diagram. An Object (sebuah Objek) Berpartisipasi secara berurutan oleh mengirim dan / anObject:aClass atau menerima pesan., Ditempatkan dibagian atas diagram. A Lifeline (sebuah garis hidup) Menandakan kehidupan sebuah objek selama sequance. Berisi sebua X pada titik dimana kelas tidak lagi berinteraksi. A Focus of Control (Sebuah Fokus kontrol) Menandakan sebuah persegi panjang yang sempit ditempatkan diatas sebuah garis hidup. Menandakan ketika suatu objek mengirim atau menerima pesan. A Massege (sebuah Pesan) aMassage() Menyampaikan informasi dari satu objek ke objek yang lain. Object destruction (Objek Penghabisan) Merupakan sebuah X ditempatkan pada akhir suatu X garis hidup untuk menunjukkan bahwa itu akan keluar dari eksistensi. Sumber: Dennis et al (2012) Berdasarkan beberapa pendapat yang dikemukakan diatas, Sequence diagram (diagram urutan) adalah iteraksi yang menekankan pada pengiriman pesan dalam suatu waktu tertentu dengan lebih detail dan jelas. http://digilib.mercubuana.ac.id/ 30 2.2.4. Model Waterfall 1. Pengertian Waterfall Menurut Basili dan Musa (1991 dalam Simarmata. 2010 : 53) pada tahun 1960-an dan 1970-an, proyek pengembangan perangkat lunak merupakan pekerjaan yang sangat memakan biaya dan waktu karena oengembangan perangkat lunak ini difokuskan pada perencanaan dan pengendalian. Kemunculan model air terjun adalah membantu mengatasi kerumitan yang terjadi akibat proyek-proyek pengembangan perangkat lunak (Boehm, 1976 dalam Simarmata. 2010 : 54). Metode waterfall ini memiliki tahapan yang sama seperti namanya, yaitu air terjun yang dimaksudkan adalah setiap tahapan saling berpengaruh antara satu dengan yang lainnya. Dan jika apabila ada suatu tahapan yang belum dikerjakan pada tahapan sebelumnya, maka dapat kembali ketahap sebelumnya. Gambar 2.3. Penyajian sederhana dari siklus model waterfall Langkah-langkah penting dalam model ini adalah: a. Kebutuhan Sistem Tahapan ini dengan mencari kebutuhan dari semua kebutuhan sistem akan akan diaplikasikan. Selain itu tahapan ini bertujuan memahami http://digilib.mercubuana.ac.id/ 31 langkah-langkah serta kebijaksanaan apa saja yang berkaitan dengan pengembangan sistem tersebut. b. Penentuan dan Analisa Spesifikasi Konsultasi dengan pengguna sistem. Kemudian semua ini dibuat dalam bentuk yang dapat dimengerti oleh user dan pengembang. c. Design Sistem Pada tahap ini digunakan untuk mengubah kebutuhan-kebutuhan menjadi sebuah representasi ke dalam bentuk blueprint. Design harus dapat membuat kebutuhan yang sesuai yang telah dibutuhkan pada tahap sebelumnya. d. Implementasi dan uji coba unit Selama tahap ini design perangkat lunak disadari sebagai sebuah program lengkap atau unit program. Uji unit termasuk pengujian bahwa setiap unit sesuai spesifikasi. e. Integrasi dan uji coba sistem Unit program diintegrasikan dan diuji menjadi sistem yang lengkap untuk meyakinkan bahwa persyaratan perangkat lunak telah terpenuhi. Setelah dicoba maka sistem disampaikan ke user. f. Operasi dan Pemeliharaan Normalnya ini adalah phase yang panjang. Pemeliharaan termasuk mengkoreksi dari kesalahan yang tidak ditemukan sebelumnya. Perbaikan implementasi unti sistem dan peningkatan jasa sistem sebagai kebutuhan baru ditemukan. 2.3. Teori Crowdfunding 2.3.1. Definisi Crowdfunding Menurut Roslina, dkk adalah Crowdfunding adalah suatu praktik penggalangan dana untuk berbagai jenis usaha, baik berupa ide produk, bisnis, atau kegiatan, yang dananya diperoleh dari sumbangan masyarakat banyak, dan sering kali memiliki suatu imbalan baik berupa barang atau jasa. Penggalangan dengan menggunakan crowdfunding sendiri biasanya http://digilib.mercubuana.ac.id/ 32 diterapkan dalam bentuk sebuah aplikasi berbasis website. Terdapat empat jenis website crowdfunding berdasarkan sistemnya , yaitu rewards-based, equity based, donation based, dan lending based. 2.3.2. Macam-macam Crowdfunding Dalam melakukan pengumpulan dana dari publik yang dikenal dengan crowdfunding ini mempunyai berbagai macam tipe dari crouwdfunding itu sendiri, karena pada tipe-tipe tersebut mempunyai tujuan yang berbeda-beda dalam pengumpulan dananya. Menurut Crouwdfunding indonesia (2015, 3 Maret) Macam-macam dari crowdfunding yaitu: a. Donation Crowdfunding Crowdfunding berbasis donasi adalah bentuk paling sederhana dari crowdfunding, di mana orang-orang menyumbangkan uang (sering dilakukan sedikit demi sedikit) untuk mendukung pembiayaan suatu proyek. Di crowdfunding berbasis donasi ini, kontributor tidak menerima imbalan, baik berupa pengembalian uang ataupun imbal jasa lainnya atas donasinya. Kontribusi yang diberikan murni berupa sumbangan. b. Reward Crowdfunding Crowdfunding berbasis hadiah mengikuti model yang sama seperti crowdfunding berbasis sumbangan, namun para contributor atau penyumbang menerima hadiah sebagai imbalan atas kontribusi mereka. Yaitu imbalan yang bersifat non-moneter. Misalnya, kontributor atau donatur dapat menerima t-shirt, sebuah voucher diskon, atau kesempatan untuk lebih dahulu mengorder produk yang didanai (kadang-kadang model ini disebut juga "solution crowdfunding"). c. Debt Crowdfunding Crowdfunding berbasis utang (atau crowdfunding pinjaman) adalah jenis pertama dari investasi crowdfunding, yang memungkinkan individu atau perusahaan untuk meminjam uang dari sekelompok http://digilib.mercubuana.ac.id/ 33 orang dan bukan dari bank. Dengan crowdfunding berbasis utang, kontributor yang adalah investor meminjamkan uang kepada perusahaan dan menerima bunga atas investasi mereka. Idealnya, bisnis bisa mendapatkan dana pada tingkat bunga yang lebih rendah dibandingkan bank, selain persyaratan kreditnya. Cukup sederhana, fungsi crowdfunding berbasis utang sebagai pinjaman bisnis yang cepat dan mudah, namun perusahaan membayar bunga secara langsung kepada investor mereka dan bukan ke bank. d. Equity Crowdfunding Crowdfunding berbasis ekuitas atau crowdfunding untuk ekuitas adalah jenis kedua crowdfunding investasi, di mana investor menerima saham atau kepemilikan perusahaan sebagai imbalan atas kontribusi mereka. Dengan crowdfunding ekuitas, harapan adalah bahwa investor akan menerima dividen atau penghargaan atas investasi mereka. Platform crowdfunding ekuitas memungkinkan perusahaan untuk meningkatkan modal tanpa menjalani proses mahal dari IPO (initial public offering). Setiap jenis crodfunding mempunyai tujuannya sendiri-sendiri. Pada umumnya bentuk crowdfunding yang paling berpengaruh di indonesia yaitu menggabungkan antara sosial, pelestarian dan inovasi. 2.4. Testing Perangkat Lunak 2.4.1. Pengertian Testing Proses yang menjalankan yang dilakukan untuk mengevaluasi suatu perangkat untuk mendapatkan sebuah informasi dari suatu kualitas produk pada perangkat lunak yang dilakukan dengan cara manual ataupun otomatis dan selain itu pengujian perangkat lunak juga bisa digunakan untuk menentukan perbedaan hasil yang diharapkan dengan hasil yang sebenarnya. http://digilib.mercubuana.ac.id/ 34 “Testing adalah sebuah proses yang dijelaskan sebagai siklus hidup dan merupakan bagian dari proses rekayasa perangkat lunak secara terintegrasi demi memastikan kualitas dari perangkat lunak serta memenuhi kebutuhan teknis yang telah disepakati dari awal” (Soetam Rizky 2011:237). 2.4.2. Model Black Box Pengujian fungsional atau pengujian kotak hitam (black box testing) merupakan pendekatan pengujian yang ujiannya diturunkan dari spesifikasi program atau komponen, Sistem merupakan “kotak hitam” yang perilakunya hanya dapat ditentukan dengan mempelajari input dan output yang berkaitan. Nama lain untuk cara ini adalah pengujian fungsional karena penguji hanya berkepentingan dengan fungsionalitas dan bukan implementasi perangkat lunak (Soetam Rizky, 2011:269). Kunci pada pengujian cacat adalah memilih input yang memiliki probabilitas besar sebagai anggota Himpunan Ie. Pada banyak kasus, pemilihan ini berdasar pengalaman rekayasa awan uji sebelumnya. Mereka memakai pengetahuan domain untuk mengindentifikasi kasus uji yang mungkin mengungkap cacat. Dengan black box analisis sistem akan memperoleh kumpulan kondisi dari input yang akan mengerjakan seluruh keperluan fungsional program. Tujuan metode ini untuk mencari kesalahan-kesalahan pada: a. Fungsi yang Salah atau hilang b. Kesalahan pada interface. c. Kesalahan pada struktur data atau akses database. d. Kesalahan performasi. e. Kesalahan inisiasi dan terminasi. Berikut contoh black box: http://digilib.mercubuana.ac.id/ 35 Gambar 2.4. Contoh Black Box Sumber: B. B. Agarwal, S. P. Tayal, M. Gupta (2010:173). 2.4.3. Model White Box White box testing adalah jenis testing yang lebih berkonsentrasi terhadap “isi” dari perangkat lunak itu sendiri. Jenis ini lebih banyak berkonsentrasi kepada source code dari perangkat lunak yang dibuat, metode white box atau yang disebut juga dengan glass box testing merupakan metode perancangan test case yang menggunakan struktur kontrol dari perancangan prosedural untuk mendapatkan test case dengan menggunakan metode white box (Soetam Rizky, 2011:261), akan dapat diperoleh test case yang: a. Menjamin seluruh jalur independen (independent path) di dalam modul yang dikerjakan sekurang-kurangnya sekali. b. Mengerjakan seluruh keputusan logical. c. Mengerjakan seluruh loop yang sesuai dengan batasannya. d. Mengerjakan seluruh struktur data internal yang menjamin validasi. Berikut Contoh White Box: http://digilib.mercubuana.ac.id/ 36 Gambar 2.5. Contoh White Box Sumber: B. B. Agarwal, S. P. Tayal, M. Gupta (2010:173) http://digilib.mercubuana.ac.id/