Search This Blog

August 01, 2024

AI Generatif, Apa dan Bagaimana Cara Kerjanya

Perkembangan teknologi sekarang ini sangatlah pesat. Disetiap tempat yang kita kunjungi, kita selalu melihat beberapa mesin teknologi yang berkerja di kehidupan sehari-hari kita. Sebagai contoh pintu masuk Tol sekarang ini menggunakan mesin, pembayaran tiket parkir yang sekarang juga menggunakan mesin dan banyak lainnya yang bisa kita temukan. Semua itu menggunakan AI ( Artificial Intelligence ).


Sebagai pembahasan dalam blog ini tentang AI Generatif, apa itu AI Generatif itu dan bagaimana cara kerjanya. Baik, kita akan membahasnya secara singkat saja. AI generatif merupakan salah satu inovasi dalam dunia Artificial Intelligence (AI), Memiliki kemampuan untuk menghasilkan konten baru yang realistis dan inovatif. Selain itu, AI ini juga berpotensi membuka peluang baru di bidang seni, hiburan dan bidang-bidang lainnya.

Apa Itu AI Generatif?

AI Generatif adalah jenis AI atau kecerdasan buatan yang mampu menghasilkan konten baru dan asli berdasarkan data yang sudah ada. AI menggunakan algoritma dan model pembelajaran mesin untuk membuat teks, foto, video, kode, data, atau rendering 3D yang menyerupai karya buatan manusia. Model-modelnya seperti Chatbot percakapan OpenAI, ChatGPT, dan Generator gambar DALL-E3.

Alat-alat tersebut dikenal menggunakan teknologi AI Generatif dengan tujuan untuk menciptakan konten baru, termasuk kode komputer, esai, lirik lagu dan aransemennya, gambar, puisi dan masih banyak lagi.

Cara Kerja AI Generatif 

AI Generatif bekerja dengan cara mempelajari pola dan hubungan dalam data yang besar. Kemudian AI akan menggunakan pola-pola ini untuk menghasilkan konten baru yang mirip dengan data aslinya.

AI generatif dilatih menggunkan database besar. Misalnya, model teks seperti GPT dilatih menggunakan berbagai dokumen teks dari internet setelah dilatih, model dapat menghasilkan konten baru.

Cara menggunakan AI generatif pun sangat udah yakni dimulai dengan sebuah perintah yang bisa berupa teks, gambar, video, notasi musik atau masukan lainnya yang bisa di proses oleh sistem AI.

Contoh Penggunaa AI Geeneratif

  • Pembuatan Konten, AI Generatif dapat seperti GPT-4 digunakan untuk menulis artikel, blog dan laporan secara otomatis.
  • Pembuatan Gambar dan Visual, AI Generatif seperti DALL-E dan StyleGAN dapat meghasilkan ilustrasi dan seni digital dari deskripsi teks.
  • Musik dan Audio, seperti aplikasi MusicAI, kita dapat membuat irama lagu dari lirik yang sudah kita masukkan. Tak hanya itu, AI dapat digunakan untuk memperbaiki dan mengedit arensemen bahkan membuat lagu baru.

May 10, 2024

Istilah - Istilah penting dalam dunia pemograman dan IT

Didalam dunia pemograman maupun dunia IT banyak sekali istilah-istilah yang mungkin masih asing. Istilah-istiah tersebut memiliki arti dan pengertian yang sangat penting untuk di pahami karena berkaitan dengan teknologi komputer saat ini. Berikut beberapa istilah yang sangat sering digunnakan dalam dunia pemograman dan IT, sebagai berikut :

  • API (Application Programming Interface) : Antar muka programming, interface yang memungkinkan dua aplikasi berbeda untuk berkomunikasi satu sama lain.
  • IT (Information Technology) : Sebuah teknik untuk menyiapkan, memproses, mengumpulkan, menganalisa dan mnyebarkan informasi dengan teknologi.
  • Algorithm : Urutan langkah-langkah logis untuk menyelesaikan sebuah masalah.
  • Agile : Langkah atau teknik dalam pengembangan perangkat lunak yang fleksibel dan adaptif terhadap perubahan kebutuhan pengguna.
  • AJAX (Asynchronous JavaScript and XML) : Teknologi yang memungkinkan aplikasi web untuk mengambil dan menampilkan data tanpa harus me-refresh halaman.
  • Back-end : Bagian dari aplikasi yang berfungsi sebagai server dan menangani logika bisnis, database dan pemrosesan data.
  • Big Data : Sebuah istilah data yang sangat besar dan kompleks yang membutuhkan teknologi khusus untuk dikelola dan dianalisis.
  • Blockchain : Teknologi yang digunakan untuk membuat database terdistribusi yang aman dan transparan.
  • Cloud Computing : Model penggunaan teknologi informasi yang memungkinkan akses ke sumber daya komputasi secara online melalui internet.
  • CMS (Content Management System) : Sistem yang digunakan untuk mengelola dan mengatur konten pada sebuah situs web.
  • CSS (Cascading Style Sheets) : Bahasa pemrograman yang digunakan untuk mengatur tampilan dan layout pada situs web.
  • Cybersecurity : Praktik dan teknologi yang digunkan untuk melindungi sistem komputer dan jaringan dari serangan cyber.
  • Data Science : Disiplin ilmu yang menggunakan metode ilmiah untuk mengumpulkan, menganalisis dan menginterprestasikan data.
  • Database  : Kumpulan data yang terorganisir dan terstruktur yang dapat diakses dan dikelola oleh perangkat lunak.
  • DevOps (Development Operations) : Praktik pengembangan perangkat lunak yang menggabungkan pengembangan dan operasi untuk mempercepat proses pengembangan.
  • DNS (Domain Name System) : Sistem yang digunakan untuk mengonversi alamat IP menjadi nama domain dan sebaliknya.
  • Firewall : Perangkat lunak atau perangkat keras yang digunakan untuk melindungi jaringan komputer dari serangan luar.
  • Front-end : Bagian dari aplikasi yang berfungsi sebagai antarmuka pengguna dan menangani tampilan dan interaksi dengan pengguna.
  • HTML (HyperText Markup Language) : Bahasa pemrograman yang digunakan untuk membuat halaman web.
  • HTTP ( HyperText Transfer Protocol) : Protocol yang digunakan untuk mengirimkan data melalui internet.
  • IDE (Intergrated Development Environment) : Perangkat lunak yang digunakan untuk mengembangkan perangkat lunak.
  • IoT (Internet of Things) : Konsep dimana benda-benda sehari-hari terhubung ke internet untuk berkomunikasi dan bertukar data.
  • Java : Bahasa pemrograman yang digunakan untuk membuat Aplikasi dekstop, mobile dan web.
  • JavaScript : Bahasa pemrograman yang digunakan untuk membuat interaksi pada halaman web.
  • JSON (JavaScript Object Notation) : Format data yang sering digunakan dalam aplikasi web.
  • Machine Learning : Teknologi yang memungkinkan komputer untuk belajar dari data dan melakukan tugas-tugas tertentu.
  • Microservices : Pendekatan pengembangan perangkat lunak dimana aplikasi dibagi menjadi komponen - komponen kecil yang dapat berjalan secara independen.
  • MySQL : Sistem manajemen basis data relasional yang sering digunakan dalam pengembangan aplikasi web.
  • Node.js : Platform yang digunakan untuk menjalankan aplikasi web menggunakan bahasa pemrogrman JavaScript.
  • Object Oriented Programming (OOP) : Paradigma pemrograman yang fokus pada objek dan kelas untuk mengorganisir kode.
  • PHP : Bahasa pemrograman yang digunakan untuk membuat aplikasi web.
  • Python : Bahasa pemrograman yang digunakan untuk membuat aplikasi destop, mobile dan web.
  • REST (Representational State Transfer) : Arsitektur untuk membuat layanan web yang ringan dan mudah digunakan.
  • Ruby : Bahasa pemrograman yang digunakan untuk membuat aplikasi web.
  • Scrum : Metodologi pengebangan perangkat lunak yang fokus pada tim kolaboratif dan iterasi cepat.
  • SEO (Search Engine Optimization) : Praktik dan teknik yang digunakan untuk meningkatkan peringkat situs web pada esin pencari.
  • SQL (Structured Query Language) : Bahasa Pemrograman yang digunakan untuk mengakses dan mengelola basis data relasional.
  • SSL (Secure Sockets Layer) : Teknologi yang digunakan untuk mengenkripsi dan melindungi data yang dikirimkan melalui internet.
  • UI (User Interface) : Antarmuka yang digunakan oleh pengguna untuk berinteraksi dengan aplikasi atau situs web.
  • UX (User Experience) : Pengalaman pengguna saat menggunakan aplikasi atau situ web.
  • Virtualization : Teknologi yang memungkinkan beberapa sistem operasi dan aplikasi berjalan pada satu mesin fisik.
  • VPN (Virtual Private Network) : Jaringan pribadi yang dibuat melalui internet untuk melindungi data dari akses yang tidak sah.
  • Web Hosting : Layanan yang menyediakan ruang server dan akses internet untuk menyimpan dan mengakses situs web.
  • Web Services : Layanan yang digunakan untuk berbagi data dan fungsionalitas antara aplikasi yang berbeda.
  • XML (eXtensible Markup Language) : Format data yang digunakan untuk pertukaran data antara aplikasi.
  • API Gateway : Lapisan melindungi API yang bertindak sebagai proxy untuk menerima permintaan API, memproses permintaan dan mengirimkan respons.
  • Continuous Integration : Praktek pengembangan perangkat lunak dimana kode yang baru ditambahkan ke repositori secara otomatis diuji dan diintegrasikan dengan kode yang sudah ada.
  • Docker : Platform open source yang digunakan untuk mengembangkan, mengirimkan dan menjalankan aplikasi dalam wadah (container).
  • Kubernetes : Platform open source yang digunakan untuk mengelola aplikasi dalam wadah (container) secara otomatis.
  • Micro Frontends : Pendekatan pengembangan web dimana aplikasi dibagi menjadi bagian yang lebih kecil dan independen.
  • Progressive Web Apps : Aplikasi web yang memiliki fitur seperti alikasi native, seperti akses ke kamera atau push notification.
