BAB II
LANDASAN TEORI
2.1 Pengertian E-Application
Menurut  Commerchero, Matt (2006,
p30) E-Application adalah aplikasi komputer
berbasis jaringan yang didesain untuk menangani aktivitas-aktivitas yang ada di dalam
dunia pararel. Untuk menangani aktifitas virtual yang ada aplikasi ini harus memahami
karakteristik dari dunia yang sedang dipresentasikannya.
2.2 Pengertian Analisis dan Perancangan Aplikasi
2.2.1 Pengertian Analisis dan Perancangan
Menurut Al Fatta
(2007, p24) Analisis sitem didefinisikan sebagai bagaimana
memahami dan menspesifikasi dengan detail apa yang harus dilakukan oleh sistem.
Sementara sistem desain diartikan sebagai menjelaskan dengan detail bagaimana bagian-
bagaian dari sistem informasi di implementasikan. Dengan demikian, analisis dan desain
sistem informasi bisa didefinisikan sebagai : Proses organisasional kompleks di mana
sistem informasi berbasis komputer diimplementasikan. Atau bisa diringkas sebagai
berikut :
1.
Analysis : mendefinisikan masalah :
-
From requirements to specificiation
2.
Design : memecahkan masalah :
-
From specification to implementation
  
2.2.2 Pengertian Aplikasi
Menurut Shelly, Cashman dan Vemaat (2009, p57), aplikasi adalah seperangkat
instruksi khusus dalam komputer yang dirancang agar kita dapat menyelesaikan tugas-
tugas tertentu. Sebagai contoh, Aplikasi Word Processing
adalah sebuah Aplikasi yang
diperuntukan membuat dokumen tertulis, Aplikasi Web Browser
adalah Aplikasi yang
diperuntukkan untuk mencari suatu dan menampilkan halaman web.
2.3 Pengertian Perancangan Perangkat Lunak
Menurut Pressman (2010, p219), perancangan perangkat lunak adalah proses dimana
analisa diterjemahkan menjadi ”blueprint” untuk membangun perangkat lunak. Awalnya,
blueprint
menggambarkan pandangan menyeluruh perangkat lunak. Yaitu, desain
diwakili pada abstraksi tingat tinggi yang dapat langsung ditelusuri pada sistem tertentu
objektif dan data yang lebih rinci, fungsional dan perilaku persyaratan. Seperti terjadi
pengulangan desain, perbaikan berikutnya mengarah pada representasi desain yang jauh
lebih rendah tingkat abstraksi.
2.3.1 Definisi Rekayasa Piranti Lunak
Definisi rekayasa perangkat lunak menurut Fritz Bauer adalah ”pengembangan dan
penggunaan prinsip pengembangan suara untuk memperoleh perangkat lunak secara
ekonomis yang reliable dan bekerja secara efisien pada mesin nyata”. (Pressman, 2010,
p13)
Secara umum rekayasa piranti lunak dibagi menjadi empat layer, Pressman (2010,
p12-14), antara lain :
1.
Tool memyediakan dukungan otomatis dan semi otomatis untuk proses
model dan methods.
  
2.
Methods menyediakan secara teknis bagaimana untuk membangun suatu
perangkat lunak.
3.
Proses model
adalah pondasi dari RPL yang mendefinisikan sebuah
framework untuk sekumpulan key proses area yang harus dibangun demi
keefektifan penyampaian teknologi pengembangan RPL.
4.
Quick focus merupakan batu landasan yang menopang tools, methods,dan
process dalam RPL.
2.3.2 Tahap-tahap Perancangan Perangkat Lunak
Menurut Turban, Rainner dan Potter (2010,
p690), System Development Life Cycle
(SDLC) adalah  kerangka kerja tradisional yang terstruktur dan yang digunakan untuk
proyek TI besar, serta terdiri atas berbagai proses yang berurutan untuk mengembangkan
sistem informasi. SDLC terdiri dari delapan tahap, yaitu : penelitian,
analisis, desain,
pemograman, pengujian, implementasi, operasi dan pemeliharaan. Di masa lalu, para
pengembang menggunakan pendekatan air terjun (waterfall approach). Waterfall
approach merupakan pendekatan SDLC dengan berbagai pekerjaan di suatu tahap
diselesaikan terlebih dulu sebelum perkerjaan dilanjutkan ke tahap berikutnya.
  
