2.1 Rekayasa Perangkat Lunak

advertisement
BAB 2
TINJAUAN PUSTAKA
2.1 Rekayasa Perangkat Lunak
2.1.1. Pengertian Rekayasa Perangkat Lunak
- Menurut Bauer perangkat lunak adalah pembentukan dan penggunaan
prinsip-prinsip rekayasa untuk memperoleh perangkat lunak secara
ekonomis yang dapat dihandalkan dan bekerja secara efisien pada
mesin nyata. (Pressman,2010:13)
- Menurut IEEE adalah aplikasi yang sistematik, disiplin, pendekatan
kuantitatif untuk pengembangan, operasi dan pemeliharaan software.
(Pressman,2010:13)
- Menurut Pressman (2010:1)adalah produk yang dibangun oleh
perangkat lunak profesional dan kemudian mendukung dalam jangka
panjang.
- Jadi yang di maksud dengan rekayasa perangkat lunak itu cara
rekayasa dalam membuat dan mengembangkan software agar
software dapat bekerja secara efisien dalam mesin nyata dan secara
praktis
dapat
dihandalkan
dalam
oleh
setiap
orang
yang
menggunakan software tersebut, serta pemeliharaan software agar
software yang di buat dapat bertahan dalam jangka waktu yang lama.
2.1.2. Lapisan Rekayasa Software Engineering
Menurut Pressman (2010:13) rekayasa perangkat lunak memiliki 4
lapisan. Berikut lapisan-lapisan rekayasa perangkat lunak:
8
9
- A Quality Focus : Rekayasa perangkat lunak merupakan teknologi
yang berlapis, setiap pendekatan rekayasa harus berkomitmen
terhadap kualitas.
- Proses : merupakan pondasi dari rekayasa perangkat lunak. Proses
juga merupakan penghubung lapisan teknologi dan memungkinkan
perkembangan perangkat lunak komputer secara rasional dan tepat
waktu
- Metode : menyediakan teknis cara membangun perangkat lunak.
- Alat : menyediakan otomatis atau semiotomatis dukungan untuk
proses dan metode.
2.1.3. Extreme Programming
Extreme Programming (Pressman, 2010:73) meliputi tahapantahapan sebagai berikut:
1. Planning
Pertama dilakukannya perencanaan yang menggambarkan fitur dan
fungsi yang dibutuhkan oleh software yang dikembangkan. Lalu
diberi nilai dan diurutkan berdasarkan prioritasnya. Kemudian, di
tentukan waktu pengerjaan nya. Jika ada bagian yang membutuhkan
waktu lebih dari tiga minggu dalam pengembangan, maka user akan
diminta untuk membagi bagian tersebut menjadi beberapa bagian yang
lebih sederhana.
10
2. Design
Design dalam extreme programming menggunakan prinsip “keep it
simple” (KIS). Desain tersebut akan memberikan pedoman bagaimana
implementasi dari setiap bagian yang ada. Extreme Programming juga
mendukung refactoring yang merupakan teknik konstruksi sekaligus
teknik desain. Refactoring merupakan proses mengubah suatu
software dimana hasil dari kode tidak berubah namun struktur kode itu
sendiri berubah dan semakin disederhanakan. Dalam extreme
programming, desain dapat dilakukan sebelum dan sesudah tahap
coding dilakukan karena adanya refactoring yang dilakukan setelah
tahap coding dilaksanakan.
3. Coding
Setelah Tahap perencanaan dan design selesai, tidak langsung
berpindah ke pembuatan code. Tetapi merancang serangkaian tes yang
akan mengevakuasi setiap bagian terlebih dahulu. Setelah tes tersebut
dibuat, pengembang dapat lebih fokus untuk melakukan coding untuk
mengimplementasikan dengan tujuan melewati unit test tersebut.
4. Testing
Tahap ini dilakukan pengujian kode dengan unit test yang sudah
dibuat sebelmu melakukan coding. Selain itu terdapat evaluasi yang
berasal dari user dan terfokus pada fungsionalitas sistem secara
keseluruhan
11
2.2 Pengertian Database
Database adalah suatu koleksi data logical yang saling berhubungan dan
mendeskripsikan data tersebut, serta di desain untuk berelasi pada suatu
informasi yang dibutuhkan dalam suatu organisasi (Connolly, 2005:15).
Basis data terdiri dari 2 kata yaitu, basis dan data. Basis dapat di katakan
sebagai
markas atau gudang, tempat besarang/berkumpul, sedangkan data
adalah representasi fakta dunia yang mewakili suatu objek. (Fathansyah, 2012:4)
Sebagai satu kesatuan istilah database dapat di definisikan sebagai berikut:
 Sebuah himpunan kelompok data yang saling berhubungan dan di
