Selasa, 18 Maret 2014

Pengertian Web Server

WEB SERVER
Pengertian :
Kata Web Server dapat dimaknai dengan :
1. Suatu Program Komputer yang mempunyai tanggung jawab/tugas menerima permintaan HTTP dari komputer klien, yang dikenal dengan nama web browser, dan melayani mereka dengan menyediakan respon HTTP berupa konten data, biasanya berupa halaman web yang
terdiri dari dokumen HTML, dan objek yang terkait seperti gambar, dll.
2. Komputer yang menjalankan program diatas. Walaupun masing-masing program webserver secara detil berbeda tetapi pada umumnya program
webserver memiliki fitur-fitur dasar yang sama seperti :
1. HTTP : Setiap program web server bekerja dengan menerima permintaan HTTP dari klien, dan memberikan respon HTTP ke klien tersebut. Respon HTTP biasanya mengandung dokumen HTML tetapi dapat juga berupa berkas raw, gambar, dan berbagai jenis dokumen lainnya. Jika terjadi kesalahan permintaan dari klien atau terjadi masalah saat melayani klien maka web server akan mengirim respon kesalahan yang dapat berupa dokumen HTML atau teks yang memberi penjelasan penyebab terjadinya kesalahan.
2. Logging : Umumnya setiap web server mempunyai kemampuan untuk melakukan pencatatan/logging terhadap informasi detil mengenai permintaan klien dan respon dari web server dan disimpan dalam berkas log, dengan adanya berkas log ini maka akan memudahkan web master untuk mendapat statistik dengan menggunakan tool log analizer. Pada penggunaan sehari-hari banyak web server mengimplementasikan fitur-fitur berikut :
1. Otentifikasi : fitur untuk mengotorisasi suatu permintaan dari klien sebelum menggunakan sumber daya yang dimiliki oleh web server (biasanya User dan Password)
2. Penanganan konten statis (berkas tersimpan pada file sistem server) dan konten dinamis dengan mendukung satu atau lebih antara muka yang sesuai (SSI, CGI, SCGI, FastCGI, JSP, PHP, ASP, ASP.NET, Server API seperti NSAPI, ISAPI dsb).
3. Dukungan HTTPS (dengan SSL, atau TSL) yang memungkinkan koneksi yang aman (dengan enkripsi) ke server pada port 433 berbeda dengan koneksi HTTP biasa di port 80
4. Kompresi Konten (misal menggunakan enkoding gzip) untuk mengurangi waktu respon server sehingga penggunaan pita data /Bandwith menjadi lebih hemat.
5. Virtual Hosting yang berguna untuk melayani banyak website hanya dengan menggunakan satu alamat IP.
6 Dukungan berkas berukuran besar, berfungsi untuk mendukung berkas yang memiliki ukuran lebih dari 2 gigabyte
7. Pengatur Bandwith (Bandwith throttling) yang berfungsi untuk membatasi kecepatan respon dengan tujuan tidak membanjiri jaringan dan menghemat pita data (bandwith) agar dapat melayani klien lebih banyak. Konten jawaban dari server web dibedakan menjadi :
1. Konten statis : biasanya berasal dari berkas yang telah ada pada server web
2. Konten Dinamis : dikatakan konten dinamis jika terjadi perubahan secara dimanis atas isi dari web baik dilakukan oleh program lain, script atau Application Program Interface (API) yang dijalankan oleh server web. Server dengan konten statis biasanya lebih cepat dari yang berisi konten dinamis (2 s.d. 100 kali Lebih cepat), terutama dalam menangani pengambilan data dari database.
Penerjemahan Path (Path Transalation)
Server web mengarahkan pennterjemahan komponen path kedalam URL (Uniform Resource
Locator) menuju :
Sumber daya berkas sistem lokal jika permintaan bersifat statis.
Program internal ataupun eksternal jika permintaan bersifat dinamis.
Untuk permintaan bersifat statis maka URL yang diminta oleh klien diarahkan ke root direktori webserver.
Perhatikan URL berikut yang diminta oleh klien :
Browser web pada klien akan menterjemahkan koneksi ke http://www.example.com dengan permintaan
HTTP 1.1 seperti berikut :
GET /path/file.html HTTP/1.1
Server Web http://www.example.com akan mencari path/alamat yang diberikan mulai dari root direktori. Pada mesin unix biasanya di /var/www/htdocs. Hasil pada sistem lokal adalah
/var/www/htdocs/path/file.html
Server akan mencari dan membaca berkas tersebut, jika berkas ada maka akan mengirimkan jawaban ke browser klien. Respon yang diberikan akan menggambarkan isi konten dari berkas itu
sendiri.
LOAD LIMIT (BATAS BEBAN)
Setiap Server Web telah menentukan batas beban yang dapat ditanggung, sehingga setiap server web mempunyai batasan jumlah klien yang terhubung pada satu waktu (umumnya antara 2 s.d. 60.000, secara bawaan (default) maks 500 atau 1000).
Kemampuan ini bergantung pada :
Pengaturan Server Web itu sendiri;
Jenis permintaan HTTP;
Jenis Konten (Statis atau dinamis);
Kondisi konten di server dilakukan cache atau tidak;
Perangkat Keras, perangkat Lunak serta sistem operasi yang digunakan.
Jika server web sudah mendekati batas limit yang mampu ditangani maka server menjadi kelebihan beban sehingga lambat dalam memberikan respon.
Penyebab Overload/Kelebihan beban
Grafik harian beban server web, memperlihatkan adanya lonjakan beban pada awal hari. Setiap saat server web dapat saja mengalami kelebihan beban yang disebabkan :
Terlalu banyak koneksi (misalkan ada ribuan bahkan jutaan permintaan dari klien pada jeda waktu yang singkat, seperti yang pernah terjadi pada Slashdot)
Serangan DDOS (Distribute Denial Of Services);
Cacing Komputer (Worm) yang dapat menyebabkan lalulintas data tidak wajar karena banyaknya komputer yang terinfeksi;
Virus XSS dapat menyebabkan lalulintas data yang tinggi karena jutaan browser dan server web yang terinfeksi;
Internet Web Robot, Lalu lintas data yang tidak difilter atau web server besar dengan sumber daya yang terbatas misalnya pita data yang dimiliki kecil dsb;
I nternet (network) Lambat, hal ini menyebabkan jawaban atas permintaan klien ke server web melambat dan jumlah koneksi maksimum perwaktu jauh di bawah kemampuan server web itu sendiri;
Sebagian Server Web dalam kondisi mati, Ini dapat terjadi jika ada keperluan yang mendadak untuk perawatan/pembaharuan, kerusakan perangkat keras atau lunak, back end (misalnya Database) gagal, dalam kondisi ini server web yang masih bertugas mengalami kelebihan lalulintas data dan menjadi kelebihan beban.
Gejala Kelebihan Beban
Tanda-tanda apabila server web mengalami kelebihan beban adalah :
Lambatnya respon terhadap permintaan dari klien (respon biasanya berkisar dari 1 s.d.Ratusan detik);
Muncul pesan kesalahan 500, 502, 503, 504 HTTP Errors (Kadang-kadang juga muncul pesan kesalahan 404 dan 408);
Koneksi TCP ditolak atau direset sebelum isi konten sampai ke klien;
Hal ini jarang terjadi, hanya sebagian isi konten yang dikirim (tetapi hal ini kebanyakan disebabkan kesalahan program/bug, walaupun sumber daya yang dimiliki sistem terbatas).
Teknik Pencegahan Kelebihan Beban
Mengatur lalulintas data jaringan, dengan menggunakan :
Firewalls to menghadang data yang tidak diinginkan dari sumber IP yang tidak sesuai ataupun memiliki pola yang aneh.
Pengaturan lalulintas data melalui protokol HTTP, untuk memutuskan koneksi, mengarahkan, atau menulis ulang permintaan yang memiliki pola HTTP yang tidak sesuai.
Pengaturan Bandwith dan Traffic shaping, untuk menurunkan beban puncak
penggunaan jaringan.
Mengembangkan teknik cache;
Menggunakan domain yang berbeda, untuk melayani konten yang berbeda (Statis dan dinamis) dengan memisahkan server web, contoh :
Menggunakan domain yang berbeda dan atau komputer yang berbeda untuk memisahkan
berkas berukuran besar dan kecil; idenya adalah untuk mengoptimalkan cache berkas yang ukuran kecil dan menengah dan secara efisien melayani berkas berukuran besar (10-1000 Mb) menggunakan pengaturan yang berbeda;
Menggunakan banyak server web pada tiap komputer, masing-masing program server web di arahkan ke masing-masing kartu jaringan dan alamat IP;
Menggunakan banyak komputer server web dan menggabungkannya kedalam satu grup bertindak seolah-olah menjadi satu server web besar;
Menambahkan perangkat keras seperti RAM, hdd pada tiap server web;
Melakukan tunning pada Sistem Operasi sehingga dapat memaksimalkan penggunaan perangkat keras terpasang;
Menggunakan program komputer yang sesedikit mungkin pada komputer yang digunakan sebagai server web;
Menggunakan area kerja lain untuk melayani konten-konten yang bersifat dinamis.
Catatan Sejarah Web
Pada tahun 1989 Tim Berners-Lee mengajukan proposal sebuah proyek pada tempatnya bekerja CERN ( European Organization for Nuclear Research), proyek ini bertujuan untuk memudahkan para ilmuan yang bekerja di CERN untuk bertukar informasi menggunakan sistem hypertext.
Sebagai hasil dari pelaksanaan proyek tersebut, Tim Berners-Lee menulis dua program :
Sebuah Browser dengan nama WorldWideWeb
Program webserver pertama didunia yang berjalan diatas sistem NeXTSTEP
Antara tahun 1991 sampai 1994 teknologi sederhana dan efektif digunakan untuk berselancar dan bertukar data melalui world wide web, telah dibantu pengembangannya untuk dapat berjalan dibanyak sistem operasi dan menyebarkan penggunaannya ke segenap lapisan masyarakat, pertama dimulai dikalangan ilmuan, kemudian di universitas selanjutnya merambah dunia industri. Tahun 1994 Tim Berners-Lee memutuskan untuk mendirikan konsorsium World Wide Web, yang bertujuan untuk mengatur pengembangan selanjutnya dan penggunaan banyak teknologi (HTTP,
HTML dll) melalui stadarisasi proses. Saat ini perkembangan web site dan server telah mengikut deret eksponensial.
Struktur Pasar
Di bawah ini adalah hasil survei yang dilakukan oleh Netcraft pada April 2008
Vendor Produk Jumlah Website yang
menggunakan
Persentase
Apache Apache 83,206,564 50.22%
Microsoft IIS 58,540,275 35.33%
Google GWS 10,075,991 6.08%
Oversee Oversee 1,926,812 1. 16%
Lighttpd Lighttpd 1,495,308 0.9%
Nginx Nginx 1,018,503 0.61%
Lain-lain 9,432,775 5.69%


