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 bagianbagaian 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 tugastugas 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-tomany.
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.