Archive

Posts Tagged ‘PHP’

Operasi Numerik & String di PHP

6 January 2011 2 comments

Pada  kesempatan  yang  lalu  sudah  dibahas  beragam tips operasi  string yang  dapat  Anda  lakukan  di PHP.  Selain memiliki  beragam  fungsi  untuk  melakukan  operasi  string.

PHP  juga memiliki  banyak  fungsi  untuk  melakukan  operasi angka. Mulai dari Ubah data dalam bentuk angka menjadi kalimat, konversi  angka  ke  bilangan  Romawi, dll.

Berikut  beberapa  contoh  penerapan  operasi  angka di  PHP.

1. Membuat  tabel perkalian.

Untuk  latihan awal bermain-main  dengan  pemrosesan  angka,  ketikan skrip multiply_table.php  ini  untuk membuat  tabel perkalian angka  5.


//  Membuat  Tabel  Perkalian
foreach  (range(1,  10)  as  $num)
{
echo "5 x  $num =  ".   (5  * $num);
}
?>

Hasilnya :
5 x 1 = 5
5 x 2 = 10
5 x 3 = 15
……….
……….
5 x 10 = 50

2. Mencari angka terbesar  dan terkecil.

Untuk mencari langka  paling kecil dan angka  paling besar  dari deretan  angka yang  tersedia, Anda  dapat menggunakan fungsi sort().

Sebagai  contoh,  ketikan skrip sortl.php di bawah ini untuk mencari angka  terkecil dan angka  terbesar.


//  defirisikan  kumpulan  angka
$series  =  array(76, 7348, 56,  2.6,  189,  67 .59,  17594, 2648,  1929.79,  54,  329,  820,  -1.10,  -1.101);
//  urulkan  array  angka
sort  ($series) ;
//  Ekstrak  nilai  maximum/mini.mum  value  dari  array  yang terurut
//  Hasil:  "Minimum is  -1.101"'
$min  =  $series[0];
echo "Angka Terkecil:  $min
";
//  Hasil: "Maximum is  17594"
$max  =  $series[sizeof  ($series)  -1] ;
echo "Angka Terbesar:  $max";
?>

Hasilnya :

Angka Terkecil : -1.101

Angka Terbesar : 17594

3. Mengolah Angka dengan beberapa bilangan desimal di belakang koma

Pada beberapa kasus anda mungkin menemukan kasus untuk memformat suatu angka yang memilki bilangan di belakang koma.

Dalam contoh di bawah ini, akan dikelola suatu angka yang diberikan dengan menggunakan tanda koma untukpenanda bilangan, dan hanya menggunakan 2 angka di belakang koma.

ketikkan skrip dibawah ini dengan nama number-format.php

<?php
//  mendefinisikan angka  yang  akan  diolah
$amount = 3957459.7398 ;
//  format  angka  dengan  tanda koma  dan  2  angka  desimaL dibelakang
//  Hasil: "3,957,459.74'
$formattedAmount = number_format($amount,  2);
echo  SformattedAmount;
?>

Hasilnya :

3,957,459.74

4. Konversi  angka  ke berbagai  basis  bilangan.

Pada  mata kuliah  sistem  digital, mungkin Anda pernah menemukan kondisi untuk merubah suatu angka  ke basis  bilangan lain, misal ke oktal atau hexadesimal.  Skrip converting_between_base.php  dibawah ini  dapat digunakan untuk merubah  suatu  bilangan  ke basis  bilangan  yang  lain.

//  mendefiflieikan  angka  yang  akan  digunakan
$num =  l00;
echo "Desimal: $num
",
//konverei  angka  ke  binari 1100100
$bin  =  decbin($num);
echo "Binary:  $bin  ";
//  konverei  angka  ke  oktal
//  Hasil: "Octal: 144";
$oct  =  decoct($num);
echo "Octal: $oct
";
//  konversi  angka  ke  hexadecimal
//  Hasil: "Hexadecimal: 64"
$hex  =  dechex($num);
echo "Hexadecimal: $hex
";
//  konversi  angka  ke  base  6
//  Hasil: "Base6: 244"
$base6 =  base_convert($num,  10,  6);
echo "Base6: $base6";
?>

Hasilnya :

Desimal : 100

Binary : 1100100

