BAB 2. LANDASAN TEORI 2.1. Konsep Dasar Monitoring Monitoring adalah mendeterminasi apa yang telah dilaksanakan, maksudnya mengevaluasi prestasi kerja dan apabila perlu, menerapkan tindakan-tindakan korektif sehingga hasil pekerjaan sesuai dengan rencana yang telah ditetapkan. Conor (1974) menjelaskan bahwa keberhasilan dalam mencapai tujuan, separuhnya ditentukan oleh rencana yang telah ditetapkan dan setengahnya lagi fungsi oleh pengawasan atau monitoring. Pada umumnya, manajemen menekankan terhadap pentingnya kedua fungsi ini, yaitu perencanaan dan pengawasan (monitoring). Kegiatan monitoring dimaksudkan untuk mengetahui kecocokan dan ketepatan kegiatan yang dilaksanakan dengan rencana yang telah disusun. Monitoring digunakan pula untuk memperbaiki kegiatan yang menyimpang dari rencana, mengoreksi penyalahgunaan aturan dan sumbersumber, serta untuk mengupayakan agar tujuan dicapai seefektif dan seefisien mungkin. Monitoring sendiri dapat diartikan sebagai kegiatan untuk mengikuti suatu program dan pelaksanaannya secara mantap, teratur dan terusmenerus dengan cara mendengar, melihat dan mengamati, serta mencatat keadaan serta perkembangan program tersebut. Dalam seri monograf 3, UNESCO Regional Office for Education in Asia and the Pasific, dijelaskan bahwa monitoring adalah upaya yang dilakukan secara rutin untuk mengidentifikasi pelaksanaan dari berbagai komponen program sebagaimana telah direncanakan, waktu pelaksanaan program sebagai mana telah dijadwalkan, dan kemajuan dalam mencapai tujuan program. Suherman dkk (1988) menjelaskan bahwa monitoring dapat diartikan sebagai suatu kegiatan, untuk mengikuti perkembangan suatu program yang dilakukan secara mantap dan teratur serta terus menerus. 2.2. Konsep Dasar Rekayasa Perangkat Lunak Menurut (Simarmata, 2010) Rekayasa merupakan penerapan ilmu dan teknologi untuk menyelesaikan permasalahan manusia. Sedangkan rekayasa 2-1 http://digilib.mercubuana.ac.id/ perangkat lunak arau RPL atau Software engineering adalah satu bidang yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembangan perangkat lunak, dan sebagainya. 2.3. Dasar Pemrograman Sistem 2.3.1 Basis Data Menurut (Pakereng, et al., 2004) Basis data merupakan kumpulan data yang dipakai ada dalam suatu lingkup tertentu, misalkan instansi, perusahaan, dan lainlain atau kasus tertentu. Menurut (Pakereng, et al., 2004) Sebuah konsep database memiliki beberapa hal sebagai berikut. 1. Entitas Entitas merupakan tempat informasi direkam, dapat berupa orang, tempat, kejadian dan lain-lain. Sebagai contoh dalam kasus Administrasi Siswa misalnya, maka terdapat entity siswa, matakuliah, guru, pembayaran. 2. Atribut Atribut dapat juga disebut sebagai data elemen, data field, atau data item yang digunakan untuk menerangkan suatu entitas dan mempunyai harga tertentu, misalnya atribut dari entitas siswa diterangkan oleh nama, tanggal lahir, alamat. 3. Data value Data value merupakan suatu informasi atau data aktual yang disimpan pada tiap data, elemen, atau atribut. Atribut nama pegawai menunjukan tempat dimana informasi nama karyawan disimpan, nilai datanya misalnya adalah Anjang, Arif, Suryo, dan lain-lain yang merupakan isi data nama pegawai tersebut. 4. File/Table Merupakan kumpulan record sejenis yang mempunyai panjang elemen yang sama, atribut yang sama, namun berbeda nilai datanya. 5. Record/Tuple 2-2 http://digilib.mercubuana.ac.id/ Merupakan kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entitas secara lengkap. Satu record mewakili satu data atau informasi 2.3.2 Persyaratan Basis Data Menurut (Pakereng, et al., 2004) Suatu basis data yang baik memiliki beberapa ketentuan yang harus diperhatikan pada pembuatan file databasenya, antara lain sebagai berikut. 1. Redudansi dan inkonsistensi data Redudansi berarti melakukan penyimpanan data yang sama dibeberapa tempat. Hal ini menyebabkan pemborosan atau in-efisiensi dan menimbulkan inkonsistensi data karena dapat terjadi perubahan terhadap data maka data harus dirubah dibeberapa tempat. 2. Security data Basis data yang baik, menerapkan aturan-aturan yang berhubungan dengan keamanan sistem. Hal ini membuat tidak setiap pemakai sistem basis data diperbolehkan untuk mengakses semua data. Keamanan tersebut juga dapat diatur dan disesuaikan baik ditingkat basis data atau aplikasinya. 3. Data Integrity Dalam sebuah basis data berisikan banyak file database yang saling berhubungan, antar file tersebut saling berkaitan dan antar file tersebut harus di atur agar dapat melakukan transaksi-transaksi agar dapat berjalan secara efisien. 4. Data Access Pada suatu sistem basis data perlu dibuat suatu manajemen pengelolaan untuk mengakses data yang dikenal sebagai DBMS (Database Management System). Hal itu dilakukan supaya data dalam basis data harus siap diakses oleh siapa saja yang membutuhkan dan mempunyai hak untuk mengaksesnya. 5. Data Independence Sebuah program dalam sistem basis data, harus dipisahkan dengan database yang ada. Ini artinya perintah DBMS bebas terhadap database 2-3 http://digilib.mercubuana.ac.id/ karena apapun perubahan terhadap database, semua perintah akan diambil tanpa ada yang perlu diubah. 6. Isolasi Data Isolasi data dilakukan dengan membuat suatu format data yang sama dalam suat database. Hal itu dilakukan mengingat bahwa jika data disebar dalam beberapa file dalam bentuk format yang tidak sama. 7. Multi-user Suport Suatu sistem basis data harus mampu memberikan dukungan kepada pemakaian program untuk banyak pengguna (multi-user). 2.3.3 Konsep Database Relational Menurut (Marlinda, 2004) salah satu cara menyajikan data untuk mempermudah modifikasi adalah dengan cara pemodelan data. Salah satu model yang akan dibahas adalah model Entity Relationship Model. Model Entity Relationship adalah representasi logika dari data pada suatu organisasi atau area bisnis tertentu dengan menggunakan Entity dan Relationship. 1. Entity atau entitas adalah objek di dunia nyata yang dapat dibedakan dari objek lain. Entity Set/ kumpulan entitas adalah kumpulan dari entitas sejenis/ dalam tipe sama. Simbol yang digunakan untuk entity adalah persegi panjang. 2. Relationalship, adalah hubungan antara suatu himpunan entitas dengan himpunan entitas lainya. Simbol yang digunakan adalah bentuk belah ketupat, diamond atau rectangle. Relational Database Management System (RDMS) merupakan antar muka bagi pemakai dalam mengorganisasikan basis data yang disusun. Pemakai dapat berinteraksi langsung dengan mudah dan praktis dengan menggunakan perintah- perintah yang sederhana yang dibuat dalam suatu bahasa pemrograman. Tujuan RDMS adalah untuk memudahkan penciptaan penyusunan data dan membebaskan pemrograman dari masalah penyusunan file yang kacau dan berantakan. 2.3.4 Relasi Antar Tabel 2-4 http://digilib.mercubuana.ac.id/ Menurut (Marlinda, 2004), dalam sistem basis data, data tersimpan dalam bebrapa jaringan yang berbeda yang terdistribusi melalui bermacam- macam media yang berbeda. Basis data ini berisi sekumpulan form, tiap form dapat berinteraksi saat mengeksekusi data pada suatu form atau secara bersamaan pada beberapa form. Setiap form dapat memproses eksekusi data lokal dengan data yang telah ditentukan. Sebuah form juga dapat mengambil bagian dalam melakukan akses terhadap data pada beberapa form yang berbeda. 2.3.5 MySQL MySQL database server adalah RDBMS (Relational Database Management System) yang dapat menangani data yang bervolume besar. Meskipun begitu, tidak menuntut resource yang besar. MySQL adalah database yang paling populer diantara database-database yang lain. MySQL adalah program database yang mampu mengirim dan menerima data dengan sangat cepat dan multi user. MySQL memiliki dua bentuk lisensi, yaitu free software dan shareware. MySQL (My Structured Query Language) atau yang biasa dibaca mai-sekuel adalah sebuah program pembuat dan pengelola database atau yang sering disebut dengan DBMS (Database Management System), sifat dari DBMS ini adalah open source. MySQL sebenarnya produk yang berjalan pada platform Linux, dengan adanya perkembangan dan banyaknya pengguna, serta lisensi dari database ini adalah Open Source, maka para pengembang merilis versi Windows. MySQL merupakan program database yang mengakses datanya bersifat jaringan, sehingga dapat digunakan untuk aplikasi Multi User (banyak pengguna). Kelebihan lain dari MySQL adalah menggunakan bahasa query (permintaan) standar SQL (Structural Query Languase). SQL adalah suatu bahasa permintaan yang terstruktur, SQL telah di standarkan untuk semua program pengakses database seperti oracle, PosgresSQL, SQL Server dan lain-lain. 2-5 http://digilib.mercubuana.ac.id/ MySQL dapat didukung oleh hampir semua program aplikasi baik yang Open Source seperti PHP maupun yang tidak Open Source yang ada pada platform windows seperti Visual Basic, Delphi dan lainya. Menurut (Nugroho, 2004), program yang mendukung bahasa SQL adalah sebagai berikut. 1) MySQL 2) mSQL 3) PosgreSQL 4) Oracle 5) SQL Server 6) Interbase, dll Program-program aplikasi yang mendukung MySQL adalah sebagai berikut. 1) PHP (Page Hipertext Preprosesor) 2) Borland Delphi, Borland C++ Builder 3) Visual Basic 5.0/6.0 dan .net 4) Visual FoxPro 5) Cold Fusion, dan masih banyak lagi MySQL adalah sebuah implementasi dari relational management system (RDBMS) yang didistribusikan secara gratis dibawah lisensi General Public License (GPL). Setiap pengguna dapat secara bebas menggunakan MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam basis data yang telah ada sebelumnya; Structured Query Language (SQL). SQL adalah sebuah konsep pengoperasian basisdata, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. 2.3.6 Bahasa Pemrograman 2.3.6.1 Hypertext Preprocessor (PHP) 2-6 http://digilib.mercubuana.ac.id/ Menurut (Afrianto, 2011), PHP adalah sebuah bahasa pemrograman scripting untuk membuat halaman web yang dinamis. PHP dikatakan sebagai sebuah server-side embedded script language artinya sintak-sintak dan perintah yang kita berikan akan sepenuhnya dijalankan oleh server tetapi disertakan pada halaman HTML yang seperti biasa. Aplikasi-aplikasi yang dibangun oleh PHP pada umumnya akan memberikan hasil pada tampilan web browser, tetapi prosesnya secara keseluruhan dijalankan di server. Terdapat beberapa pandangan dalam mengartikan kata PHP, kurang lebih dapat diartiken sebagai Hypertext Preeprocesor. PHP merupakan bahasa pemprograman yang hanya dapat berjalan pada server dan hasilnya dapat ditampilkan pada Client. PHP merupakan produk Open Source yang dapat digunakan secara gratis tanpa harus membayar untuk menggunakanya. PHP merupakan bahasa standar yang digunakan dalam dunia Website, PHP adalah bahasa pemprograman yang berbentuk skrip yang diletakan didalam server web. Jika kita lihat dari sejarah mulainya PHP diciptakan dari ide Rasmus Lerdof untuk kebutuhan pribadinya, skrip tersebut sebenarnya dimaksudkan untuk digunakan sebagai keperluan membuat Website pribadi, akan tetapi kemudian dikembangkan lagi sehingga menjadi sebuah bahasa yang disebut “Personal Home Page”. Menurut buku yang berjudul Program PHP dan MYSQL yang diterbitkan oleh PENERBIT ANDI yang bekerjasama dengan MADCOMS (2004), beberapa keunggulan bahasa program PHP adalah sebagai berikut. 1) PHP memiliki tingkat akses yang lebih cepat. 2) PHP memiliki tingkat lifecycle yang cepat sehingga selalu mengikuti perkembangan tekhnologi Internet. 3) PHP memiliki tingkat keamanan yang tinggi. 4) PHP mampu berjalan di beberapa server yang ada, misalnya Apache, Microsoft IIS, PWS, AOLserver, phttpd, fhttpd, dan Xitami. 5) PHP mampu berjalan di Linux sebagai platform sistem operasi utama bagi PHP, namun juga dapat berjalan di FreeBSD, Unix, Solaris, Windows, dan yang lain. 2-7 http://digilib.mercubuana.ac.id/ 6) PHP juga mendukung akses ke beberapa database yang sudah ada, baik yang bersifat free maupun komersil. Database itu antara lain MYSQL, PosgreSQL, mSQL, Informix, dan MicrosoftSQL server. 7) PHP bersifat gratis Apabila menggunakan PHP, maka ada banyak alternatif Sistem Operasi atau webserver untuk menjalankannya, selain itu juga dapat menjalankan atau menggunakan program berorientasi objek atau sering disebut Object Oriented Programming (OOP). Output yang dihasilkan PHP bukan hanya HTML, namun juga dalam bentuk gambar, file PDF, serta gambar animasi menggunakan Libswf dan Ming. Output yang lain dengan jenis teks dapat berupa file XHTML dan XML. Sistem kerja PHP diawali dengan permintaan yang berasal dari halaman website oleh browser. Berdasarkan URL atau alamat website dalam jaringan internet, browser akan menemukan alamat dari webserver, mengidentifikasi halaman yang dikehendaki, dan menyampaikan segala informasi yang dibutuhkan oleh webserver. Selanjutnya webserver akan mencarikan berkas yang diminta dan menampilkan isinya di browser. Browser yang mendapatkan isinya segera menerjemahkan kode HTML dan kemudian menampilkannya. Lalu bagaimana apabila yang dipanggil oleh user adalah halaman yang mengandung script PHP? Pada prinsipnya sama dengan memanggil kode HTML, namun pada saat permintaan dikirim ke web – server, web – server akan memeriksa tipe file yang diminta user. Jika tipe file yang diminta adalah PHP, maka akan memeriksa isi script dari halaman PHP tersebut. Apabila dalam file tersebut tidak mengandung script PHP, permintaan user akan langsung ditampilkan ke browser, namun jika file tersebut mengandung script PHP, maka proses akan dilanjutkan ke modul PHP sebagai mesin yang menerjemahkan script PHP dan mengolah script tersebut, sehingga dapat dikonversikan ke kode-kode HTML lalu ditampilkan ke web browser. 2-8 http://digilib.mercubuana.ac.id/ 2.4. Aplikasi Pendukung dalam Pembuatan Sistem 2.4.1 UML UML singkatan dari Unified Modeling Languages yang berarti bahasa pemodelan standar. Menurut (Prabowo Pudjo Widodo dan Herlawati, 2011 ) Ketika kita membuat model menggunakan konsep UML ada aturan-aturan yang harus diikuti. Bagaimana elemen pada model-model yang kita buat berhubungan satu dengan yang lainnya harus mengikuti standar yang ada. UML bukan hanya sekedar diagram tetapi juga mencertiakan konteksnya . UML diaplikaikan untuk maksud tertentu biasanya antara lain untuk : 1. Merancang Perangkat Lunak 2. Sarana Komunikasi antara perangkat lunak dengan proses bisnis 3. Menjabarakan sistem secara rinci untuk analisa dan mencari apa yang diperlukan sistem 4. Mendokumentasi sistem yang ada, proses-proses dan organisansinya 2.4.1.1 Use Case Diagram Bersifat Statis, Diagram ini memperlihatkan himpunan use case dan actoraktor ( suatu jenis khusus dari kelas ) diagram ini terutama sangat penting dalam untuk mengorganisasi dan memodelkan perilaku sebuah sistem yang dibutuhkan serta diharapkan pengguna. Menurut (Prabowo Pudjo Widodo dan Herlawati, 2011 ) Use Case menggambarkan fungsi tertentu dalam suatu sistem berupa komponen, kejadian atau kelas. 2.4.1.2 Activity Diagram Menurut (Prabowo Pudjo Widodo dan Herlawati, 2011) Diagram aktifitas lebih memfokuskan diri pada eksekusi dan alur sistem dari pada bagaimana sistem itu dirakit. Diagram ini tidak hanya memodelkan software melainkan memodelkan model bisnis juga. Diagram aktifitas menunjukan aktifitas sistem dalam bentuk aksi-aksi. Ketika digunakan dalam pemoelan software, diagram aktifitas merepsentasikan pemanggilan suatu fungsi tertentu misalnya call. Sedangkan bila 2-9 http://digilib.mercubuana.ac.id/ dimodelkan dalam pemodelan bisnis, diagram ini menggambarkan aktifitas yang dipicu oleh kejadian-kejadian di luar seperti pemesanan atau kejadian-kejadian internal. 2.4.1.3 Sequence Diagram Menurut (Prabowo Pudjo Widodo dan Herlawati, 2011) Diagram sequence dimaksudkan untuk mengembangkan komunikasi antara objek, bukan memanipulasi data saat berkomunikasi. 2.4.1.4 Class Diagram Class diagram menurut Munawar (2005 : 28) 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 memberikan reaksi. 2.4.1.5 Component Diagram Menurut (Prabowo Pudjo Widodo dan Herlawati, 2011) manfaat diagram komponen adalah bila ada salah satu komponen yang rusak atau tidak sesuai dengan tujuan sistem, kita tinggal mengganti komponen itu dengan komponen yang lain. Dalam membongkar pasang komponen yang perlu diperhatikan adalah batasan (Boundary) komponen itu. 2.4.1.6 Collaboration Diagram Collaboration diagram adalah perluasan dari obyek diagram. Obyek diagram menunjukan obyek-obyek dan hubungannya satu dengan yang lain. "Collaboration diagram menunjukan message-message obyek yang dikirimkan satu sama lain" (Munawar, 2005) . Collaboration diagaram juga menggambarkan interaksi antar obyek seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing obyek dan bukan pada waktu penyampainan message. Setiap message memiliki sequence 2-10 http://digilib.mercubuana.ac.id/ number, dimana message dari level tertinggi memilki nomor satu Message dari level yang sama memilki prefix yang sama. Dengan collaboration diagram memungkinakn untuk memodelkan perngiriman sebuah mesage ke banyak obyek pada class yang sama. Demikian juga halnya untuk menunjukan adanya obyek aktif yang mengendalikan aliran message. 2.4.1.7 Deployment Diagram "Deployment diagram menunjukan tata letak sebuah sistem secara fisik, menampakan bagian-bagian software yang berjalan pada bagian-bagian hardware" (Munawar, 2005) . Deployment diagram menyediakan gambaran bagaimana sistem secara fisik akan terlihat. Sistem terdiri dari node-node dimana setiap node diwakili untuk sebuah kubus. Garis yang menghubungkan antara dua kubus menunjukan hubungan diantara kedua node tersebut. Tipe node bisa berupa device yang berwujud hardware dan bisa juga procesor (yang mengeksekusi component) atau execution environment (Software yang menjadi host atau mengandung sofware yang lain). Langkah-langkah Penggunaan UML secara umum: 1. Langkah pertama adalah menbuat daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan proses yang mungkin muncul. 2. Selanjutnya use case untuk tiap business process dipetakan untuk mendefinisikan dengan tepat fungsionalitas yang harus disediakan oleh sistem. dan use case diagarm diperhalus dan dilengkapi dengan requirement, constraints dan catatan-catatan lain. 3. Fungsi deployment diagaram secara kasar untuk mendefinisikan arsitektur fisik sistem. 4. Pendifinisian requirement lain (non-fungsional, security dan sebagainya) yang juga harus disediakan oleh sistem. 5. Berdasarkan use case diagaram, mulailah membuat activity diagram. 6. Diperlukan adanya definisi obyek-obyek level atas (package atau domain) kemudian pembuatan sequence dan atau collaboration diagram untuk tiap 2-11 http://digilib.mercubuana.ac.id/ alir pekerjaan. Jika sebuah use case memiliki kemungkinan alir normal dan error, perlu dibuat satu diagram untuk masing-masing alir. 7. Selanjutnya diperlukan adanya rancangan user interface model yang menyediakan antarmuka bagi pengguna untuk menjalankan skenario use case. 8. Berdasarkan model-model yang sudah ada, dapat dibuat class diagram. Setiap package atau domain dipecah menjadi hirarki class lengkap dengan atribut dan metodenya. Akan lebih baik jika untuk setiap class dibuat unit test untuk menguji fungsionalitas class dan interaksi dengan class lain. 9. Setelah class diagram dibuat, kita dapat melihat kemungkinan pengelompokan class menjadi komponen-komponen. Karena itu perlu diabuatnya component diagram pada tahap ini. Juga, diperlukan adanya definisi tes integrasi untuk setiap komponen menyakinkan ia berinterkasi dengan baik. 10. Perhalus deployment diagram yang sudah dibuat. Detailkan kemampuan dan requirement piranti lunak, sistem operasi, jaringan, dan sebagainya. Petakan komponen ke dalam node. 11. Setelah tahap-tahap diatas baru dapat dimulai membangun sistem. Ada dua pendekatan yang dapat digunakan : a. Pendekatan use case, dengan meng-assign setiap use case kepada tim pengembang tertentu untuk mengembangkan unit code yang lengkap dengan tes. b. Pendekatan komponen, yaitu meng-assign setiap komponen kepada tim pengembang tertentu. 12. Apabila tahap-tahap diatas telah terpenuhi maka diperlukan adanya uji modul dan uji integrasi serta perbaikan model beserta code-nya. Model harus selalu sesuai dengan code yang aktual. 2.4.2 XAMPP XAMPP merupakan paket PHP yang berbasis open source yang dikembangkan oleh sebuah komunitas open source. XAMPP merupakan suatau perogram yang didalamnya terdapat beberapa paket program yang sudah dapat 2-12 http://digilib.mercubuana.ac.id/ langsung dijalankan yaitu Apache, MYSQL, PHP, File Zila, Phpmyadmin dan lain-lain. XAMPP adalah perangkat lunak bebas, yang mendukung banyak sistem operasi, yang merupakan kompilasi dari beberapa program. Menurut (Aditya, 2011) , fungsi dari XAMPP adalah sebagai server yang berdiri sendiri (localhost), yang terdiri atas program Apache HTTP Server, MySQL database, dan penerjemah bahasa yang ditulis dengan bahasa pemrograman PHP dan Perl. Nama XAMPP 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 melayani tampilan halaman web yang dinamis. 2.4.3 Web Service Menurut (Hamdani, 2011), web service adalah sistem software yang dirancang untuk mendukung interopabilitas mesin ke mesin yang dapat berinteraksi melalui jaringa. Web service memiliki antarmuka yang dijelaskan dalam format mesin-processable (khusus WSDL). Sistem lain yang berinteraksi dengan web service dalam cara yang ditentukan oleh deskripsi dengan menggunakan pesan SOAP, biasanya disampaikan dengan menggunakan HTTP serialisasi XML yang hubungannya dengan web lainnya yang terkait standar. Menurut (Salahuddin, 2010), web service merupakan suatu sistem yang menyediakan pelayanan yang dibutuhkan oleh klien. Klien dari web service tidak hanya berupa aplikasi web, tetapi juga bisa sebuah aplikasi enterprise. Jadi web service tidak sama dengan web server, bahkan sebuah aplikasi web pada web server dapat menjadi klien dari web service. Pelayanan yang diberikan web service bisa berupa XML yang berisi data yang dibutuhkan klien. Web service tidak menampilkan sebuah halamam web, tapi hanya memberikan palayanan permintaan klien yang memiliki izin akses terhadap pelayanan yang diminta. Jadi kesimpulannya, web service merupakan suatu penghubung antara server ke client dengan menggunakan jaringan. Dibagian klien tidak hanya dapat berupa web, aplikasi juga bisa menerima atau berbagi informasi ke bagian server. Dengan 2-13 http://digilib.mercubuana.ac.id/ menggunakan web service dapat memberikan pelayanan yang dibutuhkan oleh permintaan klien. 2.4.4 Android Menurut (Kasman, 2013), android merupakan sebuah sistem operasi telepon seluler dan komputer tablet layar sentuh (touchscreen) yang berbasis Linux. Namun seiring berkembangnya android berubah menjadi platform yang begitu cepat dalam melakukan inovasi. Platform android terdiri dari sistem operbasi berbasis Linux, sebuah GUI (Graphic User Interface), web browser dan aplikasi end-user yang dapat di-download dan juga para pengembang dapat dengan leluasa berkarya serta menciptakan aplikasi yang terbaik dan terbuka untuk digunakan oleh berbagai macam perangkat. Dalam pemrogaman Java, ketika menuliskan kode program maka di kompilasi program tersebut dengan menggunakan Java Compiler dan di hasilkan Java Byte Code. Setelah itu Java Virtual Mechine yang akan menjalankan Java Byte Code tersebut. Namun, berbeda dengan Android, Di Android, setelah menuliskan kode program maka akan dikompilasi menggunakan Java Compiler yang sama, tetapi setelah itu masih perlu dikompilasi ulang dengan menggunakan Dalvik Compiler dan Dalvik Byte Code. Dalvik byte code nantinya akan di eksekusi dalam Dalvik Virtual Mechine. 2.4.5 Android Software Development Kit (SDK) Menurut (Safaat, 2012) , Android Software Development Kit (SDK) adalah tools API(Application Programing Interface) yang diperlukan untuk mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Android merupaka bagian perangkat lunak untuk ponsel yang meliputi sistem operasi, middleware dan aplikasi kunci yang di-release oleh Google. Saat ini disediakan Android SDK sebgai alat bantu dan API untuk mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Sebagai platform aplikasi yang netral, Android memberi kesempatan untuk membuat aplikasi yang dibutuhkan yang bukan merupakan aplikasi bawaan telepon genggam. Beberapa fitur android yang paling penting adalah: 2-14 http://digilib.mercubuana.ac.id/ 1. Framework. Aplikasi yang mendukung penggantian komponen dan reusable. 2. Mesin Virtual Dalvik dioptimalkan untuk perangkat mobile. 3. Integrated browser berdasarkan engine open source Webkit. 4. Grafis yang dioptimalkan dan didukung oleh libraries grafis 2D, grafis 3D berdasarkan spesifikasi OpenGL ES 1.0 (Hardware akselerasi optional). 5. SQLite untuk menyimpan data. 6. Media Support yang mendukung audio, video, dan gambar (MPEG4,H264, MP3, AAC,AMR, JPG, PNG, GIF), GSM Telephony. (tergantung harware) 7. Bluetooth, EDGE, 3G dan Wifi. (tergantung hardware) 8. Kamera, GPS, kompas dan accelerometer. (tergantung hardware). 2.4.6 Java Menurut (Salahuddin, 2010) Java adalah nama sekumpulan teknologi untuk membuat dan menjalankan perangkat lunak pada komputer yang berdiri sendiri ataupun pada lingkungan jaringan, Java merupakan bahasa pemrograman yang beriorientasi objek dan dapat dijalankan pada berbagai platform sistem operasi. Perkembangan Java tidak hanya terfokus pada satu sistem operasi, tetapi dikembangkan untuk berbagai sistem operasi dan bersifat open source. Sebagai sebuah bahasa pemrograman, java dapat membuat seluruh bentuk aplikasi, dekstop, website dan lainnya, sebagaimana dibuat dengan menggunakan bahasa pemrograman konvensional yang lain. Java dibuat pada tahu 1991 oleh sekelompok insiyur Sun dipimpin Patrick Naughton dan James Gosling. Proyek pembuatan pemrograman ini diberi nama proyek green. Karena orang-orang diperoyek 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 "Otak", namun dikarenakan nama Oak sendiri merupakan nama bahasa pemrograman yang sudah ada sebelumnya, kemudian digantikan dengan Java. Nama Java sendiri terinspirasi pada saat mereka menikmati secangkir kopi di sebuah kedai kopi yang kemudian tidak sengaja salah satu dari mereka menyebutkan kata Java yang mengandung arti biji kopi. Untuk membuat aplikasi berbasis java, diperlukan Java Development Kit (JDK) dan Java Runtime Environment (JRE). JDK ini berguna saat anda menulis 2-15 http://digilib.mercubuana.ac.id/ kode program, sedangkan JRE ini yang memungkinkan sebuah programn java dapat berjalan di mesin. JRE mengeksekusi binary-binary dari class-class dan mengirimnya ke Java Virtual Machine (JVM) untuk diproses lagi ke prosesor. 2-16 http://digilib.mercubuana.ac.id/