POST and GET Request

Assalamualaikum
Welcome to my blog
Gimana kabarnya? semakin semangat yaa untuk mencapai mimpi-mimpi kalian
Langsung aja nih kita belajar materi baru, biar tambah cinta sama PHP hehehe.

Di post aku kali ini kita akan belajar bagaimana mengoperasikan aritmatik dengan menginput bilangan-bilangan lain tanpa merubah scriptnya, jadi bisa lebih interaktif gitu deh, simak baik-baik yaa seru kok. Nah, sebelum itu kita harus tahu dulu nih tentang POST dan GET request yang akan membantu kita dalam pengerjaan programnya.

POST Request
POST request merupakan proses merequest atau menginput data melalui form.
Format penulisan POST request: $namavariabel = $_POST['nama dalam form'];
Contoh program:
<html>
    <head>
        <title> Contoh Request POST </title>
    </head>

<body>
    <h1>Input dua bilangan</h1>
    <form method="post" action="tl.php">
    Masukkan Bilangan 1 <input type="text" name="bil1" /><br />
    Masukkan Bilangan 2 <input type="text" name="bil2" /><br />
    <input type="submit" name="submit" value="Submit" />
    </form>
</body>
</html>

GET Request
GET Request merupakan proses merequest atau menginput data melalui URL atau Link.
Format penulisan GET request: $namavariabel = $_GET['nama dalam form'];
Contoh Program:
<html>
    <head>
        <title> Contoh Request GET </title>
    </head>

<body>
    <h1>Input dua bilangan</h1>
    <form method="get" action="tl.php">
    Masukkan Bilangan 1 <input type="text" name="bil1" /><br />
    Masukkan Bilangan 2 <input type="text" name="bil2" /><br />
    <input type="submit" name="submit" value="Submit" />
    </form>
</body>
</html>
Untuk melihat perbedaan keduanya coba kalian perhatikan gambar output keduanya di bawah ini:
Output POST:
Output GET:
Dari kedua output di atas terlihat jika, keduanya tidak memiliki  perbedaan (sama).
Namun, Coba perhatikan lebih jeli:
Output POST:
Output GET:

Yap bener banget, perbedaan keduanya terdapat pada URLnya. Untuk GET request kita bisa menginput atau merequest melalui URLnya sedangkan jika POST harus melalui form. Sehingga, URL pada GET request akan lebih panjang dari POST request.

Program tl.php (pemanggil):
<?php
    $bilangan1 = $_POST['bil1'];
    $bilangan2 = $_POST['bil2'];

    echo "<p>Anda telah memasukkan bilangan pertama = ".$bilangan1. "</p>";
    echo "<p>Anda telah memasukkan bilangan kedua = ".$bilangan2. "</p>";
?>

Gimana gimana udah paham kan yaa..

Sekarang kita akan belajar mengaplikasikan materi di atas melalui studi kasus:

KASUS 1: Buatlah form input untuk memasukkan saldo awal, besar bunga perbulan, serta lama bulan. Jangan lupa untuk menambahkan tombol submit dan reset. Apabila tombol submit diklik, maka semua data input akan diproses ke script PHP untuk diolah menghasilkan saldo akhir pada bulan tertentu.
Program:
<html>
    <head>
        <title> Tugas(1)11March2019 </title>
    </head>

<body>

    <h1> Mengentry Saldo Akhir Tabungan </h1>

    <form method="post" action="">
    Masukkan Saldo Awal <input type="text" name="saldoawal" /><br />
    Masukkan Besar Bunga Perbulan (Harus dalam bentuk desimal) <input type="text" name="bunga" /><br />
    Masukkan Lama Menabung <input type="text" name="bulan" /><br />
    <input type="submit" name="submit" value="submit" />
    <input type="reset" name="reset" value="reset" />
    </form>
<?php
$awal = $_POST['saldoawal'];
$bunga = $_POST['bunga'];
$bulan = $_POST['bulan'];
$saldoakhir = $_POST['saldoakhir'];
$saldoakhir = ($awal + ($bunga * $awal * $bulan));
echo "Saldo Awal = ".$awal."<br>";
echo "Bunga = ".$bunga."<br>";
echo "Lama Menabung = ".$bulan."<br>";
echo "Tabungan akhir anda = ".$saldoakhir."<br>";
?>
</body>
</html>
Output:
Output Awal
Setelah di Submit

KASUS 2: Buatlah form input untuk memasukkan bilangan dan pembaginya. Jangan lupa untuk menambahkan tombol submit dan reset. Apabila tombol submit diklik, maka semua data input akan diproses ke script PHP untuk diolah menghasilkan hasil bagi dan sisa baginya.
Program:
<html>
    <head>
        <title> Tugas2(110319) </title>
    </head>
