Step by Step Membuat URL Shortener dengan API Bit.ly dan PHP

URL Shortener atau pemendek URL merupakan situs yang memberikan layanan untuk memendekkan alamat URL yang panjaaaang menjadi pendek. Contohnya alamat URL http://achmatim.net/2010/03/25/membuat-album-foto-dengan-dreamweaver-cepat-mudah/ bisa disingkat hanya dengan http://bit.ly/9I9nL4. Saat ini cukup banyak penyedia layanan pemendek URL (URL Shortener). Beberapa diantaranya yang cukup banyak digunakan adalah http://tinyurl.com (URL Shortener pertama), http://bit.ly, http://is.gd/, http://singkat.web.id, dan sebagainya. URL Shortener yang terakhir saya sebutkan tersebut merupakan URL shortener yang saya buat dengan memanfaatkan library (program) yang tersedia di internet. Disamping menggunakan library yang sudah ada, sebenarnya kita dapat membuat URL Shortener sendiri secara mudah, dengan memanfaatkan API dari situs URL Shortener yang sudah ada, seperti bit.ly. Ingin tau caranya? Ikuti terus tutorial ini.

Mendaftar di Bit.ly untuk mendapatkan API Key

API atau Application Programming Interface merupakan suatu program (software) yang menghubungkan antara satu aplikasi dengan aplikasi (software) lainnya. Dengan adanya API kita dapat membuat aplikasi yang baru dengan memanfaatkan aplikasi yang sudah ada tanpa perlu membangun program dari awal. API merupakan penerapan dari konsep Web Services. Dalam kaitannya dengan URL Shortener, bit.ly merupakan salah satu situs yang menyediakan API sehingga memungkinkan kita untuk membuat aplikasi pemendek URL kita sendiri tanpa harus dipusingkan dengan bagaimana proses programnya. Kita cukup menggunakannya saja seperti contoh pada tutorial ini.

Untuk dapat menggunakan dan mengakses API dari suatu layanan, umumnya kita harus memiliki API key, mirip seperti password hanya memiliki kombinasi yang lebih rumit dan biasanya dihasilkan secara otomatis oleh program tertentu (kita tidak dapat menentukan sendiri). Untuk mendapatkan API key dari bit.ly, kita harus mendaftar terlebih dahulu. Pendaftaran di bit.ly gratis dan tidak rumit, hanya cukup memasukkan username, email dan password. Setelah berhasil mendaftar, kita dapat login ke bit.ly serta dapat mengakses API key kita di bagian menu โ€œAccountโ€. Pada dasarnya API key berfungsi seperti layaknya password, jadi jangan dishare dengan orang lain.

Setelah kita memiliki API key maka kita sudah dapat menggunakannya untuk membuat aplikasi kita sendiri.

Membuat Program

Kita akan merancang contoh program sesederhana mungkin. Di dalam contoh program akan ditampilkan sebuah form yang digunakan untuk menginput alamat URL asli. Selanjutnya tersedia suatu tombol dimana saat diklik, program akan mengirimkan alamat URL yang diinputkan melalui API dari bil.ly. Hasil respon dari API bit.ly akan diambil dan ditampilkan di program (layar).

Berikut ini program lengkapnya.

Nama File: bitly-url-shortener.php

[codesyntax lang=”php” lines=”fancy”]

