BAB 2 LANDASAN TEORI 2.1 Distance Learning Menurut Turban

advertisement
BAB 2
LANDASAN TEORI
2.1 Distance Learning
Menurut Turban (2001, p200), Distance Learning merupakan proses belajar
menggunakan teknologi telekomunikasi. Orang-orang dapat belajar tidak harus berada
di dalam kelas tetapi dapat di berbagai lokasi. Distance Learning dapat terjadi secara
real-time (tempat berbeda, waktu sama) atau asinkron (tempat berbeda, waktu berbeda).
Distance Learning dapat dilakukan melalui sarana internet.
Distance Learning pada Wikipedia (anonim1) disebut juga Distance Education,
adalah bidang dari edukasi yang mengkombinasikan pedagogi, teknologi, dan
sistemnya. Murid dan guru tidak perlu berada di lokasi yang sama, mereka dapat
berkomunikasi melalui teknologi baik secara sinkron atau asinkron. Dalam Distance
Learning, teknologi menjadi jembatan penghubung di antara guru dan murid sehingga
proses belajar mengajar dapat dilakukan tanpa terbatas pada lokasi dan waktu (anonim
2).
2.2 E-Learning (Electronic Learning)
Wikipedia (anonim 1) mendefinisikan E-Learning sebagai pendekatan untuk
meningkatkan dan memfasilitasi pembelajaran melalui teknologi komunikasi dan
komputer. E-Learning juga dapat digunakan untuk Distance Learning.
12
Romi Satria Wahono (2003, p2) menyebutkan E-Learning merupakan konsep
atau sistem pendidikan yang menggunakan teknologi informasi (IT) dalam proses
belajar mengajarnya.
Jadi dapat disimpulkan E-Learning merupakan proses pembelajaran dengan
bantuan teknologi informasi (umumnya komputer sebagai intinya) dan media-medianya
(internet, telepon selular, CD ataupun jaringan lokal), yang dapat difungsikan sama
seperti buku dan pena pada cara belajar tradisional.
2.3 Sistem Informasi
2.3.1 Pengertian Sistem
Sistem adalah kumpulan dari elemen yang terintegrasi dengan maksud untuk
mencapai sebuah tujuan (McLeod, 2001, p9). Elemen-elemen tersebut berinterelasi atau
berinteraksi dan membentuk satu-kesatuan yang utuh (O’Brien, 2003, p8). Elemen
tersebut atau objek-objek, saling berhubungan dan dilihat sebagai suatu kesatuan dan
dirancang untuk menghasilkan sebuah kegunaan. Maka dapat disimpulkan, sistem
adalah sekelompok elemen atau komponen yang berhubungan dan saling bergantung
untuk mencapai satu tujuan yang sama.
2.3.2 Informasi
Informasi adalah data yang telah diproses atau data yang memiliki arti (Mcleod,
2001, p16-18). Informasi ini diperoleh melalui data-data (fakta dan angka) yang belum
memiliki arti (belum dapat digunakan) bagi penggunanya. Setelah melalui pemrosesan,
data dapat menjadi informasi yang memiliki arti/berguna bagi perusahaan yang
13
memilikinya. Informasi berupa data yang berguna mempunyai arti (teks, suara dan
gambar) dan telah terorganisasi dengan baik (James A. Senn, 1998, p12). Informasi
dapat disebut juga koleksi dari fakta (data) yang disusun dengan cara tertentu sehingga
memiliki arti bagi yang penerimanya (Turban, 2001, p17). Data diramu sedemikian rupa
sehingga menjadi informasi (dalam bentuk yang lebih berguna dan lebih berarti)
sehingga dapat dimengerti bagi penerimannya (Irmansyah, 2003, p1). Informasi ini
menggambarkan suatu kejadian-kejadian (event) yang nyata (fact) yang dapat
digunakan untuk pengambilan keputusan.
2.3.3 Pengertian Sistem Informasi (Information System)
Sistem informasi adalah berbagai macam elemen yang terintegrasi yang
memanipulasi informasi digital (ditekankan pada penggunaan teknologi informasi)
untuk keperluan suatu organisasi (bisnis umumnya).
Sistem informasi menurut O’Brien (2003, p7) adalah kombinasi yang
diorganisasikan dari manusia, perangkat keras, perangkat lunak, jaringan komunikasi,
dan sumber-sumber data, yang mengumpulkan, mengubah dan menyebarkan informasi
di dalam sebuah organisasi.
Sistem informasi menurut Connoly (2002, p270) adalah sumber daya yang dapat
mengkoleksi, mengatur, mengontrol dan menyebarkan informasi secara keseluruhan di
sebuah organisasi.
Sistem informasi digunakan untuk mengumpulkan, memproses, menyimpan,
menganalisa, dan menyebarkan informasi untuk tujuan tertentu menurut Turban (2001,
p17). Sistem informasi terdiri dari input (data, instruksi) dan output (laporan, kalkulasi).
14
Sistem informasi memproses input dan menghasilkan output yang akan dikirimkan
kepada pemakai atau sistem lain.
Komponen dasar dari sistem informasi menurut Turban (2001, p17), adalah
sebagai berikut:
•
Hardware (Perangkat keras), yaitu sekumpulan alat yang menerima, memproses dan
menampilkan data dan informasi,
•
Software (Perangkat lunak), yaitu program komputer yang memungkinkan
perangkat keras dapat memproses data.
•
Database (Basis data), yaitu kumpulan dari data (file, record, dan lain-lain) yang
dapat menyimpan dan menghubungkan data.
•
Network (Jaringan) menghubungkan sistem yang memungkinkan pembagian
(sharing) data/sumber (resource) antara komputer-komputer yang berbeda.
•
Procedure (Prosedur), adalah strategi, kebijakan, metode, dan aturan untuk
menggunakan sistem informasi.
•
People (Manusia), yaitu elemen paling utama dari sistem informasi yang terdiri dari
orang - orang yang bekerja menggunakan sistem informasi atau menggunakan hasil
output-nya.
2.4 Teknologi Informasi
Teknologi informasi atau Information and Communication Technology (ICT)
adalah suatu bidang yang berhubungan dengan teknologi yang berfokus pada
penggunaan komputer dan software-nya untuk penanganan dan pemrosesan informasi.
Organisasi besar, seperti perusahaan perbankan, memiliki sangat banyak data-data dan
15
informasi. Tanpa penggunaan teknologi informasi mereka tidak akan berjalan. Oleh
karena itu, organisasi besar masa kini memiliki divisi yang berhubungan dengan
teknologi software (teknologi informasi) yang disebut IT departement atau disebut juga
Information Services (IS), Management Information Services (MIS) atau Managed
Service Providers (MSP). Dalam implementasinya, teknologi informasi ini berperan
dalam merubah, menyimpan, mengamankan, memproses, memindahkan dan menerima
data-data dan informasi, khususnya data bisnis bagi perusahaan. Dalam dunia
pendidikan (contoh di Inggris), teknologi informasi sudah menjadi bagian penting
dalam kegiatan belajar-mengajar. Teknologi informasi ini memudahkan dalam
pengajaran materi dan juga komunikasi antar-sekolah (anonim 1).
Istilah teknologi informasi (Senn, 1998, p18) diartikan sebagai berbagai macam
objek dan kemampuan untuk membuat, menyimpan dan meyebarkan data dan
informasi. Data sebagai fakta/gambar/detail mentah, diubah menjadi informasi yang
terorganisir, berarti dan memiliki arti, diubah menjadi pengetahuan (knowledge) yang
merupakan pemahaman dari informasi-informasi dan bagaimana memaksimalkan
penggunaanya. Data-data yang diperoleh dari transaksi sehari - hari yang penuh dengan
detail diolah menjadi informasi-informasi dan dimanipulasi hingga menjadi
pengetahuan yang berguna bagi manusia, misalnya sebagai dasar pengambilan
keputusan bisnis. Proses-proses pengubahan tersebut tidak dapat berlangsung tanpa tiga
komponen penting yaitu: komputer, jaringan komunikasi, dan know-how (Senn, 1998
p12-21):
•
Komputer, yaitu sistem elektronik yang dapat diprogram untuk menerima,
memproses, menyimpan, dan menyajikan data dan informasi..
16
•
Jaringan komunikasi, yaitu interkoneksi dari berbagai lokasi melalui suatu
medium yang memungkinkan orang dapat mengirim dan menerima data dan
informasi.
•
Know How, diartikan dengan mengerti dan paham bagaimana mengerjakan sesuatu
dengan baik, dalam hal ini kemampuan dalam menggunakan kecanggihan teknologi
informasi untuk memecahkan masalah dan memanfaatkan peluang yang diciptakan.
Komputer
o HardWare
o Program
o Informasi
Terdiri dari 3
komponen
saling
berhubungan
Komunikasi
o HardWare
o Program
o Informasi
Know-How
o Manusia
o Aplikasi
o Prosedur
Gambar 2.1 Perangkat dari Teknologi Informasi (Senn, 1998, p14)
Ketiga komponen di atas merupakan satu-kesatuan yang tidak dapat dipisahkan
satu sama lain. Jika user memiliki komputer dan alat komunikasi tetapi tidak mengerti
cara menggunakannya, maka teknologi informasi tersebut menjadi tidak berguna.
2.5 Software (Perangkat Lunak)
2.5.1 Pengertian Software
17
Software adalah program atau instruksi digital yang digunakan untuk mengatur
kerja suatu sistem komputer dan jaringan, yang pada akhirnya dapat menyelesaikan
suatu tugas manusia (hal yang berguna bagi manusia) (Turban, 2001, p98).
Roger S. Pressman (2002, p10) mendeskripsikan Software sebagai “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”.
Jadi kesimpulannya, software adalah program komputer (yang disimpan dalam storage
berupa dokumen/file) yang dapat menghasilkan perintah-perintah (operasi) yang
berfungsi untuk menyelesaikan tugas/masalah/pekerjaan manusia serta memanipulasi
informasi.
2.5.2 Jenis Software Komputer
Software komputer terbagi menjadi dua seperti yang dikemukakan Turban
(2001, p99), yaitu:
•
Software Sistem (System Software) adalah sekumpulan instruksi yang tugas
utamanya adalah sebagai jembatan antara hardware komputer dan program aplikasi.
Software sistem sering disebut dengan Sistem Operasi (Operating System)
•
Software Aplikasi (Application Software), adalah sekumpulan instruksi komputer
yang menyediakan fungsi lebih spesifik pada pengguna tertentu. Software aplikasi
terdiri dari software aplikasi hak milik (proprietary) yang dibuat berdasarkan
kebutuhan bisnis tertentu/unik dari sebuah perusahaan,dan software aplikasi off-the-
18
shelf yang dibeli, disewa dari vendor yang mengembangkan program dan menjual
ke banyak organisasi.
2.5.3 Bahasa Pemrograman (Programming Language)
Menurut Turban (2001, p117), Bahasa Pemrograman adalah serangkaian
perintah atau kode-kode yang dapat dimengerti oleh komputer sehingga komputer dapat
menjalankan aktivitasnya.
Pada pengklasifikasian Bahasa Pemrograman, Haryono (2003, p4 & p21)
membedakan bahasa pemrograman menjadi:
1. Berdasarkan tingkat, bahasa permrograman dibedakan menjadi tingkat rendah,
tingkat menengah, dan tingkat tinggi.
•
Bahasa
tingkat
rendah
(atau
biasa
disebut
bahasa
assembly),
memetakan/menerjemahkan setiap instruksi dari kode sumber (source program)
ke dalam satu instruksi bahasa mesin/komputer.
•
Bahasa tingkat tinggi, bahasa yang semakin natural, semakin mudah dipahami
manusia. Contoh: bahasa Pascal, BASIC, Prolog, Java.
•
Bahasa tingkat menengah, berada di antara kedua tingkat di atas. Contoh :
bahasa C
2. Berdasarkan paradigma, bahasa pemrograman komputer dapat dibedakan sebagai
berikut:
•
Pemrograman Prosedural, program tersusun atas prosedur-prosedur algoritma.
Pemrograman prosedural dicirikan dengan adanya sequence (urutan), branch
(pencabangan), dan loop (pengulangan).
19
•
Pemrograman Fungsional, tersusun atas fungsi-fungsi, baik yang sudah
terdefinisi maupun yang dibuat sendiri oleh pengguna. Contoh: LISP.
•
Pemrograman Deklaratif, tersusun atas deklarasi-deklarasi logika, berupa
fakta, aturan, dan sasaran, serta memiliki kemampuan untuk inferensi yang
memungkinkan komputer ‘menalar’ atau menelusuri berbagai fakta dan aturan
yang diberikan untuk mendapatkan hasil/jawaban dari pertanyaan tertentu.
Contoh : Prolog (programming in logic).
•
Pemrograman Berorientasi Objek, pemrograman yang semua persoalan dan
solusinya dimodelkan sebagai objek. Contoh: Object Pascal, C++, Eiffel,
SmallTalk, Java, C#.
2.6 Software Engineering
2.6.1 Pengertian Software Engineering
Software Engineering adalah disiplin ilmu yang merancang, membuat, dan
merawat software dengan menggunakan teknologi dan aktivitas dari computer science,
manajemen proyek, engineering, application domain dan bidang lainnya (anonim 1).
Menurut IEEE Standard 610.12, Software Engineering (SE) adalah “(1) aplikasi dari
pendekatan sistematik, terdisiplin, terukur untuk pengembangan, pengoperasian, dan
perawatan dari software, yaitu, aplikasi dari engineering (rekayasa) untuk software.”
Dan “(2) studi dari pendekatan-pendekatan seperti pada (1).”.
Software Engineering berdasarkan Pressman (2002, p28), merupakan sebuah
aktivitas membuat sebuah software dengan alat/tool, metode dan proses yang
membutuhkan manajemen sehingga software tersebut memenuhi kebutuhan client dan
20
user, dengan tanpa mengesampingkan kualitas. Software engineering terbagi menjadi
dua tahap waktu, yaitu developing (mungkin 3 bulan atau 1 tahun) dan maintenance
(yang mungkin selama software itu digunakan). Software Engineering menjaga supaya
software tersebut selalu berguna bagi client dan user.
Lapisan/layer pada Software Engineering yang dimaksud Pressman di atas
adalah sebagai berikut:
•
Alat bantu (Tools), digunakan untuk otomatisasi/semi-otomatisasi pembentukan
proses ataupun metode yang digunakan dalam pengembangan proyek. CASE
(Computer-Aided
Software
Engineering)
adalah
sistem
yang
membantu
pengembangan software (sistem lain) dengan mengintegrasikan komponenkomponennya
(software,
hardware,
database)
dalam
suatu
repositori
(penyimpanan) informasi seputar sistem itu. Contohnya adalah software Visual
Studio .Net 2003 untuk merancang sistem perbankan.
•
Metode, memberikan teknik-teknik dan konsep untuk membangun software.
Contohnya adalah metode waterfall, prototype, agile, dan lainnya.
•
Proses. Pengaturan atau manajemen proyek yang berkenaan dengan software
development life cycle (SDLC). Dalam membuat software yang kompleks amat
tidak mudah, tidak hanya dengan sekali coding langsung jadi, tetapi membutuhkan
sumber daya dan biaya yang harus diatur supaya selesai sesuai waktunya.
•
Fokus kualitas, rekayasa software harus berada pada sebuah komitmen dasar
menuju kualitas. Kualitas menjadi batu landasan untuk pengembangan perangkat
lunak. Client tentunya mengharapkan kualitas yang tinggi dari software, sehingga
dapat membantu menyelesaikan masalahnya (contoh masalah bisnis pada software
21
transaksi penjualan) dengan kehandalan, efisiensi, efektif, keamanan dan lainnya.
Developer pun perlu membuat software berkualitas secara internal, karena software
yang berkualitas tinggi merupakan jaminan untuk reusable code untuk proyek
lainnya.
Software Engineering
Software
Engineering
to o l s
methods
process
a “quality” focus
Gambar 2.2 Software Engineering Layers – (Pressman, 2002, p28)
2.6.2 Fase Software Engineering
Pressman (2002, p30) menyatakan bahwa usaha yang berhubungan dengan
software engineering dapat dikategorikan ke dalam tiga fase umum dengan tanpa
mempedulikan area aplikasi, ukuran proyek, atau kompleksitasnya, yaitu:
1. Fase Definisi (Definition Phase) berfokus pada “apa” (what). Pada fase ini,
pengembang software harus mengidentifikasi 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.
2. Fase Pengembangan (Development Phase) berfokus pada “bagaimana” (how),. Pada
fase ini, teknisi harus mendefinisikan bagaimana data dikonstruksikan, bagaimana
fungsi-fungsi diimplementasikan sebagai sebuah arsitektur software, bagaimana
22
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.
3. Fase Pemeliharaan (Maintenance Phase) berfokus pada perubahan (change) yang
dihubungkan dengan koreksi kesalahan, penyesuaian yang dibutuhkan ketika
lingkungan perangkat lunak berkembang, serta perubahan sehubungan dengan
perkembangan yang disebabkan oleh perubahan kebutuhan pelanggan (client).
2.6.3 Pengertian Model Proses Software
Model Proses Software (paradigma software engineering) adalah pendekatan
umum untuk mengorganisasikan sebuah proyek ke dalam aktivitas (Timothy C.
Lethbridge, 2002, p402). Model ini digunakan manajer proyek dan anggotanya untuk
menentukan pekerjaan yang harus dilakukan dan bagaimana urutannya. Model ini
dilihat sebagai alat untuk membantu berpikir, bukan aturan kaku untuk melakukan
sesuatu, sebab tiap proyek memiliki rencana tersendiri yang unik.
Model Proses dibutuhkan untuk menggabungkan strategi pengembangan yang
melingkupi lapisan proses, metode, dan alat-alat bantu yang digambarkan pada Gambar
Software Engineering Layers, dalam tujuannya untuk menyelesaikan masalah aktual di
dalam sebuah lingkungan industri (Pressman, 2002, p35). Model proses untuk software
engineering dipilih berdasarkan sifat aplikasi dan proyeknya, metode dan alat-alat bantu
yang akan dipakai, dan kontrol serta penyampaian yang dibutuhkan.
23
2.6.4 Model Proses Waterfall Software Engineering
Model Proses Waterfall (air terjun) untuk pengembangan software memiliki
tahap-tahap dalam mengembangkan produk software (sistem) yang secara berurutan
seperti air terjun (anonim 3). Pada model ini terdapat beberapa aktivitas/tahap yang
terbagi untuk mengembangkan suatu produk, yaitu:
•
Requirements Analysis and Definition
Apa yang diperlukan sistem seperti service yang diinginkan, batasan dan tujuan
dibahas, dimengerti dan disetujui personil pengembang, client dan user.
•
Specification Phase
Tahap ini membahas ”apa” (what) yang produk/software dapat lakukan,
requirement apa yang bisa dipenuhi darinya dan menghasilkan dokumen spesifikasi.
•
System and Sofware Design
Jika tahap spesifikasi membahas “apa”, tahap ini membahas ”bagaimana” (how).,
bagaimana gambaran/design dari software dalam tujuannya memenuhi requirement.
Dalam desain software, menentukan bagaimana membuat program dari sisi struktur
data, arsitektur software, tampilan dan prosedur/algoritmanya.
•
Implementation and Unit Testing
Pada tahap ini desain perangkat lunak yang telah dibuat dituangkan (Implemented)
ke dalam program. Pengujian unit dimaksudkan untuk verifikasi tiap unit sesuai
dengan spesifikasi dari sistem yang diinginkan.
•
Integration and System Testing
Menggabungkan unit-unit program tunggal kemudian diuji sehingga menjadi sistem
yang lengkap. Tahap ini menjamin bahwa requirement software telah dipenuhi.
•
Acceptance Testing
24
Client menguji sistem (yang sudah disebut produk) apakah sudah sesuai dengan
spesifikasi yang diinginkannya dari segi kebenaran (correctness), ketahanan
(robustness), performa dan dokumentasi. Hasilnya adalah apakah client puas/setuju
atau tidak atas produk tersebut.
•
Operation and Maintenance
Adalah penerapan ulang (re-application) dari tiap aktivitas-aktivitas di atas terhadap
software yang telah jadi tersebut, untuk mengecek kesalahan (jika ada),
menyesuaikan dengan perubahan terhadap situasi eksternal (hardware baru, sistem
operasi), atau meningkatkan fungsi atau performa yang diminta oleh client. Tahap
ini memiliki waktu yang terpanjang pada siklus hidup sistem.
Model proses waterfall ini tidak harus selalu sama untuk tiap produk perangkat
lunak karena adanya faktor-faktor seperti ukuran dari proyek, kompleksitas, waktu
pengembangan yang diperlukan, seberapa besar resiko, kepastian akan keinginan client,
dan kemungkinan requirement dari client yang berubah-ubah. Dalam kenyataannya
model ini sebaiknya tidak digunakan secara kaku (harus sesuai pada urutan langkah di
atas).
25
Gambar 2.3 Model Proses Waterfall (anonim 3)
2.7 Object-Oriented Programming (Pemrograman Berorientasi Objek)
Menurut Haryono (2003, p22), Object Oriented Programming (OOP) adalah
pemrograman yang semua persoalan dan solusinya di dunia nyata dimodelkan sebagai
object. Object merupakan anggota, atau merupakan instance dari class tertentu.
Setiap class object minimal memiliki:
1. nama class yang unik, membedakannya dengan class yang lain.
2. atribut, atau data, atau properti-properti, atau sifat-sifat yang melekat pada class
tersebut.
3. perilaku, atau kemampuan, atau operasi, atau metode, atau tanggung jawab yang
melekat pada class tersebut.
26
Ciri utama dari OOP adalah adanya encapsulation (pembungkusan), inheritance
(penurunan sifat), dan polymorphism (perubahan bentuk).
•
Encapsulation, merupakan pembungkusan suatu class dengan atribut-atribut dan
perilaku-perilaku yang dimilikinya.
•
Inheritance, merupakan penurunan sifat dari class induk kepada class anaknya, dari
suatu class yang lebih general/umum kepada class yang lebih spesifik/khusus.
•
Polymorphism, berarti object yang berbeda-beda yang diturunkan dari induk yang
sama mendukung antarmuka properti dan metode yang sama. Fungsi dari beberapa
turunan yang diwariskan dari sebuah induk dapat memiliki definisi yang berbedabeda (true polymorphism).
Paradigma Object-Oriented menurut Lethbridge (2002, p29) adalah pendekatan
sebagai solusi di mana semua komputasi dilakukan dengan object. Object merupakan
instance dari konstruk pemrograman, yang biasanya disebut class (kelas) di mana terdiri
dari abstraksi data dan abstraksi prosedural yang dapat beroperasi terhadap object.
Beberapa konsep yang ada dalam bahasa object-oriented (Lethbridge (2002,
p50)), yaitu:
1. Abstraksi, adalah menyederhanakan gambaran dari sesuatu yang kompleks
(aslinya).
2. Modularitas, sistem object-oriented dikonstruksi seluruhnya dari sekumpulan
class.
3. Enkapsulasi, class bertindak sebagai kontainer/tempat untuk menjaga fitur-fiturnya
(variabel dan metodenya) dan memungkinkan hanya beberapa dari fitur tersebut
bisa diakses dari luar (information hiding).
27
OOP memiliki komponen (Lethbridge, 2002, p31):
1. Class, adalah unit dari abstraksi data dalam program berorientasi objek. Class terdiri
dari data dan prosedur (yang disebut metode).
2. Object, adalah sebongkah data terstruktur yang terdapat pada sistem software yang
sedang berjalan. Object memiliki properti yang menunjukkan keadaannya dan sifat
yang menunjukkan bagaimana object tersebut berinteraksi.
3. Instance of class, adalah semua object dengan properti dan sifat yang sama.
4. Operation, abstraksi prosedural high-level yang mengindikasikan sebuah tipe dari
sifat (behaviour)
5. Method, abstraksi prosedur yang digunakan untuk mengimplementasikan sifat dari
class.
Mahasiswa
nama
ttl
alm
posisi
MahasiswaA:
Nama: Jhoni
ttl: 1955/02/02
Alm: Jln. ABC no.99.
posisi: CEO
Gambar 2.4 Class dan Instance dari Class
Sedangkan menurut Pressman (2002, p656-p661), komponen pemrograman
berorientasi objek adalah:
1. Class, adalah konsep object-oriented yang mengenkapsulasi data dan abstraksi
prosedural yang diperlukan untuk menggambarkan isi serta tingkah laku berbagai
entitas dunia nyata. Class merupakan deskripsi tergeneralisir (template, pola, cetak
biru) yang menggambarkan suatu kumpulan object yang sama.
28
2. Attribute, nilai domain (keadaan) yang bisa didapat dari dunia nyata,
menggambarkan class atau object dengan berbagai cara. Contoh: Class Mobil
memiliki atribut warna.
3. Method atau operation atau Service, adalah prosedur yang dapat dijalankan yang
dibungkus di dalam class dan dirancang untuk beroperasi pada satu atau lebih
atribut data yang dapat diartikan sebagai bagian dari class. Metode dipanggil
melalui message passing atau pertukaran pesan.
4. Message, adalah alat di mana object saling berinteraksi.
2.8 Bahasa Pemodelan UML (Unified Modelling Language)
Menurut Lethbridge (2002, p151), UML adalah bahasa grafis standar untuk
memodelkan software berorientasi objek. Tujuan dari UML adalah untuk membantu
pengembangan software, bukan merupakan suatu metodologi.
Tipe diagram UML dikelompokkan menjadi:
•
Class Diagram, menggambarkan class dan relasinya. Terdiri dari Class Diagram
(Static Diagram) itu sendiri dan Instance Diagram yang menggambarkan
konfigurasi object dan hubungannya pada waktu tertentu saat eksekusi program.
•
Interaction Diagram, menunjukkan sifat dari sistem dalam hubungannya dengan
bagaimana object berinteraksi dengan object yang lainnya.. Interaction diagram
terdiri dari Sequence Diagram dan Collaboration Diagram. Sequence Diagram ini
menggambarkan urutan pertukaran message dari object- object (terkadang juga
actor) untuk melakukan tugas tertentu. Collaboration Diagram digunakan untuk
menunjukkan bagaimana object-object bekerja sama.
29
•
State Diagram, menggambarkan bagaimana sistem berinteraksi secara internal
•
Component and Deployment Diagram, menggambarkan bagaimana berbagai
komponen dari sistem disusun secara logis dan fisik.
•
Use Case Diagram, menggambarkan hubungan antara sekumpulan use case dan
beberapa actor (pengguna yang berinteraksi langsung dengan sistem). Use case
adalah urutan umum dari aksi yang dilakukan actor untuk menyelesaikan suatu
tugas/task (Lethbrigde, p234).
Simbol-simbol utama dari Class Diagram adalah:
•
Class, merepresentasikan jenis data
•
Association, hubungan antar class
•
Attribute, data yang dimiliki class dan instance class
•
Operation, fungsi yang dimiliki class dan instance class
•
Generalization, untuk menandakan hirarki inheritance dari class
Kelas
Rectangle
Rectangle
getArea
resize
Rectangle
height
Rectangle
Rectangle
height
width
height:
int
width: int
getArea
resize
getArea(): int
resize(int,int)
Atribut
Method
30
Multiplicity
0..1
Offic
e
*
Employee
Association
*
Vehicle
VehiclePart
Agregasi
*
Building
Room
Komposisi
Animal
habitat
Generalisasi
AquaticAnimal
Person
LandAnimal
Machine
interface
Cashier
Employee
ATM
Gambar 2.5 Simbol-simbol Class Diagram dalam UML.
(Lethbridge, 2002, p155 – p172)
Simbol-simbol umum dari Use Case Diagram adalah:
•
Use Case
•
Actor
31
•
Batas Sistem (System Boundary)
•
Hubungan (link) antara actor dan use case
Gambar 2.6 Simbol-simbol Use Case Diagram dalam UML
Gambar 2.7 Simbol-simbol dari Sequence Diagram
2.9 Database (Basis Data)
2.9.1 Data
32
Data adalah fakta mentah atau deskripsi dasar dari sesuatu, kejadian, aktivitas,
dan transaksi, yang didapat, direkam, disimpan, dan dikelompokkan, tetapi tidak
disusun untuk menyampaikan arti tertentu yang spesifik (Turban, 2001, p17). Data
adalah representasi atau hasil rekaman atas kejadian, fakta, atau fenomena yang terjadi
dalam
dunia
nyata
(Haryono,
2003,
p16).
Data
adalah
nilai/value
yang
merepresentasikan deskripsi dari suatu objek atau kejadian/event (Irmansyah, 2003, p1).
Data adalah fakta mentah dari observasi, yang biasanya mengenai fenomena fisik atau
transaksi bisnis. Lebih spesifik lagi, data adalah ukuran objektif dari atribut
(karakteristiknya) dari entiti (seperti manusia, tempat, benda atau kejadian) (O’Brien,
2003, p13). Jadi Data adalah fakta-fakta mentah (belum memiliki nilai informasi) yang
di-capture dengan input device tertentu (digitalisasi) untuk keperluan tertentu (bisnis,
penelitian, dan lain-lain), yang kemudian diolah untuk dapat ditarik suatu pemahaman.
2.9.2 Pengertian Database
Menurut Thomas M. Connolly (2002, p14), Database adalah kumpulan dari
data-data yang secara logikal berhubungan yang di-share, dan sebuah deskripsi dari
data ini dirancang untuk memenuhi kebutuhan informasi dari sebuah organisasi.
Database juga bisa digambarkan sebagai suatu koleksi dari record yang terintegrasi
yang menggambarkan dirinya sendiri, yang dikenal dengan nama system catalog (data
dictionary atau meta data atau data tentang data). Data yang secara logis berhubungan
ini terdiri dari entiti, atribut, dan relasi, dari sebuah informasi organisasi.
Berdasarkan Irmansyah (2003, p2), Database adalah kumpulan dari item data
yang saling berhubungan satu dengan yang lainnya yang diorganisasikan berdasarkan
33
sebuah skema atau struktur tertentu, tersimpan di hardware komputer dan dapat
dimanipulasi dengan perangkat lunak untuk kegunaan tertentu. Database memiliki
jenjang data yang menyusunnya dari satuan terkecil yaitu karakter sampai menjadi
database, dengan susunan:
1. Karakter (Character), merupakan bagian data yang terkecil, dapat berupa karakter
numerik, huruf ataupun karakter-karakter khusus yang membentuk suatu item
data/field.
2. Field, merepresentasikan suatu atribut dari record yang menunjukkan suatu item
dari data. Kumpulan dari field membentuk suatu record.
3. Record, menggambarkan suatu unit data individu yang tertentu.
4. File, menggambarkan satu kesatuan data yang sejenis. File terdiri dari record
5. Database, merupakan kumpulan dari file/tabel.
Gambar 2.8 Jenjang Data. ( Irmansyah, 2003, p3)
2.9.3 Database Relasional
34
Turban (2001, p150) menyatakan model database relasional sebagai cara
mengorganisasikan data dalam bentuk tabel/relasi yang terdiri dari baris (row atau
tuple) dan kolom (attribute).
Beberapa konsep dasar dari Turban (2001, p150) untuk database relasional
adalah:
•
Urutan dari baris (tuple) atau kolom (atribut) di dalam tabel tidak sama (irelevan)
•
Tiap baris harus dapat ditentukan secara unik
•
Tiap tabel harus dapat dibedakan dengan lainnya (dengan nama yang berbeda)
•
Tidak boleh ada baris atau kolom yang duplikat.
•
Hanya boleh ada satu nilai tiap sel (perpotongan antara baris dan kolom).
Menurut Connoly (2002, p70), database relasional adalah kumpulan relasi
(tabel) yang telah dinormalisasikan dan memiliki nama relasi yang berbeda/tertentu.
Normalisasi adalah teknik untuk menghasilkan relasi-relasi dengan properti yang
diinginkan (berasal dari kebutuhan data/data requirement yang diminta oleh sebuah
perusahaan). Model relasional berasal dari konsep matematik yaitu relasi, yang
diwujudkan dalam bentuk tabel. Relasi database berupa tabel dengan kolom dan baris
2.10 Internet
35
Gambar 2.9 World Wide Web Page Stucture.
(Senn, 1998, p123) yang dimodifikasi
2.10.1 Pengertian Internet
Internet
adalah
sekumpulan
jaringan
yang
berkomunikasi
yang
diinterkoneksikan melalui bridge dan/atau router (William Stalling, 2002, p153).
Internet merupakan jaringan komputer terbesar di dunia (jaringan dari jaringan) yang
merupakan kumpulan dari lebih 200.000 komputer individual yang dimiliki
pemerintahan, universitas, grup nirlaba, perusahaan, sekolah, bisnis, konsumer, serta
36
organisasi di seluruh dunia, di mana mereka dapat saling berkomunikasi dan bertukar
informasi secara bebas (Turban, 2001, p208).
Dengan Internet seseorang dapat
memperoleh banyak informasi dengan mudahnya. Menurut Wikipedia (anonim 1),
Internet adalah sistem umum global yang dapat diakses dari jaringan komputer yang
saling terhubung. Internet menggunakan packet switching dalam transmisi datanya dan
menggunakan Internet Protocol (IP) yang terstandarisasi. Sering pula disebut “Net”,
internet berasal dari nama “interconnection of networks” (Senn, 1998, p106), karena
internet adalah jaringan komunikasi yang menghubungkan banyak jaringan lainnya.
2.10.2 World Wide Web (WWW)
Situs Wikipedia (anonim 1) menyebutkan World Wide Web sebagai tempat
informasi dunia di mana masyarakat dapat ”membacanya” atau ”menulisnya” melalui
berbagai alat yang terhubung dengan internet. Biasa disebut juga dengan Web (the
Web), World Wide Web merupakan gabungan dari dokumen-dokumen elektronik yang
terinterkoneksi (web pages) yang terhubung melalui internet (Senn, 1998, p117).
2.10.3 Web Site
Web site adalah koleksi dari halaman web yang biasanya dimiliki oleh suatu
nama domain atau sub-domain dalam World Wide Web dalam Internet (anonim 1). Web
site berupa komputer yang terhubung pada internet yang mengandung hypermedia yang
bisa diakses dari berbagai komputer dalam jaringan melalui link dari hypertext
(McLeod, 2001, p55).
37
2.10.4 IP Address (Internet Protocol Address)
IP Address merupakan alamat unik dari alat-alat supaya dapat saling
mengidentifikasi dan berkomunikasi dalam jaringan komputer dengan menggunakan
Internet Protocol (IP) standar. Nomor IP ini memiliki empat bagian yang terbagi
dengan titik, contoh: 204.71.200.72 (IP address milik www.yahoo.com) (anonim 1 dan
Turban, p213).
2.10.5 Browser
Browser adalah sistem software yang dapat me-retrieve (memperoleh)
hypermedia dengan mengetikkan parameter pencariannya atau mengklik sebuah gambar
(McLeod, 2001, p56). Browser atau web browser merupakan program komputer yang
berjalan di sisi client yang dirancang untuk menempatkan dan menampilkan informasi
dalam World Wide Web. Web browser dapat menampilkan halaman web, berpindah
antar halaman web, menggunakan hyperlink dan mencari halaman-halaman yang
diinginkan (Senn, 1998, p122). Menurut wikipedia (anonim 1) Web browser adalah
aplikasi software yang memungkinkan user dapat melihat dan berinteraksi dengan teks,
gambar, dan informasi lainnya yang lokasinya dalam sebuah halaman web pada sebuah
web site dalam World Wide Web atau sebuah LAN.
2.11 Server
2.11.1 Pengertian Server
Server adalah komputer atau software yang menyediakan layanan untuk
komputer lainnya (anonim 1). Server adalah komputer utama jaringan dan menyediakan
38
sumber-sumber atau service yang dapat dibagikan (share) ke jaringan (Senn, 1998,
p461).
2.11.2 Web Server
Web server merupakan komputer dan program komputer yang bertanggung
jawab untuk menerima permintaan HTTP dari client/Web browser dan menyediakan
halaman web (dokumen HTML atau objek seperti gambar atau lainnya) (anonim 1).
2.11.3 Database Server
Database server adalah program komputer yang menyediakan layanan database
untuk program komputer lainnya (anonim 1). Server ini mengatur semua proses
penyimpanan data dan transaksi suatu aplikasi. Contoh software untuk menjalankan
database server adalah MS SQL Server 2000, Oracle 9i, Oracle 10g.
2.12 DBMS (Database Management System)
DBMS (Turban, 2001, p145) adalah suatu software yang memungkinkan
pemakai dapat mengelola (meyimpan, meng-update dan men-retrieve) data di dalam
suatu database secara lebih mudah dan efisien.
Ada empat komponen DBMS menurut Turban (2001, p146), yaitu:
1. Data Model, adalah cara data secara konseptual distrukturisasi/disusun.
2. Data Definition Language (DDL), adalah tipe dari informasi yang ada di database
dan bagaimana disusun.
39
3. Data Manipulation Language (DML), digunakan untuk menampilkan query (view)
atau isi, menyimpan dan meng-update informasi, dan mengembangkan aplikasi dari
database
4. Data Dictionary, menyimpan definisi dari elemen-elemen data dan karakteristik
data dan mengatur representasi fisik, data ownership dan sekuriti.
Connoly (2002, p16) mendefinisikan DBMS sebagai sistem perangkat lunak yang
memungkinkan
pemakai
untuk
mendefinisikan,
membuat,
me-maintain,
dan
mengontrol akses ke database.
Gambar 2.10 DBMS. (Connoly, 2002)
2.13 RDBMS (Relational DBMS)
DBMS terdiri dari beberapa jenis, dan jenis relasional adalah yang paling
populer. RDBMS (Relational Database Management System) adalah DBMS untuk jenis
ini. RDBMS dikatakan Haryono (2003, p17) sebagai satu paket perangkat lunak yang
menyediakan berbagai layanan untuk perancangan, penggunaan, dan pemeliharaan
40
database relasional. RDBMS modern memiliki kelebihan seperti pada interface,
maintenance integritas dan keamanan database, backup dan recovery, serta pengaturan
akses yang bersamaan. RDBMS menurut Connoly (2002, p70 - p84) merupakan
software untuk database relational yang dapat merepresentasikan database dalam
bentuk tabel. RDBMS menurut (Irmansyah, 2003, p9) adalah sekumpulan data yang
disimpan sedemikian rupa sehingga mudah diambil informasinya bagi pengguna, dan
data tersebut saling berhubungan. RDBMS memiliki tiga prinsip yaitu:
•
Data Definition, untuk mendefinisikan jenis data yang akan dibuat.
•
Data Manipulation, operasi yang dapat dilakukan terhadap data seperti query,
filtering, update.
•
Data Control, berhubungan dengan pengendalian data, seperti data ownership, data
security.
2.14 SQL (Structured Query Language)
Irmansyah (2003, p10) mengartikan SQL sebagai bahasa yang digunakan untuk
berkomunikasi dengan database. SQL menjadi bahasa standar untuk RDBMS, sehingga
walaupun menggunakan perangkat lunak yang berbeda, sintaks/perintahnya sama yaitu
SQL.
SQL merupakan sebuah bahasa database. SQL adalah bahasa database yang
sekarang distandarisasi secara internasional menjadi bahasa untuk mendefinisikan dan
memanipulasi database relasi menurut ISO (International Standard Organization)
(Connoly, 2002, p111–p113). SQL memiliki beberapa kelebihan seperti sintaks dan
strukturnya mudah dipelajari secara relatif,
usaha pemakai yang minimal dalam
41
melakukan sebuah tugas, dan portabel karena telah distandarisasi sehingga SQL dapat
dikenal oleh banyak DBMS. SQL memiliki dua komponen utama yaitu DDL (Data
Definition Language) dan DML (Data Manipulation Language).
2.15 Microsoft SQL Server 2000
Telah dibahas di atas, MS SQL SERVER 2000 merupakan salah satu contoh
DBMS yang digunakan untuk mengatur database. Berikut definisi formal dari software
buatan Microsoft ini:
•
Berdasarkan buku karangan Kalen Denaley (2001, c2), SQL Server 2000
merupakan RDBMS (Relational Database Management System) untuk client/server
dengan kinerja yang tinggi. SQL Server 2000 dibuat untuk menangani transaction
processing yang volumenya sangat tinggi.
•
Menurut SQL Server 2000 Help sendiri software ini adalah kumpulan dari
komponen yang bekerja sama untuk memenuhi kebutuhan penyimpanan dan analisa
data dari situs web terbesar dan sistem pemrosesan data perusahaan.
2.16 Stored Procedure (SP)
Stored Procedure merupakan suatu service dari DBMS yang menyimpan
statement SQL yang bisa digunakan untuk mengakses database (definisi dan
manipulasi).
Dalam SQL SERVER BOOKS-ONLINE, Stored Procedure adalah koleksi prakompilasi dari pernyataan Transact-SQL sebagai unit yang disimpan, memiliki nama
dan dapat diproses.
42
Stored Procedure digunakan untuk mengeksekusi perintah-perintah SQL.
Coding dengan bahasa Transact-SQL beserta dengan statement SQL (untuk manipulasi
database) dapat dibuat sendiri sesuai kebutuhan, disimpan dan dipanggil dengan
parameter. Menggunakan Stored Procedure memiliki keuntungan seperti mencegah
SQL-Injection, standarisasi coding, arsitektur data dapat dipisahkan dari logika aplikasi
sehingga meningkatkan performa manipulasi database.
2.17 Internet Information Service (IIS)
Menurut Microsoft Management Console Help (atau Microsoft IIS Help atau IIS
5.1 Documentation), IIS merupakan web service dari Windows XP yang digunakan
untuk mem-publish informasi ke internet atau intranet. IIS memiliki cakupan luas dari
fitur-fitur administratif untuk menangani situs web dan web server. Dengan adanya IIS,
Aplikasi web dapat digabungkan dengan fitur programatik seperti ASP sehingga akan
lebih deploy scalable dan fleksibel. IIS merupakan versi lebih lanjut dari PWS
(Personal Web Server)
2.18 .NET Framework
Menurut MSDN (2003), .NET Framework merupakan integrasi komponen
Windows yang mendukung pengembangan dan pengoperasian generasi terbaru dari
aplikasi dan XML web service. Komponen utama dari .NET Framework adalah
Common Language Runtime (CLR) dan class library dari .NET Framework. Selain dua
komponen utama tersebut, ada satu lagi komponen penting yaitu ASP.NET. .NET
Framework
menyediakan
lingkungan
(environment)
yang
sangat
produktif,
43
berstandarisasi, dan mendukung banyak bahasa untuk integrasi modal yang sudah
dimiliki dengan aplikasi dan service generasi selanjutnya, serta dapat menyambut
tantangan dari kemampuan internet yang hebat (deployment dan operasi). .NET
Framework adalah platform untuk bekerja baru yang menyederhanakan pengembangan
aplikasi menjadi highly distributed environment dari internet.
Menurut Julian Templeman (2002, p7) .NET adalah teknologi dari Microsoft
yang memiliki API (object-oriented API yang terdiri dari class yang bisa diakses bahasa
pemrograman) dan tool untuk membuat aplikasi window dan web, serta komponen dan
service dalam halaman web. .NET. Dengan kehadiran .NET, sistem terdistribusi
berdasarkan komponen sekarang menjadi lebih mudah, lebih fleksibel, dan lebih
powerful daripada sebelumnya. Semua bahasa yang dikompilasi dengan .NET
Framework akan menjadi kode-kode byte yang sama (Intermediate Language). Berikut
ini adalah gambar dari komponen utama .NET Framework
44
Gambar 2.11 .Net Framework (Julian, 2002, p9)
2.19 Visual Studio .NET
Menurut
MSDN
(2003),
Visual
Studio
.NET
merupakan
tool/alat
pengembangan untuk membangun aplikasi web ASP, XML web service, aplikasi
desktop, dan aplikasi mobile. Visual Studio .NET merupakan IDE (Integrated
Development Environment) yang terdiri dari bahasa pemrograman Visual Basic .NET,
Visual C++ .NET, Visual C# .NET, dan Visual J# .NET, yang terintegrasi sehingga
memungkinkan di antara bahasa-bahasa tersebut untuk dapat menggunakan tool dan
fasilitas bersama. Dengan berbasiskan .NET Framework bahasa-bahasa ini dapat
meningkatkan fungsinya yang memungkinkan pengembangan aplikasi web ASP dan
XML web service menjadi lebih sederhana.
2.20 Bahasa Pemrograman C#
Menurut MSDN (2003), C# merupakan bahasa pemrograman baru yang dibuat
untuk membangun aplikasi enterprise yang beroperasi pada .NET Framework. C#
merupakan evolusi dari bahasa C dan C++.
C# adalah bahasa pemrograman baru yang diciptakan Microsoft untuk developer
.NET untuk mengembangkan aplikasi yang berbasiskan platform .NET. C# adalah
bahasa high-level yang sederhana berdasarkan pada C++ dan Java. C# bisa dibilang
hasil turunan dari C++ atau Java yang diperbaiki. Bahasa ini juga mendukung konsep
berorientasi objek, serta fitur-fiturnya seperti encapsulation, inherritance, dan
polymorphism.
45
2.21 ASP.NET (Active Server Page .NET)
Menurut MSDN (2003), ASP.NET adalah gabungan dari teknologi dalam
Microsoft .NET Framework untuk membuat aplikasi web dan XML web service.
ASP.NET membentuk kelas pemrograman pada .NET Framework, menyediakan model
aplikasi web dengan banyak kontrol dan infrastruktur yang membuatnya sederhana
untuk membangun aplikasi web ASP. Halaman ASP.NET dijalankan di sisi server dan
men-generate tanda HTML, WML atau XML yang dikirimkan ke dekstop browser atau
mobile browser. Halaman ini menggunakan model terkompilasi dan event-driven
programming yang mampu meningkatkan kinerja dan dapat memisahkan logika
aplikasi dari user interface. Halaman ASP.NET dan XML web service yang diciptakan
dengan ASP.NET memiliki logika server-side dapat dibuat dengan berbagai bahasa
pemrograman yang kompatibel dengan .NET.
2.22 R.a.d. Control - Telerik
R.a.d. Control adalah sebuah produk yang dikembangkan oleh Telerik. R.a.d.
Control untuk mempermudah developer ASP.NET dalam pembuatan aplikasi web yang
menarik dan interaktif dengan mengurangi perlunya proses coding terutama dalam
bahasa Javascript dan XML.
2.23 N-Tier Solution
46
Architectural Patterns / Framework yang digunakan untuk proyek ini
menggunakan standar N-Tier Solution dari Duwamish (contoh proyek dari Visual
Studio) di mana sebuah solution terdiri dari beberapa layer / project yang memiliki
fungsi masing-masing.
Aplikasi yang menggunakan framework ini akan dibagi menjadi beberapa layer.
Tiap layer memiliki tanggung jawab masing-masing. Class dan fungsi dari tiap layer
dapat berhubungan dengan class dan fungsi dari layer lainnya. Dalam menyelesaikan
sebuah task dari user, ada komunikasi antar fungsi tersebut. Misalnya fungsi 1 untuk
memasukkan data pelanggan (layer UI) berhubungan dengan fungsi 2 (layer DB) yang
boleh melakukan operasi database langsung. Fungsi 1 hanya menanggani user interface
pemasukan data, sementara fungsi 2 yang meng-insert ke database. Dengan begitu
sistem akan lebih modular, terkendali (sekuritasnya) dan lebih elegan (pembagian
fungsi dan tanggung jawab yang logis).
Berikut pembagian layer pada N-Tier Solution:
•
Layer Common. Layer Common merupakan layer yang berisi class untuk
konfigurasi aplikasi (teknikal), class dengan fungsi tambahan (enum dan class
helper) dan class data (data class). Class data adalah mapping (penyesuaian) dari
tabel dari database. Disebut juga class data karena digunakan untuk menampung
data yang berhubungan dengan data dari tabel di database. Dengan enkapsulasi data
seperti ini, sistem akan lebih mudah beradaptasi jika mengalami perubahan (tabel
atau aturan bisnis).
47
•
Layer Business Facade (façade). Layer yang bertindak sebagai pengatur yang
terletak di antara layer Web UI dan Data Access. Bila terdapat aturan-aturan bisnis,
maka Business Facade akan memanggil layer Business Rules.
•
Layer Business Rules. Layer yang berisi semua aturan bisnis (business rule).
Framework ini sangat mengakomodasi perubahan aturan bisnis yang kerap kali
terjadi. Layer ini biasanya dipanggil oleh layer Business Facade untuk memastikan
suatu proses bisnis valid dikerjakan atau tidak. Bila valid/sesuai aturan bisnis, maka
perintah dapat dilanjutkan ke layer selanjutnya (Data Access).
•
Layer Data Access. Layer ini berinteraksi secara langsung dengan database. Fungsifungsi yang berhubungan dengan operasi database (view, insert, update, delete, dan
lain-lain) berada di class pada layer ini (umumnya untuk tiap tabel master dalam
database diwakili oleh satu class).
•
Layer System Framework. Layer ini berisi berbagai macam konfigurasi
(pengaturan), seperti letak virtual folder, exception handling, logging, konstanta,
dan sebagainya.
•
Layer Web UI. Semua halaman web dan user control terletak di layer ini. Client
melakukan request ke halaman di layer ini, kemudian layer ini yang memproses apa
yang harus dikerjakan, dan akhirnya mengirim kembali hasil kepada client.
48
Gambar 2.12 N-Tier Solution Framework
Ketika client melakukan request ke sebuah halaman pada layer Web UI,
halaman tersebut akan memprosesnya. Halaman tersebut akan memanggil fungsi dari
class pada layer Business Facade. Selanjutnya layer Business Facade akan memanggil
fungsi pada layer Data Access, namun jika perlu validasi aturan bisnis, maka class yang
bertanggung jawab pada layer Business Rules akan dipanggil terlebih dahulu,
menentukan boleh atau tidaknya fungsi tersebut dilakukan. Jika aturan bisnis terpenuhi,
maka fungsi dari class yang terdapat di layer Data Access akan dijalankan. Pada layer
Data Access ini dapat dilakukan berbagai operasi database. Class dari layer Common
dapat digunakan bila fungsi-fungsi tersebut mengirim data-data yang berhubungan
dengan database (dalam parameter dan return value).
2.24
Terminologi Sistem E-BiNus
Beberapa terminologi dalam aplikasi E-BiNus:
•
Client : Orang yang memberikan proyek software.
49
•
LMS (Learning Management System) : Aplikasi yang mendukung proses
pembelajaran. Untuk E-BiNus, LMS yang digunakan adalah BinusMaya / BLMS
(Binus Learning Management System)
•
CMS (Content Management System) : Aplikasi yang mendukung proses pengolahan
data untuk LMS.
•
E-BiNus Front End : aplikasi yang di-publish ke internet, yang digunakan oleh
pengunjung atau mahasiswa yang telah mendaftar ke E-BiNus.
•
E-BiNus Back End : aplikasi yang digunakan oleh administrator E-BiNus untuk
melakukan pengaturan data yang berkaitan dengan aplikasi E-BiNus.
•
Modul pelajaran : pelajaran / mata kuliah yang tersedia.
•
Modul aplikasi : modul yang merupakan bagian dari aplikasi.
Download