BAB II LANDASAN TEORI
2.1
e-Learning e-Learning singkatan dari Elektronic Learning atau sistem pembelajaran
elektronik merupakan pembelajaran jarak jauh (distance learning) yang memanfaatkan teknologi komputer dan jaringan komputer (internet dan intranet). e-Leraning memungkinkan pelajar untuk belajar melalui komputer di tempat tanpa harus secara fisik pergi mengikuti pelajaran/perkuliahan di kelas.[1]
2.1.1
Komponen e-Learning Untuk mendukung pembelajaran dalam sistem e-Learning terdapat
komponen-komponen utama, Gambar 2.1 memberikan ilustrasi tentang tiga komponen-komponen utama dalam membentuk e-Learning.
Komponen e-Learning 1. e-Learning System (Aplikasi) Learning Management System (LMS) Situs Portal/Blog 2. e-Learning Content (Isi) Multimedia-based Content Text-based Content 3. Infrastruktur (Peralatan) Serverand Client (PC) Network Media Teleconference
Student
Lecturer
Admin
Gambar 2.1 Komponen-Komponen e-Learning
Universitas Sumatera Utara
Adapun komponen-komponen pembentuk e-Leraning adalah: a. Sistem dan aplikasi e-Learning Sistem perangkat lunak yang memvirtualisasi proses belajar mengajar konvensional. Bagaimana manajemen kelas, pembuatan materi atau konten, forum diskusi, sistem penilaian (rapor), sistem ujian online dan segala fitur yang berhubungan dengan manajemen proses belajar mengajar. Sistem perangkat lunak tersebut sering disebut dengan Learning Management System (LMS). LMS banyak yang open source sehingga bisa di manfaatkan dengan mudah dan murah untuk dibangun di sekolah dan universitas. b. Konten e-Learning Konten dan bahan ajar ini bisa dalam bentuk Multimedia-based Content (konten berbentuk multimedia interaktif) atau Text-based Content (konten berbentuk teks seperti pada buku pelajaran biasa). Keduanya dapat disimpan dalam bentuk Learning Management System (LMS) sehingga dapat di jalankan oleh pelajar kapanpun dan dimanapun. c. Infrastruktur e-Learning Infrastruktur e-Learning dapat berupa personal computer (PC), jaringan komputer, internet dan perlengkapan multimedia. Termasuk di dalamnya peralatan telekonfrensi apabila kita memberi layanan synchronous learning melalui telekonferensi. Synchronous merupakan proses pembelajaran
Universitas Sumatera Utara
terjadi pada saat yang sama ketika pengajar sedang mengajar dan pelajar sedang belajar. [2]
2.2
MOODLE (Modular Object Oriented Dynamic Learning Environment) Moodle (Modular Object Orientid Dynamic Learning Environment)
adalah sebuah proram aplikasi yang dapat merubah sebuah media pembelajaran kedalam bentuk web. Moodle merupakan salah satu Learning Management System (LMS) yang cukup popular digunakan oleh banyak institusi pendidikan.[3] Moodle merupakan sebuah aplikasi Coures Management System (CMS) yang geratis dapat di download, digunakan ataupun dimodifikasi oleh siapa saja dengan lisensi secara GNU (General Public License) dan dapat di download pada alamat http://www.moodle.org. Beberapa hal gambaran dan kelebihan tentang moodle, yaitu: a. Digunakan untuk kelas online dan sama baiknya dengan belajar tambahan yang langsung berhadapan dengan pengajar b. Menggunakan teknologi sederhana, ringan dan efisien c. Mudah di instal pada banyak program yang bisa mendukung PHP. Hanya membutuhkan satu database. d. Menampilkan penjelasan dari pelajaran yang ada dan pelajaran tersebut dapat dibagi kedalam beberapa katagori. e. Moodle dapat mendukung 1000 lebih pelajaran
Universitas Sumatera Utara
f. Paket bahasa disediakan penuh untuk berbagai bahasa. Bahasa yang tersedia dapat diedit dengan menggunakan editor yang telah tersedia. Lebih dari 45 bahasa yang tersedia. Termasuk bahasa Indonesia. Berikut adalah sistem management Moodle: 1. Site Management a.
Website diatur oleh Admin, yang telah ditetapkan ketika membuat website.
b.
Tampilan (Themes) diizinkan pada admin untuk memilih warna, jenis huruf, susunan dan lain sebagainya untuk kebutuhan tampilan
c.
Bentuk kegiatan yang ada dapat ditambah.
d.
Source Code yang digunakan ditulis dengan menggunakan PHP. Mudah untuk dimodifikasikan dan sesuai dengan kebutuhan.
2. User Management a.
Tujuannya ialah untuk mengurangi keterlibatan admin menjadi lebih minimum, ketika menjaga keamanan yang beresiko tinggi. Metode Email standar. Pelajar dapat membuat nama pemakai untuk login. Alamat email akan diperiksa melalui konfirmasi.
b.
Tiap orang disarankan cukup satu pengguna saja untuk seluruh server. Dan tiap pengguna dapat mempunyai akses yang berbeda.
c.
Pengajar
mempunyai
hak
istimewa,
sehingga
dapat
mengubah
(memodifikasi) bahan pelajaran. d.
Semua Pengguna dapat membuat biografi sendiri, serta menambahkan photo.
Universitas Sumatera Utara
e.
Setiap pengguna dapat memilih bahasa yang digunakan.
3. Course Management a. Pengajar mengendalikan secara penuh untuk mengatur pelajaran, termasuk melarang pengajar lain. b. Memilih bentuk/metode pelajaran seperti berdasarkan mingguan, berdasarkan topik atau diskusi c. Terdapat Forum, Kuis, Polling, Servey, Tugas, Percakapan dan Pelatihan yang digunakan untuk mendukung proses belajar. d. Semua kelas-kelas untuk forum, kuis-kuis dan tugas-tugas dapat ditampilkan pada satu halaman (dan dapat didownload sebagai file lembar kerja). e. Bahan pelajaran dapat dipaketkan dengan menggunakan file zip.[4]
2.3
Web Server Web server merupakan perangkat lunak dalam server yang berfungsi
menerima permintaan (request) berupa halaman web melalui HTTP atau HTTPS (Hypertext Transfer Protocol Secure) dari klien yang dikenal dengan browser web dan mengirimkan kembali (response) hasilnya dalam bentuk halaman-halaman web yang umumnya berbentuk dokumen HTML. Web server bukan hanya bisa dapat melayani jenis data dalam bentuk text, akan tetapi dalam bentuk gambar, suara dan juga dapat berinteraksi dalam dunia wireless internet dengan menjadikannya sebagai sebuah Wireless Access Protocol (WAP) geteway dan sebagainya. [5]
Universitas Sumatera Utara
2.4
Web Service Web service adalah suatu bentuk sistem perangkat lunak yang dirancang
untuk mendukung komunikasi antara aplikasi yang berbeda melalui jaringan. Web service digunakan sebagai suatu fasilitas yang disediakan oleh suatu web site untuk menyediakan layanan (dalam bentuk informasi) kepada sistem lain, sehingga sistem lain dapat berinteraksi dengan sistem tersebut melalui layananlayanan (service) yang disediakan oleh suatu sistem yang menyediakan web service. 2.4.1
Arsitektur Web Service Secara umum, arsitektur web service dapat dilihat pada gambar 2.2
berikut: Service Registry
2. Find Service
1. Publish Service 3. Bind to Service
Service Requester
Service Provider
Gambar 2.2 Arsitekutr Web Service Pada gambar diatas, ada tiga komponen yang membuat web service berjalan. Ketiga komponen itu adalah: 1. Service Provider, berfungsi untuk menyediakan layanan/service dan megolah sebuah registry agar layanan-layanan tersebut dapat tersedia.
Universitas Sumatera Utara
2. Service Requester, merupakan aplikasi yang bertindak sebagai klien dari web service yang mencari dan memulai interaksi terhadap layanan yang disediakan. 3. Service
Registry,
merupakan
tempat
dimana
Service
provider
mempublikasikan layanannya. Pada arsitektur Web service, Service registry bersifat optimal. Teknologi web service memungkinkan dapat menghubungkan berbagai jenis software yang memiliki platform dan sistem operasi yang berbeda.[6] 2.4.3
Represntational State Transfer (REST) REST adalah sebuah metode web service yang menerapkan konsep
perpindahan antar state. State disini dapat digambarkan seperti jika browser meminta suatu halaman web, maka server akan mengirimkan state halaman web yang sekarang ke browser. Bernavigasi melalui link-link yang disediakan sama halnya dengan mengganti state dari halaman web. Begitu pula REST bekerja, dengan bernavigasi melalui link-link HTTP untuk melakukan aktivitas tertentu, seakan-akan menjadi perpindahan state satu sama lain. Metode REST lebih sederhana karena menggunakan format standar (HTTP, HTML, XML, URI, MIME), namun jika diperlukan proses pertukaran data, maka konten berupa teks dari hasil eksekusi web service dapat diolah dalam format teks (seperti XML atau HTML) dengan menggunakan utilitas komunikasi data berupa koneksi protokol HTTP. Utilities ini umumnya tersedia dalam bahasa pemrograman (sperti Java, Visual Basic, Delphi, PHP, ASP, dan JSP).[7]
Universitas Sumatera Utara
2.4.4
JSON (JavaScript Object Notation) JSON adalah format pertukaran data yang ringan, mudah dibaca dan
ditulis, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa Pemrograman JavaScript. JSON merupakan format teks yang tidak tergantung pada bahasa pemrograman apapun karena menggunakan bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python, dll. Oleh karena itu sifatsifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran data. JSON memilik beberapa kelebihan dibandingkan dengan XML, kelebihan-kelebihan antara lain: 1. Format Penulisan Untuk mereprensentasikan sebuah struktur data yang rumit dan berbentuk hirarkis penulisan JSON relative lebih terstruktur dan mudah. 2. Ukuran Ukuran karakter yang dibutuhkan JSON lebih kecil dibandingkan XML untuk data yang sama. Hal ini tentu berpengaruh pula pada kecepatan pertukaran data walaupun tidak signifikan untuk data yang kecil, namun cukup berarti jika koneksi yang digunakan relatif lambat untuk mengakses aplikasi web kaya fitur yang memanfaatkan pertukan data. Di sini JSON lebih unggul dibandingkan dengan XML, kecuali jika data dikompresi terlebih dahulu sebelum dikirimkan, perbedaan JSON dan XML yang telah dikompresi tidaklah signifikan. 3. Browser Parsing
Universitas Sumatera Utara
Proses parsing merupakan proses pengenalan token atau bagian-bagian kecil dalam rangkaian dokumen XML/JSON. Contohnya, terdapat data text dalam format JSON. Data tersebut harus diparsing terlebih dahulu sebelum dapat diakses dan dimanipulasi. Browser parsing berarti proses yang terjadi pada sisi client/browser. Melakukan browser parsing pada JSON lebih sederhana dibandingkan pada XML, JSON menggunakan function JavaScript eval() untuk melakukan parsing. Sementara dokumen XML diparsing oleh XMLHttpRequest.
2.5
MySQL Database Server MySQL (My Structure Query Language) adalah perangkat lunak sistem
manajemen basis data SQL (database management system) atau DBMS yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Setiap pengguna dapat secara bebas menggunakan MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan produk turunan yang bersifat komersial. MySQL merupakan turunan salah satu konsep utama dalam basis data yang telah ada sebelumnya yaitu SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian basisdata, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. 2.6
Android Android adalah sebuah sistem operasi untuk perangkat mobile berbasis
linux yang mencakup sistem operasi, middleware dan aplikasi. Android
Universitas Sumatera Utara
menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasinya. Android memiliki banyak fitur diantaranya adalah: a.
Merupakan sebuah Application Framework sehingga dapat menggunakan beberapa fungsi yang telah disediakan.
b.
Dalvik virtual machine. Tiap aplikasi dalam Android memiliki instance virtual machine yang dapat bekerja secara efisien dalam lingkungan memori yang terbatas.
c.
Integrated browser. Web browser berbasis WebKit engine terdapat pada browser default. Android atau pun dapat diintegrasikan dengan aplikasi lain.
d.
Optimized graphics. Library grafis 2D yang kaya dan 3D berbasis OpenGL ES 1.0 yang mendukung akselerasi hardware.
e.
SQLite. Basis data relasional yang ringan namun sangat powerful.
f.
Media Support. Mendukung berbagai format audio, video, dan gambar (MPEG4, H.264, MP3, AAC, AMR, JPG, PING, GIF)
g.
GSM Telephony. Mendukung fungsi komunikasi GSM.
h.
Bluetooth, EDGE, 3G dan WiFi. Mendukung komunikasi jaringan (tergantung hardware).
i.
Kamera, GPS, Kompas dan accelerometer. Mendukung berbagai fitur yang disediakan oleh hardware.
j.
Tools Developer yang lengkap. Termasuk device emulator, tools untuk debugging, profiling memori dan performa, plugin untuk Eclipse IDE.
Universitas Sumatera Utara
2.6.1
Arsitektur Android Secara
garis besar arsitektur android dapat dilihat pada gambar 2.3
berikut:
Gambar 2.3 Arsitektur Android a. Applicatons dan Wedgets Aplication dan Wedgets ini adalah layer di mana berhubungan dengan aplikasi saja, di mana biasanya dapat di download aplikasi kemudian dilakukan intalasi dan menjalankan aplikasi tersebut. Di layer terdapat aplikasi inti termasuk klien email, program sms, kalender, peta, browser, kontak, dan lain-lain
Universitas Sumatera Utara
b. Applications Frameworks Application Frameworks ini adalah layer di mana para pembuat aplikasi melakukan pengembangan/ pembuatan aplikasi yang akan dijalankan di sistem operasi Android, karena pada layer inilah aplikasi dapat dirancang dan dibuat, seperti content-providers yang berupa sms dan panggilan telepon c. Libraris Libraris adalah layer dimana fitur-fitur Android berada, biasanya para pembuat aplikasi mengakses libraries untuk menjalankan aplikasinya. Berjalan di atas kernel, Layer ini meliputi berbagai library C/C++ inti seperti Libc dan SSL (Secure Socket Layer). d. Android Run Time Layer yang membuat aplikasi Android dapat dijalankan di mana dalam prosesnya menggunakan implementasi Linux. Dalvik Virtual Machine (DVM) merupakan mesin yang membentuk dasar kerangka aplikasi Android. Di dalam Android Run Time dibagi menjadi dua bagian: 1. Core Libraries: Aplikasi Android dibangun dalam bahasa java, sementara Dalvik sebagai virtual mesinnya bukan Virtual Machine Java, sehingga diperlukan sebuah libraries yang berfungsi sebagai menterjemahkan bahasa java/c yang ditangani oleh Core Libraries. 2. Dalvik Virtual Machine: Virtual mesin berbasis register yang dioptimalkan untuk menjalankan fungsi-fungsi secara efisien, dimana merupakan pengembangan yang mampu membuat Linux kernel untuk melakukan threading dan manajemen tingkat rendah.
Universitas Sumatera Utara
e. Linux Kernel Linux kernel adalah layer di mana inti dari operating system dari Android itu berada. Berisi file-file sistem yang mengatur system Processing, memory, resource, drivers, dan sistem-sistem operasti android lainnya. Linux kernel digunakan Android adalah Linux kernel release 2.6. [8]
2.7
PhoneGap PhoneGap adalah sebuah sebuah kerangka kerja/framework open source
yang dikembangkan oleh Nitobi Software untuk membuat aplikasi cross-platform mobile HTML 5, CSS3 (Cascading Style Sheets), dan JavaScript. PhoneGap menjadi satu solusi yang ideal untuk seseorang pengembangan perangkat lunak mobile yang tertarik dalam pembuatan aplikasi di smartphone. PhoneGap juga merupakan solusi ideal bagi mereka yang tertarik membuat sebuah aplikasi yang dapat berjalan pada beberapa perangkat smartphone dengan basis kode yang sama. Artinya, cukup hanya dengan satu kali coding saja, dapat membuat aplikasi untuk smartphone, iPhone, iOS, Android, Blackberry, OS, Windows Phone 7. Symbian dan Bada. Dengan bantuan mobile development framework seperti PhoneGap para developor khususnya pada platform mobile, hal ini merupakan satu revolusi dalam dunia aplikasi mobile yang akan menjadi sangat mudah bahkan bagi orang awam untuk membuat aplikasi sendiri dengan bantuan PhoneGap. Bermodalkan pengetahuan HTML 5, CSS3 dan JavaScript, dapat dibangun aplikasi yang dapat memanfaatkan fitur native pada berbagai platform dengan mudah.
Universitas Sumatera Utara
Perihal
dasar
untuk
membangun
suatu aplikasi
mobile
dengan
menggunakan PhoneGap yang perlu dilakukan pertama adalah membuat aplikasi web mobile menggunakan standart dengan bantuan HTML 5 dan CSS3. Setelah itu dapat menggunakan JavaScript untuk melakukan pengkodean logika serta menambahkan fitur native pada setiap platform sistem operasi, yang terakhir dapat membangun aplikasi tersebut dengan mudah. Tidak memerlukan coding secara terpisah untuk masing-masing platform. Dengan menggunakan PhoneGap dapat menghemat waktu dalam membuat aplikasi untuk beberapa smartphone dengan sekaligus dan hanya dibekali pengetahuan tentang HTML 5, CSS3 dan JavaScript, semua dapat menggunakan PhoneGap. Hal ini bisa disebut dengan cros platform kerena PhoneGap dapat membuat aplikasi pada beberapa platform smartphone dengan hanya satu coding. Gambar 2.4 merupakan prinsip kerja dari PhoneGap.
Gambar 2.4 Prinsip Kerja PhoneGap Pembuatan aplikasi menggunakan coding dari HTML 5, CSS3 dan JavaScript kemudian di transformasikan ke PhoneGap emulator kemudian pada di konversikan ke Opersi sistem yang mana di smartphone dengan hasil yang sama.[9] Aplikasi yang disebut dengan PhoneGap tidak hanya seperti situs web mobile biasanya. Hasil aplikasi yang dibangin dengan menggunakan PhoneGap,
Universitas Sumatera Utara
dapat berinteraksi dengan hardware yang ada pada perangkat mobile yang bersangkutan, seperti Accelerometer atau GPS, tidak seperti aplikasi web secara normal. Aplikasi berbasis PhoneGap juga dibuat dan dikemas seperti aplikasi asli (native), yang artinya pembuat aplikasi bisa membagikan aplikasinya melalui Apple App Store atau Android Market. Keunggulan PhoneGap dibandingkan mobile development framework yang lain yaitu sudah mencakup hampir semua sistem operasi yang banyak digunakan dan mendukung sebagian besar fitur native pada masing-masing sistem operasi. Adapun fitur native yang didukung oleh PhoneGap antara lain: a. Accelerometer b. Kamera c. Kompas d. Kontak e. File f. GeoLokasi g. Network h. Notifikasi (Suara dan Getaran) i. Media penyimpanan Pada gambar 2.5 berikut merupakan beberapa feature native dari beberapa platform yang bisa diakses dari PhoneGap
Universitas Sumatera Utara
Gambar 2.5 Fiture Native yang Didukung Oleh PhoneGap API
2.8
HTML5 (Hypertext Markup Language Version 5) HTML5 (Hypertext Markup Language Version 5) merupakan bahasa
markah untuk mestrukturkan dan menampilakan isi dari World Wide Web, sebuah teknologi utama dari internet. HTML5 merupakan hasil proyek dari W3C (World Wide Web Consortium) dan WHATWG (Web Hypertext Application Technology Working Group). Dimana WHATWG dengan bentuk web aplikasi dan W3C merupakan
Universitas Sumatera Utara
pengembangan dari HTML 2.0 pada tahun 2006, kemudian memutuskan untuk bekerja sama dan membentuk versi baru dari HTML5. Tujuan dibuatnya HTML5 yaitu: a. Fitur baru harus didasarkan pada HTML5, CSS3 (Cascading Style Sheets), DOM (Document Object Model) b. Mengurangi ketergantungan untuk plugin eksternal (Seperti Flash) c. Penanganan kesalahan yang lebih baik d. Lebih markup untuk menggantikan scripting e. HTML5 merupakan perangkat mandiri f. Proses pengembangan dapat terlihat untuk umum.
Fitur baru yang terdapat dalam HTML5 yaitu: a. Unsur kanvas untuk menggambar b. Video dan elemen audio untuk media pemutaran c. Dukungan yang lebih baik untuk penyimpanan secara offline d. Elemen konten yang lebih spesifikasi, seperti artikel, footer, header, nav, section e. Bentuk kontrol from seperti kalender, tanggal, waktu, email, url, search.
Beberapa browser sudah mendukung HTML 5 seperti safari, chrome, firefox, dan opera. Kebanyakan IE9 (Internet Explorer) akan mendukung beberapa fitur dari HTML5. Pembuatan HTML5 juga dikarenakan standard HTML4 akan dijumpai memilki kelemahan untuk mendukung aplikasi web yang interakitf. Akibat hal ini banyak orang menambahkan fitur baru baik dari sisi aplikasi web ataupun disisi
Universitas Sumatera Utara
browser. Solusi ini dikenal dengan plugin dan salah satunya adalah Flas dan Silverlight. Untuk menguji apakah browser yang di install itu sudah support HTML5 atau tidak dan seberapa banyak fitur HTML5 yang disupport yaitu komputer sudah terhubung dengan internet dam arahkan ke alamt web sebagai berikut: http://html5test.com/ Dari data yang ada pada website itu browser Maxthon 3.4.1 merupakan browser terbaik dalam mendukung HTML5 dengan 422 total skor diikuti dengan google Chrome 20 dengan 414 total skor kemudia berturut-turut Opera 12.00 dengan 385, Firefor 13 dengan 345, safari 5.1 dengan 317 dan Internet Explorer 9 dengan 138 point.[10]
2.9
JavaScript JavaScript adalah bahasa script yang berdasar pada objek yang
memperbolehkan pemakai untuk banyak aspek interaksi pemakai pada suatu dokumen HTML. Dimana objek tersebut dapat berupa window, frame, URL, dokumen, form, button atau item yang lain. Yang semuanya itu mempunyai property yang saling berhubungan dengannya dan masing-masing memiliki nama, lokasi, warna dan atribut lain.[11]
2.9.1
Menjalankan JavaScript Untuk dapat mempelajari pemrograman JavaScript, ada dua piranti yang
diperlukan yaitu browser dan teks editor. Teks editor adalah sebuah pengolah kata (word processor) yang menghasilkan file dalam format ASCII murni. Bila pengguna windows, dapat menggunakan Notpad, Wordpad atau menggunakan
Universitas Sumatera Utara
Ultraedit Text Editor. Selain itu browser web yang akan digunakan harus mendukung JavaScript, dapat menggunakan Internet Explorer, Opera, FireFox dan lain-lain. Kode dalam JavaScript dapat dituliskan langsung pada file HTML dengan menggunakan tag kontainer <SCRIPT>. Dengan kata lain, tidak perlu menuliskan program JavaScript pada file terpisah. Yang dimaksud dengan tag container adalah tag yang diawali dengan
dan diakhiri dengan Contoh. Tag kontainer <SCRIPT> mempunyai dua atribut tetapi yang harus diisi hanya satu atribut yaitu Language. Istilah atribut language dengan “JavaScript”. Hal ini digunakan untuk memberitahukan pada browser bahwa yang akan ditulis adalah Java Script. Contoh Penulisan: <SCRIPT LANGUAGE=”JavaScript”> //program Anda masukan disini
Universitas Sumatera Utara