organisasikan sedemikian rupa agar dapat di manfaatkan dengan
mudah dan cepat.
 Kumpulan data yang berhubungan yang disimpan secara bersama dan
tanpa pengulangan atau redudansi yang tidak perlu, untuk
memenuhin berbagai kebutuhan.
 Kumpulan dari file dan arsip yang saling berhubungan yang disimpan
dalam media penyimpanan elektronis.
Basis data sesungguhnya memiliki prinsip kerja dan tujuan yang sama
antara lain untuk pengaturan data/arsip. Sedangkan tujuan utamanya adalah
memberi kemudahan dan kecepatan dalam pengambilan kembali data/arsip.
Perbedaannya terletak pada media penyimpanan yang di gunakan.jika lemari
arsip menggunakan lemari dari besi atau kayu sebagai media penyimpanan,
maka basis data menggunakan media penyimpanan elektronis seperti cakram
magnetis. Hal ini merupakan konsekuensi yang logis karena karena lemari arsip
12
di kelola oleh manusia, sementara basis data di kelola melalui mesin pintar yang
di kenal sebagai komputer.
Secara lebih lengkap, Pemanfaatan basis data dilakukan untuk memenuhi
tujuan objektif sebagai berikut: (Fathansyah, 2012:6-7)
 Kecepatan(Speed)
 Efisiensi ruang penyimpanan(Space)
 Keakuratan(Accuracy)
 Ketersediaan(Availability)
 Kelengkapan(Completeness)
 Keamanan(Security)
 Kebersamaan pemakaian(Sharability)
2.2.1
Penerapan Basis Data
Tahap implementasi (penerapan) basis data merupakan upaya
untuk menyimpan data ke dalam memori sekunder dengan bantuan
DBMS (Database Management System) yang di pilih. Tahap
penerapan basis data di awali dengan transformasi model data yang di
buat ke dalam skema atau struktur data. Secara umum, sebuah
diagram akan di presentasikan menjadi sebuah kumpulan database.
Dan setiap himpunan entitas dan himpunan relasi akan di
transformasikan ke dalam bentuk table (file-file data) yang merupakan
komponen untuk membuat database. (Fathansyah, 2012:115-116)
Setiap attribute yang melekat pada himpunan entitas atau relasi
akan dinyatakan sebagai field-field dari setiap table yang sesuai.
Setelah
tahap
implementasi
selesai
di
buat.
Setelah
tahap
13
implementasi selesai akan mengetahui seperti apa kualitas yang
berpengaruh terhadap cara performansi Basis Data buat.
2.2.2
Pengamanan Basis Data
Setiap data yang disimpan perlu di lindungi dari akses yang
tidak diizinkan untuk membukanya, perusakan/perubahan yang
merugikan, serta timbulnya hal yang ikonsistensi yang tak sengaja.
(Fathansyah, 2012:263-265)
Bentuk akses-akses secara sengaja dapat merusak Basis Data
ataupun merugikan pemilik data dapat berupa:
 Pembacaan data yang tidak diizinkan.
 Pengubahan data yang tidak diizinkan.
 Penghapusan/perusakan data yang tidak diizinkan.
Sementara itu, timbulnya inkonsistensi data secara tidak
disengaja, dapat disebabkan oleh:
 Sistem rusak(crash) selama pemrosesan transaksi.
 Inkonsistensi basis data yang tidak terjaga dengan baik dari
banyak user ke database.
 Adanya pendistribusian basis data kebanyak computer.
 Kesalahan aplikasi yang melanggar integritas yang semestinya
di pelihara agar tetap konsisten.
14
Untuk melindungi basis data, pegamanan basis data harus di
lakukan dari beberapa level:
 Fisik,
Sistem computer harus aman dari jangkauan orang-orang
yang tidak berwenang.
 Manusia,
Otoritas user harus di batasi agar tidak di berikan kepada
pengacau (intruder)
 Sistem operasi
Mencegah pengamanan yang longgar dimana system operasi
pada sebuah DBMS yang di jalankan akan turut mempelemah
aspek pengamanan basis data dalam system tersebut.
 Jaringan
