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 webmenggunakan konsep multimedia dari mulai teks, gambar, animasi, suara (audio) dan film (video).
Pada perkembangannya sebuah situs webselalu dituntut agar menyajikan informasi yangup 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 databaseclient/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 arsitekturclient/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 pagedibutuhkan sebuah bahasa pemrograman dengan sebutan web scripting. Dikatakan script karena perintah kode program tersebut akan diinterpreter 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 olehweb browser seperti internet explorer, netscape, opera, firefox. Untuk contoh bahasaclient side adalah HTML, CSS, Javascript, VBscript, dan XML. Sedangkan server sidedilakukan 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 sideakan 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 serversehingga tidak akan dapat menghasilkanoutput apa pun. Sehingga sangatlah tidak mungkin untuk menciptakan aplikasi web yang bersifat dinamis dengan web scripting bersifatclient 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 webdinamis dibutuhkan kemampuan pemrogramanweb.
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 konsephyperlink 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 situsweb 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 databaseclient/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 arsitekturclient/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 scriptingyang 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 merupakansoftware 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 systemuntuk mengelola database atau manajemen data. Untuk menyimpan data dan informasi ke komputer kita menggunakan data . File data yang dikelompokan inilah yang disebutdatabase, 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, MySQLmerupakan jenis software yang termasukopen 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 sepertiWindows, 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 menanganiquery 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 danWhere 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 Macromediadengan alamat websitewww.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 membuatwebsite 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 memilikiperform yang baik dan memiliki tampilan yang memberi kemudahan untuk membuat halamanWeb, baik ketika seseorang sedang bekerja dalam jendela desain maupun dalam jendela kode rumus. Macromedia Dreamweaver 8didukung 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 formseperti 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 mendesainwebsite.
2. Property Inspector
Berfungsi untuk memudahkan mengisi parameter pada objek yang diinginkan. Bagian ini terdiri dari:
a. Page Property Inspector, digunakan untuk mengatur parameter halamanwebsite. 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 dalampixel. 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 ataupunprosentase.
4. H (Height), berisi angka yang menunjukkan tinggi tabel.
5. Align, menunjukkan letak posisi tabel pada dokumen website, dengan pilihannya Default, Left, Center, danRight.
6. Border, berisi angka yang menunjukkan ketebalan bordersebuah 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 halamanform.
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 panelyang 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, yakniSnippets 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 DocumentToolbar menampilkan nama file dokumenwebsite yang dibuka program aplikasiMacromedia Dreamweaver 8. Selain namafile, 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-upyang menyediakan tampilan berbeda dariDocument 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 tagdi 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 danfolder-folder yang membentuk situs web.
D. Aplikasi Website
Aplikasi web merupakan halaman dinamis yang mengijinkan interaksi dengan user (melakukan sesuatu). Interaksi user denganaplikasi 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 jasaweb hosting komersial. Berdasarkan sistem Oprasi yang dapat dua jenis web hosting yang tersedia saat ini , yaitu : web hosting berbasiswindows dan web hosting berbasis unix/linux.
G. Web Server
Web Server merupakan suatu perangkat lunak yang dijalankan pada komputer serverdan 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 padause case. OOSE memiliki tiga tahapan yaitu membuat model requirement dan analisisdesign 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 scenariomendeskripsikan urutan kejadian. Setiap urutan diinisialisasi oleh orang, sistem yang lain, perangkat keras atau urutan waktu. Dengan demikian use case adalah serangkaian scenarioyang 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 bahwaactor berinteraksi dengan use case, tetapi tidak memiliki control atas use case. Diagram use case menunjukkan 3 aspek dari sistem yaituactor, use case dan sistem/sub sistemboundary.
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 seperticontainment, 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 luarclass yang bersangkutan.
b. Protected, hanya dapat dipanggil olehclass 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 sebuahclass. Dengan demikian interface mendukung resolusi metoda pada saat runtime.
Hubungan Antar Class :
a. Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkanclass yang memiliki atribut berupaclass lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arahquery 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 classyang 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 stateke state lainnya). Pada umumnya statechart diagram menggambarkan class tertentu (satuclass 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 kondisiguard 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 sedangkanflowchart 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 casemenggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas. Sama seperti state, standart UML menggunakan segi empat dengan sudut membulat untuk menggambarkan aktivitas.Decision digunakan untuk menggambarkanbehaviour 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 sebuahscenario. 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 diagramterdiri 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 verticalmewakili 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 messagememiliki sequence number, dimana messagedari level tertinggi memiliki nomor 1 (satu).Messages dari level yang sama memiliki prefixyang sama pula.
Collaboration Diagram adalah bentuk lain sequence diagram. Bila sequence diagramdiorganisir 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 codemaupun binary code, baik library maupunexecutable, 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 adalahcomponent mewakili potongan- potongan yangindependent 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 hardwarebekerjasama.
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 packageadalah 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 tiapbusiness 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-objeklevel atas (package atau domain) kemudian pembuatan sequencedan/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 skenariouse 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 testuntuk 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 casekepada tim pengembang tertentu untuk mengembangkan unit codeyang 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 dengancode yang aktual.