Selamat sore rekan - rekan mahasiswa sekalian, kali ini pada postingan ini kita akan membahas "Apa itu struct pada pemrograman bahasa C++". Struct sendiri merupakan sebuah variable yang dapat menyimpan beberapa tipe data yang sama ataupun berbeda yang saling berhubungan. Bedanya dengan array adalah array hanya dapat menyimpan satu jenis variable saja.
Langsung saja kita masuk ke pembahasannya. Berikut merupakan program sederhana dari struct, simak dan perhatikan dengan baik sehingga rekan - rekan dapat paham konsepnya.
#include <iostream>
using namespace std;
struct datasiswa{
string nama;
int nim;
};
struct datanilai{
float nilai_uts,nilai_uas,nilai_quiz,absensi,nilai_tgs,rata;
};
struct indexnilai{
char index;
};
datasiswa siswa[10];
datanilai nilai[10];
indexnilai index[10];
int main(){
int jumlah;
cout << "Jumlah mahasiswa : "; cin >> jumlah;
cout << endl;
cout << "DATA MAHASISWA" << endl;
for(int i=0; i<jumlah; i++){
cout << "Nama ["<<i+1<<"] : "; cin >> siswa[i].nama;
cout << "NIM ["<<i+1<<"] : "; cin >> siswa[i].nim;
cout << "UTS ["<<i+1<<"] : "; cin >> nilai[i].nilai_uts;
cout << "UAS ["<<i+1<<"] : "; cin >> nilai[i].nilai_uas;
cout << "QUIZ ["<<i+1<<"] : "; cin >> nilai[i].nilai_quiz;
cout << "Tugas ["<<i+1<<"] : "; cin >> nilai[i].nilai_tgs;
cout << "Absen ["<<i+1<<"] : "; cin >> nilai[i].absensi;
nilai[i].rata=(nilai[i].nilai_uts+nilai[i].nilai_uas+nilai[i].nilai_quiz+nilai[i].nilai_tgs+nilai[i].absensi)/5;
system("cls");
}
system("pause");
cout << "OUTPUT DATA MAHASISWA" << endl;
for (int i=0; i<jumlah; i++){
cout << "Nama : " << siswa[i].nama << endl;
cout << "NIM : " << siswa[i].nim << endl;
cout << "UTS : " << nilai[i].nilai_uts << " | " << " UAS : " << nilai[i].nilai_uas << endl;
cout << "QUIZ : " << nilai[i].nilai_quiz<< " | " << " TUGAS : " << nilai[i].nilai_tgs << endl;
cout << "Absen : " << nilai[i].absensi << " | " << " Rata : " << nilai[i].rata << endl;
if (nilai[i].rata <=29)
{
index[i].index = 'E';
}
else if ((nilai[i].rata >=30) && (nilai[i].rata <=49))
{
index[i].index = 'D';
}
else if ((nilai[i].rata >=50) && (nilai[i].rata <=64))
{
index[i].index = 'C';
}
else if ((nilai[i].rata >=65) && (nilai[i].rata <=79))
{
index[i].index = 'B';
}
else if ((nilai[i].rata >=80) && (nilai[i].rata <=100))
{
index[i].index = 'A';
}
else
{
cout << "TIDAK VALID" << endl;
}
cout << "INDEX NILAI : " << index[i].index << endl;
cout << "------------------------------------------------------------------------" << endl;
}
system("pause");
return 0;
}
using namespace std;
struct datasiswa{
string nama;
int nim;
};
struct datanilai{
float nilai_uts,nilai_uas,nilai_quiz,absensi,nilai_tgs,rata;
};
struct indexnilai{
char index;
};
datasiswa siswa[10];
datanilai nilai[10];
indexnilai index[10];
int main(){
int jumlah;
cout << "Jumlah mahasiswa : "; cin >> jumlah;
cout << endl;
cout << "DATA MAHASISWA" << endl;
for(int i=0; i<jumlah; i++){
cout << "Nama ["<<i+1<<"] : "; cin >> siswa[i].nama;
cout << "NIM ["<<i+1<<"] : "; cin >> siswa[i].nim;
cout << "UTS ["<<i+1<<"] : "; cin >> nilai[i].nilai_uts;
cout << "UAS ["<<i+1<<"] : "; cin >> nilai[i].nilai_uas;
cout << "QUIZ ["<<i+1<<"] : "; cin >> nilai[i].nilai_quiz;
cout << "Tugas ["<<i+1<<"] : "; cin >> nilai[i].nilai_tgs;
cout << "Absen ["<<i+1<<"] : "; cin >> nilai[i].absensi;
nilai[i].rata=(nilai[i].nilai_uts+nilai[i].nilai_uas+nilai[i].nilai_quiz+nilai[i].nilai_tgs+nilai[i].absensi)/5;
system("cls");
}
system("pause");
cout << "OUTPUT DATA MAHASISWA" << endl;
for (int i=0; i<jumlah; i++){
cout << "Nama : " << siswa[i].nama << endl;
cout << "NIM : " << siswa[i].nim << endl;
cout << "UTS : " << nilai[i].nilai_uts << " | " << " UAS : " << nilai[i].nilai_uas << endl;
cout << "QUIZ : " << nilai[i].nilai_quiz<< " | " << " TUGAS : " << nilai[i].nilai_tgs << endl;
cout << "Absen : " << nilai[i].absensi << " | " << " Rata : " << nilai[i].rata << endl;
if (nilai[i].rata <=29)
{
index[i].index = 'E';
}
else if ((nilai[i].rata >=30) && (nilai[i].rata <=49))
{
index[i].index = 'D';
}
else if ((nilai[i].rata >=50) && (nilai[i].rata <=64))
{
index[i].index = 'C';
}
else if ((nilai[i].rata >=65) && (nilai[i].rata <=79))
{
index[i].index = 'B';
}
else if ((nilai[i].rata >=80) && (nilai[i].rata <=100))
{
index[i].index = 'A';
}
else
{
cout << "TIDAK VALID" << endl;
}
cout << "INDEX NILAI : " << index[i].index << endl;
cout << "------------------------------------------------------------------------" << endl;
}
system("pause");
return 0;
}
Sekian dan terima kasih, semoga tugasnya terbantu !!
Selamat malam rekan mahasiswa dimanapun kalian berada, pada artikel kali ini kita akan membahas tentang Pointer pada C++ dan semoga artikel ini dapat memberikan pencerahan pada rekan rekan sekalian :v
Pointer adalah suatu variable yang digunakan untuk menyimpan sebuah alamat memory, jika sebelumnya kita hanya mengenal variable biasa seperti int, char, string dll. Variable tersebut digunakan untuk menyimpan suatu nilai tertentu lain halnya dengan pointer, pointer akan menyimpan alamat dari nilai tertentu tersebut ke dalam memory.
Cara pendeklarasiannya pun berbeda dengan variable biasa, simak dibawah ini :
#include <iostream>
using namespace std;
int main()
{
int *a;
int b;
a=&b;
b=45;
cout << "Nilai b = " << b << endl;
cout << "Nilai *a = " << *a << endl;
cout << "Nilai a = " << a << endl;
cout << "Nilai &b = " << &b << endl;
}
using namespace std;
int main()
{
int *a;
int b;
a=&b;
b=45;
cout << "Nilai b = " << b << endl;
cout << "Nilai *a = " << *a << endl;
cout << "Nilai a = " << a << endl;
cout << "Nilai &b = " << &b << endl;
}
Dari contoh program sederhana pointer diatas :
- int *a; pointer a digunakan untuk menyimpan alamat memory, jadi setiap nilai tertentu alamatnya akan tersimpan didalam variable pointer a. Kita gunakan simbol *(bintang) untuk pendeklarasian pointer.
- int b; variable b disini digunakan untuk menyimpan nilai tertentunya. Yang kemudian alamatnya akan disimpan kedalam variable *a tadi.
- a=&b; nah agar alamat dari nilai variable b dapat tersimpan kedalam variable pointer *a kita lakukan inisialisasi tersebut. Cara membacanya a merupakan alamat dari b.
- b=45; selanjutnya kita tentukan nilai dari variable b nya berapa. Isi sesuai keinginan kalian.
- Dan kemudian di cout untuk melihat outputnya.
- cout b = untuk melihat nilai dari variable b
- cout *a = untuk melihat nilai didalam alamat pointer a
- cout a = untuk melihat alamat yang tersimpan didalam pointer a
- cout &b = untuk melihat alamat memory dari variable b
Untuk pointer sendiri sangat luas sekali implementasinya, pointer sendiri sering digunakan untuk membangun sebuah software yang komplex agar memudahkan dalam me-manage memorynya.
Sekian dulu penjelasan tentang pointer, terima kasih sudah berkunjung jangan lupa dishare jika dirasa artikel dari saya ini berguna dan jika ingin copas jangan lupa cantumkan link sumbernya.
Selamat malam, salah sejahtera untuk kita semua. Kali ini saya mau berbagi sedikit ilmu yang Insya Allah bermanfaat buat teman-teman mahasiswa sekalian. Belajar Java - Array 1 Dimensi dan 2 Dimensi. Konsepnya sama saja seperti bahasa pemrograman lainnya, setidaknya kalian paham dan mengerti pemrograman terstruktur, perulangan. Untuk penulisan dalam javanya sendiri seperti dibawah ini.
ARRAY 1 DIMENSI
public class PreTest2 {
public static void main(String[] args) {
int[] nilai_uts = new int[5];
String[] nama = new String[5];
nilai_uts[0] = 90;
nilai_uts[1] = 80;
nilai_uts[2] = 70;
nilai_uts[3] = 40;
nilai_uts[4] = 50;
nama[0] = "Isnan";
nama[1] = "Is";
nama[2] = "nan";
nama[3] = "san";
nama[4] = "Inan";
System.out.println("Nama Makhluk pada index ke 3 = "+nama[3]);
System.out.println("Nilai UTS index ke 0 = "+nilai_uts[0]);
}
}
public static void main(String[] args) {
int[] nilai_uts = new int[5];
String[] nama = new String[5];
nilai_uts[0] = 90;
nilai_uts[1] = 80;
nilai_uts[2] = 70;
nilai_uts[3] = 40;
nilai_uts[4] = 50;
nama[0] = "Isnan";
nama[1] = "Is";
nama[2] = "nan";
nama[3] = "san";
nama[4] = "Inan";
System.out.println("Nama Makhluk pada index ke 3 = "+nama[3]);
System.out.println("Nilai UTS index ke 0 = "+nilai_uts[0]);
}
}
Dari script diatas, yang cetak tebal bisa teman - teman ubah sesuai kebutuhan, script diatas juga merupakan array 1 dimensi yang mana nilai dari masing - masing arraynya sudah di tentukan. Nah bagaimana jika kita mau input arraynya sendiri ? maka dari itu kita perlu menggunakan perulangan for. Caranya sama saja seperti di bahasa pemrograman lainnya, hanya saja yang kita perlu tambahkan adalah library java yang berfungsi untuk membaca input dari user.
import java.util.scanner
import java.util.Scanner;
public class PreTest2 {
public static void main(String[] args) {
int[] nilai_uts = new int[5];
String[] nama = new String[5];
//input untuk nilai uts
Scanner scan = new Scanner(System.in);
for(int i=0; i<5; i++){
nilai_uts[i] = scan.nextInt();
}
//input untuk nama
Scanner scan = new Scanner(System.in);
for (int i=0; i<5; i++){
nama[i] = scan.nextLine();
}
}
public class PreTest2 {
public static void main(String[] args) {
int[] nilai_uts = new int[5];
String[] nama = new String[5];
//input untuk nilai uts
Scanner scan = new Scanner(System.in);
for(int i=0; i<5; i++){
nilai_uts[i] = scan.nextInt();
}
//input untuk nama
Scanner scan = new Scanner(System.in);
for (int i=0; i<5; i++){
nama[i] = scan.nextLine();
}
}
Nah itu tadi sedikit tutorial java tentang array 1 dimensi, selanjutnya saya akan bahas array 2 dimensi di artikel berikutnya. Stay tune!!!
Untuk membuat sistem login dengan multi level user, pertama - tama kita harus membuat database SQL nya.
-- phpMyAdmin SQL Dump
-- version 4.7.0
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Generation Time: Feb 05, 2018 at 06:30 AM
-- Server version: 10.1.25-MariaDB
-- PHP Version: 5.6.31
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `final`
--
-- --------------------------------------------------------
--
-- Table structure for table `pengguna`
--
CREATE TABLE `pengguna` (
`id_pengguna` int(4) NOT NULL,
`username` varchar(50) NOT NULL,
`password` varchar(50) NOT NULL,
`peran` varchar(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `pengguna`
--
INSERT INTO `pengguna` (`id_pengguna`, `username`, `password`, `peran`) VALUES
(1, 'admin', '21232f297a57a5a743894a0e4a801fc3', 'admin'),
(2, 'rezkycpp', '2c7ef4281d0d5aaf23b436d3fb36ff0f', 'member');
--
-- Indexes for dumped tables
--
--
-- Indexes for table `pengguna`
--
ALTER TABLE `pengguna`
ADD PRIMARY KEY (`id_pengguna`),
ADD UNIQUE KEY `username` (`username`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `pengguna`
--
ALTER TABLE `pengguna`
MODIFY `id_pengguna` int(4) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
-- version 4.7.0
-- https://www.phpmyadmin.net/
--
-- Host: 127.0.0.1
-- Generation Time: Feb 05, 2018 at 06:30 AM
-- Server version: 10.1.25-MariaDB
-- PHP Version: 5.6.31
SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO";
SET AUTOCOMMIT = 0;
START TRANSACTION;
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8mb4 */;
--
-- Database: `final`
--
-- --------------------------------------------------------
--
-- Table structure for table `pengguna`
--
CREATE TABLE `pengguna` (
`id_pengguna` int(4) NOT NULL,
`username` varchar(50) NOT NULL,
`password` varchar(50) NOT NULL,
`peran` varchar(10) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
--
-- Dumping data for table `pengguna`
--
INSERT INTO `pengguna` (`id_pengguna`, `username`, `password`, `peran`) VALUES
(1, 'admin', '21232f297a57a5a743894a0e4a801fc3', 'admin'),
(2, 'rezkycpp', '2c7ef4281d0d5aaf23b436d3fb36ff0f', 'member');
--
-- Indexes for dumped tables
--
--
-- Indexes for table `pengguna`
--
ALTER TABLE `pengguna`
ADD PRIMARY KEY (`id_pengguna`),
ADD UNIQUE KEY `username` (`username`);
--
-- AUTO_INCREMENT for dumped tables
--
--
-- AUTO_INCREMENT for table `pengguna`
--
ALTER TABLE `pengguna`
MODIFY `id_pengguna` int(4) NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3;COMMIT;
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
Setelah database dibuat selanjutnya kita membuat connection.php untuk menghubungkan database tadi dengan page loginnya.
<?php
$servername = "localhost";
$username = "root";
$password = "";
$db = "final";
$conn = new mysqli($servername, $username, $password, $db);
if ($conn->connect_error) {
die("Database belum terhubung : " . $conn->connect_error);
}
?>
$servername = "localhost";
$username = "root";
$password = "";
$db = "final";
$conn = new mysqli($servername, $username, $password, $db);
if ($conn->connect_error) {
die("Database belum terhubung : " . $conn->connect_error);
}
?>
Untuk servername bisa kalian isi sesuaikan, begitu pula username dan passwordnya, dan juga nama databasenya bisa kalian sesuaikan sendiri dan save dengan nama connection.php.
Berikutnya kita membuat Session Loginnya.
<?php
$error='';
include "config.php";
if(isset($_POST['submit']))
{
$username = $_POST['username'];
$password = md5($_POST['password']);
$query = mysqli_query($conn, "SELECT * FROM pengguna WHERE username='$username' AND password='$password'");
if(mysqli_num_rows($query) == 0)
{
$error = "Username or Password is invalid!";
}
else
{
$row = mysqli_fetch_assoc($query);
$_SESSION['username'] = $row['username'];
$_SESSION['peran'] = $row['peran'];
$_SESSION['id_pengguna']= $row['id_pengguna'];
if($row['peran'] == "admin")
{
header("Location: admin/index.php");
}
else if($row['peran'] == "member")
{
header("Location: member/index.php");
}
else
{
$error = "Failed Login, check again!";
}
}
}
?>
$error='';
include "config.php";
if(isset($_POST['submit']))
{
$username = $_POST['username'];
$password = md5($_POST['password']);
$query = mysqli_query($conn, "SELECT * FROM pengguna WHERE username='$username' AND password='$password'");
if(mysqli_num_rows($query) == 0)
{
$error = "Username or Password is invalid!";
}
else
{
$row = mysqli_fetch_assoc($query);
$_SESSION['username'] = $row['username'];
$_SESSION['peran'] = $row['peran'];
$_SESSION['id_pengguna']= $row['id_pengguna'];
if($row['peran'] == "admin")
{
header("Location: admin/index.php");
}
else if($row['peran'] == "member")
{
header("Location: member/index.php");
}
else
{
$error = "Failed Login, check again!";
}
}
}
?>
Save dengan nama login.php, jika sudah lanjut kita akan membuat indexnya atau tampilan dari loginnya.
<?php
session_start();
if($_SESSION){
if($_SESSION['peran']=="admin")
{
header("Location: admin/index.php");
}
if($_SESSION['peran']=="member")
{
header("Location: member/index.php");
}
}
include('login.php');
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>LOGIN PAGE</title>
<!-- Bootstrap -->
<link href="src/css/bootstrap.min.css" rel="stylesheet">
<link rel="icon" href="src/icon/favicon.ico">
<style>
body {
background-image: url(src/img/login.jpg);
background-position: center;
background-repeat: no-repeat;
}
.row {
margin: 100px auto;
width: 300px;
text-align: center;
}
.login {
background-color: #fff;
padding: 20px;
margin-top: 20px;
}
</style>
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="container">
<div class="row">
<div class="login">
<h2>Login first!</h2>
<?php
/*if(isset($_POST['login'])){
include("config.php");
$username = $_POST['username'];
$password = md5($_POST['password']);
$query = mysqli_query($conn, "SELECT * FROM pengguna WHERE username='$username' AND password='$password'");
if(mysqli_num_rows($query) == 0){
echo '<div class="alert alert-danger">Upss...!!! Login gagal.</div>';
}else{
$row = mysqli_fetch_assoc($query);
if($row['peran'] == 'admin' && $peran == 'admin'){
$_SESSION['username']=$username;
$_SESSION['peran']='admin';
header("Location: ../admin/index.php");
}else if($row['peran'] == 'member' && $peran == 'member'){
$_SESSION['username']=$username;
$_SESSION['peran']='member';
header("Location: ../member/index.php");
}else{
echo '<div class="alert alert-danger">Upss...!!! Login gagal.</div>';
}
}
}*/
?>
<form role="form" action="" method="post">
<div class="form-group">
<input type="text" name="username" class="form-control" id="username" placeholder="Username" required autofocus />
</div>
<div class="form-group">
<input type="password" name="password" class="form-control" id="password" placeholder="Password" required autofocus />
</div>
<!--
<div class="form-group">
<select name="peran" class="form-control" required>
<option value="">Pilih Level User</option>
<option value="admin">Admin</option>
<option value="member">Member</option>
</select>
</div>
-->
<div class="form-group">
<input type="submit" name="submit" class="btn btn-primary btn-block" value="Login" />
</div>
<div class="form-group">
<input type="button" name="register" class="btn btn-primary btn-block" value="Register" />
</div>
<?php echo $error; ?>
</form>
</div>
Copyright © Kelompok 7 - DPW
</div>
</div>
<script src="src/js/jquery-3.3.1.js"></script>
<script src="src/js/bootstrap.min.js"></script>
</body>
</html>
session_start();
if($_SESSION){
if($_SESSION['peran']=="admin")
{
header("Location: admin/index.php");
}
if($_SESSION['peran']=="member")
{
header("Location: member/index.php");
}
}
include('login.php');
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>LOGIN PAGE</title>
<!-- Bootstrap -->
<link href="src/css/bootstrap.min.css" rel="stylesheet">
<link rel="icon" href="src/icon/favicon.ico">
<style>
body {
background-image: url(src/img/login.jpg);
background-position: center;
background-repeat: no-repeat;
}
.row {
margin: 100px auto;
width: 300px;
text-align: center;
}
.login {
background-color: #fff;
padding: 20px;
margin-top: 20px;
}
</style>
<!--[if lt IE 9]>
<script src="https://oss.maxcdn.com/html5shiv/3.7.2/html5shiv.min.js"></script>
<script src="https://oss.maxcdn.com/respond/1.4.2/respond.min.js"></script>
<![endif]-->
</head>
<body>
<div class="container">
<div class="row">
<div class="login">
<h2>Login first!</h2>
<?php
/*if(isset($_POST['login'])){
include("config.php");
$username = $_POST['username'];
$password = md5($_POST['password']);
$query = mysqli_query($conn, "SELECT * FROM pengguna WHERE username='$username' AND password='$password'");
if(mysqli_num_rows($query) == 0){
echo '<div class="alert alert-danger">Upss...!!! Login gagal.</div>';
}else{
$row = mysqli_fetch_assoc($query);
if($row['peran'] == 'admin' && $peran == 'admin'){
$_SESSION['username']=$username;
$_SESSION['peran']='admin';
header("Location: ../admin/index.php");
}else if($row['peran'] == 'member' && $peran == 'member'){
$_SESSION['username']=$username;
$_SESSION['peran']='member';
header("Location: ../member/index.php");
}else{
echo '<div class="alert alert-danger">Upss...!!! Login gagal.</div>';
}
}
}*/
?>
<form role="form" action="" method="post">
<div class="form-group">
<input type="text" name="username" class="form-control" id="username" placeholder="Username" required autofocus />
</div>
<div class="form-group">
<input type="password" name="password" class="form-control" id="password" placeholder="Password" required autofocus />
</div>
<!--
<div class="form-group">
<select name="peran" class="form-control" required>
<option value="">Pilih Level User</option>
<option value="admin">Admin</option>
<option value="member">Member</option>
</select>
</div>
-->
<div class="form-group">
<input type="submit" name="submit" class="btn btn-primary btn-block" value="Login" />
</div>
<div class="form-group">
<input type="button" name="register" class="btn btn-primary btn-block" value="Register" />
</div>
<?php echo $error; ?>
</form>
</div>
Copyright © Kelompok 7 - DPW
</div>
</div>
<script src="src/js/jquery-3.3.1.js"></script>
<script src="src/js/bootstrap.min.js"></script>
</body>
</html>
Kode diatas save dengan nama index.php dan jangan lupa saya disini menggunakan framework bootstrap kalian harus download sendiri ya.
Kemudian buat 2 folder baru admin dan user seperti gambar dibawah ini ...
Kemudian dimasing - masing folder kalian buat lagi 3 file yaitu index.php, config.php dan cek_admin.php / cek_user.php. Gunanya adalah agar ketika login sebagai admin kalian akan dilempar kedalam page khusus admin begitu pula jika kalian login sebagai user biasa kalian akan dilempar ke halaman user biasa.
config.php sama saja buat di folder user dan admin
<?php
$conn=mysqli_connect("localhost","root","","final")or die("Can't Connect...");
?>
$conn=mysqli_connect("localhost","root","","final")or die("Can't Connect...");
?>
cek_admin.php
<?php
session_start();
//cek apakah user sudah login
if(!isset($_SESSION['username'])){
die("Anda belum login");//
}
//cek level user
if($_SESSION['peran']!="admin")
{
die("Anda bukan admin");
}
?>
session_start();
//cek apakah user sudah login
if(!isset($_SESSION['username'])){
die("Anda belum login");//
}
//cek level user
if($_SESSION['peran']!="admin")
{
die("Anda bukan admin");
}
?>
cek_member.php
<?php
session_start();
//cek apakah user sudah login
if(!isset($_SESSION['username'])){
die("Anda belum login");//
}
//cek level user
if($_SESSION['peran']!="member")
{
die("Anda bukan member, reg first!");
}
?>
session_start();
//cek apakah user sudah login
if(!isset($_SESSION['username'])){
die("Anda belum login");//
}
//cek level user
if($_SESSION['peran']!="member")
{
die("Anda bukan member, reg first!");
}
?>
index.php untuk indexnya kalian bisa sesuaikan saja
<!DOCTYPE html>
<html>
<head>
<title>INI PAGE ADMIN/USER</title>
</head>
<body>
<p> SELAMAT DATANG ADMIN/USER </p>
</body>
</html>
<html>
<head>
<title>INI PAGE ADMIN/USER</title>
</head>
<body>
<p> SELAMAT DATANG ADMIN/USER </p>
</body>
</html>
Setelah semuanya selesai, coba jalankan dan coba login menggunakan kedua usernya yang sudah dibuat tadi...
Admin :
username : admin | password : admin
User :
username : rezkycpp | password : rezkycpp
Sekian dan terima kasih, semoga bermanfaat !!!
Membuat Sistem Login Multi Level User dengan PHP, Bootstrap dan Database MySQL
Posted by RZDev: Belajar Programming! on Monday, February 5, 2018
Google Web Designer merupakan software yang hampir mirip dengan adobe dreamweaver, tapi GWD lebih ringan dan tentunya gratis.
Bagi teman - teman yang sudah download dan mencoba run softwarenya mungkin ada beberapa yang kena freeze black atau white screen pas startupnya. Saya sudah baca - baca di forum dan ketemu caranya memperbaikinya.
1. Klik kanan pada Google Web Designer, Properties
2. Centang Compability Mode ganti Windows 7
3. Centang juga Override high DPI scalling behavior. Application
4. Jika sudah, coba run kembali Google Web Designer.
Semoga bermanfaat !
Google Web Designer Black White Screen at Startup
Posted by RZDev: Belajar Programming! on Tuesday, November 28, 2017
Sebelumnya aku udah pernah share Tutorial Gitlab : Cara Push File ke Repository. Sebenarnya masih ada beberapa cara untuk push file ke Gitlab. Simak beberapa cara mudah push file ke GitLab dibawah ini :
Saya bagi menjadi 2 kondisi saja, pertama push ke New Repository kedua push ke Existing Folder / Folder yang sudah dibuat.
New Repository
Pastikan kalian sudah masuk ke halaman ini dulu, agar bisa lanjut ke step berikutnya.
Kemudian open software Git Bash kalian (jika belum bisa cek disini) masukkan perintah seperti dibawah ini
git --global user.name "username_kalian"
git --global user.email "email_kalian"
Jika sudah, masuk ke directory dimana kalian ingin mengclone foldernya, contoh c:/xampp/htdocs. Maka ketikkan perintahnya di Git Bash
cd c:/xampp/htdocs/
git clone https://gitlab.com/latihan-rezkycpp/contoh1.git
Maka di folder tersebut akan muncul folder baru dengan nama contoh1, nah jika sudah ada foldernya tugas kalian adalah memasukkan file apa saja yang ingin di push ke dalam folder baru tersebut misalkan pada tutorial kali ini saya memasukkan file rezkycpp.txt
Maka ketik perintah berikut di Git Bash kalian
cd contoh1
touch rezkycpp.txt
git add rezkycpp.txt
git commit -m "isi pesan bebas"
Jika perintah yang kalian ketik benar semua tidak ada pesan error, maka selanjutnya tinggal push saja dengan perintah
git push -u origin master
PUSH KE EXISTING FOLDER
Hampir mirip seperti diatas, namun disini kondisinya kalian sudah membuat sebuah folder serta isinya yang siap di push ke repository gitlab.
Pertama kalian open Git Bash kemudian change directory ke directory punya kalian dengan perintah
cd c:/xampp/htdocs/latihan1
Pastikan foldernya sudah berisi file - file yang ingin di push, jika folder masih kosong akan terjadi error di step selanjutnya. Jika sudah ketikkan perintah - perintah berikut ini :
git init
git remote add origin https://gitlab.com/latihan-rezkycpp/contoh1.git
git add .
git commit -m "isi pesan bebas"
Jika perintah yang kalian masukkan benar semua maka akan seperti gambar diatas ini, tidak ada pesan error. Barulah kalian bisa push filenya dengan perintah :
git push -u origin master
Dan file sudah berhasil di push, cek repository kalian
Sekian tutorial kali ini semoga tidak ada yang bingung lagi, jika masih bingung bisa hubungi saya melalui kotak komentar dibawah atau langsung pm saja.
Tutorial Gitlab : Cara Mudah Push File
Posted by RZDev: Belajar Programming! on Friday, November 17, 2017
Sesuai permintaan teman - teman, tutorial untuk tugas praktikum web tentang Tutorial GitLab : Cara push file ke repository gitlab. Simak baik baik ya, jika masih kurang paham dan sejenisnya bisa langsung menghubungi contact person yang tertera.
Requirements :
- PC yang terkoneksi dengan internet
- Software Git bisa didownload disini / click here /
- Sudah memiliki akun GitLab.
- Niat dan doa.
Tutorial Push file ke repository GitLab
Login ke akun GitLab kalian dan klik Groups sesuai perintahnya kalian harus push file ke sub-group
Jika sudah masuk di groups, klik tanda panah hitam kecil untuk expand sub-groupnya, dan pilih modul3-gitlab-xampp.
Maka kalian akan masuk ke page seperti dibawah ini, disini kalian harus membuat New Project. Silahkan klik button hijau!
Isikan project name sesuai ketentuan praktikum t0_16102065, yang lain biarkan default saja langsung klik button Create Project.
Sekarang buka software Git Bash yang sudah di install tadi, masukkan perintah seperti dibawha ini, sesuaikan sendiri "username" dan "email" nya.
Selanjutnya ketikkan perintah cd C:/xampp/htdocs, sesuaikan dimana kalian lokasi xampp kalian. Kemudian copy https projectnya contoh :
https://gitlab.com/dpwganjil2017/kelas-B/modul3-gitlab-xampp/to_16102065
Untuk https tersebut bisa diliat dibrowser kalian ya ...
Kembali lagi ke software GitBash kalian dan ketikkan perintah :
git clone https://gitlab.com/dpwganjil2017/kelas-B/modul3-gitlab-xampp/to_16102065
Jika benar maka akan seperti gambar dibawah ini :
Jika sudah masuk ke xampp -> htdocs maka akan ada muncul folder baru hasil cloning tadi seperti gambar dibawah ini
masuk ke folder baru tersebut buat new file document yang isinya jawaban soal yang ada di modul praktikum, save dengan nama jawaban.txt
Selanjutnya kembali lagi ke Git Bash masukkan perintah git add jawaban.txt lalu commit dengan perintah git commit -m "[bebas isi apa aja]".
Nah nah jika tidak ada pesan error langsung saja masukkan perintah git push -u origin master. Coba cek di repo project yang kalian buat tadi jika ada file jawaban.txt maka kalian sudah bisa tidur dengan tengan.
Sekian dan terima kasih, semoga bermanfaat!
Tutorial Gitlab : Cara Push File ke Repository
Posted by RZDev: Belajar Programming! on Sunday, November 5, 2017
Selamat malam semua, baru baru ini windows telah meluncurkan fall creator update dimana Microsoft telah menambahkan sejumlah fitur - fitur barunya. Namun dalam update kali ini terdapat banyak sekali keluhan tentang FPS yang terkunci pada 30 & 60 atau drop fps dan lain sejenisnya.
Mulai dari disable Xbox Game DVR, Setting Battery High Performance, Update driver, disable prefetch, engga ada satupun yang berhasil. Lepy admin sendiri untuk nge-game normalnya dapat 40-50 FPS keatas, setelah update di fall creator ini entah kenapa FPS terlock di 29-30.
Mungkin ada beberapa dari teman - teman yang memperbaikinya dengan cara rollback kembali ke build sebelumnya, tapi itu lumayan menyita waktu. Mungkin dengan trik simple ini akan terselesaikan tanpa harus rollback.
Dalam game apapun ubah settingan Fullscreen menjadi Windowed / Borderless Windowed.
Setelah itu FPS akan normal kembali, ini juga merupakan bug pada fall creator update ini, semoga saja Microsoft secepatnya memperbaikinya.
Tested : Windows 10 Pro Version 1709 OS Build 16299.19
Memperbaiki Masalah FPS yang terkunci pada Windows 10
Posted by RZDev: Belajar Programming! on Thursday, November 2, 2017
Pada post kali ini kita akan membahas tentang Input / Output pada program C++
Terdapat banyak cara untuk menggunakan input & output pada bahasa pemrograman C++ disini saya akan menggunakan cout. Cout adalah suatu objek dalam bahasa C++ untuk mengarahkan data ke standard output.
Cout selalu di ikuti dengan symbol << , simbol tersebut merupakan operator yang disebut juga dengan operator penyisipan/peletakan. Operator ini mengarahkan operand (data) di sebelah kanannya ke objek yang terletak disebelah kiri.
Berikut contoh code :
#include <iostream>
using namespace std;
int main ()
{
cout << "Hello World" << endl;
return 0;
}
Contoh tampilan cout setelah di run
==========================================================
Cin berfungsi untuk membaca data dari standard input. Cin selalu di ikuti simbo >> , simbol tersebut juga merupakan operand yang membaca inputan.
Berikut contoh code :
using namespace std;
int main ()
{
char a;
cout << "Masukkan input"; cin >> a;
return 0;
}
contoh tampilan cin setelah di run
====================================================
Latihan Soal
Buatlah program dengan masukkan text dan menampilkan text sesuai dengan masukkan tersebut! (gabungan cout & cin)
Answers
#include <iostream>using namespace std;
int main ()
{
string a;
cout << "Masukkan input : "; cin >> a;
cout << a << endl;
return 0;
}
Sekian tutorial dari saya, semoga bermanfaat & mudah dipahami. Jika ada masalah silahkan komentar dibawah ini atau hubungi kontak yang tersedia!