Showing posts with label Database. Show all posts
Showing posts with label Database. Show all posts

Saturday, November 25, 2023

Install 2 XAMPP dalam 1 Windows

Perkembangan Software Aplikasi baik yang utama ataupun pendukung sekarang ini sangatlah begitu cepat, ini tentu saja berdampak pada produk aplikasi atau sistem yang dibangun dan dihasilkan. Sebagai contoh dalam postingan kali ini, saya ambil contoh aplikasi XAMPP.

Seperti yang kita ketahui, bahwa XAMPP yang memiliki kepanjangan:

X adalah untuk Cross Platform (Windows, Linux, MacOS, dll)

A adalah untuk Apache (sebagai Web Server)

M adalah untuk MySQL/MariaDB (sebagai Database Server)

P adalah untuk PHP (sebagai Bahasa Pemrograman)

P adalah untuk Perl (sebagai Bahasa Pemrograman)

adalah sebuah paket aplikasi yang didalamnya sudah termuat Apache dan MySQL yang sekarang ini banyak sekali digunakan oleh programmer untuk membangun aplikasi khususnya berbasis web.

Dalam contoh ini, sebut saja dampak yang bisa dirasakan adalah bagaimana sebelumnya sebuah aplikasi berbasis web yang dibangun dengan menggunakan Bahasa Pemrograman PHP versi 7 (XAMPP v 3.2.4 tahun 2019) yang berjalan dengan baik, dengan adanya versi baru misalnya Bahasa Pemrograman PHP versi 8 (XAMPP v 3.3.0 tahun 2021) menjadi error saat programnya dijalankan. atau contoh lainnya.

Dengan melihat contoh diatas, salah satu solusi yang kita bisa lakukan adalah dengan memasang 2 versi XAMPP dalam 1 Komputer misalnya dengan Sistem Operasi Windows.

Untuk hal tersebut, dalam postingan kali ini akan diberikan cara setting XAMPP agar bisa berjalan keduanya sehingga kita tidak mengalami masalah dalam menjalankan aplikasi atau program yang sudah jadi yang sebelumnya sudah running.

Langkah-langkahnya adalah:

1. Install versi XAMPP yang pertama seperti biasa.

2. Install versi XAMPP yang kedua. 

    Di XAMPP yang kedua ini, saat step penentuan Folder tempat instalasi ketikkan C:xampp8

3. Lanjutkan penginstalan seperti biasa.

4. Ketika sudah selesai instalasi, sekarang saatnya setting beberapa file di XAMP yang kedua. beberapa setingan tersebut adalah:

   - file yang akan diedit tersebut ada 4 file seperti gambar dibawah 



   - Untuk File Apache (httpd.conf) rubah Listen 80 menjadi Listen 8080 dan 
      rubah ServerName localhost:80 menjadi 80 ServerName localhost:8080

   - Untuk File Apache (httpd-ssl.conf) rubah Listen 44 menjadi Listen 444 dan
     rubah <VirtualHost _default_:443> menjadi <VirtualHost _default_:444>

   - Untuk File phpMyAdmin (config.inc.php) rubah $cfg['Servers'][$i]['host'] = '127.0.0.1';
     menjadi $cfg['Servers'][$i]['host'] = '127.0.0.1:3307';

   - Untuk File my.ini rubah port=3306 menjadi port=3307 (ada 2 dibagian ini)

5. Silahkan lakukan Penyimpanan untuk semua File yang sudah dirubah.
6. Jalankan XAMPP anda dengan cara:
    * XAMPP v3.2.4 ketikkan di browser addressbar: localhost/phpmyadmin kemudian enter
    * XAMPP v3.3.0 ketikkan di browser addressbar: localhost:8080/phpmyadmin kemudian enter
7. Selesai

Terima kasih dan Semoga Bermanfaat.
     





Monday, October 30, 2023

Implementasi Database di Pemrograman Web



1. Script File koneksi.php

    <?php
$servername="localhost";
$username="root";
$password="";
$database="db_praktikdba";
$koneksi=mysqli_connect($servername,$username,$password);
if(!$koneksi){
die("Gagal Koneksi:".mysqli_connect_error());
}
if(!mysqli_select_db($koneksi, $database))
{
echo "Tidak dapat menemukan database";
exit();
}
    ?>

2. Script File index.php

<html>
<head>
<title>Halaman Utama</title>
</head>
<body>
<p align="center">
<b>PRAKTIKUM MATAKULIAH DATABASE ADMINISTRATOR<br>
"IMPLEMENTASI DATABASE DI PEMROGRAMAN"</b>
<hr>
</p>
<table align="center">
<tr>
<td><a href="barang/barang.php"><b>Data Barang</b></a>&nbsp;&nbsp;&nbsp;</td>
<td><a href="kategori/kategori.php"><b>Data Kategori</b></a>&nbsp;&nbsp;&nbsp;</td>
<td><a href="frm_cetak.php"><b>Cetak Struk Penjualan</b></a>&nbsp;&nbsp;&nbsp;</td>
<td><a href="frm_jualperpelanggan.php"><b>Lihat Penjualan Per Pelanggan</b></a>&nbsp;&nbsp;&nbsp;</td>
</tr>
</table>
<p align="center"><font size="16" color="red">PRAKTIK DBA</font></p>
<p align="center"><font size="16" color="orange">PRAKTIK DBA</font></p>
<p align="center"><font size="16" color="yellow">PRAKTIK DBA</font></p>
<p align="center"><font size="16" color="green">PRAKTIK DBA</font></p>
<p align="center"><font size="16" color="blue">PRAKTIK DBA</font></p>
<p align="center"><font size="16" color="purple">PRAKTIK DBA</font></p>
</body>
</html> 

3. Script yang ada di Folder kategori:

    a. Script File kategori.php

<?php 
require_once "../koneksi.php";
?>
<html>
<head>
    <title>Daftar Kategori</title>
</head>
<body>
    <p align="center"> 
<b>PRAKTIKUM MATAKULIAH DATABASE ADMINISTRATOR<br>
"IMPLEMENTASI DATABASE DI PEMROGRAMAN"</b>
<hr>
</p>
<table align="center">
    <tr>
        <td><a href="kategori.php"><b>Data Kategori</b></a>&nbsp;&nbsp;&nbsp;</td>
    </tr>
