Perancangan Dan Pembuatan Server Blogger PENS-ITS BAB II TEORI PENUNJANG 2.1 UMUM Pada bab ini akan diberikan teori dasar yang melandasi permasalahan dan penyelesainnya yang diangkat dalam proyek akhir ini. Teori dasar yang diberikan meliputi : pengertian tentang blog, dasar pemrograman PHP, dasar pemrograman database menggunakan My SQL. 2.2 PENGERTIAN BLOG Blog berasal dari asal kata web log. Web artinya Internet, dan log artinya adalah catatan. Secara harfiah, blog bisa didefinisikan sebagai catatan harian yang ditulis dan dipublikasikan di internet. Sebenarnya tidak ada satu definisi yang pasti tentang blog. Terdapat banyak definisi tentang blog yang bertebaran di jagad Internet. Salah satu di antara definisi paling awal tentang blog adalah definisi blog oleh Rebecca Blood, pemilik blog www.rebeccablood.net dan penulis buku The Weblog Handbook, Blog adalah sebuah halaman web, dengan tulisan terbaru diletakkan di bagian isi paling atas, isinya sering diperbarui – kadang-kadang beberapa kali dalam sehari. Seringkali di sisi dari halaman web tersebut ada sebuah daftar link (tautan) yang merujuk ke halaman sejenis. Sedangkan definisi blog menurut Priyadi Iman Nurcahyo, pemilik blog www.priyadi.net adalah: 1. Berisi tulisan yang disusun secara kronologis 2. Mengandalkan perangkat lunak CMS 3. Memiliki fasilitas komentar 4. Memiliki format sindikasi, misalnya RSS atau Atom 5. Tulisannya dibuat dari sudut pandang pribadi penulisnya Dari dua definisi itu, terdapat benang merah yang dapat diambil tentang definisi blog: a) Blog adalah sebuah halaman website b) Blog ditulis oleh perseorangan maupun kelompok dengan bahasa percakapan dan tidak formal c) Blog memiliki fasilitas yang memungkinkan pengunjung sebuah blog meninggalkan komentar 13 Perancangan Dan Pembuatan Server Blogger PENS-ITS d) Tulisan yang ada di dalam sebuah blog selalu diperbarui dalam jangka waktu tertentu e) Isi dari sebuah blog diurutkan menurut kronologis waktu, tulisan terbaru terletak di bagian paling atas. 2.2.1 Fitur dan Istilah Dalam Sebuah Blog a) Post Post atau entri blog adalah sebuah tulisan yang terpisah dengan tulisan-tulisan lainnya yang ada di dalam blog. Satu blog terdiri dari banyak post, dengan post terbaru selalu berada di bagian paling atas dari seluruh post yang ada di blog tersebut. b) Komentar Komentar adalah tanggapan dari pengunjung sebuah blog terhadap sebuah tulisan. Kolom komentar biasa digunakan untuk berdiskusi tentang tulisan tersebut. c) Tautan (Link) Sebuah tulisan yang menghubungkan antara sebuah halaman website dengan halaman yang lain. Apabila sebuah tautan diklik dengan mouse komputer, maka halaman website baru akan terbuka. d) Blogroll Kumpulan tautan dari halaman blog atau halaman web lainnya yang sering dikunjungi oleh pemiliki blog tersebut. e) Sidebar Bagian dari sebuah halaman blog yang berada di samping kiri, kanan atau keduanya. Blogroll biasanya terletak di sidebar ini. Sidebar juga biasanya berisi informasi-informasi tambahan tentang blog milik sang blogger. 2.2.2 Jenis – Jenis Blog 1. Blog politik : Tentang berita, politik, aktivis, dan semua persoalan berbasis blog (Seperti kampanye). 2. Blog pribadi: Disebut juga buku harian online yang berisikan tentang pengalaman keseharian seseorang, keluhan, puisi atau syair, gagasan jahat, dan perbincangan teman. 3. Blog bertopik: Blog yang membahas tentang sesuatu, dan fokus pada bahasan tertentu 14 Perancangan Dan Pembuatan Server Blogger PENS-ITS 4. Blog kesehatan: Lebih spesifik tentang kesehatan. Blog kesehatan kebanyakan berisi tentang keluhan pasien, berita kesehatan terbaru, keterangan-ketarangan tentang kesehatan, dll. 5. Blog sastra: Lebih dikenal sebagai litblog (Literary blog). 6. Blog perjalanan: Fokus pada bahasan cerita perjalanan yang menceritakan keterangan-keterangan tentang perjalanan/traveling. 7. Blog riset: Persoalan tentang akademis seperti berita riset terbaru. 8. Blog hukum: Persoalan tentang hukum atau urusan hukum; disebut juga dengan blawgs (Blog Laws). 9. Blog media: Berfokus pada bahasan kebohongan atau ketidakkonsistensi media massa; biasanya hanya untuk koran atau jaringan televise. 10.Blog agama: Membahas tentang agama 11.Blog pendidikan: Biasanya ditulis oleh pelajar atau guru. 12.Blog kebersamaan: Topik lebih spesifik ditulis oleh kelompok tertentu. 13.Blog petunjuk (directory): Berisi ratusan link halaman website. 14.Blog bisnis: Digunakan oleh pegawai atau wirausahawan untuk kegiatan promosi bisnis mereka 15.Blog pengejawantahan: Fokus tentang objek diluar manusia; seperti anjing 16.Blog pengganggu (spam): Digunakan untuk promosi bisnis affiliate; juga dikenal sebagai splogs (Spam Blog). 2.3 PENGERTIAN PHP Pertama kali PHP diperkenalkan oleh Rasmus Lerdorf (1995) menggunakan nama PHP/FI (Personal HomePage/Form Interpreter), yang kemudian muncul PHP 3.0 yang diperkenalkan oleh Andi Gutmans dan Zeev Suraski pada tahun 1997. PHP 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 di atas operating system Linux. Semuanya gratis dan bebas. Saat ini PHP sudah sampai versi 5.0. 15 Perancangan Dan Pembuatan Server Blogger PENS-ITS PHP adalah suatu bahasa pemrograman web yang digunakan untuk keperluan CGI (Common GatewayInterface), artinya mempunyai kemampuan untuk membaca variabel dari client dan mengirimkan ke server untuk kemudian di server diolah dan hasilnya dikembalikan ke client. PHP adalah pemrograman yang bersifat Server Side, artinya program hanya bisa diakses melalui server, sedengakan client tidak bisa mengakses program PHP. Secara khusus, PHP dirancang untuk membentuk web dinamis. Artinya, ia dapat membuat suatu tampilan berdasarkan permintaan terkini. Misalnya, menampilkan isi database ke halaman web. Bermacam-macam database yang dapat dikoneksikan dengan PHP, seperti halnya database SQL server, MySQL, ORACLE. 2.3.1 Skrip PHP Skrip PHP berkedudukan sebagai tag dalam bahasa HTML. Sebagaimana diketahui, HTML(Hypertext Markup Language) adalah bahasa standar untuk membuat halaman-halaman Web. Kode PHP diawali dengan <?PHP dan diakhiri dengan ?>. Pasangan kedua kode inilah yang berfungsi sebagai tag kode PHP. Berdasarkan tag inilah, pihak server dapat memahami kode PHP dan kemudian memprosesnya. Hasilnya dikirim ke browser. 2.3.2 Konsep Kerja PHP Model kerja HTML, diawali dengan permintaan suatu halaman web oleh browser. Berdasarkan URL atau dikenal dengan alamat internet, browser mendapatkan alamat dari web server, mengidentifikasi halaman yang dikehendaki, dan menyampaikan segala informasi yang dibutuhkan oleh web server. Selanjutnya, web server akan mencarikan berkas yang diminta dan memberikan isinya ke browser. Browser yang mendapatkan isinya segera melakukan penerjemahan kode HTML dan menampilkan isinya ke layar pemakai. 16 Perancangan Dan Pembuatan Server Blogger PENS-ITS 2.3.3 Skema PHP 2.3.4 Struktur Dasar Sintak PHP Pemrograman PHP mempunyai struktur dasar seperti HTML, hanya saja perintah-perintah PHP selalu dimulai dan diakhiri oleh tag : <? ........ perintah PHP ........... ?> <html> <head> <title>MenggabungkanPHP danHTML</title> </head> <body>IniadalahperintahHTML<br> <?echo "IniadalahperintahPHP<br>"; ?> </body> </html> 2.4 APACHE Apache merupakan web server open-source dan tersedia di berbagai platform, termasuk linux dan windows. Web server ini terkenal cukup handal dan banyak digunakan oleh sebagaian besar website yang ada di internet. Selain kuat dan tanggu, apache juga dapat diperolah dengan gratis. Namun kekurangan di bagian tampilan grafis mgnharuskan untuk memahami dasar-dasar konfigurasi dan instalasi secara teks. Apache biasanya telah disertakan dalam setiap instalasi operasi berbasis Linux. 17 Perancangan Dan Pembuatan Server Blogger PENS-ITS 2.5 DATABASE MYSQL MySQL merupakan Relational Database Management Sistem (RDBMS) yang didistribusikan secara gratis di bawah lisensi GPL (General Public License). Di mana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat closed source atau komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam database sejak lama, yaitu SQL (Structure Query Language). SQL adalah sebuah konsep pengoperasian database, terutama untuk pemilihan/seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Keandalan suatu system database (DBMS) dapat diketahui dari cara kerja optimizer-nya dalam melakukan proses perintahperintah SQL, yang dibuat oleh user maupun program-program aplikasinya. Sebagai database server, MySQL dapat dikatakan lebih unggul dibandingkan dengan database server yang lainnya dalam query data. 2.5.1 Keistimewaan MySQL Sebagai database yang memiliki konsep database modern, MySQL memiliki banyak sekali keistimewaan. Berikut ini beberapa keistimewaan yang dimiliki oleh MySQL : 1. Portability MySQL dapat berjalan stabil pada berbagai sitem operasi di antaranya adalah seperti Windows, Linux, FreeBSD, Mac OS X server, Solaris, Amiga, HP-UX dan masih banyak lagi. 2. Open Source MySQL didistribusikan secara open source (gratis), di bawah lisensi GPL. 3. Multiuser MySQL dapat digunakan oleh beberapa user dalam waktu yang bersamaan tanpa mengalami masalah atau konflik. Hal ini memungkinkan sebuah database server MySQL dapat diakses client secara bersamaan. 4. Performance Tuning MySQL memiliki kecepatan yang menakjubkan dalam menangani query sederhana, dengan kata lain dapat memproses lebih banyak SQL per satuan waktu. 18 Perancangan Dan Pembuatan Server Blogger PENS-ITS 5. Column Types MySQL memiliki tipe kolom yang sangat kompleks, seperti signed/unsigned integer, float, double, char, varchar, text, blob, date, time, datetime, year, set serta enum. 6. Command dan Function MySQL memiliki operator dan fungsi secara penuh yang mendukung perintah SELECT dan WHERE dalam query. 7. Security MySQL memiliki beberapa lapisan sekuritas seperti level subnetmask, nama host, dan user dengan system perizinan yang mendetail serta password terencripsi. 8. Stability dan Limits MySQL mampu menangani database dalam skala besar, dengan jumlah records lebih dari 50 juta dan 60 ribu table serta 5 miliar baris. Selain itu, batas indeks yang dapat di tampung mencapai 32 indeks pada tiap tabelnya. 9. Connectivity MySQL dapat melakukan koneksi dengan client menggunakan protocol TCP/IP, Unix soket (Unix), atau Named Pipes (NT). 10. Localisation MySQL dapat mendeteksi pesan kesalahan (error code) pada clent dengan menggunakan lebih dari dua puluh bahasa. Meski demikian, bahasa Indonesia belum termasuk di dalamnya. 11. Interface MySQL memiliki interface (antar muka) terhadap berbagai aplikasi dan bahasa pemrograman dengan menggunakan fungsi API (Application Programming Interface). 12. Client dan Tools MySQL dilengkapi dengan berbagai tool yang dapat digunakan untuk administrasi database, dan pada setiap tool yang ada disertai petunjuk online. 13. Struktur Tabel MySQL memiliki struktur table yang lebih fleksibel dalam menangani ALTER TABLE, dibandingkan databse lainnya semacam PostgreSQL ataupun Oracle. 19 Perancangan Dan Pembuatan Server Blogger PENS-ITS 2.5.2 SQL Query SQL (Structured Query Language) adalah bahasa yang khusus digunakan untuk mengoperasikan database. Untuk memudahkan pelajaran, SQL query akan dikelompokkan menjadi tiga: Query untuk mengelola database Query untuk mengakses data dalam satu table Query yang melibatkan lebih dari satu table Query pengelolaan database Yang termasuk ke dalam kelompok ini adalah query yang bertujuan untuk : Membuat database Menghapus database Membuat tabel Memodifikasi tabel Menghapus tabel Menambah user Mengatur permission Menghapus user Query satu tabel Query satu tabel digunakan untuk mengelola data dalam satu tabel. Beberapa hal yang dapat dilakukan pada satu tabel adalah : Tujuan Memasukkan data Memodifikasi data Mengambil data Menghitung banyaknya data Menghitung penjumlahan data Menghitung nilai minimal Menghitung nilai rata-rata Query Insert Update Select Count Sum Min Avg 20 Perancangan Dan Pembuatan Server Blogger PENS-ITS 2.6 21 PENGERTIAN DOMAIN Ketika suatu saat kita hendak mengakses suatu situs web tertentu, biasanya kita cukup mengetikkan alamat situs web tersebut pada browser, demikian pula dengan pengiriman email. Semua kemudahan itu tidak lepas dari peranan domain. Internet terdiri dari jutaan komputer sebagai host yang tersebar di seluruh dunia yang kesemuanya saling berhubungan melalui suatu bentuk jaringan dengan hirarki tertentu. Host-host tersebut saling berkomunikasi melalui suatu protokol standar yang disebut TCP/IP (Transmission Control Protocol/Internet Protocol). Agar setiap komputer yang membentuk jaringan internet dapat berkomunikasi satu sama lain, maka masing-masing haruslah memiliki alamat tertentu. Alamat ini haruslah unik. Sistem pengalamatan yang digunakan berupa kombinasi 4 deret bilangan antara 0 s/d 255 yang masing-masing dipisahkan oleh tanda titik (.), mulai dari 0.0.0.1 hingga 255.255.255.255. Deretan angkaangka ini dikenal sebagai alamat IP (IP address). Setiap host yang tersambung dalam jaringan internet harus memiliki alamat IP sebagai pengenal agar dapat bekomunikasi dengan host lain dalam jaringan. Pengalamatan berbasis IP ini memungkinkan internet mengalamati lebih dari 4 milyar host. Pada kenyataannya, tidak semua kombinasi alamat IP bisa dipergunakan. Ada beberapa kombinasi khusus yang dicadangkan untuk keperluan tertentu sehingga tidak boleh digunakan untuk keperluan pengalamatan, contohnya adalah IP 127.0.0.1 yang diperlukan untuk menunjuk (lookup) ke host lokal. Walaupun secara teknis sistem pengalamatan berbasis IP ini cukup handal, tetapi ia masih memiliki kelemahan. Otak manusia umumnya tidak mudah untuk mengingat kombinasi angka dalam jumlah besar. Solusinya adalah mengasosiasikan nomor IP tersebut dalam kombinasi huruf yang membentuk sebuah nama yang mudah diingat. Nama host sebagai pengenal di jaringan internet inilah yang disebut sebagai domain, sedangkan sistem pengalamatan berbasis domain dikenal sebagai Domain Name Service (DNS).