• Testing.

  • Testing.

  • Cloud Computing

  • Debian.

New Post

Rss

Sunday, July 10, 2016
Tutorial Cara Membuat Aplikasi Berita dengan PHP dan MySQL

Tutorial Cara Membuat Aplikasi Berita dengan PHP dan MySQL


 
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. }  
Copyright © 2015 TKJ SMKN 2 SIDENRENG All Right Reserved
Modification Design by Team IT TKJ. And Ahmad Fuad