Males Ngoding

Media Sharing Informasi Bahasa Pemrogramman

Membuat Grafik Pie dengan Menggunakan Highcharts

3 komentar
Assalamualaikum, Selamat Pagi Semuanya

Hari ini saya berbagi pengetahuan kepada anda, bagaiama cara gampang membuat grafik pie yang berbasis website. Untuk membuat grafik pie di website, ada banyak cara yang dapat di gunakan, salah satunya menggunakan library javascript Highcharts

Grafik pie adalah grafik yang menampilkan perbandingan data dalam bentuk persentasi. Untuk membuat grafik pie, kita harus mengolah data-data kita terlebih dahulu menjadi dalam bentuk presentase. Nah disini tidak menjelaskan bagaimana cara mengolah data tersebut, soalnya materi itu sudah sering ada dalam pelajaran matematika kita.

Ok. Misalkan saya punya data fiktif presentase favorite kamen rider :
1. Kabuto = 35%
2. Gaim = 30%
3. Decade = 20%
4. Den-O = 10.5%
5. Kiva = 4.5%

Berikut ini adalah contoh script membuat grafik pie nya

<head>
<!-- deklarasi jquery -->
<script type="text/javascript" src="js/jquery.min.js"></script>
<!-- Script Pie -->

<script type="text/javascript">
$(function () {
$('#container').highcharts({
chart: {
plotBackgroundColor: null,
plotBorderWidth: 1,//null,
plotShadow: false
},
title: {
text: 'Kamen Rider Heisei Favorit 2014 Menurut Admin'
},
tooltip: {
pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'
},
plotOptions: {
pie: {
allowPointSelect: true,
cursor: 'pointer',
dataLabels: {
enabled: true,
format: '<b>{point.name}</b>: {point.percentage:.1f} %',
style: {
color: (Highcharts.theme && Highcharts.theme.contrastTextColor) || 'black'
}
}
}
},
series: [{
type: 'pie',
name: 'Kamen Rider Favorit',
data: [
	['Kabuto',   35.0],
	['Gaim',       30.0],
	['Decade',       20.0],
	['Den-O',    10.5],
	['Kiva',     4.5],
]

}]
});
});
</script>
</head>

<body>
<<!-- deklarasi library highcarts -->
<script src="js/highcharts.js"></script>

<div id="container" style="min-width: 310px; height: 400px; max-width: 600px; margin: 0 auto"></div>

</body>


Maka akan terbentuk grafik pie seperti berikut
Selanjutnya kita akan menampilkan dalam versi lain yakni yang memiliki legend di bawah grafik pie. berikut script lengkapnya

<head>

<!-- Deklarasi Jquery -->

<script type="text/javascript" src="js/jquery.min.js"></script>

<!-- Script Pie Legend -->

<script type="text/javascript">

$(function () {

$(document).ready(function () {

// Build the chart

$('#container').highcharts({

chart: {

plotBackgroundColor: null,

plotBorderWidth: null,

plotShadow: false

},

title: {

text: 'Kamen Rider Heisei Favorit 2014 Menurut Admin'

},

tooltip: {

pointFormat: '{series.name}: <b>{point.percentage:.1f}%</b>'

},

plotOptions: {

pie: {

allowPointSelect: true,

cursor: 'pointer',

dataLabels: {

enabled: false

},

showInLegend: true

}

},

series: [{

type: 'pie',

name: 'Kamen Rider Favorit',

data: [

	['Kabuto',   35.0],

	['Gaim',       30.0],

	['Decade',       20.0],

	['Den-O',    10.5],

	['Kiva',     4.5],

]

}]

});

});

});

</script>

</head>

<body>

<!-- Deklarasi Librari highcarts-->

<script src="js/highcharts.js"></script>



<!-- Bagian yang menampilkan hasil grafik -->

<div id="container" style="min-width: 310px; height: 400px; max-width: 600px; margin: 0 auto"></div>

</body>

Berikut hasil grafik pie yang diperoleh

Nah jika anda ingin mendownload script ini, biasa anda download di sini

3 komentar :

Posting Komentar

Konversi Tanggal Masehi ke Tanggal Hijriah Dengan Menggunakan PHP

Tidak ada komentar
Assalamualaikum, Selamat Sore Semuanya.

Hari ini saya akan menshare lagi satu script fungsi yang mungkin akan bermanfaat bagi anda. Script ini berfungsi untuk mengkonversi tanggal masehi ke tanggal hijriah. Anda gak usah bingung bagaimana cara manual konversinya, karena fungsi ini tinggal pakai saja. Saya sendiri juga tidak terlalu paham bagaimana cara manual konversinya.

