Showing posts with label Javascript. Show all posts
Showing posts with label Javascript. Show all posts

Tuesday, April 25, 2017

Tutorial Ajax Part 1 - Load File atau Halaman Tanpa Refresh Dengan AJAX JQuery


SCRIPT KIDDIES - Pada awal diperkenalkan teknologi AJAX penggunaan AJAX masih susah dan ribet, sehingga jarang ditemui website yang menerapkan AJAX. Setelah munculnya JQuery keadaan menjadi sangat berubah. JQuery memilki fungsi khusus untuk menyederhanakan AJAX, sehingga penggunaan AJAX menjadi sangat mudah. Bahkan website yang menggunakan teknologi AJAX pun sudah tak terhitung jumlahnya. Salah satu contoh kita akan menggunakan salah satu fungsi JQuery yaitu load().

Sebelum melangkah lebih jauh alangkah baiknya sobat sudah mengetahui dasar - dasar dari JQuery dan Javascript. Sobat bisa belajar disini 

CARA LOADFILE DENGAN AJAX JQUERY
JQuery mempunyai fungsi khusus untuk load file dari server dan menempatkanya pada suatu elemen HTML ( biasanya tag div ) . Fungsi tersebut yaitu load(). Fungsi ini dapat digunakan sebagai navigasi halaman untuk berpindah dari satu halaman ke halaman lain dengan AJAX. Format fungsi penulisan load adalah sebagai berikut.
$(selector).load(url, data, callback);
Dilihat  dari format di atas, fungsi load() memiliki 3 parameter yaitu url, data dan callback. Parameter url diisi alamat file yang ingin ditampilkan pada suatu elemen HTML. Parameter ini wajib disertakan. Paremeter data bersifat opsional, diisi dengan psangan key dan value yang dikirim ke server. Parameter callback juga bersifat opsional, diisi dengan fungsi yang akan dijalankan ketika file berhasil di-load.

Oke sekarang kita praktekkan. Silahkan buat folder dengan nama ajax di direktori server lokal sobat /var/www/html. Jangan lupa meletakkan library JQuery pada folder tersebut. Buat file load.php dengan skrip berikut.

load.php
<!DOCTYPE html>
<html>
<head>
    <title>Load AJAX JQuery</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
    $(function(){
        $('a').click(function(){
            $('.konten').load($(this).attr('href'),
            $(this).attr('data'), function(){
                alert("File berhasil diload kang !");
            });
        return false;
        });
    });
</script>
</head>
<body>
<h2>Load File Dengan AJAX JQuery</h2>
<h3>www.script-kiddies.org</h3>
<a href="konten.php?tampil=halaman1">Halaman 1</a> |
<a href="konten.php" data="tampil=halaman2">Halaman 2</a> |
<a href="konten.php" data="tampil=halaman3">Halaman 3</a> |
<div class="konten"></div>

</body>
</html>

Pada skrip di atas, kita membuat 2 link untuk membuka halaman 1, halaman 2 dan halaman 3 dimana isi halaman akan ditampilkan pada tag <div> dengan class .konten. Pada skrip JQuery di bagian <head>, kita atur tag <a> diklik kita panggul file untuk ditempatkan pada tag <div> dengan class .konten. Nama file yang dipanggil diambil dari nilai atribut href tag <a>. Jika file berhasil dipanggil, kita tampilkan pesan dengan fungsi alert() bahwa file berhasil di-load. Agar atribut href tidak berfungsi, maka pada skrip di atas ditambah perintah return false.

Jika diperhatikan pada skrip di atas, sebenarnya data yang dikirim ke server dapat dituliskan pada parameter url seperti yang ditunjukkan pada link pertama("konten.php?tampil=halaman1"). Namun, jika ingin mengikuti aturan yang disediakan oleh JQuery, maka data ditempakan pada paremeter data. Pada contoh di atas, parameter data diambil dari atribut data yang ditunjukkan pada link kedua dan ketiga (data="tampil=halaman2") (data="tampil=halaman3").

Agar skrip di atas berjalan, maka kita harus buat file yang kan di-load, yaitu file konten.php dengan skrip sebagai berikut :

konten.php

<?php
if ($_GET['tampil']=='halaman1') {
    echo "Ini isi halaman 1 kang";
}elseif ($_GET['tampil']=='halaman2') {
    echo "ini isi halaman 2 om";
}elseif ($_GET['tampil']=='halaman3') {
    echo "Ini isi halaman 3 om";
}
 ?>

Maksud dari skrip di atas yaitu, jika nilai tampil adalah "halaman1" ( Link pertama diklik ), maka akan tampil tulisan "Ini isi halaman 1 kang". Sedangkan , jika nilai data tampil adalah "halaman2" ( Link kedua diklik ), maka akan tampil tulisan "Ini isi halaman 2 om" begitu juga dengan halaman3 diklik maka akan tampil tulisan "Ini isi halaman 3 om". Jika dibuka pada browser hasilnya seperti gambar berikut.


