Tutorial Membuat Tool Shorten URL Dengan PHP & MySQL

25Mar, 2016

Baru-baru ini banyak sekali situs-situs Shorten URL yang memberikan layanan  untuk memperpendek URL, dari situs yang tidak memberikan apa-apa untuk kita sampai ada yang memberikan feedback seperti uang kepada kita untuk setiap URL yang dikunjungi oleh pengunjung.

Dari banyaknya situs untuk memperpendek URL, situs mana yang pernah kamu coba? apakah adf.ly? shorte.st? de.tk? atau mungkin situs milik saya pendk.tk? :D. Dari situs-situs tersebut mungkin ada kekurangan dan kelebihannya masing-masing ya.

Apa kamu pernah berpikir untuk membuat situs Shorten URL milik sendiri? mungkin banyak dari kita pernah berpikir seperti itu dan mungkin kamu juga pernah berpikir kalau membuat sebuah situs untuk memperpendek URL itu sulit. Sebenarnya untuk membuat situs seperti itu tidaklah terlalu sulit, hanya saja kita butuh sedikit keahlian dibidang web programmer. Karena ditutorial kali ini kita akan menggunakan PHP, MySQL dan Htaccess. Tanpa berlama-lama lagi mari kita mulai membuatnya :D.

Apa yang kita butuhkan?
1. Text Editor (Saya menggunakan Sublime Text 3).
2. Apache, PHP dan MySQL (Gunakan XAMPP atau aplikasi semacamnya).
3. Browser untuk menjalankan aplikasi yang kita buat.

Langkah 1 (Membuat Database)
Pertama kita akan membuat database dan tabel database untuk menyimpan data url yang diinput pengunjung website.

1. Buka browser favorit kamu.

2. Ketik http://localhost/phpmyadmin/ pada address bar.

3. Pada halaman utama phpMyAdmin buat database dengan nama “database_shorten”.

1

4. Kemudian pergi kehalaman SQL dan isikan perintah SQL berikut.

  1. CREATE TABLE IF NOT EXISTS `url` (
  2. `id` int(11) NOT NULL AUTO_INCREMENT,
  3. `url_asli` varchar(300) NOT NULL,
  4. `url_pendek` varchar(200) NOT NULL,
  5. `hit` int(11) NOT NULL,
  6. `tanggal` datetime NOT NULL,
  7. PRIMARY KEY (`id`)
  8. ) ENGINE=MyISAM DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ;

5. Lalu klik Go.

Langkah 2 (Membuat Koneksi Database)
Selanjutnya kita akan membuat sebuah file config.php yang berfungsi untuk menghubungkan website dengan database.

1. Buka text editor favorit kamu.

2. Buat sebuah document baru, biasanya dengan cara klik File > New File.

3. Lalu tuliskan coding seperti berikut.

  1. <?php
  2. // Membuat variabel
  3. $host = “localhost”;
  4. $user = “root”;
  5. $pass = “”;
  6. $db = “database_shorten”;
  7. // menyatukan variabel menjadi sebuah koneksi
  8. mysql_connect($host,$user,$pass);
  9. // memilih database yang akan digunakan
  10. mysql_select_db($db);
  11. // variabel web
  12. $site[‘root’] = “http://localhost/shorten/”; // isi dengan alamat domain kamu, jika didalam localhost maka gunakan http://localhost/nama-folder/.
  13. $site[‘judul’] = “Pendekin”; // isikan dengan judul situs kamu.
  14. $site[‘deskripsi’] = “Pendekan URL kamu disini!”; // isikan dengan deskripsi situs kamu.
  15. ?>

4. Simpan file diatas dengan nama config.php.

Langkah 3 (Membuat File Utama Website)
Sekarang kita akan membuat sebuah file utama pada website.

1. Buat sebuah document baru pada text editor.

2. Sekarang kita akan membuat file index.php dimana file ini bekerja untuk halaman utama website kita.

