Minggu, 22 September 2013

PHP: Hypertext Preprocessor

PHP: Hypertext Preprocessor[1] adalah bahasa skrip yang dapat ditanamkan atau disisipkan ke dalam HTML.[2][3] PHP banyak dipakai untuk memrogram situs web dinamis. PHP dapat digunakan untuk membangun sebuah CMS.
Sejarah PHP
Pada awalnya PHP merupakan kependekan dari Personal Home Page (Situs personal). PHP pertama kali dibuat oleh Rasmus Lerdorf pada tahun1995. Pada waktu itu PHP masih bernama Form Interpreted (FI), yang wujudnya berupa sekumpulan skrip yang digunakan untuk mengolah data formulir dari web.
Selanjutnya Rasmus merilis kode sumber tersebut untuk umum dan menamakannya PHP/FI. Dengan perilisan kode sumber ini menjadi sumber terbuka, maka banyak pemrogram yang tertarik untuk ikut mengembangkan PHP.
Pada November 1997, dirilis PHP/FI 2.0. Pada rilis ini, interpreter PHP sudah diimplementasikan dalam program C. Dalam rilis ini disertakan juga modul-modul ekstensi yang meningkatkan kemampuan PHP/FI secara signifikan.
Pada tahun 1997, sebuah perusahaan bernama Zend menulis ulang interpreter PHP menjadi lebih bersih, lebih baik, dan lebih cepat. Kemudian pada Juni 1998, perusahaan tersebut merilis interpreter baru untuk PHP dan meresmikan rilis tersebut sebagai PHP 3.0 dan singkatan PHP diubah menjadi akronim berulang PHP: Hypertext Preprocessing.
Pada pertengahan tahun 1999, Zend merilis interpreter PHP baru dan rilis tersebut dikenal dengan PHP 4.0. PHP 4.0 adalah versi PHP yang paling banyak dipakai pada awal abad ke-21. Versi ini banyak dipakai disebabkan kemampuannya untuk membangun aplikasi web kompleks tetapi tetap memiliki kecepatan dan stabilitas yang tinggi.
Pada Juni 2004, Zend merilis PHP 5.0. Dalam versi ini, inti dari interpreter PHP mengalami perubahan besar. Versi ini juga memasukkan model pemrograman berorientasi objek ke dalam PHP untuk menjawab perkembangan bahasa pemrograman ke arah paradigma berorientasi objek.
Contoh program[sunting]
Program Hello World
Program Hello World yang ditulis menggunakan PHP adalah sebagai berikut:
<?php
    echo "Hello World";
?>

Program bilangan Fibonacci
Berikut ini adalah contoh program yang relatif lebih kompleks yang ditulis dengan menggunakan PHP. Contoh program ini adalah program untuk menampilkan 20 bilangan pertama dari deretbilangan Fibonacci.
<?php
function fibonacci_seq( $panjang ) {
   for( $l = array(0,1), $i = 2, $x = 0; $i < $panjang; $i++ )
        $l[] = $l[$x++] + $l[$x];
   return $l;
}

fibonacci_seq(20);
// Angka "20" dapat diganti sesuai keinginan
?>


Kelebihan PHP Dari Bahasa Pemrograman Lain
Beberapa kelebihan PHP dari bahasa pemrograman web, antara lain:
1.    'Bahasa pemrograman PHP adalah sebuah bahasa script yang tidak melakukan sebuah kompilasi dalam penggunaanya.'
2.    'Web Server yang mendukung PHP dapat ditemukan dimana - mana dari mulai apache, IIS, Lighttpd, hingga Xitami dengan konfigurasi yang relatif mudah.'
3.    'Dalam sisi pengembangan lebih mudah, karena banyaknya milis - milis dan developer yang siap membantu dalam pengembangan.'
4.    'Dalam sisi pemahamanan, PHP adalah bahasa scripting yang paling mudah karena memiliki referensi yang banyak.'
5.    'PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah-perintah system.'
Tipe data
PHP memiliki 8 tipe data, yaitu:
1.    Boolean
2.    Integer
3.    Float/ Double
4.    String
5.    Array
6.    Object
7.    Resource
8.    NULL
cara kerja PHP
Konsep atau cara kerja HTML itu sangat sederhana, yaitu berawal dariclient yang memanggil berdasarkan URL (Uniform Resource Locator) melaluibrowser, kemudian browser mendapat alamat dari web server, yang nantinya akan memberikan segala informasi yang dibutuhkan web browser. Web browser yang sudah mendapat informasi segera melakukan proses penterjemahan kode HTML dan menampilkannya ke layar pemakai.

