Powered by Blogger.

Wednesday 15 April 2015

Tutorial Cara Membuat Aplikasi Berita dengan PHP dan MySQL

Posted by Creative Recipes  |  11 comments

Kali ini saya akan berbagi cara membuat aplikasi berita yang sederhana menggunkan PHP dan database MySQL. Halaman depan aplikasi bisa dilihat seperti di bawah ini :

Untuk membuat aplikasi berita secara sederhana, langkah pertama yang kita lakukan adalah merancang tabel-tabel database yang diperlukan. Secara sederhana, struktur tabel dapat dibuat dengan spesifikasi sebagai berik berikut :

1. Berikut ini perintah (SQL) untuk membuat tabel "berita" :

  1. CREATE TABLE berita(  
  2.   id_berita int(5) unsigned NOT NULL auto_increment,  
  3.   id_kategori int(3) unsigned NOT NULL default '0',  
  4.   judul varchar(100) NOT NULL default '',  
  5.   headline text NOT NULL,  
  6.   isi text NOT NULL,  
  7.   pengirim varchar(15) NOT NULL default '',  
  8.   tanggal datetime NOT NULL default '0000-00-00 00:00:00',  
  9.   PRIMARY KEY (id_berita)  
  10. ) TYPE=MyISAM;  
2. Berikut ini perintah (SQL) untuk membuat tabel "kategori" :

  1. CREATE TABLE kategori(  
  2.   id_kategori int(3) unsigned NOT NULL auto_increment,  
  3.   nm_kategori varchar(30) NOT NULL default '',  
  4.   deskripsi varchar(200) NOT NULL default '',  
  5.   PRIMARY KEY (id_kategori)  
  6. )TYPE = MyISAM;  
Catatan : Isikan sejumlah data ke tabel kategori langsung di database, agar data kategori bisa muncul di form input.
3. Membuat File Koneksi Database
Nama File : koneksi.php
Deskripsi : Program koneksi ke database.

  1. <?php    
  2. $host = "localhost";    
  3. $user = "root";    
  4. $pass = "";    
  5. $dbnm = "pw2";    
  6.     
  7. $conn = mysql_connect($host, $user, $pass);    
  8. if($conn){    
  9.  $connect = mysql_select_db($dbnm);    
  10.  if(!$connect){    
  11.   die("Database tidak dapat dibuka");    
  12.  }    
  13. }else{    
  14.  die("Server MySql tidak terhubung");     
  15. }    
  16. ?>  
4. Membuat File Menampilkan Headline Berita
Nama File : index.php
Deskripsi : Program menampilkan 5 berita terbaru di halaman depan.

  1. <?  
  2. include "koneksi.php";  
  3.   
  4. ?>  
  5. <html>  
  6. <head><title>Index Berita</title>  
  7. <link rel="stylesheet" href="style.css" />  
  8. </head>  
  9. <body>  
  10.  <a href="index.php">Halaman Depan</a> &nbsp|  
  11.     <a href="arsip_berita.php">Arsip Berita</a>&nbsp|  
  12.     <a href="input_berita.php">Input Berita</a>  
  13.       
  14.   
  15.       
  16.     <h2>Halaman Depan ~ Lima Bertita Terbaru</h2>  
  17.     <?  
  18.     $query = "SELECT A.id_berita, B.nm_kategori, A.judul, A.isi, A.pengirim, A.tanggal FROM berita A, kategori B WHERE A.id_kategori=B.id_kategori ORDER BY A.id_berita DESC LIMIT 0,5";  
  19.  $sql = mysql_query($query);  
  20.   
  21.  while ($hasil=mysql_fetch_array($sql)){  
  22.  $id_berita = $hasil['id_berita'];   
  23.  $kategori = stripslashes($hasil['nm_kategori']);  
  24.  $judul = stripslashes($hasil['judul']);  
  25.  $isi = nl2br(stripslashes($hasil['isi']));  
  26.  $pengirim = stripslashes($hasil['pengirim']);  
  27.  $tanggal = stripslashes($hasil['tanggal']);  
  28.  //tampilkan berita  
  29.  echo "<font size=4>  
  30.    <a href='berita_lengkap.php?id=$id_berita'>$judul</a></font></br>";  
  31. echo "<small>Berita dikirimkan oleh <b>$pengirim</b>  
  32.     pada tanggal <b>$tanggal</b> dalam kategori <b>  
  33.    $kategori</b></small>";  
  34.  echo "<p>$headline</p>";  
  35.  echo "<hr>";  
  36.  }  
  37.  ?>  
  38. </body>  
  39. </html>  