3. Tuliskan coding seperti berikut.

  1. <?php
  2. // Memanggil file config.php
  3. include(“config.php”);
  4. // Membuat fungsi “acak()”
  5. function acak($panjang)
  6. {
  7. $karakter= ‘ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890’;
  8. $string = ”;
  9. for ($i = 0; $i < $panjang; $i++) {
  10. $pos = rand(0, strlen($karakter)-1);
  11. $string .= $karakter{$pos};
  12. }
  13. return $string;
  14. }
  15. ?>
  16. <!DOCTYPE HTML>
  17. <html>
  18. <head>
  19. <title><?php echo $site[‘judul’]; ?> – <?php echo $site[‘deskripsi’]; ?></title>
  20. <link rel=“stylesheet” type=“text/css” href=“style.css”>
  21. </head>
  22. <body>
  23. <div id=“container”>
  24. <div id=“form”>
  25. <h1>Pendek<span class=“url”>Url</span></h1>
  26. <?php
  27. // jika tombol dengan nama shorten ditekan …
  28. if($_POST[‘shorten’]) {
  29. // Membuat variabel $url_asli
  30. $url_asli = mysql_real_escape_string($_POST[‘url’]);
  31. // Membuat variabel $url_pendek
  32. $url_pendek = acak(2).substr(uniqid(), 6, 5);
  33. // Jika variabel $url_asli kosong
  34. if(!$url_asli) {
  35. echo “Masukan url anda. <a href=‘index.php’>Kembali</a>“;
  36. // Sebaliknya
  37. }else{
  38. // Jika berhasil menginput data ke database
  39. if(mysql_query(“insert into url values(NULL, ‘$url_asli’, ‘$url_pendek’, ‘0’, NOW())”)) {
  40. ?>
  41. <div class=“ket”>Copy URL Dibawah dan tempelkan ditempat yang anda suka !</div>
  42. <input type=“text” class=“input” value=“<?php echo $site[‘root’].$url_pendek; ?>” onclick=”this.select()”>
  43. <input type=“button” value=“Tutup” class=“btn” onclick=“document.location=’<?php echo $site[‘root’]; ?>‘”>
  44. <?php
  45. // Jika gagal
  46. }else{
  47. echo “Gagal Memperpendek URL !! (“.mysql_error().”)”;
  48. }
  49. }
  50. }else{
  51. ?>
  52. <form method=“post”>
  53. <input type=“text” name=“url” class=“input” placeholder=“Pendekan URL kamu disini …”>
  54. <input type=“submit” name=“shorten” value=“Pendekin” class=“btn”>
  55. </form>
  56. <?php } ?>
  57. </div>
  58. </div>
  59. </body>
  60. </html>

4. Simpan file tersebut dengan nama index.php.

Langkah 4 (Membuat File Redirect)
Setelah membuat file index.php, sekarang kita akan membuat file dengan nama redirect.php dimana file ini berfungsi untuk mengalihkan URL pendek ke URL asli.

1. Buat document baru atau file baru pada text editor kamu.