Ok berikut ini script lengkap nya

<?php

function makeInt($angka)

{

if ($angka < -0.0000001)

{

return ceil($angka-0.0000001);

}

else

{

return floor($angka+0.0000001);

}

}



function konvhijriah($tanggal)

{

$array_bulan = array("Muharram", "Safar", "Rabiul Awwal", "Rabiul Akhir",

"Jumadil Awwal","Jumadil Akhir", "Rajab", "Sya’ban",

"Ramadhan","Syawwal", "Zulqaidah", "Zulhijjah");

$date = makeInt(substr($tanggal,8,2));

$month = makeInt(substr($tanggal,5,2));

$year = makeInt(substr($tanggal,0,4));

if (($year>1582)||(($year == "1582") && ($month > 10))||(($year == "1582") && ($month=="10")&&($date >14)))

{

$jd = makeInt((1461*($year+4800+makeInt(($month-14)/12)))/4)+

makeInt((367*($month-2-12*(makeInt(($month-14)/12))))/12)-

makeInt( (3*(makeInt(($year+4900+makeInt(($month-14)/12))/100))) /4)+

$date-32075;

}

else

{

$jd = 367*$year-makeInt((7*($year+5001+makeInt(($month-9)/7)))/4)+

makeInt((275*$month)/9)+$date+1729777;

}

$wd = $jd%7;

$l = $jd-1948440+10632;

$n=makeInt(($l-1)/10631);

$l=$l-10631*$n+354;

$z=(makeInt((10985-$l)/5316))*(makeInt((50*$l)/17719))+(makeInt($l/5670))*(makeInt((43*$l)/15238));

$l=$l-(makeInt((30-$z)/15))*(makeInt((17719*$z)/50))-(makeInt($z/16))*(makeInt((15238*$z)/43))+29;

$m=makeInt((24*$l)/709);

$d=$l-makeInt((709*$m)/24);

$y=30*$n+$z-30;

$g = $m-1;

$final = "$d $array_bulan[$g] $y H";

return $final;

}

//Contoh Menggunakannya

$date="2014-11-12";

$datehijriah=konvhijriah($date);

echo "Tanggal Hari Ini : ".$date."<br/>";

echo "Tanggal Hijriah : ".$datehijriah;

?>

Ok. Silahkan gunakan script yang diatas. Semoga Bisa Bermanfaat Untuk Anda. Salam Programmer. Wassalam.

Tidak ada komentar :

Posting Komentar

Upload Gambar Dengan Teknik Resize Resolution

Tidak ada komentar
Selamat Malam Sahabat, kali ini masih sama dengan tutorial-tutorial sebelumnya, masih membahas tentang image processing pada PHP. "Upload Gambar dengan teknik Resize Resolution", langkah-langkah pada teknik ini sebagai berikut :

  1. Upload Gambar Asli Dengan Resolusi Original
  2. Membuat Salinan Gambar dengan Costumize Resolution
  3. Menghapus gambar asli dari direktori
Oke langsung aja kita siapkan kebutuhan-kebutuhan. Disini hanya menggunakan sebuah file index.php dan sebuah folder "image"
Upload_Image/
   ---image/
   ---index.php

folder image digunakan untuk penyimpanan gambar setelah dilakukan proses upload.

file index.php sebagai berikut :
<?php
function UploadImageResize($new_name,$file,$dir,$width){
   //direktori gambar
   $vdir_upload = $dir;
   $vfile_upload = $vdir_upload . $_FILES[''.$file.'']["name"];

   //Simpan gambar dalam ukuran sebenarnya
   move_uploaded_file($_FILES[''.$file.'']["tmp_name"], $dir.$_FILES[''.$file.'']["name"]);

   //identitas file asli
   $im_src = imagecreatefromjpeg($vfile_upload);
   $src_width = imageSX($im_src);
   $src_height = imageSY($im_src);

   //Set ukuran gambar hasil perubahan
   $dst_width = $width;
   $dst_height = ($dst_width/$src_width)*$src_height;

   //proses perubahan ukuran
   $im = imagecreatetruecolor($dst_width,$dst_height);
   imagecopyresampled($im, $im_src, 0, 0, 0, 0, $dst_width, $dst_height, $src_width, $src_height);

   //Simpan gambar
   imagejpeg($im,$vdir_upload . $new_name,100);
   
   //Hapus gambar di memori komputer
   imagedestroy($im_src);
   imagedestroy($im);
   $remove_small = unlink("$vfile_upload");
 }