KESIMPULAN
Kita berhasil membuat halaman dinamis tanpa perlu me-refreshnya yaitu dengan menggunakan fungsi load() yang akan menampilkan data berdasarkan atribut href, teknik biasa digunakan dalam membuat halaman admin tapi banyak juga yang menggunakanya di tampilan interface web. Bisa sobat hapus alert agar kinerja load lebih optimal. Sekian terima kasih

Thursday, April 20, 2017

Penggunaan Plugin Data Tables Untuk Membuat Tabel



PENGERTIAN
DataTables adalah plug-in untuk jQuery perpustakaan Javascript. Ini adalah alat yang sangat fleksibel, berdasarkan dasar-dasar peningkatan progresif, yang akan menambah kontrol interaksi canggih untuk setiap tabel HTML
 
LATAR BELAKANG
Agar menampilkan data jadi lebih efisien dan dapat lebih cepat mencari data melalui tools yang di sediakan oleh DataTables.

MAKSUD & TUJUAN
Tujuan penggunaan DataTables ini adalah agar data dapat tampil lebih efisien dan data juga pencarian data lebih cepat serta agar mengerti cara penggunaan DataTables.

ALAT & BAHAN

E. LANGKAH PENGERJAAN

1. Tahap awal yang harus kita lakukan untuk mulai menggunakan plugin datatables adalah download dulu plugin datatables di situs resminya di sini. karena plugin jquery datatables di bangun menggunakan jquery maka kita juga memerlukan library jquery. tapi kita tidak perlu lagi mendownload jquery nya. karena library jquery nya sudah di sediakan juga di dalam folder js pada directory datatables.

Untuk bisa menggunakan plugin datatables kita harus menghubungkan dulu dengan file library jquery dan plugin datatables nya. ohya di tutorial ini saya juga menggunakan bootstrap agar tampilan dari table yang kita buat lebih menarik.

2. Sebagai contoh saya membuat file bernama aindex.html dan disebelahnya ada file datatable yang sudah di download tadi. Lalu dimana letak css dan javascriptnya ? letaknya ada di DataTables/media/ . Nah lalu untuk langkah pertama kita hubungkan terlebih dahulu file html dengan datatable
<link rel="stylesheet" href="DataTables/media/css/bootstrap.min.css"/>
<link rel="stylesheet" href="DataTables/media/css/dataTables.bootstrap.css"/>
<script src="DataTables/media/js/jquery.js"></script>
<script src="DataTables/media/js/jquery.dataTables.js"></script>
<script src="DataTables/media/js/dataTables.bootstrap.js"></script>
3. Setelah selesai menghubungkan file-file yang kita perlukan seperti bootstrap, jquery dan plugin jquery datatables. kemudian kita tinggal membuat table yang berisi data. data nya di sini saya buat asal-asalan aja asal udah berbentuk. format struktur penulisan element table html yang di baca oleh datatables harus menggunakan tag <thead> untuk table bagian kepala. dan tag <tbody> untuk table bagian body.