Konsep HTML
Hampir sama denga konsep kerja HTML, konsep kerja PHP
hanya perlu penterjemahan khusus untuk kode-kode PHP yang nantinya akan diterjemahkan oleh mesin PHP ke kode HTML terlebih dahulu sebelum diterjemahkan browser untuk ditampilkan di layar klien. Untuk lebih jelasnya lihat skema yang ada untuk membandingkan konsep kerja HTML dengan PHP.

konsep PHP

PHP dan DATABASE
Salah satu kelebihan yang ada pada PHP yaitu mampu berkomunikasi dengan database yang beraneka ragam. Maka, PHP bisa menampilkan isi database dengan dinamis dan mudah diimplementasikan, sehingga membuat PHP disebut sangat cocok untuk membuat web yang paling dinamis.
Sampai saat ini, PHP sudah dapat berkomunikasi dengan berbagai macam database dengan kelengkapan yang berbeda-beda, diantaranya :
·                       MySQL
·                       MSQL
·                       Oracle
·                       Inges
·                       Ms Access
·                       InterBase
·                       DBM
·                       Informix
·                       FilePro (Personix, Inc)
·                       Sybase, dan

·                       PostgreSQL.

Selasa, 10 September 2013

pemrograman web Client Side Scripting dan Server Side Scripting

Client Side Scripting dan Server Side Scripting
1. Client Side Scripting
Client Side Scripting adalah bahasa pemrograman yang proses pengolahannya dilakukan di komputer pengunjung (Client). Ketika seseorang ingin melihat suatu website, maka website yang bertipe ini akan sepenuhnya di download dan diproses di komputer masing-masing sehingga siapapun yang melihat website kita bisa mengambil seluruh Script yang ditulis oleh pembuatnya, Hal tersebut merupakan suatu kelemahan tersendiri, yaitu orang yang berniat jahat bisa dengan mudah mengotak-atik website kita dengan lebih mudah. Web yang menggunakan program ini biasanya website statis, yaitu yang tampilannya hampir tidak berubah, kecuali  website tersebut dirombak pada halamannya (Misal : web bertipe *.html).
Contoh Client Side Scripting adalah :
·         HTML (Hypertext Markup Language)
·         CSS (Cascading Style Sheet)
·         JavaScript
·         XML (Extensible Markup Language)
Perbedaan utama server-side programming dan client server programming adalah tempat mengeksekusi skripnya. Pada client server programming, skrip dieksekusi di browser sedangkan server side programming dieksekusi di client (web browser).

Karakteristik client –side scripting :
1.       Kode program didownload bersama dengan halaman web
2.       Bersifat interpreter dan diterjemahkan oleh browser
3.       Model eksekusinya simple dan skrip dapat dijadikan satu dengan HTML


2. Server Side Scripting
Server Side Scripting adalah kebalikan dari Client Side Scripting yaitu bahasa pemrograman web yang pengolahannya dilakukan di komputer server dan hasil pengolahannya kirimkan ke komputer client/pengunjung dalam bentuk bahasa html, sehingga pengunjung tidak mengetahui Script yang telah ditulis oleh pembuatnya, sehingga website tipe ini lebih aman dari serangan hacker, walaupun masih beresiko juga terkena hack. Web tipe ini bersifat Dinamis yaitu bisa dirubah kontennya dengan mudah tanpa mengotak-ngatik scriptnya. Bisa digunakan untuk berbagai kebutuhan web seperti, Toko Online, forum, web sekolah, blogging dan berbagai kebutuhan lainnya.



contoh Server Side Scripting adalah :
·         PHP
·         ASP
·         ASP dot Net
·         Java Server Page
·         dan lain-lain.
Untuk mempelajari bahasa pemrograman berbasis Client Side Scripting, kita hanya membutuhkan Web editor (contoh: Notepad, Adobe Dreamweaver, Ms. FrontPage, dsb) dan Browser (contoh : Mozilla Firefox, Google Chrome, Internet Explorer, dsb). Untuk mempelajari bahasa pemrograman berbasis Server Side Scripting selain Web editor dan Browser, kita juga memerlukan sebuah komputer server. Jangan Pusing dulu, kita bisa menggunakan komputer kita sebagai server juga sebagai client yaitu dengan cara menginstallkan aplikasi yang dibundel untuk server yang bisa didapatkan dengan GRATIS. Aplikasi tersebut salahsatunya adalah :
XAMPP
LAMPP
WAMPP
AppServ
Karakteristik server side programming :
1.       Ada client yang meminta request
2.       Eksekusi program dilakukan di server
3.       Mengirimkan hasil ke client