Dalam kesimpulannya, pemahaman tentang istilah-istilah dalam dunia pemrograman dan IT sangatlah penting untuk menguasai teknologi dan memulai karir dalam bidang ini. Dengan memahami istilah-istilah tersebut, kita dapat berkomunikasi dengan lebih efektif dan mampu mengembangkan solusi yang lebih baik.

March 11, 2024

Using Time in Javascript

JavaScript's Window object comes with four methods that you can use to create timed or looping events in your Web pages. In this article, I'll introduce you to them, and also show you a few examples of how they can be used in different situations.

Some of the most common and beneficial uses of JavaScript involve timer functions. These functions are used to run client-side code at predefined intervals, thereby making it possible to add a new dimension - time – to your Web pages. By using JavaScript's timing functions, you can run a command after a specified delay has passed, loop events to run over and over again at predefined times, and synchronize multiple events on a timeline. JavaScript's Window object comes with four methods that you can use to create timed or looping events in your Web pages. In this article, I'll introduce you to them, and also show you a few examples of how they can be used in different situations.

Over the course of this article, I'll be exploring the various timing functions available in JavaScript,  together with examples of how they can be used to create timed events in an HTML document. I'll introduce you to the setTimeout(), clearTimeout(), setInterval() and clearInterval() functions, and also show you how to use them to create a variety of different client-side applications, including a tickertape, a timed slideshow, and a countdown clock. So come on in! If you're new to JavaScript, you're going to find this article to be quite an eye-opener!

{mospagebreak title=Window Washer}

Let's start at the top, with the setTimeout() and clearTimeout() methods. These methods belong to the Window object, and are commonly used to run a particular piece of code after a pre-defined interval has passed. Consider the following example:[code]<script language="JavaScript">var t = window.setTimeout('alert("5 seconds have passed since you loadedthis page")', 5000);</script>[/code]In this case, the setTimeout() method is used to run the function 5000 milliseconds (5 seconds). Thus, there are always two arguments to the setTimeout() method; the first is the code to run, and the second is the amount of time to wait before running it. 

Here's another, more useful example. 

