PHP Structural things Contoh Skripsi Informatika Pengembangan Aplikasi Evoting Berbasis Web Pemilihan Presiden BEM Menggunakan Codeigniter Laporan BAB II

Client Client Web Browser Web Server 6 Gambar 1. Cara kerja client side scripting Sumber : Prasetyo, 2002 Server Side Scripting yaitu proses pengerjaan informasi akan dikirimkan dan diproses di server dari website tersebut. Contoh Server Side Scripting adalah: PHP, ASP, PerlCGI , dan lain-lain. Cara kerja server side scripting dapat dilihat pada gambar 2 berikut. Gambar 2. Cara kerja server side scripting Sumber : Prasetyo, 2002

c. PHP

Menurut Bunafit Nugroho 2008, PHP adalah bahasa server-side scripting yang menyatu dengan HTML untuk membuat halaman web yang dinamis. Maksud dari server-side scripting adalah sintaks dan perintah-perintah yang diberikan akan sepenuhnya dijalankan di server tetapi disertakan pada dokumen HTML. PHP merupakan software yang Open Source gratis dan mampu lintas platform, yaitu dapat digunakan dengan sistem operasi dan web server manapun. PHP dapat dibangun sebagai modul pada web server Apache dan sebagai binary yang dapat berjalan sebagai CGI. PHP memiliki beberapa kelebihan, antara lain: 1. PHP mudah dibuat dan cepat dijalankan. 2. PHP dapat berjalan dalam web server yang berbeda seperti: Microsoft Personal Web Server, Apache, IIS dan sebagainya dan juga dapat berjalan dalam sistem operasi yang berbeda pula seperti: UNIX, Windows 98, Windows NT dan Macintosh. 3. PHP dapat mengirim HTTP header, dapat mengeset cookies, mengatur authentication dan redirect users. 4. PHP menawarkan koneksitas yang baik dengan beberapa basis data antara lain Oracle, Sybase, mSQL, MySQL, Solid, PostgreSQL, Adabas, FilePro, Web browser Velocis, dBase, Unix dbm dan terkecuali semua database ber-interface ODBC. 5. PHP dapat berinteraksi dengan beberapa library eksternal yang membuat anda dapat melakukan segalanya mulai dari membuat dokumen PDF hingga mem-parse XML. 6. PHP mendukung komunikasi dengan layanan lain melalui protokol IMAP, SNMP, NNTP, POP3 atau bahkan HTTP. PHP adalah bahasa yang sangat populer. Sebagian besar sintaks PHP mirip dengan sintaks dalam bahasa C dan perl.

d. MySQL