2. Tuliskan coding seperti berikut.

  1. <?php
  2. ob_start();
  3. // Memanggil file config.php
  4. include(“config.php”);
  5. // Mengambil url pendek pada address bar
  6. $url = mysql_real_escape_string($_GET[‘url’]);
  7. // Mengambil data dari database “url” yang sesuai dengan variabel $url
  8. $sql_url = mysql_query(“select * from url where url_pendek = ‘$url'”);
  9. // Menampilkan hasil $sql_url menjadi array berbentuk object
  10. $url_row = mysql_fetch_object($sql_url);
  11. // Menampilkan hasil $sql_url menjadi angkan atau menghitung semua data yang ada pada tabel “url”
  12. $cek = mysql_num_rows($sql_url);
  13. // Jika url pendek ada pada tabel url
  14. if($cek > 0){
  15. // Menambah 1 point pada field hit
  16. mysql_query(“update url set hit = ‘$url_row->hit’+1 where id = ‘$url_row->id'”);
  17. // Mengalihkan ke url asli dari url pendek
  18. header(“location: $url_row->url_asli”);
  19. // Jika url pendek tidak terdapat pada tabel url
  20. }else{
  21. echo “<h1>URL Tidak ditemukan :(</h1>”;
  22. }
  23. ?>

3. Simpan file tersebut dengan nama redirect.php.

Langkah 5 (Membuat Style Pada Website)
Sekarang kita akan membuat style atau membuat website lebih berwarna 😀

1. Buat document baru dengan nama style.css.

2. Tuliskan coding CSS seperti ini.

  1. /*
  2. * Style.css
  3. *
  4. * @Author : Nauval Azhar
  5. * @Copyright : 2015
  6. * @Facebook : fb.com/100005497380536/
  7. * @Twitter : @NauvalAzharAsli
  8. */
  9. body {
  10. background: #31313b;
  11. margin: 0;
  12. color: #fff;
  13. }
  14. span.red {
  15. color: red;
  16. }
  17. .url {
  18. color: #3498db;
  19. }
  20. #container {
  21. width: 800px;
  22. margin: 170px auto;
  23. text-align: center;
  24. }
  25. #form {}
  26. #form h1 {
  27. margin-bottom: 20px;
  28. font: 60px georgia;
  29. font-style: italic;
  30. font-weight: bold;
  31. text-shadow:1px 1px 2px #333;
  32. }
  33. #form .input {
  34. padding: 10px 20px;
  35. width: 500px;
  36. border: 1px solid #ddd;
  37. border-radius: 5px;
  38. font-size: 16px;
  39. box-shadow: inset 0 0 3px #ddd;
  40. }
  41. #form .input:focus {
  42. border: 1px solid #3498db;
  43. }
  44. #form .input:hover {
  45. border: 1px solid #999;
  46. }
  47. #form .btn {
  48. padding: 10px 20px;
  49. border: none;
  50. border-radius: 3px;
  51. background: #3498db;
  52. color: #fff;
  53. cursor: pointer;
  54. }
  55. #form .btn:hover {
  56. background: #2485db;
  57. }
  58. .ket {
  59. margin-top: 20px;
  60. font: 14px arial;
  61. }

3. Simpan file tersebut dengan nama style.css.

Langkah 6 (Membuat File .htaccess)
Sampai sekarang sebenarnya website sudah bisa digunakan, namun pada metode pengambilan URL pendek pada address bar masih menggunakan metode seperti ini contoh: http://localhost/shorten/redirect.php?url=URL Pendek. Namun seperti situs shorten URL lainnya kita akan membuat sebuah permalink menggunakan .htaccess yang nantinya akan menjadi seperti ini: http://localhost/shorten/URL.

1. Buat document atau file baru.

2. Tuliskan fungsi htaccess berikut.

  1. #mengaktfikan mode rewrite
  2. RewriteEngine On
  3. #membuat permalink sederhana dengan regex [a-zA-Z0-9]
  4. RewriteRule ^([a-zA-Z0-9]+)/?/?$ redirect.php?url=$1

3. Simpan file tersebut dengan nama .htaccess.

Langkah 7
Simpan semua file dalam satu folder yang sama, contoh disini saya menyimpan semua file dalam satu folder dengan nama shorten. Jadi, pada file config.php saya mengisi http://localhost/shorten/ pada variabel $site[‘root’].

Langkah Terakhir
Pada langkah terakhir ini, kita akan melakukan uji coba pada situs shorten yang baru kita buat ini.

1. Buka browser favorit kamu.

2. Lalu ketikan http://localhost/shorten/ pada address bar.

3. Dan…. lihat hasilnya. 😀

2

Mungkin hasilnya tidak sebagus situs-situs shorten url lainnya, namun setidaknya kita sudah tahu bagaimana cara membuat situs shorten url sendiri. Cara kerja situs seperti ini ialah, dimana url asli atau url yang panjang akan di pendekan lewat form yang ada, lalu ketika form disubmit maka sistem akan menginput url panjang tersebut kedalam tabel database.

Lalu, sistem akan menggenerate angka dan huruf unik dan menampilkannya kepada user, sehingga user bisa menggunakan url yang sudah digenerate oleh sistem untuk menggunjungi url yang mereka pendekan. Mudah-mudahan kamu ngerti ya 😀 Semoga bermanfaat dan sampai jumpa diartikel berikutnya.


Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

X