<!doctype html>
<html>
    <head>
        <title>Example Datatables</title>
        <meta charset="utf-8">
        <link rel="shortcut icon" href="DataTables/media/images/favicon.ico">
        <link rel="stylesheet" href="DataTables/media/css/bootstrap.min.css"/>
        <link rel="stylesheet" href="DataTables/media/css/dataTables.bootstrap.css"/>
  
    </head>
    <body>
        <div class="container">
        <h2 style="text-align: center;font-weight: bold;">Contoh Penggunaan FrameWork Data Table</h2>
            <table id="pegawai" class="display table table-bordered table-hover table-striped">
                <thead>
                    <tr class="bg-primary">
                        <th width="1%">Nomor</th>
                        <th width="8%">Nama</th>
                        <th width="8%">Alamat</th>
                        <th width="8%">Gaji</th>
                        <th width="8%">Aksi</th>
                    </tr>
                </thead>
                <tbody>

                        <tr align='left'>
                            <td style="text-align: center;">1</td>
                            <td style="text-align: center;">Sukarmi jahim</td>
                            <td style="text-align: center;">Mexico</td>
                            <td style="text-align: center;">18000</td>
                            <td style="text-align: center;">
                                <a href="edit.php?id="><button class="btn btn-success btn-sm"><span class="glyphicon glyphicon-edit"></span></button></a>
                                <a href="hapus.php?id="><button class="btn btn-danger btn-sm"><span class="glyphicon glyphicon-trash"></span></button></a>
                            </td>
                        </tr>
  
                        <tr align='left'>
                            <td style="text-align: center;">2</td>
                            <td style="text-align: center;">Yogi Prasetyawan</td>
                            <td style="text-align: center;">Surabaya</td>
                            <td style="text-align: center;">10000</td>
                            <td style="text-align: center;">
                                <a href="edit.php?id="><button class="btn btn-success btn-sm"><span class="glyphicon glyphicon-edit"></span></button></a>
                                <a href="hapus.php?id="><button class="btn btn-danger btn-sm"><span class="glyphicon glyphicon-trash"></span></button></a>
                            </td>
                        </tr>
  
                        <tr align='left'>
                            <td style="text-align: center;">3</td>
                            <td style="text-align: center;">Aditya Priya</td>
                            <td style="text-align: center;">Malang</td>
                            <td style="text-align: center;">12000</td>
                            <td style="text-align: center;">
                                <a href="edit.php?id="><button class="btn btn-success btn-sm"><span class="glyphicon glyphicon-edit"></span></button></a>
                                <a href="hapus.php?id="><button class="btn btn-danger btn-sm"><span class="glyphicon glyphicon-trash"></span></button></a>
                            </td>
                        </tr>
  
                        <tr align='left'>
                            <td style="text-align: center;">4</td>
                            <td style="text-align: center;">Inzhagi Dewan</td>
                            <td style="text-align: center;">Madiun</td>
                            <td style="text-align: center;">15000</td>
                            <td style="text-align: center;">
                                <a href="edit.php?id="><button class="btn btn-success btn-sm"><span class="glyphicon glyphicon-edit"></span></button></a>
                                <a href="hapus.php?id="><button class="btn btn-danger btn-sm"><span class="glyphicon glyphicon-trash"></span></button></a>
                            </td>
                        </tr>
  
                        <tr align='left'>
                            <td style="text-align: center;">5</td>
                            <td style="text-align: center;">Bima Zainudin</td>
                            <td style="text-align: center;">Malang</td>
                            <td style="text-align: center;">17000</td>
                            <td style="text-align: center;">
                                <a href="edit.php?id="><button class="btn btn-success btn-sm"><span class="glyphicon glyphicon-edit"></span></button></a>
                                <a href="hapus.php?id="><button class="btn btn-danger btn-sm"><span class="glyphicon glyphicon-trash"></span></button></a>
                            </td>
                        </tr>
  
                        <tr align='left'>
                            <td style="text-align: center;">6</td>
                            <td style="text-align: center;">Maulana Ridwan</td>
                            <td style="text-align: center;">Surabaya</td>
                            <td style="text-align: center;">20000</td>
                            <td style="text-align: center;">
                                <a href="edit.php?id="><button class="btn btn-success btn-sm"><span class="glyphicon glyphicon-edit"></span></button></a>
                                <a href="hapus.php?id="><button class="btn btn-danger btn-sm"><span class="glyphicon glyphicon-trash"></span></button></a>
                            </td>
                        </tr>
  
                        <tr align='left'>
                            <td style="text-align: center;">7</td>
                            <td style="text-align: center;">Dimas Puguh</td>
                            <td style="text-align: center;">Keidiri</td>
                            <td style="text-align: center;">16000</td>
                            <td style="text-align: center;">
                                <a href="edit.php?id="><button class="btn btn-success btn-sm"><span class="glyphicon glyphicon-edit"></span></button></a>
                                <a href="hapus.php?id="><button class="btn btn-danger btn-sm"><span class="glyphicon glyphicon-trash"></span></button></a>
                            </td>
                        </tr>
  
                        <tr align='left'>
                            <td style="text-align: center;">8</td>
                            <td style="text-align: center;">Dirga Yuda</td>
                            <td style="text-align: center;">Klaten</td>
                            <td style="text-align: center;">12000</td>
                            <td style="text-align: center;">
                                <a href="edit.php?id="><button class="btn btn-success btn-sm"><span class="glyphicon glyphicon-edit"></span></button></a>
                                <a href="hapus.php?id="><button class="btn btn-danger btn-sm"><span class="glyphicon glyphicon-trash"></span></button></a>
                            </td>
                        </tr>
  
                        <tr align='left'>
                            <td style="text-align: center;">9</td>
                            <td style="text-align: center;">Yoga Wahyu</td>
                            <td style="text-align: center;">Bojonegoro</td>
                            <td style="text-align: center;">15000</td>
                            <td style="text-align: center;">
                                <a href="edit.php?id="><button class="btn btn-success btn-sm"><span class="glyphicon glyphicon-edit"></span></button></a>
                                <a href="hapus.php?id="><button class="btn btn-danger btn-sm"><span class="glyphicon glyphicon-trash"></span></button></a>
                            </td>
                        </tr>
  
                        <tr align='left'>
                            <td style="text-align: center;">10</td>
                            <td style="text-align: center;">Revo Alderi</td>
                            <td style="text-align: center;">Karanganyar</td>
                            <td style="text-align: center;">16000</td>
                            <td style="text-align: center;">
                                <a href="edit.php?id="><button class="btn btn-success btn-sm"><span class="glyphicon glyphicon-edit"></span></button></a>
                                <a href="hapus.php?id="><button class="btn btn-danger btn-sm"><span class="glyphicon glyphicon-trash"></span></button></a>
                            </td>
                        </tr>
  
                        <tr align='left'>
                            <td style="text-align: center;">11</td>
                            <td style="text-align: center;">Alif Sulthoni</td>
                            <td style="text-align: center;">Karanganyar</td>
                            <td style="text-align: center;">15000</td>
                            <td style="text-align: center;">
                                <a href="edit.php?id="><button class="btn btn-success btn-sm"><span class="glyphicon glyphicon-edit"></span></button></a>
                                <a href="hapus.php?id="><button class="btn btn-danger btn-sm"><span class="glyphicon glyphicon-trash"></span></button></a>
                            </td>
                        </tr>
  
                        <tr align='left'>
                            <td style="text-align: center;">12</td>
                            <td style="text-align: center;">Amila Qomariah</td>
                            <td style="text-align: center;">Madiun</td>
                            <td style="text-align: center;">15000</td>
                            <td style="text-align: center;">
                                <a href="edit.php?id="><button class="btn btn-success btn-sm"><span class="glyphicon glyphicon-edit"></span></button></a>
                                <a href="hapus.php?id="><button class="btn btn-danger btn-sm"><span class="glyphicon glyphicon-trash"></span></button></a>
                            </td>
                        </tr>
  
                        <tr align='left'>
                            <td style="text-align: center;">13</td>
                            <td style="text-align: center;">Sugeng Riyadi</td>
                            <td style="text-align: center;">Madiun</td>
                            <td style="text-align: center;">19000</td>
                            <td style="text-align: center;">
                                <a href="edit.php?id="><button class="btn btn-success btn-sm"><span class="glyphicon glyphicon-edit"></span></button></a>
                                <a href="hapus.php?id="><button class="btn btn-danger btn-sm"><span class="glyphicon glyphicon-trash"></span></button></a>
                            </td>
                        </tr>
  
                    </tbody>
            </table>
        </div>

    <script src="DataTables/media/js/jquery.js"></script>
        <script src="DataTables/media/js/jquery.dataTables.js"></script>
        <script src="DataTables/media/js/dataTables.bootstrap.js">
    </body>
