Unified Modelling Language UML

Gambar 2.5. Contoh Class Diagram 3. Statechart Diagram Statechart Diagram menggambarkan transisi 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. 4. Activity Diagram Activity Diagram menggambarkan berbagai alur aktivitas dalam sistem yang sedang dirancang, bagaiumana masing-masing alur berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Gambar 2.6. Contoh Activity Diagram Activity Diagram merupakan state diagram khusus, di mana sebagian besar state adalah action dan sebagian besar transisi di-trigger oleh selesainya state sebelumnya internal processing. Oleh karena itu, activity diagram tidak menggambarkan behaviour internal sebuah sistem dan interaksi antar subsistem secara eksak, tetapi lebih menggambarkan proses- proses dan jalur-jalur aktivitas dari level atas secara umum. 5. Sequence Diagram Sequence Diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem termasul pengguna, display, dan sebagainya berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal waktu dan dimensi horizontal objek-objek yang terkait. Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respon dari sebuah event untuk menghasilkan output tertentu. Diawali dari apa yang menjadi trigger aktifitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan output apa yang dihasilkan. 6. Collaboration Diagram Collaboration diagram juga 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. Messages dari level yang sama memiliki profiks yang sama. 7. Component Diagram Componen diagram menggambarkan struktur dan hubungan antar komponen piranti lunak, termasuk ketergantungan dependency di antaranya. Komponen piranti lunak adalah modul berisi code, baik berisi source code maupun binary code, baik library maupun executable, baik yang muncul pada compile time, link time, maupun runtime. Umumnya komponen terbentuk dari beberapa class danatau package, tapi dapat juga dari komponen-komponen yang lebih kecil. 8. Deployment Diagram Deploymentphysical diagram menggambarkan detail bagaimana komponen di-deploy dalam infrastruktur sistem, dimana komponen akan terletak pada mesin, server atau piranti keras apa, bagaimana kemampuan jaringan pada lokasi tersebut, spesifikasi, server, dan hal-hal lain yang bersifat fisik. Sebuah node adalah server, workstation, atau piranti keras lain yang digunakan untuk men-deploy komponen dalam lingkungan sebenarnya. Hubungan antar node misal TCPIP dan requirement dapat juga didefinisikan dalam diagram ini. Dharwiyanti : 2003

2.13. PHP

2.13.1. Definisi PHP

PHP adalah sebuah bahasa pemrograman yang didesain agar dapat disisipkan dengan mudah ke halaman HTML. PHP memberikan solusi sangat murah karena gratis digunakan dan dapat berjalan diberbagai jenis platform . Pada awalnya memang PHP berjalan di sistem UNIX dan variannya, namun kini dapat berjalan dengan lancar di lingkungan sistem operasi Windows. Suatu nilai tambah yang luar biasa karena proses pengembangan program berbasis web dapat dilakukan lintas sistem operasi. Dengan luasnya cakupan sistem operasi yang mampu menjalankan PHP dan ditambah begitu lengkapnya function yang dimilikinya tersedia lebih dari 400 function di PHP yang sangat berguna tidak heran jika PHP semakin menjadi tren di kalangan programmer web. Penemu bahasa pemrograman ini adalah Rasmus Lerdorf, yang bermula dari keinginan sederhana Lerdorf untuk mempunyai alat bantu dalam memonitor pengunjung yang melihat situs web pribadinya. Inilah sebabnya pada awal pengembangannya, PHP merupakan singkatannya dari Personal Home Page tools , sebelum akhirnya menjadi Hypertect Preprocessor .

2.13.2. Kelebihan PHP

Diantara maraknya pemrograman server web saat ini, adalah ASP yang berkembang ASP .NET, JSP, CFML, dan PHP. Jika dibandingkan di antara 3 terbesar pemrograman server web diatas. Terdapat kelebihan dari PHP itu sendiri, yaitu: 1. PHP merupakan sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaannya. Tidak seperti halnya bahasa pemrograman aplikasi seperti Visual Basic dan sebagainya. 2. PHP dapat berjalan pada web server yang dirilis oleh Microsoft, sperti IIS atau PWS juga pada Apache yang bersifat open source. 3. Karena sifatnya yang open source, maka perubahan dan perkembangan interpreter pada PHP lebih cepat dan mudah, karena banyak milis-milis dan developer yang siap membantu pengembangannya. 4. Jika dilihat dari segi pemahaman, PHP memiliki referensi yang begitu banyak sehingga sangat mudah untuk dipahami. 5. PHP dapat berjalan pada 3 operating system, yaitu Linux, Unix, dan Windows, dan juga dapat berjalan secara runtime pada saat console.

