Sabtu, 25 Januari 2014

Program Perpustakaan Online dengan PHP dan MYSQL

Assalammualaikum wr wb

Kali ini saya akan [SHARE] syntax dan program Perpustakaan Online .
Program ini adalah tugas dari Teori Produktif RPL. Dan program ini juga yang nantinya akan menjadi soal untuk ujian teori produktif di sekolah admin.
Langsung saja, seperti biasa dalam membuat sebuah program PHP kita membutuhkan sebuah database. Dan berikut struktur database yang akan kita buat untuk program Perpustakaan Online kali ini.


Untuk Database saya sengaja untuk tidak menguploadnya karena agar kita sama-sama belajar. tidak hanya langsung download file yang sudah jadi. Tak ada usaha tak akan ada hasil.
Berikut adalah screenshot dari program yang telah saya buat. 
  • Halaman Awal

  • Halaman Report

Demikian contoh web yang saya buat. untuk download file lengkap (program dan database) anda bisa mengirim Email ke adialfatih4@gmail.com
Untuk File Program saja anda bisa download disini atau disini.

Wassalammualaikum Wr Wb

Selasa, 03 Desember 2013

Membuat Form Login Admin dengan PHP

Assalamualaikum Wr Wb

Sahabat Blogger, kali ini saya akan memberikan cara untuk Membuat Form Login Admin sederhana dengan PHP. Untuk form login admin kali ini saya hanya membuat cek loginnya dari tabel admin saja. Jadi tidak ada type loginnya. Intinya form ini khusus untuk login sang master / admin saja.
Nah langsung saja untuk yang pertama dan yang paling utama adalah "Bismillah hi rahmannirrahim" dulu, kemudian buatlah database untuk loginnya

Seperti ini SS form loginnya :