?>
diatas terdapat sebuah fungsi dengan nama UploadImageResize($new_name,$file,$dir,$width) yang terdiri beberapa parameter berikut :

  • $new_name = adalah variable nama file baru dari sebuah gambar 
  • $file = adalah name dari input dengan type file 
  • $dir = adalah direktory penyimpanan gambar
  • $width = adalah variable yang berfungsi mengatur ukuran kompresi gambar
dengan fungsi tersebut, program akan melakukan proses upload image, kemudian setelah berhasil diupload, program akan membaca dimensi asli dari gambar yang diupload dengan fungsi berikut


//identitas file asli
$im_src = imagecreatefromjpeg($vfile_upload);
$src_width = imageSX($im_src);
$src_height = imageSY($im_src);

fungsi imagecreatefromjpeg berfungsi membuat salinan gambar dari file asli, fungsi imageSX berfungsi mengambil lebar gambar, fungsi imageSY mengambil tinggi gambar. setelah mendapatkan informasi asli dari sebuah gambar, langkah selanjutnya adalah melakukan perhitungan kompresi gambar dengan fungsi berikut :

//Set ukuran gambar hasil perubahan
$dst_width = $width;
$dst_height = ($dst_width/$src_width)*$src_height;

variable $dst_width akan berisi sesuai dengan parameter yang diberikan saat pemanggilan fungsi, sedangkan variable $dst_height merupakan perhitungan proporsional dari ukuran asli terhadap ukuran yang dikopresi. Untuk mendapatkan ukuran tinggi yang sesuai dengan lebar yang ditentukan maka dilakukan perhitungan. Ukuran lebar yang di seting dibagi dengan ukuran asli gambar kemudian dibagi dengan tinggi asli gambar. maka didapatlah tinggi yang akan sesuai dengan lebar yang ditentukan, sehingga keluaran gambar tidak akan rusak, masih sama dengan proporsional aslinya, namun resolusi keluaran pasti akan berbeda.

lalu langkah berikutnya adalah membuat gambar baru dari salinan yang telah dibuat dengan lebar dan tinggi yang sudah di kompres sesuai keinginan dengan fungsi berikut :

//proses perubahan ukuran
$im = imagecreatetruecolor($dst_width,$dst_height);
imagecopyresampled($im, $im_src, 0, 0, 0, 0, $dst_width, $dst_height, $src_width, $src_height);
//Simpan gambar
imagejpeg($im,$vdir_upload . $new_name,100);

setelah berhasil membuat gambar baru dengan resolusi yang baru, maka proses pembuatan gambar baru akan dihapus dari memori dan dihapus dari direktori menggunakan fungsi :

//Hapus gambar di memori komputer
imagedestroy($im_src);
imagedestroy($im);
$remove_small = unlink("$vfile_upload");

untuk menggunakan fungsi ini, tentunya menggunakan HTML untuk membuat form upload gambar sebagai berikut :

<form action ="" method="POST" enctype="multipart/form-data">
 <input type="file" name="foto" accept="image/JPEG"/>
 <input type="submit" name="upload" value="upload"/>
</form>

jangan pernah melupakan atribute enctype="multipart/form-data" saat ingin melakukan proses upload file pada sebuah form.

kemudian cara menjalankan fungsi tersebut sebagai berikut :

if(isset($_POST['upload'])){
 $new_name=time().'.jpg';
 $file='foto'; //name pada inputan type file
 $dir='image/';
 $width=400;//satuan dalam pixel / px
 UploadImageResize($new_name,$file,$dir,$width);
}

artinya program akan mengeksekui perintah ketika tombol submit diklik atau variable $_POST['upload'] telah ada pada memeory. lalu deklarasikanlah parameter-parameter yang akan diproses,

hasil befor after gambar hasil kompresi sebagai berikut :




Dari resolusi 3000px menjadi 400px. Happy Coding. Selamat malam, selamat menanti tutorial berikutnya :)

Download Code


Tidak ada komentar :

Posting Komentar

Menghitung Umur Berdasarkan Tanggal Lahir dengan PHP

4 komentar
Assalamualikum, Selamat Malam Semuanya
Malam ini saya akan memberikan tutorial dan script bagaimana menghitung umur berdasarkan tanggal lahir dengan menggunakan PHP. Menghitung umur dari tanggal lahir sangat lah gampang. Cara nya kita hanya perlu mengetahui selisih hari antara tanggal lahir dengan tanggal sekarang. Dari selisih hari tersebut kita lakukan pembagian dengan jumlah hari dalam setahun, maka diperoleh berapa usia tahunnya. Kemudian sisa bagi dari jumlah hari dalam setahun dibagi lagi dengan jumlah hari dalam sebulan, maka diperoleh berapa usia bulannya. Sisa bagi dari pembagian dengan jumlah hari dalam sebulan merupakan jumlah hari dari usianya.
Dalam pemprograman PHP anda tidak perlu pusing bagaimana menghitung selisih antara tanggal lahir dengan tanggal sekarang. Dalam PHP sudah ada fungsi yang dapat membantu anda dalam menghitung selisih hari. Berikut adalah script menghitung usia dari tanggal lahir.

