Belajar Web Programming PHP, HTML, MySQL dan Tutorial

Pengertian Dan Konsep Sistem Basis Data

Pengertian Dan Konsep Sistem Basis Data

Pendahuluan
Basis data adalah suatu kumpulan data yang terorganisir, dimana umumnya data tersebut disimpan dan diakses secara elektronik melalui sistem komputer. Basis data dapat menjadi suatu hal yang lebih kompleks, sehingga dalam pengembangannya membutuhkan teknik desain dan pemodelan formal.


Images: .smartsheet.com

Database management system (DBMS) adalah perangkat lunak yang berinteraksi dengan pengguna akhir atau end-user, aplikasi, dan database itu sendiri untuk menangkap dan menganalisis data. Perangkat lunak DBMS mencakup fasilitas utama yang menyediakan sarana untuk mengelola database. DBMS dan aplikasi yang terkait dapat disebut sebagai sistem basis data. Namun istilah basis data kadang juga digunakan untuk secara bebas merujuk pada DBMS, sistem basis data atau aplikasi yang terkait dengan basis data.

Sistem manajemen basis data dapat diklasifikasikan sesuai dengan model basis data yang mereka dukung. Basis data relasional menjadi dominan pada 1980-an. Model data ini direpresentasikan sebagai baris dan kolom dalam serangkaian tabel, dan sebagian besar menggunakan SQL untuk menulis dan meminta data. Namun pada tahun 2000-an, database non-relasional menjadi populer, disebut sebagai NoSQL karena mereka menggunakan bahasa query yang berbeda. (Wikipedia)

Sistem Basis Data dan Sistem File
Penyimpanan data tradisional didalam sistem komputer biasanya menggunakan file yang tersimpan di dalam storage dan diakses melalui sistem operasi dengan perangkat lunak yang sesuai. Ini merupakan suatu hal yang sederhana dan mudah dilakukan, namun akan menjadi permasalahan di kemudian hari apabila data-data dalam bentuk file tersebut semakin banyak dan menumpuk. Maka pengguna/user akan kesulitan dan membutuhkan waktu yang lebih lama dalam mencari dan mengkases file-file tersebut. adapun kekurangan dalam penyimpanan data dengan model file adalah sebagai berikut : (Widodo, Kurnianingtyas)
  • Kelebihan data dan tidak konsisten, Dalam penyimpanan data berbasis file terdapat kemungkinan adanya data yang sama terdapat di beberapa file, hal ini menyebabkan banyaknya kebutuhan penyimpanan dan biaya akses sehingga menyebabkan tidak konsistennya data-data tersebut
  • Kesulitan dalam mengakses data, Data yang tersebar secara file membutuhkan waktu pengaksesan yang tidak efektif dan efisien, dikarenakan pengguna harus mencarinya satu persatu
  • Data yang terpisah-pisah, Data-data dalam bentuk file yang terpisah-pisah penyimpanannya serta terdiri dari berbagai format membuat program aplikasi kesulitan untuk mengambil data-data yang diperlukan
  • Masalah kesatuan, Dalam suatu penyimpanan data dimungkinkan programmer membuat batas nilai/value dari suatu input, dengan sistem basis data hal tersebut mungkin dilakukan namun dengan sistem file batasan tersebut menjadi sulit dilakukan apabila terjadi perubahan nilai/value menjadi yang baru.
  • Atomicity basis data, Sistem komputer memiliki kemungkinan terjadinya kesalahan transaksi data, misalnya ada data yang saling terkait maka apabila terjadi perubahan data, data yang terkait tersebut menghasilkan output yang sesuai dengan keinginan pengguna sehingga output dari data yang dihasilkan benar-benar konsisten
  • Masalah Keamanan, Sistem basis data memungkin kita untuk membatasi siapa yang mengelola dan mengakses basis data, hal ini sulit dilakukan pada penyimpanan berbasis sistem file
Membuat Hak Akses User Menggunakan Level Dengan PHP dan MySQL

Membuat Hak Akses User Menggunakan Level Dengan PHP dan MySQL

Pada tutorial kali ini kita mengembangkan sourcecode program sebelumnya yaitu mengenai login sederhana menggunakan session pada PHP. Pada source login sederhana tersebut telah cukup memadai untuk dilanjutkan ke tahapan berikutnya yaitu hak akses user yang login. Bagi yang belum mengetahui tutorial login sederhana dapat mengaksesnya melalui link berikut:

Login Sederhana Menggunakan PHP Session


