Saturday 28 February 2015

Membuat Aplikasi Berita Sederhana dengan PHP


Ini repost aplikasi berita sederhana dengan PHP yang saya lupa sumbernya,, maaf,, semoga ilmunya nyampe bagi yang membutuhkan, tujuannya hanya untuk jadi sarana belajar teman teman sekalian :)

Aplikasi berita sederhana dengan PHP dapat kita buat dengan mudah,, bagi teman - teman yang belum mengetahui caranya, yuk mari simak langkah - langkahnya :

1. Merancang database


Untuk membuat aplikasi berita secara sederhana, langkah pertama adalah merancang tabel – tabel database yang diperlukan. Secara sederhana struktur tabel dapat dibuat dengan spesifikasi berikut :
Nama Database          : Berita
Nama Tabel                 : 1. berita
                                                      2. kategori

2. Membuat File Koneksi


Program 1
Nama File  : koneksi.php
     Deskripsi  : Program koneksi ke database.



<?php
$host = "localhost";
$username = "root";
$password = "";
$databasename = "berita";
$connection = mysql_connect ($host, $username, $password) or die("Kesalahan Koneksi !!! ");
mysql_select_db($databasename, $connection) or die("Databse tidak ditemukan");
?>

3.    Membuat Halaman Input Berita
Program 2
Nama File  : input_berita.php
Deskripsi  : Program input berita.


<?php
include "koneksi.php";
//proses input berita
if (isset($_POST['Input'])) {
 $judul = addslashes (strip_tags ($_POST['judul']));
 $kategori = $_POST['kategori'];
 $headline = addslashes (strip_tags ($_POST['headline']));
 $isi_berita = addslashes (strip_tags ($_POST['isi']));
 $pengirim = addslashes (strip_tags ($_POST['pengirim']));
 //insert ke tabel
 $query = "INSERT INTO berita VALUES('','$kategori','$judul','$headline','$isi_berita','$pengirim', now())";
 $sql = mysql_query ($query);
if ($sql) {
  echo "<h2><font color=blue>Berita telah berhasil
ditambahkan</font></h2>";
 } else {
  echo "<h2><font color=red>Berita gagal
ditambahkan</font></h2>";
}
}
?>
<html>
<head><title>Input Berita</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
  <a href="index.php">Halaman Depan</a> |
  <a href="arsip_berita.php">Arsip Berita</a> |
  <a href="input_berita.php">Input Berita</a>
<br><br>
<FORM ACTION="" METHOD="POST" NAME="input">
   <table cellpadding="0" cellspacing="0" border="0" width="700">
 <tr>     
       <td colspan="2"><h2>Input Berita</h2></td>
 </tr>  
 <tr>     
       <td width="200">Judul Berita</td>
    <td>: <input type="text" name="judul" size="30"></td>
 </tr>  
 <tr>   
       <td>Kategori</td>   
    <td>:    <select name="kategori">   
       <?php      
       $query = "SELECT id_kategori, nm_kategori FROM kategori ORDER BY nm_kategori";
    $sql = mysql_query ($query);
    while ($hasil = mysql_fetch_array ($sql))
       {
       echo "<option value='$hasil[id_kategori]'>$hasil[nm_kategori]</option>";
       }   
       ?>   
    </select></td>  
 </tr>  
 <tr>   
       <td>Headline Berita</td>     
    <td>: <textarea name="headline" cols="50" rows="4"> </textarea></td>
 </tr>  
 <tr>   
       <td>Isi Berita</td>     
    <td>: <textarea name="isi" cols="50" rows="10"> </textarea></td>
 </tr>  
 <tr>   
       <td>Pengirim</td>     
    <td>: <input type="text" name="pengirim" size="20"> </td>
 </tr>  
 <tr>   
       <td>&nbsp;</td>   
    <td>&nbsp;&nbsp;<input type="submit" name="Input"  value="Input Berita">&nbsp;
    <input type="reset" name="reset" value="Cancel"> </td>
 </tr>  
 </table> 
 </FORM>
</body>
</html>

4.    Menampilkan Berita Terbaru di Halaman Depan
Program 3
Nama File  : index.php
Deskripsi  : Program menampilkan 5 berita terbaru di halaman depan.

<?php
include "koneksi.php";
?>
<html>
<head><title>Index Berita</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
  <a href="index.php">Halaman Depan</a> |
  <a href="arsip_berita.php">Arsip Berita</a> |
  <a href="input_berita.php">Input Berita</a>
<br><br>
  <h2>Halaman Depan ~ Lima Berita Terbaru</h2>
