LANDASAN TEORI
2.1 Android
Menurut Lee (2012:2), Android adalah sistem operasi mobile yang dibuat berdasarkan kernel Linux yang sudah dimodifikasi. Pada awalnya Android dikembangkan oleh Android, Inc. Google kemudian membeli Android dan mengambil alih semua pekerjaan pengembangan Android. Android adalah sistem operasi open source, dan Google merilis kodenya di bawah Lisensi Apache.
Menurut Meier (2011:4), Android merupakan gabungan dari 3 (tiga) komponen, yaitu:
1 Sistem operasi yang open-source untuk perangkat mobile.
2 Platform pengembangan yang open-source untuk membuat aplikasi mobile.
3 Perangkat, terutama mobile phone, yang menjalankan sistem operasi Android dan aplikasi yang dibuat pada sistem operasi itu.
Android memiliki banyak fitur , diantaranya adalah :
1 Storage, berfungsi sebagai tempat penyimpanan yang ringan dengan menggunakan SQLite yang terdapat di dalamnya.
2 Connectivity, mendukung teknologi seluler seperti GSM, GSM / EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth (termasuk A2DP dan AVRCP), WiFi, LTE, dan WiMAX.
3 Messaging, mendukung teknologi SMS dan MMS.
4 Web Browser, memiliki web browser yang terdapat fitur Chrome’s V8 JavaScript engine di dalamnya.
5 Media Support, dapat menjalankan beberapa file multimedia seperti H.263, H.264 (in 3GP or MP4 container), MPEG-4 SP, AMR, AMR-WB (in 3GP container), AAC, HE-AAC (in MP4 or 3GP container), MP3, MIDI, Ogg Vorbis, WAV, JPEG, PNG, GIF, dan BMP.
6 Hardware Support, mendukung teknologi hardware smartphone seperti Accelerometer Sensor, Camera, Digital Compass, Proximity Sensor dan GPS.
7 Multi-touch, mendukung multi-touch screen. 8 Multi-tasking, mendukung aplikasi multitasking 9 Flash Support, mendukung aplikasi Flash 10.1
10 Tethering, mendukung koneksi internet sharing sebagai Wi-FI Hotspot
2.1.1 Versi Android
Android telah melakukan banyak updates sejak pertama kali rilis .Berikut versi Android beserta dengan nama kodenya
Gambar 2.1 Platform Versi Android (Sumber : developer.android.com,diakses 10 April, 2015)
Berdasarkan data diatas, terdapat beberapa versi Android dari 2.2 hingga 5.0. Semakin tinggi versinya, kesempurnaan OS dan performanya semakin baik.
Penambahan versi tersebut dilakukan setiap waktu ketika API berubah dan ketika melakukan perbaikan kesalahan-kesalahan kecil atau menambah fitur-fitur baru.
2.1.2 Keunggulan Android
Menurut Meier (2011: 11), ada beberapa keunggulan dan fitur-fitur unik yang terdapat pada Android, yaitu:
1 Aplikasi Google Maps
Aplikasi Google Maps yang digunakan pada mobile sangat populer dan Android menawarkan aplikasi Google Maps yang bisa digunakan kembali pada aplikasi lain.
2 Background services and applications
Background services memungkinkan pembuatan sebuah aplikasi yang menggunakan model event-driven, berjalan tanpa terlihat bahwa aplikasi tersebut sedang berjalan ketika aplikasi lain sedang dijalankan. 3 Sharing data dan interprocess communication (IPC)
Android memungkinkan pertukaran pesan, melakukan pengolahan, dan berbagi data dengan menggunakan Content Provider.
4 Semua aplikasi yang dibuat sama
Android tidak membedakan antara aplikasi yang asli dengan yang dikembangkan oleh pihak ketiga.
2.1.3 Arsitektur Android
Gambar 2.2 Arsitektur Android (Sumber : Lee, 2011:3)
Dari gambar diatas sistem operasi Android memiliki 5 lapisan layer komponen sistem arsitektur Android, yaitu
1. Linux Kernel
Linux Kernel merupakan kernel dasar dari Android. Pada lapisan ini, berisi semua driver dari semua komponen hardware perangkat Android 2. Libraries
Pada lapisan ini, berisi semua fitur utama OS Android seperti SQLite yang memberikan dukungan database. Selain itu ada juga library WebKit yang menyediakan fungsional untuk web browsing.
3. Android Runtime
Pada lapisan ini, sama seperti lapisan libraries. Lapisan ini berfungsi menyediakan core libraries yang memungkinkan developer untuk mengembangkan aplikasi Android dengan menggunakan bahasa pemrograman Java. Android Runtime juga memiliki mesin virtual Dalvik. Mesin virtual Dalvik merupakan mesin virtual khusus yang dirancang
untuk perangkat mobile bertenaga baterai dengan memori dan CPU yang terbatas.
4. Application Framework,
Pada lapisan ini, akan menampilkan kemampuan OS Android ke dalam aplikasi pengembang sehingga mereka dapat menggunakan aplikasi mereka.
5. Application
Pada lapisan ini, anda akan menemukan aplikasi yang sedang berjalan di perangkat Smartphone Android anda seperti Browser, Contact Telepon, SMS dan aplikasi yang di download dari PlayStore. Setiap aplikasi yang diinstal, terdapat pada layer ini.
2.1.4 Android Development Tools
Android Development Tools (ADT) adalah suatu plugin yang digunakan IDE Eclipse untuk memudahkan user dalam pengembangan aplikasi Android. User dapat membuat aplikasi project Android, membuat Graphic User Interface (GUI) aplikasi, membuat penambahan package Android (.apk) yang digunakan untuk mendistribusikan aplikasi Android menggunakan ADT (developer.android.com).
2.1.5 Android Software Development Kit (SDK
Android SDK merupakan tools Application Programming Interface (API) yang diperlukan ketika memulai mengembangkan aplikasi Android menggunakan bahasa pemrograman Java. Terdapat beberapa jenis paket berbeda yang telah tersedia pada Android SDK (developer.android.com), yaitu:
a. SDK Tools
Merupakan tools untuk debugging dan testing, ditambah dengan proses lain yang diperlukan untuk mengembangkan sebuah aplikasi.
b. SDK Platform-tools
Tools ini mendukung fitur terbaru dari Android platform. c. Documentation
d. SDK Platform
Pada setiap versi Android terdapat satu SDK platform yang tersedia yaitu Android.jar yang sepenuhnya kompatibel dengan Android library. Developer harus menentukan SDK platform yang digunakan untuk membuat sebuah aplikasi.
e. System Images
Emulator android memerlukan gambar sistem untuk beroperasi. Developer harus selalu menguji aplikasi pada versi terbaru dari android serta menggunakan emulator dengan gambar sistem terbaru untuk mendapatkan hasil yang terbaik.
f. Source for Android SDK
Sebuah salinan (copy) source code dari Android platform yang berguna untuk membantu developer saat membuat aplikasi.
g. Samples for SDK
Merupakan kumpulan contoh aplikasi yang menunjukkan berbagai macam API platform. Hal ini merupakan sumber daya yang luar biasa untuk menelurusi application code.
h. Google APIs
SDK add-on yang menyediakan sebuah platform yang dapat digunakan untuk mengembangkan sebuah aplikasi khusus menggunakan Google API dan gambar sistem untuk emulator sehingga dapat menguji aplikasi yang dibuat.
i. Android Support
Menyediakan static libraries yang termasuk dalam sumber-sumber aplikasi developer untuk menggunakan API yang tidak tersedia dalam standard platform.
j. Google Play Billing
Menyediakan static libraries dan contoh yang mengizinkan user untuk mengintegrasikan layanan penagihan (billing) pada aplikasi yang dibuat ketika dilakukan distribusi melalui Google Play.
Menyediakan static libraries dan contoh yang mengizinkan user untuk menampilkan license verification pada aplikasi yang dibuat ketika dilakukan distribusi melalui Google Play
2.2 Java
Menurut Schildt (2012:2), Java merupakan bahasa pemrograman yang dikembangkan oleh James Gosling, Patrick Naughton, Chris Warth, Ed Frank dan Mike Sheridan di Sun Microsystem pada tahun 1991. Pada awalnya, bahasa pemrograman ini disebut “Oak”, namun berubah nama menjadi Java pada tahun 1995.
Berikut merupakan beberapa kelebihan bahasa pemrograman Java : 1. Simple
Java dirancang dengan seperangkat fitur yang membuatnya lebih mudah dipelajari dan digunakan.
2. Secure
Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem computer yang menjalankan aplikasi tersebut.
3. Portable dan Cross Platform
Program Java dapat dijalankan di environment manapun yang memiliki Java run-time system. Program Java juga dapat dengan mudah dibawa ke platform yang berbeda-beda tanpa harus kompilasi ulang. Java juga menyediakan cross-platform code.
4. Object-Oriented
Java menggunakan bahasa pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali. Ada tiga konsep dalam OOP yaitu : encapsulation, polymorphism dan inheritance.
5. Multithread
Java memiliki kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan sekaligus dan simultan.
2.3 Eclipse
Eclipse adalah suatu software yang bersifat open source dan multi
language. Eclipse terdiri dari Integrated Development Environment (IDE) dan
sistem extensible plugin. Eclipse dapat digunakan untuk mengembangkan berbagai jenis aplikasi dengan menggunakan berbagai bahasa pemrograman seperti Java, C, C++, COBOL, Python, C# dan lain-lain (Lee, 2011:7).
Eclipse mendukung ekstensi tambahan dari pihak third-party dan merupakan sebuah IDE karena menyediakan tools untuk mengatur workspace; dapat membangun, menjalankan dan debug aplikasi; dan melakukan penyesuaian terhadap pemrograman
2.4 PHP (PHP Hypertext Preprocessor)
Menurut Doyle (2010:3), PHP merupakan bahasa pemrograman pembangun website yang dinamis dan interaktif. Secara umum, program PHP banyak digunakan pada web server dan menampilkan halaman web sesuai kebutuhan.
Kode PHP dapat dimasukkan ke halaman HTML. PHP akan mengeksekusi setiap kali halaman web tersebut diakses. Kode PHP ini akan diterjemahkan oleh web server dan akan dijalankan bersamaan dengan HTML dan output lainnya. PHP banyak digunakan oleh Internet Service Provider (ISP) serta perusahaan web hosting sehingga banyak developer menggunakannya saat ini.
Berikut beberapa kelebihan PHP (www.w3schools.com) :
1. Performa PHP sangat tinggi. Jutaan hits dapat dilayani setiap harinya hanya menggunakan single server yang murah.
2. Kemampuan yang terhubung dengan banyak sistem basis data seperti MySQL, PostgreSQL, mSGL, DBM, FilePro, Hyperware Informix dan Interbase
3. PHP compatible terhadap hampir semua server baik Apache, IIS dan lainnya
5. Mudah dipelajari dan digunakan karena PHP dibuat berdasarkan bahasa pemrograman dasar yaitu C dan Perl
6. PHP dapat dijalankan pada beberapa sistem operasi seperti Windows,
Linux, Unix, Mac OS X dan lainnya
7. Source Code PHP dapat diakses dan diubah tidak seperti produk komersil
lainnya
8. PHP menyediakan file dokumentasi sehingga mudah dipelajari
2.5 MYSQL
Menurut Nixon (2012:161), MySQL adalah database manajemen sistem yang paling popular untuk web server. MySQL di rancang pada pertengahan tahun 1990 dan saat ini, MySQL hampir dipakai oleh pengguna internet di seluruh dunia.
Keunggulan MySQL adalah MySQL Enterprise, dimana terdapat beberapa tool yang bermanfaat untuk testing software, alat monitoring aktif dan layanan dukungan premium di dalammya yang terjangkau. (www.mysql.com). Berikut kelebihan database MySQL (www.mysql.com) :
1. Database MySQL merupakan database terbaik yang sering digunakan untuk aplikasi online.
2. Tersedia dan terjangkau bagi semua pihak pengguna karena gratis 3. Mudah digunakan
4. Aman, cepat dan tetap handal digunakan. 5. Bebas dari bug
6. Availability of support. Tidak semua produk open source memiliki induk perusahaan pendukung, training, consulting, dan sertifikasi. MySQL memberikan semua itu melalui MySQL AB.
2.6 JSON (Javascript Object Notation)
JSON adalah adalah format pertukaran data yang ringan, berbasis teks, mudah dibaca, dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. Format ini sering digunakan bersama dengan bahasa XML untuk mengambil data dari server. (Stefanov & Sharma, 2013:288)
JSON merupakan format teks yang tidak bergantung pada bahasa pemrograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data.
2.7 Database
Database atau basis data adalah sistem yang terkomputerisasi yang tujuan utamanya adalah memelihara data yang sudah diolah atau informasi dan membuat informasi tersedia saat dibutuhkan. Pada intinya, basis data adalah media untuk menyimpan data agar dapat diakses dengan mudah dan cepat. (A.S dan Shalahuddin, 2014:43).
Sistem informasi tidak dapat dipisahkan dengan kebutuhan akan basis data apapun bentuknya baik berupa file teks ataupun DBMS (Database Management System). Kebutuhan basis data dalam sistem informasi meliputi :
1 Memasukkan, menyimpan, dan mengambil data
2 Membuat laporan berdasarkan data yang telah disimpan.
2.8 SDLC (System Development Life Cycle)
SDLC (System Development Life Cycle) adalah proses mengembangkan atau mengubah suatu sistem perangkat lunak dengan menggunakan model-model dan metodologi yang digunakan orang untuk mengembangkan sistem perangkat lunak sebelumnya (berdasarkan best practice atau cara-cara yang sudah teruji baik) (A.S dan Shalahuddin, 2014:26).
Tahapan-tahapan SDLC secara global adalah sebagai berikut : 1. Inisiasi (initiation)
Tahap ini biasanya ditandai dengan pembuatan proposal proyek perangkat lunak
Tahap ini mendefinisikan lingkungan konsep termasuk dokumen lingkup sistem, analisis manfaat biaya, manajemen rencana, dan pembelajaran kemudahan sistem
3. Perencanaan (planning).
Tahap in imengembangkan rencana manajemen proyek dan dokumen perencanaan lainnya. Menyediakan dasar untuk mendapatkan sumber daya yang dibutuhkan untuk memperoleh solusi.
4. Analisis kebutuhan (requirement analysis)
Menganalisis kebutuhan pemakai sistem perangkat lunak (user) dan mengembangkan kebutuhan user. Membuat dokumen kebutuhan fungsional
5. Desain (design)
Mentransformasikan kebutuhan detail menjadi kebutuhan yang sudah lengkap, dokumen desain sistem fokus pada bagaimana dapat memenuhi fungsi-fungsi yang dibutuhkan
6. Pengembangan (development)
Mengkonversi desain ke sistem informasi yang lengkap termasuk
bagaimana memperoleh dan melakukan instalasi lingkungan sistem yang dibutuhkan, membuat basis data dan mempersiapkan prosedur kasus pengujian. Selain itu juga mempersiapkan berkas pengujian, pengkodean, kompilasi, perbaikan program serta peninjauan pengujian program 7. Integrasi dan pengujian (integration and testing)
Mendemonstrasikan sistem perangkat lunak bahwa telah memenuhi kebutuhan yang memenuhi syarat pada dokumen fungsional. 8. Implementasi (implementation)
Tahap ini termasuk persiapan implementasi, implementasi perangkat lunak pada lingkungan user dan menjelaskan resolusi dari permasalahan yang telah teridentifikasi dari fase integrasi dan pengujian
9. Operasi dan pemeliharaan (operations and maintenance)
Mendeskripsikan pekerjaan untuk mengoperasikan dan memelihara sistem informasi pada lingkungan user, termasuk implementasi akhir dan masuk ke proses peninjauan
10. Disposisi (disposition)
Mendeskripsikan aktifitas akhir dari pengembangan sistem dan membangun data yang sebenarnya sesuai aktiftas user
2.8.1 Model SDLC
SDLC memiliki beberapa model dalam penerapan tahapan prosesnya salah satunya adalah model Waterfall. Berikut penjelasan model Waterfall yang dipakai dalam tahap pengembangan sistem :
1. Model Waterfall
Model waterfall atau air terjun sering disebut model sekuensial linier (sequential linear) atau alur hidup klasik (classic life). Model ini menyediakan pendekatan alur hidup dimulai dari analisis, desain, pengkodean, pengujian dan tahap pendukung.
Gambar 2.3 Ilustrasi Model Waterfall (A.S dan Shalahuddin, 2014:29)
Model waterfall sangat cocok untuk kebutuhan pelanggan yang sudah dipahami. Keuntungan dari model ini adalah struktur tahap pengembangan jelas, dokumentassi dihasilkan di setiap tahap pengembangan, dan sebuah tahap dijalankan setelah tahap sebelumnya selesai dijalankan.
Sedangkan kelemahan dari model ini jarangnya model ini dilakukan sesuai alurnya karena sebab berikut :
Analisis
Desain
Pengkodean
● perubahan spesifikasi perangkat lunak terjadi di tengah alur pengembangan
● sangat sulit bagi user untuk mendefisinikan semua spesifikasi di awal alur pengembangan
● user tidak mungkin bersabar mengakomodasi perubahan yang diperlukan di akhir alur pengembangan
2.9 UML (Unified Modeling Language)
UML (Unified Modeling Language) adalah salah satu standar bahasa yang digunakan di dunia industri untuk mendefinisikan requirement, membuat analisis dan desain, serta menggambarkan arsitektur dalam pemrograman berorientasi objek (A.S dan Shalahuddin, 2014:137).
Secara fisik, UML adalah sekumpulan spesifikasi yang dikeluarkan oleh OMG (Object Management Group). UML yang terbaru adalah UML 2.3, yang terdiri dari 4 macam spesifikasi yaitu Diagram Interchange Specification, UML
Infrastructure, UML Supersctructure dan Object Constraint Language. Seluruh
spesifikasi tersebut dapat diakses di website http://www.omg.org.
2.9.1 Diagram UML
Pada UML 2.3, terdiri dari 13 macam diagram yang dikelompokkan ke dalam 3 kategori. Pembagian kategori dan macam-macam diagram tersebut dapat dilihat pada gambar dibawah ini :
Gambar 2.4 Diagram UML (A.S dan Shalahuddin, 2014:140)
Berikut penjelasan singkat dari 3 kategori diagram diatas :
● Structure diagrams yaitu kumpulan diagram yang digunakan untuk menggambarkan suatu struktur statis dari sistem yang dimodelkan. Yang termasuk kategori diagram ini adalah Class Diagram, Object Diagram,
Component Diagram, Composite Diagram, Package Diagram dan Deployment Diagram.
● Behaviour diagram yaitu kumpulan diagram yang digunakan untuk menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada sebuah sistem. Yang termasuk kategori dari diagram ini adalah Use
Case Diagram, Activity Diagram dan State Machine Diagram UML 2.3
Diagram
Behaviour
Diagram Interaction Diagram Structure Diagram Class Diagram ObjectDiagram Component Diagram Composite Diagram Package Diagram Deployment Diagram Use Case Diagram Activity Diagram State Machine Diagram Sequence Diagram Communication Diagram Timing Diagram Interaction Overview Diagram
● Interaction diagram yaitu kumpulan diagram yang digunakan untuk menggambarkan interaksi sistem dengan sistem lain maupun interaksi antar subsistem pada suatu sistem. Yang termasuk dari kategori diagram ini adalah Sequence Diagram, Communication Diagram, Timing Diagram dan Interaction Diagram.
Dari ketiga kategori diatas, penulis hanya menggunakan beberapa diagram saja untuk pembuatan aplikasi ini, antara lain : Use Case Diagram, Activity
Diagram, Sequence Diagram dan Class Diagram. Beberapa diagram tersebut
dirasa telah cukup memenuhi kebutuhan pembuatan sistem pada penulisan dan telah mewakili dari ketiga kategori diatas
2.9.2 Use Case Diagram
Use Case diagram atau diagram use case adalah pemodelan untuk
kelakuan (behaviour) sistem informasi yang akan dibuat. Use Case mendeskripsikan sebuah interaksi antara satu atau lebih aktor dengan sistem informasi yang akan dibuat (A.S dan Shalahuddin, 2014:155).
Syarat penamaan pada use case adalah nama diedefinisikan sesimpel mungkin dan dapat dipahami. Ada dua hal utama pada use case yaitu pendefinisian pada 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 aktor adalah orang, namun aktor belum tentu merupakan orang.
● Use case merupakan fungsionalitas yang disediakan sebuah sistem sebagai unit-unit yang saling bertukar pesan antar unit atau actor
Berikut simbol-simbol yang ada pada diagram use case
Tabel 2.1 Simbol-simbol pada use case diagram (Sumber: Rosa A.S dan Shalahuddin, 2013:156-158)
Simbol Deskripsi
sebagai unit-unit yang saling bertukar pesan antar unit atau aktor. Biasanya dinyatakan dengan menggunakan kata kerja di awal frasa nama usecase
Aktor / actor
nama aktor
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 orang, belum tentu merupakan
orang. Biasanya dinyatakan
menggunakan benda di awal frasa nama aktor
asosiasi / association komunikator antara aktor dan use case yang berpartisipasi pada use case atau use case yang memiliki interaksi dengan aktor
Extend relasi use case tambahan ke sebuah use
case dimana use case yang ditambahkan dapat berdiri sendiri walau tanpa use case tambahan itu. Mirip dengan inheritance pada pemrograman berorientasi objek, biasanya use case tambahan memiliki nama depan yang sama dengan use case yang ditambahkan, misal :
Generalisasi / generalization Hubungan generalisasi dan
spesialisasi (umum-khusus) antara dua
Nama use case
validasi username
validasi user
validasi sidik jari <<extend>>
buah use case dimana fungsi yang satu adalah fungsi yang lebih umum dari lainnya, misalnya :
Menggunakan include / uses Relasi use case tambahan ke sebuah
use case dimana use case yang
ditambahkan memerlukan use case ini untuk menjalankan fungsinya atau sebagai syarat dijalankan use case ini. Ada dua sudut pandang mengenai include di use case :
● include berarti use case yang ditambahkan akan selalu dipanggil saat use case tambahan akan dijalankan. Misal pada kasus seperti berikut :
● include berarti use case yang tambahan akan selalu
melakukan pengecekan apakah use case yang ditambahkan telah dijalankan sebelum use case tambahan dijalankan, misal pada kasus seperti ini :
Validasi Username Ubah Data <<include>> Validasi Username Login <<include>>
Kedua interpretasi di atas dapat dianut salah satu atau keduanya tergantung pada pertimbangan dan interpretasi yang dibutuhkan
Gambar 2.5 Contoh Use Case Diagram (Sumber : uml-diagram.org ,diakses 20 April, 2015)
2.9.2.1 Use Case Description
Use Case Description berisi daftar rincian untuk use case. Setiap use case
harus dijelaskan alur prosesnya melalui sebuah deskripsi use case (use case
description) atau scenario use case. Deskripsi use case berisi:
• Nama use case yaitu penamaan use case yang menggunakan kata kerja • Deskripsi yaitu penjelasan mengenai tujuan use case dan nilai yang
akan didapatkan oleh aktor
• Kondisi sebelum (pre-condition) yaitu kondisi-kondisi yang perlu ada sebelum use case dilakukan.
• Kondisi sesudah (post-condition) yaitu kondisi-kondisi yang sudah dipenuhi ketika uses case sudah dilaksanakan
• Alur dasar (basic flow) yaitu alur yang menceritakan jika semua aksi yang dilakukan adalah benar atau proses yang harusnya terjadi
Alur alternatif (alternatif flow) yaitu alur yang menceritakan aksi alternatif, yang berbeda dari alur dasar.
Gambar 2.6 Contoh Use Case Description (Sumber: Dennis et al, 2012:155) 2.9.3 Activity Diagram
Diagram aktivitas atau activity diagram adalah diagram yang menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak. Yang perlu diperhatikan disini adalah bahwa activity diagram menggambarkan aktivitas sistem, bukan apa yang dilakukan aktor (A.S dan Shalahuddin, 2014:161).
Activity diagram juga banyak digunakan untuk mendefinisikan hal-hal
● rancangan proses bisnis dimana setiap urutan aktivitas yang digambarkan merupakan proses bisnis sistem yang didefinisikan
● urutan atau pengelompokan tampilan dari sistem / user interface dimana setiap aktivitas dianggap memiliki sebuah user rancangan antarmuka tampilan
● rancangan pengujian dimana setiap aktivitas dianggap memerlukan sebuah pengujian yang perlu didefinisikan kasus ujinya
● rancangan menu yang ditampilkan pada perangkat lunak Berikut adalah simbol-simbol yang ada pada activity diagram :
Tabel 2.2 Simbol-simbol pada activity diagram (Sumber: Rosa A.S dan.Shalahuddin, 2013:156
Simbol Deskripsi
status awal status awal aktivitas sistem, sebuah
diagram aktivitas memiliki sebuah status awal
aktivitas aktivitas yang dilakukan sistem,
aktivitas biasanya diawali dengan kata kerja
percabangan / decision asosiasi percabangan dimana jika ada
pilihan aktvitas lebih dari satu
penggabungan / join asosiasi penggabungan dimana lebih
dari satu aktivitas digabungkan menjadi satu
status akhir status akhir yang dilakukan sistem,
sebuah diagram aktivitas memiliki status akhir
swimlane
atau
memisahkan organisasi bisnis yang bertanggung jawab terhadap aktivitas yang terjadi
2.9.4 Sequence Diagram
Sequence diagram adalah diagram yang menggambarkan kelakuan objek pada use case dengan mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima antar objek. Oleh karena itu, untuk menggambar
sequence diagram, maka harus diketahui objek-objek yang terlibat dalam sebuah
use case beserta metode-metode yang dimiliki kelas yang diinstansiasi menjadi objek itu (A.S dan Shalahuddin, 2014:165).
Banyaknya sequence diagram yang harus digambar adalah minimal sebanyak pendefinisian use case yang memiliki proses sendiri atau yang penting semua use case yang telah didefinisikan. Jadi semakin banyak use case yang didefinisikan, maka semakin banyak sequence diagram yang dibuat.
Berikut simbol-simbol yang ada pada sequence diagram :
Tabel 2.3 Simbol-simbol pada sequence diagram (Sumber: Rosa A.S dan.Shalahuddin, 2013:165-167)
Simbol Deskripsi
Aktor
nama aktor atau
tanpa waktu aktif
orang, proses, atau sistem lain yang berinteraksi dengan sistem informasi yang akan dibuat diluar sistem
informasi yang akan dibuat itu sendiri. Walaupun simbol dari aktor itu adalah gambar orang, tapi aktor belum tentu orang. Biasanya dinyatakan
menggunakan kata benda di awla frase nama aktor
Garis hidup / lifeline menyatakan kehidupan suatu objek
Objek menyatakan objek yang berinteraksi dengan pesan
Waktu aktif menyatakan objek dalam keadaan aktif
dan berinteraksi. Semua yang
terhubung dengan waktu aktif adalah sebuah tahapan yang dilakukan di dalamnya, misalnya :
maka cekStatuslogin() dan open() dilakukan di dalam metode login(). Aktor tidak memiliki waktu aktif
Pesan tipe create menyatakan suatu objek membuat
objek lain, arah panah mengarah pada objek yang dibuat
Pesan tipe call menyatakan suatu objek memanggil
operasi / metode yang ada pada objek lain atau dirinya sendiri
nama objek : nama kelas
1 : login () 2 : cekStatusLogin() 3 : open() <<create>> 1 :
Pesan tipe send menyatakan bahwa suatu objek mengirimkan data / masukan / informasi ke objek lainnya. Arah panah mengarah pada objek yang dikirimi
Pesan tipe return menyatakan bahwa suatu objek yang
telah menjalankan suatu operasi atau metode menghasilkan suatu kembalian ke objek tertentu, arah panah
mengarah ke objek yang menerima kebalikannya.
Pesan tipe destroy menyatakan suatu objek mengakhiri
hidup objek yang lain, arah panah mengarah objek yang diakhiri, Sebaiknya jika ada create maka ada destroy
1 : masukan
Gambar 2.8 Contoh Sequence Diagram (uml-diagram.org, diakses 20 April, 2015) 2.9.5 Class Diagram
Class Diagram atau diagram kelas adalah diagram yang menggambarkan
struktur sistem dari segi pendefinisian kelas-kelas yang akan dibuat untuk membangun sistem (A.S dan Shalahuddin, 2014:141).
Class memiliki atribut dan metode atau operasi. Atribut adalah variabel-variabel yang dimiliki oleh suatu class. Sedangkan metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas.
Tabel 2.4 Simbol-simbol pada class diagram (Sumber: Rosa A.S dan.Shalahuddin, 2013:146) Simbol Deskripsi Kelas Nama_kelas +atribut +operasi()
kelas pada struktur sistem
antarmuka /interface nama_interface
sama dengan konsep interface dalam pemrograman berorientasi objek
asosiasi / association relasi antarkelas dengan makna umum. asosiasi biasanya juga disertai dengan multiplicity
asosiasi berarah / directed association relasi antarkelas dengan makna kelas yang satu digunakan oleh kelas yang lain, asosiasi biasanya juga disertai dengan multiplicity
generalisasi relasi antar kelas dengan makna
generalisasi-spesialisasi (umum-khusus)
ketergantungan / dependency relasi antarkelas dengan makna
kebergantungan antar kelas
agregasi / aggregation relasi antar kelas dengan makna
Gambar 2.9 Contoh Class Diagram (uml-diagram.org, diakses 20 April, 2015) 2.9.6 Navigation Diagram
Navigation Diagram disebut juga Interface Structure Diagram adalah
diagram yang mendefinisikan komponen dasar antarmuka dan bagaimana mereka bekerja untuk menyediakan fungsionalitas bagi pengguna. (Dennis et al, 2012:323).
Navigation diagram berfungsi untuk menunjukkan bagaimana bentuk layar, menu dan laporan ditampilkan dan digunakan oleh sistem terkait dan bagaimana pengguna berpindah dari satu menu ke menu lain.
Gambar 2.10 Contoh Navigation Diagram (Dennis et al, 2012:326) 2.10 Software Testing
Software Testing adalah serangkaian kegiatan yang bertujuan untuk mengidentifikasi suatu kegagalan di dalam perangkat lunak atau sistem dan mengevaluasi tingkat kualitas, dan kepuasan pengguna. (Homes , 2012:7).
Di dalam pengujian perangkat lunak, ada dua jenis metode yang dilakukan yaitu White Box Testing dan Black Box Testing.
White Box Testing adalah metode pengujian perangkat lunak dimana
penguji meneliti struktur program yang berasal dari logika sumber program / code. White Box Testing bertujuan untuk mengidentifikasikan bug di dalam fungsi, struktur data, atau tampilan antarmuka ketika program dijalankan oleh
user sebagai seorang pelanggan atau pengguna
1. Pengujian dapat dimulai pada tahap awal. Tidak perlu menunggu GUI aplikasi tersedia seluruhnya
2. Pengujian dapat dilakukan lebih menyeluruh Kerugian dari metode White Box Testing adalah :
1. Pengujian bisa sangat kompleks dengan syarat skill yang terampil terutama pengetahuan lebih mendalam tentang pemrograman dan implementasi
2. Pemeliharaan script testing dapat menjadi beban apabila sering terjadi perubahan
3. Menghabiskan waktu dan biaya untuk melakukan pengujian ini
Sedangkan Black Box Testing metode pengujian perangkat lunak yang meneliti fungsi dari aplikasi yang fokusnya pada antarmuka yang dijelaskan di dalam spesifikasi dokumentasi atau terlihat di dalam pengamatan yang sederhana tanpa mengganggu struktur program (code) aplikasi (Homes, 2012:143).
Keuntungan dari Black Box Testing adalah sebagai berikut :
1. Pengujian dilakukan dari sudut pandang pengguna dan membantu dalam menentukan perbedaan spesifikasi
2. Penguji tidak harus mengetahui bahasa pemrograman atau bagaimana perangkat lunak diimplementasikan
3. Pengujian dapat dilakukan secara independen oleh pihak lain yang untuk menghindari bias Developer
4. Uji kasus dapat dirancang dengan segera jika spesifikasi telah lengkap Kerugian dari Black Box Testing adalah sebagai berikut :
1. Hanya sejumlah kecil masukan yang dapat diuji dan mungkin program lain bisa saja belum diuji
2. Tanpa spesifikasi yang tidak jelas, maka apabila pengujian ini diterapkan di banyak proyek maka pengujian ini sulit dilakukan
3. Pengujian dilakukan berlebihan jika sebelumnya telah diuji oleh