Keuntungan server side programming :
Cross platform : tidak tergantung dengan browser tertentu
1.       Optimasi danpemeliharaan dilakukan di browser
2.       Dapat mengakses database dan tidak tergantung dengan keamanan
3.       Menambah kekuatan server
4.       Kode program aman

Aplikasi yang sering digunakan oleh server side programming
1.       Search engines
2.       Database access
3.       Chat & bulletin board service




Model Pemrograman Client Side Dan Server Side

Client-side dan Server-side
Pengertian Client Side Dan Server Side
Server Side merupakan teknologi webpage yang menerapkan jenis pemrograman web dimana semua sintaks dan perintah program yang diberikan akan dijalankan/diproses di web server, kemudian hasilnya dikirimkan ke browser pengguna dalam bentuk HTML biasa. Sehingga pengguna tidak dapat melihat kode asli yang ditulis dalam bentuk server side programming seperti; CGI/Perl Active Server Page, PHP, Cold Fussion dan lain-lain. Contoh lain dari teknologi webpage yang bersifat server side adalah mesin pencari(search engine).
Server Side bertolak belakang dengan Clien Side, semua program yang diminta oleh browser akan dieksekusi dari server tersebut, pengunjung hanya mendapat informasi dari hasil olahannya, sistem ini lebih aman daripada Clien Side. Contoh:PHP,ASP,ASP dot net,Java Server Net,Java Server Page,dll.
Client Side merupakan teknologi webpage yang menerapkan jenis pemrograman web dimana semua sintaks dan perintah program dijalankan di web browser sehingga ketika client meminta dokumen yang mengandung script, script tersebut akan diambil dari web server kemudian dijalankan di web briwser yang bersangkutan. Contoh dari Client Side Programming seperti : Java Script, VbScript, HTML.

Perbedaan utama server-side dan client server
Perbedaan utama server-side programming dan client server programming adalah tempat mengeksekusi skripnya. Pada client server programming, skrip dieksekusi di browser sedangkan server side programming dieksekusi di client (web browser)
§  CLIENT SIDE
Karakteristik client side scripting :
1. Kode program didownload bersama dengan halaman web
2. Bersifat interpreter dan diterjemahkan oleh browser
3. Model eksekusinya simple dan skrip dapat dijadikan satu dengan HTML
Berikut cara kerja Client Side:
Pengunjung web mengklik salah satu link dari web dan browser membaca perintah pengunjung untuk memangil alamat web yang dituju.
Setelah itu browser akan mengalihkan ke halaman yang dituju oleh pengunjung web.
Contoh aplikasi Client Side :
§  Css
§  Jquery
§  Javascript,dll
Kelebihan dan kekurangan dari client side programming adalah :
Kelebihan Client-Side-Scripting
1. Tidak perlu server khusus untuk menjalankannya
2. Eksekusi script lebih cepat
3. Tidak membebani kinerja web server.
Kekurangan Client-Side-Scripting
1. Harus di support oleh browser dari pihak client
2. Script dapat ditiru
3. Dari segi keamanan kurang dapat diandalkan

§  SERVER SIDE
Karakteristik server side programming :
1. Ada client yang meminta request
2. Eksekusi program dilakukan di server
3. Mengirimkan hasil ke client
Cara kerja Server side :
jika kita melakukan interaksi dengan halaman web maka browser akan mengirimkan perintah ke server,  kemudian server akan merespon dan melaukan perintah yang diberi kemudian server akan mengirimkan kembali data/ perintah dari  browser, dan browser akan menampilkan data/ perintah tersebut.
Keuntungan server side programming :
Cross platform : tidak tergantung dengan browser tertentu
1. Optimasi danpemeliharaan dilakukan di browser
2. Dapat mengakses database dan tidak tergantung dengan keamanan
3. Menambah kekuatan server
4. Kode program aman

Aplikasi yang sering digunakan oleh server side programming
1. Search engines
2. Database access
3. Chat & bulletin board service
Dalam pembuatan web teknologi server side dibutuhkan server seperti xampp, wam, iis dan lain sebagainya. Contoh teknologi server side :
Asp
Php
Jsp
Phyton,dll
Kelebihan dan kekurangan dari Server side programmingadalah :
Kelebihan Server-Side-Scripting
1. data lebih aman
2. Susah untuk ditiru karena script di jalankan di server
3. Dari segi keamanan lebih menjamin dibandingkan dengan Client-Side-Scripting
Kekurangan Server-Side-Scripting
1. Memerlukan Server khusus untuk menjalankannya
2. Menambah beban kerja server
3. Agak lambat jika dibandingkan dengan Client-Side-Scripting karena script di terjemahkan di server kemudian tampilan di load di client