<?php
$tgl_lahir='05';
$bln_lahir='02';
$thn_lahir='1993';
$tanggal_today = date('d');
$bulan_today=date('m');
$tahun_today = date('Y');
$harilahir=gregoriantojd($bln_lahir,$tgl_lahir,$thn_lahir);
//menghitung jumlah hari sejak tahun 0 masehi
$hariini=gregoriantojd($bulan_today,$tanggal_today,$tahun_today);
//menghitung jumlah hari sejak tahun 0 masehi
$umur=$hariini-$harilahir;
//menghitung selisih hari antara tanggal sekarang dengan tanggal lahir
$tahun=$umur/365;//menghitung usia tahun
$sisa=$umur%365;//sisa pembagian dari tahun untuk menghitung bulan
$bulan=$sisa/30;//menghitung usia bulan
$hari=$sisa%30;//menghitung sisa hari
$lahir= "$tgl_lahir-$bln_lahir-$thn_lahir";
$today= "$tanggal_today-$bulan_today-$tahun_today";
echo"Tgl Lahir $lahir<br/>";
echo"Tgl Skrg $today<br/>";
echo"Umur Anda Adalah ".floor($tahun)." tahun ".floor($bulan)." bulan $hari hari";
?>

Penjelasan fungsi
-fungsi gregoriantojd berfungsi untuk menghitung jumlah hari sejak 0 masehi
-floor untunk menggenapkan bilangan berkoma kebawah

Gimana? Pahamkan cara hitungnya. Cara hitungnya persis dengan yang saya jelaskan sebelumnya. Silahkan script diatas anda gunakan. Semoga Bermanfaat. Wassalam




4 komentar :

Posting Komentar

Menampilkan Tanggal Dalam Format Indonesia Dengan PHP

1 komentar
Assalamualaikum. Selamat Malam Gan.

Malam ini saya akan berbagi tutorial bagaimana menampilkan tanggal dalam format Bahasa Indonesia dengan menggunakan PHP.

Tipe data date dalam mysql mungkin tidak asing bagi kita. Bahkan mungkin sudah sering kita gunakan dalam database kita. Format date yang digunakan biasanya dalam bentuk susunan yyyy-mm-dd. Format tersebut tentu tidak sama dengan format penanggalan dalam Indonesia. Format penanggalan kita adalah dd-mm-yyyy. Nah bagaimana caranya agar ketika date yang ditampilkan sudah dalam bentuk format dd-mm-yyyy? Cara nya gampang, tinggal kita konversi dengan menggunakan PHP. Trus bagaimana script php nya?

Berikut ini adalah fungsi yang sudah saya buat yang dapat agan gunakan untuk menampilkan tanggal dalam format Indonesia

<?php
function dateFormatIndo($date){
$pecah=explode('-',$date);
$tgl=$pecah[2];
$bln=$pecah[1];
$thn=$pecah[0];
return $tgl.'-'.$bln.'-'.$thn;
}
//Misal tanggal yang mau dikonversi
$tgl="2014-11-17";
//Cara Menggunakan nya
echo dateFormatIndo($tgl);
//maka system akan menampilan tanggal 17-11-2014
?>

Terus gimana caranya kalau kita mau menampilkan dalam bentuk lengkap nya, misal 17 November 2014. Berikut ini script php yang dapat agan gunakan.

<?php
function dateBahasaIndo($date){
$bulan=array(
                '01'=>'Januari',
                '02'=>'Februari',
                '03'=>'Maret',
                '04'=>'April',
                '05'=>'Mei',
                '06'=>'Juni',
                '07'=>'Juli',
                '08'=>'Agustus',
                '09'=>'September',
                '10'=>'Oktober',
                '11'=>'November',
                '12'=>'Desember',
                                );
$pecah=explode('-',$date);
$tgl=$pecah[2];
$bln=$pecah[1];
$thn=$pecah[0];
return $tgl.'-'.$bulan[$bln].'-'.$thn;
}
//Misal tanggal yang mau dikonversi
$tgl="2014-11-17";
//Cara Menggunakan nya
echo dateBahasaIndo($tgl);
//maka system akan menampilakn 17 November 2014
?>