Menurut Antonius Nugraha Widhi Pratama 2010, MySQL adalah aplikasi basis data yang berasal dari komunitas open source yang memiliki level enterprise, multithreaded, dan relational database management system. MySQL dikembangkan oleh firma konsultan di Swedia bernama TCX, sejarahnya pada saat itu mereka membutuhkan suatu sistem basis data yang cepat dan fleksibel untuk keperluan bisnis mereka, tapi pada saat itu mereka tidak mendapatkan yang sesuai dengan keinginan mereka. Dan akhirnya mereka menciptakan suatu sistem basis data yang diberi nama MySQL, yang dibuat berdasarkan pada DBMS lain yaitu MSQL, dan akhirnya produk tersebut sangat cepat, relibel, dan benar – benar fleksibel. Saat ini MySQL banyak digunakan hampir di seluruh dunia karena kemampuannya yang realiable, open source, dan merupakan database yang sangat cepat. MySQL adalah multithreaded server. Multithreaded bahwa setiap waktu seseorang berhasil melakukan koneksi dengan server, maka program di server membuat suatu thread atau proses untuk menangani request dari client. Hal ini membuat server menjadi lebih cepat. Pada efeknya setiap client yang melakukan koneksi dengan MySQL akan mendapatkan thread-nya masing – masing. MySQL juga merupakan aplikasi yang ANSI SQL 92 – compliant, yang berarti selaras dengan semua standar dari American Standard Institute. 1. Beberapa karakteristik utama dari MySQL : a. Fully multy – threaded dengan kernel threads. Artinya adalah bisa dengan mudah mempergunakan multiple CPU bila ada. b. API Application Programming Interface dengan C, C++, Eiffel, Java, Perl, PHP, Phyton, dan Tcl. c. Dukungan penuh untuk LEFT OUTER JOIN dengan sintaks ANSI, SQL, ADBC d. Tabel hash di memori yang dipergunakan sebagai tabel temporer. e. Sistem priviledge dan password yang fleksibel dan aman, serta memungkinkan host – based verification. Password dikatakan aman karena lalu lintas password saat berhubungan dienkripsi. f. Mampu menangani database berukuran besar. MySQL bisa memuat 50,000,000 record dan 60,000 tabel. g. Server bisa memberikan pesan kesalahan ke client dalam banyak bahasa. 2. Tipe data pada MySQL Tipe data yang didukung pada MySQL dapat dilihat pada tabel 1 berikut. Tabel 1 Data pendukung MySQL Tipe Data Deskripsi Bigint length Integer 8 byte TEXT | BlOB TEXT | BlOB dengan maksimum 64 kb CHAR NUM FIXED string panjang antara 1 – 255 DATE YYYY – MM – DD DATE TIME YYYY – MM – DD HH : MM : SS DECIMAL length,dec Desimal Double Bilangan double precission floating point Double Prescision Bilangan double prescision floating point` FLOAT Bilangan floating point Integer Integer 4 byte Enum Enumerasi Longtext Long Blob Maksimum 2 23 Medium text | Medium Blob Maksimum 16777216 Medium Int Integer 3 byte Numeric Sama dengan tipe data decimal Real Sama dengan Double Set Objek string dengan beberapa nilai Smallint Integer 2 byte Tiny Text Medium Blob Teks binary dengan maksimum 255 TinyInt Integer 1 byte Tabel 1 Data pendukung MySQL Tipe Data Deskripsi Varchar NUM Variable length string 1 = NUM = 255 Time HH : MM : SS TimeStamp YYYYMMDDHHMMSS Sumber : Antonius Nugraha Widhi Pratama 2010

2.1.2. Konsep Dasar Sistem

Menurut Raymond McLeod, Jr, 2000, sistem dapat abstrak atau fisik. Sistem yang abstrak adalah susunan yang teratur dari gagasan atau konsepsi- konsepsi yang saling bergantung, misalnya sebuah sistem teologi adalah sebuah susunan gagasan mengenai Tuhan, manusia dan sebagainya. Sistem yang bersifat fisik adalah unsur yang bekerjasama untuk mencapai tujuan. Ada dua pendapat defenisi sistem, yaitu pendapat yang menekankan pada elemen atau komponen dan yang menekankan pada cara atau prosedurnya. Pendapat yang lebih menekankan pada elemenkomponenya mendevenisikan sistem sebagai berikut : Sistem adalah kumpulan dari elemen-elemen yang saling berinteraksi untuk mencapai tujuan tertentu. Sedangkan pendapat yang lebih menekankan kepada caraprosedur medefinisikan sistem sabagai berikut : Sistem adalah suatu jaringan kerja dari prosedur-prosedur yangsaling berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau penyelesaian suatu sasaran tertentu. Kemudian prosedur itu sendiri mengandung arti suatu urutan operasi kalerikal tulis menulis, biasanya melibatkan beberapa orang satu atau lebih departemen yang diterapkan untuk menjaminpenanganan seragam dari transaksi-transaksi yang terjadi. Kedua pendapat ini benar dan tidak bertentangan, yang berbeda adalah cara pendekatanya. Jika ingin mempelajari suatu sistem, lebih tepat bila terlebih dahulu memahami tentang sistem.pengertian sistem bisa diperoleh dari defenisinya, karena defenisi tersebut memberikan peranan yang penting dalam pendekatan untuk mempelajari suatu sistem. Kesimpulannya pendapat sistem yang menekankan pada komponen lebih mudah dan tepat didalam mempelajari suatu sistem untuk tujuan pengembangan sistem. Sebagai contoh sistem pengolahan pustaka yang terdiri atas subsistem data buku, subsistem data peminjam dan lain-lainnya, kemudia sistem pengolahan dat pustaka tersebut juga harus bisa berinteraksi dengan sub-sub sistem lainya sehingga dapat menghasilkan sistem informasi pengolaha data pustaka. Kemudian suatu sistem dibuat untuk maksud tertentu, pengertiandari maksud tertentu disini adalah untuk mencapai tujuan dan sasaran, pengertian tujuan mempunyai ruang lingkup yang lebih luas bila dibandingkan dengan sasaran. Contohnya, untuk sisitem bisnis maka istilah tujuan lebih tepat, sedang bagian dari sistem bisnis tersebut yang dikenal dengan istilah subsistem bisnis lebih tepat menggunakan istilah sasaran, tetapi seringkali tujuan dan sasaran tersebut digunakan secara bergantian. Suatu sistem dalam mencapai tujuannya tentu memerlukan suatu proses yang terdiri atas bermacam-macam tipe proses misalnya proses secara konsep, proses secara fisik, proses secara prosedur, proses secara sosial dan lain-lainnya. Sub-sub sistem yang menyusun suatu sistem antar lain adalah tujuan, tujuan bisa berupa tujuan dari organisasi tersebut kebutuhan organisasi tersebut, masalh organisasi tersebut secara prosedur atau aturan untuk mencapai tujuan organisasi tersebut. Dalam mencapai tujuan tersebut tentu perlu adanya suatu batasan yang jelas, dimana batasan tersebut bisa berupa biaya, personil yang terlibat, peralatan yang digunakan dan peraturan-peraturan. Suatu sistem dapat tercapai dengan baik bila terdapat pengawasan yang berguna untuk mengawasi pelaksanaan pencapaian tujuan yang terdiri atas pengawasan data masukan input, pengawasan data keluaran output, serta kontrol terhadap operasi sistem. Input merupakan subsistem yang berfungsi untuk menerima data masukan yang terdiri atas sumber masukan frekuensi memasukkannya serta jenis data masukannya. kemudian input tersebut diproses yang terdiri atas pencarian, perbaikan, pengisian pengelompokkan dan lain- lainnya. Hasil dari proses ini disebut keluaran atau output, output tersebut biasanya berupa laporan atau dalam bentuk grafik, dari laporan atau output tersebut maka perlu adanya umpan balik guna penyempurnaan pemeliharaan sistem agar dapat berlangsunh lama. Komponen-komponen sistem dapat dilihat pada gambar 3 berikut. INPUT PROSES : TUJUAN SASARAN BATASAN SISTEM PENGAWASAN SISTE OUT PUT UMPAN BALIK Gambar 3. Komponen-komponen sistem Sumber : Andi Kristanto, 2003:10 Dari gambar di atas maka dapat disimpulkan bahwa komponen-komponen sistem tersebut merupakan suatu krakteristik dari sistem yang terdiri atas komponen sistem, batasan sistem, lingkungan luar sistem, penghubung sistem, masukan, keluaran pengolah, sasaran atau tujuan.

2.1.3. Unified Modeling Language UML 1. Definisi UML Unified Modeling Language

Menurut Nugroho 2010:6, UML Unified Modeling Language adalah bahasa pemodelan untuk sistem atau perangkat lunak yang berparadigma berorientasi objek. Pemodelan modeling sesungguhnya digunakan untuk penyederhanaan permasalahan-permasalahan yang kompleks sedemikian rupa sehingga lebih mudah dipelajari dan dipahami. Menurut Nugroho 2009:4, UML Unified Modeling Language adalah metodologi kolaborasi antara metoda-metoda Booch, OMT Object Modeling Technique, serta OOSE Object Oriented Software Enggineering dan beberapa metoda lainnya, merupakan metodologi yang paling sering digunakan saat ini untuk analisa dan perancangan sistem dengan metodologi berorientasi objek mengadaptasi maraknya penggunaan bahasa pemrograman berorientasi objek OOP. Berdasarkan pendapat yang dikemukakan di atas dapat ditarik kesimpulan bahwa Unified Modelling Language UML adalah sebuah bahasa yang berdasarkan grafik atau gambar untuk menvisualisasikan, menspesifikasikan, membangun dan pendokumentasian dari sebuah sistem pengembangan perangkat lunak berbasis Objek Object Oriented Programming.

2. Model UML Unified Modeling Language

Menurut Widodo 2011:10, Beberapa literature menyebutkan bahwa UML menyediakan sembilan jenis diagram, yang lain menyebutkan delapan karena ada beberapa diagram yang digabung, misanya diagram komunikasi, diagram urutan dan diagram pewaktuan digabung menjadi diagram interaksi”. Namun demikian model-model itu dapat dikelompokkan berdasarkan sifatnya yaitu statis atau dinamis. Jenis diagram itu antara lain: 1. Diagram kelas. Bersifat statis, Diagram ini memperlihatkan himpunan kelas-kelas, antarmuka-antarmuka, kolaborasi-kolaborasi, serta relasi-relasi. Diagram ini umum dijumpai pada pemodelan sistem berorientasi objek. Meskipun bersifat statis, sering pula diagram kelas memuat kelas-kelas aktif. 2. Diagram paket Package diagram. Bersifat statis. Diagram ini memperlihatkan kumpulan kelas-kelas, merupakan bagian dari diagram komponen. 3. Diagram use-case. Bersifat statis. Diagram ini memperlihatkan himpunan use-case dan aktor-aktor suatu jenis khusus dari kelas. Diagram ini terutama sangat penting untuk mengorganisasi dan memodelkan perilaku suatu sistem yang dibutuhkan serta diharapkan pengguna. 4. Diagram interaksi dan sequence urutan. Bersifat dinamis. Diagram urutan adalah iterasiksi yang menekankan pada pengiriman pesan dalam suatu waktu tertentu. 5. Diagram komunikasi communication diagram. Bersifat dinamis. Diagram sebagai pengganti diagram kolaborasi UML 1.4 yang menekankan organisasi struktural dari objek-objek yang menerima serta mengirim pesan. 6. Diagram statechart statechart diagram. Bersifat dinamis. Diagram status memperlihatkan keadaan-keadaan pada sistem, memuat status state, transisi, kejadian serta aktivitas. 7. Diagram aktivitas activity diagram. Bersifat dinamis. Diagram aktivitas adalah tipe khusus dari diagram status yang memperlihatkan aliran dari suatu suatu aktivitas ke aktivitas lainnya dalam suatu sistem. Diagram ini terutama penting dalam pemodelan fungsi-fungsi suatu sistem dan memberi tekanan pada aliran kendali antar objek. 8. Diagram komponen component diagram. Bersifat statis. Diagram komponen ini memperlihatkan organisasi serta kebergantungan sistemperangkat lunak pada komponen-komponen yang telah ada sebelumnya. 9. Diagram deployment deployment diagram. Bersifat statis. Diagram ini memperlihatkan konfigurasi saat aplikasi dijalankan run-time. Memuat simpul-simpul beserta komponen- komponen yang di dalamnya. Kesembilan diagram ini tidak mutlak harus digunakan dalam pengembangan perangkat lunak, semuanya dibuat sesuai kebutuhan. Pada UML dimungkinkan kita menggunakan diagram-diagram lainnya misalnya data flow diagram, entity relationship diagram, dan sebagainya.

3. Bangunan dasar metodologi UML

Menurut Nugroho 2009:117. Bangunan dasar metodologi Unified Modeling Language UML menggunakan tiga bangunan dasar untuk mendeskripsikan sistemperangkat lunak yang akan dikembangkan, yaitu:

1. Sesuatu things

Ada 4 empat things dalam Unified Modeling Language UML, yaitu:

a. Structural things

Merupakan bagian yang relatif statis dalam model Unified Modeling Language UML. Bagian yang relatif statis dapat berupa elemen-elemen yang bersifat fisik maupun konseptual.

b. Behavioral things