BAB II LANDASAN TEORI 2.1 Metodologi Rekayasa Perangkat Lunak Pemodelan dalam perangkat lunak merupakan suatu yang harus dikerjakan di bagian awal dari rekayasa, dan pemodelan ini akan mempengaruhi pekerjaan-pekerjaan dalam rekayasa perangkat lunak tersebut. Model proses perangkat lunak merupakan deskripsi yang disederhanakan dari proses perangkat lunak yang dipresentasikan dengan sudut pandang tertentu. Namun model proses perangkat lunak masih menjadi objek penelitian, namun pada saat ini terdapat banyak model umum atau paradigma yang berbeda dari pengembangan perangkat lunak. Salah satu model proses yang secara umum digunakan dalam pengembangan rekayasa lunak adalah model Waterfall. Waterfall mengusulkan sebuah pendekatan kepada pengembangan perangkat lunak yang sistematik dan sekuensial yang mulai pada tingkat dan kemajuan system pada seluruh analisis, desain, kode, pengujian, dan pemeliharaan. Berikut di bawah ini rangkaian aktivitas proses dalam model Waterfall. (Pressman,1997): 1. Tahapan Rekayasa Sistem Tahapan ini sangat menekan pada masalah pengumpulan kebutuhan pengguna pada tingkatan system dengan menentukan konsepsistem beserta antarmuka yang menghubungkannya dengan lingkungan sekitar. Hasilnya berupa spesifikasi system. 2. Tahapan Analisis Pada tahap ini dilakukan pengumpulan kebutuhan elemen-elemen di tingkat perangkat lunak. Dengan analisis harus dapat ditentukan domain-domain data atau informasi, fungsi, proses atau prosedur yang diperlukan beserta unjuk kerjanya, dan antarmuka. Hasilnya berupa spesifikasi kebutuhan perangkat lunak.
6
7
3. Tahapan Perancangan Pada tahap perancangan, kebutuhan-kebutuhan perangkat lunak yang dihasilkan pada tahap analisis, ditransformasikan ke dalam bentuk arsitektur perangkat lunak yang memiliki karakteristik mudah dimengerti dan tidak sulit untuk diterapkan. 4. Tahapan Pemrograman Tahap ini melakukanpenerapan hasil rancangan ke dalam baris-baris kode program yang dapat dimengerti oleh komputer. 5. Tahapan Pengujian Setelah perangkat lunak selesai diterapkan, pengujian dapat segera dimulai. Pengujian terlebih dahulu dilakukanpada setiap modul. Jika tidak ada masalah, modul tersebut akan diintegrasikan hingga membentuk perangkat lunak secara utuh. Kemudian dilakukan pengujian di tingkat perangkat lunak yang menfokuskan pada masalah-masalah logika internal, fungsi internal, potensi masalah yang mungkin terjadi dan pemeriksaan hasil apakah sudah sesuai dengan permintaan. 6. Tahapan Pengoperasian dan Pemeliharaan Dalam masa operasional sehari-hari, suatu perangkat lunak mungkin saja mengalami kesalahan atau kegagalan dalam menjalankan fungsi-fungsinya. Atau pemilik bisa saja meminta peningkatan kemampuan perangkat lunak pada pengembangnya. Dengan demikian, kedua faktor ini menyebabkan perlunya perangkat dipelihara dari waktu ke waktu. Biasanya ini merupakan tahapan yang panjang dari perangkat lunak. Agar dapat lebih jelas, berikut di bawah ini Gambar 2.1 model Waterfall.
8
Rekayasa Sistem
Analisa
Desain
Pengkodean
Pengujian
Pemeliharaan
Gambar 2.1 Model Waterfall (Pressman:2002) 2.2
Unified Modelling Language Uniffied Modelling Language (UML) adalah sekumpulan simbol dan
diagram untuk memodelkan Software. Desain dalam bentuk simbol dan diagram, kemudian dapat diterjemahkan menjadi kode program. Telah tersedia tools yang dapat membuat kode program berdasar UML Class Diagram. Impelementasi kode program dari diagram UML dapat menggunakan bahasa pemrograman apa saja dengan syarat bahasa pemrograman tersebut harus mendukung pemrograman berorientasi objek (OOP) seperti PHP, C++, Java, atau VB NET. Berikut ini akan menjelaskan beberapa jenis diagram UML, yaitu context
diagram,
use
case
diagram,
activity
diagram,
sequence
diagram,collaboration diagram, statechart diagram, component diagram, deployment diagram, dan class diagram. Dan beberapa mekanisme umum, yaitu:
9
Building blocks 2 (dua) macam yang terdapat dalam building blocks adalah katagori benda dandiagram. Benda adalah abtraksi yang pertama dalam sebuah model, hubungan sebagai alat komunikasi dari benda-benda, dan diagram sebagai kumpulan dan group dari benda-benda.
Benda Adalah hal yang sangat mendasar dalam model UML, juga merupakan bagian paling statis dari sebuah model, serta menjelaskan elemen-elemen lainnya dari sebuah konsep dan atau fisik. Bentuk dari beberapa benda adalah sebagai berikut : Pertama, adalah sebuah kelas yang diuraikan sebagai sekelompok dari object yang mempunyai atribute, operasi, hubungan yang semantic. Sebuah kelas mengimplementasikan 1 atau lebih interfaces. Sebuah kelas dapat digambarkan sebuah persegi panjang, yang mempunyai sebuah nama atribute, dan metoda pengoperasiannya, seperti terlihat gambar 2.2. window size type ……… . Open () Closed () Move () Display ()
Gambar.2.2 sebuah kelas dari UML (Pressman: 2003). Kedua, yang menggambarkan ‘interfaces’ merupakan sebuah antar-muka yang menghubungkan dan melayani antar kelas dan atau elemen. ‘Interfaces’ antarmuka mendefinisikan sebuah set atau kelompok dari spesifikasi
pengoperasian,
umumnya
digambarkan
dengan
sebbuah
lingkaran yang disertai dengan namanya. Sebuah antar-muka berdiri sendiri dan umumnya merupakan pelengkap dari kelas atau komponen, seperti dalam gambar 2.3.
10
Ispelling Gambar 2.3 Sebuah interfaces atau antar muka Ketiga, adalah collaboration yang didefinisikan dengan interaksi dan sebuah kumpulanatau kelompok dari kelas-kelas dan elemen-elemen yang bekerja secara bersama-sama. Collaboration mempunyai struktual dan dimensi. Pemberian sebuah kelas memungkinkan berpartisipasi didalam beberapa collaboration dan digambarkan dengan sebuah ‘elips’ dengan garis terpotongpotong.
Gambar 2.4 Collaboration (Munawar :2003) Keempat, sebuah ‘use case’ adalah rangkaian atau uraian sekelompok yang paling terkait dan membentuk sistem secara teratur yang dilakukan atau diawasi oleh sebuah aktor. ‘use case’ digunakanuntuk membentuk tingkah laku benda dalam sebuah model serta direalisasikan oleh sebuah collaboration.
Gambar 2.5 Use Case (Munawar :2003)
Kelima, sebuah node merupakan fisik dari elemen-elemen yang ada pada saat dijalankan sebuah sistem, contohnya adalah sebuah computer, umumnya
11
mempunyai sedikitnya memory dan prosessor. Sekelompok komponen mungkin terletak pada sebuah node dan juga mungkin akan berpindah dari node satu ke node lainnya. Umumnya node ini digambarkan seperti kubus serta hanya mengandung namanya, seperti terlihat dalam gambar 2.6.
Fault localization
Gambar 2.6 Nodes (Andi :2000)
Hubungan atau relationship Ada 4 macam hubungan didalam penggunaan UML, yaitu; dependency, association, generation, dan realization. Pertama sebuah dependency adalah hubungan semantikdua benda yang mana sebuah benda berubah mengakibatkanbenda satunya akan berubah pula. Umumnya sebuah dependency digambarkan sebuah panas dengan garis terputus-putus seperti terlihat pada gambar 2.7.
Gambar 2.7 dependency (Munawar:2003) Kedua, sebuah association adalah hubungan antar benda structural yang terhubung diantara objek. Kesatuan objek yang terhubung merupakan hubungan khusus, yang menggambarkan sebuah hubungan structural diantara seluruh atau sebagian. Umumnya association digambarkan dengan sebuah label, nama, dan status hubungannya seperti terlihat dalam gambar 2.8 employer employee Gambar 2.8 Association (Munawar:2003)
12
Ketiga, sebuah generalization adalah menggambarkan hubungan khusus dalam obyek anak yang menggantikan obyek parent atau induk. Dalam hal ini, obyek anak member pengaruhnya dalam hal struktur dan tingkah lakunya kepada obyek induk. Digambarkan dengan garis panah seperti terlihat dalam gambar 2.9
Gambar 2.9 Generalization (Munawar : 2003) Keempat, sebuah realization merupakan hubungan semantic antara pengelompokkan yang menjamin adanya ikatan diantaranya. Hubungan ini dapat diwujudkan diantara interfaces dan kelas atau element, serta antara usecases dan collaborations.model dari sebuah hubungan realization.
Gambar 2.10 Realizations (Munawar :2003) UML terdiri atas 13 jenis diagram resmi seperti tertulis dalam table 2.1: Table 2.1 jenis diagram resmi UML (Munawar ) : No.
Diagram
Kegunaan
1.
Activity
Behavior prosedural dan parallel
2.
Class
Class, fitur, dan hubungan-hubungan
3.
Communication
Interaksi antar objek; penekanan pada jalur
4.
Component
Struktur dan koneksi komponen
5.
Composite structure
Dekomposisi runtime sebuah class
6.
Deployment
Pemindahan artifak ke node
7.
Interaction overview
Campuran sequence dan activity diagram
8.
Object
Contoh konfigurasi dari contoh-contoh
9.
Package
Struktur hirarki compile-time
10.
Sequence
Interaksi antar objek; penekanan pada sequence
11.
State machihne
Bagaimana even mengubah objek selama aktif
12.
Timing
Interaksi antar objek; penekanan pada timing
13.
Use case
Bagaimana pengguna berinteraksi dengan sebuah sistem
Tabel 2.1. Tipe diagram UML (Munawara)
13
Diagram pertama adalah diagram use case menggambarkan use cases dan actor yang disertai dengan hubungan diantaranya. Diagram use cases ini menjelaskan dan menerangkan kebutuhan dan requirement yang diinginkan user, serta sangat berguna dalam menentukan struktur organisasi dan model dari pada sebuah sistem. Dalam suatu proses pengembangan suatu program software, analisa dan rancangan menggunakan UML merupakan terminology yang sangat tua. Alasan mengapa UML digunakan adalah : 1. Scalability dimana objek lebih mudah dipakai untuk menggambarkan sistem yang besar dan komplek. 2.
Dynamic modeling dapat dipakai untuk pemodelan sistem dinamis dan real time. 2.2.1 Use Case Diagram Use case diagram digunakan untuk memodelkan bisnis proses
berdasarkan perspektif pengguna sistem. Use case diagram terdiri atas diagram untuk use case dan actor.
Aktor
Use Case
Penghubung antara aktor dengan use case
Gambar 2.11 Notasi use case diagram (Munawar:2003) Notasi-notasi yang digunakan dalam pemodelan use case dapat dilihat pada gambar 2.12 adalah: 1. Aktor, merupakan sebuah peran yang dimainkan seorang pengguna dalam interaksinya dengan system. 2. Use case adalah teknik berdasarkan scenario dalam UML yang mengidentifikasi
aktor-aktor
dalam
menggambarkan interaksi itu sendiri. 3. Penghubung antara aktor dengan use case.
sebuah
interaksi
dan
yang
14
Mencari Data Transaksi Barang
Melihat Stock Akhir Barang Staf Office
<
>
<> Menginput Data Transaksi
<> Mengedit Data Transaksi Barang
<>
Staf Produksi Menghapus Data Transaksi Barang
<> <>
Menginput Data Barang Baru
Mengedit Data Stock Akhir Barang
Login
<>
<>
<> Administrator Menghapust Data Stock Akhir Barang
Gambar 2.12 Contoh use case diagram(Fowler:2005) 2.2.2 Activity Diagram Acitivity 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 parallel sedangkan flowchart tidak bisa.
1. Diagram ini sangat mirip dengan sebuah flowchart karena kita dapat memodelkan sebuah alur kerja dari satu aktivitas lainnya atau dari satu aktivitas ke dalam keadaan sesaat (state). Seringkali bermanfaat bila kita membuat sebuah activity diagram dahulu dalam memodelkan sebuah proses untuk membantu kita memahami proses secara keseluruhan. Activity
15
diagram juga sangat berguna ketika kita angin menggambarkan perilaku parallel / menjelaskan bagaimana perilaku dari berbagai use case berinteraksi. Berikut ini adalah notasi-notasi yang digunakan dalam pemodelan activity diagram dan contoh activity diagram:
Initial State
Final State
ActionState
Decision State Control Flow
Gambar 2.13 Notasi activity diagram (Flower :2005) Berikut ini adalah contoh activity diagram pada aktivitas sehari-hari
Istirahat
[ Tidak Sholat ]
Sholat
[ Tidak MakanSiang]
Makan Siang
Kembali Beraktivitas
Gambar 2.14 Contoh activity diagram (Flower :2005)
16
2.2.3 Sequence Diagram Sequence diagram digunakan untuk memberikan gambaran detail dari setiap use case diagram yang telah dibuat sebelumnya. Setiap objek yang terlibat dalam sebuah use case digambarkan dengan garis putus-putus vertical, kemudian message dikirim oleh objek digambarkan dengan garis horizontal secara kronologis dari atas ke bawah. Sequence diagram biasa digunakan untuk menggambarkan scenario atau rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah kejadian (event) untuk menghasilkan output tertentu. Masing-masing objek, termasuk actor, memiliki lifeline vertical. Pesan digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Notasi-notasi yang digunakan dalam pemodelan sequence diagram adalah: 1. Objek atau participant. 2. Lifeline, menggambarkan bahwa hadirnya objek terhadap waktu. 3. Aliran pesan, menggambarkan komunikasi antar objek.
Objek
Lifeline
Aliran pesan
Gambar 2.15 Sequence diagram (Fowler :2005) Administrator
Tampilan Menu Admin
Menu Login
1. Akses Menu Admin
2. Akses Menu Login
3. Masukkan Username dan Password Admin
4. Tampilkan Menu Admin
17
Gambar 2.16 Contoh sequence diagram (Raharjo: 2009) 2.2.4 Statechart Diagram Statechart diagram menggambarkan trasisi dan perubahan keadaan (dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari stimuli yang diterima. 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. Berikut ini adalah notasi-notasi yang digunakan dalam pemodelan statechart diagram dan contoh statechart diagram:
Initial State
Final State
ActionState
Decision State
Transition
Gambar 2.17 Notasi statechart diagram (Fowler :2005)
18
Membuat Minuman
Mencelupkan Kantong Teh
Memasukkan Gula
Mengaduk
Mengaduk Teh
Gambar 2.18 Contoh statechart diagram (Raharjo: 2009 ) 2.2.5 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 atau properti) suatu system, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda dan fungsi). Class diagram menggambarkan struktur dan deskripsi class,package, dan objek beserta hubungan satu sama lain seperti containment pewarisan asosiasi dan lain-lain. Class dapat merupakan implementasikan dari sebuah interface, yaitu class abstrak yang hanya memiliki metoda. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi metoda pada saat run-time. Berikut ini adalah notasi-notasi yang digunakan dalam pemodelan class diagram dan contoh statechart diagram.
Top Package::Class1 -End2
*
-End1
1
Composition
Class
Generalization
19
Gambar 2.19 Notasi class diagram (Munawar: 2005)
Gambar 2.20 Contoh class diagram (Dharwiyantidan wahono: 2003) 2.2.6 Collaboration Diagram Collaboration Diagram adalah sejenis dengan diagram interaksi yang lebih menekankan pada link data diantara bermacam-macam participant pada interaksi tersebut. Untuk membantu dalam memahami urutan message, collaboration diagram bisa memanfaatkan penomoran. Pemanfaatan penomoran ini disamping berguna untuk memahami urutan,namun bisa juga dimanfaatkan untuk kondisi berkalang (nested). Gambar berikut menunjukkan sebuah communication diagram dengan
control
tersentralisasi dapat ditunjukkan
bagaimana participant saling terhubungkan. Set link 1:calculateprice()
Order
Customer
e .G 4 Link type
n ci ri
6:calculatediscount()
tp
5:calculatebaseprice()
7:getdiscountinfo()
d g () ls ai et
2:getquantity 3:getProduct()
<>
Order line
Product
20
Gambar 2.21 Contoh penerapan collaboration Diagram dengan control tersentralisasi (Munawar :) 2.2.7 Component Diagram Component software adalah bagian fisik dari sebuah sistem karena menetap di computer bukanlah dibenak para analis. Komponent dapat berupa table, file, data, file exe (Dynamic link library) dokumen dan lain-lain. Tipe-tipe component ada 3 macam yaitu : 1. Deployment yang menjadi basis dari executable system. Contoh deployment component diantaranya: (Dynamic Library Link) file exe, ActiveX control, Java Bean, dan lain-lain. 2. Work Product Component yaitu file-file yang dibutuhkan untuk pembuatan deployment component. Contoh untuk component kedua ini diantaranya file data, file source code danlain-lain. 3. Execution component yang di buat sebagai hasil dari sistem yang akan dijalankan (running system). Contoh Component diagram di bawah ini menunjukkan bahwa seorang sales mesin dapat berhubungan dengan component server saesl, dengaan menggunakan interface sales manager kaarena networknya tidak dapat dipercaya component antrian pesan (queue) dipasang sehingga masih tetap dapat berhubungan dengan server ketika network mati. Selanjutnya queue berhubungan dengan server ketika network berfungsi kembali, hasilnya queue message harus bisa mendukung interface sales message untuk berhubungan dengan component mesin dan membutuhkan interface tersebut untuk berhubungan dengan server. Server dibagi menjadi 2 component utama yaitu : 1. Prosesor transaksi untuk merealisasikan interface sales message. 2. Accounting driver untuk berhubungan dengan sistem akuntansi.
21
Gambar 2.22 Contoh Component Diagram (Munawar :) 2.2.8 Deployment Diagram Deployment/physical
diagram
menggambarkan
detail
bagaimana
component dideploy dalam infrasstruktur sistem, diman component akan terletak (pada mesin, server atau piranti keras apa saja), bagaimanapun kemampuan jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang bersifat fisikal. Sebuah node adalah server, workstation, atau piranti keras lain yang digunakan untuk men-deploy komponen dalam lingkungan sebenarnya. Hubungan antar node (misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini.
22
Gambar 2.23 Deployment Diagram (Raharjo: 2009)
Gambar 2.24 Contoh Deployment Diagram (Raharjo :2009) 2.2.9 Package Diagram Paket adalah mekanisme pengelompokan yang digunakan untuk menandakan pengelompokkan elemen-elemen model. Sebuah paket dapat mengandung beberapa paket lain didalamnya. Paket digunakan untuk memudahkan mengorganisasikan elemen-elemen model (Raharjo :2009 Berikut adalah fungsi kegunaan package diagram :
Memperlihatkan bagaimana elemen model diorganisasi atau dikelompokkan kedalam package.
Biasanya dipakai pada use case diagram atau class diagram.
23
Walaupun package secara resmi bukanlah diagram UML, namun kegunaan cukup signifikan.
Penjelasan package diagram pada masing-masing diagram UML. Berikut ini fungsi-fungsi dari package yaitu :
Menggambarkan high level overview design.
Memecahkan sebuah diagram yang mempunyai banyak bubles.
Mengorganisasikan source code programming.
Menggambarkan high level overview kebutuhan system.
Setiap packages akan mempunyai diagram yang lengkap.
Packages digunakan untuk mengorganisasikan sebuah diagram yang besar menjadi bebrapa diagram kecil (sebuah diagram yang baik bila mempunyai bubles yang banyak maka akan sulit untuk dipahami).
Gambar 2.25 Contoh Package Diagram (Raharjo :2009) 2.2.10 Objeck Diagram Objeck diagram adalah diagram yang memberikan gambaran model instance-instance
dari
sebuah
class.
Diagram
ini
digunakan
untuk
menggambarkan sebuah sistem pada sebuah sudut pandang waktu tertentu. Dengan menggunakan diagram ini anda dapat memeriksa keabsahan kelas-kelas diagram berikut aturan-aturan multiplisitasnya dengan “real data” dan
24
mengujinya scenario-skenario tertentu (Raharjo :2009). Tabel 2.2 jenis diagram objek. Tabel 2.2. Notasi Object Diagram (Raharjo :2009) Nama Obyek
Keterangan Obyek-obyek diidentifikasikan dengan cara meletakkan nama instance-nya kemudian diikuti oleh tanda titik dua didepan namaclass-nya. Nilai property/atribut dituliskan berpasangan seperti “nama_atribut=nilai”. Sedangkan notasi sebuah obyek digambarkan segi empat yang terbagi atas 2 bagian.
Association
Object diagram juga dapat mengandung asosiasi. Biasanya constraint, detil relationship, multiplisitas yang ada di class diagram tidak disertakan dalam object diagram sebagai upaya memfokuskan perhatian hanya terhadap obyek dan property/atributnya. Asosiasi antar 2 obyek biasanya dinotasikan dengan sebuah garis yang menghubungkan kedua obyek.
Contoh John Doe : Kary_Harian NIP : char = 50499333 Nama : char = John Doe tglLahir : char = 23-12-70 tglMasuk : char = 05-05-03 departemen : char = Finance upahHarian : double = 120000 jmlHariKerja : int = 25
Dibawah ini merupakan contoh dari object diagram seorang manusia yang memiliki peliharaan yang ditunjukkan gambar 2.26.
Gambar 2.26 Contoh Object Diagram (Raharjo :2009) 2.2.11 Composite Structure Diagram Composite structure adalah diagram untuk menunjukkan dekomposisi secara hierarkis sebuah class ke sebuah struktur internal. Hal ini memungkinkan untuk memecah obyek yang kompleks menjadi bagian-bagian kecil. Perbedaan package dengan composite structure adalah package sering digunakan untuk pengelompokkan saat dijalankan (runtime) (Munawar :2005)
25
Gambar 2.27 Contoh Composite Structure diagram (Raharjo :2009) 2.2.12 Interaction Overview Diagram Interaction Overview Diagram adalah diagram pencangkokan secara bersama antara activity diagram dengan sequence diagram. Interaction diagram bisa dianggap sebagai activity diagram dimana semua aktivitas diganti dengan sedikit sequence diagram, atau bisa juga dianggap sebagai sequence diagram yang dirincikan dengan notasi activity diagram yang digunakan untuk menunjukkan aliran pengawasan. Dengan kata lain interaction diagram adalah gabungan diantara keduanya yang membuat campuran sedikit ganjil (Munawar :2005).
Gambar 2.28 Contoh Interaction Overview Diagram (Raharjo :2009) 2.2.13 Timing Diagram Timing diagram adalah bentuk lain dari interaction diagram dimana focus utamanya lebih ke waktu, timing diagram ini bisa dipakai untuk obyek tunggal maupun sekelompok obyek (Munawar :2005). Gambar berikut ini
26
adalah contoh dari timing diagram dimana menunjukkan perubahan state dengan cara pemindahan satu garis horizontal ke garis horizontal lain, penggunaan garis putus-putus untuk menunjukkan pembatas {>10 detik} adalah bersifat bebas (optional). Gunakan hal tersebut jika dirasa membantu dalam mengklasifikasikan secara tepat kejadian apa yang dibatasi.
Gambar 2.29 Timing Diagram (Raharjo :2009) 2.3.
Perancangan Basis Data Data adalah nilai (value) yang turut merepresentasikan deskripsi dari
suatu objek atau kejadian (event). Sedangkan informasi merupakan hasil dari pengolahan data dalam suatu bentuk yang lebih berguna dan lebihberarti bagi penerimanya yang menggambarkan suatu event (kejadian-kejadian) yang nyata yang digunakan untuk pengambilan keputusan. Ada beberapa bentuk model dalam sebuah perancangan basis data, yaitu ;
Logical model Model logical mereprensentasikan data dengan tanpa tergantung dengan fisiknya meskipun DBMS yang digunakan harus mendukung data model itu (MCGray Hill ;2003). Desain logical mentraslasikan skema konseptual yang didefinisikan pada sebelumnya ke model data yang sesuai DBMS, dalam logical database model data yang telah diperoleh dalam konseptual basis data dapatmdiubah dalam bentuk logical model dimana data yang ada dipengaruhi oleh model data yang menjadi tujuan basis data yang bertujuan untuk menterjemahkan representasi konseptual ke dalam bentuk struktur logic basis data, logical data model merupakan sumber informasi dalam
27
merancang physical database serta memberikan sarana yang membantu para perancang physical database.
Physical model merupakan skema logical yang telah lengkap dan detail dari implementasi fisiknya (organisasi file dan pengindeksan) pada DBMS tertentu dan model ini tergantung pada DBMS tertentu yang dipilih dan organisasi fisik data pada sistem itu (McGray Hill ;2003). Physical database design
dilakukan
untuk
memutuskan
struktur
logic
secara
fisik
diimplementasikan ke dalam tujuan database management system (DBMS), para perancang juga harus membuat keputusan mengenai bagaimana basis data tersebut dapat diimplementasikan dalam sebuah kebutuhan pekerjaan, oleh karena itu physical database design harus disesuaikan dengan DBMS yang spesifik. Database adalah kumpulan dari item data yang saling berhubungan satu dengan yang lainnya yang diorganisasikan berdasarkan sebuah skema atau struktur tertentu, tersimpan di hardware computer dan dengan software untuk melakukan manipulasi untuk kegunaan tertentu. Database diperlukan karena beberapa hal di antaranya : 1. Salah satu komponen penting dalam sistem informasi, karena merupakan dasar dalam menyediakan informasi. 2. Menentukan kualitas informasi yang akurat,tepat pada waktunya dan relevan. Informasi dapat dikatakan bernilai bila manfaatnya lebih efektif dibandingkan dengan biaya mendapatkannya. 3. Mengurangi duplikasi data (data redudancy). 4. Hubungan data dapat ditingkatkan (data relatability). 5. Mengurangi pemborosan tempat simpanan luar.
Conceptual model Langkah awal dalam conceptual model adalah membuat model data secara konseptual dari projek yang bersangkutan. Data tersebut merupakan informasi-informasimengenai projek. Dalam menentukan model data secara konseptual data yang digunakan tidak termasuk dalam sasaran DBMS,
28
program aplikasi, bahasa pemrograman dan masalah dalam pembuatan basis data, dalam konseptual basis data design yang dikembangkan dengan representasi secara konseptual yang mencakup mengidentifikasi entity, relationship dan atribut yang sangat penting dalam perancangan basis data tersebut. Desain konseptual bertujuan untuk merepresentasikan kebutuhan informal, dekripsi lengkap, namun tidak bergantung pada criteria DBMS. Merepresentasikan isi dari database tanpa mengkhawatirkan bagaimana informasi ini diimplementasikan pada sistem. (McGray Hill ;2003)
2.3.1 Jenjang Data Pada database memiliki 5 jenjang data diantaranya : 1. Karakter Merupakan bagian data yang terkecil, dapat berupa karakter numeric, huruf ataupun special characters (karakter-karakter khusus) yang membentuk field (item data). 2. Field (item data) Merepresentasikan suatu atribut dari record yang menunjukkansuatu item dari data, seperti misalnya nama, alamat, dan lain sebagainya. Kumpulan dari field membentuk suatu record. 3. Record Kumpulan dari field membentuk suatu record. Record menggambarkan suatu unit data individu yang tertentu. Kumpulan dari record membentuk suatu file. Misalnya file personalia, tiap-tiap record dapat mewakili data tiap-tiap karyawan. 4. File
29
File terdiri dari record-record yang menggambarkansatu kesatuan data yang sejenis. Misalnya file mata pelajaran berisi data tentang semua mata pelajaran yang ada. 5. Database Kumpulan dari file atau tabel membentuk suatu database. Pada gambar 2.30 memperlihatkan susunan dari database.
Gambar 2.30 Susunan Database (Raharjo :2009) 2.3.2 Tipe File Pada database terdapat lima file di antaranya : 1. File induk (master File)
30
a. File induk acuan (reference master file) : file induk yang recordnya relative statis, jarang berubah nilainya. Misalnya file daftar gaji, file mata pelajaran. b. File induk dinamik (dynamic master file) : file induk yang nilai recordrecordnya sering berubah atau sering dimutakhirkan (update) sebagai hasil dari suatu transaksi. Misalnya file induk data barang, yang setiap saat harus di up-date bila terjadi transaksi. 2. File Transaksi (transaction file) File ini bisa disebut file input, digunakan untuk merekam data hasil dari transaksi yang terjadi. Misalnya file penjualan yang berisi data hasil transaksi penjualan. 3. File Laporan (Report file) File ini bisa disebut output file, yaitu file yang berisi informasi yang akan ditampilkan.
4. File Sejarah (history file) File ini bisa disebut file arsip (archival file), merupakan file yang berisi data masa lalu yang sudah tidak aktif lagi,tetapi masih disimpan sebagai arsip. 5. File Pelindung (backup file) File ini merupakan salinan dari file-file yang masih aktif di dalam database pada suatu saat tertentu. File ini digunakan sebagai pelindung atau cadangan bila file database yang aktif mengalami kerusakan atau hilang. 2.3.3 Normalisasi Normalisasi merupakan sebuah teknik dalam logical desain sebuah basis data (database), teknik pengelompokkan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redudansi). Berikut bentuk-bentuk normalisasi : 1. Normal Pertama (1st Normal Form) Memiliki ketentuan sebagai berikut :
31
a. Mendefinisikan atribut kunci b. Tidak adanya group berulang c. Semua atribut bukan kunci tergantung pada atribut kunci 2. Normalisasi kedua (2nd Normal Form) Memiliki ketentuan sebagai berikut : a. Sudah memenuhi dalam bentuk normal kesatu b. Sudah tidak ada ketergantungan parsial, dimana seluruh field hanya tergantung pada sebagian field kunci 3. Normalisasi ketiga (3rd Normal Form) Memiliki ketentuan sebagai berikut : a. Sudah berada dalam bentuk normal kedua b. Tidak ada ketergantungan transitif (dimana field bukan kunci tergantung pada field bukankunci lainnya) Normal seharusnya berada dalam bentuk normal tertinggi dan bergerak dari bentuk normal satu dan seterusnya untuk setiap kali membatasi hanya satu jenis redudansi. Keseluruhannya Cuma ada lima bentuk normal. Tiga bentuk normal, pertama menekankan redudansi yang muncul dari fungsi dependensi (Function Dependencies), sedangkan bentuk keempat dan kelima menekankan redudansi yang muncul dari kasus isi dependensi (Multi Valued Dependencies). 2.3.4 Entity Relationship Diagram (ERD) Menurut Fathansyah (2001) Diagram Keterhubungan Entitas atau EntityRelationship Diagram, selanjutnya disebut ERD, adalah model konseptual yang mendeskripsikan hubungan antar penyimpanan (dalam DAD). ERD digunakan untuk memodelkan struktur data dan hubungan antar data. Model
entity-
relationship yang masing-masing dilengkapi dengan atribut-atribut yang merepresentasikan seluruh fakta dari real world (dunia nyata) yang ditinjau, dapat digambarkan dengan lebih sistematis dengan menggunakan ERD. ERD menggunakan sejumlah notasi dan symbol untuk menggambarkan struktur dan hubungan antar data. Notasi-notasi simbolik di dalam ERD yang dapat digunakan adalah :
32
1. Persegi panjang, menyatakan himpunan entitas. 2. Lingkaran atau elips, menyatakan atribbut (atribut yang berfungsi sebagai key digaris bawahi). 3. Belah ketupat, menyatakan himpunan relasi. 4. Garis (link), sebagai penghubung antara himpunan relasi dengan himpunan entitas dengan atributnya. 5. Kardinalitas relasi dapat dinyatakan dengan banyaknya garis cabang atau dengan pemakaian angka (1 dan 1 untuk relasi satu-ke-satu, 1 dan N untuk relasi satu-ke-banyak atau N dan N untuk relasi banyak- ke-banyak).
E
Himpunan entitas e
R
Atribut sebagai key
a
Himpunan relasi R Link
Gambar 2.31 Notasi ERD Entitas merupakan individu yang mewakili sesuatu yang nyata (eksistensinya) dan dapat dibedakan dari sesuatu yang lain. Sekelompok entitas yang sejenis dan berada dalam lingkup yang sama membentuk sebuah himpunan entitas. Atribut mendeskripsikan karakteristik (sifat-sifat) dari entitas. Ada atribut yang dijadikan kunci (key) dan yang lainnya disebut atribut deskriptif. Menurut Fathansyah (2001). Pada dasarnya, kunci adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris data dalam tabel secara unik atau tidak boleh sama. Ada tiga macam kunci yang dapat diterapkan pada suatu tabel, yaitu : 1. Kunci super (superkey) Superkey merupakan satu atau lebih atribut (kumpulan atribut) yang dapat membedakan setiap baris data dalam sebuah tabel secara unik. 2. Kunci kandidat (candidate-key) Candidate key
merupakan kumpulan atribut minimal yang dapat
membedakan setiap baris data dalam sebuah tabel secara unik.
33
3. Kunci primer (primary- key) Primary-key dipilih dari sejumlah candidate-key,umumnya didasari oleh: a. Key tersebut lebih sering (lebih natural)untuk dijadikan sebagai acuan. b. Key tersebut lebih ringkas. c. Jaminan keunikan key tersebut lebih baik. Relasi menunjukkan adanya hubungan diantara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Kumpulan semua relasi diantara entitas-entitas
yang
terdapat
pada
himpunan
entitas-himpunan
entitas
membentuk himpunan relasi (relationship sets). Kardinalitas relasi menunjukkan jumlah maksimum entitas yang dapat berelasi dengan entitas pada himpunan entitas yang lain. Kardinalitas relasi yang terjadi diantara dua himpunan entitas dapat berupa : 1. Satu ke satu (One to one). Setiap entitas pada himpunan entitas pertama berhubungan dengan paling banyak dengan satu entitas pada himpunan entitas kedua, begitu juga sebaliknya.
Pasien
berada
Tempat tidur
Gambar 2.32 Contoh kardinalitas satu ke satu (Linda Marlinda :2004) 2. Satu ke banyak (One to many) Setiap entitas pada himpunan entitas pertama dapat berhubungan dengan banyak entitas pada himpunan entitas kedua, dan setiap entitas pada himpunan entitas pada himpunan entitas pertama.
Pegawai
Bekerja
Departemen
34
Gambar 2.33 Contoh kardinalitas satu ke banyak (Linda Marlinda :2004) 3. Banyak ke banyak (Many to many). Setiap entitas pada himpunan entitas pertama dapat berhubungan dengan banyak entitas pada himpunan entitas kedua, dan demikian juga sebaliknya.
Pegawai
Proyek
Bekerja
Gambar 2.34 Contoh kardinalitas banyak ke banyak (Linda Marlinda :2004) Kardinalitas relasi satu ke banyak dan banyak ke satu dapat dianggap sama, karena tinjauan kardinalitas relasi selalu dilihat dari dua sisi (dari himpunan entitas pertama ke himpunan entitas kedua dan dari himpunan entitas kedua entitas ke entitas pertama ke himpunan entitas kedua ke himpunan entitas pertama).
Dua kelompok pentahapan yang biasa ditempuh dalam pembuatan ERD, yaitu : 1. Tahap pembuatan ERD awal (preliminary design) Mendapatkan
sebuah
rancangan
basis
data
minimal
yang
dapat
mengakomodasi kebutuhan penyimpanan data terhadap sistem yang sedang ditinjau. 2. Tahap optimal ERD (final design) Melakukan koreksi terhadap hasil tahap pertama, berupa pendekomposisian himpunan entitas, penggabungan himpunan entitas, pengubahan derajat relasi, penambahan relasi baru hingga perubahan (penambahan dan pengurangan) atribut-atribut untuk masing-masing entitas dan relasi. Langkah-langkah teknis yang dapat dilakukan untuk menghasilkan ERD awal adalah : 1. Mengidentifikasi dan menetepkan seluruh himpunan entitas yang terlihat. 2. Menentukan atribut-atribut key dari masing-masing himpunan entitas.
35
3. Mengidentifikasi dan menetapkan seluruh himpunan relasi di antara himpunan entitas-himpunan entitas yang ada beserta kunci asingnya (foreign-key). 4. Menentukan derajat atau kardinalitas relasi untuk setiap himpunan relasi. 5. Melengkapi himpunan entitas dan himpunan relasi dengan atribut-atribut deskriptif(non key).
2.4
Flowchart Flowchart merupakan metode yang menggambarkan dalam bentuk
skematik aliran data dalam sistem (Menurut Rademacher[3]). Notasi-notasi flowchart yang dipakai penulis dapat dilihat pada gambar 2.35.
Gambar 2.35 Notasi-notasi dasar flowchart Berikut penjelasan dari notasi-notasi pada Gambar 2.35 : 1. Symbol 1 adalah proses. Mewakili setiap proses yang menyebabkan perubahan pada nilai, bentuk, atau lokasi data. 2. Symbol 2 adalah fungsi masukan/keluaran. Mewakili fungsi dasar dari masukan data ke computer atau mengeluaran informasi. 3. Symbol 3 adalah On-page connector. Digunakan untuk mengidentifikasikan titik umum dati jalur dimana hubungan garis tidak dapt digambar karena ruang yang terbatas pada halaman. 4.
Symbol 4 adalah Off-page connector. Digunakan untuk menghubungkan aliran logis dari satu halaman ke halaman yang lain.
36
5. Symbol 5 adalah garis. Digunakan untuk menunjukkan jalur yang diikuti oleh data. 6. Symbol 6 adalah dokumen. Digunakan untuk menunjukkan perangkat keluaran. 7. Symbol 7 adalah magnetic tape. Digunakan sebagai perangkat masukan dan keluaran. 8. Symbol 8 adalah On-line stroge. Mengindikasikan penggunaan kapasitas perangkat penyimpanan magnetic yang besar, seperti disk, drum, data sel, atau system penyimpanan massa. 9. Symbol 9 adalah Magnetic drum. Menunjukkan masukan, keluaran, atau penyimpanan data menggunakan drum. 10. Symbol 10 adalah tampilan. Menunjukkan informasi keluaran dari terminal CRT, poltter, dan sebagainya. 11. Symbol 11 adalah masukan manual. Menandakan penggunaan perangkat keyboard untuk memasukan data ke computer. 12. Symbol 12 adalah keputusan. Penanda titik percabangan dalam program. 13. Symbol 13 adalah persiapan. Menandakan moditifikasi instruksi untuk merubah program. 14. Symbol 14 adalah Predifined process. Menunjukkan penamaan proses atau operasi ataun sekumpulan langkah-langkah program dalam kumpulan flowchart. Sebagai contoh, funsi untuk mencari nilai genap pada hasil bagi nilai x dengan angka 2. Jika hasil mendapatkan nilai 0 maka nilai genap di dapatkan jika tidak maka akan kembali ke input data. Gambaran contoh ini dapat dilihat pada gambar 2.10.
37
Mulai
x
Hasil=x div 2
Hasil
Hasil=0
T
Y Selesai
Gambar 2.36 Flowchart mencari nilai genap
2.5
Desain Pengujian Perangkat Lunak Sasaran pengujian adalah mendesain pengujian yang memiliki
kemungkinan tertinggi dalam menemukan keselahan dengan jumlah waktu dan usaha yang minimum (Menurut Pressman, Roger [1]). Semua produk yang direkayasa dapat diuji dengan cara : Pengujian black box (kotak hitam) Pengujian black box berfookus pada persyaratan fungsional perangkat lunak. Pengujian black box berusaha menemukan kesalahan-kesalahan dalam kategori sebagai berikut : (1) fungsi-fungsi yang tidak benar atau hilang, (2) kesalahan interface, (3) kesalahan dalam struktur data atau akses database eksternal, (4) kesalahan kinerja, (5) inisialisasi dan kesalahan terminasi. Partisi ekivalensi adalah metode pengujian black box yang membagi domain masukan dari suatu programke dalam kelas data dari mana test case dapat dilakukan. Kelas ekivalensi dapat ditentukan sesuai pedoman berikut ini :
38
1. Bila kondisi masukan menetukan suatu range, maka satu kelas ekivalensi valid dan dua yang valid ditentukan. Kode area adalah range dimana nilai yang ditentukan antara 200 dan 999. 2. Bila kondisi masukan membutuhkan suatu harga khusus, maka satu kelas ekivalensi valid dan dua yang invalid ditentukan. Contoh, password adalah masukan harga yang terdiri dari enam karakter. 3. Bila suatu kondisi masukan menetukan anggota suatu himpunan, maka satu kelas ekivalensi valid atau dua yang invalid ditentukan. Contoh, perintah adalah himpunan yang berisi perintah cek, deposit, dan bayar pajak. 4.
Bila suatu kondisi masukan adalah Boolean, maka satu kelas valid dan satu kelas yang invalid ditentukan. Contoh, password adalah Boolean dimana password dapat ada atau tidak ada.
2.6
WEB Web merupakan kumpulan informasi pada server computer yang
terhubung satu sama lain dalam jaringan internet atau intranet. Sedangkan aplikasiberbasis web (web base aplication) secara prinsip menyerupai aplikasi dalam computer biasa, yang membedakan adalah dalam aplikasi web menggunakan tag-tag HTML sebagai dasar tampilan. Sedangkan aplikasi program computer menggunakan berbagai platform bahasa pemrograman. Untuk membuat sebuah web aplikasi yang mampu mengolah input, melakukan proses, dan mengahasilkan output yang sesuai dengan input yang diberikan. Ada 4 hal yang diperlukan antara lain : a. Pemrograman Web (Web programming) Sedikit berbeda dengan pemrograman compiler, pemrograman web menggunakan basis pada proses interpreter (penerjemahan perintah) dan kita diberikan kebebasan untuk memilih dan menggunakan editor untuk
39
pengetikan kodenya. Perintah kode yang diinterpreter dalam bentuk file text biasa, sehingga sering disebut dengan web scripting, yaitu file text yang berisi script (kode yang digunakan untuk pemrograman web) yang akan diterjemahkan untuk divalidasi setiap kali script tersebut diakses atau dipanggil sehingga pada akhir prosesnya akan dihasilkan output bertipe HTML yang ditampilkan melalui web browser. Hal inilah yang menyebabkan kecepatan proses pemrograman web lebih jauh lebih lambat dibandingkan dengan pemrograman compiler, karena pemrograman compiler langsung menjalankan file executable-nya saja yang sebelumnya telah divalidasi. b. Web Server Web Server identik dengan sebuah add-on software, yaitu sebuah software yang terintegrasi dengan system operasi yang digunakan. Web Server ini nantinya akan menerima input dari pengguna (client request) untuk dip roses melalui penerjemahan server side script dan menghasilkan output (response). Web server juga dapat berinteraksi dengan penyimpanan data seperti basis data. Pemilihan web server
sangat tergantung pada
pemrograman web yang akan digunakan. c. Database Server Sebuah web aplikasi membutuhkan tempat penyimpanan data sekali gus memanajemen data yang ada. Pemilihan basis data yang tidak tepat dapat menyebabkan turunnya kinerja web aplikasi. Integrasi basis data dilakukan oleh web server. Terdapat beberapa cara koneksi ke database server melalui web server PWS atau IIS, seperti Open Database Connectivity atau ODBC, Active Data Object (ADO), OLE/DB, dan sebagainya. Pada dasarnya database server yang baik harus mampu menangani data yang besar serta menerapkan DBMS (Database Management system). Contohnya Microsoft SQL Server. ORACLE, MySQL, DBII, Postgree SQL. Ada juga beberapa basis data yang lebih kecil skalanya namun cukup handal seperti Ms Access dan Visual Foxpro. d. Script Editor
40
Editor adalah sebagai program yang digunakan untuk menuliskan kodekode perintah. Karena web scripting tidak akan mengalami kompilasi melainkan hanya interpreter dari kode-kode perintah dalam bentuk teks, maka tidak diperlukan editor khusus. Hal ini berarti kita dapat menggunakan text editor mulai dari yang sederhana sepaerti Notepad, Wordpad, Ultra Edit, sampai yang berbasis visual atau GUI (Graphical User Interface) seperti Visual InterDev, Microsoft Front Page, Macromedia Dreamweaver, dan sebagainya. Ada 3 pedoman untuk memilih script editor yang baik, yaitu a. Memiliki fasilitas high light function. Setiap perintah memiliki pewarnaan yang unik sehingga pengetikan yang salah akan mudah diketahui. b. Terdapat line number disebelah kiri area pengetikan kode-kode perintah. Hal ini akan sangat membantu untuk menemukan kesalahan karena web server akan memberikan reponse error line number setiap kali ada interpreter yang gagal. c. Memiliki fasilitas dot command list Dengan Fasilitas ini kita tidak perlu terlalu mengingat-ingat kode-kode perintah. Karena editor akan memberikan sugesti daftar perintah yang kita maksud. Selain untuk mendukung terciptabya web aplikasi yang dinamis dan interaktif, diperlukan struktur navigasi yang tepat dalam pembuatannya. Navigasi pada sebuah web aplikasi yang ditampilkan pada menu dan links yang menjadi petunjuk bagi pengguna terhadap halaman-halaman yang terdapat dalam web aplikasi. Pengguna akan semakin mudah menemukan halamanhalaman dalam web aplikasi, jika menu-menu dan link yang ada tampil secara terstruktur. 2.7
HTML HTML (hyper Text Markup Language) merupakan dasar terbentuknya
aplikasi berbasis web. Pada dasarnya HTML bukanlah sebuah bahasa pemrograman, akan tetapi merupakan semacam bahasa pengkodean. Hal ini
41
disebabkan karena HTML tidak memerlukan compiler khusus sebagaimana bahasa pemrograman sebenarnya (PHP, ASP, JSP, dan lainnya). Beberapa hal yang dapat dilakukan dengan menggunakan HTML antara lain :
Mengontrol tampilan dari web page dan contentnya.
Mempublikasikan document secara online melalui internet.
Menambahkan object-object seperti image, audio, video, java applet dalam document HTML.
Menyisipkan bahasa pemrograman web lainnya seperti PHP, ASP, XML, Java Script, JSP.
2.7.1
Struktur HTML
Hypertext Markup Language merupakan standard bahasa yang digunakan untuk menampilkan document web, dokumen HTML terdiri dari tag dan elemen-elemen. Ada pun ketika browser menampilkan hasil dokumen, sebenarnya browser menerjemahkan tag-tag menjadi tampilan menarik yang dapat anda lihat pada browser tersebut. Secara umum struktur penulisan dokumen HTML memiliki tiga buah elemen utama yaitu HTML, HEAD, dan BODY (semuanya merupakan tag berpasangan). Berikut contoh struktur penulisan HTML : <TITLE>(Judul HTML) (Isi HTML) 2.8
PHP
42
PHP merupakan singkatan rekursif dari Hypertext Preprocessor. PHP adalah bahasa pemrograman (scripting) yang menyatu dengan HTML dan berada pada server. Artinya sintaks dan perintah-perintah yang diberikan sepenuhnya dijalankan di server namun disertakan pada halaman web biasa. Tujuan dari bahasa pemrograman PHP adalah untuk membuat aplikasi-aplikasi yang dijalankan seluruhnya pada server yang kemudian hasil proses tersebut dikirimkan dan ditampilkan pada web browser. Kelebihan PHP adalah mempermudah aplikasi web melakukan koneksi dengan database. PHP adalah server- side scripting language, artinya akan dijalankan pada sisi server. PHP bisa dipadankan dengan ASP (Active Server Pages) dari Microsoft, JSP (Java Server Pages) dari Sun Microsystem atau Coldfusion dari Macromedia/Adobe. Ketiganya sama-sama server- side scripting language dan memiliki fungsi yang hampir sama yaitu untuk membuat halaman web dinamis.PHP bisa melakukan koneksi ke database. Apakah itu Access, MySQL, Informix, Oracle, Sybase, Solid, PostgreSQL.
2.8.1
Konsep Kerja PHP
Konsep kerja PHP pada prinsipnya serupa dengan kode HTML. Yaitu diawali permintaan suatu halaman web oleh browser. Berdasarkan URL atau alamat internet, browser mendapatkan alamat dari web server, menidentifikasi halaman yang dikehendaki, dan menyampaikan, segala informasi yang dibutuhkan oleh web server akan mencarikan berkas yang diminta dan memberikan isinya ke mesin PHP dan mesin inilah yang memproses dan memberikan hasilnya (berupa kode HTML) ke web server. Selanjutnya web server menyampaikan ke client.
43
Web Server
Script PHP
Permintaan HTTP
Mesin PHP
Browser (client)
Kode HTML
Tanggapan HTTP
Gambar 2.37 Konsep Kerja PHP 2.8.2
Struktur PHP
kode program PHP menyatu dengan tag-tag HTML dalam satu file. Kode PHP diawali dengan tag Atau Php dan ditutup dengan tag ?>. File yang berisi tag HTML dank ode PHP ini diberi ekstensi php. Berdasarkan ekstensi ini, pada saat file diakses, server akan tahu bahwa file ini mengandung kode PHP. Server akan menterjemahkan kode ini dan menghasilkan keluaran (output) dalam bentuk tag HTML yang dikirim ke browser client yang mengakses file tersebut. PHP bersifat case sensitive yang artinya PHP membedakan huruf kecil dan huruf besar untuk penulisan variabel. Misalnya variabel $p beda dengan variabel $P. sedangkan untuk penulisan fungsi-fungsi, PHP tidak membedakan huruf besar dan huruf kecil. Ada tiga cara dalam penulisan script PHP yaitu :
1. Script PHP ?> 2. 3. <SCRIPT LANGUAGE =”php”> Script PHP Sedangkan untuk penulisan komentar program, ada tiga macam cara penulisan komentar program yang akan digunakan, yaitu :
44
1. C style, komentar diawali dengan tag /*dan diakhiri */, style ini digunakan untuk komentar yang lebih dari satu baris. 2. C++ style, komentar ini diawali dengan tag // dan hanya berlaku untuk satu baris komentar, untuk baris berikutnya harus diawali dengan tag // lagi. 3. Bourne Shell style, diawali dengan tag # untuk satu baris komentar. 2.9
MySQL MySQL adalah server basis datanyang kompak dan kecil yang ideal
untuk banyak aplikasi basis data on-line. MySQL merupakan database yang paling digemari di kalangan Programmer Web, dengan alas an bahwa program ini merupakan database yang sangat kuat dan cukup stabil untuk digunakan sebagai media penyimpanan data. Sebagai sebuah Database Server yang mampu untuk memanajemen database dengan baik, MySQL terhitung merupakan
database yang paling digemari dan paling banyak digunakan
disbanding database lainnya. Selain MySQL masih terdapat beberapa jenis database itu adalah Oracle dan PostgreSQL. Di dalam dunia intranet maupun internet, MySQL dijadikan sebagai sebuah database yang paling banyak digunakan Ms Access,penggunaan MySQL ini biasanya dipadukan dengan menggunakan kedua program tersebut di atas, telah terbukti akan kehandalannya dalam menangani permintaan data.
Hal lain yang perlu Anda ketahui mengenai MySQL adalah bahwa MySQL merupakan sebuah software database yang bersifat
Free (gratis),
karena MySQL dilisensi dibawah GNU General Public License (GPL). Dengan adanya keadaan seperti itu maka Anda dapat menggunakan software database ini dengan bebas tanpa harus takut dengan Lisensi yang ada.
45
Gambar 2.38 Tampilan MySQL versi 5.0.18 pada php MyAdmin 2.10
Pengenalan WAP (Wireless Application Protocol) WAP (Wireless Application Protocol) merupakan protocol bagi
perangkat nirkabel yang menyediakan layanan komunikasi data bagi pengguna, baik dalam bentuk yang terhubungan dengan telekomunikasi maupun aplikasiaplikasi berorientasi Internet. Struktur WAP mengadopsi topologi layer-layer yang ada pada Internet Protokol atau model TCP/IP. Ini terkait dengantujuan dibuatnya WAP, yaitu memberikan akses Internet bagi alat komunikasi mobile nirkabel. Pengembangan aplikasi WAP dilakukan dalam suatu lingkungan kerja yang disebut Wireless Application Enviroment (WAE). Inti dari WAE ini terdiri dari Wireless Markup Language (WML) dan Wireless Markup Language Script (WML Script).
2.10.1 Prinsip Kerja WAP Terdapat tiga bagian utama dalam akses WAP, yaitu perangkat keras yang mendukung WAP, WAP Gateway sebagai perantara, dan web server sebagai sumber dokumen. Dokumen yang berada dalam web server dapat berupa dokumen HTML (Hyper Text Markup Language) ataupun WML (Wireless Markup Language). Dokumen WML khusus ditampilkan melalui browser dari perangkat WAP atau mobile phone. Sedangkan dokumen HTML yang seharusnya ditampilkan melalui web browser, sebelum dibaca melalui browser WAP diterjemahkan terlebih dahulu ole WAP Gateway agar dapat menyesuaikan
46
dengan perangkat WAP. WAP Gateway digunakan sebagai penerjemah halamanweb dengan format HTML menjadi WML agar dapat dilihat pada browser mobile phone. Akan tetapi dokumen WML lebih ditujukan pada ponsel dengan layer yang kecil. Skema hubungan antara web server, WAP gateway, dan ponsel dapat dilihat pada gambar 2.15.
Gambar 2.39 Diagram Network (jaringan)pada WAP 2.10.2 Model Pemrograman WAP Model pemrograman WAP terdiri 3 bagian, yaitu WAP Client yang mengirim informasi, gateway sebagai penerjemah antara WAP dan HTTP, serta server
yang
memproses
permintaan
dari
gateway
untuk
kemudian
menjawabnya. Jawaban yang merupakan proses dari CGI skrip ini akan dikirim ke klient melalui gateway sebagai perantara. Hasil konversi yang dilakukan oleh WAP Gateway mampu memperkecil ukuran informasi yang akan dikirim ke klien. Model pemrograman dapat dilihat pada gambar 2.16. Permintaan
Permintaan
Encoder & Decoder
User Agent Respon (encoded)
CGI Script Content Respon dokumen
Gambar2.40 Model Pemrograman WAP 2.10.3 Layer-layer pada WAP Gateway WAP gateway tersusun atas 4 layer diantaranya WDP, WTLS, WTP, dan WSP. Untuk tiap-tiap layer memiliki fungsi yang berbeda-beda.
47
1. WDP (WAP Datagram Protocol) adalah layer yang transport yang digunakan untuk mengirim dan menerima pesan/data melalui segala macam pembawa pesan di jaringan. 2. WTLS (Wireless Transport Layer Security) adalah sebuah layer keamanan yang menyediakan kemampuan enkripsi sehingga keamanan transaksi dapat terpenuhi. 3. WTP (WAP Transaction Protocol) adalah layer pendukung transaksi. Layer ini menambahkan reliability ke datagram servis yang disediakan oleh WDP. 4. WSP (WAP Session Protokol) adalah yang menyediakan sesi layer lightweight untuk efisiensi pertukaran data di antara aplikasi. Gambaran susunan WAP gateway dapat dilihat pada gambar 2.17.
SNMP JAVA
Loging
Subscriber Database
Billing Data
Subscriber Data
M A N A G E M E N T
Compiler & Encoder
Application
Contex Manager
WSP
WTP
HTTP
WTLS
WDP/Adaption
Bearers
TCP/IP
Internet Firewalle
Gambar 2.41 Susunan Gateway WAP 2.11
Kamus Data Kamus data atau data dictionary atau disebut juga dengan istilah system
data dictionary adalah catalog fakta tentang data dan kebutuhan-kebutuhan informasi dari suatu system informasi. Dengan menggunakan kamus data, analisis system dapat mendefinisikan data yang mengalir di system dengan lengkap. Kamus data dibuat pada tahap perancangan system. Tabel 2.3 Notasi Kamus Data
48
Notasi = + [] | M{ }M () *
Arti Terbentuk dari atau terdiri dari atau sama dengan AND Salah satu dari (memilih salah satu dari elemen-elemen data di dalam kurung bracket ini) Sama dengan simbol [ ] Iterasi (elemen data di dalam kurung brace beriterasi mulai minimum N kali dan maksimum M kali) Optional (elemen data di dalam kurung perenthesis sifatnya optional, dapat ada dan dapat tidak ada) Keterangan setelah tanda ini adalah komentar
Berikut adalah contoh umum dari kamus data 1. Mahasiswa = {NIM, Nama_Mhs, Alamat, Tmpt_lhr, Tgl_lhr} 2. Dosen
= {*NID + Nama_Dos + Keahlian + Alamat }
3. Mengajar
= {*Kode_MK + **NID + Waktu + Ruang }