Gimana gan? Gampang Kan. Silahkan agan gunakan script function diatas. Gratis. Ok Sekian dulu ya gan. Tq. Jangan lupa dishare ya gan.

1 komentar :

Posting Komentar

Menghitung Selisih Hari Dengan PHP

1 komentar
Assalamualikum, Selamat Pagi Gan

Hari ini saya akan memberikan 1 fungsi yang mungkin nanti bisa berguna bagi agan. Yakni Fungsi untuk menghitung selisih hari dengan menggunakan php. Fungsi ini nanti bisa digunakan untuk sistem informasi perpustakaan, perhotelan dan lain-lain.

Fungsi nya sebenarnya sederhana, tinggal agan pakai saja.

<?php
function IntervalDays($CheckIn,$CheckOut){
$CheckInX = explode("-", $CheckIn);
$CheckOutX =  explode("-", $CheckOut);
$date1 =  mktime(0, 0, 0, $CheckInX[1],$CheckInX[2],$CheckInX[0]);
$date2 =  mktime(0, 0, 0, $CheckOutX[1],$CheckOutX[2],$CheckOutX[0]);
$interval =($date2 - $date1)/(3600*24);
// returns numberofdays
return  $interval ;
}>


Trus Bagaimana cara menggunakan fungsi nya??? cara nya gampang, Tinggal agan definiskan aja tanggal mulai dan tanggal selesainya. Misalnya

<?php
$date1="2014-11-17";
$date2="2014-11-24";
echo 'Selisih Hari dari Tanggal '.$date1.' ke Tanggal '.$date2.' adalah '.IntervalDays($date1,$date2).' Hari';
?>

Gimana gan, gampang kan cara menggunakan nya. Ok. Silahkan menggunakan semoga bermanfaat ya. Jangan lupa di share dan di like ya gan. Tq

1 komentar :

Posting Komentar

Convert Foto Resolusi Tinggi dan Ukuran Besar (MB) Tanpa Mengurangi Ukuran Resolusi (PX) dengan PHP

Tidak ada komentar
Selamat Berjumpa Kembali sahabat , sudah lama tidak post tutorial karena baru tau beberapa hari yang lalu kalo artikel sebelumnya udah di publish sama om admin. Tutorial kali ini masih berhubungan dengan pengelolaan image pada php, sesuai judul posting ini, akan menjelaskan bagaimana melakukan konversi ukuran gambar / foto yang berukuran besar (misal:5mb, resolusi 5000px X 2000px) menjadi ukuran yang lebih kecil tanpa mengurangi resolusi pada gambar dengan teknik reduce quality image. Oke Langsung saja.
Pada Tutorial kali ini memerlukan 2 buah file php dan sebuah folder
File Pertama index.php sebagai code untuk menampilkan form upload foto / gambar
File Kedua proses.php sebagai code pemrosesan data kiriman dari index.php
Folder Upload Digunakan untuk menyimpan Foto /Gambar yang diupload.

Langkah Pertama
index.php
<form action="proses.php" method="POST" enctype="multipart/form-data">
 <input type="file" name="foto"/>
 <input type="number" min="1" max="100" value="50" name="quality"/>
 <input type="submit" name="proses" value="Proses"/>
</form>
Penjelasan:
Kode diatas merupakan form yang akan digunakan sebagai interface untuk mengupload foto / gambar
action="proses.php" Merupakan alamat pengiriman data form, method="POST" Merupakan metode pengiriman data, enctype="multipart/form-data" ini berfungsi untuk pengiriman data dengan type FILE, jika ingin mengupload dengan type FILE, wajib mencantumkan ini. Pada form ini akan dikirimkan 2 data, yaitu: gambar/ foto dan data angka yang merupakan % quality yang dikehendai pengguna.

proses.php
tahap Pertama
<?php
if($_POST['proses']){
 $file=$_FILES['foto']['name'];
 if(!empty($file)){
  $direktori="upload/"; //tempat upload foto
  $name='foto'; //name pada input type file
  $namaBaru='upload'.date('Y-m-d H-i-s'); //name pada input type file
  $quality=$_POST['quality']; //konversi kualitas gambar dalam satuan %
  
  //jalankan fungsi
  if(UploadCompress($namaBaru,$name,$direktori,$quality)){
   echo'sukses';
  }else{
   echo'gagal';
  }
 }
}

