Showing posts with label Pemograman. Show all posts
Showing posts with label Pemograman. Show all posts

Saturday, April 12, 2014

Send Email lewat localhost xampp tanpa buat domain



Kadang Web Programmer khususnya dibidang ecommerce yang transaksi datanya banyak menggunakan email sudah langsung terkirim email dengan function Mail(bla.., bla.., bla..) lewat provider yang sudah ada domainnya. Nah, bagaimana dengan Program Web Non ecommerce ? misalnya sistem informasi tagihan yang didalamnya terdapat keuangan atau yang lainnya?
Atau bisa juga kita mau mengetest kirim email di localhost laptop atau pc kita ? mungkin agak merepotkan kalau langsung dicoba dengan program kita yg sudah online diinternet (dikit-dikit copy paste ke cpanel).
Kalau setau ane, ada tools untuk menghandle ini, yaitu thunderbird atau mercury sebagai web server sehingga memudahkan kita untuk kirim email lewat localhost tanpa membuat domain terlebih dahulu.

 Tapi lewat blog ini ane akan menshare bagaimana mengirim email lewat localhost yang lebih mudah dan tidak repot-repot untuk install tools lg.
Yaitu dengan menggunakan SMTP gmail, SMTP default xampp kadang tidak jalan jika kita mengirim email.caranya anda tinggal download file zip sendmail berikut : sendmail.zip 
download, extract lalu letakkan foldernya di drive kesukaan anda, contoh kalau ane letakkan di drive C:\ , 
sehingga pathnya C:\sendmail\
Nah didalam folder sendmail, buka di editor anda sendmail.ini, lalu edit bagian sebagai berikut :
smtp_server=smtp.gmail.com

; smtp port (normally 25)



smtp_port=587



; SMTPS (SSL) support

;   auto = use SSL for port 465, otherwise try to use TLS

;   ssl  = alway use SSL

;   tls  = always use TLS

;   none = never try to use SSL



smtp_ssl=auto



; the default domain for this server will be read from the registry

; this will be appended to email addresses when one isn't provided

; if you want to override the value in the registry, uncomment and modify



;default_domain=mydomain.com



; log smtp errors to error.log (defaults to same directory as sendmail.exe)

; uncomment to enable logging



error_logfile=error.log



; create debug log as debug.log (defaults to same directory as sendmail.exe)

; uncomment to enable debugging



;debug_logfile=debug.log



; if your smtp server requires authentication, modify the following two lines



auth_username=your_email@gmail.com            

auth_password=your_password



; if your smtp server uses pop3 before smtp authentication, modify the

; following three lines.  do not enable unless it is required.



pop3_server=

pop3_username=

pop3_password=



; force the sender to always be the following email address

; this will only affect the "MAIL FROM" command, it won't modify

; the "From: " header of the message content



force_sender=your_email@gmail.com



; force the sender to always be the following email address

; this will only affect the "RCTP TO" command, it won't modify

; the "To: " header of the message content



force_recipient=



; sendmail will use your hostname and your default_domain in the ehlo/helo

; smtp greeting.  you can manually set the ehlo/helo name if required



hostname=
setelah disetting seperti diatas, buka file php.ini di xampp atau wamp atau yg lainnya lalu edit bagian berikut :
;sendmail_path = "\.\sendmail\sendmail.exe -t"
menjadi
sendmail_path = "C:\sendmail\sendmail.exe -t"
*titik komanya dihilangkan, path diatas sesuai file zip yang anda dicopykan di drive anda yg sudah ane jelaskan diatas.
Nah, hanya segitu maka ane jamin kirim email anda dari localhost akan jalan, tp syaratnya internet anda hrs nyala ya :D

Read more »

Tuesday, March 25, 2014

Sukses dunia akhirat sebagai Programmer Muslim

dilihat dari judulnya bkn berarti gw dah sukses bro .. tp gak ada salahnya kan kalo kita berusaha dalam proses mencapai sukses tsb.. nah gw cmn pengen bagi-bagi pengalaman gw aja. biar kerja ngoding tp gak lupa sm kewajiban batiniah kita agar tidak tll memikirkan dunia . so, akhirat jgn lupa, karena kalo kita ngejar akhirat pasti dunia mengikuti kita (yg gw denger dari Aa gym) hehe ..

Jd tidak perlu ditanyakan lagi, pasti kalian ingin sukses di dunia dan di akhirrat... dan ada beberapa tips yang mungkin bisa meninspirasi kalian bagi yang programmer muslim :

  1. lupa waktu adalah bagian yang tidak terlepaskan dari seorang programmer, maka dari itu selalu pasang alarm di pc kalian atau di hp... agar kewajiban kalian tidak tertinggal.. minimal kalo denger adzan lngsung tunaikan kewajiban. yg cwok berjamaah dimasjid dong.
  2. tidak ada salah nya saat kamu mendapat masalah (dengan proyek).. kamu membaca alquran sejenak... siapa tau nanti Allah SWT memberi jalan kepada mu,Aamiin.. jgn cmn dpt masalah sih, bagusnya tiap hari sob.
  3. setiap proyek kamu terjual, sisakan untuk beramal... sebagai bekal untuk di yaumul kiamah. ya kalo gw pribadi minimal gw sisihkan tiap hari buat kotak amal masjid.. kalo ada lebih lg kirimin bwt nyokap hehe..
  4. cobalah kalian membuat aplikasi yang berhubungan dengan islam seperti baca alquran Electornic, alarm adzan, atau mungkin internet sehat... selain bisa dijadikan bisnis, dengan ini kita bisa menjauhi banyak orang dari godaan setan yang menyesatkan.. ini agak rumit memang.niatin aja insyallah ada kemudahan
  5. biasanya programmer itukan bekerja dimalam hari, apasalah nya ketika bangun ditengah malam... sebelum meneruskan proyek, kalian sholat tahajud terlebih dahulu... gak sampe 10 menit kok :)
  6. ada yang bilang programmer itu sulit bersosial, nah sifat ini harus kalian jauhi... karena Allah senang dengan hambanya yang menjalin silaturahmi.