<?php
  $query = "SELECT A.id_berita, B.nm_kategori, A.judul, A.headline, 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";
      
       $sql = mysql_query ($query);
       while ($hasil = mysql_fetch_array ($sql))
       {  
   $id_berita = $hasil['id_berita'];
   $kategori = stripslashes ($hasil['nm_kategori']);
   $judul = stripslashes ($hasil['judul']);
   $headline = nl2br(stripslashes ($hasil['headline']));
   $pengirim = stripslashes ($hasil['pengirim']);
   $tanggal = stripslashes ($hasil['tanggal']);
       //   //tampilkan berita  
       echo "<font size=4><a  href='berita_lengkap.php?id=$id_berita'>$judul</a></font><br>";
       echo "<small>Berita dikirimkan oleh <b>$pengirim</b> pada tanggal <b>$tanggal</b> dalam kategori <b>$kategori</b></small>";
       echo "<p>$headline</p>";  
       echo "<hr>"; 
       }
?>
</body>
</html>

5.    Menampilkan Berita Lengkap
Program 4
Nama File  : berita_lengkap.php
Deskripsi  : Program menampilkan berita secara lengkap.

<?php
include "koneksi.php";
if (isset($_GET['id'])) {
 $id_berita = $_GET['id'];
} else {
 die ("Error. No Id Selected! ");
}
?>
<html>
<head><title>Berita Lengkap</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
  <a href="index.php">Halaman Depan</a> |
  <a href="arsip_berita.php">Arsip Berita</a> |
  <a href="input_berita.php">Input Berita</a>
<br><br>
<h2>Berita Lengkap</h2>
<?php
  $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 && A.id_berita='$id_berita'";
$sql = mysql_query ($query);
  $hasil = mysql_fetch_array ($sql);
  $id_berita = $hasil['id_berita'];
  $kategori = stripslashes ($hasil['nm_kategori']);
  $judul = stripslashes ($hasil['judul']);
  $isi = nl2br(stripslashes ($hasil['isi']));
  $pengirim = stripslashes ($hasil['pengirim']);
  $tanggal = stripslashes ($hasil['tanggal']);
//
//tampilkan berita
  echo "<font size=5 color=blue>$judul</font><br>";
  echo "<small>Berita dikirimkan oleh <b>$pengirim</b> pada tanggal <b>$tanggal</b> dalam kategori <b>$kategori</b></small>";
echo "<p>$isi</p>"; ?>
 </body>
</html>

6.    Membuat Halaman Arsip Berita
Program 5
Nama File  : arsip_berita.php
Deskripsi  : Program arsip keseluruhan berita.

