1. Perbedaan Get dan Post pada PHP
Secara mendasar fungsi POST digunakan untuk mengirimkan data ke
server, sedangkan GET digunakan untuk mengambil data dari server.
Secara teknis GET diproses lebih sederhana karena permintaan
dikirimkan melalui alamat halaman (URL) dengan sistem penulisan secara
berpasangan yaitu nama varibel dan nilainya, dan pemisahan variabel menggunakan
karakter dan &. Contoh :
http://www.edisubakir.web.id/index.php?nama=edi&alamat=jalan&telp=0351755833
Dengan menggunakan metode GET, HTTP Client bisa mengambil
informasi dari server dengan mengirimkan data melalui URI walaupun bisa juga
dengan form yang menggunakan metode GET.
Sedangkan pengiriman data dengan POST lebih tertutup dan jauh
lebih aman karena data yang dikirimkan tidak terlihat. Metode POST digunakan
untuk mengirimkan data dari HTTP Client untuk diproses di HTTP Server, kemudian
HTTP server memberikan hasil dari proses tersebut ke HTTP Client. Data yang
dikirimkan dengan metode POST disertakan pada baris permintaan (body of
request) bukan pada URI. Dan hasil dari permintaan dengan metode POST ini tidak
bersifat cacheable.
Berikut perbedaan
lengkap dari method POST dan GET
PERBEDAAN
|
POST
|
GET
|
History
|
Parameter/nilai tidak
tersimpan di browser
|
Parameter/nilai
tersimpan dibrowser dan bisa diakses ulang karena nilai menjadi kesatuan URL
|
Bookmark
|
Parameter/nilai tidak
dapat dibookmark
|
Parameter bisa
dibookmark
|
Tombol Kembali/Kirim
Ulang
|
Biasanya browser
memberitahukan/menanyakan apakah data akan dikirim ulang
|
Dengan methot get,
halaman sebelumnya langsung ditampillkan tanpa mengeksekusi kembali karena
tersimpan dalam cache browser
|
Encoding type (enctype
attribute)
|
Mendukung pengiriman
data binner dengan teknik multipart/form-data atau
application/x-www-form-urlencoded
|
hanya mendukung
application/x-www-form-urlencoded
|
Parameters
|
Dapat mengirimkan
parameter url sekaligus mengirimkan data tersembunyi ke server
|
Hanya bisa mengirimkan
parameter melalui URL
|
Kecurangan data
|
Lebih sulit karena
tertutup
|
Lebih terbuka karena
data terlihat
|
Keamanan
|
Dengan method POST
lebih aman karena data langsung dikirim ke server
|
Dengan jelas bisa
ketahui data apa saja yang dikirim
|
Penggunaan
|
POST digunakan untuk
mengirim data yang lebih rahasia seperti password
|
Digunakan lebih untuk
keperluan mengambil data
|
Besar data yang
dikirim
|
Standard 8 Mb,
tergantung konfigurasi server
|
7607 karakter
|
2. Struktur pendeklarasian pemrograman PHP
Deklarasi Variabel
Untuk dapat menggunakan Variabel, maka Variabel tersebut harus
dideklarasikan terlebih dahulu. Pendeklarasian Variabel di PHP yang benar
adalah sebagai berikut :
- Diawali dengan karakter $.
- Diikuti dengan huruf alphabet sebagai
karakter pertama atau karakter under score ( _ ).
- Karakter ke dua dan selanjutnya
bisa merupakan kombinasi karakter huruf alphabet, numerik, atau under
score ( _ ).
- Untuk pendeklarasian pada
karakter ke dua tidak boleh ada spasi pada setelah karakter ke 1.
Contoh pendeklarasian
nama variabel yang benar :
$Nama
$NBI
$Alamat_ke_1
$alamat_ke_2
Contoh pendeklarasian
nama variabel yang salah :
$1Namea
$alamat ke
2 // Salah karena terdapat spasi antara karakter
"alamat" dengan "ke"
Inisialisasi Variabel
Inisialisasi variabel
adalah proses pengisian nilai awal kepada sebuah variabel. Proses inisialisasi
sederhana adalah menggunakan assignment ( = ).
Berikut contoh pemberian
harga awal kepada variabel :
$FirstName = “Edi”
;
$LastName = “Subakir” ;
$Alamat = “Jiwan,
Madiun”;
Untuk penerapannya anda
dapat membuat Listing program berikut :
<html>
<head>
<title> Belajar PHP </title>
</head>
<body>
<h1> Belajar
PHP</h1>
<?
$FirstName="Edi" ;
$LastName="Subakir" ;
$Alamat=“Jiwan,
Madiun”
echo
("Nama : $FirstName $LastName <br>"); // Fungsi
echo yaitu untuk menampilkan
echo
("Alamat : $Alamat");
?>
</body>
</html>
Simpan dengan nama
variabel.php lalu jalankan di browser. Untuk menjalankan file php agar bekerja
anda harus menjalankannya pada localhost.
3. Fungsi Prosedur Insert, Update, Delete pada
database
Fungsi masing-masing adalah :
- INSERT, memungkinkan pengguna untuk
menyisipkan bariske dalam tabel.
- SELECT, memungkinkan
pengguna untuk memilih data dariobjek database.
- UPDATE, memungkinkan pengguna untuk
meng-update data dalam tabel.
CONTOH :
Syntax
CREATE TRIGGER trigger_name
ON { table | view }
[ WITH ENCRYPTION ]
{
{ { FOR |
AFTER | INSTEAD OF } { [ INSERT ] [ , ] [ UPDATE ] [ , ]
[ DELETE ] }
[ WITH APPEND ] [ NOT FOR REPLICATION ] AS [ { IF UPDATE ( column ) [ { AND | OR } UPDATE ( column ) ] [ ...n ]
[ WITH APPEND ] [ NOT FOR REPLICATION ] AS [ { IF UPDATE ( column ) [ { AND | OR } UPDATE ( column ) ] [ ...n ]
IF ( COLUMNS_UPDATED (
) { bitwise_operator }updated_bitmask ) { comparison_operator } column_bitmask [
...n ] } ]
sql_statement [ ...n ] }
}
Supaya lebih mengerti,
kita mulai dengan contoh. Jadi kita butuh membuat 2 tabel tersebut di SQL
server 2005, script sebagai berikut :
create table BARANG
(
BAR_ID int not null,
BAR_NAMA varchar(255) not null,
BAR_STOCK int null
default 0,
constraint PK_BARANG
primary key (BAR_ID)
)
go create table PEMBELIAN
go create table PEMBELIAN
(
PEM_ID int not null,
PEM_ID int not null,
BAR_ID int null ,
PEM_JUMLAH int null ,
constraint PK_PEMBELIAN
primary key (PEM_ID)
)
go
create index RELATION_FK
on PEMBELIAN (BAR_ID)
go
alter table PEMBELIAN
add constraint FK_PEMBELIA_RELATION_BARANG foreign key (BAR_ID) references
BARANG (BAR_ID)
go
INSERT INTO BARANG
(BAR_ID,BAR_NAMA) VALUES (1,’AQUA’);
INSERT INTO BARANG
(BAR_ID,BAR_NAMA) VALUES (2,’TOTAL’);
INSERT INTO BARANG
(BAR_ID,BAR_NAMA) VALUES (3,’AQUADES’);
Setelah anda menjalankan script tersebut, maka anda akan mempunyai
2 tabel, yaitu tabel barang dengan isi 3 buah data, dan tabel pembelian dengan
data masih kosong.3 data di tabel barang tersebut secara defaut stocknya adalah
0.
Kemudian saatnya kita buat trigger sehingga ketika kita
menambahkan data di tabel pembelian dengan jumlah pembelian barang tertentu,
maka stock di tabel barang akan bertambah sesuai dengan barang yg dibeli,
syntac trigger tersebut adalah sebagai berikut :
create trigger
tambahStockbarang on pembelian
for insert
as
update b set b.bar_stock
= b.bar_stock + i.pem_jumlah from barang b join inserted i
on b.bar_id = i.bar_id
arti dari kode tersebut
adalah sebagai berikut :
create trigger
tambahStockbarang on pembelian
Membuat trigger dengan nama tambahStockBarang dimana trigger
tersebut akan terpicu jika ada perubahan di tabel pembelian.
for insert as
Perubahan tersebut adalah penambahan(insert) di tabel pembelian ,
selain penambahan bisa juga diisi dengan perubahan(update) atau
penghapusan(delete).
for disini juga bisa rubah isinya jadi after atau instead
of . perbedaanya adalah waktu trigger dikerjakan, biasaya yg sering
digunakan adalah for.
update b set b.bar_stock
= b.bar_stock + i.pem_jumlah from barang b join inserted i on b.bar_id =
i.bar_id
Ini adalah kode yg dikerjakan ketika kejadian trigger terpicu,
kode diatas bertujuan merubah nilai bar_stock pada tabel barang dengan
menambahkan nilai bar_stock yg sekarang dengan jumlah barang yg dibeli
(pem_jumlah). perhatikan disini ada tabel yang bernama inserted,
tabel tersebut merupakan tabel logika yg digunakan untuk menyimpan data yang
memicu terjadinya trigger, dalam hal ini nilai data yg dimasukkan(insert)
kedalam tabel pembelian, selain inserted, tabel logika lainnya
adalah deleted, tabel logika ini digunakan untuk trigger yg terpicu
dengan kejadian delete.
Coba masukkan kode
berikut:
INSERT INTO PEMBELIAN
(PEM_ID, BAR_ID, PEM_JUMLAH) VALUES (1,1,4);
INSERT INTO PEMBELIAN (PEM_ID, BAR_ID, PEM_JUMLAH) VALUES (2,3,2);
INSERT INTO PEMBELIAN (PEM_ID, BAR_ID, PEM_JUMLAH) VALUES (3,1,1);
INSERT INTO PEMBELIAN (PEM_ID, BAR_ID, PEM_JUMLAH) VALUES (2,3,2);
INSERT INTO PEMBELIAN (PEM_ID, BAR_ID, PEM_JUMLAH) VALUES (3,1,1);
arti kode tersebut :
pem_id, haruslah beda karena merupakan primary key
beli aqua(kode bar_id=1) sebanyak 4
beli aquades (kode
bar_id=3) sebanyak 2
beli aqua lagi sebanyak 1
Sehingga secara
keseluruhan yg dibeli aqua sebanyak 5 dan aquades sebanyak 2. karena default
nilai stock barang adalah 0, maka seharusnya nilai aqua 5 dan aquades 2 adalah
jumlah stock barang sekarang ini.
4. XAMP
XAMPP adalah sebuah software web server apache yang didalamnya
sudah tersedia database server mysql dan support php programming. XAMPP
merupakan software yang mudah digunakan, gratis dan mendukung instalasi di
Linux dan Windows. Keuntungan lainnya adalah cuma menginstal satu kali sudah
tersedia Apache Web Server, MySQL Database Server, PHP Support (PHP 4 dan PHP
5) dan beberapa module lainnya. Hanya bedanya kalau yang versi untuk Windows
sudah dalam bentuk instalasi grafis dan yang Linux dalam bentuk file
terkompresi tar.gz. Kelebihan lain yang berbeda dari versi untuk Windows adalah
memiliki fitur untuk mengaktifkan sebuah server secara grafis, sedangkan Linux
masih berupa perintah-perintah di dalam console. Oleh karena itu yang versi
untuk Linux sulit untuk dioperasikan. Dulu XAMPP untuk Linux dinamakan LAMPP,
sekarang diganti namanya menjadi XAMPP FOR LINUX.
Fungsi dari XAMPP
XAMPP berfungsi sebagai server offline yang berdiri sendiri
(seringkali disebut sebagai localhost). XAMPP terdiri dari beberapa program
yaitu Apache HTTP Server, MYSQL Database, PHP, dan Pearl.XAMPP juga berfungsi
sebagai penghubung suatu database.
5. Membuat table pada SQL
Ada 2 cara, yakni dari
Command Prompt dan PHP Script
Untuk pertama, Perintah
membuat tabel membutuhkan :
-
Nama tabel
- Nama
bidang
-
Definisi untuk setiap kolom
Sintaks: Berikut adalah generik sintaks SQL :
CREATE TABLE table_name
(column_name column_type);
Sekarang kita akan
membuat tabel dalam database tutorial berikut.
tutorials_tbl (
tutorial_id INT NOT NULL
AUTO_INCREMENT,
tutorial_title
VARCHAR(100) NOT NULL,
tutorial_author
VARCHAR(40) NOT NULL,
submission_date DATE,
PRIMARY KEY (
tutorial_id )
) ;
Berikut beberapa item
perlu penjelasan :
- Lapangan Atribut NOT
NULL sedang digunakan karena kita tidak ingin field ini untuk
menjadi NULL.SO jika pengguna akan mencoba untuk membuat rekor dengan
nilai NULL maka MySQL akan meningkatkan kesalahan.
- Lapangan Atribut AUTO_INCREMENT memberitahu
ke MySQL untuk terus maju dan menambahkan nomor yang tersedia di sebelah field
id.
- PRIMARY KEY kata kunci digunakan untuk mendefinisikan kolom
sebagai kunci primer.Anda dapat menggunakan beberapa kolom dipisahkan
dengan tanda koma untuk mendefinisikan kunci primer.
Membuat Table dari Command Prompt
Hal ini mudah untuk
membuat tabel MySQL dari prompt mysql>. Anda akan menggunakan perintah SQL
CREATE TABLE untuk membuat tabel.
Contoh:
Berikut adalah contoh yang menciptakan tutorials_tbl :
Berikut adalah contoh yang menciptakan tutorials_tbl :
root@host# mysql -u root
–p
Enter password:*******
mysql> use TUTORIALS
;
Database changed
mysql> CREATE TABLE
tutorials_tbl (
-> tutorial_id INT
NOT NULL AUTO_INCREMENT,
-> tutorial_title
VARCHAR(100) NOT NULL,
-> tutorial_author
VARCHAR(40) NOT NULL,
-> submission_date
DATE,
-> PRIMARY KEY (
tutorial_id )
-> ) ;
Query OK, 0 rows
affected (0.16 sec)
mysql>
CATATAN : MySQL tidak mengakhiri perintah sampai
Anda memberikan titik koma (;) pada akhir perintah SQL.
Membuat Table menggunakan PHP Script
Untuk membuat tabel baru
dalam setiap database yang ada Anda akan perlu menggunakan PHP fungsi mysql_query
(). Anda akan melewati argumen kedua dengan perintah SQL yang tepat untuk
membuat tabel.
Contoh:
Berikut adalah contoh untuk membuat tabel menggunakan script PHP :
Berikut adalah contoh untuk membuat tabel menggunakan script PHP :
<html>
<head>
<title>Creating MySQL Tables</title>
</head>
<body>
<?php
$dbhost = 'localhost:3036';
$dbuser = 'root';
$dbpass = 'rootpassword';
$conn = mysql_connect($dbhost, $dbuser,
$dbpass);
if(! $conn )
{
die('Could not connect: ' .
mysql_error());
}
echo 'Connected successfully<br />';
$sql = "CREATE TABLE tutorials_tbl( ".
"tutorial_id INT NOT NULL AUTO_INCREMENT, ".
"tutorial_title VARCHAR(100) NOT NULL, ".
"tutorial_author VARCHAR(40) NOT NULL, ".
"submission_date DATE, ".
"PRIMARY KEY ( tutorial_id )); ";
mysql_select_db( 'TUTORIALS' );
$retval = mysql_query( $sql, $conn );
if(! $retval )
{
die('Could not create table: ' .
mysql_error());
}
echo "Table created successfully\n";
mysql_close($conn);
?>
</body>
</html>