ARSITEKTUR CLIENT SIDE DAN SERVER SIDE

Arsitektur merupakan sekumpulan dari sistem sirkuit, chip, bus untuk ekspansi slot, BIOS dan lain sebagainya. Dalam arsikektur terdapat tiga elemen utama yaitu :
§  Arsitektur sistem pemrosesan, yaitu suatu standart teknis untuk menentukkan hardware, lingkungan sistem operasi, dan software aplikasi.
§  Arsitektur telekomunikasi dan jaringan, digunakan untuk menentukan fasilitas dalam komunikasi perusahaan, yang dilalui oleh informasi.
§  Arsitektur data yaitu berfungsi untuk menentukan organisasi data untuk tujuan referensi silang dan penyesuaian ulang, serta untuk penciptaan sumber informasi yang dapat diakses oleh aplikasi bisnis dalam lingkup luas.
Dalam Arsitektur Telematika terdiri atas dua Arsitektur yaitu :
1. Arsitektur Server Side
Server atau sering disebut juga back-end akan menerima pesan dari client, yang diproses dan hasilnya akan dikembalikan kepada client. Contoh dari tugas server melayani permintaan client kemudian memberikan jawaban atas data yang diminta oleh client, server dapat juga berkolaborasi dengan server lain untuk melayani permintaan client.
2. Arsitektur Client Side
Front-end atau client akan menerima hasil pemrosesan data yang dilakukan oleh server kemudian ditampilkan kepada user pada sebuah aplikasi yang dapat berinteraksi langsung dengan user. Client akan bekerja setelah mendapat instruksi dari server kemudian data akan diproses oleh server yang kemudian akan diberikan kepada client. Client berinteraksi langsung dengan user menggunakan user interface seperti Graphical User Interface (GUI).
Berikut ini beberapa contoh penanganan pada client yang berhubungan dengan DBMS yaitu:
§  Presentation Logic
Dalam Presentation Logic bertanggung jawab dalam memformat data pada pengguna atau alat keluaran dan bertugas mengendalikan masukan pengguna dari keybord atau alat input lainnya.
§  Processing Logic
Processing logic digunakan untuk penanganan logika pada saat data diproses, logika aturan bisnis (business rule logic), dan logika manajemen data (data management logic). Untuk mengetahui kesalahan proses pada data digunakan proses data logic.
§  Storage Logic
Bertanggung jawab pada hal penyimpanan data dan perbaikan data dari alat penyimpan yang bekerja dengan aplikasi.

Beberapa Permodelan Arsitektur Client server :
§  Arsitektur Mainframe
Menyediakan waktu dan sebagian memorinya untuk pemakai, kemudian berpindah kepemakai lain dan kembali lagi kepemakai awal. Komputer jenis ini memiliki suatu Central Processing Unit, Storage Device yang agak besar .
§  Arsitektur File Sharing
Didalam media penyimpanan server terdapat file-file yang dapat diakses langsung oleh user namun arsitektur ini memiliki keterbatasan dalam proses sharing.

§  Arsitektur Client/Server
Proses pengiriman pada query data ke server dapat dilayani dengan cepat karena data yang dikirim adalah hasil dari query tersebut. RPC (Remote Procedure Calls) memegang peranan penting dalam arsitektur client sever. Terdapat dua model client server yaitu Two-tier dan Three-tier.
Model Two-tier
Pada Arsitektur Two-tier, antarmukanya terdapat pada lingkungan desktop dan sistem manajemen database biasanya ada pada server yang lebih kuat yang menyediakan layanan pada banyak client. Pengolahan informasi dibagi antara lingkungan antarmuka sistem dan lingkungan server manajemen database.
Model Three-tier
Arsitektur Three-Tier diperkenalkan untuk mengatasi kelemahan dari arsitektur two-tier. Di tiga tingkatan arsitektur, sebuah middleware digunakan antara sistem user interface lingkungan client dan server manajemen database lingkungan. Middleware ini diimplementasikan dalam berbagai cara seperti pengolahan transaksi monitor, pesan server atau aplikasi server. Middleware menjalankan fungsi dari antrian, eksekusi aplikasi dan database staging