Categories: Tutorial Php

Tutorial Membuat Aplikasi Berita Menggunakan Php & MySQL

Kali ini saya akan berbagi cara membuat aplikasi berita yang sederhana menggunkan PHP dan database MySQL. 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 berikut :

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

CREATE TABLE berita(
  id_berita int(5) unsigned NOT NULL auto_increment,
  id_kategori int(3) unsigned NOT NULL default '0',
  judul varchar(100) NOT NULL default '',
  headline text NOT NULL,
  isi text NOT NULL,
  pengirim varchar(15) NOT NULL default '',
  tanggal datetime NOT NULL default '0000-00-00 00:00:00',
  PRIMARY KEY (id_berita)
) TYPE=MyISAM;

2. Berikut ini perintah (SQL) untuk membuat tabel “kategori” :

CREATE TABLE kategori(
  id_kategori int(3) unsigned NOT NULL auto_increment,
  nm_kategori varchar(30) NOT NULL default '',
  deskripsi varchar(200) NOT NULL default '',
  PRIMARY KEY (id_kategori)
)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.

<?php $host = "localhost"; $user = "root"; $pass = ""; $dbnm = "pw2"; $conn = mysql_connect($host, $user, $pass); if($conn){ $connect = mysql_select_db($dbnm); if(!$connect){ die("Database tidak dapat dibuka"); } }else{ die("Server MySql tidak terhubung"); } ?>

4. Membuat File Menampilkan Headline Berita
Nama File : index.php
Deskripsi : Program menampilkan 5 berita terbaru di halaman depan.

<? include "koneksi.php"; ?>
<html>
<head><title>Index Berita</title>
<link rel="stylesheet" href="style.css" />
</head>
<body>
 <a href="index.php">Halaman Depan</a> &nbsp|
    <a href="arsip_berita.php">Arsip Berita</a>&nbsp|
    <a href="input_berita.php">Input Berita</a>
    

    

<h2>Halaman Depan ~ Lima Bertita Terbaru</h2>

    <?
    $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";
 $sql = mysql_query($query);

 while ($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=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 "

$headline

";
 echo "
<hr>

";
 }
 ?>
</body>
</html>

5. Membuat Halaman Input Berita
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><span style='color: blue;'>Berita telah berhasil ditambahkan</span></h2>

"; 
 }else{
  echo "
<h2><span style='color: red;'>Berita gagal ditambahkan</span></h2>

";
 }
}
?>
<html>
    <head><title>Input Berita</title>
     <link href="style.css" rel="stylesheet"></link>
    </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>
    

    

<form action-xhr="#" method="post" name="input">

<table border="0" cellpadding="0" style="width: 700px;">

<tr>

<td colspan="2">
<h2>Input Berita</h2>

 </td>

   </tr>


<tr>

<td width="200">Judul Berita</td>


<td>: <input name="judul" size="30" type="text" /></td>

        </tr>


<tr>

<td>Kategori</td>


<td>: 
            <select name="kategori">
<?     
            $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 cols="50" name="headline" rows="4"></textarea></td>

        </tr>


<tr>

<td>Isi Berita</td>


<td>: <textarea cols="50" name="isi" rows="10"></textarea></td>

        </tr>


<tr>

<td>Pengirim</td>


<td>: <input name="pengirim" size="30" type="text" /></td>

        </tr>


<tr>

<td> </td>


<td>  
            <input name="input" type="submit" value="Input Berita" />
              
            <input name="reset" type="reset" value="Cancel" /></td>

        </tr>

</table>

</form>

</body>
</html>

6. Menampilkan berita lengkap
Nama File : berita_lengkap.php
Deskripsi : Program menampilkan berita 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 href="style.css" rel="stylesheet"></link>
    </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>
    


<h2>Berita Lengkap</h2>

<?
    $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'";
 $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>
";
 echo "<small>Berita dikirimkan oleh <b>$pengirim</b>
    pada tanggal <b>$tanggal</b> dalam kategori <b>
   $kategori</b></small>";
 echo "

$isi

";
 ?>  
</body>
</html>

7. Membuat Halaman Arsip Berita
Nama File : arsip_berita.phpDeskripsi : Program arsip keseluruhan berita.

<?php include "koneksi.php"; ?>
<html>
<title>Arsip Berita</title>
   <link href="style.css" rel="stylesheet">
      <script language="javascript">
        function tanya(){
      if(confirm("Apakah anda yakin akan menghapus berita ini?")){
    return true; 
  }else{
    return false; 
     }
   }
      </script>
 

  <a href="index.php">Halaman Depan</a> 
    <a href="arsip_berita.php">Arsip Berita</a> 
    <a href="input_berita.php">Input Berita</a>
    


<h2>Arsip Berita</h2>


<ol>
<?
    $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']);
  //tamppilkan arsip berita
  echo "