5. Membuat Halaman Input Berita
Nama File : input_berita.php
Deskripsi : Program input berita.

  1. <?php  
  2. include "koneksi.php";  
  3. //proses input berita  
  4. if(isset($_POST['input'])){  
  5.    
  6.  $judul = addslashes(strip_tags($_POST['judul']));  
  7.  $kategori = $_POST['kategori'];  
  8.  $headline = addslashes(strip_tags($_POST['headline']));  
  9.   
  10.  $isi_berita = addslashes(strip_tags($_POST['isi']));  
  11.  $pengirim = addslashes(strip_tags($_POST['pengirim']));  
  12.  //insert ke tabel  
  13.  $query = "INSERT INTO berita VALUES('','$kategori','$judul','$headline','$isi_berita','$pengirim',now())";  
  14.  $sql = mysql_query($query);  
  15.  if($sql){  
  16.   echo "<h2><span style='color: blue;'>Berita telah berhasil ditambahkan</span></h2>";   
  17.  }else{  
  18.   echo "<h2><span style='color: red;'>Berita gagal ditambahkan</span></h2>";  
  19.  }  
  20. }  
  21. ?>  
  22. <html>  
  23.     <head><title>Input Berita</title>  
  24.      <link href="style.css" rel="stylesheet"></link>  
  25.     </head>  
  26.     <body>  
  27.     <a href="index.php">Halaman Depan</a>    
  28.     <a href="arsip_berita.php">Arsip Berita</a>   
  29.     <a href="input_berita.php">Input Berita</a>  
  30.       
  31.   
  32.       
  33.     <form action="" method="post" name="input">  
  34.     <table border="0" cellpadding="0" style="width: 700px;">  
  35.  <tr>  
  36.  <td colspan="2"><h2>Input Berita</h2>  
  37.  </td>  
  38.    </tr>  
  39.  <tr>  
  40.          <td width="200">Judul Berita</td>  
  41.             <td><input name="judul" size="30" type="text" /></td>  
  42.         </tr>  
  43. <tr>  
  44.          <td>Kategori</td>  
  45.             <td>:   
  46.             <select name="kategori">  
  47. <?       
  48.             $query = "SELECT id_kategori, nm_kategori FROM kategori ORDER BY nm_kategori";  
  49.    $sql = mysql_query($query);  
  50.    while($hasil = mysql_fetch_array($sql)){  
  51.     echo "<option value='".$hasil[id_kategori]."'>$hasil[nm_kategori]</option>";   
  52.    }  
  53. ?>  
  54. </select>  
  55.             </td>  
  56.         </tr>  
  57. <tr>  
  58.          <td>Headline Berita</td>  
  59.             <td><textarea cols="50" name="headline" rows="4"></textarea></td>  
  60.         </tr>  
  61. <tr>  
  62.          <td>Isi Berita</td>  
  63.             <td><textarea cols="50" name="isi" rows="10"></textarea></td>  
  64.         </tr>  
  65. <tr>  
  66.          <td>Pengirim</td>  
  67.             <td><input name="pengirim" size="30" type="text" /></td>  
  68.         </tr>  
  69. <tr>  
  70.          <td> </td>  
  71.             <td>    
  72.             <input name="input" type="submit" value="Input Berita" />  
  73.                 
  74.             <input name="reset" type="reset" value="Cancel" /></td>  
  75.         </tr>  
  76. </table>  
  77. </form>  
  78. </body>  
  79. </html>  