</table>
<br><br>
<p align="center"> 
<b>Contoh Penggunaan View untuk Menampilkan Data Kategori</b>
</p>
<p align="center"><a href="tambah.php">Tambah</a>&nbsp;&nbsp;&nbsp;<a href="../index.php">Kembali</a></p>
        <table border="1" align="center" cellspacing="0" cellpadding="4">
            <thead>
                <tr>
                <th>No.</th>
                    <th>Kode Kategori</th>
                    <th>Nama Kategori</th>
                    <th>Aksi</th>
                </tr>
            </thead>
            <tbody>            
            <?php
            $no=1;
            $sql= $koneksi->query("select kode_kategori,nama_kategori from tb_kategori");
            while($data= $sql->fetch_assoc()){
            ?>
            <tr>
                <td align="center"><?php echo $no++;?></td>
                <td><?php echo $data['kode_kategori']?></td>
                <td><?php echo $data['nama_kategori']?></td>
                <td>
                    <a href="ubah.php?kode_kategori=<?php echo $data['kode_kategori'];?>">Edit</a>
                    <a onclick="return confirm('Anda Yakin akan menghapus Data Ini...???')" href="hapus.php?kode_kategori=<?php echo $data['kode_kategori'];?>">Hapus</a>
                </td>
            </tr>
            <?php } ?>        
        </tbody>
    </table>

    b. Script File tambah.php

<?php
require_once "../koneksi.php";
$query = mysqli_query($koneksi, "SELECT max(kode_kategori) as kodeTerbesar FROM tb_kategori");
$data = mysqli_fetch_array($query);
$kdkategori = $data['kodeTerbesar'];
$urutan = (int) substr($kdkategori, 1, 3);
$urutan++; 
$huruf = "K";
$kdkategori = $huruf . sprintf("%03s", $urutan);
?>
<html>
<head>
    <title>Insert Kategori</title>
</head>
<body>
<p align="center"> 
<b>PRAKTIKUM MATAKULIAH DATABASE ADMINISTRATOR<br>
"IMPLEMENTASI DATABASE DI PEMROGRAMAN"</b>
<hr>
</p>
<br><br>
<p align="center"> 
<b>Contoh Penggunaan INSERT untuk Menambah Data Kategori</b>
</p>
<p align="center"><a href="kategori.php">Kembali</a></p>
<form method="POST">
<table align="center">
<tr><td>Kode Kategori</td><td>:</td><td><input type="text" name="kode" value="<?php echo $kdkategori; ?>" readonly/></td></tr>
<tr><td>Nama Kategori</td><td>:</td><td><input type="text" name="nama" required=""/></td></tr>
<tr><td>Pengguna</td><td>:</td>
<td><select name="pengguna" required="" />
    <option value="">Pilih Pengguna</option>
    <?php
        $pengguna = $koneksi -> query ("SELECT id, nama FROM tb_pengguna  ORDER BY nama ASC");
        while($pengguna_data = $pengguna->fetch_assoc()){
    ?>
            <option value="<?=$pengguna_data['id'];?>"><?=$pengguna_data['nama'];?></option>
    <?php } ?>
</select></td></tr>
<tr><td><input type="submit" name="simpan" value="Simpan"></td></tr>
</table>
</form>
<?php 
if (isset($_POST['simpan'])){
$kode=$_POST['kode'];
$nama=$_POST['nama'];
$pengguna=$_POST['pengguna'];
    $sql=$koneksi->query("insert into tb_kategori values('$kode','$nama',now(),'$pengguna')");
    if ($sql){
        ?>
        <script type="text/javascript">
        alert ("Data Berhasil di Simpan");
        window.location.href="kategori.php";
        </script>
        <?php
    }
}
?>

    c. Script File ubah.php

<?php
    require_once"../koneksi.php";
    $kode_kategori = $_GET['kode_kategori'];
    $sql = $koneksi->query("select * from tb_kategori where kode_kategori='$kode_kategori'");
    $tampil = $sql->fetch_assoc();
?>
<html>
<head>
    <title>Update Data Kategori</title>
