Cara Membuat Aplikasi Web Sederhana
Cara Membuat Aplikasi Web Sederhana
Halo Nyekriper! Pada tutorial ini kita akan belajar cara membuat aplikasi web sederhana
tanpa menggunakan web server seperti apache, hanya menggunakan javascript dan
fitur canggih yang dimiliki HTML5. Pada saat ini Web browser sudah mendukung HTML5
yang sudah memiliki fitur seperti canvas, WebGL, localStorage yang digunakan untuk
menyimpan data dalam bentuk key value, video dan Audio, dan masih banyak lagi.
Dengan adanya fitur tersebut kita sudah bisa membangun aplikasi yang dapat diakses secara
lokal, dan tidak perlu membutuhkan web server. Hasil Akhir dari tutorial ini akan nampak
seperti gambar berikut ini:
Tampilan Awal
Download Skrip
Demo Skrip
Anda bisa download aplikasi web dengan klik tombol Download diatas atau ingin
mencobanya secara online dengan klik Demo Skrip. Untuk membuat Aplikasi web
tersebut, silahkan anda ikuti langkah-langkah berikut ini.
1. HTML (Hypertext Markup Language), untuk mengetahui lebih jelas tentang HTML,
anda bisa mengunjungi artikel Pengenalan HTML: Langkah Dasar.
2. Javascript, sebuah bahasa pemrograman yang tertanam di web browser. Javascript
membantu kita untuk mewujudkan halaman HTML yang dinamis.
3. CSS, sebuah rules yang digunakan untuk memberikan style pada aplikasi web yang
kita kembangkan.
4. Jquery, framework yang mempermudah dalam penggunaan Javascript. Donwioad
Jquery disini: http://jquery.com/download/.
5. Twitter Bootstrap, kita menggunakannya agar tampilan aplikasi web menjadi
responsif. Download Twitter Bootstrap disini: http://getbootstrap.com/.
6. Web Browser, Untuk pilihannya anda bisa menggunakan Google Chrome, Chromium,
atau Safari. Untuk download chrome disini: http://www.google.com/chrome/
7. Teks Editor, notepad bawaan windows atau teks editor dasar lainnya, jangan
menggunakan Microsoft Word. Saya menyarankan untuk menggunakan notepad++,
untuk download disini: http://notepad-plus-plus.org/download/
1. html, dokumen HTML tang berisikan skrip HTML5, Javascript, dan CSS.
2. files, berupa folder untuk menyimpan file Twitter Bootstrap dan Jquery yang sudah
didownload sebelumnya.
Mari kita buat terlebih dahulu file index.html, oke langsung saja kita ketik-kan skrip berikut
ini:
Skrip HTML
1 <!DOCTYPE HTML>
2 <html>
3 <head>
4 <title>Nyekrip Aplikasi Web Sederhana</title>
5 </head>
6 <body onload="muatDaftarData();">
7 </body>
8 <script type="text/javascript">
9 </script>
10 </html>
Langkah selanjutnya adalah memasang aset aplikasi yaitu file Twitter Bootstrap dan Jquery
yang telah kita download sebelumnya, tambahkan skrip yang telah di-blok dengan
background hitam berikut dibawah tag title.
Skrip HTML
1 <!DOCTYPE HTML>
2 <html>
3 <head>
4 <title>Nyekrip Aplikasi Web Sederhana</title>
5 <script src="files/js/jquery.min.js"></script>
6 <script src="files/bootstrap/js/bootstrap.min.js"></script>
7 <link rel="stylesheet" href="files/bootstrap/css/bootstrap.min.css">
8 </head>
9 <body onload="muatDaftarData();">
10 </body>
11 <script type="text/javascript">
12 </script>
13 </html>
Setelah menyiapkan file HTML, selanjutnya kita membuat folder yang bernama files,
dalam folder tersebut kita masukkan file Twitter Bootstrap dan Jquery.
Berikut ini adalah perubahan isi dan tag <body></body> di file index.html yang telah
ditambahkan empat bagian skrip diatas.
Skrip HTML
1 <body onload="muatDaftarData();">
2 <div class="col-md-8 col-md-offset-2" ng-controller="listContactCtrl">
3 <div class="page-header">
4 <h1>
5 Nyekrip CRUD Aplikasi Web Sederhana
6 </h1>
7 <ul class="nav nav-pills">
8 <li><a id="nav-list-data" href="javascript:void(0);" onclick="gantiMenu('list-
9 data');">Daftar Data</a></li>
10 <li><a id="nav-tambah-data" href="javascript:void(0);"
11 onclick="gantiMenu('tambah-data');">Tambah Data</a></li>
12 </ul>
13 </div>
14 <div id="tambah-data" class="well" style="display:none;">
15 <form id="form-data">
16 <div id="name-group" class="form-group">
17 <label>Nama:</label>
18 <input type="text" class="form-control" id="nama" name="nama"
19 placeholder="contoh: Nyekrip Web" /><br/>
20 </div>
21 <div id="alamat-group" class="form-group">
22 <label>Alamat:</label>
23 <input type="text" class="form-control" id="alamat" name="alamat"
24 placeholder="contoh: Indonesia" /><br/>
25 </div>
26 <div id="ket-group" class="form-group">
27 <label>Keterangan:</label>
28 <textarea class="form-control" id="ket" name="ket" placeholder="contoh: Web
29 Tutorial Indonesia"></textarea><br/>
30 </div>
31 <input type="button" value="Simpan" onclick="simpanData();" class="btn btn-
32 success btn-small"/>
33 <input type="reset" value="Reset" onclick="" class="btn btn-warning btn-small"/>
34 </form>
35 </div>
36 <div id="edit-data" class="well" style="display:none;">
37 <form id="eform-data">
38 <div id="name-group" class="form-group" style="display:none;">
39 <label>id data:</label>
40 <input type="text" class="form-control" id="eid_data" name="nama"
41 placeholder="" /><br/>
42 </div>
43 <div id="name-group" class="form-group">
44 <label>Nama:</label>
45 <input type="text" class="form-control" id="enama" name="nama"
46 placeholder="contoh: Nyekrip Web" /><br/>
47 </div>
48 <div id="alamat-group" class="form-group">
49 <label>Alamat:</label>
50 <input type="text" class="form-control" id="ealamat" name="alamat"
51 placeholder="contoh: Indonesia" /><br/>
52 </div>
53 <div id="ket-group" class="form-group">
54 <label>Keterangan:</label>
55 <textarea class="form-control" id="eket" name="ket" placeholder="contoh: Web
56 Tutorial Indonesia"></textarea><br/>
57 </div>
58 <input type="button" value="Simpan" onclick="simpanEditData();" class="btn btn-
59 success btn-small"/>
60 <input type="reset" value="Reset" onclick="" class="btn btn-warning btn-small"/>
<input type="button" value="Cancel" onclick="gantiMenu('list-data');" class="btn
btn-warning btn-small"/>
</form>
</div>
<div id="list-data" class="well">
Tidak ada data...
</div>
</div>
</body>
Selanjutnya tambahkan skrip javascript berikut untuk membuat fungsi ganti menu, letakkan
persis dibawah tag body:
Skrip Javascript
1 <script type="text/javascript">
2 function gantiMenu(menu){
3 if (menu == "list-data"){
4 muatDaftarData();
5 $('#tambah-data').hide();
6 $('#list-data').fadeIn();
7 $('#edit-data').hide();
8 }
9 else if (menu == "tambah-data"){
10 $('#tambah-data').fadeIn();
11 $('#list-data').hide();
12 $('#edit-data').hide();
13 }else if (menu == "edit-data"){
14 $('#edit-data').fadeIn();
15 $('#tambah-data').hide();
16 $('#list-data').hide();
17 }
18 }
19 </script>
Sampai tahap ini kita sudah membuat aplikasi web sederhana dalam tahap view dan sudah
menentukan letak dan nama fungsi, maka selanjutnya kita akan membuat fungsi tersebut agar
aplikasi bisa berjalan dengan baik.
Tambah Data
Setelah kita membuat form dan navigasi sebagai elemen view, saatnya kita membuat
controller dengan membuat fungsi daftar, edit, simpan dan hapus data.
Skrip Javascript
1 function muatDaftarData(){
2 if (localStorage.daftar_data && localStorage.id_data){
3
4 daftar_data = JSON.parse(localStorage.getItem('daftar_data'));
5
6 var data_app = "";
7
8 if (daftar_data.length > 0){
9 data_app = '<table class="table">';
10 data_app += '<thead>'+
11 '<th>ID</th>'+
12 '<th>nama</th>'+
13 '<th>alamat beli</th>'+
14 '<th>ket</th>'+
15 '<th>aksi</th>'+
16 '<th>aksi 2</th>'+
17 '</thead><tbody>';
18
19 for (i in daftar_data){
20 data_app += '<tr>';
21 data_app += '<td>'+ daftar_data[i].id_data + ' </td>'+
22 '<td>'+ daftar_data[i].nama + ' </td>'+
23 '<td>'+ daftar_data[i].alamat + ' </td>'+
24 '<td>'+ daftar_data[i].ket + ' </td>'+
25 '<td><a class="btn btn-danger btn-small" href="javascript:void(0)"
26 onclick="hapusData(\''+daftar_data[i].id_data+'\')">Hapus</a></td>'+
27 '<td><a class="btn btn-warning btn-small" href="javascript:void(0)"
28 onclick="editData(\''+daftar_data[i].id_data+'\')">Edit</a></td>';
29 data_app += '</tr>';
30
31 }
32 data_app += '</tbody></table>';
33
34 }
35 else {
36 data_app = "Tidak ada data...";
37 }
38
39
40 $('#list-data').html(data_app);
41 $('#list-data').hide();
42 $('#list-data').fadeIn(100);
43 }
44 }
45 function editData(id){
46 if (localStorage.daftar_data && localStorage.id_data){
47 daftar_data = JSON.parse(localStorage.getItem('daftar_data'));
48 idx_data = 0;
49 for (i in daftar_data){
50 if (daftar_data[i].id_data == id){
51 $("#eid_data").val(daftar_data[i].id_data);
52 $("#enama").val(daftar_data[i].nama);
53 $("#ealamat").val(daftar_data[i].alamat);
54 $("#eket").val(daftar_data[i].ket);
55 daftar_data.splice(idx_data, 1);
56 }
57 idx_data ++;
58 }
59 gantiMenu('edit-data');
60 }
61 }
62
63
64 function simpanData(){
65 nama = $('#nama').val();
66 alamat = $('#alamat').val();
67 ket = $('#ket').val();
68
69 if (localStorage.daftar_data && localStorage.id_data){
70 daftar_data = JSON.parse(localStorage.getItem('daftar_data'));
71 id_data = parseInt(localStorage.getItem('id_data'));
72 }
73 else {
74 daftar_data = [];
75 id_data = 0;
76 }
77
78 id_data ++;
79 daftar_data.push({'id_data':id_data, 'nama':nama, 'alamat':alamat, 'ket':ket});
80 localStorage.setItem('daftar_data', JSON.stringify(daftar_data));
81 localStorage.setItem('id_data', id_data);
82 document.getElementById('form-data').reset();
83 gantiMenu('list-data');
84
85 return false;
86 }
87 function simpanEditData(){
88 id_data = $('#eid_data').val();
89 nama = $('#enama').val();
90 alamat = $('#ealamat').val();
91 ket = $('#eket').val();
92
93 daftar_data.push({'id_data':id_data, 'nama':nama, 'alamat':alamat, 'ket':ket});
94 localStorage.setItem('daftar_data', JSON.stringify(daftar_data));
95 document.getElementById('eform-data').reset();
96 gantiMenu('list-data');
97
98 return false;
99 }
100
101 function hapusData(id){
102 if (localStorage.daftar_data && localStorage.id_data){
103 daftar_data = JSON.parse(localStorage.getItem('daftar_data'));
104
105 idx_data = 0;
106 for (i in daftar_data){
107 if (daftar_data[i].id_data == id){
108 daftar_data.splice(idx_data, 1);
109 }
110 idx_data ++;
111 }
112
113 localStorage.setItem('daftar_data', JSON.stringify(daftar_data));
114 muatDaftarData();
115 }
116 }
117
118
119
Akhirnya kita selesai juga dalam membuat aplikasi web sederhana dengan
memanfaatkan localStorage, dengan fitur tersebut kita tidak perlu menggunakan web
server untuk menyimpan data. Selain itu karena dalam aplikasi web sederhana ini kita
menyertakan file Twitter Bootstrap, maka tampilan dari aplikasi web ini sudah responsif dan
bisa digunakan di komputer dekstop maupun mobile gadget seperti smartphone dan tablet.
Jika anda ingin membuat website sederhana dengan html5 kunjungi artikel Cara Membuat
Website Sederhana dengan HTML 5.
Happy Nyekrip!