BAB II DASAR TEORI
2.1 Landasan Teori 2.1.1 Pengertian Sistem Informasi Istilah sistem informasi menyiratkan suatu pengumpulan data yang terorganisasi beserta tatacara penggunaannya yang mencakup lebih jauh dari sekedar penyajian. Istilah tersebut menyiratkan suatu maksud yang ingin dicapai dengan jalan memilih dan mengatur data serta menyusun tatacara penggunaannya. Keberhasilan suatu sistem informasi yang diukur berdasarkan maksud pembuatannya tentu bergantung pada tiga pokok utama, yaitu (1) keserasian dan mutu data, (2) pengorganisasian data, dan (3) tatacara penggunaannya (Cook, 1997). Setiap sistem informasi menyajikan tiga gatra pokok : (1) pengumpulan dan pemasukan data, (2) penyimpanan dan pengambilan kembali (tetrieval) data, dan (3) penerapan data, yang dalam hal sistem informasi terkomputer penayangan (display) (Lynch, 1997). Suatu sistem informasi terkomputer pada asasnya terdiri atas lima komponen yang menjadi subsistemnya (Knapp cit. Smith et al. , 1987), yaitu (1) pelambangan (encoding) data dan pemerosesan masukan, (2) pengolahan data, (3) pengambilan kembali data, (4) pengolahan dan analisis data, dan (5) penayangan data. Suatu sistem informasi dibuat untuk suatu keperluan tertentu atau untuk memenuhi permintaan penggunaan tertentu, maka struktur dan cara kerja sistem informasi berbedabeda bergantung pada macam keperluan atau macam permintaan yang harus dipenuhi. Oleh karena kepentingan yang dilayani sangat beraneka, maka macam sistem informasi pun sangat beraneka. Namun demikian, sistem informasi mempunyai banyak tampakan (features) umum dan menghadapi banyak persoalan yang mirip. Jadi, disamping perbedaan
7
yang jelas terdapat banyak persamaan antar berbagai sistem informasi. Suatu persamaan yang menonjol ialah semua sistem informasi menggabungkan berbagai ragam data yang dikumpulkan dari berbagai sumber (Coppock & Anderson, 1987). Untuk dapat menggabungkan data yang berasal dari berbagai sumber diperlukan suatu sistem alih rupa (transformation) data, sehingga menjadi tergabungkan (compatible). Berapa pun ukurannya dan apa pun ruang lingkupnya, suatu sistem informasi perlu memiliki ketergabungan (compatibility) data yang disimpannya (Moore, & Dawson, 1977). Ketergantungan dakhil ialah yang merupakan tampakan umum suatu pokok suatu sistem informasi. Perkembangan Sistem Informasi Perkembangan sistem informasi dapat dilihat dari perubahan pada tiga gatra pokok yang telah dikemukakan tadi, yaitu (1) cara pengumpulan dan pemasukan data, (2) cara penyimpanan dan pengambilan kembali data, (3) cara penerapan data. Sistem informasi tertua muncul setelah manusia mengenal sistem menulis dan menggambar. Dengan sistem menulis dan menggambar orang dapat mencatat dan menyimpan hal-hal yang dipikirkan untuk kemudian dialihkan kepada orang lain. Sebelum ini orang menyampaikan buah pikirannya secara lisan, dari mulut ke mulut. Pada waktu itu orang belum mengenal cara menyimpan informasi, sehingga jangkauannya dalam matra waktu dan ruang terbatas serta keteladanan semata-mata ditentukan oleh daya ingat seseorang. Naskah-naskah tertulis yang tertua bertanggal 3.250 SM berupa inskripsi pada monumen dan piramida di Mesir. Setelah ditemukan bahan menulis yang ringan, mudah dibawa dan lentur (lempeng lempung, papirus, lontar di Indonesia), barulah naskah-naskah dapat disimpan dalam ruangan khusus. Waktu itulah mulai berdiri perpustakaan tertua, berarti juga informasi tertua. Bangsa Mesir mengenal perpustakaan sejak 3.200 SM dan
8
bangsa Sumeria (bermukin di daerah Irak sekarang) mengenalnya sejak 2.700 SM (Gates, 1968). Sejak itu perpustakaan menjadi sistem informasi penting.
2.1.2 Pengertian Naskah Dinas Naskah Dinas disebut juga surat dinas merupakan sarana komunikasi yang umum digunakan di lingkungan instansi baik pemerintahan maupun swasta disamping penggunaan sarana komunikasi lain yang lebih modern sperti fax, handphone, maupun email. Sarana komunikasi modern lebih memberikan hasil yang efektif jika dibandingkan dengan naskah dinas, namun keberadaan surat dinas tidak mungkin dihilangkan karena kelebihannya yaitu bersifat resmi, dengan kata lain informasi yang disampaikan baru bisa dikatakan valid jika sudah ada surat dinas yang menyertainya. Komunikasi merupakan kunci keberhasilan interaksi informasi, jika komunikasi berjalan efektif maka arus informasi akan berjalan lancar sehingga pada akhirnya dapat mempercepat proses penyelesaian suatu kegiatan. Sebaliknya jika komunikasi terhambat maka arus informasi juga tersendat yang pada akhirnya tentu akan membuat suatu kegiatan juga terhambat untuk diselesaikan. Dalam urusan penyelesaian kegiatan, arus komunikasi antara pimpinan, pelaksana dan sesama rekan kerja bahkan dengan pihak lain yang terkait dalam kegiatan akan sangat berdampak pada kinerja semua unsur yang ada di lingkungan instansi tersebut. Oleh karena itu harus disadari dan dipahami pentingnya efektifitas komunikasi dalam menjalin hubungan yang sehat di lingkungan kerja. Pengelolaan surat dinas yang baik akan menghasilkan kelancaran jalannya administrasi namun sebaliknya pengelolaan surat dinas yang buruk akan berakibat tersendatnya arus komunikasi yang pada akhirnya akan menghambat administrasi, sehingga pengelolaan surat dinas menjadi kegiatan yang harus dilaksanakan dengan sebaik mungkin
9
Perkembangan teknologi informasi khususnya komputer memberikan kemudahan dalam menjalankan kegiatan di berbagai bidang ditandai dengan munculnya banyak aplikasi sebagai sarana pembantu pengelolaan seperti sistem informasi penyedia informasi tentang naskah dinas, sistem informasi kepegawaian, sistem retail, sistem informasi perbankan dan sebagainya. Di bidang kearsipan pengaruh teknologi informasi ini ditandai dengan munculnya aplikasi kearsipan berbasis komputer dimana salah satu yang paling sering dimunculkan adalah aplikasi pengelolaan naskah dinas atau surat dinas.
2.1.3 PHP 5 PHP adalah singkatan dari "PHP: Hypertext Preprocessor", yang merupakan sebuah bahasa scripting yang terpasang pada HTML. Sebagian besar sintaks mirip dengan bahasa C, Java dan Perl, ditambah beberapa fungsi PHP yang spesifik. Tujuan utama penggunaan bahasa ini adalah untuk memungkinkan perancang web menulis halaman web dinamik dengan cepat. PHP 5 dirilis pada tanggal 13 Juli 2004. PHP 5 dapat digunakan pada hampir semua sistem operasi utama, seperti Linux, varian Unix (mencakup HP-UX, Solaris, dan Openbsd), Microsoft Windows, Mac OS X, RISC O, dan mungkin yang lain. PHP juga mendukung hampir semua server web, seperti Apache, Microsoft Internet Information Server, Personal Web Server, Netscape, dan iPlanet Servers, Oreilly Website Pro Server, Caudium, Xitami, OmniHTTPd dan lain-lain. Sebagian besar server PHP mempunyai modul dan untuk yang mendukung standar CGI maka PHP bekerja sebagai pemeroses CGI. PHP memberikan kebebasan untuk memilih sistem operasi dan server web. PHP juga memberi pilihan untuk menggunakan pemrograman biasa atau program berorientasi objek (Objek Oriented Programming/OOP) atau gabungan keduanya. PHP tidak
10
membatasi jumlah HTML yang dihasilkan. Kemampuan PHP meliputi dukungan terhadap gambar, file PDF dan bahkan movie Flash (menggunakan libswf dan Ming) secara on the fly. PHP juga mendukung teks, seperti file XHTML dan XML. Salah satu fitur paling penting pada PHP adalah PHP mendukung banyak basis data. Membuat web yang menampilkan basis data bukanlah hal sulit untuk PHP. Sistem database yang didukung oleh PHP 5 adalah : Adabase D
Ingres
Ovrimos
dBase
Inter Base
PostgresSQL
Empress
Front Base
SQLite
File Pro
Direct MS-SQL
Solid
Hyperwave
MYSQL
Sybase
IBM DB2
ODBC
Velocis
Infomix
Oracle (OCI17 dan OC18)
Unix dbm
PHP mempunyai ekstensi DBX yang memungkinkan penggunaan basis data dengan ekstensi tersebut. Apalagi PHP mendukung ODBC (Open Database Connection Standard) sehingga dapat menghubungkan PHP ke basis data mana pun yang mendukung standar dunia ini. PHP mendukung komunikasi dengan layanan lain menggunakan protocol seperti LDAP, IMAP, SNMP, NNTP, POP3, HTTP dan COM (pada windows). Kita juga dapat membuka soket jaringan dan berinteraksi dengan protocol lain. PHP mendukung pertukaran data kompleks. Untuk interkoneksi, PHP mendukung perubahan objek Java dan menggunakannya sebagai objek PHP. Penggunaan ekstensi COBRA dapat digunakan untuk mengakses objek jarak jauh. PHP mempunyai fitur text processing yang sangat bermanfaat, dari POSIX Extended dan Pert Regular Expression untuk mem-parsing dokumen HTML. Untuk mem-
11
parsing dan mengakses dokumen XML, PHP 4 mendukung standard SAXOFON dan DOM. Untuk mengubah dokumen XSLT, dapat juga menggunakan ekstensi XSLT. Pada PHP 5 menstandardlisasi semua ekstensi XML menjadi libxml2 yang tangguh dan memperluas fitur dengan menambahkan SimpleXML dan mendukung XMLREADER. Penggunaan PHP dalam bidang e-commerce meliputi pembayaran cybercash, Cybermut, Verisign Payflow Pro dan fungsi MCVE yang bermanfaat untuk program pembayaran secara online. Fitur-fitur lain yang mendukung PHP 5 adalah fungsi mesin pencari mnoGoSearch, fungsi Gateway IRC, utilitas pemadat (gzip, bz2), konversi penanggalan, terjemahan dan lain-lain.
Kelebihan PHP Ketika e-commerce semakin berkembang, situs-situs yang statispun semakin ditinggalkan, karena dianggap sudah tidak memenuhi keinginan pasar, padahal situs tersebut harus tetap dinamis. Pada saat ini bahasa PERL dan CGI sudah jauh ketinggalan jaman sehingga sebagian besar designer web banyak beralih ke bahasa server-side scripting yang lebih dinamis seperti PHP. Seluruh aplikasi berbasis web dapat dibuat dengan PHP. Namun kekuatan yang paling utama PHP adalah pada konektivitasnya dengan sistem database di dalam web. Sistem database yang dapat didukung oleh PHP adalah : 1. Oracle 2. MySQL 3. Sybase 4. PostgreSQL 5. dan lainnya
12
PHP dapat berjalan di berbagai sistem operasi seperti windows 98/NT, UNIX/LINUX, solaris maupun macintosh. PHP merupakan software yang open source yang dapat anda download secara gratis dari situs resminya yaitu http://www.php.net, ataupun dari situs-situs yang menyediakan software tersebut seperti di ftp://gerbang.che.itb.ac.id. Software ini juga dapat berjalan pada web server seperti PWS (Personal Web Server), Apache, IIS, AOLServer, fhttpd, phttpd dan sebagainya. PHP juga merupakan bahasa pemrograman yang dapat kita kembangkan sendiri seperti untuk menambah fungsifungsi baru. Keunggulan lainnya dari PHP adalah bahwa PHP juga mendukung komunikasi dengan layanan seperti protocol IMAP, SNMP, NNTP, POP3 dan bahkan HTTP. PHP dapat diinstal sebagai bagian atau modul dari apache web server atau sebagai CGI script yang mandiri. Banyak keuntungan yang dapat diperoleh jika menggunakan PHP sebagai modul dari apache, di antaranya adalah : 1. Tingkat keamanan yang cukup tinggi 2. Waktu eksekusi yang lebih cepat dibandingkan dengan bahasa pemrograman web lainnya yang berorientasi pada server-side scripting. 3. Akses ke sistem database yang lebih fleksibel. seperti MySQL.
2.1.4 Pengertian MySQL MySQL adalah suatu perangkat lunak database relasi (Relational Database Management System atau RDBMS), seperti halnya ORACLE, Postgresql, MS SQL, dan sebagainya. MySQL AB menyebut produknya sebagai database open source terpopuler di dunia. Berdasarkan riset dinyatakan bahwa di platform Web dan baik untuk kategori open source maupun umum, MySQL adalah database yang paling banyak dipakai. Menurut
13
perusahaan pengembangnya, MySQL telah terpasang di sekitar 3 juta komputer. Puluhan hingga ratusan ribu situs mengandalkan MySQL bekerja siang malam memompa data bagi para pengunjungnya. Ada dua alasan utama mengapa kita tetap harus menggunakan MySQL yaitu:
Website yang kita miliki sering memasukkan data ke basis data. Apabila kita sering melakukan perubahan terhadap basis data dengan perintah Insert into dan Update, maka jika misalnya kita memiliki situs dimana 100 orang secara konstan melakukan logging, mengirim pesan, dan kegiatan lainnya, penggunaan SQLite akan terasa lambat. Hal ini dikarenakan basis data SQLite tampil sebagai file tunggal dan ketika terjadi perubahan SQLite akan menutup atau mengunci seluruh basis data sehingga orang lain yang ingin memasukkan data pada waktu yang sama harus menunggu. Adapun MySQL dapat menulis ke basis data secara terusmenerus dan dalam waktu bersamaan.
Website memerlukan keamanan dengan tingkat tinggi (high security). Jika keamanan merupakan hal utama bagi kita (misal menyimpan Login dan password di basis data) maka SQLite mungkin bukan pilihan yang tepat. MySQL secara default akan meminta akses khusus bagi orang yang akan mengakses databasenya, sedangkan SQLite mengizinkan semua orang melakukan akses terhadap databasenya. Orang yang mengakses MySQL hanya tertentu sehingga keamanan login dan password dapat terjaga. Sementara itu SQLite membiarkan semua orang mengakses databasenya termasuk nomor login dan password.
Fitur MySQL Kalau di seri 3.22 MySQL mulai diadopsi banyak orang dan meningkat populasi penggunanya, maka di seri 3.23 dan 4.0-lah terjadi banyak peningkatan dari sisi teknologi.
14
Ini tidak terlepas dari tuntutan pemakai yang semakin mengandalkan MySQL, namun membutuhkan fitur-fitur yang lebih banyak lagi. Seri 3.23. Di seri 3.23 MySQL menambahkan tiga jenis tabel baru: pertama MyISAM, yang sampai sekarang menjadi tipe tabel default; kedua BerkeleyDB, yang pertama kali menambahkan kemampuan transaksi pada MySQL; dan ketiga InnoDB, primadona baru yang potensial. Seri 4.x. Di seri yang baru berjalan hingga 4.0 tahap alfa ini, pengembang MySQL berjanji akan menjadikan MySQL satu derajat lebih tinggi lagi. Fitur-fitur yang sejak dulu diminta akan dikabulkan, seperti subselek (di 4.1), union (4.0), foreign key constraint (4.0 atau 4.1—meski InnoDB sudah menyediakan ini di 3.23.x), stored procedure (4.1), view (4.2), cursor (4.1 atau 4.2), trigger (4.1). MySQL AB tetap berdedikasi mengembangkan dan memperbaiki MySQL, serta mempertahankan MySQL sebagai database open source terpopuler.
Keunggulan MySQL Penyebab utama MySQL begitu populer di kalangan web adalah karena ia memang cocok bekerja di lingkungan tersebut. Pertama, MySQL tersedia di berbagai platform Linux dan berbagai varian Unix. Sesuatu yang tidak dimiliki Access, misalnya—padahal Access sangat populer di platform Windows. Banyak server web berbasiskan Unix, ini menjadikan Access otomatis tidak dapat dipakai karena ia pun tidak memiliki kemampuan client-server/networking. Kedua, fitur-fitur yang dimiliki MySQL memang yang biasanya banyak dibutuhkan dalam aplikasi web. Misalnya, klausa LIMIT SQL-nya, praktis untuk melakukan paging. Atau jenis indeks field FULLTEXT, untuk full text searching. Atau sebutlah kekayaan fungsi-fungsi builtinnya, mulai dari memformat dan memanipulasi tanggal, mengolah
15
string, regex, enkripsi dan hashing. Yang terakhir misalnya, praktis untuk melakukan penyimpanan password anggota situs. Ketiga, MySQL memiliki overhead koneksi yang rendah. Soal kecepatan melakukan transaksi atau kinerja di kondisi load tinggi mungkin bisa diperdebatkan dengan berbagai benchmark berbeda, tapi kalau soal yang satu ini MySQL-lah juaranya. Karakteristik ini membuat MySQL cocok bekerja dengan aplikasi CGI, di mana di setiap request skrip akan melakukan koneksi, mengirimkan satu atau lebih perintah SQL, lalu memutuskan koneksi lagi. Cobalah melakukan hal ini dengan Interbase atau bahkan Oracle. Maka dengan load beberapa request per detik saja server web/database mungkin akan segera menyerah karena tidak bisa mengimbangi beban ini. Dan memperbaiki MySQL, serta mempertahankan MySQL sebagai database open source terpopuler.
2.1.5 Normalisasi Normalisasi adalah pemecahan skema basis data menjadi beberapa skema relasi untuk menghindari anomali-anomali yang ada dalam sistem data. Sehingga terbentuk basis data yang benar-benar memenuhi kriteria dan tidak menyalahi aturan-aturan basis data. Beberapa anomali yang dikandung oleh sistem basis data adalah: a. Kerangkapan data (Redudancy data) b. Peremajaan data (Updating data) c. Penyisipan data (insert data) d. Penghapusan data (deleting data) Istilah normalisasi berasal dari E. F. Codd, salah seorang perintis teknologi basis data. Selain dipakai sebagai metodologi tersendiri untuk menciptakan struktur tabel (relasi) dalam basis data (dengan tujuan mengurangi redudansi/kemubaziran data),
16
normalisasi terkadang hanya dipakai sebagai perangkat verifikasi terhadap tabel-tabel yang dihasilkan oleh metodologi lain. Normalisasi memberikan panduan yang sangat membantu bagi pengembang untuk mencegah penciptaan struktur table yang kurang fleksibel atau mengurangi ketidak efisienan. Menurut David Kroenke 2002 didefinisikan sebagai proses untuk mengubah suatu relasi yang memiliki masalah tertentu kedalam dua buah relasi atau lebih yang tak memiliki masalah tersebut. Masalah yang dimaksud oleh David Kroenke ini sering disebut dengan istilah anomali. Aturan-aturan normalisasi dinyatakan dalam istilah bentuk normal. Bentuk normal adalah suatu aturan yang dikenakan pada tabel dalam basis data dan harus dipenuhi oleh tabel tersebut pada level-level normalisasi. Selanjutnya menurut sebuah tabel dapat dikategorikan baik, efisien atau normal, jika telah memenuhi 3 (tiga) kriteria berikut : 1. Jika ada penguraian (dekomposisi) tabel, maka dekomposisinya harus dijamin aman. 2. Terpelihanya ketergantungan fungsional pada saat perubahan data. 3. Tidak melanggar Boyce–Code Normal Form (BCNF). Normalisasi berkaitan dengan satu proses, sedangkan normal form berkaitan dengan output proses. Beberapa bentuk normal pada normalisasi adalah sebagai berikut : Pada proses normalisai ini perlu dikenal dahulu definisi dari tahap normalisai : 1.
Bentuk Tidak Normal (Unnormalized Form).
Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan mengikuti suatu format tertentu, dapat saja data tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai dengan kedatangannya. 17
2.
Bentuk Normal Kesatu (1NF / First Normal Form).
Bentuk normal kesatu mempunyai ciri yaitu setiap data dibentuk dalam flat file (file datar / rata), data dibentuk dalam satu record demi satu record dan nilai dari field-field berupa atomic value. Tidak ada sel atribut yang berulang-ulang atau atribut bernilai ganda. Tiap field hanya ada satu pengertian, bukan merupakan kumpulan kata yang mempunyai arti mendua, hanya satu arti saja dan juga bukanlah pecahan kata-kata sehingga artinya lain. 3.
Bentuk Normal Kedua (2NF / Second Normal Form).
Bentuk normal kedua mempunyai syarat yaitu bentuk data telah memenuhi kriteria bentuk normal kesatu. Atribut bukan kunci haruslah bergantung secara fungsi pada kunci utama/primary key. Sehingga untuk membentuk normal kedua haruslah sudah ditentukan kunci-kunci field. Kunci field haruslah unik dan dapat mewakili atribut lain yang menjadi anggotanya. 4.
Bentuk Normal Ketiga (3NF / Third Normal Form)
Untuk menjadi bentuk normal ketiga maka relasi haruslah dalam bentuk normal kedua dan semua atribut bukan primer tidak punya hubungan yang transitif. Dengan kata lain, setiap atribut bukan kunci haruslah bergantung hanya pada primary key dan pada primary key secara menyeluruh. Contoh pada bentuk normal kedua diatas termasuk juga bentuk normal ketiga karena seluruh atribut yang ada disitu bergantung penuh pada kunci primernya. 5.
Boyce-Codd Normal Form (BCNF)
Boyce-Codd Normal Form mempunyai paksaan yang lebih kuat dari bentuk normal ketiga. Untuk menjadi BCNF, relasi harus dalam bentuk normal kesatu dan setiap atribut harus bergantung fungsi pada atribut superkey.
18