<html>
<head>
	<title>Make Your Own URL Shortener with Bit.ly API</title>
	<style type="text/css">
	html { font-family:arial;}
	p {font-size:12px;}
	input { font-size:20px;}
	a, span.url { color:#990000; }
	</style>
	<script type="text/javascript">
	function cek(f) {
		if (f.longurl.value == '') {
			alert ("Enter your long URL");
			return false;
		} else {
			return true;
		}
	}
	</script>
</head>
<body>
<h1>URL Shortener with Bit.ly API</h1>
<div style="border:1px solid #000000;padding:5px">
<form action="" method="post" onsubmit="return cek(this)">
<p>Enter your long url and click "Shorten" button.</p>
<input type="text" name="longurl" value="" size="40"/>
<input type="submit" name="shorten" value="Shorten"/>
</form>
<?php
if (isset($_POST['shorten'])) {
	$longurl = $_POST['longurl'];
	$login 	= "username"; //username login bit.ly
	$appkey = "api-key"; //API key
	$shorturl = make_bitly_url ($longurl, $login, $appkey, 'json');
	echo "<p><strong>Your long URL is</strong> <span class='url'>$longurl </span></p>";
	echo "<p><strong>Your short URL is</strong> <span class='url'>$shorturl </span></p>";
	echo "<p><strong>Try your shorten URL:</strong> <a href='$shorturl' target='_blank'>$shorturl</a></p>";
}
?>
</div>
</body>
</html>

<?php

/* make a URL small with bit.ly */
function make_bitly_url($url, $login, $appkey, $format = 'xml',$version = '2.0.1')
{
	//create the URL
	$bitly = 'http://api.bit.ly/shorten?version='.$version.'&longUrl='.urlencode($url). '&login='.$login.'&apiKey='.$appkey.'&format='.$format;

	//get the url
	//could also use cURL here
	$response = file_get_contents($bitly);

	//parse depending on desired format
	if(strtolower($format) == 'json') {
		$json = @json_decode($response,true);
		return $json['results'][$url]['shortUrl'];
	} else { //xml
		$xml = simplexml_load_string($response);
		return 'http://bit.ly/'.$xml->results->nodeKeyVal->hash;
	}
}
?>

[/codesyntax]

Penjelasan Program

  • Baris 10-19. Validasi form sederhana dengan javascript. Jika alamat URL tidak diisi maka akan ditolak.
  • Baris 22-28. Perintah untuk membuat form inputan alamat URL asli.
  • Baris 29-39. Proses untuk mengambil alamat URL yang diinputkan, selanjutnya dikirimkan ke fungsi make_bitly_ur() beserta username dan API key yang kita gunakan. Hasil dari fungsi berupa alamat yang sudah diperpendek. Selanjutnya hasil alamat tersebut ditampilkan di layar.
  • Baris 47-64. Pendefinisian fungsi make_bitly_url(). Fungsi ini akan mengirimkan alamat URL asli melalui API bit.ly dan API akan mengirimkan balik hasil URL yang sudah disingkat. Fungsi ini saya adaptasi dari blog David Walsh.

Demo Program Download Program & Tutorial

21 thoughts on “Step by Step Membuat URL Shortener dengan API Bit.ly dan PHP

  1. mantep nih om.. tp klo mau bikin web shorten url sendiri gmn caranya yah..?? klo ini kan make api dari bit.ly
    ย 
    mohon pencerahannya.. ๐Ÿ™‚

  2. saya punya situs jual beli dan coba utk menggunakan bitly. tp saya hanya mendaftar dan tidak menggunakan seluruh fiturnya. karena saya masih berpikir mengenai fungsi2 dari bitly tersebut di web saya.

    web saya http://www.kandeb.com

    mohon pencerahannya pak, apakah saya perlu menginstal widget bitly tersebut di web saya dan apa keuntungannya.

    salam,

  3. We are a gaggle of volunteers and starting a new scheme
    in our community. Your website provided us with
    helpful info to work on. You have performed a formidable process and our whole community shall be grateful to you.

  4. cara mendapatkan dollar dari akun bitly gmna ya,, saya pernah baca sebuah artikel katnya kalau kita pakai layanan bitly juga akun kita bisa dapat dolar dan bisa langsung di transfer ke akun pp kita,,, ? mohon pencerahannya ?

  5. The purpose how the first couple of are very important fundamentals is that if
    done effectively, they’re going to stop your heartaches that may impact your gambling.
    Fan – Duel offers fantasy contests for everyone with lowest price contest going off at $5, which you
    can win a total of $9 in the event you beat your opponent.
    Suppose, you card can be viewed to the other player, create can simply
    know your tricks and win the game.

  6. Have you ever considered about including a little
    bit more than just your articles? I mean, what you say is valuable and everything.

    However think of if you added some great visuals or videos to give your posts more, “pop”!
    Your content is excellent but with images and video
    clips, this blog could undeniably be one of the best in its niche.
    Wonderful blog!

Leave a Reply

Your email address will not be published. Required fields are marked *