6. Menampilkan berita lengkap
Nama File : berita_lengkap.php
Deskripsi : Program menampilkan berita lengkap.

  1. <?php  
  2. include "koneksi.php";  
  3. if(isset($_GET['id'])){  
  4.  $id_berita = $_GET['id'];   
  5. }else{  
  6.  die("Error. No Id Selected!");   
  7. }  
  8. ?>  
  9. <html>  
  10.  <head><title>Berita Lengkap</title>  
  11.     <link href="style.css" rel="stylesheet"></link>  
  12.     </head>  
  13.     <body>  
  14.     <a href="index.php">Halaman Depan</a>   
  15.     <a href="arsip_berita.php">Arsip Berita</a>   
  16.     <a href="input_berita.php">Input Berita</a>  
  17.       
  18.   
  19.   
  20.     <h2>Berita Lengkap</h2>  
  21. <?  
  22.     $query = "SELECT A.id_berita, B.nm_kategori, A.judul, A.isi, A.pengirim, A.tanggal FROM berita A, kategori B WHERE A.id_kategori=B.id_kategori AND A.id_berita='$id_berita'";  
  23.  $sql = mysql_query($query);  
  24.  $hasil = mysql_fetch_array($sql);  
  25.  $id_berita = $hasil['id_berita'];   
  26.  $kategori = stripslashes($hasil['nm_kategori']);  
  27.  $judul = stripslashes($hasil['judul']);  
  28.  $isi = nl2br(stripslashes($hasil['isi']));  
  29.  $pengirim = stripslashes($hasil['pengirim']);  
  30.  $tanggal = stripslashes($hasil['tanggal']);  
  31.  //tampilkan berita  
  32.  echo "<font size=5 color=blue>$judul</font>  
  33. ";  
  34.  echo "<small>Berita dikirimkan oleh <b>$pengirim</b>  
  35.     pada tanggal <b>$tanggal</b> dalam kategori <b>  
  36.    $kategori</b></small>";  
  37.  echo "<p>$isi</p>";  
  38.  ?>    
  39. </body>  
  40. </html>  
7. Membuat Halaman Arsip Berita
Nama File : arsip_berita.php
Deskripsi : Program arsip keseluruhan berita.

  1. <?php  
  2. include "koneksi.php";  
  3. ?>  
  4. <html>  
  5. <title>Arsip Berita</title>  
  6.    <link href="style.css" rel="stylesheet">  
  7.       <script language="javascript">  
  8.         function tanya(){  
  9.       if(confirm("Apakah anda yakin akan menghapus berita ini?")){  
  10.     return true;   
  11.   }else{  
  12.     return false;   
  13.      }  
  14.    }  
  15.       </script>  
  16.    
  17.   
  18.   <a href="index.php">Halaman Depan</a>   
  19.     <a href="arsip_berita.php">Arsip Berita</a>   
  20.     <a href="input_berita.php">Input Berita</a>  
  21.       
  22.   
  23.   
  24.     <h2>Arsip Berita</h2>  
  25. <ol>  
  26. <?  
  27.     $query = "SELECT A.id_berita, B.nm_kategori, A.judul, A.pengirim, A.tanggal FROM berita A, kategori B WHERE A.id_kategori=B.id_kategori ORDER BY A.id_berita DESC";  
  28.  $sql = mysql_query($query);  
  29.  while($hasil = mysql_fetch_array($sql)){  
  30.   $id_berita = $hasil['id_berita'];   
  31.   $kategori = stripslashes($hasil['nm_kategori']);  
  32.   $judul = stripslashes($hasil['judul']);  
  33.   $pengirim = stripslashes($hasil['pengirim']);  
  34.   $tanggal = stripslashes($hasil['tanggal']);  
  35.   //tamppilkan arsip berita  
  36.   echo "<li><a href='berita_lengkap.php?id=$id_berita'>$judul</a>";  
  37.   echo "<small>Berita dikirimkkan oleh <b>$pengirim</b> pada tanggal <b>$tanggal</b> dalam kategori <b>$kategori</b> </small>";  
  38.   echo "<b>Action : </b><a href='edit_berita.php?id=$id_berita'>Edit</a> | ";  
  39.   echo "<b>Action : </b><a href='delete_berita.php?id=$id_berita' onclick='return tanya()'>Delete</a>";  
  40.   echo "<small></small></li>";  
  41.  }  
  42.  ?>  
  43. </ol>  
  44. </html>  
