BAB II LANDASAN TEORI 2.1
Rekayasa Perangkat Lunak RPL (Rekayasa Perangkat Lunak) adalah suatu disiplin ilmu yang
mempelajari semua aspek produksi dalam suatu proses perancangan suatu perangkat lunak / sistem dengan tujuan untuk dapat menghasilkan suatu perangkat lunak / sistem dengan cara yang efektif dan efisien dari segi biaya, waktu, dan tenaga. Pada dasarnya rekayasa perangkat lunak lebih memfokuskanpada tahapantahapan pengembangan suatu perangkat lunak yakni : Analisis, Desain, Implementasi, Pengujian, Pemeliharaan, dan Dokumentasi.(Sommerville, 2003) 2.2
Tahap Pengembangan Sistem Pada perancangan aplikasi ini penulis menggunakan metode waterfall
"waterfall modeling”. Karena metode tersebut merupakan metode yang merujuk kearah pendekatan yang sistematis dan sekuensial melalui tahap-tahap yang ada pada SDLC untuk membangun sebuah aplikasi perangkat lunak. 2.3
Metode System Development Life Cycle (SDLC) Mengutip dari buku Software Engineering : Seventh Edition karangan
Roger S. Pressman yang diterbitkan oleh McGraw-hill, pengertian dari SDLC adalah : "System Development Life Cycle atau siklus hidup pengembangan sistem adalah proses perancangan sistem serta metodologi yang digunakan untuk mengembangkan sistem-sistem tersebut." Dalam penelitian skripsi ini, penulis menggunakan proses Waterfall Model sebagai pola pengembangan sistem. Definisi yang diartikan oleh Roger S. Pressman dalam bukunya Software Engineering : Seventh Edition dijelaskan bahwa : "Waterfall Model sebuah proses perancangan yang secara berurutan dan sering digunakan dalam proses pengembangan perangkat lunak."
7 http://digilib.mercubuana.ac.id/
8
2.3.1. Waterfall Model Menurut Pressman (2010, p39) Waterfall Model adalah model klasik yang bersifat sistematis, berurutan dalam membangun software. Berikut ini gambaran dari Waterfall Model. Fase-fase dalam Waterfall Model menurut Referensi Pressman :
Gambar 2.1Waterfall Model (Sumber : Pressman, 2010, p39) Berikut adalah gambar pengembangan perangkat lunak berurutan/ linear : a.
Communication Langkah ini merupakan analisis terhadap kebutuhan software, dan tahap
untuk mengadakan pengumpulan data dengan melakukan pertemuan dengan customer, maupun mengumpulkan data-data tambahan baik yang ada di jurnal, artikel, maupun dari internet. b.
Planning Proses planning merupakan lanjutan dari proses communication (analysis
requirement). Tahapan ini akan menghasilkan dokumen user requirement atau bisa dikatakan sebagai data yang berhubungan dengan keinginan user dalam pembuatan software, termasuk rencana yang akan dilakukan. c.
Modeling Proses modeling ini akan menerjemahkan syarat kebutuhan ke sebuah
perancangan software yang dapat diperkirakan sebelum dibuat coding. Proses ini berfokus pada rancangan struktur data, arsitektur software, representasi interface, dan detail (algoritma) prosedural. Tahapan ini akan menghasilkan dokumen yang disebut software requirement.
http://digilib.mercubuana.ac.id/
9
d.
Construction Construction merupakan proses membuat kode. Coding atau pengkodean
merupakan penerjemahan desain dalam bahasa yang bisa dikenali oleh komputer. Programmer akan menerjemahkan transaksi yang diminta oleh user. Tahapan inilah yang merupakan tahapan secara nyata dalam mengerjakan suatu software, artinya penggunaan komputer akan dimaksimalkan dalam tahapan ini. Setelah pengkodean selesai maka akan dilakukan testing terhadap sistem yang telah dibuat tadi. Tujuan testing adalah menemukan kesalahan-kesalahan terhadap sistem tersebut untuk kemudian bisa diperbaiki. e.
Deployment Tahapan ini bisa dikatakan final dalam pembuatan sebuah software atau
sistem. Setelah melakukan analisis, desain dan pengkodean maka sistem yang sudah jadi akan digunakan oleh user. Kemudian software yang telah dibuat harus dilakukan pemeliharaan secara berkala. 2.3.2
Keuntungan Dan Kekurangan Metode Waterfall Keuntungan yang didapat dengan menggunakan teknik waterfall ini adalah
sebagai berikut : a. Proses menjadi teratur. b. Estimasi proses menjadi lebih baik. Selain itu, teknik waterfall juga memiliki kekurangan, kekurangannya adalah sebagai berikut : a. Sifatnya kaku, sehingga susah melakukan perubahan ditengah proses. b. Jadwal menjadi lebih tak menentu. 2.4
Blackbox Pengujian menggunakan sekumpulan aktifitas validasi, dengan pendekatan
Black Box Testing. Menurut Shalahuddin dan Rosa (2011), Black Box Testing adalah menguji perangkat lunak dari segi spesifikasi fungsional tanpa menguji desain dan kode program. pengujian dimaksudkan untuk mengetahui apakah fungsi-fungsi, masukan, dan keluaran dari perangkat lunak sesuai dengan
http://digilib.mercubuana.ac.id/
10
spesifikasi yang dibutuhkan. Pengujian kotak hitam dilakukan dengan membuat kasus uji yang bersifat mencoba semua fungsi dengan memakai perangkat lunak apakah sesuai dengan spesifikasi yang dibutuhkan. Kasus uji yang dibuat untuk melakukan pengujian Black Box Testing harus dibuat dengan kasus benar dan kasus salah. Menurut Pressman (2010), Black Box Testing juga disebut pengujian tingkah laku, memusat pada kebutuhan fungsional perangkat lunak. Teknik pengujian Black Box memungkinkan memperoleh serangkaian kondisi masukan yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program. beberapa jenis kesalahan yang dapat diidentifikasi adalah fungsi tidak benar atau hilang, kesalahan antar muka, kesalahan pada struktur data (pengaksesan basis data), kesalahan performasi, kesalahan inisialisasi dan akhir program. 2.5
Unified Modelling Language (UML) Unified Modelling Language (UML) adalah sebuah “bahasa” yang telah
menjadi
standar
dalam
industri
untuk
visualisasi,
merancang
dan
mendokumentasikan sistem perangkat lunak. (Yasin verdi, 2012) Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. 2.5.1 Diagram Use Case Use case atau diagram atau diagram use case merupakan pemodelan untuk sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Syarat penamaan use case adalah nama didefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada use case yaitu pendefinisian apa yang disebut aktor dan use case. Aktor merupakan orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat di luar sistem informasi yang akan dibuat itu sendiri, jadi walaupun simbol dari aktor adalah gambar orang, tapi aktor belum tentu merupakan orang.
http://digilib.mercubuana.ac.id/
11
Use case merupakan fungsionalitas yang disediakan sistem sebagai unitunit yang saling bertukar pesan antar unit atau aktor. (Dennis, 2010) Berikut adalah simbol-simbol yang ada pada diagram use case: Tabel 2.1Simbol diagram use case menurut (Dennis, 2010) No
Simbol
Nama
Keterangan
1
Actor
2
Use Case
Aktor adalah orang atau sistem yang berasal dari manfaat dan eksternal untuk subjek. Digambarkan sebagai salah satu tongkat (default) atau jika aktor non-manusia yang terlibat, sebagai persegi panjang dengan aktor <<>> di dalamnya (alternatif). Merupakan bagian utama dari fungsi sistem. Dapat memperpanjang kasus penggunaan lain. Dapat mencakup use case lain. Apakah ditempatkan di dalam batas sistem. Apakah label dengan frase kata kerja-kata benda deskriptif.
Lanjutan Tabel 2.1 3
4
Generalizatio n
Merupakan kasus penggunaan khusus ke yang lebih umum. Memiliki panah yang diambil dari kasus penggunaan khusus untuk kasus penggunaan dasar.
Merupakan dimasukkannya fungsi satu kasus penggunaan dalam yang lain.
Memiliki panah yang diambil dari kasus penggunaan dasar untuk kasus penggunaan digunakan
Include
http://digilib.mercubuana.ac.id/
12
Merupakan perpanjangan dari kasus penggunaan untuk memasukkan perilaku opsional.
Memiliki panah yang diambil dari kasus penggunaan ekstensi untuk kasus penggunaan dasar.
Extend
5
6
Association Relationship
Link aktor dengan use case dengan yang berinteraksi.
7
Subject Boundary
Termasuk nama subjek di dalam atau di atas.
Merupakan lingkup subjek, misalnya, sistem atau individu proses bisnis.
2.5.2 Diagram Activity Digunakan untuk model perilaku dalam independent proses bisnis benda .Dalam banyak hal, diagram aktivitas dapat dipandang sebagai diagram aliran data yang canggih yang digunakan dalam hubungannya dengan analysis terstruktur. Namun, tidak seperti aliran data diagram, diagram aktivitas termasuk notasi yang membahas pemodelan paralel , kegiatan bersamaan dan proses.(Dennis, 2010) Tabel 2.2 Simbol diagram activity menurut (Dennis, 2010) No
Simbol
Nama
1
Activity
2
Initial Node
3
Final-Activity Node
Keterangan Merupakan sebuah gambaran aktivitas yang terjadi. Merupakan tanda awal dari sebuah aktivitas. Merupakan tanda berakhirnya sebuah aktivitas.
http://digilib.mercubuana.ac.id/
13
4 Control Flow
6
7
Menunjukkan urutan eksekusi.
Swinlane
Memisahkan organisasi yang bertanggung jawab terhadap aktifitas yang terjadi.
Merge Node
Membawa kembali jalur keputusan bersama yang berbeda yang dibuat dengan menggunakan keputusan simpul.
8 Decision Node
Pilihan untuk mrngambil keputusan. Aliran akhir.
Flow Final
9 2.5.3
Diagram Sequence Diagram sequence menggambarkan kelakuan objek pada use case dengan
mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Oleh karena itu untuk menggambar diagram sequence maka harus diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu. Banyaknya diagram sequence yang harus digambar adalah minimal sebanyak pendefinisian use case yang memiliki proses sendiri atau yang penting semua use case yang didefinisikan maka diagram sequence yang harus dibuat juga semakin banyak. (Dennis, 2010) Berikut simbol yang ada pada diagramsequence :
http://digilib.mercubuana.ac.id/
14
Tabel 2.3 Simbol diagram sequence (Dennis, 2010) No
Simbol
Nama
Keterangan
1
Actor
Orang atau sistem yang berasal dari manfaat dan eksternal ke sistem yang berpartisipasi secara berurutan dengan mengirim atau menerima pesan.
2
Object
Berpartisipasi secara berurutan dengan mengirim atau menerima pesan yang ditempatkan diatas diagram.
Execcution Menyatakan objek dalam keadaan aktif Occurrence dan berinteraksi pesan.
3
4
Message
Pesan yang mengambarkan komunikasi yang terjadi antar objek
5
Self Message
Pesan yang dikirim untuk diri sendiri secara langsung. Menyatakan kehidupan suatu objek
6
Lifeline
7
Return Message
2.6
Pesan yang dikirim untuk diri sendiri
Android Menurut Mulyadi, (2010) android merupakan subset perangkat lunak
untuk perangkat mobile yang meliputi sistem operasi, middleware dan aplikasi inti yang di release oleh google. sedangkan android SDK (Software development kit) menyediakan tools dan api yang diperlukan untuk mengembangkan aplikasi pada platform android dengan menggunakan bahasa pemrograman Java. Pada dasarnya Android adalah sebuah nama untuk sistem operasi pada suatu gadget pada komputer tablet, smartphone, dan telepon celluler. Sistem yang
http://digilib.mercubuana.ac.id/
15
digunakan berbasis Linux. Penggunaan gadget pastilah tidak asing lagi dengan sistem operasi yang dikembangkan oleh Google Inc. Ini. Simbol atau logo Android berbentuk robot dengan dua antena dikepalanya, ini melambangkan bahwa Android merupakan simbolisasi dari sistem operasi kelas atas untuk gadget dan smartphone. Dari awal peluncurannya pada tahun 2007, Android sudah beberapa kali melakukan pembaharuan versinya. Versi pada Android memiliki nama yang unik (kebanyakan dari nama makanan). 2.7
Phonegap PhoneGap adalah sebuah kerangka kerja (framework open source) yang
dipakai untuk membuat aplikasi cross-platform mobile dengan HTML, CSS, dan JavaScript. PhoneGap menjadi suatu solusi yang ideal untuk seorang web developer yang tertarik dalam pembuatan aplikasi di smartphone. PhoneGap juga merupakan solusi ideal bagi mereka yang tertarik untuk membuat sebuah aplikasi yang dapat berjalan pada beberapa perangkat smartphone dengan basis kode yang sama. Artinya, cukup hanya dengan satu kali koding saja, kita bisa membuat aplikasi untuk smartphone iPhone, Android, Blackberry, Symbian dan Palm. Jadi, dengan PhoneGap kita bisa menghemat waktu dalam membuat aplikasi untuk beberapa smartphone sekaligus. 2.7.1
Cara Kerja PhoneGap PhoneGap SDK menyediakan sebuah API, yaitu sebuah lapisan abstrak
yang menyediakan pengembang dengan akses ke fitur hardware dan platform tertentu. PhoneGap menjelaskan bahwa dengan kode yang sama dapat digunakan pada sejumlah platform mobile dengan sedikit perubahan koding ataupun tidak, yang membuat aplikasi kita dapat dipakai untuk kalangan pengguna yang lebihluas.Fitur hardware yang didukung oleh PhoneGap API:
http://digilib.mercubuana.ac.id/
16
Gambar 2.4 Fitur Phonegap API pada setiap device (www.phonegap.com) 2.8
Jquery Mobile Menurut Camded dan Matthews (2012, p1) jQury Mobile Merupakan User
Interface Framework yang menggunakan jQuery sebagai bagian utama untuk pemrogramannya. Tidak seperti framework lainnya, jQuery Mobile fokus pada HTML dan CSS dengan cara merubahnya menjadi halaman yang mobile friendly dan memungkinkan pengguna untuk berinteraksi. Menurut Camden dan Matthews (2012, p4) jQuery Mobile hanya fokus dalam User Interface sebuah aplikasi, bukan programming-nya, hal ini dibuat agar user merasakan tampilan yang sama walaupun menggunakan mobile operating system yang berbeda. Untuk memperoleh tampilan yang sama pada setiap mobile operating system jQuery Mobile membuat CSS sendiri. jQuery Mobile memiliki berbagai method yang disediakan untuk memudahkan para pengembang dalam mengembangkan halaman mobile. Method yang disediakan oleh jQuery Mobile bergantung kepada kehadiran library jQuery, sehingga untuk menggunakan jQuery Mobile dibutuhkan jQuery.
http://digilib.mercubuana.ac.id/
17
Apa yang dapat jQuery Mobile lakukan?
jQuery Mobile memudahkan pengembangan user-interface untuk mobile web apps.
The interface configuration is markup-driven, yang berarti Anda dapat membuat seluruh aplikasi antarmuka dasar dalam HTML, tanpa perlu menulis satu baris JavaScript.
Menyediakan serangkaian custom events baru, mendeteksi events mobile device,touchscreen seperti
tap, tap-and-hold, swipe, danorientation
change (i.e. rotating the device).
Memastikan bahwa user-interface bekerja pada web browser.
Menggunakan theme untuk memudahkan untuk costumized tampilan aplikasi anda.
(jquerymobile.com) 2.9
Jquery SlickQuiz Menurut Julie Cameron (2014:2) SlickQuiz merupakan Plugin jQuery
yang diciptakan untuk membuat suatu kuis atau pertanyaan-pertanyaan soal yang bersifat dinamis. Berikut ini adalah fitur dari Plugin Jquery SlickQuiz :
Pertanyaan dapat memiliki respon benar satu atau beberapa.
Jawaban memiliki pesan respon benar dan pesan respon salah.
Dapat pula ditampilkan benar dan salah di akhir kuis.
Memiliki hasil akhir nilai.
Perubahan kuis dapat disimpan ke draft.
Dapat mengacak pertanyaan dan jawaban.
Pesan respon salah dan benar dapat disesuaikan apabila ingin ditampilkan atau tidak.
Memuat sejumlah pertanyaan yang lebih besar.
Mencegah mengirimkan pertanyaan tanpa jawaban.
Memungkinkan beberapa kuis pada halaman yang sama.
http://digilib.mercubuana.ac.id/
18
2.10
HTML5
Menurut R.H. Sianipar (2015:3)HTML5adalah sebuah markup untuk menstrukturkan dan menampilkan isi dari halaman web. HTML (yang pertama kali diciptakan pada tahun 1990 dan versi keempatnya, HTML4, pada tahun 1997) dan hingga bulan Juni 2011 tetap dalam proses pengembangan. Tujuan utama pengembangan HTML5 adalah untuk memperbaiki teknologi HTML agar mendukung teknologi multimedia terbaru, mudah dibaca oleh manusia dan juga mudah dimengerti oleh mesin. HTML5 merupakan salah satu karya World Wide Web Consortium, W3C untuk mendefinisikan sebuah bahasa markup tunggal yang dapat ditulis dengan cara HTML ataupun XHTML. HTML5 merupakan jawaban atas pengembangan HTML 4.01 dan XHTML 1.1 yang selama ini berjalan terpisah, dan diimplementasikan secara berbeda-beda oleh banyak perangkat lunak pembuat web. 2.11
Eclipse Eclipse adalah sebuah IDE (Integrated Development Environment) untuk
mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse:
Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.
Mulit-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.
Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya. 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. (www.eclipse.org)
http://digilib.mercubuana.ac.id/
19
2.12
API (Application Programming Interface) Menurut Bayu Setiawan (2013:1) API (Application Programming
Interface) adalah sekumpulan perintah, fungsi, komponen, dan protokol yang disediakan oleh sistem operasi ataupun bahasa pemrograman tertentu yang dapat digunakan oleh programmer saat membangun perangkat lunak. Dalam
API
terdapat
fungsi-fungsi
atau
perintah-perintah
untuk
menggantikan bahasa yang digunakan dalam system calls dengan bahasa yang lebih terstruktur dan mudah dimengerti oleh programmer. Keuntungan menggunakan API: 1. Probabilitas API dapat digunakan untuk bahasa pemrograman ataupun untuk sistem operasi mana saja asalkan paket-paket API sudah terpasang. 2. Lebih Mudah Dimengerti API menggunakan bahasa yang lebih terstruktur dan mudah dimengerti daripada bahasa system call. Hal ini sangat penting dalam hal editing dan pengembangan. 3. Mudah Dikembangkan Dengan adanya API, memudahkan programmer untuk mengembangkan suatu system. 2.13
Android SDK Menurut Kriswanto (2013:1) AndroidSDK adalah tools API (Aplication
Programming Interface) yang digunakan untuk mulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. Android merupakan subset perangkat lunak untuk ponsel yang meliputi sistem operasi, middleware dan aplikasi kunci yang di release oleh Google. Saat ini disediakan android SDK (Software Development Kit) sebagai alat bantu dan API untuk mulai mengembangkan
aplikasi
pada
platform
Android
menggunakan
bahasa
pemrograman Java. Sebagai platform aplikasi netral, Android memberi anda
http://digilib.mercubuana.ac.id/
20
kesempatan untuk membuat aplikasi yang kita butuhkan yang bukan merupakan aplikasi bawaan smartphone. Beberapa fitur android yang paling penting adalah :
Framework aplikasi yang mendukung penggantian komponen dan reusable.
Mesin Virtual Dalvik dioptimalkan untuk perangkat mobile.
Integrated browser berdasarkan engine open source webkit.
Grafis yang dioptimalkan dan didukung oleh libraries grafis 2D, grafis 3D berdasarkan spesifikasi openGL ES 1.0 (Opsional Akselerasi Hardware).
SQLite untuk penyimpanan data.
Media Support yang mendukung audio, video,dangambar (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF), GSM Telephony (tergantung hardware).
Bluetooth, EDGE, 3G, WiFi (tergantung dari fiturhardware).
Kamera, GPS, kompas dan Accelerator (tergantung dari fiturhardware).
Lingkungan development yang lengkap dan kaya, termasuk perangkat emulator, tools untuk debuging, profil dan kinerja memori, dan plugin untuk IDE Eclipse.
http://digilib.mercubuana.ac.id/
25 http://digilib.mercubuana.ac.id/