Jika ingin tau bagaimana langkah penginstalannya silahkan anda download link dibawah ini!!!

sumber : 

Belajar Server2go

Share
Barangkali hal ini sering dipertanyakan oleh programmer php, bagaimana belajar pemrograman php dengan tidak selalu upload ke server, artinya dengan membuat webserver dilokal, apalagi yang bisa di pindah-pindah dengan menggunakan flash disk tanpa harus kopi paste sourcenya.
Salah satu solusinya ya menggunakan Aplikasi Server2Go ini, yang merupakan aplikasi webserver yang suppor dengan PHP berikut dengan database servernya. Secara lengkap dapat di lihat di situs reminya http://www.server2go-web.de/. Sever2GO sendiri memiliki beberapa paket yang bisa kita pilih sesuai kebutuhan, paket tersebut ada dibawah ini.

PackageApache 1.3.35Apache 2.0.61Apache 2.2.8
PHP 5.2.6, SQLiteZIP (~16 MB)
PHP 5.2.6, SQLite, MySQL 5.0.41 ZIP (~39 MB) ZIP (~41 MB) ZIP (~43 MB)
PHP 5.2.6, SQLite, MySQL 5.0.41, Perl 5.8 ZIP (~87 MB) ZIP (~88 MB) ZIP (~90 MB)
Mini-Package
(only needed files)
PHP 5.2.6, SQLite, MySQL 5.0.41
ZIP (~18 MB) ZIP (~23 MB)
Micro-Package
(Plain vanilla Apache without PHP, Perl and MySQL)
ZIP (~5 MB)
Untuk yang kecil dan ringan tapi lengkap bisa menggunakan paket mini, lumayan untuk kondisi saat ini, yang service cukup uptodate.
Setelah file di download barulah extrak diflashdisk, setelah itu tinggal jalanin tuh file server2go.exe, webserver akan jalan dengan sendirinya ditandai dengan munculnya icon di tray, kemudian menampilkan internet explorer yang mengakses alamat http://localhost
struktur directorinya server2go menyerupai struktur directori server pada umumnya, untuk folder dan file yang utama anta lain folder htdocs adalah tempat meletakkan file php yang bisa diakses melalui internet explorer dengan alamat http://localhost, file pms_config.ini untuk mengatur seting server2go port webserver, port database dan lain sebagainya, folder server\config_tpl berisi konfigurasi webserver maupun databasenya, php.ini, my.ini maupun httpd.conf
Sedangkan untuk menghentikan webserver sangatlah mudah, klik kanan icon server2go yang ada di tray(sampingnya jam digital, kanan bawah pada layar) kemudian klik shutdown webserver, maka semua server yang terkait webserver akan berhenti.
Untuk codingnya bisa menggunakan notepad++ yang bisa di download di sini, sehingga coding php terasa lebih nyaman karena di flashdisk atau external harddisk sendiri.
Selamat mencoba, webserver ini juga bisa dijalankan di CD, webserver akan membuat database temporary di folder C, jadi secara otomatis database akan tersimpan di local komputer, untuk mengatur seting temporary database bisa di lihat file pms_config.ini.
sumber :