Octal: 144

Hexadecimal: 64

Base6 : 244

Disini saya akan berbagi untuk ebook yang membahas berbagai :

1. Operasi String

2. Opersi Angka/Numerik

SEMOGA BERMANFAAT

Download PHP Manual

2 January 2011 2 comments

Dalam membagun sistem yang berbasis web PHP adalah salah satu bahasa pemrograman yang sangat cocok dan populer saat ini.
PHP banyak memberikan kemudahan dalam hal fungsi-fungsi yang disediaakan.
Berdasarkan pengalaman pribadi, sebelum saya menekuni PHP di tahun 2008, saya belajar Delphi.
Dan saya merasakan perbedaan yang jauh antara Delphi dan PHP
Misalkan saya mau membuat program membalik kata “RAMOREEZ” menjadi “ZEEROMAR”,
di delphi kita membutuhkan beberapa script untuk itu, tapi di PHP kita bisa meggunakan fungsi strrev(), untuk mengenahuhi posisisi suatu karakter misalnya kita tinggal mengguakan fungsi strpos(), untuk mengurutkan string atau angka ada fungsi sort(), dll.

Selain itu PHP juga sudah mendukung OOP(Object Oriented Programming) dan yang paling penting di dalam PHP kita tidak perlu buang2 waktu coding kita hanya untuk mendeklarasikkan variable. Itulah sebagian kemudahan yang saya temukan di PHP setelah migrasi dari Delphi.
Masalah tampilan atau UI kita tidak perlu khwatir karna sekarang bnyak sekali framework2 yang bisa kita gunkan untuk mempercantik halaman web kita bahkan hingga menyerupai tampillan Desktop programming.
Selama saya belajar PHP, saya merasa sangat terbantu sekali oleh Manual PHP versi bahasa inggris. Mungkin ada pembaca yang mempunyai PHP Manual versi bahasa Indonesia bisa di Share disini.

Codingwear telah menyediakan php manual yang bahasa indonesia tapi sayangnya tidak mencakup isi semuanya dari php manual versi english (cuma sebagian).

Nah, saya rasa tidak ada alasan lagi anda tidak migrasi ke PHP. Now or Never!

Membuat Laporan(Report) dg FPDF, Html2FPDF & Html2PDF

29 December 2010 18 comments

Apa itu fpdf, html2fpdf & html2pdf?

Secara umum fpdf, html2fpdf, dan html2pdf adalah library dari PHP untuk membuat file PDF. hal ini sangat berguna jika kita membangun sistem reporting. PDF(Portable Document File) merupakan file yang bisa di baca di semua OS. jadi inilah alasannya kenapa memakai PDF untuk reporting.

Gak usah banyak cas-cis-cus langsung aja saya berikan contoh dari ke-3 library di atas.

1. FPDF


<?php
 include 'fpdf.php' ;
 mysql_connect('localhost','root','');
 mysql_select_db('dbrutan');
 $bulan = $_POST['bln'];
 $tahun = $_POST['thn'];
 $sql = "SELECT * FROM napi a JOIN dtpenghuni b ON a.id_penghuni = b.id_penghuni WHERE status = 'Bebas' AND EXTRACT(MONTH FROM tgl_bebas)= '$bulan' AND EXTRACT(YEAR FROM tgl_bebas)= '$tahun' ORDER BY id_napi DESC";

$qry=mysql_query($sql) or die (mysql_error());
 define('FPDF_FONTPATH','font/');

$pdf=new FPDF('L','mm','A4');
 $pdf->Open();
 $pdf->SetAutoPageBreak(false);
 $pdf->AddPage();
 $pdf->SetFont('Arial','B',12);
 $pdf->Cell(100,6,'KEMENTERIAN HUKUM DAN HAM RI',0,0,'C');
 $pdf->Ln();
 $pdf->Cell(100,6,'KANTOR WILAYAH JAWA TIMUR',0,0,'C');
 $pdf->Ln();
 $pdf->Cell(100,6,'RUMAH TAHANAN NEGARA BANGKALAN',0,0,'C');
 $pdf->Ln();
 $pdf->Cell(100,6,'JL. PERTEMPURAN NO.21 BANGKALAN',0,0,'C');
 $pdf->Ln();
 $pdf->Cell(100,6,'TELEPON : (031)3095014',0,0,'C');
 $pdf->Ln();
 $pdf->Text(160,25,'DAFTAR : Narapidana yang telah dilepaskan/dibebaskan',0);
 $pdf->Ln();
 $pdf->Text(181,31,"dari Rumah Tahanan Negara Bangkalan",0);
 $pdf->Ln();
 $bln = date("F", mktime(0, "$bulan"));
 $pdf->Text(181,37,"Dalam bulan $bln $tahun",0);

