PERANCANGAN SITUS JEJARING SOSIAL “AEDIDEA”
NASKAH PUBLIKASI
diajukan oleh Okky Oktavian 08.11.2424
kepada JURUSAN TEKNIK INFORMATIKA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM YOGYAKARTA YOGYAKARTA 2014
DESIGNING SOCIAL NETWORK SITE 'AEDIDEA' PERANCANGAN SITUS JEJARING SOSIAL 'AEDIDEA' Okky Oktavian Kusrini Jurusan Teknik Informatika STMIK AMIKOM YOGYAKARTA
ABSTRACT Social network is commonly used by people on the world, but it used only for communication, sharing something happened, and even as a tool to do some crime. In other side, idea is something that everybody have. But unfortunately, this idea is often just in mind withour realization. 'aedIdea' is a social network that focused to accommodate any ideas from the user to be realized with the help by other users. The purpose is to accommodate realize all ideas even if it too complex or too simple. With 'aedIdea', users can add theirs idea complete with information that describe the detail of this idea. Other user who interested in that idea can contact the idea owner directly to help them realize the idea. Users can show that they love, want to do, or have done the idea so other users will know what ideas are popular or need help. Keywords: web site, social network, idea.
1.
Pendahuluan Penggunaan internet saat ini sudah menjadi hal yang biasa, apalagi dengan
banyaknya jejaring sosial dimana seseorang dapat berkomunikasi dengan orang lain tanpa perlu berhadapan langsung secara fisik. Banyaknya pengguna jejaring sosial ini membawa dampak positif dan negatif tersendiri. Sebagai contoh dengan adanya jejaring sosial ini seseorang dapat berkomunikasi dengan orang yang berada jauh darinya, mengetahui hal- hal terbaru tentang orang tersebut dan saling bertukar pikiran dengan mudah. Tidak hanya dengan orang-orang yang sudah dikenal, tetapi dengan orang yang belum pernah ditemui sekalipun seseorang dapat berhubungan dengan mudah. Sayangnya dengan keleluasaan ini terdapat pihak-pihak yang memanfaatkannya untuk perbuatan yang tidak baik. Maraknya kasus penipuan maupun penculikan melalui jejaring sosial menjadi salah satu contoh sisi negatifnya. Selain sebagai tempat untuk berkomunikasi, jejaring sosial juga bisa menjadi wadah untuk berbagi ide. Sayangnya ide- ide ini tidak ditangani secara khusus sehingga banyak ide- ide yang bagus tetapi terlewati begitu saja tanpa diketahui banyak orang. Padahal ide- ide yang terlawatkan tadi mungkin saja bisa membawa perubahan yang besar di dunia. Dengan latar belakang dari hal- hal tersebut, maka sebuah media yang dibuat khusus untuk menampung ide- ide, baik itu ide yang sederhana maupun kompleks, merupakan hal yang patut untuk direalisasikan. Media berupa jejaring sosial merupakan hal yang tepat untuk digunakan. Jejaring sosial mempermudahkan seseorang untuk berbagi dan menyebarkan suatu berita kepada orang banyak dengan sistem berantai. Dengan adanya jejaring sosial yang menampung ide- ide ini, orang- orang akan dengan mudah membagikan idenya ke satu sama lain, mengikuti ide- ide terbaru dari orang- orang yang diikuti dan tentu saja ikut menjadi bagian untuk merealisasikan ide- ide tersebut. Dengan begitu media ini sangat membantu bukan hanya dalam menyebarkan sebuah ide tetapi juga mengajak orangorang untuk memberikan bantuan pada pemilik ide baik dalam bentuk materi, saran dan kritik, maupun bentuk nyata secara langsung dalam melaksanakan sebuah ide. 2.
Landasan Teori
2.1
Pengertian Website Web site adalah kumpulan halaman Web yang saling berhubungan yang dibuat
dan dipelihara oleh individu, perusahaan, lembaga pendidikan, atau organisasi lainnya. Setiap Web site memiliki halaman depan (home page) yang merupakan dokumen yang akan dilihat pertama kali oleh pengguna saat mengakses sebuah Web site. Halaman awal biasanya menyediakan indeks atau daftar isi ke dokumen dan berkas lainnya yang disimpan dalam situs (Shelly dkk., 2009:1-2).
1
2.2
Konsep Dasar Jejaring Sosial Jaringan sosial merupakan struktur sosial yang dibuat oleh individu atau
organisasi yang disebut sebagai “nodes,” yang saling terhubung satu sama lain oleh satu atau lebih ketergantungan seperti pertemanan, kekeluargaan, minat, ketidaksukaan, atau hubungan kepercayaan maupun pengetahuan (Crane, 2012:108). Sedangkan situs jejaring sosial adalah sebuah Web Site di internet yang menghubungkan orang-orang di sebuah tempat untuk berbicara, bergosip, membagikan ide, aktivitas, dan minat, mendapatkan teman baru, dan masih banyak yang lainnya. Dalam masing-masing jaringan, orang-orang dapat membicarakan minat dan aktivitas tanpa batasan politik, ekonomi dan geografi (Crane, 2012:109). 2.3
Konsep Dasar Ide Dalam Kamus Besar Bahasa Indonesia, ide adalah rancangan yang tersusun di
dalam pikiran (517). Kata “ide” berasal dari bahasa Yunani yang berarti “melihat.” Ide adalah sebuah istilah yang digunakan baik secara umum maupun dalam peristilahan kefilsafatan dengan pengertian secara umum sebagai “gambaran mental.” Tidak memiliki ide bagaimana sesuatu terjadi sama seperti tidak memiliki gambaran mental pada kejadian itu. Dalam pengertian ini kata 'ide' memiliki arti yang sama dengan 'konsep' dalam penggunaan yang umum. Dalam bidang filsafat, kata 'ide' merupakan hal yang umum di semua bahasa dan zaman, tetapi tidak ada istilah lain yang digunakan dengan bermacam-macam arti seperti kata ini. Harus diperhatikan bahwa sebuah ide, di dalam pengertian yang sempit dan diterima secara umum sebagai hasil dari mental, biasanya merupakan sebuah gabungan dari beberapa filsuf. Saat seseorang memperoleh sebuah ide dari kursi secara umum dan dapat mengatakan “Ini adalah kursi, itu adalah bangku,” dia memiliki apa yang disebut sebagai “ide abstrak” yang berbeda dari pembuatan ulang dalam pikirannya tentang sebuah bangku yang khusus. Selain itu sebuah ide yang kompleks mungkin saja tidak berhubungan dengan objek fisik, meskipun beberapa dari bagiannya mungkin saja berasal dari presepsi yang nyata. Dengan kata lain sebuah centaur adalah sebuah gambaran mental yang kompleks yang dibangun dari sebuah ide manusia dan kuda, atau bahwa putri duyung adalah wanita dan ikan (Chisholm, 1910:280-281). 3.
Analisis dan Perancangan Sistem
3.1
Analisis Kelemahan Sistem Analisis SWOT (Strength, Weakness, Opportunities, Threat) dilakukan untuk
menganalisa sistem dari sisi kekuatan atau kelebihan sistem (Strength), kelemahan sistem (Weakness), peluang sistem(Opportunitues), dan ancaman (Threat). Hasil analisis SWOT pada sistem 'aedidea' adalah: 1.
Strength (Kekuatan)
2
a.
Penggunaan framework Django.
b.
Penggunaan aplikasi yang dapat dipakai ulang seperti South, Django Registration, Django-mptt, Django Comments, dan Django Widget Tweaks.
c. 2.
3.
Fokus pada konten berupa ide.
Weakness (Kelemahan) a.
Sedikitnya pengalaman dan pengembang.
b.
Pengedit gambar menggunakan HTML5 cukup sulit dan kompleks.
c.
Tidak tercukupinya sumber daya untuk penyimpanan video.
d.
Sistem chat cukup kompleks untuk dibuat.
e.
Belum terpercayanya web site baru untuk media penyaluran bantuan.
f.
Tiap platform memiliki perbedaan dalam pengembangan kode.
Opportunity (Peluang) a.
Pengguna dapat login, logout dan mendaftar.
b.
Pencarian ide berdasarkan konfigurasi.
c.
Konten ide yang detail.
d.
Pengelompokan ide menurut kategori.
e.
Adanya pesan privat antar pengguna.
f.
Pengguna dapat menampilkan detail diri bersama dengan ide-ide miliknya.
g.
Sistem pengikut untuk menambah jaringan.
h.
Ide dapat ditambahkan dan diubah dengan media teks, gambar, atau video.
i.
Adanya alat gambar secara langsung menggunakan canvas dari HTML 5.
j.
Adanya aktivitas pengguna yang diikuti.
k.
Ide dapat dikomentari oleh pengguna.
l.
Popularitas ide dengan dasar ketertarikan pengguna.
m. Dapat dijalankan di berbagai platform.
4.
n.
Adanya media penyaluran untuk bantuan berupa uang.
o.
System chat yang memudahkan komunikasi antar pengguna.
Threat (Ancaman) a.
Pencurian ide.
b.
Banyaknya spammer.
c.
Banyak pihak tak bertanggung jawab yang mengeksploitasi bug.
3.2
Analisis Kebutuhan Sistem
3.2.1
Kebutuhan Fungsional Kebutuhan pengguna mendefinisikan kebutuhan yang diperlukan oleh pengguna
yang nantinya akan mengoperasikan sistem jejaring sosial ini. Kebutuhan pengguna pada sistem jejaring sosial 'aedIdea' diantaranya adalah: 1.
Sistem dapat menjaga privasi data identitas penggunanya dengan aplikasi auth
3
bawaan dari framework Django. 2.
Sistem dapat berjalan diberbagai platform.
3.
Sistem dapat mengolah data registrasi pengguna baru.
4.
Sistem dapat mengolah ide yang dipasang oleh pengguna dalam bentuk media teks, gambar, maupun video yang tertanam dalam skrip html.
5.
Sistem dapat menampilkan ide-ide sesuai konfigurasi dari pengguna.
6.
Sistem dapat menampilkan kepopuleran suatu ide dan ketertarikan pengguna terhadap suatu ide melaui tombol-tombol suka (like), ingin melakukan (want to do), sudah melakukan (have done).
7.
Sistem memiliki fitur untuk melaporkan suatu ide kepada admin jika ide tersebut menyalahi aturan seperti ide yang menggunakan kata-kata kasar, menghina orang atau kelompok lain, merupakan ide milik orang lain yang dipublikasikan tanpa sepengetahuan pemilik asli ide tersebut, dan hal-hal lainnya.
8.
Sistem membolehkan pemilik ide untuk mengatur privasi dari idenya agar hanya dapat ditampilkan untuk pemilik ide, pengikut pemilik ide, atau publik.
9.
Sistem dapat memberikan layanan pesan privat bagi pengguna yang sudah terdaftar.
10. Sistem memiliki kotak komentar pada setiap ide yang dipublikasikan sehingga pengguna lain dapat mengomentari ide tersebut. 11. Sistem memiliki sistem pengikut agar terjalin jaringan antar pengguna.. 12. Sistem dapat menampilkan aktifitas terbaru dari pengguna lain yang diikuti. Misalnya saat pengguna tersebut menyukai sebuah ide, mengikuti pengguna lain, mempubilkasi sebuah ide, dan yang lainnya. 13. Sistem membolehkan pengguna yang sudah terdaftar untuk melakukan konfigurasi akun miliknya seperti mengganti password atau data-data yang dimiliki. 14. Sistem membolehkan pengguna untuk mengontak admin. 15. Sistem dapat menyediakan halaman admin sebagai media untuk melakukan pengecekan terhadap data yang ada. 3.2.2 1.
Kebutuhan Non-Fungsional Kebutuhan Perangkat Keras Dalam implementasi jejaring sosial 'aedIdea' digunakan perangkat keras dengan spesifikasi sebagai berikut:
2.
a.
Prossesor
: 2 Cores CPU
b.
Penyimpanan : 25 GB Dedicated Storage
c.
Memory
: 256 MB Dedicated RAM dan 256 MB vSwap
Kebutuhan Perangkat lunak
4
Kebutuhan perangkat lunak yang digunakan dalam pembuatan jejaring sosial 'aedIdea' ini adalah: a.
Sistem Operasi : Debian 7.4 Wheezy
b.
Bahasa pemrograman : Python 2.7
c.
Web Server
: nginx 1.4.4 dan Gunicorn 18.0
d.
DBMS
: MySQL 5.5
e.
Framework
: Django 1.6.1
f.
Reuseable apps
: django-contrib-comments 1.5, django-mptt 0.6.0,
django-registration 1.0, django-widget-tweaks 1.3, MySQL-python 1.2.4, Pillow 2.3.0, pip 1.4.1, setuptools 0.9.8, South 0.8.4 3.
Kebutuhan Informasi Sistem dalam jejaring sosial 'aedIdea' dapat menampilkan ide-ide yang dipasang oleh para pengguna.
3.3
Perancangan Sistem
3.3.1
Perancangang Data Flow Diagram (DFD)
1.
Diagram Konteks
Gambar 3.1: Diagram Konteks 'aedIdea'
5
2.
DFD Level 0
Gambar 3.2: DFD Level 0
6
3.3.2
Perancangan Basis Data Perancangan basis data dimaksudkan untuk mengatur basis data agar data yang
akan disimpan tepat, efisien dalam penggunaan tempat, cepat dalam pengaksesan data, dan mudah dalam memanipulasi data. 1.
Perancangan Entity Relationship Diagram
Gambar 3.3: Perancangan ER-D Sistem 'aedidea'
7
2.
Perancangan Relasi antar tabel
Gambar 3.4: Perancangan Relasi Antar Tabel Sistem 'aedidea'
8
4.
Implementasi dan pembahasan
4.1
Pembahasan
4.1.1
Pembahasan Listing Program Sistem pada web site 'aedIdea' dibagi menjadi tiga aplikasi utama, yaitu:
1.
Aplikasi idea Aplikasi ini menangani proses-proses yang berhubungan dengan konten utama dari web site 'aedIdea' yang berupa ide.
2.
Aplikasi user_extended Aplikasi ini dirancang untuk menangani proses-proses yang berhubungan dengan pengguna yang tidak ditangani oleh aplikasi auth dari Django.
3.
Aplikasi utils Aplikasi ini dirancang untuk menyediakan proses-proses yang dapat dipakai oleh aplikasi yang lainnya. Selain aplikasi idea, user_extended, dan utils, web site 'aedIdea' menggunakan
beberapa aplikasi yang dapat dipakai ulang, baik aplikasi bawaan dari Django maupun aplikasi dari pihak ketiga. Contoh penulisan program dalam pembuatan jejaring sosial 'aedidea' adalah sebgai berikut: class UserIdeasView(HomeMixin, ListView): #1 model = Idea #2 context_object_name = 'ideas' template_name = 'user-ideas.html' paginate_by = 7 @method_decorator(login_required) #3 def dispatch(self, *args, **kwargs): return super(UserIdeasView, self)\ .dispatch(*args, **kwargs) def get_queryset(self): #4 return Idea.objects.get_user_ideas\ (self.request.user, self.request.user) def get_context_data(self, **kwargs): #5 context = super(UserIdeasView, self).get_context_data(**kwargs) context['page_title'] = 'My Ideas' return context
Penjelasan skrip: #1 Menurunkan kode dari HomeMixin dan ListView. ListView merupakan kelas dari Django yang digunakan untuk menampilkan daftar data yang diakses. #2 Memberikan nilai pada variabel utama seperti nama model yang digunakan, nama variabel konteks yang akan diberikan, berkas template yang digunakan,
9
dan jumlah ide yang akan ditampilkan tiap halaman. #3
Menyatakan
bahwa
hanya
pengguna
yang
terdaftar
yang
dapat
mengaksesnya. #4 Mengakses daftar data ide dari model yang ditentukan. #5 Memberikan konteks yang sudah diakses ke template yang sudah ditentukan. 4.1.2
Pembahasan Basis Data Tiap aplikasi yang dibuat dengan framework Django memiliki model yang
mendeskripsikan data yang digunakan beserta strukturnya. Contoh penulisan model dapat dilihat pada kode berikut: from django.db import models class UserLink(models.Model):#1 name = models.CharField(max_length=100, blank=True) link = models.URLField(max_length=255) user_profile = models.ForeignKey(UserProfile) def __unicode__(self):#2 return self.name
Penjelasan skrip: #1 Mendeskripsikan model UserLink. #2 Informasi yang dimunculkan saat pengaksesan data melalui CLI (CommandLine Interface). Dengan kode tersebut, maka akan dihasilkan tabel sebagai berikut:
Gambar 4.1: Struktur Tabel dari Model UserLink
10
4.1.3
Pembahasan Antarmuka Program Tampilan halaman utama jejaring sosial 'aedidea' dapat dilihat pada gambar
berikut:
Gambar 4.2: Tampilan Halaman Utama untuk Pengguna yang Tidak Terdaftar 4.2
Implementasi Tahap Implementasi adalah tahap dimana web site telah siap digunakan oleh
pengguna. Sebelum benar-benar bisa digunakan dengan baik oleh pengguna, sistem harus melalui tahap pengujian terlebih dahulu untuk menjamin tidak ada kendala fatal
11
yang muncul pada saat pengguna memanfaatkan sistem ini. 4.2.1
Uji Coba Sistem Dan Program Uji coba program sering pula disebut dengan testing program, pada tahapan ini
dilakukan testing pada sistem dan program. Uji coba sistem dan program memiliki perbedaan yaitu pada uji program membahas tentang bagaimana program tersebut harus bebas dari kesalahan logika , proses, dan kesalahan sintaks. Sedangkan uji coba sistem yaitu uji coba yang dilakukan terhadap elemen pendukung sistem baru yang dibangun mulai dari personil operasional, fungsionalitas program aplikasi hingga lingkup kerja sistem nantinya. a.
Pengetesan Program Sebelum program diterapkan, perlu dilakukan pengetesan terhadap program
untuk menemukan kesalahan-kesalahan yang mungkin terjadi. Pengetasan dilakukan pada tiap-tiap program dan dilanjutkan dengan pengetasan untuk semua modul yang telah dirangkai. Pengetesan program dilakukan bersamaan dengan pembuatan program, yaitu dengan pengentrian data, penghapusan data, pengediaan data. Pengetesan program dimaksudkan untuk mengetahui lebih lanjut tentang kesalahan-kesalahan dan kekurangan dari program yang terjadi dan yang akan terjadi. Kesalahan dari program yang mungkin terjadi dapat diklasifikasikan dalam tiga bentuk kesalahan, yaitu: 1.
Kesalahan Bahasa (Language Error) atau yang disebut dengan kesalahan penulisan (Syntax error) adalah kesalahan dalam penulisan source program yang tidak sesuai dengan yang telah diisyaratkan. Kesalahan ini relative mudah ditemukan dan diperbaiki, karena komputer akan memberitahukan letak dan sebab terjadinya kesalahan program tersebut.
2.
Kesalahan sewaktu proses (Run-time Error), adalah kesalahan yang terjadi sewaktu executable program dijalankan. Kesalahan ini akan menyebabkan proses program terhenti sebelum selesai pada saatnya, karena komputer menemukan kondisi-kondisi yang belum terpenuhi yaitu tidak bisa dikerjakan. Kesalahan ini juga relatif mudah ditemukan, karena juga ditunjukkan letak serta sebab kesalahan. Pada pembuatan jejaring sosial 'aedIdea' tidak ditemukan pesan kesalahan sewaktu proses.
3.
Kesalahan logika (Logical Error) adalah kesalahan dari logika program. Kesalahan seperti ini sulit ditemukan, karena tidak ada pemberitahuan mengenai kesalahannya dan tetap akan didapatkan hasil dari proses program, tetapi hasilnya salah. Kesalahan ini merupakan kesalahan yang berbahaya, karena bila tidak disadari dan tidak ditemukan, hasil yang salah dapat menyesatkan bagi yang menggunakannnya.
12
b.
Pengetesan Sistem Setelah proses pengetesan program dilakukan, langkah berikutnya adalah
pengetesan sistem. Tahap pengetesan sistem ini dilakukan untuk memeriksa kekompakan antar sistem yang diimplementasikan. Tujuannya untuk memastikan semua komponen-komponen dari sistem telah berfungsi sesuai dengan yang diinginkan. Pengetesan perlu dilakukan untuk mencari kesalahan atau kelemahan yang mungkin terjadi. Pengetesan sistem ini termasuk juga pengetesan program secara menyeluruh. Cara yang dilakukan dalam pengetesan sistem ini antara lain: 1.
Black Box Testing yaitu pengujian spesifikasi suatu fungsi atau modul, apakah berjalan sesuai dengan yang diharapakan atau tidak. Cara pengujian hanya dilakukan dengan menjalankan atau mengeksekusi unit atau modul, kemudian diamati apakah hasil dari unit sesuai dengan proses bisnis yang diinginkan. Jika ada unit yang tidak sesuai outputnya maka untuk menyelesaikannya diteruskan pada pengujian yang kedua yaitu white box testing. Pengujian dilakukan dengan melakukan pengujian pada fungsi-fungsi yang ada dengan mengakses halaman yang bersangkutan atau mengirimkan data melalui form yang ada.
2.
White Box Testing merupakan cara pengujian dengan melihat kedalam modul untuk meneliti kode-kode program yang ada, dan menganalisis apakah ada kesalahan atau tidak. Jika ada modul yang menghasilakan output yang tidak sesuai dengan proses bisnis yang dilakukan, maka baris-baris program, variable, dan parameter yang terlibat pada unit tersebut akan dicek satu persatu dan diperbaiki. Whitebox testing dilakukan bersamaan pengetesan kesalahan logika. Dalam hal ini belum ditemukan adanya kesalahan.
5.
Penutup
5.1
Kesimpulan Dari semua tahap perancangan, pembuatan serta pengujian sistem yang telah
dilakukan, maka dapat diambil kesimpulan antara lain: 1.
Sistem jejaring sosial 'aedidea' dapat menjadi sarana bagi pengguna untuk membagikan ide-ide miliknya kepada orang lain di seluruh dunia sehingga ide-ide tersebut dapat direalisasikan.
2.
Pengguna yang terdaftar dapat membentuk jejaring sosial dengan cara mengikuti pengguna lain sehingga dapat mengetahui aktivitas-aktivitas terbaru milik pengguna yang diikuti.
3.
Pengguna yang terdaftar dapat menambahkan ide miliknya atau ide milik orang lain dengan ijin pemilik ide. Ide ini memiliki deskripsi dengan media teks, gambar, dan video yang tertanam menggunakan kode HTML.
4.
Pengguna yang terdaftar dapat mengatur privasi ide sehingga hanya orang-orang
13
tertentu saja yang dapat melihat ide tersebut. 5.
Komunikasi antar pengguna dapat dilakukan melalui komentar dan pesan privat, dimana pengguna dapat mendiskusikan lebih lanjut tentang suatu ide seperti bagaimana cara membantu, kontak koordinasi, dan yang lainnya.
6.
Pengguna yang terdaftar dapat menyatakan suka (love), mau melakukan (want), dan sudah melakukan (done) dengan mengunakan tombol nilai popularitas pada tiap-tiap ide yang ada. Nilai ini nantinya digunakan untuk menghitung popularitas dari sebuah ide.
7.
Penggunaan framework Django mempermudah pembuatan web site dengan fiturfitur seperti antarmuka admin dan aplikasi pihak ketiga yang dapat dipakai ulang.
5.2
Saran Berdasarkan kesimpulan yang telah diuraikan, maka saran yang diberikan
diharapkan dapat menyempurnakan jejaring sosial 'aedIdea' ini, diantaranya adalah: 1.
Penggunaan canvas dari HTML 5 pada halaman penambahan ide sebagai media pembuatan gambar sketsa secara langsung.
2.
Pembuatan fitur pengunggahan video sehingga pengguna dapat mengunggah video ke server jejaring sosial 'aedIdea' tanpa menggunakan layanan pihak ketiga seperti youtube atau vimeo.
3.
Penyediaan sistem chat yang membantu komunikasi secara real-time.
4.
Pembuatan sistem penampungan dan penyaluran dana dari donatur ke pemilik ide.
5.
Pembuatan aplikasi yang dapat digunakan secara langsung tanpa menggunakan web browser pada berbagai platform seperti Android, iPhone, Windows Phone, dan yang lainnya.
Daftar Pustaka
Chisholm, Hugh. The Encyclopaedia Britannica: A Dictionary of Arts, Sciences, Literature and General Information, Eleventh Edition. New York: The Encyclopaedia Britannica Company, 1910. Crane, Beverley E. Using Web 2.0 and Social Networking Tools in the K-12 Classroom. Chicago: Neal-Schuman, 2012. Indonesia. Departemen Pendidikan Nasional. Kamus Besar Bahasa Indonesia (Edisi Keempat). Jakarta: PT Gramedia Pustaka Utama, 2008. Shelly, Gary B., Denise M. Woods, William J. Dorin. HTML: Comprehensive Concepts and Techniques, Fifth Edition. Boston: Cengage Learning, 2009.
14