<body>

    <h1> Mengentry Operasi Aritmatika </h1>

    <form method="post" action="">
    Masukkan Bilangan <input type="text" name="bil" /><br />
    Masukkan Pembagi <input type="text" name="bagi" /><br />
    <input type="submit" name="submit" value="submit" />
    <input type="reset" name="reset" value="reset" />
    </form>
<?php
$hasilbagi = round ($_POST[bil]/$_POST[bagi]);
$sisabagi_modulus = ($_POST[bil]%$_POST[bagi]);
echo "Operasi Aritmatika <br>";
echo "Bilangan      = ".$_POST[bil]. "<br>";
echo "Dibagi dengan = ".$_POST[bagi]."<br>";
echo "Hasil bagi    = ".$hasilbagi."<br>";
echo "Memiliki sisa = ".$sisabagi_modulus;
?>
</body>
</html>
Output:
Output Awal
Setelah di Submit


KASUS 3: Buatlah form input untuk memasukkan sejumlah uang tertentu untuk dipecahkan. Jangan lupa untuk menambahkan tombol submit dan reset. Apabila tombol submit diklik, maka data input akan diproses ke script PHP untuk diolah menghasilkan banyaknya masing-masing uang pecahan (Uang pecahan terdiri dari Rp. 100.000,-; Rp. 50.000,-; Rp. 20.000,-; Rp. 5.000,-; Rp. 100,-; Rp. 50,-).
Program:
<html>
    <head>
        <title> Tugas3(110319) </title>
    </head>
<body>

    <h1> Mengentry Penukaran Uang </h1>

    <form method="post" action="">
    Masukkan Jumlah Uang <input type="text" name="uang" /><br />
    <input type="submit" name="submit" value="submit" />
    <input type="reset" name="reset" value="reset" />
    </form>
<?php
$a = 100000;
$a_sisa = $_POST[uang] % $a;
$banyak_a = round ($_POST[uang] - $a_sisa)/$a;
$a_akhir = $_POST[uang] - ($banyak_a * $a);

$b = 50000;
$b_sisa = $a_akhir % $b;
$banyak_b = ($a_akhir - $b_sisa)/$b;
$b_akhir = $a_akhir - ($banyak_b *$b);

$c = 20000;
$c_sisa = $b_akhir % $c;
$banyak_c = ($b_akhir - $c_sisa)/$c;
$c_akhir = $b_akhir - ($banyak_c * $c);

$d = 5000;
$d_sisa = $c_akhir % $d;
$banyak_d = ($c_akhir - $d_sisa)/$d;
$d_akhir = $c_akhir - ($banyak_d * $d);

$e = 100;
$e_sisa = $d_akhir % $e;
$banyak_e = ($d_akhir - $e_sisa)/$e;
$e_akhir = $d_akhir - ($banyak_e * $e);

$f = 50;
$f_sisa = $e_akhir % $f;
$banyak_f = ($e_akhir - $f_sisa)/$f;
$f_akhir = $e_akhir - ($banyak_f * $f);

echo "Jumlah Uang yang ingin dipecahkan =Rp. ".$_POST[uang]. "<br>";
echo "Jumlah Rp. 100.000    = ".$banyak_a."<br />";
echo "Jumlah Rp. 50.000     = ".$banyak_b."<br />";
echo "Jumlah Rp. 20.000     = ".$banyak_c."<br />";
echo "Jumlah Rp. 5.000      = ".$banyak_d."<br />";
echo "Jumlah Rp. 100        = ".$banyak_e."<br />";
echo "Jumlah Rp. 50         = ".$banyak_f."<br />";
?>
</body>
</html>

Output:


KASUS 4: Rancanglah  sebuah  form  untuk  pendaftaran  online  mahasiswa  baru  dalam universitas X. Data yang nantinya dimasukkan dalam form pendaftaran adalah: Nama Lengkap (text box), Tempat Lahir (text box), Tanggal Lahir (gunakan 3 buah combo box masing-masing  untuk tanggal: 1-31, bulan: 1-12 dan tahun: 1970- 1987), Alamat Rumah (text area), Jenis Kelamin (gunakan radiobutton: pria/ wanita), Asal Sekolah (text box), Nilai UAN (text box). Tambahkan pula sebuah button dan reset.
Apabila data sudah diisi dan selanjutnya diklik tombol submit, maka kirim data ke sebuah script PHP untuk menampilkan apa yang telah diisikan dalam form tadi.
Contoh output script bila nama yang diisikan adalah ‘Joko’.