Pengertian Database

Database atau basis data adalah kumpulan data yang disimpan secara sistematis di dalam komputer dan dapat diolah atau dimanipulasi menggunakan perangkat lunak (program aplikasi) untuk menghasilkan informasi. Pendefinisian basis data meliputi spesifikasi berupa tipe data, struktur, dan juga batasan-batasan data yang akan disimpan. Basis data merupakan aspek yang sangat penting dalam sistem informasi dimana basis data merupakan gudang penyimpanan data yang akan diolah lebih lanjut. Basis data menjadi penting karena dapat menghidari duplikasi data, hubungan antar data yang tidak jelas, organisasi data, dan juga update yang rumit.
Proses memasukkan dan mengambil data ke dan dari media penyimpanan data memerlukan perangkat lunak yang disebut dengan sistem manajemen basis data (database management system | DBMS). DBMS merupakan sistem perangkat lunak yang memungkinkan user untuk memelihara, mengontrol, dan mengakses data secara praktis dan efisien. Dengan kata lain semua akses ke basis data akan ditangani oleh DBMS. Ada beberapa fungsi yang harus ditangani DBMS yaitu mengolah pendefinisian data, dapat menangani permintaan pemakai untuk mengakses data, memeriksa sekuriti dan integriti data yang didefinisikan oleh DBA (Database Administrator), menangani kegagalan dalam pengaksesan data yang disebabkan oleh kerusakan sistem maupun disk, dan menangani unjuk kerja semua fungsi secara efisien.
Tujuan utama dari DBMS adalah untuk memberikan tinjauan abstrak data kepada user (pengguna). Jadi sistem menyembunyikan informasi tentang bagaimana data disimpan, dipelihara, dan tetap dapat diambil (akses) secara efisien. Pertimbangan efisien di sini adalah bagaimana merancang struktur data yang kompleks tetapi masih tetap bisa digunakan oleh pengguna awam tanpa mengetahui kompleksitas strukturnya.