[code]<script language="JavaScript">var t = setTimeout('window.close()', 30000);</script>[/code]In this one, the window (which we'll assume has been popped open from some other parent window) closes automatically 30 seconds after it opens.

Just as you can set a timeout, you can also clear it with the clearTimeout() method. This method is used to remove a timeout previously declared with setTimeout(). Since there may be multiple calls to setTimeout() in the same document, it is mandatory to provide clearTimeout() with a reference so that it knows which timeout to clear. The following variant of the example above demonstrates:

[code]<script language="JavaScript">var t = window.setTimeout('window.close()',
30000);window.clearTimeout(t);</script>[/code]

In this case, the window will never close, because the clearTimeout() method will cancel the timeout previously created with setTimeout().

If you want to really obfuscate, you can clear a timeout after a specified interval, by wrapping the call to clearTimeout() in a call to setTimeout():[code]<script language="JavaScript">var t = window.setTimeout('window.close()', 30000);var c = window.setTimeout('window.clearTimeout(t)', 10000);</script>[/code]

In this case too, the window will never close, because the first timeout will be cancelled 10 seconds in by the call to clearTimeout() in the second. 

Here's another example, this one containing two timers. The first one is set to close the window after 30 seconds. However, 10 seconds in, the second one will activate and ask the user to confirm the timeout. If the user does not confirm it, the timeout will be cancelled.

[code]<script language="JavaScript">// set timeout for window to closevar win = setTimeout('window.close()', 30000);

// set timeout for user inputvar check = setTimeout('checkStatus()', 10000);
// ask if user wants window to close// if no, clear timeout for window to closefunction checkStatus(){ if(!window.confirm("This window will shut in 20 seconds. Is that OK?")) { window.clearTimeout(win); }}</script>[/code]

Note that after the confirm() dialog bog is displayed and while it is waiting for a user click, all timers are suspended.

Here's another example, this one using the setTimeout() method to create a countdown clock. Take a look:

[code]<html><head><script language="JavaScript">var i=10;

function countDown() { if(i > 0) { document.forms[0].elements[0].value=i; i = i-1; var c = window.setTimeout("countDown()",1000); } else { alert("Happy New Year!"); }}</script></head>

<body onLoad="countDown()">

<form><input type="text" name="counter" size="3"></form>

</body></html>[/code]In this case, I'm using the setTimeout() method to call itself in a loop every second, and updating the value of the countdown clock on every iteration of the loop. When the countdown hits 0, an alert box is displayed.

{mospagebreak title=A Decent Interval}

Next up, the setInterval() and clearInterval() methods. The main difference between these methods and the ones on the previous page is this: the setTimeout() and clearTimeout() methods are used to run a particular piece of code once after a pre-defined interval has passed, while the setInterval() and clearInterval() methods are used to run a piece of code over and over again, with a pre-defined interval between successive runs.

Consider the following example:

[code]<script language="JavaScript">var y = window.setInterval('alert("Yoohoo!")', 2000);</script>[/code]

In this case, the alert() box will keep appearing, once every 2 seconds. Thus, there are always two arguments to the setInterval() method – the first is the code to run, and the second is the amount of time between successive runs.

Here's another, more interesting example - creating a scrolling tickertape in the window's status bar:

[code]<script language="JavaScript">// ticket-tape messagevar message = " A blue pig jumped over the yellow moon "; 

// add and remove characters from the messagefunction tickerTape() { window.status = message; message = message.substring(1, message.length) + message.substring(0, 1);}

// start the ball rollingwindow.setInterval("tickerTape()", 150); </script>[/code]

In this case, I've created the appearance of a moving tickertape by taking one character off the beginning of the message string and adding it to the end. Each time the tickerTape() function is called, the first character of the string is deleted and added to the end of the string, simulating a scrolling ticker-tape. The setInterval() function takes care of calling the tickerTape() function over and over again, once every 150 milliseconds. Finally, the "status" property is used to assign the result at each stage to the browser's status bar.

Just as you can set an interval, you can also clear it with the clearInterval() method. Here too, you must provide clearInterval() with a reference so that it knows which interval to clear. The following variant of the example above demonstrates:

[code]<html><head><script language="JavaScript">// ticket-tape messagevar message = " A blue pig jumped over the yellow moon ";

// add and remove characters from the messagefunction tickerTape() { window.status = message; message = message.substring(1, message.length) + message.substring(0, 1);}

// start the ball rollingvar s = window.setInterval("tickerTape()", 150); </script></head>
<body>
<form><input type="button" value="Stop Scrolling" onClick="window.clearInterval(s)"></form>
</body></html>[/code]

In this case, when you click the button, the clearInterval() method will cancel the timer set earlier with setInterval() and the tickertape will stop moving.

{mospagebreak title=Turning Up the Volume}

Using a setInterval() function is identical to using a setTimeout() function in a loop. To illustrate this, consider the following example by rewriting the countdown clock example from a few pages back.

[code]<html><head><script language="JavaScript">var i=10;
function countDown() { if(i > 0) { document.forms[0].elements[0].value=i; i = i-1; } else { alert("Happy New Year!"); }}
window.setInterval("countDown()", 1000);</script></head>
<body>
<form><input type="text" name="counter" size="3"></form> 
</body></html>[/code]  

In this case, I've used the setInterval() method instead of the setTimeout() method to call the countDown() function over and over again. Note the difference between the version above and the one a few pages back - above, the call to setInterval() is outside the loop, whereas earlier, the call to setTimeout() was inside the loop.

Here's one more example, this one making a <div> appear when the mouse moves over a link and automatically hiding it again after 3 seconds:

[code]<html><head><script language="JavaScript">function on() { if(document.all) { // make <div>
visible document.all['volume'].style.visibility='visible'; // after 3 seconds, make it
invisible window.setInterval("document.all['volume'].style.visibility='hidden'",3000); } if(document.layers) { // make <div>
visible document.volume.visibility='show'; // after 3 seconds, make it
invisible window.setInterval("document.volume.visibility='hide'",3000); }

if(!document.all && document.getElementById) { // make <div>
visible document.getElementById("volume").style.visibility="visible"; // after 3 seconds, make it invisible

window.setInterval("document.getElementById('volume').style.visibility='hidden'",3000); } }</script></head><body><a href="#" onMouseOver="javascript:on();">Show Volume Control</a>

<div id="volume" style="color:white; font-face:Arial; background:black;position:absolute; left:550; top:200; height:150; visibility:hidden;">Volume<br> control<br> slider<br> here</div>

</body></html>[/code]

{mospagebreak title=Sliding Around}

Let's look at a couple more examples, which demonstrate just how useful - and varied - these functions can be. This first one uses the setInterval() method to create a timed slideshow:

[code]<html><head><script language="JavaScript">// slideshow image countervar i = 0;

function slideShow() { // set up list of images slidesArray = new
Array() slidesArray[0]="image1.jpg" slidesArray[1]="image2.jpg" slidesArray[2]="image3.jpg" slidesArray[3]="image4.jpg" slid esArray[4]="image5.jpg" // load image document.images[0].src=slidesArray[i] // increment counter i=i+1; // when at the end, start again if(i==5) { i=0; }}</script></head>

<body onLoad="javascript:setInterval('slideShow()',5000);"><img src="image1.jpg" name="image"></body>

</html>[/code]

Here, the images to be displayed are stored in a JavaScript array, and a "for" loop takes care of pulling out the correct image from the array and loading it into the page. The setInterval() method is used to refresh the image with a new one every 5 seconds.

You can also use the setInterval() method to move things around on a Web page, by incrementing an X- or Y-coordinate of a page element at a predefined interval. Consider the following example, which demonstrates by moving a <div> containing an image of a car across the screen.  

[code]<html><head><script language="JavaScript">

function moveCar() {

if(document.all) { document.all("car").style.pixelLeft+=1; if(document.all("car").style.pixelLeft >=
(document.body.offsetWidth-30)) document.all("car").style.pixelLeft=-30; }

if(document.layers) { parseInt(document.car.left+=5); if(window.innerWidth
parseInt(document.car.left)<0) document.car.left=-30; } }

</script></head>

<body onLoad="javascript:setInterval('moveCar()', 1)">

<!-- layer containing car image --><div id="car" style="position:absolute; left:20; top:200; width: 150;height:50;"><img src="rolls_royce.jpg" width=400 height=500 alt="" border="0"></div>

</body>

</html>[/code]

{mospagebreak title=A Long Wait}

Finally, I'll wrap things up with a more practical example, one which might come in handy in your Web development. In this next example, the task is to offer the user a file upload box, which he or she can use to upload files to a Web site. Once the user selects a file for upload and initiates the transfer, a dialog box should pop up with a message asking the user to be patient. Once the file upload completes, the dialog box (window) should automatically disappear.

Now, there are a number of ways to implement this. Here's how I'm going to do it:
  • Write the code to display a form for file upload, as well as the code to accept the file and transfer it to a data directory on the server. This will be implemented in PHP.
  • Add code to the script above to throw up a pop-up window once the upload begins.
  • Add code to the pop-up window to keep polling the parent window for file upload status. Once the upload has finished (signified by the parent browser window loading a new URL), the pop-up window will automatically close.

First, the code for the form:

[code]<html><head></head><body background="images/bkgd.gif" leftmargin="0" rightmargin="0"marginheight="0" marginwidth="0" topmargin="0"><form action="upload.php"
method="POST"onSubmit="window.open('wait.html','resultsWindow','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=no,resizable=no,copyhistory=no,width=500,height=400');" enctype="multipart/form-data" > 

Attach File<br>
 
<input name="file" type="file" size="30" maxlength="50"> <br>

<input type="submit" value="Submit">

</body></html>[/code]

Now, the server-side PHP script which processes the file submitted by the user through the form above:[code]<?php

// upload.php

// upload the file to the serverif($_FILES['file'][name] != "") { if (is_uploaded_file($_FILES['file']['tmp_name'])) { // if the file is clean, move it to final location if(file_exists($_FILES['file']['tmp_name'])) {

// check the size of the file if($_FILES['file']['size'] < $file_limit) { // get the file name $NAME = $_FILES['file']['name'];

// copy it to data directory if(copy($_FILES['file']['tmp_name'], $UPLOAD_LOCATION.$NAME)) { // send browser to success page header("Location: success.php"); }

} } } }

?>[/code]

Once the upload is complete, the script above will redirect the browser to a success page (or an error page, if an error occurred).

