BAB III LANDASAN TEORI
BAB III LANDASAN TEORI
BAB III LANDASAN TEORI
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
3.1 Unified Modeling Language (Uml)<br />
<strong>BAB</strong> <strong>III</strong><br />
<strong>LANDASAN</strong> <strong>TEORI</strong><br />
Unified Modeling Language (UML) adalah notasi yang lengkap untuk<br />
membuat visualisasi model suatu sistem. Sistem berisi informasi dan fungsi,<br />
tetapi secara normal digunakan untuk memodelkan sistem komputer. Di<br />
dalam pemodelan obyek guna menyajikan sistem yang berorientasi pada<br />
objek pada orang lain, akan sangat sulit dilakukan jika pemodelan tersebut<br />
dilakukan dalam bentuk kode bahasa pemrograman. Kesulitan yang muncul<br />
adalah timbulnya ketidak jelasan dan salah interpretasi di dalam pembacaan<br />
kode pemrograman untuk pemodelan objek tersebut.<br />
Dimulai tahun 1994, Booch, Runbaugh dan Jacobson merupakan tiga<br />
tokoh yang metodelogi-nya paling banyak dipakai mempelopori organisasi<br />
yang bertujuan menyatukan metodelogi-metodelogi berorientasi objek,<br />
organisasi tersebut dinamakan OMG (Object Modelling Group). Pada tahun<br />
1995 OMG merealisasi draf pertama dari UML (versi 0.8) dan pada tahun<br />
1997 UML versi 1.1 muncul dan sekarang versi terbaru dari UML adalah<br />
versi 2.0. Pada tahun 1997 Booch, Runbaugh dan Jacobson menyusun tiga<br />
buku tentang UML. Sejak saat itulah UML telah menjelma menjadi standar<br />
bahasa pemodelan untuk aplikasi berorientasi objek.<br />
12
3.1.1 Diagram UML<br />
UML merupakan sintak umum untuk membuat model<br />
logika dari suatu sistem dan digunakan untuk menggambarkan<br />
sistem agar dapat dipahami selama fase analisis dan desain. UML<br />
biasanya disajikan dalam bentuk diagram/gambar yang meliputi<br />
class beserta atribut dan operasinya, serta hubungan antar class<br />
yang meliputi inheritance, association dan komposisi.<br />
Gambar 3.1 Diagram UML<br />
13
3.1.2 Use Case Diagram<br />
14<br />
Use case diagram menggambarkan fungsionalitas<br />
yang diharapkan dari sebuah sistem, yang ditekankan<br />
adalah “apa” yang diperbuat sistem, dan bukan<br />
“bagaimana”. Sebuah use case mempresentasikan sebuah<br />
interaksi antara actor dengan sistem. Use case<br />
menggambarkan kata kerja seperti Login ke sistem,<br />
maintenance user dan sebagainya.<br />
3.1.2.1 Lambang-lambang dalam use-case Diagram<br />
1. Aktor merupakan sebuah entita yang berinterkasi<br />
dengan use case. Nama actor dituliskan di bawah<br />
gambar tersebut.<br />
2. Use case menggambarkan sebuah fungsi terntentu<br />
yang disediakan oleh system, sebuah subsistem atau<br />
urutan pertukaran pesan antara anggota system dan<br />
satu atau lebih actor melakukan aksi yang dikerjakan<br />
oleh system.<br />
3. Hubungan, menggambarkan hubungan association.<br />
Haris ini digunakan untuk menghubungkan antara<br />
actor dengan use case.<br />
Contoh :<br />
Gambar 3.2 Use Case Diagram
3.1.2.2 Komponen-komponen Usecase Diagram :<br />
1. Actor<br />
Gambar 3.4 Actor<br />
15<br />
Actor menggambarkan pengguna software aplikasi<br />
(user). Actor membantu memberikan suatu<br />
gambaran jelas tentang apa yang harus dikerjakan<br />
software aplikasi.<br />
2. Usecase<br />
Gambar 3.5 Usecase<br />
Use-case menggambarkan perilaku software<br />
aplikasi, termasuk didalamnya interaksi antara actor<br />
dengan software aplikasi tersebut.
3. Association / Directed Association<br />
Gambar 3.6 Association<br />
16<br />
Asosiasi, yaitu hubungan statis antar element.<br />
Umumnya menggambarkan element yang memiliki<br />
atribut berupa element lain, atau element yang harus<br />
mengetahui eksistensi element lain. Panah<br />
navigability menunjukkan arah query antar element<br />
4. Generalization / Pewarisan<br />
Gambar 3.7 Pewarisan<br />
Pewarisan, yaitu hubungan hirarkis antar element.<br />
Element dapat diturunkan dari element lain dan<br />
mewarisi semua atribut dan metoda element asalnya<br />
dan menambahkan fungsionalitas baru, sehingga ia
17<br />
disebut anak dari element yang diwarisinya.<br />
Kebalikan dari pewarisan adalah generalisasi<br />
5. Dependency<br />
Gambar 3.8 Dependency<br />
Dependency/ketergantungan adalah suatu jenis<br />
hubungan yang menandakan bahwa satu element,<br />
atau kelompok element, bertindak sebagai klien<br />
tergantung pada unsur lain atau kelompok element<br />
yang berlaku sebagai penyalur. Ini merupakan suatu<br />
hubungan lemah yang menandakan bahwa jika<br />
penyalur klien diubah maka klien secara otomatis<br />
akan terpengaruh oleh perubahan tersebut. Ini<br />
merupakan suatu hubungan searah
3.1.3 Class Diagram<br />
18<br />
Class adalah sebuah spesifikasi yang jika di-<br />
instansiasi akan menghasilkan sebuah objek dan merupakan<br />
inti dari pengembangan berorientasi objek. Class<br />
menggambarkan keadaan (attribute/property) suatu sistem,<br />
sekaligus menawarkan layanan untuk memanipulasi<br />
keadaan tersebut (metode/fungsi).<br />
Class diagram menggambarkan struktur dan deskripsi class,<br />
packed dan objek beserta hubungan satu sama lain seperti<br />
containment, pewarisan, asosiasi dan lainnya.<br />
3.1.3.1 Tiga Area Pokok :<br />
1.Nama<br />
2.Atribut<br />
3.Metoda<br />
Atribut dan metoda dapat memiliki salah satu sifat<br />
berikut :<br />
• Private, tidak dapat dipanggil dari luar class yang<br />
bersangkutan<br />
• Protected, hanya dapat dipanggil oleh class yang<br />
bersangkutan dan anak-anak yang mewarisinya<br />
• Public, dapat dipanggil oleh siapa saja
3.1.3.2 Komponen Class Diagram :<br />
1. Subsystem<br />
Gambar 3.9 Subsystem<br />
19<br />
Sedangkan suatu package adalah suatu<br />
mekanisme umum untuk mengorganisir<br />
element-element model, suatu subsistem<br />
menggambarkan suatu unit tingkah laku di<br />
dalam sistem fisik.<br />
2. Class<br />
Gambar 3.10 Class
20<br />
Suatu class adalah mendeskripsikan untuk<br />
satu set object dengan struktur serupa,<br />
perilaku/behavior, dan hubungan/relation.<br />
3. Signal<br />
Gambar 3.11 Signal<br />
Signal adalah suatu yang menggambarkan<br />
spesifikasi dari asynchronous stimulus yang<br />
berkomunikasi antar kejadian.<br />
4. Exception<br />
<br />
Signal1<br />
Gambar 3.12 Exception<br />
Suatu Exception adalah suatu isyarat yang<br />
diangkat oleh behavior dalam suatu ketika<br />
terjadi kesalahan.
5. Port<br />
Gambar 3.13 Port<br />
21<br />
Port adalah suatu struktural suatu peng-class-<br />
an yang menetapkan suatu interaksi beda<br />
yang menunjukan antara peng-class-an dan<br />
lingkungannya atau antara ( perilaku) peng-<br />
class-an dan bagian internal nya
3.1.4 Activity Diagram<br />
22<br />
Activity diagram menggambarkan berbagai alir<br />
aktifitas dalam sebuah sistem yang sedang dirancang,<br />
bagaimana masing-masing alir berawal, decision yang<br />
mungkin terjadi dan bagaimana mereka berakhir. Activity<br />
diagram juga dapat menggambarkan proses paralel yang<br />
mungkin terjadi pada beberapa eksekusi. Activity diagram<br />
tidak menggambarkan sifat internal dari sebuah sistem dan<br />
interaksi antara beberapa sub sistem secara eksak, tetapi<br />
lebih menggambarkan proses-proses dan jalur-jalur aktivitas<br />
dari level atas secara umum.<br />
3.1.4.1 Lambang Aktivity Diagram :<br />
a) Awal ( Initial state ), menunjukkan tempat<br />
dimulainya diagram. Lambang ini boleh diberi<br />
label dengan isi berupa nama kejadian yang<br />
memanggilnya.<br />
b) Akhir ( Final state ), menunjukkan tempat<br />
berakhirnya diagram. Lambing ini tidak<br />
memerlukan label. Diagram aktivitas dapat<br />
memiliki satu atau lebih akhir.<br />
c) Aktivitas adalah bentuk khusus dari keadaan<br />
dimana aktivitas menggamabarkan kegiatan<br />
yang dilakukan.<br />
d) Penyelaras digunakan untuk menyelaraskan<br />
lebih dari satu transisi baik itu masuk ataupun<br />
keluar. Sebuh jalur masuk dengan lebih dari<br />
satu jalur keluar atau beberapa jalur masuk<br />
dengan satu jalur keluar.
23<br />
Contoh : activity diagram tanpa swimline<br />
3.1.4.2 Tujuan Penggunaan UML<br />
Gambar 3.14 Activity Diagram<br />
a) Memberikan bahasa pemodelan yang bebas<br />
dari berbagai bahas pemrograman dan proses<br />
rekayasa.<br />
b) Menyatukan praktek-praktek terbaik yang<br />
terdapat dalam pemodelan.<br />
c) Memberikan model yang siap pakai, bahsa<br />
pemodelan visual yang ekspresif untuk<br />
mengembangkan dan saling menukar model<br />
dengan mudah dan dimengerti secara umum.<br />
d) UML bisa juga berfungsi sebagai sebuah (blue<br />
print) cetak biru karena sangat lengkap dan<br />
detail. Dengan cetak biru ini maka akan bias<br />
diketahui informasi secara detail tentang<br />
coding program atau bahkan membaca
3.1.4.3 Star UML<br />
24<br />
program dan menginterpretasikan kembali ke<br />
dalam bentuk diagram (reserve enginering). [3]<br />
Star UML adalah software permodelan<br />
yang mendukung UML (Unified Modeling<br />
Language). Berdasarkan pada UML version 1.4<br />
dan dilengkapi 11 macam diagram yang berbeda,<br />
mendukung notasi UML 2.0 dan juga mendukung<br />
pendekatan MDA (Model Driven Architecture)<br />
dengan dukungan konsep UML. StarUML dapat<br />
memaksimalkan pruduktivitas dan kualitas dari<br />
suatu software project.
3.2 Microsoft Visual Studio.Net 2008<br />
Microsoft Visual Studio.Net 2008 adalah sebuah aplikasi yang<br />
digunakan sebagai alat bantu didalam membangun suatu program aplikasi<br />
yang berbasis komputer. Visual Studio.Net 2008 merupakan generasi yang<br />
terbaru yang dikeluarkan Microsoft dimana sebelumnya ada Visual<br />
Studio.Net 2003 & Visual Studio.Net 2005. Visual Studio.Net 2008<br />
menggunakan .Net Framework 3.5.<br />
3.2.1 Dukungan Terhadap Linq<br />
Linq merupakan suatu fitur baru yang dikeluarkan oleh<br />
microsoft khususnya pada bahasa pemrograman C#. Linq<br />
sebenarnya adalah sekumpulan operator – operator query standard<br />
yang memampukan kita untuk bekerja dengan data yang ada<br />
dalam database. Teknologi yang digunakan oleh Linq didalam<br />
pemanipulasian data adalah menggunakan teknologi ORM<br />
(Object Relational Mapping) bukan teknologi konvensional yaitu<br />
RDBMS.<br />
3.2.2 Dukungan Terhadap Expression Blend<br />
Expression Blend adalah aplikasi yang digunakan untuk<br />
mengenerate XAML untuk aplikasi silverlight. Kita dapat<br />
menginstall Expression Blend sebagai plug-in didalam Visual<br />
Studio.Net 2008. dengan menjadikan Expression Blend sebagai<br />
plugin akan membantu kita dalam design website dan pemakaian<br />
javascript.<br />
25
3.2.3 Windows Presentation Foundation (WPF)<br />
WPF banyak menyediakan fungsi grafis. Visual<br />
Studio.Net 2008 banyak memiliki library Windows Presentation<br />
Foundation dimana dengan fitur ini maka kita akan sangat terbantu<br />
didalam membangun aplikasi grafis 2 dimensi (2D) dan 3 dimensi<br />
(3D).<br />
3.2.4 Dukungan Multi Framework<br />
Visual Studio.Net 2008 mendukung banyak framework.<br />
Dalam artian dengan menggunakan Visual Studio.Net 2008 kita<br />
dapat melakukan kompilasi untuk framework 2.0, 3.0 dan 3.5<br />
bahkan framework 1.1.<br />
3.2.5 Dukungan Terhadap Ajax Dalam ASP.NET<br />
Pada seri sebelumnya, untuk menggunakan ajax kita harus<br />
menginstall terlebih dahulu secara terpisah tidak built-in didalam<br />
visual studio.net nya. Namun dengan Visual Studio.Net 2008,<br />
library ajax akan secara otomatis terinstall ketika kita menginstall<br />
visual studio.net 2008.<br />
3.2.6 Fitur Lainnya :<br />
Dukungan Terhadap Dubugging Untuk Javascript,<br />
Dukungan Terhadap Nested Masterpage (Masterpage Bersarang),<br />
Dukungan Terhadap LINQ Intellisense dan Javascript Intellisense<br />
Pada Aplikasi Silverlight, Pengorganisasian Penggunaan<br />
26
Namespace Using dan Import, Intellisense Filtering, Posisi Dari<br />
Kotak Intellisense, Split View Pada Visual Studio.Net 2008,<br />
Kesalahan HTML dan Javascript dijadikan Warning Bukan Error,<br />
Kemampuan Debugging Source Code Library .Net Framework,<br />
Library Silverlight sudah Built-In, Visual Studio LINQ Designer,<br />
C++ SDK Built-In, Arsitektur MUI (Multilingual User Interface),<br />
Dukungan Terhadap Microsoft Popfly, Tool dan Ebook Gratisan.<br />
27
3.3 Microsoft Sql Server 2000<br />
Microsoft SQL Server adalah sebuah sistem manajemen basis data<br />
relasional (RDBMS) produk Microsoft. Bahasa kueri utamanya adalah<br />
Transact-SQL yang merupakan implementasi dari SQL standar ANSI/ISO<br />
yang digunakan oleh Microsoft dan Sybase. Umumnya SQL Server<br />
digunakan di dunia bisnis yang memiliki basis data berskala kecil sampai<br />
dengan menengah, tetapi kemudian berkembang dengan digunakannya SQL<br />
Server pada basis data besar.<br />
Microsoft SQL Server dan Sybase/ASE dapat berkomunikasi lewat<br />
jaringan dengan menggunakan protokol TDS (Tabular Data Stream). Selain<br />
dari itu, Microsoft SQL Server juga mendukung ODBC (Open Database<br />
Connectivity), dan mempunyai driver JDBC untuk bahasa pemrograman<br />
Java. Fitur yang lain dari SQL Server ini adalah kemampuannya untuk<br />
membuat basis data mirroring dan clustering.<br />
28
3.4 Entity Relationship Diagram ( Erd )<br />
ERD adalah model data yang menggunakan beberapa notasi untuk<br />
menggambarkan data dalam konteks entitas dan hubungan yang di<br />
deskripsikan oleh data tersebut. Ada 2 (dua) komponen utama pembentuk<br />
ERD, yaitu :<br />
3.4.1 Entittas<br />
Entitas adalah sesuatu yang diperlukan bisnis untuk<br />
menyimpan data. Entitas merupakan individu yang mewakili<br />
sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain.<br />
3.4.2 Atribut<br />
Setiap entitas memiliki atribut yang mendeskripsikan<br />
karakteristik dari sebuah entitas tersebut. Atribut merupakan sifat<br />
atau karakteristik deskriptif suatu entitas<br />
3.4.3 Symbol symbol ERD antara lain :<br />
1. Persegi panjang, menyatakan himpunan entitas<br />
Gambar 3.15 Persegi Panjang<br />
2. Lingkaran / Elips, menyatakan atribut (atribut yang berfungsi<br />
sebagai primary key digaris bawahi).<br />
Gambar 3.16 Eclipse<br />
29
3. Belah ketupat, menyatakan himpunan relasi<br />
Gambar 3.17 Belah Ketupat<br />
4. Garis, sebagai penghubung antara himpunan relasi dengan<br />
himpunan entitas dan himpunan entitas dengan atributnya.<br />
Gambar 3.18 Garis<br />
Kardinalitas relsi dapat dinyatakan dengan banyaknya garis<br />
cabang aian angka ( 1 dan 1 menyatakan relasi satu ke satu, 1 dan N<br />
menyatakan relasi satu ke banyak, atau N ke M menyatakan relasi<br />
banyak ke banyak ).<br />
30
3.5 Store Procedure<br />
Adalah salah satu feature yang terdapat di mysql 5.0 sedang-kan<br />
store procedure sendiri adalah kumpulan-kumpulan SQL berupa rountine<br />
yang di simpan dalam database MySQL Server.<br />
3.5.1 Manfaat Store Procedure:<br />
Akan memperkecil trafik request dari aplikasi ke database<br />
karena semua proses bisnis dilakukan di database mysql dan<br />
aplikasi akan menerima hasil proses saja.<br />
Ketika sebuah aplikasi yang didevelop terdiri dari<br />
berbagai bahasa pemrograman (misalkan desktop dan web) yang<br />
mana kedua tipe aplikasi tersebut membutuhkan hasil dan operasi<br />
database yang sama.<br />
Untuk meningkatkan securiti, misalkan sebuah aplikasi<br />
yang login dengan user abcd tidak dapat mengakses tabel2 tertentu<br />
secara langsung tetapi mesti melalui store procedure, dengan cara<br />
ini akan meningkatkan ke-valid-tan data<br />
Dalam contoh dibawah ini kasus tentang sistem informasi<br />
sekolah, yang mana store procedure yang dibuat akan menangani<br />
tentang menghasilkan data siswa yang difilter bedasarkan kelas.<br />
3.5.2 Sturuktur tabel<br />
CREATE TABLE `data_siswa`.`tbl_siswa` (<br />
`nis` char(10) NOT NULL,<br />
`nama` varchar(255) NOT NULL,<br />
`kelas` int(11) NOT NULL<br />
) ENGINE=MyISAM DEFAULT CHARSET=latin1<br />
31
Store procedure untuk menampilkan data siswa dalam bentuk<br />
resultset<br />
DELIMITER $$<br />
CREATE PROCEDURE sp_tampil_siswa_kelas(p_kelas int)<br />
BEGIN<br />
SELECT * FROM tbl_siswa where KELAS = p_kelas;<br />
END$$<br />
DELIMITER ;<br />
Penjelasannya sebagai berikut:<br />
DELIMITER = adalah untuk memberi tahu kepada myql<br />
soal delimiter yang digunakan, secara default menggunakan ; jadi<br />
bila ada tanda ; mysql akan mengartikan akhir dari statement, pada<br />
contoh di atas delimeter yang digunakan $$ jadi akhir statementnya<br />
adalah $$<br />
CREATE PROCEDURE = adalah header untuk membuat store<br />
procedure<br />
BEGIN END = adalah body dari store procedure, jadi semua SQL<br />
nya di tulis disini.<br />
Contoh pemanggilannya seperiti dibawah ini:<br />
call sp_tampil_siswa_kelas(2);<br />
32