$y_axis_initial = 45;
 $pdf->SetFont('Arial','',10);
 $pdf->setFillColor(222,222,222);
 $pdf->SetY($y_axis_initial);
 $pdf->SetX(10);
 //Header tabel halaman 1
 $pdf->CELL(10,6,'NO',1,0,'C',1);
 $pdf->Cell(40,6,'NAMA',1,0,'C',1);
 $pdf->Cell(15,6,'GOL',1,0,'C',1);
 $pdf->Cell(15,6,'P/W',1,0,'C',1);
 $pdf->Cell(15,6,'UMUR',1,0,'C',1);
 $pdf->Cell(37,6,'PUTUSAN DARI',1,0,'C',1);
 $pdf->Cell(25,6,'PERKARA',1,0,'C',1);
 $pdf->Cell(30,6,'ASAL PENYIDIK',1,0,'C',1);
 $pdf->Cell(30,6,'TGL BEBAS',1,0,'C',1);
 $pdf->Cell(40,6,'ALAMAT',1,0,'C',1);
 $pdf->Cell(25,6,'KET PIDANA',1,0,'C',1);
 $pdf->Ln();
 $max=25;//max baris perhalaman
 $i=0;
 $no=0;
 $row_height = 6;//tinggi tiap2 cell/baris
 $y_axis = $y_axis + $row_height;
 $date = date("Y-m-d");

while($row = mysql_fetch_array($qry))
 {
 $no++;
 $selisih = strtotime($date) -  strtotime($row[tgl_lahir]);
 $umur = intval($selisih/(60*60*24)/365);
 if ($i == $max){               //jika $i=25 maka buat header baru seperti di atas
 $pdf->AddPage();
 $pdf->SetY(10);
 $pdf->SetX(10);
 $pdf->CELL(10,6,'NO',1,0,'C',1);
 $pdf->Cell(40,6,'NAMA',1,0,'C',1);
 $pdf->Cell(15,6,'GOL',1,0,'C',1);
 $pdf->Cell(15,6,'P/W',1,0,'C',1);
 $pdf->Cell(15,6,'UMUR',1,0,'C',1);
 $pdf->Cell(37,6,'PUTUSAN DARI',1,0,'C',1);
 $pdf->Cell(25,6,'PERKARA',1,0,'C',1);
 $pdf->Cell(30,6,'ASAL PENYIDIK',1,0,'C',1);
 $pdf->Cell(30,6,'TGL BEBAS',1,0,'C',1);
 $pdf->Cell(40,6,'ALAMAT',1,0,'C',1);
 $pdf->Cell(25,6,'KET PIDANA',1,0,'C',1);

$pdf->SetY(10);
 $pdf->SetX(25);
 $y_axis = $y_axis + $row_height;
 $i=0;
 $pdf->Ln();
 }
 //tampilkan data daari database
 $pdf->Cell(10,6,$no,1);
 $pdf->Cell(40,6,$row[nama],1);
 $pdf->Cell(15,6,$row[jenis_napi],1);
 $pdf->Cell(15,6,$row[jk],1);
 $pdf->Cell(15,6,$umur,1);
 $pdf->Cell(37,6,$row[srt_putusan],1);
 $pdf->Cell(25,6,$row[pasal],1);
 $pdf->Cell(30,6,$row[asal_penyidik],1);
 $pdf->Cell(30,6,$row[tgl_bebas],1);
 $pdf->Cell(40,6,$row[alamat],1);
 $pdf->Cell(25,6,'',1);
 $pdf->Ln();
 $i++;
 }

