Rabu, 23 November 2011

skripsi E-Commerce


BAB II
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
         Bar                      Toolbar        Toolbar      Window              Group
 



                 

 



             
            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.


3 komentar: