Males Koding

Icon

Blog yang isinya ternyata banyak kodingannya

Menggunakan CURL di XAMPP

CURL adalah sebuah library untuk melakukan komunikasi dengan berbagai protokol seperti HTTP, FTP, dan lain-lain. Pada PHP sudah disediakan library CURL ini. Tapi sayangnya kalau menggunakan XAMPP masih belum langsung dapat digunakan library ini karena optionnya pada berkas konfigurasi PHPnya masih didisable.

Cara enablingnya adalah dengan menghilangkan komentar pada berkas php.ini

extension=php_curl.dll

Kemudian restart Apachenya.

Contoh penggunaannya.

<?php
// create curl resource
$ch = curl_init();

// set url
curl_setopt($ch, CURLOPT_URL, "example.com");

//return the transfer as a string
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

// $output contains the output string
echo curl_exec($ch);

// close curl resource to free up system resources
curl_close($ch);

Filed under: Easy, How To, PHP , , , , ,

Semantic Web

Web Semantic adalah web di mana data dideskripsikan dan dihubungkan sedemikian rupa sehingga dapat memberikan konteks atau semantik yang kompatibel dengan bahasa yang terdefinisi. Teknologi web yang sekarang banyak digunakan hanya mendefinisikan tampilan dan struktur sebuah dokumen dalam bentuk tag HTML tanpa mendefinisikan makna dari data yang ada pada dokument tersebut. Visi dari web semantic adalah agar data-data tersebut dapat digunakan oleh mesin tidak hanya untuk tampilan bagi manusia saja melainkan juga untuk otomasi, integrasi, dan reuse data tersebut untuk banyak aplikasi.

Filed under: Academic, Easy, Semantic Web , ,

Simple Partial Loading di JQuery

(belakangan pengen ngeposting artikel yang gampang mikirnya, hehehe)

Kemarin ada seorang junior yang sedang belajar JQuery. Dia nanya bagaimana caranya meload bagian dari halaman HTML tanpa harus meload bagian-bagian halaman lain. Fungsi ini merupakan salah satu kegunaan dari AJAX di mana kita melakukan HTTP request tanpa harus meload halaman baru.

JQuery sudah menyediakan sebuah method yakni load. Method ini akan melakukan request ke sebuah halaman dan kemudian menginjeksikan responsenya ke dalam DOM elemen tersebut.

Contoh penggunaannya

<html>
	<head>
		<title>Test</title>
		<script type="text/javascript" language="javascript" src="jquery-1.3.2.min.js"></script>
		<script type="text/javascript" language="javascript">
		$(document).ready(function(){
			$("#kotak").load("test5_1.html");
			$("#button1").click(function(){
				$("#kotak").load("test5_1.html");
				return false;
			});
			$("#button2").click(function(){
				$("#kotak").load("test5_2.html");
				return false;
			});
		});
	</script>

	</head>
	<body>
<ul>
	<li><a href="" id="button1">Test 1</a></li>
	<li><a href="" id="button2">Test 2</a></li>
</ul>
<div id="kotak"></div>
</body>
</html>

Untuk membuat sebuah tabpage pada HTML dan melakukan load seperti di atas, JQuery UI sudah menyediakan widget yang menarik dan high customable.

Source code dapat diambil di sini. (rename ke zip dan jangan lupa menambahkan script JQuerynya)

Filed under: HTML, Javascript, Snippets, Very Easy, Web Programming, tutorial , , , , , ,

JSON Formatter

JSON atau Javascript Object Notation adalah sebuah format pertukaran data yang ringan dan mudah ditulis atau dibaca oleh manusia. Karena ringan, format ini sering dipakai dalam pertukaran data. Contoh format data JSON.

{
    "glossary": {
        "title": "example glossary",
		"GlossDiv": {
            "title": "S",
			"GlossList": {
                "GlossEntry": {
                    "ID": "SGML",
					"SortAs": "SGML",
					"GlossTerm": "Standard Generalized Markup Language",
					"Acronym": "SGML",
					"Abbrev": "ISO 8879:1986",
					"GlossDef": {
                        "para": "A meta-markup language, used to create markup languages such as DocBook.",
						"GlossSeeAlso": ["GML", "XML"]
                    },
					"GlossSee": "markup"
                }
            }
        }
    }
}

Kadang-kadang untuk menghemat data maka seluruh whitespace dihilangkan dari format data. Penghematan ini jelas membuat format data menjadi susah terbaca oleh manusia.

{"glossary":{"title":"example glossary","GlossDiv":{"title":"S","GlossList":{"GlossEntry":{"ID":"SGML","SortAs":"SGML","GlossTerm":"Standard Generalized Markup Language","Acronym":"SGML","Abbrev":"ISO 8879:1986","GlossDef":{"para":"A meta-markup language, used to create markup languages such as DocBook.","GlossSeeAlso":["GML","XML"]},"GlossSee":"markup"}}}}}

Code beautifier adalah salah satu perkakas untuk membuat kode menjadi terbaca. Salah satu caranya adalah dengan indenting yakni menambahkan whitespace pada kode. Dengan perkakas ini, kode kedua dapat kembali mejadi yang pertama.

Read the rest of this entry »

Filed under: Easy, Javascript, PHP, Snippets, Web Programming , , , , , , ,

[Link] Otomatisasi Mapping Controller-Method ke View di KohanaPHP

Berbeda dengan Ruby on Rails maupun Zend, Kohana 2.3 tidak memiliki konvensi penaruhan file view. Di beberapa proyek yang menggunakan Kohana, saya mengedit sendiri class Template_Controller di Kohana sehingga bisa membuat file Viewnya lebih bisa diotomatisasi. Rekan saya yang saya ceritakan di postingan sebelumnya mencoba menjelaskan cara otomatisasi tersebut. Artikelnya bisa dilihat di sini.

Filed under: PHP, Web Programming , , , , , ,

Derita web developer?

Derita web developer? :D

derita-web-developer

Filed under: Web Programming , , ,

DateJS: Senjata Javascript Ampuh Manipulasi Date

DateJS adalah sebuah library Javascript yang memudahkan kita untuk melakukan manipulasi waktu. Script ini memiliki fungsi-fungsi yang menarik seperti add, today, tommorrow, sekaligus parse dan dapat melakukan chaining. Meski masih dalam tahap alpha tapi sudah menyediakan fungsi-fungsi yang sangat lengkap dan sudah dapat berjalan dengan cukup baik untuk kebutuhan-kebutuhan mendasar.

Dan hal yang menyenangkan lagi adalah library ini dapat digunakan bersama-sama dengan JQuery.

Berikut contoh yang ada di situsnya.

// What date is next thrusday?
Date.today().next().thursday();

// Add 3 days to Today
Date.today().add(3).days();

// Is today Friday?
Date.today().is().friday();

// Number fun
(3).days().ago();

// 6 months from now
var n = 6;
n.months().fromNow();

// Set to 8:30 AM on the 15th day of the month
Date.today().set({ day: 15, hour: 8, minute: 30 });

// Convert text into Date
Date.parse(‘today’);
Date.parse(‘t + 5 d’); // today + 5 days
Date.parse(‘next thursday’);
Date.parse(‘February 20th 1973′);
Date.parse(‘Thu, 1 July 2004 22:30:00′);

Filed under: Javascript, Web Programming , , , , , ,

[Link] Membuat CRUD sederhana di KohanaPHP

Seorang rekan pengguna KohanaPHP membuat tutorial CRUD sederhana di KohanaPHP. Tutorialnya bagus. Bisa dilihat di sini.

Filed under: PHP, Web Programming, tutorial , , , , ,

Di mana menaruh session?

Session adalah sebuah pertukaran informasi semi permanen antara dua buah device. Dengan menggunakan session sebuah device terus dapat mengenali sebuah device identik dalam jangka waktu yang tidak terlalu lama dan dapat menyimpan informasi mengenai komunikasi antara kedua device tersebut. Session ini bersifat stateful (meski mungkin ada yang tidak, tapi gw pribadi gak tau contohnya). Sebuah device dapat mengingat apa sih yang terjadi antara device tersebut dengan sebuah device yang lain selama komunikasi berlangsung.

3wayhandshakeContoh session adalah TCP session. Pada awal sebuah komunikasi TCP, kedua device akan membuka sebuah socket untuk berkomunikasi. Sebuah TCP session adalah dari awal sebuah device mengirimkan SYN sampai dengan pesan ACK penutupan koneksi tersebut.

Di dalam desain protokol, kita perlu mengetahui state sebuah device. Dengan adanya session, state tersebut dengan mudahnya diketahui selama kedua device masih berada dalam session. Pada contoh di post-post sebelumnya, awal sebuah session dimulai ketika sebuah socket selesai melakukan blocking dan menerima koneksi sampai socket ditutup. Selama sesi ini kedua device bertukar pesan-pesan. Pesan-pesan ini nantinya akan diparsing oleh kedua device berdasarkan protokol yang sudah ditetapkan oleh si desainer protokol.

Akan tetapi ada beberapa protokol yang sifatnya stateless, seperti protokol HTTP. Pada protokol ini, client hanya mengirim sebuah HTTP request dan server mengembalikan sebuah HTTP response. Hal ini dirasa cukup karena pada awalnya HTTP mungkin digunakan untuk static web. Pada penggunaan selanjutnya ada kebutuhan untuk membuat sebuah web sedikit lebih statis. Kemudian diciptakanlah sebuah mekanisme session di atas protokol HTTP.

Pada mekanisme ini, saat server menerima request dari sebuah client, server tersebut akan memeriksa apakah client tersebut sudah berada dalam sebuah session atau belum. Jika belum maka server membangkitkan sebuah hash dan menyimpannya pada basis data. Setelah itu server akan mengembalikan response yang disertai dengan hash tersebut pada header dari response. Selanjutnya si client diwajibkan untuk menyertakan hash tersebut pada header dari request yang dikirim kepada si server. Dengan demikian server dapat mengetahui apakah si client sudah berada pada sebuah session atau belum.

Filed under: Lecture, Medium, Network Programming, Web Programming , , , , , ,

Login Sederhana menggunakan Servlet

Pada pemrograman dalam PHP, pengaturan login sebuah user biasanya dilakukan pada sessioning. Dalam pemrograman web berbasis Java, server pun menyediakan mekanisme session untuk menyimpan data user pada tiap session. Berikut adalah contoh penanganan login pada servlet.

Yang perlu diperhatikan adalah di mana letak penanganan databasenya dan pengecekan login. Pada pemrograman PHP dengan paradigma prosedural biasanya programmer meletakkan sebuah fungsi untuk login yang menyatukan user dengan session karena session adalah sebuah global variable. Pada Java, session didapatkan dari invokasi dari instans sebuah servlet karena setiap request ditangani oleh sebuah servlet instance. Selain itu biasanya beberapa melakukan koneksi database pada method di servlet dan melakukan pengecekan langsung dengan query ke database

"SELECT (COUNT*) FROM users WHERE username = 'username' AND password = 'password' LIMIT 1";

Read the rest of this entry »

Filed under: Dedicated, Java, Medium, Web Programming , , , , , ,

About Me

avatar
Just a man who only knows how to code but really dislike doing it

Contact Me





Top Rated

Twitter Terbaru