Pada dasarnya dalam artikel tersebut kita telah menggunakan session sebagai variabel yang digunakan untuk mengetahui apakah user tersebut telah login atau belum. Dengan demikian kita tinggal menambahkan variabel lain berupa level dimana value dari level diperoleh dari field level yang ada pada tabel user pada basis data yang kita gunakan. Mari kita mulai tutorialnya, step awal dimulai dari file-file yang dibutuhkan secara berurutan.

Tabel user pada database.

gambar struktur tabel user

gambar isi data user

Kode Program PHP

koneksi.php
<?php 
$host = "localhost";
$user = "root";
$pass = "";
$db   = "db_web";

$koneksi = mysqli_connect($host,$user,$pass,$db);
?>
Silahkan setting konfigurasi database sesuai dengan config server anda.

login.php
<!DOCTYPE html>
<html>
<head>
 <title>Aplikasi Login Sederhana</title>
 <style>
 body { font-family: verdana; font-size: 12px; }
 a { text-decoration: none; color: blue; }
 a:hover { color: green; }
 </style>
</head>
<body>
<h1 align="center">Aplikasi Login Sederhana : PHP Session</h1>
<hr>
<form action="login-proses.php" method="post">
<table width="300" border="0" align="center">
<tr>
 <td width="150">Username</td>
 <td>
  <input type="text" name="username" required>
 </td>
</tr>
<tr>
 <td width="150">Password</td>
 <td>
  <input type="password" name="password" required>
 </td>
</tr>
<tr>
 <td width="150"></td>
 <td>
  <input type="submit" value="login" required>
 </td>
</tr>
</table>
</form>
</body>
</html>

User dapat melakukan login dengan 2 akses yang pertama admin dan yang kedua adalah staff, username dan password dapat dilihat pada gambar tabel user

login-proses.php
<?php 
session_start();
include "koneksi.php";

$username = $_POST['username'];
$password = $_POST['password'];

//cek data
$sql = "SELECT * FROM user WHERE username='$username' ";
$qry = mysqli_query($koneksi,$sql);
$usr = mysqli_fetch_array($qry);

if( 
 md5($username) == md5($usr['username'])
 AND
 md5($password) == md5($usr['password'])
  )
{
 $_SESSION['iduser']   = $usr['iduser'];
 $_SESSION['username'] = $usr['username'];
 $_SESSION['nama']     = $usr['nama'];
 $_SESSION['level']    = $usr['level']
 $_SESSION['login']    = 1;
 $pesan = "Login berhasil, selamat datan $username";
} else {
 $pesan = "Login gagal, username atau password anda salah!";
}

?>
<script>
 alert('<?php echo $pesan;?>');
 location='index.php';
</script>

Perbedaan dengan login pada artikel adalah dengan menambahkan variabel $_SESSION['level'] yang digunakan nantinya pada percabangan di file index.php. level ini menjadi penentu menu-menu yang akan ditampilkan sesuai hak akses user tersebut.

index.php
<?php
session_start();
$login = $_SESSION['login'];
if($login == 1)
{
include "koneksi.php";
?>
<!DOCTYPE html>
<html>
<head>
 <title>Aplikasi Login Sederhana</title>
 <style>
 body { font-family: verdana; font-size: 12px; }
 a { text-decoration: none; color: blue; }
 a:hover { color: green; }
 </style>
</head>
<body>
<h1 align="center">Aplikasi Login Dengan Level Akses</h1>
<hr>
<?php 
$level = $_SESSION['level'];
if($level == 1) { include "menu_admin.php"; }
if($level == 2) { include "menu_staff.php"; }
?>
<hr>
<?php 
$nama     = $_SESSION['nama'];
$username = $_SESSION['username'];

echo "Selamat Datang $nama ($username) ";
?>
<hr>
</body>
</html>
<?php
}
else {
 include "login.php";
} 
?>

Pada halaman index.php ini terdapat perkembangan kode yaitu menambahkan kondisi percabangan hak akses user. dimana jika level == 1 maka menu admin akan ditampilkan sedangkan jika level == 2 maka menu staff yang akan ditampilkan.

menu_admin.php
<a href="index.php">Beranda</a> | 
<a href="index.php?menu=user">Data User</a> | 
<a href="index.php?menu=rekapitulasi">Data Rekapitulasi</a> | 
<a href="logout.php">Logout</a> | 

menu_staff.php
<a href="index.php">Beranda</a> | 
<a href="index.php?menu=absensi">Data Absensi</a> | 
<a href="logout.php">Logout</a> | 

