Pembahasan Studi Kasus Pembuatan Simple Chart Pembahasan Studi Kasus Pembuatan Simple Chart | isMediaNet

Senin, 24 Oktober 2011

Pembahasan Studi Kasus Pembuatan Simple Chart

Permasalahan
Lengkapi Latihan di atas (simple chart) dengan user login, sehingga user yang boleh meng-order CD / DVD adalah user yang terdaftar. Gunakan user dan password 'admin', sebagai 'user yang terdaftar'. Gunakan pula session untuk menyimpan state berupa user maupun password password. Buatlah pula fungsi untuk logout sehingga, ketika state user maupun password telah hilang/user telah meninggalkan website, user tidak bisa meng-order, kecuali jika telah login kembali!.
Pembahasan
User login merupakan fasilitas untuk melakukan filterisasi terhadap hak akses. Fungsi ini dibuat dengan algoritma pemilihan if. Pada program ini user yang terdaftar adalah admin dengan spesifikasi user = admin dan password= admin. Hak untuk melakukan akses halaman tertentu dilakukan dengan menambahkan fungsi SESSION  pada halaman yang dapat diakses oleh user. Session akan menjadikan halaman web tidak dapat diakses kecuali setelah melakukan proses login.

Script- script
a)    Script Index.php
Script Index.php menjadi halaman utama pada program ini. Halaman ini berisi tampilan halaman login
<html>
<!--

        File        : index.php
        Deskripsi   : halaman utama
-->
    <head>
        <title>
            SISTEM INFORMASI MANAGEMENT PENYEWAAN CD/DVD
        </title>
    </head>
    <body>
        <h1 align="center">
            SISTEM INFORMASI MANAGEMENT <br> PENYEWAAN CD/DVD
        </h1>
        <form action="login.php" method="POST">
            <table align="center">
                <tr>
                    <td>user</td><td>:</td>
                    <td>
                        <input type="text" name="user">
                    </td>
                </tr>
                <tr>
                    <td>password</td><td>:    </td>
                    <td>
                        <input type="password" name="password">
                    </td>
                </tr>
                <tr>
                    <td>&nbsp;</td><td>&nbsp;</td>
                    <td>
                    <input type= "submit" name= "login" value=
                         "log in">
                    <input type="reset" name="batal" value="batal">
                    </td>
                </tr>
            </table>
        </form>
    </body>
</html>


b)    Script  login.php
Script login.php berisi perintah untuk melakukan pengecekkan terhadap data yang dimasukkan kedalam form login. Scrip ini jg meregistrasi data pada session sehingga data tersebut dapat dikenali pada setiap halaman yang berhubungan dengan session.
<?php
    session_start();// fungsi untuk mengawali pebggunaan session
    /*
    File          : login.php
    Deskripsi     : program untuk validasi*/    
        $user        ="admin";
        $password    ="admin";
    if (($_POST['user']==$user) && ($_POST['password']==$password)){
        session_register("user");//meregistrasikan user dalam session
        $_SESSION['user']=$user;
        $_SESSION['password']=$password;
        header("location:order_form.php");
    }
    else{
        echo"<center>Log in gagal<br><a href='index.php'>[balik]</></center>";
    }
?>


c)    Script order_form.php
Script order_form akan menampilkan halaman untuk melakukan pemesanan jumlah cd dan dvd. Form ini akan mengirimkan data ke halaman order_process.php yang akan disimpan pada cookie.
<?php
    session_start();
    if (isset($_SESSION['user']) && ($_SESSION['password'])){
?>
    <html>
    <!--
        file        : order_form.php
        deskripsi    : menampilkan order.    
    -->
        <head>
            <title>
                SISTEM INFORMASI MANAGEMENT RENTAL CD / DVD
            </title>
        </head>
        <body>
        <a href="logout.php">[Log out]</a>
            <h1>Order Form</h1>            
            <form action="order_process.php" method="POST">
                <p>
                    Order CD, amount :
                    <input type="text" name="cd_order" value="0"
                    size="2" maxlength="2" />
                </p>
                <p>
                    Order DVD, amount :
                    <input type="text" name="dvd_order" value="0"
                    size="2" maxlength="2" />
                </p>
                <input type="submit" value="Add To Cart"
                   name="submit" />
            </form>
        </body>
    </html>
<?php
    }else{
            echo"<center>login dulu <br> <a
             href=index.php>[BALIK]</a></center>";
    }    
