BAB II LANDASAN TEORI
2.1
Pemrograman Berbasis Web Pemrograman web (web programming) merupakan perkembangan web
lebih lanjut. Pemrograman web bertujuan untuk menciptakan halaman web sesuai dengan permintaan pengguna. Pemrograman web memungkinkan halaman web berinterkasi dengan pengguna Aplikasi berbasis web diimplementasikan menggunakan bahasa pemrograman yang memiliki kemampuan pemrograman web. Salah satu bahasa pemrograman yang memiliki kemampuan pemrograman web dan banyak digunakan adalah HTML, PHP dan system pengelolaan database MySql.
2.2
HTML (Hyper Text Markup Language) HTML adalah file teks murni yang dibuat dengan editor teks sembarang.
Dokumen ini dikenal sebagai web page. Dokumen HTML merupakan dokumen yang disajikan dalam browser web surfer. dokumen ini umumnya berisi informasi atau interface aplikasi didalam internet. Ada dua cara untuk membuat sebuah web page, yaitu dengan HTML editor atau dengan teks editor biasa (notepad). Ekstensi dokumen HTML yang menggunakan 3 karakter, awalnya adalah untuk mengakomodasi sistem penamaan yang ada dalam sistem DOS. Nama dokumen pada beberapa sistem operasi bersifat case sensitive. Nama dokumen yang sama tetapi dituliskan dengan case yang berbeda yang berbeda akan dianggap sebagai dokumen yang berbeda, misalnya dokumen.html akan berbeda dengan DOKUMEN.html. Kasus case sensitive akan dijumpai pada dokumen web yang di hosting didalam server yang berbasis *nix(keluarga sistem operasi Unix). Untuk menandai berbagai elemen dalam suatu dokumen HTML, kita menggunakan tag. Tag HTML terdiri atas sebuah kurung sudut kiri (<, tanda lebih kecil), sebuah nama tag, dan sebuah kurung sudut kanan(>, tanda lebih besar). Tag umumnya berpasangan (misalkan
dengan
), tag yang menjadi pasangan selalu diawali dengan karakter garis miring (/). Tag yang pertama
4
5
menunjukan tag awal yang berarti awal elemen, dan yang kedua menunjukan tag akhir, berarti akhir elemen. Nama elemen ditunjukan dengan nama tagnya. Suatu elemen didalam dokumen HTML harus ditandai dengan penulisan tegnya yang berpasangan. Ada beberapa elemen yang tidak mengharuskan tagnya dituliskan secara berpasangan, elemen tersebut diantaranya adalah: a. Paragraf dengan tag
b. Ganti baris - line break dengan tag
c. Garis datar - horizontal rule dengan tag
d. List item denga tag
Elemen yang dibutuhkan untuk membuat suatu dokumen HTML dinayatakan dengan tag , , dan berikut dengan tag-tag pasangannya. Setiap dokumen terdiri atas tag head dan body. Elemen head berisi informasi tentang dokumen tersebut, dan elemen body berisi teks yang sebenarnya yang tersusun dari link, grafik, pargraf, dan elemen lainnya. Secara umum dokumen web dibagi menjadi dua section(bagian), yaitu section head dan section body. Sehingga setiap dokumen HTML harus mempunyai pola dasar sebagai berikut:
…...Informasi tentang dokumen …….Informasi tentang dokumen .
Setiap dokumen HTML harus diawali dengan penulisan tag dan tag diakhir dokumen. Tag ini menandai elemen html, yang berarti
6
dokumen ini adalah dokumen HTML. Dalam satu dokumen hanya ada satu elemen HTML. Section atau elemen head ditandai dengan tag diawal, dan tag diakhir. Section ini berisi informasi tentang dokumen HTMLnya. Minimal informasi yang dituliskan dalam elemen ini adalah judul dari dokumen, judul ini ditampilkan pada caption bar dari window browse, ditandai dengan menggunakan dan diakhiri dengan . Section atau elemen body ditandai dengan tag diawal, dan diakhiri dengan tag diakhir. Section ini merupakan elemen terbesar didalam dokumen HTML. Elemen ini berisi isi dokumen yang akan ditampilkan pada browser, meliputi paragraf, grafik, link, tabel dan sebagainya. Berikut adalah contoh teks dokumen HTML:
Judul dokumen Ini adalah paragraf pertama
Ini adalah teks lainnya yang dipertebal
2.3
PHP (PHP Hypertext Prepocessor) PHP adalah singkatan dari “PHP Hypertext Prepocessor”. PHP adalah
bahasa pemrograman yang memungkinkan para web developer untuk membuat aplikasi web yang dinamis dengan cepat dan mudah. PHP dirintis dan perkenalkan pertama kali oleh Rasmus Lerdorf pada tahun 1994, dari sekumpulan skrip Perl. Saat ini, PHP telah mencapai versi 5 dan merupakan bahasa scripting yang populer untuk pemrograman web.
7
PHP adalah bahasa Server-side scripting yang bisa menyatu dengan tagtag HTML. PAda suatu halaman web 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 dalam format HTML, sehingga yang ditampilkan ke web browser hanya tampilan desain HTML saja, sedangkan skrip PHP bekerja dibelakang layar.
2.3.1
Sintaks PHP Dibawah ini adalah contoh skrip PHP sederhana:
Penjelasan dari skrip diatas adalah sebagai berikut: Tag ”” berfungsi memberitahu server, akhir dari skrip PHP. b) Skrip “Print (“Hello world”);” berfungsi memberitahu server, memunculkan kalimat “Hello World” pada halaman browser. c) Tag mengawali dan mengakhiri skrip PHP sedangkan perintah PHP ada diantara keduanya, pada akhir setiap perintah harus diberi tanda semicolon (;) yang merupakan penanda akhir dari statement PHP. Ini adalah aturan dasar dalam penulisan skrip PHP.
2.4
Javascript Javascript merupakan modifikasi dari bahasa C++ dengan pola penulisan
yang lebih sederhana. Interpreter bahasa ini sudah disediakan asp ataupun internet explorer. Secara khusus beberapa hal yang penting dalam javascript adalah: a) Menggunakan blok awal”{“ dan blok akhir “}”. b) Automatic conversion dalam pengoperasian tipe data yang berbeda. c) Sensitive case, sehingga programmer java harus extra hati-hati dalam menggunakan variable, fungsi dan lain-lain.
8
d) Extension umumnya menggunakan “*.js” e) Setiap statement dapat diakhiri dengan “;” sebagaimana halnya C++ tetapi dapt juga tidak. f) Jika tidak didukung oleh browser versi lama, scriptnya dapat disembunyikan diantara tag”<--“ dan “-->”. g) Jika Program dalam satu baris terlalu panjang dapat disambung ke baris berikut dengan karakter ”\”. Berikut adalah contoh program dengan menampilkan pesan.
<-js_hallo.html--> Skrip JavaScript <script languge=”JavaScript”> Document.write(“hello Everybody”)
2.5
Metode Waterfall Metode waterfall merupakan metode yang sering digunakan oleh
penganalisa sistem pada umumnya. Inti dari metode waterfall adalah pengerjaan dari suatu sistem dilakukan secara berurutan atau secara linear. Jadi jika langkah ke-1 belum dikerjakan, maka langkah 2 tidak dapat dikerjakan. Jika langkah ke-2 belum dikerjakan maka langkah ke-3 juga tidak dapat dikerjakan, begitu seterusnya. Secara otomatis langkah ke-3 akan bisa dilakukan jika langkah ke-1 dan ke-2 sudah dilakukan.
9
Gambar 2.1 Metode Waterfall
Secara garis besar metode waterfall mempunyai langkah-langkah sebagai berikut : Analisa, Desain, Penulisan, Pengujian dan Penerapan serta Pemeliharaan. 2.5.1
Tahapan Metode Waterfall
Dalam pengembangannya metode waterfall memiliki beberapa tahapan yang runtut, diantaranya adalah:
2.5.1.1 Analisa Kebutuhan Langkah ini merupakan analisa terhadap kebutuhan sistem. Pengumpulan data dalam tahap ini bisa melakukan sebuah penelitian, wawancara atau studi literatur. Sistem analis akan menggali informasi sebanyak-banyaknya dari user sehingga akan tercipta sebuah sistem komputer yang bisa melakukan tugas-tugas yang diinginkan oleh user tersebut. Tahapan ini akan menghasilkan dokumen user requirment atau bisa dikatakan sebagai data yang berhubungan dengan keinginan user dalam pembuatan sistem. Dokumen ini lah yang akan menjadi acuan sistem analis untuk menerjemahkan ke dalam bahasa pemrogram.
10
2.5.1.2 Desain Sistem Tahapan dimana dilakukan penuangan pikiran dan perancangan sistem terhadap solusi dari permasalahan yang ada dengan menggunakan perangkat pemodelan sistem seperti diagram alir data (data flow diagram), diagram hubungan entitas (entity relationship diagram) serta struktur dan bahasan data.
2.5.1.3 Penulisan Kode Program Penulisan kode program atau coding merupakan penerjemahan design dalam bahasa yang bisa dikenali oleh komputer. Dilakukan oleh programmer yang akan meterjemahkan transaksi yang diminta oleh user. Tahapan ini lah yang merupakan tahapan secara nyata dalam mengerjakan suatu sistem. Dalam artian penggunaan komputer akan dimaksimalkan dalam tahapan ini. Setelah pengkodean selesai maka akan dilakukan testing terhadap sistem yang telah dibuat tadi. Tujuan testing adalah menemukan kesalahan-kesalahan terhadap sistem tersebut dan kemudian bisa diperbaiki.
2.5.1.4 Pengujian Program Tahapan akhir dimana sistem yang baru diuji kemampuan dan keefektifannya sehingga didapatkan kekurangan dan kelemahan sistem yang kemudian dilakukan pengkajian ulang dan perbaikan terhadap aplikasi menjadi lebih baik dan sempurna.
2.5.1.5 Penerapan Program dan Pemeliharaan Perangkat lunak yang sudah disampaikan kepada pelanggan pasti akan mengalami perubahan. Perubahan tersebut bisa karena mengalami kesalahan karena perangkat lunak harus menyesuaikan dengan lingkungan (periperal atau sistem operasi baru) baru, atau karena pelanggan membutuhkan perkembangan fungsional.
11
2.5.2
Keunggulan dan Kelemahan Metode Waterfall Metode
pengembangan
waterfall
mempunyai
keunggulan
dalam
membangun dan mengembangkan suatu sistem, antara lain: 1. Kualitas dari sistem yang dihasilkan akan baik. Ini dikarenakan oleh pelaksanaannya secara bertahap. Sehingga tidak terfokus pada tahapan tertentu. 2. Dokumen pengembangan sistem sangat terorganisir, karena setiap fase harus terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya. Jadi setiap fase atau tahapan akan mempunyai dokumen tertentu. 3. Dalam proses membangun dan mengembangkan suatu sistem, metode waterfall
mempunyai beberapa kelemahan, antara lain: 4. Diperlukan majemen yang baik, karena proses pengembangan tidak dapat dilakukan secara berulang sebelum terjadinya suatu produk.. 5. Kesalahan kecil akan menjadi masalah besar jika tidak diketahui sejak awal pengembangan. 6. Pelanggan sulit menyatakan kebutuhan secara eksplisit sehingga tidak dapat mengakomodasi ketidakpastian pada saat awal pengembangan.
2.6
Database/Basis Data Basis Data Menurut “Stephens dan Plew di dalam buku Simarmata &
Paryudi (2005:1). “Mekanisme yang digunakan untuk menyimpan informasi atau data. Informasi adalah sesuatu yang kita gunakan sehari-hari untuk berbagai alasan. Dengan basis data, pengguna dapat menyimpan data secara terorganisasi. Setelah data disimpan, informasi harus mudah diambil. Kriteria dapat digunakan untuk mengambil informasi. Cara data disimpan dalam basis data menentukan seberapa mudah mencari informasi berdasarkan banyak kriteria. Data pun harus mudah ditambahkan kedalam basis data, dimodifikasi, dan dihapus”.
12
2.6.1 Contoh Basis Data Basis data warisan (legacy database) adalah basis data yang sedang digunakan oleh sebuah perusahaan. Istilah warisan menyatakan bahwa basis data telah dipakai selama beberapa tahun dan basis data yang ada tidak sesuai dengan teknologi masa kini. Ketika sebuah perusahaan telah menentukan untuk merancang sebuah basis data, basis data yang ada dianggap sebagai basis data warisan. Contoh basis data yang telah kita kenal adalah :
1.
Buku alamat
2.
Buku telepon
3.
Katalog perpustakaan
4.
Toko buku online
5.
Peta jalan
Beberapa basis data diatas merupakan basis data statis, sedangkan yang lainnya dinamis. Sebagai contoh, peta jalan adalah basis data statis yang mengandung informasi seperti kota, arah, jarak, dan sebagainya. Dengan melihat sebuah peta, Anda cepat menemukan tujuan relative terhadap posisi anda sekarang. Informasi pada peta tidak berubah dalam waktu lama. Buku telepon pun merupakan basis data statis karena informasi didalamnya hanya dicetak setiap tahun. Buku alamat adalah contoh basis data dinamis yang banyak digunakan sehari-hari. Buku alamat merupakan basis data dinamis karena isinya dapat diubah dengan cepat. Alamat teman baru dapat ditambahkan dan alamat teman lama dapat dihapus dengan mudah.
Dari definisi di atas dapat disimpulkan bahwa basis data adalah kumpulan informasi yang disusun berdasarkan cara tertentu dan merupakan suatu kesatuan yang utuh. Dengan sistem tersebut data yang terhimpun dalam suatu database dapat menghasilkan informasi yang berguna. Dari definisi ini, terdapat tiga hal yang berhubungan dengan basis data, yaitu sebagai berikut :
13
Data itu sendiri yang diorganisasikan dalam bentuk basis data (database). Simpanan permanen (storage) untuk menyimpan basis data tersebut. Simpanan ini merupakan bagian dari teknologi perangkat keras yang digunkan di sistem informasi. Simpanan yang permanen umumnya digunakan berupa hard disk.
Perangakat lunak untuk memanipulasi basis datanya. Perangkat lunak ini dapat dibuat sendiri dengan menggunakan bahasa pemrograman komputer atau dibeli dalam bentuk suatu paket. Banyak paket perangkat lunak yang disediakan untuk memanipulasi basis data. Perangkat lunak ini disebut dengan DBMS (Database Management System). Contoh DBMS yang terkenal misalnya dBASE, Fox, Base, Microsoft Access, Oracle dan lain-lain. DBMS yang popular untuk mengolah basis data sekarang ini adalah RDBMS (Relational Database Management System). RDBMS menggambarkan field dari data dan bagian baris menunjukkan record dari data.
2.7
MySql MySql adalah aplikasi atau sistem untuk mengelola database atau
manajemen data. Untuk menyimpan data dan informasi ke komputer kita menggunakan data, contoh kita menyimpan data karyawan pada suatu perusahaan dan memasukannya pada suatu file. File data yang dikelompokan inilah yang disebut dengan database, dan MySql bertugas untuk mengatur dan mengelola data-data pada database. Dalam mengelola database MySql menggunakan struktur atau kerangka yang berbentuk tabel. Dalam tabel-tabelitulah data diatur dan dikelompokan.
MySql banyak digunakan dan menjadi pilihan karena berbagai keunggulan. Keunggulan yang utama diantaranya karena aplikasinya gratis dan bisa dipakai oleh siapa saja. Selain itu MySql dikenal sebagai sistem database efisien dan reliable, proses query MySql cepat dan mudah, sehingga cocok sekali digunakan untuk aplikasi berbasis web. MySql juga mudah dihubungkan dengan berbagai bahasa pemrograman dan aplikasi, sehingga tingkat kompatibilitasnya
14
tinggi, disamping itu kode-kode perintah MySql bisa dikatakan sederhana sehingga mudah dimengerti oleh programmer untuk membangun sebuah aplikasi.
2.8
UML (Unified Modeling Language) Pemecahan masalah utama dari Object Oriented biasanya dengan
penggambaran dalam bentuk model. Model abstrak (semu) merupakan gambaran detail dari inti masalah yang ada, umumnya sama seperti refleksi dari problem yang ada pada kenyataan. Beberapa modeling tool yang dipakai adalah bagian dari dasar UML, kependekan dari Unified Modeling Language.
2.8.1
Diagram-diagram UML Beberapa literature menyebutkan bahwa UML menyediakan Sembilan
jenis diagram. Namun kesembilan diagram ini tidak mutlak harus digunakan dalam pengembangan perangkat lunak, semuanya dibuat sesuai dengan kebutuhan. Diagram yang sering digunakan adalah Diagram Use case, Diagram Aktivitas (Activity Diagram), Diagram Sequence, Diagram Class.
Semakin kompleks bentukan sistem yang akan dibuat, maka semakin sulit komunikasi antara orang-orang yang saling terkait dalam pembuatan dan pengembangan software yang akan dibuat. Pada masa lalu, UML mempunyai peranan sebagai software blueprint (gambaran) language untuk analisis sistem, designer, dan programmer. Sedangkan pada saat ini, merupakan bagian dari software trade (bisnis software). UML memberikan jalur komunikasi dari sistem analis kemudian designer, lalu programmer mengenai rancangan software yang akan dikerjakan.
Salah satu pemecahan masalah Object Oriented adalah dengan menggunakan UML. Oleh karena itu orang-orang yang berminat dalam mempelajari UML harus mengetahui dasar-dasar mengenai Object Oriented Solving (pemecahan masalah OO). Tahap pertama, pembentukan model. Model adalah gambaran abstrak dari suatu dasar masalah. Dan dunia nyata atau tempat dimana masalah itu timbul bisa disebut dengan domain. Model mengandung
15
obyek-obyek yang beraktifitas dengan saling mengirimkan messages (pesanpesan). Obyek mempunyai sesuatu yang diketahui (atribut /attributes) dan sesuatu yang dilakukan (behaviors atau operations). Attributes hanya berlaku dalam ruang lingkup obyek itu sendiri (state). Lalu “blue print” dari suatu obyek adalah Classes (kelas). Obyek merupakan bagian-bagian dari kelas.
2.8.1.1 Diagram Use Case Use case diagram merupakan suatu diagram yang menangkap kebutuhan bisnis untuk sistem dan untuk menggambarkan interaksi antara sistem dan lingkungannya. Komponen pembentuk diagram Use case, Adalah :
Gambar 2.2 Komponen diagram Use Case
16
1. Aktor (actor), menggambarkan pihak-pihak yang berperan dalam sebuah sistem. 2. Use case, aktifitas / sarana yang disiapkan oleh bisnis / sistem. 3. Hubungan (link), aktor mana saja yang terlibat dalam Use case, dan bagaimana hubungan Use case dengan Use case lain. ada hubungan antar Use case. Digolongkan menjadi 2 : yaitu extend digambarkan dengan keterangan <<extend>>, dan include digambarkan dengan keterangan <>, berikut perbedaanya :
Table 2.1 Perbedaan Inculde dan Extend
Include
Extend
Use case terpanggil (included use
Use
case
ekstensi
tidak
case) selalu diperlukan oleh use case
dibutuhkan oleh use case dasar
selalu
dasar Yang
memutuskan
dipanggilnya
use
case
kapan included
Yang
memutuskan
kapan
dipanggilnya use case extend adalah
adalah use case dasar
use case extend itu sendiri
Panah hubungan dari use case dasar
Panah hubungan dari use case extend
ke use case include
ke use case dasar
Use case biasanya disertai dengan penjelesan narasi yang dirangkum dalam tabel yaitu disebut Use case Description. Use case Description merupakan tabel yang digunakan untuk membuat dan menjelaskan keterangan terperinci mengenai tiap tiap Use case. Terdapat istilah pre condition dan post condition, fungsinya adalah memberikan informasi penting mengenai keadaan sistem sebelum dan sesudah Use case. Hal ini dapat dilakukan dengan memberikan penjelasan singkat atau dapat pula berupa nama Use Case.
17
Diagram Use Case dekat kaitannya dengan kejadian-kejadian. Kejadian (scenario) merupakan contoh apa yang terjadi ketika seseorang berinteraksi dengan sistem. untuk lebih memperjelas lihat gambaran suatu peristiwa untuk sebuah klinik kesehatan di bawah ini : “Pasien menghubungi klinik untuk membuat janji (appointment) dalam pemeriksaan tahunan. Receptionist mendapatkan waktu yang luang pada buku jadwal dan memasukkan janji tersebut ke dalam waktu luang itu.”
Gambar 2. 2 Contoh Use Case Diagram kegiatan pasien yang membuat janji.
Diagram Use Case berguna dalam tiga hal : a)
Menjelaskan fasilitas yang ada (requirements) Use Case baru selalu menghasilkan fasilitas baru ketika sistem di analisa, dan design menjadi lebih jelas.
b) Komunikas dengan klien Penggunaan notasi dan simbol dalam diagram Use Case membuat pengembang lebih mudah berkomunikasi dengan klienkliennya. c)
Membuat test dari kasus-kasus secara umum Kumpulan dari kejadiankejadian untuk Use Case bisa dilakukan test kasus layak untuk kejadiankejadian tersebut.
2.8.1.2 Diagram Activity Pada dasarnya diagram Activity sering digunakan oleh flowchart. Diagram ini berhubungan dengan diagram Statechart. Diagram Statechart berfokus pada obyek yang dalam suatu proses (atau proses menjadi suatu obyek), diagram Activity berfokus pada aktifitas-aktifitas yang terjadi yang terkait dalam suatu proses tunggal. Jadi dengan kata lain, diagram ini menunjukkan bagaimana
18
aktifitas-aktifitas tersebut bergantung satu sama lain. Sebagai contoh, perhatikan proses yang terjadi. “Pengambilan uang dari bank melalui ATM.”
Ada tiga aktifitas kelas (orang, dan lainnya) yang terkait yaitu : Customer, ATM, and Bank. Proses berawal dari lingkaran start hitam pada bagian atas dan berakhir di pusat lingkaran stop hitam/putih pada bagian bawah. Aktivitas digambarkan dalam bentuk kotak persegi. Lihat gambar di bawah ini, agar lebih jelas :
Gambar 2. 3 Diagram Activity „Pengambilan Uang melalui ATM‟.
19
Diagram Activity dapat dibagi menjadi beberapa jalur kelompok yang menunjukkan obyek yang mana yang bertanggung jawab untuk suatu aktifitas. Peralihan tunggal (single transition) timbul dari setiap adanya activity (aktifitas), yang saling menghubungi pada aktifitas berikutnya. Sebuah transition (transisi) dapat membuat cabang ke dua atau lebih percabangan exclusive transition (transisi eksklusif). Label Guard Expression (ada di dalam [ ]) yang menerangkan output (keluaran) dari percabangan. percabangan akan menghasilkan bentuk menyerupai bentuk intan. transition bisa bercabang menjadi beberapa aktifitas paralel yang disebut Fork. Fork beserta join (gabungan dari hasil output fork) dalam diagram berbentuk solid bar (batang penuh).
2.8.1.3 Diagram Sequence Diagram Class dan diagram Object merupakan suatu gambaran model statis. Namun ada juga yang bersifat dinamis, seperti Diagram Interaction. Diagram sequence merupakan salah satu diagram Interaction yang menjelaskan bagaimana suatu operasi itu dilakukan; message (pesan) apa yang dikirim dan kapan pelaksanaannya. Diagram ini diatur berdasarkan waktu. Obyekobyek yang berkaitan dengan proses berjalannya operasi diurutkan dari kiri ke kanan berdasarkan waktu terjadinya dalam pesan yang terurut. Di bawah ini adalah diagram Sequence untuk pembuatan Hotel Reservation. Obyek yang mengawali urutan message adalah „aReservation Window‟.
20
Gambar 2. 4 Diagram Sequence „Pemesanan kamar di Hotel‟. „Reservation
window‟
mengirim
pesan
makeReservation()
ke
„HotelChain‟. Kemudian „HotelChain‟ mengirim pesan yang sama ke „Hotel‟. Bila „Hotel‟ punya kamar kosong, maka dibuat „Reservation‟ dan „Confirmation‟.
Lifeline adalah garis dot (putus-putus) vertikal pada gambar, menerangkan waktu terjadinya suatu obyek. Setiap panah yang ada adalah pemanggilan suatu pesan. Panah berasal dari pengirim ke bagian paling atas dari batang kegiatan (activation bar) dari suatu pesan pada lifeline penerima. Activation bar menerangkan lamanya suatu pesan diproses. Pada gambar diagram , terlihat bahwa „Hotel‟ telah melakukan pemanggilan diri sendiri untuk pemeriksaan jika ada kamar kosong. Bila benar, maka „Hotel‟ membuat „Reservation‟ dan „Confirmation‟. Pemanggilan diri sendiri disebut dengan iterasi. Expression yeng dikurung dengan “[ ]”, adalah condition (keadaan kondisi).
21
Pada diagram dapat dibuat note (catatan). Pada gambar, terlihat seperti selembar kertas yang berisikan teks. Note bisa diletakan dimana saja pada diagram UML.
2.8.1.4 Diagram Class Diagram Class membantu kita dalam visualisasi structure kelas-kelas dari suatu sistem dan merupakan tipe diagram yang paling banyak dipakai. Class diagram memperlihatkan hubungan antarkelas dan penjelasan detail tiap-tiap kelas didalam model desain (dalam logical view) dari suatu sistem.
2.8.1.4.1
Elemen-eleman class diagram
Elemen-eleman class diagram dalam pemodelan UML terdiri dari: Classclass, struktur class, sifat class (class behavior), perkumpulan/gabungan (association), pengumpulan/kesatuan (agregation), ketergantungan (dependency), relasi-relasi turunannya, keberagaman dan indikator navigasi, dan role name (peranan/tugas nama). Simbol-simbol class diagram 1.
Class: Class adalah blok - blok pembangun pada pemrograman berorientasi obyek.Sebuah class digambarkan sebagai sebuah kotak yang terbagi atas 3 bagian. Bagian atas adalah bagian nama dari class. Bagian tengah mendefinisikan
property/atribut
class.
Bagian
methodmethod dari sebuah clas.
Gambar 2.5 Class
akhir
mendefinisikan
22
2.
Association : Sebuah asosiasi merupakan sebuah relationship paling umum antara 2 class dan dilambangkan oleh sebuah garis yang menghubungkan antara 2 class. Garis ini bisa melambangkan tipe-tipe relationship dan juga dapat
menampilkan
hukum-hukum
multiplisitas
pada
sebuah
relationship.(Contoh: One-to-one, one-to-many,many-to-many).
Gambar 2.6 Association
3.
Composition: Jika sebuah class tidak bisa berdiri sendiri dan harus merupakan bagian dari class yang lain, maka class tersebut memiliki relasi Composition terhadap class tempat dia bergantung tersebut. Sebuah relationship composition digambarkan sebagai garis dengan ujung berbentuk jajaran genjang berisi/solid.
Gambar 2.7 Composition 4.
Dependency : Kadangkala sebuah class menggunakan class yang lain. Hal ini disebut dependency. Umumnya penggunaan dependency digunakan untuk menunjukkan operasi pada suatu class yang menggunakan class yang lain. Sebuah dependency dilambangkan sebagai sebuah panah bertitik-titik.
Gambar 2.8 Dependency 5.
Aggregation : Aggregation mengindikasikan keseluruhan bagian relationship dan biasanya disebut sebagai relasi.
Gambar 2.9 Aggregation
23
Gambar 2.10 Contoh class Keterangan: a. Class / table departemen memiliki ber-Agregasi dengan class / table pegawai,alasannya karena departemen dapat berdiri sendiri tanpa ada pegawai tetapi kinerjanya tidak sempurna. Banyak pegawai dapat bekerja pada satu departemen jadi many to 1. b. Class/table transaksi tidak dapat berdiri sendiri tanpa adanya class/table produk. Begitu juga dengan table produk tidak bisa berdiri sendiri tanpa adanya departemen. c. Banyak pelanggan dapat melakukan banyak tansaksi d. 1 transaksi dapat mencakup banyak produk.
2.8.1.4.2
Penamaan Kelas
Masing-masing kelas harus mempunyai nama yang unik. Sebagian besar organisasi mempunyai konvensi penamaan sendiri untuk menamakan kelas-kelas
24
yang dibuatnya. Umumnya kelas-kelas dinamakan menggunakan kata benda tunggal. Nama kelas tidak menggunkan spasi. Ini dilakukan karena alasan praktis, dimana beberapa bahasa pemrograman tidak membolehkan adanya spasi. Hal lainnya yang perlu diperhatikan adalah bahwa nama kelas hendaknya pendek, cukup untuk menjelaskan apa yang akan kelas lakukan. Jadi penamaan kelas sangat tergantung pada organisasi kita. Jika kita mempunyai kelas yang digunakan dalam organisasi yang bersangkutan, tetapi yang jelas bahwa hal tersebut harus konsisten digunakan untuk keseluruhan kelaskelas yang dibuatnya. 2.8.1.4.2.1 Visibilitas kelas Pilihan visibilitas menentukan dapat tidaknya sebuah kelas dilihat dari luar paket. Ada 3 pilihan visibilitas untuk sebuah kelas yaitu : a.
Public.
b.
Menyatakan bahwa sebuah kelas dapat dilihat dari kelas-kelas lainnya dalam system.
c.
Protected atau private.
d.
Menyatakan
bahwa
sebuah
kelas
dapat
dilihat
dari
kelas-kelas
majemuk(nested), friends, atau dari kelas itu sendiri. e.
Package atau implementation.
f.
Menyatakan bahwa sebuah kelas dapat dilihat hanya oleh kelas yang lain dalam paket yang sama.
2.8.1.4.2.2 Multiplicity kelas
25
Multiplicity memberikan gambaran ebuah instant yang akan ditampung dalam kelas. Misalnya, dalam kelas pegawai, kita mungkin mempunyai beberapa instant, satu untuk Ani, satu untuk Ina, satu untuk Nana dan seterusnya. Sehingga Multiplicity untuk kelas pegawai diset n. Pada kelas control, Multiplicity diset 1, karena pada saat aplikasi berjalan hanya satu kelas. Beberapa jenis Multiplicity kelas.
Tabel 2.1 Multiplicity Untuk Kelas Multiplicity
Arti
n (default)
Banyak
0..0
Nol
0..1
Nol atau Satu
0..n
Nol atau Banyak
1..1
Tepat satu
1. .n
Satu atau banyak
Tabel 2.2 Notasi Multiplicity menggunakan kustomisasi Format
Arti Tepat
..
Antara
..
Atau nol
, , ..
Tepat atau antara dan
.. ,
Antara dan atau antara dan
..
2.8.1.4.2.3 Paket
26
Paket digunakan unruk mengelompokkan kelas-kelas yang mempunyai kesamaan. Dalam UML, digambarkan sebagai berikut :
Gambar 2.11 Paket
Ada beberapa cara mengelompokkan kelas-kelas dalam paket, tetapi bagaimanapu juga, kelas-kelas dapat dikelompokkan dalam paket yang sama tergantung dari keinginan kita sendiri. Salah satu pendekatan yang dapat digunakan adalah berdasarkan Stereotype-nya. Dengan pendekatan ini, dapat dibuat satu paket untuk kelas-kelas entitas, dan satu kelas untuk kelas-kelas control.
Pendekatan
lainnya
yang
dapat
digunakan
adalah
dengan
fungsionalitasnya. Misalnya, kita punya paket security untuk kelas-kelas yang digunakan menangani keamanan system. Akhirnya, dapat digunakan kombinasi dua pendekatan diatas. Paket dapat dibuat bersarang, dimana satu paket mengandung paket lainnya. Pada level tertinggi, dapat dikelompokkan berdasarkan fungsionalitasnya, kemudian diikuti dengan sub fungsionalitasnya lainnya atau dengan stereotype-nya.
2.9
Gambaran Aplikasi Manfaat utama dari Aplikasi Pemesanan Barang ini adalah untuk
mempermudah pemesanan barang dalam proses produksi mobil pemadam kebakaran. Selain kegunaan utama dari aplikasi tersebut, disediakan pula fasilitas pengaturan data barang, stok barang, dan distribusi barang, sehingga dimungkinkan adanya interaksi antara pengguna tanpa harus bertemu secara langsung. Aplikasi ini dioperasikan oleh karyawan PT. Pundarika Atma Semesta yang saling berhubungan satu departemen dengan departemen lainnya, dan menggunakan system database MySql.
27
Software yang dibutuhkan antara lain : a. Web Server, Database Server(MySql), dan Database Manager (dapat menggunakan Xampp, Wamp, dll, atau install satu-persatu) b. Software desain web (Corel Draw, Photoshop, Microsoft Visio, dll) c. Software web development (Dreamweaver, Notepadd, dll)