Selasa, 14 April 2009

JawaPos Downloader untuk Linux

Program ini saya hanya memperbaiki biar auto, agar tidak manual seperti pada awalnya. dan bisa digunakan pada crontab
software ini pertama kali dibuat oleh sodara Sugeng judulnya :
Download Jawapos ePaper menggunakan bash (lagi)
Aku cuma memperbaiki dikit source codenya biar bisa digunakan dalam crontab.
sebelum menjalankan script ini harus di install dulu :
wget dan pdftk
bagai mana cara installnya bisa dilihat di Download Jawapos ePaper menggunakan bash (lagi)

file ini di simpan dalam file jawapos.sh
untuk download outomatis bisa melakukan setting pada crontap dengan perintah crontab -e
yang perlu diingat sesuakan folder tempat penyimpanan file dengan crontabnya.
misal ingin anda simpan dalam forlder /var/www/jawapos
karena folder www adalah milik root maka crontabnya harus sebagai sudo.
didalam crontab di isi
0 8 * * * /home/surya/jawapos.sh
artinya pada menit ke 0 dan pada jam 8 crontab akan melakukan esekusi script jawapos.sh

or dalam bentuk file bisa anda download disini

#!/bin/bash
echo 'MULAI DIJALANKAN'
# Jawapos ePaper Downloader
# Created by Sugeng Doyle
# Re-Build by suryahawk

#ISI FOLDER TUJUAN
folder="/var/www"


# URL Jawapos
URL="http://versipdf.jawapos.co.id/index.php?detail="

# Fix Link untuk direct PDF file ePaper
PAGE=(00241260 00361260 00481260 00601260 00721260 00841260 00961260 01081260 01201260 001200241260 002400241260 003600241260 004800241260 006000241260 007200241260 008400241260)

# Jawapos membagi kategori link berdasarkan jp, or, mt
PAGEDL=("jp" "or" "mt")

# Tanggal Hari ini
TGL=`date +%d-%b-%Y`

# Rename mulai dari 1
FILENAME=1

# Buat Folder sesuai tanggal
echo 'Buat folder : '$folder/$TGL
mkdir -p $folder/$TGL
echo 'folder '$folder/$TGL' SELESAI'
# Looping kategori linknya
for i in ${PAGEDL[@]}; do
URL_DL=$URL$i

# Looping halaman
for j in ${PAGE[@]}; do