Hampir semua system basis data melakukan peng aksesan
melewati jaringan, maka perlu di adakan mekanisme
pengaman pada setiap perangkat lunak yg memakan system
basis data yg di akses melalui jaringan agar mencegah upaya
pembobolan basis data melewati jaringan.
 Sistem basis data
Dalam basis data mungkin di terapkan mekanisme pemberian
otoritas sebagian atau seluruhnya pada objek-objek basis
data.
15
2.3 Internet
Internet adalah jaringan komputer terbesar di dunia. Jaringan merupakan
istilah yang berarti sekelompok komputer yang dihubungkan bersama sehingga
dapat berbagi-pakai informasi dan sumberdaya. Internet mengandung sejumlah
standar untuk melewatkan informasi dari satu jaringan ke jaringan lainnya,
sehingga jaringan di seluruh dunia bisa terhubung. (Shirky, 1994:2)
2.4 Pengertian Online Shop
Menurut Mariza Arfina dan Robert Marpaung, e-commerce dapat
diartikan suatu cara berbelanja atau bertransaksi secara online yang
memanfaatkan fasilitas internet di mana terdapat website yang menyediakan
layanan “get and deliver” (Yuhefizar, 2013:2)
Berbisnis online merupakan salah satu bagian dari E-Commerce. ECommerce adalah singkatan dari Electronic Commerce yang didefinisikan
sebagai proses pembelian dan penjualan produk, jasa dan informasi yang
dilakukan secara elektronik dengan memanfaatkan jaringan komputer. Salah satu
jaringan yang digunakan adalah internet.
Online shopping atau belanja via internet, adalah suatu proses pembelian
barang atau jasa dari mereka yang menjual internet. Sejak kehadiran Internet
para pedagang telah berusaha membuat toko online dan menjual produk kepada
mereka yang sering menjelajahin dunia maya seperti Internet. Para pelanggan
dapat mengunjungin toko online (online store) dengan mudah dan nyaman,
mereka dapat melakukan transaksi dirumah, sambil duduk dikursi mereka yang
nyaman didepan.
16
Adapun keuntungan yang diperoleh dengan menggunakan transaksi
melalui E-Commerce adalah sebagai berikut :
1. Meningkatkan pendapatan dengan menggunakan online channel yang
biayanya lebih murah.
2. Mengurangi biaya-biaya yang berhubungan dengan kertas, seperti
biaya pos surat, pencetakan, report, dan sebagainya.
3. Mengurangi
keterlambatan
dengan
menggunakan
transfer
elektronik/pembayaran yang tepat waktu dan dapat langsung dicek.
4. Mempercepat pelayanan ke pelanggan, dan pelayanan lebih responsif.
2.5 Jejaring Sosial
Jejaring sosial merupakan situs dimana setiap orang bisa membuat web page
pribadi, kemudian terhubung dengan teman-teman untuk berbagi informasi dan
komunikasi. Contoh Jejaring sosial yang terbesar adalah Facebook. Jika media
traditional menggunakan media cetak dan broadcast, maka media sosial
menggunakan internet. Jejaring sosial mengajak siapa saja yang tertarik untuk
berpatisipasi dengan memberi kontribusi dan feedback secara terbuka, memberi
komentar, serta membagi informasi dalam waktu cepat dan tidak terbatas.
Pesatnya perkembangan Jejaring sosial saat ini dikarenakan semua orang
dapat dengan mudah memiliki media sosial sendiri. Seorang pengguna Jejaring
sosial bisa mengakses sebuah situs jejaring sosial tanpa dengan biaya yang
besar, tanpa alat yang mahal dan dapat dilakukan sendiri tanpa bantuan
siapapun. Kita sebagai pengguna Jejaring sosial dengan bebas bisa mengedit,
menambahkan, memodifikasi baik tulisan, gambar, audio dan berbagai model
content lainnya.
17
Jejaring sosial memiliki banyak peran dalam kehidupan manusia antara lain:

Sebagai sarana diskusi dengan jangkauan yang luas

Sarana untuk bertukar informasi

Tempat pembelajaran onlne dan penambahan wawasan

Mempererat suatu hubungan sosial dengan sesama pengguna jejaring
sosial lainnya