<li><a href='berita_lengkap.php?id=$id_berita'>$judul</a>";
  echo "<small>Berita dikirimkkan oleh <b>$pengirim</b> pada tanggal <b>$tanggal</b> dalam kategori <b>$kategori</b> </small>";
  echo "<b>Action : </b><a href='edit_berita.php?id=$id_berita'>Edit</a> | ";
  echo "<b>Action : </b><a href='delete_berita.php?id=$id_berita' >

8. Membuat Halaman Edit Berita
Nama File : edit_berita.php
Deskripsi : Program untuk mengedit 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><span style='color: blue;'>Berita telah berhasil diedit</span></h2>

";
 }else{
  echo "
<h2><span style='color: red;'>Berita gagal diedit</span></h2>

";
 }
}
?>
<html>
    <head><title>Edit Berita</title>
     <link href="style.css" rel="stylesheet">
     </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>
   


<form action-xhr="#" method="post" name="input">

<table style="width: 700px;" border="0" cellpadding="0">

<tr>

<td colspan="2">
<h2>Edit Berita</h2>
</td>

        </tr>


<tr>

<td width="200">Judul Berita</td>


<td>: <input name="judul" size="30" value="<?=$judul?>" type="text"></td>

        </tr>


<tr>

<td>Kategori</td>


<td>: 
            <select name="kategori">
 <?          
   $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]'>$hasil[nm_kategori]</option>"; 
   }
?>
     </select>
            </td>

        </tr>


<tr>

<td>Headline Berita</td>


<td>: <textarea cols="50" name="headline" rows="4"><?=$headline?></textarea></td>

        </tr>


<tr>

<td>Isi Berita</td>


<td>: <textarea cols="50" name="isi" rows="10"><?=$isi?></textarea></td>

        </tr>


<tr>

<td>Pengirim</td>


<td>: <input name="pengirim" size="30" value="<?=$pengirim?>" type="text"></td>

        </tr>


<tr>

<td> </td>


<td>  
            <input name="hidberita" value="<?=$id_berita?>" type="hidden">
            <input name="edit" value="Edit Berita" type="submit">
              
            <input name="reset" value="Cancel" type="reset"></td>

        </tr>

</table>

</form>

</body>
</html>

9. Membuat Halaman Delete Berita
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 href="style.css" rel="stylesheet">
 </head>    
    <a href="index.php">Halaman Depan</a>  
    <a href="arsip_berita.php">Arsip Berita</a> 
    <a href="input_berita.php">Input Berita</a>
<body>
<?
    //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>
  <span style='color: blue;'>Berita telah berhasil dihapus</span></h2>

";
    }else{
     echo "
<h2><span style='color: red;'>Berita gagal dihapus</span></h2>

";
   }
   echo "klik <a href='arsip_berita.php'>di sini untuk kembali ke halaman arsip berita";
}else{
   die("Access Denied"); 
 }
?>
</body>
</html>

10. CSS untuk Menghias Tampilan
Nama File : style.css
Deskripsi : File Css sebagai pemanis tampilan

@charset "utf-8";
/* CSS Document */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;
 font-size:12px; 
}

Silahkan anda pelajari tutorial membuat aplikasi berita menggunakan Php dan MySQL.
Silahkan anda download source codenya melalui link download di bawah ini :
Download source code

Demikian yang dapat kami share kepada sobat source code aplikasi pada kesempatan ini, semoga dapat bermanfaat dan bisa menjadi referensi pemrograman bagi anda. Jangan lupa like Fan Page kami, dan SUBSCRIBE Channel Youtube kami untuk dapatkan update source code aplikasi terbaru.
Ahmad Code

Recent Posts

Source code Aplikasi Website Pendaftaran Online Menggunakan PHP Mysql

Buat sobat semua yang lagi membutuhkan sedikit pencerahan tentang membuat website sistem pendaftaran online, pada…

1 hour ago

Source code Aplikasi Penjualan Sepeda Motor Menggunakan PHP dan MySQL

Aplikasi Penjualan Sepeda Motor berbasis web ini adalah merupakan aplikasi untuk memberikan kemudahan dalam proses…

7 hours ago

Source code Aplikasi Perpustakan Menggunakan PHP MySQL

Pada kesempatan ini kami kembali mensharing koleksi Aplikasi Perpustakaan Menggunakan Bahasa Pemrograman PHP dan Basisdata…

13 hours ago

Source code aplikasi kantin sederhana menggunakan php

Aplikasi Pemesanan Kantin Sederhana Tentang Aplikasi Dengan Boostrap 3.3.1 Pure Javascript Slim Framework (Hanya Routing…

19 hours ago

Source code aplikasi perpustakaan berbasis web

Seringkali kita memasuki sebuah perpustakaan untuk memilih sebuah buku yang akan di pinjam.Tanpa pikir panjang…

1 day ago

Source code aplikasi blog CMS menggunakan codeigniter

Bagi anda yang senang bereksplorasi di dunia pemograman khususnya php, kali ini kami bagikan secara…

1 day ago