BAB II LANDASAN TEORI 2.1
Rekayasa Perangkat Lunak Rekayasa perangkat lunak atau biasa dikenal dengan Software merupakan
kombinasi antara program, basis data dan dokumentasi di dalamnya, yang dibuat dengan tujuan untuk memecahkan masalah yang sudah di tentukan requirement-nya atau kebutuhan. Software menambah nilai komponen dari perangkat keras dari sistem komputer. Tanpa software , komputer hanyalah sebuah kotak elektronik yang tidak digunakan khusus untuk sebagian umat manusia. [Elvis C. Foster, 2014 : 83] Software terdiri dari data yang diprogram dan disimpan secara digital yang berisi instruksi-instruksi yang akan dibaca dan ditulis oleh komputer. Software menyediakan fungsi dan kinerja yang diinginkan, struktur data yang memungkinkan program memanipulasi informasi yang cukup untuk dimengerti, serta dokumen yang menggambarkan operasi dan penggunaan dari program. [Roger S. Pressman, 2015 : 4] Tujuan dari rekayasa perangkat lunak adalah : 1.
Memperoleh biaya produksi perangkat lunak yang rendah.
2.
Menghasilkan perangkat 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. Rekayasa perangkat lunak adalah teknologi berlapis. Hal itu dapat ditunjukan
dengan gambar sebagai berikut :
Tools Methods Process A Quality Focus Gambar 2.1. Lapisan Teknologi Rekayasa Perangkat Lunak. [Roger S. Pressman, 2015 : 16]
http://digilib.mercubuana.ac.id/ 7
8 Dari gambar 2.1 dapat diartikan bahwa rekayasa perangkat lunak ditujukan untuk peningkatan kualitas produk, fokus pada kualitas. Dasar untuk rekayasa perangkat lunak adalah lapisan proses. Proses rekayasa perangkat lunak adalah proses yang terus berulang, karena karakteristik perangkat lunak yang membutuhkan pemeliharaan dan pengembangan berkelanjutan agar perangkat lunak tidak kadarluasa. Dalam proses pemeliharaan dilakukan koreksi kesalahan, adaptasi kebutuhan, peningkatan kemampuan atau fungsi dan bentuk pencegahan lainnya agar perangkat lunak tersebut tidak kadarluasa. [Roger S. Pressman, 2015 : 15] Alat rekayasa perangkat lunak merupakan unsur yang mendukung proses dan metode. Ketika alat-alat yang terhubung satu sama lain dan memberi informasi, serta informasi yang dibuat oleh salah satu alat dapat digunakan oleh yang lain, sistem untuk mendukung pengembangan perangkat lunak dapat dibangun dengan menggunakan bantuan komputer. [Roger S. Pressman, 2015 : 16] Berikut proses/fase generik yang berlaku untuk sebagian besar proyek perangkat lunak : [Roger S. Pressman, 2015 : 17] 1.
Komunikasi Kegiatan kerangka ini melibatkan komunikasi berat dan bekerja sama dengan pelanggan (dan stakeholder lainnya) dan mencakup pengumpulan persyaratan dan kegiatan terkait lainnya. Pada fase ini mengidentifikasi informasi apa yang akan diproses, apa fungsi dan kinerja yang diinginkan, perilaku sistem apa yang dapat diharapkan, apa antarmuka yang akan didirikan, apa desain kendala yang ada, dan apa kriteria validasi yang diperlukan untuk menentukan sistem yang sukses. Meskipun metode yang diterapkan selama fase definisi akan bervariasi tergantung pada paradigma rekayasa perangkat lunak (atau kombinasi paradigma) yang diterapkan, tiga tugas utama akan terjadi dalam beberapa bentuk: sistem atau teknik informasi, perencanaan proyek perangkat lunak, dan analisis kebutuhan.
2.
Perencanaan Kegiatan ini menetapkan rencana untuk pekerjaan rekayasa perangkat lunak yang mengikuti. Ini menggambarkan tugas-tugas teknis yang akan dilakukan, risiko yang mungkin, sumber daya yang akan diperlukan, produk pekerjaan yang harus diproduksi, dan jadwal kerja.
http://digilib.mercubuana.ac.id/
9 3.
Modelling Kegiatan ini meliputi pembuatan model pengembang dan pelanggan untuk lebih memahami kebutuhan perangkat lunak dan desain yang akan mencapai kebutuhan tersebut. Kegiatan ini akan semakin mendetailkan permasalahan dan bagaimana cara menyelesaikan masalah tersebut.
4.
Konstruksi Apa yang didesain sebelumnya akan mulai dibuat pada fase ini. Kegiatan ini menggabungkan kode generasi (baik manual atau otomatis) dan pengujian yang diperlukan untuk mengungkap kesalahan dalam kode.
5.
Deployment Perangkat lunak (sebagai entitas lengkap atau entitas yang sebagian sudah selesai) dikirimkan ke pelanggan/user agar pelanggan/user mengevaluasi perangkat lunak yang sudah dibuat dan memberikan umpan balik berdasarkan evaluasi tersebut agar bisa diperbaiki atau dikembangkan.
2.2 2.2.1
Studi Pustaka Penelitian Perbankan Sejarah dikenalnya perbankan dimulai dari jasa penukaran uang. Kemudian dalam
perkembangan selanjutnya, kegiatan operasional perbankan berkembang lagi menjadi tempat penitipan uang atau yang disebut sekarang ini kegiatan simpanan (setor tunai / cash deposit). Berikutnya kegiatan perbankan bertambah dengan kegiatan peminjaman uang. Jasa-jasa bank lainnya menyusul sesuai dengan perkembangan jaman dan kebutuhan masyarakat yang semakin beragam. Saat ini usaha perbankan meliputi tiga kegiatan, yaitu menghimpun dana, menyalurkan dana, dan memberikan jasa bank lainnya. Kegiatan menghimpun dan menyalurkan dana merupakan kegiatan pokok bank sedangkan memberikan jasa bank lainnya hanya kegiatan pendukung. [Direktorat Pembinaan SMK, 2013 : 19] Kegiatan menghimpun dana merupakan kegiatan membeli dana dari masyarakat. Kegiatan ini dikenal juga dengan kegiatan funding. Kegiatan membeli dana dapat dilakukan dengan cara menawarkan berbagai jenis simpanan. Simpanan sering disebut dengan nama rekening atau account. Jenis-jenis simpanan yang ada dewasa ini adalah [Direktorat Pembinaan SMK, 2013 : 89]
http://digilib.mercubuana.ac.id/
10 a. Simpanan Giro (Current Deposit Account) Simpanan giro merupakan simpanan pada bank yang penarikannya dapat dilakukan dengan menggunakan cek atau bilyet giro. Kepada setiap pemegang rekening giro akan diberikan bunga yang dikenal dengan nama jasa giro. Besarnya jasa giro tergantung dari bank yang bersangkutan. Rekening giro biasa digunakan oleh para usahawan, baik untuk perorangan maupun perusahaannya. Bagi bank jasa giro merupakan dana murah karena bunga yang diberikan kepada nasabah relatif lebih rendah dari bunga simpanan lainnya. [Direktorat Pembinaan SMK, 2013 : 89] b. Simpanan Tabungan (Saving Deposit Account) Merupakan simpanan pada bank yang penarikan sesuai dengan persyaratan yang ditetapkan oleh bank. Penarikan tabungan dilakukan menggunakan buku tabungan, slip penarikan, kwitansi atau kartu Anjungan Tunai Mandiri (ATM). Kepada pemegang rekening tabungan akan diberikan bunga tabungan yang merupakan jasa atas tabungannya. Sama seperti halnya dengan rekening giro, besarnya bunga tabungan tergantung dari bank yang bersangkutan. Dalam praktiknya bunga tabungan lebih besar dari jasa giro. [Direktorat Pembinaan SMK, 2013 : 89] c. Simpanan Deposito (Time Deposit) Deposito merupakan simpanan yang memiliki jangka waktu tertentu (jatuh tempo). Penarikannyapun dilakukan sesuai jangka waktu tersebut. Namun saat ini sudah ada bank yang memberikan fasilitas deposito yang penarikannya dapat dilakukan setiap saat. Jenis depositopun beragam sesuai dengan keinginan nasabah. Dalam praktiknya jenis deposito terdiri dari deposito berjangka, sertifikat deposito dan deposit on call. [Direktorat Pembinaan SMK, 2013 : 90] 2.2.2
Ilmu Geodesi Berdasarkan definisi klasik dari Helmert (1880), Geodesi adalah ilmu tentang
pengukuran dan pemetaan permukaan bumi. Menurut Torge (1980), definisi ini juga mencakup permukaan dasar laut. Meskipun definisi klasik tersebut sampai batas tertentu masih berlaku, tapi ia tidak dapat menampung perkembangan ilmu Geodesi yang terus berkembang dari waktu ke waktu. Definisi modern untuk untuk ilmu Geodesi adalah seperti yang dijabarkan oleh IAG (International Association of Geodesy) yaitu [Rinner, 1979] : ‘’Geodesi adalah disiplin ilmu yang mempelajari tentang pengukuran dan
http://digilib.mercubuana.ac.id/
11 perepresentasian dari bumi dan benda‐benda langit lainnya, termasuk medan gaya beratnya masing-masing, dalam ruang tiga dimensi yang berubah dengan waktu’’. [Hasanuddin Z. Abidin, 2008 : 7]
Gambar 2.2. Metode Geodesi Satelit untuk penentuan posisi menggunakan sistem satelit dan benda langit . [Hasanuddin Z. Abidin, 2008 : 10] Sampai saat ini ada beberapa metode atau sistem pengamatan geodesi satelit yang dikenal, yaitu antara lain: astronomi geodesi, fotografi satelit, SLR (Satellite Laser Ranging), LLR (Lunar Laser Ranging), VLBI (Very Long Baseline Interferometry), Satelit Altimetri seperti TOPEX Poseidon, Satelit Gradiometri, seperti GRACE dan GOCE, dan Satelit Navigasi seperti GPS dan GLONASS. Beberapa sistem geodesi satelit tersebut, secara ilustratif ditunjukkan pada Gambar 2.2. [Hasanuddin Z. Abidin, 2008 : 10] 2.2.3
Mobile Application Istilah aplikasi telah berevolusi menjadi perangkat lunak yang telah secara khusus
dirancang untuk berada pada platform mobile (mis., IOS, Android, atau Windows Mobile). Pada kebanyakan contoh, aplikasi mobile mencakup tampilan atau user interfaces yang mengambil keuntungan dari mekanisme interaksi yang unik memberikan akses ke berbagai macam informasi yang relevan dengan aplikasi, dan kemampuan pemrosesan lokal dari data yang dikumpulkan, menganalisis, dan memformat informasi dengan cara yang paling cocok untuk platform mobile. Selain itu, aplikasi mobile memberikan kemampuan penyimpanan permanen dalam platform mobile tersebut. [Roger S. Pressman, 2015 : 9]
http://digilib.mercubuana.ac.id/
12 2.2.4
Web Apps World Wide Web (sekitar 1990-1995) atau biasa disingkat WWW pada awalnya
merupakan website yang terdiri dari lebih dari satu set file hypertext terkait yang disajikan informasi menggunakan teks dan grafis yang terbatas. Seiring dengan perkembangan teknologi, augmentasi dari HTML dengan alat perkembangan (misalnya, XML, Java) engineer mengaktifkan web untuk memberikan kemampuan komputasi bersama dengan konten informasi. Dari sinilah lahir sistem dan aplikasi berbasis web (pada umumnya disebut sebagai webapps). Sekarang ini, webapps telah berkembang menjadi alat komputasi canggih yang tidak hanya menyediakan fungsi yang berdiri sendiri untuk pengguna akhir (end user), tetapi juga telah terintegrasi dengan database perusahaan dan aplikasi bisnis. [Roger S. Pressman, 2015 : 9] 2.2.5
Android OS Merupakan sebuah sistem operasi yang berbasis Linux untuk telepon seluler seperti
telepon pintar dan komputer tablet. Aplikasi android dibuat dengan menggunakan bahasa pemrograman Java, tetapi tidak berjalan dengan Java ME (Mobile Edition). Android merupakan bagian dari Linux Phone Standards Forum (LiPS) atau Open Mobile Alliance (OMA). Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti bergerak. Bahasa pemrograman yang digunakan untuk membangun aplikasi di OS Android adaah JAVA. [Reto Meier, 2012 : 3] 2.2.6
Konsep MVC Model View Controller atau yang lebih dikenal dengan MVC adalah arsitektur
aplikasi yang memisahkan kode-kode aplikasi dalam tiga lapisan, yaitu Model, View dan Control. MVC termasuk dalam arsitektural design pattern yang menghendaki organisasi kode yang terstruktur dan tidak bercampur. Ketika aplikasi sudah sangat besar dan menangani struktur data yang kompleks, harus ada pemisahan yang jelas antara domain model, komponen view dan kontroler yang mengatur penampilan model dalam view. Model adalah bagian dari konsep MVC yang digunakan untuk mengambil data dan memasukkan data ke dalam database. Komunikasi Model dengan database menggunakan query SQL lalu hasilnya dikirimkan ke Controller.
http://digilib.mercubuana.ac.id/
13 View adalah bagian dari konsep MVC yang berfungsi sebagai alat interaksi dengan pengguna. View biasanya berisi form input, gambar, animasi, dan lainnya. Semua yang ditampilkan pada layer View di atur pada layer Controller. Data yang di isi pada layer View tidak langsung di interaksikan dengan Model, melainkan dengan Controller terlebih dahulu setelah itu baru di kirim ke Model. Controller bisa diartikan sebagai jembatan antara View dan Model. Controller membantu menampilkan data yang di kirim layer Model untuk di tampilkan di layer View dan juga membantu mengirim data ke Model yang di isi oleh pengguna di layer View untuk disimpan di database.
Gambar 2.3. Desain konsep MVC [http://adhit.net/2011/03/pengertian-konsep-mvc/] Penjelasan gambar di atas adalah, ketika user melakukan request website ke web server, maka pertama kali yang di jalankan adalah file controller, kemudian file controller ini akan melakukan pengecekan apakah memerlukan database atau tidak. Jika iya maka rute selanjutnya adalah controller memanggil model. Disini model melakukan pengolahan database lalu mengembalikan hasilnya ke dalam controller. Selanjutnya controller akan mengubah hasil dari model ke dalam views dan ditampilkan ke user. [http://adhit.net/2011/03/pengertian-konsep-mvc/]
http://digilib.mercubuana.ac.id/
14 2.3
Materi Pembuatan Aplikasi
2.3.1
JAVA Java adalah bahasa pemrograman dan platform computer yang pertama kali dirilis
oleh Sun Microsystems pada tahun 1995. Ada banyak aplikasi dan situs web yang tidak akan bekerja tanpa adanya java yang sudah ter-install. Java adalah cepat, aman, dan handal. Dari laptop ke data center, konsol game, koneksi handphone ke internet, platform / operating system yang ada smartphone saat ini, hampir semua menggunakan Java. [What is Java and why do I needit?,https://java.com/en/download/faq/whatis_java.xml] Java adalah bahasa pemrograman yang banyak mengadopsi syntax C dan C++ namun dengan syntax model objek yang lebih sederhana. Aplikasi-aplikasi berbasis java umumnya dikompilasi ke dalam p-code (bytecode) dan dapat dijalankan pada berbagai Mesin Virtual Java (JVM). Java merupakan bahasa pemrograman yang bersifat umum/non-spesifik, dan secara khusus didesain untuk memanfaatkan dependensi implementasi seminimal mungkin. Karena fungsinya yang memungkinkan aplikasi java mampu berjalan di beberapa platform sistem operasi yang berbeda, java dikenal pula dengan slogannya, "Tulis sekali, jalankan di mana pun". 2.3.2
Definisi Basis Data Basis data terdiri atas 2 kata, yaitu basis dan data. Basis kurang lebih dapat
diartikan sebagai markas atau gudang, tempat bersarang/berkumpul. Sedangkan data adalah representasi fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai, siswa, pembeli, pelanggan), barang, hewan, peristiwa, konsep, keadaan, dan sebagainya, yang diwujudkan dalam bentuk angka, huruf, simbol, teks, gambar, bunyi, atau kombinasinya. [Fathansyah, 2015 : 2] Sebagai satu kesatuan istilah, Basis Data (Database) sendiri dapat didefinisikan dalam sejumlah sudut pandang seperti : 1.
Himpunan kelompok data (arsip) yang saling berhubungan diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah.
2.
Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redundansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan.
http://digilib.mercubuana.ac.id/
15 3.
Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis. Basis data adalah repository tunggal yang memungkinkan penggunaan data
dilakukan bersamaan oleh banyak departemen dan pengguna. Basis data bukan file terputus dengan data yang berlebihan , tetapi semua item data terintegrasi dengan jumlah minimum duplikasi. Basis data tidak lagi dimiliki oleh satu departemen tetapi adalah sumber daya perusahaan bersama. Database memegang tidak hanya organisasi data operasional tetapi juga deskripsi data. Untuk alasan ini, database juga didefinisikan sebagai kumpulan diri yang menggambarkan catatan yang terintegrasi. Deskripsi data tersebut dikenal sebagai sistem katalog (atau kamus data atau metadata - yang 'data tentang data'). Basis data mewakili entitas, atribut, dan hubungan logis antara entitas. Dengan kata lain, database menyimpan data yang logis terkait. [Thomas M. Connolly & Carolyn E. Begg, 2005 : 4] 2.3.3
DBMS (Database Management System) DBMS adalah software yang berinteraksi dengan program aplikasi pengguna dan
database. Biasanya, DBMS menyediakan fasilitas sebagai berikut: [Thomas M. Connolly & Carolyn E. Begg, 2005 : 16] 1.
Hal ini memungkinkan pengguna untuk menentukan database, biasanya melalui Data Definition Language (DDL). DDL memungkinkan pengguna untuk menentukan tipe data dan struktur dan kendala pada data yang akan disimpan dalam database.
2.
Hal ini memungkinkan pengguna untuk memasukkan, update, menghapus, dan mengambil data dari database, biasanya melalui Data Manipulation Language (DML).
3.
Menyediakan akses terkontrol ke database. Sebagai contoh, dapat memberikan: a. Sistem keamanan, yang mencegah pengguna yang tidak sah mengakses database. b. Sistem integritas, yang mempertahankan konsistensi data yang tersimpan. c. Sistem kontrol concurrency, yang memungkinkan akses bersama database.
http://digilib.mercubuana.ac.id/
16
Gambar 2.4. Database Processing [Thomas M. Connolly & Carolyn E. Begg, 2005 : 17] 2.3.4
MySQL MySQL adalah sistem manajemen database SQL yang bersifat Open Source dan
paling populer saat ini. Sistem Database MySQL mendukung beberapa fitur seperti multithreaded, multi-user, dan SQL database managemen sistem (DBMS). Database ini dibuat untuk keperluan sistem database yang cepat, handal dan mudah digunakan. MySQL merupakan salah satu Open Source sistem manajemen basis data SQL paling populer, dikembangkan, didistribusikan, dan didukung oleh Oracle Corporation. MySQL memungkinkan secara efisien menyimpan, mencari, mengurutkan dan mendapatkan data. MySQL menggunakan Structured Query Language (SQL) sebagai standar query basis data. [https://dev.mysql.com/doc/refman/5.7/en/what-is-mysql.html] Keistimewaan MySQL dari aplikasi basis data lainnya adalah : 1.
Portability : MySQL dapat berjalan stabil pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga, dan masih banyak lagi.
2.
Open Source : MySQL adalaha aplikasi open source, berlisensi GPL sehingga dapat digunakan secara gratis.
3.
Multiuser : MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik.
4.
Security : MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta sandi terenkripsi.
http://digilib.mercubuana.ac.id/
17 5.
Scalability and limits : MySQL mampu menangani basis data dalam skala yang besar, dengan jumlah records yang lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris. Selain itu batas indeks yang bisa ditampung mencapai 32 indeks per tabel.
2.3.5
Spring framework Spring Framework adalah sebuah platform bahasa pemrograman Java yang
sifatnya open source, yang menyediakan dukungan infrastruktur yang komprehensif untuk mengembangkan aplikasi Java yang kuat sangat mudah dan sangat cepat. Spring Framework memiliki manfaat lightweight solution serta memiliki sebuah potential one-stop-shop untuk membangun sebuah aplikasi menggunakan bahasa pemrograman
Java.
Spring bersifat
modular, sehingga
memungkinkan
untuk
menggunakan bagian-bagian yang dibutuhkan saja. Spring Framework mendukung manajemen deklaratif transaksi, akses remote ke logika melalui RMI atau web services, dan berbagai pilihan untuk mempertahankan data. Spring menawarkan konsep pemrograman
berorientasi
objek
MVC,
dan
memungkinkan
Anda
untuk
mengintegrasikan AOP secara transparan ke dalam aplikasi Anda. Spring juga memiliki modul ORM (Object Relation Mapping) yang bisa di intergrasikan dengan API seperti Hibernate dan JPA. Hibernate adalah solusi untuk mempetakan objek atau relasional pada bahasa pemrograman Java. Hibernate digunakan untuk komunikasi antara Java Class model dengan database ( basis data ). Hibernate memiliki query sendiri untuk berinteraksi dengan database yang biasanya disebut dengan HQL (Hibernate Query Language). Hampir sama seperti Hibernate, JPA (Java Persistence API ) adalah solusi standar untuk menjembatani atau mempetakan sebuah jarak antara Java Class model dengan database. JPA juga memiliki query sendiri untuk berinteraksi dengan database yaitu JPQL (Java Persistence Query Language). [TutorialsPoint, 2016, ”Spring Framework”] 2.3.6
MAVEN Maven , dari kata Yiddish yang berarti akumulator pengetahuan, awalnya dimulai
sebagai upaya untuk menyederhanakan proses dalam membangun proyek Turbin Jakarta. Ada beberapa proyek yang masing-masing dibangun dengan teknologi Ant dan file Jar diperiksa ke CVS. Agar terdapat cara standar untuk membangun proyek-proyek, definisi
http://digilib.mercubuana.ac.id/
18 yang jelas tentang sebuah proyek terdiri dari apa saja, bagaimana cara yang mudah untuk mempublikasikan informasi proyek dan cara untuk berbagi file Jar di beberapa proyek, hasilnya adalah alat yang sekarang dapat digunakan untuk membangun dan mengelola proyek berbasis Java yaitu Maven. Maven adalah alat untuk membangun (tools builder) yang sangat bagus untuk manajemen proyek. Konsep dari Maven adalah POM (Project Objek Model), dimana fungsi POM adalah untuk pengaturan sebuah proyek dan juga bisa untuk mengambil sebuah JAR (Java Archive) dari library maven itu sendiri. [“Maven – Introduction, https://maven.apache.org/what-is-maven.html”] 2.3.7
HTML HTML adalah singkatan dari HyperText Markup Language yang merupakan
sebuah bahasa markup yang berfungsi untuk membuat sebuah website, menampilkan berbagai informasi di dalam sebuah penjelajah web Internet dan formating hypertext sederhana yang ditulis kedalam berkas format ASCII (American Standard Code For Information Interchange) agar dapat menghasilkan tampilan wujud yang terintegerasi. Hypertext mengacu pada cara di mana halaman web (dokumen HTML) terhubung bersama. Dengan demikian, link yang tersedia pada halaman web disebut Hypertext. Sekarang, HTML sedang banyak digunakan untuk memformat halaman web dengan bantuan tag yang berbeda dalam bahasa HTML. HTML merupakan bahasa pemrograman yang dikenali web browser yang berfungsi untuk menampilkan suatu informasi dengan lebih menarik dibandingkan dengan hanya menampilkan plaintext. [TutorialsPoint, 2015, ”HTML Hyper Text Markup Language”] 2.3.8
CSS Cascading Style Sheets yang biasa disingkat CSS merupakan bahasa stylesheet
yang digunakan untuk mempermudah proses pembuatan halaman website agar menjadi lebih menarik dan rapi. CSS menangani tampilan dan merasa menjadi bagian dari suatu halaman web. Menggunakan CSS, Anda dapat mengontrol warna teks, gaya font, jarak antara paragraf, bagaimana kolom ukuran dan ditata, apa gambar latar belakang atau warna yang digunakan, serta berbagai efek lainnya. [TutorialsPoint, 2015, ”CSS Cascading Style Sheets”]
http://digilib.mercubuana.ac.id/
19 2.3.9
Javascript Javascript adalah bahasa pemrograman komputer yang dinamis. Hal ini ringan dan
paling sering digunakan sebagai bagian dari halaman web, yang implementasi memungkinkan client-side script untuk berinteraksi dengan pengguna dan membuat halaman dinamis. Ini adalah bahasa pemrograman ditafsirkan dengan kemampuan berorientasi objek. Javascript diperkenalkan pada tahun 1995 sebagai cara menambahkan program untuk halaman web di browser Netscape Navigator. Bahasa pemrograman Javascript sejak itu telah diadopsi oleh semua utama web browser grafis lainnya. Hal ini telah membuat web modern memungkinan aplikasi-aplikasi anda dapat berinteraksi langsung, tanpa melakukan reload halaman untuk setiap tindakan. Javascript adalah scripting yang di fungsikan untuk menambah interaktif suatu website, Javascript biasanya disisipkan pada suatu halaman HTML website, Javascript sangat ringan dan tidak memerlukan proses kompilasi. [TutorialsPoint, 2015, ” Eloquent JavaScript A Modern Introduction to Programming”] 2.3.10 JSON JSON adalah singkatan dari Javascript Object Notation adalah format pertukaran data yang ringan ,mudah dimengerti dan diimplementasikan oleh manusia serta mudah diterjemahkan dan dibuat ( generate ) oleh komputer. JSON merupakan format teks tidak bergantung pada bahasa pemrograman apapaun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena itu JSON merupakan pilihan yang bagus untuk pertukaran data.[http://json.org/json-id.html] JSON memiliki beberapa bentuk, berikut contoh bentuk – bentuk tersebut : 2.3.10.1 Object Object merupakan sepasang nilai yang tidak terurut. Dibuka dengan “ { “ kurawal buka dan diakhiri dengan “ } ” kurawal tutup. Setiap nilai disertakan dengan “ : “ titik dua dan nilai lainnya dipisahkan dengan “ , ” koma.
http://digilib.mercubuana.ac.id/
20
Gambar 2.5. Ilustrasi bentuk Objek JSON [http://json.org/json-id.html] 2.3.10.2 Array Array merupakan kumpulan dari nilai – nilai. Dibuka dengan “ [ “ kurung kotak buka dan ditutup dengan “ ] “ kurung kotak tutup. Antar nilai dipisahkan dengan “ , ” koma.
Gambar 2.6. Ilustrasi bentuk Array JSON [http://json.org/json-id.html] 2.3.10.3 Value Nilai (value) dapat berupa sebuah string dalam tanda kutip ganda, atau angka, atau true atau false atau null, atau sebuah objek atau sebuah larik. Struktur-struktur tersebut dapat disusun bertingkat.
Gambar 2.7. Ilustrasi bentuk Value JSON [http://json.org/json-id.html]
http://digilib.mercubuana.ac.id/
21 2.3.10.4 String String adalah kumpulan dari nol atau lebih karakter Unicode, yang dibungkus dengan tanda kutip ganda. Di dalam string dapat digunakan backslash escapes "\" untuk membentuk karakter khusus. Sebuah karakter mewakili karakter tunggal pada string. String sangat mirip dengan string C atau Java.
Gambar 2.8. Ilustrasi bentuk String JSON [http://json.org/json-id.html] 2.3.10.5 Number Angka (Number) adalah sangat mirip dengan angka di C atau Java, kecuali format oktal dan heksadesimal tidak digunakan.
Gambar 2.9. Ilustrasi bentuk Number JSON [http://json.org/json-id.html]
http://digilib.mercubuana.ac.id/
22 2.3.11 JSTL JSTL (JavaServerPages Standard Tag Library) adalah tag diluar HTML yang digunakan membangun sebuah JSP (Java Server Pages). JSTL bisa digunakan untuk membangun sebuah kondisi. JSTL juga berisikan tag untuk memanipulasi XML dan tag SQL. JSTL menyediakan kerangka kerja untuk mengintegrasikan custom tag yang ada dengan tag JSTL. [http://www.tutorialspoint.com/jsp/jsp_standard_tag_library.htm] 2.3.12 Bootstrap Bootstrap adalah framework dari HTML ( HyperText Markup Language ) dan CSS ( Cascading Style Sheets ) yang berfungsi untuk membangun desain web secara responsif. Artinya, tampilan web yang dibuat oleh bootstrap akan menyesuaikan ukuran layar dari browser yang digunakan baik di desktop, tablet ataupun mobile device. Fitur ini bisa diaktifkan ataupun dinonaktifkan sesuai dengan keinginan pengguna. Sehingga, bisa membuat web untuk tampilan desktop saja dan apabila di-render oleh mobile browser maka tampilan dari web yang dibuat tidak bisa beradaptasi sesuai layar. Dengan bootstrap juga bisa membangun web dinamis ataupun statis. Bootstrap menyediakan komponen untuk pembuatan website seperti form, button, alert, dan komponen
lainnya.
[http://dul.web.id/bootstrap/3/tuts-tips/belajar-bootstrap-untuk-
pemula.php] 2.4
UML UML (Unified Modelling Language) adalah sebuah teknik desain perancangan atau
blueprint perangkat lunak yang berorientasi objek (OOP) sebelum melakukan pembuatan aplikasi (coding). UML dapat digunakan untuk memvisualisasikan, menentukan, membangun, dan mendokumentasikan artifak dari suatu perangkat lunak. [ Roger S. Pressman, 2015 : 869] UML adalah keluarga notasi grafis yang didukung oleh meta-model tunggal, yang membantu pendeskripsian dan desain sistem perangkat lunak, khususnya sistem yang dibangun menggunakan pemrograman berorientasi objek [Fowler , 2005]. 2.4.1
Use Case Diagram Use
case
menggambarkan
serangkaian
kegiatan
yang
dilakukan
untuk
menghasilkan beberapa hasil output. Setiap use case menggambarkan bagaimana
http://digilib.mercubuana.ac.id/
23 pengguna eksternal memicu suatu peristiwa yang sistem harus merespon. Misalnya, dalam sistem toko video, pelanggan mungkin menyewa DVD atau mengembalikan DVD, atau DVD yang dikembalikan menjadi terlambat. Tindakan menyewa atau kembali DVD dan berlalunya waktu peristiwa memicu serangkaian kegiatan dimana sistem harus melakukan sesuatu. Bila tidak ada event sistem akan dalam keadaan menunggu. Dengan jenis event modeling, segala sesuatu dalam sistem dapat dianggap sebagai respon terhadap suatu peristiwa pemicu. Ketika event pemicu terjadi, sistem (dan orang-orang menggunakannya) merespon, melakukan tindakan yang ditetapkan dalam kasus penggunaan, dan kemudian kembali ke keadaan menunggu. [Alan Dennis, 2012 : 149] Use Case Diagram adalah design untuk menggambarkan interaksi antara aktor dengan sistem yang membentuk peran dan aktifitas dalam suatu sistem [Roger S. Pressman, 2015 : 149]. Berikut adalah beberapa simbol yang digunakan di usecase : Tabel 2.1. Komponen Use Case Diagram [Roger S. Pressman, 2015 : 149] Simbol
Nama
Keterangan
Elemen Aktor
Aktor adalah seseorang atau sesuatu yang berperan untuk berinteraksi dengan sistem tetapi tidak memiliki kontrol akan use case.
UseCase
Simbol UseCase menggambar kan fungsionalitas dari sistem, sehingga pengguna paham mengenai manfaat dari sistem yang dibangun
Asosiasi
Penghubung antar elemen ( aktor / UseCase ) di dalam sistem
Generalisasi
Sebuah elemen yang dihasilkan dari pewarisan elemen lain
Batasan sistem
Area yang digunakan untuk menempatkan usecase sebagai batasan apa yang dilakukan sistem
Contoh untuk penggunaan Use Case Diagram dalam pembangunan system.
http://digilib.mercubuana.ac.id/
24
Gambar 2.10. Use Case Diagram [Roger S. Pressman, 2015 : 179] 2.4.2
Activity Diagram Activity diagram adalah sebuah diagram alur kerja yang menjelaskan berbagai
kegiatan pengguna atau sistem, orang yang melakukan masing – masing aktivitas dan aliran sekuensial dari aktivitas–aktivitas tersebut. [John W. Satzinger, Robert B. Jackson, Stephen D. Burd, 2010, System Analysis and Design in a Changing World]. Activity diagram lebih diperuntukan sebagai gambaran business process suatu sistem dimulai dari awal sampai akhir. Activity diagram hampir sama seperti flowchart hanya saja activity bisa bersifat paralel. Activity Diagram adalah bagan diagram yang merepresentasikan analis dengan tujuan untuk memodelkan alur proses dan hubungan antar proses dalam suatu sistem informasi dan juga berisikan tentang skenario yang ada dalam sistem tersebut [Roger S. Pressman, 2015 : 180]. Berikut komponen–komponen yang ada di dalam sebuah model Activity Diagram : Tabel 2.2. Komponen Activity Diagram [Roger S. Pressman, 2015 : 180] Simbol
Nama Elemen
Keterangan
Aktifitas
Notasi yang menggambarkan aktor dari proses dalam aliran pekerjaan.
Transisi
Notiasi yang digunakan mem- perlihatkan aliran kontrol dari satu aktifitas ke aktifitas lain.
Decision
Notasi yang menandakan ada- nya berdasarkan decision point.
http://digilib.mercubuana.ac.id/
kontrol cabang
25 Simbol
Nama Elemen
Keterangan
Awalan &
Notasi yang menandakan awal dan akhir dari sebuah
Akhiran
aktifitas system.
Contoh untuk penggunaan Activity Diagram dalam pembangunan sistem.
Gambar 2.11. Activity Diagram [Roger S. Pressman, 2015 : 180]
2.4.3
Sequence Diagram Sequence Diagram adalah diagram yang menjelaskan interaksi antar objek yang
disusun berdasarkan waktu proses berlangsung. Diagram ini digunakan untuk menggambarkan tahap demi tahap yang harus dilakukan oleh pengguna sistem untuk menghasilkan sesuatu dari use case diagram yang sudah dibuat [Roger S. Pressman , 2015 : 205]. Berikut adalah beberapa komponen yang sangat berpengaruh dalam pembentukan sebuah Sequence Diagram :
http://digilib.mercubuana.ac.id/
26 Tabel 2.3. Komponen Sequence Diagram [Roger S. Pressman, 2015 : 205] Simbol
Nama Elemen Objek
Keterangan Komponen yang menjadikan sebuah objek dalam membuat diagram
Stimulus
Untuk menandakan hubungan komunikasi antar objek
Self Stimulus
Fungsi sama dengan Stimulus, tetapi pesan yang disampaikan dikirimkan untuk objek itu sendiri
Focus Control
Sebagai tempat untuk hasil input atau output dari sebuah proses yang dilakukan oleh objek ataupun aktor yang ada dalam sistem
Contoh untuk penggunaan Sequence Diagram dalam pembangunan sistem :
Gambar 2.11. Sequence Diagram [Roger S. Pressman, 2015 : 206] 2.4.4
Class Diagram Class Diagram adalah diagram yang menunjukkan class-class yang ada dari
sebuah sistem dan saling berhubungan secara logika [Roger S. Pressman, 2015 : 192]. Diagram ini menggambarkan struktur statis dari sebuah sistem. Karena itu, class diagram merupakan tulang punggung atau kekuatan dasar dari hamper setiap metode berorientasi objek termasuk UML ( Unified Modeling Language ). Berikut komponen–komponen yang harus dipakai dalam pembuatan class diagram:
http://digilib.mercubuana.ac.id/
27 Tabel 2.4. Komponen Class Diagram [Roger S. Pressman, 2015 : 192] Simbol
Nama Elemen
Keterangan
Kelas
Simbol
untuk
membangun
sebuah
pemrograman dengan objek Terdiri 3 bagian, bagian atas adalah nama kelas, bagian tengah adalah atribut, dan bagian bawah adalah metode dari kelas tersebut Garis Asosiasi
Simbol
yang
menggambarkan
adanya
hubungan antara satu kelas dengan kelas lainnya Generalisasi
Simbol yang menandakan adanya generalisasi dari kelas input untuk menghasilkan data yang dibutuhkan
Contoh untuk penggunaan Class Diagram dalam pembangunan sistem.
Gambar 2.12. Class Diagram [Roger S. Pressman, 2015 : 191] 2.5
Metode Waterfall Metodologi pengembangan sistem dengan cara Waterfall, merupakan metodologi
paling klasik. Pada model ini dilakukan pendekatan secara sistematis dan urut dari setiap
http://digilib.mercubuana.ac.id/
28 level pengembangan software. Dimulai dari spesifikasi kebutuhan pelanggan, kemudian perencanaan kontruksi, dan pengujian [Roger S. Pressman 2015 : 42].
Gambar 2.13. Waterfall Model [Roger S. Pressman, 2015 : 42] Penjelasan dari gambar Waterfall Model sebagai berikut : 1. Analisa kebutuhan ( Communication ) Proses pengumpulan kebutuhan dalam perancangan sistem untuk memahami dasar dari sistem yang akan dibuat. Analis harus mengetahui ruang lingkup, fungsi – fungsi dan kemampuan kinerja yang ingin dihasilkan oleh sistem. Biasanya dilakukan pertemuan dengan konsumen yang akan memakai aplikasi yang akan dibuat. 2. Perencanaan Sistem ( Planning ) Setelah ditetapkan untuk data apa saja yang akan digunakan dalam sistem, selanjutnya adalah perencaan sistem ini akna dibuat seperti apa. Pada tahap ini menghasilkan user requirement sebagai data yang langsung menjelaskan tentang kebutuhan konsumen dalam pembuatan software. 3. Perancangan ( Modeling ) Setelah user requirement disetujui oleh pihak konsumen dan developer, digunakan metode modeling yang berisi lebih kearah analisa sistem yang akan dibuat. Dalam menganalisa biasanya digunakan konsep design atau gambar untuk lebih mudah dibaca konsepnya. 4. Construction / Coding & Testing Setelah sistem sudah dianalisa dan di mapping dengan design yang sesuai, kemudian dilakukan pemrosesan alur sistem kedalam bahasa program yang nantinya akan diproses oleh komputer. Proses ini dilakukan oleh developer. Setelah program sudah
http://digilib.mercubuana.ac.id/
29 masuk kedalam sistem dan hasil sudah tersedia, data output akan di testing terlebih dahulu sebelum di implementasikan ke konsumen. Proses testing ini ditujukan untuk membandingkan output dari proses sebelumnya dengan hasil proses yang sudah dilakukan sistem. Jika data sudah sama atau lebih valid, sistem sudah siap untuk digunakan. Testing biasanya dilakukan oleh tim QC (Quality Control). 5.
Deployment Setelah aplikasi atau sistem sudah dites dan hasilnya valid, maka aplikasi siap
untuk ditunjukkan dan dicoba oleh konsumen. Disitu tidak hanya penyampaian atau pembelajaran tentang aplikasi yang harus diberikan, tetapi juga dilakukan pengecekan jika ada data yang masih kurang sesuai dengan konsumen. Darisitu biasanya juga dilakukan maintenance aplikasi tersebut oleh tim dari pembuat aplikasi tersebut untuk memberikan arahan-arahan jika konsumen masih belum terlalu paham dengan aplikasi yang sudah dibuat. 2.6
Analisis PIECES Dalam menganalisis suatu sistem terdapat beberapa hal yang perlu dilakukan dan
lihat yaitu dari aspek kinerja, ekonomi, keamanan, efisiensi dan pelayanan. Dalam hal ini analisis yang digunakan adalah analisis PIECES (Performance, Information, Economic, Control, Eficiency, Service). Dari analisis ini akan diperoleh beberapa hal untuk disimpulkan masalah yang dihadapi perusahaan secara jelas dan spesifik. Dari analisis itu akan dapat dirumuskan berbagai usulan untuk membantu perancangan sistem yang lebih baik. Adapun beberapa aspek yang dapat dilihat dari analisis ini adalah sebagai berikut : 1.
Performance (Analisis Kinerja Sistem) Analisis kinerja dimaksudkan untuk mendatangkan peningkatan terhadap kinerja
(hasil kerja) sistem yang baru sehingga menjadi lebih efektif. Masalah kinerja terjadi ketika tugas-tugas bisnis yang dijalankan tidak mencapai sasaran. Kinerja diukur dengan jumlah produksi dan waktu tanggap. Jumlah produksi adalah jumlah pekerjaan yang bisa diselesaikan selama jangka waktu tertentu. Waktu tanggap adalah keterlambatan rata-rata antara suatu transaksi dengan tanggapan yang diberikan kepada transaksi tersebut.
http://digilib.mercubuana.ac.id/
30 Information (Analisis Informasi)
2.
Dalam penyajian informasi sering terjadi keterlambatan, bahkan kesalahan. Informasi yang dihasilkan sering tidak dapat langsung digunakan sebagai dasar pengambilan keputusan. Oleh sebab itu diharapkan adanya informasi yang akurat, tepat waktu dan relevan. Analisis informasi memeriksa output sistem, analisis data meneliti data yang tersimpan dalam sebuah sistem. Economic (Analisis Ekonomi)
3.
Persoalan ekonomi berkaitan dengan masalah biaya dan keuntungan. Dengan adanya kelemahan-kelemahan yang ada pada sistem yang lama, maka mungkin terjadi biaya yang tidak diprediksikan akan muncul. Control (Analisis Pengendalian)
4.
Dalam suatu sistem perlu diadakan sebuah kontrol atau pengawasan agar sistem itu berjalan dengan baik. Analisa ini digunakan untuk mengetahui sejauh mana pengawasan dan kontrol yang dilakukan agar sistem tersebut berjalan dengan baik. Efficiency (Analisis Efisiensi)
5.
Ekfektifitas sebuah sistem perlu dipertanyakan dalam kinerja dan alasan mengapa sistem itu dibuat. Sebuah sistem harus bisa secara efisien menjawab dan membantu suatu permasalahan khususnya dalam hal otomasi. Analisis ini dilakukan untuk mengetahui apakah suatu sistem itu efisien atau tidak, dengan input yang sedikit bisa menghasilkan sebuah output yang memuaskan. Berikut adalah indikasi bahwa suatu sistem dapat dikatakan tidak efisien: a.
Banyak waktu yang terbuang pada aktivitas sumber daya manusia, mesin, atau komputer.
b.
Data diinput atau disalin secara berlebihan
c.
Data diproses secara berlebihan.
d.
Informasi dihasilkan secara berlebihan.
e.
Usaha yang dibutuhkan untuk tugas-tugas terlalu berlebihan.
f.
Material yang dibutuhkan untuk tugas-tugas terlalu berlebihan.
http://digilib.mercubuana.ac.id/
31 6.
Service (Analisis Pelayanan) Dalam hal pemanfaat suatu sistem, sebuah pelayanan masih menjadi suatu hal
yang penting dan perlu diperhatikan. Suatu sistem yang diterapkan akan berjalan dengan baik dan seimbang bila diimbangi dengan pelayanan yang baik juga. Analisis ini digunakan untuk mengetahui bagaimana pelayanan yang dilakukan dan mengetahui permasalahan – permasalahan yang ada terkait tentang pelayananan.
http://digilib.mercubuana.ac.id/