Sarana hiburan dan komunikasi
2.6 Android
2.6.1 Pengertian Android
Android adalah sistem operasi yang mengadopsi sistem operasi linux
yang telah dimodifikasi untuk menjadi sistem operasi bergerak (mobile
operating system). Keuntungan dari android tersendiri adalah adanya
pendekatan terpadu. Pengembang hanya terfocus pada aplikasi saja,
aplikasi tersebut dapat berjalan pada beberapa perangkat yang berbeda
selama masih di ruang lingkup android sendiri. (Suprianto,2012:9)
2.6.2 Arsitektur Android
Secara garis besar sistem operasi Android terbagi menjadi lima
tingkatan (Suprianto,2012:10):
 Linux kernel adalah kernel dasar android. Tingkat ini berisi semua
driver perangkat tingkat rendah untuk komponen-komponen hardware
perangkat Android
18
 Libraries berisi semua kode program yang menyediakan layananlayanan utama sistem operasi android
 Android Runtime kedudukannya setingkat dengan libraries, Android
Runtime menyediakan kumpulan pustaka inti yang dapat diaktifkan
oleh pengembang untuk menulis kode aplikasi Android dengan bahasa
pemograman Java.
 Application framework adalah semacam kumpulan class built-in yang
tertanam dalam sistem operasi Android sehingga pengembang dapat
memanfaatkannya untuk aplikasi yang sedang dibangun.
 Applications Seperti aplikasi Android pada umumnya yang dapay didownload dan di-install dari market Android. Semua aplikasi yang
Anda buat terletak pada tingkat Applications.
2.7 Eclipse
Eclipse merupakan salah satu IDE favorit yang digunakan untuk melakukan
pemograman, termasuk ketika membuat aplikasi Android.
Sifat eclipse :

Multi-platform : Target sistem operasi Eclipse adalah Micrososft,
windows, linux, solaris, AIX, HP-UX dan Mac OS X

Multi-language : Eclipse dikembangkan dengan bahasa pemograman
java, namun mendukung pengembangan aplikasi berbasis bahasa
pemograman lainnya.

Multi-role : Selain sebagai IDE untuk pengembangan aplikasi, bisa
digunakan untuk aktivitas dalam siklus pengembangan perangkat
lunak, seperti dokumentasi, test perangkat lunak dan sebagai nya.
19
2.8 Interaksi Manusia dan Komputer
2.8.1 Pengertian Interaksi Manusia dan Komputer
Interaksi manusia dan komputer merupakan suatu disiplin ilmu yang
berfokus pada aspek desain, implementasi, dan evaluasi dari sistem
komputer interaktif agar manusia dapat berinteraksi dengan komputer
seramah mungkin.
2.8.2 User Interface
User interface menciptakan komunikasi yang efektif antara manusia
dan komputer. (Pressman,2010:312)
Desain user interface dimulai dengan identifikasi user, task dan
environmental requirements.
2.8.3 Delapan Aturan Emas
8 Aturan Emas User Interface (Shneiderman, 2005 : 75) :
a Berusaha untuk Konsistensi
Setiap urutan tindakan harus dalam situasi yang sama dan
tidak boleh berbeda, terminologi harus identik dalam sebuah
prompt, menu, dan membantu layar, dan perintah harus konsisten
dengan warna, tampilan, dan huruf yang di gunakan.
b Melayani kegunaan yang universal
Ada kebutuhan dari pengguna yang sudah ahli untuk
meningkatkan kecepatan interaksi, sehingga diperlukan singkatan,
tombol fungsi, perintah tersembunyi, dan fasilitas makro.
20
c Memberikan umpan balik yang informatif
Untuk setiap tindakan operator, sebaiknya disertakan suatu
sistem umpan balik. Untuk tindakan yang sering dilakukan dan
tidak terlalu penting, dapat diberikan umpan balik yang
sederhana. Tetapi ketika tindakan merupakan hal yang penting,
maka umpan balik sebaiknya lebih substansial.
d Merancang dialog untuk menghasilkan suatu penutupan
Urutan tindakan sebaiknya diorganisir dalam suatu kelompok
dengan bagian awal, tengah, dan akhir. Umpan balik yang
informatif akan meberikan indikasi bahwa cara yang dilakukan
sudah benar dan dapat mempersiapkan kelompok tindakan
berikutnya.
e Mencegah kesalahan
Sedapat mungkin sistem dirancang sehingga pengguna tidak
dapat melakukan kesalahan fatal. Jika kesalahan terjadi, sistem
dapat mendeteksi kesalahan dengan cepat dan memberikan
mekanisme
yang
sedehana
dan
mudah
dipahami
untuk
penanganan kesalahan.
f Mudah kembali ke tindakan sebelumnya
Hal ini dapat mengurangi kekuatiran pengguna karena
pengguna mengetahui kesalahan yang dilakukan dapat dibatalkan;
sehingga pengguna tidak takut untuk mengekplorasi pilihanpilihan lain yang belum biasa digunakan.
g Mendukung tempat pengendali internal
21
Pengguna ingin menjadi pengontrol sistem dan sistem akan
merespon tindakan yang dilakukan pengguna daripada pengguna
merasa bahwa sistem mengontrol pengguna. Sebaiknya sistem
dirancang sedemikan rupa sehingga pengguna menjadi inisiator
daripada responden.
h Mengurangi beban ingatan jangka pendek
Keterbatasan ingatan manusia membutuhkan tampilan yang
sederhana atau banyak tampilan halaman yang sebaiknya
disatukan, serta diberikan cukup waktu pelatihan untuk kode,
mnemonic, dan urutan tindakan.
2.9 UML (Unified Modeling Language)
2.9.1. Pengertian UML
UML (Unified Modeling Language) adalah sebuah bahasa yang
berbentuk gambar/grafik untuk pengembangan sebuah software yang
dapat menyampaikan cara membuat sebuah sistem pengembangan
software berbasis Object Oriented
Hubungan didalam penggunaan UML, yaitu;
 Dependency, adalah hubungan semantik antara dua benda yang