logout.php
<?php 
session_start();
session_destroy();
?>
<script>
 alert('Logout berhasil');
 location='index.php';
</script>

Dengan sourcecode diatas maka kita telah dapat membuat sebuah login sederhana dengan hak akses yang berbeda melalui satu halaman form login yang sama. Selamat mengerjakannya ya

Hasil Program

Form Login

Hasil Login Admin

Hasil Login Staff

Login Sederhana Menggunakan PHP Session

Login Sederhana Menggunakan PHP Session

Login Sederhana Menggunakan PHP Session

Suatu sistem berbasis web tentu memiliki level akses yang berbeda-beda, dimana biasanya pembatasan level akses itu menggunakan fitur validasi user seperti login. Untuk login sendiri pada dasarnya adalah bagaimana sistem mengenal apakah user tersebut terdaftar ke dalam sistem atau tidak, dan apabila terdaftar maka sistem perlu sebuah variabel untuk menampung data user tersebut selama sesi tertentu agar sistem tetap mengenali bahwa user tersebut telah melakukan login dan dapat mengakses fitur-fitur yang tidak dibuka untuk user yang belum login, biasanya hal ini disebut dengan halaman backend.


pada tutorial kali ini kita membuat sistem login sederhana menggunakan session php yang hanya terdiri dari beberapa file php. file-file tersebut adalah sebagai berikut:
- index.php
- koneksi.php
- login.php
- login-proses.php
- logout.php

dan sebuah basis data dengan nama bebas dengan 1 buah tabel user dengan spesifikasi sebagai berikut:

nama db : db_web
tabel : user
- iduser int(11) pk ai
- username varchar(20)
- password varchar(32)
- nama varchar(20)

baik mari kita kerjakan kode programnya. untuk yang pertama kita buat terlebih dahulu file koneksi.php

koneksi.php
<?php 
$host = "localhost";
$user = "root";
$pass = "";
$db   = "db_web";

$koneksi = mysqli_connect($host,$user,$pass,$db);
?>

pada file koneksi silahkan sesuaikan dengan konfigurasi database kalian agar dapat berjalan dengan baik. kemudian kita membuat file login.php dimana ini adalah halaman awal jika user belum melakukan login.

login.php
<!DOCTYPE html>
<html>
<head>
 <title>Aplikasi Login Sederhana</title>
 <style>
 body { font-family: verdana; font-size: 12px; }
 a { text-decoration: none; color: blue; }
 a:hover { color: green; }
 </style>
</head>
<body>
<h1 align="center">Aplikasi Login Sederhana : PHP Session</h1>
<hr>
<form action="login-proses.php" method="post">
<table width="300" border="0" align="center">
<tr>
 <td width="150">Username</td>
 <td>
  <input type="text" name="username" required>
 </td>
</tr>
<tr>
 <td width="150">Password</td>
 <td>
  <input type="password" name="password" required>
 </td>
</tr>
<tr>
 <td width="150"></td>
 <td>
  <input type="submit" value="login" required>
 </td>
</tr>
</table>
</form>
</body>
</html>

Pada halaman login ini user diminta untuk mengisi username dan password yang telah terdaftar pada database user. kemudian kita membuat file login-proses.php dimana apabila user menekan tombol login maka username dan password yang telah diinputkan tersebut akan diteruskan ke halaman login-proses.php.

login-proses.php
<?php 
session_start();
include "koneksi.php";

$username = $_POST['username'];
$password = $_POST['password'];

//cek data
$sql = "SELECT * FROM user WHERE username='$username' ";
$qry = mysqli_query($koneksi,$sql);
$usr = mysqli_fetch_array($qry);

if( 
 md5($username) == md5($usr['username'])
 AND
 md5($password) == md5($usr['password'])
  )
{
 $_SESSION['iduser']   = $usr['iduser'];
 $_SESSION['username'] = $usr['username'];
 $_SESSION['nama']     = $usr['nama'];
 $_SESSION['login']    = 1;
 $pesan = "Login berhasil, selamat datan $username";
} else {
 $pesan = "Login gagal, username atau password anda salah!";
}

?>
<script>
 alert('<?php echo $pesan;?>');
 location='index.php';
</script>

