PENERAPAN REAL-TIME SYSTEM MENGGUNAKAN JAVASCRIPT SERVER SIDE UNTUK PERANGKAT LUNAK BERBASIS WEB. (STUDI KASUS : APLIKASI FORUM DISKUSI UNPAS) TUGAS AKHIR
Untuk syarat kelulusan Sidang Sarjana S1, Program Studi Studi Teknik Informatika Universitas Pasundan
oleh : Muhammad Agung Rizkyana NRP : 10.304.0141
PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS PASUNDAN BANDUNG 2014
DAFTAR ISI ABSTRAK ........................................................................................... Error! Bookmark not defined. ABSTRACT ......................................................................................... Error! Bookmark not defined. KATA PENGANTAR .......................................................................... Error! Bookmark not defined. DAFTAR ISI ......................................................................................................................................... 2 DAFTAR TABEL ................................................................................................................................. 5 DAFTAR GAMBAR ............................................................................................................................. 6 DAFTAR LAMPIRAN .......................................................................................................................... 7 DAFTAR SIMBOL ............................................................................................................................ viii BAB 1 PENDAHULUAN ................................................................... Error! Bookmark not defined. 1.1.
Latar Belakang ...................................................................... Error! Bookmark not defined.
1.2.
Identifikasi Masalah .............................................................. Error! Bookmark not defined.
1.3.
Tujuan ................................................................................... Error! Bookmark not defined.
1.4.
Lingkup Tugas Akhir ............................................................ Error! Bookmark not defined.
1.5.
Metodologi ............................................................................ Error! Bookmark not defined.
1.6.
Sistematika Penulisan Tugas Akhir ....................................... Error! Bookmark not defined.
BAB 2 LANDASAN TEORI ............................................................... Error! Bookmark not defined. 2.1.
Definisi Forum Diskusi ......................................................... Error! Bookmark not defined.
2.2.
Definisi Real-time System ..................................................... Error! Bookmark not defined.
2.2.1.
Pendekatan Event triggered ........................................... Error! Bookmark not defined.
2.2.2.
Pendekatan Time Triggered .......................................... Error! Bookmark not defined.
2.2.3.
Tanggapan waktu .......................................................... Error! Bookmark not defined.
2.2.4.
Soft real-time ................................................................. Error! Bookmark not defined.
2.2.5.
Hard real-time............................................................... Error! Bookmark not defined.
2.2.6.
Firm real-time ............................................................... Error! Bookmark not defined.
2.3.
Paradigma Object Oriented ................................................... Error! Bookmark not defined.
2.4.
Definisi Perangkat lunak ....................................................... Error! Bookmark not defined.
2.5.
Definisi Perangkat lunak berbasis web .................................. Error! Bookmark not defined.
2.6.
Javascript .............................................................................. Error! Bookmark not defined.
2.7.
Javscript Client Side .............................................................. Error! Bookmark not defined.
2.8.
Javascript server side ............................................................ Error! Bookmark not defined.
2.9.
Internet Relay Chat / Command ............................................ Error! Bookmark not defined.
2.10.
Tinjauan teknologi ............................................................ Error! Bookmark not defined.
2.10.1.
Node JS ......................................................................... Error! Bookmark not defined.
2.10.2.
Socket.io........................................................................ Error! Bookmark not defined.
2.10.3.
Mongo DB .................................................................... Error! Bookmark not defined.
2.10.4.
Mongoose ...................................................................... Error! Bookmark not defined.
2.10.5.
Bootstrap 3 .................................................................... Error! Bookmark not defined.
2.10.6.
Angular JS ..................................................................... Error! Bookmark not defined.
BAB 3 ANALISIS DAN PERANCANGAN ....................................... Error! Bookmark not defined. 3.1.
Analisis real-time system untuk aplikasi forum diskusi ......... Error! Bookmark not defined.
3.2.
Analisis aplikasi existing ....................................................... Error! Bookmark not defined.
3.2.1.
Kaskus ........................................................................... Error! Bookmark not defined.
3.2.2.
Jabbr .............................................................................. Error! Bookmark not defined.
3.3.
Analisis Arsitektur teknologi ................................................ Error! Bookmark not defined.
3.3.1.
Node.js .......................................................................... Error! Bookmark not defined.
3.3.2.
Socket.io........................................................................ Error! Bookmark not defined.
3.3.3.
MongoDB ..................................................................... Error! Bookmark not defined.
3.3.4.
Mongoose ...................................................................... Error! Bookmark not defined.
3.3.5.
Bootstrap 3 .................................................................... Error! Bookmark not defined.
3.3.6.
Angular ......................................................................... Error! Bookmark not defined.
3.4. 3.4.1.
Pembuatan aplikasi forum diskusi UNPAS ........................... Error! Bookmark not defined. Analisis Kebutuhan Bisnis ................................................ Error! Bookmark not defined.
3.4.1.1.
Deskripsi Studi Kasus ............................................... Error! Bookmark not defined.
3.4.1.2.
Daftar aktor dalam bisnis........................................... Error! Bookmark not defined.
3.4.1.3.
Use case bisnis .......................................................... Error! Bookmark not defined.
3.4.2.
Analisis Kebutuhan Sistem ............................................... Error! Bookmark not defined.
3.4.2.1.
Aktor – aktor dalam sistem........................................ Error! Bookmark not defined.
3.4.2.2.
Use case sistem ......................................................... Error! Bookmark not defined.
3.4.2.3.
Skenario use case sistem ........................................... Error! Bookmark not defined.
3.4.3.
Perancangan sistem ........................................................... Error! Bookmark not defined.
3.4.3.1.
Skenario use case sistem ........................................... Error! Bookmark not defined.
3.4.3.2.
Relasi antar objek ...................................................... Error! Bookmark not defined.
3.4.3.3.
Perancangan Interaksi................................................ Error! Bookmark not defined.
3.4.3.4.
Sketsa interaksi antarmuka ........................................ Error! Bookmark not defined.
3.4.3.5.
Perancangan Arsitektur Teknologi ............................ Error! Bookmark not defined.
BAB 4 IMPLEMENTASI DAN PENGUJIAN ................................... Error! Bookmark not defined. 4.1.
Implementasi Teknologi ........................................................ Error! Bookmark not defined.
4.1.1.
Implementasi Antarmuka .............................................. Error! Bookmark not defined.
4.1.2.
Implementasi Angular ................................................... Error! Bookmark not defined.
4.1.3.
Javascript server side Node.js ....................................... Error! Bookmark not defined.
4.1.4.
DBMS MongoDB ......................................................... Error! Bookmark not defined.
4.2.
Pengujian Perangkat Lunak ................................................... Error! Bookmark not defined.
4.2.1.
Pengujian real-time system ............................................ Error! Bookmark not defined.
4.2.2.
Development Testing ..................................................... Error! Bookmark not defined.
BAB 5 KESIMPULAN DAN SARAN ................................................ Error! Bookmark not defined. 5.1.
Kesimpulan ........................................................................... Error! Bookmark not defined.
5.2.
Saran ..................................................................................... Error! Bookmark not defined.
DAFTAR PUSTAKA ........................................................................... Error! Bookmark not defined. LAMPIRAN – LAMPIRAN ................................................................. Error! Bookmark not defined.
DAFTAR TABEL Tabel 2.1. Manifestasi Objek ................................................................ Error! Bookmark not defined. Tabel 3.1. Aktor dalam bisnis ............................................................... Error! Bookmark not defined. Tabel 3.2. Use case bisnis dan deskripsi ............................................... Error! Bookmark not defined. Tabel 3.3. Aktor – aktor dalam sistem .................................................. Error! Bookmark not defined. Tabel 3.4. Use case sistem .................................................................... Error! Bookmark not defined. Tabel 3.5. Skenario use case ................................................................. Error! Bookmark not defined. Tabel 3.6. Identifikasi objek - objek ..................................................... Error! Bookmark not defined. Tabel 3.7. Atribut Objek ....................................................................... Error! Bookmark not defined. Tabel 3.8 Perancangan interaksi menggunakan sequence diagram ....... Error! Bookmark not defined. Tabel 4.1. Pemetaan Objek ke dokumen mongoDB.............................. Error! Bookmark not defined.
DAFTAR GAMBAR Gambar 1.1. Metodologi Tugas Akhir .................................................. Error! Bookmark not defined. Gambar 2.1. Skema umum sistem [LAP12].......................................... Error! Bookmark not defined. Gambar 2.2. Representasi real-time system [LAP12] ........................... Error! Bookmark not defined. Gambar 3.1. Daftar thread pada kaskus ................................................ Error! Bookmark not defined. Gambar 3.2. Pembuatan suatu thread (1) .............................................. Error! Bookmark not defined. Gambar 3.3. Pembuatan suatu thread (2) .............................................. Error! Bookmark not defined. Gambar 3.4. Isi dari suatu thread di kaskus .......................................... Error! Bookmark not defined. Gambar 3.5 Aktivitas diskusi pada suatu thread ................................... Error! Bookmark not defined. Gambar 3.6 IRC Command ................................................................... Error! Bookmark not defined. Gambar 3.7 Daftar Room untuk melakukan diskusi .............................. Error! Bookmark not defined. Gambar 3.8 Kegiatan diskusi pada suatu Room .................................... Error! Bookmark not defined. Gambar 3.9 Suatu file yang di unggah pada suatu diskusi .................... Error! Bookmark not defined. Gambar 3.11. Model interaksi fungsional ............................................. Error! Bookmark not defined. Gambar 3.12. Relasi antar objek ........................................................... Error! Bookmark not defined. Gambar 3.10. Arsitektur teknologi ........................................................ Error! Bookmark not defined. Gambar 4.1. Struktur folder MVC dari aplikasi forum diskusi ............. Error! Bookmark not defined. Gambar 4.2. Antarmuka halaman sign in .............................................. Error! Bookmark not defined. Gambar 4.3. Antarmuka halaman daftar thread .................................... Error! Bookmark not defined. Gambar 4.4. Antarmuka halaman membuat thread. ............................. Error! Bookmark not defined. Gambar 4.5. Antarmuka halaman pembicaraan atau diskusi pada suatu thread ...Error! Bookmark not defined. Gambar 4.6. Antarmuka halaman pengelolaan forum ........................... Error! Bookmark not defined. Gambar 4.7. Antarmuka halaman pengelolaan pengguna ..................... Error! Bookmark not defined. Gambar 4.8. Lokasi file angular.min.js ................................................. Error! Bookmark not defined. Gambar 4.9. Eksekusi aplikasi node.js .................................................. Error! Bookmark not defined. Gambar 4.10. Instalasi modul socket.io melalui terminal ..................... Error! Bookmark not defined. Gambar 4.11. File package.json ............................................................ Error! Bookmark not defined. Gambar 4.12 Isi folder node_modules. ................................................. Error! Bookmark not defined. Gambar 4.13 Skema pengujian real-time pada use case pembuatan forum baru ..Error! Bookmark not defined.
DAFTAR LAMPIRAN Lampiran A.33 Perancangan interaksi untuk membuat forum .............. Error! Bookmark not defined. Lampiran A.33 Perancangan interaksi untuk pencarian forum.............. Error! Bookmark not defined. Lampiran A.33 Perancangan interaksi untuk pengiriman pesan............ Error! Bookmark not defined. Lampiran B.52 Tabel pengujian tahapan pengembangan ...................... Error! Bookmark not defined.
DAFTAR SIMBOL NO
Lambang
Deskripsi Lambang representasi dari fungsional perangkat lunak atau sistem
1. use case
Lambang representasi dari peran yang berinteraksi dengan perangkat lunaka atau sistem
2. actor
3.
NewUseCase
actor
4. boundary
Lambang garis untuk representasi interaksi peran dengan fungsional sistem atau perangkat lunak
Lambang representasi dari antarmuka perangkat lunak
control
Lambang representasi dari objek atau fungsional yang mengelola aliran data
entity
Lambang representasi dari objek yang dimplementasikan pada perangkat lunak
5.
6.
Lambang representasi dari kelas atau objek . berisi atribut dan metod yang melengkapi deskripsi dari kelas tersebut
7.
viii