</head>
<body>
<p align="center"> 
<b>PRAKTIKUM MATAKULIAH DATABASE ADMINISTRATOR<br>
"IMPLEMENTASI DATABASE DI PEMROGRAMAN"</b>
<hr>
</p>
<br><br>
<p align="center"> 
<b>Contoh Penggunaan UPDATE untuk Merubah Data Kategori</b>
</p>
<p align="center"><a href="kategori.php">Kembali</a></p>    
<form method="POST">
<table align="center">
<tr><td>Kode kategori</td><td>:</td><td><input type="text" name="kode" value="<?php echo $tampil['kode_kategori'];?>" readonly /></td></tr>
<tr><td>Nama Kategori</td><td>:</td><td><input type="text" name="nama" value="<?php echo $tampil['nama_kategori'];?>" /></td></tr>
<tr><td>Pengguna</td><td>:</td><td>
<select name="pengguna" />
    <option value="">Pilih Pengguna</option>
    <?php
        $pengguna = $koneksi -> query ("SELECT id, nama FROM tb_pengguna 
                                    ORDER BY nama ASC");
        while($pengguna_data = $pengguna->fetch_assoc()){
            if($tampil['pengguna']==$pengguna_data['id']){
                $pilih_id='selected';
            }else{
                $pilih_id='';
            }
        ?>
            <option value="<?=$pengguna_data['id'];?>"<?=$pilih_id;?>>
            <?=$pengguna_data['nama'];?></option>
    <?php } ?>
    </select></td></tr>
<tr><td><input type="submit" name="simpan" value="Simpan"></td></tr>
</table>
</form>
<?php 
if (isset($_POST['simpan'])){
$kode=$_POST['kode'];
$nama=$_POST['nama'];
    $sql=$koneksi->query("update tb_kategori set nama_kategori='$nama' where kode_kategori='$kode'");
    if ($sql){
        ?>
        <script type="text/javascript">
        alert ("Data Berhasil di Ubah");
        window.location.href="kategori.php";
        </script>
        <?php
    }
}
?>

    d. Script File hapus.php

    <?php
require_once"../koneksi.php";
$kode_kategori = $_GET['kode_kategori'];
    $sql = $koneksi->query("delete from tb_kategori where kode_kategori='$kode_kategori'");
?>
<script type="text/javascript">
alert ("Data Berhasil di Hapus");
window.location.href="kategori.php";
</script>

4. Script yang ada di Folder barang:

    a. Script File barang.php

 <?php
 require_once "../koneksi.php";
?>
<html>
<head>
    <title>Daftar Barang</title>
</head>
<body>
<p align="center"> 
<b>PRAKTIKUM MATAKULIAH DATABASE ADMINISTRATOR<br>
"IMPLEMENTASI DATABASE DI PEMROGRAMAN"</b>
<hr>
</p>
<table align="center">
    <tr>
        <td><a href="barang.php"><b>Data Barang</b></a>&nbsp;&nbsp;&nbsp;</td>
    </tr>
</table>
<br><br>
<p align="center">
Contoh Penggunaan View untuk Menampilkan Data Barang</b>
</p>
    <p align="center"><a href="tambah.php">Tambah</a>&nbsp;&nbsp;&nbsp;<a href="../index.php">Kembali</a></p>            
    <table border="1" cellspacing="0" cellpadding="4" align="center">
        <thead>
            <tr>
            <th>No.</th>
                <th>Kode</th>
                <th>Nama Barang</th>
                <th>Warna</th>
                <th>Kategori</th>
                <th>Satuan</th>
                <th>Stok</th>
                <th>Harga Beli</th>
                <th>Harga Jual</th>
                <th>Profit</th>
                <th>Aksi</th>
            </tr>
        </thead>
        <tbody> 
        <?php
        $no=1;
        $sql= $koneksi->query("select kode_barang,nama_barang,warna,nama_kategori,satuan,stok,harga_beli,harga_jual,profit from tb_barang,tb_kategori WHERE tb_barang.kode_kategori=tb_kategori.kode_kategori order by kode_barang");
        while($data= $sql->fetch_assoc()){
        ?>
        <tr>
            <td align="center"><?php echo $no++;?></td>
            <td><?php echo $data['kode_barang']?></td>
            <td><?php echo $data['nama_barang']?></td>
            <td><?php echo $data['warna']?></td>
            <td><?php echo $data['nama_kategori']?></td>
            <td><?php echo $data['satuan']?></td>
            <td><?php echo $data['stok']?></td>
            <td><?php echo number_format($data['harga_beli'])?></td>
            <td><?php echo number_format($data['harga_jual'])?></td>
            <td><?php echo number_format($data['profit'])?></td>
            <td>
                <a href="ubah.php?kode_barang=<?php echo $data['kode_barang'];?>">Edit</a>
                <a onclick="return confirm('Anda Yakin akan menghapus Data Ini...???')" href="hapus.php?kode_barang=<?php echo $data['kode_barang'];?>">Hapus</a>
            </td>
        </tr>
        <?php } ?>        
    </tbody>
    </table>               

    b. Script File tambah.php

<?php
require_once "../koneksi.php";
$query = mysqli_query($koneksi, "SELECT max(kode_barang) as kodeTerbesar FROM tb_barang");
$data = mysqli_fetch_array($query);
$nobarang = $data['kodeTerbesar'];
$urutan = (int) substr($nobarang, 1, 4);
$urutan++;
$huruf = "B";
$nobarang = $huruf . sprintf("%04s", $urutan);
?>
<script>
function jumlah(){
var hrg_beli = document.getElementById('harga_beli').value;
var hrg_jual = document.getElementById('harga_jual').value;
var rslt = parseInt(hrg_jual) - parseInt(hrg_beli);
if(!isNaN(rslt)){
    document.getElementById('profit').value = rslt;
}
}
</script>
<html>
<head>
    <title>Insert Data Barang</title>
</head>
<body>
<p align="center"> 
<b>PRAKTIKUM MATAKULIAH DATABASE ADMINISTRATOR<br>
"IMPLEMENTASI DATABASE DI PEMROGRAMAN"</b>
<hr>
</p>
<br><br>
<p align="center"> 
<b>Contoh Penggunaan INSERT untuk Menambah Data Barang</b>
</p>
<p align="center"><a href="barang.php">Kembali</a></p>
<form method="POST">
<table align="center">
<tr><td>Kode Barang</td><td>:</td><td><input type="text" name="kode" value="<?php echo $nobarang; ?>" disabled/></td></tr>
<tr><td>Nama Barang</td><td>:</td><td><input type="text" name="nama"/></td></tr>
<tr><td>Warna</td><td>:</td><td><input type="text" name="warna"/></td></tr>
<tr><td>Kategori</td><td>:</td>
<td><select name="kategori" required="" />
    <option value="">Pilih Kategori</option>
    <?php
        $kategori = $koneksi -> query ("SELECT kode_kategori, nama_kategori FROM tb_kategori  ORDER BY nama_kategori ASC");
        while($kategori_data = $kategori->fetch_assoc()){
    ?>
            <option value="<?=$kategori_data['kode_kategori'];?>"><?=$kategori_data['nama_kategori'];?></option>
    <?php } ?>
</select></td></tr>
<tr><td>Satuan</td><td>:</td>
<td><select name="satuan">
    <option value="">---Pilih Satuan---</option>
    <option value="Pack">Pack</option>
    <option value="Lusin">Lusin</option>
    <option value="Pcs">Pcs</option>
</select></td></tr>
<tr><td>Stok</td><td>:</td><td><input type="number" name="stok"/></td></tr>
<tr><td>Harga Beli</td><td>:</td><td><input type="number" name="hbeli" id="harga_beli" onkeyup="jumlah()" /></td></tr>
<tr><td>Harga Jual</td><td>:</td><td><input type="number" name="hjual" id="harga_jual" onkeyup="jumlah()" /></td></tr>
<tr><td>Profit</td><td>:</td><td><input type="number" name="profit" id="profit" readonly="" value="0" /></td></tr>
<tr><td>Pengguna</td><td>:</td>
<td><select name="pengguna" required="" />
    <option value="">Pilih Pengguna</option>
    <?php
        $pengguna = $koneksi -> query ("SELECT id, nama FROM tb_pengguna  ORDER BY nama ASC");
        while($pengguna_data = $pengguna->fetch_assoc()){
    ?>
            <option value="<?=$pengguna_data['id'];?>"><?=$pengguna_data['nama'];?></option>
    <?php } ?>
</select></td></tr>
<tr><td><input type="submit" name="simpan" value="Simpan" ></td></tr>
</table>
</form>
<?php 
if (isset($_POST['simpan'])){
$kode=$_POST['kode'];
$nama=$_POST['nama'];
$warna=$_POST['warna'];
$kategori=$_POST['kategori'];
$satuan=$_POST['satuan'];
$stok=$_POST['stok'];
$hbeli=$_POST['hbeli'];
$hjual=$_POST['hjual'];
$profit=$_POST['profit'];
$pengguna=$_POST['pengguna'];
    $sql=$koneksi->query("insert into tb_barang values('$nobarang','$nama','$warna','$kategori','$satuan','$stok','$hbeli','$hjual','$profit',now(),'$pengguna')");
    if ($sql){
        ?>
        <script type="text/javascript">
        alert ("Data Berhasil di Simpan");
        window.location.href="barang.php";
        </script>
        <?php
    }
}
?>

    c. Script File ubah.php

<script>
function jumlah(){    
var hrg_beli = document.getElementById('harga_beli').value;
var hrg_jual = document.getElementById('harga_jual').value;
var rslt = parseInt(hrg_jual) - parseInt(hrg_beli);
if(!isNaN(rslt)){
    document.getElementById('profit').value = rslt;
}
}
</script>
<?php
    require_once "../koneksi.php";
    $kode_barang = $_GET['kode_barang'];
    $sql = $koneksi->query("select * from tb_barang where kode_barang='$kode_barang'");
    $tampil = $sql->fetch_assoc();
?>
<html>
<head>
    <title>Update Data Barang</title>
</head>
<body>
<p align="center"> 
<b>PRAKTIKUM MATAKULIAH DATABASE ADMINISTRATOR<br>
"IMPLEMENTASI DATABASE DI PEMROGRAMAN"</b>
<hr>
</p>
<br><br>
<p align="center"> 
<b>Contoh Penggunaan UPDATE untuk Merubah Data Barang</b>
</p>
<p align="center"><a href="barang.php">Kembali</a></p>
<form method="POST">
<table align="center">
<tr><td>Kode Barang</td><td>:</td><td><input type="text" name="kode" value="<?php echo $tampil['kode_barang'];?>" readonly/></td></tr>
<tr><td>Nama Barang</td><td>:</td><td><input type="text" name="nama" value="<?php echo $tampil['nama_barang'];?>"/></td></tr>
<tr><td>Warna</td><td>:</td><td><input type="text" name="warna" value="<?php echo $tampil['warna'];?>"/></td></tr>
<tr><td>Kategori</td><td>:</td><td>
<select name="kategori" />
    <option value="">Pilih Kategori</option>
    <?php
        $kategori = $koneksi -> query ("SELECT kode_kategori, nama_kategori FROM tb_kategori 
                                    ORDER BY nama_kategori ASC");
        while($kategori_data = $kategori->fetch_assoc()){
            if($tampil['kode_kategori']==$kategori_data['kode_kategori']){
                $pilih_kodekate='selected';
            }else{
                $pilih_kodekate='';
            }
        ?>
            <option value="<?=$kategori_data['kode_kategori'];?>"<?=$pilih_kodekate;?>>
            <?=$kategori_data['nama_kategori'];?></option>
    <?php } ?>
    </select></td></tr>
<tr><td>Satuan</td><td>:</td><td>
<select name="satuan">
    <option value="">---Pilih Satuan---</option>
    <option value="Pack"<?php if ($tampil['satuan']=='Pack'){echo "selected";}?>>Pack</option>
    <option value="Lusin"<?php if ($tampil['satuan']=='Lusin'){echo "selected";}?>>Lusin</option>
    <option value="Pcs"<?php if ($tampil['satuan']=='Pcs'){echo "selected";}?>>Pcs</option>
</select></td></tr>
<tr><td>Stok</td><td>:</td><td><input type="number" name="stok" value="<?php echo $tampil['stok'];?>" /></td></tr>
<tr><td>Harga Beli</td><td>:</td><td><input type="number" name="hbeli" value="<?php echo $tampil['harga_beli'];?>" id="harga_beli" onkeyup="jumlah()"/></td></tr>
<tr><td>Harga Jual</td><td>:</td><td><input type="number" name="hjual" value="<?php echo $tampil['harga_jual'];?>" id="harga_jual" onkeyup="jumlah()" /></td></tr>
<tr><td>Profit</td><td>:</td><td><input type="number" name="profit" value="<?php echo $tampil['profit'];?>" id="profit" readonly="" value="0"/></td></tr>
<tr><td>Pengguna</td><td>:</td><td>
<select name="pengguna" />
    <option value="">Pilih Pengguna</option>
    <?php
        $pengguna = $koneksi -> query ("SELECT id, nama FROM tb_pengguna ORDER BY nama ASC");
        while($pengguna_data = $pengguna->fetch_assoc()){
            if($tampil['pengguna']==$pengguna_data['id']){
                $pilih_id='selected';
            }else{
                $pilih_id='';
            }
        ?>
            <option value="<?=$pengguna_data['id'];?>"<?=$pilih_id;?>>
            <?=$pengguna_data['nama'];?></option>
    <?php } ?>
    </select></td></tr>
<tr><td><input type="submit" name="simpan" value="Simpan"></td></tr>
</table>
</form>
<?php 
if (isset($_POST['simpan'])){
$kode=$_POST['kode'];
$nama=$_POST['nama'];
$warna=$_POST['warna'];
$kategori=$_POST['kategori'];
$satuan=$_POST['satuan'];
$stok=$_POST['stok'];
$hbeli=$_POST['hbeli'];
$hjual=$_POST['hjual'];
$profit=$_POST['profit'];
    $sql=$koneksi->query("update tb_barang set nama_barang='$nama',warna='$warna',kode_kategori='$kategori',satuan='$satuan',stok='$stok',harga_beli='$hbeli',harga_jual='$hjual',profit='$profit' where kode_barang='$kode_barang'");
    if ($sql){
        ?>
        <script type="text/javascript">
        alert ("Data Berhasil di Ubah");
        window.location.href="barang.php";
        </script>
        <?php
    }
}
?>

    d. Script File hapus.php

<?php
require_once "../koneksi.php";
$kode_barang = $_GET['kode_barang'];
    $sql = $koneksi->query("delete from tb_barang where kode_barang='$kode_barang'");
?>
<script type="text/javascript">
alert ("Data Berhasil di Hapus");
window.location.href="barang.php";
</script>

5. Script File  frm_cetak.php

<?php
require_once "koneksi.php";
?>
<html>
<head>
<title>Cetak Struk</title>
</head>
<body>
<p align="center"> 
<b>PRAKTIKUM MATAKULIAH DATABASE ADMINISTRATOR<br>
"IMPLEMENTASI DATABASE DI PEMROGRAMAN"</b>
<hr>
</p>
<table align="center">
    <tr>
        <td><a href="index.php"><b>Kembali</b></a>&nbsp;&nbsp;&nbsp;</td>
    </tr>
</table>
<br><br>
<p align="center"> 
<b>Contoh Penggunaan View untuk STRUK PENJUALAN</b>
</p>
<p align="center">
Pilih Kode Penjualan
        <form method="POST" action="struk.php" target="blank">
        <p align="center">           
        <select name="kode_pj"/>
            <?php
            $label = '<option value=""> - Pilih Kode - </option>';
             $kode=$koneksi->query("select kode_penjualan from tb_penjualan order by kode_penjualan asc");
             while ($d_kode=$kode->fetch_assoc()) {
                echo "<option value='$d_kode[kode_penjualan]'>$d_kode[kode_penjualan]</option>";
            }
           ?>
        </select>
        <button type="submit" class="btn btn-primary">Cetak</button></p>
        </form>
</p>
</body>
</html>

6. Script File struk.php

 <?php 
error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));
require_once "koneksi.php";
$kode_pj=$_POST['kode_pj'];
?>
<style>
@media print{
input.noPrint{
display: none;
}
}
</style>
<table>
<tr><th align="left">WIJDAN COLLECTION</td></tr>
<tr><td><small>Jl. Raya Plumbon-Cirebon, Telp:0823-1708-9285</small></td></tr>
<tr><td colspan="1"><small><hr></small></td></tr>
</table>
<table>
<?php
$sql=$koneksi->query("select tb_penjualan.kode_penjualan,tgl_penjualan,tb_pelanggan.nama,tb_pengguna.nama as kasir,nama_barang,harga_jual,jumlah,tb_penjualan_detail.total,diskon,potongan,tb_penjualan.total_b,bayar,kembali from tb_penjualan,tb_penjualan_detail,tb_pelanggan,tb_pengguna,tb_barang 
where tb_penjualan.id_pelanggan=tb_pelanggan.kode_pelanggan and 
tb_penjualan.pengguna=tb_pengguna.id and 
        tb_penjualan.kode_penjualan=tb_penjualan_detail.kode_penjualan and 
        tb_penjualan_detail.kode_barang=tb_barang.kode_barang and 
        tb_penjualan_detail.kode_penjualan='$kode_pj'");
$tampil=$sql->fetch_assoc();
?>
<tr>
<td colspan="2"><small>No. &nbsp&nbsp</td></small>
<td><small>: &nbsp&nbsp <?php echo $tampil['kode_penjualan']; ?><small></td>
</tr>
<tr>
<td colspan="2"><small>Tanggal &nbsp&nbsp<small></td>
<td><small>: &nbsp&nbsp <?php echo $tampil['tgl_penjualan']; ?><small></td>
</tr>
<tr>
<td colspan="2"><small>Pelanggan &nbsp&nbsp<small></td>
<td><small>: &nbsp&nbsp <?php echo $tampil['nama']; ?><small></td>
</tr>
<tr>
<td colspan="2"><small>Kasir &nbsp&nbsp<small></td>
<td><small>: &nbsp&nbsp <?php echo $tampil['kasir']; ?><small></td>
</tr>
</table>
<table>
<tr><td colspan="4"><small><hr></small></td></tr>
<?php
$no=1;
$sql3=$koneksi->query("select tb_penjualan.kode_penjualan,tgl_penjualan,tb_pelanggan.nama,tb_pengguna.nama as kasir,nama_barang,harga_jual,jumlah,tb_penjualan_detail.total,diskon,potongan,tb_penjualan.total_b,bayar,kembali from tb_penjualan,tb_penjualan_detail,tb_pelanggan,tb_pengguna,tb_barang 
where tb_penjualan.id_pelanggan=tb_pelanggan.kode_pelanggan and 
tb_penjualan.pengguna=tb_pengguna.id and 
        tb_penjualan.kode_penjualan=tb_penjualan_detail.kode_penjualan and 
        tb_penjualan_detail.kode_barang=tb_barang.kode_barang and 
        tb_penjualan_detail.kode_penjualan='$kode_pj'");
while ($tampil3=$sql3->fetch_assoc()) {
?>
<tr>
<td width="2px"><small><?php echo $no++.'.';?></small></td>
<td><small><?php echo $tampil3['nama_barang']; ?></small></td>
<td align="right"><small><?php echo number_format($tampil3['harga_jual']).'&nbsp'.'&nbsp'.'x'.'&nbsp'.'&nbsp'.$tampil3['jumlah'].'&nbsp'.'&nbsp'.'&nbsp'.'='.'&nbsp' ?></small></td>
<td align="right"><small><?php echo number_format($tampil3['total']); ?></small></td>
</tr>
<?php
$diskon=$tampil3['diskon'];
$potongan=$tampil3['potongan'];
$bayar=$tampil3['bayar'];
$kembali=$tampil3['kembali'];
$total_b=$tampil3['total_b'];
$total_bayar=$total_bayar+$tampil3['total'];
}
?>
<tr><td colspan="4"><hr></td></tr>
<tr>
<td colspan="2"></td>
<td align="right"><small>Total&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;</small></td>
<td align="right"><small><?php echo number_format($total_bayar); ?></small></td>
</tr>
<tr>
<td colspan="2"></td>
<td align="right"><small>Diskon&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;</small></td>
<td align="right"><small><?php echo $diskon.'%'; ?></small></td>
</tr>
<tr>
<td colspan="2"></td>
<td align="right"><small>Potongan&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;</small></td>
<td align="right"><small><?php echo number_format ($potongan); ?></small></td>
</tr>
<tr>
<td colspan="2"></td>
<td align="right"><small>Sub Total&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;</small></td>
<td align="right"><small><?php echo number_format ($total_b); ?></small></td>
</tr>
<tr>
<td colspan="2"></td>
<td align="right"><small>Bayar&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;</small></td>
<td align="right"><small><?php echo number_format ($bayar); ?></small></td>
</tr>
<tr>
<td colspan="2"></td>
<td align="right"><small>Kembali&nbsp;&nbsp;&nbsp;=&nbsp;&nbsp;&nbsp;</small></td>
<td align="right"><small><?php echo number_format ($kembali); ?></small></td>
</tr>
</table>
<table>
<tr>
<br>
<td><i><small>Note:<br>Barang yang sudah dibeli tidak bisa dibatalkan</small></i></td>
</tr>
</table>
<br>
<input type="button" class="noPrint" value="Print"onclick="window.print()">

7. Script File frm_jualperpelanggan.php

<?php
require_once "koneksi.php";
?>
<html>
<head>
<title>Penjualan Per Pelanggan</title>
</head>
<body>
<p align="center"> 
<b>PRAKTIKUM MATAKULIAH DATABASE ADMINISTRATOR<br>
"IMPLEMENTASI DATABASE DI PEMROGRAMAN"</b>
<hr>
</p>
<table align="center">
    <tr>
        <td><a href="index.php"><b>Kembali</b></a>&nbsp;&nbsp;&nbsp;</td>
    </tr>
</table>
<br><br>
<p align="center"> 
<b>Contoh Penggunaan View untuk PENJUALAN PER PELANGGAN</b>
</p>
<p align="center">
Pilih Pelanggan
<div>
        <form method="POST" action="lihat_jualperpelanggan.php" target="blank">
        <p align="center">     
        <select class="form-control show-tick" name="kode_pel" />
         <?php
            $label = '<option value=""> - Pilih Kode - </option>';
             $kode=$koneksi->query("select distinct kode_pelanggan,nama from tb_pelanggan,tb_penjualan where tb_penjualan.id_pelanggan=tb_pelanggan.kode_pelanggan order by tb_pelanggan.nama asc");
             while ($d_kode=$kode->fetch_assoc()) {
                
                echo "<option value='$d_kode[kode_pelanggan]'>$d_kode[nama]</option>
                    ";
                }
           ?>
        </select>
                <button type="submit" >Lihat</button></p>
        </form>
</p>
</body>
</html>

8. Script File lihat_jualperpelanggan.php

<?php 
error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));
require_once "koneksi.php";
$kode_pel=$_POST['kode_pel'];
?>
<style>
@media print{
input.noPrint{
display: none;
}
}
</style>
<table>
<tr><th align="left">WIJDAN COLLECTION</td></tr>
<tr><td><small>Jl. Raya Plumbon-Cirebon, Telp:0823-1708-9285</small></td></tr>
<tr><td colspan="1"><small><hr></small></td></tr>
</table>
<table>
<?php
$sql=$koneksi->query("select kode_pelanggan,nama,kode_penjualan,tgl_penjualan,total_b from tb_pelanggan,tb_penjualan where tb_penjualan.id_pelanggan=tb_pelanggan.kode_pelanggan and kode_pelanggan='$kode_pel'");
$tampil=$sql->fetch_assoc();
?>
<tr>
<td colspan="2"><small>Kode Pelanggan &nbsp&nbsp</td></small>
<td><small>: &nbsp&nbsp <?php echo $tampil['kode_pelanggan']; ?><small></td>
</tr>
<tr>
<td colspan="2"><small>Nama Pelanggan &nbsp&nbsp<small></td>
<td><small>: &nbsp&nbsp <?php echo $tampil['nama']; ?><small></td>
</tr>
</table>
<table>
<tr><td colspan="4"><small><hr></small></td></tr>
<?php
$no=1;
$sql3=$koneksi->query("select kode_pelanggan,nama,kode_penjualan,tgl_penjualan,total_b from tb_pelanggan,tb_penjualan where tb_penjualan.id_pelanggan=tb_pelanggan.kode_pelanggan and kode_pelanggan='$kode_pel'");
while ($tampil3=$sql3->fetch_assoc()) {
?>
<tr>
<td width="2px"><small><?php echo $no++.'.';?></small></td>
<td><small><?php echo $tampil3['kode_penjualan'].'&nbsp'.'&nbsp'; ?></small></td>
<td align="right"><small><?php echo $tampil3['tgl_penjualan'].'&nbsp'.'&nbsp' ?></small></td>
<td align="right"><small><?php echo number_format($tampil3['total_b']); ?></small></td>
</tr>
<?php
$total_bayar=$total_bayar+$tampil3['total_b'];
}
?>
<tr><td colspan="4"><hr></td></tr>
<tr>
<td colspan="2"></td>
<td align="right"><small>Total&nbsp&nbsp&nbsp=&nbsp&nbsp&nbsp</small></td>
<td align="right"><small><?php echo number_format($total_bayar); ?></small></td>
</tr>
</table>
<br>
<input type="button" class="noPrint" value="Print"onclick="window.print()">

