BAB 2 LANDASAN TEORI 2.1. Softwere Engineering 2.1.1. Definisi

advertisement
BAB 2
LANDASAN TEORI
2.1. Softwere Engineering
2.1.1.
Definisi
Software Engineering Adalah penetapan dan penggunaan
prinsip-prinsip rekayasa dalam rangka mendapatkan perangkat lunak
yang ekonomis, yaitu perangkat lunak yang diandalkan dan bekerja
secara efisien mesin (Pressman, (2005), p 18).
2.1.2.
Metode Pengembangan
2.1.2.1. Process Model
Process Model adalah sekumpulan aktifitas, aksi, tugas, dan
produk kerja yang dibutuhkan untuk membangun piranti lunak yang
berkualitas tinggi (Pressman, (2005), p 77).
8
9
Incremental Model
Gambar 2. 1 Incremental Proccess Model
Gambar 2.1 Incremental Proccess Model
Incremental
Proccess
Model
berdasarkan
Pressman
(2010,p41) dibagi menjadi beberapa tahap:
a. Communication
Sangat penting untuk berkomunikasi dengan customer dan
para stakeholder untuk memahami tujuan proyek dan
mengumpulkan persyaratan yang membantu mendefinisikan
fitur perangkat lunak dan fungsinya.
b. Planning
Perencanaan mendefinisikan kerja rekayasa perangkat
lunak dengan menjelaskan teknik tugas yang dilakukan,
resiko yang mungkin, sumber daya yang akan diperlukan,
produk yang harus diproduksi, dan jadwal.
10
c. Modelling (analysis, design)
Software engineer membuat model untuk lebih
memahami persyaratan perangkat lunak dan desain yang
akan mencapai kebutuhan tersebut.
d. Construction (code, test)
Kegiatan ini menggabungkan generasi kode (baik
manual atau otomatis) dan pengujian yang diperlukan
untuk mengungkap kesalahan dalam kode.
e. Deployment (delivery, feedback)
Perangkat lunak (sebagai entitas lengkap atau sebagai
bagian yang telah selesai) dikirim ke customer untuk
dievaluasi dan mendapatkan umpan balik berdasarkan
evaluasi tersebut.
2.1.2.2. UML (Unified Modeling Language)
UML adalah standar bahasa grafik dari pemodelan
perangkat lunak bersifat objek (Lethbridge (2002), p 151).
Use-Case diagram
Use-Case diagram
hubungan
antara
adalah notasi UML untuk menunjukan
sekumpulan
(Lethbridge(2002),p 237).
use-case
dan
aktor
11
Gambar 2. 2 Diagram usecase
Gambar 2.2 Contoh gambar diagram usecase (sumber :
http://yudipurnawan.wordpress.com/2008/04/24/unifiedmodeling-language-uml)
Sequence diagram
Sequence diagram menunjukan urutan dari pertukaran pesan
oleh
sekumpulan
objek
melakukan
tugas
tertentu
(Lethbridge(2002), p 270).
Gambar 2. 3 Sequence diagram
Gambar 2.3 Contoh gambar sequence diagram (sumber :
http://bangunariyanto.wordpress.com/category/kampus/page/4
)
12
Activity diagram
Activity diagram dipergunakan untuk memahami aliran kerja
dari objek dan menunjukan interaksi antara use-cases yang
berbeda.
Gambar 2. 4 activity diagram
Gambar 2.4 Contoh gambar activity diagram (sumber :
http://www.tejhost.com/2010_08_01_archive.html)
Kelebihan dari activity diagram adalah merepresentasikan
aktifitas yang sedang terjadi
bersama-sama
dengan
menggunakan fork, joins, dan rendezvous.
Fork memiliki satu transisi masuk dan beberapa transisi
keluar.hasil dari eksekusi tersebut dibagi menjadi dua Thread
yang terjadi bersama-sama.
13
Gambar 2. 5 Activity Fork
Gambar 2.5 Contoh gambar activity fork (sumber :
http://www.claudiodesio.com/ooa&d/UMLSR_EN/DSR/ACTD.
htm)
Join memiliki beberapa transisi masuk dan satu transisi keluar .
Transisi keluar akan berjalan bila semua transisi masuk telah
berjalan.
Gambar 2. 6 Activity Join
Gambar 2.6 Contoh gambar activity join (sumber :
http://www.claudiodesio.com/ooa&d/UMLSR_EN/DSR/ACTD.
htm)
14
Redezvous memiliki beberapa transisi masuk dan beberapa
transisi keluar. Ketika semua transisi masuk sudah berjalan
,sistem akan mengambil semua transisi keluar pada thread
yang berbeda (Lethbridge(2002), p 284).
Gambar 2. 7 Activity Rendesvouz
Gambar 2.7 Contoh gambar activity redezvous (sumber :
http://www.claudiodesio.com/ooa&d/UMLSR_EN/DSR/ACTD.
htm)
2.2. Database Sistem
Menurut Connolly dan Begg (2005, p. 15) Database adalah
koleksi bersama data yang berhubungan secara logis, dan deskripsi data
ini dirancang untuk memenuhi kebutuhan informasi dari suatu
organisasi. Database digunakan untuk membantu perusahaan atau
pemakai untuk mengelola informasi yang dibutuhkan secara cepat dan
mudah, baik untuk memasukan dan menyimpan informasi baru maupun
memperbaiki informasi yang sudah ada dan menampilkannya dalam
berbagai bentuk dan format yang tepat dan sangat membantu misalnya
dalam bentuk laporan grafik maupun dalam bentuk peta yang dapat
15
menghasilkan suatu ringkasan yang memberikan kemudahan bagi
pemakai mengenai sistem terkini.
Gambar 2. 8 DBMS
Gambar 2.8 Contoh gambar basis data sebuah harddisk (sumber :
http://4.bp.blogspot.com/_gpANt0UWpoo/TDxXCMrVl7I/AAAAAAAAA
EA/Fa7UWrCj45o/s1600/bd_harddisk_u.jpg)
2.2.1. DBMS
Menurut Connolly dan Begg (2005, p. 16) DBMS
adalah Sebuah sistem perangkat lunak yang memungkinkan
pengguna untuk mendefinisikan, memelihara, dan mengontrol
akses ke database.
Menurut Connolly dan Begg (2005, p. 16) biasanya
DBMS menyediakan fasilitas sebagai berikut :
a. Memungkinkan
pengguna
untuk
mendefinisikan
database, pada umumnya melalui Definition Data
Language (DDL). DDL memungkinkan pengguna
untuk menentukan jenis dan struktur data dan kendala
pada data yang akan disimpan dalam database.
16
b. Hal ini memungkinkan pengguna untuk memasukkan,
memperbaharui, menghapus dan mengembalikan data
dari database, biasanya melalui Data Manipulation
Language (DML). Memiliki sebuah repositori pusat
untuk seluruh data dan deskripsi data memungkinkan
DML untuk menyediakan fasilitas penyelidikan umum
untuk data ini, disebut bahasa query. Penyediaan
bahasa query menyelesaikan masalah dengan sistem
berbasis file di mana pengguna harus bekerja dengan
seperangkat tetap pertanyaan atau ada proliferasi
program, memberikan masalah manajemen softwere
utama. Bahasa query yang paling umum adalah
Structured Query Language (SQL, diucapkan 'SQ-L',
atau 'See-Quel '), yang sekarang baik formal dan de
facto bahasa standar untuk DBMS relasional.
2.2.2. Perancangan Database Sistem
Menurut Connolly dan Begg (2005, pp. 418 - 419)
Metodologi perancangan database terbagi atas 3 tahapan, yaitu:
1. Perancangan Database Konseptual
Proses membangun model informasi yang digunakan
dalam
sebuah
perusahaaan,
terbebas
dari
semua
pertimbangan fisik. model data konseptual merupakan
sumber informasi untuk fase desain logikal.
2. Perancangan Database Logical
Proses membngun informasi yang digunakan dalam sebuah
perusahaan yang didasarkan oleh data model spesifik, dan
terbebas dari DBMS (Database Management System)
tertentu dan pertimbangan fisik lainnya. Model dan
konseptual yang telah dibuat sebelumnya, diperbaiki dan
dipetakan kedalam model data logikal.
17
3. Perancngan Database Fisikal
Proses memproduksi sebuah deskripsi dari
implementasi database dalam penyimpanan sekunder
(secondary
storage),
yang
menggambarkan
struktur
penyimpanan dan metode akses yang digunakan untuk
mencapai akses yang efisien kedata. dapat dikatakan juga,
desain fisikal merupakan cara pembuatan menuju sistem
DBMS tertentu.
2.3.
Internet
Internet adalah jaringan international yang terdiri dari jutaan jaringan
kecil yang menghubungkan pendidikan, komersial, nonprofit, dan organisasi
kemiliteran, serta individual.
Komputer klien adalah komputer yang meminta data atau servis.
Server atau Host adalah komputer pusat yang membagikan data atau servis
yang dimintai. (Williams and sawyer(2007),p60).
2.3.1. Sejarah internet
“ARPAnet adalah sebuah jaringan antar komputer. Internet
merupakan jaringan dari jejaring. Jejaring antar planet akan menjadi
jaringan internet.” (Haas(2005),p2-13)
Sebelum ARPAnet
• 1957
USSR menerbitkan Sputnik
Terjadi “Sputnik Shock” di USA
18
• 1958
Kongres US memberikan dana untuk Advance Research Project
Agency (ARPA)
Design ARPAnet dimulai:
Kelahiran ARPAnet
• 1969
Bell Lab menciptakan ESS-1, switch pertama
• 1970
ARPAnet menggunakan Network Control Protocol (NCP)
• 1971
ARPAnet Menghubungkan 15 situs termasuk organisasi dan
universitas
• 1972
Ray Tomlinson menciptakan aplikasi email
Kesuksesan TCP/IP
• 1978
TCP terpecah menjadi TCP dan IP
• 1983
ARPAnet meng-convert TCP/IP
UNIX dirilis, sebuah kernel untuk TCP/IP
Internet Activity Board (IAB) berdiri
Lanjutan Milestone
• 1984
Terciptanya Domain Name System (DNS)
19
• 1985
Symbolics.com domain pertama yang tercatat
Pendiri ARPAnet
• J.C.R Licklinder
Distributor network dan pengalamatan
• Robert Taylor
Designer ruang kerja ARPA
• Larry Roberts
ArsitekturARPA
• Barry Wessler
Administrator ARPA
2.3.2
HTTP
Hyper Text Transfer Protocol (HTTP) adalah serangkaian
aturan untuk pertukaran file (teks, grafik, suara, video, dan lain
sebagauinya) didalam World Wide Web melalui protokol TCP/IP
yang merupakan protokol utama dalam pertukaran informasi di
internet.
Konsep dasar yang merupakan bagian dari HTTP termasuk ide
bahwa di dalam sebuah file bisa terdapat referensi ke file lain dimana
pemilihan file tersebut akan memicu terjadinya transfer request.
Beberapa web server dalam memenuhi layanan HTML dan file-file
lain yang dapat dilayaninya, menambahkan sebuah HTTP daemon,
yaitu program yang didesain untuk menunggu HTTP request dan
melayanirequest apabila terjadi. HTTP request ini berasala dari
HTTP client seperti web browser.
20
2.3.3
World Wide Web (WWW)
Menurut Jill Ellsworth (1997, p. 3) World Wide Web (WWW)
merupakan sistem yang menyebabkan pertukaran data di Internet
menjadi mudah dan efisien. Web terdiri atas dua komponen dasar
Server Web dan Browser Web. Server Web adalah sebuah komputer
dan perangkat lunak yang menyimpan dan mendistribusikan data ke
komputer lain yang meminta data melalui Internet. Browser Web
adalah sebuah komponen dan peranngkat lunak yang dijalankan pada
komputer client yang meminta informasi dari Server Web dan
menampilkan sesuai dengan file itu sendiri. Koneksi web ini
menggunakan arsitektur client/server.
2.4.
Web Based Application
Web Based Application adalah sebuah aplikasi berbasis web,
dimana setiap programnya dibututuhkan koneksi jaringan melalui
HTTP, tanpa harus menggunakan memory pada perangkat keras.
Web Based Application biasanya di jalankan menggunakan web
browser. Web Based Application juga memungkinkan untuk
membuat server pada client base, dimana sebagian kecil dari
program diunduh ke perngkat pengguna, namun pengolahan
dilakukan
melalui
Internet
pada
server
eksternal.
(http://www.techopedia.com/definition/26002/web-based-application)
2.4.1 Kelebihan dan Kekurang Web Based Application
Keunggulan :
1. Kita dapat menjalankan aplikasi berbasis web dimanapun kapanpun
tanpa harus melakukan penginstalan.
21
2. Terkait dengan isu lisensi (hak cipta), kita tidak memerlukan lisensi
ketika menggunakan web-based application, sebab lisensi telah
menjadi tanggung jawab dari web penyedia aplikasi.
3. Dapat dijalankan di system operasi manapun. Tidak perduli apakah
kita menggunakan linux, windows, aplikasi berbasis web dapat
dijalankan asalkan kita memiliki browser dan akses internet.
4. Dapat diakses lewat banyak media seperti: computer, handheld dan
handphone yang sudah sesuai dengan standard WAP.
5. Tidak perlu spesifikasi computer yang tinggi untuk menggunakan
aplikasi berbasis web ini, sebab di beberapa kasus, sebagian besar
proses dilakukan di web server penyedia aplikasi berbasis web ini.
Kekurangan:
1. Dibutuhkan koneksi intranet dan internet yang handal dan stabil, hal
ini bertujuan agar pada saat aplikasi dijalankan akan berjalan
dengan baik dan lancar.
2. Dibutuhkan sistem keamanan yang baik dikarenakan aplikasi
dijalankan secara terpusat, sehingga apabila server di pusat down
maka sistem aplikasi tidak bias berjalan.
(http://www.aldo-expert.com/writers/pengertian-aplikasi-berbasisweb-dan-desktop.html)
2.5. Human Interface / Interaction
Menurut schneiderman dan plaisant (2010.p 88) Delapan aturan emas
tersebut adalah:
•
Usahakan agar konsistensi(Strive for Consistent)
Urutan aksi yang konsisten diperlukan pada prompt, menu, layar
bantu, Warna tampilan, kapitalisasi, huruf dan sebagainya juga harus
konsisten
22
•
Gunakan fitur universal (Cater to Universal Usability)
Mengenali dan mengkategorikan kebutuhan pengguna yang
beragam, Memfasilitasi transformasi konten. Menambahkan fitur untuk
pemula seperti penjelasan dan untuk pemakai yang sudah ahli seperti
shortcut dan faster pacing sehingga bisa diperkaya design interface dan
meningkatkan kualitas sistem.
•
Tanggapan yang informatif (Offer Informative Feedback)
Untuk setiap tindakan yang dilakukan pemakai, diharapkan
adanya respon dari sistem. Untuk tindakan yang sering terjadi dan tidak
membutuhkan banyak aksi, respon yang ada bisa di buat secara
sederhana,
sedangkan
tindakan
yang
jarang
dilakukan
dan
membutuhkan banyak aksi harus lebih di tonjolkan.
•
Design hasil dialog untuk penutup (Design Dialogs to Yeild Closure)
Urutan aksi harus disusun ke dalam kelompok awal, tengah dan
akhir suatu umpan balik yang informatif pada akhir pekerjaan sebaiknya
dibuat untuk mengindikasikan bahwa pekerjaan telah selesai dan siap
untuk dilanjutkan ke aksi berikutnya.
•
Mencegah Kesalahan (Prevent Error)
Sebisa mungkin dibuat sistem yang tidak akan menghasilkan
kesalahan yang serius jika digunakan oleh pemakai. Jika pemakai
membuat kesalahan, sistem tersebut harus dapat mendeteksi kesalahan
dan menawarkan instruksi yang sederhana, konstruktif, dan spesifik
untuk perbaikan.
•
Aksi mudah untuk balik ke keadaan awal (Permit Easy Reversal of
Action)
Aksi yang telah dilakukan harus dapat dikembalikan ke keadaan
awal.
•
Dukungan kontrol internal (Support Internal Locus of Control)
Menjadikan pemakai sebagai pemberi aksi, bukan sebagai orang
yang merespon aksi.
23
•
Mengurangi beban jangka pendek memori (Reduce Shortterm Memory
Load)
Karena keterbatasan manusia dalam pemrosesan informasi pada
ingantan jangka pendek, sebaiknya tampilan dibuat sederhana, beberapa
halaman dijadikan satu, frekuensi pergerakan window dikurangi, dan harus
ada waktu yang cukup untuk mempelajari kode-kode, singkatan, serta urutan
aksi. Informasi seperti singkatan atau kode sebaiknya juga tersedia.
2.6
e – Education
E-Education adalah singkatan dari Electronic Education, merupakan
sistem pendidikan berbasis media elektronik, seperti radio dan televisi dan
sekarang e-education adalah pendidikan yang menggunakan internet sebagai
media utamanya.
2.7
IPA dan IPS
IPA adalah suatu ilmu yang mempelajari tentang alam sekitar beserta
isinya. Hal ini berarti IPA mempelajari semua benda yang ada di alam,
peristiwa, dan gejala-gejala yang muncul di alam. Ilmu dapat diartikan sebagai
suatu pengetahuan yang bersifat objektif. Jadi dari sisi istilah IPA adalah suatu
pengetahuan yang bersifat objektif tentang alam sekitar beserta isinya.
Menurut Somantri (Sapriya, 2008 : 9), IPS adalah penyederhanaan
atau disiplin ilmu-ilmu sosial dan humaniora serta kegiatan dasar manusia yang
diorganisasikan dan disajikan secara ilmiah dan pedagogis/psikologis untuk
tujuan pendidikan.
2.7
Game
Pada kamus Bahasa Indonesia juga jika diartikan dalam Bahasa
Inggris arti Game itu sendiri adalah “Permainan.” Sebuah permainan adalah
24
sebuah sistem dimana pemain terlibat dalam konflik buatan, permainan terdapat
peraturan yang bertujuan untuk membatasi perilaku pemain dan menentukan
permainan. Tujuangame adalah pastinya untuk menghibur pemainnya, selain itu
game juga dapat meningkatkan konsentrasi & membantu memecahkan masalah
dengan tepat & cepat.
2.8
HTML5
HTML5 adalah sebuah standar baru HTML. Versi sebelumnya,
HTML 4.01, dibuat pada tahun 1999. Internet saat ini sudah berubah sangat
pesat. HTML5 didesign untuk memberikan apa yang diingankan mendekati
segalanya tanpa memerlukan plug-ins lagi mencangkupi animasi hingga
aplikasi, musik hingga film, dan bisa digunakan untuk membuat aplikasi
rumit
yang
berjalan
di
web
bowser
(http://www.w3schools.com/html/html5_intro.asp).
2.9 MySQL
Menurut Maslakowski (2000, p. 10) MySQL merupakan
sebuah relasi manajemen database yang opensource, enterprse-level
dan multithread.
25
Gambar 2. 9 MySql
Gambar 2.9 Contoh gambar table pada MySQL (sumber :
http://ngutekkomputer.files.wordpress.com/2013/06/join-mysql.jpg)
MySQL dikembangkan oleh sebuah perusahaan kosultan di
Swedia yang bernama Tcx. Mereka mebutuhkan sebuah sistem
database yang cepat dan fleksibel sehingga mereka menciptakan
MySQL yang pada dasarnya berbeda dengan DBMS (database
management system) yang bernama MySQL. MySQL lebih dari sebuah
database biasa yang merupakan sistem yang mengatur database yang
ada. MySQL mengontrol siapa saja yang dapat menggunakan database
dan bagaimana dimanipulasi. MySQL juga menyimpan catatan dari
semua kegiatan dan secara terus menerus bekerja di background.
2.10 PHP
Pengertian PHP menurut (Suryatiningsih, 2009, p. 141), "PHP adalah
sebuah scripting yang menyatu dengan HTML dan dijalankan pada
serverlide. Artinya semua Syntax yang diberikan akan sepenuhnya dijalankan
pada server sedangkan yang dikirim ke browser hanya hasilnya saja.
26
2.11 CSS
CSS (Cascading Style Sheet) adalah salah satu bahasa desain web (style
sheet language) yang mengontrol format tampilan sebuah halaman web yang
ditulis dengan menggunakan penanda(markup laguage. Biasanya CSS
digunakan untuk mendesain sebuah halaman HTML dan XHTML, tetapi
sekarang CSS bisa diaplikasikan untuk segala dokumenXML, termasuk SVG
dan XUL bahkan ANDROID.
CSS dibuat untuk memisahkan konten utamadengan tampilan dokumen
yang meliputi layout, warna da font. Pemisahan ini dapat meningkatkann
daya akses konten pada web, menyediakan lebih banyak fleksibilitas dan
kontrol dalam spesifikasi darisebuah karakteristik dari sebuah tampilan,
memungkinkan untuk membagi halaman untuk sebuah formatting dan
mengurangi kerumitan dalam penulisan kode dan struktur dari konten,
contohnya teknik tableless pada desain web.
CSS juga memungkinkan sebuah halaman untuk ditampilkan dalam
berbagai style dengan menggunakan metode pembawaan yang berbeda pula,
sepertion-screen, in-print, by voice, dan lain-lain. Sementaraitu, pemilik
konten web bisa menentukan link yang menghubungkan konten dengan file
CSS.
Tujuan utama CSS diciptakan untuk membedakan konten dari dokumen
dan dari tampilan dokumen, dengan itu, pembuatan ataupun pemrograman
ulang web akan lebih mudah dilakukan. Hal yang termasuk dalam desain web
diantaranya adalah warna, ukura dan formatting. Dengan adanya CSS, konten
dan desain web akan mudah dibedakan, jadi memungkinkan untuk
melakukan pengulangan pada tampilan-tampilan tertentu dalam suatu web,
sehingga akan memudahkan dalam membuat halaman web yang banyak,
yang pada akhirnya dapat memangkas waktu pembuatan web.
(sumber: http://jambispirit.com/berita-15.html)
27
2.12 JavaScript
JavaScript adalah sekumpulan perintah khusus yang digunakan untuk
membuat sebuah halaman web yang lebih responsif dan interaktif. JavaScript
merupakan bahasa script yang dicantumkan pada sebuah halaman web dan
dijalankan pada penjelajah web (web browser). JavaScript terutama terkenal
karena penggunaannya di halaman web yang memberikan kemampuan
tambahan pada HTML dengan mengizinkan pengeksekusian perintah di sisi
user (penjelajah web), bukan di sisi server web.
JavaScript bergantung kepada penjelajah web yang memanggil
halaman web yang berisi script-script dari JavaScript yang terselip di dalam
dokumen HTML. Script JavaScript yang dimasukkan di dalam file HTML
harus dimasukkan di antara tag <script> dan </script>. JavaScript tidak
memerlukan kompilator atau program khusus untuk menjalankannya karena
JavaScript sendiri sudah termasuk di dalam penjelajah web tersebut.
Secara fungsional, JavaScript digunakan untuk menyediakan akses
script pada objek yang dibenamkan (embedded). Script ini dapat membuka
halaman pop up, melakukan validasi pada form sebelum data dikirimkan ke
server, mengubah kursor ketika melewati objek tertentu, berkomunikasi
dengan
server,
dan
banyak
yang
lainnya.
Ada beberapa hal yang harus diperhatikan dalam penggunaan
JavaScript, diantaranya JavaScript bersifat "case sensitive", yang artinya
JavaScript membedakan huruf besar dan huruf kecil. Hal ini sama dengan
bahasa pemrograman C++ dimana huruf "A" tidak sama dengan huruf "a".
Sebagai contoh fungsi perintah var tidak boleh ditulis Var dan juga tidak
boleh ditulis VAR (huruf besar semua), yang benar adalah var (huruf kecil
semua). Perintah lain adalah new Date tidak boleh ditulis new date.
Walaupun
memiliki
nama
serupa,
JavaScript
hanya
sedikit
berhubungan dengan bahasa pemrograman Java, dengan kesamaan utamanya
28
adalah penggunaan sintaks C. Perbedaan mendasar antara keduanya adalah
bahwa pemrograman Java dapat berjalan pada mesin virtual (video game,
tablet) dan penjelajah web (Mozilla Firefox, Opera, Google Chrome, Safari,
Internet Explorer) sedangkan JavaScript hanya dapat berjalan pada penjelajah
web saja. Java merupakan bahasa pemrograman berorientasi objek murni
sedangkan JavaScript digunakan secara prosedural. Java dikembangkan oleh
Sun Microsystem sedangkan JavaScript dikembangkan oleh Netscape Inc.
(sumber: http://destwentyo.blogspot.com/2013/02/pengertian-javascript.html)
Download