Dilihat dari jenisnya, basis data dibagi menjadi dua yaitu:

Basis data flat-file. Basis data flat-file ideal untuk data berukuran kecil dan dapat dirubah dengan mudah. Pada dasarnya, mereka tersusun dari sekumpulan string dalam satu atau lebih file yang dapat diurai untuk mendapatkan informasi yang disimpan. Basis data flat-file baik digunakan untuk menyimpan daftar atau data yang sederhana dan dalam jumlah kecil. Basis data flat-file akan menjadi sangat rumit apabila digunakan untuk menyimpan data dengan struktur kompleks walaupun dimungkinkan pula untuk menyimpan data semacam itu. Salah satu masalah menggunakan basis data jenis ini adalah rentan pada korupsi data karena tidak adanya penguncian yang melekat ketika data digunakan atau dimodifikasi.
Basis data relasional. Basis data ini mempunyai struktur yang lebih logis terkait cara penyimpanan. Kata "relasional" berasal dari kenyataan bahwa tabel-tabel yang berada di basis data dapat dihubungkan satu dengan lainnya. Basis data relasional menggunakan sekumpulan tabel dua dimensi yang masing-masing tabel tersusun atas baris (tupel) dan kolom (atribut). Untuk membuat hubungan antara dua atau lebih tabel, digunakan key (atribut kunci) yaitu primary key di salah satu tabel dan foreign key di tabel yang lain. Saat ini, basis data relasional menjadi pilihan karena keunggulannya. Beberapa kelemahan yang mungkin dirasakan untuk basis data jenis ini adalah implementasi yang lebih sulit untuk  data dalam jumlah besar dengan tingkat kompleksitasnya yang tinggi dan proses pencarian informasi yang lebih lambat karena perlu menghubungkan tabel-tabel terlebih dahulu apabila datanya tersebar di beberapa tabel.


sumber :

Pengertian dan Fungsi PHP (Personal Home Page)

Pengertian PHP