9. Download Database Disini

        


        


Friday, July 14, 2023

Membuat Nomor Urut Otomatis Berganti dari 1 lagi ketika Ganti Hari dengan PHP dan Ada Batasan Banyak Nomor Perharinya

Artikel ini merupakan lanjutan dari artikel penomoran otomatis sebelumnya.

Pada artikel ini, diberikan tambahan bagaimana jika Nomor Otomatis tersebut sudah ditentukan jumlahnya untuk setiap hari misalnya 15 nomor saja. silahkan langsung saja rubah script codingnya seperti berikut.

<?php 

if (isset($_POST['simpanantrian'])){   

date_default_timezone_set('Asia/Jakarta');

$tgl=date("Y-m-d");

$date=date("Y-m-d H:i:s");

$no_antrian=$_POST['no_antrian'];

$no_pasien=$_POST['no_pasien'];

$tgldaftar=$_POST['tgldaftar'];


$ceknomor=$koneksi->query("SELECT * FROM tb_pendaftaran WHERE tgldaftar='$tgl'");

$data_nomor=mysqli_num_rows($ceknomor);

      

if($data_nomor>=15){

?>

    <script type="text/javascript">

    alert ("Nomor Per Hari Hanya 15");

    //window.location.href="?page=pendaftaran";

    </script>

    <?php

}else{

  $sql=$koneksi->query("insert into tb_pendaftaran (no_antrian,no_pasien,tgldaftar) 

        values('$no_antrian','$no_pasien','$tgldaftar')");

    if ($sql){

        ?>

        <script type="text/javascript">

        alert ("Data Berhasil di Simpan");

        window.location.href="?page=pendaftaran";

        </script>

        <?php   

}

}

}

?>

berikut adalah tampilan ketika dijalankan.


Terima kasih






Thursday, June 15, 2023

Membuat Nomor Urut Otomatis Berganti dari 1 lagi ketika Ganti Hari dengan PHP

Nomor otomatis pada sebuah aplikasi berbasis web adalah sistem penomoran yang tanpa kita ketik manual akan dengan sendirinya bertambah satu demi satu. Cara yang dilakukan biasanya adalah ketika kita mengklik sebuah tombol, misalnya akan mengisi suatu text dengan angka atau format angka tertentu contohnya format angka AN-001, dan ketika klik kembali akan menghasilkan AN-002 dan seterusnya.
Sedikit masalah yang pernah dialami adalah bagaimana cara jika kita menginginkan format angka tersebut akan kembali dari awal lagi ketika berganti hari, berganti bulan atau bahkan berganti tahun. Misal saja seperti tabel berikut:

Tabel diatas bisa dijelaskan bahwa, setiap ganti tanggal maka Nomor akan dimulai kembali dari angka 001. Nah, bagaimanakah cara membuatnya???

Berikut akan dijelaskan solusi dari permasalahan tersebut.
Ulang langsung bisa mempraktekkannya berikut langkah yang harus dilakukan.
1. Buat Database dengan nama db_antrian
2. Buat nama tabel dengan nama tb_pendaftaran, dengan struktur sbb:
    

3. Buat nama tabel dengan nama tb_pasien, dengan struktur sbb:

Catatan: silahkan isi data langsung dari tabel di database saja.

4. Buat folder baru di xampp-htdocs-antri
5. Buat file koneksi.php seperti berikut



6. Buat file pendaftaran.php seperti berikut
<?php
error_reporting(E_ALL ^ (E_NOTICE | E_WARNING));
$koneksi=new mysqli("localhost","root","","db_pematang");
$date=date("d");
$query = mysqli_query($koneksi, "SELECT max(no_antrian) as kodeTerbesar FROM tb_pendaftaran where day(tgldaftar)=$date");
$data = mysqli_fetch_array($query);
$noantrian = $data['kodeTerbesar'];
$urutan = (int) substr($noantrian, 3, 5);
$urutan++;
$huruf = "AN-";
date_default_timezone_set('Asia/Jakarta');
$noantrian = $huruf . sprintf("%03s", $urutan);
?>
<div>
    <h2>
        PENDAFTARAN BEROBAT PASIEN(ANTRIAN)
    </h2>
</div>
    
<div>
<form method="POST">
No. Antrian
<div>
    <div>
    <input type="text" name="no_antrian" value="<?php echo $noantrian; ?>" readonly="" />
    </div>
</div>  

No Rekam Medis Pasien
<div>
    <div>
     <select name="no_pasien" />
      <option value="">---Cari No Pasien ---</option>
             <?php
                $lbl = '<option value=""> - Cari No RM - </option>';
                 $pasien=$koneksi->query("select * from tb_pasien order by no_pasien");
                 
                 while ($d_pasien=$pasien->fetch_assoc()) {
                    
                    echo "<option value='$d_pasien[no_pasien]'>$d_pasien[no_pasien]  | $d_pasien[nm_pasien]</option>
                        ";
                    }
               ?>
        </select>
    </div>
</div> 

Tanggal Daftar
<div>
    <div>
        <input type="Date" name="tgldaftar" />
    </div>
</div>

<input type="submit" name="simpanantrian" value="Simpan">
</form>

<?php 
if (isset($_POST['simpanantrian'])){
date_default_timezone_set('Asia/Jakarta');
$date=date("Y-m-d H:i:s");
$no_antrian=$_POST['no_antrian'];
$no_pasien=$_POST['no_pasien'];
$tgldaftar=$_POST['tgldaftar'];

  $sql=$koneksi->query("insert into tb_pendaftaran (no_antrian,no_pasien,tgldaftar) 
        values('$no_antrian','$no_pasien','$tgldaftar')");
    if ($sql){
        ?>
        <script type="text/javascript">
        alert ("Data Berhasil di Simpan");
        window.location.href="?page=pendaftaran";
        </script>
        <?php
}
}
?>

7. Jangan lupa jalankan XAMPP, buka browser dan ketikkan localhost/antri/pendaftaran.php kemudian enter. Jika tidak ada masalah maka akan tampil seperti tampilan berikut:

8. Silahkan coba diinput dan jalankan. jangan lupa atur settingan tanggal di komputer untuk mencobanya.

Selamat Mencoba,
Semoga Bermanfaat.






Tuesday, June 13, 2023

Perbedaan MySQL dan MySQLi

Mungkin dari kita masih banyak yang baru belajar atau sedang belajar pemrograman PHP. Baik itu PHP Asli (Native) atau yang sudah dipaket yang biasa disebut PHP dengan Framework.
Bagi yang menggunakan PHP Native, artikel ini diharapkan dapat membantu dalam pembelajarannya. Karena biasanya bagi kita yang baru belajar PHP senang mencari-cari contoh program PHP yang sudah jadi yang bisa digunakan sebagai referensi atau contoh dalam penulisan dan pengembangan kodingnya.

Terkadang, contoh projek PHP yang kita dapat dari internet sesuai dengan apa yang sedang kita cari sehingga kita mudah untuk menerapkannya. Akan tetapi sebaliknya, jika tidak sesuai dalam arti misalnya contoh file PHP yang kita dapat dari download di internet ternyata masih menggunakan PHP lama (dengan MySQL) dan yang kita butuhkan adalah dengan yang lebih baru misalnya MySQLi. Nah, bagaimana caranya kita dapat merubah atau istilah lainnya migrasi dari MySQL menjadi MySQLi? berikut dijelaskan sekelumit tentang perbedaannya untuk bisa dijadikan acuan agar bisa merubah dari MySQL ke MySQLi.

MySQL pada PHP adalah versi lama yang kemungkinan tidak akan digunakan lagi atau bahkan dihapus untuk pengembangan sistem berbasis web. Sebgai gantinya, ada MySQLi atau MySQL improved Extension. Tetapi, sebenarnya dalam penggunaannya tidaklah banyak perbedaan. Berikut contoh yang bisa dilihat:
1. Menggunakan MySQL dan MySQLi untuk membuat Koneksi Database dengan PHP

//Dengan MySQL
<?php 
$koneksi = mysql_connect("localhost","root","","tutorial");
 ?>

//Dengan MySQLi
<?php 
$koneksi = mysqli_connect("localhost","root","","tutorial");
 ?>

2. Menggunakan MySQL dan MySQLi untuk menampilkan data
//Dengan MySQL
<?php 
include "koneksi.php";
$data= mysql_query("SELECT * FROM pegawai")or die(mysql_error());
?>

//Dengan MySQLi
<?php 
include "koneksi.php";
$data= mysqli_query($koneksi, "SELECT * FROM pegawai")or die(mysqli_error());
?>

3. Menggunakan MySQL dan MySQLi untuk menambahkan data
//Dengan MySQL
<?php 
include 'koneksi.php'; 
mysql_query("INSERT INTO pegawai VALUES('','Budi','Yogyakarta','Operator')");
?>

//Dengan MySQLi
<?php 
include 'koneksi.php'; 
mysqli_query($koneksi, "INSERT INTO pegawai VALUES('','Budi','Yogyakarta','Operator')");
?>

Dari beberapa contoh diatas, berikut diberikan gambaran dalam bentuk tabel:

dari tabel dan contoh - contoh diatas, kita dapat membuat kesimpulan dalam merubah antara MySQL ke MySQLi yaitu :
1. Untuk koneksi, kita tinggal menambahkan i saja pada MySQL sehingga menjadi MySQLi.
2. Ketika mengeksekusi sebuah query dengan menggunakan MySQLi kita perlu menambahkan variabel koneksi dengan databasenya.

Semoga Bermanfaat.

Thursday, December 29, 2022

Trigger untuk Pengelolaan Stok Barang

Gambar 1. Letak Menu Trigger

Salah satu fitur yang ada dalam Aplikasi Database dengan menggunakan MySQL/phpMyAdmin adalah Trigger. Trigger bisa diartikan sebagai action/aksi atau Picuan yang membuat sebuah tabel atau kolom bereaksi (misalnya Terupdate) secara otomatis. Dalam MySQL, Trigger berguna untuk action yang akan dilakukan oleh engine MySQL yang waktunya bisa saat SEBELUM/BEFORE dan SETELAH/AFTER.

Perhatikan gambar dibawah dan penjelasannya dalam membuat Trigger di phpMyAdmin.

Monday, December 26, 2022

Fungsi MySql IFNULL

Penggunaan MYSQL IFNULL

Gambar 1. Isian ada NULL


Dalam penggunaan QUERY dengan JOIN atau lebih detail misalnya 
menggunakan LEFT JOIN beberapa table, hasilnya bisa berupa
 NULL(Seperti gambar 1 diatas). 
Lalu bagaimana merubah hasil NULL menjadi misalnya tanda strip (-) ?  
Nah, Jawabannya adalah sebagai berikut.
Dalam MYSQL ada perintah yang namanya IFNULL(nama_field,'-').


Contoh sebelum menggunakan IFNULL:

SELECT tb_pelanggan.nama, tb_penjualan.kode_penjualan,
 tb_penjualan.tgl_penjualan 
FROM tb_pelanggan LEFT JOIN tb_penjualan ON 
tb_pelanggan.kode_pelanggan = tb_penjualan.id_pelanggan

Hasil dari query atas adalah seperti gambar 1.
Jika ingin merubah supaya data yang kosong terisii dengan tanda strip (-), 
maka rubahlah querynya menjadi seperti berikut.

 Contoh sesudah menggunakan IFNULL:

SELECT tb_pelanggan.nama, IFNULL(tb_penjualan.kode_penjualan,'-'), 
IFNULL(tb_penjualan.tgl_penjualan,'-')
FROM tb_pelanggan LEFT JOIN tb_penjualan ON 
tb_pelanggan.kode_pelanggan = tb_penjualan.id_pelanggan

 

Gambar 2. Hasil



Baca Juga: Operasi perhitungan di MySql

 

Catatan:
Tandan NULL, sebenarnya kita bisa ganti sesuai yang kita inginkan. 
Bisa mengganti dengan tanda strip(-), angka 0 (Nol) atau yang
 lainnya. Yang perlu diingat, cara penulisannya...yaitu:
1. Jika akan ditampilkan angka, maka tidak perlu menggunakan 
tanda kutip sebelum dan sesudah Nol (0).
2. Jika akan ditampilkan berupa tulisan atau huruf, maka harus 
menggunakan tanda kutip satu sebelum dan sesudahnya ('...').