BAB 2 LANDASAN TEORI 2.1 Definisi Sistem 2.1.1 Sistem Sistem adalah himpunan unsur yang melakukan sesuatu kegiatan atau menyusun skema atau tata cara melakukan sesuatu kegiatan pemrosesan untuk mencapai sesuatu atau beberapa tujuan dan hal ini dilakukan dengan cara mengolah data dan `atau energi dan atau barang (benda) di dalam jangka waktu tertentu guna menghasilkan informasi dan atau energi dan atau barang (benda).1 Suatu sistem mempunyai karakteristik atau sifat-sifat tertentu, yaitu mempunyai komponen-komponen (components), batas sistem (boundary), lingkungan luar sistem (environments), penghubung (interface), masukan (input), keluaran (output), pengolah (process) dan sasaran (objectives) atau tujuan (goal). Komponen Sistem Komponen-komponen sistem atau elemen-elemen sistem dapat berupa suatu subsistem atau bagian-bagian dari sistem. Setiap subsistem mempunyai sifat-sifat dari sistem untuk menjalankan suatu fungsi tertentu dan mempengaruhi proses sistem secara kesseluruhan. 1 Jogiyanto H.M. Analisis dan Disain Sistem Informasi. 6 7 Batas Sistem Merupakan daerah yang membatasi antara suatu sistem dengan sistem yang lainnyaatau dengan lingkungan luarnya. Batas sistem ini memungkinkan suatu sistem dipandang sebagai satu kesatuan. Lingkungan Luar Sistem Lingkungan luar dari suatu sistem adalah apapun diluar batas dari sistem yang mempengaruhi operasi sistem. Lingkungan luar sistem dapat bersifat menguntungkan dan dapat juga bersifat merugikan sistem tersebut. Penghubung Sistem Merupakan media penghubung antara satu subsistem dengan subsistem yang lainnya. Melalui penghubung ini memungkinkan sumber-sumber daya mengalir dari suatu subsistem ke subsistem lainnya. Masukan Sistem Masukan adalah energi yang dimasukkan ke dalam sistem. Masukan dapat berupa masukan perawatan dan masukan sinyal. Masukan perawatan adalah energi yang dimasukkan supaya sistem tersebut dapat beroperasi. Masukan sinyal adalah energi yang di proses untuk di dapatkan keluaran. Keluaran Sistem Keluaran adalah hasil dari energi yang diolah dan diklasifikasikan menjadi keluaran yang berguna dan sisa pembuangan. Keluaran dapat merupakan masukan untuk subsistem yang lain atau kepada supra sistem. 8 Pengolah Sistem Suatu sistem dapat mempunyai suatu bagian pengolah yang akan merubah masukan menjadi keluaran. Suatu sistem produksi akan mengolah masukan berupa bahan baku dan bahan-bahan yang lain menjadi keluaran berupa barang jadi. Sasaran Sistem Suatu sistem pasti mempunyai tujuan (goal) atau sasaran (objective). Kalau suatu sistem tidak mempunyai sasaran, maka operasi sistem tidak akan ada gunanya. Sasaran dari sistem sangat menentukan sekali masukan yang dibutuhkan sistem dan keluaran yang akan dihasilkan sistem. 2.1.2 Informasi Informasi adalah data yang diolah menjadi bentuk yang lebih berguna dan lebih berarti bagi yang menerimanya. Sumber dari informasi adalah data. Data yang diolah untuk menghasilkan informasi menggunakan suatu model proses yang tertentu. Data yang diolah melalui suatu model menjadi informasi, penerima kemudian menerima informasi tersebut membuat suatu keputusan dan melakukan tindakan yang berarti menghasilkan suatu tindakan yang lain yang akan membuat sejumlah data kembali. Kualitas dari suatu informasi tergantung dari tiga hal, yaitu informasi harus akurat (accurate), tepat pada waktunya (timeliness) dan relevan (relevance). 9 Akurat, berarti informasi harus bebas dari kesalahan-kesalahan dan tidak bias atau menyesatkan. Akurat juga berarti informasi harus jelas mencerminkan maksudnya. Tepat pada waktunya, berarti informasi yang dating pada penerima tidak boleh terlambat. Informasi yang usang tidak akan mempunyai nilai lagi. Karena informasi merupakan landasan di dalam pengambilan keputusan. Relevan, berarti informasi tersebut mempunyai manfaat untuk pemakainya. Relevansi informasi untuk tiap-tiap orang satu dengan yang lainya berbeda. Nilai dari informasi ditentukan dua hal, yaitu manfaat dan biaya mendapatkannya. Suatu informasi dikatakan bernilai bila manfaatnya lebih efektif dibandingan dengan biaya mendapatkannya. Lebih lanjut sebagian besar informasi tidak dapat persis ditaksir keuntungannya dengan satuan nilai uang, tetapi dapat ditaksir nilai efektivitasnya. 2.1.3 Sistem Informasi Untuk lebih lengkapnya yang dimaksud dengan Sistem Informasi adalah suatu sistem didalam suatu organisasi yang 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. 10 Sistem informasi mempunyai konponen-komponen yang terdiri dari : Blok Masukan Masukan mewakili data yang masuk kedalam system informasi. Masukan disini termasuk metode-metode dan media untuk menagkap data yang akan dimasukkan, yang berupa dokumen-dokumen dasar. Blok Model Blok ini terdiri dari kombinasi prosedur, logika dan model matematik yang akan memanipulasi data input dan data yang tersimpan di basis data dengan cara yang sudah tertentu untuk menghasilkan keluaran yang di inginkan. Blok Keluaran Produk dari sistem informasi adalah keluaran yang merupakan informasi yang berkualitas dan dokumentasi yang berguna untuk semua tingkatan manajemen serta semua pemakai sistem. Blok Teknologi Teknologi merupakan “kotak alat” (tool box) dalam sistem informasi. Teknologi digunakan dalam menerima input, menjalankan model, menyimpan dan megakses data, menghasilkan dan mengirimkan keluaran dan membantu pengendalian dari sistem secara keseluruhan. Blok Basis Data Blok basis data (database) merupakan kumpulan dari data yang saling berhubungan satu dengan yang lainnya, tersimpan di perangkat keras komputer dan digunakan perangkat lunak untuk memanipulasinya. Data perlu disimpan didalam basis data untuk keperluan penyediaan informasi lebih lanjut. 11 Blok Kendali Banyak hal yang dapat merusak sistem informasi, seperti misalnya bencana alam, api, temperatur, air, debu, kecurangan-kecurangan, kegagalan-kegagalan sistem itu sendiri, kesalahan-kesalahan, ketidak efisienan, sabotase dan lain sebagainya. Beberapa pengendalian perlu dirancang dan diterapkan untuk meyakinkan bahwa hal-hal yang dapat merusak sistem dapat dicegah ataupun bila terlanjur terjadi kesalahankesalahan dapat langsung cepat diatasi. 2.2 Sistem Basis Data 2.2.1 Basis Data Basis data terdiri atas 2 kata, yaitu Basis dan Data. Basis kurang-lebih dapat diartikan sebagai markas atau gudang, tempat bersarang/berkumpul. Sedangkan Data adalah representasi fakta dunia nyata yang mewakili suatu objek seperti manusia (pegawai, siswa, pembeli, pelanggan), barang, hewan, peristiwa, konsep, keadaan dan sebagainya, yang direkam dalam bentuk angka, huruf, simbol, teks gambar, bunyi, atau kombinasinya2. Basis data sendiri dapat didefinisikan dalam sejumlah sudut pandang seperti : Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasi sedemikian rupa agar kelak dapat dimanfaatkan kembali dengan cepat dan mudah. 2 Fathansyah. Basis Data (halaman 1) 12 Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redundansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan. Kumpulan field/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis. Satu hal yang juga harus diperhatikan, bahwa basis data bukan hanya sekedar penyimpanan data secara elektronis (dengan bantuan komputer). Artinya, tidak semua bentuk penyimpanan data secara elektronis bisa disebut basis data. Kita dapat menyimpan dokumen berisi data dalam file teks (dengan program pengolah kata), file spread sheet, dan lain-lain. Yang sangat ditonjolkan dalam basis data adalah pengaturan, pemilahan, pengelompokan, pengorganisasian data yang akan kita simpan sesuai fungsi/jenisnya. Secara lebih lengkap, pemanfaatan basis data dilakukan untuk memenuhi sejumlah tujuan (objektif) seperti berikut : Kecepatan dan kemudahan (Speed). Pemanfaatan basis data memungkinkan kita untuk dapat menyimpan data atau melakukan perubahan terhadap data tau menampilkan kembali data tersebut dengan lebih cepat dan mudah. Efisiensi Ruang Penyimpanan (Space). Karena keterkaitan yang erat antar kelompok data dalam sebuah basis data, maka redundansi (pengulangan) data pasti akan selalu ada. Keakuratan (Accuracy). Pemanfaatan pengkodean atau pembentukan relasi antar data bersama dengan penerapan aturan/batasan (constraint) tipe data, domain data, 13 keunikan data, dan sebagainya, yang secara ketat dapat diterapkan dalam basis data. Ketersediaan (Availability). Pertumbuhan data sejalan dengan waktu akan semakin membutuhkan ruang penyimpanan yang besar. Kelengkapan (Completeness). Lengkap/tidaknya data yang kita kelola dalam sebuah basis data bersifat relatif (baik terhadap kebutuhan pemakai maupun terhadap waktu). Keamanan (Security). Memang ada sejumlah sistem pengelola basis data yang tidak menerapkan aspek keamanan dalam penggunaan basis data. Tetapi untuk sistem yang besar dan serius, aspek keamanan dapat diterapkan dengan ketat. Kebersamaan pemakai (Sharability). Pemakai basis data seringkali tidak terbatas pada satu pemakai saja, atau di satu lokasi saja atau satu sistem saja. 2.2.2 Normalisasi 2.2.2.1 Definisi Normalisasi Normalisasi diartikan sebagai suatu teknik yang menstrukturkan/ memecah/ mendekomposisi data dalam cara-cara tertentu untuk mencegah timbulnya permasalahan pengolahan data dalam basis data. Permasalahan yang dimaksud adalah berkaitan dengan penyimpangan-penyimpangan (anomalies) 14 yang terjadi akibat adanya kerangkapan data dalam relasi dan inefisiensi pengolahan.3 Proses normalisasi akan menghasilkan relasi yang optimal, yaitu : 1. Memiliki struktur record yang konsisten secara logik 2. Memiliki struktur record yang mudah untuk dimengerti 3. Memiliki struktur record yang sederhana dalam pemeliharaan 4. Memiliki struktur record yang mudah untuk ditampilkan kembali untuk memenuhi kebutuhan pemakai 5. Minimalisasi kerangkapan data guna meningkatkan kinerja sistem. 2.2.2.2 Level Normalisasi Teori normalisasi dibangun menurut konsep level normalisasi. Level normalisasi atau sering disebut sebagai bentuk normal suatu relasi dijelaskan berdasarkan kriteria tertentu pada bentuk normal. Bentuk normal yang dikenal hingga saat ini meliputi bentuk 1NF, 2NF, 3NF, BCNF, 4NF, 5NF, DKNF, dan RUNF. Umumnya rancangan relasi dalam basis data telah optimal jika memenuhi kriteria bentuk 3NF. Secara berturut-turut masing-masing level normal tersebut akan dibahas berikut ini, dimulai dari bentuk tidak normal. 1. Relasi bentuk tidak normal (Un Normalized Form/UNF) Relasi-relasi yang dirancang tanpa mengindahkan batasan dalam definisi basis data dan karakteristik RDBM akan menghasilkan relasi UNF. Bentuk ini harus dihindari dalam perancangan relasi dalam basis data. Relasi UNF mempunyai kriteria sebagai berikut : 3 Edhy Sutanta. Sistem Basis Data (halaman 172) 15 a. Jika relasi mempunyai bentuk non flat file (terjadi akibat data disimpan sesuai dengan kedatangannya, sehingga tidak memiliki struktur yang sama/tertentu, terjadi duplikasi atau tidak lengkap) b. Jika relasi memuat set atribut berulang (non single value) c. Jika relasi memuat atribut non atomic value 2. Bentuk normal pertama (first norm form/1NF) Relasi disebut sebagai 1NF jika memenuhi kriteria sebagai berikut : a. Jika seluruh atribut dalam relasi bernilai atomik (atomic value) b. Jika seluruh atribut dalam relasi bernilai tunggal (single value) c. Jika relasi tidak memuat set atribut berulang d. Jika semua record mempunyai sejumlah atribut yang sama Permasalahan dalam 1NF adalah sebagai berikut a. Tidak dapat menyisipkan informasi parsial b. Terhapusnya informasi ketika menghapus sebuah record c. Pembaharuan atribut non kunci mengakibatkan sejumlah record harus diperbaharui Untuk mengubah relasi UNF menjadi bentuk 1NF, dapat dilakukan dengan cara sebagai berikut : a. Melengkapi nilai-nilai dalam atribut b. Mengubah struktur relasi 3. Bentuk normal kedua (second norm form/2NF) Relasi disebut sebagai 2NF jika memenuhi kriteria sebagai berikut : a. Jika memenuhi kriteria 1NF b. Jika semua atribut non kunci FD pada PK 16 Permasalahan dalam 2NF adalah sebagai berikut : a. Kerangkapan data (data redundancy) b. Pembaharuan yang tidak benar dapat menimbulkan inkonsistensi data (data inconsistency) c. Proses pembaharuan tidak efisien d. Penyimpangan/permasalahan pada saat proses penyisipan, penghapusan dan pembaharuan Untuk mengubah relasi 1NF menjadi bentuk 2NF, dapat dilakukan dengan mengubah struktur relasi dengan cara : a. Identifikasikan FD relasi 1NF (jika diperlu gambarkan diagram kebergantungannya) b. Berdasarkan informasi tersebut, dekomposisi relasi 1NF menjadi relasi-relasi baru sesuai FD-nya. Jika menggunakan diagram, maka simpul-simpul yang berada pada puncak diagram ketergantungan data bertindak sebagai PK pada relasi baru 4. Bentuk normal ketiga (third norm form/3NF) Suatu relasi disebut sebagai 3NF jika memenuhi kriteria sebagai berikut : a. Jika memenuhi kriteria 2NF b. Jika setiap atribut non kunci tidak TDF (nontransitive dependeny) terhadap PK Permasalahan dalam 3NF adalah keberadaan penentu yang tidak merupakan bagian dari PK menghasilkan duplikasi rinci data pada atribut yang berfungsi sebagai FK (duplikasi berbeda dengan kerangkapan data). 17 Untuk mengubah relasi 2NF menjadi bentuk 3NF, dapat dilakukan dengan mengubah struktur relasi dengan cara : a. Indentifikasikan TDF relasi 2NF (jika perlu gambarkan diagram ketergantungan datanya) b. Berdasarkan informasi tersebut, dekomposisi relasi 2NF menjadi relasi-relasi baru sesuai TDF-nya. Jika menggunakan diagram, maka simpul-simpul yang berada pada puncak diagram ketergantungan data bertindak sebagai PK pada relasi baru 5. Bentuk normal Boyce-Cood (Boyce-Cood norm form/BCNF) Bentuk normal BCNF dikemukakan oleh R.F. Boyce dan E.F. Codd. Suatu relasi disebut BCNF jika memenuhi kriteria sebagai berikut : a. Jika memenuhi kriteria 3NF b. Jika semua atribut penentu (determinan) merupakan CK 6. Bentuk normal keempat (fourth norm form/4NF) Relasi disebut 4NF, jika memenuhi kriteria sebagai berikut : a. Jika memenuhi kriteria BCNF b. Jika setiap atribut didalamnya tidak mengalami ketergantungan pada banyak nilai. Atau dengan kalimat lain, bahwa semua atribut yang mengalamai ketergantungan pada banyak nilai adalah bergantung secara fungsional (functionally dependency). 7. Bentuk normal kelima (fifth norm form/5NF) Suatu relasi disebut sebagai 5NF, jika kerelasian antar data dalam relasi tersebut tidak dapat direkontruksi dari struktur relasi yang memuat atribut yang lebih sedikit. 18 8. Bentuk normal kunci domain (domain key norm form/DKNF) Suatu relasi disebut 5NF, jika batasan dapat disimpulkan secara sederhana dengan mengetahui sekumpulan nama atribut dan domainnya selama menggunakan sekumpulan atribut pada kuncinya. Bentuk DKNF ini dikemukakan oleh R Fagin pada tahun 1981 dan bersifat sangat spesifik, artinya tidak semua relasi dapat mencapai level ini. 2.2.3 Relasi Tabel Relasional adalah sebuah bentuk hubungan antara beberapa data yang dikelompokkan dalam sebuah tabel, bentuk-bentuk hubungan ini sangat dibutuhkan dalam memperoleh informasi dan dapat mendokumentasikan berbagai informasi. Relasional merupakan bentuk hubungan antara dua tabel atau lebih, yang salah satu tabel anggotanya akan memiliki bentuk ketergantungan yang erat, sehingga tidak dapat dipisah-pisahkan secara menyendiri. Dengan adanya hubungan ini sebuah data dapat disimpan dengan struktur yang terorganisir sehingga memudahkan kita dalam mendapatkan informasi dan mengelola databasenya. Ada beberapa bentuk relasional yang sering kita kenal, diantaranya adalah :4 2.2.3.1 One to one relationship Bentuk relasi yang dikatakan one to one adalah apabila pada tabel A memiliki satu anggota yang ada di dalam tabel B, atau pada tabel B hanya memiliki satu anggota yang ada pada tabel A. Sebagai gambaran lihat hubungan kedua tabel berikut : 4 Bunafit Nugroho. Aplikasi Pemrograman Web Dinamis dengan PHP dan MySQL (halaman 298) 19 Tabel A Record 1 Record 2 Record 3 Record 4 Tabel B Record 1 Record 2 Record 3 Record 4 Tabel A Record 1 Record 2 Record 3 Record 4 Tabel B Record 1 Record 2 Record 3 Record 4 Gambar 2.1 Bentuk relasi tabel one to one 2.2.3.2 One to many relationship Bentuk relasi yang dikatakan one to many yaitu apabila salah satu dari anggota tabel A dapat memiliki anggota lebih dari satu pada tabel B, atau salah satu anggota tabel B dapat memiliki satu atau beberapa anggota pada tabel A. Bentuk penggambaranya adalah sebagai berikut : Tabel A Record 1 Record 2 Record 3 Record 4 Tabel B Record 1 Record 2 Record 3 Record 4 Tabel A Record 1 Record 2 Record 3 Record 4 Tabel B Record 1 Record 2 Record 3 Record 4 Gambar 2.2 Bentuk relasi tabel one to many 20 2.2.3.3 Many to many relationship Tabel dikatakan memiliki hubungan many to many apabila semua jenis data pada tabel A memiliki banyak anggota yang berada pada tabel B, dan semua anggota pada tabel B dapat dimiliki oleh banyak anggota dari tabel A. Hubungan tersebut dapat digambarkan sebagai berikut : Tabel A Record 1 Record 2 Record 3 Record 4 Tabel B Record 1 Record 2 Record 3 Record 4 Gambar 2.3 Bentuk relasi tabel many to many 2.3 Diagram Alir Data (DAD) Diagram alir data adalah gambaran dari proses aliran data, penyimpanan dan kesatuan luar (External Entity) dari sebuah sistem. Diagram alir juga digunakan untuk menggambarkan suatu sistem yang telah ada atau sistem baru yang akan dikembangkan secara logika tanpa mempertimbangkan lingkungan fisik dimana data tersebut mengalir (misalnya lewat surat, telepon dan sebagainya), atau lingkungan fisik dimana data tersebut akan disimpan (misalnya file kartu, harddisk, disket, dsb)5. Beberapa simbol yang digunakan pada diagram arus data adalah sebagai berikut : 1. Kesatuan Luar (External Entity) atau Batas Sistem (Boundary) Setiap sistem pasti mempunyai batas sistem (boundary) yang memisahkan suatu sistem dengan lingkunganya. Sistem akan menerima 5 Jogiyanto H. M. Analisis dan Desain Sistem Informasi (halaman 699) 21 input dan menghasilkan output kepada lingkungan luarnya. Kesatuan luar (external entity) merupakan kesatuan diluar sistem yang dapat berupa orang, organisasi atau sistem lainya yang berada dilingkungan luar yang akan memberikan input atau menerima output dari sistem. Gambar 2.4 Simbol kesatuan dari luar sistem 2. Proses (Process) Suatu proses adalah kegiatan atau kerja yang dilakukan oleh orang, mesin atau komputer dari hasil suatu arus data yang masuk dalam proses untuk menghasilkan arus data yang akan keluar dari proses. Gambar 2.5 Simbol untuk proses data 3. Penyimpanan Data (Data Store) Penyimpanan data (Data Store) merupakan simpanan data yang berasal dari suatu file atau database di sistem komputer, suatu arsip atau catatan manual, suatu tabel acuan manual, suatu agenda atau buku, dan suatu kotak tempat data di mesin seseorang. Gambar 2.6 Simbol untuk menyimpan data 22 4. Arus Data (Data Flow) Arus data diberi simpan anak panah. Arus data ini mengalir diantara proses (Process), penyimpanan data (Data Store) dan kesatuan luar (External Entity). Arus data ini menunjukkan arus data yang dapat berupa masukan untuk sistem atau hasil dari proses sistem. Gambar 2.7 Simbol untuk Arus Data Sebuah diagram alir data harus menunjukkan : 1. Gambaran secara formal dari sebuah data 2. Subsistem dan proses 3. Aliran-aliran data. 4. Pemberhentian data (penyimpanan data) Sebuah diagram alir data tidak dapat menunjukkan : 1. Mulai, selesai atau prosedur 2. Komposisi penyimpanan data 3. Perhitungan dan keputusan 4. Jumlah dan aspek fisik. 2.4 Diagram Alir Sistem Diagram alir sistem (system flowchart) merupakan Diagram yang menunjukkan arus kerja secara keseluruhan dari sistem. Diagram ini menjelaskan urut-urutan dari prosedur-prosedur yang ada di dalam sistem. Diagram alir sistem menunjukkan apa yang dikerjakan di sistem. Diagram alir sistem digambarkan menggunakan simbol-simbol sebagai berikut: 23 1) Simbol manual input Menunjukkan input dengan mengunakan keyboard 2) Simbol proses Menunjukkan kegiatan proses 3) Simbol simpan Simbol yang digunakan untuk menyimpan input data setelah proses perekaman 4) Simbol Display Simbol yang digunakan untuk menampilkan data pada layar, berupa data dan laporan 5) Simbol garis alir Menunjukkan arah dari proses Gambar 2.8 Simbol Diagram Alir Sistem 2.5 Diagram Konteks Diagram konteks (Context Diagram) adalah gambaran dari sistem yang membatasi, berinteraksi dengan kesatuan luar.6 Adapun simbol-simbol yang digunakan untuk konteks diagram adalah : = Aliran data 6 Jogiyanto H.M. – Analisis dan Desain Sistem Informasi 24 = Entitas Eksternal (Kesatuan Luar) = Sistem / Proses Gambar 2.9 Simbol Diagram Konteks Adapun aspek-aspek yang harus diperhatikan dalam pembuatan diagram konteks adalah sebagai berikut : 1. Model logika dari level yang paling tinggi dari sebuah sistem 2. Merupakan kerangka dari suatu intisari dan menyatakan gambar yang jernih, serta dapat memberi ide menyeluruh tentang kegunaan dari suatu sistem. 3. Pada jaringan masukan dan keluaran tidak dapat menunjukkan kesalahan, perkecualian, pengontrolan atau uraian. 4. merupakan tahap pertama dari penyusunan suatu diagram alir data. 2.6 Internet 2.6.1 Internet Internet adalah sistem jaringan dari ribuan bahkan jutaan komputer yang ada diseluruh dunia ini. Jaringan dibentuk dengan saluran telepon, saluran kawat maupun saluran radio7. Menurut sejarahnya internet berasal dari jaringan milik militer bernama ARPANET. Kemudian berkembang secara pesat menjangkau seluruh dunia dan namanya berubah menjadi Internet serta tidak ada yang memiliki atau mengaturnya. 7 Djoko Pramono. Microsoft Internet Explorer (halaman 1) 25 Siapa saja boleh bergabung, kapan saja dan dari mana saja tidak ada yang melarang. Internet lebih berperan sebagai media komunikasi antar pemakainya yang tersebar diseluruh pelosok dunia. Kita bisa mencari dan mengambil informasi yang ada di Internet. Bahkan kita bisa mengirim informasi apa saja ke internet. 2.6.2 World Wide Web ( WWW ) World Wide Web (WWW), yang lebih dikenal sebagai web, adalah sistem untuk menampilkan dan menata informasi di internet. Sistem ini diciptakan oleh para peneliti di Center for Particle Physic (Lebih di kenal dengan singkatan CERN dalam bahasa perancis) di Switzerland, Sebagai sarana bagi para ilmuwan untuk saling berbagi dokumen melalui Internet8. Web adalah sumber informasi dinamis untuk semua jenis informasi berbeda dengan internet. Namun keduanya saling berkaitan antara satu dengan yang lainnya. Internet adalah suatu jaringan global, sedangkan World Wide Web (WWW) bukan sekedar jaringan, tetapi didalamnya terdapat suatu sel aplikasi komunikasi dan system perangkat lunak yang memiliki karateristik sebagai berikut : a) Umumnya terletak pada internet host dan client. b) Umumnya menggunakan protokol TCP / IP c) Mengerti HTML. d) Mengikuti model client atau server untuk komunikasi data dua arah. e) Memungkinkan client mengakases server denga berbagai protocol, seperti HTTP, FTP, Telnet dan Gopher. 8 Savhita Paradan.Buku saku travel di internet (halaman 29) 26 f) Memungkinkan client untuk mengakses informasi dalam berbagai media, seperti teks, audio dan video. g) Menggunakan mode alamat Uniform Resource Locator (URL) World Wide Web (WWW) juga mempunyai tiga komponen sistem hypertext, yaitu ; Antarmuka yang konsisten untuk semua platform. Antarmuka ini harus menyediakan akses yang dapat digunakan oleh berbagai jenis komputer. Akses informasi yang bersifat universal, dimana setiap pengguna dapat mengakses seluruh informasi yang ada. Antarmuka yang menyesiakan akses terhadap berbagai jenis dokumen dan protocol. 2.6.3 URL (Uniform Resource Locator) URL adalah standar pengalamatan sebuah file di internet yang dirancang khusus untuk digunakan dengan browser WWW seperti Netscape, Internet Explorer, Opera, Mozilla Firefox, Maxthon dan lain-lain. 1. Penentu protokol String pertama dalam URL, dari bentuk string (:) yang biasanya merinci protokol internet untuk digunakan dalam pengaksesan sumber. Protokol diindikasikan oleh nama sebelum tanda tersebut. 2. Domain name Bagian kedua dari URL biasanya adalah alamat sebuah internet. Alamat sebuah internet ini lebih terkenal dengan istilah host, dimana akhiran dari nama host ini memiliki ciri khas yang sudah dipatenkan, sebagai contoh 27 apabila komputer tersebut berada di tujukan untuk instansi pemerintahan di Indonesia maka host diberi akhiran .go.id menunjukan Indonesia. Jika kode negara tidak ada, maka server bersangkutan bersifat umum. 3. Lokasi sumber Kode ./admin/index.php adalah path dimana file yang akan dibaca, diambil atau dilihat. Kode index.php adalah nama file yang ingin ditampilkan pada halaman browser. 2.6.4 HTTP (Hypertext Transfer Protocol) HTTP adalah salah satu protokol client-server internet untuk penyampaian yang cepat dan efisien atas materi-materi hypertext. Untuk mengembangkan interaktif aplikasi berbasis HTML, harus dipahami bagaimana sebuah program client web berinteraksi dengan sebuah server HTTP. Aplikasi web berjalan pada protokol HTTP dan semua protokol diinternet selalu melibatkan server dan client. Ketika seseorang mengetikkan alamat di web browser, maka web browser akan mengirimkan perintah tersebut ke web server. Jika yang diminta adalah file, yang mengandung program server-side maka web server akan menjalankan terlebih dahulu program tersebut dan mengirimkan hasilnya ke browser. Jika yang diminta adalah file HTML maka web server akan langsung mengirimkan ke browser apa adanya. 2.6.5 e-Commerce Definisi e-Commerce sendiri sangat beragam, bergantung pada perspektif atau kacamata yang memanfaatkannya. Terlepas dari berbagai jenis definisi yang ditawarkan dan dipergunakan oleh berbagai kalangan, terdapat 28 kesamaan dari masing-masing definsi tersebut. Kesamaan tersebut memperlihatkan bahwa e-Commerce memiliki karakteristik sebagai berikut :9 Terjadinya transaksi antara dua belah pihak; Adanya pertukaran barang, jasa atau informasi; dan Internet merupakan medium utama dalam proses atau mekanisme perdagangan tersebut. Dari karakteristik diatas terlihat jelas bahwa pada dasarnya e-Commerce merupakan dampak dari berkembangnya teknologi informasi dan telekomunikasi. Secara signifikan ini mengubah cara manusia melakukan interaksi dengan lingkungannya, yang dalam hal ini terkait dengan mekanisme dagang. Semakin meningkatnya komunitas bisnis yang mempergunakan internet dalam melakukan aktivitas sehari-hari secara tidak langsung menciptakan sebuah domain dunia baru yang kerap diistilahkan sebagai cyberspace atau dunia maya. Berbeda dengan dunia nyata (real world), cyberspace memiliki karakteristik yang unik. Karakteristik tersebut memperlihatkan bahwa seorang manusia dapat dengan mudah berinteraksi dengan siapa saja didunia ini sejauh yang bersangkutan terhubung ke internet. Hilangnya batasan dunia yang memungkinkan sesorang berkomunikasi dengan orang lain secara efisien dan efektif ini secara langsung mengubah cara perusahaan dalam melakukan bisnis dengan perusahaan lain atau konsumen. 9 Dr. Ir. Richardus Eko Indrajit, Msc. E-COMMERCE KIAT DAN STRATEGI BISNIS DI DUNIA MAYA (halaman 2) 29 2.7 Skrip Pemrograman 2.7.1 PHP (Hypertext Preprocessor) Menurut dokumen resmi PHP, PHP singkatan dari Hypertext Preprocessor. Ia merupakan bahasa berbentuk skrip yang ditempatkan dalam server dan diproses diserver. Dimana hasilnya yang dikirimkan ke klien, tempat pemakai menggunakan browser . Secara khusus, PHP dirancang untuk membentuk web dinamis artinya ia dapat membentuk suatu tampilan berdasarkan permintaan terkini. Misalnya anda bisa menampilkan isi database ke halaman web. Pada prinsipnya, PHP mempunyai fungsi yang sama dengan skrip-skrip seperti ASP (Active Server Page), Cold Fusion, ataupun Perl. Kelahiran PHP bermula saat Rasmus Lerdorf membuat sejumlah skrip Perl yang dapat mengamati siapa saja yang melihat-lihat daftar riwayat hidupnya, yakni pada tahun 1994. Skrip-skrip ini selanjutnya dikemas menjadi tool yang disebut “Personal Home Page”. Paket inilah yang menjadi cikal bakal PHP. Pada tahun 1995, Rasmus menciptakan PHP/F1 Versi 2. Pada versi inilah pemrogram dapat menempelkan kode terstruktur didalam tag HTML. Yang menarik, kode PHP juga bisa berkomunikasi dengan database dan melakukan perhitunganperhitungan yang kompleks sambil jalan.10 Pada saat ini, PHP cukup populer sebagai piranti pemrograman Web, terutama di lingkungan Linux. Walaupun demikian, PHP sebenarnya juga dapat berfungsi pada server-server yang berbasis UNIX, Windows NT, dan Macintosh. Bahkan versi untuk Windows 95/98 pun tersedia. PHP juga dirancang untuk diintegrasikan dengan web server Apache. Namun belakangan juga dapat 10 Abdul Kadir. Dasar Pemrograman WEB Dinamis Menggunakan PHP (Halaman 1) 30 bekerja dengan web server seperti PWS (Personal Web Server), IIS (Internet Information Server), dan Xitami. Salah satu kelebihan dari PHP adalah mampu berkomunikasi dengan berbagai database yang terkenal. Dengan demikian, menampilkan data yang bersifat dinamis, yang diambil dari database, merupakan hal yang mudah untuk diimplementasikan. Itulah sebabnya sering dikatakan bahwa PHP sangat cocok untuk membangun halaman-halaman web dinamis. Pada saat ini PHP sudah dapat berkomunikasi dengan berbagai database meskipun dengan kelengkapan yang berbeda-beda; beberapa di antaranya adalah : dBASE (dBASE III+, Visual dBASE, Visula Foxpro dan semacamnya ) DBM FilePro (Personix, Inc) Informix, Ingres, Interbase, Microsoft Access, MSQL MySQL Oracle, Postgre SQL, Sybase. 31 2.7.2 Web Server Apache Web server Apache merupakan salah satu web server yang paling banyak digunakan oleh para pembuat situs dalam internet yang berfungsi sebagai pengendali program yang berbasis internet. Beberapa kelebihan yang dimiliki oleh web server Apache adalah bahwa perangkat lunak ini mampu menterjemahkan kode demi kode yang dituliskan dalam bentuk script. Tanpa adanya suatu web server maka PHP tidak dapat bekerja dengan baik. Kelebihan lainnya yang dimiliki Apache adalah sifatnya yang gratis dan mudah didapat di internet. Dalam web server Apache mempunyai beberapa variabel yang mempunyai fungsi tersendiri untuk operasi program yang dijalankan. Variabelvariabel tersebut diantaranya dapat dilihat pada tabel berikut. Tabel 2.1 Daftar Nama Variabel Dalam Web Server Apache Nama Variabel GATEWAY_INTERFACE Fungsi Spesifikasi CGI yang digunakan oleh server,contoh : ‘CGI/1.1’ SERVER_NAME Nama dari server host, dimana script diexecute. Jika script dijalankan pada virtual host, nilai variabel ini adalah virtual host yang digunakan. SERVER_PERANGKAT Menunjukkan web server yang digunakan, contoh LUNAK Apache/1.3.12(Win32) SERVER_PROTOKOL Nama dan versi protokol yang dipakai, contoh HTTP/1.0’; QUERY_STRING Directory document root yang ditetapkan 32 diserver’s configuration file. DOCUMENT_ROOT Accept : Header dari request yang dikirimkan HTTP_ACCEPT Method yang digunakan untuk mengakses, contoh : ‘GET’, ‘HEAD’, ‘POST’, ‘PUT’. REQUEST_METHOD Berisikan connection : header dari request, contoh ‘Keep-Alive’ HTTP_CONNECTION Berisikan host : header, contoh : susy HTTP_HOST Part absolute dari script yang di execute. SCRIPT_NAME 2.7.3 MySQL MySQL adalah sebuah program pembuat basis data yang bersifat open source yang berarti dapat dipakai oleh siapa saja secara gratis, karena sifatnya yang open source dia semua sistem operasi baik Windows ataupun Linux dan dapat di peroleh dengan mudah, selain itu MySQL juga merupakan program pengakses basis data yang bersifat jaringan sehingga dapat digunakan untuk aplikasi Multi User. MySQL sebenarnya turunan dari salah satu konsep utama dalam database sejak lama, yaitu SQL (Structural Query Language). SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis11. 11 Bunafit Nugroho .Php & MySQL dengan editor Dreamweaver (halaman 29) 33 Sebagai database server yang memiliki konsep database modern, MySQL memiliki banyak keistimewaan sebagai berikut : Portability MySQL dapat berjalan stabil pada berbagai sistem operasi. Misalnya Windows, Linux, FreeBSD, Mac OS X Server, Solaris, Amiga, HP-UX dan masih banyak lagi. Open Source MySQL di distribusikan secara Open Source (gratis), dibawah lisensi GPL sehingga dapat kita gunakan tanpa harus mengeluarkan biaya. Multiuser MySQL dapat di gunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik. Perfomance Tuning MySQL memiliki kecepatan yang menakjubkan dalam menangani query yang sederhana dan dapat memproses banyak QL dalam satuan waktu. Columns Type MySQL memiliki tipe kolom/field yang sangat kompleks, seperti signed/unsined integer, float, double, char, varchar, text, blob, date, time, datetime, timestamp,year, set serta enum. Command dan Function MySQL memiliki operator dan fungsi secara penuh yang mendukung untuk perintah SELECT dan WHERE dalam query. 34 Security MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host, dan izin akses user dengan sistem perizinan yang mendetail serta pasword terenkripsi. Scalability dan Limits MySQL mampu menangani database dalam skala besar, dengan jumlah kolom/field lebih dari 50 juta dan 60 ribu tabel serta 5 milyar baris/record. 2.7.4 HTML (HyperText Markup Language) HTML adalah sebuah bahasa pemrograman untuk membuat sebuah halaman Web, anda akan perlu menulis kode baik secara langsung (Yaitu melalui editor teks seperti NotePad di Lingkungan Windows) maupun secara tidak langsung (itu melalui perangkat lunak seperti Frontpage di lingkungan Windows atau Quanta pada Linux). Untuk menandai suatu file teks berupa HTML, terlebih dahulu harus terkandung struktur sebagai berikut: Contoh pada berkas Pertama.html <html> <head> <title>Latihan Pertama </title> </head> <body> Ini adalah Latihan Pertama </body> </html 35 Berikut adalah penjelasan kode pada berkas pertama.html Pasangan tag <html> dan </html> menandakan bahwa kode yang terdapat di dalamnya adalah kode HTML, sehingga browser akan menerjemahkan sebagai dokumen HTML Bagian yang terdapat dalam <html> dan </html> umumnya terdiri atas - Kepala - Badan Bagian kepala ditandai dengan pasangan tag <head> dan </head>, sedangkan bagian badan ditandai dengan tag <body> dan </body>. Pada bagian kepala, Anda bisa menentukan judul dokumen HTML. Judul ini ditulis dalam pasangan tag <title> dan </title>12. 2.7.5 Macromedia Dreamweaver MX Dreamweaver MX adalah suatu bentuk program editor web yang dibuat oleh Macromedia dengan program ini seorang programmer web dapat dengan mudah mendesain web. Macromedia Dreamweaver MX digunakan untuk membuat animasi sederhana yang berbentuk layer. Dengan adanya program ini kita tidak akan susah mengetik scrip dengan format HTML, PHP, ASP dan program lainnya. Sebagai editor Macromedia Dreamweaver MX mempunyai sifat yang WYSIWYG (what you see is what you get) artinya apa yang kamu lihat akan kamu peroleh. Dengan kelebihan ini kita bisa melihat hasil pembuatannya tanpa harus di buka di web browser. Seperti program editor – editor lain Dreamweaver MX juga memilki dua bentuk layer yaitu bentuk halaman desain dan halaman kode. Dalam hal ni akan 12 Bunafit Nugroho .Php & MySQL dengan editor Dreamweaver (halaman 15) 36 memudahkan kita dalam menambah script PHP maupun Java Script. Dreamweaver MX selain mendukung pembuatan web yang berbasis HTML, juga dapat mendukung pemrograman web yang diantaranya PHP, ASP,Perl, Java Script, dan lain – lain. 2.7.6 Adobe Photoshop Adobe Photoshop merupakan salah satu software terbaik dalam menangani bidang desain baik desain grafik, manipulasi foto maupun desain web. Karena kehandalan serta fasilitas yang disediakan untuk pegolahan gambar dan efek-efek teks yang disediakan cukup beragam. Sehingga sampai saat ini masih menjadi pilihan utama bagi semua desainer untuk pembuatan hal-hal yang menyangkut masalah desain.