7 BAB 2 LANDASAN TEORI
2.1 Analisis dan Perancangan 2.1.1 Pengertian Analisis Menurut (Jogiyanto, 1995, 129) analisis dapat didefinisikan sebagai penguraian dari suatu sistem informasi yang utuh kedalam bagian – bagian komponennya dengan maksud untuk mengidentifikasikan dan mengevaluasi permasalah, kesempatan, hambatan yang terjadi dan kebutuhan yang diharapkan sehingga dapat diusulkan perbaikannya. 2.1.2 Pengertian Perancangan Menurut (Jogiyanto, 1999,p179) perancangan mempunyai 2 maksud yaitu : untuk memenuhi kebutuhan kepada pemakai sistem dan untuk memberikan gambaran yang jelas kepada pemogram komputer dan ahli – ahli teknik lainnya yang terlibat. 2.1.3 Pengertian Aplikasi Aplikasi merupakan program yang dibuat untuk melaksanakan suatu fungsi bagi pengguna atau aplikasi yang lain. Contoh aplikasi adalah program memproses data dan web browser.
2.2 Rekayasa Piranti Lunak 2.2.1 Pengertian Rekayakasa Piranti Lunak Menurut Roger S. Pressman(2002, p10) Piranti lunak mempunyai defenisi sebagai berikut :
8 •
Instruksi – instruksi pada program komputer yang jika dieksekusi akan memberikan fungsi dan hasil yang diinginkan.
•
Stuktur data yang memungkinkan program dapat melakukan manipulasi terhadap suatu informasi.
•
Dokumen yang menjelaskan operasi dan pemakaian suatu program.
Menurut Roger S. Pressman (2002, p28-29) rekayasa piranti lunak tersusun atas sekumpulan langkah – langkah yang menggabungkan proses, metode dan alat – alat : a) Process ( Proses – proses ) Proses yang memungkinkan pengembangan piranti lunak secara rasional dan tepat waktu. b) Methods ( Metode – metode ) Menyediakan secara teknis pembangunan piranti lunak. Metode terdiri dari : analisis , perancangan , pembuatan program, Testing, Dukungan. c) Tools ( Alat – alat ) Menyediakan dukungan otomatis atau semi-otomatis terhadap proses dan metode – metode. Suatu sistem yang mendukung piranti lunak disebut Computer Aided Software Engineering (CASE).
9 2.2.2
Karakteristik Rekayasa Piranti Lunak Menurut Roger S. Pressman (2002, -10-13) karakteristik rekayasa piranti
lunak adalah : 1. Piranti lunak dibangun dan dikembangkan tidak dibuat dalam bentuk yang klasik. 2. Perangkat lunak tidak mudah usang. 3. sebagian besar perangkat lunak dibuat secara custum-built, secara tidak dapat dirakit dari komponen yang sudah ada.
2.3 System Development Life Cycle (SDLC) Dalam pembangunan suatu rekayasa piranti lunak membutuhkan sebuah tahap dan model software engineering. Model ini biasa disebut juga dengan model Waterfall atau disebut juga classic life cycle. Adapun pengertian dari SDLC ini adalah suatu pendekatan yang sistematis dan berurutan, yang dimulai pada level
sistem dan kemudian berlanjut pada analisis, perancangan,
pengkodean, pengujian, dan pemeliharaan (Pressman, 2001, p28-30).
System / Information engineering
Analysis
Design
Code
Test
Gambar 2.1 Linear Sequential Model (Pressman, 2001, p29-30)
10 Penjelasan-penjelasan siklus hidup model Waterfall : 1.
System Enginnering and Analysis Dalam merancang sebuah piranti lunak yang pertama-tama harus dilakukan adalah membangun semua elemen sistem yang diperlukan. Sistem merupakan hal yang penting dalam membuat sebuah piranti lunak, karena piranti lunak harus berhubungan langsung dengan elemen lainnya seperti perangkat keras, basis data dan manusia.
2.
Software Requirement Analysis Pada tahap ini dalam perancangan piranti lunak, perlu mengetahui karakteristik dasar dari piranti lunak yang akan dirancang, seperti fungsi, bentuk, dan tampilan dari piranti lunak tersebut.
3.
Design Untuk membuat suatu piranti lunak perlu dirancang struktur datanya, arsitektur piranti lunak, detil prosedur, dan karakteristik tampilan yang akan disajikan.
4.
Coding Rancangan
yang
telah
dibuat
dalam
tahap
sebelumnya
akan
diterjemahkan kedalam suatu bentuk atau bahasa yang dapat dibaca dan diterjemahkan oleh komputer untuk diolah. 5.
Testing Setelah tahap pengkodean selesai, dapat dilanjutkan ketahap pengujian (testing). Testing program dilakukan untuk mengetahui bila terjadi kesalahan pada program yang telah dibuat. Selain itu, dapat juga
11 digunakan untuk memastikan apakah input proses dengan benar, sehingga dapat menghasilkan output yang sesuai. 6.
Maintenance Jika aplikasi tersebut telah sesuai, akan diberikan kepada pengguna, tetapi selama penggunaan tersebut akan terjadi penyesuaian atau perubahan sesuai dengan keadaan yang diinginkan, sehingga membutuhkan perubahan terhadap aplikasi tersebut. (Pressman, 2001, p25-26)
2.4
Alat Bantu perancangan 2.4.1 Unified Modelling Language ( UML )
UML adalah alat untuk menggambarkan gambaran dari sistem yang akan dibuat melalui diagram dan simbol. UML menggunakan konsep Pemrograman Berorientasi Objek (Object Oriented Programming). Melalui
seperangkat
diagram,
UML
menyediakan
standar
yang
memungkinkan sistem analis untuk merancang berbagai sudut pandang dari sistem, yang dinamakan model, yang dimengerti oleh client, programmer, dan siapapun yang terlibat dalam proses pengembangannya (Schmuller, 1999, p16-17). Selain pengertian UML di atas ada pula pengertian dari Jacobson (1999, p13), yaitu UML adalah sebuah bahasa standar untuk menulis rancangan suatu perangkat lunak. UML dapat digunakan untuk memvisualisasikan,
menspesifikasikan,
membangun,
dan
mendokumentasikan alat dari sebuah sistem perangkat lunak. UML hanya
12
sebuah bahasa, dengan demikian hanya merupakan suatu bagian dari sebuah metode pengembangan perangkat lunak. a.
Class Diagram Class Diagram menggambarkan suatu kumpulan dari kelas-kelas dan merupakan hubungan relasi terstruktur. UML mempunyai class diagram, mereka adalah gambaran pusat dalam OOAD (Object Oriented Analysis and Design). Contoh gambar class diagram dan komponennya dapat dilihat pada Gambar 2.1(a) dan penggambaran kelas pada Gambar 2.1(b).
a)
(b)
(c)
13
(d)
(e) Class A
Class B
Gambar 2.2 Penggambaran class diagram dan komponennya Notasi yang digunakan dalam class diagram antara lain : 1)
Asosiasi (Association), yaitu hubungan antar kelas. Dalam class diagram kelas yang satu memerlukan asosiasi dengan kelas lainnya. Contoh asosiasi dapat dilihat pada Gambar 2.1(c).
2)
Agregasi (Aggregation), dilakukan dengan memerlukan setiap pasangan kelas untuk : a)
Whole-part, Container-content atau
association
member relationship antar kelas. b)
A common whole, yang menghubungkan mereka. Contoh agregasi dapat dilihat pada Gambar 2.1(d).
3)
Generalisasi (Generalization). Dilakukan dengan memeriksa pasangan kelas untuk struktur generalisasi antar kelas kemudian
memeriksa
atau mencari kelas yang umum, masing-masing
kelas
untuk
14
disesuaikan dengan kelas yang relevan. Untuk lebih jelasnya dapat dilihat pada Gambar 2.1(e).
b.
Object Diagram Object diagram berfungsi untuk menggambarkan struktur dari sebuah sistem, dan dapat digunakan untuk menguji keakuratan class diagram. Object diagram memiliki hubungan yang dekat dengan class diagram. Karena sebuah objek merupakan instance dari sebuah kelas, maka object diagram dapat digambarkan sebagai sebuah instance dari class diagram. Bila sebuah class diagram menunjukkan kelas-kelas yang merepresentasikan konsep dari sebuah sistem, maka object diagram menunjukkan objek-objek yang merepresentasikan inctance dari konsep tersebut. Contoh object diagram dapat dilihat pada Gambar 2.2(a). Simbol dan notasi dalam object diagram antara lain : 1)
Penamaan pada objek, dapat dilihat pada Gambar 2.2(b).
2)
Penulisan atribut dari objek hampir sama dengan class diagram, hanya saja dalam object diagram, atributnya diberi nilai. Contoh penulisan atribut dapat dilihat pada Gambar 2.2(c).
15
3)
Objek yang aktif atau dapat mengontrol action flow digambarkan dengan garis yang lebih tebal, lihat pada Gambar 2.2(d).
4)
Simbol penghubung, seperti pada Gambar 2.2(e).
5)
Objek yang terhubung kepada dirinya sendiri, untuk lebih jelas lihat Gambar 2.2(f).
(a)
(b)
Nama objek : kelas
(c)
Nama objek : kelas Tipe atribut = ‘nilai’ Tipe atribut = ‘nilai’
16
(d)
Nama objek : kelas
(e)
(f)
Gambar 2.3 Penggambaran objek diagram dan komponennya c.
Use Case Use Case menggambarkan interaksi antara sistem dengan pelaku yang ada. Diagram ini mendeskripsikan siapa saja yang menggunakan sistem dan bagaimana cara mereka berinteraksi dengan sistem. Use case digunakan untuk menggambarkan bagaimana sistem terlihat bagi pengguna (Mathiassen et. al, 2000, p120). Pelaku dan use case adalah dua elemen-elemen yang ada. Pelaku adalah orang-orang atau sistem lain yang berinteraksi dengan sistem. Use case adalah suatu bentuk interaksi antara sistem dan pelaku. Pelaku dan use case dapat dihubungkan satu sama lain, dengan cara mengindikasikan sebuah pelaku pada sebuah use case. Use case dapat dikelompokkan dalam hubungannya dengan sistem. Semua use case yang didukung oleh sebuah sistem dapat diorganisasikan dalam sebuah kelompok dengan nama dari sistem. Dari pengelompokan tersebut juga dapat dibuat grup yang lebih
17
kecil, yang mungkin menggambarkan subsistem. Setiap use case menentukan beberapa urutan interaksi yang mungkin antara pelaku dan sistem. Elemen-elemen yang digunakan dalam use case diagram antara lain (Mathiassen et. al, 2000, p343): 1)
Sistem, yang digambarkan menggunakan persegi yang di dalamnya terdapat sekumpulan use case. Actor diletakkan di luar sistem.
2)
Use case, yang digunakan untuk menggambarkan fungsifungsi pada sistem, digambarkan dengan elips.
3).
Actor, pengguna sistem.
4)
Penghubung, untuk menghubungkan antara actor dengan use case.
Penggambaran use case dapat dilihat pada Gambar 2.3
System
Gambar 2.4 Use Case
18
c.
Sequence Diagram Sequence Diagram menunjukkan dinamika interaksi berbasis waktu yang interaktif antar objek dalam sistem (Schmuller, 1999, p11). Tidak seperti class diagram yang statis, sequence diagram bersifat dinamis. Contoh sequence diagram dapat dilihat pada Gambar 2.4.
Gambar 2.5 Sequence diagram d.
Collaboration Diagram Collaboration diagram dibuat untuk menggambarkan interaksi antar objek sebagai suatu rangkaian pesan dalam sistem secara terurut. Collaboration diagram menggambarkan struktur sebuah sistem
baik
yang
statis
maupun
yang
dinamis,
dengan
menggabungkan informasi yang diambil dari class diagram, sequence diagram, dan use case diagram. Contoh collaboration diagram dapat dilihat pada Gambar 2.5.
19
Gambar 2.6 Collaboration Diagram e.
Statechart Diagram Statechart diagram menggambarkan suatu sistem yang dinamis dalam merespon stimulasi eksternal. Statechart diagram memiliki kegunaan khususnya dalam memodelkan reaksi objek-objek yang dikenai aksi tertentu. Statechart Diagram dapat dilihat pada Gambar 2.6(a). Simbol dan notasi yang ada dalam statechart diagram antara lain : 1)
State, yang digambarkan seperti pada Gambar 2.6(b) berfungsi untuk menggambarkan situasi yang dialami oleh sebuah objek.
20
2)
Transisi, contoh pada Gambar 2.6(c), arah panah digunakan untuk menghubungkan
state dari sebuah objek yang
berbeda. 3)
State awal, lihat Gambar 2.6(d).
4)
State akhir, lihat Gambar 2.6(e).
(a)
(b)
State
(c)
(d)
(e) Gambar 2.7 Statechart diagram dan komponennya f.
Activity Diagram Activity diagram mengilustrasikan lingkungan dari sistem yang dinamis dengan cara memodelkan arus kontrol dari aktivitas yang satu ke aktivitas lainnya. Aktivitas tersebut diartikan sebagai suatu proses dalam beberapa kelas dari suatu sistem yang menghasilkan perubahan state dalam sebuah sistem. Pada umumnya, activity
21
diagram digunakan sebagai model untuk arus kerja atau proses bisnis dan operasi secara internal. Simbol dan notasi dasar dalam activity diagram antara lain : 1)
Action State (Gambar 2.7(b))
2).
Arus tindakan / aksi (action flow), yang menggambarkan perpindahan dari aktivitas satu ke aktivitas yang lain. Dapat dilihat pada Gambar 2.7(b).
3)
Arus objek (object flow) mengacu pada perubahan yang terjadi pada objek dikarenakan aktivitas yang terjadi. Simbol panah
dalam
diagram
menandakan
pengaruh
yang
diakibatkan suatu aktivitas terhadap objek. 4)
State awal (Gambar 2.7(d)).
5)
State akhir (Gambar 2.7(e)).
6)
Percabangan (branching), menggambarkan suatu kondisi di mana terdapat dua atau lebih jalur alternatif. Jalur yang menunjukkan arah keluar harus disertai dengan syarat atau ekspresi yang telah ditentukan. Penggambarannya seperti pada Gambar 2.7(f).
22
(a)
(b)
(c) Activity
(d)
(e) (f)
Gambar 2.8 Activity diagram dan komponennya
23
g.
Component Diagram Component diagram merupakan kumpulan komponen-komponen dari sebuah perangkat lunak, yang meliputi source code, binary code, serta hasil dari program yang dijalankan. 1)
Komponen, merupakan bagian dari perancangan sebuah sistem.
2)
Interface,
menggambarkan
sekumpulan
operasi
yang
dibentuk atau digunakan oleh komponen. 3)
Ketergantungan ketergantungan
(Dependency), hubungan
antara
menggambarkan komponen
menggunakan arah panah sebagai penunjuk. Untuk lebih jelasnya dapat dilihat pada Gambar 2.8 berikut :
Interface
Gambar 2.8 Component diagram
yang
24 2.4.2
Entity Relationship Diagram (ERD) Entity Relationship Diagram adalah sebuah konsep abstrak yang di
representatif dari struktur data. Entity Relationship modeling adalah sebuah skema relasi dari metode model database,
yang digunakan dalam software
engineering untuk memproduksi tipe dari konsep tual model data dari sebuah system, sering merupakan relasi database yang membutuhkan top-down fashion. Diagram ini dibuat dengan menggunakan proses yang disebut entity relationship diagram atau ER Diagram. (http://en.wikipedia.org/wiki/Entity_relationship_diagram)
2.5
Interaksi Manusia Dan Komputer (IMK) 2.5.1
Pengertian Interaksi Manusia Dan Komputer (IMK)
Interaksi manusia dengan komputer (IMK) adalah ilmu yang berhubungan dengan perancangan, evaluasi, dan implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta studi fenomenafenomena besar yang berhubungan dengannya (Shneiderman, 1998, p8). 2.5.2 Tujuan rekayasa sistem IMK Sistem yang efektif akan menghasilkan rasa keberhasilan, kompetensi, penguasaan dan kejelasan dalam komunitas pemakai. Tujuan dari rekayasa sistem IMK adalah untuk menghasilkan sistem dengan (Shneiderman, 1998, p9-14) : 1) Fungsionalitas yang semestinya.
25
Sistem dengan fungsionalitas yang kurang memadai akan mengecewakan pemakai dan sering ditolak atau tidak digunakan, sedangkan sistem yang berlebihan akan menyebabkan kesulitan dalam implementasi, pemeliharaan, dan pengunaan.
2) Kehandalan, ketersediaan, keamanan, dan integritas data. • Kehandalan (reliability), yaitu berfungsi seperti yang diinginkan. • Ketersediaan (availability), yaitu tersedia ketika hendak digunakan. • Keamanan (security), yaitu terlindung dari akses yang tidak diinginkan dan kerusakan yang disengaja. • Integritas data (data integrity), yaitu keutuhan data terjamin.
3) Standardisasi, integrasi, konsistensi, dan portabilitas. • Standardisasi, yaitu keseragaman sifat-sifat antar muka pemakai pada aplikasi yang berbeda misalnya dengan menggunakan standar industri yang ada. • Integrasi, yaitu keterpaduan antara paket aplikasi dan perangkat lunak tool. • Konsistensi, yaitu keseragaman dalam suatu program aplikasi. • Portabilitas, yaitu dimungkinkannya data dikomunikasi pada berbagai perangkat keras dan perangkat lunak.
26
4) Penjadwalan dan anggaran. Perencanaan yang hati-hati dan manajeman yang berani diperlukan karena proyek harus sesuai dengan jadwal dari dalam anggaran.
2.5.3 Perancangan interaktif dengan 8 aturan emas Perancangan antamuka pemakai yang interaktif memerlukan aturanaturan tertentu, yaitu (Shneiderman, 1998, p74-75) : 1)
Perancangan yang dibuat harus selalu konsisten. Beberapa bentuk konsistensi yang ada adalah konsistensi dalam penggunaan bentuk dan ukuran font, pemberian warna tulisan dan latar belakang, pembuatan layout, penggunaan terminologi. Konsistensi
memberi
kemudahan
bagi
pengguna
dalam
menggunakan dan menjalankan aplikasi, membantu mempelajari hal baru lebih cepat dan dapat lebih memfokuskan pada suatu tugas karena pengguna tidak perlu membuang-buang waktu untuk mengingat perbedaan-perbedaan dalam interaksi. 2)
Memungkinkan bagi pengguna menggunakan shortcuts. Jika frekuensi penggunaan pengguna meningkat maka perlu dilakukan pengurangan jumlah interaksi dengan memanfaatkan fasilitas shortcuts. Shortcuts seperti tombol khusus, hidden commands, dan fasilitas makro yang disukai pengguna karena dapat
27
memberikan waktu respon yang semakin singkat dan waktu tampilan yang makin cepat. 3)
Memberikan umpan balik yang informatif. Sistem harus menyediakan umpan balik untuwk setiap aksi pemakaian. Isyarat-isyarat seperti suara dan tampilan visual harus ditampilkan untuk interaksi pemakai, untuk memberi tahu bahwa perangkat lunak memberikan respon masukan dari pemakai.
4)
Merancang dialog sampai menghasilkan keadaan akhir. Serangkaian aksi harus diorganisasikan kedalam kelompokkelompok yang memiliki awalan, pertengahan, dan akhiran. Umpan balik yang informatif pada penyelesaian dari sebuah kelompok aksi memberikan pengguna kepuasan. Umpan balik tersebut merupakan sebuah indikasi bahwa langkah selanjutnya telah siap untuk memasuki kelompok berikutnya.
5)
Menyediakan penanganan kesalahan yang sederhana. Pemakai tetap dapat membuat kesalahan meskipun dengan penggunaan desain interface yang terbaik. Kesalahan ini dapat secara fisik (secara tidak sengaja menunjuk ke perintah dan data yang salah) dan secara non fisik (membuat keputusan yang salah mengenai perintah dan data yang dipilih). Maka sistem didesain sedemikian rupa agar pengguna tidak membuat kesalahan yang serius. Jika terjadi kesalahan sistem harus bisa mendeteksi dengan
28
menawarkan mekanisme penanganan yang sederhana dan mudah dimengerti. 6)
Pembalikan aksi (undo) dapat dilakukan dengan mudah. Sedapat mungkin aksi harus dapat dibalik. Hal ini dapat mengurangi, menghilangkan kecemasan karena pengguna tahu bahwa pada saat terjadi kesalahan, pengguna dapat membalik ke keadaan sebelumnya. Sehingga mendorong pengguna untuk mengeksplorasi menu-menu yang tidak biasa.
7)
Mendukung pengontrolan secara internal (support internal locus of control ) Pengguna yang berpengalaman sangat menginginkan perasaan bahwa mereka berkuasa atas sistem dan sistem pun menanggapi aksi mereka.
8)
Mengurangi beban ingatan jangka pendek. Manusia mempunyai keterbatasan dalam menghafal. Maka tampilan sebaiknya dibuat sederhana, tampilan informasi dikelompokkan, frekuensi gerakan window dikurangi, sehingga memudahkan pengguna dalam mengingat.
2.5.4 10 kesalahan utama pada website Ada beberapa hal yang harus dihindari dalam merancang suatu website. Berikut ini ada 10 kesalahan utama dalam desain website yaitu :
29
1. penggunaan frame 2. penggunaan teknologi baru dengan sembarangan. 3. Gerakan teks dan animasi yang berjalan terus. 4. URL yang kompleks. 5. Halaman yatim. 6. Halaman
yang
gulungannya
terlalu
panjang.
Isi
terpenting dari suatu halaman dan navigasi harus tampak di bagian atas. 7. Kurangnya dukungan navigasi 8. Warna link yang standar. 9. Informasi yang sudah basi. 10. Waktu download dan loading yang lama. Pemakai akan kehilangan minat dalam 10 – 15 menit. 2.6 Internet ( International Networking ) 2.6.1
Pengertian Internet ( International Networking ) Internet (international networking) adalah sebuah jaringan komputer
yang sangat besar yang terdiri dari jaringan-jaringan kecil yang saling terhubung yang menjangkau seluruh dunia (Oetomo, 2001, p10). Menurut (Hahn 1996, p2-p12) internet adalah sistem jaringan komputer yang meluas ke seluruh dunia yang terdiri atas jaringan dan tipe komputer yang saling berhubungan. Internet merupakan sistem komunikasi global yang menghubungkan komputer-komputer dan jaringan-jaringan komputer di seluruh
30 dunia. Seluruh informasi dari internet dapat diakses oleh pengguna atau pemakai selama hal itu mendapat ijin. 2.6.2
WWW ( World Wide Web ) Menurut (Harley 1996, p12), World Wide Web atau yang sering disebut
juga sebagai web, WWW, dan W3, adalah ruang informasi di internet tempat dokumen hypermedia disimpan dan dapat diambil melalui suatu skema alamat yang unik Suatu layanan internet yang memberikan kemudahan bagi pengguna dalam mencari informasi, yang bisa diakses di manapun dan kapanpun di seluruh dunia dengan menggunakan Uniform Resource Locator (URL). Informasi yang diperoleh bisa dalam bentuk yang beraneka ragam, meliputi grafik, teks, dokumen, video klip, dan program (Norton dan Goodman, 1999, p719). Karena itu, dengan WWW maka pertukaran data di internet menjadi mudah dan efisien , terdiri dari dua komponen dasar : a.
Server Web, yaitu sebuah komputer dan perangkat lunak yang menyimpan dan mendistribusikan data ke komputer lainnya (yang meminta informasi) melalui internet.
b.
Browser Web, yaitu perangkat lunak yang dijalankan pada komputer pemakai (client) yang meminta informasi dari server web dan menampilkannya sesuai dengan file data itu sendiri (Ellsworth dan Ellsworth, 1997, p4). WWW sering juga disebut dengan web. Web menyediakan akses yang mudah pada berbagai informasi yang ditemukan di internet menurut (Nickerson 2001, p189), web adalah sistem hypertext yang berarti informasi yang terdapat pada web saling terhubung sehingga
31 pengguna dapat dengan mudah berpindah dari informasi pada halaman yang satu ke halaman yang lain dengan menggunakan browser. Dalam penerapannya WWW mempunyai beberapa komponen sebagai berikut: a. HTML (Hypertext MarkUp Language) Menurut Ellsworth dan Ellsworth (1997, p37) HTML (Hypertext Markup Language) merupakan sistem yang digunakan untuk menciptakan halaman dan dokumen yang disajikan pada web. HTML digunakan untuk membangun sebuah halaman web. Sekalipun banyak orang menyebut sebagai bahasa pemrograman, HTML sebenarnya sama sekali bukan bahasa pemrograman, karena seperti tercermin dari namanya HTML adalah suatu bahasa mark up (penandaan) HTML digunakan untuk melakukan mark up terhadap sebuah dokumen teks. Tanda tersebut digunakan untuk menentukan format dari teks yang ditandai (Kurniawan, 2000, p7). b. HTTP (Hypertext Transfer Protocol) Internet beroperasi menggunakan satu set protokol yang mengatur dan mengarahkan data dalam jaringan, yang disebut TCP/IP. Protokol HTTP digunakan oleh WWW untuk transfer dan memproses file HTML. c. URL (Uniform Resource Locator) URL terdiri dari tiga komponen. Bagian pertama URL (bagian sebelum kedua slash) menentukan tool atau metode akses internet, seperti gopher, telnet atau FTP dan HTTP yang merupakan metode akses yang paling banyak digunakan. Setelah tanda titik dua (‘:’), terdapat dua garis miring yang
32 menunjukkan bahwa yang mengikutinya adalah alamat mesin. Di dalamnya terdapat spesifikasi port, ditunjukkan oleh tanda titik dua dan angka. Setelah alamat situs pada URL, terdapat tanda garis miring dan daftar direktori file atau sumber daya lain. URL menunjuk satu “titik” di internet. URL menetapkan protokol transfer, lokasi mesin secara tepat, letak file di dalam mesin dan dokumen nama yang harus di-load (Ellsworth dan Ellsworth, 1997, p42) .
2.7
Object Oriented Programming Pemrograman berorientasi objek (object-oriented programming disingkat OOP)
merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya. Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat. Ada 3 (tiga) teknik/konsep dasar dalam OOP, yaitu pemodulan (encapsulation), penurunan (inheritance) dan polymorphism. a. Pemodulan (Encapsulation) Encapsulation merupakan penyembunyian data atau data hiding, sehingga user tidak bisa melihat proses data tersebut.
33 b. Penurunan (Inheritance) Inheritance merupakan penurunan data, atribut dan action bisa diturunkan ke kelas turunannya, sehingga kelas turunan dapat mempunyai sifat-sifat dari kelas induk. c. Polymorphism Polymorphism adalah mendefinisikan lebih dari satu method dengan nama yang sama. Pembedaan antara method tersebut berdasarkan jumlah dan jenis parameter yang didefinisikan untuk tiap method tersebut. Polymorphism dapat dibangun dengan menerapkan overriding method. Istilah ini digunakan untuk menunjukkan pada pendefinisian ulang method yang sebelumnya telah terdefinisi pada base classnya.
2.8
Basis Data Menurut Connoly, Thomas, Begg, Caroline (2002, p14), Database atau basis
data merupakan suatu sebaran data yang berhubungan secara logis antara satu dengan yang lain dan penjelasan dari suatu data dirancang untuk menghasilkan suatu informasi yang berguna bagi suatu organisasi.
2.8.1 Database Management System (DBMS) Menurut Connoly, Thomas, Begg, Caroline (2002, p16), DBMS adalah suatu sistem software yang memudahakan kita untuk melakukan pendefinisian, menciptakan, memelihara, dan mengawasi akses suatu basis data.
34
2.8.2 Komponen dalam lingkungan DBMS Terdapat lima komponen utama, yang saling mendukung satu dengan yang lainnya, yang terdapat dalam lingkungan DBMS. Kelima komponen tersebut adalah sebagai berikut : - Hardware DBMS dan aplikasinya membutuhkan suatu hardware untuk membantu proses yang dilakukan. Hardware tersebut dapat dikategorikan dari komputer personal, sampai pada sebuah komputer mainframe, lalu pada jaringan komputer. Hardware tersebut bergantung pada tiap organisasi yang bersangkutan demi memenuhi kebutuhannya dan DBMS yang dibutuhkan. Beberapa DBMS ada yang hanya berjalan di satu sistem operasi ataupun pada pada hardware tertentu, tetapi ada juga DBMS yang dapat diproses pada hardware dan sistem operasi yang umum. Sebuah DBMS memerlukan jumlah minimum dari memori utama dan ruangan dalam disk untuk selanjutnya dapat dijalankan,tetapi mungkin dengan konfigurasi minimum yang demikian tidak memberikan hasil yang dapat diterima dengan baik kemudian.
- Software Komponen suatu software berbanding dengan software DBMS itu sendiri dan program-program aplikasinya, bersama dengan sistem operasinya, termasuk jaringan dari software jika DBMS tersebut, digunakan dalam suatu jaringan. Pada umumnya, program-program aplikasi ditulis dalam third-generation programming language (3GL), seperti C, C++, Java, Visual Basic, COBOL,
35 Fortran, Ada, atau Pascal, atau dengan menggunakan fourth-generation programming language (4GL), seperti SQL, yang menyatu dengan 3GL. Target dari DBMS mungkin sudah memiliki alat bantu dari 4GL itu sendiri yang memungkinkan pembangunan secara cepat dari aplikasi-aplikasi melalui non-procedural queruy languages, reports generators, form generators, graphic generators, dan application generators yang tersedia. - Data Data merupakan komponen terpenting dalam lingkungan DBMS. Dengan data, dapat menggabungkan sistem katalog yang ada. - Prosedur Prosedur yang ada menunjuk kepada instruksi-instruksi dan aturan-aturan yang mengatur rancangan dan manfaat dari basis data. Pengguna dari sistem yang ada dan staf yang mengatur basis data yang dilengkapi dengan prosedur yang telah didokumantasikan untuk memenuhi keterangan bagaimana cara menggunakan atau menjalankan sistem tersebut. - Manusia Komponen terakhir dari lingkungan DBMS adalah manusia yang terlibat dengan pemrosesan sistem.
2.8.3 Normalisasi Menurut Petroutsos (2002, p71), ada beberapa aturan dalam perancangan basis data, yang disebut dengan aturan normalisasi. Aturan-aturan ini akan merancang basis data yang normal, atau setidaknya memverifikasi rancangan.
36 Basis data dianggap normal jika basis data tersebut tidak mengulang data (data redudancy) atau tidak menimbulkan keanehan pada proses update, delete, atau insert. Proses pembentukan tabel normal (normalisasi) bertujuan untuk : 1.
Membuat sekecil mungkin terjadinya data rangkap.
2.
Menghindarkan adanya data yang tidak konsisten terutama bila dilakukan penghapusan atau penambahan data sebagai akibat adanya data rangkap.
3.
Menjamin
bahwa
identitas
tabel
secara
tunggal
sebagai
determinan semua atribut. Proses normalisasi tabel secara detail dibagi menjadi lima tahap sehingga dikenal bentuk – bentuk tabel normal sesuai dengan tahapan normalisasi yang telah dilakukan yaitu bentuk normal pertama, kedua, ketiga, Boyce-Codd, keempat dan kelima. 1.
Bentuk Normal Pertama (First Normal Form/1NF) Aturan bentuk normal pertama (1NF) menurut Connolly dan Begg (2002, p388), “A relation in which the intersection of each row and column contains one and only one value”, yang dapat diartikan, “sebuah relasi dimana tiap baris dan kolom hanya berisi satu nilai”. Bentuk normal pertama dicapai bila tiap nilai atribut adalah tunggal. Kondisi ini dapat diperoleh dengan melakukan eliminasi terjadinya data ganda (repeating groups). Pada kondisi normal pertama ini kemungkinan masih terjadi adanya data rangkap.
2.
Bentuk Normal Kedua (Second Normal Form/2NF)
37 Aturan bentuk normal kedua (2NF) menurut Connolly dan Begg (2002, p392), “A relation that is in first normal form and every nonprimary key atributte is fully function dependent on the primary key”, yang dapat diartikan, “sebuah relasi dalam bentuk normal pertama dan setiap atribut bukan primary key bergantung secara fungsional terhadap primary key”. Bentuk
normal
kedua
adalah
berdasarkan
konsep
ketergantungan fungsional penuh (full functional dependency). Full functional dependency dinyatakan dengan jika A dan B adalah atribut dari suatu relasi (relation), B adalah fungsional ketergantungan penuh (full functional dependency) pada A jika B adalah secara fungsional bergantung pada A, tetapi bukan merupakan himpunan bagian dari A. Bentuk normal kedua menciptakan sebuah relasi pada bentuk normal pertama dan semua atribut yang bukan primary key adalah fungsional tergantung penuh terhadap primary key.
3.
Bentuk Normal Ketiga (Third Normal Form/3NF) Aturan bentuk normal ketiga (3NF) menurut Connolly dan Begg (2002, p394), “A relation that is in first and second normal form, and in which none primary key atributte is transitively dependent on the primary key”, yang dapat diartikan, “sebuah relasi dalam bentuk normal pertama dan kedua dan semua atribut bukan primary key yang bergantung secara transitif kepada primary key”.
38 Bentuk normal ketiga berdasarkan pada konsep peralihan ketergantungan (transitive dependency). Transitive dependency adalah sebuah kondisi dimana A,B dan C adalah atribut dari sebuah relasi bahwa jika A
B dan B
C, maka C adalah transitive dependency terhadap A
melewati B (menyatakan bahwa A bukan functional dependent pada B atau C). Pada bentuk normal ketiga, sebuah relasi pada bentuk normal pertama dan kedua, dimana tidak ada atribut non-primary key bergantung secara transitif (transitively dependency) pada primary key.
4.
Bentuk Normal Boyce-Codd (Boyce-Codd Normal Form/BCNF) Aturan bentuk normal Boyce-Codd (BCNF) menurut Connolly dan Begg (2002, p398), “A relation is in BCNF, if and only if, every determinant is a candidate key”, yang dapat diartikan, “sebuah relasi disebut BCNF, jika dan hanya jika setiap determinannya adalah sebuah candidate key”. Untuk menguji apakah suatu relasi sudah BCNF, dilakukan identifikasi semua determinan dan memastikan bahwa determinan tersebut adalah candidate key. Determinan dalah sebuah atribut, atau kumpulan atribut, dimana beberapa atribut yang lain masih bergantung secara fungsional penuh (fully functionally dependent). Perbedaan antara 3NF dan BCNF dalam hal functional dependency. A
B, 3NF mengijinkan ketergantungan ini dalam sebuah
relasi jika B adalah atribut primary key dan A bukan candidate key.
39 Sedangkan dalam BCNF ketergantungan ini tetap ada adalam sebuah relasi, dimana A harus sebuah candidate key.
5.
Bentuk Normal Keempat (Fourth Normal Form/4NF) Aturan bentuk normal keempat (4NF) menurut Connolly dan Begg (2002, p407-408), “A relation that is in Boyce-Codd Normal Form and contains no nontrivial multi-valued dependencies”, yang dapat diartikan, “sebuah relasi dalam Boyce-Codd normal form (BCNF) dan tidak mengandung ketergantungan multi value nontrivial (nontrivial multi-valued dependencies)”. Bentuk normal keempat (4NF) merupakan bentuk yang lebih kuat dari BCNF dimana 4NF mencegah relasi dari nontrivial multi-valued dependency dan data redudancy. Normalisasi dari BCNF ke 4NF meliputi pemindahan multi-valued dependency dari relasi dengan menempatkan atribut dalam sebuah relasi baru bersama dengan determinan. Multi-valued
dependency
(MVD)
menggambarkan
ketergantungan antara atribut-atribut dalam suatu realasi.
6.
Bentuk Normal Kelima (Fifth Normal Form/5NF) Aturan bentuk normal kelima (5NF) menurut Connolly dan Begg (2002, p410), “A relation that has no join dependency”, yang dapat diartikan, “sebuah relasi yang tidak mempunyai ketergantungan gabungan (join dependency)”.
40 Join dependency menggambarkan sebuah tipe ketergantungan. Sebagai contoh, untuk sebuah relasi R dengan subset – subset atribut dari R, yang dimisalkan dengan A,B,….,Z, sebuah relasi R menunjukkan join dependency, jika dan hanya jika, setiap nilai dari R sama dengan gabungan dari proyeksi - proyeksinya pada A,B,...,Z.
2.9
Software Pendukung 2.9.1 Bahasa Pemoggraman PHP Menurut Sunyoto, Andi (2007, p120), PHP adalah widely-used generalpurpose scripting language yang dikhususkan untuk Web development dan dapat diperpanjang kedalam HTML. PHP dijalankan dalam web server, mengambil PHP code sebagai input dan membuat web page sebagai output. Bagaimanapun juga, PHP juga dapat digunakan untuk script command-line dan applikasi clientside GUI. PHP dapat dikembangkan di banyak web server dan hampir setiap operating system dan platform gratis. PHP Group juga menyediakan source code yang lengkap untuk user untuk membuat, customize dan melanjutkan yang mereka gunakan. PHP bekerja sebagai filter. Program PHP mengambil input dari sebuah file atau text dan special PHP instruction dan mengeluarkan tampilan data yang lain. Dari PHP 4, input PHP parser compiles memproduksi bytecode untuk diproses oleh Zend Engine, memberikan peningkatan performance selama interpreter predecessor. PHP 5 menggunakan Zend Engine II.
41 2.9.2
My Sql Menurut Sunyoto, Andi (2007, p145), MySQL adalah salah satu
database server open source yang popular. Sebuah database mendefinisikan struktur untuk menyimpan informasi. Dalam database ada beberapa tabel dan tabel pada HTML, sebuah tabel berisi baris, kolom dan cell. Sebuah database biasanya berisi lebih dari satu tabel dan mempunyai nama. Masing-masing tabel berisi baris dan data 2.9.3
Java Sricpt Javascript adalah suatu bahasa yang dikembangkan oleh Netscape yang
memungkinkan pembuat situs mendesain situs yang interaktif dan dapat digunakan seseorang tanpa harus membeli lisensi. Walaupun sering dianggap berhubungan dengan bahasa Java, Javascript secara umum tidak mempunyai banyak persamaan dengan Java. Walaupun berbagi sebagian filosofi dan struktur dengan bahasa Java, Javascript dikembangkan secara terpisah dan murni merupakan sebuah bahasa terjemahan. Kodenya di-embed dan dapat saling berhubungan dengan program HTML, memungkinkan pembuat situs untuk menghidupkan situs mereka dengan isi yang dinamis. (Chaudry, 2002, p294-295)
2.10
Electronik Learning (e-Learning) 2.10.1 Pengertian E-Learning E-Learning adalah sebuah kegiatan pelatihan yang menggunakan media komputer dan panduan elektronik yang dirancang oleh "contents writer", designer e-learning dan pemrogram komputer. (http://id.wikipedia.org/wiki/Pembelajaran_elektronik)
42 Pada dasarnya e-learning mempunyai 2 tipe yaitu : 1. Synchronous Synchronous berarti pada waktu yang sama. Jadi tipe pelatihan ini adalah proses pembelajaran yang terjadi pada saat yang sama ketika pengajar sedang mengajar dan murid sedang belajar. 2. Asynchronous. Asynchronous berarti pada waktu yang tidak sama. Merupakan tipe pelatihan yang terpimpin, dimana pengajar memberikan pengajaran lewat internet dan peserta mengakses materi pada waktu yang berlainan.
2.10.2 Keuntungan e-Learning Beberapa keuntungan dari E-Learning adalah sebagai berikut (Turban, 2004, p359) : •
Penyingkatan waktu.
•
Keanekaragaman dan jumlah besar. E-Learning dapat menyediakan pelatihan untuk pekerja dalam jumlah besar dengan latar belakang budaya dan tingkat pendidikan yang beraneka ragam walaupun mereka berada pada tempat yang berbeda dalam waktu yang berbeda.
•
Penghematan biaya. Suatu pembelajaran melaporkan bahwa biaya untuk menyediakan suatu pengalaman belajar dapat dikurangi lima puluh sampai tujuh puluh persen ketika pengajar – pengajar di ruangan kelas diganti dengan E-Learning.
43 •
Penyimpanan isi yang lebih tingi. Siswa – siswa E-Learning biasanya berinisiatif dengan bergerak sendiri. Motif mereka untuk mendapatkan pengetahuan lebih mungkin untuk memperluas pandangan mereka atau mengembangkan keterampilan karir. Hal ini berpengaruh pada penyimpanan isi yang dapat menjadi dua puluh lima sampai enam puluh persen lebih tinggi daripada pelatihan pengajar.
•
Kemampuan untuk berubah. Pengguna E-Learning dapat mengatur waktu, tempat, isi, dan kecepatan belajar berdasarkan jadwal pribadi mereka sendiri. Sebagai contoh, jika perlu, mereka dapat mempelajari kembali materi pelajaran sebelumnya tanpa mengganggu kegiatan belajar siswa lainnya.
•
Bahan konsisten dan diperbarui. Hampir tidak mungkin untuk memperbarui informasi dalam buku bacaan lebih sering dari setiap dua sampai tiga tahun. E-Learning dapat menawarkan akses saat itu juga terhadap informasi. E-Learning memiliki lima puluh sampai enam puluh persen lebih baik konsistensi bahan yang dipresentasikan daripada pembelajaran di kelas karena variasi manusia (dari guru – guru) dihilangkan.
•
Lingkungan yang bebas dari perasaan takut. E-Learning dapat memudahkan pembelajaran bagi siswa – siswa yang tidak dapat mungkin berharap untuk mengikuti grup diskusi tatap muka atau berpartisipasi dalam ruangan kelas. Kelakuan seperti ini biasanya dihuungkan dengan keengganan mereka untuk memaparkan kekurangan mereka akan
44 informasi kepada masyarakat umum. E-Learning dapat menyediakan lingkungan yang bebas rasa takut dan dilindungi kebebasannya yang mana siswa dapat menyatakan pendapat – pendapat mereka tanpa takut kelihatan bodoh jika salah.
2.10.3 Learning Management System (LMS) Ada dua bagian utama e-learning, yaitu learning management system dan e-learning content atau materi pelajaran e-learning yang akan dipelajari oleh pemakai. Kita akan membahas content pada bagian selanjutnya. Learning Management System (LMS) adalah sistem yang membantu administrasi dan berfungsi sebagai platform e-learning content.LMS juga dipakai sebagai sistem yang mengatur e-learning content atau mata pelajaran e-learning. (Effendy, 2005, p85). Menurut (Effendy, 2005, p85).Beberapa fungsi dasar LMS adalah 1.
Katalog LMS yang baik harus menunjukkan materi pelatihan yang dimiliki.Katalog yang baik harus memiliki informasi yang lengkap mengenai suatu pelajaran, meliputi judul, tujuan cakupan atau outline, durasi, target pelajar, tanggal tersedia, materi pendahuluan, tes yang harus diikuti dan lain sebagainya.
2. Registrasi dan persetujuan Fungsi
ini
memungkinkan
seseorang
calon
peserta
pelatihan
mendaftarkan diri secara online.LMS yang baik dapat pula menyimpan
45 data pendaftaran dan persetujuan untuk membantu departemen pelatihan dalam memonitor kegiatan e-learning . 3. Menjalankan dan memonitor e-learning LMS harus dapat menjalankan materi e-learning dengan baik dan LMS harus mempunyai kemampuan untuk merekam kegiatan agar dapat membuat laporannya. 4. Evaluasi LMS yang baik pun harus dapat melakukan bermacam evaluasi yang dapat mengukur keahlian peserta pelatihan sebelum dan sesudah mengikuti latihan. 5. Komunikasi LMS berguna
pula sebagai sarana komunikasi bagi
departemen
pelatihan dan anggota organisasi.Pengajar dapat pula memasukkan atau meng-upload
sebuah artikel yang ditujukan pada beberapa pelajar
tertentu dan LMS dapat menginformasikannya klepada mereka agar mengakses dan men-download artikel melalui LMS. 6. Laporan Melalui LMS, para administrator pelatian dapat memperoleh laporan berisi data pelatihan. Atasan dan manajemen harus dapat mengakses sistem dan mencetak laporan secara langsung. 7. Rencana pelatihan Seorang manajer dapat membuat rencana karyawan mengenai analisa kebutuhan training 8.
Integrasi
46 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.
2.10.4 Learning Content Management System (LCMS) LCMS adalah sistem yang fungsi utamanya menyusun dan mengatur materi atau e-learning content. Jadi dalam LCMS pengembang materi e-learning dapat menciptakan storyboard, menggabungkan materi, mengubah isi materi dan lain sebagainya. Ia dapat cepat mencipatakan materi e-learning baru hanya dengan menggabungkan materi e-Learning dalam LCMS. Bagian e-learning yang dapat di gabung-gabungkan disebut learning object atau reuseable learning object. (Effendy, 2005, p91). LCMS berfungsi pula mengurus administrasi pelatihan sama seperti LMS. Walaupun banyak yang berpendapat bahwa LCMS adalah langkah selanjutnya dari LMS, akan tetapi LCMS dan LMS memiliki perbedaan. Fungsi LMS lebih terfokus pada proses pembelajaran, sedangkan LCMS adalah pembuatan materi atau content. Michael Brennan dari perusahaan konsulting IDC menyatakan bahwa LCMS dan LMS berbeda satu sama lain akan tetapi saling
mendukung.
menggunakan
materi
LMS
dapat
e-learning
mengatur yang
komunitas
disimpan
dan
pelajara dikelola
dalam oleh
LCMS.Kemudian LCMS memberikan data-data mengenai proses pembelajaran pelajar kepada LMS untuk disimpan
47 Menurut (Surendro, 2005, p47) terdapat beberapa komponen LCMS adalah sebagai berikut: 1. Learning object Repository Learning object repository adalah sebuah database di mana materi pembelajaran disimpan dan dikelola. Objek pembelajaran yang sama dapat digunakan untuk beberapa kali dan untuk beberapa tujuan yang sesuai. 2. Automated Authoring Application Aplikasi ini digunakan untuk membuat objek pembelajaran yang dapat digunakan kembali(reuseable) yang dapat diakses dari repository.Aplikasi ini memungkinkan author untuk menggunakan objek pembelajaran baru atau menggunakan kombinasi antara kedua objek pembelajaran tersebut.Proses authoring dilakukan secara otomatis dengan template, wizard dan productivity tools lainnya sehingga memungkinkan author untuk membuat objek pembelajaran yang reuseable secara efisien. Author adalah mereka yang mempunyai pengetahuan khusus, tetapi tidak mempunyai keahlian dalam bidang pemrograman, desainer grafis/instruksional. 3. Dinamic Delivery Interface Untuk memberikan objek pembelajaran yang sesuai dengan profil siswa, hasil evaluasi atau informasi siswa lainnya, dibutuhkan sebuah dinamic delivery interface. Komponen ini juga menyediakan user tracking, link ke sumber informasi yang berhubungan dan juga mendukung tipe penilaian yang beragam dengan umpan balik dari siswa.
48 4. Administrative Application Aplikasi ini digunakan untuk mengelola rapor siswa, mengamati dan melaporkan kemajuan siswa dan juga menyediakan fungsi administratif dasar lainnya.