8. Membuat Halaman Edit Berita
Nama File : edit_berita.php
Deskripsi : Program untuk mengedit berita.

  1. <?php  
  2. include "koneksi.php";  
  3.   
  4. if(isset($_GET['id'])){  
  5.  $id_berita = $_GET['id'];  
  6. }else{  
  7.  die("Error. No Id Selected!");   
  8. }  
  9. $query = "SELECT id_berita, id_kategori,judul, headline, isi,   
  10.    pengirim, tanggal FROM berita WHERE id_berita='$id_berita'";  
  11. $sql = mysql_query($query);  
  12. $hasil = mysql_fetch_array($sql);  
  13. $id_berita = $hasil['id_berita'];   
  14. $id_kategori = stripslashes($hasil['id_kategori']);  
  15. $judul = stripslashes($hasil['judul']);  
  16. $headline = stripslashes($hasil['headline']);  
  17. $isi = stripslashes($hasil['isi']);  
  18. $pengirim = stripslashes($hasil['pengirim']);  
  19. $tanggal = stripslashes($hasil['tanggal']);  
  20.   
  21. //proses edit berita  
  22. if(isset($_POST['edit'])){  
  23.  $id_berita = $_POST['hidberita'];  
  24.  $judul = addslashes(strip_tags($_POST['judul']));  
  25.  $kategori = $_POST['kategori'];  
  26.  $headline = addslashes(strip_tags($_POST['headline']));  
  27.  $isi_berita = addslashes(strip_tags($_POST['isi']));  
  28.  $pengirim = addslashes(strip_tags($_POST['pengirim']));  
  29.    
  30.  //update berita  
  31.  $query = "UPDATE berita SET id_kategori='$kategori'judul='$judul'headline='$headline',   
  32.  isi='$isi_berita'pengirim='$pengirim' WHERE id_berita='$id_berita' ";  
  33.  $sql = mysql_query($query);  
  34.   
  35.  if($sql){  
  36.   echo "<h2><span style='color: blue;'>Berita telah berhasil diedit</span></h2>";  
  37.  }else{  
  38.   echo "<h2><span style='color: red;'>Berita gagal diedit</span></h2>";  
  39.  }  
  40. }  
  41. ?>  
  42. <html>  
  43.     <head><title>Edit Berita</title>  
  44.      <link href="style.css" rel="stylesheet">  
  45.      </head>  
  46.      <body>    
  47.     <a href="index.php">Halaman Depan</a>    
  48.     <a href="arsip_berita.php">Arsip Berita</a>   
  49.     <a href="input_berita.php">Input Berita</a>  
  50.      
  51.   
  52.   
  53.     <form action="" method="post" name="input">  
  54.     <table style="width: 700px;" border="0" cellpadding="0">  
  55.  <tr>  
  56.          <td colspan="2"><h2>Edit Berita</h2></td>  
  57.         </tr>  
  58.  <tr>  
  59.          <td width="200">Judul Berita</td>  
  60.             <td><input name="judul" size="30" value="<?=$judul?>" type="text"></td>  
  61.         </tr>  
  62. <tr>  
  63.          <td>Kategori</td>  
  64.             <td>:   
  65.             <select name="kategori">  
  66.  <?            
  67.    $query = "SELECT id_kategori, nm_kategori FROM kategori ORDER BY nm_kategori";  
  68.     $sql = mysql_query($query);  
  69.     while($hasil = mysql_fetch_array($sql)){  
  70.     $selected = ($hasil['id_kategori']==$id_kategori)?"selected" :"";  
  71.     echo "<option value='$hasil[id_kategori]'>$hasil[nm_kategori]</option>";   
  72.    }  
  73. ?>  
  74.      </select>  
  75.             </td>  
  76.         </tr>  
  77. <tr>  
  78.          <td>Headline Berita</td>  
  79.             <td><textarea cols="50" name="headline" rows="4"><?=$headline?></textarea></td>  
  80.         </tr>  
  81. <tr>  
  82.          <td>Isi Berita</td>  
  83.             <td><textarea cols="50" name="isi" rows="10"><?=$isi?></textarea></td>  
  84.         </tr>  
  85. <tr>  
  86.          <td>Pengirim</td>  
  87.             <td><input name="pengirim" size="30" value="<?=$pengirim?>" type="text"></td>  
  88.         </tr>  
  89. <tr>  
  90.          <td> </td>  
  91.             <td>    
  92.             <input name="hidberita" value="<?=$id_berita?>" type="hidden">  
  93.             <input name="edit" value="Edit Berita" type="submit">  
  94.                 
  95.             <input name="reset" value="Cancel" type="reset"></td>  
  96.         </tr>  
  97. </table>  
  98. </form>  
  99. </body>  
  100. </html>  
