BAB 2 LANDASAN TEORI
2.1
Pengertian E-Application Menurut Commerchero, Matt (2006, p30) E-application adalah sebuah aplikasi komputer berbasis jaringan yang di desain untuk menangani aktivitasaktivitas yang ada di dalam dunia pararel. Aplikasi ini berjalan di dalam lingkungan dunia jaringan. Untuk dapat menangani aktivitas virtual yang ada, aplikasi
ini
harus
mengerti
karakteristik
dari
dunia
yang
sedang
dipresentasikannya.
2.2
Analisis dan Perancangan Aplikasi 2.2.1
Pengertian Analisis Menurut Jogiyanto (1999, p129) analisis dapat didefinisikan sebagai penguraian dari sistem informasi yang utuh ke dalam bagian-bagian komponennya dengan maksud untuk mengidentifikasikan dan mengevaluasi permasalahan, kesempatan, hambatan yang terjadi dan kebutuhan yang diharapkan sehingga dapat diusulkan perbaikannya.
2.2.2
Pengertian Perancangan Menurut Jogiyanto (1999, p179) perancangan memiliki 2 maksud, yaitu : untuk memenuhi kebutuhan kepada pemakai sistem dan untuk memberikan gambaran yang jelas kepada pemrogram komputer dan ahli-ahli teknik 7
8
lainnya yang terlibat. Ada 3 atribut yang penting dalam proses perancangan, yaitu : struktur data, arsitektur perangkat lunak, dan prosedur rinci.
2.2.3
Pengertian Aplikasi Aplikasi merupakan program yang dibuat untuk melaksanakan suatu fungsi bagi pengguna atau aplikasi yang lain. Contoh aplikasi adalah program pemroses kata dan web browser.
2.3
Internet 2.3.1 Pengertian Internet Internet adalah jaringan komputer yang saling terhubung secara global yang memungkinkan pengguna internet saling bertukar informasi/data melalui jaringan tersebut. Internet adalah sistem komunikasi data berskala global, suatu infrastruktur yang terdiri dari hardware dan software yang menghubungkan komputer yang berada di jaringannya.
9
Gambar 2.1 Internet Dalam mengatur integrasi dan komunikasi jaringan komputer ini menggunakan protokol yaitu TCP/IP. TCP (Transmission Control Protocol) bertugas untuk memastikan bahwa semua hubungan bekerja dengan benar, sedangkan IP (Internet Protocol) yang mentransmisikan data dari satu komputer ke komputer lain. TPC/IP secara umum berfungsi memilih rute terbaik transmisi data, memilih rute alternatif jika suatu rute tidak dapat di gunakan, mengatur dan mengirimkan paket-paket pengiriman data. Untuk dapat ikut serta menggunakan fasilitas Internet, Anda harus berlangganan ke salah satu ISP (Internet Service Provider) yang ada dan melayani daerah Anda. ISP ini biasanya disebut penyelenggara jasa internet. Anda bisa menggunakan fasilitas dari Telkom seperti Telkomnet Instan, speedy dan juga layanan ISP lain seperti first media, netzip dan sebagainya.
10
Internet memberikan banyak sekali manfaat, ada yang bisa memberikan manfaat baik dan buruk. Baik bila digunakan untuk pembelajaran informasi dan buruk bila digunakan untuk hal yang berbau pornografi, informasi kekerasan, dan lain-lainnya yang negatif. Internet ini memungkinkan pengguna komputer di seluruh dunia untuk saling berkomunikasi dan berbagi informasi dengan cara saling mengirimkan email, menghubungkan komputer satu ke ke komputer yang lain, mengirim dan menerima file dalam bentuk text, audio, video, membahas topik tertentu pada newsgroup, website social networking dan lain-lain. (http://radensomad.com/apa-itu-internet-sejarah-danpengertian-internet.html dan http://www.sejarah-internet.com/pengertian-internet/)
2.3.2 Domain Domain banyak sekali yang mendefinisikan dengan berbeda beda, ada yang mengatakan bahwa domain adalah serangkaian huruf yang membentuk kata yang memiliki arti yang di pakai sebagai alamat sebuah website di internet disebut nama domain. Domain adalah sebuah alamat utama yang dalam bahasa internet disebut sebagai top level domain. Lebih mudahnya di dalam kehidupan sehari-hari domain adalah bangunan atau gedung sebuah warung, toko, mini market, waserda atau lainnya yang berbentuk bangunan. Nah tentulah setiap domain yang saya umpamakan sebakai toko pastilah mempunyai sebuah nama dan alamat yakni domain name. Pemilik domain name tadi ada didalam domain itu. Semua orang tidak pernah tahu, sedang apa pemilik domain tadi. Sedang tidur,
11
sedang bersih-bersih, sedang dekorasi atau sedang melakukan kegiatan lainnya. Masyarakat luar tidak mengetahui domain seseorang berisi apa sebelum masyarakat tersebut masuk ke domain name tersebut atau bangunan itu dan melihat atau membaca isinya. Untuk memperkenalkan domain name ke masyarakat luas untuk mengetahui apa isi di dalam domain tadi diperlukan pembukaan, persesmian yang dalam bahasa internet disebut web hosting. Contoh nama domain http://www.ilmukomputer.com/ maka isi didalam domain tersebut sebaiknya membahas segala sesuatu yang berhubungan dengan ilmu komputer. Namun ada juga yang nama domain berfungsi untuk memperkenalkan merek
atau
brand
sebuah
usaha
http://www.rijickcipta.com,
atau
produk
seperti
http://www.google.co.id,
http://www.yahoo.co.id. Nama domain “RIJICKCIPTA, “GOOGLE” atau “YAHOO” adalah mencerminkan nama perusahaannya, bukan nama produk atau isi domain tersebut. Nama domain dari sebuah situs/website adalah tunggal (hanya ada satu di dunia ini), jadi tidak mungkin ada nama domain yang sama/kembar. Kalau pemilik http://www.rijickcipta.com adalah Syaiful Thohir, maka tidak mungkin ada orang lain di dunia ini yang memiliki nama domain sama seperti
milik
Syaiful
Thohir
dengan
nama
domain
http://www.rijickcipta.com. Maka sebaiknya memilih atau memberi nama domain itu yang mudah diingat dan singkat.
12
Seperti penjelasan diatas “DOMAIN” ibarat bangunan warung, toko atau lainnya. Dan “NAMA DOMAIN” adalah merek atau nama warung, toko atau lainnya. Maka perlu ada isi, biasa disebut content sebuah website atau situs. Content dapat berisi tulisan, gambar atau foto, suara atau audio, dan video. Format dari masing masing content pun bermacam-macam. Untuk content tulisan atau naskah ada txt, html, php, doc, csv. Untuk content gambar ada gif, jpg, bmp, swf, png. Untuk content suara ada wav, mp3. Untuk video ada avi, mav, mp4. Format mana yang seharusnya dipilih, pilihlah berdasarkan besar file, ketajaman gambar, banyaknya opsi yang dapat dipilih dsb. (http://www.rijickcipta.com/domain)
2.3.3 Hosting Berasal
dari
kata
host.
Komputer
yang
terhubung
dalam
jaringan.
Memanfaatkan fasilitas yang tersedia dalam suatu komputer yang terhubung dengan jaringan. Layanan internet untuk penempatan informasi-informasi baik untuk halaman-halaman web, peyimpanan email, dan database. Untuk sederhananya, anggaplah layanan ini sebagai solusi untuk menempatkan halaman-halaman web anda agar selalu online. Dengan demikian, kita tidak perlu menyediakan satu komputer khusus yang selalu online di kantor atau di rumah anda, melainkan cukup dengan bekerjasama dengan penyedia jasa hosting ini. Ada beberapa jenis layanan hosting yaitu shared hosting, VPS atau Virtual Dedicated Server, dedicated server, colocation server. 1. Shared Hosting adalah menggunakan server hosting bersama sama dengan pengguna lain satu server dipergunakan oleh lebih dari satu nama domain.
13 Artinya dalam satu server tersebut terdapat beberapa account yang dibedakan antara account satu dan lainnya dengan username dan password. 2. VPS, Virtual Private Server, atau juga dikenal sebagai Virtual Dedicated Server merupakan proses virtualisasi dari lingkungan software sistem operasi yang dipergunakan oleh server. Karena lingkungan ini merupakan lingkungan virtual, hal tersebut memungkinkan untuk menginstall sistem operasi yang dapat berjalan diatas sistem operasi lain. 3. Dedicated Server adalah penggunaan server yang dikhususkan untuk aplikasi yang lebih besar dan tidak bisa dioperasikan dalam shared hosting atau virtual dedicated server. Dalam hal ini, penyediaan server ditanggung oleh perusahaan hosting yang biasanya bekerja sama dengan vendor. 4. Colocation Server adalah layanan penyewaan tempat untuk meletakkan server yang dipergunakan untuk hosting. Server disediakan oleh pelanggan yang biasanya bekerja sama dengan vendor. (http://www.total.or.id/info.php?kk=Hosting
dan http://bloggingly.com/apa-itu-
hosting/)
2.3.4 IP Class Dalam IP address dikenal 5 kelas yakni kelas A, kelas B, kelas C, kelas D dan kelas E. Semua itu didesain untuk kebutuhan jenis-jenis organisasi.
14
Gambar 2.2 Class IP Address a. Kelas A Jika bit pertama dari IP Address adalah 0, address merupakan network kelas A. Bit ini dan 7 bit berikutnya (8 bit pertama) merupakan bit network sedangkan 24 bit terakhir merupakan bit host. Dengan demikian hanya ada 128 network kelas A, yakni dari nomor 0.xxx.xxx.xxx sampai 127.xxx.xxx.xxx, tetapi setiap network dapat menampung lebih dari 16 juta (256^3) host (xxx adalah variabel, nilainya dari 0 s/d 255). Ilustrasinya dapat dilihat pada gambar berikut.
Gambar 2.3 Struktur IP Class A b. Kelas B Jika 2 bit pertama dari IP Address adalah 10, address merupakan network kelas B. Dua bit ini dan 14 bit berikutnya (16 bit pertama) merupakan bit
15 network sedangkan 16 bit terakhir merupakan bit host. Dengan demikian terdapat lebih dari 16 ribu network kelas B (64 x 256), yakni dari network 128.0.xxx.xxx – 191.255.xxx.xxx. Setiap network kelas B mampu menampung lebih dari 65 ribu host (256^2). Ilustrasinya dapat dilihat pada gambar berikut.
Gambar 2.4 Struktur IP Address Class B c. Kelas C Jika 3 bit pertama dari IP Address adalah 110, address merupakan network kelas C. Tiga bit ini dan 21 bit berikutnya (24 bit pertama) merupakan bit network sedangkan 8 bit terakhir merupakan bit host. Dengan demikian terdapat lebih dari 2 juta network kelas C (32 x 256 x 256), yakni dari nomor 192.0.0.xxx sampai 223.255.255.xxx. Setiap network kelas C hanya mampu menampung sekitar 256 host. Ilustrasinya dapat dilihat pada gambar berikut.
Gambar 2.5 Struktur IP Address Class C Selain ke tiga kelas di atas, ada 2 kelas lagi yang ditujukan untuk pemakaian khusus, yakni kelas D dan kelas E.
16 d. Kelas D Khusus kelas D ini digunakan untuk tujuan multicasting. Dalam kelas ini tidak lagi dibahas mengenai netid dan hostid. Jika 4 bit pertama adalah 1110, IP Address merupakan kelas D yang digunakan untuk multicast address, yakni sejumlah komputer yang memakai bersama suatu aplikasi (bedakan dengan pengertian network address yang mengacu kepada sejumlah komputer yang memakai bersama suatu network). Salah satu penggunaan multicast address yang sedang berkembang saat ini di Internet adalah untuk aplikasi real-time video conference yang melibatkan lebih dari dua host (multipoint), menggunakan Multicast Backbone (MBone). e. Kelas E Kelas terakhir adalah kelas E (4 bit pertama adalah 1111 atau sisa dari seluruh kelas). Pemakaiannya dicadangkan untuk kegiatan eksperimental. Juga tidak ada dikenal netid dan hostid di sini. Secara keseluruhan penentuan kelas dapat dilihat di Gambar berikut.
Gambar 2.6 Kelas-Kelas Dengan Menggunakan Notasi Desimal
17
2.3.5 Address Khusus Selain address yang dipergunakan untuk pengenal host, ada beberapa jenis address yang digunakan untuk keperluan khusus dan tidak boleh digunakan untuk pengenal host. Address tersebut adalah : •
Network Address. Address ini digunakan untuk mengenali suatu network pada jaringan Internet. Misalkan untuk host dengan IP Address kelas B 167.205.9.35. Tanpa memakai subnet, network address dari host ini adalah 167.205.0.0. Address ini didapat dengan membuat seluruh bit host pada 2 segmen terakhir menjadi 0. Tujuannya adalah untuk menyederhanakan informasi routing pada Internet. Router cukup melihat network address (167.205) untuk menentukan kemana paket tersebut harus dikirimkan. Contoh untuk kelas C, network address untuk IP address 202.152.1.250 adalah 202.152.1.0. Analogi yang baik untuk menjelaskan fungsi network address ini adalah dalam pengolahan surat pada kantor pos. Petugas penyortir surat pada kantor pos cukup melihat kota tujuan pada alamat surat (tidak perlu membaca seluruh alamat) untuk menentukan jalur mana yang harus ditempuh surat tersebut. Pekerjaan routing surat-surat menjadi lebih cepat. Demikian juga halnya dengan router di Internet pada saat melakukan routing atas paket-paket data.
•
Broadcast Address. Address ini digunakan untuk mengirim/menerima informasi yang harus diketahui oleh seluruh host yang ada pada suatu network. Seperti diketahui, setiap paket IP memiliki header alamat tujuan berupa IP Address dari host yang akan dituju oleh paket tersebut. Dengan adanya alamat ini, maka hanya host tujuan saja yang memproses paket tersebut, sedangkan host lain akan mengabaikannya. Bagaimana jika suatu host ingin mengirim paket kepada seluruh host yang ada pada network-nya? Tidak efisien jika ia harus membuat
18 replikasi paket sebanyak jumlah host tujuan. Pemakaian bandwidth akan meningkat dan beban kerja host pengirim bertambah, padahal isi paket-paket tersebut sama. Oleh karena itu, dibuat konsep broadcast address. Host cukup mengirim ke alamat broadcast, maka seluruh host yang ada pada network akan menerima paket tersebut. Konsekuensinya, seluruh host pada network yang sama harus memiliki address broadcast yang sama dan address tersebut tidak boleh digunakan sebagai IP Address untuk host tertentu. Jadi, sebenarnya setiap host memiliki 2 address untuk menerima paket : pertama adalah IP Address-nya yang bersifat unik dan kedua adalah broadcast address pada network tempat host tersebut berada. Address broadcast diperoleh dengan membuat seluruh bit host pada IP Address menjadi 1. Jadi, untuk host dengan IP address 167.205.9.35 atau 167.205.240.2, broadcast address-nya adalah 167.205.255.255 (2 segmen terakhir dari IP Address tersebut dibuat berharga 11111111.11111111, sehingga secara desimal terbaca 255.255). Jenis informasi yang di-broadcast biasanya adalah informasi routing. •
Netmask. adalah address yang digunakan untuk melakukan masking/filter pada proses pembentukan routing supaya kita cukup memperhatikan beberapa bit saja dari total 32 bit IP Address. Artinya dengan menggunakan netmask tidak perlu kita memperhatikan seluruh (32 bit) IP address untuk menentukan routing, akan tetapi cukup beberapa buah saja dari IP address yg kita perlu perhatikan untuk menentukan kemana paket tersebut dikirim. Beberapa bagian alamat dalam kelas A, B dan C digunakan untuk alamat khusus (lihat tabel berikut). (http://teknik-informatika.com/class-ip/)
19 Tabel 2.1 Alamat Khusus Alamat khusus
Net-ID
Host-ID
Asal atau Tujuan
Alamat network
Spesifik
0 semua
Tidak ada
Alamat broadcast langsung
Spesifik
1 semua
Tujuan
Alamat broadcast terbatas
1 semua
1 semua
Tujuan
Host dalam network/jaringan
0 semua
0 semua
Asal
Host spesifik dalam jaringan
0 semua
Spesifik
Tujuan
Alamat loopback
127
Sembarang
Tujuan
2.4
Rekayasa Piranti Lunak 2.4.1 Pengertian Piranti Lunak Menurut Roger S. Pressman (2005, p36), piranti lunak dapat diartikan sebagai berikut : 1. Suatu instruksi atau perintah dalam suatu program komputer yang jika dieksekusi akan memberikan fungsi dan hasil yang diharapkan. 2. Struktur data yang memungkinkan program dapat memanipulasi data atau informasi. 3. Dokumen yang menjelaskan pengoperasian dan penggunaan dari program.
2.4.2 Pengertian Rekayasa Piranti Lunak Menurut Presman (2001, p21) rekayasa piranti lunak adalah penerapan dan penggunaan prinsip rekayasa dalam rangka mendapatkan
20
piranti lunak ekonomis yang terpercaya dan bekerja efisien dalam mesin komputer. Rekayasa piranti lunak mencakup empat elemen, yaitu : 1. Alat Alat menyediakan dukungan otomatis maupun semi otomatis untuk metode seperti Computer Aided Software Engineering (CASE). CASE menggabungkan perangkat lunak, perangkat keras, dan database rekayasa piranti lunak yang analog dengan CAD/CAE (Computer Aided Design/Engineering) untuk perangkat keras. 2. Metode Metode merupakan cara-cara membangun piranti lunak yang terdiri dari tahap perencanaan dan estimasi proyek, analisis kebutuhan sistem dan piranti lunak, perancangan struktur data, arsitektur program dan prosedur algoritma, pengkodean, pengujian dan pemeliharaan. 3. Prosedur Prosedur adalah mempersatukan metode-metode yang diterapkan, output yang dibutuhkan, kontrol yang membantu jaminan kualitas dan perubahan koordinasi yang memungkinkan pengembangan piranti lunak yang rasional. 4. Fokus kualitas Batu landasan yang menopang rekayasa piranti lunak berfokus kepada fokus kualitas. Fondasi untuk rekayasa piranti lunak merupakan suatu bentangan proses. Proses-proses ini adalah perekat yang menjaga
21
bentangan-bentangan teknologi secara bersama-sama dan memungkinkan perkembangan perangkat lunak komputer yang tepat waktu dan rasional.
Tools Methods Process A quality focus
Gambar 2.7 Software Engineering Layers (Pressman, 2001, p21)
2.4.3 Karakteristik Perangkat Lunak Perangkat lunak memiliki beberapa karakteristik yang beda dengan piranti keras. Menurut Pressman (2001, pp6-9), piranti lunak merupakan elemen sistem yang bersifat logik bukan bersifat fisik. Karakteristiknya adalah : 1. Piranti lunak dapat dikembangkan dan direkayasa, tetapi tidak dibuat. Biaya piranti lunak berpusat pada kegiatan perekayasaaan piranti lunak tersebut dimana kualitas yang baik dapat dicapai jika desainnya juga baik. 2. Piranti lunak tidak mudah rusak atau mengalami penurunan kualitas karena faktor usia. Tidak seperti piranti keras yang mudah rusak oleh faktor lingkungan, seperti kepanasan, getaran, terkena debu dan faktor
22
lainnya. Pada piranti keras apabila terjadi kerusakan maka harus diganti, tetapi pada piranti lunak jika terjadi kerusakan maka dapat diperbaiki oleh
Software
Maintenance.
Kesalahan
piranti
lunak
biasanya
dikarenakan kesalahan pada saat merancang dan menterjemahkan piranti lunak tersebut 3. Pada dasarnya perancangan piranti lunak dibuat sebagai komponen yang dapat dirakit ulang dan dapat dikerjakan berdasarkan pengembangan dari software sebelumnya.
2.4.4 System Development Life Cycle (SDLC) Menurut
Turban,
Rainner
dan
Potter
(2006,p690),
System
Development Life Cycle (SDLC) adalah kerangka kerja tradisional yang terstruktur dan yang digunakan untuk proyek TI besar, serta terdiri atas berbagai proses yang berurutan untuk mengembangkan sistem informasi. SDLC terdiri dari delapan tahap, yaitu : penelitian, analisis, desain, pemrograman, pengujian, implementasi, operasi dan pemeliharaan. Di masa lalu, para pengembang menggunakan pendekatan air terjun (waterfall approach). Waterfall approach merupakan pendekatan SDLC dengan berbagai pekerjaan di suatu tahap diselesaikan terlebih dulu sebelum pekerjaan dilanjutkan ke tahap berikutnya.
23
Gambar 2.8 Delapan Step dalam SDLC (Turban, Rainer, Potter, 2005, p490) Tahap-tahap SDLC adalah sebagai berikut : 1. Penelitian sistem (System investigation) Penelitian sistem dimulai dengan masalah bisnis (peluang bisnis). Masalah (dan peluang) sering kali tidak hanya membutuhkan pemahaman dari sudut pandang internal, tetapi juga sebagai sudut pandang organisasional (pemasok atau pelanggan) yang akan melihatnya. Hal yang harus dilakukan berikutnya dalam penelitian sistem adalah studi kelayakan
24
2. Analisis sistem (System analysis) Analisis sistem adalah proses mempelajari berbagai masalah bisnis yang direncanakan perusahaan dapat diatasi melalui sistem informasi. Tahap ini adalah untuk menentukan masalah bisnis, mengidentifikasi berbagai penyebabnya, menspesifikasi solusi, dan mengidentifikasi kebutuhan informasi yang harus dipenuhi oleh solusi tersebut. Pemahaman atas masalah bisnis memerlukan pemahaman atas berbagai proses yang dilibatkan. Ini sering kali dapat cukup rumit dan saling terkait. 3. Desain sistem (System design) Desain sistem menjelaskan bagaimana sistem tersebut akan menjalankan sistem tersebut. Hasil dari tahap desain sistem adalah desain teknis yang menspesifikasi berbagai hal berikut : a. Output dan input sistem serta antarmuka pengguna b. Piranti keras, piranti lunak, basis data, telekomunikasi, personel, dan prosedur. c. Bagaimana berbagai komponen ini diintergrasikan desain sistem melintasi dua aspek sistem utama baru: desain logis sistem yang menyatakan apa yang dilakukan oleh sistem tersebut, dengan menggunakan spesifikasi abstrak, dan desain fisik sistem yang menyatakan bagaimana sistem baru tersebut akan melakukan fungsinya dengan spesifikasi fisik yang sesungguhnya.
25
4. Pemrograman (Programing) Pemrograman melibatkan penerjemahan spesifikasi desain ke dalam kode komputer. Dalam proyek tim pemrogaman akan dibentuk. Tim ini sering kali meliputi para pengguna berbagai area fungsional untuk membantu programmer fokus pada masalah bisnis yang ditanganani. Dalam usaha untuk menambahkan presisi (atau suatu keseragaman) dalam proses pemrograman, para programmer menggunakan teknik pemrograman terstruktur. Teknik ini memperbaiki arus logis program dengan memecah kode-kode komputer menjadi modul, yang merupakan beberapa bagian dari kode. Struktur modular ini memungkinkan pengujian yang lebih efisisen dan efektif, karena tiap modul dapat diuji sendiri- sendiri. 5. Pengujian (Testing) Pengujian menyeluruh dan berkelanjutan dilakukan di sepanjang tahap pemrograman. Pemeriksaan pengujian melihat apakah kode komputer akan memberi hasil yang diperkirakan dan diinginkan di bawah kondisi tertentu. Pengujian didesain untuk mendeteksi kesalahan (bug) dalam kode komputer. Kesalahan-kesalahan ini terdiri atas dua jenis : kesalahan sintaks (syntax error) dan kesalahan logika (logic error). Programmer harus mengikuti arus logika dalam program untuk menentukan sumber kesalahan pada hasilnya. 6. Implementasi (Implementation) Implementasi adalah proses konversi dari sistem lama ke sistem baru. Terdapat empat strategi konversi : pararel, langsung, percobaan awal, dan
26
bertahap. Dalam konversi pararel, sistem lama dan sistem baru beroperasi secara bersamaan untuk jangka waktu tertentu. Dalam konversi langsung, sistem yang lama akan dimatikan ketika sistem yang baru dinyalakan, pada waktu tertentu. Dalam konversi percobaan awal,
akan
memperkenalkan sistem baru di satu bagian perusahaan untuk percobaan; jika sistem baru itu bekerja baik, maka akan diperkenalkan ke berbagai bagian lain perusahaan. Dalam konversi bertahap, memperkenalkan sistem baru dalam berbagai tahap, hingga keseluruhan sistem dapat beroperasi. 7. Operasi (Operation) Sistem baru akan beroperasi dalam jangka waktu tetentu, hingga (seperti sistem lama yang digantikannya) sistem tersebut tidak lagi memenuhi tujuan perusahaan, begitu operasi sistem baru stabil, audit akan dilakukan selama masa operasi untuk menilai kemampuan sistem dan menentukan apakah sistem tersebut digunakan dengan benar. 8. Pemeliharaan (Maintenance) Membutuhkan pemeliharaan. Jenis pertama pemeliharaannya adalah debugging program, yaitu proses yang terus berlanjut sepanjang umur hidup sistem. Jenis yang kedua adalah pembaruan sistem untuk mengakomodasi berbagai perubahan dalam kondisi bisnis. Berbagai pembaruan dan perbaikan ini biasanya tidak menambahakan fungsi baru tetapi dibutuhkan hanya agar sistem tersebut dapat tetap memenuhi tujuannya. Jenis ketiga dari pemeliharaan adalah menambah fungsi baru
27
ke sistem yaitu, penambahan fitur baru ke sistem yang ada tanpa mengganggu operasinya.
2.5
Entity Relationship Diagram Entity Relationship Diagram adalah pendekatan secara keseluruhan terhadap design database yang diawali dengan mengidentifikasi data penting yang disebut entity dan relationship antara data yang direpresentasikan ke dalam model, lalu atribut dan constraint ditambahkan, yaitu detail informasi tentang entitiy dan relationship antara satu sama lain. (Connoly & Begg, 2005, p342) Komponen-komponen Entitiy Relationship Model : 1.
Entitiy Type Sekelompok objek dengan properti yang sama.
2.
Relationship Type Sekelompok hubungan yang berarti antara banyaknya entity type.
3.
Attribute Type Setiap entitas pasti mempunyai elemen yang disebut atribut yang berfungsi untuk mendeskripsikan karakteristik dari entitas tersebut. Macam-macam relationship :
28
1.
One-to-one (1..1)
SG5
r1
B003
SG37
SL21
r2
B005
Gambar 2.9 One-to-One Relationship 2.
One-to-Many (1..*) SG5
r1
SG37
r2
SL21
r3
PG21 PG36 PA14 PG4
Gambar 2.10 One-to-Many Relationship 3.
Many-to-Many (*..*) SG5
r1
PG21
SG37
r2
PG36
SL21
r3
PA14
r4
PG4
Gambar 2.11 Many-to-Many Relationship
29
2.6
State Transitition Diagram (STD) State Transitition diagram (STD) menunjukkan bagaimana sistem bertingkah laku sebagai akibat dari kejadian eksternal. Menurut Pressman (2001, p302) State Transitition Diagram (STD) mengindikasikan bagaimana perilaku (behavior) suatu sistem terhadap suatu tindakan (event). STD menunjukkan berbagai model tingkah laku (state) sistem dan cara dimana transisi dibuat dari state satu ke state lainnya. STD ini sendiri merupakan suatu Modelling Tool yang menggambarkan suatu sifat ketergantungan akan waktu yang terdapat di sistem. Pada STD ini terdapat 2 macam cara kerja, yaitu : 1.
Pasif Disini sifatnya lebih kepada menerima data saja dalam melakukan kontrol terhadap lingkungan, Contoh : sistem yang bertugas menerima sinyal yang dikirim satelit.
2.
Aktif Untuk sistem ini kontrol dilakukan secara aktif sehingga selain menerima data, sistem ini juga memberikan suatu respon terhadap lingkungannya. Contohnya : sistem yang digunakan untuk proses kontrol. Penyajian STD merupakan dasar untuk pembentukan perilaku, STD disajikan dengan menggunakan notasi-notasi berikut :
30
•
State Merupakan suatu kumpulan model dari tingkah laku yang dapat diobservasi : Simbol state :
•
Transisi Merupakan simbol yang menyatakan perubahan dari satu keadaan ke keadaan yang lain. Simbol transisi :
•
Kondisi Adalah kejadian pada lingkungan eksternal yang dideteksi oleh sistem. Hal tersebut menyebabkan terjadinya perubahan dari suatu ke state ke state lainnya.
•
Aksi Adalah hal yang dilakukan sistem bila terjadi perubahan state. Aksi menghasilkan keluaran seperti tampilan pesan, cetakan pada printer atau alat output lainnya. Kondisi Aksi State 1
State 2
Gambar 2.12 State Transtition Diagram
31
2.7
Diagram JSP MVC ( Model View Controller )
Controller [servlet]
Browser
Menangani request dan validasi data
Model [Bean] Manipulasi data dan business logic
Basis Data
View [JSP] Menggenerasi respon
Gambar 2.13 Diagram MVC Model View Controller merupakan suatu konsep yang cukup populer dalam pembangunan aplikasi web, berawal pada bahasa pemrograman Small Talk, MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, user interface, dan bagian yang menjadi kontrol aplikasi (M.Salahuddin,2008,pp 12-14). Terdapat 3 jenis komponen yang membangun suatu MVC pattern dalam suatu aplikasi yaitu : 1. Model, biasanya berhubungan langsung dengan database untuk memanipulasi data, menangani validasi dari bagian controller, namun tidak dapat berhubungan langsung dengan bagian view. 2. View, merupakan bagian yang menangani presentation logic. Pada suatu aplikasi web bagian ini biasanya berupa file template HTML, yang diatur oleh controller. View
32 berfungsi untuk menerima dan merepresentasikan data kepada user. Bagian ini tidak memiliki akses langsung terhadap bagian model. 3. Controller, merupakan bagian yang mengatur hubungan antara bagian model dan bagian view, controller berfungsi untuk menerima request dan data dari user kemudian menentukan apa yang akan diproses oleh aplikasi. Dengan menggunakan prinsip MVC suatu aplikasi dapat dikembangkan sesuai dengan kemampuan developernya, yaitu programmer yang menangani bagian model dan controller, sedangkan designer yang menangani bagian view, sehingga penggunaan arsitektur MVC dapat meningkatkan maintanability dan organisasi kode. Walaupun demikian dibutuhkan komunikasi yang baik antara programmer dan designer dalam menangani variabel-variabel yang akan ditampilkan. MVC merupakan pattern yang tidak dapat langsung dipetakan menjadi kode, MVC lebih merupakan suatu rancangan konseptual atau paradigma. Seiring dengan semakin banyaknya penggunaan client side scripting, ada 3 jenis MVC yang mungkin terjadi pada suatu aplikasi web yaitu : a. Server Side MVC Server Side MVC biasa terjadi pada aplikasi web tradisional, yang tidak melibatkan client side seperti Javascript, Java Applet, Flash, dll. Server Side MVC menyerahkan keseluruhan proses bisnis pada server, aplikasi pada sisi user hanya dapat menerima. MVC jenis ini terkadang disebut juga dengan nama Thin Client. b. Mixed Client Side and Server Side MVC Pada Mixed Client Side and Server Side MVC 1 client tidak menggunakan model sebagai jembatan untuk melakukan komunikasi pada server, dibandingkan dengan Server Side MVC, arsitektur ini memiliki tingkat kompleksitas yang lebih tinggi karena lebih banyak komponen yang terlibat. Untuk selanjutnya arsitektur ini disebut, dengan Mixed MVC 1.
33 Pada Mixed Client Side and Server Side MVC 2, client menggunakan model sebagai jembatan untuk melakukan komunikasi pada server, dibandingkan dengan arsitektur MVC yang lain, arsitektur ini memiliki tingkat kompleksitas yang paling tinggi karena lebih banyak komponen yang terlibat, sehingga membutuhkan sumber daya yang lebih besar pula. Untuk selanjutnya arsitektur ini disebut dengan Mixed MVC 2. c. Rich Internet Application MVC Application MVC Rich Internet Application (RIA) disebut juga dengan nama Fat Client, merupakan aplikasi web yang memiliki kemampuan dan fungsi hampir seperti aplikasi desktop. RIA pada sisi client, memiliki engine untuk mengambil data yang berada pada server, sehingga pada client terdapat bagian MVC sendiri dan hanya membutuhkan bagian model pada sisi server.
2.8
Sistem Basis Data Sistem Basis Data adalah sistem penyimpanan data secara komputerisasi. Adapun tujuan dari sistem basis data ini adalah untuk melakukan perawatan informasi dan dapat menyajikan kapan saja dibutuhkan oleh pengguna. Di dalam suatu basis data terdapat file, dalam file terdapat record dan di dalam suatu record terdapat beberapa field. Penjelasan dari masing-masing bagian berikut ini mengacu pada pengertian yang dikemukakan oleh Subekti (1997, p4) yaitu : 1.
Field adalah unit terkecil dari data record yang disimpan dalam basis data.
2.
Record berisi kumpulan field yang saling berkaitan.
3.
File berisi kumpulan dari seluruh accurent dari suatu tipe record.
4.
Database adalah wadah dari keseluruhan record yang ada.
34
2.8.1 MySQL MySQL adalah multiuser database yang menggunakan bahasa SQL. MySQL merupakan perangkat lunak yang bersifat open source. Sesuai dengan namanya, bahasa standar yang digunakan oleh MySQL adalah SQL. SQL adalah singkatan dari Structured Query Language, merupakan bahasa standar untuk pengolahan database. SQL mulai dikembangkan pada akhir tahun 70-an di laboratorium IBM (Bimo Sunarfrihantono, ST, 2002, p.65). MySQL mampu menangani data yang cukup besar. Perusahaan yang mengembangkan MySQL yaitu TcX, mengaku mampu menyimpan data lebih dari 40 database, 10.000 tabel dan sekitar 7 juta baris, totalnya kurang lebih 100 Gb data. Informasi selengkapnya tentang MySQL dapat dilihat di www.mysql.com. Dengan menggunakan SQL, proses akses database menjadi lebih user-friendly dibandingkan dengan menggunakan dBASE atau Clipper yang masih menggunakan perintah-perintah pemrograman. Pemakaian database MySQL yang dimaksud adalah pengembang aplikasi database yang ingin menggunakan MySQL sebagai basis datanya atau aplikasi yang dibangun. Sedangkan MySQL mempunyai kelebihan dapat diakses oleh banyak bahasa pemrograman. MySQL merupakan software database server yang ideal untuk data segala ukuran dengan kemampuan mempunyai kecepatan yang sangat tinggi dalam pemrosesan data, multithreaded, multi-user dan query. Ukuran database MySQL lebih kecil dari database file yang lain.
35
Beberapa pertimbangan programmer memilih MySQL dalam mengolah database yaitu kecepatan, mudah digunakan, open source, kapabilitas, biaya murah, keamanan, lintas platform.
2.8.2 Database, Tabel, Baris, dan Kolom Dalam konteks bahasa SQL, pada umumnya informasi tersimpan dalam tabel-tabel yang secara logika merupakan struktur dua dimensi yang terdiri atas baris-baris data yang berada dalam satu atau lebih kolom. Baris pada tabel sering disebut sebagai instance dari data, sedangkan kolom sering disebut attribute atau field. Keseluruhan tabel itu dihimpun dalam satu kesatuan yang disebut database. MySQL dapat melakukan proses query dan menentukan informasi yang diinginkan. Nilai yang dikembalikan dari proses query berupa recordset atau hasil yang ditampilkan berupa baris-baris pada kolom, berdasarkan query tertentu pada tabel tertentu.
2.9
E-Learning 2.7.1. Pengertian E-learning Menurut
Turban
(2005,
p165) e-learning
merujuk
pada
pembelajaran yang didukung melalui web yang dapat digunakan pada kelas biasa atau kelas virtual. Menurut Empy dan Zhuang (2005, p6) e-learning adalah kegiatan pelatihan yang menggunakan media elektronik atau teknologi informasi. Berbagai istilah digunakan untuk mengartikan e-learning antara lain, web-
36
based learning, distance learning, online learning, computer-aided instricton, computer-based training/learning, dll. E-learning merupakan dasar dan konsekuensi logis dari perkembangan teknologi informasi dan komunkasi. Dengan e-learning, peserta ajar (murid) tidak perlu duduk dengan manis di ruang kelas untuk menyimak setiap ucapan dari seorang guru secara langsung. E-learning juga dapat mempersingkat jadwal target waktu pembelajaran, dan tentu saja menghemat biaya yang harus dikeluarkan oleh sebuah program studi atau program pendidikan (http://id.wikipedia.org)
2.7.2. Tipe-tipe E-learning Menurut Matt Commerchero (2006, p1), E-learning dapat di bedakan jenisnya berdasarkan 4 hal, yaitu : 1.
Jalan komunikasi Berbagai jenis cara setiap individu untuk berkomunikasi dengan sesamanya ataupun dengan pembimbingnya. Dengan e-learning dapat dilakukan melalui aplikasi online. Dengan cara itu berkomunikasi tetap dapat dilakukan secara face to face melalui video atau audio.
2.
Jadwal Berdasarkan jadwal e-learning dapat dibedakan menjadi dua, yaitu : a.
Synchronous Synchronous berarti terjadi di waktu yang sama, dimana proses belajar dan mengajar terjadi pada waktu yang bersamaan. Digunakan
37
dalam
video
mengharuskan
conference,
teleconference,
pelajar
guru
dan
untuk
dll.
Synchronous
mengakses
internet
bersamaan. b.
Asynchronous Asynchronous berarti terjadi tidak pada waktu yang sama, dimana proses belajar tidak terjadi secara langsung. Pelajar dapat mengambil pelatihan pada waktu yang berbeda dengan pengajar. Contoh dari penggunaan asynchronous adalah email, online forum, dan thread discussion.
3. Struktur kelas e-learning Struktur kelas menandakan bagaimana pelajaran diberikan. Dapat berupa belajar mandiri, belajar dengan bimbingan, atau belajar mandiri dengan seorang ahli. 4. Teknologi yang dipakai Teknologi yang dipakai untuk mengimplementasikannya tidak terbatas pada informasi yang berbasis web, tetapi e-learning
dapat dicapai
dengan memanfaatkan dengan segala bentuk teknologi informasi yang menghasilkan media yang mendukung. Misalnya adalah rekaman video dan audio.
38
2.7.3. Keuntungan dan Kerugian E-learning Menurut Empy dan Zhuang (2005, p9), ada beberapa keuntungan elearning, yaitu : 1. Mengurangi biaya Dengan menggunakan e-learning kita dapat menghemat waktu dan uang untuk mencapai suatu tempat pembelajaran. 2. Fleksibilitas waktu, tempat, dan kecepatan pembelajaran Dengan menggunakan e-learning pelajar dapat mengakses dari berbagai lokasi dan tempat, pengajar dapat menentukan waktu untuk belajar dimanapun. Dengan e-learning juga pelajar dapat belajar sesuai dengan kemampuan masing-masing. Berbeda dengan belajar dikelas, dimana para pelajar belajar mulai dan berhenti pada waktu yang sama. 3. Standarisasi dan efektivitas pengajaran E-learning memiliki kualitas sama setiap kali diakses dan tidak tergantung suasana hati pengajar. E-learning dirancang agar pelajar dapat lebih mengerti pelajaran dengan menggunakan simulasi ataupun teknologi animasi. Disamping keuntungannya, e-learning juga memiliki kekurangan, yaitu : 1.
Pelajar harus memiliki komputer dan akses internet.
2.
Pelajar harus memotivasi diri sendiri, disebabkan pelajar belajar sendiri tanpa ada bantuan pengajar setiap saat. Sehingga pelajar harus disiplin dan mengerjakan tugas secara mandiri.
39
3.
Dengan tidak adanya rutinitas yang ada dikelas tradisional maka pelajar mungkin akan berhenti belajar disebabkan bingung atau tidak mengetahui kegiatan belajar dan tenggat waktu tugas.
4.
Pengajar dan pelajar harus memiliki kemampuan menulis dan kemampuan komunikasi yang baik. Karena tidak saling bertatap muka sehingga mungkin terjadi salah pengertian dalam beberapa hal.