7 BAB II LANDASAN TEORI 2.1 Sistem Informasi 2.1.1 Sistem Suatu sistem sangatlah dibutuhkan dalam suatu perusahaan atau instansi pendidikan , karena sistem sangatlah menunjang terhadap kinerja perusahaan atau instansi pendidikan, baik yang berskala kecil maupun besar. Supaya dapat berjalan dengan baik diperlukan kerjasama diantara unsur-unsur yang terkait dalam sistem tersebut. Sistem dapat didefinisikan sebagai kumpulan dari prosedur-prosedur yang mempunyai tujuan tertentu (Jogiyanto, 2005). 2.1.2 Informasi Informasi merupakan data yang telah diproses sehingga mempunyai arti tertentu bagi penerimanya. Sumber dari informasi adalah Data, sedangkan Data itu sendiri adalah Kenyataan yang menggambarkan suatu kejadian, sedangkan kejadian itu merupakan suatu peristiwa yang terjadi pada waktu tertentu .dalam hal ini informasi dan data saling berkaitan. Menurut Jogiyanto dalam buku ‘Analisis dan desain sistem informasi’ adalah : Informasi diartikan sebagai data yang diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang menerimanya (Jogiyanto, 2005). 2.1.3 Pengertian Sistem Informasi Pengertian Sistem Informasi Secara umum merupakan kegiatan atau aktifitas yang melibatkan serangkaian proses, berisi informasi-informasi yang digunakan untuk mencapai tujuan. Sistem informasi merupakan suatu sistem dalam suatu organisasi untuk mempertemukan kebutuhan pengolahan transaksi harian,mendukung operasi, bersifat manajerial dan kegiatan strategi dari suatu organisasi dan menyediakan pihak luar tertentu dengan laporan-laporan yang diperlukan (Jogiyanto, 2005). 7 8 2.1.4 Komponen Fisik Sistem Informasi Berikut yang merupakan komponen Sistem Informasi: 1. Perangkat keras komputer: CPU, Storage, perangkat Input/Output, terminal untuk interaksi, media komunikasi data. 2. Perangkat lunak komputer: perangkat lunak sistem (sistem operasi dan utilitinya), perangkat lunak umum aplikasi (bahasa pemrograman), perangkat lunak aplikasi (aplikasi akuntansi dll). 3. Basis data: penyimpanan data pada media penyimpan komputer. 4. Prosedur: langkah-langkah penggunaan sistem. 5. Personil untuk pengelolaan operasi (SDM). 2.2 Sistem Informasi Akademik Sistem Informasi Akademik merupakan sumber daya yang terhadap segala sesuatu dalam bentuk informasi yang ada kaitannya dengan masalah-masalah akademik di sekolah. Sistem Informasi Akademik selain merupakan sumber daya informasi di Sekolah, juga dapat digunakan sebagai sarana media komunikasi antara guru dan orangtua, siswa-siswi dengan siswa-siswi guru dan siapa saja yang ada di lingkungan Sekolah tersebut. Karena menggunakan teknologi internet tidak hanya dilakukan dalam sekolah saja tetapi diluar sekolah pun bias dilakukan bahkan dimana saja di seluruh dunia ini asalkan ada sebuah computer yang terhubung dengan internet. 2.3 Daur Hidup Pengembangan Sistem Daur atau siklus pengembangan sistem dari pengembangan sistem merupakan suatu bentuk yang digunakan untuk menggambarkan tahapan utama dan langkahlangkah didalam tahapan tersebut dalam proses pengembangannya (Jogiyanto, 2005). Daur Hidup Pengembangan Sistem memiliki 6 langkah, yaitu: 1. Inisialisasi sistem dan mempelajari kemungkinan Inisialisasi sistem dan mempelajari kemungkinan merupakan langkah untuk melakukan dokumentasi atas sistem yang ada saat ini, tujuan dan manfaat pembuatan sistem baru atau pengembangan dari sistem yang telah ada, identifikasi untuk alternatif solusi sistem dan penentuan solusi secara pasti. 9 2. Analisa sistem Analisa sistem merupakan langkah untuk membuat sketsa awal perencanaan proyek dan dokumentasi untuk sistem baru. 3. Perancangan sistem Perancangan sistem merupakan langkah untuk menghasilkan spesifikasi arsip (file) basis data, spesifikasi masukan/keluaran, spesifikasi modul program dan rencana proyek yang lebih rinci. 4. Pemrograman Pemrograman merupakan langkah untuk membuat dan menghasilkan program yang dibutuhkan oleh sistem baru. 5. Penerapan Penerapan merupakan langkah dimana pengguna melakukan pengujian terhadap program yang telah dibuat, perubahan file basis data, pelatihan pengguna, dan melakukan pengenalan terhadap sistem baru. 6. Evaluasi penerapan Evaluasi penerapan merupakan langkah untuk melakukan peninjauan ulang apakah sistem ini memenuhi kebutuhan pengguna. Model Waterfall merupakan salah satu dari model-model yang terdapat pada penerapan Daur Hidup Pengembangan Sistem. Roger.S, Pressman membagi model Waterfall ke dalam beberapa tahap, yaitu: tahap rekayasa sistem, analisis kebutuhan perangkat lunak, perancangan, pemrograman, pengujian, dan pemeliharaan yangn dapat digambarkan pada Gambar 2.1. Gambar 2.1. Skema Model Waterfall 10 Tahapan-tahapan dalam waterfall adalah sebagai berikut: 1. Tahapan Rekayasa Sistem Tahapan ini menyangkut pengumpulan kebutuhan pada tingkat sistem dengan sejumlah kecil analisis serta desain tingkat puncak. 2. Tahapan Analisis Pada tahap ini dilakukan pengumpulan perangkat lunak. Untuk memahami perangkat lunak yang dibangun, perekayasa perangkat lunak harus memahami domain informasi, tingkah laku, unjuk kerja, dan antarmuka yang yang diperlukan. Kebutuhan baik untuk sistem maupun perangkat lunak didokumentasikan dan dilihat lagi dengan pelanggan. 3. Tahapan Perancangan Tahapan perancangan perangkat lunak sebenarnya adalah proses multi langkah yang berfokus pada empat atribut program yang berbeda; struktur data, arsitek perangkat lunak, representasi antarmuka, dan detail prosedural. Proses desain menerjemahkan kebutuhan ke dalam sebuah representasi perangkat lunak yang dapat diperkirakan demi kualitas sebelum dimulai pemunculan kode. Sebagaimana persyaratan, desain didokumentasikan dan menjadi bagian dari konfigurasi perangkat lunak. 4. Tahapan Pemrograman Desain harus diterjemahkan ke dalam bentuk mesin yang bisa dibaca. Langkah pemrograman melakukan tugas ini. Jika desain dilakukan dengan cara yang lengkap, pembuatan kode dapat diselesaikan secara mekanis. 5. Tahapan Pengujian Sekali kode dibuat, pengujian program dimulai. Proses pengujian berfokus pada logika di dalam perangkat lunak, memastikan bahwa semua pernyataan sudah diuji, dan di luar fungsi – yaitu mengarahkan pengujian untuk menemukan kesalahan-kesalahan dan memastikan bahwa masukan yang dibatasi akan memberikan hasil aktual yang sesuai dengan hasil yang dibutuhkan. 6. Tahapan Pemeliharaan Perangkat lunak akan mengalami perubahan setelah disampaikan kepada pelanggan. Perubahan akan terjadi kesalahan-kesalahan ditentukan, karena 11 perangkat lunak harus disesuaikan untuk menampung perubahan-perubahan di dalam lingkungan luarnya. Pemeliharaan perangkat lunak menerapkan lagi setiap tahap program sebelumnya dan tidak membuat yang baru lagi. 2.4 Unified Modeling Language (UML) Unified Modeling Language selanjutnya disebut UML adalah suatu bahasa permodelan standar untuk menulis rancangan aplikasi atau perangkat lunak. UML dapat digunakan untuk visualisasi, spesifikasi, konstruksi, dan dokumentasi suatu perangkat lunak yang intensif dari suatu sistem. UML bisa berfungsi juga sebagai cetak biru karena sangat lengkap dan detil, oleh karena informasi yang detail maka bisa diketahui mengenai coding program (Forward Engineering) atau bahkan membaca program dan menginterpretasikannya kembali ke dalam diagram (Reverse Engineering), yang berguna pada situasi dimana code program yang tidak terdokumentasi akan dimodifikasi atau dipelihara. Hali ini bisa terjadi dokumentasi asli hilang atau bahkan belum dibuat sama sekali. 2.4.1 Diagram use case Diagram use case menggambarkan fungsionalitas yang diharapkan dari sebuah sistem. Yang ditekankan adalah ”apa” yang diperbuat sistem, dan bukan ”bagaimana”. Sebuah use case merepresentasikan sebuah interaksi antara aktor engan sistem. Use case merupakan sebuah pekerjaan tertentu, misalnya login ke sistem, membuat sebuah daftar belanja, dan sebagainya. Seorang atau sebuah aktor adalah sebuah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Diagram use case dapat sangat membantu bila kita sedang menyusun persyaratan sebuah sistem, mengkomunikasikan rancangan dengan klien, dan merancang kasus pengujian untuk semua corak yang ada pada sistem. Sebuah use case dapat meliputi fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang ditampung akan dipanggil setiap kali use case yang meliputi dieksekusi secara normal. Sebuah use case dapat ditampung oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang 12 umum. Sebuah use case juga dapat meluas use case lain dengan tingkah lakunya sendiri. Sementara hubungan generalisasi antar use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain. Tabel 2.1 menjelaskan empat komponen diagram use case yaitu: Notasi Nama Keterangan Aktor adalah entitas manusia atau mesin yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan tertentu. Aktor diberi Actor nama sesuai dengan tugasnya ketika menggunakan sistem. Jangan memberi nama aktor dengan nama orang. Aktor dapat berupa sistem lain di luar sistem yang dikembangkan Use case adalah kegiatan atau fungsi yang Use Case dilakukan oleh aktor, diberi nama sesuai fungsi yang dilakukan oleh aktor. Sistem Hubungan Sistem berupa ruang lingkup aplikasi yang dikembangkan. Hubungan yang dilakukan oleh aktor dengan (Relationship) use case yang dilakukan oleh aktor tersebut. Tabel 2.1 Notasi diagram use case 13 Didalam use case terdapat association yang digunakan untuk menggambarkan bagaimana actor terlibat dalam use case. Ada dua jenis Association yaitu: 1. Include: jenis association yang digunakan untuk menggambarkan pemanggilan use case oleh use case lain, contohnya adalah pemanggilan sebuah fungsi program. 2. Extend: merupakan perluasan dari use case lain jika kondisi atau syarat terpenuhi. Langkah-langkah membuat diagram use case: 1. Identifikasi semua aktor, 2. Identifikasi semua use case, 3. Urutkan prioritas use case, 4. Rincilah setiap use case, 5. Identifikasi adanya generalisasi tiap use case, 6. Identifikasi hubungan include, 7. Identifikasi hubungan extend, 2.4.2 Activity diagram Diagram aktifitas (activity diagram) menggambarkan berbagai alir aktifitas dalam sistem yang sedang dirancang, bagaimana masing-masing alir berawal, keputusan yang mungkin terjadi, dan bagaimana mereka berakhir. Diagram aktifitas juga dapat menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi. Diagram aktifitas merupakan tahapan (state) diagram khusus, di mana sebagian besar tahapan adalah aksi dan sebagian besar transisi dipicu oleh selesainya status sebelumnya (pemrosesan internal atau internal processing). Oleh karena itu diagram aktifitas tidak menggambarkan tingkah laku internal (behaviour internal) sebuah sistem (dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Sebuah aktifitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktifitas. Sama seperti tahapan, standar UML menggunakan segiempat dengan 14 sudut membulat untuk menggambarkan aktivitas. Keputusan (decision) digunakan untuk menggambarkan tingkah laku pada kondisi tertentu. Untuk mengilustrasikan prosesproses paralel (fork atau transisi menyebar dan join atau transisi menyatu) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal. Diagram aktifitas dapat dibagi menjadi beberapa object garis batas (swimlane) untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu. Beberapa alasan membuat diagram aktifitas adalah sebagai berikut: 1. Menganalisis diagram use case lebih rinci, 2. Mengidentifikasi kondisi sebelum dan sesudah suatu use case (pre and post condition), 3. Menemukan use case baru yang tersembunyi. Cara untuk membuat diagram aktifitas adalah: 1. Identifikasi use case, 2. Pemodelan awal untuk setiap use case, 3. Pemodelan alternatif untuk setiap use case, 4. Menambahkan garis swimlane, 5. Refine aktivitas level akhir ke dalam diagram aktifitas. Notasi diagram aktifitas dapat digambarkan pada Tabel 2.2 berikut: Notasi Nama Keterangan Action state Kegiatan atau proses yang dilakukan. Start Point Terminasi awal proses dilakukan. 15 End Point Fork (Percabangan) Join Terminasi akhir proses yang dilakukan. Percabangan proses pada kondisi tertentu. Penggabungan proses, dari kondisi (Penggabungan) percabangan yang sebelumnya. Decision Percabangan proses pada kondisi tertentu. Control flow Alur kontrol dari antarproses. Sebuah cara untuk mengelompokkan Swimlane activity berdasarkan Actor (mengelompokkan activity dalam sebuah urutan yang sama) Tabel 2.2 Notasi diagram aktifitas 16 2.5 HTML HyperText Markup Language (HTML) adalah sebuah bahasa markup yang digunakan untuk membuat sebuah halaman web, menampilkan berbagai informasi di dalam sebuah Penjelajah web Internet dan formating hypertext sederhana yang ditulis kedalam berkas format ASCII agar dapat menghasilkan tampilan wujud yang terintegerasi (www.wikipedia.com). HTML terlihat seperti bahasa pengkodean lama, yang di awali dan diakhiri dengan kode-kode html dimana menunjukkan bagaimana keluarannya pada saat di jalankan pada sebuah web browser. 2.5.1 Struktur Dasar HTML Seperti umumnya dokumen lain, dokumen HTML terdiri dari teks-teks dan bahkan lebih dari dari itu. Dokumen HTML juga dapat mengandung suatu gambar, suara, ataupun video. Satu hal yang membedakan dokumen HTML dengan dokumen-dokumen lainnya adalah adanya elemen-elemen HTML beserta tag-tagnya. Elemen dan tag HTML berfungsi untuk menformat atau menandai suatu bagian tertentu dari dokumen HTML dan juga untuk menentukan struktur bagian tersebut dalam dokumen HTML. Elemen dan Tag inilah yang merupakan ciri utama dari suatu dokumen HTML. Secara garis besar, untuk menulisakn sebuah dokumen HTML dibutuhkan kerangka penulisan dengan tag-tag dasar sebagai berikut HTML, HEAD,TITLE dan BODY. 2.6 Web Secara terminologi, website adalah kumpulan dari halaman-halaman situs, yang biasanya terangkum dalam sebuah domain atau subdomain, yang tempatnya berada di dalam World Wide Web (WWW) di Internet. Sebuah halaman web adalah dokumen yang ditulis dalam format HTML (Hyper Text Markup Language), yang hampir selalu bisa diakses melalui HTTP, yaitu protokol yang menyampaikan informasi dari server website untuk ditampilkan kepada para pemakai melalui web browser. Semua publikasi dari website-website tersebut dapat membentuk sebuah jaringan informasi yang sangat besar. 17 Halaman-halaman dari website akan bisa diakses melalui sebuah URL yang biasa disebut Homepage. URL ini mengatur halaman-halaman situs untuk menjadi sebuah hirarki, meskipun, hyperlink-hyperlink yang ada di halaman tersebut mengatur para pembaca dan memberitahu mereka sususan keseluruhan dan bagaimana arus informasi ini berjalan. Beberapa website membutuhkan subskripsi (data masukan) agar para user bisa mengakses sebagian atau keseluruhan isi website tersebut. Contohnya, ada beberapa situs-situs bisnis, situs-situs e-mail gratisan, yang membutuhkan subkripsi agar kita bisa mengakses situs tersebut. www.id.wikipedia.org 2.7 Basis Data Basis data adalah Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan (Fatahansyah, 1999) seperti Microsoft Access, MySQL, ORACLE dan sebagainya. Pokok dari perancangan basis data adalah bagaimana merancang struktur logikal dan fisikal dari satu atau lebih basis data untuk memenuhi kebutuhan informasi yang diperlukan oleh pemakai sesuai dengan aplikasi-aplikasi yang telah ditentukan dan dirancang. Sedangkan sistem basis data adalah suatu sistem penyusunan dan mengelola record-record menggunakan komputer untuk menyimpan atau merekam serta memelihara data operasional lengkap sebuah organisasi atau perusahaan sehingga mampu menyediakan informasi yang optimal yang diperlukan pemakai untuk proses pengambilan keputusan (Marlinda, 2004:1). 2.8 PHP PHP yang merupakan singkatan dari Hypertext Prosesor adalah suatu bahasa pemrograman berbentuk skrip yang bersifat server-side artinya sintaks-sintaks dan perintah yang kita berikan akan sepenuhnya dijalankan oleh server yang juga dapat disertakan pada halaman HTML. Kelahiran PHP bermula saat Rasmus Lerdorf membuat sejumlah skrip perl pada tahun 1994. Skrip-skrip ini selanjutnya dikemas menjadi tool yang disebut 18 “Personal Home Page”. Paket inilah yang menjadi cikal-bakal php. Pada tahun 1995, Rasmus menciptakan PHP/FI Versi 2. Pada versi inilah pemrogram dapat menempelkan kode terstruktur di dalam tag HTML. Aplikasi-aplikasi yang dibangun oleh PHP pada umumnya akan memberikan hasil pada web browser, tetapi prosesnya secara keseluruhan dijalankan di server. PHP dirancang untuk membentuk web dinamis. Artinya PHP dapat membentuk suatu tampilan berdasarkan permintaan terkini. Misalnya dapat mengakses database dan menampilkannya di halaman web serta ineraktif dengan cepat dan mudah. PHP dapat berinteraksi dengan hampir semua teknologi web yang sudah ada. Karena PHP menggunakan bahasa pemrograman berbasis web maka PHP ini mempunyai kelebihan yaitu kompabilitasnya dengan berbagai macam jenis database, dukungan dengan berbagai macam jenis sistem operasi. PHP juga termasuk dalam HTML-embedded, artinya kode php dapat disisipkan pada sebuah halaman HTML. PHP lebih cocok dan umum digunakan jika digabungkan dengan database MySQL. MySQL dengan PHP seakan-akan dua hal yang tidak dapat dipisahkan. Tentunya untuk dapat menggunakan keduanya dibutuhkan tingkat kemampuan programming tertentu. Banyak digunakan oleh programmer berlatar belakang C/C++ karena kemiripan syntaxnya. Open source, karenanya gratis dan bebas. Database pasangannya biasanya MySQL, dijalankan bersama webserver Apache. Untuk dapat menjalankan script php pada website yang telah di buat, ada beberapa hal yang perlu kita tambahkan, salah satunya harus mempunyai sebuah web server yang mengatur atau memberikan tempat untuk mengeksekusi script php. Web server ini dinstall pada komputer server. Saat ini php dapat dijalankan pada berbagai macam web server seperti pws, iis, xitami maupun apache. Penulis sendiri menggunakan web server apache. 2.8.1 Skript PHP Ada dua cara yang digunakan dalam menulis script pada PHP yaitu : 1. embedded script: yaitu dengan cara ini penulisan program PHP disisipkan diantara tag dokumen HTML. 19 <html> <head> <title>ribka script</title> </head> <body> <? Echo “Halo ini adalah contoh embedded script”; ?> </body> </html> 2. non embedded script: cara ini merupakan pembuatan program murni PHP, di mana tagtag HTML yang diletakkan di dalamnya. <? echo “<HTML>”; echo “<HEAD>”; echo “<TITLE> Non-embedded script </TITLE>”; echo “</HEAD>”; echo “<BODY>”; echo “Ini adalah contoh non-embedded script”; echo “</BODY>”; echo “</HTML>”; ?> <html> <head> <title>embedded script</title> </head> <body> <? Echo “Ini adalah contoh embedded script”; ?> </body> </html> 20 2.8.2 Kelebihan PHP PHP mempunyai banyak kelebihan diantaranya adalah: 1. Server side, artinya tidak diperlukan adanya kompatibilitas browser atau harus menggunakan browser tertentu. Server yang akan mengerjakan skrip tersebut dan hasil yang dikirimkan kembali ke browser biasanya dalam bentuk teks ataupun gambar sehingga dapat dikenali oleh browser apapun. 2. Skrip asli PHP tidak dapat dilihat oleh browser sehingga keamanan lebih terjamin. 3. Open source, sehingga source code dari PHP dapat digunakan, diganti atau diubah tanpa terkena biaya. 4. Multi platform. Selain dapat dijalankan pada platform LINUX, PHP juga dapat dijalankan pada platform windows . 5. Koneksi ke basis data. PHP mendukung banyak sekali basis data. Sistem basis data yang telah didukung oleh PHP hingga saat ini adalah: Oracle, Sybase, mSQL, MySQL, Solid, Generic,ODBC, PostgreSQL, Adabas D, FilePro, Velocis, dBase, Unix dbm dan semua basis data dengan interface ODBC. 2.9 MySQL MySQL database server adalah Relational Database Management System (RDBMS) yang dapat menangani data yang bervolume besar. Meskipun begitu tidak menuntut resource yang besar. MySQL adalah program database yang mampu mengirim dan menerima data dengan sangat cepat dan multi user. MySQL memiliki dua bentuk lisensi, yaitu free software dan sharesoftware. Penulis sendiri menggunakan MySQL free software yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat closed source atau komersial. MySQL sangat banyak dipakai dalam sistem database web dengan menggunakan PHP. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structured Query Language). SQL adalah bahasa standar yang digunakan untuk mengakses server basis data. Oleh karena MySQL perintah-perintah dengan sintax-sintax dari SQL, maka MySSQL mempunyai keunggulan sebagai berikut: 21 1. Konsep database MySQL berkecepatan tinggi tentang system penyajian data. 2. Harga yang relatif murah, karena ada yang dapat diperoleh secara gratis 3. Sintaks bahasanya menggunakan perintah yang sederhana. 4. Dapat bekerja dalam beberapa system operasi seperti Windows, Linux, MacOs, Unix (Solaris, AIX, dan DEC Unix), FreeBSD, OS/2, Irix. 2.10 Server Web Web Server atau Server Web adalah sebuah perangkat lunak server yang berfungsi menerima permintaan HTTP (Hypertext Transfer Protocol) atau HTTPS (Hypertext Transfer Protocol Security) dari klien yang dikenal dengan browser web dan mengirimkan kembali hasilnya dalam bentuk halaman-halaman web yang umumnya berbentuk dokumen HTML. Server web yang terkenal diantaranya adalah Apache dan Microsoft Internet Information Service (IIS). Apache merupakan server web antar-platform, sedangkan IIS hanya dapat beroperasi di sistem operasi Windows. www.wikipedia .com Web Server merupakan mesin yang didalamnya terdapat aplikasi yang bertugas menerima permintaan data (HTTP Request) dari klien melalui perantara web browser atau console, mengolah data atau memproses form dengan bantuan form interpreter, dan mengembalikan data kembali (HTTP Response) ke klien, biasanya data dalam format dokumen HTML (Hypertext Markup Language). Dalam menjalankan tugasnya web server tidak berdiri sendiri. Di era web dinamis seperti sekarang ini, web server membutuhkan aplikasi pendukung untuk mengolah data yang dikirim klien dengan metode-methodenya seperti GET, POST, HEAD, OPTIONS, dan TRACE (Red: umumnya metode GET dan POST saja) melalui tag FORM pada HTML. Pemprosesan form dilakukan oleh Intepreter seperti PHP, Pearl, .NET yang juga memiliki kemampuan membangun aplikasi web dinamis, dan mendukung RDBMS seperti MySQL, PostgreSQL, MSSQL, DB2 dan ORACLE. Penulis sendiri menggunakan Apache sebagai Web Server. 22 2.10.1 Apache Apache adalah server web yang bersifat open source yang berguna untuk melayani dan memfungsikan situs web, protokol yang digunakan untuk melayani fasilitas web ini menggunakan HTTP. Apache merupakan server web yang dapat dijalankan di banyak sistem operasi (Unix, BSD, Linux, Microsoft Windows dan Novell Netware serta platform lainnya). 2.11 PHP MyAdmin PHP MyAdmin merupakan suatu program yang dibuat menggunakan aplikasi PHP berbasis web. Program ini digunakan untuk mengakses databse MySQL dan mendukung berbagai operasi MySQL seperti mengelolah basis data, tabel-tabel, relasi, user, dan lain-lain. 2.12 Email Surat elektronik (disingkat ratel atau surel atau surat-e) atau post elektronik (disingkat pos-el) atau nama umumnya dalam bahasa Inggris "e-mail atau email" (ejaan Indonesia: imel) adalah sarana kirim mengirim surat melalui jalur internet. Dengan surat biasa umumnya pengirim perlu membayar per pengiriman (dengan membeli perangko), tetapi surat elektronik umumnya biaya yang dikeluarkan adalah biaya untuk membayar sambungan internet. Tapi ada perkecualian misalnya surat elektronik ke telepon genggam, kadang pembayarannya ditagih per pengiriman. Metode pengiriman surat elektronik adalah kita memerlukan suatu program mail-client. Surat elektronik yang kita kirim akan melalui beberapa poin sebelum sampai di tujuan. Untuk lebih jelasnya lihat diagram dibawah. Contoh yang dipakai adalah layanan SMTP (Simple Mail Transfer Protocol) dan POP3 (Post Office Protocol version 3) . www.id.wikipedia.org 2.12.1 Pengiriman Email dengan PHP PHP menyediakan script yang dapat digunakan untuk mengirim email. Fungsi yang digunakan adalah mail(). Berikut cara penggunaannya: 23 mail ( string $to , string $subject , string $message [, string $additional_headers [, string $additional_parameters ]] ). Parameter pertama adalah email tujuan, parameter kedua adalah subject, dan parameter ketiga adalah isi email. Untuk menggunakan fungsi mail() di localhost, harus sedikit merubah file php.ini yang berada pada xampp\apache\bin. Jika platform yang digunakan adalah windows dan tidak menjalankan mail server sendiri, maka dibutuhkan suatu program untuk me-relay email yang dikirim oleh PHP, yang biasa disebut dengan fakesendmail (www.php.net). Setelah menggunakan fakesendmail, ada beberapa hal yang harus diubah didalam php.ini. Berikut merupakan langkah-langkah penggunaan faksendmail: Langkah-langkah nya adalah (www.php.net) : 1. download sendmail.zip dari http://glob.com.au/sendmail/ 2. Unzip folder yang sudah di download 3. Copy sendmail.exe dan sendmail.ini ke dalam direktori yang diinginkan, penulis meletakan sendmail.exe dan sendmail.ini pada direktori c: \usr\lib (glob.com.au/sendmail/) 4. Install sendmail.exe dalam \ usr \lib, dan kode yang ada di dalam usr / lib / sendmail akan bekerja. 5. Ubah konfigurasi di dalam sendmail.ini smtp_server = berisi mail server yang dipakai oleh email kita, sintaxnya adalah : smtp_server = mail.domainkita.com smtp port yang digunakan untuk pengiriman email adalah 25. smtp_port = 25 default domain yang digunakan oleh email kita di isikan pada baris default_domain = domain kita.com 24 jika smtp server kita butuh authentication, kita harus mengisi dua baris berikut : ;[email protected] ;auth_password= xxxxxx Isikan baris force_sender dengan domain email yang digunakam force_sender= [email protected] Isikan baris hostname. Dengan domain mail yang digunakan hostname=domainkita.com 6. Ubah beberapa sintax didalam PHP.ini ( glob.com.au/sendmail/) [mail function] sendmail_path = "/usr/lib/sendmail.exe -t" Ketika program kirim email dengan menggunakan PHP ini dijalankan, maka fungsi fake sendmail akan me-relay email tersebut ke mail server yang digunakan, selanjutnya mail server akan mengirimkan pesan tersebut kepada alamat email yang tercantum di email tersebut. 2.13 Task Scheduler Pada Windows Task Scheduler merupakan program bawaan dari Windows. Program ini memungkinkan pengguna menjalankan suatu aplikasi yang sudah ada di komputer secara otomatis dan terjadwal, misalnya untuk pengiriman email secara otomatis pada waktu tertentu. Pada aplikasi Communication Book ini Task Scheduler akan menjalankan php.exe dan syntax code program yang berisi query untuk mengambil data dari minus point, komentar dan pengumuman yang mau dikirim sesuai jadwal tertentu. Berikut cara penggunaan Task Scheduler pada windows : 1. Buka Start menu yang terdapat di toolbars kemudia buka all programs selanjutnya system tools lalu pilih task scheduler. 2. Pilih Create Basic Task, lalu isi nama program pada kolom name dan keterangan mengenai program yang mau dijalankan pada kolom description. 25 3. Pada bagian trigger tentukan waktu untuk menjalankan program. 4. Pada bagian Action, task scheduler memberikan pilihan untuk menjalankan program, mengirim email, atau menampilkan pesan. Karena program penulis mengirimkan email dengan fake sendmail maka penulis memilih menjalankan program. 5. Pada bagian Start Program pengguna harus menetukan file apa yang akan dipakai untuk bekerjasama dengan task scheduler. Dan task scheduler sudah bisa digunakan sesuai dengan keperluan pengguna.