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 Actor

  Gambar 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.