inti dari login sederhana ini ada di file login-proses.php dimana urutan langkah-langkahnya adalah
- sistem akan mengecek ke database apakah username tersebut ada atau tidak
- kemudian sistem akan membandingkan data username dan password yang diketik user tersebut sama atau tidak dengan yang diperoleh dari database. dalam pengecekan ini kita menggunakan md5 untuk mengenkripsi apa yang diketik user sehingga dapat meminimalkan terjadinya script injection.
- apabila hasil pengecekan bernilai TRUE maka sistem akan menciptakan session dari data-data yang ada dan apabila bernilai false sistem akan memberikan pesan kesalahan.

selanjutnya kita membuat halaman output yaitu index.php

index.php
<?php
session_start();
$login = $_SESSION['login'];
if($login == 1)
{
include "koneksi.php";
?>
<!DOCTYPE html>
<html>
<head>
 <title>Aplikasi Login Sederhana</title>
 <style>
 body { font-family: verdana; font-size: 12px; }
 a { text-decoration: none; color: blue; }
 a:hover { color: green; }
 </style>
</head>
<body>
<h1 align="center">Aplikasi Login Sederhana : PHP Session</h1>
<hr>
<a href="index.php">Beranda</a> | 
<a href="logout.php">Logout</a> | 
<hr>
<?php 
$nama     = $_SESSION['nama'];
$username = $_SESSION['username'];

echo "Selamat Datang $nama ($username) ";
?>
<hr>
</body>
</html>
<?php
}
else {
 include "login.php";
} 
?>

halaman index.php pertama kali akan melakukan pengecekan apakah session login telah tercipta atau belum. kita memberikan value 1 untuk menandakan apakah session login telah tercipta atau belum, jika sudah maka sistem akan menampilkan menu utama seperti beranda dan logout dan juga memberikan pesan selamat datang dengan menyertakan nama dan username user yang telah login tersebut.

tahapan terakhir adalah membuat logout.php untuk keluar dari sistem.

logout.php
<?php 
session_start();
session_destroy();
?>
<script>
 alert('Logout berhasil');
 location='index.php';
</script>

Dengan adanya halaman logout ini user dapat keluar dari sistem dan session yang telah tercipta sebelumnya akan dihapus sehingga apabila user ingin masuk ke halaman backend user tersebut diharuskan untuk login kembali.

berikut adalah screenshot hasil program.
halaman login

Output index.php


Demikianlah tutorial singkat untuk membuat login sederhana menggunakan PHP session yang dapat kalian kembangkan dengan lebih baik lagi. Apabila ada pertanyaan dapat mengajukannya di kolom komentar di artikel ini.

Selamat mencoba ya.
Business Process Management (BPM) : Introduction

Business Process Management (BPM) : Introduction

Business Process Management (BPM) atau disebut juga Manajemen Proses Bisnis menjadi topik yang sering dibicarakan dimana hal ini dikarenakan sangat relevannya BPM dari sudut pandang praktis sementara pada saat yang sama ia menawarkan banyak tantangan untuk pengembang dan ilmuwan peranti lunak. Sistem informasi tradisional digunakan pemodelan informasi sebagai titik awal, misalnya pendekatan berbasis data mendominasi lanskap sistem informasi. Namun, selama dekade terakhir menjadi jelas bahwa proses sama pentingnya dan perlu didukung secara sistematis. Ini menghasilkan "gelombang" manajemen alur kerja sistem pada pertengahan sembilan puluhan. Sistem ini ditujukan untuk otomatisasi proses terstruktur. Karena itu, aplikasi mereka dibatasi hanya beberapa domain aplikasi. Namun, konsep alur kerja dasar telah diadopsi oleh berbagai jenis sistem informasi "sadar proses". BPM membahas topik dukungan proses dalam perspektif yang lebih luas dengan memasukkan yang berbeda jenis analisis (misalnya, simulasi, verifikasi, dan proses penambangan) dan penautan proses ke aspek bisnis dan sosial. Apalagi saat ini BPM menjadi menarik karena didorong oleh perkembangan teknologi (arsitektur berorientasi layanan) yang memicu upaya standardisasi.




Images source: incture.com

Manajemen proses bisnis telah menerima banyak perhatian baru-baru ini oleh baik administrasi bisnis dan komunitas ilmu komputer. Anggota komunitas ini biasanya ditandai oleh pendidikan yang berbeda latar belakang dan minat. Orang dalam administrasi bisnis adalah tertarik untuk meningkatkan operasi perusahaan. Meningkatkan kepuasan pelanggan, mengurangi biaya melakukan bisnis, dan membangun produk baru dan layanan dengan biaya rendah adalah aspek penting dari manajemen proses bisnis dari sudut pandang administrasi bisnis.