</html>

Selanjutnya adalah berikan fungsi data tablenya.
 <script type="text/javascript">
            $(function() {
                $(".table").DataTable();
            });
        </script>
Kita harus memerhatikan nama class pada tabel '.table' itu adalah tabel yang akan saya berikan plugin data table. Jadinya seperti ini dan datatable sudah siap untuk digunakan.


KESIMPULAN
Jadi dengan menggunakan DataTable ini kita tidak perlu ribet  - ribet membuat kotak pencarian atau yang lain tinggal includekan plugin lalu kita berikan fungsi datatable sesuai class yang dibuat, selesai ~ Sekian terima kasih

Thursday, February 9, 2017

Mengenal Teknologi Ajax Untuk Membuat Website Interaktif


APA ITU AJAX ?
Ajax atau singkatan dari Asynchronous Javascript And XML adalah teknik dalam bahasa pemrograman untuk membuat sebuah website interaktif. Tujuannya adalah untuk memindahkan sebagian besar interaksi pada komputer web surfer, melakukan pertukaran data dengan server di belakang layar, sehingga halaman web tidak harus dibaca ulang secara keseluruhan setiap kali seorang pengguna melakukan perubahan. Hal ini akan meningkatkan interaktivitas, kecepatan, dan usability. - Wikipedia

Ajax merupakan solusi untuk permasalahan dalam web tradisional, dimana ketika klien mengirim permintaan ke server harus menunggu respon dari server, baru bisa melanjutkan aktivitas berikutnya. Permasalahan muncul ketika terjadi suatu hal pada jaringan atau banyaknya pengunjung yang sedang membuka aplikasi sehingga respon dari server sangat lambat. Pasti bosen kan menunggu ?

Berbeda dengan menggunakan teknologi AJAX. User tidak berkomunikasi langsung dengan server, tetapi berkomunikasi dengan sistem AJAX. Selanjutnya, sistem AJAX yang akan melanjutkan komunikasi tersebut ke server. Komunikasi dengan AJAX menggunakan javascript, dan tanggapan dari AJAX berupa HTML, CSS, dan data. Sedangkan komunikasi AJAX dengan server menggunakan HTTP-request dan tanggapan dari server, user tetapi bisa berkomunikasi dengan AJAX setelah menerima respon dari server, AJAX akan memperbaharui bagian tertentu pada user interface dari user, tidak keseluruhan halaman.

