PERANCANGAN DAN IMPLEMENTASI VOIP BERBASIS J2SE
MENGGUNAKAN SIP, SDP DAN RTP
SKRIPSI
Oleh :
Cu Ian Wijaya 1000865905
Kartika Northi Funiculine 1000873825 Suwandi Cahyadi 1000881985
Universitas Bina Nusantara Jakarta
PERANCANGAN DAN IMPLEMENTASI VOIP BERBASIS J2SE
MENGGUNAKAN SIP, SDP DAN RTP
SKRIPSI
diajukan sebagai salah satu syarat untuk gelar kesarjanaan pada
Jurusan Teknik Informatika Jenjang Pendidikan Strata-1
Oleh
Cu Ian Wijaya 1000865905
Kartika Northi Funiculine 1000873825 Suwandi Cahyadi 1000881985
Universitas Bina Nusantara Jakarta
iii
PERANCANGAN DAN IMPLEMENTASI VOIP BERBASIS J2SE MENGGUNAKAN SIP, SDP DAN RTP
SKRIPSI
Disusun oleh :
Cu Ian Wijaya Kartika Northi Funiculine Suwandi Cahyadi
1000865905 1000873825 1000881985
Disetujui oleh : Pembimbing
I Made Astawa, Ir, M.Kom Kddsn : D1376
Universitas Bina Nusantara Jakarta
v PRAKATA
Segala puji, hormat, dan syukur penulis panjatkan ke hadirat Tuhan Yang Maha Esa atas rahmat dan karunia-Nya sehingga akhirnya penulis dapat menyelesaikan penulisan skripsi yang berjudul “PERANCANGAN DAN IMPLEMENTASI VOIP BERBASIS J2SE MENGGUNAKAN SIP, SDP DAN RTP” ini setelah berkali-kali melalui masa sulit yang akhirnya dapat diselesaikan. Penulisan skripsi ini dilakukan untuk memenuhi syarat ujian sarjana pada Jurusan Bidang Ilmu Komputer, Universitas Bina Nusantara, Jakarta.
Dalam menyelesaikan skripsi ini, penulis banyak mendapatkan bantuan dan saran dari berbagai pihak. Penulis mengucapkan terimakasih kepada Bapak I Made Astawa, Ir, M.Kom, selaku pembimbing utama yang telah memberikan saran dan membantu dalam penyusunan skripsi ini.
Tak lupa penulis menyampaikan penghargaan dan terimakasih yang setulus-tulusnya kepada :
1. Bapak Prof. Dr. Ir. Harjanto Prabowo, MM, selaku rektor Universitas Bina Nusantara.
2. Bapak Ir. Sablin Yusuf, M.Sc, M.ComSc, selaku Dekan Universitas Bina Nusantara atas dukungannya.
3. Bapak Fredy Purnomo S.Kom., M.Kom., selaku Ketua Jurusan Teknik Informatika.
4. Bapak I Made Astawa, Ir, M.Kom. selaku dosen pembimbing atas semua panduan, nasehat, dorongan dan pengertiannya.
5. Universitas Bina Nusantara, atas kesempatan yang telah diberikan kepada penulis untuk melakukan penulisan.
vi
6. Orang tua dan saudara kami yang telah mendukung baik secara materil maupun moril sepanjang hidup kami.
7. Dewan Pimpinan dan segenap Dosen Bina Nusantara yang telah membimbing penulis selama menuntut ilmu di Universitas Bina Nusantara.
8. Para karyawan Bina Nusantara yang secara tidak langsung telah membantu dalam proses belajar-mengajar.
9. Seluruh staf Perpustakkan Universitas Bina Nusantara.
10. Segenap teman-teman yang tidak dapat kami sebutkan satu persatu, namun telah memberikan bantuan dan dukungan selama penyusunan skripsi ini.
11. Dan kepada semua pihak yang telah membantu yang tidak dapat disebut satu persatu.
Penulis menyadari bahwa skripsi ini tidak lepas dari kesalahan-kesalahan yang disebabkan oleh ketidaksengajaan maupun keterbatasan pengetahuan dan pengalaman penulis sendiri. Oleh sebab itu, penulis mengharapkan kritik dan saran yang membangun dari para pembaca.
Akhirnya, penulis berharap skripsi ini dapat berguna bagi para pembaca baik secara langsung maupun tidak langsung, dan dapat menjadi sumbangan yang berarti bagi dunia pendidikan, khususnya bagi rekan-rekan di Universitas Bina Nusantara.
Jakarta, Januari 2010
vii DAFTAR ISI
Halaman Judul Dalam ... i
Halaman Judul Luar ... ii
Halaman Persetujuan Soft Cover ... iii
Abstrak ... iv
Prakata ... v
Daftar Isi ... vii
Daftar Tabel ... x
Daftar Gambar ... xii
BAB I PENDAHULUAN ... 1
1.1 Latar Belakang ... 1
1.2 Ruang Lingkup ... 2
1.3 Tujuan dan Manfaat ... 3
1.3.1 Tujuan ... 3 1.3.2 Manfaat ... 3 1.4 Metodologi Penelitian ... 3 1.4.1 Metodologi Analisis ... 4 1.4.2 Metodologi Perancangan ... 4 1.5 Sistematika Penulisan ... 5
BAB II LANDASAN TEORI ... 6
2.1 Jaringan Komputer ... 6
2.1.1 TCP/IP Model ... 7
viii
2.3 UML ... 10
2.4 Java ... 12
2.4.1 Sejarah Singkat Java ... 12
2.4.2 Kelebihan Java ... 13
2.4.3 J2SE ... 13
2.4.4 JAIN SIP API ... 15
2.4.5 JMF ... 16
2.5 VoIP ... 18
2.5.1 SIP (Session Initiation Protocol) ... 19
2.5.1.1 SIP Signaling Method ... 21
2.5.1.2 SIP Call Flow ... 22
2.5.1.3 SIP Message Format ... 23
2.5.1.4 SIP Response ... 25
2.5.2 SDP (Session Description Protocol) ... 29
2.5.3 RTP (Real-time Transport Protocol) ... 31
2.5.4 Codec ... 34
2.6 Diagram Alir (Flow Chart) ... 36
BAB III ANALISIS DAN PERANCANGAN SISTEM ... 37
3.1 Analisis ... 37
3.1.1 Analisis Terhadap Sistem yang Sudah Ada ... 37
3.1.2 Analisis Masalah dan Kekurangan Pada Sistem Sebelumnya 38 3.1.3 Analisis Pengguna ... 38
3.1.4 Analisis Pemecahan Masalah ... 42
ix
3.2.1 Gambaran Umum Sistem Aplikasi VoIP ... 43
3.2.2 Use CaseDiagram ... 45
3.2.3 ClassDiagram ... 56
3.2.4 Sequence Diagram ... 61
3.3 Flow Chart Diagram ... 74
3.4 Perancangan Layar ... 98
BAB IV IMPLEMENTASI DAN EVALUASI ... 113
4.1 Kebutuhan Perangkat Keras dan Perangkat Lunak ... 113
4.2 Aplikasi yang Dihasilkan ... 114
4.3 Evaluasi ... 139
BAB V SIMPULAN DAN SARAN ... 164
5.1 Simpulan ... 164
5.2 Saran ... 165
DAFTAR PUSTAKA ... 166
RIWAYAT HIDUP ... 168 LAMPIRAN - LAMPIRAN ... L1
x
DAFTAR TABEL
Tabel 2.1 Beberapa Media Format Untuk RTP ... 16
Tabel 2.2 Metode Signaling Pada SIP... 21
Tabel 2.3 Beberapa Jenis dan Arti SIP Response Dari Kode 100 Sampai 199 ... 26
Tabel 2.4 SIP Response Kode 200 ... 26
Tabel 2.5 Beberapa Jenis dan Arti SIP Response dari Kode 300 Sampai 399 ... 26
Tabel 2.6 Beberapa Jenis dan Arti SIP Response dari Kode 400 Sampai 499 ... 27
Tabel 2.7 Beberapa Jenis dan Arti SIP Response dari Kode 500 Sampai 599 ... 28
Tabel 2.8 Beberapa Jenis dan Arti SIP Response dari Kode 600 Sampai 699 ... 28
Tabel 2.9 Perbandingan Dari Beberapa Audio Codec yang Sering Digunakan ... 34
Tabel 3.1 Analisa Fitur Beberapa Aplikasi VoIP... 41
Tabel 3.2 Deskripsi Sistem Log In ... 46
Tabel 3.3 Deskripsi Sistem Panggilan ... 47
Tabel 3.4 Deskripsi Sistem Log ... 49
Tabel 3.5 Deskripsi Sistem Kontak ... 51
Tabel 3.6 Deskripsi Sistem Video ... 52
Tabel 3.7 Deskripsi Sistem Bantuan ... 53
Tabel 3.8 Deskripsi Sistem Server ... 54
Tabel 3.9 Deskripsi Sistem Log Out ... 55
Tabel 4.1 Perbandingan Space Hard Disk yang Digunakan Client Antara T3LU dengan VRC, Idefisk, SJPhone ... 140
xi
Tabel 4.2 Perbandingan Memory yang Digunakan Client Antara T3LU dengan VRC,
Idefisk, SJPhone ... 141
Tabel 4.3 Spesifikasi Perangkat Keras Client 1 dan Client 2 ... 143
Tabel 4.4 Hasil Traffic Jaringan Panggilan Audio Sesama T3LU Pada Jaringan Lokal ... 144
Tabel 4.5 Hasil Traffic Jaringan Panggilan Video Sesama T3LU Pada Jaringan Lokal ... 145
Tabel 4.6 Evaluasi Kompabilitas T3LU dengan Softphone Lain ... 146
Tabel 4.7 Evaluasi Fitur Antara T3LU dengan VRC, Idefisk, SJPhone ... 147
Tabel 4.8 Hasil Traffic Jaringan Sesama T3LU Pada Saat Pagi Hari ... 148
Tabel 4.9 Hasil Traffic Jaringan Sesama VRC Pada Saat Pagi Hari ... 149
Tabel 4.10 Hasil Traffic Jaringan Sesama T3LU Pada Saat Siang Hari ... 150
Tabel 4.11 Hasil Traffic Jaringan Sesama VRC Pada Saat Siang Hari ... 151
Tabel 4.12 Hasil Traffic Jaringan Sesama T3LU Pada Saat Malam Hari ... 152
Tabel 4.13 Hasil Traffic Jaringan Sesama VRC Pada Saat Malam Hari ... 153
Tabel 4.14 Rata-rata Traffic Jaringan Panggilan Audio Sesama T3LU ... 154
Tabel 4.15 Hasil Traffic Jaringan Video Sesama T3LU Pada Pagi Hari ... 155
Tabel 4.16 Hasil Traffic Jaringan Video Sesama T3LU Pada Siang Hari ... 156
Tabel 4.17 Hasil Traffic Jaringan Video Sesama T3LU Pada Malam Hari ... 157
xii
DAFTAR GAMBAR
Gambar 2.1 Java Runtime Environment ... 14
Gambar 2.2 Contoh SIP Invite Call Flow ... 22
Gambar 2.3 RTP Packet Header ... 32
Gambar 3.1 Pengguna Aplikasi VoIP untuk Berkomunikasi ... 39
Gambar 3.2 FrekuensiPenggunaan Aplikasi VoIP sebagai Alat Komunikasi ... 39
Gambar 3.3 Prioritas Dalam Sebuah Pembicaraan Melalui Telepon ... 40
Gambar 3.4 Ketertarikan PadaAplikasi VoIP yang Mampu Berjalan Pada ... 40
Gambar 3.5 Frekuensi Penggunaan Sistem Operasi Selain Windows ... 41
Gambar 3.6 Ketertarikan Pengguna dengan Panggilan Video ... 41
Gambar 3.7 Bentuk Panggilan Video yang Disukai ... 42
Gambar 3.8 Gambaran Umum Sistem Aplikasi VoIP ... 43
Gambar 3.9 Use Case Aplikasi VoIP Secara Keseluruhan ... 45
Gambar 3.10 Use Case Sistem Login ... 46
Gambar 3.11 Use Case Sistem Panggilan ... 47
Gambar 3.12 Use Case Sistem Log ... 49
Gambar 3.13 Use Case SistemKontak ... 50
Gambar 3.14 Use Case Sistem Video ... 52
Gambar 3.15 Use Case Sistem Bantuan ... 53
Gambar 3.16 Use Case Sistem Server ... 54
Gambar 3.17 Use Case Sistem Logout ... 55
Gambar 3.18 Class Diagram Aplikasi VoIP ... 56
xiii
Gambar 3.20 Class Diagram Detail Contact ... 58
Gambar 3.21 Class Diagram Detail ContactManager ... 58
Gambar 3.22 Class Diagram Detail LogManager ... 58
Gambar 3.23 Class Diagram Detail Log ... 59
Gambar 3.24 Class Diagram Detail AudioClient ... 59
Gambar 3.25 Class Diagram Detail SDPManager ... 59
Gambar 3.26 Class Diagram Detail VideoClient ... 60
Gambar 3.27 Sequence Diagram Sistem Log In Berhasil ... 61
Gambar 3.28 Sequence Diagram Sistem Log In Gagal ... 61
Gambar 3.29 Sequence Diagram Melakukan Invite (Invite diterima) ... 62
Gambar 3.30 Sequence Diagram Melakukan Invite (Invite ditolak) ... 63
Gambar 3.31 Sequence Diagram Menerima Invite ... 64
Gambar 3.32 Sequence Diagram Menolak Invite ... 65
Gambar 3.33 SequenceDiagram mengakhiri Invite ... 66
Gambar 3.34 SequenceDiagram Invite Diakhiri ... 67
Gambar 3.35 SequenceDiagram Invite Dibatalkan ... 68
Gambar 3.36 SequenceDiagram Kontak... 69
Gambar 3.37 Sequence Diagram Log ... 70
Gambar 3.38 SequenceDiagram Video... 71
Gambar 3.39 SequenceDiagram Bantuan ... 71
Gambar 3.40 SequenceDiagram Server ... 72
Gambar 3.41 SequenceDiagram Log Out ... 73
Gambar 3.42 Flow Chart Sistem Aplikasi VoIP ... 74
xiv
Gambar 3.44 Flow Chart melakukan Invite ... 76
Gambar 3.45 Flow Chart Menerima Invite ... 77
Gambar 3.46 Flow Chart Mengakhiri Invite... 78
Gambar 3.47 Flow ChartInvite Diakhiri ... 79
Gambar 3.48 Flow Chart Parse SDP ... 80
Gambar 3.49 Flow Chart Mulai Recording Log ... 81
Gambar 3.50 Flow Chart Mulai Streaming Audio ... 82
Gambar 3.51 Flow ChartStopStreaming Audio ... 83
Gambar 3.52 Flow Chart Membuat Data Source Audio ... 84
Gambar 3.53 Flow Chart Berhenti Recording Log ... 85
Gambar 3.54 Flow Chart Recording Log Panggilan Tidak Terjawab ... 86
Gambar 3.55 Flow Chart Membaca Log ... 87
Gambar 3.56 Flow Chart Menghapus Log ... 88
Gambar 3.57 Flow Chart Mulai Streaming Video... 89
Gambar 3.58 Flow Chart Stop Streaming Video ... 90
Gambar 3.59 Flow Chart Membuat Data Source Video... 91
Gambar 3.60 Flow Chart Membuat Cloned Data Source Video ... 92
Gambar 3.61 Flow Chart Kontak Secara Umum ... 93
Gambar 3.62 Flow Chart Menambah Kontak... 94
Gambar 3.63 Flow Chart Ubah Kontak ... 95
Gambar 3.64 Flow Chart Menghapus Kontak ... 96
Gambar 3.65 Flow Chart Sistem Log Out ... 97
Gambar 3.66 Rancangan Layar Log In ... 98
xv
Gambar 3.68 Rancangan Layar Pada Saat Login Gagal (Konfirmasi Kata Sandi Salah)
... 99
Gambar 3.69 Rancangan Layar Utama ... 100
Gambar 3.70 Rancangan Layar Utama dengan Drop-down Menu Server ... 101
Gambar 3.71 Rancangan Layar Utama dengan Submenu dari Menu File ... 102
Gambar 3.72 Rancangan Layar Utama dengan Submenu dari Menu Help ... 103
Gambar 3.73 Rancangan Layar Kontak ... 104
Gambar 3.74 Rancangan Layar Detail Kontak ... 105
Gambar 3.75 Rancangan Layar Tambah Kontak ... 105
Gambar 3.76 Rancangan Layar Log... 106
Gambar 3.77 Rancangan Layar Pengaturan Server ... 106
Gambar 3.78 Rancangan Layar Panggilan Video ... 107
Gambar 3.79 Rancangan Layar Panggilan Masuk ... 107
Gambar 3.80 Rancangan Layar Info Aplikasi ... 108
Gambar 3.81 Rancangan Layar Bantuan ... 109
Gambar 3.82 Rancangan Layar Log Out Pada Tray ... 110
Gambar 3.83 State Transition Diagram Rancangan Layar ... 111
Gambar 4.1 Topologi Logikal Jaringan Pada Saat Implementasi ... 114
Gambar 4.2 Layar Login Pada Sistem Operasi Windows ... 115
Gambar 4.3 Layar Login Pada Sistem Operasi Linux ... 115
Gambar 4.4 Layar Pesan Pada Sistem Operasi Windows (Kata Sandi Error) ... 116
Gambar 4.5 Layar Pesan Pada Sistem Operasi Linux (Kata Sandi Error) ... 116
Gambar 4.6 Layar Utama Aplikasi Pada Sistem Operasi Windows ... 117
xvi
Gambar 4.8 Layar Utama Aplikasi dengan Submenu Dari Menu File Pada Sistem
Operasi Windows ... 118
Gambar 4.9 Layar Utama Aplikasi dengan Submenu Dari Menu File Pada Sistem Operasi Linux ... 119
Gambar 4.10 Layar Utama Aplikasi dengan Submenu Dari Menu Help Pada Sistem Operasi Windows ... 120
Gambar 4.11 Layar Utama Aplikasi dengan Submenu Dari Menu Help Pada Sistem Operasi Linux ... 120
Gambar 4.12 Layar Utama Ketika Melakukan Panggilan Pada Sistem Operasi Windows ... 121
Gambar 4.13 Layar Utama Ketika Melakukan Panggilan Pada Sistem Operasi Linux . ... 122
Gambar 4.14 Pengaturan Server Pada Sistem Operasi Windows ... 122
Gambar 4.15 Pengaturan Server pada sistem operasi Linux... 123
Gambar 4.16 Layar Kontak Pada Sistem Operasi Windows ... 124
Gambar 4.17 Layar Kontak Pada Sistem Operasi Linux ... 125
Gambar 4.18 Layar Tambah Kontak Pada Sistem Operasi Windows ... 125
Gambar 4.19 Layar Tambah Kontak Pada Sistem Operasi Linux ... 126
Gambar 4.20 Layar Kontak Detail Pada Sistem Operasi Windows ... 126
Gambar 4.21 Layar Kontak Detail Pada Sistem Operasi Linux ... 127
Gambar 4.22 Layar Ubah Kontak Pada Sistem Operasi Windows ... 127
Gambar 4.23 Layar Ubah Kontak Pada Sistem Operasi Linux ... 128
Gambar 4.24 Layar Utama Setelah User Menekan Tombol Panggil Pada Menu Kontak Detail di Sistem Operasi Windows ... 128
xvii
Gambar 4.25 Layar Utama Setelah User Menekan Tombol Panggil Pada Menu Kontak
Detail di Sistem Operasi Linux ... 129
Gambar 4.26 Layar Panggilan Masuk Pada Sistem Operasi Windows ... 129
Gambar 4.27 Layar Panggilan Masuk Pada Sistem Operasi Linux ... 130
Gambar 4.28 Layar Panggilan Video Pada Sistem Operasi Windows ... 131
Gambar 4.29 Layar Panggilan Video Pada Sistem Operasi Linux ... 131
Gambar 4.30 Foto Panggilan Video Pada Pengguna Pertama ... 132
Gambar 4.31 Foto Panggilan Video Pada Pengguna Kedua ... 132
Gambar 4.32 Layar Daftar Panggilan Pada Sistem Operasi Windows ... 133
Gambar 4.33 Layar Daftar Panggilan Pada Sistem Operasi Linux ... 134
Gambar 4.34 Layar Informasi Aplikasi Pada Sistem Operasi Windows ... 135
Gambar 4.35 Layar Informasi Aplikasi Pada Sistem Operasi Linux ... 135
Gambar 4.36 Layar Informasi Aplikasi Pada Sistem Operasi Windows ... 136
Gambar 4.37 Layar Informasi Aplikasi Pada Sistem Operasi Linux ... 137
Gambar 4.38 Layar Tray Pada Sistem Operasi Windows... 138
Gambar 4.39 Layar Tray Pada Sistem Operasi Linux ... 138
Gambar 4.40 Analisa Kecepatan dengan Codec G711 ... 141
Gambar 4.41 Topologi Fisikal Percobaan dengan Server Lokal ... 143
Gambar 4.42 Prioritas dalam Pembicaraan Melalui Telepon ... 159
Gambar 4.43 Kualitas Suara Aplikasi T3lu ... 160
Gambar 4.44 Jeda Saat Pembicaraan ... 160
Gambar 4.45 Kualitas Video Aplikasi T3lu ... 161
Gambar 4.46 Kemudahan Penginstallasian Aplikasi T3lu ... 162
xviii
Gambar 4.48 Ketertarikan untuk kembali menggunakan aplikasi T3lu ... 163 Gambar L.1 Layar Pertama Menu Instalasi T3LU ... L3 Gambar L.2 Layar Pemilihan Lokasi Instalasi T3LU ... L3 Gambar L.3 Layar Melakukan Instalasi T3LU ... L4 Gambar L.4 Layar Sedang Melakukan Instalasi T3LU ... L4 Gambar L.5 Layar Persetujuan Instalasi JMF ... L5 Gambar L.6 Layar Pemilihan Lokasi Instalasi JMF ... L5 Gambar L.7 Layar Instalasi JMF ... L6 Gambar L.8 Layar Pemilihan Pengaturan Setelah Instalasi Berhasil ... L6 Gambar L.9 Layar Instalasi T3LU dan JMF telah berhasil ... L7 Gambar L.10 Icon T3LU... L7