?>
Penjelasan:
if($_POST['proses']){...}
kode diatas memastikan agar tidak diperbolehkan akses langsung ke file proses.php, script ini berjalan jika mendapat kiriman data dari form dengan method POST dan nama datanya adalah 'proses'
$file=$_FILES['foto']['name'];
Kode diatas untuk mendapatkan informasi nama file yang telah dipilih pengguna melalui form, dan kode ini digunakan untuk memastikan apakah penggunan telah memilih file atau belum saat melakukan proses pengiriman data
if(!empty($file)){..}
Logika diatas untuk memvalidasi apakah variable $file itu kosong atau tidak, jika pengguna memilih file pada form maka variable ini seharusnya tidak kosong,jika tidak dipilih variable ini akan kosong. Jika variable tidak(!) kosong(empty) maka lakukan proses logika.
$direktori="upload/"; //tempat upload foto
$name='foto'; //name pada input type file
$namaBaru='upload'.date('Y-m-d H-i-s'); //name pada input type file
$quality=$_POST['quality']; //konversi kualitas gambar dalam satuan %
Diatas terdapat 4 variable yang wajib di configurasi pada tahap ini, karena pada proses konversi gambar ini akan menggunakan function.
variable $direktori berisi direktori penyimpanan foto / gambar yang akan diupload, akhiri nama folder dengan tanda "/". variable $name berisi string yang menandakan name pada inputan form sesuai dengan file index.php
<input type="file" name="foto"/>
nah script ini yang dimaksud.
variable $namaBaru berisi nama baru file yang dibuat scara random sesuai tanggal dan waktu sekarang, variable $quality berisi inputan data dari pengguna pada form dari file index.php
//jalankan fungsi
if(UploadCompress($namaBaru,$name,$direktori,$quality)){
 echo'sukses';
}else{
 echo'gagal';
}
Logika diatas menjalankan fungsi UploadCompress($namaBaru,$name,$direktori,$quality), jika fungsi mengembalikannilai true maka cetak sukses, jika salah cetak gagal, Sampai disini proses belum akan berjalan, karena pasti akan terjadi fatal error, karena tidak adanya fungsi UploadCompress(). Baiklah Kita akan ke tahap selanjutnya
tambahkan script berikut pada file proses.php
<?php
function UploadCompress($new_name,$file,$dir,$quality){
  //direktori gambar
  $vdir_upload = $dir;
  $vfile_upload = $vdir_upload . $_FILES[''.$file.'']["name"];

  //Simpan gambar dalam ukuran sebenarnya
  move_uploaded_file($_FILES[''.$file.'']["tmp_name"], $dir.$_FILES[''.$file.'']["name"]);
  $source_url=$dir.$_FILES[''.$file.'']["name"];
  $info = getimagesize($source_url);

 if ($info['mime'] == 'image/jpeg'){ 
  $image = imagecreatefromjpeg($source_url); 
  $ext='.jpg';
 }
 elseif($info['mime'] == 'image/gif'){ 
  $image = imagecreatefromgif($source_url); 
  $ext='.gif';
 }elseif($info['mime'] == 'image/png'){ 
  $image = imagecreatefrompng($source_url); 
  $ext='.png';
 }
  
 if(imagejpeg($image, $dir.$new_name.$ext, $quality)){
  unlink($source_url);
  return true;
 }else{
  unlink($source_url);
  return false;
 }
  
}
?>
Penjelasan:
Function UploadCompress() memiliki 4 parameter :
  1. $new_name merupakan nama baru untuk gambar / foto yang akan diupload, dan ini tidak boleh kosong
  2. $file merupakan nama inputan pada type file form yang dikirim untuk diproses
  3. $dir merupakan direktori penyimpanan atau pemrosesan gambar
  4. $quality merupakan persentase qualitas yang akan di konversi pada gambar
//direktori gambar
  $vdir_upload = $dir;
  $vfile_upload = $vdir_upload . $_FILES[''.$file.'']["name"];
