BAB 2 LANDASAN TEORI 2.1 Konsep analisis dan perancangan system 2.1.1 Pengertian analisis sistem Menurut Laudon (1998, p400-401), analisis sistem adalah suatu proses identifikasi terhadap masalah yang akan diselesaikan oleh sebuah organisasi dengan menggunakan sistem informasi, yang terdiri dari pendefinisian masalah dan identifikasi spesifikasi kebutuhan yang harus dipenuhi oleh solusi dari sistem. Menurut Alter (1999, p413), analisis sistem adalah proses umum yang mencakup pendefinisian masalah, pengumpulan informasi yang berkaitan, pengembangan solusi alternatif dan pemilihan di antara solusi yang ada tersebut. 2.1.2 Pengertian perancangan sistem Menurut Alter (1999, p383), perancangan sistem adalah bagian dari perancangan bisnis yang berhubungan dengan penyebaran sumber daya sistem informasi perusahaan yang mencakup manusia, perangkat keras dan perangkat lunak. 2.2 E-learning 2.2.1 Pengertian e-learning Menurut DeSantis, e-learning atau electronic Learning adalah model belajar yang terpisah jarak antara guru dan siswa dan dilakukan 7 8 dalam waktu yang tidak bersamaan sehingga siswa dapat mengatur sendiri kecepatan waktu belajarnya. Menurut Dong, E-learning adalah kegiatan belajar Asynchronous melalui perangkat elektronik komputer yang tersambung ke internet dimana peserta belajar berupaya memperoleh bahan belajar yang sesuai dengan kebutuhannya (Kamarga, 2002, p52) Sedangkan Empy Effendi dan Hartono Zhuang (2005, p6) dalam bukunya menulis bahwa terminologi e-learning sendiri mengacu pada semua kegiatan pelatihan yang menggunakan media elektronik atau teknologi informasi. Berdasarkan ketiga pemahaman di atas, dapat disimpulkan bahwa e-learning adalah model belajar dimana guru dan siswa berada pada tempat atau waktu yang berbeda dan kegiatan belajar-mengajar dilakukan dengan menggunakan berbagai media elektronik atau teknologi informasi terutama komputer dan internet. 2.2.2 Jenis e-learning Berdasarkan waktunya, e-learning dibedakan menjadi dua jenis, yaitu Synchronous dan Asynchronous (Empy Effendy dan Hartono Zhuang, 2005). Synchronous Training Synchronous Training adalah tipe pelatihan dimana guru dan murid berada pada waktu yang sama dalam suatu proses pembelajaran, sehingga interaksi langsung antara guru dengan murid sangat dimungkinkan. 9 Intinya, e-learning jenis ini mirip dengan pembelajaran di kelaskelas seperti biasa, hanya saja kelasnya bersifat maya. Salah satu contoh Synchronous Training adalah penggunaan web conference dalam proses pembelajaran. Asynchronous Training Asynchronous Training adalah tipe pelatihan dimana guru dan murid berada pada waktu yang berbeda dalam suatu proses pembelajaran, sehingga siswa dapat mengakses materi dan melakukan kegiatan pembelajaran setiap saat. E-learning jenis ini memang tidak memungkinkan interaksi langsung antara siswa dengan pengajar seperti halnya Synchronous Training, namun interaksi tersebut masih dapat dimungkinkan dengan cara tidak langsung seperti misalnya dengan email ataupun bulletin board/forum 2.2.3 Learning Management Sistem Learning Management Sistem (LMS) adalah sistem yang membantu administrasi dan berfungsi sebagai platform e-learning content (Empy Effendy dan Hartono Zhuang, 2005). LMS ini berfungsi sebagai sistem yang mengatur e-learning content atau mata pelajaran elearning. LMS berperan banyak dalam membantu administrasi kegiatan pembelajaran dan mengatur semua kegiatan e-learning. Fungsi dasar LMS antara lain: • Katalog LMS memperlihatkan materi-materi yang dimiliki, baik yang berupa pelajaran e-learning, artikel, tesis, hasil diskusi beserta deskripsinya. LMS harus mengelompokkan materi-materi 10 tersebut berdasarkan jenis materi, departemen yang memerlukan, maupun kurikulum. • Registrasi dan Persetujuan Seorang calon pelajar dapat mendaftarkan dirinya secara online, baik untuk pelajaran secara online maupun di kelas. Informasi yang tersedia pada catalog harus ditampilkan pada saat calon pelajar akan mendaftarkan dirinya. Data pendaftaran dan persetujuan akan disimpan untuk membantu departemen pelatihan untuk memonitor kegiatan elearning di kemudian hari. • Menjalankan dan memonitor e-learning LMS harus mampu menampilkan materi pelajaran dengan baik. Apabila konfigurasi pada komputer pelajar tidak sesuai dengan konfigurasi yang dibutuhkan LMS, maka suatu pemberitahuan kepada pelajar harus ditampilkan. Selain itu, LMS merekam kegiatan yang dilakukan pelajar seperti, berapa lama pelajar mengakses, berapa kali, jam, tanggal, dan informasi lainnya. • Evaluasi LMS harus dapat melakukan evaluasi yang dapat mengukur seberapa jauh keahlian peserta sebelum dan setelah mengikuti pelajaran, dan berdasarkan hasil evaluasi tersebut, secara otomatis akan muncul suatu saran bagi pelajar apakah ia harus mengulang atau dapat melanjutkan ke materi selanjutnya. 11 • Komunikasi Melalui LMS, departemen pelatihan (baik administrator pelatihan maupun pengajar) dapat memberikan pengumuman maupun pesan pribadi kepada pelajar. Pengajar juga dapat memberikan materi tambahan atau bahkan latihan. • Laporan Melalui LMS, administrator pelatihan dapat memperoleh laporan berisi data pelatihan. Atasan dan manajemen pun dapat mengakses sistem dan mencetak laporan secara langsung, tanpa harus melalui administrator. • Rencana Pelatihan Seorang manajer dapat membuat rencana pelatihan untuk beberapa karyawan mengenai analisis kebutuhan training. Rencana pelatihan tersebut dimuat dalam LMS, sehingga juga dapat diakses oleh karyawan yang bersangkutan. LMS secara otomatis akan merekomendasikan program pelatihan yang sesuai dan mengatur jadwalnya. Jadi, karyawan tahu kapan ia bisa mengikuti dan harus menyelesaikan. • Integrasi Dalam suatu organisasi, ada beberapa sistem komputer. Misalnya, bagian SDM memiliki sistem personalia dan bagian keuangan memiliki sistem akuntansi. LMS yang baik dapat berkomunikasi dan berintegrasi dengan sistem-sistem yang ada. Misalnya, LMS akan mendapatkan daftar informasi karyawan terbaru dari sistem SDM yang sudah ada. Apabila ada perubahan data karyawan pada sistem SDM, maka informasi dapat digunakan untuk memperbaharui data pelatihan. 12 2.2.4. Learning Content Management Sistem (LCMS) Learning Content Management Sistem (LCMS) adalah sistem yang fungsi utamanya menyusun dan mengatur materi atau content elearning (Empy Effendy dan Hartono Zhuang, 2005). LCMS memungkinkan diciptakannya suatu storyboard baru, penggabungan materi, revisi isi materi, dan sebagainya. Seperti halnya LMS, LCMS juga berfungsi mengurus administrasi pelatihan. Namun demikian, LMS tidaklah sama dengan LCMS. Perbedaan antara keduanya terletak pada fokusnya. LMS lebih terfokus pada proses pembelajaran, sedangkan LCMS lebih terfokus pada pembuatan materi atau content. Jadi, LMS mengatur komunitas pelajar dalam menggunakan materi e-learning yang disimpan dan dikelola oleh LCMS. Kemudian, LCMS memberikan data-data mengenai proses pembelajaran pelajar kepada LMS untuk disimpan. 2.2.5 Materi atau Content Materi adalah pelajaran e-learning yang akan diikuti oleh anggota organisasi/pelajar (Empy Effendy dan Hartono Zhuang, 2005). Desain materi untuk e-learning tentu berbeda dengan desain untuk pelajaran di kelas. Desain materi untuk e-learning menghasilkan produk akhir berupa naskah atau story board yang berisi tampilan layer dan materi yang menawarkan beberapa fungsi berbeda disbanding pelatihan di kelas. Hal-hal yang harus diperhatikan dalam desain materi pelajaran elearning adalah sebagai berikut: 13 1. Tampilan • Latar belakang tampilan hendaknya menarik secara visual namun tidak mengganggu konsentrasi belajar. Misalnya, pemilihan gambar yang halus dan warna yang tidak terlalu kuat agar tidak mengganggu tulisan pada materi pelajaran. • Grafik 2D maupun 3D dengan warna yang menarik. • Penyertaan foto sebagai contoh aplikasi materi pada dunia nyata • Animasi secukupnya agar pelajar tetap konsentrasi pada pelajaran. • Penggunaan suara dalam pelajaran, misalnya pembacaan materi. • Penggunaan video untuk materi yang memerlukan demonstrasi. 2. Interaksi Interaksi antara pelajar dengan e-learning sangat diperlukan agar pelajar dapat memahami materi dengan lebih baik. Interaksi oleh siswa dapat dilakukan terhadap tampilan, dimana siswa harus memberikan response atau inisiatif dalam pelajaran. Misalnya: • Roll-over: suatu keterangan akan muncul ketika pelajar menunjukkan suatu objek dengan mouse. • Hot text: dengan meng-klik suatu objek, suatu keterangan akan muncul. • Drag and drop: Pelajar dapat mengklik dan memindahkan suatu objek ke bagian lain dari layer. 14 • Pertanyaan: Menampilkan pertanyaan (baik pilihan ganda, benar salah, mencocokkan istilah, dsb) untuk memancing pelajar untuk berpikir. 3. Kontrol Pelajar dapat mengontrol kecepatan belajarnya melalui mekanisme berikut: • Menu Pelajar dapat melihat daftar bab dalam suatu mata pelajaran, sehingga ia dapat memilih bab mana yang akan ia pelajari. • Panel Panel yang dimaksud dapat disebut juga user interface. Dengan panel ini, siswa dapat berpindah halaman, berhenti belajar sementara, dan sebagainya. • Help Help merupakan bantuan bagi siswa dalam belajar menggunakan e-learning. Misalnya, tombol apa yang harus ditekan, apa yang harus dilakukan, dan sebagainya. Kondisi tampilan dalam pelajaran e-learning haruslah jelas dan mudah dimengerti. Tampilan harus disertai pesan error atau peringatan yang berisi informasi yang berhubungan dengan masalah yang muncul atau proses yang sedang dilakukan. Misalnya ketika konfigurasi tidak sesuai, siswa menyalahi prosedur, koneksi dengan server terputus, dan sebagainya. 4. Bentuk Materi pelajaran e-learning dapat dikemas dalam bentuk: 15 • Text-based Materi dikemas dalam bentuk tulisan dan disertai dengan sedikit gambar, persis seperti pada buku. • Text with graphic and animation Pengemasan materi dengan bentuk ini sama seperti pada text based, hanya saja lebih banyak penyisipan gambar dan animasi. Bentuk ini jika didesain dengan baik dapat membuat e-learning menjadi lebih efektif. Bentuk ini sering digunakan untuk paket pelajaran bersifat teknis seperti pelajaran cara penggunaan software tertentu. • Simulasi Bentuk ini merupakan kombinasi teks, gambar atau foto, dan animasi. Bentuk ini cocok untuk pelajaran yang bersifat soft skill. • Permainan Pelajaran e-learning berbentuk permainan sangat menarik bagi pelajar, namun pembuatannya sangat kompleks dan sulit. Langkah-langkah permainan merupakan materi pelajaran itu sendiri. • Blended learning Bentuk ini sangat populer di dunia pelatihan. Bentuk ini merupakan penggabungan materi e-learning dengan pelatihan di kelas. Materi e-learning sebagai materi pembuka diberikan sebelum kelas dimulai, sedangkan di kelas berfungsi sebagai praktik latihan, diskusi, dan sebagainya. 16 • Virtual classroom Virtual Classroom termasuk synchronous learning, dimana pelajar dan pengajar berinteraksi langsung secara online. Jadi, Bentuk ini sama seperti Blended learning, hanya saja pada bentuk ini, pertemuan di kelas pada blended learning diganti menjadi pertemuan di kelas virtual. 5. Susunan Penyusunan materi e-learning sebaiknya menggunakan cara learner-centric atau berdasarkan alur piker pelajar sendiri. Pada learner-centric, materi disusun sedemikian rupa agar dapat memancing keingintahuan pelajar agar mau belajar lebih jauh. Urutan topic pelajaran atau konsep dasar pelajaran itu sendiri tidak perlu terlalu diperhatikan. Materi yang pertama kali diberikan adalah materi yang paling menarik minat pelajar, misalnya materi yang paling rumit namun sering dijumpai sehari-hari. Bentuk simulasi d17an permainan merupakan salah satu bentuk materi yang adpat menarik minat pelajar untuk belajar. 2.2.6 Keuntungan dan kerugian e-learning E-learning tentunya memiliki kelebihan dan keterbatasan. 2.2.6.1 Keuntungan e-learning Menurut Empy Effendi dan Hartono Zhuang (2005, p914), e-learning memiliki keuntungan sebagai berikut: 17 • E-learning mampu mengurangi biaya pelatihan. e-learning memungkinkan perusahaan/sekolah mengurangi biaya untuk berbagai kebutuhan sewa pelatih, transport pelatih, perawatan kelas (kebersihan kelas, penggantian meja/bangku yang rusak), operasional kelas (spidol, ac/kipas), makan siang pelatih, dan biaya lainnya. • Fleksibilitas Waktu Seringkali pelajar (dalam hal ini pelajar yang merangkap karyawan pada suatu perusahaan) kesulitan menghadiri kegiatan pembelajaran karena terlalu disibukkan oleh pekerjaan kantornya. memungkinkan pelajar Dalam untuk hal ini, e-learning menyesuaikan waktu belajarnya. Pelajar dapat mengakses e-learning secara langsung kapanpun ia ingin mengaksesnya. Jadi jika ada waktu luang, pelajar dapat mengisinya dengan belajar. • Fleksibilitas Tempat Proses pembelajaran dengan e-learning tidak memerlukan kelas dan segala perlengkapannya. Pelajar maupun pengajarpun tidak perlu bersusah payah menempuh perjalanan jauh dan melelahkan hanya untuk hadir di kelas. Dengan menggunakan internet, pelajar maupun pengajar dapat mengakses e-learning untuk melangsungkan kegiatan belajar mengajar dimanapun mereka berada. • Fleksibilitas Kecepatan Pembelajaran Pada dasarnya, siswa memiliki gaya belajar yang berbeda. Dengan demikian, kemampuan tiap siswa untuk memahami suatu materi pelajaran pun berbeda. Ada siswa 18 yang dapat memahami suatu materi hanya dalam 1-2 kali membaca, namun ada juga yang baru bisa memahami materi setelah 3-5 kali membaca, dan seterusnya. Terlebih lagi, di kelas seringkali guru, dengan waktu belajar yang terbatas, hanya sempat menjawab beberapa pertanyaan saja. e-learning memungkinkan penyesuaian belajar bagi para pelajar. Pelajar yang daya belajarnya tinggi, dapat melanjutkan ke materi yang selanjutnya dan berarti dapat menguasai banyak materi. Sedangkan pelajar yang daya belajarnya rendah, dapat memilih materi yang dianggapnya sesuai dengannya dan mempelajarinya dengan perlahan. Selain itu, pengajar pun memiliki waktu lebih banyak untuk menjawab pertanyaan-pertanyaan yang muncul dari para pelajar. • Standarisasi Pengajaran Setiap guru memiliki kemampuan mengajar dan metode pengajaran yang berbeda, sehingga dikenal guru favorit, yaitu guru yang kemampuan belajar atau metode pengajarannya disukai oleh pelajar. Dengan e-learning, semua pelajar memiliki kemampuan mengajar dan metode pembelajaran yang sama, sehingga kualitas pelajaran yang disampaikan kepada setiap pelajar akan relatif sama. • Efektivitas Pengajaran E-learning sebagai teknologi baru, dapat memikat perhatian para pelajar sehingga jumlah peserta pembelajaran akan meningkat. Penyampaian materi pelajaran pun diiringi simulasi dan kasus dalam bentuk 19 permainan dengan menerapkan teknologi animasi yang canggih. Dengan demikian, diharapkan pelajar dapat lebih mudah memahami suatu materi. • Kecepatan Distribusi e-learning dapat diakses dari berbagai lokasi yang berada di luar wilayah pusat. Perusahaan/sekolah hanya perlu menyiapkan bahan pembelajaran di pusat, lalu pelajar maupun pengajar yang ada di daerah dapat langsung mengaksesnya. Jika suatu saat materi perlu diubah, maka Perusahaan/sekolah hanya perlu mengubah materi yang ada di pusat saja. Secara otomatis, ketika pelajar maupun pengajar di daerah mengakes e-learning, materi yang tampil pun akan berubah sesuai revisi yang dilakukan di pusat. • Ketersediaan On-Demand e-learning, karena mudah diakses, dapat dianggap sebagai “buku saku” yang dapat membantu pekerjaan setiap saat. Misalnya pelajar mengalami suatu kesulitan dalam penggunaan mengkases suatu aplikasi. e-learning lalu Pelajar membaca tersebut dapat materi yang berhubungan dengan kesulitannya. Dalam beberapa menit saja, ia dapat mempraktekan materi pelajarannya dan sekaligus menyelesaikan pekerjaannya. • Otomatisasi Proses Administrasi e-learning menggunakan suatu Learning Management Sistem (LMS). LMS dapat membuat laporan tentang kegiatan belajar seorang pelajar seperti: pelajaran yang diambil, tanggal akses, persentase pelajaran yang telah 20 diselesaikan, lamanya suatu pelajaran diikuti, sampai hasil tes akhir. Pengajar memiliki akses ke LMS yang memungkinkan mereka untuk mencetak sendiri laporan kegiatan pembelajaran tanpa harus menunggu administrator. 2.2.6.2 Keterbatasan e-learning Keterbatasan e-learning adalah sebagai berikut (Empy Effendy dan Hartono Zhuang, 2005): • Budaya Beberapa orang merasa tidak nyaman mengikuti kegiatan pembelajaran dengan komputer. E-learning menuntut budaya self-learning, sedangkan siswa di Indonesia pada umumnya masih bergantung pada guru. Pada pembelajaran di kelas, 60% energi dari pengajar dan 40% energi dari siswa. Sedangkan pada e-learning, 100% energi dari siswa. Pelajar maupun pengajar pun apabila tidak terbiasa dengan komputer, akan mengalami kesulitan dalam memanfaatkan e-learning. • Investasi Investasi awal untuk membangun e-learning cukup mahal. Investasi tersebut dapat berupa biaya desain dan pembuatan program learning management sistem, paket pembelajaran, dan biaya lain-lain seperti promosi dan change management sistem serta infrastruktur seperti komputer, server, jaringan, dan sebagainya 21 • Teknologi Beragamnya teknologi yang digunakan memungkinkan terjadinya konflik teknologi, sehingga e-learning tidak berjalan dengan baik. Misalnya, suatu paket pembelajaran hanya dapat diakses dengan suatu browser saja, sehingga apabila pelajar mengakses paket pembelajaran tersebut dengan browser lain, maka paket pembelajaran tersebut tidak ditampilkan dengan optimal. • Infrastruktur Infrastruktur belum menjangkau semua kota di Indonesia, sehingga e-learning hanya dapat diakses dari kota-kota tertentu saja. • Materi Ada beberapa materi yang tidak dapat diajarkan melalui elearning. Pelatihan yang memerlukan banyak kegiatan fisik tidak dapat diajarkan melalui e-learning secara sempurna. Misalnya olah raga dan seni musik, meskipun prakteknya tidak dapat dilakukan dengan e-learning, dasar-dasar pelajaran tetap dapat disampakan melalui elearning. 2.3 Internet Internet dalam e-learning memiliki peranan yang penting. Tanpa internet pun e-learning sebenarnya dapat dijalankan, namun sangat terbatas pada suatu jaringan saja. Internet memungkinkan akses terhadap e-learning dari berbagai wilayah. 22 2.3.1 Pengertian internet Menurut Turban, Rainer dan Potter (2005, p478), internet merupakan rangkaian jaringan dalam jaringan yang menghubungkan komputer individu yang dimiliki oleh pemerintah,universitas, group nonprofit dan perusahaan. Interkoneksi ini dihubungkan dengan standar protokol yang bebas dan terbuka. Menurut Turban (2005, p50), internet adalah sistem jaringan komputer dan jaringan dari banyak jaringan yang meliputi seluruh dunia. Internet bersifat publik, kooperatif dan mandiri yang memfasilitasi akses ke ratusan atau jutaan manusia di seluruh dunia. 2.3.2 World Wide Web (WWW) Menurut Turban, Rainner dan Potter (2005, p50), World Wide Web adalah aplikasi yang digunakan dalam internet yang berfungsi sebagai transportasi data yang diterima sebagai standar untuk menyimpan, menerima, memformat dan menampilkan informasi melalui arsitektur client/server. Merupakan protokol yang digunakan untuk transfer halaman web melalui internet. Transaksi HTTP terdiri dari beberapa tahap: • Koneksi Client melakukan koneksi dengan server • Permintaan Client mengirim permintaan ke server • Respon Server mengirimkan respon ke client 23 • Selesai Koneksi ditutup oleh server 2.3.3 Browser Menurut Effraim Turban (2005, p483) browser adalah aplikasi piranti lunak yang digunakan oleh pengguna untuk mengakses web. Browser memungkinkan pengguna untuk menunjuk dan meng-klik pada web, suatu proses yang disebut surfing. Browser menjadi alat akses universal karena memberikan tampilan yang sama pada pada berbagai system operasi. Dua browser yang banyak digunakan adalah Microsoft Internet Explorer dan Netscape Navigator. 2.4 Object Oriented Design (OOD) (Deitel & Deitel, 2005) Object-Oriented design memodelkan software sebagai objek-objek yang identik dengan objek pada dunia nyata seperti mobil, manusia, hewan, ataupun objek lainnya. Salah satu keuntungan OOD adalah hubungan antar class (class relationship), dimana objek dari suatu class memiliki karakteristik yang sama. Misalnya, suatu class kendaraan memiliki objek mobil, motor, truk, bus, yang memiliki berbagai kesamaan sifat. Keuntungan OOD yang lainnya adalah hubungan penurunan sifat (inheritance relationship), dimana suatu class baru dapat dibuat dari suatu class yang sudah ada, dengan mengambil seluruh karakteristik yang ada pada class tersebut dan menambahkan suatu sifat unik pada class yang baru tersebut. OOD menyediakan suatu cara alami dan intuitif untuk melihat proses perancangan software, pemodelan objek berdasarkan attribute dan behaviornya sesuai dengan objek pada dunia nyata. OOD juga memodelkan komunikasi 24 antarobjek. Seperti halnya seseorang mengirim pesan kepada orang lain, objek juga berkomunikasi melalui pesan (message). OOD mengkapsulasikan attribute dan operation dalam bentuk objek. Attribute dan operation suatu object terjalin dengan erat bersamaan. Objek memiliki sifat menyembunyikan informasi (information hiding). Artinya, objek dapat berkomunikasi dengan objek lainnya melalui interface yang disiapkan (well-defined interface), namun tiap objek tidak mengetahui bagaimana objek lain diimplementasikan, karena detail implementasi tersembunyi dalam objek itu sendiri. Misalnya, seseorang dapat mengendarai mobil, namun tidak tahu bagaimana cara mesin bekerja, mekanisme rem tangan, dan sebagainya. 2.5 Object Oriented Programming (OOP) Bahasa pemrograman seperti Java adalah bahasa pemrograman yang berbasis objek. Pemrograman dengan bahasa yang demikian disebut objectoriented programming (OOP) (Deitel & Deitel, 2005), dan memungkinkan programmer untuk mengimplementasikan suatu OOD sebagai sistem yang berjalan. Dalam Java, unit dari pemrograman adalah class, yang nantinya dari class ini dapat dibuat suatu objek. Class dalam Java terdiri dari method (operasi) dan field (atribut). Dengan Java, programmer berkonsentrasi pada membuat class. Setiap class terdiri dari field dan method yang memanipulasi field dan menyediakan service bagi client. Programmer menggunakan suatu class yang ada untuk membuat suatu class yang baru. Membuat objek dari class dapat dianalogikan dengan membuat rumah dari blueprint. Seperti halnya dari suatu blueprint, kita dapat membangun beberapa rumah, kita dapat membuat beberapa object berdasarkan satu class. 25 Kita dapat menggunakan method pada objek dan bukan method pada class. Kita dapat memasak di dapur pada rumah, bukan di dapur pada blueprint. Suatu class dapat memiliki hubungan dengan class yang lain. Hubungan antar-class ini disebut associations. Pengemasan software ke dalam class memungkinkan sistem software untuk digunakan kembali (reuse) di masa mendatang. Kelompok dari beberapa class yang saling terkait seringkali dikemas sebagai komponen reusable (reusable components). Orang-orang dalam komunitas software seringkali mengatakan bahwa 3 faktor penting yang mempengaruhi pengembangan software di masa mendatang adalah “reuse, reuse, dan reuse”. Penggunaan kembali (reuse) class yang ada pada saat membuat suatu class yang baru dapat menghemat waktu dan tenaga. Reuse juga membantu programmer untuk membuat sistem yang lebih efektif dan lebih dapat diandalkan, karena class dan komponen yang sudah ada umumnya telah lolos uji coba, debugging, dan penyeteman kinerja (performance tuning). 2.6 UML (Unified Modelling Language) 2.6.1 Pengertian UML Menurut Grady Booch (1998, p13), UML adalah bahasa baku untuk menulis rancangan/blueprints software. UML dapat digunakan untuk menggambarkan, mendefinisikan, membentuk, dan mendokumentasikan bagian-bagian dari sistem intensif dari software. Bahasa Pemodelan adalah bahasa yang perbendaharaan kata dan aturannya berfokus pada representasi system secara konseptual maupun 26 fisik. UML membantu memodelkan sesuatu yang lebih mudah dipahami secara grafik. UML tidak hanya sekedar gambar dan symbol, karena tiap symbol dalam UML memiliki semantic yang terdefinisi dengan baik. Dalam hal ini, seorang pengembang dapat menuliskan model dalam UML, lalu pengembang lain dapat memahami model tersebut dengan tepat tanpa perbedaan persepsi. UML mendefinisikan suatu model dengan tepat, tidak ambigu, dan lengkap. UML bukan bahasa pemrograman visual, namun model yang dibuat dengan UML dapat secara langsung terhubung dengan bermacam-macam bahasa pemrograman 2.6.2 Diagram Struktur 2.6.2.1 Use Case Diagram Menurut Grady Booch (1998, p222), use case adalah deskripsi dari sekumpulan aksi, termasuk variant, yang dilakukan system untuk menghasilkan suatu nilai untuk actor, Secara grafik, use case digambarkan dengan bentuk elips. Use case diagram adalah diagram yang memperlihatkan sekumpulan use case dan actor beserta hubungannya (Booch, 1998, p233). Use case diagram digunakan untuk memodelkan gambaran use case dari system. Sebagian besar penggunaannya meliputi pemodelan hubungan pada system, subsystem, class, atau memodelkan kebutuhan tingkah laku dari elemen-element tersebut. Use case diagram penting untuk menggambarkan, menspesifikasikan, dan mendokumentasikan tingkah laku dari elemen. 27 Gambar 2.1 contoh use case diagram Use case diagram membuat system, subsistem, dan class menjadi mudah dipahami dengan menggambarkan bagaimana elemen-elemen tersebut dapat digunakan dalam konteks. 2.6.2.2 Pemodelan Entity Relationship (ER Modeling) dan Entity Relational Diagram (ERD) Pemodelan Entity Relationship adalah pendekatan atas ke bawah pada perancangan database yang diawali dengan identifikasi data penting yang disebut entity dan hubungan antardata tersebut yang harus digambarkan dalam model (Connolly dan Begg, 2005). Selanjutnya, ditambahkan detail seperti informasi yang ingin disimpan mengenai entity dan relationship yang disebut attribute dan dan batasan lain pada entity, relationship, dan attribute. Pada Pemodelan Entity Relationship terdapat entity dan relationship. Entity adalah kumpulan objek dengan properti yang sama dan dapat memilki objek fisik (riil) maupun objek konseptual (abstrak). Relationship adalah kumpulan hubungan antarentity. 28 Entity Relational menggambarkan Diagram entity-entity adalah beserta diagram yang hubungannya. ERD merupakan salah satu contoh pemodelan ER. 2.6.2.3 Class Diagram Menurut Grady Booch (1998, p107), class diagram adalah diagram yang memperlihatkan kumpulan class, interface, dan kolaborasi serta hubungan antara keduanya. Secara grafik, class diagram terdiri dari sekumpulan verteks dan garis. Class diagram digunakan untuk memodelkan tampilan rancangan statis dari sistem. Tampilan ini mendukung kebutuhan fungsional dari system, layanan yang harus disediakan system kepada penggunanya. Pada diagram ini terdapat relationship. Relationship adalah hubungan antarkelas. Dalam pemodelan berbasis objek, ada 3 relationship yang sangat penting, yaitu: Depedency Depedency adalah hubungan yang apabila terjadi perubahan spesifikasi pada suatu class, maka class lain yang menggunakan class tersebut akan ikut berubah, namun tidak sebaliknya. Hubungan ini digambarkan sebagai garis putus-putus yang salah satu ujungnya merupakan panah kearah class yang menyebabkan ketergantungan. 29 Gambar 2.2 contoh dependency relationship Generalization Generalization adalah hubungan antara class umum (disebut juga superclass atau parent) dengan class yang lebih spesifik dari class tersebut (disebut juga subclass atau child). Generalization berarti objek dari child dapat digunakan ketika class parent muncul, namun tidak sebaliknya. Dengan kata lain, generalisasi berarti child dapat digantikan untuk parent. Gambar 2.3 contoh generalization relationship Association Association adalah hubungan yang menjelaskan bahwa objek dari suatu class terhubung dengan objek dari class yang lain. Jika dua class diberi hubungan association, navigasi antara objek dari class yang satu kepada objek dari class yang lain, maupun sebaliknya, dapat dilakukan. Dapat juga digambarkan kedua ujung association berada pada satu class. Berarti, objectobject dari class tersebut saling terhubung. Association yang tepat menghubungkan 2 class disebut binary association, sedangkan association yang menghubungkan lebih dari 2 class disebut n-ary association. 30 Hubungan ini digambarkan dengan garis utuh yang menghubungkan class-class yang berbeda. Gambar 2.4 contoh association relationship Berdasarkan bentuk dasar ini, ada 4 bentuk yang dapat diterapkan pada association, yaitu: o Name Association dapat memiliki nama yang dapat digunakan untuk mendeskripsikan sifat hubungan. Agar tidak terjadi ambiguitas, di samping nama dapat dibubuhkan tanda panah berupa segitiga yang menunjukkan arah penamaan. Gambar 2.5 contoh name association o Role Class yang terlibat dalam association memiliki peran spesifik yang dimainkannya dalam relationship. Rola dituliskan di depan class pada ujung-ujung association. 31 Gambar 2.6 contoh role association o Multiplicity Multiplicity adalah association yang menggambarkan hubungan antarobjek. Dalam berbagai siatuasi pemodelan, penting untuk menyatakan berapa banyak objek yang dapat terhubung daru suatu association. Association ini dituliskan dengan ekspresi yang mengevaluasi jangkauan nilai atau nilai eksplisit. Gambar 2.7 contoh multiplicity association o Aggregation Association antara 2 class yang menggambarkan hubungan antara 2 class yang secara konseptual berada pada tingkat yang sama. Hubungan ini, disebut juga hubungan whole/part, menggambarkan suatu kelas sebagai sesuatu yang besar (whole) yang terdiri dari beberapa sesuatu yang kecil (part). Hubungan ini disebut agregasi, yang menggambarkan hubungan “has-a”, artinya object dari whole memiliki objek dari part. Association ini digambarkan dengan diamond terbuka pada whole. 32 Gambar 2.8 contoh aggregation association 2.6.2.4 Statechart Diagram Menurut Grady Booch (1998, p333), statechart diagram adalah diagram yang memperlihatkan mesin status, menekankan aliran control dari suatu status ke status yang lain. Mesin status adalah tingkah laku yang menspesifikasikan urutan dari status suatu objek selama objek tersebut ada dalam merespon state bersaman dengan responnya terhadap state tersebut. Status adalah kondisi atau situasi dalam hidup suatu objek selama objek tersebut memenuhi beberapa kondisi, melakukan aktivitas, atau menunggu beberapa state. State adalah spesifikasi dari kajadian signifikan yang memiliki waktu dan tempat. Gambar 2.9 contoh statechart diagram Statechart diagram digunakan untuk memodelkan aspek dinamis dari sistem. Sebagian besar, pemodelan ini meliputi pemodelan tingkah laku dari objek reaktif. Objek reaktif adalah objek yang tingkah lakunya ditentukan oleh responnya terhadap state yang datang dari luar konteksnya. Statechart diagram dapat ditambahkan pada class, use case, tau bahkan seluruh system dengan tujuan menggambarkan, menspesfikasikan, membentuk, dan mendokumentasikan dinamika dari suatu objek. 33 2.6.2.5 Activity Diagram Menurut Grady Booch (1998, p259), activity diagram adalah diagram aliran yang memperlihatkan aliran control dari suatu aktivitas ke aktivitas yang lain. Aktivitas adalah suatu eksekusi non-atomic pada mesin status (state-machine). Secara grafik, activity diagram adalah sekumpulan verteks dan garis. Gambar 2.10 contoh activity diagram 2.6.2.6 Sequence Diagram Menurut Grady Booch (1998, p97) diagram sequence adalah diagram interaksi yang menekankan urutan waktu dalam pengiriman pesan. Sequence diagram menunjukan interaksi objek dengan waktu yang direpresentasikan dalam grafik dua dimensi. Gambar 2.11 contoh sequence diagram 34 Dimensi vertical menunjukan waktu, digambarkan melintang kebawah. Dimensi Horizontal menunjukkan jenis peranan yang menggambarkan individu objek dalam diagram collaboration. Durasi aktivitas objek ditunjukkan oleh lifeline yang berupa garis putus-putus. Message ditampilkan sebagai panah dari satu lifeline sebuah objek ke lifeline objek yang lainnya 2.7 Database 2.7.1 Pengertian database Menurut Effraim Turban (2005, pg 444) database adalah kumpulan logis dari dari sejumlah file yang saling berhubungan. File adalah kumpulan logis dari sejumlah record yang saling berhubungan. Record adalah kumpulan logis dari sejumlah field yang saling berhubungan. Field adalah kumpulan logis dari sejumlah karakter yang membentuk kata atau angka. Jadi, kumpulan field tergabung menjadi suatu record. Recordrecord tersebut suatu file, lalu file-file tersebut tergabung dan saling berkaitan menjadi suatu kesatuan yang disebut database. 2.7.2 Jenis Database Ada beberapa pilihan database yang dapat digunakan. Misalnya MySQL, Oracle, dan Microsoft Access. Tiap database memiliki kelebihan dan kekurangannya tersendiri. Cara menghubungkan suatu program dengan database pun berbeda-beda, tergantung pada database dan bahasa pemrograman yang digunakan. E-learning ini menggunakan database MySQL karena sifatnya open source dan mudah diintegrasikan dengan bahasa pemrograman yang kami gunakan. 35 2.8 Java Dalam pembuatan aplikasi e-learning ini, kami akan menggunakan bahasa pemrograman Java. Berikut ini sejumlah data mengenai bahasa pemrograman Java. 2.8.1 Sejarah Java (Deitel, Deitel, 2005) Sun Microsistem pada tahun 1991 mendirikan kode proyek penelitian internal penelitian perusahaan – yang disebut Green. Proyek ini menghasilkan suatu pengembangan bahasa pemrograman baru yang berdasarkan pada bahasa C++, yang dinamai Oak oleh pengembangnya sendiri, James Gosling. Ia memberi nama Oak karena melihat pohon oak melalui jendela di Sun. Kemudian, ketika sekelompok anggota Sun berkunjung ke kedai kopi, nama Java muncul, lalu karena tidak terpikir nama yang lain, nama Java lah yang digunakan hingga saat ini. Proyek Green menemukan sejumlah kesulitan. Pada tahun 1990, pasar bagi konsumen peralatan elektronik ternyata tidak berkembang dengan cepat seperti yang diperkirakan oleh Sun. Proyek pun terancam gagal. Akan tetapi, pada tahun 1993, popularitas WWW mengalami ledakan jumlah dan Sun melihat adanya potensial penting bagi Java untuk menambahkan konten dinamis (dynamic content) seperti interaktivitas dan animasi pada halaman web. Sun secara formal mengumumkan Java pada suatu konferensi pada bulan Mei 1995. Java menjadi pusat perhatian bagi komunitas bisnis karena adanya keuntungan luar biasa dalam WWW. Java saat ini dikembangkan untuk aplikasi perusahaan berskala besar, meningkatkan 36 fungsionalitas web server, menyediakan aplikasi bagi peralatan consumer, dan berbagai tujuan lainnya. 2.8.2 MVC (Model-View-Controller) Menurut Timothy C. Lethbridge dan Robert Laganière (ObjectOriented Software Engineering, 2002, pg 337-339), Model-ViewController, atau MVC adalah suatu pola arsitketur yang digunakan untuk membantu pemisahan user interface dari bagian yang lain pada sistem. MVC memisahkan layer fungsional (model) dari dua aspek user interface, yaitu view dan controller. Model memuat kelas-kelas pokok yang instance-nya ditampilkan dan dimanipulasi. View memuat objek yang digunakan untuk menggambarkan tampilan data dari model pada user interface. View juga menampilkan berbagai control yang dapat digunakan user untuk berinteraksi dengan sistem. Controller memuat objek yang mengontrol dan menangani interaksi user dengan view dan model. Controller memilki logic yang memberikan respon ketika user mengisi field atau mengklik mouse pada control. Penggunaan MVC dapat memenuhi prinsip design berikut: Divide and Conquer. Tiga komponen (view, model, dan controller) dapat dirancang secara terpisah 37 Meningkatkan kohesi (cohession). Komponen-komponen pada MVC memiliki kohesi antarlayer yang lebih kuat dibandingkan jika view dan controller digabung pada satu layer user interface. Mengurangi kopel (coupling). Saluran komunikasi antara ketiga komponen tersebut tidaklah banyak dan mudah dicari. Meningkatkan reuse. View dan controller pada dasarnya dapat meluaskan penggunaan komponen reusable untuk berbagai jenis control UI. Desain untuk fleksibilitas. Umumnya cukup mudah untuk mengubah UI dengan mengubah view, controller, maupun keduanya. Desain untuk kemampuan pengujian (testability). Aplikasi dapat diuji secara terpisah dari UI. 2.8.3 Kelebihan Java dan JSP dibanding bahasa pemrograman lain • Multiplatform. Kelebihan utama dari Java ialah dapat dijalankan di beberapa platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali, jalankan di mana saja. Dengan kelebihan ini pemrogram cukup menulis sebuah program Java dan dikompilasi (diubah, dari bahasa yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali lalu hasilnya dapat dijalankan di atas beberapa platform tanpa perubahan. Kelebihan ini memungkinkan sebuah program berbasis java dikerjakan di atas operating sistem Linux tetapi dijalankan dengan baik di atas Microsoft Windows. Platform yang didukung sampai saat ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris. Penyebabnya adalah setiap sistem operasi menggunakan programnya sendiri-sendiri (yang dapat diunduh dari situs Java) untuk meninterpretasikan bytecode tersebut. 38 • OOP (Object Oriented Programming - Pemrogram Berorientasi Objek) yang artinya semua aspek yang terdapat di Java adalah Objek. Java merupakan salah satu bahasa pemrograman berbasis objek secara murni. Semua tipe data diturunkan dari kelas dasar yang disebut Object. Hal ini sangat memudahkan pemrogram untuk mendesain, membuat, mengembangkan dan mengalokasi kesalahan sebuah program dengan basis Java secara cepat, tepat, mudah dan terorganisir. Kelebihan ini menjadikan Java sebagai salah satu bahasa pemrograman termudah, bahkan untuk fungsi fungsi yang advance seperti komunikasi antara komputer sekalipun. • Perpustakaan Kelas Yang Lengkap, Java terkenal dengan kelengkapan library/perpustakaan (kumpulan program program yang disertakan dalam pemrograman java) yang sangat memudahkan dalam penggunaan oleh para pemrogram untuk membangun aplikasinya. Kelengkapan perpustakaan ini ditambah dengan keberadaan komunitas Java yang besar yang terus menerus membuat perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan pembangunan aplikasi. • Bergaya C++, memiliki sintaks seperti bahasa pemrograman [C++] sehingga menarik banyak pemrogram C++ untuk pindah ke Java. Saat ini pengguna Java sangat banyak, sebagian besar adalah pemrogram C++ yang pindah ke Java. Universitasuniversitas di Amerika juga mulai berpindah dengan mengajarkan Java kepada murid-murid yang baru karena lebih mudah dipahami oleh murid dan dapat berguna juga bagi mereka yang bukan mengambil jurusan komputer. • Pengumpulan sampah otomatis, memiliki fasilitas pengaturan penggunaan memori sehingga para pemrogram tidak perlu 39 melakukan pengaturan memori secara langsung (seperti halnya dalam bahasa C++ yang dipakai secara luas). 2.8.4 Kekurangan Java dan JSP dibanding bahasa pemrograman lain • Tulis sekali, perbaiki di mana saja - Masih ada beberapa hal yang tidak kompatibel antara platform satu dengan platform lain. Untuk J2SE, misalnya SWT-AWT bridge yang sampai sekarang tidak berfungsi pada Mac OS X. • Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi Java merupakan bytecode yang menyimpan banyak atribut bahasa tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal yang sama juga terjadi pada Microsoft .NET Platform. Dengan demikian, algoritma yang digunakan program akan lebih sulit disembunyikan dan mudah dibajak/direverseengineer. • Penggunaan memori yang banyak. Penggunaan memori untuk program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi, Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah bagi pihak yang menggunakan teknologi terbaru (karena trend memori terpasang makin murah), tetapi menjadi masalah bagi mereka yang masih harus berkutat dengan mesin komputer berumur lebih dari 4 tahun 2.8.5 Web server yang digunakan Web server adalah suatu program atau mesin yang memahami protocol HTTP dan mampu menanggapi permintaan-permintaan dari 40 web browser. Tiap bahasa pemrograman membutuhkan web server yang berbeda. Misalnya, untuk PHP dibutuhkan web server bernama apache. Sedangkan untuk pemrograman Java dan JSP ini, dibutuhkan web server apache tomcat. 2.9 Tahapan Pembuatan Aplikasi Menurut Timothy C. Lethbridge dan Robert Laganière (2002, pg 402403), Model Proses Software adalah pendekatan umum untuk mengorganisasi proyek ke dalam aktivitas. Model Proses Software membantu manager proyek dan timnya untuk menentukan pekerjaan apa yang harus diselesaikan dan urutan kerja apa yang harus dilakukan. Ada beberapa model proses, antara lain waterfall model, phase-release model, spiral model, evolutionary model, dan Concurrent engineering model. Namun dalam skripsi ini, kami menggunakan model waterfall. Model waterfall adalah pendekatan oportunis yang disempurnakan dengan baik. Waterfall model adalah cara klasik untuk memandang software engineering yang sesuai dengan kebutuhan, rancangan, dan kualitas. Dinamakan demikian karena bentuk diagramnya yang menyerupai air terjun. Pengumpulan informasi (requirement)kebutuhan nyadan definisi Spesifikasi Desain Implementasi Integrasi dan pengerjaan Pemeliharaan Gambar 2.12 waterfall model process 41 Pada model waterfall, pembuatan software dilakukan secara bertahap. Sebelum suatu tahap dinyatakan selesai, harus dilakukan suatu jaminan kuliatas terhadap tahap tersebut (verifikasi dan validasi), sehingga tahap yang selanjutnya dilakukan dengan dasar yang bagus. Jika pada tahap berikutnya ternyata ditemukan masalah, maka tahap sebelumnya dapat ditinjau kembali. 2.10 8 Aturan Emas (8 Golden Rules) Menurut Ben Shneiderman (1998, pg 74-75), 8 aturan Emas adalah prinsip-prinsip pokok design yang digunakan dalam hampir semua system interaktif. Prinsip-prinsip tersebut antara lain: 1. Strive for consistency Rangkaian aksi yang tetap seharusnya diberikan dalam situasi yang sejenis; istilah harus digunakan dalam perintah, menu, dan layer bantuan; warna, rancangan, huruf besar, dan jenis huruf harus konsisten, dan sebagainya. 2. Enable frequent users to use shortcut Seiring dengan meningkatnya frekuensi penggunaan, kurangilah jumlah interaksi dan tingkatkanlah kecepatan interaksi. Umumnya, pengguna berpengetahuan luas menyukai singkatan, kunci special, dan perintah tersembunyi. 3. Offer informative feedback Untuk setiap aksi oleh pengguna, harus ada umpan balik dari system. Untuk aksi yang sering dan minor, respon yang diberikan dapat 42 sederhana saja. Untuk aksi yang jarang dilakukan dan major, respon yang siberikan harus lebih penting. 4. Design dialogs to yield closure Urutan aksi harus diorganisasikan kedalam kelompok dengan awal, tengah, dan akhir. Umpan balik yang informatif pada penyelesaian suatu kelompok aksi memberikan operator suatu penyelesaian penyelenggaraan, perasaan bebas, tanda untuk membuang rencana kemungkinan dan pilihan dari pikirn mereka, dan menandakan bahwa persiapan untuk kelompok aksi berikutnya telah siap dilakukan. 5. Offer error prevention and simple error handling Sebisa mungkin, rancanglah system yang memungkinkan user untuk tidak melakukan kesalahan fatal, misalnya dengan menggunakan menu pilihan maupun dengan membatasi input. Jika user melakukan kesalahan, system harus mengetahui kesalahan tersebut dan memberikan solusi spesifik yang sederhana, membangun. 6. Permit easy reversal of action Sebisa mungkin, aksi harus dapat dikembalikan. Keistimewaan ini mengurangi kegelisahan, karena pengguna mengetahui bahwa kesalahan dapat terlepas, sehingga mereka terdorong untuk menjelajahi pilihan yang belum dikenal. 43 7. support internal locus of control Operator berpengalaman sangat mengharapkan suatu perasaan seoleh mereka menguasai system dan system merespon aksi mereka. Hindari aksi sitem secara tiba-tiba, urutan pemasukan data yang membosankan, ketidakmampuan atau kesulitan dalam mendapatkan informasi penting, dan ketidakmampuan untuk menghasilkan aksi yang diharapkan, semua itu menimbulkan kegelisahan dan ketidakpuasan. 8. reduce short-term memory load Keterbatasan dari pemrosesan informasi manusia dalam ingatan jangka pendek membutuhkan tampilan yang sederhana, penggabungan halaman yang berlipat-lipat, pengurangan gerakan jendela, dan waktu pelatihan yang cukup untuk kode, hafalan, dan urutan aksi. Jika diperlukan, akses online untuk bentuk sintaks perintah, singkatan, kode, dan informasi lainnya harus disediakan.