So, itu mungkin tips dari ane sob.. pahala dapet, sehat apalagi. kalo ada tambahan yuk saling berbagi. Salam programmer muslim!
Read more »

Saturday, March 22, 2014

Nilai Tambah Aplikasi - Competitive Advantage

Sebagai sesama programmer, saya mengerti betul betapa sulitnya membangun sebuah aplikasi yang dianggap baik. Kita akan menemui berbagai macam hambatan dan tantangan, rintangan dan gangguan sebelum akhirnya pekerjaan sukses dan digunakan orang.

Fakta menarik yang saya temukan di lapangan saat ini adalah begitu banyak aplikasi-aplikasi yang dijual murah, hanya dengan wizard bla.. bla.. bla, disulap sedemikian rupa, dan jadilah aplikasi. Dengan effort yang sedemikian dikitnya, dijuallah dengan harga murah. Programmer lain yang merasa membuat dari awal, mencak-mencak, marah-marah, kesal dan galau karena kompetitor dianggap merusak harga pasaran, dibuat seadanya dan membunuh pasar aplikasi milik dia.
Marilah kita berpikir dengan kepala dingin dan tidak berburuk sangka terlebih dahulu dengan mereka yang menawarkan aplikasi-aplikasi dengan harga murah karena semua ini terjadi hanya karena alasan prinsip ekonomi semata. Barang yang dibuat dengan mudah, bisa dijual dengan harga murah. Kalau bisa mudah, kenapa harus repot.
Tiap-tiap orang memang memiliki preferensi bisnis sendiri yang didasarkan pada pengalaman dan idealisme yang timbul dari membaca buku, pergaulan dalam komunitas, dan pengetahuan terhadap teknologi itu sendiri. Apakah orang-orang seperti ini perlu timpuk pake batu? ow, menurut saya sangat perlu tapi buat apa? dan apa untungnya buat kita.
Maka, satu-satunya strategi kita  kita untuk dapat berkompetisi dengan para penjual ‘eceran’ ini adalah menjual aplikasi yang  memberi NILAI TAMBAH. Apa itu Nilai Tambah? secara sederhana Nilai Tambah yang saya maksud adalah memberi tambahan-tambahan fitur yang tidak dimiliki oleh kompetitor. Mungkin ada tawaran aplikasi Company Profile, harga mungkin sama ataupun kita sedikit lebih mahal, itu sebetulnya tidak begitu masalah karena kita menjual aplikasi dengan nilai tambah strategik.
Saya juga mengerti bahwa calon konsumen juga memiliki preferensi, pengetahuan dan keinginan yang berbeda-beda. Itulah sebabnya menjual aplikasi itu merupakan sebuah seni marketing yang harus juga kita kuasai. Kenali calon customer dengan menyerap sebanyak mungkin informasi mengenai diri customer. Mulai dari gaya berbicara, kebutuhan yang ingin dipenuhi hingga harapan-harapan dengan aplikasi kita. Apapun informasi itu, dapat digunakan untuk memberi “Nilai Tambah” dari aplikasi kita.
Fitur yang lebih banyak dari kompetitor kan tidak harus dijual terlalu mahal jika memang kita tau bahwa calon customer ini punya potensi untuk membeli lagi di lain waktu. Anggap saja kita investasi sedikit, rugi secara nilai, tapi kelak di kemudian hari kita akan menikmati hasil tanpa kerja terlalu keras.
Dunia IT itu 99,9 persen adalah bisnis jasa dan pelayanan. Mereka yang memberi layanan yang lebih baik, aplikasi yang memiliki nilai tambah akan selalu survive dan berkelanjutan dibanding mereka yang lebih fokus menjual aplikasi dalam bentuk produk dan me-monetize-kan terlalu banyak sehingga membunuh calon-calon customer baru.
Berpikirlah selalu strategis, agar tetep survive di bisnis programming yang kita cintai ini. Sukses Selalu!
Read more »

Sunday, March 9, 2014

New Personal Website : www.yuliusjubair.net

Mau ksh tau nih website terbaru ane.. hehe gak tau web apaan tp isinya resume ama portfolio gtu, alias apa aja program yg pernah ane buat.
ya itung-itung biar keren dikit dan sambil latihan pny website pribadi. walopun gak terkenal :D

so, buat tmn-tmn yg mo liat yuk kunjungi www.yuliusjubair.net
tlg saran dan masukannya ya. Tq
Read more »

Thursday, February 13, 2014

Aplikasi Building Property Management

Setelah 3 Bulan otak-atik syntax akhirnya selesai jg projek Aplikasi Property Management ini, nah tentu anda bertanya-tanya apa dan untuk apa aplikasi ini?
Aplikasi ini menggunakan php code igniter dan Mysql, dan tentu saja framework javascript Jquery dan Jqgrid.
tentu saja kalau anda sering bermain-main bisnis property sudah tidak asing dengan aplikasi ini. Jika Anda mau membeli property rumah atau apartemen biasanya kan anda langsung mendatangi office management dari perusahaan property tersebut, nah aplikasi ini yg mereka gunakan untuk mengatur pembayaran booking dan angsuran dari apartemen yg mereka beli atau sewa.
berikut tampilan loginnya :

login page property management





demi keamanan dan kerahasiaan data login dilakukan dengan memasukkan dua kali password, setelah login didalamnya terdapat beberapa menu untuk mengelola aplikasi tsb.
diantaranya menu master unit, pembeli, booking, pindah unit, cancel unit/refund beserta halaman persetujuan, cetak dan laporan - laporannya.

berikut penampakan bookingnya : (warna kuning sudah di booking, putih belum dibooking).
tinggal klik unitnya, maka itu adalah unit yang akan dibooking.

booking form property management

Read more »

Monday, January 28, 2013

Php Zoom Picture

Kmrn tmn minta tlg suruh buatin zoom gambar dengan event scroll mouse, eh Alhamdulillah pas ane sersing2x sm om gugle akhirnya dapet jg .. ini sederhana jd dr 4 gambar ane buatin satu gambar aja biar gak makan space







Nah kurang lebih ky diatas tampilannya .. berikut source codenya :

title>Mapbox Example Maps /title>
style>
.mapwrapper {
  margin: 20px auto;
  width: 500px;
}

#viewport, #viewport2 {
    width: 900px;
    height: 500px;
    cursor: move;
    overflow: hidden;
}

.mapwrapper {
    position: relative;
}

.map-control {
    position: absolute;
    top: 50px;
    right: 10px;
    background: url(images/map-control.png) no-repeat;
    height: 63px;
    width: 100px;
}

.map-control a {
    height: 18px;
    width: 18px;
    display: block;
    text-indent: -999em;
    position: absolute;
    outline: none;
}

.map-control a:hover {
    background: #535353;
    opacity: .4;
    filter: alpha(opacity=40);
}

.map-control a.left {
    left: 39px;
    top: 22px;
}

.map-control a.right {
    left: 79px;
    top: 22px;
}

.map-control a.up {
    left: 59px;
    top: 2px;
}

.map-control a.down {
    left: 59px;
    top: 42px;
}

.map-control a.zoom {
    left: 2px;
    top: 8px;
    height: 21px;
    width: 21px;
}

.map-control a.back {
    left: 2px;
    top: 31px;
    height: 21px;
    width: 21px;
}
/style>
script src="module/mapbox/jquery.min.js">

script src="module/mapbox/jquery.mapbox.js">
script src="module/mapbox/jquery.mousewheel.js">
/head>
body>

div>
       
            form action="?act=10&kphbtn=001" method="post" name="frmsearchsdh">
            Berdasarkan:select name="cari">
                option value="rph">RPH 1:10.000

     option value="bkph">BKPH 1:25.000
     option value="kph">KPH 1:100.000
            /select>
                input type="text" name="search" id="search" value="">
                input type="button" value="Search.." onclick="searchsdh();" />
            /form>
        /div>
       div class="right">
p>

RPKH 2013-2022 Wilayah Sukabumi

   
   div id="viewport">
      div>
         
       img src="module/mapbox/images/1.jpg" alt="" width="700" height="700" />
      /div>
      div style="height: 1097px; width: 1286px;">
          img src="module/mapbox/images/1.jpg"alt="" />
          div class="mapcontent">
             
           /div>
      /div>
      div style="height: 1794px; width: 2104px;">
          img src="module/mapbox/images/1.jpg" alt="" />
           div class="mapcontent">
             
          /div>
      /div>
      div style="height: 2492px; width: 2922px;">
           img src="module/mapbox/images/1.jpg" alt="" />
           div class="mapcontent">
             
             
    
          /div>
      /div>
    /div>
/div>

/div>
script type="text/javascript">
    $(document).ready(function() {
        $("#viewport").mapbox({mousewheel: true});
        $("#viewport2").mapbox({
            layerSplit: 8 //smoother transition for mousewheel
        });
        $(".map-control a").click(function() { //control panel
            var viewport = $("#viewport2");
            // this.className is same as method to be called
            if(this.className == "zoom" || this.className == "back") {
                viewport.mapbox(this.className, 2);//step twice
            }
            else {
                viewport.mapbox(this.className);
            }
            return false;
        });
    });
/script>


Untuk File js nya bs searching aja di google.
    Selamat Mencoba.. Good luck :)  
Read more »

Launching Personalia Program

Akhirnya dengan semangat dan perjuangan keras, program personalia yang kayanya belum 100% sudah bisa digunakan deh.. soalnya udah banyak fitur-fitur yang InsyAlloh dibutuhkan beberapa Perusahaan baik perusahaan BUMN maupun Swasta.
Berikut Tampilan Menu Data Karyawannya:


nah kalo fitur-fitur lainnya ada juga nih seperti, Menu Rekrutmen (kalau perusahaan mw melakukan rekrut pegawai baru), Menu Berita Acara, Menu Lembur, Menu Pinjaman Karyawan sampai cetak slip gaji.

yang menari dari program ini adalah dengan hadirnya fitur narik data absen dari finger print sbb:


dari gambar diatas terdapat setting URL dari finger print, serta ada filter mau ditarik dari tanggal dan sampai tanggal berapa. ini memudahkan bagian HRD untuk melihat performance karyawan yang rajin, telat masuk atau yg suka bolos hehe.

nah mau lihat fitur2x lainnya ??? silahkan hubungi pemilik blog ini :D


Read more »

Tuesday, March 6, 2012

Jquery Image Tooltip

Dear Friends,
skrg saatnya sy mw share bgmn cara menggunakan tooltip image, seperti halnya tooltip dalam bentuk text, jquery tooltip image ini sama cara kerjanya yaitu ketika mouse diam di atas objek sperti gambar berikut :

file2 yg diperlukan :
1. jquery.tooltip.css
2. jquery.tooltip.js





$(document).ready(function() {
    /* FOTO TOOLTIP */
    $(".usr_photo img").tooltip({
        delay: 200,
        showURL: false,
        fixPNG: true,
        extraClass:'ui-widget-header ui-corner-all',
        bodyHandler: function() {
            return $("").css({
                width: '500px', height: 'auto'
            }).attr("src", this.src);
        }
    });
});



 
body> 
span class="usr_photo"> a href="#" border="0"> img src="image.jpeg" width="100" height="100" /> /a>/span>
/body>
 


met mencoba .
Read more »

Saturday, July 23, 2011

Inserting table Multiple Rows

Sekarang kita mencoba untuk berkomunikasi dengan database ..
dan untuk lebih memudahkan menggunakan database maka kita perlu tau bgmn cara memasukkan multi data / row dalam ke sebuah tabel.
sengaja saya menulis yang multiplenya karna kasus ini sangat mungkin banyak dipakai dalam mengelola suatu sistem.
nah, biasanya kebanyakan dalam memproses lebih dari satu data ini menggunakan check box, yuk kita lihat gmn syntaxnya .. ^^


Berdasarkan skenario di atas, maka kita siapkan terlebih dahulu beberapa tabel pendukungnya. Untuk contoh ini, kita perlu tabel untuk menyimpan data matakuliah yang diambil mahasiswa serta tabel untuk menyimpan semua matakuliah yang ditayangkan. Untuk tabel-tabel yang lain, misalkan tabel mahasiswa atau yang lain silakan dibuat sendiri ya.

CREATE TABLE mk (
  kodeMK varchar(10),
  namaMK varchar(20),
  PRIMARY KEY (kodeMK)
)

CREATE TABLE ambilmk (
  nim varchar(8),
  kodeMK varchar(10),
  nilai float,
  PRIMARY KEY (nim,kodeMK)
)





Anda dapat menambahkan field-field yang lain pada tabel-tabel di atas bila diperlukan.

Untuk tabel mk, misalkan kita sudah siapkan record-recordnya sebagai berikut:

INSERT INTO mk VALUES ('M001', 'Algoritma');
INSERT INTO mk VALUES ('M002', 'Pengantar Basis Data');
INSERT INTO mk VALUES ('M003', 'Sistem Pakar');

Now… let’s take action… terlebih dahulu kita buat form untuk menampilkan list matakuliah yang ditayangkan untuk dipilih mahasiswa. Dalam form ini, misalkan kita siapkan sebuah textbox untuk memasukkan nim mahasiswa yang akan mengambil matakuliah. Di bawah textbox tersebut, kita tampilkan daftar matakuliahnya menggunakan checkbox.

form.php


<h1>Form Pengambilan Matakuliah</h1>

<form method="post" action="submit.php">
Masukkan NIM <input type="text" name="nim" /><br />
Daftar Matakuliah <br />
<?php
$query = "SELECT * FROM mk";
$hasil = mysql_query($query);
$no = 1;
while ($data = mysql_fetch_array($hasil))
{
  echo "<input type='checkbox' value='".$data['kodeMK']."' name='mk".$no."' /> ".$data['namaMK']."<br />";
  $no++;
}
?>
<input type="submit" name="submit" value="Submit" />
</form>





mysql_connect("dbhost", "dbuser", "dbpassword");
mysql_select_db("dbname");
?>


Form Pengambilan Matakuliah





Masukkan NIM
Daftar Matakuliah

$query = "SELECT * FROM mk";
$hasil = mysql_query($query);
$no = 1;
while ($data = mysql_fetch_array($hasil))
{
  echo " ".$data['namaMK']."
";
  $no++;
}
?>






Catatan:
Perintah pada baris ke-17 dalam script di atas akan menghasilkan tag-tag XHTML berikut ini ketika dijalankan

Algoritma
Pengantar Basis Data
Sistem Pakar





Perhatikan pada atribut name untuk setiap komponen checkbox. Atribut ini kita buat name yang unik untuk setiap checkboxnya. Jangan memberi value name yang sama untuk checkboxnya karena apabila diberikan name yang sama maka value yang disubmit adalah value dari checkbox terakhir yang dipilih. Oleh karena itu supaya namenya unik, kita pakai bantuan increment $no, sehingga kita dapatkan name ‘mk1′, ‘mk2′, … dst.

Selanjutnya kita buat script untuk memproses value yang disubmit via form di atas. Mungkin yang menjadi kesulitan kita adalah membaca value yang diinput melalui checkbox dinamis tersebut. Untuk data NIM saya kira tidak menjadi masalah untuk dibaca.

Untuk membaca value berasal dari checkbox dinamis, kita dapat menggunakan looping. Lho mengapa looping? bukankah kita bisa menuliskan perintah untuk pembacaan value-value checkboxnya secara langsung seperti ini:

$mk1 = $_POST['mk1'];
$mk2 = $_POST['mk2'];
$mk3 = $_POST['mk3'];





Iya sih… tapi dalam contoh ini kan kita hanya punya 3 data matakuliah sehingga tidak menjadi masalah ketika ketika menuliskan perintah pembacaan valuenya satu persatu. Tapi.. bagaimana bila terdapat 30 matakuliah yang tersedia untuk dipilih? He.. 3x repot bukan? So.. solusinya adalah kita pakai looping.

submit.php


mysql_connect("dbhost", "dbuser", "dbpassword");
mysql_select_db("dbname");

$nim = $_POST['nim'];

for($i = 1; $i <= 3; $i++)
{
   $mk = $_POST['mk'.$i];
   if (!empty($mk))
   {
      $query = "INSERT INTO ambilMK VALUES('$nim', '$mk', 0)";
      mysql_query($query);
   }
}

echo "Terimakasih sudah memilih matakuliah";

?>





Catatan:
Perintah pada baris ke-10 digunakan untuk membaca value untuk setiap komponen mk1, mk2, mk3. Apabila valuenya tidak kosong (empty), maka masukkan ke database.

Eh… tunggu dulu, pada contoh ini jumlah matakuliahnya adalah fixed yaitu 3, sehingga kita bisa dengan mudah mengeset jumlah loopingnya ada 3 (for($i = 1; $i <= 3; $i++)). Namun... bagaimana bila jumlah checkboxnya dinamis? Waduh... gimana nih? Ya.. kita terpaksa cari akal nih. Idenya adalah kita sisipkan sebuah komponen tersembunyi (hidden component) dalam form pemilihan matakuliah. Hidden component ini akan diisikan dengan jumlah matakuliah yang ditayangkan (muncul dalam daftar pilihan). Jumlah matakuliah ini dapat diperoleh dengan memanfaatkan increment $no, yaitu nilai $no terakhir setelah looping berakhir dikurangi 1. Mengapa harus dikurangi 1? Pikirkan sendiri ya..

Begitu form ini disubmit maka jumlah matakuliah ini menjadi input yang akan digunakan dalam looping. So... kita perbaiki script formnya menjadi seperti di bawah ini:

form.php

mysql_connect("dbhost", "dbuser", "dbpassword");
mysql_select_db("dbname");
?>


Form Pengambilan Matakuliah


Masukkan NIM
Daftar Matakuliah

$query = "SELECT * FROM mk";
$hasil = mysql_query($query);
$no = 1;
while ($data = mysql_fetch_array($hasil))
{
  echo " ".$data['namaMK']."
";
  $no++;
}
?>


Jangan lupa, kita juga ubah sedikit script pemrosesan formnya

submit.php
mysql_connect("dbhost", "dbuser", "dbpassword");
mysql_select_db("dbname");

$nim = $_POST['nim'];
$jumMK = $_POST['jumMK'];

for($i = 1; $i <= $jumMK; $i++)
{
   $mk = $_POST['mk'.$i];
   if (!empty($mk))
   {
      $query = "INSERT INTO ambilMK VALUES('$nim', '$mk', 0)";
      mysql_query($query);
   }
}

echo "Terimakasih sudah memilih matakuliah";

?>

Udah selesai deh scriptnya. Mudah bukan cara membuat checkbox dinamis ini berserta pemrosesannya? Tidak ada yang tak mungkin dengan programming. Semuanya pasti ada caranya, selama kita punya ide untuk menyelesaikannya. 'Ide' is the most important thing in programming. So.. inilah yang membuat mahalnya suatu program atau script, karena 'ide' sendiri adalah mahal

Mudah-mudahan artikel ini ada manfaatnya. Selamat belajar dan mencoba.
Read more »

Jquery Auto Complete

Auto Complete adalah suatu fungsi untuk mencari data dengan mengetik sebuah keyword pada suatu text(html) tersebut. Jquery UI mempunyai fasilitas tersebut , maka dari hal itu file - file yang harus dibutuhkan adalah sbb :
1. jquery.min.js

2. jquery-ui.min.js

misal kita mempunyai text html sbb :
input type="text" name="barang" class="id" size="30" />
div id="result">/div>

text tersebut mempunyai class dengan nama id dan ada div id='result' untuk menampilkan hasil dr autocomplete tersebut.

nah setelah itu kita buat file javascript auto completenya sbb :


$(document).ready( function() {
            $(".id").autocomplete({
                minLength: 2,
                source:
                    function(req, add){
                    $.ajax({
                        url: "http://localhost/admin/barang/", ----> untuk mengambil data barang
                        dataType: 'json',
                        type: 'POST',
                        data: req,
                        success:
                            function(data){
                            if(data.response =="true"){
                                add(data.message);
                            }
                        },
                    });
                },
                select:
                    function(event, ui) {
                    $("#result").append(
                    " input type='text' id='harga_barang_free' name='harga_barang_free' value='" + ui.item.value1 + "' size='15' /"
                );
                },
            });
        });

Read more »

Membuat Chart Flash dengan FrameWork Code Igniter

Untuk aplikasi yang sedikit kompleks, tampilan grafik banyak membantu user dalam memahami data. Grafik lebih user friendly karena mayoritas user mampu menerjemahkan grafik lebih baik daripada tampilan berupa tabel. Sebagai programmer (khususnya web), library grafik sangat banyak beredar. Ada yang berbayar dan ada yang gratis. Bukan berarti yang gratis lebih jelek daripada yang berbayar.


Anda tidak perlu sedih. Library Flash yang tidak kalah cantiknya dan berlisensi gratis adalah Open Flash Chart. Tidak hanya gratis, library ini juga open source! Anda bisa mendownload file flashnya berupa FLA file beserta class yang menyertainya. Dan menurut saya, library ini lebih cantik daripada Fusion Flash Chart, karena animasi overlaynya lebih menawan. Apalagi jika Anda bekerja dalam lingkungan Framework Codeigniter, library ini bisa kita masukkan dalam library aplikasi yang bisa dipangggil sewaktu-waktu. Sampai sekarang, saya benar-benar jatuh hati dengan library ini. OK, biar ndak banyak basa basi, mari kita mulai membuat chart dengan Open Flash Chart di lingkungan Framework Codeigniter.
Download library-nya di sini (Ingat! Download yang versi 1.97 saja karena versi 2 masih tahap pengembangan.
Setelah Anda download, buat folder 'assets' di dalam root project CodeIgniter Anda. Buat lagi 2 folder di dalamnya dengan nama 'js' dan 'swf'. Copykan file swfobject.js dari folder js hasil downloadan tadi ke dalam folder js di dalam folder assets Codeigniter kita. Setelah itu copykan file open-flash-chart.swf dari hasil downloadan ke dalam folder swf di dalam folder 'assets'.
OK, langkah berikutnya copykan file dari hasil downloadan di dalam folder 'php-ofc-library', yaitu open-flash-chart.php ke dalam aplikasi CI yaitu di path 'system/application/libraries'. Rename file php dengan nama graph.php.
Buka file graph.php tersebut dan cari baris :


$this->js_path = 'js/';
$this->swf_path = '';

ubah menjadi


$this->js_path = base_url().'assets/js/';
$this->swf_path = base_url().'assets/swf/'; 

Instalasi beres, sekarang tinggal menggunakan saja, kawan. Buat Model baru misalkan grafik_model.php di dalam folder Models. Buat fungsi cretaegraph dan isikan baris kode berikut ini (ini adalah data acak) : 


function creategraph()
{
    $this->load->library('graph');
    $data_1 = array();
    for( $i=0; $i<7; $i++ )
    {
        $data_1[] = rand(30,550);
    }
    $ff = new graph();
    $ff->set_data( $data_1 );
    $ff->title( 'Traffic SMS 1 Minggu Terakhir', '{font-size: 14px; color: #3D5570;font-family:calibri;}' );
    $ff->line_dot( 3, 5, '#8B6122', 'SMS Jarkom', 10 );
    $ff->bg_colour = '#FFFFFF';
    $ff->x_axis_colour( '#818D9D', '#ADB5C7' );
    $ff->y_axis_colour( '#818D9D', '#ADB5C7' );
    $ff->set_x_labels( array( '25/12','26/12','27/12','28/12','29/12','30/12','31/12' ) );
    $ff->set_y_max( 600 );
    $ff->y_label_steps( 10 );
    $ff->set_y_legend( 'Jumlah SMS', 12, '#3D5570' );
    $ff->set_x_legend( 'Tanggal', 12, '#3D5570' );
    $ff->set_output_type('js');
    $ff->width = '90%';
    $ff->height = '300';
    return $ff->render();
}

Setelah itu kita panggil menggunakan controller. Buat file controller di dalam folder controller dengan nama grafik.php. Di dalam fungsi index, ketikkan baris kode berikut ini.


$this->load->model('Grafik_model');
$data['graph1'] = $this->Grafik_model->creategraph();
$this->load->view('tampilgrafik', $data);

Buat file view untuk menampilkan grafik di dalam folder views, yaitu tampilgrafik.php. Ketikkan Code berikut:


<html>
    <head>
        <title>Grafik Flashtitle>
    head>
    <body>
    php echo $graph1;?>
    body>
html>
Read more »

Friday, November 12, 2010

Setting Tanggal Indonesia

AKhirnya Update Blog lg setelah refreshing2 kmrn2 .. hehe ..
kali ini kita akan mambahas bagaimana penanggalan dalam format Indonesia ..
ex : 13 November 2010 ..
gampang aja kog .. kita tinggal memakai array .. so, ayo kita pertajam lg array nya .. karena sangat penting jg dalam pemograman.. :D

ni dia listing program nya :




/**
 * @author Yulius
 * @copyright 2010
 */


//Array Hari
$array_hari = array(1=>'Senin','Selasa','Rabu','Kamis','Jumat', 'Sabtu','Minggu');
$hari = $array_hari[date('N')];
//Format Tanggal
$tanggal = date ('j');
//Array Bulan
$array_bulan = array(1=>'Januari','Februari','Maret', 'April', 'Mei', 'Juni','Juli','Agustus','September','Oktober', 'November','Desember');
$bulan = $array_bulan[date('n')];
//Format Tahun
$tahun = date('Y');
//Menampilkan hari dan tanggal
echo $hari . "," . $tanggal . $bulan . $tahun;


?>

selamat mencoba ya ..
Read more »

Sunday, October 31, 2010

Part VI (Belajar Kelas n Objek Php yukkk)

Kelas Dan Objek Di PHP (bagian 2)

   Kini kita akan membahas beberapa hal yang lebih mendalam mengenai kelas dan objek tersebut. Yang akan kita bahas adalah constructor, parent, serta sesuatu yang ditandai dengan karakter titik dua yang ditulis dua kali (::).

Constructor
Constructor adalah sebuah fungsi yang otomatis dipanggil apabila kita membuat sebuah instance baru dari kelas dengan pernyataan new. Ada sedikit perbedaan deklarasi constructor pada PHP 3 dan PHP 4. Perhatikan baik-baik. Pada PHP 3, sebuah fungsi akan menjadi constructor apabila fungsi tersebut mempunyai nama yang sama dengan kelas, sedangkan pada PHP 4 sebuah fungsi akan menjadi constructor apabila fungsi tersebut mempunyai nama yang sama dengan kelas di mana fungsi tersebut dideklarasikan. Untuk lebih jelasnya PCplus akan memberikan kutipan dari PHP manual sebagai berikut:
“Constructors are functions in a class that are automatically called when you create a new instance of a class with new. In PHP 3, a function becomes a constructor when it has the same name as the class. In PHP 4, a function becomes a constructor, when it has the same name as the class it is defined in – the difference is subtle, but crucial.”
Agak sulit memang menerangkan perbedaan tersebut karena PCplus menggunakan PHP 4 dan tidak memiliki PHP 3 sebagai pembanding. Namun contoh-contoh berikut setidaknya bisa memberikan gambaran.
class tes {
function tes() {
echo "

Aku kelas tes

";
}
}

$newtes = new tes;
?>

Pada skrip tersebut hanya terdapat deklarasi kelas tes dan deklarasi objek $newtes. Secara logikan tidak akan ada output apapun yang diberikan pada browser, namun karena pada kelas tes dideklarasikan fungsi dengan nama sama yaitu tes(), maka fungsi tersebut akan menjadi constructor yang otomatis dipanggil apabila ada deklarasi instance baru dari kelas tersebut. Dan karena function tes() berisi echo “

Aku kelas tes

”, maka pada browser akan nampak sebuah output bertuliskan “Aku kelas tes” yang diberi style heading tingkat pertama.
Apa yang terjadi jika kelas tersebut diinherit dan kemudian dideklarasikan instance baru dari inherit tersebut? Perhatikan contoh berikut:

class tes {
function tes() {
echo "

Aku kelas tes

";
}
}

class tes_juga extends tes {
function tes2() {
echo "

Aku kelas tes_juga

";
}
}

$newtes2 = new tes_juga;
?>

Pada contoh kedua ini kelas tes_juga merupakan inherit dari kelas tes. Sesuai dengan aturan constructor di PHP 4, suatu kelas inherit yang tidak memiliki constructor akan mewarisi constructor induknya (bila induknya memiliki constructor). Oleh sebab itu pada saat dideklarasikan instance baru kelas tes_juga, maka constructor kelas tes akan tetap berfungsi. Dan karena kelas tes_juga tidak memiliki constructor, maka hanya hanya constructor kelas tes yang berfungsi.
Namun ternyata hal ini tidak berlaku di PHP 3. Ingat, pengertian constructor di PHP 3 adalah sebuah fungsi yang mempunyai nama yang sama dengan kelas. Dalam hal ini kelas tes_juga tidak memiliki fungsi bernama tes_juga(), sehingga tidak ada constructor.
Sekarang kita kembangkan lagi skrip tadi menjadi sebagai berikut:

class tes {
function tes() {
echo "

Aku kelas tes

";
}

function tes_juga() {
echo "

Aku kelas tes_juga

";
}
}

class tes_juga extends tes {
function tes2() {
echo "

Aku kelas tes_juga

";
}
}

$newtes2 = new tes_juga;
?>

Sekarang, kelas tes memiliki fungsi tes() dan tes_juga(). Jika kelas tes tersebut diinherit oleh kelas tes_juga, apakah fungsi tes_juga() akan menjadi constructor di kelas tes_juga? Ternyata jawabannya adalah YA. Kesimpulannya adalah: jika sebuah kelas menginherit kelas lain dan di dalam kelas lain tersebut terdapat fungsi dengan nama yang sama dengan kelas yang menginherit, maka fungsi tersebut akan menjadi constructor di kelas yang menginheritnya.

Karakter titik dua yang ditulis dua kali (::)
Karakter titik dua yang ditulis dua kali (disebut juga operator ::) berguna untuk memberikan referensi terhadap fungsi di dalam suatu kelas yang belum memiliki suatu instance. Operator :: ini hanya berlaku untuk PHP 4. Berikut adalah contohnya:

class induk {
function cetak() {
echo "

Aku adalah kelas induk

";
}
}

class anak extends induk {
function cetak() {
echo "

Aku adalah kelas anak

";
}
}

induk::cetak();
$turunan = new anak;
$turunan->cetak();
?>

Pada contoh tersebut, kelas induk belum memiliki suatu instance, namun fungsi cetak yang dimilikinya dapat direferensikan dengan menuliskan induk::cetak(). Jika sebuah kelas telah memiliki suatu instance, misalnya dalam hal ini $turunan adalah instance dari kelas anak, maka fungsi yang didalamnya dalam direferensikan dengan menuliskan karakter ->, sehingga penulisannya adalah $turunan->cetak(). 

Parent
Pernyataan parent digunakan untuk merujuk pada kelas lain yang menjadi induk suatu kelas. Hal ini identik dengan $this yang merujuk pada dirinya sendiri, sedangkan parent merujuk pada kelas induknya. Contohnya adalah sebagai berikut:

class induk {
function cetak() {
echo "

Aku adalah kelas induk

";
}
}

class anak extends induk {
function cetak() {
echo "

Aku adalah kelas anak

";
parent::cetak();
}
}

$turunan = new anak;
$turunan->cetak();
?>

Perhatikan bahwa fungsi cetak() pada kelas anak akan melakukan shadow terhadap fungsi cetak() di kelas induk (baca lagi PCplus minggu lalu tentang masalah shadow ini). Namun sekalipun di-shadow, fungsi cetak di kelas induk tetap dapat dipanggil. Pada contoh ini, fungsi cetak di kelas anak memanggil fungsi cetak di kelas induknya dengan pernyataan parent, dan karena kelas induk tidak memiliki instance di dalam kelas anak, maka pemanggilannya menggunakan operator ::. 
Selamat belajar.
Read more »

Friday, October 29, 2010

Part V (Belajar Kelas n Objek Php yukkk)

Kelas Dan Objek Di PHP (bagian 1)

            Anda tentu sudah sering mendengar istilah OOP atau Object Oriented Programming. Dalam Bahasa Indonesia diterjemahkan sebagai Pemrograman Berorientasi Objek. Boleh dikatakan hampir semua (kalau tidak boleh dikatakan seluruhnya) bahasa pemrograman modern memiliki sifat orientasi objek ini. Suatu bahasa pemrograman dikatakan murni bersifat object oriented apabila setidaknya memenuhi unsur-unsur inheritance, polymorphism, dan encapsulation. Demikian pula dengan PHP yang boleh dikatakan juga memenuhi ketiga unsur tersebut, sekalipun bisa jadi tidak semua programmer setuju. Kita tidak perlu memperdebatkan hal tersebut, yang pasti sekarang kita akan mempelajari kelas dan objek di PHP.
            Kelas dan objek memang merupakan sesuatu yang agak sulit didefinisikan, tetapi untuk membantu membayangkannya dapat dipakai ilustrasi berikut:
            Misalnya sebuah kelas dibayangkan sebagai sebuah mobil, sementara itu sedan, pick up, jeep, minibus dapat dibayangkan sebagai objek-objeknya. Jadi setiap dibicarakan sebuah sedan, sedan tersebut tidak dapat terlepas dari kelasnya yaitu sebuah mobil yang memiliki mesin, roda, kemudi, tempat duduk, dan lain-lain. Dari sudut pandang yang sebaliknya dapat dikatakan bahwa jika sebuah kelas mobil didefinisikan, maka dapat didefinisikan pula sebuah objek sedan atau minibus atau jeep yang memiliki seluruh sifat dari mobil.

Kelas
            Kelas adalah sebuah kumpulan variabel dan fungsi-fungsi yang bekerja dengan variabel tersebut. Untuk mendefinisikan kelas, sintaks yang digunakan adalah sebagai berikut:

class namakelas {
            var $namavariabel;
            ...Kumpulan fungsi...
}

            Sebagai batasan, namakelas tidak boleh menggunakan nama stdClass karena telah digunakan oleh Zend Engine, yaitu “mesin” yang merupakan motor penggerak PHP.
            Di dalam kelas, variabel didefinisikan dengan pernyataan var. Di dalam sebuah kelas secara default dikenal sebuah variabel bernama $this yang mereferensikan kelas itu sendiri. Kemudian untuk merujuk kepada variabel yang didefinisikan dengan pernyataan var digunakan tanda ->.
            Untuk lebih jelasnya berikut akan diberikan contoh sebuah kelas yang berisi fungsi-fungsi perhitungan matematika sederhana:

class hitung {
            var $hasil;
           
            function kali($x,$y) {
                        $this->hasil = $x * $y;
            }

            function bagi($x,$y) {
                        $this->hasil = $x / $y;
            }

            function tambah($x,$y) {
                        $this->hasil = $x + $y;
            }

            function kurang($x,$y) {
                        $this->hasil = $x - $y;
            }
}
?>

            Sebagai perbandingan, dalam bahasa pemrograman lain (seperti misalnya Visual Basic .NET) variabel di dalam kelas umumnya disebut dengan properti dan fungsi di dalam sebuah kelas umumnya disebut dengan metoda.
            Sebuah kelas dapat merupakan perluasan dari kelas yang ada sebelumnya. Misalnya pada contoh kelas di atas fungsi-fungsi yang ada hanyalah kali(), bagi(), tambah(), kurang() dan mungkin itu dirasakan kurang. Jika ingin didefinisikan sebuah kelas lain yang juga mengandung fungsi-fungsi kali(), bagi(), tambah(), dan kurang() serta ditambah sebuah fungsi lagi misalnya pangkat(), maka tidak perlu dibuat sebuah kelas yang baru sama sekali yang mengandung kelima fungsi tersebut. Kelas tersebut dapat merupakan perluasan dari kelas hitung dan hanya mendefinisikan sebuah fungsi baru yaitu pangkat(). Dalam PHP untuk melakukan perluasan terhadap sebuah kelas digunakan pernyataan extends yang sintaksnya adalah sebagai berikut:

class namakelas extends kelaslain {
            var $namavariabel;
            ...Kumpulan fungsi...
}

            Contoh:

class hitung_juga extends hitung {
            function pangkat($x,$y) {
                        $this->hasil = pow($x,$y)
            }
}
?>

            Dari contoh ini dapat disimpulkan bahwa kelas hitung_juga akan memiliki variabel dan fungsi-fungsi yang terdapat pada kelas hitung ditambah dengan sebuah fungsi baru yaitu pangkat().
            Perluasan kelas semacam ini dapat dikategorikan sebagai sifat inheritance dari pemrograman berorientasi objek. Kelas hitung_juga pada contoh di atas merupakan inherit dari kelas hitung.
            Dalam melakukan perluasan ini, kelas yang merupakan inherit dari kelas lain dapat mendefinisikan fungsi dengan nama yang sama. Contoh:

class A {
            function contoh() {
                        echo "Aku adalah fungsi contoh yang asli";
            }
}

class B extends A {
            function contoh() {
                        echo "Aku adalah fungsi contoh yang didefinisikan ulang";
            }
}

            Dalam hal ini fungsi contoh() di kelas A disebut dengan shadowed dan tidak dapat dipergunakan lagi. Unsur polymorphism terpenuhi di sini.

Objek
            Menurut ilustrasi mobil di atas dapat dikatakan bahwa objek “diperanakkan” dari kelas. Untuk mendefinisikan sebuah objek digunakan sintaks sebagai berikut:

$namaobjek = new namakelas;

            Setelah objek didefinisikan, maka seluruh variabel dan fungsi yang terdapat dalam sebuah kelas namakelas otomatis terdapat pula dalam objek namaobjek tersebut. Untuk merujuk pada fungsi atau variabel yang dimiliki oleh kelasnya, maka digunakan juga tanda ->. Berikut akan diberikan contoh bagaimana menggunakan objek dan kelas dengan menggunakan contoh kelas hitung dan hitung_juga yang telah diberikan di atas.


class hitung {
            var $hasil;
           
            function kali($x,$y) {
                        $this->hasil = $x * $y;
            }

            function bagi($x,$y) {
                        $this->hasil = $x / $y;
            }

            function tambah($x,$y) {
                        $this->hasil = $x + $y;
            }

            function kurang($x,$y) {
                        $this->hasil = $x - $y;
            }
}
$a = 7;
$b = 3;
echo "Nilai \$a = $a
";
echo "Nilai \$b = $b
";
$calc = new hitung;

echo "\$a kali \$b sama dengan ";
$calc->kali($a,$b);
print $calc->hasil;
echo "
";

echo "\$a bagi \$b sama dengan ";
$calc->bagi($a,$b);
print $calc->hasil;
echo "
";

echo "\$a tambah \$b sama dengan ";
$calc->tambah($a,$b);
print $calc->hasil;
echo "
";

echo "\$a kurang \$b sama dengan ";
$calc->kurang($a,$b);
print $calc->hasil;
echo "

";

class hitung_juga extends hitung {
            function pangkat($x,$y) {
                        $this->hasil = pow($x,$y);
            }
}

$calc_juga = new hitung_juga;

echo "\$a kali \$b sama dengan ";
$calc_juga->kali($a,$b);
print $calc_juga->hasil;
echo "
";

echo "\$a bagi \$b sama dengan ";
$calc_juga->bagi($a,$b);
print $calc_juga->hasil;
echo "
";

echo "\$a tambah \$b sama dengan ";
$calc_juga->tambah($a,$b);
print $calc_juga->hasil;
echo "
";

echo "\$a kurang \$b sama dengan ";
$calc_juga->kurang($a,$b);
print $calc_juga->hasil;
echo "
";

echo "\$a pangkat \$b sama dengan ";
$calc_juga->pangkat($a,$b);
print $calc_juga->hasil;
echo "
";
?>

gmn ? gampang kan ?? :D
Read more »