7 BAB 2 LANDASAN TEORI
2.1 2.1.1
Sistem Informasi Pengertian Sistem Sistem adalah sekumpulan objek atau elemen yang berhubungan yang dilihat
secara keseluruhan dan didesain untuk mencapai tujuan tertentu. (Britton dan Doake, 2001, p2). Sistem adalah sebuah entity logika yang mempunyai sekumpulan tanggung jawab dan tujuan yang dapat didefinisikan, dan terdiri dari perangkat keras, perangkat lunak, atau keduanya. (Lethbridge dan Laganiere, 2002, p296) Jadi dapat ditarik suatu kesimpulan bahwa sistem adalah sekumpulan objek atau elemen yang saling berhubungan untuk mencapai tujuan tertentu, dan terdiri dari perangkat lunak, perangkat keras, atau keduanya.
2.1.2
Pengertian Informasi Pengertian informasi yang dikemukan oleh Whitten, Bentley dan Dittman (2004,
p23) adalah data yang telah diproses atau diorganisasi ulang menjadi bentuk yang berarti. Informasi dibentuk dari kombinasi data yang diharapkan memiliki arti bagi penerima. Pengertian lain dari informasi oleh Turban, Rainer dan Potter (2003, p15) didefinisikan sebagai kumpulan dari fakta-fakta (data) yang diatur dalam beberapa cara sehingga mengandung arti bagi penerima.
7
8 Jadi informasi dapat disimpulkan sebagai data yang telah diproses sehingga memiliki arti tertentu bagi penggunanya.
2.1.3
Pengertian Sistem Informasi (Information System) Sistem informasi adalah pengaturan orang, data, proses dan teknologi informasi
yang berinteraksi untuk mengumpulkan, memproses, menyimpan, dan menyediakan data sebagai output informasi yang diperlukan untuk mendukung sebuah organisasi. (Whitten, Bentley dan Dittman, 2004, p10) Sumber lain (Turban, Rainer & Potter, 2003, p15) menyatakan sistem informasi sebagai suatu sistem yang mengumpulkan, memproses, menyimpan, menganalisis, dan menyebarkan informasi untuk tujuan yang spesifik. Dari pengertian diatas dapat dikatakan bahwa sistem informasi adalah suatu sistem pengaturan orang, data, proses dan teknologi informasi yang berinteraksi untuk memproses input dan menghasilkan output yang kemudian dikirim ke pengguna ataupun sistem lainnya.
2.2 2.2.1
Teknologi Informasi (Information Technology) Pengertian Teknologi Informasi Menurut Whitten, Bentley dan Dittman (2004, p10) teknologi informasi
diartikan sebagai suatu istilah yang menggambarkan kombinasi teknologi komputer (perangkat keras dan perangkat lunak) dengan teknologi komunikasi (jaringan, data, gambar dan suara).
9 Teknologi Informasi adalah kumpulan dari komponen teknologi tersendiri yang diatur menjadi sistem informasi berbasis komputer. (Turban, Rainer dan Potter, 2003, p3) Dengan demikian dapat disimpulkan bahwa teknologi informasi adalah penggunaan dan pemanfaatan sistem komputerisasi untuk mengelola informasi.
2.2.2
Fungsi Teknologi Informasi
Fungsi dari teknik informatika ini adalah : •
Menangkap (Capture), mengkompilasi (menerima masukan) catatan-catatan rinci dari aktivitas-aktivitas. Misalnya: menerima inputan dari keyboard, scanner dan lain-lain.
•
Memproses (Processing), memproses / mengolah data masukan yang diterima untuk menjadi informasi. Pengolahan dan pemrosesan data dapat berupa mengkonversi (mengubah data ke bentuk lain), menganalisis (analisa kondisi), menghitung (kalkulasi), mensintesis (penggabungan), dan proses lainnya. Contohnya adalah: menghitung gaji karyawan, konversi mata uang asing, dan sebagainya.
•
Menghasilkan (Generating), menghasilkan atau mengorganisasikan informasi ke dalam bentuk yang berguna. Misalnya: laporan-laporan, tabel-tabel, grafik, dan lain-lain.
•
Menyimpan (Storage), merekam atau menyimpan data dan informasi dalam satu media yang dapat digunakan untuk keperluan lainnya. Misalnya: simpan ke harddisk, tape, disket, CD, dll.
10 •
Mencari kembali (Retrieval), menelusuri, mendapat kembali informasi atau menyalin data dan informasi yang sudah tersimpan. Misalnya: mencari kembali supplier yang sudah lunas, dan sebagainya.
•
Mentransmisikan (Transmission), mengirimkan data dan informasi dari suatu lokasi ke lokasi lain melalui jaringan komputer. Misalnya: mengirimkan data penjualan dari pengguna A ke pengguna lainnya, dan sebagainya.
2.3
Perangkat Lunak (Software)
2.3.1
Pengertian Perangkat Lunak Menurut Pressman (2002, p10), perangkat lunak adalah :
•
Perintah (program komputer) yang bila dieksekusi memberikan fungsi dan unjuk kerja seperti yang diinginkan.
•
Struktur data yang memungkinkan program memanipulasi informasi secara proporsional
•
Dokumen yang menggambarkan operasi dan kegunaan program Perangkat lunak adalah program dan data yang berhubungan yang dijalankan di
komputer. (Lethbridge dan Laganiere , 2002, p470) Berdasarkan pengertian di atas, perangkat lunak adalah kumpulan dari item atau objek yang berhubungan dan membentuk suatu konfigurasi yang meliputi program (perintah), dokumen dan data.
11 2.3.2
Ciri-ciri Perangkat Lunak Pressman (2002, p10-11) menyatakan bahwa perangkat lunak lebih merupakan
elemen logika dan bukan merupakan elemen sistem fisik. Dengan demikian, perangkat lunak memiliki ciri yang berbeda dari perangkat keras (hardware) yaitu : •
Perangkat lunak dibangun dan dikembangkan, tidak dibuat dalam bentuk klasik.
•
Perangkat lunak tidak pernah usang.
•
Sebagian besar perangkat lunak dibuat secara custom-built, serta tidak dapat dirakit dari komponen yang sudah ada.
2.3.3
Jenis Perangkat Lunak Komputer Lethbridge dan Laganiere (2002, p3) membedakan perangkat lunak ke dalam 3
kategori utama yaitu : •
Custom Software, software yang dikembangkan khusus untuk memenuhi kebutuhan spesifik customer.
•
Generic Software, software yang didesain untuk dijual di open market dan mempunyai fungsi umum pada komputer yang biasa dibutuhkan oleh orang banyak. Sering disebut juga sebagai Commercial Off-The-Shelf software (COTS).
•
Embeded Software, software yang didesain untuk menjalankan hardware tertentu, yang dimasukkan di dalam device-nya dalam bentuk Read-Only Memory (ROM). Kebanyakan embeded software juga disebut sebagai real-time software.
12 2.4
Rekayasa Perangkat Lunak (Software Engineering)
2.4.1
Pengertian Rekayasa Perangkat Lunak Rekayasa perangkat lunak oleh Pressman (2002, p28-29) didefinisikan sebagai
sebuah teknologi yang digambarkan seperti berikut : tools Metode-metode Model Proses Fokus Pada Kualitas
Gambar 2. 1 Lapisan Rekayasa Perangkat Lunak •
Banyak pendekatan teknik (termasuk rekayasa perangkat lunak) harus berada pada sebuah komitmen dasar menuju kualitas. Fokus pada kualitas merupakan batu landasan yang menopang rekayasa perangkat lunak.
•
Bentangan proses merupakan pondasi untuk rekayasa perangkat lunak. Prosesproses rekayasa perangkat lunak adalah perekat yang menjaga bentanganbentangan teknologi secara bersama-sama dan memungkinkan perkembangan perangkat lunak komputer yang tepat waktu dan rasional.
•
Metode-metode
rekayasa
perangkat
lunak
memberikan
teknik
untuk
membangun perangkat lunak •
Tool-tool rekayasa perangkat lunak memberikan topangan yang otomatis ataupun semi otomatis pada proses-proses dan metode-metode yang ada. Rekayasa perangkat lunak adalah proses pemecahan masalah pelanggan dengan
perkembangan dan evaluasi yang sistematik terhadap sistem software yang luas dan
13 berkualitas tinggi dengan batasan biaya, waktu, dan batasan lainnya (Lethbridge dan Laganiere, 2002, p5) Jadi rekayasa perangkat lunak merupakan suatu teknologi berlapis yang bertujuan untuk menyediakan sebuah kerangka kerja guna membangun perangkat lunak secara ekonomis dengan kualitas yang lebih tinggi.
2.4.2
Pandangan Umum Tentang Rekayasa Perangkat Lunak Usaha yang berhubungan dengan rekayasa perangkat lunak oleh Pressman
(2002, p30-31) dikategorikan ke dalam 3 fase umum tanpa memperhatikan area aplikasi, ukuran proyek, atau kompleksitasnya. Fase-fase tersebut adalah : •
Fase Definisi (Definition phase), berfokus pada ”apa” (what). Pada fase ini, pengembang perangkat lunak harus mendefinisikan informasi apa yang akan diproses, fungsi dan unjuk kerja apa yang dibutuhkan, tingkah laku sistem seperti apa yang diharapkan, interface apa yang akan dibangun, batasan desain apa yang ada, dan kriteria validasi apa yang dibutuhkan untuk mendefinisikan sistem yang sukses.
•
Fase Pengembangan (Development Phase) berfokus pada “bagaimana” (how). Pada fase ini, teknisi harus mendefinisikan bagaimana data dikonstruksikan, bagaimana fungsi-fungsi diimplementasikan sebagai sebuah arsitektur perangkat lunak, bagaimana detail prosedur akan diimplementasikan, bagaimana interface ditandai (dikarakterisasi), bagaimana rancangan akan diterjemahkan ke dalam bahasa pemrograman (atau bahasa non-prosedural), serta bagaimana pengujian akan dilakukan.
14 •
Fase Pemeliharaan (Maintenance Phase) berfokus pada perubahan (change) yang dihubungkan dengan : o Pemeliharaan korektif (Corrective maintenance), mengubah perangkat lunak, membetulkan cacat atau kerusakan. o Pemeliharaan adaptif (Adaptif maintenance), penyesuaian dengan yang dibutuhkan ketika lingkungan perangkat lunak berkembang dengan menghasilkan modifikasi kepada perangkat lunak untuk mengakomodasi perubahan pada kebutuhan fungsional original. o Pemeliharaan perfektif (Perfective maintenance), melakukan perubahan sehubungan dengan perkembangan yang disebabkan oleh perubahan kebutuhan pelanggan dengan memperluas perangkat lunak sehingga melampaui kebutuhan fungsi aslinya. o Pemeliharaan pencegahan (Preventive maintenance), sehubungan dengan waktu, keadaan perangkat lunak semakin lama semakin memburuk sehingga dilakukan perubahan pada program komputer agar bisa lebih mudah untuk dikoreksi, disesuaikan dan dikembangkan.
2.4.3
Model Proses Perangkat Lunak Untuk menyelesaikan masalah aktual di lingkungan industri, Pressman (2002,
p35) menyarankan tim perekayasa perangkat lunak untuk menggabungkan strategi pengembangan yang melingkupi lapisan proses, metode, dan alat-alat bantu seperti pada gambar Lapisan Rekayasa Perangkat Lunak pada subbab 2.4.1 serta fase-fase generik pada subbab 2.4.2. Strategi ini sering diajukan sebagai model proses atau paradigma
15 rekayasa perangkat lunak. Model proses untuk rekayasa perangkat lunak harus dipilih berdasarkan sifat aplikasi dan proyeknya, metode dan alat-alat bantu yang akan dipakai, dan kontrol serta penyampaian yang dibutuhkan. Model
proses
perangkat
lunak
adalah
pendekatan
umum
untuk
mengorganisasikan sebuah proyek ke dalam aktivitas. Model proses ini membantu manajer proyek dan anggota timnya untuk memutuskan apa yang akan dikerjakan dan dalam urutan bagaimana mereka dikerjakan. Model ini harus dipandang sebagai sesuatu yang membantu untuk berpikir, bukanlah suatu resep kaku untuk melakukan sesuatu karena setiap proyek mempunyai rencana tersendiri yang unik. (Lethbridge dan Laganiere, 2002, p402) Model yang dipakai untuk pengembangan aplikasi pada topik skripsi ini adalah WaterFall Model / Model Sekuensial Linear.
2.4.4
Model Sekuensial Linear (waterfall model) Model Sekuensial Linear merupakan cara pandang klasik rekayasa perangkat
lunak berdasarkan pada persyaratan, desain dan jaminan kualitas. Model ini dikerjakan secara bertahap dan setiap tahap harus dilakukan quality assurance (verifikasi dan validasi). (Lethbridge dan Laganiere, 2002, p402-403)
16
Requirements Gathering and Definition Specification
Design
Implementation
Integration and Deployment Maintenance
Gambar 2. 2 Model Waterfall Model ini melingkupi aktivitas-aktivitas sebagai berikut : •
Requirements Gathering and Definition Karena perangkat lunak selalu merupakan bagian dari sebuah sistem yang lebih besar, kerja dimulai dengan membangun syarat dari semua elemen sistem dan mengalokasikan beberapa subset dari kebutuhan ke perangkat lunak tersebut. Pandangan sistem ini penting ketika perangkat lunak harus berhubungan dengan elemen-elemen yang lain seperti perangkat lunak, manusia, dan database. Rekayasa dan pemodelan sistem ini menyangkut pengumpulan kebutuhan pada tingkat sistem dengan sejumlah kecil analisis.
•
Specification Untuk memahami sifat program yang dibangun, perekayasa perangkat lunak (analis) harus memahami domain informasi, tingkah laku, unjuk kerja, dan
17 antar-muka (interface) yang diperlukan. Kebutuhan baik untuk sistem maupun perangkat lunak didokumentasikan dan dilihat lagi dengan pelanggan. •
Design Desain perangkat lunak sebenarnya adalah proses multi langkah yang berfokus pada struktur data, arsitektur perangkat lunak, representasi interface, dan detail (algoritma) prosedural. Proses desain menerjemahkan syarat / kebutuhan ke dalam sebuah representasi perangkat lunak yang dapat diperkirakan demi kualitas sebelum dimulainya koding. Desain didokumentasikan dan menjadi bagian dari konfigurasi perangkat lunak.
•
Implementation Desain harus diterjemahkan ke dalam bentuk mesin yang bisa dibaca. Jika desain dilakukan dengan cara yang lengkap, pembuatan kode dapat diselesaikan secara mekanis.
•
Integration and Deployment Sekali kode telah selesai dibuat maka harus diintegrasikan ke sistem untuk diuji baik dari segi logika internal perangkat lunak (memastikan bahwa semua pernyataan telah diuji) maupun pada eksternal fungsional (untuk menemukan kesalahan-kesalahan dan memastikan bahwa input yang dibatasi akan memberikan hasil aktual yang sesuai dengan yang dibutuhkan).
•
Maintenance Perangkat lunak akan mengalami perubahan setelah disampaikan kepada pelanggan. Perubahan akan terjadi karena kesalahan-kesalahan tertentu, karena perangkat lunak harus disesuaikan untuk mengakomodasi perubahan-perubahan
18 di dalam lingkungan eksternalnya (misalnya perubahan yang terjadi karena perangkat peripheral atau sistem operasinya yang baru), atau karena pelanggan membutuhkan perkembangan fungsional atau unjuk kerja. Pemeliharaan perangkat lunak mengaplikasikan lagi setiap fase program sebelumnya dan tidak membuat yang baru lagi.
2.5
Pemodelan Berorientasi Objek Menggunakan UML (Unified Modelling Language)
2.5.1
Pemodelan Objek (Object Modeling) Pemodelan objek merupakan suatu teknik untuk menentukan objek apa saja
yang harus ada di dalam lingkungan sistem dan bagaimana objek-objek tersebut berinteraksi satu sama lain. Dengan adanya pemodelan objek, objek yang telah pernah dibuat sebelumnya bisa digunakan kembali.
2.5.2
Pengertian UML (Unified Modelling Language) UML adalah sekumpulan konversi pemodelan yang digunakan untuk
menentukan atau menggambarkan sebuah sistem perangkat lunak yang terkait dengan objek. (Whitten, Bentley dan Dittman, 2004, p408) Definisi lain dari Lethbridge dan Laganiere (2002, p151), UML adalah sebuah bahasa grafik standar yang digunakan untuk memodelkan perangkat lunak yang berorientasi objek.
19 Jadi, UML dapat diartikan sebagai suatu bahasa yang digunakan untuk memodelkan kelas, objek dan sistem yang terkait ke dalam sistem perangkat lunak yang berorientasi objek.
2.5.3
Konsep Sistem untuk Pemodelan Objek Konsep-konsep sistem untuk pemodelan objek menurut Whitten, Bentley dan
Dittman (2004, p408-417) adalah : •
Object, sesuatu yang ada atau dapat dilihat, disentuh, atau dirasakan dan pengguna menyimpan data serta mencatat prilaku mengenai sesuatu itu.
•
Atribute, data yang mewakili karakteristik sebuah objek.
•
Behavior, kumpulan dari sesuatu yang dapat dilakukan oleh objek dan terkait dengan fungsi-fungsi yang bertindak pada data objek (atau atribut). Pada siklus berorientasi objek, prilaku objek merujuk kepada metode, operasi, atau fungsi.
•
Encapsulation, pengemasan beberapa item ke dalam satu unit.
•
Class, sekumpulan objek yang memiliki atribut dan behavior yang sama.
•
Inheritence, konsep dimana metode dan atau atribut yang ditentukan di dalam sebuah objek kelas dapat diwariskan atau digunakan lagi oleh objek kelas lainnya.
•
Generalization / Specialization, sebuah teknik dimana atribut dan behavior yang umum pada beberapa tipe kelas objek, dikelompokkan (diabstraksi) ke dalam kelasnya sendiri, disebut supertype. Atribut dan metode kelas objek supertype kemudian diwariskan oleh kelas objek tersebut (subtype).
20 •
Supertype, sebuah entity yang berisi atribut dan behavior yang umum bagi satu atau lebih subtype kelas. Disebut juga dengan kelas abstrak atau parent.
•
Subtype, sebuah kelas objek yang mewariskan atribut dan behavior dari sebuah kelas supertype dan kemudian mengisikan atribut dan behavior lain yang unik ke dalamnya. Disebut juga dengan child, dan jika berada di level terendah dari hierarki pewarisan, maka disebut kelas konkrit.
•
Multiplicity, jumlah kejadian minimun dan maksimun dari satu kelas / objek untuk satu kejadian tunggal dari kelas / objek yang terkait.
•
Agregation, sebuah hubungan dimana satu kelas ”whole” yang lebih besar berisi satu atau lebih kelas ”path” yang lebih kecil.
•
Composition, hubungan agregasi dimana ”whole” bertanggung jawab atas pembuatan dan perusakan ”path”. Jika ”whole” rusak, maka ”path” ikut rusak.
•
Pesan (Message), komunikasi yang terjadi ketika satu objek memaksa metode objek lain (behavior) untuk meminta informasi atau beberapa aksi.
•
Polymorphism, secara harfiah berarti ”banyak bentuk”, konsep dimana objek yang berbeda dapat merespon pesan yang sama dalam cara yang berbeda.
•
Override, teknik dimana satu sub kelas (subtype) menggunakan sebuah atribut atau behavior miliknya daripada menggunakan atribut atau behavior yang diwariskan dari kelas supertype. Menurut Lethbridge dan Laganiere (2002, p49-50), konsep yang mendefinisikan
object-oriented adalah : •
Identity, setiap objek harus mempunyai identitas yang unik dan dapat dibedakan dengan objek lain.
21 •
Classes, programmer harus bisa mengorganisasikan code menjadi kelas, dan setiap kelas tersebut mendeskripsikan struktur dan fungsi dari sekumpulan objek.
•
Inheritance, mekanisme untuk mengorganisasikan kelas menjadi bentuk hierarki turunan, dimana fitur diturunkan dari superclasses ke subclasses.
•
Polymorphism, mekanisme dimana beberapa method dapat mempunyai nama sama dan mengimplementasikan operasi abstrak yang sama.
•
Abstraction, membuat representasi sederhana dari sesuatu yang nyata. o Object, abstraksi dari sesuatu yang nyata di dunia ini. o Class, abstraksi dari sekumpulan objek. o Superclass, abstraksi dari sekumpulan subclass o Method, abstraksi prosedural yang menyembunyikan implementasinya. o Operation, abstraksi dari sekumpulan method. o Attributes dan Association, abstraksi dari instance variabel dasar yang digunakan untuk mengimplementasikannya.
•
Modularity, sebuah object-oriented system dapat dibangun secara menyeluruh dari sekumpulan kelas.
•
Encapsulation,
penyembunyian
informasi
dari
sebuah
kelas
sehingga
programmer dapat menggunakan kelas tanpa perlu mengetahui detail dari kelas tersebut.
22 2.5.4
Diagram UML Whitten, Bentley dan Dittman (2004, p417-419) mengelompokkan diagram
UML ke dalam 5 perspektif berbeda untuk memodelkan suatu sistem yaitu : •
Diagram Model Use-Case, secara grafis menggambarkan interaksi antara sistem, sistem eksternal dan pengguna atau mendeskripsikan siapa yang akan menggunakan sistem dan dalam cara apa pengguna mengharapkan interaksi dengan sistem itu.
•
Digram Struktur Statis o Class Diagram, menggambarkan struktur objek sistem. Diagram ini menunjukkan kelas objek yang menyusun sistem dan juga hubungan antara kelas objek tersebut. o Objek Diagram, serupa dengan class diagram, tetapi daripada mengambarkan kelas objek, diagram objek malahan memodelkan instance objek actual dengan menunjukkan nilai-nilai saat ini dari atribut instance.
•
Diagram Interaksi, memodelkan sebuah interaksi, terdiri dari satu set objek, hubungan-hubungannya, dan pesan yang dikirim di antara objek. o Diagram rangkaian / sekuensial (Sequential Diagram), secara grafis menggambarkan bagaimana objek berinteraksi dengan satu sama lain melalui pesan pada eksekusi sebuah use case atau operasi. Diagram ini mengilustrasikan bagaimana pesan terkirim dan diterima di antara objek dan dalam urutan yang bagaimana.
23 o Diagram kolaborasi (Colaboration Diagram), sama dengan sequential diagram, tetapi tidak fokus pada timing atau urutan pesan. Diagram ini malahan menggambarkan interaksi (atau kolaborasi) antara objek dalam sebuah format jaringan. •
Diagram State, memodelkan behavior dinamis dari sistem. o Statechart Diagram, digunakan untuk memodelkan behavior objek khusus yang dinamis. Diagram ini mengilustrasikan siklus hidup objekberbagai keadaan yang dapat diasumsikan oleh objek dan events yang menyebabkan objek beralih dari satu state ke state lain. o Activity Diagram, secara grafis digunakan untuk menggambarkan rangkaian aliran aktivitas baik proses bisnis atau use case. Diagram ini juga dapat digunakan untuk memodelkan aksi yang akan dilakukan saat sebuah operasi dieksekusi, dan memodelkan hasil dari aksi tersebut.
•
Diagram Implementasi, memodelkan struktur sistem informasi o Component Diagram, digunakan untuk menggambarkan organisasi dan ketergantungan komponen-komponen sistem perangkat lunak. Diagram ini dapat digunakan untuk menunjukkan bagaimana kode pemrograman dibagi menjadi modul-modul (atau komponen). o Deployment Diagram, mendeskripsikan arsitektur fisik dalam istilah node untuk hardware dan software dalam sistem. Diagram ini menggambarkan konfigurasi komponen-komponen software run-time, processor, dan peralatan yang membentuk arsitektur sistem.
24 2.6 Bahasa Pemrograman Bahasa-bahasa pemrograman menyediakan building block dasar untuk semua sistem dan aplikasi perangkat lunak. Bahasa pemrograman memperbolehkan pengguna untuk memberitahukan komputer apa yang harus dikerjakan.
2.6.1
Hypertext Markup Language (HTML) HTML menurut Kadir (2004, p12) adalah standar informasi yang berbasiskan
hypertext yang dipakai pada web. Berdasarkan standar inilah web browser dapat memahami isi suatu dokumen yang berasal dari web server. HTML memberikan pilihan kepada pengguna untuk mengontrol atau mengatur elemen visual seperti huruf, ukuran huruf, spasi paragraf, dan lain-lain tanpa mengubah informasi aslinya. HTML bekerja dengan menggunakan HTTP (HyperText Transfer Protocol). Jadi HTML dapat disimpulkan sebagai sebuah bahasa standar www yang digunakan untuk menciptakan dan memperkenalkan dokumen hypertext. Hypertext sendiri adalah sebuah pendekatan untuk manajemen data, dimana data tersebut disimpan di dalam sebuah jaringan node yang dihubungkan dengan link, yang disebut dengan hyperlink. Kombinasi dari node, link dan indexes yang mendukung hypertext disebut dengan dokumen hypertext. Sebuah dokumen hypertext mungkin berisi teks, gambar, dan jenis informasi yang lainnya seperti data file, suara, video, dan program komputer yang dapat dieksekusikan.
25 2.6.2
Extensible Markup Language (XML) XML didesain untuk mengembangkan fungsionalitas dari dokumen web dengan
menyediakan identifikasi informasi yang lebih fleksibel dan lebih bisa menyesuaikan diri. XML menjelaskan maksud dari data yang ada di dalam dokumen. Dokumen XML dapat diubah ke dalam banyak formatnya dan berpindah dari satu platform ke platform lain tanpa kehilangan data atau arti dari suatu elemen. Maksudnya adalah informasi yang sama dapat dikirimkan ke web browser, PDA, smart phone, dan alat lainnya dengan informasi yang tepat. Beda XML dengan HTML adalah HTML hanya menjelaskan di mana suatu item berada pada suatu halaman, sedangkan XML menjelaskan apa maksud dari item itu. (Turban, Rainer & Potter, 2003, p113) XML merupakan bagian yang sangat penting dari Visual Studio .Net karena Web Service bisa berada pada internet yaitu lewat bahasa yang berbasis XML seperti SOAP (Simple Object Access Protocol) dan WSDL (Web Services Description Language). XML merupakan salah satu teknologi baru yang sangat penting dan didukung oleh .NET framework. XML ditulis dalam format yang umum sehingga tidak tergantung pada sistem tertentu. Karena file XML disimpan dalam huruf ASCII yang standar, maka XML itu dapat dibaca oleh manusia dan dapat diedit dengan menggunakan tool editing seperti notepad.
26 2.7 2.7.1
Database (Basis Data) Pengertian Data Data adalah fakta mentah mengenai orang, tempat, kejadian, dan hal-hal yang
penting di dalam organisasi (Whitten, Bentley dan Dittman, 2004, p23). Tiap fakta, dengan sendirinya, secara relatif tidak ada artinya. Data merupakan sebuah sumber yang harus dikontrol dan dikelola.
2.7.2
Pengertian Database Database menurut Connolly dan Begg (2002, p14) adalah kumpulan dari data-
data yang berhubungan secara logis, dan deskripsi dari data ini didesain untuk memperoleh informasi yang dibutuhkan oleh perusahaan. Menurut Whitten, Bentley dan Dittman (2004, p518), database adalah kumpulan file yang saling terkait. File adalah kumpulan record yang serupa. Record adalah kumpulan field yang disusun dalam format yang telah ditetapkan sebelumnya. Field adalah unit terkecil dari data yang berarti untuk disimpan pada sebuah file atau database. Sumber lain dari Nugroho (2005, p72) menyatakan database adalah sekumpulan informasi yang sangat kompleks yang berguna untuk mengatur semua data yang ada di dalamnya sehingga dapat diakses oleh pengguna dengan mudah dan cepat. Jadi secara umum database dapat didefinisikan sebagai tempat penyimpanan data-data yang secara logis saling berhubungan yang menjanjikan kemudahan dan kecepatan akses bagi pengguna.
27 2.7.3
Database Relasional Menurut Connolly dan Begg (2002, p74), database relasional adalah kumpulan
relasi ternormalisasi dengan nama relasi yang jelas dan dapat dibedakan. Database relasional adalah database yang mengimplementasikan data sebagai serangkaian tabel 2 dimensi yang dihubungkan melalui foreign key. (Whitten, Bentley dan Dittman, 2004, p525) Jadi database relasional dapat didefinisikan sebagai kumpulan dari relasi / tabeltabel yang mengimplementasikan datanya dalam bentuk baris dan kolom, dimana antar tabel / relasi harus memiliki nama yang unik dan dapat dibedakan satu sama lain.
2.7.4
Database Management System (DBMS) Definisi Database Management System (DBMS) menurut Connolly dan Begg
(2002, p16) adalah sistem perangkat lunak yang membolehkan pengguna untuk mendefinisikan, membuat, memelihara dan menyediakan kontrol akses untuk database. Oleh Whitten, Bentley dan Dittman (2004, p524), Database Management System (DBMS) didefinisikan sebagai perangkat lunak khusus yang digunakan untuk membuat, mengontrol dan mengelola sebuah database. Jadi secara umum DBMS dapat diartikan sebagai sistem perangkat lunak yang menyediakan akses untuk database, dimana akses tersebut bisa berupa membuat (create), memasukan (insert), mengubah (update) dan menghapus (delete) data dari database.
28 2.7.5
SQL (Structured Query Language) Menurut Connolly dan Begg (2002, p111), SQL merupakan sebuah transform-
oriented language, atau sebuah bahasa yang didesain dengan menggunakan relasi untuk mentransformasikan input menjadi output yang dibutuhkan. SQL mempunyai 2 komponen utama yaitu : •
DDL (Data Definition Language), mendefinisikan struktur database dan mengontrol pengaksesan data.
•
DML (Data Manipulation Language), mengambil (retrieve) dan mengubah (update) data. Menurut Nugroho (2005, p5), SQL adalah sebuah bahasa permintaan database
yang terstruktur. Bahasa SQL dibuat sebagai suatu bahasa yang dapat merelasikan beberapa tabel dalam database maupun antar database. Jadi SQL merupakan sebuah bahasa database relasional yang menghubungkan DML dan DDL. Dengan SQL data bisa ditampilkan dari satu atau beberapa tabel yang saling berhubungan dengan urutan dan pengelompokan terhadap field tertentu.
2.7.6
Stored Procedures Stored procedures adalah satu atau lebih perintah SQL yang disimpan di dalam
database sebagai sebuah objek yang dapat dieksekusi. Stored procedures dapat dipanggil secara interaktif, dari dalam kode aplikasi klien, dari stored procedures lain dan dari pemicu (triggers) lainnya. Parameter dapat dikirimkan ke stored procedures dan dikembalikan dari stored procedures untuk meningkatkan kegunaan dan
29 fleksibilitasnya. Stored procedures bisa juga mengembalikan sejumlah resultsets dan sebuah status code. (Rankins et al, 2002, p244)
2.8
Teknologi dan Tool yang Digunakan
2.8.1
Microsoft’s .Net Framework Menurut Mercer (2004, p11) .Net Framework merupakan sebuah platform
Microsoft yang dioptimasi untuk menghasilkan aplikasi yang didistribusikan lewat internet. .Net Framework ini jika diterapkan pada web services akan mengarah pada bahasa berbasiskan XML yang membolehkan pertukaran data tidak hanya di antara orang dengan orang tetapi juga di antara aplikasi dengan aplikasi lewat jaringan atau internet. Aplikasi yang dibuat di dalam .Net Framework dapat dikonfigurasikan. Konfigurasi aplikasi berarti menyusun lingkungan jalannya aplikasi. Contoh : pengaturan keamanan dapat dikonfigurasikan pada aplikasi web, dan pengaturan ini dapat mengontrol pengguna mana yang telah mengakses resource di dalam aplikasi. Menurut Ruth (2005, p1-3), .NET Framework terdiri dari beberapa jenis komponen, dimana semuanya berada di atas Sistem Operasi Windows. Komponen di dalam .NET Framework ini bisa digunakan dalam 4 jenis bahasa pemrograman yaitu C#, VB.NET, Managed C++, dan Jscript.NET. Bahasa pemrograman yang akan digunakan pada skripsi ini adalah C#. .NET Framework ini terdiri dari : •
Common Language Runtime (CLR), merupakan platform berorientasi objek yang digunakan bersama oleh 4 bahasa pemrograman di atas pada Sistem Operasi Windows. Bagian inilah yang akan menjalankan program di web server.
30 •
Kumpulan dari kelas library yang lebih dikenal dengan nama Framework Class Library (FCL). FCL ini terdiri class library, data layer, dan XML yang akan digunakan oleh Web Service, Window Form maupun Web Form yang akan dibuat nanti. MS .NET Framework ini bisa menanggani 3 jenis teknologi yang berbeda yaitu :
•
Windows Form, yaitu aplikasi desktop yang dijalankan pada windows, dapat berinteraksi dengan komputer lain melalui jaringan ataupun internet.
•
Web Form, bisa dilihat saat membuka browser. Web Form pada .NET ini memiliki kemampuan yang lebih maju lagi, dimana pemrograman dapat dilakukan berdasar event yang dilakukan, saat maintainance, tambahan web server control dan masih banyak lagi fitur lainnya.
•
Web Service, hampir sama dengan fungsi yang biasa digunakan di dalam program, namun jenis yang ini dapat dijalankan / dipanggil di internet. Jadi bukan hanya di dalam satu aplikasi saja.
2.8.2
Microsoft Visual Studio .NET 2003 Visual Studio .NET menurut Mercer (2004, p1) merupakan :
•
Program perangkat lunak, karena dituliskan dengan menggunakan bahasa pemrograman komputer.
•
Aplikasi, karena melakukan kerja tertentu.
•
Development environment (lingkungan pengembangan), karena mengandung banyak
tools
dan
templates
yang
membuat
pengembang
mengembangkan program perangkat lunak atau aplikasinya sendiri.
mampu
31 VS.Net merupakan peralatan yang mencakup beberapa fitur yang sangat powerful dan menghasilkan aplikasi program yang berbasiskan web atau window dan layanannya juga lebih cepat dan mudah. Elemen kunci dari VS.Net adalah Microsoft’s .Net Framework. Feature dari MS Visual Studio .NET adalah : •
Dengan MS VS .NET ini, program yang ada dapat ditelusuri dan di-debug. (Tersedianya fasilitas debuging)
•
Dilengkapi dengan intellisense yang memudahkan pengembang pada saat koding.
•
Mengkompilasi program menjadi suatu dll (dynamic link library) sehingga orang lain tidak dapat melihat kode yang ada.
•
Pengembangan halaman web secara visual.
•
HTML Editor yang bersifat WYSWYG (What You See is What You Get).
•
Properti window untuk mengatur properti dari objek di dalamnya.
•
Fasilitas kompilasi yang terintegrasi.
•
Pada bagian form (Graphical User Interface (GUI)), bisa menggunakan cara drag and drop.
•
Berintegrasi dengan Visual Source Safe, khususnya untuk pengembangan aplikasi yang memerlukan banyak pengembang (developer).
•
File help-nya sudah terintegrasi. Untuk penulisan skripsi ini, akan digunakan ASP.NET dengan bahasa C#
(dibaca C-Sharp). C# merupakan bahasa pemograman berbasis objek yang dikeluarkan oleh Microsoft yang diturunkan dari bahasa C dan C++. Bahasa ini juga terdiri dari
32 banyak konsep yang ada di Java termasuk garbage collection (proses di Java yang menghancurkan objeknya sendiri yang telah lama tidak terpakai dalam proses).
2.8.2.1 ASP .NET Menurut McClure et al (2006, p2), ASP.Net merupakan teknologi pengembang web yang dihasilkan oleh Microsoft dan digunakan untuk membangun website dinamis, aplikasi web, dan aplikasi web berbasis XML. ASP.Net adalah bagian dari .Net Framework dan membolehkan pengembang untuk membangun aplikasi dengan berbagai bahasa seperti VB.Net, JScript, dan C#. ASP .NET menurut Rahmel (2002, p12) ) adalah sebuah infrastruktur yang membolehkan pengembang untuk mengeksekusi aplikasi .NET dengan menggunakan framework untuk solusi berbasis web. Spesifikasi dari ASP .NET menurut Ruth (2005, p4) adalah : •
ASP .NET merupakan bagian dari .NET Framework .
•
Struktur pemrogramannya berbasis event (fungsi) sehingga baris kodingnya tidak datar saja secara sekuensial dari atas ke bawah.
•
ASP .NET memisahkan HTML dengan source program (kodingnya).
•
Kode pada ASP.NET ini dapat dikompilasi ke dalam format dll sehingga tidak perlu takut diketahui / dilihat orang lain.
•
Konfigurasi dan pemakaiannya lebih sederhana.
•
ASP .NET bisa ditulis dalam banyak jenis bahasa pemrograman, dan yang akan dipakai pada skripsi ini adalah bahasa C#.
33 2.8.3
Ajax (Asynchronous JavaScript And XML) Ajax merupakan teknologi klien yang menyediakan komunikasi asynchronous
antara user interface dan web server dengan integrasi yang mudah terhadap teknologi yang ada. Pengembangan halaman web dengan menggunakan Ajax akan menghasilkan aplikasi web dengan tingkat interaktivitas relatif tinggi. Hal ini akan membuat halaman web terlihat relatif lebih responsive karena halaman web tidak perlu untuk di-load kembali setiap kali terjadi perubahan request. Hal ini akan meminimalisir penggunaan jaringan dan proses ke klien.
2.8.3.1 Keuntungan Ajax •
Asynchronous – Ajax menyediakan kemampuan untuk membuat panggilan asynchronous ke web server. Dengan demikian akan membuat browser klien tidak perlu menunggu untuk sampainya semua data agar bisa bertindak lebih lanjut.
•
Meminimalkan transfer data – Dengan tidak melakukan postback secara keseluruhan dan tidak mengirim semua data form ke server, penggunaan jaringan diminimalkan dan pengoperasian juga menjadi lebih cepat. Dengan situs yang pengiriman datanya dibatasi, akan sangat meningkatkan perfomasi jaringan.
•
Membatasi pemrosesan ke server – Dengan mengirimkan hanya data yang dibutuhkan saja, akan membatasi pemrosesan ke server. Server tidak perlu lagi memproses semua elemen form, memproses viewstate, mengirim image kembali ke klien, dan tidak perlu lagi mengirimkan halaman secara keseluruhan ke klien.
34 •
Responsiveness – Karena aplikasi Ajax bersifat asynchronous terhadap klien, maka Ajax terlihat sangat responsive.
•
Konteks – Dengan postback secara keseluruhan, pengguna mungkin kehilangan konteks di mana pengguna berada tadi. Pengguna mungkin berada di bagian bawah halaman, setelah menekan tombol Submit, pengguna diarahkan kembali ke atas halaman. Dengan Ajax, postback tidak dilakukan secara keseluruhan. Menekan tombol Submit di dalam aplikasi yang menggunakan Ajax akan membuat pengguna dapat memelihara lokasinya sendiri dan pengguna tidak perlu lagi melakukan scroll untuk kembali ke lokasi sebelum melakukan penekanan tombol.
Halaman Web
Web Browser Model CSS
Header Bagian 1
Logic
Data Model
Bagian 2
Logic
JavaScript Logic
Komunikasi dengan Web Server
Menentukan desain tampilan
Menentukan isi dan tampilan
Data Model
Footer
Objek XMLHttpRequest
Web Sever
Gambar 2. 3 Cara Kerja Request dengan Menggunakan Ajax
Model objek dokumen
35 Satu halaman web akan dibagi menjadi beberapa bagian. Setiap bagian dari halaman web akan memiliki logic sendiri. Apabila terjadi request dari pengguna untuk mengubah sebagian dari halaman web, maka web browser akan melakukan request ke server untuk meminta data yang diperlukan untuk mengisi bagian halaman web tersebut dan bagian yang akan mengalami perubahan hanyalah sebagian kecil dari halaman web tersebut tanpa perlu men-load kembali keseluruhan halaman. Sehingga hal ini akan meminimalisir penggunaan jaringan dan proses ke klien.
2.9 2.9.1
Internet Pengertian Internet Menurut Connolly dan Begg (2002, p944), Internet merupakan kumpulan
jaringan komputer yang terhubung secara luas. Internet adalah kumpulan dari jaringan yang terhubung. (Tanenbaum, 2000, p14). Jadi, internet adalah jaringan elektronik dan telekomunikasi secara besarbesaran yang menghubungkan komputer bisnis, pelanggan, agen pemerintahan, sekolah, atau organisasi lainnya di seluruh dunia. Pengguna internet dapat saling berkomunikasi dan berbagi informasi di manapun mereka berada, bahkan pada negeri ataupun benua yang berbeda juga.
36 2.9.2
Pengertian World Wide Web (WWW) World Wide Web, biasa disebut juga dengan web, merupakan suatu kumpulan
informasi pada beberapa server komputer yang terhubung satu sama lain dalam jaringan internet. Informasi-informasi dalam web mempunyai link yang menghubungkan informasi tersebut ke informasi lain dalam jaringan internet. Link mempunyai tanda khusus, bisa berupa teks bergaris bawah dan berwarna, icon maupun gambar yang dikelilingi sebuah kotak. (Anonim, 2003, p1-2) Bekerja dengan web mencakup 2 hal penting yaitu software web browser dan software web server. Web browser yang bertindak sebagai klien yang berfungsi untuk mengintepretasikan dan melihat informasi pada web, sedangkan web server yang bertindak sebagai server yang berfungsi untuk menerima informasi yang diminta oleh browser. Jika suatu permintaan akan suatu informasi datang, web server akan mencari file yang diminta dan kemudian mengirimkan ke browser yang meminta.
2.9.3
Pengertian HyperText Transfer Protocol (HTTP) Menurut Connolly dan Begg (2002, p944), HTTP adalah protokol yang
digunakan untuk mentransfer halaman web melalui internet. HTTP merupakan suatu potokol komunikasi yang menungkinkan web server berkomunikasi dengan web browser. (Kadir, 2004, p12) Jadi HTTP merupakan suatu protokol komunikasi standar yang digunakan untuk mentransfer halaman lewat WWW di internet dan mendefinisikan bagaimana pesan diformat dan ditransmisikan.
37 2.10 Server 2.10.1 Pengertian Server Menurut Lethbridge dan Laganiere (2002, p71), Server adalah sebuah program yang menyediakan layanan bagi program lain yang berhubungan dengannya dengan menggunakan jaringan komunikasi.
2.10.2 Database Server Menurut Whitten, Bentley dan Dittman (2004, p486), Database Server adalah server yang memiliki satu atau lebih database. Database Server adalah sembarang aplikasi database yang mengikuti model arsitektur client / server, yang membagi aplikasinya ke dalam dua bagian yaitu: •
Front-End yang berjalan pada komputer pengguna
•
Back-End yang berjalan pada server atau komputer host.
Front-End berinteraksi dengan pengguna untuk mengumpulkan dan menampilkan data, sedangkan Back-End melakukan semua tugas-tugas yang dikerjakan secara intensif oleh komputer, seperti analisis, penyimpanan, dan manipulasi data.
2.10.3 Web Server Menurut Whitten, Bentley dan Dittman (2004, p486), Web Server adalah server yang meng-host internet atau website intranet. Web Server itu merupakan sebuah komputer pada World Wide Web yang menyimpan dokumen HTML yang bisa diambil dan ditampilkan dengan browser. Setiap server mempunyai sebuah IP Address dan mungkin sebuah nama domain.
38 2.10.4 IIS (Internet Information Service) Ray (1999, p265) menjelaskan bahwa IIS merupakan sebuah web server yang gratis yang dijalankan di dalam Windows NT. IIS menawarkan layanan yang handal, cepat dan aman. IIS merupakan bagian dari MS Windows 2000, dapat ditemukan di dalam Windows NT 4.0 Option Pack, Window XP, Window 2003 Server, dan Operating System lainnya yang mengandung teknologi NT. Secara default IIS tidak diinstall pada saat menginstall Windows (OS).
2.11 Online 2.11.1 Pengertian Online Online itu merupakan sebutan umum yang digunakan saat komputer sedang berinteraksi secara langsung dan berkesinambungan dengan komputer lain. Banyak sumber informasi yang bisa didapatkan saat sedang online. Saat pengguna terhubung ke internet maka saat itu juga pengguna lagi online. Jadi sesuatu itu dikatakan online jika komputer terhubung dengan beberapa sistem atau jaringan yang lebih besar. Umumnya jaringan yang lebih besar inilah yang dinamakan internet, jadi online itu mendeskripsikan informasi yang dapat diakses lewat internet.
2.11.2 Pengertian Proses Online
39 Menurut Whitten, Bentley dan Dittman (2004, p586), proses online adalah metode pemrosesan data dimana data merupakan transaksi tunggal diproses secara langsung / segera. Jadi proses online adalah sistem proses transaksi yang melakukan pemrosesan data secara langsung.
2.11.3 Pengertian Online Learning Online Learning adalah sebuah metode pembelajaran yang terjadi secara online dengan menggunakan web atau sarana elektronik lainnya seperti internet . Nama lain dari online learning yaitu E-Learning.
2.12
E-Learning
2.12.1 Pengertian E-Learning Pengertian dari E-Learning menurut Effendi dan Zhuang (2002, p7-38) yaitu penyaluran pembelajaran, pelatihan atau program pendidikan dengan menggunakan media elektronik atau teknologi informasi seperti komputer, internet atau peralatan elektronik lainnya. E-learning mempunyai 2 tipe yaitu : •
Synchronous Training Synchronous berarti “pada waktu yang sama”. Jadi, synchronous training adalah tipe pelatihan, dimana proses pembelajaran terjadi pada saat yang sama ketika pengajar sedang mengajar dan murid sedang belajar. Hal tersebut memungkinkan terjadinya interaksi langsung antara guru dengan murid, baik
40 melalui internet maupun intranet. Pelatihan e-learning synchronous lebih banyak digunakan seminar atau konferensi yang pesertanya berasal dari beberapa negara. Penggunaan tersebut sering pula dinamakan web conference atau webinar (web seminar) dan digunakan kelas atau kuliah universitas online. Synchronous training mengharuskan guru dan semua murid mengakses internet bersamaan. Pengajar memberikan makalah dengan slide presentasi dan peserta / pelajar dapat melihat presentasi tersebut melalui internet. Peserta pun dapat mengajukan pertanyaan atau komentar melalui chat window. Jadi Synchronous training sifatnya mirip pelatihan di ruang kelas. Namun, kelasnya bersifat maya (virtual) dan peserta tersebar di seluruh dunia dan terhubung melalui internet. Oleh karena itu, synchronous training sering pula dinamakan virtual classroom. •
Asynchronous Training Asynchronous berarti “tidak pada waktu yang bersamaan”. Jadi, seseorang dapat mengambil pelatihan pada waktu yang berbeda dengan pengajar yang memberikan pelatihan. Pelatihan ini lebih populer di dunia e-learning karena memberikan keuntungan lebih bagi peserta pelatihan karena dapat mengakses pelatihan kapan pun dan di manapun. Akan tetapi, ada pelatihan asynchronous training yang terpimpin, di mana pengajar memberikan materi pelajaran lewat internet dan peserta pelatihan mengakses materi pada waktu yang berlainan. Pengajar dapat pula memberikan tugas atau latihan dan peserta mengumpulkan tugas lewat email. Peserta dapat berdiskusi atau berkomentar dan bertanya melalui bulletin board.
41 2.12.2 Media E-Learning E-Learning umumnya selalu diindentifikasikan dengan penggunaan internet untuk menyampaikan pelatihan. Namun, saat ini media penyampaian e-learning sangat beragam. Penyampaian pelajaran lewat internet dilakukan oleh universitas online karena mereka ingin memperoleh jumlah pelajar yang besar dan berasal dari berbagai wilayah. Oleh karena itu, internet yang memiliki jangkauan luas, menjadi media yang tepat. Sekolah-sekolah yang memiliki laboratorium komputer menggunakan local area network (LAN) untuk menghubungkan komputer-komputer sebagai media e-learning. Apabila ada situasi dimana jaringan komputer tidak tersedia, e-learning dapat diberikan dalam media CD-ROM.
2.12.3 Keuntungan dan Kerugian E-Learning Keuntungan E-Learning : •
Biaya
•
Fleksibilitas Waktu
•
Fleksibilitas Tempat
•
Fleksibilitas Kecepatan Pembelajaran
•
Standarisasi Pengajaran
•
Efektifitas Pengajaran
•
Kecepatan Distribusi
•
Ketersediaan On-Demand
•
Otomatisasi Proses Administrasi
42 Keterbatasan E-Learning : •
Budaya
•
Investasi
•
Teknologi
•
Infrastruktur
•
Materi Masalah keterbatasan budaya ditempatkan di urutan pertama karena paling sulit
diatasi. Meskipun masalah investasi atau biaya yang tinggi sering dianggap hambatan nomor satu, investasi tinggi masih dapat diatasi. Apabila pihak manajemen sudah melihat biaya yang dapat ditekan dengan penggunaan e-learning, biaya investasi yang tinggi dapat disetujui. Akan tetapi, masalah budaya memakan waktu lama untuk diubah karena menyangkut kebiasaan organisasi yang turun-temurun.
2.13
Collaborative Learning
2.13.1 Pengertian Kolaborasi Maksud dari kolaborasi adalah belajar bersama dan saling tukar informasi antara 2 orang atau lebih di dalam lingkungan belajar. Kolaborasi terjadi di antara pelajar dengan tujuan untuk meningkatkan proses pembelajaran dan atau mencapai tujuan belajar. Diagram kolaborasi dari Lilia Efimova (http://psm1.notlong.com) yang menggambarkan hubungan / perpotongan antara diri sendiri, orang lain dan ide.
43
Ide Personal Communities, Information Group Management Learning Learning Conversations Collaboration Orang Lain
Contact & Relation Management
Diri Sendiri
Gambar 2. 4 Diagram Kolaborasi
2.13.2 Model Kolaborasi Timothy Butler dan David Coleman (2003), mengusulkan 5 model kolaborasi dasar yaitu:
44
Besar
Solicitation Community
Ukuran Kelompok
Library Process Support Team
Kecil Rendah
Tingkat Interaksi
Tinggi
Gambar 2. 5 Model Kolaborasi •
Library (Beberapa orang menempatkan bahannya di suatu tempat tertentu dan banyak orang yang mendatanginya.)
•
Solicitation (Beberapa orang mengajukan pertanyaan dan banyak yang meresponnya)
•
Process Support (Sistem yang mendukung aliran kerja yang repetitif)
•
Community (Contohnya : Sebuah komunitas pelatihan)
•
Team (Sebuah kelompok kerja kecil pada sebuah proyek) Satu kolaborasi mungkin saja mencakup semua elemen di atas. Butler dan
Coleman mengusulkan bahwa untuk menambah nilai lingkungan kolaborasi harus mempertimbangkan bagaimana menggabungkan elemen dari model-model di atas supaya lingkungan kolaborasinya bisa meningkat.
45 2.13.3 Pengertian Collaborative Learning Collaborative Learning adalah suatu proses pengajaran / pembelajaran yang melibatkan usaha intelektual antara mahasiswa dengan mahasiswa maupun antara mahasiswa dengan dosen. Biasanya mereka bekerja dalam bentuk kelompok untuk mencapai tujuan akademik umum tertentu seperti pencarian solusi, pemahaman arti, atau penciptaan suatu produk. Berbeda dengan Individual Learning yang proses pengajarannya yaitu mahasiswa-mahasiswanya belajar secara individu pada setiap levelnya untuk mencapai satu tujuan akademis.
2.13.4 Kelebihan dan Kekurangan dari Collaborative Learning Kelebihan berfokus pada proses Collaborative Learning adalah : •
Lebih memahami materi
•
Mengabungkan pengetahuan dan pengalaman
•
Mendapatkan feedback yang bermanfaat
•
Simulasi pemikiran
•
Mendapatkan perspektif yang baru. Kekurangan dari aspek Collaboration Learning adalah :
•
Waktu terbuang untuk mengajari anggota lain
•
Terjadi perbedaan pendapat
46 2.13.5 Cara Melakukan Kolaborasi Pembelajaran •
Anggota mendapatkan keahlian dan pengetahuan dari anggota lain dengan melihat dan melakukan.
•
Saling memberikan pendapat.
•
Saat kolaborasi, anggota bisa melihat kemajuan dari anggota lain.
2.14
Web Service Menurut Ruth (2005, p3), web service hampir sama dengan fungsi yang biasa
digunakan dalam program, namun jenis yang ini dapat dijalankan di internet. Jadi bukan hanya di dalam satu aplikasi seperti yang ada pada pemrograman zaman sebelum .NET. Web service ini menggunakan HTTP dan SOAP sebagai komunikasi protokolnya. Web service yang diakses oleh sebuah program dapat berupa aplikasi web maupun aplikasi window. Aplikasi mungkin menggunakan web service internal di dalam organisasi ataupun web service eksternal yang disediakan oleh partners. Satu web service bisa dipakai oleh web service lainnya. Web Browser
HTML
Web Application
SOAP
Internal Web Service Eksternal Web Service
SOAP SOAP Windows Application
SOAP
Eksternal Web Service SOAP Eksternal Web Service
Gambar 2. 6 Web Service
47 Protokol untuk memanggil web service yang didukung oleh ASP.NET adalah sebagai berikut : •
HTTP-GET
•
HTTP-POST
•
SOAP
2.14.1 HTTP-GET Protokol HTTP-GET merupakan suatu protokol standar yang menggunakan HTTP dengan kata kerja “GET” untuk menerima data dari web server. HTTP-GET melakukan sebuah request dari web server yang berisi sekumpulan HTTP request header yang mendefinisikan hal-hal seperti client browser dan lain-lain. Parameter untuk request dikirimkan secara URLencoded (Proses yang mengkonversi spasi menjadi karakter “%20”). Protokol HTTP-GET tidak mendukung complex data types. (Basiura et al, 2001, p140)
2.14.2 HTTP-POST Menurut Basiura et al (2001, p141) HTTP-POST merupakan protokol standar HTTP kedua dengan kata kerjanya “POST”. Parameter dari HTTP-POST dikirim secara URLencode juga, tetapi dikirim secara langsung ke web server di pesan HTTP requestnya sendiri. Protokol ini digunakan untuk mentransmisikan informasi ke web server seperti mem-posting sebuah pesan baru ke dalam forum, mengklik “OK” pada form searching, dll.
48 Protokol ini juga tidak mendukung untuk complex data types di dalam web service. Complex data type itu dapat berupa Dataset ataupun objek-objek yang dibuat sendiri. HTTP-POST sendiri juga terbatas untuk tipe string primitif.
2.14.3 SOAP (Simple Object Access Protocol) Menurut Rahmel (2002, p362), SOAP adalah sebuah protokol standar untuk mengakses objek XML terdistribusi untuk pertukaran objek informasi, pesan, atau instruksi – instruksi lewat jaringan dengan menggunakan protokol HTTP. (Sebuah standar komunikasi lewat HTTP dan mengirim data-datanya dengan menggunakan XML) SOAP adalah sebuah protokol yang tidak hanya bisa memanggil method yang ada di jaringan, tetapi juga bisa mentransfer tipe data yang kompleks dan bervariasi. Dukungan penggunaan SOAP berada dalam .NET Framework, dan merupakan bagian implementasi dari .NET Framework untuk web services. (Russ Basiura et al, 2001, p144) Tujuan dari SOAP yaitu membuat method untuk saling bertukar informasi yang terstandarisasi antara klien dan aplikasi yang berjalan di internet. SOAP menyediakan method yang terstandarisasi untuk meng-encode data ke dalam format yang portable. Keuntungan utama dari SOAP yaitu SOAP merupakan lightweight protocol. Karena antara klien dan server untuk berkomunikasi lewat protokol tidak memerlukan kerja yang banyak. Selain itu SOAP juga menggunakan format encoding dalam bentuk XML yang mudah dibaca oleh sistem lain, sehingga sembarang sistem yang bisa menparse XML akan bisa berkomunikasi menggunakan SOAP.
49 2.15
Application Object & Session Object Application object dan session object dari ASP .NET adalah kunci teknologi
yang akan digunakan di dalam aplikasi Web Service untuk manajemen state. Application object menyediakan mekanisme penyimpanan data yang dapat diakses oleh semua kode yang berjalan di dalam aplikasi web. Sedangkan session object hanya membolehkan data disimpan pada pengguna tertentu dan hanya dapat diakses pengguna tersebut saja.
Aplikasi Web Application Object
Session #1
Session #2
Session #3
Browser User #1
Browser User #2
Browser User #3
Gambar 2. 7 Hubungan antara Application and Session Object Diagram di atas mengilustrasikan hubungan antara application dan session object. Pengguna pada aplikasi web dapat mengakses application object yang sama. Perubahan yang terjadi pada objek aplikasi akan terlihat dan mempengaruhi pengguna sistem yang lain. Sedangkan session objects bersifat unik untuk setiap pengguna. Pengguna hanya dapat mengakses session yang dibuat untuk pengguna tersebut. Sedang session lain tidak dapat diakses.
50 2.15.1 Application Object Menurut Basiura et al (2001, p144), Application objects dapat dikatakan sebagai sebuah penampung global untuk informasi yang ada pada semua halaman atau modul di dalam aplikasi ASP .NET. Variabel–variabel dan referensi dari objek bisa disimpan ke dalam objek aplikasi. Objek aplikasi dibentuk saat halaman pertama dari aplikasi direquest. Saat lifetime objek aplikasi tersebut, nilai dari objek aplikasi bisa ditambah, diubah, dan dihapus. Nilai dari objek tetap ada selama web service belum dimatikan.
2.15.2 Session Object Session didefinisikan sebagai periode waktu yang dimiliki oleh seorang pengguna unik untuk berinteraksi dengan sebuah aplikasi khusus. Pada awal pembentukan, diperlukan mekanisme untuk mengidentifikasi pengguna lewat koneksi dari HTTP untuk menentukan hubungan session yang ada di server dengan pengguna tertentu. Session dibagi 3 yaitu : •
Session objects, berjalan di dalam proses. Session state ASP berada di dalam proses yang sama yang berada dalam runtime ASP. Karena itu, aksi yang mempengaruhi proses juga ikut mempengaruhi session state. Contohnya : Bila proses ASP gagal atau objeknya telah hilang, session state juga akan ikut hilang.
•
Session state, bergantung pada penggunaan cookies. Ini tentunya membutuhkan client browser untuk mendapatkan dukungan cookie. Browser yang tidak dapat menerima cookies HTTP berarti session state ini juga tidak berfungsi.
•
Session management terbatas untuk satu server. Saat request session dari satu website pada satu server ke website yang berada di server lain, session state
51 yang ada tidak mengikuti request tersebut.. Karena session state ASP tergantung kepada mesin dimana session itu dibuat. Setiap IIS Server menyediakan session state sendiri-sendiri. Jadi untuk bisa mengakses session state maka semua request harus tetap ke satu server yang sama.
2.16
Penelitian Hasan (2002, p9) menjabarkan penelitian sebagai penyaluran rasa ingin tahu
manusia terhadap sesuatu / masalah dengan perlakuan tertentu (seperti memeriksa, mengusut, menelaah, dan mempelajari secara cermat dan sungguh-sungguh) sehingga diperoleh sesuatu (seperti mencapai kebenaran, memperoleh jawaban, pengembangan ilmu pengetahuan, dan sebagainya). Data yang digunakan dalam penelitian (bahan penelitian), dapat berupa populasi atau sampel. Pupolasi adalah totalitas dari semua objek atau individu yang memiliki karakteristik tertentu, jelas dan lengkap yang akan diteliti. Sedangkan sampel adalah bagian dari populasi yang diambil melalui cara-cara tertentu yang juga memiliki karakteristik tertentu, jelas, dan lengkap yang dianggap bisa mewakili populasi. Objekobjek atau nilai yang akan diteliti itu dapat berupa orang, perusahaan, media dan sebagainya.
2.16.1 Teknik Sampling Teknik sampling merupakan cara yang digunakan dalam pengambilan sampel penelitian (Hasan., 2002, pp64-68). Teknik sampling ini pada dasarnya dapat dibedakan atas dua yaitu sebagai berikut :
52 •
Sampling Probabilitas Cara pengambilan sampel berdasarkan probabilitas atau peluang. Dalam sampling probabilitas ini, cara pengambilan sampelnya dilakukan secara acak (random), artinya semua objek atau elemen populasi memiliki kesempatan yang sama untuk dipilih sebagai sampel.
•
Sampling Non Probabilitas Cara pengambilan sampel yang tidak berdasarkan probabilitas. Dalam sampling non probabilitas ini, kemungkinan atau peluang setiap anggota populasi untuk menjadi anggota sampel tidak sama atau tidak diketahui. Teknik sampling yang digunakan dalam skripsi ini adalah teknik non
probabilitas yang bersifat kebetulan (sampling kebetulan / sampling seadanya). Bentuk dari sampling kebetulan ini adalah dimana anggota sampel yang dipilih, diambil berdasarkan kemudahan mendapatkan data yang diperlukan, atau dilakukan seadanya, seperti mudah ditemui atau dijangkau atau kebetulan ditemukan.
2.16.2 Pengumpulan Data (Dengan Kuesioner) Pengumpulan data dijelaskan oleh Hasan (2002, p83-85) sebagai pencatatan peristiwa-peristiwa atau hal-hal atau keterangan-keterangan atau karakteristikkarakteristik sebagian atau seluruh elemen populasi yang akan menunjang atau mendukung penelitian. Teknik pengumpulan data yang digunakan di dalam skripsi ini adalah dengan menggunakan angket (kuesioner). Angket (Kuesioner) adalah teknik pengumpulan data dengan menyerahkan atau mengirimkan daftar pertanyaan untuk diisi oleh responden. Responden adalah orang
53 yang memberikan tanggapan (respons) atau menjawab pertanyaan-pertanyaan yang diajukan. Kuesioner dikatakan baik, efektif dan efisien apabila memenuhi komponenkomponen berikut : •
Ada subyek, yaitu individu atau lembaga yang melaksanakan penelitian
•
Adanya ajakan, yaitu permohonan dari peneliti kepada responden untuk turut serta mengisi secara aktif dan objektif pertanyaan maupun pernyataan yang tersedia.
•
Adanya petunjuk pengisian yang mudah dimengerti dan tidak membingungkan.
•
Ada pertanyaan maupun penyataan beserta tempat mengisi jawaban
•
Pertanyaan dalam kuesioner ini dapat berbentuk : o Terbuka : memberi kebebasan kepada responden untuk memberikan jawaban dan pendapatnya sesuai dengan keinginan. o Tertutup : tidak memberikan kebebasan kepada responden untuk memberika jawaban dan pendapatnya sesuai dengan keinginan. o Semi terbuka : memberikan kebebasan kepada responden untuk memberikan jawaban dan pendapat menurut pilihan-pilihan jawaban yang telah disediakan.
54 Hal-hal yang harus diperhatikan di dalam membuat pertanyaan atau pernyataan di dalam kuesioner : •
Pertanyaan atau pernyataan yang dibuat harus jelas dan tidak meragukan.
•
Hindari pertanyaan atau pernyataan yang ganda.
•
Responden harus mampu menjawabnya.
•
Pertanyaan atau pernyataan harus relevan.
•
Pertanyaan atau pernyataan sebaiknya pendek.
•
Hindari pertanyaan dan pernyataan yang membingungkan.