if [ ${#FILENAME} == 1 ]; then
FILE="00"$FILENAME
else if [ ${#FILENAME} == 2 ]; then
FILE="0"$FILENAME
else FILE=$FILENAME
fi
fi

# Check apakah link tersebut aktif
echo 'BEGIN CHECK :'$URL_DL"_det&file_det="$j
CHECK=`wget -nv --spider $URL_DL"_det&file_det="$j`
echo 'END CHECK :'$URL_DL"_det&file_det="$j
if [ ${#CHECK} == 0 ]; then
# Download file pdf ePaper
echo '-----------------'$FILE' MULAI-------------------'
echo $FILE' : wget -nv -O '$folder/$TGL/$FILE'.pdf '$URL_DL'_det&file_det='$j
wget -nv -O $folder/$TGL/$FILE.pdf $URL_DL"_det&file_det="$j
echo '-----------------'$FILE' SELESAI-----------------'
echo $FILE' : wget SELESAI'
#kget $folder/$TGL/$FILE.pdf $URL_DL"_det&file_det="$j
let FILENAME+=1
INFO=`ls -s $folder/$TGL/$FILE".pdf"`
echo 'INFO :'$INFO
BND=${#INFO}
if [ $BND == 30 ]; then
# Download file pdf ePaper
echo 'DEL: '$i'>>'$FILE'>>'$i'>>>' $INFO'>>>>'${#INFO}
rm $folder/$TGL/$FILE.pdf
else if [ $BND == 21 ]; then
# Download file pdf ePaper
echo 'DEL: '$i'>>'$FILE'>>'$i'>>>' $INFO'>>>>'${#INFO}
rm $folder/$TGL/$FILE.pdf


else echo $i'>>'$FILE'>>'$i'>>>' $INFO'>>>>'${#INFO}
fi
fi
fi
echo $FILE' SELESAI'

done
done
mkdir -p $folder/jawapos
pdftk $folder/$TGL/*.pdf cat output $folder/jawapos/jawapos_$TGL.pdf
rm -r $folder/$TGL

exit


Sabtu, 04 April 2009

TUGAS AKHIR

ROBOT PENDETEKSI GERAKAN BERDASARKAN KETINGGIAN BENDA



Syntax Hihglighter

adalah Systax yang digunakan menampilkan penggalan kode secara cara mudah agar terlihat lebih menarik. dengan menggunakan Syntax Hihglighter, diharapkan pembaca bisa lebih mngerti source code dalam bentuk bahasa asli. Syntax ini 100% menggunakan java script sebagai bahasa pemogramannya, jadi bisa di tampilkan disemua bahasa web apapun.

Kekurangan :
Jika anda hanya menampilkan cuplikan-cuplikan kode bukan suatu masalah. masalah terjadi jika anda memasukkan text yang besarnya lebih dari 5KB, akan sangat dibutuhkan waktu untuk meng generate text tersebut karena proses esekusi.

Bahasa Program yang didukung :

Language Aliases
C++ cpp, c, c++
C# c#, c-sharp, csharp
CSS css
Delphi delphi, pascal
Java java
Java Script js, jscript, javascript
PHP php
Python py, python
Ruby rb, ruby, rails, ror
Sql sql
VB vb, vb.net
XML/HTML xml, html, xhtml, xslt

Cara Memasang pada blog/Blogger :

1. Download dulu plugin nya :
SyntaxHighlighter_1.5.1.rar
2. Upload semua file di Scripts dan Styles di server anda. atau anda bisa mengcopy source code di bawah ini letakkan di bawah kode <head> :

<script type="text/javascript" src="http://suryahawk.googlepages.com/shCore.js" > </script>

<script type="text/javascript" src="http://suryahawk.googlepages.com/shBrushJava.js" > </script>

<script type="text/javascript" src="http://suryahawk.googlepages.com/shBrushJScript.js" > </script>

<script type="text/javascript" src="http://suryahawk.googlepages.com/shBrushPhp.js" > </script>

<script type="text/javascript" src="http://suryahawk.googlepages.com/shBrushPlain.js" > </script>

<script type="text/javascript" src="http://suryahawk.googlepages.com/shBrushSql.js" > </script>
<script type="text/javascript" src="http://suryahawk.googlepages.com/shBrushSql.js" > </script>

<link type="text/css" rel="stylesheet" href="http://suryahawk.googlepages.com/SyntaxHighlighter.css"/>

<script language='javascript'>
function start() {
dp.SyntaxHighlighter.BloggerMode();
dp.SyntaxHighlighter.HighlightAll('code', true, true, false, 1, false);
}
window.onload = start;
</script>

Anda bisa merubah kode diatas disesuaikan dengan server anda. atau anda tetap menggunakan source code diatas.

Cara menggunakannya :

<pre name="code" class="java">
function test() : String
{
return 10;
}
</pre>

<pre name="code" class="php">
<html>
<head>
<table>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</head>
</html>

</pre>
<pre name="code" class="js">
function exec(){
alert ();
}

</pre>
<pre name="code" class="html">
<html>
<head>
<table>
<tr>
<td></td>
<td></td>
<td></td>
<td></td>
</tr>
</table>
</head>
</html>

</pre>
<pre name="code" class="sql">
select * from master order by code;

</pre>


Selengkapnya bisa di pelajari di : http://code.google.com/p/syntaxhighlighter/

Jika ingin memposting code HTMl ke dalam code html/ke dalam blog anda bisa menggunakan software dari :
http://blogcrowds.com/resources/parse_html.php
Disini anda bisa memparse/merubah kode html anda kedalam bentuk text yang nanti akan di terjemahkan oleh browser dan ditampilkan sebagai kode html.


Jumat, 03 April 2009

Setting CVS SERVER

CVS adalah sebuah sistem kendali versi (version control system). Dengan menggunakan CVS sejarah dari perubahan-perubahan file bisa tercatat dengan rapi.

Beberapa fitur dari CVS :

  • Dapat mengambil kembali versi lalu jika ada kesalahan di kemudian hari.Dapat menyimpa semua file-file yang pernah dibuat atau pernah di edit.
  • Mengatasi terjadinya konflik antar user jika file di gunakan dalam sebuah kelompok.

Sejarah Singkat CVS :

CVS bermula sebagai serangkaian script shell yang ditulis oleh Dick Grune, yang dikirimkan ke newsgroup comp.sources.unix dalam rilis 6 volume pada Desember 1986. Meski tidak ada kode yang berasal dari script ini dalam versi baru CVS, banyak algoritma resolusi konflik berasal dari script tersebut.

Bulan April 1989, Brian Berliner merancang dan mengkodekan CVS. Jeff Polk kemudian membantu Brian dengan desain modul CVS dan dukungan cabang vendor (vendor branch support).

Anda dapat memperoleh CVS dalam beragam cara, termasuk mendownloadnya dari Internet

Untuk informasi lebih jauh tentang CVS ini, silakan kunjungi websitenya di :


Cara Setting Server CVS di Linux :

# apt-get install cvs
# mkdir /var/cvs
# cvs -d /var/cvs init
# chown -R surya:surya /var/cvs
# chmod -R 770 /var/cvs
# cd /home/surya/project/projects/
# cvs -d /var/cvs import -m "PROJECT SOURCE" projects surya projectSource
# chown -R surya:surya /var/cvs \n# chmod -R 770 /var/cvs

Informasi diperoleh dari :
http://satriapermana.net/linux/ubuntu/create-a-cvs-repository
http://tedi.heriyanto.net/papers/intro-cvs.html


Rabu, 25 Maret 2009

menjumlahkan hari menggunakan javascript

Penjelasan :
Fungsi dibawah digunakan untuk mengetahui tanggal terakhir bulan.
penggunaan mis :
var hari = getLastDayOfMonth(2,2008);
tahun digunakan untuk mengetahui pada bulan ke dua (Februari) apakah masuk pada 28 hari atau 29 hari.


function getLastDayOfMonth(month,year){
var day;
switch(month)
{
case 1 :
case 3 :
case 5 :
case 7 :
case 8 :
case 10:
case 12:
day = 31;
break;
case 4 :
case 6 :
case 9 :
case 11:
day = 30;
break;
case 2 :
if( ( (year % 4 == 0) && ( year % 100 != 0) ) || (year % 400 == 0) )
day = 29;
else
day = 28;
break;

}
return day;


Fungsi dibawah ini digunakan untuk menghitung penjumlahan pada tanggal,
misal tanggal 20/4/2008. Kira-kira 60 hari lagi tanggal berapa ?
fungsi ini dipake. cara penggunaannya :
var tgl = getJmlHari(20,4,2008,60);


function getJmlHari(hari,bulan,tahun,jmlhari){
var day;
var jml = parseFloat(hari) + parseFloat(jmlhari);
do
{
day = getLastDayOfMonth(parseFloat(bulan),parseFloat(tahun));
if (jml > getLastDayOfMonth(parseFloat(bulan),parseFloat(tahun)) ){
jml = jml - getLastDayOfMonth(parseFloat(bulan),parseFloat(tahun));
if (bulan > 12) {
bulan = 1;
tahun = parseFloat(tahun) + 1;
}else {
bulan = parseFloat(bulan) + 1;
}
}


}
while (jml > getLastDayOfMonth(parseFloat(bulan),parseFloat(tahun)) );
jml = (jml.toString().length==1)?"0"+jml.toString():jml.toString();
bulan = (bulan.toString().length==1)?"0"+bulan.toString():bulan.toString();
day = jml+'/'+bulan+'/'+tahun;
return day;

}



While dan Do While di JavaScript

avascript setelah belajar ternyata hampir sama struktur bahasanya dengan Pascal. Meski PHP dan bahasa lainnya juga pada dasarnya sama. Cuma dalam hal penulisan, JavaScript lebih memiliki kemiripan dengan Pascal. Jadi buat temen-temen yang pernah belajar Pascal trus mau belajar JavaScript, ga usah khawatir karena dasar-dasarnya hampir serupa dengan Pascal. Setelah ini, JavaScript sy singkat jadi JS ya.



Nah, kali ini tulisannya langsung membahas tentang looping alias perulangan, karena sa emang belajar baru sampe sana. Alhamdulillâh sudah sampe looping. Menarik karena kalau di Pascal while itu cuma satu, klo di JS perulangan dengan while ini ada dua, pertama while aja yang kedua do while. Dari segi sintaks tak jauh beda, let’s take a look to the syntax below.


While: Outputnya adalah angka 0-10 secara berurutan ke bawah.



<html>
<body>
<script type="text/javascript">

var i=0
while (i<=10)
{
document.write("Angkanya adalah " + i)
document.write("<br />")
i=i+1
}
</script>
</body>
</html>

Do While


<html>
<body>
<script type="text/javascript">

var i=0
do
{
document.write("Angkanya adalah " + i)
document.write("<br />")
i=i+1
}
while (i<0)
</script>
</body>
</html>

Dalam sintaks di atas, while itu cukup keras dalam hal result. While hanya akan menghasilkan sebuah output alias dieksekusi kodenya ketika kondisinya TRUE. Sedangkan do while akan mengeksekusi kode meski hanya SEKALI meskipun kondisinya FALSE karena kondisi tersebut dieksekusi terlebih dahulu sebelum dites dengan “kode syarat”nya itu.


Coba aja tes kode pertama (yang While) dengan syarat i = 1 seperti pada Do While, kita coba tuliskan kembali disini,


<html>

<body>
<script type="text/javascript">
var i=0
while (i=0)
{
document.write("Angkanya adalah " + i)
document.write("<br />")
i=i+1
}
</script>
</body>
</html>

Nah, ketika dieksekusi maka layar di browser temen-temen ga akan ada yang ditampilkan alias blank (kosong). Berbeda dengan sintaks kedua yang menggunakan do while, maka akan muncul “Angkanya adalah 0″ (tanpa tanda kutip).






get Last Day Of Month (javascript)


function getLastDayOfMonth(month,year){
var day;
switch(month)
{
case 1 :
case 3 :
case 5 :
case 7 :
case 8 :
case 10:
case 12:
day = 31;
break;
case 4 :
case 6 :
case 9 :
case 11:
day = 30;
break;
case 2 :
if( ( (year % 4 == 0) && ( year % 100 != 0) ) || (year % 400 == 0) )
day = 29;
else
day = 28;
break;

}
return day;
}




.