BAB II
LANDASAN TEORI
LANDASAN TEORI
2.1. Teori Pendukung
Pada awalnya situs web (website) merupakan suatu layanan sajian informasi yang
menggunakan konsep hyperlink atau menghubungkan satu halaman ke halaman
lainnya. Informasi yang disajikan dengan web
menggunakan konsep multimedia dari mulai teks, gambar, animasi, suara (audio)
dan film (video).
Pada perkembangannya sebuah situs web selalu dituntut agar menyajikan
informasi yang up to date. Apabila situs tidak dirancang dengan
sistematis maka programer akan mengalami kesulitan dalam proses
pemeliharaannya. Salah satu solusinya adalah dengan melakukan penambahan atau
perubahan dalam database.
Saat ini pemanfaatan aplikasi database client/server
sudah banyak diterapkan oleh kalangan bisnis untuk mengefisienkan pekerjaan
mereka untuk memperoleh data secara cepat dan akurat. Informasi yang disajikan
dari data tersebut sangat menunjang dalam proses pengambilan keputusan yang
tepat. Sebab dengan menggunakan arsitektur client/server, semua proses
pengolahan data dapat dilakukan pada satu tempat saja. Sehingga proses
perolehan informasi terhindar dari perolehan data kadaluwarsa akibat
terpisahnya tempat untuk menyimpan data.
2.1.1. Konsep dasar sistem
Untuk membangun sebuah web page dibutuhkan sebuah bahasa
pemrograman dengan sebutan web scripting.
Dikatakan script karena perintah kode program tersebut akan di interpreter dan tidak ada kompilasi untuk menjadikannya executable. Berdasarkan letak proses interpreter maka web scripting dibagi menjadi dua kategori, yaitu yang bersifat client side dan server side. Client side dilakukan oleh web browser seperti internet explorer, netscape, opera, firefox. Untuk contoh
bahasa client side adalah HTML, CSS, Javascript, VB script, dan XML. Sedangkan server
side dilakukan oleh web server
seperti PWS (Personal Web Server
untuk Sistem Operasi Windows 98), IIS (untuk Sistem Operasi Windows 2000 atau
Windows XP), Apache, Tomcat, Xitami dan ZOPE. Untuk contoh bahasa server side adalah ASP (.NET), PHP, JSP,
CFM, dan CGI atau PL. (Suteja dkk, 2007:1-2)
Web scripting yang bersifat client
side akan menghasilkan web page
yang statis artinya lebih menekankan pada desain format tampilan informasi dan
informasi yang disajikan tidak dapat di update
seketika, karena tidak dapat dilakukan request
interaktif dari pengguna dan proses tidak terjadi di server sehingga tidak akan dapat menghasilkan output apa pun. Sehingga sangatlah tidak mungkin untuk menciptakan
aplikasi web yang bersifat dinamis
dengan web scripting bersifat client side ini, tetapi harus
dikombinasikan juga dengan web scripting
yang bersifat server side.
Web statis adalah web yang berisi
atau menampilkan informasi-informasi yang sifatnya statis (tetap), sedangkan web dinamis adalah web yang menampilkan informasi serta dapat berinteraksi dengan user yang sifatnya dinamis. Sehingga
untuk membuat web dinamis dibutuhkan
kemampuan pemrograman web.
A.
Definisi Sistem
Sistem adalah kumpulan dari user/lemen-elemen
yang saling berkaitan/berinteraksi dan saling mempengaruhi dalam melakukan
kegiatan bersamauntuk mencapai suatu tujuan tertentu.( jogianto,2001:2)
1.
Karakteristik sistem
a.
Komponen
(Component)
Suatu sistem terdiri dari jumlah komponen yang
saling berinteraksi, bekerja sama membentuk satu kesatuan.
b.
Batasan
sistem (boundary)
Batas sistem merupakan daerah yang membatasi
antara satu sistem dengan sistem yang lainnya atau dengan lingkungan luar.
c.
Lingkungan
luar sistem (Envroment)
Segala sesuatu diluar dari batas sistem yang
mempengaruhi oprasi dari suatu sistem.
d.
Penghubung
sistem (Interface)
Merupakan media penghubung antara satu subsistem
dengan subsistem yang lainnya.
e.
Masukan
sistem (Input)
Merupakan energi yang dimasukan kedalam sistem.
f.
Keluaran
sistem (Output)
Merupakan hasil dari energi yang diolah oleh
sistem.
g.
Pengolahan
sistem (Proces)
Merupakan bagian yang memproses masukan untuk
menjadi keluaran yang diinginkan.
h.
Tujuan
sistem (goal)
Setiap sistem pasti mempunyai tujuan ataupun
sasaran yang mempengaruhi input yang dibutuhkan dan output yang dihasilkan.
Dengan kata lain suatu sistem akan dikatakan berhasil kalau pengoperasian
sistem itu mengenai sasaran atau tujuan.
B.
Definisi E-Commerce
Menurut David Baum, pengertian e-commerce
adalah: “E-Commerce is a dynamic set of technologies, applications, and business
process that link enterprise, consumers, and communities through electronic
transactions and the electronic exchange of goods, services, and information”.
E-Commerce merupakan satu set dinamis teknologi, aplikasi, dan proses
bisnis yang menghubungkan perusahaan, konsumen, dan komunitas tertentu melalui
transaksi elektronik dan perdagangan barang, pelayanan, dan informasi yang
dilakukan secara elektronik (Purbo,2000:2).
1.
E-Commerce memiliki lima konsep dasar :
a. Automation
Otomasi bisnis proses sebagaipengganti proses
manual (konsep“enterprise resource
planning“).
b. Streamlining
/ Integration
Proses yang terintegrasi untuk mencapai hasil yang
efesien dan efektif(konsep “just in time“).
c. Publishing
Kemudahan berkomunikasi dan berpromosi untuk
produk dan jasa yang diperdagangkan(konsep“electronic
cataloging“).
d. Interaction
Pertukaran informasi/data antar pelaku bisnis
dengan meminimalisasikan human error (konsep“electronic
data interchange“).
e.
Transaction
Kesepakatan dua pelaku bisnis dengan bertransaksi
dengan melibatkan institusi lain sebagai fungsi pembayar (konsep“electronic payment“).
2.1.2. Konsep Dasar Program
World Wide Web biasa disebut web merupakan sebuah sistem yang
interlinked (kumpulan link atau saluranyang saling terhubung ), akses dokumen
hypertext melalui internet (Shalahuddin,2010a:4).
Pada awalnya situs web (web site) merupakan suatu
layanan sajian informasi yang menggunakan konsep hyperlink atau
menghubungkan satu halaman ke halaman lainnya. Informasi yang disajikan dengan web menggunakan konsep multimedia dari
mulai teks, gambar, animasi, suara (audio) dan film (video).
Pada perkembangannya sebuah situs web selalu dituntut agar menyajikan
informasi yang up to date. Apabila situs tidak dirancang dengan
sistematis maka programer akan mengalami kesulitan dalam proses
pemeliharaannya. Salah satu solusinya adalah dengan melakukan penambahan atau
perubahan dalam database.
Saat ini pemanfaatan aplikasi database client/server
sudah banyak diterapkan oleh kalangan bisnis untuk mengefisienkan pekerjaan
mereka untuk memperoleh data secara cepat dan akurat. Informasi yang disajikan
dari data tersebut sangat menunjang dalam proses pengambilan keputusan yang
tepat. Sebab dengan menggunakan arsitektur client/server, semua proses
pengolahan data dapat dilakukan pada satu tempat saja. Sehingga proses
perolehan informasi terhindar dari perolehan data kadaluwarsa akibat
terpisahnya tempat untuk menyimpan data.
A.
PHP
PHP
merupakan singkatan dari HyperText Pre Processor. PHP merupakan bahasa skrip yang
ditempatkan dalam server dan diproses di server (Syafii,2005:4). Hasil yang
dikirim ke klien , tempat pemakai menggunakan browser. PHP merupakan sebuah bahasa pemprograman scripting
berlisensi open source. Sript ini dapat bercampur dengan script Tag HTML.
PHP adalah
bahasa server-side scripting yang
bisa menyatu dengan tag-tag HTML. Server-side
scripting adalah sintaks dan perintah-perintah yang dijalankan pada server
dan disertakan pada dokumen HTML. Pada suatu halaman yang dinamis, PHP
berfungsi sebagai bahasa pemrograman yang menjalankan suatu perintah tertentu,
sedangkan HTML berfungsi sebagai struktur dari desain halaman web. Ketika
sebuah halaman web dinamis dibuka pada web browser, pertama kali yang terjadi
adalah server memproses semua perintah PHP yang ada kemudian menampilkan
hasilnya pada format HTML ke web browser, sehingga yang ditampilkan ke web
browser hanya tampilan desain dari HTML saja, sedangkan skrip PHP bekerja di
belakang layar.
PHP
merupakan software Open Source, jadi PHP bisa digunakan oleh siapa saja secara
bebas tanpa harus membayar, dengan kata lain PHP adalah gratis. PHP juga
merupakan software cross platform, jadi bisa berjalan dengan baik pada windows
dan unix ( linux ).
Hampir
semua aplikasi berbasis web bisa dibuat dan dijalankan dengan PHP, namun
kelebihan utama PHP adalah konektivitas dengan database. PHP mampu mengolah
data pada berbagai platform database, namun yang paling ideal dan banyak
digunakan adalah menggunakan database MySQL. PHP+MySQL menjadi standart bagi
pembuatan web dinamis saat ini, hal ini dikarenakan keduanya open source,
sehingga bisa digunakan siapa saja dengan bebas. PHP juga dianggap mudah untuk
dipelajari, sehingga tidak diperlukan pengetahuan mendalam tentang pemrograman
untuk memahaminya.
Dibawah
ini adalah contoh skrip PHP sederhana :
<?php
print (“Hello”)
?>
Penjelasan
dari skrip diatas adalah sebagai berikut :
Tag
“<?php” berfungsi memberitahu server, awal dari skrip PHP.Tag “print(“Hello”);
“ merupakan statement dari PHP yang pada akhir perintah harus diberi tanda
semicolon ( “;” ) yang merupakan penanda akhir dari statement PHP.Tag “?>”
berfungsi memberitahu server, akhir dari skrip PHP. Ini adalah aturan dasar
dalam menulis skrip PHP.
B.
MySQL
1.
Pengertian data base MySQL
MySQL adalah multiuser
database yang menggunakan bahasa Structured Query Language (SQL). MySQL merupakan
software sistem manajemen database (Database
Management System – DBMS) yang sangat smenggunakan script PHP dan PERL Software database
ini dapat berfungsi atau berjalan pada semua platform sistem operasi yang biasa
digunakan (Windows, Linux, OS/2, berbagai varian Unix).
Gambar II.1.
Tampilan
Ruang Kerja Database MySQL
MySQL adalah aplikasi atau system untuk mengelola database atau manajemen data. Untuk menyimpan
data dan informasi ke komputer
kita menggunakan data . File data
yang dikelompokan inilah yang disebut database,
dan MySQL bertugas mengatur dan mengelola struktur atau kerangka yang berbentuk
table. Dalam table-tabel itulah data diatur dan dikelompokkan. (Gunawan,2010:15)
Sama halnya dengan PHP, MySQL merupakan
jenis software yang termasuk open
source. Perangkat lunak sumber
terbuka (Inggris: open source software) adalah jenis perangkat lunak yang kode sumber-nya terbuka untuk dipelajari, diubah,
ditingkatkan dan disebarluaskan. Karena sifat ini, umumnya pengembangannya
dilakukan oleh satu kelompok terbuka yang bertujuan mengembangkan perangkat
lunak bersangkutan.
2.
Kelebihan Database MySQL
a. Portabilitas
MySQL dapat berjalan pada berbagai sistem operasi seperti Windows, Linux, FreeBSD, Mac Os X Server, Solaris, Amiga dan masih banyak lagi.
b. Perangkat lunak Open source
MySQL didistribusikan sebagai perangkat lunak Open Source, dibawah lisensi GPL sehingga dapat digunakan secara
gratis.
c. Multi-User
MySQL dapat digunakan oleh beberapa pengguna dalam
waktu yang bersamaan tanpa mengalami masalah atau konflik.
d. Performance tuning
MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat
memproses lebih banyak SQL per satuan waktu.
e.
Ragam tipe data
MySQL
memiliki ragam tipe data yang sangat kaya, seperti signed / unsigned integer,
float, double, char, text, date, timestamp, dan lain-lain.
f. Perintah dan Fungsi.
MySQL
memiliki operator dan fungsi secara penuh yang mendukung perintah Select dan Where dalam perintah (query).
g.
Keamanan
MySQL mampu
menangani basis data dalam skala besar, dengan jumlah rekaman ( record ) lebih dari 50 juta dan 60 ribu
table serta 5 milyar baris. Selain itu batas indeks yang dapat ditampung
mencapai 32 indeks pada setiap tabelnya.
h.
Konektivitas
MySQL dapat
melakukan koneksi dengan client menggunakan protocol TCP/IP, Unix soket (UNIX),
atau Named Pipes (NT).
i.
Lokalisasi
MySQL dapat mendeteksi
pesan kesalahan pada client dengan menggunakan lebih dari dua puluh bahasa.
j.
Antarmuka
MySQL
memiliki antarmuka ( interface ) terhadap berbagai aplikasi dan bahsa
pemrograman dengan menggunakan fungsi API ( Application
Programming Interface ).
k.
Klien dan Peralatan
MySQL
dilengkapi dengan berbagai peralatan ( tools
) yang dapat digunakan untuk administrasi basis data ( database ), dan pada setiap peralatan yang ada disertakan petunjuk
online.
l.
Struktur tabel
MySQL
memiliki struktur table yang lebih fleksibel dalam menangani ALTER TABLE,
dibandingkan basis data (database)
lainnya semacam ( PostgreSQL ataupun Oracle).
C.
Macromedia
Dreamweaver 8
Dreamweaver MX (MX 8, MX 7, MX 2004 dan
MX 8) adalah salah satu bentuk program editor web yang dibuat oleh Macromedia
dengan alamat website www.macromedia.com. Dengan menggunakan
program ini, seorang programer web dapat
dengan mudah membuat dan mendesain webnya, karena bersifat WYSWYG (What You See Is What
You Get).
Macromedia Dreamweaver 8 merupakan salah satu program aplikasi web
editor yang memudahkan seseorang untuk membuat website dengan cepat,
mudah dan hasilnya pun menjadi sangat menarik dan interaktif. Pada
aplikasi ini, dilengkapi dengan berbagai macam kelengkapan baik tools
maupun tampilannya sehingga waktu pembuatan juga akan menjadi lebih
efektif dan efisien. (Nugroho,2009:1)
Macromedia Dreamweaver 8 memiliki perform yang baik dan memiliki tampilan yang memberi kemudahan
untuk membuat halaman Web, baik
ketika seseorang sedang bekerja dalam jendela desain maupun dalam jendela kode
rumus. Macromedia Dreamweaver 8
didukung dengan cara pemakaian yang praktis dan standar, dan juga didukung
untuk pengembangan CSS, XML, dan RSS, serta kemudahan-kemudahan lain yang diperlukan.
Agar lebih jelas apa saja yang
ada pada area kerja Macromedia Dreamweaver 8, maka akan di uraikan satu persatu.
Insert Document Coding
Document Panel
Tag properties Status Bar,
Ruler Files panel
Selector Inspector Hand Tool
Gambar II.2.
Tampilan Ruang Kerja Dreamweaver 8
Keterangan:
1. Insert
Bar
Berisi tombol-tombol untuk memasukkan berbagai
jenis objek seperti gambar, form, tabel, layer dan lainnya ke
dalam dokumen yang sedang dibuat. Pada prinsipnya, insert bar dibuat
untuk memudahkan pengguna agar dapat melengkapi halaman yang sedang dibuat
dengan cepat. Insert bar memiliki beberapa pilihan menu berbentuk
ikon-ikon yang akan membantu karena kepraktisannya untuk mendesain, yaitu:
a. Common, terdapat pilihan untuk memasukkan hyperlink,
email link, anchor, tabel,
gambar, media lain, tanggal, komentar, template dan lainnya.
b.
Layout, terdapat ikon untuk objek seperti tabel,
layer, frame, dan lain sebagainya yang akan membantu dalam
pembuatan layout.
c. Form,
terdapat ikon pembentuk form seperti Text
Field, Hidden Field, Textarea, Check Box, Radio Button, Radio Group, List/Menu,
Jump Menu, Image Field, File Field, dan Button.
d.
Text, di
dalamnya terdapat ikon untuk memformat teks seperti Bold, Italic, Strong pemilihan jenis
huruf, Header, Ordered List, Unordered List, Break, Line Break,
Paragraf dan lainnya.
e.
HTML, terdapat beberapa ikon antara lain Horizontal
Head, Table, dan Script.
f.
Application, terdapat ikon-ikon untuk penambahan
server behaviour ke dalam halaman website
sehingga memudahkan penerapan dynamic content dan behaviour.
g.
Flash Elements
Namun secara default Insert Bar akan selalu memunculkan menu Common yang di dalamnya
terdapat hal-hal yang sering digunakan untuk mendesain website.
2. Property
Inspector
Berfungsi untuk memudahkan
mengisi parameter pada objek yang diinginkan. Bagian ini terdiri dari:
a.
Page Property Inspector, digunakan untuk
mengatur parameter halaman website. Parameter tersebut adalah:
1.
Format, digunakan untuk melakukan pengaturan
teks yang akan di tuliskan pada dokumen.
2.
Font, digunakan untuk melakukan pengaturan
huruf yang akan digunakan pada halaman website.
3.
Size, digunakan untuk menentukan ukuran huruf
yang akan digunakan.
4.
Text
Color, digunakan untuk
menentukan warna huruf yang akan digunakan pada website.
5.
Align
Paragraf, digunakan untuk
mengatur letak paragraf, pilihannya
ada rata kiri, rata kanan, rata tengah, dan rata kiri kanan.
b.
Image Property Inspector, terdapat beberapa
parameter, antara lain:
1. Ukuran gambar, dinyatakan dalam pixel. Besar ukurannya terlihat pada
kotak isian W (Width) dan H (Height).
2. Letak file gambar, dinyatakan pada kotak
Src (Source) yang berisi keterangan di mana letak file gambar itu berada.
3. Link, berisikan alamat URL yang merupakan link tujuan ketika gambar itu ditekan.
c.
Tabel
Property Inspector, terdapat
beberapa parameter, antara lain:
1.
Rows, berisi angka yang menunjukkan jumlah
baris yang terdapat pada tabel tersebut.
2.
Cols, berisi angka yang menunjukkan jumlah
kolom yang terdapat pada tabel tersebut.
3.
W
(Width), berisi angka
yang menunjukkan panjang tabel yang satuannya dapat berupa pixel ataupun prosentase.
4.
H
(Height), berisi angka
yang menunjukkan tinggi tabel.
5.
Align, menunjukkan letak posisi tabel pada
dokumen website, dengan pilihannya Default, Left, Center,
dan Right.
6.
Border, berisi angka yang menunjukkan ketebalan border
sebuah tabel.
d.
Form Property Inspector
1.
Form
Name, merupakan identitas
sebuah form.
2.
Action, menunjukkan nama file yang akan memproses inputan yang diberikan oleh user lewat
halaman form.
3.
Method, merupakan metode pengiriman data yang
telah diinputkan untuk diproses oleh web server.
4.
Flash Property Inspector, bagian ini akan muncul jika kita telah
memasukkan media flash ke dalam halaman website.
3.
Panel
Groups
Berfungsi untuk menampung
semua panel yang ada dalam satu
jendela sehingga tampilan akan menjadi ringkas. Panel Groups memiliki
beberapa panel di dalamnya antara lain:
a.
Design, memiliki dua menu di dalamnya, yakni menu
CSS Style dan Layer.
b.
Code, berisi
dua menu, yakni Snippets dan Preferences.
c.
Application,
digunakan untuk penggunaan halaman website yang memiliki data yang
dinamis.
d.
Tag Inspector,
memudahkan untuk melakukan perubahan terhadap tag-tag atribut HTML yang
telah dibuat.
e.
Files, untuk membuka file.
f.
History, mencatat setiap langkah yang telah kita
lakukan ketika mendesain website.
4. Document Window
merupakan sebuah halaman website
yang akan dibuat. Sedangkan Document Toolbar
menampilkan nama file dokumen website
yang dibuka program aplikasi Macromedia
Dreamweaver 8. Selain nama file, juga terdapat tombol minimize,
restore dan close yang bisa digunakan untuk menutup dokumen website
yang sedang dibuka.
5. Document
Toolbar
Berisi tombol-tombol dan menu pop-up yang menyediakan tampilan
berbeda dari Document Window,
misalnya Code, Split, atau Design.
6. Coding
Toolbar
Berisi tombol-tombol yang
digunakan untuk mempermudah pekerjan pada jendela Code.
7. Tag
Selector
berfungsi untuk menampilkann hirarki tag di sekitar pilihan yang aktif pada Design View.
8. Status
Bar, Hand Tool dan Zoom
Menampilkan status pekerjaan dan
mengatur tampilan jendela desain.
9. Ruler
Mempermudah pengukuran secara akurat.
10. Files Panel
Digunakan untuk mengatur file-file dan folder-folder
yang membentuk situs web.
D.
Aplikasi Website
Aplikasi web merupakan halaman dinamis yang mengijinkan
interaksi dengan user (melakukan sesuatu). Interaksi user dengan aplikasi web misalnya user mengklik
sebuah tombol dan warna latar belakang web
berubah.(Shalahudin,2010b:6)
E.
Web Broser
Web browser adalah suatu program komputer yang menyediakan
fasilitas untuk membaca halaman web
disuatu komputer . (Febrian,2004a:191)
Untuk mengakses layanan
WWW, diperlikanprogram aplikasi client WWW, yang dikenal sebagai web broser yang ada seperti :
1. Internet Explorer
2. Nescape
Napigator
3. Mozila
Firefox
4. Hot
Java
F.
Web Hosting
Web Hosting tempat meletakan data-data yang akan di
akses melalui internet.(Febrian,2004b:10)
Web
Hosting in juga dapat di
peroleh secara gratis atau membeli pada penyedia jasa web hosting komersial. Berdasarkan sistem Oprasi yang dapat dua
jenis web hosting yang tersedia saat
ini , yaitu : web hosting berbasis windows dan web hosting berbasis unix/linux.
G.
Web Server
Web
Server merupakan suatu
perangkat lunak yang dijalankan pada komputer
server dan berfungsi agar
dokumen web yang disimpan di server dapat diakses pemakai (user) internet seperti misalnya
xampp.(Shalahuddin,2010c:6)
H.
Domain
Domain adalah sebuah sistem yang menyimpan
informasi tentang nama host maupun nama
domain dalam bentuk basis data tersebar (distributed
database) di dalam jaringan computer.(id.wikipedia.org.30 agustus
2010.19:35)
2.2. Peralatan Pendukung ( Tools System )
2.2.1. Pengenalan UML( Unified Modeling Language )
Unified Modelling Language
(UML) adalah salah satu
alat bantu yang sangat handal di dunia pengembangan sistem yang berorientasi
obyek. Hal ini disebabkan karena UML menyediakan bahasa pemodelan visual
yang memungkinkan bagi pengembang sistem untuk membuat visualisasi atas visi
mereka dalam bentuk yang baku, mudah dimengerti serta dilengkapi dengan
mekanisme yang efektif untuk berbagi (sharing)
dan mengkomunikasikan rancangan mereka dengan yang lain .(Munawar,2005a:17)
UML
merupakan bahasa spesifikasi pendokumentasian yang telah distandarkan untuk
mendokumentasikan, menjabarkan spesifikasi sistem dalam medukung pembangunan
perangkat lunak sehingga memudahkan komunikasi antar pengembang perangkat lunak
pada pengembangan sebuah proyek. Biasanya UML digunakan untuk mendukung
pendokumentasian pemrograman yang sudah berorientasi objek .(Sasongko,2009:12).
UML merupakan kesatuan
dari bahasa pemodelan yang dikembangkan oleh Booch, Object Marketing Technique (OMT) dan Object Oriented Software Engineering (OOSE). Metode Booch dari Grady Booch sangat terkenal
dengan nama metode Design Object Oriented.
Metode ini menjadikan proses analisis dan design ke dalam empat tahapan
iteratif, yaitu identifikasi kelas-kelas dan objek-objek, identifikasi semantik
dari hubungan objek dan kelas tersebut, perincian interface dan implementasi. Keunggulan metode Booch adalah para
detil dan kayanya dengan notasi dan elemen. Pemodelan OMT yang dikembangkan
oleh Rumbaugh didasarkan pada analisis terstruktur dan pemodelan
entity-relationship. Tahapan utama dalam metodologi ini adalah analisis, design sistem, design objek dan implementasi. Keungulan metode ini adalah dalam
penotasian yang mendukung semua konsep Object
Oriented. Metode OOSE dari Jacobson lebih memberi penekanan pada use case. OOSE memiliki tiga tahapan
yaitu membuat model requirement dan
analisis design dan implementasi, dan
model pengujian (test model).
Dengan UML, metode Booch, OMT dan OOSE digabungkan
dengan membuang elemen–elemen yang tidak praktis ditambah dengan elemen-elemen
dari metode lain yang lebih efektif dan elemen-elemen baru yang belum ada pada
metode terdahulu sehinggam UML lebih ekspresif dan seragam daripada metode
lainnya.
UML paling tidak mempunyai tiga karakter
penting yang melekat di UML yaitu sketsa, cetak biru dan bahasa pemrograman.
Sebagai sketsa, UML bisa berfungsi sebagai jempatan dalam mengkomunikasikan
beberapa sapek dari sistem. UML bisa juga berfungsi sebagai sebuah cetak biru
karena sangat lengkap dan detil. Dengan cetak biru ini maka akan bisa diketahui
informasi detil tentang coding program (forward
engineering) atau bahkan membaca program dan menginterpretasikannya kembali
ke dalam diagram (reverse engineering).
Reverse engineering sangat berguna pada situiasi dimana code program yang
tidak terdokumentasi akan dimodifikasi atau dipelihara. Hal ini bisa terjadi
ketika dokumentasi asli hilang atau bahkan belum dibuat sama sekali. Sebagai
bahasa pemrograman, UML dapat menterjemahkan diagram yang ada UML menjadi code
program yang siap untuk dijalankan.
UML mempunyai sejumlah elemen grafis yang
bisa dikombinasikan menjadi diagram. Diagram menggambarkan atau
mendokumentasikan beberapa aspek dari sebuah sistem. Berikut adalah klasifikasi
diagram yang ada pada UML :
1.
Use Case Diagram
Use case adalah deskripsi fungsi
dari sebuah sistem dari perspektif pengguna. Use case bekerja dengan
cara mendeskripsikan tipikal interaksi anatara user (pengguna) sebuah
sistem dengan sistemnya sendiri melalui sebuah cerita bagaimana sebuah sistem
dipakai. Urutan langkah-langkah yang menerangkan antara pengguna dan sistem
disebut scenario. Setiap scenario
mendeskripsikan urutan kejadian. Setiap urutan diinisialisasi oleh orang,
sistem yang lain, perangkat keras atau urutan waktu. Dengan demikian use
case adalah serangkaian scenario yang digabungkan bersama-sama oleh
tujuan umum pengguna.(Munawar,2005b:63)
Use Case Diagram menggambarkan
fungsional yang diharapkan dari sebuah system. Yang ditekankan adalah “apa”
yang diperbuat sistem, dan bukan “bagaimana”.
Dalam
pembicaraan tentang use case, pengguna biasanya disebut dengan actor.
Untuk mengidentifikasi actor, harus ditentukan pembagian tenaga kerja
dan tugas-tugas yang berkaitan dengan peran pada konteks target sistem. Actor
adalah abstraksi dari orang dan sistem yang lain yang mengaktifkan fungsi
dari target sistem. Orang atau sistem biasa muncul dalam beberapa peran. Perlu
dicatat bahwa actor berinteraksi dengan use case, tetapi tidak
memiliki control atas use case. Diagram use case menunjukkan 3 aspek dari sistem yaitu actor,
use case dan sistem/sub sistem boundary.
2.
Class Diagram
Class adalah sebuah spesifikasi yang jika
diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari
pengembangan dan desain berorientasi objek. Class menggambarkan keadaan
(atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk
memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan
struktur dan deskripsi class, package dan objek beserta hubungan satu
sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
Class memiliki tiga area pokok :
a.
Nama, merupakan nama dari sebuah kelas
b. Atribut, merupakan property dari
sebuah kelas.
c. Operasi,
sesuatu yang bisa dilakukan oleh sebuah class atau yang dapat dilakukan oleh class lain terhadap sebuah class.
Atribut dan metoda dapat memiliki salah satu sifat
berikut :
a.
Private, tidak dapat
dipanggil dari luar class yang bersangkutan.
b.
Protected, hanya dapat dipanggil oleh class yang
bersangkutan dan anak-anak yang mewarisinya.
c.
Public, dapat
dipanggil oleh siapa saja.
d.
Package, hanya dapat
dipanggil oleh instance sebuah class pada paket yang sama.
Class dapat merupakan implementasi dari sebuah interface,
yaitu class abstrak yang hanya memiliki metoda. Interface tidak
dapat langsung diinstansikan, tetapi harus diimplementasikan dahulu menjadi
sebuah class. Dengan demikian interface
mendukung resolusi metoda pada saat runtime.
Hubungan Antar Class :
a. Asosiasi, yaitu hubungan statis antar
class. Umumnya menggambarkan class yang memiliki atribut berupa class
lain, atau class yang harus mengetahui eksistensi class lain.
Panah navigability menunjukkan arah query antar class.
b.
Agregasi,
yaitu hubungan yang menyatakan bagian (“terdiri atas...”).
c. Pewarisan, yaitu hubungan hirarkis antar class.
Class dapat diturunkan dari class lain dan mewarisi semua atribut
dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga
ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan
adalah generalisasi.
d. Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu class kepada class lain.
Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang
akan dijelaskan kemudian.
3.
Statechart diagram
Statechart diagram, atau yang biasa
juga disebut state diagram digunakan untuk mendokumentasikan beragam
kondisi/keadaan yang bisa terjadi terhadap sebuah class dan kegiatan apa
saja yang dapat merubah kondisi/keadaan tersebut.
Statechart diagram menggambarkan transisi dan perubahan
keadaan (dari satu state ke state lainnya). Pada umumnya statechart
diagram menggambarkan class tertentu (satu class dapat
memiliki lebih dari satu statechart diagram). Dalam UML, state digambarkan
berbentuk segi empat dengan sudut membulat dan memiliki nama sesuai kondisinya saat
itu. Transisi antar state umumnya memiliki kondisi guard yang
merupakan syarat terjadinya transisi yang bersangkutan, dituliskan dalam kurung
siku ([]). Action yang dilakukan sebagai akibat dari event tertentu
dituliskan dengan diawali garis miring. Titik awal dan akhir digambarkan
berbentuk lingkaran berwarna penuh dan berwarna setengah.
4.
Activity Diagram
Activity diagram adalah teknik untuk
mendeskripsikan logika procedural, proses bisnis dan aliran kerja dalam banyak
kasus. Activity Diagram mempunyai peran seperti halnya flowchart, akan
tetapi perbedaannya dengan flowchart adalah activity diagram bisa
mendukung perilaku paralel sedangkan flowchart tidak bisa.(Munawar,2005c:109)
Activity diagram bisa digunakan untuk
menunjukkan siapa mengerjakan apa. Activity diagram menggambarkan berbagai alir aktivitas
dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, decision
yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga
dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.
Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih.
Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan
bagaimana aktor menggunakan sistem untuk melakukan aktivitas. Sama seperti state,
standart UML menggunakan segi empat dengan sudut membulat untuk
menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour
pada kondisi tertentu, digambarkan dengan simbol belah ketupat. Untuk
mengilustrasikan proses-proses paralel (fork and join) digunakan titik
sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal.
5.
Sequcence Diagram
Sequence Diagram menggambarkan interaksi
antar objek di dalam dan di sekitar sistem (termasuk pengguna, display,
dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence
diagram terdiri atas dimensi vertical (waktu) dan dimensi horizontal
(objek-objek yang terkait).
Sequence diagram juga digunakan untuk menggambarkan perilaku
pada sebuah scenario. Diagram ini
menunjukkan sejumlah contoh objek dan message
(pesan) yang diletakkan diantara objek-objek ini di dalam use case.(Munawar
,2005d:87)
Komponen utama sequence
diagram terdiri atas objek yang dituliskan dengan kotak segiempat bernama. Message
diwakili oleh garis dengan tanda panah dan waktu yang ditunjukkan dengan progress
vertical.
Message adalah tanda panah yang menghubungkan
suatu life line ke life line yang lain. Lokasi life line dalam dimensi vertical mewakili urutan waktu dalam sequence diagram. Message yang pertama terjadi adalah yang paling dekat dengan
bagian atas diagram dan yang terjadi belakangan adalah bagian bawah.
6.
Collaboration Diagram
Collaboration Diagram menggambarkan interaksi antar objek
seperti sequence diagram, tetapi lebih menekankan pada peran
masing-masing objek dan bukan pada waktu penyampaian message. Setiap message memiliki sequence
number, dimana message dari level tertinggi memiliki nomor 1
(satu). Messages dari level yang sama memiliki prefix yang
sama pula.
Collaboration Diagram adalah bentuk lain sequence diagram. Bila sequence
diagram diorganisir menurut waktu maka collaboration Diagram diurut menurut ruang/space .(Munawar,2005e:107).
7.
Componen Diagram
Componen Diagram menggambarkan struktur dan hubungan antar komponen
piranti lunak, termasuk ketergantungan (dependency) diantaranya.
Komponen piranti lunak adalah modul berisi code, baik berisi source
code maupun binary code, baik library maupun executable, baik yang muncul pada
compile time, link time, maupun run time. Umumnya komponen
terbentuk dari beberapa class dan atau package, tapi dapat juga
dari komponen-komponen yang lebih kecil. Komponen dapat juga berupa interface,
yaitu kumpulan layanan yang disediakan sebuah komponen untuk komponen lain.
Hal penting dari component
adalah component mewakili potongan- potongan yang independent yang
bisa dipesan dan diperbarui sewaktu-waktu. Dengan demikian pembagian sistem ke dalam
component lebih didorong untuk
kepentingan marketing daripada kepentingan teknik .(Munawar,2005f:122)
8.
Deployment Diagram
Deployment diagram menyediakan gambaran
bagaimana sistem secara fisik akan terlihat. Sistem terdiri dari
node-node dimana setiap node mewakili sebuah kubus. Garis yang menghubungkan
antara 2 kubus menunjukkan hubungan diantara kedua node
tersebut.(Munawar ,2005g:127).
Deployment diagram digunakan untuk melayani pemodelan hardware
yang digunakan dalam imlpementasi sistem dan asosiasinya antara
komponen-komponen tersebut. Deployment diagram menggambarkan bagaimana software
dan hardware bekerjasama.
Deployment diagram juga menggambarkan detail bagaimana komponen
di-deploy dalam infrastruktur sistem, dimana komponen akan terletak
(pada mesin, server atau piranti keras apa), bagaimana kemampuan jaringan pada
lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal.
9.
Package Diagram
Package Diagram adalah pengelompokan konstruksi yang
memungkinkan untuk mengambil konstruksi tersebut di UML dan mengelompokkan
elemen-elemen tersebut secara bersama-sama menjadi level yang lebih tinggi.
Penggunaan yang umum dilakukan adalah mengelompokkan class.
Manfaat utama penggunaan package adalah penerapannya pada sistem skala besar untuk
mendapatkan gambaran saling ketergantungan diantara component-component utama pada sistem.
Langkah-Langkah Penggunaan UML secara umum :
a.
Langkah
pertama adalah membuat daftar business process dari level tertinggi
untuk mendefinisikan aktivitas dan
proses yang mungkin muncul.
b.
Selanjutnya
use case untuk tiap business process dipetakan untuk
mendefinisikan dengan tepat fungsionalitas yang harus disediakan oleh sistem.
dan use case diagram diperhalus dan dilengkapi dengan requirement,
constraints dan catatan-catatan lain.
c.
Fungsi
deployment diagram secara kasar untuk mendefinisikan arsitektur fisik
sistem.
d.
Pendefinisian
requirement lain (non-fungsional, security dan sebagainya)
yang juga harus disediakan oleh sistem.
e.
Berdasarkan
use case diagram, mulailah membuat activity diagram.
f.
Diperlukan
adanya definisi objek-objek level atas (package atau domain)
kemudian pembuatan sequence dan/atau collaboration diagram untuk
tiap alir pekerjaan. Jika sebuah use case memiliki kemungkinan alir
normal dan error, perlu dibuat satu diagram untuk masing-masing alir.
g.
Selanjutnya
diperlukan adanya rancangan user interface model yang menyediakan
antarmuka bagi pengguna untuk menjalankan skenario use case.
h.
Berdasarkan
model-model yang sudah ada, dapat dibuat class diagram. Setiap package
atau domain dipecah menjadi hirarki class lengkap dengan
atribut dan metodenya. Akan lebih baik jika untuk setiap class dibuat unit
test untuk menguji fungsionalitas class dan interaksi dengan class
lain.
i.
Setelah
class diagram dibuat, kita dapat melihat kemungkinan pengelompokkan class
menjadi komponen-komponen. Karena itu perlu dibuatnya component
diagram pada tahap ini. Juga, diperlukan adanya definisi tes integrasi
untuk setiap komponen meyakinkan ia berinteraksi dengan baik.
j.
Perhalus
deployment diagram yang sudah dibuat. Detailkan kemampuan dan requirement
piranti lunak, sistem operasi, jaringan, dan sebagainya. Petakan komponen ke dalam node.
k.
Setelah
tahap-tahap diatas baru dapat dimulai membangun sistem. Ada dua pendekatan yang
dapat digunakan :
1. Pendekatan use case, dengan meng-assign
setiap use case kepada tim pengembang tertentu untuk mengembangkan
unit code yang lengkap dengan tes.
2.
Pendekatan
komponen, yaitu meng-assign setiap komponen kepada tim pengembang tertentu.
3. Apabila tahap-tahap diatas telah terpenuhi
maka diperlukan adanya uji modul dan uji integrasi serta perbaikan model
beserta code-nya. Model harus selalu sesuai dengan code yang
aktual.
NICE INFO
BalasHapusterima kasih
BalasHapusdaftar pustakanya tidak ada ya kak? untuk refrensi. terimakasih seblumnya kak
BalasHapus