variable $vdir_upload berisi dengan direktori yang akan digunakan oleh sistem, variable $vfile_upload berisi direktori dan nama file asli yang akan diupload. misalnya
$dir='upload/'; lalu file yang dipilih adalah image.jpg maka keluaran variable $vfile_upload adalah 'upload/image.jpg';
//Simpan gambar dalam ukuran sebenarnya
move_uploaded_file($_FILES[''.$file.'']["tmp_name"], $dir.$_FILES[''.$file.'']["name"]);
nah sebelum melakukan konversi gambar, gambar tersebut harus diupload dulu pada sistem dengan menggunakan fungsi move_uploaded_file(temporary,directory+file)
temporary merupakan penyimpanan sementara pada temp memory beserta nama file,directory+file berisi folder dan nama file yang telah kita konfigurasi. pada tahap ini gambar telah berhasil diupload ke sistem dengan ukuran dan resolusi sebenarnya.
$source_url=$dir.$_FILES[''.$file.'']["name"];
$info = getimagesize($source_url);
variable $source_url berisi folder dan nama file yang baru saja kita upload, dan variable $info berisi data array dari fungsi getimagesize($source_url) fungsi ini memberikan informasi selengkap-lengkapnya tentang gambar yang baru saja kita upload. fungsi ini bertujuan untuk membaca tipe gambar yang akan di konversi.
        if ($info['mime'] == 'image/jpeg'){ 
  $image = imagecreatefromjpeg($source_url); 
  $ext='.jpg';
 }
 elseif($info['mime'] == 'image/gif'){ 
  $image = imagecreatefromgif($source_url); 
  $ext='.gif';
 }elseif($info['mime'] == 'image/png'){ 
  $image = imagecreatefrompng($source_url); 
  $ext='.png';
 }
dari variable $info terdapat sebuah nama array 'mime' yang berisi type atau jenis gambar yang baru saja kita upload, disini dibatasi untuk tipe jpg, png, dan gif, untuk tiap pembuatan gambar dari php menjalankan fungsi imageX yang berbeda sesuai dengan tipe gambar, nah variable $image berisi perintah untuk membuat sebuah gambar baru atau kopian dari gambar yang telah kita upload tadi, dan variable $ext berisi extension untuk menghubungkan nama baru gambar dengan extension agar menjadi sebuah file baru yang sempurna.
       if(imagejpeg($image, $dir.$new_name.$ext, $quality)){
  unlink($source_url);
  return true;
 }else{
  unlink($source_url);
  return false;
 }
setelah membuat kopian dari gambar yang baru saja kita upload, logika ini menjalankan untuk membuat file tersebut kedalam direktori, nama file baru dan kulitas gambar yang telah kita konfigurasi, fungsi ini mengembalikan true jika berhasil membuat gambar yang telah di konversi, jika gagal akan mengembalikan nilai false,
unlink($source_url);
fungsi diatas digunakan untuk menghapus gambar asli yang kita upload, tujuannya agar tidak terjadi penumpukan file yang asli pada direktori, sehingga yang ada hanyalah gambar yang telah di konversi

berikut adalah screen shoot yang menakjubkan
File gambar sebelum dilakukan konversi


Download Code

Tidak ada komentar :

Posting Komentar

Membaca Gambar dari Sebuah Isi Artikel Menggunakan PregMatch

Tidak ada komentar
Hallo Sahabat, Ini Tutorial Perdana saya. Saya akan sedikit mengangkat sebuah masalah klasik, khususnya untuk para developer website yang membuat web berita tutorial dan sejenisnya yang selalu menggunakan thumbnail gambar dari berita tersebut. Seperti pada blogspot, ketika isi dari sebuah berita ada gambar, maka gambar tersebut akan menjadi thumbnail dari list berita utama. Pasti Sahabat sekalian bertanya-tanya bagaimana bisa mengambil gambar dari isi sebuah artikel.
Sebelum membuat sebuah fungsi yang dapat mendeteksi keberadaan gambar dari sebuah artikel, baiknya kita mereview kembali fungsi-fungsi yang akan kita gunakan.
preg_match(POLA,SUMBER,OUTPUT);
dari fungsi diatas mengandung 3 paramete yaitu:
  • Pola : Sebagai Pola Untuk Pencocokan String
  • Sumber : String yang akan di cocokan terhadap pola
  • Output : Keluaran / Hasil Pencocokan Pola
lalu langkah berikutnya membuat pola untuk mendeteksi gambar pada sebuah artikel :
preg_match("/src=\"(.+)\"/",$text,$cocok);
pada baris kode diatas saya membuat 3 paramete, yang pertama untuk Pola, saya mengasumsikan jika sebuah situs berita menggunakan Rich Text Editor Seperti TinyMce dan Sebagainya, pasti yang akan disimpan dalam database adalah tag-tag html, untuk itu saya berkesimpulan untuk gambar pasti akan ada sebuah tag IMG sebagai berikut :
<img src="lokasi_gambar" ... />
dengan pola gambar yang berbeda-beda maka saya mengambil sebuah pola yang umum yaitu src="", karena pada tag html untuk bagian body tidak ada yang lain selain gambar menggunakan atribut tersebut
untuk itu pola diatas disesuaikan untuk pencocokan string dengan model src="(apapun isi dari src)".
$text itu sebagai variable inputan, $cocok itu sebagai variable hasil.