Gambar 2.1 Software Development Life Cycle (Sumber : Turban, Rainer, potter,2010,p450).
Tahap-tahap SDLC adalah sebagai berikut : 
1.
Penelitian sistem (System Investigation)
Penelitian sistem dimulai dengan masalah bisnis atau peluang
bisnis. Masalah dan peluang seringkali tidak hanya membutuhkan
pemahaman mengenai dari sudut pandang internalnya, tetapi juga
sebagai sudut pandang mitra organisasional (pemasok atau pelanggan)
yang akan melihatnya.
2.
Analisis sistem (System Analysis)
Analisis sistem adalah proses mempelajari berbagai masalah
bisnis yang direncanakan perusahaan dapat diatasi melalui sistem
informasi. Tahap ini menentukan masalah bisnisnya, mengindentifikasi
berbagai penyebabnya, menspesifikasi solusi dan mengindentifikasi
kebutuhan informasi yang harus dipenuhi oleh solusi tersebut. 
  
3.
Desain sistem (System Design)
Desain sistem menjelaskan bagaimana sistem tersebut akan
menjalankan sistem yang telah di buat.
4.
Pemrograman (Programming)
Pemrograman melibatkan penerjemahan spesifikasi desain ke
dalam kode komputer. Dalam proyek, tim pemrograman akan
dibentuk.
5.
Pengujian (Testing)
Proses yang memastikan semua kalimat dalam program telah
dilakukan pengetesan sehingga memberikan input sesuai dengan yang
diinginkan.
6.
Implementasi (Implementation)
Implementasi adalah proses konvesi dari sistem lama ke sistem
baru. Terdapat empat strategi konversi : paralel, langsung, percobaan
awal, dan bertahap.
7.
Operasi (Operation)
Sistem baru akan beroperasi dalam jangka waktu tertentu,
hingga sistem tersebut tidak lagi memenuhi tujuan perusahaan, begitu
operasi sistem baru stabil, audit akan dilakukan selama masa operasi
untuk menilai kemampuan sistem dan menentukan apakah sistem
tersebut digunakan dengan benar.
8.
Pemeliharaan (Maintenance)
Perangkat lunak akan mengalami perubahan setelah dikirim ke
pengguna maka proses pemeliharaan dilakukan dengan menerapkan
setiap langkah daur hidup sebelumnya disertai dengan perbaikan.
  
2.4 Diagram Aliran Dokumen (DAD)
Menurut Whitten, Bentley, dan Dittman (2007, p344), DAD merupakan alat yang
menggambarkan bagaimana dokumen berpindah dalam suatu sistem dan bagaimana
dokumen tersebut diproses oleh sistem tersebut.
Komponen DAD terdiri dari : 
1.
Entitas eksternal 
Entitas yang menyediakan data input atau menerima output dokumen .
2.
Proses
Gambaran dari prosedur yang berjalan.
3.
Arus data 
Sekumpulan data yang secara logis terhubung dan bergerak dari 1 proses ke proses
lainnya.
4.
Dokumen 
Tempat penampungan data, dimana dari padanya suatu proses dapat mengambil dan
memasukan data.
  