//buat footer
 $now = date("d F Y");
 $pdf->Ln(10);
 $pdf->SetFont('Arial','B',12);
 $pdf->Cell(400,6,"Bangkalan, Tgl  $now",0,0,'C');
 $pdf->Ln();
 $pdf->Cell(404,6,"Kepala Rutan Bangkalan",0,0,'C');
 $pdf->Ln(30);
 $pdf->SetFont('Arial','U',12);
 $pdf->Cell(404,6,"BAMBANG HARYANTO,Bc.IP.SH.M.Hum",0,0,'C');
 $pdf->Ln();
 $pdf->SetFont('Arial','',12);
 $pdf->Cell(404,6,"NIP. 19661018 1992 03 1001",0,0,'C');
 $pdf->Ln();
 $pdf->Output('Napi_bebas_'.date("F Y").'.pdf', 'I');
 ?>

Jika ada yang kurang atau menambahkan silahkan comment

Read more…

Praktikum Pemrograman Web Modul 10

28 December 2010 15 comments

Tugas Tambahan Prak. Pemrograman Web I Modul 10:

1. Buat Program dengan menggunakan PHP untuk membuat tabel,

inputan jumlah kolom, jumlah baris, dan warna background table;

2. Buat Program Login/Logout(Gunakan Session) dan setelah login maka tampil minimal 3 link untuk 3 halaman yang berbeda + link untuk logout

UPDATE:

Untuk tugas pendahuluan modul 10 anda bisa baca di http://blog.codingwear.com/panduanphp/