9. Membuat Halaman Delete Berita
Nama File : delete_berita.php
Deskripsi : Program untuk menghapus berita.

  1. <?php  
  2. include "koneksi.php";  
  3. if(isset($_GET['id'])){  
  4.  $id_berita = $_GET['id'];  
  5. }else{  
  6.  die("Error. No Id Selected!");   
  7. }  
  8. ?>  
  9. <html>  
  10.     <head><title>Delete Berita</title>  
  11.      <link href="style.css" rel="stylesheet">  
  12.  </head>      
  13.     <a href="index.php">Halaman Depan</a>    
  14.     <a href="arsip_berita.php">Arsip Berita</a>   
  15.     <a href="input_berita.php">Input Berita</a>  
  16. <body>  
  17. <?  
  18.     //proses delete berita  
  19. if(!empty($id_berita)&&$id_berita!=""){  
  20.    $query = "DELETE FROM berita WHERE id_berita='$id_berita'";    
  21.    $sql = mysql_query($query);  
  22.    if($sql){  
  23.      echo "<h2>  
  24.   <span style='color: blue;'>Berita telah berhasil dihapus</span></h2>";  
  25.     }else{  
  26.      echo "<h2><span style='color: red;'>Berita gagal dihapus</span></h2>";  
  27.    }  
  28.    echo "klik <a href='arsip_berita.php'>di sini untuk kembali ke halaman arsip berita";  
  29. }else{  
  30.    die("Access Denied");   
  31.  }  
  32. ?>  
  33. </body>  
  34. </html>  
10. CSS untuk Menghias Tampilan
Nama File : style.css
Deskripsi : File Css sebagai pemanis tampilan

  1. @charset "utf-8";  
  2. /* CSS Document */  
  3. body{  
  4.  font-family:Verdana;  
  5.  font-size:11px;   
  6. }  
  7. a{  
  8.  color:#0000ff;  
  9.  text-decoration:underline;  
  10.    
  11. }  
  12. a:hover{  
  13.  color:#ffffff;  
  14.  background-color:#8ac452;  
  15.  text-decoration:none;  
  16. }  
  17. input, textarea, select, option{  
  18.  font-family:Verdana;  
  19.  font-size:12px;   
  20. }  
Kalau mau download file nya silahkan klik download . Selamat mencoba, semoga bermanfaat :)

06:57 Share:
About Naveed Iqbal

Nulla sagittis convallis arcu. Sed sed nunc. Curabitur consequat. Quisque metus enim venenatis fermentum mollis. Duis vulputate elit in elit. Follow him on Google+.

11 comments:

Get updates in your email box
Complete the form below, and we'll send you the best coupons.

Deliver via FeedBurner

Text Widget

About Us

© 2014 .Programmer Mania. Shared by WpCoderX
Proudly Powered by Blogger.
back to top