Tabel 2.1 Simbol-simbol Diagram Aliran Dokumen 
Simbol
Keterangan
Dokumen
Simbol ini digunakan untuk menggambarkan semua jenis
dokumen, yang merupakan formulir untuk merekam data
terjadinya suatu transaksi.
Garis Alir
Simbol ini menggambarkan arah proses pengolahan data.
Proses
Simbol ini untuk menunjukkan tempat-tempat dalam sistem
informasi yang mengolah atau mengubah data yang diterima
menjadi data yang mengalir keluar. Nama pengolahan data
ditulis didalam simbol.
Mulai / Berakhir (terminal)
Simbol ini untuk menggambarkan awal dan akhir suatu sistem
akuntansi
(Sumber :Whitten, Bentley, dan Dittman 2007, p344)
2.5 Entity Relationship Diagram (ERD)
Menurut Whitten (2007, p381), ERD adalah model data yang menggunakan beberapa
notasi untuk menggambarkan data dalam konteks entitas dan hubungan yang
dideskripsiskan oleh data tersebut.
  
Menurut Connoly dan begg (2010, p371-395),
Entity Relation Diagram digunakan
untuk menggambarkan struktur logical database dalam bentuk diagram ERD, serta
menyediakan cara yang sederhana dan mudah untuk memahami bagian berbagai
komponen dalam desain database.
ERD memiliki 3 komponen yaitu :
1.
Entity
Entity adalah benda yang yang memiliki identifikasi yang berbeda. Entity
dapat
digambarkan sebagai persegi yang berisi nama dari entity tersebut.
2.
Relationship
Relationship adalah hubungan antara entity. Entity merupakan pengikut dari 
relationship. Relationship dapat digambarkan dalam bentuk belah ketupat yang
mana berisi nama dari relasi tersebut.
Relationship dapat berupa hubungan one –to-one , one-to-many, atau many-to-
many.
a.
Hubungan one-to-one (1 atau 1...1)
 
Hubungan dimana setiap entity yang ada hanya dapat mempunyai
maksimal 
1 (satu) hubungan dengan entity yang lain.
Gambar 2.2 One-to-One Relationship
  
b.
Hubungan one-to-many (1...*)
Hubungan dimana setiap entity
yang dapat mempunyai satu atau lebih
dari
satu hubungan dengan entity yang lain.
Gambar 2.3 One-to-Many Relationship
c.
 
Hubungan many-to-many (*...*)
Hubungan dimana setiap entity dapat mempunyai lebih dari satu relasi 
dengan entity lainnya.
Gambar 2.4 Many-to-Many Relationship
3.
Property atau atribut
Property atau atribut adalah sifat karateristik deskriptif suatu entitas. Setiap
property atau atribut mempunyai key diantranya primary key (PK) dan foreign key
(FK), yang bertujuan untuk menunjukkan hubungan antara kedua entitas. 
  
2.6.State Transition Diagram (STD)
Menurut Harel and Moore (2011), State Transition Diagram
digunakan untuk
membuat pemodelan berorientasi objek. Hal yang mendasarinya adalah untuk
mendefinisikan suatu sistem yang memiliki sejumlah states. Suatu sistem menerima
kejadian dari interaksi yang ada di luar, dan masing-masing kejadian tersebut
menyebabkan perpindahan dari satu state ke state lainnya. State Transition Diagram juga
memiliki arah yang mengelilingi dalam pemodelan berorientasi objek. Hal tersebut
menjelaskan behavior suatu sistem. Ini berarti mengharuskan analis untuk mendefinisikan
semua state yang mungkin terjadi dan ada pada suatu sistem. Baik pada sistem yang kecil,
maupun sistem yang besar. Hal ini juga dapat terjadi dengan peningkatan jumlah state 
yang ada di dalam analisis suatu sistem. Metode objek oriented juga mendefinisikan state
transition diagram yang terpisah pada masing-masing class nya.
Menurut Leoni (2011), State Transition Diagram
adalah diagram yang 
merepresentasikan serangkaian states dan aktivitas yang berkaitan di dalam hubungan
suatu sistem.
State Transition Diagram
digunakan untuk mengembangkan analis
dalam merangkai suatu sistem secara real-time dan berorientasi objek
2.7 Database
2.7.1 Pengertian Database
Menurut Thomas Connoly (2010,
p14), database adalah sekumpulan data-data
yang dapat digunakan bersama-sama dan saling berhubungan secara logika, dirancang
untuk memenuhi kebutuhan informasi yang diperlukan oleh sebuah organisasi. Dengan
demikian definisi database adalah kumpulan informasi yang disimpan di dalam komputer
secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk
  
memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk
mengelola dan memanggil query basis data disebut database management system
(DBMS).
2.7.2 My SQL
Menurut Aditya Nu Alan (2010,
p62) MySQL
(My Structure Query Languange)
adalah sebuah implementasi dari sistem manajemen basis data relasional (RDBMS) yang
didistribusikan secara gratis dibawah lisensi GPL (General Public Licensi). MySQL
sebenarnya merupakan turunan salah satu konsep utama dalam basis data yang telah ada
sebelumnya yaitu SQL (Structure Query Languange). SQL adalah sebuah konsep
pengoperasian basis data, terutama untuk pemilihan atau seleksi dan pemasukan data,
yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. 
Dengan menggunakan SQL, proses akses database menjadi lebih user-friendly
dibandingakan dengan menggunakan dBASE atau Clipper yang masih menggunakan
perintah-perintah pemograman. Pemakaian database
MySQL yang dimaksud adalah
pemgembang aplikasi database yang ingin menggunakan MySQL mempunyai kelebihan
dapat diakses oleh banyak bahasa pemograman. MySQL merupakan software database
server yang ideal untuk data segala ukuran dengan kemampuan mempunyai kecepatan
yang sangat tinggi dalam pemrosesan data, multi-threaded, multi-user dan query. Ukuran
database MySQL lebih kecil dari database file yang lain.
Beberapa pertimbangan programmer
memilih My SQL dalam mengolah database
yaitu kecepatan, mudah digunakan, open source, kapabilitas, biaya murah, keamanan,
lintas platform.
  
2.8 PHP
2.8.1 Pengertian PHP
Menurut Peranginangin (2006,p2), PHP adalah singkatan Hypertext Preposessor yang
digunakan sebagai script server-side dalam pengembangan web
yang disisipkan pada
dokumen HTML. PHP dikatakan sebagai sebuah server-side embedded script languange
artinya sintaks-sintaks dan perintah yang kita berikan akan sepenuhnya dijalankan oleh
server tetapi disertakan pada web browser, tetapi prosesnya secara keseluruhan dijalankan
di server. 
2.8.2 Kelebihan PHP
PHP memiliki beberapa kelebihan, yaitu :
a.
Bahasa pemograman PHP adalah sebuah bahasa script yang tidak melekukan
sebuah kompilasi dalam penggunaannya.
b.
Banyak web server
yang mendukung PHP script
antara lain : Apache,
AOLServer, Microsoft IIS, dan sebagainya. Web server
ini dapat dijalankan
pada berbagai sistem operasi, dengan konfigurasi yang relatif mudah.
c.
Dalam sisi pengembangan lebih mudah, karena banyaknya milis-milis
dan
developer yang siap membantu dalam pengembangan.
d.
PHP mendukung banyak paket database, baik yang komersil maupun
nonkomersil, seperti Oracle, Informix, MySQL, Microsoft SQL Server dan
lain-lain.
2.9 E-Learning
2.9.1. Pengertian E-Learning
Menurut Turban (2005,p165) E-learning merujuk pada pembelajaran yang didukung
melalui web yang dapat digunakan pada kelas biasa atau kelas virtual.
  