2.13.3. Kekurangan PHP

Seperti pemrograman aplikasi atau web lainnya, PHP pun memiliki beberapa kelemahan, di antaranya: 1. Tidak ideal untuk pengembangan skala besar. 2. Tidak memiliki sistem pemrograman berorientasi objek yang sesungguhnya sampai versi 4 ini. Namun pada versi PHP 5 sudah dilengkapi pemrograman berorientasi objek yang sesungguhnya.

2.14. MySQL

MySQL adalah sistem manajemen database yang bersifat open source. MySQL adalah pasangan serasi dari PHP. MySQL dibuat dan dikembangkan oleh MySQL AB yang berada di Swedia. MySQL merupakan sistem manajemen database yang bersifat relasional. Artinya data-data yang dikelola dalam database akan diletakan pada beberapa table yang terpisah sehingga manipulasi data akan menjadi lebih cepat. MySQL dapat digunakan untuk mengelola database mulai dari yang kecil sampai dengan yang sangat besar. MySQL juga dapat menjalankan perintah- perintah Structured Query Language SQL untuk mengelola database-database relasional yang ada di dalamnya.

2.15. XAMPP Server

XAMPP Server adalah perangkat lunak gratis, yang mendukung banyak sistem operasi, merupakan kompilasi dari beberapa program untuk menjalankan fungsinya sebagai server yang berdiri sendiri, yang terdiri atas program Apache HTTP Server, MySQL database, dan penterjemah bahasa yang ditulis dengan PHP dan Perl. XAMPP adalah nam yang merupakan singkatan dari X berbagai sistem operasi Linux, Mac, Windows, Apache, MySQL, PHP, PERL. Program ini tersedia dalam GNU General Public License dan bebas, merupakan web server yang mudah digunakan yang mampu melayani halaman dinamis. 2.16. Pengujian Perangkat Lunak Pengujian perangkat lunak adalah proses pemeriksaan atau evaluasi sistem atau komponen sistem secara manual atau otomatis untuk memverifikasi apakah sistem memenuhi kebutuhan-kebutuhan yang dispesifikasikan atau mengidentifikasi perbedaan-perbedaan antara hasil yang diharapkan dengan hasil yang terjadi Hariyanto: 2004. Sasaran pengujian adalah penemuan semaksimum mungkin kesalahan dengan usaha yang dapat dikelola pada rentang waktu realistik. Pengujian perangkat lunak merupakan tahap kritis dalam penjaminan kualitas perangkat lunak dan merupakan review menyeluruh terhadap spesifikasi perancangan dan pengkodean Hariyanto: 2004. Glen Myers menyatakan tiga sasaran pengujian, yaitu Hariyanto, 2004: 1. Pengujian adalah proses mengeksekusi program dengan hasrat menemukan kesalahan. 2. Kasus uji yang bagus adalah mempunyai peluang tinggi menemukan kesalahan yang sebelumnya belum ditemukan. 3. Pengujian yang berhasil adalah pengujian yang menyingkap kesalahan yang sebelumnya belum ditemukan. Manfaat pengujian Hariyanto: 2004: 1. Pengujian akan menyingkap kesalahan di perangkat lunak. 2. Pengujian mendemonstrasikan fungsi-fungsi perangkat lunak bekerja sesuai spesifikasi, kebutuhan serta terpenuhi perilaku dan sejenisnya. Terdapat dua teknik pengujian berdasarkan ketersediaan logik sistem, yaitu black box testing dan white box testing Hariyanto: 2004.

2.16.1. White-box testing

Pengujian white-box adalah sebuah pengujian yang dilakuan lebih dekat lagi untuk menguji prosedur-prosedur yang ada. Lintasan lojik yang dilalui oleh setiap bagian prosedur yang diuji dengan memberikan kondisi loop spesifik. Proses yang terjadi pada pengujian white-box yaitu: 1. Menjamin pengujian terhadap semua lintasan yang tidak bergantungan minimal satu kali. 2. Mencoba semua keputusan lojik dari sisi ‘true’ dan ‘false’. 3. Eksekusi semua loop dalam batasan kondisi dan batasan operasionalnya 4. Pengujian validasi struktur data internal.

2.16.2. Black-box testing

Konsep black box testing digunakan untuk merepresentasikan sistem yang cara kerja di dalamnya tidak tersedia untuk diinspeksi. Di dalam kotak hitam, item-item yang diuji dianggap “gelap” karena logiknya tidak diketahui, yang diketahui hanya apa yang masuk dan apa yang keluar. Pada black box testing , kasus-kasus pengujian berdasarkan pada spesifikasi sistem. Pada black box testing, dicobakan beragam masukan dan memeriksa