BAB II LANDASAN TEORI Bab ini menjelaskan tentang rangkaian konsep dan teori yang mendukung perancangan aplikasi yang akan dibangun. Adapun teori tersebut adalah : 2.1 DEFINISI TOKO ONLINE Definisi toko online jika di lihat dari suku katanya yaitu terdiri 2 kata “toko” dan kata “online”. Menurut wikipedia bahwa toko adalah Sebuah tempat tertutup yang di dalamnya terjadi kegiatan perdagangan dengan jenis benda atau barang yang khusus, misalnya toko buku, toko buah, dan sebagainya. Jika menurut Kamus Besar Bahasa Indonesia adalah toko berarti sebuah tempat permanen untuk menjual barang-barang (baju, makanan dan sebagainya). Sedangkan dalam dunia IT mendefinisikan online sebagai terhubung, terkoneksi, aktif dan siap untuk operasi, dapat berkomunikasi dengan atau dikontrol oleh komputer. Selain itu bisa juga menurut Kamus Besar Bahasa Indonesia online artinya dalam jaringan atau disingkat daring. Kata online itu berasal dari kata on dan line, on artinya hidup, line artinya saluran. Menurut wikipedia Pengertian Online adalah keadaan komputer yang terkoneksi/ terhubung ke jaringan Internet. Sehingga apabila komputer kita online maka dapat mengakses internet/ browsing, mencari informasi-informasi di internet. Jadi jika di gabungkan, toko online diartikan sebagai sebuah tempat yang menjual barang dan jasa melalui media Internet. Melalui penjualan lewat Internet seorang pembeli bisa melihat terlebih dahulu barang dan jasa yang hendak ia beli melalui web yang dipromosikan oleh penjual. Toko online ini merupakan bentuk komunikasi baru yang tidak memerlukan komunikasi tatap muka secara langsung, melainkan dapat dilakukan secara terpisah dari dan ke seluruh dunia melalui media notebook, komputer, ataupun handphone yang tersambung dengan layanan akses Internet. 4 http://digilib.mercubuana.ac.id/ 5 Toko online adalah salah satu bentuk perdagangan barang atau jasa yang digunakan untuk kegiatan transaksi penjual ke penjual ataupun penjual ke konsumen. 2.2 DEFINISI HOME INDUSTRI 2.2.1 Pengertian Industri Industri adalah suatu usaha atau kegiatan pengolahan bahan mentah atau barang setengah jadi menjadi barang jadi yang memiliki nilai tambah untuk mendapatkan keuntungan. 2.2.2 Pengertian Home Industri Home berarti rumah, tempat tinggal, ataupun kampung halaman. Sedang Industry, dapat diartikan sebagai kerajinan, usaha produk barang dan ataupun perusahaan. Singkatnya, Home Industry (atau biasanya ditulis/dieja dengan “Home Industri”) adalah rumah usaha produk barang atau juga perusahaan kecil. Dikatakan sebagai perusahaan kecil karena jenis kegiatan ekonomi ini dipusatkan di rumah. 2.3 DEFINISI SERVER DAN CLIENT Server dalam arti umum adalah pelayan / penyedia / yang melayani. Jadi tugas server adalah menyediakan data dan melayani permintaan dari Client. Sedangkan Client adalah yang menerima layanan yang telah disediakan oleh Server. Dari pengertian tersebut, maka dalam penulisan tugas akhir ini yang didefinisikan sebagai Server adalah Rumah Industri XYZ selaku penyedia data produk sedangkan yang didefinisikan sebagai Client adalah pengguna aplikasi took online berbasis android. Gambar 2.1: Gambaran Client Server http://digilib.mercubuana.ac.id/ 6 2.4 PENGERTIAN BASIS DATA Basis data adalah kumpulan data yang saling berelasi. Data sendiri merupakan fakta mengenai obyek, orang, dan lain-lain. Data dinyatakan dengan nilai (angka, deretan karakter, atau simbol). Basis data dapat didefinisikan dalam berbagai sudut pandang sebagai berikut: 1. Himpunan kelompok data yang saling berhubungan yang diorganisasi sedemikian rupa sehingga kelak dapat dimanfaatkan dengan cepat dan mudah. 2. Kumpulan data yang saling berhubungan yang disimpan secara bersamaan sedemikian rupa tanpa pengulangan (redudancy) yang tidak perlu, untuk memenuhi kebutuhan. 3. Kumpulan file/table/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronik. 2.4.1 RDBMS (Relational Database Management System) RDBMS atau Relational Database Management System merupakan salah satu jenis DBMS (Database Management System) yang mendukung adanya relationship atau hubungan antar table. Disamping RDBMS, terdapat jenis DBMS lain, misalnya Hierarchy DBMS, Object Oreinted DBMS, dsb. (Ema Utami dan Sukrisno, 2005:12) 2.4.2 Structured Query Language (SQL) Dalam pemrograman database, salah satu bahasa yang harus kita kuasai adalah SQL. SQL merupakan singkatan dari Structured Query Language. Ada orang yang menyebut SQL dengan istilah sequel, namun ada juga yang menyebut SQL saja. Pada dasarnya SQL merupakan Bahasa komputer standar yang ditetapkan oleh ANSI (American National Standart Institute) untuk mengakses dan memanipulasi system database. SQL bisa bekerja dengan baik pada program-program database seperti MS. Access, DB2, Infomix, MS SQL Server, Oracle, Sybase, dan lain sebagainya. Versi- http://digilib.mercubuana.ac.id/ 7 versi SQL sangat banyak tetapi aturan yang dipakai pada setiap sintaksnya tetap sama. Sebuah database dapat berisi satu atau lebih table dimana setiap table memiliki minimal satu kolom/field atau lebih dan memiliki baris/record. (Ema Utami dan Sukrisno, 2005:13) 2.5 PENGERTIAN ANDROID Android adalah system informasi untuk telepon seluler yang berbasis Linux. Android menyediakan platform terbuka bagi para pengembang buat menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti gerak. Awalnya, Google Inc. membeli Android Inc., pendatang baru yang membuat peranti lunak untuk ponsel. Kemundian untuk mengembangkan android, dibentuklah Open Handset Alliance , konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, TMobile, dan Nvidia. Pada saat perilisan perdana Android, 5 November 2007, Android bersama Open Handset Alliance menyatakan mendukung pengembangan standar terbuka pada perangkat seluler. Di pihak lain, Gogle merilis kode-kode dibawah lisensi Apache, sebuah lisensi perangkat lunak dan standar terbuka perangkat seluler. Di dunia ini terdapat dua jenis distributor system operasi Android. Pertama yang mendapat dukungan Google atau Google Mail Service (GMS) dan kedua adalah yang benar-benar distribusinya tanpa dukungan langsung Google atau dikenal sebagai Open Handset Distribution (OHD). (Akhmad Dharna Kasman, 2015:2) No. Versi OS Android No. Versi OS Andorid 1 Android 1.0 12 Android 3.1 Honeycomb 2 Android 1.1 13 Android 3.2 Honeycomb 3 Android 1.5 Cupcake 14 Android 4.0–4.0.2 Ice Cream Sandwich 4 Android 1.6 Donut 15 Android 4.0.3–4.0.4 Ice Cream http://digilib.mercubuana.ac.id/ 8 Versi OS Android No. No. Versi OS Andorid Sandwich 5 Android 2.0 Eclair 16 Android 4.1 Jelly Bean 6 Android 2.0.1 Eclair 17 Android 4.2 Jelly Bean 7 Android 2.1 Eclair 18 Android 4.3 Jelly Bean 8 Android 2.2–2.2.3 Froyo 19 Android 4.4 KitKat 9 Android 2.3–2.3.2 Gingerbread 20 Android 5.0 Lollipop 10 Android 2.3.3–2.3.7 Gingerbread 21 Android 6.0 Marshmallow 11 Android 3.0 Honeycomb Table 2.1: Versi-versi OS Android 2.5.1 Android Development Tools (ADT) Android Development Tools (ADT) adalah plugin yang didesain untuk IDE Eclipse yang memberikan kita kemudahan dalam mengembangkan aplikasi android dengan menggunakan IDE Eclipse. Dengan menggunakan ADT untuk Eclipse akan memudahkan kita dalam membuat aplikasi project android, membuat GUI aplikasi, dan menambakan komponen-kompenen yang lainnya, begitu juga kita dapat melakukan running aplikasi menggunakan Android SDK melalui Eclipse. Dengan ADT juga kita dapat melakukan pembuatan package android (.apk) yang digunakan untuk distribusi aplikasi android yang kita rancang. Mengembangkan aplikasi android dengan menggunakan ADT di eclipse sangat dianjurkan dan sangat mudah untuk memulai mengembangkan aplikasi android. Semakin tinggi platform android yang kita gunakan, dianjurkan menggunakan ADT yang lebih terbaru, karena biasanya munculnya platform http://digilib.mercubuana.ac.id/ 9 baru diikuti oleh munculnya versi ADT yang terbaru. Untuk melakukan instalasi ADT di-elipse dapat dilakukan secara on-line maupun offline. Developing Android di eclipse sangat direkomendasikan karena banyak kemudahan – kemudahan sebagai tools terintegrasi seperti custom XML editor, debuging dan banyak hal – hal lain yang mempercepat pembuatan aplikasi. 2.5.2 Software Development Kit (SDK) Android-SDK merupakan tools bagi para programmer yang ingin mengembangkan aplikasi berbasis google android. Android SDK mencakup seperangkat alat pengembangan yang komprehensif. Android SDK terdiri dari debugger, libraries,handset emulator,dokumentasi, contoh kode, dan tutorial. Saat ini Android sudah mendukung arsitektur x86 pada Linux (distribusi Linux apapun untuk desktopmodern), Mac OS X 10.4.8 atau lebih, Windows XP atau Vista. Persyaratan mencakup JDK, Apache Ant dan Python 2.2 atau yang lebih baru. IDE yang didukung secara resmi adalah Eclipse 3.2 atau lebih dengan menggunakan pluginAndroid Development Tools (ADT), dengan ini pengembang dapat menggunakan teks editor untuk mengedit file Java dan XML serta menggunakan peralatan command line untuk menciptakan, membangun, melakukan debug aplikasi Android dan pengendalian perangkat Android. 2.5.3 Arsitektur Android Google mengibaratkan Android sebagai sebuah tumpukan software. Setiap lapisan dari tumpukan ini menghimpun beberapa program yang mendukung fungsi-fungsi spesifik dari system operasi. Berikut ini susunan dari lapisan-lapisan tersebut jika dilihat dari lapisan dasar hingga lapisan teratas. http://digilib.mercubuana.ac.id/ 10 APPLICATIONS Home Contacts Phone … Browser APLICATION FRAMEWORK Activity Manager Package Manager Window Manager Resource Manager Telephone Manager View System Content Providers Location Manager LIBRARIES Notification Manager ANDROID RUNTIME Surface Manager Media Framework SQLite Core Libraries OpenGL | ES Free Type WebKit Dalvik Virtual Machine SGL SSL libc LINUX KERNEL Display Driver Camera Driver Flash Memory Driver Binder (IPC) Driver Keypad Driver Wifi Driver Audio Drivers Power Management Gambar 2.2: Lapisan Arsitektur Aplikasi Android a) Linux Kernel Tumpukan paling bawah pada arsitektur Android ini adalah kernel. Google menggunakan kernel Linux versi 2.6 untuk membangun system Android, yang mencakup memory management, security setting, power management, dan beberapa driver hardware. Kernel berperan sebagai abstraction layer antara hardware dan keseluruhan software. Sebagai contoh, HTC GI dilengkapi dengan kamera yang memungkinkan penggunak mengirimkan perintah ke hardware kamera. b) Android Runtime Lapisan setelah Kernel Linux adalah Android Runtime. Android Runtime ini berisi Core Libraries dan Dalvik Virtual Machine. Core Libraries mencakup serangkaian inti library Java, artinya Android menyertakan satu set library-library dasar yang menyediakan sebagian besar fungsi-fungsi yang ada pada library-library dasar Bahasa pemrograman Java. Dalvik adalah Java Virtual Machine yang memberi kekuatan pada system Android. Dalvik VM ini dioptimalkan untuk telepon seluler. http://digilib.mercubuana.ac.id/ 11 c) Libraries Bertempat di level yang sama dengan Android Runtime adalah Libraries. Android menyertakan satu set library-library dalam Bahasa C/C++ yang digunakan oleh berbagai komponen yang ada pada system Android. Berikut beberapa core library tersebut: System C Library Diturunkan dari implementasi standard C system library (libc) milik BSD, diptimasi untuk piranti embedded berbasis Linux. Media Libraries Berdasarkan PacketVideo’s OpenCORE; library-library ini mendukung playback dan recording dari berbagai format audio dan video popular meliputi MPEG4, MP3, JPG dan PNG. Surface Manager Mengatur akses pada display dan lapisan composites 2D dan 3D graphic dari berbagai aplikasi. LibWebCore Web browser engine modern yang mensupport Android browser maupun embeddedable web view. SGL The underlying 2D graphic engine 3D Libraries Implementasi berdasarkan OpenGL ES 1.0 APIs; library ini menggunakan hardware 3D acceleration dan highly optimized 3D software rasterizer. FreeType Bitmap dan vector font rendering SQLite Relational database engine yang powerful dan ringan tersedia untuk semua aplikasi. d) Application Framework Lapisan selanjutnya adalah Application Framework yang mencakup program untuk mengatur fungsi-fungsi dasar smartphone. Application http://digilib.mercubuana.ac.id/ 12 Framework adalah serangkaian tool dasar seperti alokasi resource smartphone, aplikasi telepon, pergantian antar proses atau program, dan pelacakan lokasi fisik telepon. Di dalam semua aplikasi terdapat service dan system yang meliputi: Satu set Views yang dapat digunakan untuk membangun aplikasi meliputi lists, grid, text boxes, buttons, dan embeddable web browser. Content Providers yang memungkinkan aplikasi untuk mengakses data dari aplikasi lain (misalnya Contacts), atau untuk membagi data yang dimilikinya. Resource Manager, menyediakan akses ke non-code resources misalnya localized strings, graphics, dan layout files. Activity Manager yang memanage life cycle dari aplikasi dan menyediakan common navigation beckstack. e) Application Di lapisan teratas adalah aplikasi itu sendiri. Di lapisan inilah dapat ditemukan fungsi-fungsi dasar smartphone seperti menelepon dan mengirim pesan singkat, menjalankan web browser, mengakses daftar kontak, dan lain-lain. 2.6 UNIFIED MODELLING LANGUAGE (UML) 2.6.1 Definisi UML (Unified Modelling Language) Unified Modelling Language adalah bahasa standar yang digunakan untuk menjelaskan dan memvisualisasikan artifak dali proses analisis dan desain berorientasi obyek. UML menyediakan standar pada notasi dan diagram yang bisa digunakan untuk memodelkan suatu system, UML menjasi bahasaya yang bisa digunakan untuk berkomunikasi dalam perspektif obyek antar user dan developer, antara developer dengan developer, antara developer analis dengan developer desain, antara developer desain dengan developer pemrograman. (Julius Hermawan, 2004:7) http://digilib.mercubuana.ac.id/ 13 2.6.2 Definisi Diagram-diagram UML (Unified Modeling Language) Berikut ini adalah definisi mengenai 4 diagram UML yaitu: 1) Use Case Diagram Use case menjelaskan urutan kegiatan yang dilakukan actor dan system untuk mencapai suatu tujuan tertentu. Walaupun menjelaskan kegiatan namun use case hanya menjelaskan apa yang dilakukan oleh actor dan system, bukan bagaimana actor dan system melakukan kegiatan tersebut. No. 1. Simbol Keterangan Aktor Menunjukkan user yang akan menggunakan sistem. Usecase 2. Menunjukkan proses yang terjadi pada system. Notasi Interaction Menunjukkan hubungan antara aktor 3. dengan dan use case atau antar use case. Table 2.2: Tabel Daftar Simbol Use Case Diagram Gambar 2.3: Contoh Use Case Diagram http://digilib.mercubuana.ac.id/ 14 2) Class Diagram Class diagram menunjukan hubungan antar class dalam system yang sedang dibangun dan bagaimana mereka saling berkolaborasi untuk mencapai suatu tujuan. No. Simbol Keterangan Class Menunjukkan class-class yang 1. dibangun berdasarkan proses-proses sebelumnya (diagram sequence). Unidirectional Association 2. Menunjukkan hubungan antara class pada diagram Class. Table 2.3: Tabel Daftar Simbol Class Diagram Gambar 2.4: Contoh Class Diagram http://digilib.mercubuana.ac.id/ 15 3) Sequence Diagram Sequence diagram menjelaskan secara detail urutan proses yang dilakukan dalam system untuk mencapai tujuan dari use case. No. 1. Simbol Keterangan Objek Menunjukkan objek yang yang terdapat di diagram sequence Pesan ke objek sendiri 2. Menunjukkan pesan yang diproses pada objek itu sendiri Pesan objek 3. Menunjukkan pesan yang disampaikan ke objek lain dalam diagram sequence Table 2.4: Tabel Daftar Simbol Sequence Diagram Gambar 2.5: Contoh Sequence Diagram http://digilib.mercubuana.ac.id/ 16 4) Activity Diagram Activity diagram atau diagram aktivitas yaitu salah satu jenis diagram pada UML yang dapat memodelkan proses-proses apa saja yang terjadi pada sistem. No. 1. Simbol Keterangan Kondisi Awal Menunjukkan awal dari suatu diagram aktivitas Kondisi Akhir 2. Menunjukkan akhir dari suatu diagram aktivitas Kondisi transisi 3. Menunjukkan kondisi transisi antar aktivitas Swimlane 4. Menunjukkan aktor dari diagram aktivitas yang dibuat Aktivitas 5. Menunjukkan aktivitas-aktivitas yang terdapat pada diagram aktivitas Pengecekan kondisi 6. Menunjukkan pengecekan terhadap suatu kondisi Table 2.5: Tabel Daftar Simbol Activity Diagram http://digilib.mercubuana.ac.id/ 17 Gambar 2.6: Contoh Activity Diagram 2.6.3 Relasi (Relationship) Ada 4 (empat) macam relationship dalam Unified Modeling Language (UML) yaitu: 1). Pengklasifikasian (Classifier) Pengklasifikasi (classifier) pada prinsipnya merupakan konsep diskret dalam model yang memiliki identitas (identity), state, perilaku (behavior), serta relasi dengan mengklasifikasi yang lainnya (relationship). 2). Asosiasi Asosiasi menggambarkan nafigasi antar class, berapa banyak obyek yang berhubungan, dan apakah suatu class menjadi bagian dari class lainnya. 3). Generalisasi Menunjukkan hubungan antara elmen yang lebih umum ke elemen yang lebih spesifik. 4). Realisasi Menunjukkan hubungan bahwa elemen yang ada di bagian tanpa panah akan merealisasikan apa yang dinyatakan oleh elemen yang ada di bagian dengan panah. http://digilib.mercubuana.ac.id/ 18 Dari uraian tersebut diatas dapat disimpulkan bahwa Unified Modelling Langaunge (UML) bukanlah suatu proses melainkan bahasa pemodelan secara grafis untuk menspesifikansiakn, menvisualisasikan, membangun, dan mendokumentasikan seluruh artifak system perangkat lunak. Manfaat yang diperoleh dari penggunaan UML: 1. Tinjauan bagaimana arsitektur sistem secara keseluruhan 2. Penelaahan bagaimana objek – objek dalam sistem mengirim pesan dan saling berinteraksi satu sama lain. 3. Menguji apakah sistem perangkat lunak sudah berfungsi seperti seharusnya 4. Dokumentasi sistem perangkat lunak untuk keperluan – keperluan tertentu di masa yang akan datang. 2.7 REKAYASA PERANGKAT LUNAK 2.7.1 Pengertian RPL Menurut Wikipedia : Rekayasa perangkat lunak adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembanganan perangkat lunak dan manajemen kualitas. Menurut IEEE Computer Society : Rekayasa perangkat lunak sebagai penerapan suatu pendekatan yang sistematis, disiplin dan terkuantifikasi atas pengembangan, penggunaan dan pemeliharaan perangkat lunak, serta studi atas pendekatan-pendekatan ini, yaitu penerapan pendekatan engineering atas perangkat lunak. Rekayasa Perangkat Lunak adalah pengubahan perangkat lunak itu sendiri guna mengembangkan, memelihara, dan membangun kembali dengan menggunakan prinsip reakayasa untuk menghasilkan perangkat lunak yang dapat bekerja lebih efisien dan efektif untuk pengguna. http://digilib.mercubuana.ac.id/ 19 2.7.2 Tujuan Rekayasa Perangkat Lunak Secara lebih khusus kita dapat menyatakan tujuan dan Rekaya Perangkat Lunak ini adalah: 1. Memperoleh biaya produksi perangkat lunak yang rendah. 2. Menghasilkan pereangkat lunak yang kinerjanya tinggi, andal dan tepat waktu 3. Menghasilkan perangkat lunak yang dapat bekerja pada berbagai jenis platform 4. Menghasilkan perangkat lunak yang biaya perawatannya rendah Kriteria Dalam Merekayasa Perangkat Lunak: 1. Dapat terus dirawat dan dipelihara (maintainability) 2. Dapat mengikuti perkembangan teknologi (dependability) 3. Dapat mengikuti keinginan pengguna (robust). 4. Efektif dan efisien dalam menggunakan energi dan penggunaannya. 5. Dapat memenuhi kebutuhan yang diinginkan (usability). 2.8 METODE WATERFALL Dalam perancangan aplikasi pada tugas akhir ini penulis menggunakan metode Waterfall. Metode Waterfall adalah metode yang menyarankan sebuah pendekatan yang sistematis dan sekuensial melalui tahapan-tahapan yang ada pada SDLC untuk membangun sebuah perangkat lunak. Gambar berikut menjelaskan bahwa metode Waterfall menekankan pada sebuah keterurutan dalam proses pengembangan perangkat lunak. Metode ini adalah sebuah metode yang tepat untuk membangun sebuah perangkat lunak yang tidak terlalu besar dan sumber daya manusia yang terlibat dalam jumlah yang terbatas. http://digilib.mercubuana.ac.id/ 20 Requirments definition System and Software design Implementation And unit testing Integration And system testing Operation and Maintenance Gambar 2.7 : Metode Waterfall Berikut adalah penjelasan dari tahap – tahap yang dilakukan dalam metode waterfall: 1) Tahap analisis dan definisi persyaratan. Pelayanan, batasan, dan tujuan sistem ditentukan melalui konsultasi dengan user sistem. Persyaratan ini kemudian didefinisikan secara rinci dan berfungsi sebagai spesifikasi sistem. 2) Tahap perancangan sistem dan perangkat lunak. sistem membagi perangkat persyaratan dalam sistem Proses perangkat perancangan keras atau lunak. Kegiatan ini menentukan arsitektur sistem secara keseluruhan. Perancangan perangkat lunak melibatkan identifikasi dan deskripsi abstraksi sistem perangkat lunak yang mendasar dan hubungan – hubungannya. 3) Tahap implementasi dan perancangan perangkat lunak program atau unit program. pengujian unit. direalisasikan Pengujian unit Pada tahap sebagai melibatkan ini, serangkaian verifikasi bahwa setiap unit telah memenuhi spesifikasinya. 4) Tahap integrasi dan pengujian sistem. Unit program atau program individual diintegrasikan dan diuji sebagai sistem yang lengkap untuk menjamin bahwa persyaratan sistem telah dipenuhi. Setelah pengujian sistem, perangkat lunak dikirim kepada pelanggan. http://digilib.mercubuana.ac.id/ 21 5) Tahap operasi dan pemeliharaan. Biasanya (walaupun tidak seharusnya), ini merupakan fase siklus hidup yang paling lama. Sistem diinstaldan dipakai. Pemeliharaan mencakup koreksi dari berbagai error yang tidak ditemukan pada tahap – tahap terdahulu, perbaikan atas implementasi unit sistem dan pengembangan pelayanan sistem, sementara persyaratan – persyaratan baru ditambahkan. 2.9 JAVA 2.9.1 Definisi Java Java merupakan perangkat lunak produksi Sun Microsystem Inc. Java merupakan perangkat lunak untuk pemrograman beberapa tujuan (multi purpose), multiplatform (dapat berjalan di beberapa sistem operasi), mudah dipelajari dan powerful. Aplikasi – aplikasi yang dapat dibuat dengan java, meliputi web programming (pemrograman web), desktop programming (pemrograman desktop), mobile programming (pemrograman mobile/handphone). Perangkat lunak java sekarang diakuisisi oleh Oracle Inc. (Ir. Yuniar Supardi, 2015:1) 2.9.2 Edisi Java Saat pertama kali rilis, Java disebut JDK (Java Development Kit), hingga JDK Versi 2 atau dikenal dengan java 2, java dibagi menjadi 3 edisi yaitu : 1) J2SE (Java 2 Standart Edition) Merupakan edisi atau teknologi untuk pemrograman desktop atau aplikasi layer (console). J2SE merupakan perangkat lunak dasar yang harus diinstall sebelum memakai J2EE dan J2ME. 2) J2ME (Java 2 Micro Edition) Merupakan edisi atau teknologi untuk pemrograman mobile dan peralatan kecil (small device) 3) J2EE (Java 2 Enterprise Edition) Merupakan edisi atau teknologi untuk pemrograman enterprise, seperti pemrograman database, JSP, Beans dan lain – lain. http://digilib.mercubuana.ac.id/ http://digilib.mercubuana.ac.id/ http://digilib.mercubuana.ac.id/ 24 Contoh code sederhana HTML: Gambar 2.10 : Contoh Penggunaan Code Sederhana HTML Jika dijalankan menggunakan browser, maka hasilnya sebagai berikut: Gambar 2.11 : Contoh Hasil Penggunaan Code Sederhana HTML 2.12 CSS (Cascading Style Sheet) CSS (Cascading Style Sheet) merupakan lembar kode yang digunakan untuk mengatur elemen – element Hyper Text Markup Languange (HTML). Hal ini dibuat dengan tujuan agar kode HTML hanya memusatkan perhatian pada konten atau isi halaman web, sedangkan urusan penampilan data/informasi menjadi urusan CSS. Walaupun CSS sering kali diletakkan di dokumen HTML, kode CSS bukanlah bagian dari dokumen HTML. CSS merupakan bahasa tersendiri yang dirancang untuk memperkaya tampilan informasi di halaman web. (Abdul Kadir, 2015:2) http://digilib.mercubuana.ac.id/ 25 Contoh code sederhana CSS: Gambar 2.12 : Contoh Penggunaan Code Sederhana CSS Jika dijalankan menggunakan browser, maka hasilnya sebagai berikut: Gambar 2.13 : Contoh Hasil Penggunaan Code Sederhana CSS 2.13 JAVASCRIPT JavaScript adalah bahasa skrip (scripting language) yang secara luas banyak digunakan untuk pengembangan aplikasi web disisi client. Nama asli JavaScript awalnya adalah “ECMAScript”, yang dikembangkan dan dimaintain oleh ECMA http://digilib.mercubuana.ac.id/ 26 Organisation.ECMA-262 adalah standar pertama dari JavaScript, dimana standarisasinya berdasarkan JavaScript (Nestscape) dan Jscript (Microsoft). Bahasa JavaScript pertama kali dikembangkan oleh Brenden Eich di Netscape (Navigator 2.0), dan telah digunakan di semua browser Netscape dan Microsoft sejak tahun 1996. Berikut definisi – definisi yang menjelaskan tentang JavaScript : 1) JavaScript didesain untuk membuat halaman web HTML menjadi inteaktif 2) JavaScript adalah scripting language yang berjalan di sisi client (browser) 3) JavaScript bisa ditulis menyatu dengan tag HTML 4) JavaScript adalah interpreted language (artinya skrip langsung dieksekusi tanpa proses kompilasi) 5) Setiap orang dapat menggunakan JavaScript tanpa membayar lisensi. Saat ini JavaScript telah menjadi scripting language yang populer di internet dan dapat berjalan di hampir semua browser. (Abdul Kadir. 2015:77) Contoh code sederhana Javascript: Gambar 2.14 : Contoh Penggunaan Code Sederhana Javascript http://digilib.mercubuana.ac.id/ 27 Gambar 2.15 : Contoh Hasil Penggunaan Code Sederhana Javascript 2.14 PHP PHP adalah bahasa pemrograman script server-side yang didesain untuk pengembangan web. PHP di kembangkan pada tahun 1995 oleh Rasmus Lerdorf, dan sekarang dikelola oleh The PHP Group. Situs resmi PHP beralamat di http://www.php.net. PHP disebut bahasa pemrograman server side karena PHP diproses pada komputer server. Hal ini berbeda dibandingkan dengan bahasa pemrograman client-side seperti JavaScript yang diproses pada web browser (client). Pada awalnya PHP merupakan singkatan dari Personal Home Page. Sesuai dengan namanya, PHP digunakan untuk membuat website pribadi. Dalam beberapa tahun perkembangannya, PHP menjelma menjadi bahasa pemrograman web yang powerful dan tidak hanya digunakan untuk membuat halaman web sederhana, tetapi juga website populer yang digunakan oleh jutaan orang seperti wikipedia, wordpress, joomla, dll. Saat ini PHP adalah singkatan dari PHP: Hypertext Preprocessor, sebuah kepanjangan rekursif, yakni permainan kata dimana kepanjangannya terdiri dari singkatan itu sendiri: PHP: Hypertext Preprocessor. http://digilib.mercubuana.ac.id/ 28 PHP dapat digunakan dengan gratis (free) dan bersifat Open Source. PHP dirilis dalam lisensi PHP License, sedikit berbeda dengan lisensi GNU General Public License (GPL) yang biasa digunakan untuk proyek Open Source. Kemudahan dan kepopuleran PHP sudah menjadi standar bagi programmer web di seluruh dunia. Menurut Wikipedia pada februari 2014, sekitar 82% dari web server di dunia menggunakan PHP. PHP juga menjadi dasar dari aplikasi CMS (Content Management System) populer seperti Drupal, dan WordPress. Contoh sederhana code php: Gambar 2.16 : Contoh Penggunaan Code Sederhana Php Jika dijalankan menggunakan browser, maka hasilnya sebagai berikut: Gambar 2.17 : Contoh Penggunaan Code Sederhana Php http://digilib.mercubuana.ac.id/ Joomla, 29 2.15 XML XML adalah singkatan dari eXtensible Markup Language. XML adalah salah satu penemuan penting di internet. Singkatnya, XML merupakan sebuah bahasa yang fungsi utamanya adalah sebagai media penyimpanan data. XML didesain untuk mampu menyimpan data secara ringkas dan mudah diatur. Kata kunci utama XML adalah data. Data adalah suatu yang jika diolah bisa memberikan informasi. XML dinuat oleh W3C, yang juga merupakan penyusun spesifikasi HTML. Berikut merupakan salah satu contoh dokumen XML sederhana: <?xml version=”1.0” encoding=”UTF-8”?> <dokumen> <judul> Contoh dokumen XML </judul> <pesan> Halo, ini adalah contoh dokumen XML </pesan> </dokumen> 2.16 JSON JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. JSON merupakan format teks yang tidak bergantung pada Bahasa pemrograman apapun karena menggunakan gaya bahasa yang umum oleh programmer. JSON lebih unggul dari XML, mulai dari kecepatan, penulisan yang lebih mudah dan coding untuk parsing yang lebih ringkas dan sederhana. Oleh karena sifat-sifat tersebut, menjadikan JSON deal ebagai Bahasa pertukaran data. Berikut merupakan salah satu contoh dokumen JSON sederhana: {"employees":[ {"firstName":"John", "lastName":"Doe"}, {"firstName":"Anna", "lastName":"Smith"}, {"firstName":"Peter", "lastName":"Jones"} ]} http://digilib.mercubuana.ac.id/ 30 2.17 XAMPP XAMPP merupakan software bundle atau perangkat lunak dengan paket aplikasi didalamnya. Dalam XAMPP terdiri dari server apache dan server MySQL yang masing-masing dapat dikontrol dengan aplikasi Apache Friends dan PhpMyAdmin. 2.18 ECLIPSE Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya populer adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in. 2.19 METODE PENGUJIAN APLIKASI 2.19.1 Metode Black Box / Functional Testing Pengujian yang digunakan untuk mengetahui apakah semua fungsi perangkat lunak telah berjalan semestinya sesuai kebutuhan fungsional yang telah didefiniskan. Metode black box memungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi input sepenuhnya menggunakan semua persyaratan fungsional suatu program. (Ade Djohar, 2012:76) Ujicoba black box diharapkan dapat menemukan kesalahan dalam beberapa kategori, diantaranya: 1) Fungsi-fungsi yang salah atau hilang 2) Kesalahan interface 3) Kesalahan dalam struktur data atau akses database eksternal 4) Kesalahan performa 5) Kesalahan inisialisasi dan terminasi http://digilib.mercubuana.ac.id/