<?php
include "koneksi.php";
?>
<html>
<head><title>Arsip Berita</title>
<link rel="stylesheet" href="style.css">
<script language="javascript">
  function tanya() {
   if (confirm ("Apakah Anda yakin akan menghapus
berita ini ?")) {
 return true;      } else {
 return false;    }  }
</script>
</head>
<body>
  <a href="index.php">Halaman Depan</a> |
  <a href="arsip_berita.php">Arsip Berita</a> |
  <a href="input_berita.php">Input Berita</a>
<br><br>
<h2>Arsip Berita</h2>
<ol>
<?php
  $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";
$sql = mysql_query ($query);
  while ($hasil = mysql_fetch_array ($sql)) {
   $id_berita = $hasil['id_berita'];
   $kategori = stripslashes ($hasil['nm_kategori']);
   $judul = stripslashes ($hasil['judul']);
   $pengirim = stripslashes ($hasil['pengirim']);
   $tanggal = stripslashes ($hasil['tanggal']);
 //
//tampilkan arsip berita  
       echo "<li><a  href='berita_lengkap.php?id=$id_berita'>$judul</a><br>";
       echo "<small>Berita dikirimkan oleh <b>$pengirim</b> pada tanggal <b>$tanggal</b> dalam kategori <b>$kategori</b><br>";
       echo "<b>Action : </b><a href='edit_berita.php?id=$id_berita'>Edit</a> | ";
       echo "<a href='delete_berita.php?id=$id_berita'  onClick='return tanya()'>Delete</a>";
       echo "</small></li><br><br>";  }
?>
</ol>
</body>
</html>

7.    Membuat Halaman Edit Berita
Program 6
Nama File  : edit_berita.php
Deskripsi  : Program edit berita.

<?php
include "koneksi.php";
if (isset($_GET['id'])) {
 $id_berita = $_GET['id'];
} else {
 die ("Error. No Id Selected! ");
}
$query = "SELECT id_berita, id_kategori, judul, headline, isi, pengirim, tanggal
  FROM berita WHERE id_berita='$id_berita'";
$sql = mysql_query ($query);
$hasil = mysql_fetch_array ($sql);
$id_berita = $hasil['id_berita'];
$id_kategori = stripslashes ($hasil['id_kategori']);
$judul = stripslashes ($hasil['judul']);
$headline = stripslashes ($hasil['headline']);
$isi = stripslashes ($hasil['isi']);
$pengirim = stripslashes ($hasil['pengirim']);
$tanggal = stripslashes ($hasil['tanggal']);
//proses edit berita
if (isset($_POST['Edit'])) {
 $id_berita = $_POST['hidberita'];
 $judul = addslashes (strip_tags ($_POST['judul']));
 $kategori = $_POST['kategori'];
 $headline = addslashes (strip_tags ($_POST['headline']));
 $isi_berita = addslashes (strip_tags ($_POST['isi']));
 $pengirim = addslashes (strip_tags ($_POST['pengirim']));
//update berita
 $query = "UPDATE berita SET
id_kategori='$kategori',judul='$judul',headline='$headline',
   isi='$isi_berita',pengirim='$pengirim' WHERE
id_berita='$id_berita'";
 $sql = mysql_query ($query);
if ($sql) {
  echo "<h2><font color=blue>Berita telah berhasil
diedit</font></h2>";
 } else {
echo "<h2><font color=red>Berita gagal
diedit</font></h2>";
}
}
?>
<html>
<head><title>Edit Berita</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
  <a href="index.php">Halaman Depan</a> |
  <a href="arsip_berita.php">Arsip Berita</a> |
  <a href="input_berita.php">Input Berita</a>
<br><br>
  <FORM ACTION="" METHOD="POST" NAME="input">
   <table cellpadding="0" cellspacing="0" border="0" width="700">
  <tr>    
  <td colspan="2"><h2>Input Berita</h2></td>   
  </tr>   
  <tr>    
  <td width="200">Judul Berita</td>       
  <td>: <input type="text" name="judul" size="30" value="<?php echo $judul ?>">
  </td>
  </tr>   
  <tr>    
  <td>Kategori</td>    
  <td>:     <select name="kategori">    
  <?php       
       $query = "SELECT id_kategori, nm_kategori FROM kategori ORDER BY nm_kategori";
       $sql = mysql_query ($query);  
       while ($hasil = mysql_fetch_array  ($sql))
       {
                   $selected = ($hasil['id_kategori']==  $id_kategori) ? "selected" : "";
                   echo "<option  value='$hasil[id_kategori]' $selected>$hasil[nm_kategori]</option>";
       }    
       ?>     </select></td>   
    </tr>   
    <tr>    
    <td>Headline Berita</td>      
    <td>: <textarea name="headline" cols="50" rows="4"><?=$headline?></textarea></td>
  </tr>   
  <tr>    
  <td>Isi Berita</td>      
  <td>: <textarea name="isi" cols="50" rows="10"><?=$isi?></textarea></td>
  </tr>   
  <tr>    
  <td>Pengirim</td>      
  <td>: <input type="text" name="pengirim" size="20" value="<?=$pengirim?>"></td>
  </tr>   
  <tr>    
  <td>&nbsp;</td>    
  <td>&nbsp;&nbsp;     <input type="hidden" name="hidberita"  value="<?=$id_berita?>">
     <input type="submit" name="Edit" value="Edit Berita">&nbsp;
   <input type="reset" name="reset"  value="Cancel"></td>
  </tr>   </table>  </FORM>
</body>
</html>

8.    Membuat Halaman Delete Berita
Program 7
Nama File  : delete_berita.php
Deskripsi  : Program untuk menghapus berita.

<?php
include "koneksi.php";
if (isset($_GET['id'])) {
 $id_berita = $_GET['id'];
} else {
 die ("Error. No Id Selected! ");
}
?>
<html>
<head><title>Delete Berita</title>
<link rel="stylesheet" href="style.css">
</head>
<body>
  <a href="index.php">Halaman Depan</a> |
  <a href="arsip_berita.php">Arsip Berita</a> |
  <a href="input_berita.php">Input Berita</a>
<br><br>
<?php
  //proses delete berita
  if (!empty($id_berita) && $id_berita != "") {       $query = "DELETE FROM berita WHERE
id_berita='$id_berita'";
   $sql = mysql_query ($query);
 if ($sql) {     echo "<h2><font color=blue>Berita telah berhasil
dihapus</font></h2>";
   } else {
   echo "<h2><font color=red>Berita gagal
dihapus</font></h2>";
 }     echo "Klik <a href='arsip_berita.php'>di sini</a>
untuk kembali ke halaman arsip berita";
  } else {
 die ("Access Denied");  }
?>
</body>
</html>

9.    CSS Sebagai Pemanis Tampilan
Program 8
Nama File  : style.css
Deskripsi  : File CSS sebagai pemanis tampilan.

body {
font-family:verdana;
font-size:11px; 
}
a {
color:#0000ff;
text-decoration:underline;
}
a:hover {
color:#ffffff;
background-color:#8AC452;
text-decoration:none;
}
input, textarea, select, option {
font-family:verdana;
}



Artikel ini bisa di download dalam bentuk pdf