Notice in the form that I'm opening a new window when the user clicks the submit button. This new window will show the "be patient" message, and must also keep checking the parent window at pre-defined intervals to see if the transfer is complete. Here's the code:

[code]<html><head><script language="JavaScript"><!--

// wait.html

function checkOpenerStatus() { var strOpener = opener.location.href; if(strOpener.indexOf("success.php") != -1 ||strOpener.indexOf("error.php") != -1) { // I am going to close now self.close(); }}

// --></script>

</head>

<body onLoad="setInterval('checkOpenerStatus()', 1000)">

<center><h1>Please wait, your upload is being processed!<br>This window will close automatically once the upload is complete.</h1></center> 

</body></html>[/code]

This script uses the setInterval() method to check the URL of the parent window every second and, when it detects that the parent has gone to the success or error page (indicating that the upload has completed), it automatically terminates itself with the self.close() method.

And that's about all I have time for. Over the course of this article, I introduced you to JavaScript's four timing functions, showing you how to use the setTimeout() and setInterval() methods to call a function once after a pre-defined delay, or repeatedly at a pre-defined interval. That was the easy part, and I followed it up with a bunch of examples designed to showcase some of the things you can do with this power. Among the example applications I built: a browser tickertape, a countdown clock, a timed slideshow, a variable-speed page object, and a polling status window.

I hope you had fun reading this article, and that the examples sparked off some ideas of where you can use these functions in your own scripts. 'Till next time, see ya! Note: Examples are illustrative only, and are not meant for a production environment. Melonfire provides no warranties or support for the source code described in this article. 

Tip dan Trik Membuat Website dengan PHP

Tulisan berikut ini, kita akan mempelajari PHP Script. PHP Script digunakan untuk membuat website yang mempunyai koneksi ke program database populer seperti SQL sehingga pada akhirnya digunakan untuk membuat fasilitas , seperti login, guestbook dan sebagainya. Saya mengucapkan terima kasih kepada Anda yang telah bersedia membaca dan mempraktekan artikel ini dan tidak lupa juga saya memohon bimbingan teman – teman lain untuk menambah pengetahuan saya, karna saya masih dalam tahap belajar. Tulisan ini akan membahas :
  • Guestbook
  • Registrasi & Login Authentication
  • IP Address Log
  • Shopping Online
Seperti yang Anda lihat diatas cukup sedikit bukan? Tapi jangan khawatir, karena ini cukup untuk modal Anda dalam mengembangkan website Anda sendiri. Untuk membuat website dengan script PHP menggunakan Frontpage, pastikan Frontpage Anda menjadi editor default untuk Script PHP Anda, caranya lakukan seperti demikian, masuklah kemenu Tools dan Pilih Option, setelah Anda menclick Option maka akan tampil jendela Option seperti gambar dibawah ini, kemudian pilih lagi Tab Configure Editors, carilah dalam Listbox Colom Type dengan jenis PHP & PHP3, kemudian click dan click tombol Modify setelah itu ketikkan file executable dari Frontpage Anda, dan ganti Editor Namenya menjadi Frontpage, default dari directory Frontpage Adalah

C:/Program Files/Microsoft Office/Office10/frontpg.exe


Perhatikan gambar dibawah ini apabila Anda mengclick Modify : 


Mengapa PHP?
  • Mudah dipelajari
  • Dapat dikoneksikan dengan semua database populer
  • Paling populer saat ini.
Membuat Connection Database File

Berikut ini kita akan membuat koneksi antara PHP dengan program database (dalamhal ini MySql). Bagi Anda programmer database yang bukan programmer Website akan sangat mudah untuk mengerti hal ini. Pertama , kita buat suatu file yang nantinya akan digunakan untuk koneksi ke MySql. Kita namakan file ini adalah database.php . Perintahnya adalah :
<?
$db_hostname=<nama hostname server>;
$db_username=<username database>;
$db_password=<password database>;
$db_name=<nama database>;
function connect_db() {
global $db_hostname, $db_username, $db_password, $db_name;
mysql_connect($db_hostname, $db_username, $db_password) or die ('Sorry cannot connect to
the database because: ' . mysql_error());;
mysql_select_db($db_name);
}
?>

Untuk lebih jelasnya mari perhatikan contoh perintah dibawah ini,

<?
$db_hostname="localhost";
$db_username="namaku";
$db_password="12345";
$db_name="databaseku";
function connect_db() {
global $db_hostname, $db_username, $db_password, $db_name;
mysql_connect($db_hostname, $db_username, $db_password) or die ('Sorry cannot connect to
the database because: ' . mysql_error());;
mysql_select_db($db_name);
}
?>

Pada umumnya hostnamenya adalah LOCALHOST baik itu di server hostingnya atau server Anda sendiri. Untuk username database Anda beserta password database Anda apabila Anda hosting pasti akan diberikan oleh server hosting Anda. Function Connect_db() dapat Anda rubah sesuai keinginan Anda, dengan catatan yang Anda rubah adalah Connect_db() bukan functionnya. Demikian juga $db_hostname sampai $db_name, sedangkan dalam Function terdapat Global $db_hostname$db_username, $db_password, $db_name nantinya akan dipanggil dengan Include atau Require_once. $db_name adalah nantinya nama Table dalam Database Anda.

Baiklah, sekarang kita telah membuat suatu file untuk koneksi ke database Anda yang berada diserver Anda. Jangan lupa untuk simpan ke nama database.php untuk dipergunakan nanti. Anda dapat membuat file ini menggunakan teks editor seperti notepad, wordpad dan sebagainya.

GUESTBOOK
Sekarang kita akan membuat simple guestbook untuk website Anda. Biasanya guestbook simple itu hanya terdiri dari Entry New Guestbook dan Browse Guestbook, nah sekarang ini kita akan membahas yang simple saja dahulu untuk perkembangan lebih lanjut Anda bisa mengkombinasikan sendiri modelnya termaksud menambahkan berbagai fasilitas lainnya seperti Admin Guestbook. Baiklah, perhatikan dibawah ini untuk source codenya agar Anda bisa langsung mengetahui bagaimana gaya source code PHP untuk guestbook. 
<?
include "database.php";
if($action=="save"){
session_start();
session_register("reg_nama");
session_register("reg_email");
session_register("reg_url");
session_register("reg_tanggal");
session_register("reg_subject");
session_register("reg_pesan");
connect_db();
$tanggal=date("d-m-y h:m:s");
$query=mysql_db_query($db_name, "INSERT INTO guestbook(nama, email, url, tanggal, subject, pesan)
VALUES ('$nama', '$email', '$url', '$tanggal', '$subject', '$pesan')");
if(!$query){
print "<font face=\"Arial, Helvetica, sans-serif\" size=\"5\" color=\"#FF0000\">";
print "<b>Pengisian Gagal!!!</b>";
print "</font><br>";
print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">";
print "<b>Pesan Anda Gagal Dimasukkan</b></font>";
}else{
print "<font face=\"Arial, Helvetica, sans-serif\" size=\"5\" color=\"#FF0000\">";
print "<b>Pengisian Berhasil!!!</b>";
print "</font><br>";
print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">";
print "<b>Pengisian Berhasil dilakukan</b></font>";
}
}
?>
Seperti Anda lihat diatas, ini adalah source code PHP, tapi apakah hanya sedikit ini? Sabar, masih ada yang dibuat dalam bentuk textbox isian yang dibuat dari frontpage atau notepad juga bisa, asal Anda bisa mengatur tata letaknya agar kelihatan indah . Mari kita lanjutkan untuk textbox isiannya dengan Frontpage, perhatikan dibawah ini :
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Chat Comunitie - Guestbook Entry</title>
</head>
<body>
<table border="0" cellspacing="1" style="border-collapse: collapse" bordercolor="#111111" width="100%"
id="AutoNumber1">
<tr>
<td width="23%">
<img border="0" src="images/logo.gif" width="198" height="28"></td>
<td width="77%" bgcolor="#CEC5B3">
<p align="right"><b><font face="Arial Narrow">
<a href="viewmsg.php" style="text-decoration: none">View Messege</a> |
<a href="index.html" style="text-decoration: none">Home</a></font></b></td>
</tr>
<tr>
<td width="100%" colspan="2">
<form method="POST" action="default.php?action=save">
<div align="center">
<center>
<table border="0" cellspacing="1" style="border-collapse: collapse" bordercolor="#111111"
width="78%" id="AutoNumber2">
<tr>
<td width="100%" colspan="3" align="center" bgcolor="#4EAFF8">
<font face="BankGothic Md BT" size="4">Guestbook Entry</font></td>
</tr>
<tr>
<td width="38%" align="right" bgcolor="#E6E6E6"><b>
<font face="Arial Narrow">Nama</font></b></td>
<td width="1%" align="center" bgcolor="#E6E6E6"> </td>
<td width="61%" align="left" bgcolor="#E6E6E6">
<input type="text" name="nama" size="41"></td>
</tr>
<tr>
<td width="38%" align="right" bgcolor="#E6E6E6"><b>
<font face="Arial Narrow">Alamat Email</font></b></td>
<td width="1%" align="center" bgcolor="#E6E6E6"> </td>
<td width="61%" align="left" bgcolor="#E6E6E6">
<input type="text" name="email" size="41"></td>
</tr>
<tr>
<td width="38%" align="right" bgcolor="#E6E6E6"><b>
<font face="Arial Narrow">Alamat URL</font></b></td>
<td width="1%" align="center" bgcolor="#E6E6E6"> </td>
<td width="61%" align="left" bgcolor="#E6E6E6">
<input type="text" name="url" size="41"></td>
</tr>
<tr>
<td width="38%" align="right" bgcolor="#E6E6E6"><b>
<font face="Arial Narrow">Subject</font></b></td>
<td width="1%" align="center" bgcolor="#E6E6E6"> </td>
<td width="61%" align="left" bgcolor="#E6E6E6">
<input type="text" name="subject" size="41"></td>
</tr>
<tr>
<td width="38%" align="right" valign="top" bgcolor="#E6E6E6"><b>
<font face="Arial Narrow">Pesan</font></b></td>
<td width="1%" align="center" bgcolor="#E6E6E6"> </td>
<td width="61%" align="left" bgcolor="#E6E6E6">
<!--webbot bot="Validation" b-value-required="TRUE" i-minimum-length="1" i-maximum
length="100" --><textarea rows="4" name="pesan" cols="31"></textarea></td>
</tr>
</table>
</center>
</div>
<p align="center"><input type="submit" value="Submit" name="submit"><input type="reset"
value="Reset" name="B2"></p>
</form>
</td>
</tr>
<tr>
<td width="100%" bgcolor="#E6E6E6" colspan="2">
<p align="center"><b><font face="Arial Narrow">[<a style="text-decoration: none"
href="index.html">Back
To Home</a>]</font></b></td>
</tr>
</table>
</a>
</body>
</html>

Saya jelaskan sedikit Source Code diatas. Include "database.php"; adalah untuk memanggil file database.php yang telah kita buat tadi untuk membuat koneksi ke database Anda, apabila ini tidak ada dalam source code tadi, maka pasti akan terjadi error saat Anda meload web Anda, perhatikan setiap line baris dalam php harus diakhiri dengan tanda titik koma (;). Kecuali kondisi If dimana harus diawali dengan tanda kurung kurawal buka dan diakhiri dengan tanda kurung kurawal tutup { (buka) dan } (tutup).

if($action=="save"){
         <kondisi yang dijalankan apabila save…>
}else {
         <kondisi yang dijalankan apabila bukan save…>
}
Kondisi ini apa hanya sampai disini? Belum tentu, ini tergantung sesuai dengan kebutuhan Anda, apabila Anda ingin kondisi if lebih panjang dengan berbagai kondisi dalam }else { dan bisa menjadikan }elseif { untuk menyatakan kondisi lain lagi dalam 1(satu) kondisi pertama. Kenapa dalam if tersebut ada $action==”save”) ? “save” tersebut adalah suatu pernyataan dalam form yang dibuat dalam Frontpage tadi dimana file guestbook tersebut dipanggil ulang dan membaca kondisi IF tersebut dan apabila dalam form Frontpage Anda menyatakan panggilan SAVE maka dalam kondisi yang terdapat “save” akan dijalankan, contoh :
<form method="POST" action="default.php?action=save">
default.php adalah nama website file yang telah jadi dan disimpan dengan nama default.php, kemudian dalam form tadi dipanggil lagi dengan fungsi “default.php?action=save”. Pada dasarnya ? action=save ini tidak seharusnya menyatakan ?action, Anda dapat membuat dengan seperti ?panggil atau lainnya. Sudah jelas bukan? Sekarang pasti Anda menanyakan apa sih fungsi session_register? Pada pembahasan berikut akan dibahas. Lihat contoh hasilnya apabila telah selesai : 

Tombol submit adalah tombol yang akan memproses data kita untuk di simpan di database kita dan formnya akan memberikan action “save” tadi. Nah untuk View Messegenya, source codenya Anda download saja, biar Anda tidak mumet membacanya . Perhatikan !!! Sebelum Anda mencoba source code ini, pastikan Anda membuat dulu table yang bersangkutan dalam database Anda, Contohnya Guestbook ini membutuhkan Tabel Guestbook, maka buatlah table guestbook dalam database Sql Anda dan fieldnya sesuai dengan apa yang dibutuhkan atau apa yang ada didalam source code ini. Apabila Anda belum membuatnya dan langsung mencoba source code ini, maka akan terjadi error open table.

Registrasi dan Login Authentication

Registrasi dalam website PHP sangatlah diperlukan, apalagi jika Anda mau memprotek beberapa site dalam domain Anda. Dalam hal ini kita akan menggunakan session_register untuk Register dan Login page ini, mengapa demikian? Anda akan tahu nanti apabila Anda akan mengetik dan membaca lebih lanjut pada subbab ini . Session_register adalah suatu penyimpan variable local yang telah diisi dengan suatu kalimat atau kata – kata bahkan suatu isi field dari database Anda sendiri. Suatu contoh seperti demikian : $cNama adalah suatu variable local dimana hanya dapat dipakai dalam file tersebut, apabila Anda memanggil file lain untuk menampilkan variable Anda, maka ini akan gagal apabila Anda tidak menyatakan bahwa ini adalah variable public.

Contoh 1 :
Session_start();
Session_register(“cNama_public”);
$cNama = “Welly Tunggala”;
$cNama_public = $cNama;
Dengan demikian maka $cNama_public yang kita gunakan untuk menampilkan isi dari variable $cNama dengan menggunakan $cNama_public = $cNama, atau dengan perintah singkat : 

Contoh 2 :
Session_start();
Session_register(“cNama_public”);
$cNama_public = “Welly Tunggala”;
Pada contoh 2 jarang bahkan mungkin tidak digunakan dalam pembuatan website dari setiap kalangan programmer website, karena ini langsung dengan menyatakan isinya tanpa melakukan perubahan oleh pengunjung. Akan tetapi sebaliknya Contoh 1 lebih sering digunakan pada pembuatan website, mengapa demikian? Seperti ini, apabila Anda membuat suatu login page tentunya bukan hanya user itu saja yang mengunjungikan? Tentu dengan berbagai user yang memasukkan username dan passwordnya, begitu bukan? Perhatikan contoh dibawah ini :
Session_start();
Session_register(“cNama_public”);
$cNama_public = $cUsername;
$cUsername adalah field textbox isian untuk user memasukkan password mereka, kita masukkan kedalam session agar nantinya dapat dipakai untuk memproteksi halaman lainnya yang dimana user harus melakukan login terlebih dahulu sebelum melihat ataupun menampilkan nama lengkap pengunjung web kita nantinya.
Session_start();
Session_register(“cNama_public”);
$cNama_public = $cUsername;
Session_register($cNama_public);
Tulisan yang miring diatas menyatakan bahwa session itu akan dipakai nantinya sehingga harus diregister kedalam session dengan isi variable $cUsername (Textbox). cUsername adalah sebuah kotak isian yang telah kita buat dengan nama field textbox tersebut adalah cUsername, untuk lebih jelasnya mari perhatikan source code untuk register.php dibawah ini :

Pertama – tama buatlah table dengan command seperti dibawah ini :
CREATE TABLE `userreg` (
`id` INT AUTO_INCREMENT PRIMARY KEY ,
`username` VARCHAR( 50 ) NOT NULL ,
`password` VARCHAR( 30 ) NOT NULL ,
`nama` VARCHAR( 50 ) NOT NULL ,
`alamat` VARCHAR( 50 ) NOT NULL
);

Source code untuk table ini dapat Anda simpan kedalam bentuk file *.txt atau langsung Anda mengetikkan pada database Anda nantinya dengan mengklick Sql Menu pada PhpMyAdmin.Php nantinya, tapi saya sarankan lebih baik Anda simpan seluruh table yang Anda butuhkan kedalam 1 file *.txt dan kemudian tinggal memasukkan file ini ke Database Anda dan secara otomatis akan tercreate sendiri kedalam database Anda tanpa harus membuat satu persatu, terutama apabila Anda hosting, akan memakan waktu cukup lama. Apabila Anda telah membuat table diatas, maka buatlah source code website Anda seperti dibawah ini : 

<?
include "database.php";
if($action=="send"){
if(empty($cUsername)){
        print "<font face=\"Arial, Helvetica, sans-serif\" size=\"5\" color=\"#FF0000\">";
        print "<b>Regitrasi Gagal!!!</b>";
        print "</font><br>";
        print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\"
color=\"#000000\">";
        print "<b>Username Tidak Boleh Kosong</b></font>";
}elseif(empty($cPassword)){
        print "<font face=\"Arial, Helvetica, sans-serif\" size=\"5\" color=\"#FF0000\">";
        print "<b>Regitrasi Gagal!!!</b>";
        print "</font><br>";
        print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\"
color=\"#000000\">";
        print "<b>Password Anda Tidak Boleh Kosong</b></font>";
}elseif(empty($cNama)){
        print "<font face=\"Arial, Helvetica, sans-serif\" size=\"5\" color=\"#FF0000\">";
        print "<b>Regitrasi Gagal!!!</b>";
        print "</font><br>";
        print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\"
color=\"#000000\">";
        print "<b>Nama Lengkap Anda Tidak Boleh Kosong</b></font>";
}elseif(empty($cAlamat)){
        print "<font face=\"Arial, Helvetica, sans-serif\" size=\"5\" color=\"#FF0000\">";
        print "<b>Regitrasi Gagal!!!</b>";
        print "</font><br>";
        print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\"
color=\"#000000\">";
        print "<b>Alamat Anda Tidak Boleh Kosong</b></font>";
}else {
connect_db();
$qUserExists = "SELECT * FROM userreg WHERE username='$cUsername'";
$user_exists = mysql_query($qUserExists);
if (mysql_num_rows($user_exists) > 0){
        print "<font face=\"Arial, Helvetica, sans-serif\" size=\"5\" color=\"#FF0000\">";
        print "<b>Regitrasi Gagal!!!</b>";
        print "</font><br>";
        print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">";
        print "<b>Maaf Username Telah Terpakai, Silahkan Pilih Yang Lain</b></font>";
}else {
$result=mysql_db_query($db_name, "INSERT INTO userreg(username, password, nama, alamat )
VALUES ('$cUsername', '$cPassword', '$cNama', '$cAlamat')");
if($result){
print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">";
print "<b>Data Berhasil Tersimpan!!!</b></font>";
}else {
print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">";
print "<b>Maaf Upload Foto Anda Gagal!!!</b></font>";
} } } } ?>

Bagian source code yang bertulisan tebal adalah bagian pengecekan entry fieldnya, apabila tidak sesuai dengan apa yang kita tetapkan maka registrasi akan gagal, source code yang Anda lihat agak semberawut dikarenakan bentuk tulisannya yang tidak mendukung, maka disarankan Anda mendownload source code yang dalam bentuk file *.PHP, perhatikan hasilnya seperti dibawah ini : 

Apabila user tidak atau lupa mengisi usernamenya, maka pesan error akan muncul sesuai dengan apa yang Anda lihat diatas. Sedangkan untuk tulisan miring adalah mengecek apakah username yang dimasukkan telah terdaftar didalam table database Anda, apabila telah terdaftar maka pesan error akan muncul sesuai dengan apa yang Anda masukkan pesannya . Selebihnya adalah memasukkan data user kedalam database Anda, dan tersimpan. Mudah bukan? Untuk membuat bentuk seperti diatas, penulis hanya menggunakan Frontpage, karena lebih mudah dalam pengaturan tata letak dan lebih mudah dalam membuat website menjadi indah. Perhatikan source code selengkapnya dibawah ini : 

<?
include "database.php";
if($action=="send"){
if(empty($cUsername)){
        print "<font face=\"Arial, Helvetica, sans-serif\" size=\"5\" color=\"#FF0000\">";
        print "<b>Regitrasi Gagal!!!</b>";
        print "</font><br>";
        print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">";
        print "<b>Username Tidak Boleh Kosong</b></font>";
}elseif(empty($cPassword)){
        print "<font face=\"Arial, Helvetica, sans-serif\" size=\"5\" color=\"#FF0000\">";
        print "<b>Regitrasi Gagal!!!</b>";
        print "</font><br>";
        print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">";
        print "<b>Password Anda Tidak Boleh Kosong</b></font>";
}elseif(empty($cNama)){
        print "<font face=\"Arial, Helvetica, sans-serif\" size=\"5\" color=\"#FF0000\">";
        print "<b>Regitrasi Gagal!!!</b>";
        print "</font><br>";
        print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">";
        print "<b>Nama Lengkap Anda Tidak Boleh Kosong</b></font>";
}elseif(empty($cAlamat)){
        print "<font face=\"Arial, Helvetica, sans-serif\" size=\"5\" color=\"#FF0000\">";
        print "<b>Regitrasi Gagal!!!</b>";
        print "</font><br>";
        print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">";
        print "<b>Alamat Anda Tidak Boleh Kosong</b></font>";
}else {
connect_db();
$qUserExists = "SELECT * FROM userreg WHERE username='$cUsername'";
$user_exists = mysql_query($qUserExists);
if (mysql_num_rows($user_exists) > 0){
        print "<font face=\"Arial, Helvetica, sans-serif\" size=\"5\" color=\"#FF0000\">";
        print "<b>Regitrasi Gagal!!!</b>";
        print "</font><br>";
        print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">";
        print "<b>Maaf Username Telah Terpakai, Silahkan Pilih Yang Lain</b></font>";
}else {
$result=mysql_db_query($db_name, "INSERT INTO userreg(username, password, nama, alamat )
VALUES ('$cUsername', '$cPassword', '$cNama', '$cAlamat')");
if($result){
        print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">";
        print "<b>Data Berhasil Tersimpan !!!</b></font>";
}else {
        print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">";
        print "<b>Maaf Data Anda Gagal Disimpan !!!</b></font>";
}
}
}
}
?>
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Register</title>
</head>
<body>
<table border="0" cellspacing="1" style="border-collapse: collapse" bordercolor="#111111" width="100%"
id="AutoNumber1">
    <tr>
        <td width="100%" bgcolor="#CEC5B3">
        <p align="center"><b>
        <font face="BernhardFashion BT" size="5" color="#0000FF">User Registration</font></b></td>
    </tr>
    <tr>
        <td width="100%">
        <form method="POST" action="register.php?action=send">
        <div align="center">
        <center>
            <table border="3" cellspacing="1" style="border-collapse: collapse" bordercolor="#0000FF" width="66%" id="AutoNumber2">
                <tr>
                    <td width="100%">
                        <table border="0" cellspacing="1" style="border-collapse: collapse" bordercolor="#111111" width="100%" id="AutoNumber3">
                            <tr>
                                <td width="37%" align="right" bgcolor="#E6E6E6"><b>
                                <font face="Arial Narrow">Username</font></b></td>
                                <td width="2%"> </td>
                                <td width="61%" bgcolor="#E6E6E6">
                                <input type="text" name="cUsername" size="20"></td>
                            </tr> 

Ada tulisan tebal? Inilah yang nantinya akan menjadi variable dalam penampungan isian user kemudian akan dimasukkan kedalam session. Bagaimana jika menggunakan session untuk registrasi page? Gampang, perhatikan dibawah ini :

Session_start(); , menandakan bahwa mulai dari sini session di jalankan Session_registe(“cReg_Username”); , adalah menyatakan bahwa nantinya session akan menggunakan ini Untuk mengenalkan variable ini ke halaman lain Session_register(“cReg_nama”); , sama halnya dengan cReg_username.

Untuk lebih jelasnya mari kita lihat source code dibawah ini dengan session :
<?
include "database.php";
session_start();
session_register("cReg_username");
session_register("cReg_password");
session_register("cReg_nama");
session_register("cReg_alamat");
if($action=="send"){
if(empty($cUsername)){
        print "<font face=\"Arial, Helvetica, sans-serif\" size=\"5\" color=\"#FF0000\">";
        print "<b>Regitrasi Gagal!!!</b>";
        print "</font><br>";
        print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">";
        print "<b>Username Tidak Boleh Kosong</b></font>";
}elseif(empty($cPassword)){
        print "<font face=\"Arial, Helvetica, sans-serif\" size=\"5\" color=\"#FF0000\">";
        print "<b>Regitrasi Gagal!!!</b>";
        print "</font><br>";
        print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">";
        print "<b>Password Anda Tidak Boleh Kosong</b></font>";
}elseif(empty($cNama)){
        print "<font face=\"Arial, Helvetica, sans-serif\" size=\"5\" color=\"#FF0000\">";
        print "<b>Regitrasi Gagal!!!</b>";
        print "</font><br>";
        print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">";
        print "<b>Nama Lengkap Anda Tidak Boleh Kosong</b></font>";
}elseif(empty($cAlamat)){
        print "<font face=\"Arial, Helvetica, sans-serif\" size=\"5\" color=\"#FF0000\">";
        print "<b>Regitrasi Gagal!!!</b>";
        print "</font><br>";
        print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">";
        print "<b>Alamat Anda Tidak Boleh Kosong</b></font>";
}else {
connect_db();
$qUserExists = "SELECT * FROM userreg WHERE username='$cUsername'";
$user_exists = mysql_query($qUserExists);
if (mysql_num_rows($user_exists) > 0){
        print "<font face=\"Arial, Helvetica, sans-serif\" size=\"5\" color=\"#FF0000\">";
        print "<b>Regitrasi Gagal!!!</b>";
        print "</font><br>";
        print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">";
        print "<b>Maaf Username Telah Terpakai, Silahkan Pilih Yang Lain</b></font>";
}else {
$result=mysql_db_query($db_name, "INSERT INTO userreg(username, password, nama, alamat )
VALUES ('$cUsername', '$cPassword', '$cNama', '$cAlamat')");
if($result){
$cReg_username=$cUsername;
$cReg_password=$cPassword;
$cReg_nama=$cNama;
$cReg_alamat=$cAlamat;
session_register($cReg_username);
header("location: result.php")
print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">";
print "<b>Data Berhasil Tersimpan !!!</b></font>";
}else {
print "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\" color=\"#000000\">";
print "<b>Maaf Data Anda Gagal Disimpan !!!</b></font>";
}
}
}
}
?> 

Anda lihat diatas? Ada tulisan yang tebal, tebal garis bawah dan tebal miring? Baik akan saya jelaskan dari yang ditandai diatas. Tulisan tebal adalah menyatakan session yang akan dipakai dalam halaman berikutnya dimana $cReg_username diisi dengan variable $cUsername dan juga dimana $cUsername telah diisi dengan hasil isian user pengunjung tadi. Perhatikan ! setiap variable harus diawali dengan tanda $ (dolar), begitu seterusnya. Dan juga mengenai tulisan tebal garis bawah adalah menandakan bahwa nantinya session dengan variable $cReg_username akan dipakai pada halaman berikutnya sebagai tanda bahwa session tersebut sama atau tidak, dan juga dapat digunakan untuk mencari didalam database Anda berdasarkan $cReg_username, juga dapat dipakai untuk membatasi user untuk masuk kehalaman yang tidak seharusnya dia masuk. Setelah semua diisi dengan benar, tentunya harus pindah kehalaman yang dimaksud bukan? Dari tulisan tebal miring menyatakan kita akan berpindah ke halaman result.php dengan menggunakan perintah header.

Tentunya dalam file result.php bukannya hanya blank begitu saja melainkan harus diberikan code juga dari PHP untuk memanggil session – session yang telah kita register tadi. Perhatikan source codenya dibawah ini untuk memanggil session tadi :

<?
session_start();
?>
Karena tadi telah kita register ke dalam session, maka untuk menampilkan variable yang telah diregister, kita cukup memanggil session_start() untuk membukanya. Sekarang kita hanya tinggal memanggil variable – variable tadi sehingga dapat menampilkan hasil isi dari variable tadi, perhatikan source code lengkapnya dibawah ini : 
<?
session_start();
?>
<html>
<head>
<meta http-equiv="Content-Language" content="en-us">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Result</title>
</head>
<body>
<table border="0" cellspacing="1" style="border-collapse: collapse" bordercolor="#111111" width="100%"
id="AutoNumber1">
<tr>
<td width="100%" colspan="3">
<font face="BankGothic Md BT" size="4" color="#0000FF">Data Anda Telah
Tersimpan, Terima Kasih Anda Telah Bergabung Bersama kami...!!!</font></td>
</tr>
<tr>
<td width="100%" colspan="3" bgcolor="#CEC5B3">
<p align="center"><b><font face="Arial Narrow" size="4" color="#0000FF">User
Entry Result</font></b></td>
</tr>
<tr>
<td width="33%" align="right"><b><font face="Arial Narrow">Username Anda</font></b></td>
<td width="1%"> </td>
<td width="66%"><? echo "$cReg_username";?></td>
</tr>
<tr>
<td width="33%" align="right"><b><font face="Arial Narrow">Password Anda</font></b></td>
<td width="1%"> </td>
<td width="66%"><? echo "$cReg_password";?></td>
</tr>
<tr>
<td width="33%" align="right"><b><font face="Arial Narrow">Nama Lengkap Anda</font></b></td>
<td width="1%"> </td>
<td width="66%"><? echo "$cReg_nama";?></td>
</tr>
<tr>
<td width="33%" align="right"><b><font face="Arial Narrow">Alamat Anda</font></b></td>
<td width="1%"> </td>
<td width="66%"><? echo "$cReg_alamat";?></td>
</tr>
</table>
<p align="center">Click <a href="login.php">disini</a> Untuk Login</p>
</body>
</html> 

Perhatikan tulisan tebal dari source code diatas, itu adalah source code dalam bentuk PHP yang memanggil variable yang telah kita register atau simpan dalam session tadi. Mudah bukan? Perhatikan hasilnya seperti gambar dibawah ini. 


Untuk melakukan proteksi terhadap halaman yang Anda inginkan, Anda tinggal tambahkan perintah seperti dibawah ini :
<?
session_start();
if(!session_is_registered($reg_username)){
print "<font face=\"Arial, Helvetica, sans-serif\" size=\"5\"
color=\"#FF0000\">";
print "<b>Illegal Access!!!</b>";
print "</font><br>";
print "<font face=\"Verdana, Arial, Helvetica, sans-serif\"
size=\"2\" color=\"#000000\">";
print "<b>Please Login First Then You Can Access This
Page!!!</b></font>";
exit;
}
?>
Halaman yang ditaruh adalah halaman yang Anda inginkan user tidak berhak akses tanpa login, dan diletakkan diatas tag <html>, atau Anda ingin menghancurkan session yang telah teregister tadi, lakukan dengan perintah :
<?
If($action=="logout"){
session_destroy();
header("location: index.php");
}
?>
Kita menggunakan if($action==”logout”){ dikarenakan apabila user kembali ke halaman pertama, dan tanpa menyatakan if tadi tersebut, maka akan terjadi destroy session tanpa kita ketahui dan kemudian kembali ke 2 kalinya ke area home maka akan terjadi error, maka lebih baik kita memasukkan if action tadi agar apabila user mengclick logout baru terjadi session destroy. Caranya apabila Anda mau membuat tulisan Link untuk LOGOUT Anda tinggal menuliskan hyperlinknya seperti demikian :

Index.php?action=logout (untuk memanggil kembali file index.php dan menjalankan $action)

Bagaimana? Mudah bukan? Baiklah sekarang mari kita membuat suatu form login untuk user login terlebih dahulu sebelum ia dapat mengakses halaman lain yang telah kita proteksi. Pada umumnya web seseorang langsung menempatkan login didalam halaman utama websitenya, agar user dapat melihat terlebih dahulu barang atau gambar bahkan berita – berita kecil sebelum user masuk lebih jauh. Akan tetapi pada dasarnya juga ada yang langsung meminta login sebelum masuk ke halaman utama website tersebut, tapi jarang.
Dari penjelasan diatas, teknik pembuatannya hampir sama hanya beda beberapa command yang apabila meminta login dahulu baru masuk ke halaman utama, kita menggunakan Javascript untuk menampilkan kotak login. Kotak login dan login dahulu sebelum masuk ke halaman utama sangatlah rawan, maka dari pada itu banyak yang tidak menggunakannya lagi dibanding halaman utama yang langsung ada loginnya didalam. Baiklah sekarang kita akan membahas halaman utama beserta login didalamnya. Perhatikan gambar dibawah ini : 
Untuk form login diatas, Anda bisa mententukan POSTnya untuk memanggil action=login. Untuk membuatnya buatlah dulu tampilan dan form seperti diatas (optional) setelah itu pada form login click kanan, apabila benar Anda membuatnya pada menu click kanan akan muncul menu Form Properties, lihat gambar dibawah ini : 
Setelah Anda masuk ke dalam menu Form Properties, akan muncul jendela Form Properties juga. Didalam jendela tersebut defaultnya adalah Option Send To dimana send to tersebut adalah tempat untuk mengisi hasil isian form tersebut kedalam tempat Anda buat, apabila pilihan Anda File Name maka hasil isian tersebut dimana user nantinya mengclick Login maka akan tersimpan pada file yang telah kita spesifikasikan. Apabila Anda memilih E-mail Address maka nanti akan di kirimkan ke alamat email yang telah kita spesifikasikan.

Disini kita memilih Send To Other yang akan kita kaitkan dengan PHP script nanti, click option tersebut dan Anda click Tombol Option dibawah kiri dijendela Form Properties tersebut, perhatikan gambar dibawah ini : 
Setelah Anda klik Tombol Option maka akan tampil jendela Options for Custom From Handler, seperti pada gambar diatas. Defaultnya pada Textbox isian Action adalah WebSleftBot, gantilah dengan perintah seperti dibawah ini ;

<namafile tempat login>?action=login

Contoh :

Index.php?action=login

Index.php adalah optional dimana index.php adalah nama tempat kita menaruh form login yang telah kita letakkan pada file index awal dari website kita, action juga optional dapat diganti dengan “jalankan” atau sejenisnya & login juga demikian. Semua ini akan dipanggil nantinya pada script PHP yang seperti demikian

<?
If($action==”login”){
…..
}
?>

Perhatikan !!!, tulisan tebal tersebut adalah berpasangan pada form diatas, demikian juga tulisan miring. Setelah itu maka selesai dan simpanlah dengan nama index.php, jangan simpan dengan nama index.html karena PHP Anda tidak akan terbaca, tapi lebih baik Anda mencobanya .

Ada nggak cara buat tombol tipis gak nimbul kayak bisulan? Oh..ada donk, seperti kayak gambar dibawah ini yah? 

Begini, untuk tombol seperti diatas tersebut dibuat dari Frontpage lebih mudah, Anda bisa saja membuatnya dengan Javascript, tapi lebih repot. Buat apa susah – susah, sudah ada kok fasilitasnya, baik untuk caranya adalah lakukan double click pada tombol yang ingin di buat seperti diatas kemudian Anda akan dapatkan jendela Push Button Properties seperti gambar dibawah ini : 

Setelah Anda melihat jendela seperti diatas? Lakukan click pada tombol Style untuk lebih lanjut, jangan hiraukan yang lain dulu. Setelah Anda melakukan seperti apa yang ditulis dalam artikel ini, akan muncul jendela seperti gambar dibawah ini :

 Anda akan mendapat jendela Modify Style, selanjutnya lakukan click Tombol Format untuk melakukan Edit lanjutan, perhatikan gambar dibawah ini : 

Setelah Anda click Tombol Format, maka akan tampil menu yang dimana Anda pilih Border untuk membuat tombol tipis seperti diatas tadi, click Border dan perhatikan gambar dibawah ini : 

Nah..Anda dapatkan jendela seperti diatas, defaultnya pada Style adalah NONE, scroll keatas dan cari SOLID kemudian clicklah SOLID dan kemudian OK sampai selesai, maka Anda akan mendapatkan tombol seperti yang Anda pertanyakan tadi, mudah bukan? Mau kelanjutannya? utak atik sajalah, nanti pasti bakal tahu kok. 

Banyak dari contoh source dalam artikel ini tidak jelas, dikarenakan source ini hanyalah sebagai contoh untuk penjelasan, sekali lagi disarankan untuk medownload sourcenya dan ikuti materinya, agar penjelasan yang Anda dapatkan lebih sempurna.