KELEBIHAN DAN KEKURANGAN MENGGUNAKAN AJAX
Website yang dibangun menggunakan AJAX memiliki kelebihan tersendiri dibanding tanpa menggunakan AJAX. Berikut kelebihan AJAX pada aplikasi web.
  1. Mempercepat kerja aplikasi, karena tidak keseluruhan halaman diambil ulang dari server, tetapi hanya bagian yang diperlukan saja. Selain itu, selama menunggu respon dari server, Pengguna dapat melanjutkan aktifitas berikutnya tanpa menunggu proses yang sedang terjadi pada server.
  2. Lebih menarik dari sisi klien dan tidak membosankan, karena user tidak perlu menunggu respon dari server pada setiap aktivitas yang dilakukan. Lebih menarik lagi, kita dapat menampilkan animasi yang menarik selama proses menunggu, contohnya memberikan loading, sehingga tidak membuat user bosan
  3. Mengurangi beban server, karena sebagian pemrosesan dialkukan oleh klien
  4. Mengurangi bandwith, karena browser hanya mengambil data yang diperlukan saja untuk mengubah bagian tertentu pada interface aplikasi, tidak keseluruhan halaman ikut berubah.
  5. Hampir semua browser modern mendukung AJAX, sehingga tidak perlu khawatir aplikasi tidak dapat berjalan pada browser tertentu.
  6. Navigasi lebih mudah, karena perpindahan  antar halaman yang lebih cepat, sehingga tidak perlu menggunakan tombol back dan forward yang disediakan browser untuk perpindahan halaman.

Selain memiliki kelebihan seperti yang dijelaskan disebutkan di atas, AJAX juga memiliki kekurangan yang harus menjadi perhatian programmer web. Kekurangan AJAX adalah sebagai berikut :
  1. AJAX tidak berjalan pada browser yang tidak mendukung javascript atau browser dengan javascript dinon-aktifkan.
  2. Kesalahan yang terjadi saat pembuatan pemrograman AJAX lebih sulit dideteksi dibanding tanpa AJAX
  3. Sulit di-bookmark / favotire, Karena browser menyediakan Bookmark hanya satu URL saja.
  4. Tidak bagus untuk SEO, karena konten dimuat dengan javascript,maka mesin pencari kesulitan mendeteksinya.
  5. Waktu pengembangan lebih lama, karena programmer harus menambah kode pemrograman javascript lebih banyak dan proses debug yang cukup sulit
CARA KERJA AJAX
Cara kerja AJAX sangat berbeda dibanding aplikasi web tradisional. Pada aplikasi web tradisional untuk mengirimkan data ke database melalui form. Pengguna harus klik tombol submit kemudian menunggu respon dari server. Walti lamanya menunggu tergantung banyaknya data yang dikirim atau banyaknya pengguna yang sedang menggunakan aplikasi. Selama proses menunggu, browser akan melakukan refresh halaman, untuk menampilkan kembali seluruh isi halaman website.

Pada kasus yang sama dengan menggunakan AJAX, ketika user klik tombol submit, browser tidak melakukan refresh sama sekali. Sementara itu, browser membuat suatu objek XMLHTTRequest yang digunakan javascript untuk mengakses server. Setelah data diolah pada server, hasilnya akan dikirim lagi pada browser dalam bentuk XML. Data XML ini kemudian akan dirubah oleh AJAX engine menjadi data HTML dan CSS yang kemudian digunakan untuk mengubah bagian tertentu pada tampilan aplikasi web. Selama proses terjadi, browser tidak melakukan refresh halaman sehingga pengguna dapat melakukan aktivitas sambil menunggu respon dari server.

Berikut adalah gambaran cara kerja AJAX


KESIMPULAN
Jadi dengan menggunakan AJAX ini kita dapat membuat website interaktif tanpa harus me - reload halaman. Tetapi dimana ada kelebihan pasti ada kekurangan yaitu debugin AJAX ini cukup sulit karena untuk melihat kesalahan logika atau penulisan pada AJAX cukup susah dan pasti membutuhkan waktu extra untuk membuat website interaktif menggunakan AJAX. Sekian Terima Kasih

Wednesday, February 8, 2017

Mengenal Format Data JSON Untuk Pertukaran Data


PENGERTIAN
JSON singkatan dari Javascript Object Notation merupakan format pertukaran data yang ringan dan tidak tergantung dengan bahasa pemrograman apapun. Format JSON menggunakan gaya bahasa yang umum digunakan oleh bahasa pemrograman keluarga C termasuk C#,C++,Java,Javascript, dll. Oleh karna itu, JSON sangat cocok sebagai bahasa untuk pertukaran data. Oleh karena sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran-data.
JSON terbuat dari dua struktur:
  • Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan sebagai objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed list), atau associative array.
  • Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (sequence).

STRUKTUR JSON
JSON terdiri dari dua struktur, yaitu objek dan array. Objek dalam javascript merupakan kumpulan pasangan nama dan nilai yang diawali dengan tanda { dan diakhiri tanda }. Sedangkan array merupakan daftar nilai berurutan yang diawali tanda { dan diakhiri tanda }.

PHP telah menyediakan fungsi untuk mengubah array menjadi format JSON sehingga akan memudahkan kita untuk mengirim data dengan format JSON pada aplikasi AJAX. Berikut contoh pengiriman data dengan format JSON.
$daftar_siswa = array();
$query = mysqli_query($mysqli, "SELECT * FROM siswa");
while($data = mysqli_fetch_array($query)){
     $daftar_siswa[] = $data;
}
echo json_encode($daftar_siswa);
Jika pada database ada tiga data, maka data JSON yang dikirim seperti berikut :
[{
     "0"            :"255012712";
     "nis"         :"255012712";
     "1"            :"Yogi Prasetyawan";
     "nama"     :"Yogi Prasetyawan";
},
{
     "0"            :"255012713";
     "nis"         :"255012713";
     "1"            :"Bima Zainudin";
     "nama"     :"Bima Zainudin";
 }]

KESIMPULAN
Jadi gampangnya JSON itu format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan dibuat (generate) oleh komputer. JSON merupakan format teks yang tidak bergantung pada bahasa pemprograman apapun karena menggunakan gaya bahasa yang umum digunakan oleh programmer keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Yaa itu saja jika ada yang ditanyakan Monggo, Sekian Terima Kasih

Friday, January 20, 2017

Membuat Slideshow / Carousel Sederhana Dengan Javascript


Pada kesempatan ini admin akan berbagi bagiamana cara membuat slideshow dengan javascript, dan yang akan saya share ini bukanlah sebuah slideshow yang mewah tetapi slideshow yang akan saya bagikan ini adalah sebuah slideshow yang sederhana dan scriptnya pun tidak terlalu panjang

Dengan slideshow ini kita dapat membuat sebuah gambar dengan bergantian dan ketika gambar tersebut berganti ada sebuah effect yang ditambahkan, Admin akan berbagi 2 tutorial yang pertama membuat slideshow yang dimana kita harus click 1 per 1 agar gambar tersebut berganti dan yang kedua gambar tersebut akan berganti secara otomatis sesuai keinginan kita berapa lama gambar tersebut akan berganti.

TAHAP PELAKSANAAN
1. Pertama kita buka terlebih dahulu Text Editor kita ( Sublime Text, Notepad ++ dll )
2.  Kita berikan sentuhan HTML

 <div class="slideshow-container">
  <div class="mySlides fade">
    <div class="numbertext">1 / 3</div>
    <img src="img1.jpg" style="width:100%">
    <div class="text">Caption Text</div>
  </div>

  <div class="mySlides fade">
    <div class="numbertext">2 / 3</div>
    <img src="img2.jpg" style="width:100%">
    <div class="text">Caption Two</div>
  </div>

  <div class="mySlides fade">
    <div class="numbertext">3 / 3</div>
    <img src="img3.jpg" style="width:100%">
    <div class="text">Caption Three</div>
  </div>

  <a class="prev" onclick="plusSlides(-1)">&#10094;</a>
  <a class="next" onclick="plusSlides(1)">&#10095;</a>
</div>
<br>

<div style="text-align:center">
  <span class="dot" onclick="currentSlide(1)"></span>
  <span class="dot" onclick="currentSlide(2)"></span>
  <span class="dot" onclick="currentSlide(3)"></span>
</div>

3. Kita berikan senutuhan css

* {box-sizing:border-box}
body {font-family: Verdana,sans-serif;margin:0}
.mySlides {display:none}

/* Slideshow container */
.slideshow-container {
  max-width: 1000px;
  position: relative;
  margin: auto;
}

/* Next & previous buttons */
.prev, .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  padding: 16px;
  margin-top: -22px;
  color: white;
  font-weight: bold;
  font-size: 18px;
  transition: 0.6s ease;
  border-radius: 0 3px 3px 0;
}

/* Position the "next button" to the right */
.next {
  right: 0;
  border-radius: 3px 0 0 3px;
}

/* On hover, add a black background color with a little bit see-through */
.prev:hover, .next:hover {
  background-color: rgba(0,0,0,0.8);
}

/* Caption text */
.text {
  color: #f2f2f2;
  font-size: 15px;
  padding: 8px 12px;
  position: absolute;
  bottom: 8px;
  width: 100%;
  text-align: center;
}

/* Number text (1/3 etc) */
.numbertext {
  color: #f2f2f2;
  font-size: 12px;
  padding: 8px 12px;
  position: absolute;
  top: 0;
}

/* The dots/bullets/indicators */
.dot {
  cursor:pointer;
  height: 13px;
  width: 13px;
  margin: 0 2px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}