Terimakasih Joko sudah mengisi form pendaftaran.
Nama Lengkap : Joko
Tempat Lahir : XXX
Tanggal Lahir :TGL-BLN-THN
Alamat Rumah : XXX
Jenis Kelamin : Pria
Asal Sekolah : XXX
Nilai UAN : XXX
Program 1:
<html>
    <head>
        <title> Tugas4(110319) </title>
    </head>
<body>

    <h1> Form Pendaftaran Online Mahasiswa Baru PENS 2019 </h1>
    <table border="0">
    <form method="post" action="plan4.php">
    <tr>
        <td>Nama Lengkap</td>
        <td><input type="text" name="nam" /></td>
    </tr>
    <tr>
        <td>Tempat Lahir</td>
            <td><input type="text" name="cumi" /></td>
    <tr>
        <td>Tanggal Lahir</td> 
        <td><select name="tgl">
    <option selected="selected">Tanggal</option>
    <?php
    for ($a=1; $a<=31; $a++)
        echo "<option value=$a> $a </option>";
    ?>
    </select>
        <select name="bulan">
        <option selected="selected">Bulan</option>
        <?php
        $bulan=array("Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember");
        $jh_bulan=count($bulan);
        for($b=0; $b<$jh_bulan; $b++)
            echo "<option value=$bulan[$b]> $bulan[$b] </option>";
        ?>
        </select>
            <select name="thn">
            <option selected="selected">Tahun</option>
    <?php
    for ($c=1970; $c<=date('Y'); $c++)
        echo "<option value=$c> $c </option>";
    ?>
    </select></td>
    </tr>
    <tr>
        <td>Alamat Rumah </td>
        <td><textarea name="des" cols=18 rows=3></textarea></td>
    </tr>
    <tr>
        <td>Jenis Kelamin </td>
        <td><input type="radio" name="fm" value="Male">Male
    <input type="radio" name="fm" value="Female">Female</td>
    </tr>
    <tr>
        <td>Asal Sekolah </td>
<td><input type="text" name="asal" /></td>
    </tr>
    <tr>
        <td>Niali UAN </td>
<td><input type="text" name="uan" /></td>
    </tr>
   </table>
    <input type="submit" name="submit" value="submit" />
    <input type="reset" name="reset" value="reset" />
    </form>
    <br />
    <br />
    
</body>
</html>
Program plan4.php (pemanggil):
<?php
echo " TERIMAKASIH TELAH MENGISI FORM PENDAFTARAN <br>";
echo "IKUTI INSTRUKSI SELANJUTNYA <br>";
echo "<table border=0>";
    echo "<tr><td> Nama Lengkap  </td><td> : $_POST[nam] </td><tr>";
    echo "<tr><td> Tempat Lahir  </td><td> : $_POST[cumi] </td><tr>";
    echo "<tr><td> Tanggal Lahir  </td><td> : $_POST[tgl] - $_POST[bulan] - $_POST[thn] </td><tr>";
    echo "<tr><td> Alamat Rumah  </td><td> : $_POST[des] </td><tr>";
    echo "<tr><td> Jenis Kelamin  </td><td> : $_POST[fm] </td><tr>";
    echo "<tr><td> Asal Sekolah  </td><td> : $_POST[asal] </td><tr>";
    echo "<tr><td> Nilai UAN  </td><td> : $_POST[uan] </td><tr>";
    echo "</table>";

?>

Output:
Output Awal
Setelah di Submit

KASUS 5:  Setelah Anda selesai membuat script dan form pada no. 4 di atas, coba ubah method=’post’  pada formnya menjadi method=’get’. Ubah pula $_POST[] dalam script PHP nya menjadi $_GET[]. Masih bisakah scriptnya bekerja? Coba amati efek  perubahan  tersebut  dan  jelaskan  apa  akibat  diberikannya  method=’get’ pada form?
Catatan: Tinggal merubah metode yang semula POST menjadi GET. Dengan merubah metodenya berarti statement-statement yang menggunakan POST juga harus diganti menjadi GET.
Program:
<html>
    <head>
        <title> Tugas4(110319) </title>
    </head>
