BAB I I : LANDASAN TEORI II-17 I-1 - BAB II OK
BAB II LANDASAN TEORI
2.1. Pengenalan UML ( Unified Modelling Language )
Unified Modelling Language (UML) adalah salah satu alat
bantu yang sangat handal di dunia pengembangan sistem yang berorientasi obyek. Hal ini disebabkan karena UML menyediakan bahasa pemodelan visual yang memungkinkan bagi pengembang system untuk membuat visualisasi atas visi mereka dalam bentuk yang baku, mudah dimengerti serta dilengkapi dengan mekanisme yang efektif untuk berbagi (sharing) dan mengkomunikasikan rancangan mereka dengan yang lain (Munawar,2005:17). UML menawarkan sebuah standar untuk merancang model sebuah sistem. Dengan menggunakan UML kita dapat membuat model untuk semua jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras, sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun. Dengan UML akan bisa menceritakan apa yang seharusnya dilakukan oleh sebuah system bukan bagaimana yang seharusnya dilakukan oleh sebuah sistem.
UML merupakan kesatuan dari bahasa pemodelan yang dikembangkan oleh Booch, Object Marketing Technique (OMT) dan Object Oriented Software Engineering (OOSE). Metode Booch dari Grady Booch sangat terkenal dengan nama metode
Design Object Oriented. Metode ini menjadikan proses analisis
dan design ke dalam empat tahapan iterative, yaitu identifikasi kelas-kelas dan objek-objek, identifikasi semantic dari hubungan objek dan kelas tersebut, perincian interface dan implementasi.
Pemodelan OMT yang dikembangkan oleh Rumbaugh didasarkan pada analisis terstruktur dan pemodelan entity- relationship. Tahapan utama dalam metodologi ini adalah analisis, design system dalam penotasian yang mendukung semua konsep Object Oriented. Metode OOSE dari Jacobson lebih memberi penekanan pada use case. OOSE memiliki 3 tahapan yaitu membuat model requirement dan analisis design dan implementasi, dan model pengujian (test model). metode Booch, OMT dan OOSE yang disempurnakan sehingga UML lebih ekspresif dan efektif daripada metode lainnya.
UML mempunyai sejumlah elemen grafis yang bisa dikombinasikan menjadi diagram. Karena ini merupakan sebuah bahasa, UML mempunyai sebuah aturan untuk menggabungkan/ menggabungkan elemen-elemen tersebut.. Berikut adalah klasifikasi diagram yang ada pada UML :
1. Use Case Diagram
Use case adalah konstruksi untuk mendeskripsikan
bagaimana sistem akan terlihat di mata pengguna. Use case terdiri dari sekumpulan skenario yang dilakukan oleh seorang
actor (orang, perangkat keras, urutan waktu atau system yang
lain). Sedangkan use case diagram memfasilitasi komunikasi diantara analisis dan pengguna serta diantara analisis dan klien (Munawar,2005:71). Untuk mengidentifikasi actor, harus ditentukan pembagian tenaga kerja dan tugas-tugas yang berkaitan dengan peran pada konteks target system. Actor adalah abstraksi dari orang dan sistem yang lain yang mengaktifkan fungsi dari target peran. Perlu dicatat bahwa actor berinteraksi dengan use
case, tetapi tidak memiliki control atas use case. Diagram use case menunjukkan 3 aspek dari system yaitu actor, use case
dan system/sub system boundary.
Use Case
Actor ActorGambar II.1 Use case Model
Stereotype dalam use case adalah sebuah model khusus
yang terbatas untuk kondisi tertentu.Untuk menunjukkan
stereotype digunakan symbol “<<” diawalnya dan ditutup “>>”
diakhirnya. Hal yang lumrah untuk menggunakan kembali use
case yang sudah ada. Untuk stereotype <<include>>
menunjukkan sebuah use case adalah bagian dari use case yang lain. <<extend>> digunakan untuk membuat use case baru dengan menambahkan langkah-langkah pada use case yang sudah ada.
2. Class Diagram
Class adalah spesifikasi yang jika diinstansiasi akan
menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek. Class menggambarkan keadaan (atribut/properti) suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
Class memiliki tiga area pokok :
a. Nama, merupakan nama dari sebuah kelas b. Atribut, merupakan property dari sebuah kelas.
c. Operasi, sesuatu yang bisa dilakukan oleh sebuah class atau yang dapat dilakukan oleh class lain terhadap sebuah class. Atribut dan metoda dapat memiliki salah satu sifat berikut:
a. Private, tidak dapat dipanggil dari luar class yang
b. Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya.
c. Public, dapat dipanggil oleh siapa saja.
Class dapat merupakan implementasi dari sebuah interface,
yaitu class abstrak yang hanya memiliki metoda. Interface tidak dapat langsung diinstansikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Dengan demikian interface mendukung resolusi metoda pada saat
runtime.
Hubungan Antar Class :
a. Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan class yang memiliki atribut berupa
class lain, atau class yang harus mengetahui eksistensi class lain. Panah navigability menunjukkan arah query
antar class.
b. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas...”).
c. Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari class lain dan mewarisi semua fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
d. Hubungan dinamis, yaitu rangkaian pesan (message) yang di-passing dari satu class kepada class lain.
Hubungan dinamis dapat digambarkan dengan menggunakan sequence diagram yang akan dijelaskan kemudian.
Statechart diagram, atau yang biasa juga disebut state diagram digunakan untuk mendokumentasikan beragam
kondisi/keadaan yang bisa terjadi terhadap sebuah class dan kegiatan apa saja yang dapat merubah kondisi/ keadaan tersebut.
Statechart diagram menggambarkan transisi dan perubahan
keadaan (dari satu state ke state lainnya). Pada umumnya
statechart diagram menggambarkan class tertentu (satu class
dapat memiliki lebih dari satu statechart diagram). Dalam UML, state digambarkan berbentuk segi empat dengan sudut membulat dan memiliki nama sesuai kondisinya saat itu.
Transisi antar state umumnya memiliki kondisi guard yang merupakan syarat terjadinya transisi yang bersangkutan, dituliskan dalam kurung siku ([]). Action yang dilakukan sebagai akibat dari event tertentu dituliskan dengan diawali garis miring. Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuh dan berwarna setengah.
4. Activity Diagram
Activity diagram adalah teknik untuk mendeskripsikan logika
diagram menunjukkan tahapan, pengambilan keputusan dan
percabangan. Diagram ini sangat berguna untuk menunjukkan operasi sebuah obyek dan proses bisnis. Kelebihan activity diagram dibanding flow chart adalah kemampuannya dalam menampilkan aktivitas parallel. Activity
diagram bisa digunakan untuk menunjukkan siapa
mengerjakan apa (Munawar,2005:110). Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang
decision yang mungkin terjadi, dan bagaimana mereka
berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas. Sama seperti state, standart UML menggunakan segi empat dengan sudut membulat untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu, digambarkan dengan simbol belah ketupat. Untuk mengilustrasikan proses-proses paralel (fork and join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal.
5. Sequence Diagram
Sequence diagram biasa digunakan untuk menggambarkan
skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event untuk menghasilkan
output tertentu (Munawar,2005:88).
Sequence diagram menggambarkan interaksi antar objek di
dalam dan di sekitar sistem (termasuk pengguna, display, dan sebagainya) berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri antar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).
Message adalah tanda panah yang menghubungkan suatu
life line ke life line yang lain. Lokasi life line dalam dimensi vertical mewakili urutan waktu dalam sequence diagram. dengan bagian atas diagram dan yang terjadi belakangan adalah bagian bawah.
6. Collaboration Diagram Collaboration Diagram menggambarkan interaksi antar objek
seperti sequence diagram, tetapi lebih menekankan pada peran masing-masing objek dan bukan pada waktu penyampaian message. Setiap message memiliki sequence
number, dimana message dari level tertinggi memiliki nomor 1
(satu). Messages dari level yang sama memiliki prefix yang sama pula.
Collaboration Diagram adalah bentuk lain sequence diagram.
Bila sequence diagram diorganisir menurut waktu maka
collaboration Diagram diurut menurut ruang/space (Munawar,2005:101).
7. Componen Diagram Componen Diagram menggambarkan struktur dan hubungan
antar komponen piranti lunak, termasuk ketergantungan (dependency) diantaranya. Komponen piranti lunak adalah modul berisi code, baik berisi source code maupun binary compile time, link time, maupun run time. Umumnya komponen terbentuk dari beberapa class dan atau package, tapi dapat juga dari komponen-komponen yang lebih kecil. Komponen dapat juga berupa interface, yaitu kumpulan layanan yang disediakan sebuah komponen untuk komponen lain. Hal penting dari component adalah component mewakili potongan- potongan yang independent yang bisa dipesan dan sistem ke dalam component lebih didorong untuk kepentingan marketing daripada kepentingan teknis.
8. Deployment Diagram Deployment diagram menyediakan gambaran bagaimana
sistem secara fisik akan terlihat. Sistem terdiri dari node-node dimana setiap node mewakili sebuah kubus. Garis yang menghubungkan antara 2 kubus menunjukkan hubungan diantara kedua node tersebut (Munawar,2005:127).
Deployment diagram digunakan untuk melayani pemodelan hardware yang digunakan dalam imlpementasi system dan
asosiasinya antara komponen-komponen tersebut.
Deployment diagram menggambarkan bagaimana software dan hardware bekerjasama.
9. Package Diagram
Adalah sebuah bentuk pengelompokkan yang memungkinkan untuk mengambil sebuah bentuk di UML dan mengelompokkan elemen-elemennya dalam tingkatan unit yang lebih tinggi. Kegunaan package yang paling umum adalah untuk mengelompokkan class.
Manfaat utama penggunaan package adalah penerapannya pada sistem skala besar untuk mendapatkan gambaran saling ketergantungan diantara component-component utama pada sistem. Langkah-Langkah Penggunaan UML secara umum :
1. Langkah pertama adalah membuat daftar business process dari level tertinggi untuk mendefinisikan aktivitas dan proses yang mungkin muncul. dipetakan untuk mendefinisikan dengan tepat fungsionalitas yang harus disediakan oleh sistem. dan use
case diagram diperhalus dan dilengkapi dengan requirement, constraints dan catatan-catatan lain.
3. Fungsi deployment diagram secara kasar untuk mendefinisikan arsitektur fisik sistem.
4. Pendefinisian requirement lain (non-fungsional, security dan sebagainya) yang juga harus disediakan oleh sistem.
5. Berdasarkan use case diagram, mulailah membuat activity diagram.
6. Diperlukan adanya definisi objek-objek level atas (package atau domain) kemudian pembuatan sequence dan/atau
collaboration diagram untuk tiap alir pekerjaan. Jika
sebuah use case memiliki kemungkinan alir normal dan
error, perlu dibuat satu diagram untuk masing-masing alir.
7. Selanjutnya diperlukan adanya rancangan user interface
model yang menyediakan antarmuka bagi pengguna untuk menjalankan skenario use case.
8. Berdasarkan model-model yang sudah ada, dapat dibuat menjadi hirarki class lengkap dengan atribut dan metodenya. Akan lebih baik jika untuk setiap class dibuat
unit test untuk menguji fungsionalitas class dan interaksi dengan class lain.
9. Setelah class diagram dibuat, kita dapat melihat kemungkinan pengelompokkan class menjadi komponen- komponen. Karena itu perlu dibuatnya component diagram pada tahap ini. Juga, diperlukan adanya definisi tes berinteraksi dengan baik.
10. Perhalus deployment diagram yang sudah dibuat. Detailkan kemampuan dan requirement piranti lunak, sistem operasi, jaringan, dan sebagainya. Petakan komponen ke dalam node.
11. Setelah tahap-tahap diatas baru dapat dimulai membangun sistem. Ada dua pendekatan yang dapat digunakan : a. Pendekatan use case, dengan meng-assign setiap use
case kepada tim pengembang tertentu untuk mengembangkan unit code yang lengkap dengan tes.
b. Pendekatan komponen, yaitu meng-assign setiap komponen kepada tim pengembang tertentu.
12. Apabila tahap-tahap diatas telah terpenuhi maka diperlukan adanya uji modul dan uji integrasi serta perbaikan model beserta code-nya. Model harus selalu sesuai dengan code yang aktual.
2.2 Aplikasi Web
A. Pengenalan Web
Internet adalah sebuah splusi jaringan yang dapat menghubungkan beberapa jaringan local yang ada pada suatu daerah, kota, atau bahkan pada sebuah negara. Dengan adanya internet kita dapat menghubungkan beberapa jaringan local yang ada pada setiap tempa. Tidak hanya itu juga
Pada perkembangannya sebuah situs web selalu dituntut dirancang dengan sistematis maka programer akan mengalami kesulitan dalam proses pemeliharaannya. Salah satu solusinya adalah dengan melakukan penambahan atau perubahan dalam database.
Saat ini pemanfaatan aplikasi database client/server sudah banyak diterapkan oleh kalangan bisnis untuk mengefisienkan pekerjaan mereka untuk memperoleh data secara cepat dan akurat. Informasi yang disajikan dari data tersebut sangat menunjang dalam proses pengambilan keputusan yang tepat. Sebab dengan menggunakan arsitektur client/server, semua proses pengolahan data dapat dilakukan pada satu tempat saja. Sehingga proses perolehan informasi terhindar dari perolehan data kadaluwarsa akibat terpisahnya tempat untuk menyimpan data.
B. Pengertian Web Browser dan HTML Web browser adalah program untuk menampilkan halaman
yang berbentuk kode HTML. Semua halaman web ditulis dengan bahasa HTML (Hypertext Mark Up Language). Walaupun beberapa file mempunyai ekstensi yang
HTML. HTML adalah medium yang selalu dikirimkan ke web
browser baik halaman itu berupa halaman statis, sebuah
script(seperti PHP), ataupun yang dibuat oleh program
CGI(Common Gateaway Interface). HTML adalah file teks murni yang dapat dibuat dengan editor teks sembarang. HTML adalah versi yang sederhana dari SGML (Standardized Generalized
Markup Language), yaitu bahasa untuk pertukaran data. HTML
saat ini merupakan standar yang didefinisikan dan (W3C).Versi terakhir dari HTML adalah HTML 4.01, meskipun saat ini telah berkembang
yang merupakan pengembangan dari HTML.
HTML berupa kode-kode tag yang menginstruksikan browser untuk menghasilkan tampilan sesuai dengan yang diinginkan. Sebuah file yang merupakan file HTML dapat dibuka dengan menggunakan web atau
HTML juga dapat dikenali oleh
aplikasi pembuka email ataupun dari PDA dan program lain yang memiliki kemampuan browser.
Server web adalah sebuah server yang
berfungsi menerima permintaan browser dan mengirimkan kembali hasilnya dalam bentuk halaman-halaman web yang umumnya berbentuk dokumen Server web yang terkenal diantaranya adalah
sedangkan IIS hanya dapat beroperasi pada
Server HTTP Apache atau Server Web adalah
yang dapat dijalankan dibanyak sistem operasi
serta platform
lainnya) yang berguna untuk melayani dan memfungsikan situs
web. Protokol yang digunakan untuk melayani fasilitas web/www
ini menggunakan HTTP.Apache memiliki fitur-fitur canggih seperti pesan kesalahan yang dapat dikonfigur, autentikasi berbasis dan lain-lain. Apache juga didukung oleh memungkinkan penanganan server menjadi mudah. Apache merupakan ikembangkan oleh komunitas terbuka yang terdiri dari pengembang-pengembang dibawah naungan
D. Aplikasi Web berbasis client dan berbasis server.
Teknologi aplikasi web secara umum terbagi menjadi dua.
Yang pertama, pemrosesan dilakukan disisi web server. Web
browser (sebagai klien) hanya menerima outputnya saja.Contoh
aplikasi sisi server adalah PHP, ASP dan Perl. Biasanya sisi
server digunakan untuk aplikasi yang membutuhkan koneksi
basis data. Yang kedua, proses dilakukan di sisi web browser.Biasanya aplikasi sisi klien digunakan untuk hal-hal yang membutuhkan banyak interaksi pengguna dan menggunakan informasi yang seragam dan pasti. Contoh aplikasi pada sisi klien adalah aplikasi permainan dengan Java Script, Vbscript, Applet dan lain-lain.
C. Pengertian Hosting.
Hosting adalah jasa layanan server untuk disewakan sehingga memungkinkan organisasi atau individu menempatkan informasi di internet berupa
Server hosting terdiri dari gabungan server-server atau
sebuah server yang terhubung dengan jaringan internet berkecepatan tinggi.
Ada beberapa jenis layanan hosting yaitu shared hosting,
atau Virtual Dedicated Server, dedicated server, colocation
server.sama dengan pengguna lain satu server dipergunakan oleh lebih dari satu nama domain.
VPS, Virtual Private Server, atau juga dikenal sebagai Virtual Dedicated Server merupakan proses virtualisasi dari lingkungan
software sistem operasi yang dipergunakan oleh server. Karena
lingkungan ini merupakan lingkungan virtual, hal tersebut memungkinkan untuk menginstal sistem operasi yang dapat berjalan diatas sistem operasi lain.
Dedicated Server adalah penggunaan server yang
dikhususkan untuk aplikasi yang lebih besar dan tidak bisa dioperasikan dalam shared hosting atau virtual dedicated server. Dalam hal ini, penyediaan server ditanggung oleh perusahaan hosting yang biasanya bekerja sama dengan vendor.
Colocation Server adalah layanan penyewaan tempat untuk
meletakkan server yang dipergunakan untuk hosting. Server disediakan oleh pelanggan yang biasanya bekerja sama dengan
vendor.
2.3. PHP
A. Pengenalan Program PHP
PHP secara resmi merupakan kependekan dari
PHP:HyperText Preprocessor, merupakan bahasa script
serverside yang disisipkan pada HTML.PHP dahulunya merupakan proyek pribadi dari Rasmus Lerdorf, yang digunakan pertama kalinya sebagai proyek homepage pribadinya. Pada masa berikutnya PHP mengalami 5 beta.
PHP (PHP:HyperText Preprocessor) adalah bahasa interpreter yang banyak digunakan dalam internet dan intranet,sebagai program yang diintegrasi ke dalam web server seperti Apache atau Microsoft Internet Information Service (IIS).
Bila PHP berada dalam halaman web, maka tidak lagi
dibutuhkan pengembangan lingkungan khusus atau direktori khusus. Hampir seluruh aplikasi berbasis web dapat dibuat dengan PHP.
Di samping itu ada beberapa hal yang menjadi kelebihan php dari bahasa pemrograman lain, yaitu :
1. Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah dalam penggunaanya.
2. Web Server yang mendukung PHP dapat ditemukan dimana - mana dari mulai
dengan configurasi yang relatif mudah.
3. Dalam sisi pengembangan lebih mudah, karena banyaknya yang siap
4. Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak.
5. PHP adalah bahasa open source yang dapat digunakan diberbagai mesin dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah system.
2.4. MYSQL
MySQL adalah multiuser database yang menggunakan
bahasa Structured Query Language (SQL). MySQL merupakan
software sistem manajemen database (Database Management
System – DBMS) yang sangat populer dikalangan pemrogram
web, terutama di lingkungan Linux. Dengan menggunakan script
PHP dan PERL Software database ini dapat berfungsi atau berjalan pada semua platform sistem operasi yang biasa digunakan (Windows, Linux, OS/2, berbagai varian Unix).
Software Server MySQL pertama dibuat oleh Michael “Monty”
Windenius dan kawan-kawannya, pada tahun 1994. MySQL Database ini tersedia bebas dan siapa saja dapat mengembangkan software ini, tanpa biaya.
Sama halnya dengan PHP, MySQL merupakan jenis software yang termasuk open source. Perangkat lunak sumber terbuka nya terbuka untuk dipelajari, diubah, ditingkatkan dan disebarluaskan. Karena sifat ini, umumnya pengembangannya dilakukan oleh satu kelompok terbuka yang bertujuan mengembangkan perangkat lunak bersangkutan.
B. Cara Kerja Aplikasi Basis Data berbasis Web dengan PHP, MySQL dan Apache.
1. Misalkan saja komputer membuka halaman web yang
memakai php pada aplikasi Sistem Informasi Rekrutmen Tenaga Kerja yang sudah diupload di dalam server. Contoh : localhost/webskripsi/admin.php Tampilan yang dilihatnya berupa pengisian id admin dan password .
2. Web server apache menerima permintaan data yang berupa yang berakhiran .php untuk diproses PHP.
3. Skrip ini lalu diproses oleh php, salah satu fungsinya adalah membuka koneksi dan mencari data yang ada di server
MySQL. Pada aplikasi ini login.php berfungsi mengecek
apakah user name dan password yang dimasukan melalui formulir di halaman web tersebut ada dalam basis data.
4. MySQL menanggapi permintaan ini berupa output dari hasil pencarian data dengan SQL. Misal saja hasilnya adalah data tidak ditemukan.
5. Respon dari MySQL berupa output SQL diterjemahkan lagi ke dalam bentuk html oleh php, lalu dikirim lagi ke Apache.
6. Apache lalu mengirim kembali hasil ini ke web browser.