Menurut Empy dan Zhuang (2005,p6) E-learning adalah kegiatan pelatihan yang
menggunakan media elektronik atau teknologi informasi. Berbagai istilah digunakan
untuk mengartikan E-learning antara lain, web-based learning, distance learning, online
learning, computer-aided instruction, computer-based training/learning, dan lain-lain.
E-learning
merupakan dasar dan konsekuensi logis dari perkembangan teknologi
informasi dan komunikasi. Dengan E-learning,  peserta ajar(murid) tidak perlu duduk
dengan manis di ruang kelas untuk menyimak setiap ucapan dari seorang guru secara
langsung. E-learning
juga dapat mempersingkat jadwal target waktu pembelajaran, dan
tentu saja menghemat biaya yang harus dikeluarkan oleh sebuah program study atau
program pendidikan.
2.9.2 tipe-tipe E-Learning
Menurut Matt Commerchero (2006, p1), E-learning dapat di bedakan jenisnya
berdasarkan 4 hal, yaitu :
1.
Jalan Komunikasi 
Berbagai jenis cara setiap individu untuk berkomunikasi dengan sesamanya
ataupun dengan pembimbingnya. Dengan E-learning  dapat dilakukan melalui
aplikasi online. Dengan cara itu berkomunkasi tetap dapat dilakukan secara
face to face melaluio video atau audio.
2.
Jadwal
Berdasarkan jadwal E-learning dapat dibedakan menjadi dua, yaitu : 
a.
Synchronous
Synchronous berarti terjadi di waktu yang sama, dimana proses belajar
dan mengajar terjadi pada waktu yang bersamaan. Digunakan dalam
  
video conference, teleconference, dan lain-lain. Synchronous
mengharuskan pelajar dan guru  untuk mengakses internet bersamaan.
b.
Asynchronous
Asynchronous
berarti terjadi tidak pada waktu yang sama, dimana
proses belajar tidak secara langsung. Pelajar dapat mengambil
pelatihan pada
waktu yang berbeda dengan pengajar. Contoh dari
pengguna Asynchronous adalah email, online forum dan thread
discussion.
3.
Struktur kelas E-learning
Struktur kelas menandakan bagaimana pelajaran diberikan. Dapat berupa
belajar mandiri, belajar dengan bimbingan, atau belajar mandiri dengan
seorang ahli.
4.
Teknologi yang dipakai
Teknolgi yang dipakai untuk mengimplementasikan tidak terbatas pada
informasi yang berbasis web, tetapi E-learning
dapat dicapai dengan
memanfaatkan segala bentuk teknologi informasi yang
menghasilkkan media
yang mendukung. Misalnya adalah rekaman video dan audio.
2.9.3 Keuntungan dan Kerugian E-Learning
Menurut Empy dan Zhuang (2005,p9), ada beberapa keuntungan E-learning,
yaitu :
1.
Mengurangi biaya
Dengan menggunakan E-learning
kita dapat
menghemat waktu untuk
mencapai suatu tempat pembelajaran.
  
2.
Fleksibilitas waktu, tempat dan kecepatan pembelajaran 
Dengan menggunakan E-learning pelajar dapat mengakses dari berbagai
lokasi dan tempat, pengajar dapat menetukan waktu untuk belajar dimanapun.
Dengan E-learning
murid
juga dapat belajar di
kelas, dimana para murid
belajar mulai dan berhenti pada waktu yang sama.
3.
Standarisasi dan Efektifitas pengajaran 
E-learning
memiliki kualitas sama setiap kali diakses dan tidak tergantung
suasana hati pengajar. E-learning dirancang agar pelajar dapat lebih mengerti
pelajaran dengan menggunakan simulasi ataupun teknologi animasi.
 
Disamping keuntungannya menurut Empy dan Zhuang E-learning juga
memiliki kekurangan, yaitu : 
1.
Murid harus memiliki komputer dan akses internet.
2.
Murid harus memotivasi diri sendiri, disebabkan pelajar belajar sendiri
tanpa ada bantuan pengajar setiap saat. Sehingga murid
harus disiplin
dan mengerjakan dengan mandiri.
3.
Murid dan pengajar harus memiliki kemampuan mengetik dan
kemampuan komunikasi yang baik. Karena tidak saling bertatap muka
sehingga mungkin terjadi salah pengertian dalam beberapa hal.