<body>

    <h1> Form Pendaftaran Online Mahasiswa Baru PENS 2019 </h1>
    <table border="0">
    <form method="get" action="plan4.php">
    <tr>
        <td>Nama Lengkap</td>
        <td><input type="text" name="nam" /></td>
    </tr>
    <tr>
        <td>Tempat Lahir</td>
            <td><input type="text" name="cumi" /></td>
    <tr>
        <td>Tanggal Lahir</td> 
        <td><select name="tgl">
    <option selected="selected">Tanggal</option>
    <?php
    for ($a=1; $a<=31; $a++)
        echo "<option value=$a> $a </option>";
    ?>
    </select>
        <select name="bulan">
        <option selected="selected">Bulan</option>
        <?php
        $bulan=array("Januari","Februari","Maret","April","Mei","Juni","Juli","Agustus","September","Oktober","November","Desember");
        $jh_bulan=count($bulan);
        for($b=0; $b<$jh_bulan; $b++)
            echo "<option value=$bulan[$b]> $bulan[$b] </option>";
        ?>
        </select>
            <select name="thn">
            <option selected="selected">Tahun</option>
    <?php
    for ($c=1970; $c<=date('Y'); $c++)
        echo "<option value=$c> $c </option>";
    ?>
    </select></td>
    </tr>
    <tr>
        <td>Alamat Rumah </td>
        <td><textarea name="des" cols=18 rows=3></textarea></td>
    </tr>
    <tr>
        <td>Jenis Kelamin </td>
        <td><input type="radio" name="fm" value="Male">Male
    <input type="radio" name="fm" value="Female">Female</td>
    </tr>
    <tr>
        <td>Asal Sekolah </td>
<td><input type="text" name="asal" /></td>
    </tr>
    <tr>
        <td>Niali UAN </td>
<td><input type="text" name="uan" /></td>
    </tr>
   </table>
    <input type="submit" name="submit" value="submit" />
    <input type="reset" name="reset" value="reset" />
    </form>
    <br />
    <br />
    
</body>
</html>
Output: 

Setelah semuanya selesai, kini aku bakal jelasin nih tentang fungsi dari beberapa tag di program yang ada di blog ini, diantaranya:
  1. <form> di akhiri </form>: Tag ini menunjukkan bahwa kita akan membuat sebuah form.
  2. <form method="post": Kita harus menentukan metode apa yang akan kita gunakan POST atau GET.
  3. <form method="post" action="tl.php">: Action berguna jika hasil (output) yang ingin ditampilkan tidak tergabung dengan program form yang kita buat. Jika sudah tergabung, maka bisa dikosongkan menjadi: action"". Jika terpisah, maka yang kita isikan ada nama file pemanggil tersebut. Seperti pada keterangan program perbedaan antara POST dan GET request  di atas yang terdapat file pemanggil (tl.php) begitupun pada kasus 4 yang ada file pemanggilnya pula (plan4.php).
  4. Masukkan Bilangan 1 <input type="text" name="bil1" /><br />: Tag ini bekerja seperti scanf (pada bahasa c) sehingga kita mampu menginputkan data. Type: Berfungsi menentukan type seperti apa bentuk inputan kita (text box, text area, combo box, radio button, dll). Name: Berfungsi untuk memberikan nama komponen dalam form.
  5. <input type="submit" name="submit" value="Submit" />: Tag ini berfungsi untuk menampilkan tombol "Submit". Untuk Name bisa kita isi sesuai keinginan, tidak harus submit. Namun, untuk Value harus tertulis submit, agar tombol submitnya dapat bekerja sesuai fungsinya. Hal ini berlaku juga untuk tombol reset.
  6. $bilangan1 = $_POST['bil1'];: Statement yang berfungsi untuk menerima data dari proses submit fprm dalam PHP. Dalam hal ini, nama variabel boleh sama atau tidak sama dengan nama komponen dalam form. Namun, lebih baik berebda untuk mencegah hal-hal yang tidak diinginkan.
  7. <option selected="selected">Tanggal</option>: Tag ini berguna dalam pembuatan input berupa combo box. Biasanya digunakan untuk tanggal, bulan, dan tahun.
  8. Untuk menampilkan tanggal dan tahun disini menggunakan for sedangkan bulan menggunakan array serta for (untuk materi array dan for insyaallah kan aku bahas minggu depan ya).
  9. Tag count: Berfungsi untuk membaca elemen dari array yang kita buat.
  10. Tag round: Berfungsi sebagai pembulatan, bisa dibulatkan ke atas ataupun ke bawah seperti aturan pada matematika.
Nah, gimana makin seru kan yaa belajar PHP nya.
Untuk materi POST and GET request cukup samapai disini dulu aja yaa, kalo ada apa-apa bisa kalian beri komentar disini.
Terimakasih bagi para pembaca yang sudah meluangkan waktunya.
Sampai jumpa di updateanku selanjutnya yaa.

"Find your way"

Komentar