PHP adalah bahasa pemograman web yang digunakan untuk membuat halaman web dinamis (wikipedia). Walaupun pada perkembangannya, PHP saat ini juga dapat digunakan untuk membuat aplikasi selain web, seperti aplikasi desktop.
PHP pertama kali  di kembangkan pada tahun 1995 oleh Rasmus Lerdorf, namun sekarang di ambil oleh oleh The PHP Group.
Pada awalny PHP adalah singkatan dari Personal Home Page, namun dalam perkembangannya, di ubah menjadi PHP: Hypertext Preprocessor, sebuah kepanjangan rekursif.
PHP dirilis dalam lisensi PHP License, yang sedikit berbeda dengan lisensi GNU General Public License (GPL) yang biasa digunakan untuk proyek Open Source. Namun penggunaan PHP tetap tidak dikenakan biaya (gratis).
Kemudahan dan kepopuleran PHP sudah menjadi standar bagi programmer web di seluruh dunia. Dan menurut wikipedia, PHP telah terinstall pada lebih dari 244 juga website dan 2,1 web server hingga saat ini.

Fungsi PHP Dalam Pemograman Web

Dalam membuat halaman web, PHP sebenarnya bukanlah bahasa yang wajib digunakan. Sebuah website sederhana dapat dibuat tanpa menggunakan PHP sama sekali. Anda bisa membuat sebuah website, murni dengan menghubungkan beberapa halaman HTML saja.
Namun jika anda ingin membuat web yang dinamis, bisa menyimpan ke dalam database, membuat halaman yang berubah-ubah sesuai input dari user, maka pada saat itulah PHP dibutuhkan.
Untuk pembuatan web, kode PHP biasanya di sisipkan kedalam dokumen HTML. Karena hal inilah PHP  disebut juga sebagai Scripting Language atau bahasa pemograman script.
Sebagai contoh penggunaan PHP, misalkan anda ingin membuat list dengan no 1 sampai 10, dengan HTML saya bisa membuatnya secara manual, seperti kode berikut:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
<!DOCTYPE html>
<html>
   <head>
      <title>Contoh list dengan HTML</title>
   </head>
<body>
<h2>Daftar Absensi Mahasiswa</h2>
   <ol>
      <li>Nama Mahasiswa ke-1</li>
      <li>Nama Mahasiswa ke-2</li>
      <li>Nama Mahasiswa ke-3</li>
      <li>Nama Mahasiswa ke-4</li>
      <li>Nama Mahasiswa ke-5</li>
      <li>Nama Mahasiswa ke-6</li>
      <li>Nama Mahasiswa ke-7</li>
      <li>Nama Mahasiswa ke-8</li>
      <li>Nama Mahasiswa ke-9</li>
      <li>Nama Mahasiswa ke-10</li>
   </ol>
</body>
</html>
Halaman HTML tersebut dapat dibuat dengan mudah dengan cara copy-paste tag <li> sebanyak 10 kali dan mengubah sedikit angka-angka no urut di belakangnya. Namun jika yang saya inginkan adalah menambahkan list tersebut menjadi 100 atau 1000 list, cara copy-paste itu akan membuat tangan dan mata menyerah.
Namun jika menggunakan PHP, saya tinggal membuat perulangan for sebanyak 1000 kali sebagai berikut:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<!DOCTYPE html>
<html>
   <head>
      <title>Contoh list dengan PHP</title>
   </head>
<body>
<h2>Daftar Absensi Mahasiswa</h2>
   <ol>
      <?php
      for ($i= 1; $i <= 1000; $i++)
         {
            echo "<li>Nama Mahasiswa ke-$i</li>";
         }
      ?>
   </ol
</body>
</html>
Contoh Penggunaan PHP dalam HTML
Dengan menggunakan kode baris yang bahkan lebih sedikit, saya dapat membuat list tersebut menjadi 1000 kali, bahkan 100.000 kali dengan hanya mengubah sebuah variabel $i.
Namun PHP tidak hanya dapat melakukan pengulangan tersebut, masih banyak hal lain yang bisa anda lakukan dengan PHP, seperti menginput data ke database, menghasilkan gambar, halaman PDF, management cookie dan session, dan hal lainnya yang akan kita pelajari di dalam tutorial belajar PHP selanjutnya di duniailkom.
Sebagai langkah awal memahami PHP, pada tutorial selanjutnya kita akan membahas tentang sejarah PHP dan perkembangan versinya, dari awal kemunculannya pada tahun 1994, hingga menjadi salah satu bahasa pemograman paling populer saat ini.

sumber :