mana sebuah benda berubah mengakibatkan benda satunya akan
berubah pula. Umumnya sebuah dependency digambarkan sebuah
panah dengan garis terputus-putus.
22
 Association, adalah hubungan antar benda struktural yang
terhubung diantara obyek. Kesatuan obyek yang terhubung
merupakan hubungan khusus, yang menggambarkan sebuah
hubungan struktural diantara seluruh atau sebagian. Umumnya
assosiation digambarkan dengan sebuah garis yang dilengkapi
dengan sebuah label, nama, dan status hubungannya.
 Generalizations, adalah menggambarkan hubungan khusus dalam
obyek anak yang menggantikan obyek induk. Dalam hal ini,
obyek anak memberikan pengaruhnya dalam hal struktur dan
tingkah lakunya kepada obyek induk. Digambarkan dengan garis
panah.
 Realizations,
merupakan
hubungan
semantik
antara
pengelompokkan yang menjamin adanya ikatan diantaranya.
Hubungan ini dapat diwujudkan diantara interface dan kelas atau
elements, serta antara use cases dan collaboration
2.9.2. Diagram-diagram UML
UML sendiri terdiri atas diagram-diagram sistem menurut aspek
atau sudut pandang tertentu. UML mempunyai 9 diagram, yaitu:
a. Use case
Menggambarkan sekelompok use cases dan aktor yang disertai
dengan hubungan diantaranya. Diagram use cases ini menjelaskan
dan menerangkan kebutuhan yang diinginkan pengguna, serta sangat
berguna dalam menentukan struktur organisasi dan model dari pada
sebuah sistem (lihat gambar 2.1).
23
Gambar 2.1 Use Case
b. Class Diagram
Memperlihatkan struktur statis dari sebuah sistem
Gambar 2.2 Class Diagram
24
c. Object Diagram
Merupakan varian dari kelas diagram yang memperlihatkan lebih
detail banyaknya obyek yang mengintantiasi kelas.
Gambar 2.3 Object Diagram
d. State Diagram
Memperliatkan semua keadaan yang dapat dimiliki oleh kelas dan
event yang dapat merubah keadaan tersebut.
Gambar 2.4 State Diagram
25
e. Sequence Diagram
memperlihatkan
kolaborasi
dinamik
antara
objek-objek
dengan suatu urutan pesan antar objek tersebut.
Gambar 2.5 Sequence Diagram
f. Collaboration Diagram
Memperlihatkan
kolaborasi
dinamik
antar
objek
tanpa
memperhatikan aspek waktu.
Gambar 2.6 Collaboration Diagram
g. Activity Diagram
Memperlihatkan
aliran
Gambar 2.7 Activity Diagram
urutan
aktifitas.
26
h. Component Diagram
memperlihatkan struktur fisik dari source code dalam
terminology code components. Komponen berisi informasi tentang
logical class dapat berupa komponen source code, komponen biner
atau komponen yang dapat dieksekusi.
Gambar 2.8 Component Diagram
i. Deployment Diagram.
Memperlihatkan arsitektur fisik dari hardware dan software
pada sistem.
Gambar 2.9 Deployment Diagram
Download