atau di Fungsi Tanggal dan Waktu (Date/Time

dan di Fungsi String PHP

dan untuk minggu depan praktikum tetap diadakan, hari dan jam menyusul.

Bagi yang kurang mengerti langsung komen

Best Regards

Categories: Pemrograman Web Tags: , , ,

Fungsi Tanggal dan Waktu (Date/Time)

30 November 2010 6 comments

1. date – Format tanggal dan waktu lokal

Sintaks :

date ( string $format [, int $timestamp ] )

Parameter : $format, adalah format-format tanggal dan waktu yang ingin ditampilkan, berikut adalah format-format untuk tanggal dan waktu :

format karakter Deskripsi Contoh Hasil
Hari/Tanggal
d Tanggal dua digit dalam 1 bulan, jika 1 digit ada nol depannya 01 to 31
D Nama hari dalam 1 minggu, 3 huruf Mon sampai Sun
j Tanggal dalam 1 bulan, tanpa nol depannya 1 to 31
l (huruf kecil ‘L’) Nama hari dalam 1 minggu Sunday sampai Saturday
N ISO-8601 angka yang menunjukkan hari (PHP 5.1.0) 1 (untuk Senin) sampai 7 (untuk Minggu)
S suffix bahasa inggris untuk tanggal, 2 karakter st, nd, rd or th. disatukan dengan j
w Angka yang menunjukkan hari seminggu 0 (Untuk Minggu) sampai 6 (untuk sabtu)
z Tanggal dalam 1 tahun (dimulai dari 0) 0 sampai 365
Minggu
W ISO-8601 nomor minggu dalam 1 tahun, mingguan/week dimulai dari hari Senin Contoh: 42 (Minggu ke 42 dalam tahun)
Bulan
F Nama bulan, seperti January atau March January sampai December
m Angka yang menunjukkan bulan, 2 digit 01 sampai 12
M Nama bulan, 3 huruf Jan sampai Dec
n Angka yang menunjukkan bulan 1 sampai 12
t Jumlah hari bulan yang ditentukan 28 sampai 31
Tahun
Y Tahun 4 digit Contoh: 1999 atau 2003
y tahun 2 digit Contoh: 99 atau 03
Waktu
a Huruf kecil Ante meridiem (am) dan Post meridiem (pm) am atau pm
A Huruf besar Ante meridiem (am) dan Post meridiem (pm) AM atau PM
B Swatch Internet time 000 sampai 999
g Format 12 jam, tanpa 0 1 sampai 12
G Format 24 jam, tanpa 0 0 sampai 23
h Format 12 jam, 2 digit, dengan 0 depannya 01 sampai 12
H Format 24 jam, 2 digit, dengan 0 depannya 00 sampai 23
i Menit 00 sampai 59
s Detik 00 sampai 59
u Microseconds (PHP 5.2.2) Contoh: 54321
Timezone
e Pengidentifikasi Timezone (PHP 5.1.0) Contoh: UTC, GMT, Atlantic/Azores
O perbedaan terhadap waktu Greenwich (GMT) dalam jam Contoh: +0200
P perbedaan terhadap waktu Greenwich (GMT) dalam jam ada titik dua antara jam dan menit (PHP 5.1.3) Contoh: +02:00
T Singkatan Timezone Contoh: EST, MDT
Full Date/Time
c Tanggal ISO 8601  (PHP 5) 2004-02-12T15:19:21+00:00
r Format tanggal RFC 2822 Contoh: Thu, 21 Dec 2000 16:01:07 +0200

$timestamp, timestamp Unix (integer)

Contoh :

<?php
// Misal sekarang adalah tanggal 10 Maret, 2001, 5:16:18 pm

$today = date("F j, Y, g:i a");                 // March 10, 2001, 5:16 pm
echo $today;

$today = date("m.d.y");                         // 03.10.01
echo $today;

$today = date("j, n, Y");                       // 10, 3, 2001
echo $today;

$today = date("Ymd");                           // 20010310
echo $today;

$today = date('h-i-s, j-m-y, it is w Day');     // 05-16-18, 10-03-01, 1631 1618 6 Satpm01
echo $today;

$today = date('\i\t \i\s \t\h\e jS \d\a\y.');   // it is the 10th day.
echo $today;

$today = date("D M j G:i:s T Y");               // Sat Mar 10 17:16:18 MST 2001
echo $today;

$today = date('H:m:s \m \i\s\ \m\o\n\t\h');     // 17:03:18 m is month
echo $today;

$today = date("H:i:s");                         // 17:16:18
echo $today;
?>

Read more…

Categories: PHP Tags: , , ,

Kompresi Run length Encodin(RLE)

10 November 2010 Leave a comment

Merupakan kompresi data teks yang dilakukan jika terdapat beberapa huruf yang sama ditampilkan secara berturut-turut. Terdapat dua tipe RLE yaitu RLE tipe 1 dan RLE tipe 2.

Contoh :

Data; ABCCCCCCCCDEFGGGG = 17 karakter

Dengan RLE tipe 1 (min. 4 huruf sama) ditulis; ABC8!DEFG!4 = 11 karakter

Dalam RLE tipe 1 ini terdapat suatu karakter yang tidak digunakan dalam teks seperti tanda ‘!’ yang digunakan untuk menandai. Teknik kompresi RLE tipe 1 ini memiliki kelemahan yaitu jika terdapat karakter angka, mana tanda mulai dan tanda akhir? Maka dalam RLE tipe 2 digunakanlah flag bilangan negatif untuk menandai batas sebanyak jumlah karakter tersebut.

Contoh:

Data; ABCCCCCCCCDEFGGGG = 17 Karakter

Dengan RLE tipe 2; -2AB8CDEF4G = 12 Karakter

Contoh:

Data; AB12CCCCDEEEF = 13 Karakter

Dengan RLE tipe 2; -4AB124CD3EF = 12 Karakter

Teknik kompresi dengan RLE ini berguna untuk data yang banyak memiliki kesamaan, misal teks ataupun grafik seperti icon atau gambar garis-garis yang banyak memilki kesamaan pola.

Read more…

Categories: PHP Tags: , , , ,

Algoritma Kompresi Lempel-Ziv-Welch (LZW) di PHP

10 November 2010 3 comments

Terdapat berbagai macam teknik-teknik kompresi yang diantaranya akan dijelaskan berikut ini:

1. Dictionary Based Coding Algoritma

Lempel-Ziv-Welch (LZW) menggunakan teknik adaptif dan berbasiskan “kamus” Pendahulu LZW adalah LZ77 dan LZ78 yang dikembangkan oleh Jacob Ziv dan Abraham Lempel pada tahun 1977 dan 1978. Terry Welch mengembangkan teknik tersebut pada tahun 1984. LZW banyak dipergunakan pada UNIX, GIF, V.42 untuk modem.

Algoritma Kompresi :

BEGIN
S = next input character;
While not EOF
{
C = next input character;
If s + c exists in the diactionary
S = s + c
Else
{
Output the code for s;
Add string s + c to the dictionary with a new code
S = c;
}
}
END

Read more…

Categories: PHP Tags: , , , ,
%d bloggers like this: