Wednesday, August 20, 2008 at 2:02:00 AM

Balada seorang programmer

Dityo Nurasto

Under categories of Development | Comments (0)

Banyak yang bertanya kenapa gue tidak nyebur di Java. Alasannya cukup sederhana, karena gue tidak pintar Java walaupun waktu kursus mendapat ijazah "High Distinction". Gue pribadi lebih banyak membuat program di area web, jadi gue butuh alternatif selain Java dan PHP. Gue memang ASP classic developer yang selalu menggunakan VBScript dibandingkan dengan JScript.

In my opinion, Java itu raksasa yang nggak ketulungan besarnya dan setiap belajar pasti ada framework muncul yang umumnya ada huruf J sebagai awalan atau akhiran. Melihat itu semua, gue keok ... karena beban belajar yang begitu berat, akhirnya gue tetap di ASP Classic hingga belajar PHP pada tahun 2003 pertengahan dan kedua bahasa itu langgeng digunakan.

Pada tahun 2004 akhir gue berkenalan dengan C# (C Sharp) dan suka dengan konsepnya yang mirip seperti Java tapi tidak bloated / terlalu memberatkan. Kedua - duanya merupakan bagian dari ByteCode programming type. Dua - duanya berdiri di atas virtual machine dan dua - duanya datang dari dua perusahaan raksasa yaitu Microsoft dan Sun. Peran C# dalam hidup programming gue lebih besar daripada Java dalam memahami Object Oriented Programming.

Open Source diserukan, semua PC tidak pakai produk Microsoft. Okey, gue paham dan berita gembiranya ada saudara Microsoft .NET Framework yang mengijinkan C# bisa dikompile dan dijalankan yaitu mono. Perkembangan bahasa C# cukup signifikan walaupun secara fundamental sudah bisa dikatakan hampir matang.

Tidak jarang, programmer yang biasa di Java atau ASP Classic atau PHP mengalami kesulitan untuk berpindah ke pola pikir .NET Framework. Pada intinya .NET Framework itu nggak sesulit yang dibayangkan malah mengasyikkan. Katakan NetBeans sebagai tools untuk Java, maka Visual Web Developer Express sebagai jawabannya.

Gue pribadi membatasi diri agar tidak menguasai lebih dari dua mainstream language, jadi hanya C# dan PHP. Karena secara syntax hampir mirip dan tidak membingungkan untuk pindah kanan kiri. C# bahasa yang akan datang untuk komersial? mungkin saja, kenapa tidak?. Waktu belajar adalah kendala utama bagi kebanyakan developer dan sering kita butuh pemasukan untuk makan.

Gue juga nggak terlepas dari masalah ideologi, ya khan? jadi lumrah tapi jangan fanatik banget kaleee, jeng ... wekakakak

 

Friday, August 15, 2008 at 1:36:00 AM

Mengakses MySQL dengan PHP - Bagian 3

Dityo Nurasto

Under categories of Development, PHP | Comments (0)

Wiuh, sudah lama gue kagak mengurus kandang gue sendiri. Ok, ini bagian ke 3 dari seri Mengakses MySQL dengan PHP. Yang akan gue bahas adalah bagaimana mengupdate dan menghapus data dari database dengan PHP. Gue harap loe udah baca seri sebelumnya yaitu bagian 1 dan bagian 2.

Sebelumnya, Halaman List

Update data secara umum melibatkan dua webform, halaman list dari data dan halaman update/edit itu sendiri. Linkingnya gimana?, nah kita kulik dulu untuk halaman list yang telah kita buat sebelumnya. Ada baris -baris kode seperti ini pada bagian 1:

//iterasi terhadap resource query
    while($data_item = mysql_fetch_array($query))
    {
        //keluarkan data yang tersimpan pada array $data_item
        echo '<tr>';
        echo '<td align="center">'.$data_item['id'].'</td>';
        echo '<td align="center">'.$data_item['judul'].'</td>';
        echo '<td align="center">'.$data_item['tanggal'].'</td>';
        echo '<td align="center">'.$data_item['isi'].'</td>';
        echo '<td align="center"><a href="edit.php?id=">Edit</a> | <a href="delete.php?id=">Delete</a></td>';
        echo '</tr>';
    }

Rubahlah menjadi

//iterasi terhadap resource query
    while($data_item = mysql_fetch_array($query))
    {
    	//buat variable untuk menampung id dari berita
    	$id_berita = $data_item['id'];
        //keluarkan data yang tersimpan pada array $data_item
        echo '<tr>';
        echo '<td align="center">'.$id_berita.'</td>';
        echo '<td align="center">'.$data_item['judul'].'</td>';
        echo '<td align="center">'.$data_item['tanggal'].'</td>';
        echo '<td align="center">'.$data_item['isi'].'</td>';
        echo '<td align="center"><a href="editform.php?id='.$id_berita.'">Edit</a> | ';
		echo '<a href="deleteform.php?id='.$id_berita.'">Delete</a></td>';
        echo '</tr>';
    }

Apa yang kita rubah? kita menampung ID dari tiap - tiap berita ke dalam variable $id_berita, tujuannya adalah untuk menggunakan kembali ID tersebut untuk link ke halaman update atau konfirmasi penghapusan data. Kita perlu suatu pointer yang memberitahukan halaman lain, teknik yang gue gunakan dikenal dengan nama GET yang mengirimkan data melalui URL, berbeda dengan POST yang mengirimkan informasi - informasi melalui content dari HTTP. Coba lihat hasilnya sekarang, ketika kita menujuk mouse ke link edit maka akan muncul halaman yang akan dituju plus parameter yang diberikan untuk halaman tujuan.

More...

Thursday, July 24, 2008 at 7:43:00 PM

Pemikiran tentang PHP Framework

Dityo Nurasto

Under categories of Development | Comments (1)

Pas mengajar mengenai Java ada salah satu perserta mengeluhkan mengenai penggunaan Zend Framework untuk menghilangkan PHP oleh perusahaannya. Saya secara otomatis tertawa, karena ada beberapa pemikiran sesaat yang terlintas :

  1. Zend Framework dibangun di atas PHP, tanpa PHP tidak ada Zend Framework
  2. Dia mengeluh berarti "it's not going alright" dan bukan suatu metoda yang cocok untuk diterapkan pada perusahaan
  3. Zend Framework diimplemtasikan pada lapisan pemograman dan library (pustaka) nya kelewatan banyak
  4. Perlu waktu untuk belajar dan harus dimulai dengan proyek pilot (percobaan)

PHP adalah bahasa terkenal mudah, kompleksitas yang ditawarkan oleh Framework menambah keruwetan, tidak ada framework yang mendekati sempurna. Saya mengenal konsep YAGNI (You Aint Gonna Need It), dan kita memang belum perlu Framework yang bloated untuk membangun sistem sederhana, selain itu footprint dari Framework biasanya lebih dari 1 MegaBytes dan belum termasuk logika pemograman yang kita ketik.

Ada baiknya malah kita mengenal OOP (Object Oriented Programming), PHP 5 sudah menyediakan hal tersebut, saya pribadi menyarankan para hardcore PHP programmer untuk memanfaatkan fitur ini.

Jika proyeknya kejar tayang, malah lebih baik untuk mengkostumisasi open-source dan tidak menggunakan Framework. Waktu belajar suatu framework yang banyak memakan waktu akan menghabiskan waktu yang sudah dijadwalkan untuk mengerjakan proyek oleh sang manager proyek.

Intinya, gunakan framework jika perlu ... OOP, MVC, AOP, whatever it is merupakan metodologi untuk membangun program. Kita mengenal best practice dan pergunakan sebaik - baiknya konsep - konsep best practice tersebut.

Tuesday, June 17, 2008 at 1:24:00 AM

AHAH di jQuery

Dityo Nurasto

Under categories of Development | Comments (0)

AHAH, kalau di arab itu artinya ketawa kali yah? bacanya pan dari kanan ke kiri. AHAH adalah singkatan dari Asynchronous HTML And HTTP. Gue baru tahu kalau XMLHTTPObject bisa buat acara lucu seperti itu. Gue pengemar jQuery yang tidak sengaja menemukannya di google, framework ini cukup bagus untuk layer presentasi, sayangnya untuk XML-RPC dan SOAP harus sedikit berkerja keras. Jadi AHAH itu memungkinkan kita meload elemen HTML walaupun itu hanya istilah. Saya suka jargon AHAH karena saya load (X)HTML bukan XML.

Ceritanya gue diminta untuk load halaman kayak GMail, hah? lucu ... ilmu gue yang sejengkal begini disuruh buat begituan. Oke dah, sedaripada gue butuh pemasukan untuk makan keluarga, tak jabanin. Pertam kali gue melakukan akses melalui fungsi $.ajax dan ternyata pada saat mengisi suatu <div> terdapat masalah pada jQuery terutama di IE 6 & 7, gue menggunakan replaceWith(). Duh ... bisa - bisa nggak makan nih.

Mau bikin lagi, waktu proyek sangat mepet akhirnya ketemu juga dan lucunya posisi perintah pada dokumentasi berada di bawah persis dari jQuery.ajax(options). Tertawalah gue, dablek bener nih mas. dan inilah salah satu ujung tombak pelanjut hidup.

 loadPresentation = 'index.html';
 $("#right_side").load("ajax/" + loadPresentation);

Bagaimana kode itu bekerja? simple, semua elemen yang berada di bawah div dengan ID right_side akan ditindih dengan file yang gue panggil. Inget, kudu harus pake server kalau mau coba.

Friday, June 13, 2008 at 7:27:00 PM

Method Overloading in PHP

Dityo Nurasto

Under categories of Development, PHP | Comments (0)

I wrote PHP post more than ASP.NET does isn't it? I am increasing it right now hahahaha ...

Okay, I was said that PHP doesn't support method/function polymorphism or more correct term is overloading, but I was wrong. PHP does support it explicitly which require developer involvement to mimic method overloading like C#, VB.NET or JAVA does.  We could use magic method __call(string $name, array $arguments). I am trying to explain how we could do that in PHP comparing with optional argument like we always do.

More...

Thursday, June 12, 2008 at 2:16:00 AM

Mengakses MySQL dengan PHP - Bagian 2

Dityo Nurasto

Under categories of Development, PHP | Comments (2)

Sekarang, gue masuk ke bagian 2. Ketinggalan bagian 1? silahkan baca Mengakses MySQL dengan PHP - Bagian 1. Sekarang kita akan membahas cara memasukkan data dari table dengan melakukan query ke MySQL. Pada bagian satu kita telah belajar untuk membuka koneksi ke database.

HTML Form

HTML form merupakan element dari HTML yang digunakan untuk mengambil data dari user / pengunjung dengan menggunakan komponen form lainnya seperti <input />, <textarea></textarea>, <select> dan sebagainya. Kasus yang kita hadapi adalah membuat berita, jadi kita perlu membuat HTML Form.

<html>
    <head>
        <title>Belajar PHP</title>
    </head>
    <body>
        <!-- parameter method pada form adalah cara untuk mengirim data -->
        <form name="berita" method="post" action="tambahdata.php">
            <fieldset>
                <label id="labeljudul" for="inputjudul">Judul Berita</label>
                <!-- input untuk judul -->
                <input type="text"  name="judul" id="inputjudul" />
                <label id="labeljudul" for="inputisi">Isi Berita</label>
                <!-- input untuk isi -->
                <textarea name="isi" id="inputisi"></textarea>
                <!-- tombol untuk kirim -->
                <input type="submit" name="submit" value="Kirim Berita" id="submitberita"/>
            </fieldset>
        </form>
    </body>
</html>
    

Mari kita tela'ah form ini. pada <form> kita melihat banyak parameter seperti method dimana memberi tahu browser bagaimana data akan dikirim dan kita tidak ingin input - input kelihatan pada browser seperti google. action merupakan target di mana kita akan memproses input - input tersebut.

Nah pada kita melihat label dimana fungsinya untuk memberi keterangan suatu field. Pada input kita melihat dua parameter, yaitu name dan id. Name digunakan sebagai tampungan data yang akan dikirim, sedangkan id lebih banyak berperan pada tampilan, kita melihat parameter for pada label merujuk pada id setiap input. Simpanlah kode di atas dengan nama tambahform.php.

More...

Wednesday, June 11, 2008 at 3:02:00 PM

Mengakses MySQL dengan PHP - Bagian I

Dityo Nurasto

Under categories of Development, PHP | Comments (2)

Sebenarnya sudah banyak buku menerangkan bagaimana mengakses ke MySQL dengan PHP melalui kode prosedural. Sekarang banyak yang bertanya "bagaimana mengakses MySQL sebagai basis data (Database) dalam PHP?". Pada intinya ada beberapa tahapan yang perlu dilakukan, secara fungsional adalah

  1. Membuka koneksi ke MySQL
  2. Menentukan database yang akan digunakan. MySQL adalah database server dan di dalamnya terdapat banyak database, jangan sampai salah mengartikannya.
  3. Membuat SQL Query
  4. Menampilkan data dengan mengolahnya dengan memanfaatkan spesifikasi HTML atau jenis output lainnya, seperti XML, CSV, dan lain - lain.

Tutorial berseri ini dibuat untuk pembelajar yang mau belajar dasar pemograman PHP. More...

Saturday, June 07, 2008 at 5:30:00 AM

SyntaxHighlighter in BlogEngine.Net

Dityo Nurasto

Under categories of BlogEngine.NET, Development | Comments (1)

My biggest concern on my last blog is how to deliver code in BlogEngine.Net. The CodeFormater extension not working like I want and make me little bit frustrated when using the extension. I am looking around to find any cool replacer of CodeFormater then I found SyntaxHighlighter using JavaScript as the engine. Cool right? and you may use it in any application you want regardless the server side language but it will cost in matter of bandwith.

When I want to implement it into my theme, I am looking around for solution before I starting to code and I found tutorials about how to Adding SyntaxHighlighter to BlogEngine.NET. I decide to follow the instruction and some of step are missing. First, you must add the CSS into your theme. The simplest one is by edit your current site.master template and copying the style into the theme, for example:

<link rel="stylesheet" type="text/css" href="SyntaxHighlighter.css" />

You must add this in head section of HTML document. You may asked why you need to copy into your theme directory? because any CSS reference in <head runat="server"> would be replace by BlogEngine.Net into like this

<link rel="stylesheet" type="text/css" href="/themes/yourtheme/css.axd?name=/css/SyntaxHighlighter.css" />

Now, I need some tuning in our tinyMCE.ascx located on Admin folder. I decide to use the uncompressed TinyMCE to make life easier to this

<script type="text/javascript" src="<%=Utils.RelativeWebRoot%>admin/tiny_mce/tiny_mce_src.js"></script>

Yeah, I know it will cost bandwith but I need the function work right. I would look at the compressed version if I have time. Good Luck.

Saturday, June 07, 2008 at 4:58:00 AM

jQuery in BlogEngine.Net

Dityo Nurasto

Under categories of BlogEngine.NET, Development | Comments (2)

I am trying to implement jQuery in BlogEngine.Net and I found errors while accessing the page which the errors tell me that element has no properties.  Fortunately, I found the solution which makes me surprise because it's work like magic and of course you need to replace the $ sign in all elements. If you want to try what I am doing with jQuery, just press search image in right corner of your screen.

In searching of jQuery integration, I accidentally found a great article to use Intellisense for JQuery in Visual Studio 2008. It helps me a lot to code because the auto completion is working, you may find the complete instruction in that site. Well, it's not the latest jQuery version but it may help you to start learning jQuery.

If you're looking offline help for jQuery you may download the CHM file on this site.

Friday, June 06, 2008 at 3:11:00 PM

Indonesian BlogEngine.NET User Group

Dityo Nurasto

Under categories of ASP.NET, BlogEngine.NET, Development | Comments (6)

BlogEngine.Net is blog engine based on ASP.NET which mainly use C# as the default language. In time to time I aknowledge that BlogEngine.Net Indonesia users is increasing. The reasons may vary according to BlogEngine.Net users, I choose BlogEngine.Net because I want to learn C# deeper. BlogEngine.Net developers are very well coder and have broaden view in establishing relases. Commercially, BlogEngine.Net could be a powerfull simple Content Management System this was said by Ahmad Masykur, the well known coder in Indonesia, in INDC mailing list.

I have small statistic about the Indonesian BlogEngine.Net users, but I want to unified and introduce my fellow friends who use BlogEngine.NET, they're :

If you're Indonesian BlogEngine.Net user please reunite :). I wish the best for you all!. If you want to use BlogEngine.Net you could use ASP.NET Hosting, I host my own site in Erudeye and satisfied with the hosting service.

 

This is me!

Hi. My name is Dityo Nurasto. I am freelance software and web developer.

ShoutBox



Recent comments

Disclaimer

The opinions expressed herein are my own personal opinions and do not represent my employer's view in anyway.

© Copyright 2008