.active, .dot:hover {
  background-color: #717171;
}

/* Fading animation */
.fade {
  -webkit-animation-name: fade;
  -webkit-animation-duration: 1.5s;
  animation-name: fade;
  animation-duration: 1.5s;
}

@-webkit-keyframes fade {
  from {opacity: .4}
  to {opacity: 1}
}

@keyframes fade {
  from {opacity: .4}
  to {opacity: 1}
}

/* On smaller screens, decrease text size */
@media only screen and (max-width: 300px) {
  .prev, .next,.text {font-size: 11px}
}

4.Kita berikan sentuhan Javascript

var slideIndex = 1;
showSlides(slideIndex);

function plusSlides(n) {
  showSlides(slideIndex += n);
}

function currentSlide(n) {
  showSlides(slideIndex = n);
}

function showSlides(n) {
  var i;
  var slides = document.getElementsByClassName("mySlides");
  var dots = document.getElementsByClassName("dot");
  if (n > slides.length) {slideIndex = 1}
  if (n < 1) {slideIndex = slides.length}
  for (i = 0; i < slides.length; i++) {
      slides[i].style.display = "none";
  }
  for (i = 0; i < dots.length; i++) {
      dots[i].className = dots[i].className.replace(" active", "");
  }
  slides[slideIndex-1].style.display = "block";
  dots[slideIndex-1].className += " active";
}

5. Jika sobat ingin membuat slideshow berganti secara otomatis gunakan script berikut

var slideIndex = 0;
showSlides();

function showSlides() {
    var i;
    var slides = document.getElementsByClassName("mySlides");
    for (i = 0; i < slides.length; i++) {
        slides[i].style.display = "none";
    }
    slideIndex++;
    if (slideIndex> slides.length) {slideIndex = 1}
    slides[slideIndex-1].style.display = "block";
    setTimeout(showSlides, 2000); // Change image every 2 seconds
}

PENJELASAN
1. Kita membuat sebuah script html yaitu struktur dari slideshow tersebut sobat dapat merubah isi dari <img src=" "> dan ganti dengan gambar yang sobat inginkan
2. Setelah itu kita memberikan CSS agar slideshow tersebut terlihat lebih cantik dan peletakannya pun juga bagus, selain itu agar slideshow tersebut bisa responsive
3. Javascript diatas berguna untuk membuat fungsi dari slideshow tersebut yaitu ketika tombol next diklik maka akan muncul gambar yang ke dua, seperti itulah kegunaan dari javascript yang kita buat.
4. Jika sobat ingin mengganti waktu perbahan gambar silahkan ganti pada " setTimeout(showSlides, 2000); >> 2000 ganti waktu yang sobat inginkan, 2000 itu menandakan 2 detik , jika sobat ingin mengganti menjadi 5 detik berarti ganti jadi 5000

DOWNLOAD & PRIVIEW


Yak itulah tutorial membuat slideshow dengan javascript jika sobat memiliki pertanyaan silahkan berikan komentar pada kolom komentar dibawah

Referensi : w3schools

Monday, January 16, 2017

Javascript Part 10 : Perulangan (Loop) For Pada Javascript


JAVASCRIPT PART 10 : PERULANGAN / LOOP FOR PADA JAVASCRIPT
Perulangan di dalam pemrograman sangatlah berguna. Misalnya jika kita ingin menampilkan string secara berulang - ulang. Jika kita ingin menampilkan sebuah kalimat sebanyak 100 kali. Tidak mungkin kita menulis sebanyak 100 kali kan ?. Jadi solusinya di dalam pemrograman adalah menggunakan for loop atau dalam bahasa indonesia perulangan for. Tidak hanya string, kita juga bisa menjalankan sebauh method secara berulang - ulang.

Fungsi for pada semua bahasa pemrograman adalah untuk membuat perulangan. Denga membuat perulangan kita bisa membuatnya secara berulang - ulang, baik itu menampilkan string secara berulang-ulang, angka dan fungsi method secara berulang - ulang . Jadi kita dimudahkan dalam penggunaan for loop ini.

MEMBUAT PERULANGAN DENGAN FOR PADA JAVASCRIPT
Pada tutorial ini kita belajar membuat perulangan angka dan perulangan string pada javascript. Silahkan sobat perhatikan contoh berikut

belajar.html
<!DOCTYPE html>
<html>
<head>
    <title>Javascript Part 10 : Perulangan For Pada Javascript</title>
</head>
<body style="font-family: raleway">
    <h1>Perulangan For Pada javascript</h1>
    <h2><a href="www.script-kiddies.org">Script Kiddies</a></h2>

    <button onclick="perulangan()">Klik Disini</button>

    <!-- Id Hasil -->
    <div id="hasil"></div>

    <script type="text/javascript">
        function perulangan(){
            var text = "";
            var x;
            for (x = 0; x <= 10; x++){
                text += "Ganteng " + x + "<br>";
            }
        document.getElementById('hasil').innerHTML = text;
        }
    </script>