Setelah membuat pola dan pencocokan, langkah berikutnya adalah melakukan pembersihan string karena jika kita mengambil pola src=""  bisa jadi karekter setelah itu juga akan terambil, untuk itu keluaran harus diperiksa kembali.
$patern= explode("\"",$cocok[1]);
$img = str_replace("\"/>","",$patern[0]);
$img = str_replace("../","",$img);
$img = str_replace("/>","",$img);
hasil keluaran yang berisi dari fungsi pregmatch adalah array dengan index 1, untuk itu string yang akan di proses menggunakan fungsi explode berdasarkan tanda ", untuk mengambil URL dari image terssebut, kemudian dilakukan pembuangan tang img "/> dan sejenisnya sehingga hasil keluaran yang diinginkan adalah URL dari image tersebut.

Skrip Lengkapnya sebagai berikut :
function cek_img_tag($text)
{ //membuat auto thumbnails
preg_match("/src=\"(.+)\"/",$text,$cocok);
$patern= explode("\"",$cocok[1]);
$img = str_replace("\"/>","",$patern[0]);
$img = str_replace("../","",$img);
$img = str_replace("/>","",$img);
if($img=="") { $img=""; }
else
{ $new='<img src="'.$img.'"/>'; $img=$new; }
return $img; } 
untuk menjalankan fungsi tersebut hanya sebagai beikut :
cek_img_tag('tutorial membuat thimbnail berita dengan php <img src="www.jagocoding.com/image.jpg"/>sangat menyenangkan dan mudah dimengerti');


maka hasil keluarannya adalah
<img src="www.jagocoding.com/image.jpg"/>.

Mudah bukan???Ketemu Lagi Di Postingan Berikutnya Salam Programmer


Download Code

Tidak ada komentar :

Posting Komentar

Belajar Membuat Tabel di HTML

2 komentar
Asssalamualaikum, Selamat pagi agan-agan semua. Ini postingan pertama saya. Pada kali pertama ini saya akan memberi tutorial, bagaimana cara membuat tabel dengan HTML. Membuat tabel di HTML sangatlah gampang.

pertama saya akan ajarkan membuat tabel seperti ini
baris 1 kolom 1baris 1 kolom 2
baris 2 kolom 1baris 2 kolom 2
baris 3 kolom 1baris 3 kolom 2

cara membuatnya dengan kode HTML adalah sebagai berikut
 <table border="1">
<tr><th>baris 1 kolom 1</th><th>baris 1 kolom 2</th></tr>
<tr><td>baris 2 kolom 1</td><td>baris 2 kolom 2</td></tr>
<tr><td>baris 3 kolom 1</td><td>baris 3 kolom 2</td></tr>
</table>

penjelasan,
<table> ... </table> adalah tag html yang menandakan itu sebuah table, sedangkan border="1" yang berada dalam table berfungsi sebagai pembuat garis-garis tabel setebal 1 px

<tr> ... </tr> adalah tag html yang menandakan sebagai baris dalam tabel
<th>... </th> adalalah tag html yang menandakan sebagai judul kolom dalam tabel
<td>... </td> adalalah tag html yang menandakan sebagai data kolom dalam tabel

kemudian bagaimana cara membuat tabel seperti ini

baris 1 kolom 1 dan 2baris 1 kolom 3
baris 2 kolom 1baris 2 kolom 2baris 2 kolom 3

Caranya
<table border="1">
<tr>
<td colspan="2">baris 1 kolom 1 dan 2</td>
<td>baris 1 kolom 3</td>
</tr>

<tr>
<td>baris 2 kolom 1</td>
<td>baris 2 kolom 2</td>
 <td>baris 2 kolom 3</td>
</tr>
</table>

Penjelasan
colspan="2" menandakan ada dua kolom yang di gabung

Trakhir kita akan membuat tabel seperti ini
baris 1 kolom 1 dan 2baris 1 kolom 2baris 1 kolom 3
baris 2 kolom 2baris 2 kolom 3
caranya
<table border="1">
<tr>
<td rowspan="2">baris 1 kolom 1 dan 2</td>
<td>baris 1 kolom 2</td>
<td>baris 1 kolom 3</td>
</tr>
<tr> 
<td>baris 2 kolom 2</td> 
<td>baris 2 kolom 3</td>
</tr>
</table>

penjelasan
rowspan="2" menandakan ada 2 baris dijadikan satu dalam satu kolom

Seperti itulah cara membuat tabel di HTML. Gimana? Gampang Bukan. Semoga Bermanfaat. 

2 komentar :

Posting Komentar