Dua komunitas dalam ilmu komputer tertarik pada proses bisnis. Peneliti dengan latar belakang dalam metode formal menyelidiki sifat struktural proses. Karena properti ini hanya dapat ditampilkan menggunakan abstraksi proses bisnis dunia nyata, kegiatan proses biasanya berkurang untuk surat. Menggunakan abstraksi ini, pengamatan menarik pada properti struktural proses bisnis dapat dibuat, yang sangat berguna untuk mendeteksi defisiensi struktural dalam proses bisnis dunia nyata.

Komunitas perangkat lunak tertarik untuk menyediakan sistem perangkat lunak yang handal dan terukur. Hal ini dikarenakan proses bisnis dapat diwujudkan dalam informasi lanskap teknologi yang kompleks, oleh karena itu integrasi sistem informasi yang ada menjadi dasar yang penting untuk realisasi teknis dari proses bisnis.

Manajemen proses bisnis didasarkan pada pengamtan bahwa setiap produk yang diberikan oleh perusahaan terhadap pasa adalah merupakan hasil dari sejumlah kegiatan yang telah dilakukan. Proses bisnis adalah instrumen kunci yang digunakan untuk mengelola aktivitas-aktivitas dan bertujuan untuk meningkatkan pemahaman mengenai hubungan timbal balik mereka.

Teknologi informasi pada umumnya dan sistem informasi pada khususnya menyediakan suatu aturan yang penting di dalam manajemen proses bisnis, hal ini dikarenakan lebih dan lebih lagi aktvitas yang dijalankan perusahaan didukung oleh sistem informasi. Suatu kegiatan proses bisnis dapat dilakukan oleh setiap karyawan di dalam perusahan baik secara manual maupun dengan bantuan sistem informasi. Namun terdapat juga suatu kegiatan proses bisnis yang dapat diberlakukan secara otomatis oleh sistem informasi tanpa adanya keterlibatan manusia. Suatu perusahaan dapat mencapai apayang menjadi tujuan bisnisnya secara efektif dan efisien dimana apabila terjadi kolaborasi bersama dengan baik antara orang dan sumber daya perusahaan lainnya seperti sistem informasi di dalam perusahaan tersebut. Dalam hal ini proses bisnis menjadi suatu konsep yang sangat penting untuk memfasilitasi kolaborasi tersebut secara efektif.

Terdapat banyak kondisi yang ditemukan di dalam suatu perusahaan dimana terdapat kesenjangan antara aspek bisnis organisasi dengan teknologi informasi yang ada. Kondisi ini tentunya menjadi hal yang perlu menjadi perhatian, dimana dengan mempersempit jarak atau gap antara organisasi dan teknologi tentu akan sangat membantu perusahaan untuk tetap dapa bertahan di pasar yang dinamis saat ini. Suatu hal yang tidak bisa dianggap biasa adalah dimana sebuah produk yang berhasil hari ini mungkin saja tidak seberhasil itu di masa mendatang. Jika pesaing memberikan harga yang lebih murah serta dirancang dengan lebih baik dan mudah digunakan.

Tersedianya komunikasi berbasis internet dalam menyebarkan informasi mengenai produk baru di kecepatan yang sangat signifikan, menjadi penyebab siklus produk tradisional tidak cocok untuk mengatasi pasar yang dinamis saat ini. Kemampuan untuk menciptakan produk baru dan membawa ke pasar dengan cepat, serta untuk mengadaptasi produk yang ada dengan biaya rendah menjadi keunggulan kompetitif bagi perusahaan yang sukses.

Sementara itu di tingkat organisasi, proses bisnis sangat penting untuk memahami bagaimana perusahaan beroperasi, proses bisnis juga memainkan peranan penting yaitu peran dalam desain dan realisasi sistem informasi yang fleksibel. Sistem informasi ini memberikan dasar teknis untuk pembuatan fungsionalitas baru yang cepat dalam mewujudkan produk baru dan untuk mengadaptasi fungsionalitas yang ada dalam memenuhi kebutuhan pasar baru.

Manajemen proses bisnis dipengaruhi oleh konsep dan teknologi dari berbagai bidang administrasi bisnis dan ilmu komputer. Berdasarkan pada pekerjaan awal dalam organisasi dan manajemen, manajemen proses bisnis berakar pada tren orientasi proses pada tahun 1990-an, di mana cara baru pengorganisasian suatu perusahaan berdasarkan proses bisnis diusulkan.

Reference
Weske, Mathias. Business Process Management.
Back To Top