?>


d) Script order_process.php
Scrip order_process.php merupakan  bagian yang mengekseskusi perintah pada order_form.php. Halaman order_process.php tidak akan ditampilkan pada browser karena apabila transaksi sukses maka melakukan redirect ke halaman order_summary.php
<?php
    session_start();
    /*
        File          : order_proses.php
        Deskripsi     : form untuk pemrosesan pesanan
    */
    if (isset($_SESSION['user']) && ($_SESSION['password'])){
        if(isset ($_POST['cd_order']) && isset ($_POST['dvd_order'])){
            setcookie("cd_order",$_POST['cd_order']);
            setcookie("dvd_order",$_POST['dvd_order']);
            header("Location: order_summary.php");
        }
    }
    else{
            echo"<center>login dulu <br> <a href=index.php>[BALIK]</a></center>";
    }        
?>


e)    Script order_summary.php
Script order_summary.php akan menampilkan data yang telah diorder dan memberikan pilihan untuk melakukan update atau pengeditan terhadap barang yang sudah diorder.
<?php
    session_start();
    if (isset($_SESSION['user']) && ($_SESSION['password'])){
?>
    <html>
    <!--
        File         : order_summary.php
        Deskripsi     : program untuk menampilkan semua order
    -->
        <head>
            <title>Order Form</title>
        </head>
        <body>    
            <a href="logout.php">[Log out]</a>        
            <h1>Order Summary</h1>            
            <?php
            $num_cd_order = $_COOKIE['cd_order'];
            $num_dvd_order = $_COOKIE['dvd_order'];
            echo"<pre>";
                echo "Ordered CD     : ".$num_cd_order." pieces <br />";
                echo "Ordered DVD     : ".$num_dvd_order." pieces
                  <br />";
            echo"</pre>";
            ?>
            <form action="edit_order.php" method="POST">
                <input type="submit" name="edit" value='edit order'>
            </form>
        </body>
    </html>
<?php
    }else{
            echo"<center>login dulu <br>
             <a href=index.php>[BALIK]</a></center>";
    }    
?>


f)    Script edit_order.php
Script edit_order.php akan menampilkan form untuk melakuikan pengiditan terhadap data yang telah dipesan.
<?php
    session_start();
    if (isset($_SESSION['user']) && ($_SESSION['password'])){
?>
    <html>
    <!--
        file         : edit_order.php
        deskripsi    : melakukan pengeditan terhadap sesuatu yang suydah di orderkan.    
    -->
        <head>
            <title>
                SISTEM INFORMASI MANAGEMENT RENTAL CD / DVD
            </title>
        </head>
        <body>
            <a href="logout.php">[Log out]</a>
            <form action="order_process.php" method="POST">
                <p>
                Order CD, amount :
                <input type="text" name="cd_order" value="<?php echo
                   $_COOKIE['cd_order'];?>"
                size="2" maxlength="2" />
                </p>
                <p>
                Order DVD, amount :
                <input type="text" name="dvd_order" value="<?php echo
                   $_COOKIE['dvd_order'];?>"
                    size="2" maxlength="2" />
                </p>
                <input type="submit" value="Add To Cart"
                   name="submit" />
            </form>
        </body>
    </html>
<?php
    }else{
            echo"<center>login dulu <br>
             <a href=index.php>[BALIK]</a></center>";
    }    
?>


g)        Script logout.php
Scrip Logout.php berisi perintah untuk melakukan penghapusan terhadap session dan berpindah ke halaman login sehingga user tidak dapat melakukan akses pada halaman-halaman tertentu kecuali dengan login.
<?php
    session_start();
/*

    File          : logout.php
    Deskripsi     : untuk menghapus session dan untuk keluar dari program ke halaman login
*/    
    unset($_SESSION['user']);
    unset($_SESSION['password']);    
        if (!isset($_SESSION['user']) && !isset($_SESSION['password'])){
            header("location:index.php");
        }
?>

NOTE: PEMBUATAN LOGIN MASIH BELUM ADA PENANGANAN KEAMANAN SEPERTI SQL INJECTION

0 komentar:

Posting Komentar