CRUD OOP menggunakan PHP

Hallo teman teman apa kabar ? mudah mudahan selalu diiberikkan kesehatan ya.  Kali ini saya akan memberkan tutorial membuat crud dengan php dan menggunakan database mysql

Tutorial ini saya buat sangat mudah agar Anda yang pemula bisa mempelajarinya dengan mudah. Karena ini hanya basicnya saja, jadi tidak ada yang namanya kemanan dalam query ke database, saya bua sangat sederhana agar mudah dipelajari dengan mudah.

Oke, sebelumnya file-file yang akan kita buat adalah seperti tambah pada gambar di bawah ini:

Nah, sudah tau kan file apa saja yang nantinya kita buat.

Step #1 Database
Tahap pertama adalah membuat database dahulu di phpMyAdmin, saya umpamakan Anda sudah membuat sebuah database dengan nama tutorialweb.
Jika database sudah dibuat, sekarang Dumping script SQL di bawah ini:

CREATE TABLE `mahasiswa` (
  `id` int(11) NOT NULL,
  `nim` varchar(20) NOT NULL,
  `nama` varchar(30) NOT NULL,
  `tempat_lahir` varchar(30) NOT NULL,
  `tanggal_lahir` date NOT NULL,
  `jenis_kelamin` enum('Laki-laki','Perempuan') NOT NULL,
  `agama` enum('Islam','Kristen','Katholik','Hindu','Budha','Konghuchu') NOT NULL,
  `alamat` varchar(100) NOT NULL,
  `no_telepon` varchar(12) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;


Step #2 Koneksi ke Database
Tahap selanjutnya adalah melakukan koneksi ke database, file untuk koneksi ke database adalah library.php.
Silahkan buat file baru dan beri nama library.php kemudian isi dari file ini seperti di bawah ini:

<?php
                class Library{
                                public function __construct(){
                                                $this->db = new PDO('mysql:host=localhost;dbname=crud_oop','root','');
                                }
                                public function tambahMhs($nim, $nama, $tempat_lahir, $tanggal_lahir, $jenis_kelamin, $agama, $alamat, $no_telepon){
                                                $sql = "INSERT INTO mahasiswa (nim, nama, tempat_lahir, tanggal_lahir, jenis_kelamin, agama, alamat, no_telepon) VALUES('$nim', '$nama', '$tempat_lahir', '$tanggal_lahir', '$jenis_kelamin', '$agama', '$alamat', '$no_telepon')";
                                                $query = $this->db->query($sql);
                                                if(!$query){
                                                                return "Failed";
                                                }
                                                else{
                                                                return "Success";
                                                }
                                }
                                public function editMhs($id){
                                                $sql = "SELECT * FROM mahasiswa where id='$id'";
                                                $query = $this->db->query($sql);
                                                return $query;
                                }
                                public function updateMhs($nim, $nama, $tempat_lahir, $tanggal_lahir, $jenis_kelamin, $agama, $alamat, $no_telepon){
                                                $sql = "UPDATE mahasiswa SET nim='$nim', nama='$nama', tempat_lahir='$tempat_lahir', tanggal_lahir='$tanggal_lahir', jenis_kelamin='$jenis_kelamin', agama='$agama', alamat='$alamat', no_telepon='$no_telepon' WHERE nim='$nim'";
                                                $query = $this->db->query($sql);
                                                if(!$query){
                                                                return "Failed";
                                                }
                                                else{
                                                                return "Success";
                                                }
                                }
                                                 
                                public function showmahasiswa(){
                                                $sql = "SELECT * FROM mahasiswa order by id desc";
                                                $query = $this->db->query($sql);
                                                return $query;
                                }
                                public function deleteMhs($id){
                                                $sql = "DELETE FROM mahasiswa WHERE id='$id'";
                                                $query = $this->db->query($sql);
                                                if(!$query){
                                                                return "Failed";
                                                }
                                                else{
                                                                return "Success";
                                                }
                                }
                }
?>

Step #3 Memasukkan Data (Create/Insert)
Tahap ke empat adalah meng-insertkan data ke database dengan perintah INSERT INTO.
Pertama tertu saja kita buat Form utuk memasukkan datanya.
Form ini akan kita simpan dalam file index.php dengan script seperti di bawah ini:

<!DOCTYPE html>
<html lang="en">
                <head>
                                <meta charset="UTF-8">
                                <title>CRUD PDO</title>
                                <!-- Latest compiled and minified CSS -->
                                <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
                                <!-- Latest compiled and minified JavaScript -->
                                <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
                </head>

                <body>
                                <div class="container">
                                                <h2>Tambah Mahasiswa Baru</h2>
                                                <form action="index.php" method="POST" class="form-group row">
                                                                NIM : <input type="text" name="nim" required="required" class="form-control" placeholder="Masukan NIM anda"><br/>
                                                                Nama : <input type="text" name="nama" required="required" class="form-control" placeholder="Masukan Nama Anda"><br/>
                                                                Tempat Lahir : <input type="text" name="tempat_lahir" class="form-control" placeholder="Masukan Tempat Lahir Anda"><br/>
                                                                Tanggal Lahir : <input type="text" name="tanggal_lahir" class="form-control" placeholder="Masukan Tanggal Lahhir Anda. Dengan format YYYY-MM-DD, contoh : 1945-08-17"><br/>
                                                                Jenis Kelamin : <select name="jenis_kelamin" class="form-control">
                                                                                                                                                <option value="">--Pilih Jenis Kelamin--</option>
                                                                                                                                                <option value="Laki-laki">Laki-laki</option>
                                                                                                                                                <option value="Perempuan">Perempuan</option>
                                                                                                                                </select> <br />
                                                                                                                               
                                                                Agama :                                <select name="agama" class="form-control">
                                                                                                                                                <option value="">--Pilih Agama Anda--</option>
                                                                                                                                                <option value="Islam">Islam</option>
                                                                                                                                                <option value="Kristen">Kristen</option>
                                                                                                                                                <option value="Katolik">Katolik</option>
                                                                                                                                                <option value="Hindu">Hindu</option>
                                                                                                                                                <option value="Budha">Budha</option>
                                                                                                                                                <option value="Konghuchu">Konghuchu</option>
                                                                                                                                                <option value="Lainnya">Lainnya</option>
                                                                                                                                </select> <br />
                                                                No. Telepon : <input type="text" name="no_telepon" class="form-control" placeholder="Masukan No. Telepon Anda"><br/>
                                                                Alamat : <textarea name="alamat" class="form-control" placeholder="Masukan Alamat Lengkap Anda"></textarea><br/>
                                                                <input type="submit" name="tambahMhs" value="Tambah" class="btn btn-success">
                                                                <input type="reset" value="Batal" class="btn btn-warning">
                                                </form>
                                </div>
                </body>
</html>
<?php
                require('library.php');
                if(isset($_POST['tambahMhs'])){
                                $nim = $_POST['nim'];
                                $nama = $_POST['nama'];
                                $tempat_lahir=$_POST['tempat_lahir'];
                                $tanggal_lahir=$_POST['tanggal_lahir'];
                                $jenis_kelamin=$_POST['jenis_kelamin'];
                                $agama=$_POST['agama'];
                                $alamat=$_POST['alamat'];
                                $no_telepon=$_POST['no_telepon'];

                                $Lib = new Library();
                                $add = $Lib->tambahMhs($nim, $nama, $tempat_lahir, $tanggal_lahir, $jenis_kelamin, $agama, $alamat, $no_telepon);
                                if($add == "Success"){
                                                header('Location: List.php');
                                }
                }

?>

Step #4 Menampilkan Data (READ/SELECT)
Tahap ketiga adalah menampilkan data dari database atau jika dalam singkatan CRUD maka kali ini adalah R -> Read.
Untuk menampilkan data, kita akan membuat file dengan nama index.php. Dan isi dari file index.php adalah script di bawah ini:

<!DOCTYPE html>
<html lang="en">
                <head>
                                <meta charset="UTF-8">
                                <title>List Mahasiswa</title>
                                <!-- Latest compiled and minified CSS -->
                                <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
                                <!-- Latest compiled and minified JavaScript -->
                                <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
                </head>

                <body>
                                <div class="container">
                                                <h2>Daftar Nama Mahasiswa</h2>
                                                <table class="table">
                                                                <tr>
                                                                                <td>NIM</td>
                                                                                <td>Nama</td>
                                                                                <td>Jenis Kelamin</td>
                                                                                <td>Alamat</td>
                                                                                <td>Edit</td>
                                                                                <td>Delete</td>
                                                                </tr>
                                                                <?php
                                                                require("library.php");
                                                                $Lib = new Library();
                                                                $show = $Lib->showmahasiswa();
                                                                while($data = $show->fetch(PDO::FETCH_OBJ)){
                                                                echo "
                                                                <tr>
                                                                                <td>$data->nim</td>
                                                                                <td>$data->nama</td>
                                                                                <td>$data->jenis_kelamin</td>
                                                                                <td>$data->alamat</td>
                                                                                <td><a class='btn btn-info' href='edit.php?id=$data->id'>Edit</td>
                                                                                <td><a class='btn btn-danger' href='list.php?deleteMhs=$data->id'>Delete</a></td>
                                                                </tr>";
                                                                };
                                                                ?>
                                                </table>
                                                <a href="index.php" class="btn btn-success">Tambah Mahasiswa Baru</a>
                                </div>
                </body>
</html>

<?php
if(isset($_GET['deleteMhs'])){
$del = $Lib->deleteMhs($_GET['deleteMhs']);
if($del == "Success"){
                                                header('Location: List.php');
                                }
}
?>

Step #5 Update Data (Update/Edit)
Tahap ini adalah untuk melakukan edit data pada database. File yang akan kita buat adalah file edit.php.
Link untuk menuju halaman edit adalah pada file index.php dimana disana pada tabel kolom Opsi ada Link edit dan hapus.
Berikut source codenya :

<?php
require('library.php');

if(isset($_GET['id'])){
$Lib = new Library();
$id = $Lib->editMhs($_GET['id']);
$edit = $id->fetch(PDO::FETCH_OBJ);
echo '
                <!DOCTYPE html>
                <html lang="en">
                <head>
                                <meta charset="UTF-8">
                                <title>Edit Data Mahasiswa</title>
                                <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
                                <!-- Latest compiled and minified JavaScript -->
                                <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>
                </head>
                <body>
                                <div class="container">
                                                <h2>Ubah Data Mahasiswa</h2>
                                                <form action="edit.php" method="POST" class="form-group row">
                                                                NIM : <input type="text" name="nim" value="'.$edit->nim.'" required class="form-control"><br>
                                                                Nama : <input type="text" name="nama" value="'.$edit->nama.'" required class="form-control"><br>
                                                                Tempat Lahir : <input type="text" name="tempat_lahir" value="'.$edit->tempat_lahir.'" required class="form-control"><br/>
                                                                Tanggal Lahir : <input type="text" name="tanggal_lahir" value="'.$edit->tanggal_lahir.'" required class="form-control"><br/>
                                                                Jenis Kelamin : <input type="text" name="jenis_kelamin" value="'.$edit->jenis_kelamin.'" required class="form-control"><br/>
                                                                Agama : <input type="text" name="agama" value="'.$edit->agama.'" required class="form-control"><br/>
                                                                No. Telepon : <input type="text" name="no_telepon" value="'.$edit->no_telepon.'" required class="form-control"><br/>
                                                                Alamat : <textarea name="alamat" class="form-control">'.$edit->alamat.'</textarea><br/>
                                                                <input type="submit" name="updateMhs" value="Update" class="btn btn-info">
                                                                <input type="reset" value="Batal" class="btn btn-warning">
                                                </form>
                                </div>
                </body>
                </html>
                ';
}

                if(isset($_POST['updateMhs'])){
                                $nim = $_POST['nim'];
                                $nama = $_POST['nama'];
                                $tempat_lahir=$_POST['tempat_lahir'];
                                $tanggal_lahir=$_POST['tanggal_lahir'];
                                $jenis_kelamin=$_POST['jenis_kelamin'];
                                $agama=$_POST['agama'];
                                $alamat=$_POST['alamat'];
                                $no_telepon=$_POST['no_telepon'];

                                $Lib = new Library();
                                $upd = $Lib->updateMhs($nim, $nama, $tempat_lahir, $tanggal_lahir, $jenis_kelamin, $agama, $alamat, $no_telepon);
                                if($upd == "Success"){
                                                header('Location: List.php');
                                }
                }
?>

Catatan : kesalahan terdapat pada soruce code library.php pada bagian function editmhs, disana pertama tercantum SELECT * FROM mahasiswa , source code sql itu hanya untuk menampilkan tabel mahasiswa secara keseluruhan, kemudian yang benar adalah SELECT * FROM mahasiswa where  id='$id' , kode sql itu untuk menyeleksi tabel dengan catatan id yang dipilih, atau hanya dengan id tertentu yang tampil. mengapa seperti ini karena untuk menampilkan data ke form tentu harus sesuai id yang dipilih.

ksesalahan kedua terdapat pada list.php pada bagian class button untuk edit, awalnya tercantum seperti ini <td><a class='btn btn-info' href='edit.php?nim=$data->id'>Edit</td>pada kode tersebut yang diseleksi adalah nim sedangkan yang diperlukan adalah id, maka kodenya yang benar adalah seperti ini <td><a class='btn btn-info' href='edit.php?id=$data->id'>Edit</td>

Berikut Source codenya, klik Download









Tradisi Kota Tegal

Tradisi Kota Tegal
Moci, Sebuah Tradisi Tegal Dari Dulu.


Sebagai warga Tegal tentunya tak asing lagi dengan moci. Moci merupakan sebuah kegiatan ngumpul bareng ngeteh dengan poci tanah ditemani mendoan hangat yang biasanya dilakukan pada pagi atau malam hari. Moci tak harus dilakukan rame-rame, sendirian pun bisa. Namun karena sudah kebiasaan dari dulu, moci identik dengan ngumpul ditemani teh poci.
Tak sedikit warga Tegal melakukan hal ini, karena moci sudah menjadi tradisi turun temurun. Belum dikatakan orang Tegal kalau belum moci. Moci juga sudah menjadi icon Tegal, sampai-sampai disetiap sudut kota ada patung poci. Poci Tegal memang punya khas tersendiri karena bahannya dari tanah, inipun membuat rasa tehnya lebih berasa di lidah. Kata sebagian orang diluar Tegal, teh Tegal punya rasa khas wangi asli dengan melatinya.
Kalau dilihat membuat minuman teh ini mudah, tapi tak jarang orang salah cara dalam membuatnya. Ada yang merebus bareng dengan tehnya dan akibatnya rasa agak beda. Berikut cara membuat teh yang baik dan lebih nikmat:
Bahan-bahan:
- Air putih 500 ml
- Teh poci/super 1-2 bungkus
- gula batu 1 bungkus
- poci tanah + gelas tanah (sesuai kebutuhan)
- Cara membuat :
- Rebus Air dahulu hingga matang
- masukkan 1 bungkus teh kedalam 1 poci tanah
- masukkan air panas tadi kedalam poci
- tunggu 3-5 menit hingga teh tenggelam dalam poci
- siapkan gula batu didalam setiap gelas
- tuangkan sedikit-sedikit teh dalam poci kedalam gelas tanah
- tinggal diminum, biasanya cara minumnya disruput.
- selamat mencoba.
Pawai Ancak Sedekah Laut Di Tegal


TEGAL, suaramerdeka.com - Sebagai ungkapan rasa syukur kepada Tuhan yang Maha Esa, nelayan di Kota Tegal menggelar sedekah laut. Rangkaian kegiatan sedekah laut dimulai Minggu (11/12) hingga Jumat (16/12).
Salah satu kegiatan yakni Pawai Ancak dilaksanakan Senin (12/12). Sebanyak enam ancak diarak menggunakan mobil pikap keliling Kota Tegal. Ancak berupa rumah-rumahan berisi sesaji berupa kepala kerbau, buah-buahan, minuman ringan dan makanan.
Pawai diikuti ratusan peserta mulai anak-anak hingga dewasa dan dimeriahkan drumband, balo-balo, rebana, buraq, organ tunggal dan kereta kelinci. Rombongan melalui rute dari Jl Brawijaya, Jl Blanak, Jl Piere Tendean, Jl S Parman, Jl Proklamasi, Jl Veteran, Jl A Yani, Jl KH Mansyur dan finish di Pendapa Ki Gede Sebayu, Balai Kota Tegal.
Pawai sedekah laut keliling kota menyedot perhatian masyarakat. Di Balai Kota, peserta pawai diterima Wali Kota Tegal Ikmal Jaya SE Ak dan sejumlah jajaran SKPD. Wali Kota mengatakan, "Pemkot menyambut baik pelaksanaan pawai dan sedekah laut yang sudah menjadi tradisi masyarakat maritim di Kota Tegal."
Ikmal menyebutkan, sedekah laut merupakan ungkapan syukur atau terima kasih nelayan kepada Tuhan Yang Maha Esa, karena telah diberi rezeki tangkapan ikan yang bagus tahun ini dan ke depan berharap diberi hasil lebih baik, serta keselamatan saat melaut. ”Semua permintaan doa hanya ditujukan kepada Allah Tuhan Yang Maha Esa. Hanya untuk itu ada tradisi sedekah laut,” sebutnya.
Menurut Ikmal, Pemkot Tegal mendukung budaya masyarakat yang harus dilestarikan seperti Pawai Sedekah Laut, Toa Pe Kong, Rolasan, dan HUT Kota Tegal. Kegiatan itu akan dijadikan sebagai agenda tahunan menyambut program Tegal Wisata 2014.
Dikelola Pemkot
Upaya Pemkot telah dilakukan, diawali dengan mengalokasikan pajak pendapatan Tempat Pelelangan Ikan (TPI) yang telah dikelola Pemkot unuk membiayai kegiatan sedekah laut.
Ketua Himpunan Nelayan Seluruh Indonesia (HNSI) Kota Tegal Mahmud Effendi mengatakan, enam ancak yang diarak merupakan sumbangan dari nelayan kapal purseseine (dua ancak), gillnet dan cantrang (dua ancak) dan tulakan atau kapal kecil (dua ancak).
Mahmud menyebutkan, pawai hingga Balai Kota pernah dilaksanakan pada saat kepemimpinan Wali Kota HM Zakir. Namun, setelah itu tidak lagi dilakukan. ”Dulu start dari Pendapa menuju ke pelabuhan, tetapi sekarang di balik finish di Pendapa,” paparnya.
Dia mengatakan, kegiatan sedekah laut menelan biaya hingga ratusan juta. Biaya diperoleh dari bantuan Pemkot, pemilik kapal, nakhoda dan Anak Buah Kapal (ABK).
Dari Pemkot, angaran yang diusulkan sebesar Rp 105 juta, Pemkot menyumbang Rp 99 juta. Bantuan itu digunakan untuk membiayai pawai, sunatan massal, bantuan kepada panti jompo dan janda, serta penghargaan kepada sepuluh kapal berprestasi.
Sementara itu, tiap pemilik kapal dimintai sumbangan yang bervariasi jumlahnya. Untuk kapal purseseine masing-masing kapal ditarik Rp 500.000, kapal cantrang dan gillnet Rp 400.000 dan kapal tulakan Rp 100.000. ”Jumlah kapal purseseine ada sekitar 100 unit, kapal cantrang 500 unit, gillnet 30 unit dan tulakan ada 20 unit,” terang dia.
Mahmud menyebutkan, kegiatan sedekah laut merupakan kegiatan yang dinantikan nelayan. Kegiatan ini menjadi ajang mempersatukan nelayan.

TRADISI BUANG AYAM ATAU BEBEK DI TEGAL


Tegal, selain kaya dengan keragaman kulinernya, kaya juga dengan keragaman budaya dan tradisinya. Setelah kemarin kita bahas mengenaiTebus Weteng, kini kita bahas mengenai tradisi Buang Ayam / Bebek. Tradisi ini dilaksanakan setelah prosesi Ijab Qabul pernikahan. Namun tradisi ini dikhususkan bagi calon mempelai yang rumahnya dibatasi oleh sungai yang agak besar. Jadi ketika iring-iringan calon pengantin tersebut melewati jembatan, diwajibkan membawa sepasang bebek atau ayam untuk dibuang. Menurut kepercayaan setempat, apabila tidak melaksanakan tradisi tersebut, bisa dipastikan kedua pengantin tersebut bakal celaka.
Pada jaman dahulu, dibuang dalam artian adalah bebek / ayam tersebut dijadikan semacam tumbal agar terbebas dari celaka. Sehingga bebek / ayam yang dilempar tersebut akan hanyut dan mati terbawa arus sungai.
Namun kini seiiring dengan berjalannya waktu, prosesi “pembuangan” tersebut tidak sepenuhnya dibuang, namun nanti diperebutkan oleh anak – anak yang sudah menunggu di bawah jembatan. Setiap pengantin membawa bebek / ayam satu persatu, dan dalam hitungan ketiga, hewan tersebut dilemparkan dan dijadikan rebutan. Suasana di bawah jembatan menjadi riuh ramai oleh anak- anak yang saling berebut. Biasanya, hasil tangkapannya pun nanti dimasak untuk disantap bersama-sama dengan anak- anak yang lainnya.Tradisi yang awalnya sebagai penolak bala, kini berubah menjadi sedekah. Karena biasanya anak – anak yang berebut hewan tersebut adalah dari golongan yang kurang mampu. Untuk lebih meramaikan acara, kedua hewan tersebut biasanya dihias yaitu diberi pita agar menarik perhatian. Unik bukan?
Tradisi ini masih dilakukan oleh desa yang dilewati oleh sungai besar dan lokasinya terbilang jauh dari jalan utama. Ketika melakukan survey via twitter @infotegal, daerah yang tercatat masih melakukan tradisi ini adalah di Larangan (Kramat), seputaran Pagiyanten (Adiwerna), Sindang (Dukuhwaru), dan beberapa daerah lainnya.

Sumber : Infotegal