BAB II LANDASAN TEORI
2.1
Pengertian Android Android adalah sistem operasi berbasis Linux yang dirancang untuk
perangkat bergerak layar sentuh seperti telepon pintar dan komputer tablet. Android awalnya dikembangkan oleh Android, Inc., dengan dukungan finansial dari Google, yang kemudian membelinya pada tahun 2005. Sistem operasi ini dirilis secara resmi pada tahun 2007, bersamaan dengan didirikannya Open Handset Alliance, konsorsium dari perusahaan-perusahaan perangkat keras, perangkat lunak, dan telekomunikasi yang bertujuan untuk memajukan standar terbuka perangkat seluler. Ponsel
Android
pertama
mulai
dijual
pada
bulan
Oktober
2008.
(www.android.com, 2016) 2.2
Sejarah Android Android, Inc. didirikan di Palo Alto, California, pada bulan Oktober 2003
oleh Andy Rubin (pendiri Danger), Rich Miner (pendiri Wildfire Communications, Inc.), Nick Sears (mantan VP T-Mobile), dan Chris White (kepala desain dan pengembangan antarmuka WebTV) untuk mengembangkan "perangkat seluler pintar yang lebih sadar akan lokasi dan preferensi penggunanya". Tujuan awal pengembangan Android adalah untuk mengembangkan sebuah sistem operasi canggih yang diperuntukkan bagi kamera digital, namun kemudian disadari bahwa pasar untuk perangkat tersebut tidak cukup besar, dan pengembangan Android lalu dialihkan bagi pasar telepon pintar untuk menyaingi Symbian dan Windows Mobile (iPhone Apple belum dirilis pada saat itu). Meskipun para pengembang Android adalah pakar-pakar teknologi yang berpengalaman, Android Inc. dioperasikan secara diam-diam, hanya diungkapkan bahwa para pengembang sedang menciptakan sebuah perangkat lunak yang diperuntukkan bagi telepon seluler. Masih pada tahun yang sama, Rubin kehabisan uang. Steve Perlman, seorang teman
5
http://digilib.mercubuana.ac.id/
dekat Rubin, meminjaminya $10.000 tunai dan menolak tawaran saham di perusahaan. Google mengakuisisi Android Inc. pada tanggal 17 Agustus 2005, menjadikannya sebagai anak perusahaan yang sepenuhnya dimiliki oleh Google. Pendiri Android Inc. seperti Rubin, Miner dan White tetap bekerja di perusahaan setelah diakuisisi oleh Google. Setelah itu, tidak banyak yang diketahui tentang perkembangan Android Inc., namun banyak anggapan yang menyatakan bahwa Google berencana untuk memasuki pasar telepon seluler dengan tindakannya ini. Di Google, tim yang dipimpin oleh Rubin mulai mengembangkan platform perangkat seluler dengan menggunakan kernel Linux. Google memasarkan platform tersebut kepada produsen perangkat seluler dan operator nirkabel, dengan janji bahwa mereka menyediakan sistem yang fleksibel dan bisa diperbarui. Google telah memilih beberapa mitra perusahaan perangkat lunak dan perangkat keras, serta mengisyaratkan kepada operator seluler bahwa kerja sama ini terbuka bagi siapapun yang ingin berpartisipasi. (Android; www.android.com, 2016) 2.2.1
Perkembangan Versi Android Versi Android diawali dengan dirilisnya Android beta pada bulan
November 2007. Versi komersial pertama, Android 1.0, dirilis pada September 2008. Android dikembangkan secara berkelanjutan oleh Google dan Open Handset Alliance (OHA), yang telah merilis sejumlah pembaruan sistem operasi ini sejak dirilisnya versi awal. Sejak April 2009, versi Android dikembangkan dengan nama kode yang dinamai berdasarkan makanan pencuci mulut dan penganan manis. Masing-masing versi dirilis sesuai urutan alfabet, yakni Cupcake (1.5), Donut (1.6), Eclair (2.0– 2.1), Froyo (2.2–2.2.3), Gingerbread (2.3–2.3.7), Honeycomb (3.0–3.2.6), Ice Cream Sandwich (4.0–4.0.4), Jelly Bean (4.1–4.3), KitKat (4.4+), Lollipop (5.0+), Marshmallow (6.0)Pada tanggal 3 September 2013, Google mengumumkan bahwa sekitar 1 miliar perangkat seluler aktif di seluruh dunia menggunakan OS Android. (www.android.com, 2016) 2.2.2
Android SDK (Software Development Kit)
6
http://digilib.mercubuana.ac.id/
Android SDK adalah tools API(Application Programming Interface) yang diperlukan untuk memulai mengembangkan aplikasi pada platform Android menggunakan bahasa pemrograman Java. 2.3
Algoritma Selection Sort Selection sort adalah mencari elemen yang tepat untuk diletakkan di posisi
yang telah diketahui, dan meletakkannya di posisi tersebut setelah data tersebut ditemukan. Selection Sort Membandingkan elemen yang sekarang dengan elemen yang berikutnya sampai dengan elemen yang terakhir. Jika ditemukan elemen lain yang lebih kecil dari elemen sekarang maka dicatat posisinya dan kemudian ditukar(Swap) dan begitu seterusnya(Triono 2010). Algoritma selection sort memilih elemen maksimum/minimum array, lalu menempatkan elemen maksimum/minimum itu pada awal atau akhir array (tergantung pada urutannya ascending /descending). Selanjutnya elemen tersebut tidak disertakan pada proses selanjutnya. Karena setiap kali selection sort harus membandingkan elemen-elemen data, algoritma ini termasuk dalam comparisonbased sorting. Seperti pada algoritma Bubble Sort, proses memilih nilai maksimum / minimum dilakukan pada setiap pass. Jika array berukuran N, maka jumlah pass adalah N-1 (Nugroho 2005). Terdapat pendekatan dalam metode pengurutan dengan Selection Sort : 1. Algoritma pengurutan maksimum (maximum selection sort), yaitu memilih elemen maksimum sebagai basis pengurutan. 2. Algoritma pengurutan minimum (minimum selection sort), yaitu memilih elemen minimum sebagai basis pengurutan. Cara kerja metode ini didasarkan pada pencarian elemen dengan nilai terkecil. kemudian dilakukan penukaran dengan elemen ke-I. Secara singkat metode ini bisa dijelaskan sebagai berikut. Pada langkah pertama, dicari data yang terkecil dari data pertama sampai terakhir. Kemudian data tersebut kita tukar dari data pertama. Dengan demikian, data pertama sekarang mempunyai nilai paling kecil dibanding dengan data lain. Pada langkah kedua, data terkecil kita cari mulai dari data kedua sampai data terakhir. Data terkecil yang kita peroleh kita tukar dengan data kedua. Demikian seterusnya sampai seluruh data terurut. Contoh dari proses sorting dengan menggunakan metode Selection sort :
7
http://digilib.mercubuana.ac.id/
Gambar 2.1 Algoritma Selection Sort
2.4
Model Proses Rapid Application Development (RAD) Rapid application development (RAD) atau rapid prototyping adalah model
proses pembangunan perangkat lunak yang tergolong dalam teknik incremental (bertingkat). RAD menekankan pada siklus pembangunan pendek, singkat, dan cepat. Waktu yang singkat adalah batasan yang penting untuk model ini. Rapid application development menggunakan metode iteratif (berulang) dalam mengembangkan
sistem
dimana
working
model
(model
kerja)
sistem
dikonstruksikan di awal tahap pengembangan dengan tujuan menetapkan kebutuhan (requirement) pengguna. Model kerja digunakan hanya sesekali saja sebagai basis desain dan implementasi sistem akhir. Rapid Application Development (RAD) adalah metodologi pengembangan perangkat lunak yang berfokus pada membangun aplikasi dalam waktu yang sangat singkat. Istilah ini menjadi kata kunci pemasaran yang umum menjelaskan aplikasi yang dapat dirancang dan dikembangkan dalam waktu 60-90 hari, tapi itu awalnya ditujukan untuk menggambarkan suatu proses pembangunan yang melibatkan application prototyping dan iterative development. Menurut James Martin “Rapid Application Development (RAD) merupakan pengembangan siklus yang dirancang untuk memberikan pengembangan yang jauh
8
http://digilib.mercubuana.ac.id/
lebih cepat dan hasil yang lebih berkualitas tinggi daripada yang dicapai dengan siklus hidup tradisional. Hal ini dirancang untuk mengambil keuntungan maksimum dari pengembangan perangkat lunak yang telah berevolusi baru-baru ini." Profesor Clifford Kettemborough dari College Whitehead, University of Redlands, mendefinisikan Rapid Application Development sebagai "pendekatan untuk membangun sistem komputer yang menggabungkan Computer-Assisted Software Engineering (CASE) tools dan teknik, user-driven prototyping, RAD meningkatkan kualitas sistem secara drastis dan mengurangi waktu yang diperlukan untuk membangun sistem." Sebagai gambaran umum, pengembangan aplikasi berarti mengembangkan aplikasi pemrograman yang bervariasi dari pemrograman umum dalam arti bahwa ia memiliki tingkat yang lebih tinggi dari liabillity, termasuk untuk kebutuhan capturing dan testing. Pada 1970- an, Rapid Application Development muncul sebagai respon untuk non-agile processes, seperti model Waterfall. Pengembang perangkat lunak menghadapi masalah waktu dengan metodologi sebelumnya sebagai sebuah aplikasi yang begitu lama untuk membangun. Dengan demikian, metodologi tersebut sering mengakibatkan sistem tidak dapat digunakan. 2.4.1
Sejarah Rapid Application Development Siklus hidup Tradisional dirancang di tahun 1970-an, dan masih banyak
digunakan hingga saat ini, berdasarkan pendekatan terstruktur yang bertahap untuk mengembangkan sistem. Urutan atau langkah-langkah yang rumit ini memaksa user untuk keluar setelah menyelesaikan spesifikasi masing-masing sebelum pengembangan dapat melanjutkan ke langkah berikutnya. Persyaratan dan perencanaan kemudian berhenti dan sistem diimplementasikan,dan diuji,. Dengan konvensional metode, ada penundaan yang lama sebelum pelanggan dapat melihat hasil apapun dan proses pembangunan dapat mengambil waktu begitu lama sehingga pelanggan bisnis dapat mengubah secara mendasar sebelum sistem ini siap untuk digunakan.
9
http://digilib.mercubuana.ac.id/
Sebagai tanggapan terhadap, langkah searah Stagewise atau Model Water Fall, Barry Boehm, Ketua SW Engineer di TRW, memperkenalkan Model development Spiral nya. Model Spiral adalah risiko-driven, sebagai lawan dari kode-driven, pendekatan yang menggunakan pemodelan proses daripada fase metodologi. Melalui model nya, Boehm pertama kali diimplementasikan perangkat lunak prototyping sebagai cara untuk mengurangi risiko. Pengembangan proses Spiral Model memisahkan produk ke bagian-bagian yang kritis atau tingkat sementara melakukan analisis risiko, prototyping, dan langkah yang sama disetiap tingkatan. Demikian pula, Tom Gilb's evolusioner Life Cycle didasarkan pada evolusi prototyping alasan mana prototipe tumbuh dan halus ke final produk. Karya Boehm dan Gilb membuka jalan bagi perumusan metodologi yang disebut
Rapid
Prototyping
Iteratif
Produksi
(RIPP)
di
DuPont
di
pertengahan-ke-akhir 1980-an. James Martin kemudian diperluas kerja yang dilakukan di DuPont dan tempat lain ke dalam suatu proses, lebih besar lebih formal, yang telah menjadi dikenal sebagai Rapid Application Development (RAD). RAD kompres pengembangan langkah-demi-langkah metode konvensional menjadi
proses
berulang-ulang.
Pendekatan
RAD
demikian
termasuk
mengembangkan dan memperbaiki model data, model proses, dan prototipe secara parallel menggunakan proses iteratif. Persyaratan Pengguna diperhalus, solusi dirancang, solusinya adalah prototyped, prototipe ditinjau, masukan pengguna disediakan, dan proses dimulai lagi. 2.4.2
Unsur – Unsur Rapid Application Development RAD memiliki banyak unsur-unsur yang membuat sebuah metodologi yang
unik termasuk prototyping, iterative development, time boxing, team members, management approach, dan RAD tools.
Prototyping Sebuah aspek kunci dari RAD adalah pembangunan prototipe untuk tujuan
membangkitkan kembali desain untuk kebutuhan pengguna. Tujuannya adalah untuk membangun sebuah fitur ringan yang hasil akhirnya dalam jumlah pendek dengan waktu yang memugkinkan. Prototipe awal berfungsi sebagai
10
http://digilib.mercubuana.ac.id/
bukti konsep untuk klien, tetapi lebih penting berfungsi sebagai titik berbicara dan alat untuk kebutuhan pemurnian. Mengembangkan prototipe cepat dicapai dengan Computer Aided Engineering CASE tools Software yang berfokus pada menangkap persyaratan, mengkonversi mereka ke model data, mengubah model data ke database, dan menghasilkan kode semua dalam satu alat. CASE tools populer di 80-an dan awal 90- an, tetapi sebagai teknologi telah berubah (dan COBOL telah menjadi usang) beberapa alat mengambil keuntungan penuh dari potensi penuh dari teknologi KASUS alat. Perusahaan rasional adalah yang paling terkenal meskipun prototipe potensi pembangkitnya terbatas. Pada Otomatis Arsitektur produk cetak biru kami berfokus pada peningkatan tingkat aplikasi enterprise web yang berfungsi sebagai prototipe karena kecepatan yang mereka dapat diciptakan (dalam menit).
Iterative Development Iterative Development berarti menciptakan versi yang lebih fungsional dari
sebuah sistem dalam siklus pembangunan pendek. Setiap versi ditinjau dengan klien untuk menghasilkan persyaratan untuk membuat versi berikutnya. Proses ini diulang sampai semua fungsionalitas telah dikembangkan. Panjang ideal iterasi adalah antara satu hari (yang lebih dekat dengan Metodologi Agile) dan tiga minggu. Setiap siklus pengembangan memberikan pengguna kesempatan untuk memberikan umpan balik, memperbaiki persyaratan, dan kemajuan melihat (dalam pertemuan sesi fokus grup). Hal ini akhirnya pembangunan berulang yang memecahkan masalah yang melekat dalam metodologi fleksibel dibuat pada 1970-an.
Time boxing Time boxing adalah proses menunda fitur untuk versi aplikasi di masa
mendatang untuk melengkapi versi saat ini sebagai ketepatan waktu.Ketepatan waktu merupakan aspek penting dari RAD, karena tanpa itu ruang lingkup dapat mengancam untuk memperpanjang iterasi pembangunan, sehingga membatasi umpan balik dari klien, meminimalkan manfaat dari pembangunan berulang,
11
http://digilib.mercubuana.ac.id/
dan berpotensi mengembalikan proses kembali ke pendekatan metodologi air terjun.
Team Member Metodologi RAD merekomendasikan penggunaan tim kecil yang terdiri
dari anggota yang berpengalaman, serbaguna, dan motivasi yang mampu melakukan peran ganda. Sebagai klien memainkan peran penting dalam proses pembangunan, sumber daya klien khusus harus tersedia selama awal Joint Application Development (JAD) sesi serta Focus Group Sessions dilakukan pada akhir siklus pengembangan. Pengembangan tim (juga dikenal sebagai SWAT atau Skilled Workers with Advance Tools) idealnya harus memiliki pengalaman di Rapid Application Development dan harus memiliki pengalaman dengan Computer Aided Software Engineering. Pendekatan manajemen Aktif dan manajemen yang terlibat sangat penting untuk mengurangi risiko siklus pengembangan diperpanjang, kesalahpahaman klien, dan melebihi tenggat waktu. Di atas manajemen semua harus kuat dan konsisten dalam keinginan mereka untuk menggunakan metodologi Rapid Application Development. Selain menegakkan waktu yang ketat, manajemen harus fokus pada pemilihan anggota tim, motivasi tim, dan pada kliring hambatan birokrasi atau politik.
RAD Tools Salah satu tujuan utama dari metodologi Rapid Application Development
yang dikembangkan oleh James Martin pada tahun 1980-an adalah untuk memanfaatkan
teknologi
terbaru
yang
tersedia
untuk
mempercepat
pembangunan. Jelas teknologi tahun 1980 sudah kuno, tetapi fokus RAD tentang alat terbaru adalah sama pentingnya hari ini seperti ketika metodologi awalnya diciptakan. 2.4.3
Pendekatan Model Rapid Application Development Model RAD mengadopsi model waterfall dan pembangunan dalam waktu
singkat yang dicapai dengan menerapkan :
12
http://digilib.mercubuana.ac.id/
Component based construction ( pemrograman berbasis komponen ).
Penekanan pada penggunaan ulang (reuse) komponen perangkat lunak yang telah ada.
Pembangkitan kode program otomatis/semi otomatis.
Multiple team (banyak tim), tiap tim menyelesaikan satu tugas yang selevel tapi tidak sama. Banyaknya tim tergantung dari area dan komplekstasnya sistem yang dibangun. Jika keutuhan yang diinginkan pada tahap analisa kebutuhan telah lengkap
dan jelas, maka waktu yang dibutuhkan untuk menyelesakan secara lengkap perangkat lunak yang dibuat adalah berkisar 60 sampai 90 hari. Model RAD hampr sama dengan model waterfall, bedanya siklus pengembangan yang ditempuh model in sangat pendek dengan penerapan teknik yang cepat. Sistem dibagi-bagi menjadi beberapa modul dan dikerjakan beberapa tmm dalam waktu yang hampir bersamaan dalam waktu yang sudah ditentukan. Model in melibatkan banyak tim, dan setiap tim mengerjakan tugas yang selevel, namun berbeda. Sesuaidengan pembagian modul sistem. 2.4.4
Perbandingan Rapid Application Development Dengan Metode lain
a. Perbandingan Dengan Metode Tradisional Sebagai gambaran umum, pengembangan aplikasi berarti mengembangkan aplikasi pemrograman yang bervariasi dari pemrograman umum dalam arti bahwa ia memiliki tingkat yang lebih tinggi dari kewajiban, termasuk untuk kebutuhan menangkap dan pengujian. Pada 1970-an, Rapid Application Development muncul sebagai respon mengerikan untuk proses non-tangkas, seperti model Waterfall. Pengembang perangkat lunak menghadapi masalah waktu dengan metodologi sebelumnya sebagai aplikasi begitu lama untuk membangun bahwa spesifikasi persyaratan diubah oleh sistem waktu itu selesai. Dengan demikian, metodologi tersebut sering mengakibatkan sistem tidak dapat digunakan. Metodologi RAD adalah dalam jangkauan hampir semua orang sebagai generator kode, alat-alat visual seperti VB, Visual C + + dan CASE tool seperti
13
http://digilib.mercubuana.ac.id/
Rational Rose didasarkan pada teknik RAD saja. Jika Anda merancang aplikasi dengan Rational Rose, kode dapat secara otomatis dihasilkan dalam bahasa seperti C + +, VC + + atau VB. Sebagai contoh sederhana, jika Anda telah menggunakan alat alat seperti MS FrontPage maka itu kembali alat RAD. Berikut ini gambar perbandingan antara metode RAD dengan metode Trdisional.
Gambar 2.2 Perbandingan RAD dengan metode Tradisional Pada gambar 2.2 menggambarkan perbedaan dari metode tradisonal dengan metode RAD. Untuk tahap tradisonal mengacu pada urutan tahap-tahap SDLC. Pada RAD Tahap pertama langsung membuat analisis dan design, lalu langsung ketahap siklus prototyping yaitu membangun, memperhalus dan mendemonstrasikannya. Itu akan mempercepat proses dalam pembuatan suatu project. RAD memang lebih cepat dari Waterfall. Jika kebutuhan dan batasan project sudah diketahui dengan baik. Juga jika proyek memungkinkan untuk dimodularisasi. b. Metodelogi
RAD
mengunakan
Prototyping
Prototyping
14
http://digilib.mercubuana.ac.id/
dan
Throw-away
Berikuta ini gambar RAD menggunakan Prototyping dapat dilihat pada gambar dibawah ini :
Gambar 2.3 RAD menggunakan Prototyping Karena Keunggulan metode ini menggabungkan teknik SDLC, Prototyping, teknik joint application development (JAD) dan computer aided software engineering (CASE Tools) yang bertujuan untuk membuat system dalam waktu singkat ( kurang dari 6 bulan ). Pada gambar 2.10 diatas Metodologi prototyping melakukan analisis, desain dan implementasi secara bersamaan untuk menghadirkan sebuah sistem dengan skala kecil dalam fungsi minimal kemudian di review oleh user untuk dilakukan proses development secara berulang hingga menghasilkan sebuah system.
15
http://digilib.mercubuana.ac.id/
Gambar 2.4 RAD Menggunakan Throwaway Prototyping Methodologies Untuk gambar 2.4 adalah metode Throwaway Prototyping, pada metodologi ini Analisa dilakukan lebih mendalam, prototype dibuat dan ditest, pengalaman yang diperoleh dari latihan ini digunakan untuk membuat produk finalnya, tetapi prototype-nya sendiri dibuang. 2.4.5
Keuntungan Rapid Application Development RAD mempunyai keuntungan yang dapat disimpulkan sebagai berikut:
Sangat
berguna
dilakukan
pada
kondisi
user
tidak
memahami
kebutuhankebutuhan apa saja yang digunakan pada proses pengembangan perangkat lunak.
RAD mengikuti tahapan pengembangan sistem sepeti umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada (reusable object) sehingga pengembang tidak perlu membuat dari awal lagi dan waktu lebih singkat berkisar antara 60 hari-90 hari.
Karena mempunyai kemampuan untuk menggunakan komponen yang sudah ada dan waktu yang lebih singkat maka membuat biaya menjadi lebih rendah dalam menggunakan RAD
2.4.6
Kelemahan Rapid Application Development
16
http://digilib.mercubuana.ac.id/
Beberapa hal yang perlu diperhatikan dalam implementasi pengembangan menggunakan model RAD :
Proyek yang berskala besar, RAD memerlukan sumber daya manusia yang memadai untuk menciptakan jumlah tim yang baik.
RAD menuntut pengembang dan pelanggan memiliki komitmen dalam aktivitas rapid fire yang diperlukan untuk melengkapi sebuah sistem dalam waktu yang singkat. Jika komitmen tersebut tidak ada maka proyek RAD akan gagal.
2.5
Android Studio Android Studio adalah sebuah IDE (Integrated Development Environment)
untuk pengembangan aplikasi pada platform Android. Android Studio merupakan toolkit yang digunakan untuk membangun dan membuat paket aplikasi Android berdasarkan IntelliJ IDEA. Sama halnya dengan Eclipse, ada beberapa pilihan Application Building Tools, baik menggunakan IDE (Integrated Development Environment) atau CLI (Command Line Interface). Android Studio ini menggunakan Gradle untuk memanajemen proyeknya. Gradle itu sendiri adalah build automation tool yang dapat dikonfigurasi melalui DSL berbasis Groovy. Hal Inilah yang membedakan Gradle dari Ant atau Maven yang memakai XML. Penggunaan DSL berbasis Groovy membuat Gradle lebih fleksibel dan dapat diprogram dengan lebih mudah. (developer.android.com, 2016) 2.5.1
Desain Layout
Berikut ini adalah desain layout pada android studio bisa dilihat pada gambar dibawah ini :
17
http://digilib.mercubuana.ac.id/
Gambar 2.5 Desain Layout Android Studio
Bagian sebelah kanan merupakan struktur Project yang telah kita buatkan
Bagian tengah, merupakan source code XML dengan mengaktifkan mode TEXT. mengetikkan code dimudahkan dengan fasilitas Auto Complet dengan cara mengetikkan code awal dan akan muncul pilihan nya.
Bagian sebelah kiri merupakan preview langsung berdasarkan kode XML yang kita tuliskan
Bagian bawah, untuk melihat source error, trouble (logCat) ketika Project di Jalankan (run)
Bagian sebelah kanan merupakan struktur Project yang telah kita buatkan ketika mode Design diaktifkan, tampilan akan menjadi seperti berikut:
18
http://digilib.mercubuana.ac.id/
Gambar 2.6 Mode Desain
Mode Design akan menampilkan tools yang bisa kita gunakan secara Drag and Drop secara langsung ke layout aplikasi (ex. TextView, Button, dan semua widget)
Tampilan disamping merupakan bagian Properties untuk setting setiap widget. Mode Design ini akan memudahkan para pengembang yang belum
memahami desain layout aplikasi menggunakan kode XML. mode ini hanya dengan Drag and Drop saja. 2.5.2
Struktur Folder Project Struktur folder project akan muncul ketika kita telah membuat sebuah
project. Agak berbeda dengan struktur menggunakan IDE Eclipse. Berikut tampilan nya :
19
http://digilib.mercubuana.ac.id/
Gambar 2.7 Struktur Folder Project Penjelasan Struktur Project Terdapat folder app, gradle dan file – file yang ada di root folder. Folder app/ adalah folder utama pada aplikasi android, didalamnya terdapat Folder manifest, Java dan res.
Folder manifest terdapat file Android Manifest.xml yang penjelasan nya akan kita bahas di materi berikutnya.
Folder Java terdapat file-file bahasa java yang terkelompokkan dalam beberapa Package.
Folder res terdapat drawable, layout, menu yang kesemua ini tujuan untuk menyimpan Gambar (drawable) desain tampilan file XML (layout) dan hal-hal lain yang berhubungan dengan tampilan aplikasi.
2.5.3
Gradle Perbedaan Android Studio dan IDE eclipse salah satu nya adalah gradle,
sebuah featured build automation. Eclipse tidak ada fitur ini. Selengkapnya dapat lihat di situs berikut ini http://www.gradle.org/. File Gradle berisi library yang digunakan, versi aplikasi, signed key properties, lokasi repository dll. File yang akan sering kita ubah adalah file build.gradle(module: app). Jika di Eclipse kita 20
http://digilib.mercubuana.ac.id/
mengenal nya pada saat penambahan sebuah Library yang tipe .jar. namun penambahan library di Android Studio hanya dengan memanggil nya di Gradle bagian dependecies, contoh penambahan Script ini untuk menampilkan peta Google Maps pada aplikasi : <pre>dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) //compile files('libs/org.apache.http.legacy.jar') compile 'com.android.support:appcompat-v7:22.2.1' compile 'com.google.android.gms:play-services:7.8.0' compile 'com.google.android.gms:play-services-maps:7.8.0' }
Gambar 2.8 Contoh Potongan kode Gradle Berikut ini tampilan gradle dapat dilihat pada gambar dibawah ini :
Gambar 2.9 Tampilan Gradle File ini berisi pengaturan untuk versi sdk yang di compile, package name app, build version yang digunakan, SDK Minimum yang digunakan, versioncode, versionname dan dependencies yang digunakan dalam aplikasi yang digunakan. 21
http://digilib.mercubuana.ac.id/
Jika ada perubahan pada file ini, Android Studio akan mem Build secara langsung walaupun agak lama. 2.5.4
File Java Pembuatan project Android jenis nya Native karena menggunakan bahasa
pemrograman Java. berikut tampilan ketika mau mengubah atau menambahkan script Java.
Gambar 2.10 File Java Bahasa Java terletak di Folder java, double Click file yang mau dibuka, kemudian halaman tengah akan muncul script Java yang bisa kita ubah dan sesuaikan dengan aplikasi yang kita buat. 2.6
Basis Data (Database) Data
merupakan
fakta
mengenai
suatu
objek
seperti
manusia,
benda,peristiwa, konsep, keadaan dansebagainya yang dapat dicatat dan mempunyai arti secara implisit. Data dapat dinyatakan dalambentuk angka, karakter atau simbol, sehingga bila data dikumpulkan dan saling berhubungan maka dikenal dengan istilah basis data (database). (F. Of Database System, 2002) Konsep dasar basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari 22
http://digilib.mercubuana.ac.id/
jenis fakta yang tersimpan didalamnya yang disebut dengan skema. Skema menggambarkan obyek yang diwakili suatu basis data, dan hubungan diantara obyek tersebut. Skema basis data digambarkan oleh data model dalam bentuk diagram (Database Schema Diagram). Model yang umum digunakan sekarang adalah model relasional. Dalam model ini, hubungan antara tabel diwakili dengan menggunakan nilai yang sama antara tabel. 2.7
Java
Java adalah bahasa pemrograman yang dapat dijalankan di berbagai komputer termasuk telepon genggam. Bahasa ini awalnya dibuat oleh James Gosling saat masih bergabung di Sun Microsystems saat ini merupakan bagian dari Oracle dan dirilis tahun 1995. Bahasa ini banyak mengadopsi sintaksis yang terdapat pada C dan C++ namun dengan sintaksis model objek yang lebih sederhana serta dukungan rutin-rutin aras bawah yang minimal. 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 (general purpose), dan secara khusus didisain untuk memanfaatkan dependensi implementasi seminimal mungkin. Karena fungsionalitasnya yang memungkinkan aplikasi java mampu berjalan di beberapa platform sistem operasi yang berbeda, java dikenal pula dengan slogannya, "Tulis sekali, jalankan di mana pun". Saat ini java merupakan bahasa pemrograman yang paling populer digunakan, dan secara luas dimanfaatkan dalam pengembangan berbagai jenis perangkat lunak aplikasi ataupun aplikasi.(Bambang 2005) a. Sejarah Perkembangan Java Bahasa pemrograman Java terlahir dari The Green Project, yang berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992. Proyek tersebut belum menggunakan versi yang dinamakan Oak. Proyek ini dimotori oleh Patrick Naughton, Mike Sheridan, dan James Gosling, beserta sembilan pemrogram lainnya dari Sun Microsystems. Salah satu hasil proyek ini adalah maskot Duke yang dibuat oleh Joe Palrang. Pertemuan proyek berlangsung di sebuah gedung perkantoran Sand Hill Road di Menlo Park. Sekitar musim panas 1992 proyek ini ditutup dengan menghasilkan sebuah program Java Oak pertama, yang ditujukan sebagai pengendali sebuah peralatan dengan teknologi layar sentuh (touch screen), seperti pada PDA sekarang ini. Teknologi baru ini dinamai "*7" (Star Seven). Setelah era Star Seven selesai, sebuah anak perusahaan Tv kabel tertarik ditambah beberapa orang dari proyek The Green Project. Mereka 23
http://digilib.mercubuana.ac.id/
memusatkan kegiatannya pada sebuah ruangan kantor di 100 Hamilton Avenue, Palo Alto. Perusahaan baru ini bertambah maju: jumlah karyawan meningkat dalam waktu singkat dari 13 menjadi 70 orang. Pada rentang waktu ini juga ditetapkan pemakaian Internet sebagai medium yang menjembatani kerja dan ide di antara mereka. Pada awal tahun 1990-an, Internet masih merupakan rintisan, yang dipakai hanya di kalangan akademisi dan militer. Mereka menjadikan perambah (browser) Mosaic sebagai landasan awal untuk membuat perambah Java pertama yang dinamai Web Runner, terinsipirasi dari film 1980-an, Blade Runner. Pada perkembangan rilis pertama, Web Runner berganti nama menjadi Hot Java. Pada sekitar bulan Maret 1995, untuk pertama kali kode sumber Java versi 1.0a2 dibuka. Kesuksesan mereka diikuti dengan untuk pemberitaan pertama kali pada surat kabar San Jose Mercury News pada tanggal 23 Mei 1995. Sayang terjadi perpecahan di antara mereka suatu hari pada pukul 04.00 di sebuah ruangan hotel Sheraton Palace. Tiga dari pimpinan utama proyek, Eric Schmidt dan George Paolini dari Sun Microsystems bersama Marc Andreessen, membentuk Netscape. Nama Oak, diambil dari pohon oak yang tumbuh di depan jendela ruangan kerja "Bapak Java", James Gosling. Nama Oak ini tidak dipakai untuk versi release Java karena sebuah perangkat lunak lain sudah terdaftar dengan merek dagang tersebut, sehingga diambil nama penggantinya menjadi "Java". Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi tubruk) kesukaan Gosling. Konon kopi ini berasal dari Pulau Jawa. Jadi nama bahasa pemrograman Java tidak lain berasal dari kata Jawa (bahasa Inggris untuk Jawa adalah Java). b. Versi Awal Versi awal Java pada tahun 1996 sudah merupakan versi release sehingga dinamakan Java Versi 1.0. Java versi ini menyertakan banyak paket standar awal yang terus dikembangkan pada versi selanjutnya:
java.lang: Peruntukan kelas elemen-elemen dasar. java.io: Peruntukan kelas input dan output, termasuk penggunaan berkas. java.util: Peruntukan kelas pelengkap seperti kelas struktur data dan kelas kelas penanggalan.
24
http://digilib.mercubuana.ac.id/
java.net: Peruntukan kelas TCP/IP, yang memungkinkan berkomunikasi dengan komputer lain menggunakan jaringan TCP/IP. java.awt: Kelas dasar untuk aplikasi antarmuka dengan pengguna (GUI) java.applet: Kelas dasar aplikasi antar muka untuk diterapkan pada penjelajah web. c. Kelebihan
Kelebihan Bahasa pemograman java ialah :
Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan di atas operating system Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebabnya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut. OOP (Object Oriented Programming - Pemrogram Berorientasi Objek) Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi. Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++ sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitas-universitas di Amerika Serikat juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer.
25
http://digilib.mercubuana.ac.id/
Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas). d. Kekurangan Kekurangan Bahasa pemograman java ialah: Tulis sekali, jalankan di mana saja - Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X. Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverse-engineer. Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun.
Contoh program Halo dunia yang ditulis menggunakan bahasa pemrograman Java adalah sebagai berikut: // Outputs "Hello, world!" and then exits public class HelloWorld { public static void main(String args[]) { System.out.println("Hello, world!"); }}
Gambar 2.11 Potongan Program Bahasa Java 2.8
Personal Home Page (PHP)
26
http://digilib.mercubuana.ac.id/
PHP adalah singkatan dari "PHP Hypertext Processor", yang merupakan sebuah bahasa scripting yang terpasang pada HTML. Sebagian besar sintaks mirip dengan bahasa C, Java dan Perl, ditambah beberapa fungsi PHP yang spesifik. Tujuan utama penggunaan bahasa ini adalah untuk memungkinkan perancang web menulis halaman web dinamik dengan cepat. PHP merupakan bahasa server-side yang cukup handal, yang akan disatukan dengan HTML (Hypertext Markup Language) dan berada di server. Artinya, sintaks dan perintah yang diberikan akan sepenuhnya dijalankan di server sebelum dikirim ke komputer klien. Pada awal tahun 1995, Rasmus Ledorf membuat produk bernama PHP/FI PHP ini ditulis dengan menggunakan bahasa C, dan memiliki kemampuan untuk berkomunikasi dengan database serta membuat halaman dinamis. 2.10.1 Variabel PHP Variabel PHP digunakan untuk menyimpan data yang nilainya dapat berubah-ubah. Dalam bahasa PHP, variabel dimulai dengan tanda "$". Aturan penulisan variabel antara lain sebagai berikut : a. Hanya ada 3 karakter yang dapat digunakan untuk nama variable, yaitu huruf, angka dan garis bawah. b. Karakter pertama setelah tanda "$" harus huruf atau garis bawah. c. Jika nama variable lebih dari satu kata, tidak bolah ada tanda spasi diantara keduanya. 2.10.2 Keunggulan PHP PHP Hypertext Processor adalah skrip yang berjalan dalam server side yang ditambahkan dalam HTML Skrip ini akan membuat suatu aplikasi dapat diintegrasikan ke dalam HTML sehingga suatu halaman HTML tidak lagi bersifat statis, namun menjadi bersifat dinamis. Sifat server side ini membuat pekerjaan skrip tersebut dikerjakan di server sedangkan yang dikirimkan ke browser adalah hasil proses dari skrip tersebut yang sudah berbentuk HTML. Keunggulan dari sifatnya yang server-side tersebut adalah:
27
http://digilib.mercubuana.ac.id/
a. Tidak
diperlukan
menggunakan
adanya
browser
kompatibilitas
tertentu,
karena
browser
atau
harus
serverlah
yang
akan
mengerjakan skrip tersebut. Hasil yang dikirimkan kembali ke browser biasanya dalam bentuk teks ataupun gambar sehingga dapat dikenali oleh browser apapun. b. Dapat memanfaatkan sumber-sumber aplikasi yang dimiliki oleh server, contoh: hubungan kedalam database c. Skrip asli tidak terlihat sehingga keamanam lebih terjamin. 2.10.3 Konsep Dasar PHP Kode PHP diawali dengan tanda lebih kecil (<) dan diakhiri dengan tanda lebih besar (>). Ada empat cara untuk menuliskan skrip PHP, yaitu: a. b. c. d. <SCRIPT LANGUAGE=”php”>Hallo Pemisah antara instruksi adalah titik koma (;) dan untuk membuat atau menambahkan komentar/standar penulisan adalah: /* komentar */, // komentar, # komentar. Cara penulisan dibedakan menjadi Embedded dan Non-Embedded script. [8] 2.9
Pengertian XAMPP XAMPP adalah sebuah paket web server yang gratis dan open source cross
platform yang didalamnya terdapat Apache HTTP Server, MySQL Database dan interpreter untuk script yang ditulis dalam Bahasa Pemograman PHP dan Perl. 2.10
Pemodelan Sistem Pemodelan merupakan alat bantu dalam menganalisa dan merancang sistem.
Pemodelan sistem yang digunakan adalah UML (Unified Modelling Langguage). UML (Unified Modelling Langguage) adalah sebuah Bahasa yang telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasi sistem perangkat lunak yang berorientasi objek.
28
http://digilib.mercubuana.ac.id/
2.10.1 Sejarah Singkat UML UML (Unified Modelling Langguage) merupakan Bahasa yang berdasarkan grafik atau gambar untuk menvisualisasi, menspesifikasi, membangun dan pendokumentasian dari sebuah sistem pengembangan prangkat lunak berbasis OO (object oriented). UML sendiri juga memberikan standar penulisan sebuah blue print yang meliputi konsep bisnis proses, penulisan kelas-kelas dalam Bahasa program yang spesifik, skema database dari komponen-komponen yang di perlukan dalam sebuah perangkat lunak. Secara resmi Bahasa UML dimulai pada bualan Oktober 1994, pada saat itu baru dikembangkan draft metoda UML version 0.8 dan diselesaikan serta di releas pada bulan Oktober 1995. Bersama pada saat itu UML tersebut diperkaya ruang lingkup dengan metoda OOSE Sehingga muncul release version 9.0 pada bulan juni 1996. Hingga saat ini sejak juni 1998 UML version 1.3 telah diperkaya dan direspon oleh OMG (Object Management Group) sebuah badan yang bertugas mengeluarkan standar-standar teknologi object oriented dan software component. (Suhendar 2002) 2.10.2 Diagram UML Menurut [11] UML (Unified Modelling Langguage) adalah sebuah Bahasa untuk menentukan visualisasi, konstruksi dan mendokumentasikan sebuah sistem perangkat lunak. UML merupakan suatu kumpulan teknik terbaik yang telah terbukti sukses dalam memodelkan sistem yang besar dan kompleks. UML tidak hanya merupakan sebuah Bahasa pemrograman visual saja, namun juga dapat secara langsung dihubungkan ke berbagai Bahasa pemrograman, seperti JAVA, C++, Visual Basic atau bahkan dihubungkan secara langasung ke dalam sebuah oject oriented database. Begitu juga mengenai pendokumentasian dapat dilakukan seperti: requirements, arsitektur, design, source code, project plan, test dan prototypes. UML sendiri terdiri atas pengelompokan diagram-diagram sistem menurut aspek atau sudut pandang tertentu. Diagram adalah yang menggambarkan permasalahan maupun solusi dari permasalahan suatu model. UML menyediakan
29
http://digilib.mercubuana.ac.id/
10 macam diagram untuk memodelkan aplikasi berorientasi objek, yaitu: use case, conceptual, sequence, collaboration, state, activity, class object, comporient dan deployment diagram. UML menggunakan notasi grafik untuk menyatakan suatu desain. Pemodelan dengan UML berarti menggambarkan yang ada dalam dunia nyata yang dapat dipahami dengan menggunakan narasi standar UML. Pemodelan dengan UML terdiri dari 13 tipe diagram yang berbeda untuk memodelkan sistem perangkat lunak. Masing-masing diagram UML didesain untuk menunjukan suatu sisi dari bermacam-macam sudut pandang dan terdiri dari tingkat abstraksi yang berbeda. Notasi UML merupakan sekumpulan bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk memiliki makna terntu dan Syntax UML mendefinisikan bagaimana bentuk-bentuk tersebut dapat dikombinasikan. Pada Aplikasi Absensi Pegawai Kelurahan Menggunakan Fingerprint Studi Kasus Kelurahan Sawah, Ciputat penulis hanya menggunakan 2 (dua) diagram UML, yaitu diagram use case dan diagram activity. UML terdiri dari 10 jenis diagram seperti tertulis dalam tabel 2.3 Tabel 2.1 jenis-jenis diagram UML. No.
Diagram
Fungsi
1
Use Case
Untuk memodelkan proses bisnis.
2
Conceptual
Untuk memodelkan konsep-konsep yang ada pada aplikasi.
3
Sequence
Untuk memodelkan pengirim pesan antara objects.
4
Collaboration
Untuk memodelkan interaksi antara objects.
5
State
Untuk memodelkan prilaku objects didalam sistem.
6
Activity
Untuk memodelkan perilaku Use case dan objects didalam sistem.
7
Class
Untuk memodelkan struktur class.
8
Object
Untuk memodelkan struktur objects.
9
Component
Untuk memodelkan komponen objects.
10
Deployment
Untuk memodelkan distribusi aplikasi.
30
http://digilib.mercubuana.ac.id/
2.10.3 Activity Diagram Activity diagram adalah teknik untuk mendeskripsikan logika procedural, proses bisnis dan aliran kerja dalam banyak kasus. Activity diagram mempunyai peran seperti halnya flowchart, akan tetapi perbedaan dengan flowchart adalah activity diagram bisa mendukung perilaku parallel sedangkan flowchar tidak. Simbol-simbol yang digunakan pada saat membuat activity diagram bisa dilihat pada tabel berikut ini. Tabel 2.2 Simbol-simbol activity diagram Simbol
Keterangan Titik awal Titik akhir Activity Pilihan untuk pengambilan keputusan Menunjukan kegiatan Menunjukan adanya dekomposisi Tanda waktu Tanda pengiriman Tanda penerimaan Aliran akhir
2.10.4 Diagram Use Case Use case diagram menjelaskan manfaat dari aplikasi jika dilihat dari sudut pandang orang yang berbeda diluar sistem (aktor). Diagram ini menunjukan fungsionalitas suatu sistem atau kelas dan bagaimana sistem berinteraksi dengan dunia luar. Use case diagram dapat digunakan selama proses analisa untuk menangkap kebutuhan atau permintaan terhadap sistem dan untuk memahami bagaimana sistem tersebut harus bekerja. Selama tahao desain, use case diagram menetapkan perilaku dari palikasi saat implementasi. Dalam sebuah model memungkinkan terdapat suatu atau beberapah use case diagram.
31
http://digilib.mercubuana.ac.id/
Sebuah use case menggambarkan suatu urutan interaksi antara satu atau lebih actor dan sistem. Dalam fase requirements model use case menggambarkan sistem sebagai sebuah kotak hitam dan interaksi antara actor dan sistem dalam suatu bentuk naratif, yang terdiri dari input user dan respon-respon sistem. Setiap use case menggambarkan perilaku sejumlah aspek sistem, tanpa mengurangi struktur internalnya. Selama pembuatan model use case secara parallel juga harus ditetapkan objek-objek yang terlibat dalam setiap use case. Aktor manusia bisa saja menggunakan berbagai I/O untuk berinteraksi fisik dengan sistem. Aktor manusia dapat berinteraksi dengan sistem melalui perangkat I/O seperti keyboard, display, atau Mouse. Aktor manusia juga bisa berinteraksi dengan sistem melalui perangkat non standar I/O seperti bermacam-macam sensor termasuk Fingerprint tool. Dalam keseluruhan hal tersebut, manusia merupakan aktor dan perangkat I/O adalah bukan aktor. Berikut ini adalah contoh use case diagram absensi pegawai kelurahan sawah, dalam kasus ini pegwai sebagai aktor.
Gambar 2.12 Contoh use case 2.10.5 Identifikasi Use Case Sebuah use case menggambarkan suatu urutan interaksi antara satu atau lebih aktor dan sistem dimulai dengan masukan (input) dari seorang aktor. Use case
32
http://digilib.mercubuana.ac.id/
merupakan suatu urutan lengkap kejadian-kejadian yang diajukan oleh seorang aktor dan spesifikasi interaksi antara aktor dengan sistem. Use case yang sederhana hanya melibatkan satu interaksi/hubungan dengan sebuah aktor dan use case yang lebih kompleks melibatkan lebih dari satu aktor. Untuk menjabarkan use case dalam sistem, sangat baik bila dimulai dengan memperhatikan aktor dan action/aksi yang dilakukan dalam sistem. Setiap use case menggambarkan suatu urutan interaksi antara aktor dengan sistem. Sebuah use case harus memberikan sejumlah nilai pada satu aktor. Kemudian, kebutuhan fungsional sistem dijelaskan dalam sebuah use case yang merupakan suatu spesifikasi eksternal dari sebuah sistem. Bagaimanapun juga, ketika membuat use case, sangatlah penting menghindari suatu dekomposisi fungsional yang dalam beberapa use case kecil lebih menjelaskan fungsi-fungsi individual sistem dari pada menjelaskan urutan kejadian yang memberikan hasil yang berguna bagi aktor. Urutan utama use case menjelaskan urutan interaksi yang paling umum antara aktor dan sistem. Mungkin saja terdapat cabang-cabang urutan use case utama, yang mengarah pada berkurangnya frekuensi interaksi antara aktor dengan sistem. Deviasi-deviasi dari urutan utama hanya dilaksanakan pada beberapa situasi, contohnya jika aktor melakukan kesalahan input pada sistem. Ketergantungan pada aplikasi kebutuhan, alternatif ini memecahkan use case dan kadang-kadang bersatu kembali dengan uerutan utama. Sebagai contoh use case pada ATM, disamping penarikan melalui ATM, aktor juga dapat melakukan pengecekan saldo atau mentransfer dana ke rekening lain. Karena terdapat fungsi yang berbeda yang diajukan oleh nasabah dengan hasil yang berbeda, fungsi-fungsi dibuat sebagai use case yang terpisah. 2.10.6 Pendokumentasian Model Use Case Use case didokumentasi dalam use case model sebagai berikut : a. Use case name, setiap use case diberi nama. b. Dependency, bagian ini menggambarkan apakah use case yang satis tergantung pada use case yang lain, dalam arti apakah use case tersebut termasuk pada use case yang lain atau bahkan memperluas use case lain.
33
http://digilib.mercubuana.ac.id/
c. Actors, bagian ini memberikan nama pada aktor dalam use case. Selain terdapat use case utama (primary use case) yang memulai use case disamping itu terdapat juga secondary use case yang terlibat dalam use case. d. Preconditions, satu atau lebih kondisi harus berjalan dengan baik pada pemulihan use case. e. Deskripsi, bagia terbesar dari use case merupakan deskripsi naratif dari urutanurutan utama use case yang merupakan urutan paling umum dari interaksi antara aktor dan sistem. Deskripsi tersebut dalam bentuk input dari aktor, diikuti oleh respon dari sistem. Sistem ditandai dengan sebuah kotak hitam (black box) yang berkaitan dengan apa yang sistem lakukan dalam merespon input aktor, bukan bagaimana internal melakukanya. f. Alternatif-alternatif, deskripsi naratif dari alternatif merupakan cabang dari urutan utama. g. Postcondition, kondisi yang selalu terjadi diakhir use case, jika urutan utama telah dilakukan. h. Outstanding
questions,
pertanyaan-pertanyaan
tentang
use
case
didokumntasikan untuk didiskusikan dengan para user. Diagram use case adalah menjelaskan manfaat sistem jika dilihat menurut pandang orang yang berada diluar sistem (aktor), diagram ini menunjukan fungsionalitas suatu sistem atau kelas dan bagaimana sistem berinteraksi dengan dunia luar. Diagram use case dapat digunakan selama proses analisa untuk menangkap kebutuhan sistem dan untuk memahami bagaimana sistem seharusnya bekerja. Selama tahap desain, diagram use case menetapkan prilaku sistem saat diimplementasikan. Dalam sebuah model mungkin terdapat satu atau beberapa diagram use case [11]. Berikut notasi-notasi pemodelan yang sering digunakan pada saat pembuatan diagram use case. Tabel 2.3 Notasi pemodelan diagram use case No.
Notasi
Keterangan
1.
Aktor
2.
Use case
34
http://digilib.mercubuana.ac.id/
3.
Batas sistem (system boundary)
4.
Garis penghubung (pengemudi arah)
5.
Gabungan (association)
6.
Generalisasi (generalitation)
7.
Relasi (realitation)
8.
Stereotype penyerataan
9.
Stereotype Perluasan
Mernurut [12]setiap use case harus diseskripsikan dalam dokumen yang ddisebut dengan dokumen aliran kejadian (flow of event). Dokumen ini mendefinisikan apa yang harus dilakukan oleh sistem ketika aktor mengaktifkan use case. Struktur dari dokumen use case ini bisa bermacam-macam, tetapi umumnya deskripsi ini paling tidak mengandung: a. Deskripsi singkat (brief description) b. Aktor yang terlibat c. Kondisi awal (precondition) yang penting bagi use case untuk memulai suatu proses d. Deskripsi rinci dari aliran kejadian yang mencakup :
Aliran utama (main flow) dari kejdaian yang bisa dirinci lagi.
Aliran bagian (sub flow) dari kejadian.
Aliran arternatif untuk mendefenisikan situasi perkecualian.
e. Kondisi akhir yang menjelaskan state dari sistem setelah use case berakhir. Dokumen use case ini berkembang selama masa pengembangan. Diawal penentuan kebutuhan sistem, hanya deskripsi singkat saja yang ditulis. Bagianbagian dari dokumen lengkap bisa didapatkan secara gradual dan interaktif. Akhirnya sebuah dokumen lengkap bisa didapatkan diakhir fase spesifikasi. Biasanya pada fase spesifikasi ini sebuah prototype yang dilengkapi dengan tampilan layar bisa ditambahkan. Pada tahap berikut, dokumen use case ini bisa digunakan untuk membuat dokumentasi implementasi sistem. 2.10.7 Diagram Sekuensial (Sequence Diagram)
35
http://digilib.mercubuana.ac.id/
Diagram sekuensial adalah diagram yang menggambarkan interaksi antara objek didalam dan disekitar sistem berupa peasan yang digambarkan terhadap waktu. Diagram sekuensial digunakan utnuk menggambarkan skenario atau langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang memicu aktifitas tersebut, proses dan perubahan apa saja yang terjasi secara internal dan output apa yang dihasilkan oleh proses tersebut. Sequence diagram terdiri atas dimensi vertikal (waktu) dan dimensi horisontal (objek-objek yang tekait). Setiap objek termasuk aktor memiliki dimensi lifeline vertikal. Message digambarkan sebagai garis berpanah dari 1 (satu) objek ke objek lainnya. Pada fase desain berikutnya message akan dipetakan menjadi metode dai class. Sebuah diagram sekuensial menjelaskan tentang interaksi objek yang disusun dalam suatu urutan waktu. Diagram ini secara khusus berasosiasi dengan diagram use case. Diagram sekuensial memperhatikan tahap demi tahap apa yang seharusnya terjadi untuk menghasilkan sesuatu didalam use case [11] Tabel 2.6 memperihatkan notasi-notasi dalam pemodelan diagram sequensial. Tabel 2.4 Notasi pemodelan diagram sequensial No.
Notasi
Keterangan
1. 2.
Aktor Objek
Nama objek
3.
Batas (boundary)
4.
Kendali (control)
5.
Entitas (entity)
6.
Penggerakan (activation)
7.
Garis hidup (lifeline)
8.
Pesan selaras (synchronous message)
9.
Pesan tidak selaras (aynchronous message)
10.
Pesan kembali yang tidak selaras
36
http://digilib.mercubuana.ac.id/
11.
Pesan rekusif (self message)
12.
Pesan hilang (lost message)
13.
Pesan ditemukan (found message)
14.
Pesan pembuatan objek baru
15.
2.11
X
Pesan penghapus objek
Model Pengujian Kotak Hitam (Black Box) Metode pengujian kotak hitam (black box) menurut Pressman [14]adalah
pengujian yang berfokus pada persyaratan fungsional perangkat lunak. Dengan demikian, pengujian kotak hitam memungkinkan perekayasa perangkat lunak mendapatkan serangkaian kondisi masukan yang sepenuhnya menggunakan semua persyaratan fungsional untuk suatu program. Pengujian kotak hitam berusaha menemukan kesalahan dalam kategori sebagai berikut: 1. Fungsi-fungsi yang tidak benar atau hilang 2. Kesalahan antara muka 3. Kesalahan dalam struktur data atau akses basis data 4. Inisialisasi dan kesalahan terminasi 2.12
Pendekatan Prosedural Program dalam paradigma prosedural didasari pada strukturisasi informasi
didalam memori dan manipulasi dari informasi yang disimpan tersebut. Kata kunci dalam pendekatan ini adalah Algoritma dan Struktur Data. Algoritma dalah serangkaian langkah-langkah yang tepat, terperinci dan terbatas untuk menyelesaikan suatu masalah. Struktur Data dalah cara penyimpanan komputer sehingga data tersebut dapat digunakan secara efisien. Dalam teknik pemrograman, struktur data berarti tata letak data yang berisi kolom-kolom data, baik itu kolam yang tampak oleh pengguna (user) ataupun kolom yang hanya digunakan untuk keperluan pemrograman yang tidak tampak oleh pengguna. Pemrograman dengan pendekatan prosedural sangat tidak ”manusiawi” dan tidak ”alami”, karena harus berpikir dalam batas mesin komputer. Keuntungan menggunakan pendekatan ini adalah efisien eksekusi, karena lebih dekat dengan mesin.
37
http://digilib.mercubuana.ac.id/