</body>
</html>


Disini kita membuat sebuah tombol yang jika diklik akan menjalankan function perulangan(). Baca tutorial sebelumnya tentang Pengenalan Event Javascript agar lebih jelas

Perulangan for pada Javascript sama cara penulisanya dengan membuat perulangan for pada PHP yang akan saya bahas pada artikel yang akan datang. Disini kita membuat perulangan for dengan x sama dengan 0, x lebih kecil sama dengan 10. Jadi yang ditampilkan adalah angka 0 sampai 10
function perulangan(){
            var text = "";
            var x;
            for (x = 0; x <= 10; x++){
                text += "Angka " + x + "<br>";
Nah akan muncul perulangan dari angka 0 sampai angka 10

KESIMPULAN
Sobat dapat memberikan batasan sampai 1000 pun bisa tetapi jika sobat salah dalam penulisan loop ini maka web browser sobat akan crash itulah pengalaman yang pernah saya alami hehe :D . Dengan menggunakan loop ini programmer akan dipermudah dalam penulisan data dan tidak perlu ribet - ribet membuat banyak sekali data hanya dengan membuat loop ini kita bisa mengulang data dengan mudah

Referensi : Malas Ngoding

TUTORIAL BELAJAR JAVASCRIPT DASAR LAINYA

Friday, January 13, 2017

Javascript Pat 9 : Switch Case Di Javascript


JAVASCRIPT PART 9 : SWITCH CASE DI JAVASCRIPT
Switch Case adalah fungsi yang berguna untuk membuat pengecekan sebuah nilai. Dan nilai yang tersedia untuk pengecekan bisa banyak atau lebih dari satu. Switch Case ini tidak hanya tersedia di javascript tetapi PHP pun juga menggunakan Switch Case ini yang akan kita bahas pada tutorial yang akan mendatang. Silahkan sobat perhatikan contoh penggunaan Switch Case pada javascript berikut.

SIWTCH CASE JAVASCRIPT
Pada contoh penggunaan Switch Case pada Javascript di tutorial ini. Kita akan membuat pengecekan sebuah variabel warna yang berisi merah. Dan kemudian kita cek isi variabel warna ini. Akan saya buat file belajar.html

belajar.html

<!DOCTYPE html>
<html>
<head>
    <title>Javascript Part 9 : Switch Case Di Javasript</title>
</head>
<body style="font-family: raleway;">
    <h1>Switch Case di Javascript</h1>
    <h2><a href="www.script-kiddies.org">Script Kiddies</a></h2>

    <!-- id Hasil -->
    <div id="hasil"></div>

    <script>
        var warna = "merah";

        switch (warna){
            case "hitam":
                teks = "Warna Hitam";
                break;
            case "merah":
                teks = "Warna Merah";
                break;
            case "hijau":
                teks = "Warna hijau";
                break;
            default:
                teks = "Warna tidak terdeteksi";
        }

        document.getElementById("hasil").innerHTML = teks;
    </script>
</body>
</html>
Perhatikan pada contoh diatas. Kita memiliki sebuah variabel berwarna merah. Dan berisi string "merah".
var warna = "merah";
Kemudian kita mengecek isi variabel warna ini
switch (warna){
            case "hitam":
                teks = "warna hitam";
                break;
            case "merah":
                teks = "Warna Merah";
                break;
            case "hijau":
                teks = "Warna hijau";
                break;
            default:
                teks = "Warna tidak terdeteksi";
        }
Jika warna menemukan data case yang sesuai dengan isi dari Variabel warna maka proses pengecekan akan dihentikan. Disini data ditemukan pada pengecekan kedua yaitu merah. Kemudian kita menyimpan string kedalam variabel teks. Sampai disini kita telah memilki isi di dalam variabel teks. Dan terakhir kita tampilkan
document.getElementById("hasil").innerHTML = teks;
Dan hasilnya seperti ini

Sedikit tambahan, pada bagian default adalah bagian dimana jika pengecekan tidak ditemukan maka default yang akan kita gunakan. Misalnya jika pengecekan warna tidak ada yang sesuai maka akan muncul "Warna tidak terdeteksi" Sesuai isi dari teks default

KESIMPULAN
Jadi Switch Case ini berguna untuk membuat pengecekan sebuah nilai sesuai variabel yang dimasukkan. Dan ketika Variabel tersebut ditemukan maka akan muncul isi dari Switch Case tersebut. Dan kita juga menambahkan default yang berfungsi ketika variabel tidak ditemukan maka default lah yang akan muncul

Referensi : Malas Ngoding

TUTORIAL BELAJAR JAVASCRIPT DASAR LAINYA