Dan untuk CSSnya.. 
css :
.iPhoneCheckContainer { -webkit-transform:translate3d(0,0,0); position: relative; height: 27px; cursor: pointer; overflow: hidden; } .iPhoneCheckContainer input { position: absolute; top: 5px; left: 30px; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; } .iPhoneCheckContainer label { white-space: nowrap; font-size: 17px; line-height: 17px; font-weight: bold; font-family: "Helvetica Neue", Arial, Helvetica, sans-serif; cursor: pointer; display: block; height: 27px; position: absolute; width: auto; top: 0; padding-top: 5px; overflow: hidden; } .iPhoneCheckContainer, .iPhoneCheckContainer label { user-select: none; -moz-user-select: none; -khtml-user-select: none; } .iPhoneCheckDisabled { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50); opacity: 0.5; } label.iPhoneCheckLabelOn { color: white; background: url('image/2/on.png?1284697268') no-repeat; text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.6); left: 0; padding-top: 5px; } label.iPhoneCheckLabelOn span { padding-left: 8px; } label.iPhoneCheckLabelOff { color: #8b8b8b; background: url('image/2/off.png?1284697268') no-repeat right 0; text-shadow: 0px 0px 2px rgba(255, 255, 255, 0.6); text-align: right; right: 0; } label.iPhoneCheckLabelOff span { padding-right: 8px; } .iPhoneCheckHandle { display: block; height: 27px; cursor: pointer; position: absolute; top: 0; left: 0; width: 0; background: url('image/2/slider_left.png?1284697268') no-repeat; padding-left: 3px; } .iPhoneCheckHandleRight { height: 100%; width: 100%; padding-right: 3px; background: url('image/2/slider_right.png?1284697268') no-repeat right 0; } .iPhoneCheckHandleCenter { height: 100%; width: 100%; background: url('image/2/slider_center.png?1284697268'); } .iOSCheckContainer { position: relative; height: 27px; cursor: pointer; overflow: hidden; } .iOSCheckContainer input { position: absolute; top: 5px; left: 30px; filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0); opacity: 0; } .iOSCheckContainer label { white-space: nowrap; font-size: 17px; line-height: 17px; font-weight: bold; font-family: "Helvetica Neue", Arial, Helvetica, sans-serif; cursor: pointer; display: block; height: 27px; position: absolute; width: auto; top: 0; padding-top: 5px; overflow: hidden; } .iOSCheckContainer, .iOSCheckContainer label { user-select: none; -moz-user-select: none; -khtml-user-select: none; } .iOSCheckDisabled { filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=50); opacity: 0.5; } label.iOSCheckLabelOn { color: white; background: url('image/1/on.png?1284697268') no-repeat; text-shadow: 0px 0px 2px rgba(0, 0, 0, 0.6); left: 0; padding-top: 5px; } label.iOSCheckLabelOn span { padding-left: 8px; } label.iOSCheckLabelOff { color: #8b8b8b; background: url('image/1/off.png?1284697268') no-repeat right 0; text-shadow: 0px 0px 2px rgba(255, 255, 255, 0.6); text-align: right; right: 0; } label.iOSCheckLabelOff span { padding-right: 8px; } .iOSCheckHandle { display: block; height: 27px; cursor: pointer; position: absolute; top: 0; left: 0; width: 0; background: url('image/1/slider_left.png?1284697268') no-repeat; padding-left: 3px; } .iOSCheckHandleRight { height: 100%; width: 100%; padding-right: 3px; background: url('image1/1/slider_right.png?1284697268') no-repeat right 0; } .iOSCheckHandleCenter { height: 100%; width: 100%; background: url('image/1/slider_center.png?1284697268'); }  

Dan koding untuk proses login.php nya begini.. 
<?php
  session_start();
  require_once("../../koneksi.php");
  $username = $_POST['useradmin'];
  $password = md5($_POST['password']);
  $cekuser = mysql_query("SELECT * FROM admin WHERE username = '$username' and password='$password'");
  $jumlah = mysql_num_rows($cekuser);
  $hasil = mysql_fetch_array($cekuser);

  if($jumlah){
$_SESSION['admin']=$password;
$_SESSION['waktu']=date("Y-m-d H:i:s");

?> <script type="text/javascript">document.location.href="../admin.php"; </script><?php

}else{
echo "Login Gagal!<br/>";
?> <script type="text/javascript"> window.alert("Login Gagal"); document.location.href="../admin.php"; </script><?php

}

?>


Dan untuk koding Form Login Adminnya anda bisa lihad di myDrive
Untuk JavaScriptnya juga ada disini , disini dan disini

Sekian tutorial dari saya. kalo ada masalah komen aja gan..

Sangkyu, Arigatou ThankYou dan Wassalamualaikum Wr Wb

Sabtu, 16 November 2013

[RPL] Membuat Aplikasi Hitung Dengan JSP

Assalammualaikum Wr Wb

Ohaiyo minna san ...?
Sepertinya sudah lama kami tidak posting ya teman, kali ini saya*  akan menyampaikan sebuah materi tentang JSP. Anda tau apa itu JSP ?? saya yakin anda pasti pernah mendengar atau melihat sebuah program web berbasis JSP. Jika anda tidak tau anda dapat mencari tau disini. Nah teman, gak usah basa basi. Langsung saja saya akan sampaikan materi [RPL] Membuat Aplikasi Hitung Dengan JSP.

Pertama - tama marilah kita panjatkan puji syukur kehadirat Allah S.W.T yang telah memberikan hidayah kepada kita sehingga kita dapat berada disini dan belajar materi RPL. 
Hahaha 😜 ..

Kedua, kita siapkan Program JDK, Text Editor dan XAMPP versi 8.0 keatas. kemudian Instal apache, Mysql dan tomcatnya. 

Langsung saja, untuk membuat program web berbasis JSP memang membutuhkan Instalizing tomcat dan JDK. Tidak seperti PHP yang hanya butuh Apache dan Mysql. Perbedaannya pun cukup spesifik, jika kita membuat PHP maka kita menyimpannya di directory HTDOCS dan membukanya di LOCALHOST. Maka jika kita membuat JSP kita harus menyimpan di directory C:/Xampp/tomcat/webapps/root/ dan membukanya di alamat localhost:8080/

Aplikasi hitung yang saya buat ini hanya bisa kita gunakan untuk menghitung bangun datar saja. Selanjutnya anda bisa kembangkan sendiri. Pada dasarnya aplikasi hitung ini menggunakan form html biasa kemudian kita jalankan aplikasi hitung dengan JSP
Syntak Hitungnya seperti ini :


<% int nil1=0; int nil2=0; double hasil=0; String angka1=request.getParameter("panjang"); String angka2=request.getParameter("lebar"); String pilih1="0"; %> <%{ if (angka1==null) angka1="0"; if (angka2==null) angka2="0"; if (request.getParameter("persegi") != null) pilih1="persegi"; if (request.getParameter("luas") != null) pilih1="luas"; if (request.getParameter("keliling") != null) pilih1="keliling"; try { nil1 = Integer.valueOf(angka1).intValue(); nil2 = Integer.valueOf(angka2).intValue(); if (pilih1.equals("luas")){ hasil = nil1 * nil2 ; out.println("

Luas = " + hasil); }else if (pilih1.equals("keliling")){ hasil = 2 * (nil1 + nil2); out.println("

Keliling = " + hasil); } } catch (Throwable t){ out.println("

Terjadi Kesalahan
" + "
"); out.println("Wrong " + t.getMessage() + "" ); nil1 = 0; nil2 = 0; } }%> 


Penyesuainnya seperti ini gan.
String angka1=request.getParameter("panjang");   Maksudnya, yaitu kita mengambil dari textfield dengan name "panjang" .
request.getParameter("luas") != null) pilih1="luas"; Kemudian ini jika tombol submit dengan name luas di click maka akan menjalankan fungsi.
if (pilih1.equals("luas")){
hasil = nil1 * nil2 ; out.println("<br><br>Luas = " + hasil); 
Kemudian kita jalankan aplikasi hitung luas jika tombol submit luas dengan name "luas" di click.
Cukup sekian gan, Capek ngetiknya dan susah juga mikir kalimatnya. hahaha..

Kalo mau Aplikasinya bisa download disini gan.
Semoga bermanfaat. Thankyou for your attention and Wassalammualaikum Wr Wb


Jumat, 08 November 2013

Aplikasi Web sederhana

Assalammualaikum Wr Wb

Hallo gan, hari ini saya akan mempostingkan sebuah aplikasi web sederhana. web ini berisi form untuk menyimpan data siswa. di dalam web ini dilengkapi dengan aplikasi Edit, Delete Add dan Upload gambar.
Ini gan screen shot nya :

Halaman Awal (HOME)


Halaman Add data 







Halaman view data

















Jika anda berminat anda bisa download disini.

Sabtu, 02 November 2013

session start

<?php
  session_start();
  require_once("../koneksi/koneksi.php");  
  $username = $_POST['username'];
  $password = $_POST['password'];
  $cekuser = mysql_query("SELECT * FROM admin WHERE username = '$username'");
  $jumlah = mysql_num_rows($cekuser);
  $hasil = mysql_fetch_array($cekuser);
  if($jumlah == 0) {
echo "User ID Belum Terdaftar!<br/>";
echo "<a href=\"admin.php\">&laquo; Back</a>";
} else {
if($password <> $hasil['password']) {
echo "Password Salah!<br/>";
echo "<a href=\"admin.php\">&laquo; Back</a>";
} else {
$_SESSION['username'] = "$username";
header('location:admin.php');
}
}
?>

<?php
  session_start();
  if(isset($_SESSION['username'])) {
  header('location:admin.php'); }
  require_once("../koneksi/koneksi.php");
?>


<?php
  session_start();
  if(!isset($_SESSION['username'])) {
  header('location:index.php'); }
  else { $username = $_SESSION['username']; }
  require_once("../koneksi/koneksi.php");

  $query = mysql_query("SELECT * FROM admin WHERE username = '$username'");
  $hasil = mysql_fetch_array($query);
?>

Senin, 28 Oktober 2013

Algoritma Pemrogaman




Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari Uzbekistan Al Khawārizmi (hidup sekitar abad ke-9), sebagaimana tercantum pada terjemahan karyanya dalam bahasa latin dari abad ke-12 "Algorithmi de numero Indorum". Pada awalnya kata algorisma adalah istilah yang merujuk kepada aturan-aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab (sebenarnya dari India, seperti tertulis pada judul di atas). Pada abad ke-18, istilah ini berkembang menjadi algoritma, yang mencakup semua prosedur atau urutan langkah yang jelas dan diperlukan untuk menyelesaikan suatu permasalahan.



  
Pengertian

Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Masalah dapat berupa apa saja, dengan catatan untuk setiap masalah, ada syarat kondisi awal yang harus dipenuhi sebelum menjalankan algoritma. Konsep algoritma sering kali disetarakan dengan sebuah resep yang biasanya memiliki daftar bahan atau bumbu yang akan digunakan, urutan pengerjaan dan bagaimana hasil dari urutan pengerjaan tersebut. Apabila bahan yang digunakan tidak tertera (tidak tersedia) maka resep tersebut tidak akan dapat dikerjakan. Demikian juga jika urutan
pengerjaannya tidak beraturan, maka hasil yang diharapkan tidak akan dapat
diperoleh.

Umumnya, algoritma yang dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki tingkat kerumitan yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan suatu masalah membutuhkan tingkat kerumitan yang tinggi. Perhatikan algoritma sederhana berikut.

Contoh Algoritma menghitung luas segitiga.

1. Start
2. Baca data alas dan tinggi.
3. Luas adalah alas kali tinggi kali 0.5
4. Tampilkan Luas
5. Stop

Algoritma di atas adalah algoritma yang sangat sederhana, hanya ada lima langkah. Pada algoritma ini tidak dijumpai perulangan ataupun pemilihan. Semua langkah dilakukan hanya satu kali. Sekilas algoritma di atas benar, namun apabila dicermati maka algoritma ini mengandung kesalahan yang mendasar, yaitu tidak ada pembatasan pada nilai data untuk alas dan tinggi.

Bagaimana jika nilai data alas atau tinggi adalah bilangan 0 atau bilangan negatif ? Tentunya hasil yang keluar menjadi tidak sesuai dengan yang diharapkan. Dalam kasus seperti ini kita perlu menambahkan langkah untuk memastikan nilai alas dan tinggi memenuhi syarat, misalnya dengan melakukan pengecekan pada input yang masuk. Apabila input nilai alas dan tinggi kurang dari 0 maka program tidak akan dijalankan.
Sehingga algoritma di atas dapat dirubah menjadi seperti contoh berikut.

Hasil perbaikan algoritma perhitungan luas segitiga.

1. Start
2. Baca data alas dan tinggi.
3. Periksa data alas dan tinggi, jika nilai data alas dan tinggi lebih besar dari
nol maka lanjutkan ke langkah ke 4 jika tidak maka stop
4. Luas adalah alas kali tinggi kali 0.5
5. Tampilkan Luas
6. Stop

Dari penjelasan di atas dapat diambil kesimpulan pokok tentang algoritma.
Pertama, algoritma harus benar. Kedua algoritma harus berhenti, dan setelah berhenti, algoritma memberikan hasil yang benar.


Cara Penulisan Algoritma

1. Structured English (SE)

SE merupakan cara yang cukup baik untuk menggambarkan suatu algoritma. Dasar dari SE adalah Bahasa Inggris, namun kita dapat memodifikasi dengan Bahasa Indonesia sehingga kita boleh menyebutnya sebagai Structured Indonesian (SI). Algoritma seperti pada contoh di atas merupakan algoritma yang ditulis menggunakan SI. Karena dasarnya
adalah bahasa sehari-hari, maka SE atau SI lebih tepat untuk menggambarkan suatu algoritma yang akan dikomunikasikan kepada pemakai perangkat lunak.

2. Pseudocode

Pseudocode mirip dengan SE/SI. Pseudo berarti imitasi atau tiruan atau menyerupai, sedangkan code menunjuk pada kode program. Sehingga pseudocode adalah kode yang mirip dengan instruksi kode program sebenarnya. Pseudocode didasarkan pada bahasa pemrograman yang sesungguhnya seperti BASIC, FORTRAN atau PASCAL. Pseudocode yang berbasis bahasa PASCAL merupakan pseudocode yang sering digunakan.

Apabila contoh di atas ditulis dalam pseudocode berbasis bahasa BASIC akan tampak seperti berikut:

1. Start
2. READ alas, tinggi
3. Luas = 0.5 * alas * tinggi
4. PRINT Luas
5. Stop

Pada Contoh di atas tampak bahwa algoritma sudah sangat mirip dengan bahasa BASIC. Pernyataan seperti READdan PRINT merupakan keyword yang ada pada bahasa BASIC yang masing-masing menggantikan kata “baca data” dan “tampilkan”. Dengan menggunakan pseudocode seperti di atas maka proses penterjemahan dari algoritma ke kode program menjadi lebih mudah.

3. Flowchart

Flowchart atau bagan alir adalah skema/bagan (chart) yang menunjukkan aliran (flow) di dalam suatu program secara logika. Flowchart merupakan alat yang banyak digunakan untuk menggambarkan algoritma dalam bentu notasi-notasi tertentu. Secara lebih detil bagian ini akan dibahas pada bagian berikutnya. Pada flowchart ada beberapa simbol penting yang digunakan untuk membuat algoritma, yaitu:




Program Flowchart dapat terdiri dari dua macam, yaitu bagan alir logika program (program logic flowchart) dan bagan alir program komputer terinci (detailed computer program flowchart). Bagan alir logika program digunakan untuk menggambarkan tiap-tiap langkah di dalam program komputer secara logika dan biasanya dipersiapkan oleh seorang analis system. Sedangkan bagan alir program komputer terinci digunakan untuk menggambarkan instruksiinstruksi program komputer secara terinci dan biasanya dipersiapkan oleh seorang programmer. Apabila contoh-contoh sebelumnya di atas dibuat flowchartnya maka akan tampak seperti berikut:





Sabtu, 21 September 2013

Kode Warna HTML


Sabtu, 14 September 2013

TRIGGER di dalam syntaks SQL

Assalamualaikum wr wb

Setelah tadi saya posting tentang sebuah kisah yang islami dan isnpiratif yang sekiranya bermanfaat, sekarang kita kembali ke Materi kita yaitu TRIGGER. Saya mendapat materi ini dari sekolah, tetapi dalam penyampaian kali ini akan sedikit berbeda karena saya juga menggabungkan materi di sekolah dengan materi di internet.

Trigger merupakan sekumpulan perintah atau sintaks yang akan secara otomatis dijalankan jika terjadi operasi tertentu dalam tabel atau view. Trigger digunakan untuk memanggil satu atau beberapa perintah SQL secara otomatis sebelum atau sesudah terjadi proses INSERT, UPDATE atau DELETE dari suatu tabel. Sebagai contoh misalnya kita ingin menyimpan id pelanggan secara otomatis ke tabel ‘log’ sebelum menghapus data di tabel pelanggan.

Saat saya searching di internet, ternyata trigger di MySQL mulai dikenal di versi MySQL 5.0, dan di versi saat ini (5.1.4) fungsionalitasnya sudah bertambah. Pada versi selanjutnya pihak pengembang MySQL berjanji akan lebih menguatkan (menambah) fitur trigger ini.


Trigger sering digunakan, antara lain untuk:

Melakukan update data otomatis jika terjadi perubahan. Contohnya adalah dalam sistem penjualan, jika dientri barang baru maka stock akan bertambah secara otomatis.
Trigger dapat digunakan untuk mengimplementasikan suatu sistem log. Setiap terjadi perubahan, secara otomatis akan menyimpan ke tabel log.
Trigger dapat digunakan untuk melakukan validasi dan verifikasi data sebelum data tersebut disimpan.
Membuat Trigger Baru

Berikut ini bentuk umum perintah untuk membuat triggers:

CREATE TRIGGER name
[BEFORE|AFTER] [INSERT|UPDATE|DELETE]
ON tablename
FOR EACH ROW statement
Keterangan dari bentuk umum perintah membuat trigger:



  1. name, Nama trigger mengikuti peraturan penamaan variabel / identifier dalam MySQL
  2. [BEFORE | AFTER] digunakan untuk menentukan kapan proses secara otomatis akan dieksekusi, sebelum atau sesudah proses.
  3. [INSERT | UPDATE | DELETE] digunakan untuk menentukan event (proses) yang dijadikan trigger (pemicu) untuk menjalankan perintah-perintah di dalam triggers.
  4. tablename, merupakan nama tabel dimana trigger berada.
  5. statement, merupakan sekumpulan perintah atau query yang akan secara otomatis dijalankan jika event / proses yang didefinisikan sebelumnya aktif.
  6. Statement atau perintah dalam trigger dapat berupa satu perintah saja, dan dapat juga beberapa perintah sekaligus. Jika terdapat beberapa perintah dalam trigger, maka gunakan perintah BEGIN dan END untuk mengawali dan mengakhiri perintah.

Di dalam statement trigger, kita dapat mengakses record tabel sebelum atau sesudah proses dengan menggunakan NEW dan OLD. NEW digunakan untuk mengambil record yang akan diproses (insert atau update), sedangkan OLD digunakan untuk mengakses record yang sudah diproses (update atau delete).

Berikut ini contoh trigger yang akan mencatat aktivitas ke tabel log setiap terjadi proses insert ke tabel pelanggan:

DELIMITER $$
CREATE TRIGGER penjualan.before_insert BEFORE INSERT ON penjualan.pelanggan
FOR EACH ROW BEGIN
INSERT INTO `log` (description, `datetime`, user_id)
VALUES (CONCAT('Insert data ke tabel pelanggan id_plg = ', NEW.id_pelanggan), now(), user());
END;
$$ 

DELIMITER ;
Menghapus Trigger

Untuk menghapus trigger, dapat menggunakan perintah DROP TRIGGER dengan diikuti dengan nama tabel dan nama triggernya. Berikut ini bentuk umum dan contoh perintah untuk menghapus trigger.

Bentuk umum dan contoh menghapus trigger:
DROP TRIGGER tablename.triggername;
Contoh menghapus trigger bernama ‘before_insert’ yang ada di tabel pelanggan.
DROP TRIGGER penjualan.before_insert;

Postingan Lama